From 7086b2fec538f6f1bf40c42534b5a2ef8100fc0d Mon Sep 17 00:00:00 2001 From: hudson-newey Date: Sat, 2 Mar 2024 23:25:24 +1000 Subject: [PATCH] Sub-optimal deployment of habit tracker --- .../habit-tracker/client/3rdpartylicenses.txt | 2137 +++++++++++++++++ .../habit-tracker/client/favicon.ico | Bin 0 -> 4286 bytes .../habit-tracker/client/index.html | 79 + .../client/main.a33890116ab21dc2.js | 1 + .../habit-tracker/client/manifest.webmanifest | 17 + .../habit-tracker/client/ngsw-worker.js | 1867 ++++++++++++++ .../habit-tracker/client/ngsw.json | 64 + .../client/polyfills.c68645566a7d5979.js | 1 + .../client/runtime.016ad7340ffc7b80.js | 1 + .../habit-tracker/client/safety-worker.js | 26 + .../client/styles.cba5acfa60ad7143.css | 1 + .../habit-tracker/client/worker-basic.min.js | 26 + .../deployments/habit-tracker/index.html | 12 + src/pages/posts.astro | 3 +- 14 files changed, 4234 insertions(+), 1 deletion(-) create mode 100644 public/posts/deployments/habit-tracker/client/3rdpartylicenses.txt create mode 100644 public/posts/deployments/habit-tracker/client/favicon.ico create mode 100644 public/posts/deployments/habit-tracker/client/index.html create mode 100644 public/posts/deployments/habit-tracker/client/main.a33890116ab21dc2.js create mode 100644 public/posts/deployments/habit-tracker/client/manifest.webmanifest create mode 100755 public/posts/deployments/habit-tracker/client/ngsw-worker.js create mode 100644 public/posts/deployments/habit-tracker/client/ngsw.json create mode 100644 public/posts/deployments/habit-tracker/client/polyfills.c68645566a7d5979.js create mode 100644 public/posts/deployments/habit-tracker/client/runtime.016ad7340ffc7b80.js create mode 100755 public/posts/deployments/habit-tracker/client/safety-worker.js create mode 100644 public/posts/deployments/habit-tracker/client/styles.cba5acfa60ad7143.css create mode 100755 public/posts/deployments/habit-tracker/client/worker-basic.min.js create mode 100644 public/posts/deployments/habit-tracker/index.html diff --git a/public/posts/deployments/habit-tracker/client/3rdpartylicenses.txt b/public/posts/deployments/habit-tracker/client/3rdpartylicenses.txt new file mode 100644 index 0000000..69a92eb --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/3rdpartylicenses.txt @@ -0,0 +1,2137 @@ +@angular/common +MIT + +@angular/core +MIT + +@angular/forms +MIT + +@angular/platform-browser +MIT + +@angular/router +MIT + +@angular/service-worker +MIT + +@fortawesome/angular-fontawesome +MIT +MIT License + +Copyright (c) 2018 Fonticons, Inc. and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@fortawesome/fontawesome-svg-core +MIT +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + + +@fortawesome/free-solid-svg-icons +(CC-BY-4.0 AND MIT) +Fonticons, Inc. (https://fontawesome.com) + +-------------------------------------------------------------------------------- + +Font Awesome Free License + +Font Awesome Free is free, open source, and GPL friendly. You can use it for +commercial projects, open source projects, or really almost whatever you want. +Full Font Awesome Free license: https://fontawesome.com/license/free. + +-------------------------------------------------------------------------------- + +# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) + +The Font Awesome Free download is licensed under a Creative Commons +Attribution 4.0 International License and applies to all icons packaged +as SVG and JS file types. + +-------------------------------------------------------------------------------- + +# Fonts: SIL OFL 1.1 License + +In the Font Awesome Free download, the SIL OFL license applies to all icons +packaged as web and desktop font files. + +Copyright (c) 2023 Fonticons, Inc. (https://fontawesome.com) +with Reserved Font Name: "Font Awesome". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +SIL OPEN FONT LICENSE +Version 1.1 - 26 February 2007 + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting — in part or in whole — any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +-------------------------------------------------------------------------------- + +# Code: MIT License (https://opensource.org/licenses/MIT) + +In the Font Awesome Free download, the MIT license applies to all non-font and +non-icon files. + +Copyright 2023 Fonticons, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in the +Software without restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +-------------------------------------------------------------------------------- + +# Attribution + +Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font +Awesome Free files already contain embedded comments with sufficient +attribution, so you shouldn't need to do anything additional when using these +files normally. + +We've kept attribution comments terse, so we ask that you do not actively work +to remove them from files, especially code. They're a great way for folks to +learn about Font Awesome. + +-------------------------------------------------------------------------------- + +# Brand Icons + +All brand icons are trademarks of their respective owners. The use of these +trademarks does not indicate endorsement of the trademark holder by Font +Awesome, nor vice versa. **Please do not use brand logos for any purpose except +to represent the company, product, or service to which they refer.** + + +d3-array +ISC +Copyright 2010-2023 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-color +ISC +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-delaunay +ISC +Copyright 2018-2021 Observable, Inc. +Copyright 2021 Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-dispatch +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-dsv +ISC +Copyright 2013-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-force +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-format +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-geo +ISC +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +This license applies to GeographicLib, versions 1.12 and later. + +Copyright 2008-2012 Charles Karney + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +d3-geo-projection +ISC +Copyright 2013-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + +MIT License for https://github.com/scijs/integrate-adaptive-simpson + +The MIT License (MIT) + +Copyright 2015 Ricky Reusser + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +d3-hierarchy +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-interpolate +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-path +ISC +Copyright 2015-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-quadtree +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-scale +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-shape +ISC +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-time +ISC +Copyright 2010-2022 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-time-format +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +d3-timer +ISC +Copyright 2010-2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +delaunator +ISC +ISC License + +Copyright (c) 2017, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +fast-json-patch +MIT +(The MIT License) + +Copyright (c) 2013, 2014, 2020 Joachim Wester + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +internmap +ISC +Copyright 2021 Mike Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +json-stringify-pretty-compact +MIT +The MIT License (MIT) + +Copyright (c) 2014, 2016, 2017, 2019, 2021 Simon Lydell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +robust-predicates +Unlicense +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + + +rxjs +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +topojson-client +ISC +Copyright 2012-2019 Michael Bostock + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + +vega +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-canvas +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-crossfilter +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-dataflow +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-embed +BSD-3-Clause +Copyright (c) 2015, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-encode +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-event-selector +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-expression +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-force +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-format +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-functions +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-geo +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-hierarchy +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-interpreter +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-label +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-lite +BSD-3-Clause + +vega-loader +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-parser +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-projection +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-regression +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-runtime +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-scale +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-scenegraph +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-schema-url-parser +BSD-3-Clause +BSD 3-Clause License + +Copyright (c) 2017, Vega +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-selections +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-statistics +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-themes +BSD-3-Clause +Copyright (c) 2016, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-time +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-tooltip +BSD-3-Clause +Copyright 2016 Interactive Data Lab and contributors + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-transforms +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-util +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-view +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-view-transforms +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-voronoi +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +vega-wordcloud +BSD-3-Clause +Copyright (c) 2015-2023, University of Washington Interactive Data Lab +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +zone.js +MIT +The MIT License + +Copyright (c) 2010-2023 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/public/posts/deployments/habit-tracker/client/favicon.ico b/public/posts/deployments/habit-tracker/client/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4d0f9d3c321f79e35bf41688c91a63a3f4fac452 GIT binary patch literal 4286 zcmeHIJ4+)`6uy(0ydP$XYc>xhQPKDc_-I7I71TlmEkq6Ys>B4v2WTgvV3Q`lAca~xXTEd4^WBLMiu}c5g6`snUx*4J zL_(TOiSN=V&zGDl_=;9c@E!7Qn#qBw0aF8}222eYYQUlh=%#)U|BwF?o6Uy0x;iv9 zHNork{#H+!U7*4#@KsvSRkVOZ;G2xSHUUNUk4&#oACv!=+B!QsvAMa4tE(&A-rgdY z%VBJ644S6#^Is%>)KkPGPgW*z2|wa4)e*L&(HDj z@PL<>7aSiSSb6B84RZ?y-6*#_xJaVe{^(&x3@Q3TwK88@gR{%pr@w?-QC?785v=2hKGkSK0c1o(NXmG_hVpS z0F8}}=<4di^z=0P`ucdDdTO;=KdixSxAR^J|Lp9H_x$wq1j2uPeZ|eq4dU@QdV6~@ zKR=J<V#<8id1P)}_nkLPtjjzn3&i<5(<)%F0Uk{eG^O^y_dq zm^(!==0BZIGuO0#!he2#F5&O)?sARg<>kyldwV+~kqF~coJ=P9%+%M{v#0*FwzhIi zJqrW^f8D#T395N-Zx1IYCnfz6|Aj(<&myfG8XCgn|k+mk@=^- zWHK2nEG%$tV`GEQ6V<2V7NheFuXPN%c<4kLVh&SJ4ZRni_@% literal 0 HcmV?d00001 diff --git a/public/posts/deployments/habit-tracker/client/index.html b/public/posts/deployments/habit-tracker/client/index.html new file mode 100644 index 0000000..a67665b --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/index.html @@ -0,0 +1,79 @@ + + + + + Habit Tracker + + + + + + + + + + + + + + + + + diff --git a/public/posts/deployments/habit-tracker/client/main.a33890116ab21dc2.js b/public/posts/deployments/habit-tracker/client/main.a33890116ab21dc2.js new file mode 100644 index 0000000..c803d96 --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/main.a33890116ab21dc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkclient=self.webpackChunkclient||[]).push([[179],{659:(ff,Qd,rt)=>{var O3={};rt.r(O3),rt.d(O3,{JsonPatchError:()=>wn,_areEquals:()=>s5,applyOperation:()=>z4,applyPatch:()=>pm,applyReducer:()=>n1t,deepClone:()=>e1t,getValueByPointer:()=>hm,validate:()=>Ote,validator:()=>mm});var wi={};rt.r(wi),rt.d(wi,{compare:()=>u1t,generate:()=>xH,observe:()=>l1t,unobserve:()=>c1t});var qo={};rt.r(qo),rt.d(qo,{aggregate:()=>Ac,bin:()=>KS,collect:()=>JS,compare:()=>h2e,countpattern:()=>eE,cross:()=>tE,density:()=>nE,dotbin:()=>iE,expression:()=>b2e,extent:()=>aE,facet:()=>Km,field:()=>M2e,filter:()=>oE,flatten:()=>cE,fold:()=>lE,formula:()=>uE,generate:()=>_2e,impute:()=>fE,joinaggregate:()=>dE,kde:()=>hE,key:()=>w2e,load:()=>x2e,lookup:()=>mE,multiextent:()=>z2e,multivalues:()=>H2e,params:()=>S2e,pivot:()=>gE,prefacet:()=>E2e,project:()=>vE,proxy:()=>V2e,quantile:()=>yE,relay:()=>D2e,sample:()=>CE,sequence:()=>bE,sieve:()=>L2e,subflow:()=>sE,timeunit:()=>ME,tupleindex:()=>N2e,values:()=>k2e,window:()=>_E});var Kl={};rt.r(Kl),rt.d(Kl,{interpolate:()=>Rc,interpolateArray:()=>Dst,interpolateBasis:()=>Cre,interpolateBasisClosed:()=>bre,interpolateCubehelix:()=>yot,interpolateCubehelixLong:()=>Cot,interpolateDate:()=>zre,interpolateDiscrete:()=>tot,interpolateHcl:()=>mot,interpolateHclLong:()=>got,interpolateHsl:()=>fot,interpolateHslLong:()=>dot,interpolateHue:()=>not,interpolateLab:()=>pot,interpolateNumber:()=>Ui,interpolateNumberArray:()=>FE,interpolateObject:()=>Hre,interpolateRgb:()=>IE,interpolateRgbBasis:()=>Est,interpolateRgbBasisClosed:()=>Vst,interpolateRound:()=>O5,interpolateString:()=>Sre,interpolateTransformCss:()=>aot,interpolateTransformSvg:()=>sot,interpolateZoom:()=>uot,piecewise:()=>XE,quantize:()=>bot});var Go={};rt.r(Go),rt.d(Go,{bound:()=>Sse,identifier:()=>xD,mark:()=>Vse,overlap:()=>Dse,render:()=>Ise,viewlayout:()=>Bse});var Jl={};rt.r(Jl),rt.d(Jl,{axisticks:()=>jse,datajoin:()=>qse,encode:()=>Gse,legendentries:()=>Wse,linkpath:()=>zD,pie:()=>HD,scale:()=>Jse,sortitems:()=>noe,stack:()=>ED});var v1={};rt.r(v1),rt.d(v1,{contour:()=>sL,geojson:()=>lL,geopath:()=>uL,geopoint:()=>fL,geoshape:()=>dL,graticule:()=>hL,heatmap:()=>pL,isocontour:()=>rL,kde2d:()=>aL,projection:()=>Mce});var P3={};rt.r(P3),rt.d(P3,{force:()=>bL});var df={};rt.r(df),rt.d(df,{nest:()=>VL,pack:()=>LL,partition:()=>NL,stratify:()=>kL,tree:()=>IL,treelinks:()=>FL,treemap:()=>OL});var $3={};rt.r($3),rt.d($3,{label:()=>XL});var fr={};rt.r(fr),rt.d(fr,{loess:()=>QL,regression:()=>KL});var Ts={};rt.r(Ts),rt.d(Ts,{voronoi:()=>SA});var B3={};rt.r(B3),rt.d(B3,{wordcloud:()=>VA});var U3={};rt.r(U3),rt.d(U3,{crossfilter:()=>DA,resolvefilter:()=>LA});var j3={};rt.r(j3),rt.d(j3,{Bounds:()=>On,CanvasHandler:()=>Xc,CanvasRenderer:()=>o7,DATE:()=>X2,DAY:()=>j1,DAYOFYEAR:()=>Za,Dataflow:()=>T6,Debug:()=>Ute,Error:()=>SH,EventStream:()=>Um,Gradient:()=>Yie,GroupItem:()=>Ig,HOURS:()=>Sr,Handler:()=>Yc,HybridHandler:()=>hD,HybridRenderer:()=>cv,Info:()=>Bte,Item:()=>Tg,MILLISECONDS:()=>$i,MINUTES:()=>Er,MONTH:()=>U1,Marks:()=>Lr,MultiPulse:()=>HS,None:()=>$te,Operator:()=>qt,Parameters:()=>Bm,Pulse:()=>Lc,QUARTER:()=>Y2,RenderType:()=>Zc,Renderer:()=>Ar,ResourceLoader:()=>EV,SECONDS:()=>ii,SVGHandler:()=>iD,SVGRenderer:()=>sv,SVGStringRenderer:()=>dD,Scenegraph:()=>ZV,TIME_UNITS:()=>QH,Transform:()=>Y,View:()=>nle,WEEK:()=>Yn,Warn:()=>EH,YEAR:()=>z1,accessor:()=>G2,accessorFields:()=>O1,accessorName:()=>xn,array:()=>me,ascending:()=>bm,bandwidthNRD:()=>kS,bin:()=>Y1e,bootstrapCI:()=>X1e,boundClip:()=>gse,boundContext:()=>Z5,boundItem:()=>QV,boundMark:()=>Sae,boundStroke:()=>Co,changeset:()=>L4,clampRange:()=>tne,codegenExpression:()=>Z3e,compare:()=>NH,constant:()=>B1,cumulativeLogNormal:()=>PS,cumulativeNormal:()=>Ym,cumulativeUniform:()=>jS,dayofyear:()=>Vne,debounce:()=>kH,defaultLocale:()=>dS,definition:()=>P1e,densityLogNormal:()=>OS,densityNormal:()=>TS,densityUniform:()=>US,domChild:()=>Qn,domClear:()=>ui,domCreate:()=>Wc,domFind:()=>KV,dotbin:()=>Q1e,error:()=>Z,expressionFunction:()=>kn,extend:()=>tt,extent:()=>Ya,extentIndex:()=>nne,falsy:()=>wc,fastmap:()=>M6,field:()=>ti,flush:()=>rne,font:()=>Xg,fontFamily:()=>n7,fontSize:()=>as,format:()=>Tm,formatLocale:()=>Nm,formats:()=>bS,hasOwnProperty:()=>Ne,id:()=>o5,identity:()=>P1,inferType:()=>_1e,inferTypes:()=>w1e,ingest:()=>zt,inherits:()=>le,inrange:()=>_6,interpolate:()=>gV,interpolateColors:()=>Dg,interpolateRange:()=>Lie,intersect:()=>dse,intersectBoxLine:()=>Q6,intersectPath:()=>TV,intersectPoint:()=>IV,intersectRule:()=>dae,isArray:()=>K,isBoolean:()=>xc,isDate:()=>zc,isFunction:()=>et,isIterable:()=>ine,isNumber:()=>vt,isObject:()=>ye,isRegExp:()=>ane,isString:()=>ge,isTuple:()=>Om,key:()=>TH,lerp:()=>sne,lineHeight:()=>qc,loader:()=>Im,locale:()=>C1e,logger:()=>VH,lruCache:()=>one,markup:()=>uD,merge:()=>cne,mergeConfig:()=>C6,multiLineOffset:()=>WV,one:()=>y6,pad:()=>lne,panLinear:()=>Xte,panLog:()=>Qte,panPow:()=>Zte,panSymlog:()=>Kte,parse:()=>Emt,parseExpression:()=>PA,parseSelector:()=>h3,path:()=>og,pathCurves:()=>_V,pathEqual:()=>vse,pathParse:()=>W6,pathRectangle:()=>tae,pathRender:()=>G5,pathSymbols:()=>eae,pathTrail:()=>nae,peek:()=>ft,point:()=>Zg,projection:()=>nL,quantileLogNormal:()=>$S,quantileNormal:()=>Xm,quantileUniform:()=>qS,quantiles:()=>AS,quantizeInterpolator:()=>Aie,quarter:()=>Jte,quartiles:()=>NS,random:()=>ai,randomInteger:()=>wit,randomKDE:()=>FS,randomLCG:()=>_it,randomLogNormal:()=>K1e,randomMixture:()=>J1e,randomNormal:()=>IS,randomUniform:()=>e2e,read:()=>S1e,regressionConstant:()=>GS,regressionExp:()=>n2e,regressionLinear:()=>WS,regressionLoess:()=>o2e,regressionLog:()=>t2e,regressionPoly:()=>i2e,regressionPow:()=>r2e,regressionQuad:()=>YS,renderModule:()=>lv,repeat:()=>c5,resetDefaultLocale:()=>grt,resetSVGClipId:()=>iae,resetSVGDefIds:()=>H4t,responseType:()=>H1e,runtimeContext:()=>I4e,sampleCurve:()=>Zm,sampleLogNormal:()=>RS,sampleNormal:()=>Wm,sampleUniform:()=>BS,scale:()=>bt,sceneEqual:()=>mD,sceneFromJSON:()=>Vae,scenePickVisit:()=>Ug,sceneToJSON:()=>Eae,sceneVisit:()=>Gi,sceneZOrder:()=>FV,scheme:()=>vV,serializeXML:()=>Jae,setHybridRendererOptions:()=>_4t,setRandom:()=>bit,span:()=>l5,splitAccessPath:()=>Wa,stringValue:()=>ue,textMetrics:()=>Dr,timeBin:()=>Yne,timeFloor:()=>Ine,timeFormatLocale:()=>x5,timeInterval:()=>L6,timeOffset:()=>One,timeSequence:()=>Bne,timeUnitSpecifier:()=>Ene,timeUnits:()=>KH,toBoolean:()=>IH,toDate:()=>FH,toNumber:()=>$1,toSet:()=>Pi,toString:()=>RH,transform:()=>$1e,transforms:()=>I6,truncate:()=>une,truthy:()=>ni,tupleid:()=>ke,typeParsers:()=>vS,utcFloor:()=>Fne,utcInterval:()=>A6,utcOffset:()=>Pne,utcSequence:()=>Une,utcdayofyear:()=>Ane,utcquarter:()=>ene,utcweek:()=>Nne,version:()=>Vmt,visitArray:()=>Hc,week:()=>Dne,writeConfig:()=>b6,zero:()=>_c,zoomLinear:()=>DH,zoomLog:()=>LH,zoomPow:()=>Cm,zoomSymlog:()=>AH});var dr={};rt.r(dr),rt.d(dr,{accessPathDepth:()=>Au,accessPathWithDatum:()=>ek,compile:()=>Qwt,contains:()=>ut,deepEqual:()=>Ur,deleteNestedProperty:()=>iC,duplicate:()=>Ge,entries:()=>m3,every:()=>QN,fieldIntersection:()=>JN,flatAccessWithDatum:()=>l0e,getFirstDefined:()=>Tn,hasIntersection:()=>ZN,hash:()=>lt,internalField:()=>d0e,isBoolean:()=>fd,isEmpty:()=>$t,isEqual:()=>Bmt,isInternalField:()=>h0e,isNullOrFalse:()=>XN,isNumeric:()=>aC,keys:()=>te,logicalExpr:()=>dd,mergeDeep:()=>o0e,never:()=>s0e,normalize:()=>Wue,normalizeAngle:()=>pd,omit:()=>ar,pick:()=>Lu,prefixGenerator:()=>KN,removePathFromField:()=>tk,replaceAll:()=>bl,replacePathInField:()=>gi,resetIdCounter:()=>jmt,setEqual:()=>c0e,some:()=>Cl,stringify:()=>Bt,titleCase:()=>hd,unique:()=>ys,uniqueId:()=>f0e,vals:()=>L1,varName:()=>hn,version:()=>Jwt});var Wo={};function it(e){return"function"==typeof e}function q3(e){const n=e(r=>{Error.call(r),r.stack=(new Error).stack});return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}rt.r(Wo),rt.d(Wo,{carbong10:()=>Qxt,carbong100:()=>Kxt,carbong90:()=>Zxt,carbonwhite:()=>Xxt,dark:()=>bxt,excel:()=>Mxt,fivethirtyeight:()=>xxt,ggplot2:()=>zxt,googlecharts:()=>Fxt,latimes:()=>Vxt,powerbi:()=>Gxt,quartz:()=>Dxt,urbaninstitute:()=>Ixt,version:()=>Jxt,vox:()=>Lxt});const xi=q3(e=>function(n){e(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((r,i)=>`${i+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n});function Yo(e,t){if(e){const n=e.indexOf(t);0<=n&&e.splice(n,1)}}class N1{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:n}=this;if(n)if(this._parentage=null,Array.isArray(n))for(const a of n)a.remove(this);else n.remove(this);const{initialTeardown:r}=this;if(it(r))try{r()}catch(a){t=a instanceof xi?a.errors:[a]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const a of i)try{yI(a)}catch(s){t=t??[],s instanceof xi?t=[...t,...s.errors]:t.push(s)}}if(t)throw new xi(t)}}add(t){var n;if(t&&t!==this)if(this.closed)yI(t);else{if(t instanceof N1){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}}_hasParent(t){const{_parentage:n}=this;return n===t||Array.isArray(n)&&n.includes(t)}_addParent(t){const{_parentage:n}=this;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t}_removeParent(t){const{_parentage:n}=this;n===t?this._parentage=null:Array.isArray(n)&&Yo(n,t)}remove(t){const{_finalizers:n}=this;n&&Yo(n,t),t instanceof N1&&t._removeParent(this)}}N1.EMPTY=(()=>{const e=new N1;return e.closed=!0,e})();const Zd=N1.EMPTY;function vI(e){return e instanceof N1||e&&"closed"in e&&it(e.remove)&&it(e.add)&&it(e.unsubscribe)}function yI(e){it(e)?e():e.unsubscribe()}const G3={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Kd={setTimeout(e,t,...n){const{delegate:r}=Kd;return r?.setTimeout?r.setTimeout(e,t,...n):setTimeout(e,t,...n)},clearTimeout(e){const{delegate:t}=Kd;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function CI(e){Kd.setTimeout(()=>{const{onUnhandledError:t}=G3;if(!t)throw e;t(e)})}function hf(){}const h7e=Db("C",void 0,void 0);function Db(e,t,n){return{kind:e,value:t,error:n}}let W3=null;function Jd(e){if(G3.useDeprecatedSynchronousErrorHandling){const t=!W3;if(t&&(W3={errorThrown:!1,error:null}),e(),t){const{errorThrown:n,error:r}=W3;if(W3=null,n)throw r}}else e()}class Lb extends N1{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,vI(t)&&t.add(this)):this.destination=b7e}static create(t,n,r){return new pf(t,n,r)}next(t){this.isStopped?Nb(function m7e(e){return Db("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?Nb(function p7e(e){return Db("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?Nb(h7e,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const v7e=Function.prototype.bind;function Ab(e,t){return v7e.call(e,t)}class y7e{constructor(t){this.partialObserver=t}next(t){const{partialObserver:n}=this;if(n.next)try{n.next(t)}catch(r){eh(r)}}error(t){const{partialObserver:n}=this;if(n.error)try{n.error(t)}catch(r){eh(r)}else eh(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(n){eh(n)}}}class pf extends Lb{constructor(t,n,r){let i;if(super(),it(t)||!t)i={next:t??void 0,error:n??void 0,complete:r??void 0};else{let a;this&&G3.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=()=>this.unsubscribe(),i={next:t.next&&Ab(t.next,a),error:t.error&&Ab(t.error,a),complete:t.complete&&Ab(t.complete,a)}):i=t}this.destination=new y7e(i)}}function eh(e){G3.useDeprecatedSynchronousErrorHandling?function g7e(e){G3.useDeprecatedSynchronousErrorHandling&&W3&&(W3.errorThrown=!0,W3.error=e)}(e):CI(e)}function Nb(e,t){const{onStoppedNotification:n}=G3;n&&Kd.setTimeout(()=>n(e,t))}const b7e={closed:!0,next:hf,error:function C7e(e){throw e},complete:hf},kb="function"==typeof Symbol&&Symbol.observable||"@@observable";function Xo(e){return e}function bI(e){return 0===e.length?Xo:1===e.length?e[0]:function(n){return e.reduce((r,i)=>i(r),n)}}let Kt=(()=>{class e{constructor(n){n&&(this._subscribe=n)}lift(n){const r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,i){const a=function w7e(e){return e&&e instanceof Lb||function _7e(e){return e&&it(e.next)&&it(e.error)&&it(e.complete)}(e)&&vI(e)}(n)?n:new pf(n,r,i);return Jd(()=>{const{operator:s,source:o}=this;a.add(s?s.call(a,o):o?this._subscribe(a):this._trySubscribe(a))}),a}_trySubscribe(n){try{return this._subscribe(n)}catch(r){n.error(r)}}forEach(n,r){return new(r=MI(r))((i,a)=>{const s=new pf({next:o=>{try{n(o)}catch(c){a(c),s.unsubscribe()}},error:a,complete:i});this.subscribe(s)})}_subscribe(n){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(n)}[kb](){return this}pipe(...n){return bI(n)(this)}toPromise(n){return new(n=MI(n))((r,i)=>{let a;this.subscribe(s=>a=s,s=>i(s),()=>r(a))})}}return e.create=t=>new e(t),e})();function MI(e){var t;return null!==(t=e??G3.Promise)&&void 0!==t?t:Promise}const x7e=q3(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let A2=(()=>{class e extends Kt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(n){const r=new _I(this,this);return r.operator=n,r}_throwIfClosed(){if(this.closed)throw new x7e}next(n){Jd(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(n)}})}error(n){Jd(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=n;const{observers:r}=this;for(;r.length;)r.shift().error(n)}})}complete(){Jd(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:n}=this;for(;n.length;)n.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var n;return(null===(n=this.observers)||void 0===n?void 0:n.length)>0}_trySubscribe(n){return this._throwIfClosed(),super._trySubscribe(n)}_subscribe(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)}_innerSubscribe(n){const{hasError:r,isStopped:i,observers:a}=this;return r||i?Zd:(this.currentObservers=null,a.push(n),new N1(()=>{this.currentObservers=null,Yo(a,n)}))}_checkFinalizedStatuses(n){const{hasError:r,thrownError:i,isStopped:a}=this;r?n.error(i):a&&n.complete()}asObservable(){const n=new Kt;return n.source=this,n}}return e.create=(t,n)=>new _I(t,n),e})();class _I extends A2{constructor(t,n){super(),this.destination=t,this.source=n}next(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.next)||void 0===r||r.call(n,t)}error(t){var n,r;null===(r=null===(n=this.destination)||void 0===n?void 0:n.error)||void 0===r||r.call(n,t)}complete(){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===n||n.call(t)}_subscribe(t){var n,r;return null!==(r=null===(n=this.source)||void 0===n?void 0:n.subscribe(t))&&void 0!==r?r:Zd}}function wI(e){return it(e?.lift)}function En(e){return t=>{if(wI(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Vn(e,t,n,r,i){return new z7e(e,t,n,r,i)}class z7e extends Lb{constructor(t,n,r,i,a,s){super(t),this.onFinalize=a,this.shouldUnsubscribe=s,this._next=n?function(o){try{n(o)}catch(c){t.error(c)}}:super._next,this._error=i?function(o){try{i(o)}catch(c){t.error(c)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(o){t.error(o)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:n}=this;super.unsubscribe(),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function at(e,t){return En((n,r)=>{let i=0;n.subscribe(Vn(r,a=>{r.next(e.call(t,a,i++))}))})}function Qo(e){return this instanceof Qo?(this.v=e,this):new Qo(e)}function SI(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function Rb(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(a){n[a]=e[a]&&function(s){return new Promise(function(o,c){!function i(a,s,o,c){Promise.resolve(c).then(function(l){a({value:l,done:o})},s)}(o,c,(s=e[a](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Ob=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function EI(e){return it(e?.then)}function VI(e){return it(e[kb])}function DI(e){return Symbol.asyncIterator&&it(e?.[Symbol.asyncIterator])}function LI(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const AI=function W7e(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function NI(e){return it(e?.[AI])}function kI(e){return function HI(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=n.apply(e,t||[]),a=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(d){r[d]&&(i[d]=function(h){return new Promise(function(p,m){a.push([d,h,p,m])>1||o(d,h)})})}function o(d,h){try{!function c(d){d.value instanceof Qo?Promise.resolve(d.value.v).then(l,u):f(a[0][2],d)}(r[d](h))}catch(p){f(a[0][3],p)}}function l(d){o("next",d)}function u(d){o("throw",d)}function f(d,h){d(h),a.shift(),a.length&&o(a[0][0],a[0][1])}}(this,arguments,function*(){const n=e.getReader();try{for(;;){const{value:r,done:i}=yield Qo(n.read());if(i)return yield Qo(void 0);yield yield Qo(r)}}finally{n.releaseLock()}})}function TI(e){return it(e?.getReader)}function k1(e){if(e instanceof Kt)return e;if(null!=e){if(VI(e))return function Y7e(e){return new Kt(t=>{const n=e[kb]();if(it(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Ob(e))return function X7e(e){return new Kt(t=>{for(let n=0;n{e.then(n=>{t.closed||(t.next(n),t.complete())},n=>t.error(n)).then(null,CI)})}(e);if(DI(e))return II(e);if(NI(e))return function Z7e(e){return new Kt(t=>{for(const n of e)if(t.next(n),t.closed)return;t.complete()})}(e);if(TI(e))return function K7e(e){return II(kI(e))}(e)}throw LI(e)}function II(e){return new Kt(t=>{(function J7e(e,t){var n,r,i,a;return function xI(e,t,n,r){return new(n||(n=Promise))(function(a,s){function o(u){try{l(r.next(u))}catch(f){s(f)}}function c(u){try{l(r.throw(u))}catch(f){s(f)}}function l(u){u.done?a(u.value):function i(a){return a instanceof n?a:new n(function(s){s(a)})}(u.value).then(o,c)}l((r=r.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(n=SI(e);!(r=yield n.next()).done;)if(t.next(r.value),t.closed)return}catch(s){i={error:s}}finally{try{r&&!r.done&&(a=n.return)&&(yield a.call(n))}finally{if(i)throw i.error}}t.complete()})})(e,t).catch(n=>t.error(n))})}function Is(e,t,n,r=0,i=!1){const a=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(a),!i)return a}function Pn(e,t,n=1/0){return it(t)?Pn((r,i)=>at((a,s)=>t(r,a,i,s))(k1(e(r,i))),n):("number"==typeof t&&(n=t),En((r,i)=>function ede(e,t,n,r,i,a,s,o){const c=[];let l=0,u=0,f=!1;const d=()=>{f&&!c.length&&!l&&t.complete()},h=m=>l{a&&t.next(m),l++;let g=!1;k1(n(m,u++)).subscribe(Vn(t,v=>{i?.(v),a?h(v):t.next(v)},()=>{g=!0},void 0,()=>{if(g)try{for(l--;c.length&&lp(v)):p(v)}d()}catch(v){t.error(v)}}))};return e.subscribe(Vn(t,h,()=>{f=!0,d()})),()=>{o?.()}}(r,i,e,n)))}function e0(e=1/0){return Pn(Xo,e)}const _a=new Kt(e=>e.complete());function FI(e){return e&&it(e.schedule)}function Pb(e){return e[e.length-1]}function RI(e){return it(Pb(e))?e.pop():void 0}function mf(e){return FI(Pb(e))?e.pop():void 0}function OI(e,t=0){return En((n,r)=>{n.subscribe(Vn(r,i=>Is(r,e,()=>r.next(i),t),()=>Is(r,e,()=>r.complete(),t),i=>Is(r,e,()=>r.error(i),t)))})}function PI(e,t=0){return En((n,r)=>{r.add(e.schedule(()=>n.subscribe(r),t))})}function $I(e,t){if(!e)throw new Error("Iterable cannot be null");return new Kt(n=>{Is(n,t,()=>{const r=e[Symbol.asyncIterator]();Is(n,t,()=>{r.next().then(i=>{i.done?n.complete():n.next(i.value)})},0,!0)})})}function $n(e,t){return t?function cde(e,t){if(null!=e){if(VI(e))return function rde(e,t){return k1(e).pipe(PI(t),OI(t))}(e,t);if(Ob(e))return function ade(e,t){return new Kt(n=>{let r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(EI(e))return function ide(e,t){return k1(e).pipe(PI(t),OI(t))}(e,t);if(DI(e))return $I(e,t);if(NI(e))return function sde(e,t){return new Kt(n=>{let r;return Is(n,t,()=>{r=e[AI](),Is(n,t,()=>{let i,a;try{({value:i,done:a}=r.next())}catch(s){return void n.error(s)}a?n.complete():n.next(i)},0,!0)}),()=>it(r?.return)&&r.return()})}(e,t);if(TI(e))return function ode(e,t){return $I(kI(e),t)}(e,t)}throw LI(e)}(e,t):k1(e)}function $b(...e){const t=mf(e),n=function nde(e,t){return"number"==typeof Pb(e)?e.pop():t}(e,1/0),r=e;return r.length?1===r.length?k1(r[0]):e0(n)($n(r,t)):_a}class N2 extends A2{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const n=super._subscribe(t);return!n.closed&&t.next(this._value),n}getValue(){const{hasError:t,thrownError:n,_value:r}=this;if(t)throw n;return this._throwIfClosed(),r}next(t){super.next(this._value=t)}}function ve(...e){return $n(e,mf(e))}function BI(e={}){const{connector:t=(()=>new A2),resetOnError:n=!0,resetOnComplete:r=!0,resetOnRefCountZero:i=!0}=e;return a=>{let s,o,c,l=0,u=!1,f=!1;const d=()=>{o?.unsubscribe(),o=void 0},h=()=>{d(),s=c=void 0,u=f=!1},p=()=>{const m=s;h(),m?.unsubscribe()};return En((m,g)=>{l++,!f&&!u&&d();const v=c=c??t();g.add(()=>{l--,0===l&&!f&&!u&&(o=Bb(p,i))}),v.subscribe(g),!s&&l>0&&(s=new pf({next:y=>v.next(y),error:y=>{f=!0,d(),o=Bb(h,n,y),v.error(y)},complete:()=>{u=!0,d(),o=Bb(h,r),v.complete()}}),k1(m).subscribe(s))})(a)}}function Bb(e,t,...n){if(!0===t)return void e();if(!1===t)return;const r=new pf({next:()=>{r.unsubscribe(),e()}});return k1(t(...n)).subscribe(r)}function e2(e,t){return En((n,r)=>{let i=null,a=0,s=!1;const o=()=>s&&!i&&r.complete();n.subscribe(Vn(r,c=>{i?.unsubscribe();let l=0;const u=a++;k1(e(c,u)).subscribe(i=Vn(r,f=>r.next(t?t(c,f,u,l++):f),()=>{i=null,o()}))},()=>{s=!0,o()}))})}function ude(e,t){return e===t}function Nt(e){for(let t in e)if(e[t]===Nt)return t;throw Error("Could not find renamed property on target object.")}function th(e,t){for(const n in t)t.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(e[n]=t[n])}function Bn(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Bn).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function Ub(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const fde=Nt({__forward_ref__:Nt});function Gt(e){return e.__forward_ref__=Gt,e.toString=function(){return Bn(this())},e}function qe(e){return jb(e)?e():e}function jb(e){return"function"==typeof e&&e.hasOwnProperty(fde)&&e.__forward_ref__===Gt}function qb(e){return e&&!!e.\u0275providers}const UI="https://g.co/ng/security#xss";class ie extends Error{constructor(t,n){super(function nh(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function We(e){return"string"==typeof e?e:null==e?"":String(e)}function Gb(e,t){throw new ie(-201,!1)}function Wr(e,t){null==e&&function Be(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function we(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function k2(e){return{providers:e.providers||[],imports:e.imports||[]}}function rh(e){return jI(e,ah)||jI(e,qI)}function jI(e,t){return e.hasOwnProperty(t)?e[t]:null}function ih(e){return e&&(e.hasOwnProperty(Wb)||e.hasOwnProperty(Cde))?e[Wb]:null}const ah=Nt({\u0275prov:Nt}),Wb=Nt({\u0275inj:Nt}),qI=Nt({ngInjectableDef:Nt}),Cde=Nt({ngInjectorDef:Nt});var ot=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ot||{});let Yb;function T2(e){const t=Yb;return Yb=e,t}function WI(e,t,n){const r=rh(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&ot.Optional?null:void 0!==t?t:void Gb(Bn(e))}const Wt=globalThis;class be{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=we({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const gf={},Jb="__NG_DI_FLAG__",sh="ngTempTokenPath",_de=/\n/gm,XI="__source";let t0;function Zo(e){const t=t0;return t0=e,t}function zde(e,t=ot.Default){if(void 0===t0)throw new ie(-203,!1);return null===t0?WI(e,void 0,t):t0.get(e,t&ot.Optional?null:void 0,t)}function xe(e,t=ot.Default){return(function GI(){return Yb}()||zde)(qe(e),t)}function Me(e,t=ot.Default){return xe(e,oh(t))}function oh(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function eM(e){const t=[];for(let n=0;nt){s=a-1;break}}}for(;aa?"":i[f+1].toLowerCase();const h=8&r?d:null;if(h&&-1!==JI(h,l,0)||2&r&&l!==d){if(Hi(r))return!1;s=!0}}}}else{if(!s&&!Hi(r)&&!Hi(c))return!1;if(s&&Hi(c))continue;s=!1,r=c|1&r}}return Hi(r)||s}function Hi(e){return 0==(1&e)}function Ade(e,t,n,r){if(null===t)return-1;let i=0;if(r||!n){let a=!1;for(;i-1)for(n++;n0?'="'+o+'"':"")+"]"}else 8&r?i+="."+s:4&r&&(i+=" "+s);else""!==i&&!Hi(s)&&(t+=sF(a,i),i=""),r=s,a=a||!Hi(r);n++}return""!==i&&(t+=sF(a,i)),t}function kt(e){return Fs(()=>{const t=cF(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ch.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||zi.Emulated,styles:e.styles||yt,_:null,schemas:e.schemas||null,tView:null,id:""};lF(n);const r=e.dependencies;return n.directiveDefs=uh(r,!1),n.pipeDefs=uh(r,!0),n.id=function qde(e){let t=0;const n=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const i of n)t=Math.imul(31,t)+i.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(n),n})}function $de(e){return ht(e)||y1(e)}function Bde(e){return null!==e}function pr(e){return Fs(()=>({type:e.type,bootstrap:e.bootstrap||yt,declarations:e.declarations||yt,imports:e.imports||yt,exports:e.exports||yt,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function oF(e,t){if(null==e)return wa;const n={};for(const r in e)if(e.hasOwnProperty(r)){let i=e[r],a=i;Array.isArray(i)&&(a=i[1],i=i[0]),n[i]=r,t&&(t[i]=a)}return n}function Ue(e){return Fs(()=>{const t=cF(e);return lF(t),t})}function I2(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function ht(e){return e[lh]||null}function y1(e){return e[tM]||null}function t2(e){return e[nM]||null}function mr(e,t){const n=e[ZI]||null;if(!n&&!0===t)throw new Error(`Type ${Bn(e)} does not have '\u0275mod' property.`);return n}function cF(e){const t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputTransforms:null,inputConfig:e.inputs||wa,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||yt,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:oF(e.inputs,t),outputs:oF(e.outputs)}}function lF(e){e.features?.forEach(t=>t(e))}function uh(e,t){if(!e)return null;const n=t?t2:$de;return()=>("function"==typeof e?e():e).map(r=>n(r)).filter(Bde)}const Cn=0,Ce=1,Ke=2,cn=3,Si=4,bf=5,T1=6,r0=7,Dn=8,Ko=9,a0=10,Ye=11,Mf=12,uF=13,s0=14,Ln=15,_f=16,o0=17,xa=18,wf=19,fF=20,Jo=21,Os=22,xf=23,zf=24,ct=25,iM=1,dF=2,za=7,c0=9,C1=11;function F2(e){return Array.isArray(e)&&"object"==typeof e[iM]}function n2(e){return Array.isArray(e)&&!0===e[iM]}function aM(e){return 0!=(4&e.flags)}function X3(e){return e.componentOffset>-1}function dh(e){return 1==(1&e.flags)}function Ei(e){return!!e.template}function sM(e){return 0!=(512&e[Ke])}function Q3(e,t){return e.hasOwnProperty(Rs)?e[Rs]:null}let b1=null,hh=!1;function Yr(e){const t=b1;return b1=e,t}const mF={version:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{}};function vF(e){if(!Sf(e)||e.dirty){if(!e.producerMustRecompute(e)&&!bF(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function CF(e){e.dirty=!0,function yF(e){if(void 0===e.liveConsumerNode)return;const t=hh;hh=!0;try{for(const n of e.liveConsumerNode)n.dirty||CF(n)}finally{hh=t}}(e),e.consumerMarkedDirty?.(e)}function cM(e){return e&&(e.nextProducerIndex=0),Yr(e)}function lM(e,t){if(Yr(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(Sf(e))for(let n=e.nextProducerIndex;ne.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function bF(e){l0(e);for(let t=0;t0}function l0(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let xF=null;function SF(e){const t=Yr(null);try{return e()}finally{Yr(t)}}const EF=()=>{},ihe=(()=>({...mF,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:EF}))();class ahe{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function r2(){return VF}function VF(e){return e.type.prototype.ngOnChanges&&(e.setInput=ohe),she}function she(){const e=LF(this),t=e?.current;if(t){const n=e.previous;if(n===wa)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function ohe(e,t,n,r){const i=this.declaredInputs[n],a=LF(e)||function che(e,t){return e[DF]=t}(e,{previous:wa,current:null}),s=a.current||(a.current={}),o=a.previous,c=o[i];s[i]=new ahe(c&&c.currentValue,t,o===wa),e[r]=t}r2.ngInherit=!0;const DF="__ngSimpleChanges__";function LF(e){return e[DF]||null}const Ha=function(e,t,n){};function Yt(e){for(;Array.isArray(e);)e=e[Cn];return e}function mh(e,t){return Yt(t[e])}function R2(e,t){return Yt(t[e.index])}function kF(e,t){return e.data[t]}function u0(e,t){return e[t]}function gr(e,t){const n=t[e];return F2(n)?n:n[Cn]}function tc(e,t){return null==t?null:e[t]}function TF(e){e[o0]=0}function phe(e){1024&e[Ke]||(e[Ke]|=1024,FF(e,1))}function IF(e){1024&e[Ke]&&(e[Ke]&=-1025,FF(e,-1))}function FF(e,t){let n=e[cn];if(null===n)return;n[bf]+=t;let r=n;for(n=n[cn];null!==n&&(1===t&&1===r[bf]||-1===t&&0===r[bf]);)n[bf]+=t,r=n,n=n[cn]}const je={lFrame:YF(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function PF(){return je.bindingsEnabled}function f0(){return null!==je.skipHydrationRootTNode}function ee(){return je.lFrame.lView}function pt(){return je.lFrame.tView}function Sa(e){return je.lFrame.contextLView=e,e[Dn]}function Ea(e){return je.lFrame.contextLView=null,e}function M1(){let e=$F();for(;null!==e&&64===e.type;)e=e.parent;return e}function $F(){return je.lFrame.currentTNode}function Va(e,t){const n=je.lFrame;n.currentTNode=e,n.isParent=t}function pM(){return je.lFrame.isParent}function mM(){je.lFrame.isParent=!1}function a2(){const e=je.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function d0(){return je.lFrame.bindingIndex++}function $s(e){const t=je.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Hhe(e,t){const n=je.lFrame;n.bindingIndex=n.bindingRootIndex=e,gM(t)}function gM(e){je.lFrame.currentDirectiveIndex=e}function qF(){return je.lFrame.currentQueryIndex}function yM(e){je.lFrame.currentQueryIndex=e}function Ehe(e){const t=e[Ce];return 2===t.type?t.declTNode:1===t.type?e[T1]:null}function GF(e,t,n){if(n&ot.SkipSelf){let i=t,a=e;for(;!(i=i.parent,null!==i||n&ot.Host||(i=Ehe(a),null===i||(a=a[s0],10&i.type))););if(null===i)return!1;t=i,e=a}const r=je.lFrame=WF();return r.currentTNode=t,r.lView=e,!0}function CM(e){const t=WF(),n=e[Ce];je.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function WF(){const e=je.lFrame,t=null===e?null:e.child;return null===t?YF(e):t}function YF(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function XF(){const e=je.lFrame;return je.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const QF=XF;function bM(){const e=XF();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function s2(){return je.lFrame.selectedIndex}function Z3(e){je.lFrame.selectedIndex=e}function mn(){const e=je.lFrame;return kF(e.tView,e.selectedIndex)}let KF=!0;function gh(){return KF}function nc(e){KF=e}function vh(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[c]<0&&(e[o0]+=65536),(o>13>16&&(3&e[Ke])===t&&(e[Ke]+=8192,eR(o,a)):eR(o,a)}const h0=-1;class Vf{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function wM(e){return e!==h0}function Df(e){return 32767&e}function Lf(e,t){let n=function Phe(e){return e>>16}(e),r=t;for(;n>0;)r=r[s0],n--;return r}let xM=!0;function bh(e){const t=xM;return xM=e,t}const tR=255,nR=5;let $he=0;const Da={};function Mh(e,t){const n=rR(e,t);if(-1!==n)return n;const r=t[Ce];r.firstCreatePass&&(e.injectorIndex=t.length,zM(r.data,e),zM(t,null),zM(r.blueprint,null));const i=_h(e,t),a=e.injectorIndex;if(wM(i)){const s=Df(i),o=Lf(i,t),c=o[Ce].data;for(let l=0;l<8;l++)t[a+l]=o[s+l]|c[s+l]}return t[a+8]=i,a}function zM(e,t){e.push(0,0,0,0,0,0,0,0,t)}function rR(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function _h(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,i=t;for(;null!==i;){if(r=uR(i),null===r)return h0;if(n++,i=i[s0],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return h0}function HM(e,t,n){!function Bhe(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(yf)&&(r=n[yf]),null==r&&(r=n[yf]=$he++);const i=r&tR;t.data[e+(i>>nR)]|=1<=0?t&tR:Whe:t}(n);if("function"==typeof a){if(!GF(t,e,r))return r&ot.Host?iR(i,0,r):aR(t,n,r,i);try{let s;if(s=a(r),null!=s||r&ot.Optional)return s;Gb()}finally{QF()}}else if("number"==typeof a){let s=null,o=rR(e,t),c=h0,l=r&ot.Host?t[Ln][T1]:null;for((-1===o||r&ot.SkipSelf)&&(c=-1===o?_h(e,t):t[o+8],c!==h0&&lR(r,!1)?(s=t[Ce],o=Df(c),t=Lf(c,t)):o=-1);-1!==o;){const u=t[Ce];if(cR(a,o,u.data)){const f=jhe(o,t,n,s,r,l);if(f!==Da)return f}c=t[o+8],c!==h0&&lR(r,t[Ce].data[o+8]===l)&&cR(a,o,t)?(s=u,o=Df(c),t=Lf(c,t)):o=-1}}return i}function jhe(e,t,n,r,i,a){const s=t[Ce],o=s.data[e+8],u=wh(o,s,n,null==r?X3(o)&&xM:r!=s&&0!=(3&o.type),i&ot.Host&&a===o);return null!==u?K3(t,s,u,o):Da}function wh(e,t,n,r,i){const a=e.providerIndexes,s=t.data,o=1048575&a,c=e.directiveStart,u=a>>20,d=i?o+u:e.directiveEnd;for(let h=r?o:o+u;h=c&&p.type===n)return h}if(i){const h=s[c];if(h&&Ei(h)&&h.type===n)return c}return null}function K3(e,t,n,r){let i=e[n];const a=t.data;if(function Fhe(e){return e instanceof Vf}(i)){const s=i;s.resolving&&function dde(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new ie(-200,`Circular dependency in DI detected for ${e}${n}`)}(function Ht(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():We(e)}(a[n]));const o=bh(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?T2(s.injectImpl):null;GF(e,r,ot.Default);try{i=e[n]=s.factory(void 0,a,e,r),t.firstCreatePass&&n>=r.directiveStart&&function The(e,t,n){const{ngOnChanges:r,ngOnInit:i,ngDoCheck:a}=t.type.prototype;if(r){const s=VF(t);(n.preOrderHooks??=[]).push(e,s),(n.preOrderCheckHooks??=[]).push(e,s)}i&&(n.preOrderHooks??=[]).push(0-e,i),a&&((n.preOrderHooks??=[]).push(e,a),(n.preOrderCheckHooks??=[]).push(e,a))}(n,a[n],t)}finally{null!==l&&T2(l),bh(o),s.resolving=!1,QF()}}return i}function cR(e,t,n){return!!(n[t+(e>>nR)]&1<{const t=e.prototype.constructor,n=t[Rs]||SM(t),r=Object.prototype;let i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){const a=i[Rs]||SM(i);if(a&&a!==n)return a;i=Object.getPrototypeOf(i)}return a=>new a})}function SM(e){return jb(e)?()=>{const t=SM(qe(e));return t&&t()}:Q3(e)}function uR(e){const t=e[Ce],n=t.type;return 2===n?t.declTNode:1===n?e[T1]:null}const m0="__parameters__";function v0(e,t,n){return Fs(()=>{const r=function EM(e){return function(...n){if(e){const r=e(...n);for(const i in r)this[i]=r[i]}}}(t);function i(...a){if(this instanceof i)return r.apply(this,a),this;const s=new i(...a);return o.annotation=s,o;function o(c,l,u){const f=c.hasOwnProperty(m0)?c[m0]:Object.defineProperty(c,m0,{value:[]})[m0];for(;f.length<=u;)f.push(null);return(f[u]=f[u]||[]).push(s),c}}return n&&(i.prototype=Object.create(n.prototype)),i.prototype.ngMetadataName=e,i.annotationCls=i,i})}function C0(e,t){e.forEach(n=>Array.isArray(n)?C0(n,t):t(n))}function dR(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function zh(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function kf(e,t){const n=[];for(let r=0;r=0?e[1|r]=n:(r=~r,function t9e(e,t,n,r){let i=e.length;if(i==t)e.push(n,r);else if(1===i)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;)e[i]=e[i-2],i--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function VM(e,t){const n=b0(e,t);if(n>=0)return e[1|n]}function b0(e,t){return function hR(e,t,n){let r=0,i=e.length>>n;for(;i!==r;){const a=r+(i-r>>1),s=e[a<t?i=a:r=a+1}return~(i<|^->||--!>|)/g,x9e="\u200b$1\u200b";const kM=new Map;let z9e=0;const IM="__ngContext__";function I1(e,t){F2(t)?(e[IM]=t[wf],function S9e(e){kM.set(e[wf],e)}(t)):e[IM]=t}let FM;function RM(e,t){return FM(e,t)}function Ff(e){const t=e[cn];return n2(t)?t[cn]:t}function NR(e){return TR(e[Mf])}function kR(e){return TR(e[Si])}function TR(e){for(;null!==e&&!n2(e);)e=e[Si];return e}function w0(e,t,n,r,i){if(null!=r){let a,s=!1;n2(r)?a=r:F2(r)&&(s=!0,r=r[Cn]);const o=Yt(r);0===e&&null!==n?null==i?OR(t,n,o):J3(t,n,o,i||null,!0):1===e&&null!==n?J3(t,n,o,i||null,!0):2===e?function Ph(e,t,n){const r=Rh(e,t);r&&function G9e(e,t,n,r){e.removeChild(t,n,r)}(e,r,t,n)}(t,o,s):3===e&&t.destroyNode(o),null!=a&&function X9e(e,t,n,r,i){const a=n[za];a!==Yt(n)&&w0(t,e,r,a,i);for(let o=C1;ot.replace(w9e,x9e))}(t))}function Ih(e,t,n){return e.createElement(t,n)}function FR(e,t){const n=e[c0],r=n.indexOf(t);IF(t),n.splice(r,1)}function Fh(e,t){if(e.length<=C1)return;const n=C1+t,r=e[n];if(r){const i=r[_f];null!==i&&i!==e&&FR(i,r),t>0&&(e[n-1][Si]=r[Si]);const a=zh(e,C1+t);!function R9e(e,t){Of(e,t,t[Ye],2,null,null),t[Cn]=null,t[T1]=null}(r[Ce],r);const s=a[xa];null!==s&&s.detachView(a[Ce]),r[cn]=null,r[Si]=null,r[Ke]&=-129}return r}function PM(e,t){if(!(256&t[Ke])){const n=t[Ye];t[xf]&&MF(t[xf]),t[zf]&&MF(t[zf]),n.destroyNode&&Of(e,t,n,3,null,null),function $9e(e){let t=e[Mf];if(!t)return $M(e[Ce],e);for(;t;){let n=null;if(F2(t))n=t[Mf];else{const r=t[C1];r&&(n=r)}if(!n){for(;t&&!t[Si]&&t!==e;)F2(t)&&$M(t[Ce],t),t=t[cn];null===t&&(t=e),F2(t)&&$M(t[Ce],t),n=t&&t[Si]}t=n}}(t)}}function $M(e,t){if(!(256&t[Ke])){t[Ke]&=-129,t[Ke]|=256,function q9e(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r=0?r[s]():r[-s].unsubscribe(),a+=2}else n[a].call(r[n[a+1]]);null!==r&&(t[r0]=null);const i=t[Jo];if(null!==i){t[Jo]=null;for(let a=0;a-1){const{encapsulation:a}=e.data[r.directiveStart+i];if(a===zi.None||a===zi.Emulated)return null}return R2(r,n)}}(e,t.parent,n)}function J3(e,t,n,r,i){e.insertBefore(t,n,r,i)}function OR(e,t,n){e.appendChild(t,n)}function PR(e,t,n,r,i){null!==r?J3(e,t,n,r,i):OR(e,t,n)}function Rh(e,t){return e.parentNode(t)}function $R(e,t,n){return UR(e,t,n)}let UM,$h,WM,Bh,UR=function BR(e,t,n){return 40&e.type?R2(e,n):null};function Oh(e,t,n,r){const i=BM(e,r,t),a=t[Ye],o=$R(r.parent||t[T1],r,t);if(null!=i)if(Array.isArray(n))for(let c=0;ce,createScript:e=>e,createScriptURL:e=>e})}catch{}return $h}()?.createHTML(e)||e}function z0(){if(void 0!==WM)return WM;if(typeof document<"u")return document;throw new ie(210,!1)}function YM(){if(void 0===Bh&&(Bh=null,Wt.trustedTypes))try{Bh=Wt.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bh}function QR(e){return YM()?.createHTML(e)||e}function KR(e){return YM()?.createScriptURL(e)||e}class e4{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${UI})`}}class npe extends e4{getTypeName(){return"HTML"}}class rpe extends e4{getTypeName(){return"Style"}}class ipe extends e4{getTypeName(){return"Script"}}class ape extends e4{getTypeName(){return"URL"}}class spe extends e4{getTypeName(){return"ResourceURL"}}function yr(e){return e instanceof e4?e.changingThisBreaksApplicationSecurity:e}function La(e,t){const n=function ope(e){return e instanceof e4&&e.getTypeName()||null}(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see ${UI})`)}return n===t}class hpe{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const n=(new window.DOMParser).parseFromString(x0(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class ppe{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const n=this.inertDocument.createElement("template");return n.innerHTML=x0(t),n}}const gpe=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Uh(e){return(e=String(e)).match(gpe)?e:"unsafe:"+e}function Bs(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function Pf(...e){const t={};for(const n of e)for(const r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}const eO=Bs("area,br,col,hr,img,wbr"),tO=Bs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),nO=Bs("rp,rt"),XM=Pf(eO,Pf(tO,Bs("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Pf(nO,Bs("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Pf(nO,tO)),QM=Bs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),rO=Pf(QM,Bs("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Bs("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),vpe=Bs("script,style,template");class ype{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let n=t.firstChild,r=!0;for(;n;)if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let i=this.checkClobberedElement(n,n.nextSibling);if(i){n=i;break}n=this.checkClobberedElement(n,n.parentNode)}return this.buf.join("")}startElement(t){const n=t.nodeName.toLowerCase();if(!XM.hasOwnProperty(n))return this.sanitizedSomething=!0,!vpe.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);const r=t.attributes;for(let i=0;i"),!0}endElement(t){const n=t.nodeName.toLowerCase();XM.hasOwnProperty(n)&&!eO.hasOwnProperty(n)&&(this.buf.push(""))}chars(t){this.buf.push(iO(t))}checkClobberedElement(t,n){if(n&&(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return n}}const Cpe=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,bpe=/([^\#-~ |!])/g;function iO(e){return e.replace(/&/g,"&").replace(Cpe,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(bpe,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let jh;function aO(e,t){let n=null;try{jh=jh||function JR(e){const t=new ppe(e);return function mpe(){try{return!!(new window.DOMParser).parseFromString(x0(""),"text/html")}catch{return!1}}()?new hpe(t):t}(e);let r=t?String(t):"";n=jh.getInertBodyElement(r);let i=5,a=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=a,a=n.innerHTML,n=jh.getInertBodyElement(r)}while(r!==a);return x0((new ype).sanitizeChildren(ZM(n)||n))}finally{if(n){const r=ZM(n)||n;for(;r.firstChild;)r.removeChild(r.firstChild)}}}function ZM(e){return"content"in e&&function Mpe(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Qr=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Qr||{});function sO(e){const t=$f();return t?QR(t.sanitize(Qr.HTML,e)||""):La(e,"HTML")?QR(yr(e)):aO(z0(),We(e))}function oO(e){const t=$f();return t?t.sanitize(Qr.URL,e)||"":La(e,"URL")?yr(e):Uh(We(e))}function cO(e){const t=$f();if(t)return KR(t.sanitize(Qr.RESOURCE_URL,e)||"");if(La(e,"ResourceURL"))return KR(yr(e));throw new ie(904,!1)}function $f(){const e=ee();return e&&e[a0].sanitizer}const Bf=new be("ENVIRONMENT_INITIALIZER"),uO=new be("INJECTOR",-1),fO=new be("INJECTOR_DEF_TYPES");class KM{get(t,n=gf){if(n===gf){const r=new Error(`NullInjectorError: No provider for ${Bn(t)}!`);throw r.name="NullInjectorError",r}return n}}function qh(e){return{\u0275providers:e}}function Spe(...e){return{\u0275providers:dO(0,e),\u0275fromNgModule:!0}}function dO(e,...t){const n=[],r=new Set;let i;const a=s=>{n.push(s)};return C0(t,s=>{const o=s;Gh(o,a,[],r)&&(i||=[],i.push(o))}),void 0!==i&&hO(i,a),n}function hO(e,t){for(let n=0;n{t(a,r)})}}function Gh(e,t,n,r){if(!(e=qe(e)))return!1;let i=null,a=ih(e);const s=!a&&ht(e);if(a||s){if(s&&!s.standalone)return!1;i=e}else{const c=e.ngModule;if(a=ih(c),!a)return!1;i=c}const o=r.has(i);if(s){if(o)return!1;if(r.add(i),s.dependencies){const c="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const l of c)Gh(l,t,n,r)}}else{if(!a)return!1;{if(null!=a.imports&&!o){let l;r.add(i);try{C0(a.imports,u=>{Gh(u,t,n,r)&&(l||=[],l.push(u))})}finally{}void 0!==l&&hO(l,t)}if(!o){const l=Q3(i)||(()=>new i);t({provide:i,useFactory:l,deps:yt},i),t({provide:fO,useValue:i,multi:!0},i),t({provide:Bf,useValue:()=>xe(i),multi:!0},i)}const c=a.providers;if(null!=c&&!o){const l=e;JM(c,u=>{t(u,l)})}}}return i!==e&&void 0!==e.providers}function JM(e,t){for(let n of e)qb(n)&&(n=n.\u0275providers),Array.isArray(n)?JM(n,t):t(n)}const Epe=Nt({provide:String,useValue:Nt});function e_(e){return null!==e&&"object"==typeof e&&Epe in e}function t4(e){return"function"==typeof e}const t_=new be("Set Injector scope."),Wh={},Dpe={};let n_;function Yh(){return void 0===n_&&(n_=new KM),n_}class Cr{}class H0 extends Cr{get destroyed(){return this._destroyed}constructor(t,n,r,i){super(),this.parent=n,this.source=r,this.scopes=i,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,i_(t,s=>this.processProvider(s)),this.records.set(uO,S0(void 0,this)),i.has("environment")&&this.records.set(Cr,S0(void 0,this));const a=this.records.get(t_);null!=a&&"string"==typeof a.value&&this.scopes.add(a.value),this.injectorDefTypes=new Set(this.get(fO.multi,yt,ot.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const n of t)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const n=Zo(this),r=T2(void 0);try{return t()}finally{Zo(n),T2(r)}}get(t,n=gf,r=ot.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(KI))return t[KI](this);r=oh(r);const a=Zo(this),s=T2(void 0);try{if(!(r&ot.SkipSelf)){let c=this.records.get(t);if(void 0===c){const l=function Tpe(e){return"function"==typeof e||"object"==typeof e&&e instanceof be}(t)&&rh(t);c=l&&this.injectableDefInScope(l)?S0(r_(t),Wh):null,this.records.set(t,c)}if(null!=c)return this.hydrate(t,c)}return(r&ot.Self?Yh():this.parent).get(t,n=r&ot.Optional&&n===gf?null:n)}catch(o){if("NullInjectorError"===o.name){if((o[sh]=o[sh]||[]).unshift(Bn(t)),a)throw o;return function Sde(e,t,n,r){const i=e[sh];throw t[XI]&&i.unshift(t[XI]),e.message=function Ede(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let i=Bn(t);if(Array.isArray(t))i=t.map(Bn).join(" -> ");else if("object"==typeof t){let a=[];for(let s in t)if(t.hasOwnProperty(s)){let o=t[s];a.push(s+":"+("string"==typeof o?JSON.stringify(o):Bn(o)))}i=`{${a.join(", ")}}`}return`${n}${r?"("+r+")":""}[${i}]: ${e.replace(_de,"\n ")}`}("\n"+e.message,i,n,r),e.ngTokenPath=i,e[sh]=null,e}(o,t,"R3InjectorError",this.source)}throw o}finally{T2(s),Zo(a)}}resolveInjectorInitializers(){const t=Zo(this),n=T2(void 0);try{const i=this.get(Bf.multi,yt,ot.Self);for(const a of i)a()}finally{Zo(t),T2(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(Bn(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new ie(205,!1)}processProvider(t){let n=t4(t=qe(t))?t:qe(t&&t.provide);const r=function Ape(e){return e_(e)?S0(void 0,e.useValue):S0(gO(e),Wh)}(t);if(t4(t)||!0!==t.multi)this.records.get(n);else{let i=this.records.get(n);i||(i=S0(void 0,Wh,!0),i.factory=()=>eM(i.multi),this.records.set(n,i)),n=t,i.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===Wh&&(n.value=Dpe,n.value=n.factory()),"object"==typeof n.value&&n.value&&function kpe(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=qe(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}removeOnDestroy(t){const n=this._onDestroyHooks.indexOf(t);-1!==n&&this._onDestroyHooks.splice(n,1)}}function r_(e){const t=rh(e),n=null!==t?t.factory:Q3(e);if(null!==n)return n;if(e instanceof be)throw new ie(204,!1);if(e instanceof Function)return function Lpe(e){const t=e.length;if(t>0)throw kf(t,"?"),new ie(204,!1);const n=function yde(e){return e&&(e[ah]||e[qI])||null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new ie(204,!1)}function gO(e,t,n){let r;if(t4(e)){const i=qe(e);return Q3(i)||r_(i)}if(e_(e))r=()=>qe(e.useValue);else if(function mO(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...eM(e.deps||[]));else if(function pO(e){return!(!e||!e.useExisting)}(e))r=()=>xe(qe(e.useExisting));else{const i=qe(e&&(e.useClass||e.provide));if(!function Npe(e){return!!e.deps}(e))return Q3(i)||r_(i);r=()=>new i(...eM(e.deps))}return r}function S0(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function i_(e,t){for(const n of e)Array.isArray(n)?i_(n,t):n&&qb(n)?i_(n.\u0275providers,t):t(n)}const Xh=new be("AppId",{providedIn:"root",factory:()=>Ipe}),Ipe="ng",vO=new be("Platform Initializer"),Us=new be("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),yO=new be("CSP nonce",{providedIn:"root",factory:()=>z0().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let CO=(e,t,n)=>null;function d_(e,t,n=!1){return CO(e,t,n)}class Gpe{}class _O{}class Ype{resolveComponentFactory(t){throw function Wpe(e){const t=Error(`No component factory found for ${Bn(e)}.`);return t.ngComponent=e,t}(t)}}let t9=(()=>{class e{static#e=this.NULL=new Ype}return e})();function Xpe(){return D0(M1(),ee())}function D0(e,t){return new P2(R2(e,t))}let P2=(()=>{class e{constructor(n){this.nativeElement=n}static#e=this.__NG_ELEMENT_ID__=Xpe}return e})();function Qpe(e){return e instanceof P2?e.nativeElement:e}class xO{}let Aa=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function Zpe(){const e=ee(),n=gr(M1().index,e);return(F2(n)?n:e)[Ye]}()}return e})(),Kpe=(()=>{class e{static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:()=>null})}return e})();class qf{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Jpe=new qf("16.2.12"),m_={};function EO(e,t=null,n=null,r){const i=VO(e,t,n,r);return i.resolveInjectorInitializers(),i}function VO(e,t=null,n=null,r,i=new Set){const a=[n||yt,Spe(e)];return r=r||("object"==typeof e?void 0:Bn(e)),new H0(a,t||Yh(),r||null,i)}let c2=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=gf;static#t=this.NULL=new KM;static create(n,r){if(Array.isArray(n))return EO({name:""},r,n,"");{const i=n.name??"";return EO({name:i},n.parent,n.providers,i)}}static#n=this.\u0275prov=we({token:e,providedIn:"any",factory:()=>xe(uO)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function v_(e){return e.ngOriginalError}class js{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&v_(t);for(;n&&v_(n);)n=v_(n);return n||null}}function C_(e){return t=>{setTimeout(e,void 0,t)}}const bn=class sme extends A2{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let i=t,a=n||(()=>null),s=r;if(t&&"object"==typeof t){const c=t;i=c.next?.bind(c),a=c.error?.bind(c),s=c.complete?.bind(c)}this.__isAsync&&(a=C_(a),i&&(i=C_(i)),s&&(s=C_(s)));const o=super.subscribe({next:i,error:a,complete:s});return t instanceof N1&&t.add(o),o}};function LO(...e){}class Ut{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new bn(!1),this.onMicrotaskEmpty=new bn(!1),this.onStable=new bn(!1),this.onError=new bn(!1),typeof Zone>"u")throw new ie(908,!1);Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!r&&n,i.shouldCoalesceRunChangeDetection=r,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function ome(){const e="function"==typeof Wt.requestAnimationFrame;let t=Wt[e?"requestAnimationFrame":"setTimeout"],n=Wt[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&n){const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function ume(e){const t=()=>{!function lme(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Wt,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,M_(e),e.isCheckStableRunning=!0,b_(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),M_(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,i,a,s,o)=>{if(function dme(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(o))return n.invokeTask(i,a,s,o);try{return AO(e),n.invokeTask(i,a,s,o)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===a.type||e.shouldCoalesceRunChangeDetection)&&t(),NO(e)}},onInvoke:(n,r,i,a,s,o,c)=>{try{return AO(e),n.invoke(i,a,s,o,c)}finally{e.shouldCoalesceRunChangeDetection&&t(),NO(e)}},onHasTask:(n,r,i,a)=>{n.hasTask(i,a),r===i&&("microTask"==a.change?(e._hasPendingMicrotasks=a.microTask,M_(e),b_(e)):"macroTask"==a.change&&(e.hasPendingMacrotasks=a.macroTask))},onHandleError:(n,r,i,a)=>(n.handleError(i,a),e.runOutsideAngular(()=>e.onError.emit(a)),!1)})}(i)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ut.isInAngularZone())throw new ie(909,!1)}static assertNotInAngularZone(){if(Ut.isInAngularZone())throw new ie(909,!1)}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,i){const a=this._inner,s=a.scheduleEventTask("NgZoneEvent: "+i,t,cme,LO,LO);try{return a.runTask(s,n,r)}finally{a.cancelTask(s)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const cme={};function b_(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function M_(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function AO(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function NO(e){e._nesting--,b_(e)}class fme{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new bn,this.onMicrotaskEmpty=new bn,this.onStable=new bn,this.onError=new bn}run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,i){return t.apply(n,r)}}const kO=new be("",{providedIn:"root",factory:TO});function TO(){const e=Me(Ut);let t=!0;return $b(new Kt(i=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{i.next(t),i.complete()})}),new Kt(i=>{let a;e.runOutsideAngular(()=>{a=e.onStable.subscribe(()=>{Ut.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,i.next(!0))})})});const s=e.onUnstable.subscribe(()=>{Ut.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{i.next(!1)}))});return()=>{a.unsubscribe(),s.unsubscribe()}}).pipe(BI()))}function qs(e){return e instanceof Function?e():e}let __=(()=>{class e{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:()=>new e})}return e})();function Gf(e){for(;e;){e[Ke]|=64;const t=Ff(e);if(sM(e)&&!t)return e;e=t}return null}const PO=new be("",{providedIn:"root",factory:()=>!1});let r9=null;function jO(e,t){return e[t]??WO()}function qO(e,t){const n=WO();n.producerNode?.length&&(e[t]=r9,n.lView=e,r9=GO())}const _me={...mF,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Gf(e.lView)},lView:null};function GO(){return Object.create(_me)}function WO(){return r9??=GO(),r9}const Qe={};function X(e){YO(pt(),ee(),s2()+e,!1)}function YO(e,t,n,r){if(!r)if(3==(3&t[Ke])){const a=e.preOrderCheckHooks;null!==a&&yh(t,a,n)}else{const a=e.preOrderHooks;null!==a&&Ch(t,a,0,n)}Z3(n)}function q(e,t=ot.Default){const n=ee();return null===n?xe(e,t):sR(M1(),n,qe(e),t)}function i9(e,t,n,r,i,a,s,o,c,l,u){const f=t.blueprint.slice();return f[Cn]=i,f[Ke]=140|r,(null!==l||e&&2048&e[Ke])&&(f[Ke]|=2048),TF(f),f[cn]=f[s0]=e,f[Dn]=n,f[a0]=s||e&&e[a0],f[Ye]=o||e&&e[Ye],f[Ko]=c||e&&e[Ko]||null,f[T1]=a,f[wf]=function H9e(){return z9e++}(),f[Os]=u,f[fF]=l,f[Ln]=2==t.type?e[Ln]:f,f}function N0(e,t,n,r,i){let a=e.data[t];if(null===a)a=function w_(e,t,n,r,i){const a=$F(),s=pM(),c=e.data[t]=function Dme(e,t,n,r,i,a){let s=t?t.injectorIndex:-1,o=0;return f0()&&(o|=128),{type:n,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:o,providerIndexes:0,value:i,attrs:a,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?a:a&&a.parent,n,t,r,i);return null===e.firstChild&&(e.firstChild=c),null!==a&&(s?null==a.child&&null!==c.parent&&(a.child=c):null===a.next&&(a.next=c,c.prev=a)),c}(e,t,n,r,i),function zhe(){return je.lFrame.inI18n}()&&(a.flags|=32);else if(64&a.type){a.type=n,a.value=r,a.attrs=i;const s=function Ef(){const e=je.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();a.injectorIndex=null===s?-1:s.injectorIndex}return Va(a,!0),a}function Wf(e,t,n,r){if(0===n)return-1;const i=t.length;for(let a=0;act&&YO(e,t,ct,!1),Ha(o?2:0,i);const l=o?a:null,u=cM(l);try{null!==l&&(l.dirty=!1),n(r,i)}finally{lM(l,u)}}finally{o&&null===t[xf]&&qO(t,xf),Z3(s),Ha(o?3:1,i)}}function x_(e,t,n){if(aM(t)){const r=Yr(null);try{const a=t.directiveEnd;for(let s=t.directiveStart;snull;function JO(e,t,n,r){for(let i in e)if(e.hasOwnProperty(i)){n=null===n?{}:n;const a=e[i];null===r?eP(n,t,i,a):r.hasOwnProperty(i)&&eP(n,t,r[i],a)}return n}function eP(e,t,n,r){e.hasOwnProperty(n)?e[n].push(t,r):e[n]=[t,r]}function br(e,t,n,r,i,a,s,o){const c=R2(t,n);let u,l=t.inputs;!o&&null!=l&&(u=l[r])?(A_(e,n,u,r,i),X3(t)&&function Nme(e,t){const n=gr(t,e);16&n[Ke]||(n[Ke]|=64)}(n,t.index)):3&t.type&&(r=function Ame(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),i=null!=s?s(i,t.value||"",r):i,a.setProperty(c,r,i))}function E_(e,t,n,r){if(PF()){const i=null===r?null:{"":-1},a=function Ome(e,t){const n=e.directiveRegistry;let r=null,i=null;if(n)for(let a=0;a0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(s)!=o&&s.push(o),s.push(n,r,a)}}(e,t,r,Wf(e,n,i.hostVars,Qe),i)}function Na(e,t,n,r,i,a){const s=R2(e,t);!function D_(e,t,n,r,i,a,s){if(null==a)e.removeAttribute(t,i,n);else{const o=null==s?We(a):s(a,r||"",i);e.setAttribute(t,i,o,n)}}(t[Ye],s,a,e.value,n,r,i)}function qme(e,t,n,r,i,a){const s=a[t];if(null!==s)for(let o=0;o{class e{constructor(){this.all=new Set,this.queue=new Map}create(n,r,i){const a=typeof Zone>"u"?null:Zone.current,s=function rhe(e,t,n){const r=Object.create(ihe);n&&(r.consumerAllowSignalWrites=!0),r.fn=e,r.schedule=t;const i=s=>{r.cleanupFn=s};return r.ref={notify:()=>CF(r),run:()=>{if(r.dirty=!1,r.hasRun&&!bF(r))return;r.hasRun=!0;const s=cM(r);try{r.cleanupFn(),r.cleanupFn=EF,r.fn(i)}finally{lM(r,s)}},cleanup:()=>r.cleanupFn()},r.ref}(n,l=>{this.all.has(l)&&this.queue.set(l,a)},i);let o;this.all.add(s),s.notify();const c=()=>{s.cleanup(),o?.(),this.all.delete(s),this.queue.delete(s)};return o=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:()=>new e})}return e})();function s9(e,t,n){let r=n?e.styles:null,i=n?e.classes:null,a=0;if(null!==t)for(let s=0;s0){hP(e,1);const i=n.components;null!==i&&mP(e,i,1)}}function mP(e,t,n){for(let r=0;r-1&&(Fh(t,r),zh(n,r))}this._attachedToViewContainer=!1}PM(this._lView[Ce],this._lView)}onDestroy(t){!function RF(e,t){if(256==(256&e[Ke]))throw new ie(911,!1);null===e[Jo]&&(e[Jo]=[]),e[Jo].push(t)}(this._lView,t)}markForCheck(){Gf(this._cdRefInjectingView||this._lView)}detach(){this._lView[Ke]&=-129}reattach(){this._lView[Ke]|=128}detectChanges(){o9(this._lView[Ce],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new ie(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function P9e(e,t){Of(e,t,t[Ye],2,null,null)}(this._lView[Ce],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new ie(902,!1);this._appRef=t}}class ege extends Xf{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;o9(t[Ce],t,t[Dn],!1)}checkNoChanges(){}get context(){return null}}class gP extends t9{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=ht(t);return new Qf(n,this.ngModule)}}function vP(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class nge{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){r=oh(r);const i=this.injector.get(t,m_,r);return i!==m_||n===m_?i:this.parentInjector.get(t,n,r)}}class Qf extends _O{get inputs(){const t=this.componentDef,n=t.inputTransforms,r=vP(t.inputs);if(null!==n)for(const i of r)n.hasOwnProperty(i.propName)&&(i.transform=n[i.propName]);return r}get outputs(){return vP(this.componentDef.outputs)}constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function Rde(e){return e.map(Fde).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}create(t,n,r,i){let a=(i=i||this.ngModule)instanceof Cr?i:i?.injector;a&&null!==this.componentDef.getStandaloneInjector&&(a=this.componentDef.getStandaloneInjector(a)||a);const s=a?new nge(t,a):t,o=s.get(xO,null);if(null===o)throw new ie(407,!1);const f={rendererFactory:o,sanitizer:s.get(Kpe,null),effectManager:s.get(uP,null),afterRenderEventManager:s.get(__,null)},d=o.createRenderer(null,this.componentDef),h=this.componentDef.selectors[0][0]||"div",p=r?function zme(e,t,n,r){const a=r.get(PO,!1)||n===zi.ShadowDom,s=e.selectRootElement(t,a);return function Hme(e){KO(e)}(s),s}(d,r,this.componentDef.encapsulation,s):Ih(d,h,function tge(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(h)),v=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let y=null;null!==p&&(y=d_(p,s,!0));const C=S_(0,null,null,1,0,null,null,null,null,null,null),b=i9(null,C,null,v,null,null,f,d,s,null,y);let M,w;CM(b);try{const _=this.componentDef;let z,V=null;_.findHostDirectiveDefs?(z=[],V=new Map,_.findHostDirectiveDefs(_,z,V),z.push(_)):z=[_];const D=function ige(e,t){const n=e[Ce],r=ct;return e[r]=t,N0(n,r,2,"#host",null)}(b,p),L=function age(e,t,n,r,i,a,s){const o=i[Ce];!function sge(e,t,n,r){for(const i of e)t.mergedAttrs=Cf(t.mergedAttrs,i.hostAttrs);null!==t.mergedAttrs&&(s9(t,t.mergedAttrs,!0),null!==n&&XR(r,n,t))}(r,e,t,s);let c=null;null!==t&&(c=d_(t,i[Ko]));const l=a.rendererFactory.createRenderer(t,n);let u=16;n.signals?u=4096:n.onPush&&(u=64);const f=i9(i,ZO(n),null,u,i[e.index],e,a,l,null,null,c);return o.firstCreatePass&&V_(o,e,r.length-1),a9(i,f),i[e.index]=f}(D,p,_,z,b,f,d);w=kF(C,ct),p&&function cge(e,t,n,r){if(r)rM(e,n,["ng-version",Jpe.full]);else{const{attrs:i,classes:a}=function Ode(e){const t=[],n=[];let r=1,i=2;for(;r0&&YR(e,n,a.join(" "))}}(d,_,p,r),void 0!==n&&function lge(e,t,n){const r=e.projection=[];for(let i=0;i=0;r--){const i=e[r];i.hostVars=t+=i.hostVars,i.hostAttrs=Cf(i.hostAttrs,n=Cf(n,i.hostAttrs))}}(r)}function c9(e){return e===wa?{}:e===yt?[]:e}function dge(e,t){const n=e.viewQuery;e.viewQuery=n?(r,i)=>{t(r,i),n(r,i)}:t}function hge(e,t){const n=e.contentQueries;e.contentQueries=n?(r,i,a)=>{t(r,i,a),n(r,i,a)}:t}function pge(e,t){const n=e.hostBindings;e.hostBindings=n?(r,i)=>{t(r,i),n(r,i)}:t}function _P(e){const t=e.inputConfig,n={};for(const r in t)if(t.hasOwnProperty(r)){const i=t[r];Array.isArray(i)&&i[2]&&(n[r]=i[2])}e.inputTransforms=n}function l9(e){return!!k_(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function k_(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function ka(e,t,n){return e[t]=n}function F1(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function Vi(e,t,n,r){const i=ee();return F1(i,d0(),t)&&(pt(),Na(mn(),i,e,t,n,r)),Vi}function I0(e,t,n,r,i,a){const o=function n4(e,t,n,r){const i=F1(e,t,n);return F1(e,t+1,r)||i}(e,function Ps(){return je.lFrame.bindingIndex}(),n,i);return $s(2),o?t+We(n)+r+We(i)+a:Qe}function It(e,t,n,r,i,a,s,o){const c=ee(),l=pt(),u=e+ct,f=l.firstCreatePass?function Oge(e,t,n,r,i,a,s,o,c){const l=t.consts,u=N0(t,e,4,s||null,tc(l,o));E_(t,n,u,tc(l,c)),vh(t,u);const f=u.tView=S_(2,u,r,i,a,t.directiveRegistry,t.pipeRegistry,null,t.schemas,l,null);return null!==t.queries&&(t.queries.template(t,u),f.queries=t.queries.embeddedTView(u)),u}(u,l,c,t,n,r,i,a,s):l.data[u];Va(f,!1);const d=TP(l,c,f,e);gh()&&Oh(l,c,d,f),I1(d,c),a9(c,c[u]=iP(d,c,d,f)),dh(f)&&z_(l,c,f),null!=s&&H_(c,f,o)}let TP=function IP(e,t,n,r){return nc(!0),t[Ye].createComment("")};function Ws(e){return u0(function xhe(){return je.lFrame.contextLView}(),ct+e)}function de(e,t,n){const r=ee();return F1(r,d0(),t)&&br(pt(),mn(),r,e,t,r[Ye],n,!1),de}function P_(e,t,n,r,i){const s=i?"class":"style";A_(e,n,t.inputs[s],s,r)}function I(e,t,n,r){const i=ee(),a=pt(),s=ct+e,o=i[Ye],c=a.firstCreatePass?function Uge(e,t,n,r,i,a){const s=t.consts,c=N0(t,e,2,r,tc(s,i));return E_(t,n,c,tc(s,a)),null!==c.attrs&&s9(c,c.attrs,!1),null!==c.mergedAttrs&&s9(c,c.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,c),c}(s,a,i,t,n,r):a.data[s],l=FP(a,i,c,o,t,e);i[s]=l;const u=dh(c);return Va(c,!0),XR(o,l,c),32!=(32&c.flags)&&gh()&&Oh(a,i,l,c),0===function ghe(){return je.lFrame.elementDepthCount}()&&I1(l,i),function vhe(){je.lFrame.elementDepthCount++}(),u&&(z_(a,i,c),x_(a,c,i)),null!==r&&H_(i,c),I}function F(){let e=M1();pM()?mM():(e=e.parent,Va(e,!1));const t=e;(function Che(e){return je.skipHydrationRootTNode===e})(t)&&function whe(){je.skipHydrationRootTNode=null}(),function yhe(){je.lFrame.elementDepthCount--}();const n=pt();return n.firstCreatePass&&(vh(n,e),aM(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function Rhe(e){return 0!=(8&e.flags)}(t)&&P_(n,t,ee(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function Ohe(e){return 0!=(16&e.flags)}(t)&&P_(n,t,ee(),t.stylesWithoutHost,!1),F}function jn(e,t,n,r){return I(e,t,n,r),F(),jn}let FP=(e,t,n,r,i,a)=>(nc(!0),Ih(r,i,function ZF(){return je.lFrame.currentNamespace}()));function $2(e,t,n){const r=ee(),i=pt(),a=e+ct,s=i.firstCreatePass?function Gge(e,t,n,r,i){const a=t.consts,s=tc(a,r),o=N0(t,e,8,"ng-container",s);return null!==s&&s9(o,s,!0),E_(t,n,o,tc(a,i)),null!==t.queries&&t.queries.elementStart(t,o),o}(a,i,r,t,n):i.data[a];Va(s,!0);const o=OP(i,r,s,e);return r[a]=o,gh()&&Oh(i,r,o,s),I1(o,r),dh(s)&&(z_(i,r,s),x_(i,s,r)),null!=n&&H_(r,s),$2}function B2(){let e=M1();const t=pt();return pM()?mM():(e=e.parent,Va(e,!1)),t.firstCreatePass&&(vh(t,e),aM(e)&&t.queries.elementEnd(e)),B2}let OP=(e,t,n,r)=>(nc(!0),OM(t[Ye],""));function r4(){return ee()}function t8(e){return!!e&&"function"==typeof e.then}function PP(e){return!!e&&"function"==typeof e.subscribe}function Ae(e,t,n,r){const i=ee(),a=pt(),s=M1();return function BP(e,t,n,r,i,a,s){const o=dh(r),l=e.firstCreatePass&&oP(e),u=t[Dn],f=sP(t);let d=!0;if(3&r.type||s){const m=R2(r,t),g=s?s(m):m,v=f.length,y=s?b=>s(Yt(b[r.index])):r.index;let C=null;if(!s&&o&&(C=function Xge(e,t,n,r){const i=e.cleanup;if(null!=i)for(let a=0;ac?o[c]:null}"string"==typeof s&&(a+=2)}return null}(e,t,i,r.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=a,C.__ngLastListenerFn__=a,d=!1;else{a=jP(r,t,u,a,!1);const b=n.listen(g,i,a);f.push(a,b),l&&l.push(i,y,v,v+1)}}else a=jP(r,t,u,a,!1);const h=r.outputs;let p;if(d&&null!==h&&(p=h[i])){const m=p.length;if(m)for(let g=0;g-1?gr(e.index,t):t);let c=UP(t,n,r,s),l=a.__ngNextListenerFn__;for(;l;)c=UP(t,n,l,s)&&c,l=l.__ngNextListenerFn__;return i&&!1===c&&s.preventDefault(),c}}function Jt(e=1){return function Vhe(e){return(je.lFrame.contextLView=function Dhe(e,t){for(;e>0;)t=t[s0],e--;return t}(e,je.lFrame.contextLView))[Dn]}(e)}function Qge(e,t){let n=null;const r=function Nde(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(!(1&n))return t[n+1]}return null}(e);for(let i=0;i>17&32767}function B_(e){return 2|e}function i4(e){return(131068&e)>>2}function U_(e,t){return-131069&e|t<<2}function j_(e){return 1|e}function n$(e,t,n,r,i){const a=e[n+1],s=null===t;let o=r?ic(a):i4(a),c=!1;for(;0!==o&&(!1===c||s);){const u=e[o+1];nve(e[o],t)&&(c=!0,e[o+1]=r?j_(u):B_(u)),o=r?ic(u):i4(u)}c&&(e[n+1]=r?B_(a):j_(a))}function nve(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&b0(e,t)>=0}function m9(e,t){return function Di(e,t,n,r){const i=ee(),a=pt(),s=$s(2);a.firstUpdatePass&&function f$(e,t,n,r){const i=e.data;if(null===i[n+1]){const a=i[s2()],s=function u$(e,t){return t>=e.expandoStartIndex}(e,n);(function m$(e,t){return 0!=(e.flags&(t?8:16))})(a,r)&&null===t&&!s&&(t=!1),t=function fve(e,t,n,r){const i=function vM(e){const t=je.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let a=r?t.residualClasses:t.residualStyles;if(null===i)0===(r?t.classBindings:t.styleBindings)&&(n=n8(n=q_(null,e,t,n,r),t.attrs,r),a=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==i)if(n=q_(i,e,t,n,r),null===a){let c=function dve(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==i4(r))return e[ic(r)]}(e,t,r);void 0!==c&&Array.isArray(c)&&(c=q_(null,e,t,c[1],r),c=n8(c,t.attrs,r),function hve(e,t,n,r){e[ic(n?t.classBindings:t.styleBindings)]=r}(e,t,r,c))}else a=function pve(e,t,n){let r;const i=t.directiveEnd;for(let a=1+t.directiveStylingLast;a0)&&(l=!0)):u=n,i)if(0!==c){const d=ic(e[o+1]);e[r+1]=p9(d,o),0!==d&&(e[d+1]=U_(e[d+1],r)),e[o+1]=function Kge(e,t){return 131071&e|t<<17}(e[o+1],r)}else e[r+1]=p9(o,0),0!==o&&(e[o+1]=U_(e[o+1],r)),o=r;else e[r+1]=p9(c,0),0===o?o=r:e[c+1]=U_(e[c+1],r),c=r;l&&(e[r+1]=B_(e[r+1])),n$(e,u,r,!0),n$(e,u,r,!1),function tve(e,t,n,r,i){const a=i?e.residualClasses:e.residualStyles;null!=a&&"string"==typeof t&&b0(a,t)>=0&&(n[r+1]=j_(n[r+1]))}(t,u,e,r,a),s=p9(o,c),a?t.classBindings=s:t.styleBindings=s}(i,a,t,n,s,r)}}(a,e,s,r),t!==Qe&&F1(i,s,t)&&function h$(e,t,n,r,i,a,s,o){if(!(3&t.type))return;const c=e.data,l=c[o+1],u=function Jge(e){return 1==(1&e)}(l)?p$(c,t,n,i,i4(l),s):void 0;g9(u)||(g9(a)||function Zge(e){return 2==(2&e)}(l)&&(a=p$(c,null,n,i,o,s)),function Q9e(e,t,n,r,i){if(t)i?e.addClass(n,r):e.removeClass(n,r);else{let a=-1===r.indexOf("-")?void 0:rc.DashCase;null==i?e.removeStyle(n,r,a):("string"==typeof i&&i.endsWith("!important")&&(i=i.slice(0,-10),a|=rc.Important),e.setStyle(n,r,i,a))}}(r,s,mh(s2(),n),i,a))}(a,a.data[s2()],i,i[Ye],e,i[s+1]=function yve(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Bn(yr(e)))),e}(t,n),r,s)}(e,t,null,!0),m9}function q_(e,t,n,r,i){let a=null;const s=n.directiveEnd;let o=n.directiveStylingLast;for(-1===o?o=n.directiveStart:o++;o0;){const c=e[i],l=Array.isArray(c),u=l?c[1]:c,f=null===u;let d=n[i+1];d===Qe&&(d=f?yt:void 0);let h=f?VM(d,r):u===r?d:void 0;if(l&&!g9(h)&&(h=VM(c,r)),g9(h)&&(o=h,s))return o;const p=e[i+1];i=s?ic(p):i4(p)}if(null!==t){let c=a?t.residualClasses:t.residualStyles;null!=c&&(o=VM(c,r))}return o}function g9(e){return void 0!==e}function P(e,t=""){const n=ee(),r=pt(),i=e+ct,a=r.firstCreatePass?N0(r,i,1,t,null):r.data[i],s=g$(r,n,a,t,e);n[i]=s,gh()&&Oh(r,n,s,a),Va(a,!1)}let g$=(e,t,n,r,i)=>(nc(!0),function Th(e,t){return e.createText(t)}(t[Ye],r));function U2(e){return Ze("",e,""),U2}function Ze(e,t,n){const r=ee(),i=function T0(e,t,n,r){return F1(e,d0(),n)?t+We(n)+r:Qe}(r,e,t,n);return i!==Qe&&Gs(r,s2(),i),Ze}function G_(e,t,n,r,i){const a=ee(),s=I0(a,e,t,n,r,i);return s!==Qe&&Gs(a,s2(),s),G_}function W_(e,t,n){const r=ee();return F1(r,d0(),t)&&br(pt(),mn(),r,e,t,r[Ye],n,!0),W_}const a4=void 0;var Pve=["en",[["a","p"],["AM","PM"],a4],[["AM","PM"],a4,a4],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],a4,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],a4,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",a4,"{1} 'at' {0}",a4],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function Ove(e){const n=Math.floor(Math.abs(e)),r=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===r?1:5}];let j0={};function l2(e){const t=function $ve(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=T$(t);if(n)return n;const r=t.split("-")[0];if(n=T$(r),n)return n;if("en"===r)return Pve;throw new ie(701,!1)}function T$(e){return e in j0||(j0[e]=Wt.ng&&Wt.ng.common&&Wt.ng.common.locales&&Wt.ng.common.locales[e]),j0[e]}var Xt=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(Xt||{});const q0="en-US";let I$=q0;function Q_(e,t,n,r,i){if(e=qe(e),Array.isArray(e))for(let a=0;a>20;if(t4(e)||!e.multi){const h=new Vf(l,i,q),p=K_(c,t,i?u:u+d,f);-1===p?(HM(Mh(o,s),a,c),Z_(a,e,t.length),t.push(c),o.directiveStart++,o.directiveEnd++,i&&(o.providerIndexes+=1048576),n.push(h),s.push(h)):(n[p]=h,s[p]=h)}else{const h=K_(c,t,u+d,f),p=K_(c,t,u,u+d),g=p>=0&&n[p];if(i&&!g||!i&&!(h>=0&&n[h])){HM(Mh(o,s),a,c);const v=function Oye(e,t,n,r,i){const a=new Vf(e,n,q);return a.multi=[],a.index=t,a.componentProviders=0,oB(a,i,r&&!n),a}(i?Rye:Fye,n.length,i,r,l);!i&&g&&(n[p].providerFactory=v),Z_(a,e,t.length,0),t.push(c),o.directiveStart++,o.directiveEnd++,i&&(o.providerIndexes+=1048576),n.push(v),s.push(v)}else Z_(a,e,h>-1?h:p,oB(n[i?p:h],l,!i&&r));!i&&r&&g&&n[p].componentProviders++}}}function Z_(e,t,n,r){const i=t4(t),a=function Vpe(e){return!!e.useClass}(t);if(i||a){const c=(a?qe(t.useClass):t).prototype.ngOnDestroy;if(c){const l=e.destroyHooks||(e.destroyHooks=[]);if(!i&&t.multi){const u=l.indexOf(n);-1===u?l.push(n,[r,c]):l[u+1].push(r,c)}else l.push(n,c)}}}function oB(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function K_(e,t,n,r){for(let i=n;i{n.providersResolver=(r,i)=>function Iye(e,t,n){const r=pt();if(r.firstCreatePass){const i=Ei(e);Q_(n,r.data,r.blueprint,i,!0),Q_(t,r.data,r.blueprint,i,!1)}}(r,i?i(e):e,t)}}class s4{}class cB{}class ew extends s4{constructor(t,n,r){super(),this._parent=n,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new gP(this);const i=mr(t);this._bootstrapComponents=qs(i.bootstrap),this._r3Injector=VO(t,n,[{provide:s4,useValue:this},{provide:t9,useValue:this.componentFactoryResolver},...r],Bn(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class tw extends cB{constructor(t){super(),this.moduleType=t}create(t){return new ew(this.moduleType,t,[])}}class lB extends s4{constructor(t){super(),this.componentFactoryResolver=new gP(this),this.instance=null;const n=new H0([...t.providers,{provide:s4,useValue:this},{provide:t9,useValue:this.componentFactoryResolver}],t.parent||Yh(),t.debugName,new Set(["environment"]));this.injector=n,t.runEnvironmentInitializers&&n.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function nw(e,t,n=null){return new lB({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}let Bye=(()=>{class e{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=dO(0,n.type),i=r.length>0?nw([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,i)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=we({token:e,providedIn:"environment",factory:()=>new e(xe(Cr))})}return e})();function uB(e){e.getStandaloneInjector=t=>t.get(Bye).getOrCreateStandaloneInjector(e)}function Ys(e,t,n){const r=a2()+e,i=ee();return i[r]===Qe?ka(i,r,n?t.call(n):t()):function Zf(e,t){return e[t]}(i,r)}function M9(e,t,n,r){return vB(ee(),a2(),e,t,n,r)}function vB(e,t,n,r,i,a){const s=t+n;return F1(e,s,i)?ka(e,s+1,a?r.call(a,i):r(i)):function c8(e,t){const n=e[t];return n===Qe?void 0:n}(e,s+1)}function Fa(e,t){const n=pt();let r;const i=e+ct;n.firstCreatePass?(r=function aCe(e,t){if(t)for(let n=t.length-1;n>=0;n--){const r=t[n];if(e===r.name)return r}}(t,n.pipeRegistry),n.data[i]=r,r.onDestroy&&(n.destroyHooks??=[]).push(i,r.onDestroy)):r=n.data[i];const a=r.factory||(r.factory=Q3(r.type)),o=T2(q);try{const c=bh(!1),l=a();return bh(c),function Bge(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}(n,ee(),i,l),l}finally{T2(o)}}function Ra(e,t,n){const r=e+ct,i=ee(),a=u0(i,r);return function l8(e,t){return e[Ce].data[t].pure}(i,r)?vB(i,a2(),t,a.transform,n,a):a.transform(n)}function uCe(){return this._results[Symbol.iterator]()}class iw{static#e=Symbol.iterator;get changes(){return this._changes||(this._changes=new bn)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const n=iw.prototype;n[Symbol.iterator]||(n[Symbol.iterator]=uCe)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){const r=this;r.dirty=!1;const i=function Xr(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function Jhe(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r0&&(n[i-1][Si]=t),r{class e{static#e=this.__NG_ELEMENT_ID__=mCe}return e})();const hCe=Xs,pCe=class extends hCe{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,n){return this.createEmbeddedViewImpl(t,n)}createEmbeddedViewImpl(t,n,r){const i=function fCe(e,t,n,r){const i=t.tView,o=i9(e,i,n,4096&e[Ke]?4096:16,null,t,null,null,null,r?.injector??null,r?.hydrationInfo??null);o[_f]=e[t.index];const l=e[xa];return null!==l&&(o[xa]=l.createEmbeddedView(i)),N_(i,o,n),o}(this._declarationLView,this._declarationTContainer,t,{injector:n,hydrationInfo:r});return new Xf(i)}};function mCe(){return _9(M1(),ee())}function _9(e,t){return 4&e.type?new pCe(t,e,D0(e,t)):null}let Ai=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=MCe}return e})();function MCe(){return EB(M1(),ee())}const _Ce=Ai,HB=class extends _Ce{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return D0(this._hostTNode,this._hostLView)}get injector(){return new o2(this._hostTNode,this._hostLView)}get parentInjector(){const t=_h(this._hostTNode,this._hostLView);if(wM(t)){const n=Lf(t,this._hostLView),r=Df(t);return new o2(n[Ce].data[r+8],n)}return new o2(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=SB(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-C1}createEmbeddedView(t,n,r){let i,a;"number"==typeof r?i=r:null!=r&&(i=r.index,a=r.injector);const o=t.createEmbeddedViewImpl(n||{},a,null);return this.insertImpl(o,i,false),o}createComponent(t,n,r,i,a){const s=t&&!function Nf(e){return"function"==typeof e}(t);let o;if(s)o=n;else{const m=n||{};o=m.index,r=m.injector,i=m.projectableNodes,a=m.environmentInjector||m.ngModuleRef}const c=s?t:new Qf(ht(t)),l=r||this.parentInjector;if(!a&&null==c.ngModule){const g=(s?l:this.parentInjector).get(Cr,null);g&&(a=g)}ht(c.componentType??{});const h=c.create(l,i,null,a);return this.insertImpl(h.hostView,o,false),h}insert(t,n){return this.insertImpl(t,n,!1)}insertImpl(t,n,r){const i=t._lView;if(function hhe(e){return n2(e[cn])}(i)){const c=this.indexOf(t);if(-1!==c)this.detach(c);else{const l=i[cn],u=new HB(l,l[T1],l[cn]);u.detach(u.indexOf(t))}}const s=this._adjustIndex(n),o=this._lContainer;return dCe(o,i,s,!r),t.attachToViewContainerRef(),dR(aw(o),s,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=SB(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),r=Fh(this._lContainer,n);r&&(zh(aw(this._lContainer),n),PM(r[Ce],r))}detach(t){const n=this._adjustIndex(t,-1),r=Fh(this._lContainer,n);return r&&null!=zh(aw(this._lContainer),n)?new Xf(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function SB(e){return e[8]}function aw(e){return e[8]||(e[8]=[])}function EB(e,t){let n;const r=t[e.index];return n2(r)?n=r:(n=iP(r,t,null,e),t[e.index]=n,a9(t,n)),VB(n,t,e,r),new HB(n,e,t)}let VB=function DB(e,t,n,r){if(e[za])return;let i;i=8&n.type?Yt(r):function wCe(e,t){const n=e[Ye],r=n.createComment(""),i=R2(t,e);return J3(n,Rh(n,i),r,function W9e(e,t){return e.nextSibling(t)}(n,i),!1),r}(t,n),e[za]=i};class sw{constructor(t){this.queryList=t,this.matches=null}clone(){return new sw(this.queryList)}setDirty(){this.queryList.setDirty()}}class ow{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const r=null!==t.contentQueries?t.contentQueries[0]:n.length,i=[];for(let a=0;a0)r.push(s[o/2]);else{const l=a[o+1],u=t[-c];for(let f=C1;f{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=Me(z9,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const i of this.appInits){const a=i();if(t8(a))n.push(a);else if(PP(a)){const s=new Promise((o,c)=>{a.subscribe({complete:o,error:c})});n.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(i=>{this.reject(i)}),0===n.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),tU=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const Qs=new be("LocaleId",{providedIn:"root",factory:()=>Me(Qs,ot.Optional|ot.SkipSelf)||function JCe(){return typeof $localize<"u"&&$localize.locale||q0}()});let H9=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new N2(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class nbe{constructor(t,n){this.ngModuleFactory=t,this.componentFactories=n}}let nU=(()=>{class e{compileModuleSync(n){return new tw(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const r=this.compileModuleSync(n),a=qs(mr(n).declarations).reduce((s,o)=>{const c=ht(o);return c&&s.push(new Qf(c)),s},[]);return new nbe(r,a)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const sU=new be(""),E9=new be("");let Mw,Cw=(()=>{class e{constructor(n,r,i){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Mw||(function xbe(e){Mw=e}(i),i.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ut.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,i){let a=-1;r&&r>0&&(a=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==a),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:a,updateCb:i})}whenStable(n,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,i){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Ut),xe(bw),xe(E9))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})(),bw=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Mw?.findTestabilityInTree(this,n,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})(),ac=null;const oU=new be("AllowMultipleToken"),_w=new be("PlatformDestroyListeners"),ww=new be("appBootstrapListener");class lU{constructor(t,n){this.name=t,this.token=n}}function fU(e,t,n=[]){const r=`Platform: ${t}`,i=new be(r);return(a=[])=>{let s=xw();if(!s||s.injector.get(oU,!1)){const o=[...n,...a,{provide:i,useValue:!0}];e?e(o):function Sbe(e){if(ac&&!ac.get(oU,!1))throw new ie(400,!1);(function cU(){!function Kde(e){xF=e}(()=>{throw new ie(600,!1)})})(),ac=e;const t=e.get(hU);(function uU(e){e.get(vO,null)?.forEach(n=>n())})(e)}(function dU(e=[],t){return c2.create({name:t,providers:[{provide:t_,useValue:"platform"},{provide:_w,useValue:new Set([()=>ac=null])},...e]})}(o,r))}return function Vbe(e){const t=xw();if(!t)throw new ie(401,!1);return t}()}}function xw(){return ac?.get(hU)??null}let hU=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const i=function Dbe(e="zone.js",t){return"noop"===e?new fme:"zone.js"===e?new Ut(t):e}(r?.ngZone,function pU(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return i.run(()=>{const a=function $ye(e,t,n){return new ew(e,t,n)}(n.moduleType,this.injector,function CU(e){return[{provide:Ut,useFactory:e},{provide:Bf,multi:!0,useFactory:()=>{const t=Me(Abe,{optional:!0});return()=>t.initialize()}},{provide:yU,useFactory:Lbe},{provide:kO,useFactory:TO}]}(()=>i)),s=a.injector.get(js,null);return i.runOutsideAngular(()=>{const o=i.onError.subscribe({next:c=>{s.handleError(c)}});a.onDestroy(()=>{V9(this._modules,a),o.unsubscribe()})}),function mU(e,t,n){try{const r=n();return t8(r)?r.catch(i=>{throw t.runOutsideAngular(()=>e.handleError(i)),i}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(s,i,()=>{const o=a.injector.get(gw);return o.runInitializers(),o.donePromise.then(()=>(function F$(e){Wr(e,"Expected localeId to be defined"),"string"==typeof e&&(I$=e.toLowerCase().replace(/_/g,"-"))}(a.injector.get(Qs,q0)||q0),this._moduleDoBootstrap(a),a))})})}bootstrapModule(n,r=[]){const i=gU({},r);return function zbe(e,t,n){const r=new tw(n);return Promise.resolve(r)}(0,0,n).then(a=>this.bootstrapModuleFactory(a,i))}_moduleDoBootstrap(n){const r=n.injector.get(o4);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(i=>r.bootstrap(i));else{if(!n.instance.ngDoBootstrap)throw new ie(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new ie(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(_w,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static#e=this.\u0275fac=function(r){return new(r||e)(xe(c2))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function gU(e,t){return Array.isArray(t)?t.reduce(gU,e):{...e,...t}}let o4=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=Me(yU),this.zoneIsStable=Me(kO),this.componentTypes=[],this.components=[],this.isStable=Me(H9).hasPendingTasks.pipe(e2(n=>n?ve(!1):this.zoneIsStable),function lde(e,t=Xo){return e=e??ude,En((n,r)=>{let i,a=!0;n.subscribe(Vn(r,s=>{const o=t(s);(a||!e(i,o))&&(a=!1,i=o,r.next(s))}))})}(),BI()),this._injector=Me(Cr)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const i=n instanceof _O;if(!this._injector.get(gw).done)throw!i&&function n0(e){const t=ht(e)||y1(e)||t2(e);return null!==t&&t.standalone}(n),new ie(405,!1);let s;s=i?n:this._injector.get(t9).resolveComponentFactory(n),this.componentTypes.push(s.componentType);const o=function Hbe(e){return e.isBoundToModule}(s)?void 0:this._injector.get(s4),l=s.create(c2.NULL,[],r||s.selector,o),u=l.location.nativeElement,f=l.injector.get(sU,null);return f?.registerApplication(u),l.onDestroy(()=>{this.detachView(l.hostView),V9(this.components,l),f?.unregisterApplication(u)}),this._loadComponent(l),l}tick(){if(this._runningTick)throw new ie(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;V9(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(ww,[]);r.push(...this._bootstrapListeners),r.forEach(i=>i(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>V9(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new ie(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function V9(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}const yU=new be("",{providedIn:"root",factory:()=>Me(js).handleError.bind(void 0)});function Lbe(){const e=Me(Ut),t=Me(js);return n=>e.runOutsideAngular(()=>t.handleError(n))}let Abe=(()=>{class e{constructor(){this.zone=Me(Ut),this.applicationRef=Me(o4)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();let D9=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=Tbe}return e})();function Tbe(e){return function Ibe(e,t,n){if(X3(e)&&!n){const r=gr(e.index,t);return new Xf(r,r)}return 47&e.type?new Xf(t[Ln],t):null}(M1(),ee(),16==(16&e))}class wU{constructor(){}supports(t){return l9(t)}create(t){return new Bbe(t)}}const $be=(e,t)=>t;class Bbe{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||$be}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,i=0,a=null;for(;n||r;){const s=!r||n&&n.currentIndex{s=this._trackByFn(i,o),null!==n&&Object.is(n.trackById,s)?(r&&(n=this._verifyReinsertion(n,o,s,i)),Object.is(n.item,o)||this._addIdentityChange(n,o)):(n=this._mismatch(n,o,s,i),r=!0),n=n._next,i++}),this.length=i;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,i){let a;return null===t?a=this._itTail:(a=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,a,i)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,i))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,a,i)):t=this._addAfter(new Ube(n,r),a,i),t}_verifyReinsertion(t,n,r,i){let a=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==a?t=this._reinsertAfter(a,t._prev,i):t.currentIndex!=i&&(t.currentIndex=i,this._addToMoves(t,i)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const i=t._prevRemoved,a=t._nextRemoved;return null===i?this._removalsHead=a:i._nextRemoved=a,null===a?this._removalsTail=i:a._prevRemoved=i,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const i=null===n?this._itHead:n._next;return t._next=i,t._prev=n,null===i?this._itTail=t:i._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new xU),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new xU),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class Ube{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class jbe{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class xU{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new jbe,this.map.set(n,r)),r.add(t)}get(t,n){const i=this.map.get(t);return i?i.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function zU(e,t,n){const r=e.previousIndex;if(null===r)return r;let i=0;return n&&r{if(n&&n.key===i)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const a=this._getOrCreateRecordForKey(i,r);n=this._insertBeforeOrAppend(n,a)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const i=this._records.get(t);this._maybeAddToChanges(i,n);const a=i._prev,s=i._next;return a&&(a._next=s),s&&(s._prev=a),i._next=null,i._prev=null,i}const r=new Gbe(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class Gbe{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function SU(){return new N9([new wU])}let N9=(()=>{class e{static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:SU});constructor(n){this.factories=n}static create(n,r){if(null!=r){const i=r.factories.slice();n=n.concat(i)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||SU()),deps:[[e,new Eh,new Sh]]}}find(n){const r=this.factories.find(i=>i.supports(n));if(null!=r)return r;throw new ie(901,!1)}}return e})();function EU(){return new h8([new HU])}let h8=(()=>{class e{static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:EU});constructor(n){this.factories=n}static create(n,r){if(r){const i=r.factories.slice();n=n.concat(i)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||EU()),deps:[[e,new Eh,new Sh]]}}find(n){const r=this.factories.find(i=>i.supports(n));if(r)return r;throw new ie(901,!1)}}return e})();const Xbe=fU(null,"core",[]);let Qbe=(()=>{class e{constructor(n){}static#e=this.\u0275fac=function(r){return new(r||e)(xe(o4))};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({})}return e})();function Y0(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}let Dw=null;function sc(){return Dw}class uMe{}const f2=new be("DocumentToken");let Lw=(()=>{class e{historyGo(n){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return Me(dMe)},providedIn:"platform"})}return e})();const fMe=new be("Location Initialized");let dMe=(()=>{class e extends Lw{constructor(){super(),this._doc=Me(f2),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return sc().getBaseHref(this._doc)}onPopState(n){const r=sc().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",n,!1),()=>r.removeEventListener("popstate",n)}onHashChange(n){const r=sc().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",n,!1),()=>r.removeEventListener("hashchange",n)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(n){this._location.pathname=n}pushState(n,r,i){this._history.pushState(n,r,i)}replaceState(n,r,i){this._history.replaceState(n,r,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return new e},providedIn:"platform"})}return e})();function Aw(e,t){if(0==e.length)return t;if(0==t.length)return e;let n=0;return e.endsWith("/")&&n++,t.startsWith("/")&&n++,2==n?e+t.substring(1):1==n?e+t:e+"/"+t}function FU(e){const t=e.match(/#|\?|$/),n=t&&t.index||e.length;return e.slice(0,n-("/"===e[n-1]?1:0))+e.slice(n)}function Zs(e){return e&&"?"!==e[0]?"?"+e:e}let l4=(()=>{class e{historyGo(n){throw new Error("Not implemented")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return Me(OU)},providedIn:"root"})}return e})();const RU=new be("appBaseHref");let OU=(()=>{class e extends l4{constructor(n,r){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??Me(f2).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return Aw(this._baseHref,n)}path(n=!1){const r=this._platformLocation.pathname+Zs(this._platformLocation.search),i=this._platformLocation.hash;return i&&n?`${r}${i}`:r}pushState(n,r,i,a){const s=this.prepareExternalUrl(i+Zs(a));this._platformLocation.pushState(n,r,s)}replaceState(n,r,i,a){const s=this.prepareExternalUrl(i+Zs(a));this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Lw),xe(RU,8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),hMe=(()=>{class e extends l4{constructor(n,r){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let r=this._platformLocation.hash;return null==r&&(r="#"),r.length>0?r.substring(1):r}prepareExternalUrl(n){const r=Aw(this._baseHref,n);return r.length>0?"#"+r:r}pushState(n,r,i,a){let s=this.prepareExternalUrl(i+Zs(a));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(n,r,s)}replaceState(n,r,i,a){let s=this.prepareExternalUrl(i+Zs(a));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(n,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Lw),xe(RU,8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})(),Nw=(()=>{class e{constructor(n){this._subject=new bn,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const r=this._locationStrategy.getBaseHref();this._basePath=function gMe(e){if(new RegExp("^(https?:)?//").test(e)){const[,n]=e.split(/\/\/[^\/]+/);return n}return e}(FU(PU(r))),this._locationStrategy.onPopState(i=>{this._subject.emit({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,r=""){return this.path()==this.normalize(n+Zs(r))}normalize(n){return e.stripTrailingSlash(function mMe(e,t){if(!e||!t.startsWith(e))return t;const n=t.substring(e.length);return""===n||["/",";","?","#"].includes(n[0])?n:t}(this._basePath,PU(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,r="",i=null){this._locationStrategy.pushState(i,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Zs(r)),i)}replaceState(n,r="",i=null){this._locationStrategy.replaceState(i,"",n,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+Zs(r)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)})),()=>{const r=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",r){this._urlChangeListeners.forEach(i=>i(n,r))}subscribe(n,r,i){return this._subject.subscribe({next:n,error:r,complete:i})}static#e=this.normalizeQueryParams=Zs;static#t=this.joinWithSlash=Aw;static#n=this.stripTrailingSlash=FU;static#r=this.\u0275fac=function(r){return new(r||e)(xe(l4))};static#i=this.\u0275prov=we({token:e,factory:function(){return function pMe(){return new Nw(xe(l4))}()},providedIn:"root"})}return e})();function PU(e){return e.replace(/\/index.html$/,"")}var d2=function(e){return e[e.Format=0]="Format",e[e.Standalone=1]="Standalone",e}(d2||{}),jt=function(e){return e[e.Narrow=0]="Narrow",e[e.Abbreviated=1]="Abbreviated",e[e.Wide=2]="Wide",e[e.Short=3]="Short",e}(jt||{}),Mr=function(e){return e[e.Short=0]="Short",e[e.Medium=1]="Medium",e[e.Long=2]="Long",e[e.Full=3]="Full",e}(Mr||{}),An=function(e){return e[e.Decimal=0]="Decimal",e[e.Group=1]="Group",e[e.List=2]="List",e[e.PercentSign=3]="PercentSign",e[e.PlusSign=4]="PlusSign",e[e.MinusSign=5]="MinusSign",e[e.Exponential=6]="Exponential",e[e.SuperscriptingExponent=7]="SuperscriptingExponent",e[e.PerMille=8]="PerMille",e[e.Infinity=9]="Infinity",e[e.NaN=10]="NaN",e[e.TimeSeparator=11]="TimeSeparator",e[e.CurrencyDecimal=12]="CurrencyDecimal",e[e.CurrencyGroup=13]="CurrencyGroup",e}(An||{});function I9(e,t){return Jr(l2(e)[Xt.DateFormat],t)}function F9(e,t){return Jr(l2(e)[Xt.TimeFormat],t)}function R9(e,t){return Jr(l2(e)[Xt.DateTimeFormat],t)}function Kr(e,t){const n=l2(e),r=n[Xt.NumberSymbols][t];if(typeof r>"u"){if(t===An.CurrencyDecimal)return n[Xt.NumberSymbols][An.Decimal];if(t===An.CurrencyGroup)return n[Xt.NumberSymbols][An.Group]}return r}function BU(e){if(!e[Xt.ExtraData])throw new Error(`Missing extra locale data for the locale "${e[Xt.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Jr(e,t){for(let n=t;n>-1;n--)if(typeof e[n]<"u")return e[n];throw new Error("Locale data API: locale data undefined")}function Tw(e){const[t,n]=e.split(":");return{hours:+t,minutes:+n}}const DMe=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,p8={},LMe=/((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;var Ks=function(e){return e[e.Short=0]="Short",e[e.ShortGMT=1]="ShortGMT",e[e.Long=2]="Long",e[e.Extended=3]="Extended",e}(Ks||{}),wt=function(e){return e[e.FullYear=0]="FullYear",e[e.Month=1]="Month",e[e.Date=2]="Date",e[e.Hours=3]="Hours",e[e.Minutes=4]="Minutes",e[e.Seconds=5]="Seconds",e[e.FractionalSeconds=6]="FractionalSeconds",e[e.Day=7]="Day",e}(wt||{}),xt=function(e){return e[e.DayPeriods=0]="DayPeriods",e[e.Days=1]="Days",e[e.Months=2]="Months",e[e.Eras=3]="Eras",e}(xt||{});function AMe(e,t,n,r){let i=function $Me(e){if(qU(e))return e;if("number"==typeof e&&!isNaN(e))return new Date(e);if("string"==typeof e){if(e=e.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(e)){const[i,a=1,s=1]=e.split("-").map(o=>+o);return O9(i,a-1,s)}const n=parseFloat(e);if(!isNaN(e-n))return new Date(n);let r;if(r=e.match(DMe))return function BMe(e){const t=new Date(0);let n=0,r=0;const i=e[8]?t.setUTCFullYear:t.setFullYear,a=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11])),i.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));const s=Number(e[4]||0)-n,o=Number(e[5]||0)-r,c=Number(e[6]||0),l=Math.floor(1e3*parseFloat("0."+(e[7]||0)));return a.call(t,s,o,c,l),t}(r)}const t=new Date(e);if(!qU(t))throw new Error(`Unable to convert "${e}" into a date`);return t}(e);t=Js(n,t)||t;let o,s=[];for(;t;){if(o=LMe.exec(t),!o){s.push(t);break}{s=s.concat(o.slice(1));const u=s.pop();if(!u)break;t=u}}let c=i.getTimezoneOffset();r&&(c=jU(r,c),i=function PMe(e,t,n){const r=n?-1:1,i=e.getTimezoneOffset();return function OMe(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}(e,r*(jU(t,i)-i))}(i,r,!0));let l="";return s.forEach(u=>{const f=function RMe(e){if(Fw[e])return Fw[e];let t;switch(e){case"G":case"GG":case"GGG":t=Qt(xt.Eras,jt.Abbreviated);break;case"GGGG":t=Qt(xt.Eras,jt.Wide);break;case"GGGGG":t=Qt(xt.Eras,jt.Narrow);break;case"y":t=Fn(wt.FullYear,1,0,!1,!0);break;case"yy":t=Fn(wt.FullYear,2,0,!0,!0);break;case"yyy":t=Fn(wt.FullYear,3,0,!1,!0);break;case"yyyy":t=Fn(wt.FullYear,4,0,!1,!0);break;case"Y":t=U9(1);break;case"YY":t=U9(2,!0);break;case"YYY":t=U9(3);break;case"YYYY":t=U9(4);break;case"M":case"L":t=Fn(wt.Month,1,1);break;case"MM":case"LL":t=Fn(wt.Month,2,1);break;case"MMM":t=Qt(xt.Months,jt.Abbreviated);break;case"MMMM":t=Qt(xt.Months,jt.Wide);break;case"MMMMM":t=Qt(xt.Months,jt.Narrow);break;case"LLL":t=Qt(xt.Months,jt.Abbreviated,d2.Standalone);break;case"LLLL":t=Qt(xt.Months,jt.Wide,d2.Standalone);break;case"LLLLL":t=Qt(xt.Months,jt.Narrow,d2.Standalone);break;case"w":t=Iw(1);break;case"ww":t=Iw(2);break;case"W":t=Iw(1,!0);break;case"d":t=Fn(wt.Date,1);break;case"dd":t=Fn(wt.Date,2);break;case"c":case"cc":t=Fn(wt.Day,1);break;case"ccc":t=Qt(xt.Days,jt.Abbreviated,d2.Standalone);break;case"cccc":t=Qt(xt.Days,jt.Wide,d2.Standalone);break;case"ccccc":t=Qt(xt.Days,jt.Narrow,d2.Standalone);break;case"cccccc":t=Qt(xt.Days,jt.Short,d2.Standalone);break;case"E":case"EE":case"EEE":t=Qt(xt.Days,jt.Abbreviated);break;case"EEEE":t=Qt(xt.Days,jt.Wide);break;case"EEEEE":t=Qt(xt.Days,jt.Narrow);break;case"EEEEEE":t=Qt(xt.Days,jt.Short);break;case"a":case"aa":case"aaa":t=Qt(xt.DayPeriods,jt.Abbreviated);break;case"aaaa":t=Qt(xt.DayPeriods,jt.Wide);break;case"aaaaa":t=Qt(xt.DayPeriods,jt.Narrow);break;case"b":case"bb":case"bbb":t=Qt(xt.DayPeriods,jt.Abbreviated,d2.Standalone,!0);break;case"bbbb":t=Qt(xt.DayPeriods,jt.Wide,d2.Standalone,!0);break;case"bbbbb":t=Qt(xt.DayPeriods,jt.Narrow,d2.Standalone,!0);break;case"B":case"BB":case"BBB":t=Qt(xt.DayPeriods,jt.Abbreviated,d2.Format,!0);break;case"BBBB":t=Qt(xt.DayPeriods,jt.Wide,d2.Format,!0);break;case"BBBBB":t=Qt(xt.DayPeriods,jt.Narrow,d2.Format,!0);break;case"h":t=Fn(wt.Hours,1,-12);break;case"hh":t=Fn(wt.Hours,2,-12);break;case"H":t=Fn(wt.Hours,1);break;case"HH":t=Fn(wt.Hours,2);break;case"m":t=Fn(wt.Minutes,1);break;case"mm":t=Fn(wt.Minutes,2);break;case"s":t=Fn(wt.Seconds,1);break;case"ss":t=Fn(wt.Seconds,2);break;case"S":t=Fn(wt.FractionalSeconds,1);break;case"SS":t=Fn(wt.FractionalSeconds,2);break;case"SSS":t=Fn(wt.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":t=$9(Ks.Short);break;case"ZZZZZ":t=$9(Ks.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":t=$9(Ks.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":t=$9(Ks.Long);break;default:return null}return Fw[e]=t,t}(u);l+=f?f(i,n,c):"''"===u?"'":u.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}function O9(e,t,n){const r=new Date(0);return r.setFullYear(e,t,n),r.setHours(0,0,0),r}function Js(e,t){const n=function yMe(e){return l2(e)[Xt.LocaleId]}(e);if(p8[n]=p8[n]||{},p8[n][t])return p8[n][t];let r="";switch(t){case"shortDate":r=I9(e,Mr.Short);break;case"mediumDate":r=I9(e,Mr.Medium);break;case"longDate":r=I9(e,Mr.Long);break;case"fullDate":r=I9(e,Mr.Full);break;case"shortTime":r=F9(e,Mr.Short);break;case"mediumTime":r=F9(e,Mr.Medium);break;case"longTime":r=F9(e,Mr.Long);break;case"fullTime":r=F9(e,Mr.Full);break;case"short":const i=Js(e,"shortTime"),a=Js(e,"shortDate");r=P9(R9(e,Mr.Short),[i,a]);break;case"medium":const s=Js(e,"mediumTime"),o=Js(e,"mediumDate");r=P9(R9(e,Mr.Medium),[s,o]);break;case"long":const c=Js(e,"longTime"),l=Js(e,"longDate");r=P9(R9(e,Mr.Long),[c,l]);break;case"full":const u=Js(e,"fullTime"),f=Js(e,"fullDate");r=P9(R9(e,Mr.Full),[u,f])}return r&&(p8[n][t]=r),r}function P9(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(n,r){return null!=t&&r in t?t[r]:n})),e}function Ni(e,t,n="-",r,i){let a="";(e<0||i&&e<=0)&&(i?e=1-e:(e=-e,a=n));let s=String(e);for(;s.length0||o>-n)&&(o+=n),e===wt.Hours)0===o&&-12===n&&(o=12);else if(e===wt.FractionalSeconds)return function NMe(e,t){return Ni(e,3).substring(0,t)}(o,t);const c=Kr(s,An.MinusSign);return Ni(o,t,c,r,i)}}function Qt(e,t,n=d2.Format,r=!1){return function(i,a){return function TMe(e,t,n,r,i,a){switch(n){case xt.Months:return function MMe(e,t,n){const r=l2(e),a=Jr([r[Xt.MonthsFormat],r[Xt.MonthsStandalone]],t);return Jr(a,n)}(t,i,r)[e.getMonth()];case xt.Days:return function bMe(e,t,n){const r=l2(e),a=Jr([r[Xt.DaysFormat],r[Xt.DaysStandalone]],t);return Jr(a,n)}(t,i,r)[e.getDay()];case xt.DayPeriods:const s=e.getHours(),o=e.getMinutes();if(a){const l=function zMe(e){const t=l2(e);return BU(t),(t[Xt.ExtraData][2]||[]).map(r=>"string"==typeof r?Tw(r):[Tw(r[0]),Tw(r[1])])}(t),u=function HMe(e,t,n){const r=l2(e);BU(r);const a=Jr([r[Xt.ExtraData][0],r[Xt.ExtraData][1]],t)||[];return Jr(a,n)||[]}(t,i,r),f=l.findIndex(d=>{if(Array.isArray(d)){const[h,p]=d,m=s>=h.hours&&o>=h.minutes,g=s0?Math.floor(i/60):Math.ceil(i/60);switch(e){case Ks.Short:return(i>=0?"+":"")+Ni(s,2,a)+Ni(Math.abs(i%60),2,a);case Ks.ShortGMT:return"GMT"+(i>=0?"+":"")+Ni(s,1,a);case Ks.Long:return"GMT"+(i>=0?"+":"")+Ni(s,2,a)+":"+Ni(Math.abs(i%60),2,a);case Ks.Extended:return 0===r?"Z":(i>=0?"+":"")+Ni(s,2,a)+":"+Ni(Math.abs(i%60),2,a);default:throw new Error(`Unknown zone width "${e}"`)}}}const IMe=0,B9=4;function UU(e){return O9(e.getFullYear(),e.getMonth(),e.getDate()+(B9-e.getDay()))}function Iw(e,t=!1){return function(n,r){let i;if(t){const a=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,s=n.getDate();i=1+Math.floor((s+a)/7)}else{const a=UU(n),s=function FMe(e){const t=O9(e,IMe,1).getDay();return O9(e,0,1+(t<=B9?B9:B9+7)-t)}(a.getFullYear()),o=a.getTime()-s.getTime();i=1+Math.round(o/6048e5)}return Ni(i,e,Kr(r,An.MinusSign))}}function U9(e,t=!1){return function(n,r){return Ni(UU(n).getFullYear(),e,Kr(r,An.MinusSign),t)}}const Fw={};function jU(e,t){e=e.replace(/:/g,"");const n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function qU(e){return e instanceof Date&&!isNaN(e.valueOf())}function XU(e,t){t=encodeURIComponent(t);for(const n of e.split(";")){const r=n.indexOf("="),[i,a]=-1==r?[n,""]:[n.slice(0,r),n.slice(r+1)];if(i.trim()===t)return decodeURIComponent(a)}return null}const Uw=/\s+/,QU=[];let ZU=(()=>{class e{constructor(n,r,i,a){this._iterableDiffers=n,this._keyValueDiffers=r,this._ngEl=i,this._renderer=a,this.initialClasses=QU,this.stateMap=new Map}set klass(n){this.initialClasses=null!=n?n.trim().split(Uw):QU}set ngClass(n){this.rawClass="string"==typeof n?n.trim().split(Uw):n}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(const r of n)this._updateState(r,!0);else if(null!=n)for(const r of Object.keys(n))this._updateState(r,!!n[r]);this._applyStateDiff()}_updateState(n,r){const i=this.stateMap.get(n);void 0!==i?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(n,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const n of this.stateMap){const r=n[0],i=n[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(n,r){(n=n.trim()).length>0&&n.split(Uw).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static#e=this.\u0275fac=function(r){return new(r||e)(q(N9),q(h8),q(P2),q(Aa))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class t_e{constructor(t,n,r,i){this.$implicit=t,this.ngForOf=n,this.index=r,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let eo=(()=>{class e{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,i){this._viewContainer=n,this._template=r,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((i,a,s)=>{if(null==i.previousIndex)r.createEmbeddedView(this._template,new t_e(i.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===a?void 0:a);else if(null!==a){const o=r.get(a);r.move(o,s),JU(o,i)}});for(let i=0,a=r.length;i{JU(r.get(i.currentIndex),i)})}static ngTemplateContextGuard(n,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ai),q(Xs),q(N9))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function JU(e,t){e.context.$implicit=t.item}let g8=(()=>{class e{constructor(n,r){this._viewContainer=n,this._context=new n_e,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){ej("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){ej("ngIfElse",n),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(n,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ai),q(Xs))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class n_e{constructor(){this.$implicit=null,this.ngIf=null}}function ej(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Bn(t)}'.`)}function ki(e,t){return new ie(2100,!1)}class a_e{createSubscription(t,n){return SF(()=>t.subscribe({next:n,error:r=>{throw r}}))}dispose(t){SF(()=>t.unsubscribe())}}class s_e{createSubscription(t,n){return t.then(n,r=>{throw r})}dispose(t){}}const o_e=new s_e,c_e=new a_e;let Gw=(()=>{class e{constructor(n){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=n}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(n){return this._obj?n!==this._obj?(this._dispose(),this.transform(n)):this._latestValue:(n&&this._subscribe(n),this._latestValue)}_subscribe(n){this._obj=n,this._strategy=this._selectStrategy(n),this._subscription=this._strategy.createSubscription(n,r=>this._updateLatestValue(n,r))}_selectStrategy(n){if(t8(n))return o_e;if(PP(n))return c_e;throw ki()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(n,r){n===this._obj&&(this._latestValue=r,this._ref.markForCheck())}static#e=this.\u0275fac=function(r){return new(r||e)(q(D9,16))};static#t=this.\u0275pipe=I2({name:"async",type:e,pure:!1,standalone:!0})}return e})();const p_e=new be("DATE_PIPE_DEFAULT_TIMEZONE"),m_e=new be("DATE_PIPE_DEFAULT_OPTIONS");let u4=(()=>{class e{constructor(n,r,i){this.locale=n,this.defaultTimezone=r,this.defaultOptions=i}transform(n,r,i,a){if(null==n||""===n||n!=n)return null;try{return AMe(n,r??this.defaultOptions?.dateFormat??"mediumDate",a||this.locale,i??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(s){throw ki()}}static#e=this.\u0275fac=function(r){return new(r||e)(q(Qs,16),q(p_e,24),q(m_e,24))};static#t=this.\u0275pipe=I2({name:"date",type:e,pure:!0,standalone:!0})}return e})(),rj=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({})}return e})();const ij="browser";function aj(e){return e===ij}function sj(e){return"server"===e}let E_e=(()=>{class e{static#e=this.\u0275prov=we({token:e,providedIn:"root",factory:()=>new V_e(xe(f2),window)})}return e})();class V_e{constructor(t,n){this.document=t,this.window=n,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const n=function D_e(e,t){const n=e.getElementById(t)||e.getElementsByName(t)[0];if(n)return n;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let i=r.currentNode;for(;i;){const a=i.shadowRoot;if(a){const s=a.getElementById(t)||a.querySelector(`[name="${t}"]`);if(s)return s}i=r.nextNode()}}return null}(this.document,t);n&&(this.scrollToElement(n),n.focus())}setHistoryScrollRestoration(t){this.supportsScrolling()&&(this.window.history.scrollRestoration=t)}scrollToElement(t){const n=t.getBoundingClientRect(),r=n.left+this.window.pageXOffset,i=n.top+this.window.pageYOffset,a=this.offset();this.window.scrollTo(r-a[0],i-a[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class oj{}class J_e extends uMe{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Zw extends J_e{static makeCurrent(){!function lMe(e){Dw||(Dw=e)}(new Zw)}onAndCancel(t,n,r){return t.addEventListener(n,r),()=>{t.removeEventListener(n,r)}}dispatchEvent(t,n){t.dispatchEvent(n)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,n){return(n=n||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,n){return"window"===n?window:"document"===n?t:"body"===n?t.body:null}getBaseHref(t){const n=function ewe(){return y8=y8||document.querySelector("base"),y8?y8.getAttribute("href"):null}();return null==n?null:function twe(e){W9=W9||document.createElement("a"),W9.setAttribute("href",e);const t=W9.pathname;return"/"===t.charAt(0)?t:`/${t}`}(n)}resetBaseElement(){y8=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return XU(document.cookie,t)}}let W9,y8=null,rwe=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const Kw=new be("EventManagerPlugins");let dj=(()=>{class e{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(i=>{i.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,i){return this._findPluginFor(r).addEventListener(n,r,i)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(a=>a.supports(n)),!r)throw new ie(5101,!1);return this._eventNameToPlugin.set(n,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Kw),xe(Ut))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();class hj{constructor(t){this._doc=t}}const Jw="ng-app-id";let pj=(()=>{class e{constructor(n,r,i,a={}){this.doc=n,this.appId=r,this.nonce=i,this.platformId=a,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=sj(a),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(i=>i.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${Jw}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(i=>{null!=i.textContent&&r.set(i.textContent,i)}),r}return null}changeUsageCount(n,r){const i=this.styleRef;if(i.has(n)){const a=i.get(n);return a.usage+=r,a.usage}return i.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const i=this.styleNodesInDOM,a=i?.get(r);if(a?.parentNode===n)return i.delete(r),a.removeAttribute(Jw),a;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(Jw,this.appId),s}}addStyleToHost(n,r){const i=this.getStyleElement(n,r);n.appendChild(i);const a=this.styleRef,s=a.get(r)?.elements;s?s.push(i):a.set(r,{elements:[i],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2),xe(Xh),xe(yO,8),xe(Us))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const ex={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},tx=/%COMP%/g,owe=new be("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function gj(e,t){return t.map(n=>n.replace(tx,e))}let vj=(()=>{class e{constructor(n,r,i,a,s,o,c,l=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=a,this.doc=s,this.platformId=o,this.ngZone=c,this.nonce=l,this.rendererByCompId=new Map,this.platformIsServer=sj(o),this.defaultRenderer=new nx(n,s,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===zi.ShadowDom&&(r={...r,encapsulation:zi.Emulated});const i=this.getOrCreateRenderer(n,r);return i instanceof Cj?i.applyToHost(n):i instanceof rx&&i.applyStyles(),i}getOrCreateRenderer(n,r){const i=this.rendererByCompId;let a=i.get(r.id);if(!a){const s=this.doc,o=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,f=this.platformIsServer;switch(r.encapsulation){case zi.Emulated:a=new Cj(c,l,r,this.appId,u,s,o,f);break;case zi.ShadowDom:return new fwe(c,l,n,r,s,o,this.nonce,f);default:a=new rx(c,l,r,u,s,o,f)}i.set(r.id,a)}return a}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(xe(dj),xe(pj),xe(Xh),xe(owe),xe(f2),xe(Us),xe(Ut),xe(yO))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();class nx{constructor(t,n,r,i){this.eventManager=t,this.doc=n,this.ngZone=r,this.platformIsServer=i,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,n){return n?this.doc.createElementNS(ex[n]||n,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,n){(yj(t)?t.content:t).appendChild(n)}insertBefore(t,n,r){t&&(yj(t)?t.content:t).insertBefore(n,r)}removeChild(t,n){t&&t.removeChild(n)}selectRootElement(t,n){let r="string"==typeof t?this.doc.querySelector(t):t;if(!r)throw new ie(-5104,!1);return n||(r.textContent=""),r}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,n,r,i){if(i){n=i+":"+n;const a=ex[i];a?t.setAttributeNS(a,n,r):t.setAttribute(n,r)}else t.setAttribute(n,r)}removeAttribute(t,n,r){if(r){const i=ex[r];i?t.removeAttributeNS(i,n):t.removeAttribute(`${r}:${n}`)}else t.removeAttribute(n)}addClass(t,n){t.classList.add(n)}removeClass(t,n){t.classList.remove(n)}setStyle(t,n,r,i){i&(rc.DashCase|rc.Important)?t.style.setProperty(n,r,i&rc.Important?"important":""):t.style[n]=r}removeStyle(t,n,r){r&rc.DashCase?t.style.removeProperty(n):t.style[n]=""}setProperty(t,n,r){t[n]=r}setValue(t,n){t.nodeValue=n}listen(t,n,r){if("string"==typeof t&&!(t=sc().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${n}`);return this.eventManager.addEventListener(t,n,this.decoratePreventDefault(r))}decoratePreventDefault(t){return n=>{if("__ngUnwrap__"===n)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(n)):t(n))&&n.preventDefault()}}}function yj(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class fwe extends nx{constructor(t,n,r,i,a,s,o,c){super(t,a,s,c),this.sharedStylesHost=n,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const l=gj(i.id,i.styles);for(const u of l){const f=document.createElement("style");o&&f.setAttribute("nonce",o),f.textContent=u,this.shadowRoot.appendChild(f)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,n){return super.appendChild(this.nodeOrShadowRoot(t),n)}insertBefore(t,n,r){return super.insertBefore(this.nodeOrShadowRoot(t),n,r)}removeChild(t,n){return super.removeChild(this.nodeOrShadowRoot(t),n)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class rx extends nx{constructor(t,n,r,i,a,s,o,c){super(t,a,s,o),this.sharedStylesHost=n,this.removeStylesOnCompDestroy=i,this.styles=c?gj(c,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Cj extends rx{constructor(t,n,r,i,a,s,o,c){const l=i+"-"+r.id;super(t,n,r,a,s,o,c,l),this.contentAttr=function cwe(e){return"_ngcontent-%COMP%".replace(tx,e)}(l),this.hostAttr=function lwe(e){return"_nghost-%COMP%".replace(tx,e)}(l)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,n){const r=super.createElement(t,n);return super.setAttribute(r,this.contentAttr,""),r}}let dwe=(()=>{class e extends hj{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,i){return n.addEventListener(r,i,!1),()=>this.removeEventListener(n,r,i)}removeEventListener(n,r,i){return n.removeEventListener(r,i)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const bj=["alt","control","meta","shift"],hwe={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},pwe={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let mwe=(()=>{class e extends hj{constructor(n){super(n)}supports(n){return null!=e.parseEventName(n)}addEventListener(n,r,i){const a=e.parseEventName(r),s=e.eventCallback(a.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>sc().onAndCancel(n,a.domEventName,s))}static parseEventName(n){const r=n.toLowerCase().split("."),i=r.shift();if(0===r.length||"keydown"!==i&&"keyup"!==i)return null;const a=e._normalizeKey(r.pop());let s="",o=r.indexOf("code");if(o>-1&&(r.splice(o,1),s="code."),bj.forEach(l=>{const u=r.indexOf(l);u>-1&&(r.splice(u,1),s+=l+".")}),s+=a,0!=r.length||0===a.length)return null;const c={};return c.domEventName=i,c.fullKey=s,c}static matchEventFullKeyCode(n,r){let i=hwe[n.key]||n.key,a="";return r.indexOf("code.")>-1&&(i=n.code,a="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),bj.forEach(s=>{s!==i&&(0,pwe[s])(n)&&(a+=s+".")}),a+=i,a===r)}static eventCallback(n,r,i){return a=>{e.matchEventFullKeyCode(a,n)&&i.runGuarded(()=>r(a))}}static _normalizeKey(n){return"esc"===n?"escape":n}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const _j=[{provide:Us,useValue:ij},{provide:vO,useValue:function gwe(){Zw.makeCurrent()},multi:!0},{provide:f2,useFactory:function ywe(){return function tpe(e){WM=e}(document),document},deps:[]}],Cwe=fU(Xbe,"browser",_j),bwe=new be(""),wj=[{provide:E9,useClass:class nwe{addToWindow(t){Wt.getAngularTestability=(r,i=!0)=>{const a=t.findTestabilityInTree(r,i);if(null==a)throw new ie(5103,!1);return a},Wt.getAllAngularTestabilities=()=>t.getAllTestabilities(),Wt.getAllAngularRootElements=()=>t.getAllRootElements(),Wt.frameworkStabilizers||(Wt.frameworkStabilizers=[]),Wt.frameworkStabilizers.push(r=>{const i=Wt.getAllAngularTestabilities();let a=i.length,s=!1;const o=function(c){s=s||c,a--,0==a&&r(s)};i.forEach(c=>{c.whenStable(o)})})}findTestabilityInTree(t,n,r){return null==n?null:t.getTestability(n)??(r?sc().isShadowRoot(n)?this.findTestabilityInTree(t,n.host,!0):this.findTestabilityInTree(t,n.parentElement,!0):null)}},deps:[]},{provide:sU,useClass:Cw,deps:[Ut,bw,E9]},{provide:Cw,useClass:Cw,deps:[Ut,bw,E9]}],xj=[{provide:t_,useValue:"root"},{provide:js,useFactory:function vwe(){return new js},deps:[]},{provide:Kw,useClass:dwe,multi:!0,deps:[f2,Ut,Us]},{provide:Kw,useClass:mwe,multi:!0,deps:[f2]},vj,pj,dj,{provide:xO,useExisting:vj},{provide:oj,useClass:rwe,deps:[]},[]];let Mwe=(()=>{class e{constructor(n){}static withServerTransition(n){return{ngModule:e,providers:[{provide:Xh,useValue:n.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(xe(bwe,12))};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({providers:[...xj,...wj],imports:[rj,Qbe]})}return e})(),zj=(()=>{class e{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2))};static#t=this.\u0275prov=we({token:e,factory:function(r){let i=null;return i=r?new r:function wwe(){return new zj(xe(f2))}(),i},providedIn:"root"})}return e})();typeof window<"u"&&window;let Ej=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(r){let i=null;return i=r?new(r||e):xe(Vj),i},providedIn:"root"})}return e})(),Vj=(()=>{class e extends Ej{constructor(n){super(),this._doc=n}sanitize(n,r){if(null==r)return null;switch(n){case Qr.NONE:return r;case Qr.HTML:return La(r,"HTML")?yr(r):aO(this._doc,String(r)).toString();case Qr.STYLE:return La(r,"Style")?yr(r):r;case Qr.SCRIPT:if(La(r,"Script"))return yr(r);throw new ie(5200,!1);case Qr.URL:return La(r,"URL")?yr(r):Uh(String(r));case Qr.RESOURCE_URL:if(La(r,"ResourceURL"))return yr(r);throw new ie(5201,!1);default:throw new ie(5202,!1)}}bypassSecurityTrustHtml(n){return function cpe(e){return new npe(e)}(n)}bypassSecurityTrustStyle(n){return function lpe(e){return new rpe(e)}(n)}bypassSecurityTrustScript(n){return function upe(e){return new ipe(e)}(n)}bypassSecurityTrustUrl(n){return function fpe(e){return new ape(e)}(n)}bypassSecurityTrustResourceUrl(n){return function dpe(e){return new spe(e)}(n)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2))};static#t=this.\u0275prov=we({token:e,factory:function(r){let i=null;return i=r?new r:function Swe(e){return new Vj(e.get(f2))}(xe(c2)),i},providedIn:"root"})}return e})();function Q0(e,t){return it(t)?Pn(e,t,1):Pn(e,1)}function h2(e,t){return En((n,r)=>{let i=0;n.subscribe(Vn(r,a=>e.call(t,a,i++)&&r.next(a)))})}function C8(e){return En((t,n)=>{try{t.subscribe(n)}finally{n.add(e)}})}class Y9{}class X9{}class Oa{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(n=>{const r=n.indexOf(":");if(r>0){const i=n.slice(0,r),a=i.toLowerCase(),s=n.slice(r+1).trim();this.maybeSetNormalizedName(i,a),this.headers.has(a)?this.headers.get(a).push(s):this.headers.set(a,[s])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((n,r)=>{this.setHeaderEntries(r,n)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([n,r])=>{this.setHeaderEntries(n,r)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const n=this.headers.get(t.toLowerCase());return n&&n.length>0?n[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,n){return this.clone({name:t,value:n,op:"a"})}set(t,n){return this.clone({name:t,value:n,op:"s"})}delete(t,n){return this.clone({name:t,value:n,op:"d"})}maybeSetNormalizedName(t,n){this.normalizedNames.has(n)||this.normalizedNames.set(n,t)}init(){this.lazyInit&&(this.lazyInit instanceof Oa?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(n=>{this.headers.set(n,t.headers.get(n)),this.normalizedNames.set(n,t.normalizedNames.get(n))})}clone(t){const n=new Oa;return n.lazyInit=this.lazyInit&&this.lazyInit instanceof Oa?this.lazyInit:this,n.lazyUpdate=(this.lazyUpdate||[]).concat([t]),n}applyUpdate(t){const n=t.name.toLowerCase();switch(t.op){case"a":case"s":let r=t.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(t.name,n);const i=("a"===t.op?this.headers.get(n):void 0)||[];i.push(...r),this.headers.set(n,i);break;case"d":const a=t.value;if(a){let s=this.headers.get(n);if(!s)return;s=s.filter(o=>-1===a.indexOf(o)),0===s.length?(this.headers.delete(n),this.normalizedNames.delete(n)):this.headers.set(n,s)}else this.headers.delete(n),this.normalizedNames.delete(n)}}setHeaderEntries(t,n){const r=(Array.isArray(n)?n:[n]).map(a=>a.toString()),i=t.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(t,i)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(n=>t(this.normalizedNames.get(n),this.headers.get(n)))}}class Ewe{encodeKey(t){return Lj(t)}encodeValue(t){return Lj(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Dwe=/%(\d[a-f0-9])/gi,Lwe={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Lj(e){return encodeURIComponent(e).replace(Dwe,(t,n)=>Lwe[n]??t)}function Q9(e){return`${e}`}class cc{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Ewe,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Vwe(e,t){const n=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(i=>{const a=i.indexOf("="),[s,o]=-1==a?[t.decodeKey(i),""]:[t.decodeKey(i.slice(0,a)),t.decodeValue(i.slice(a+1))],c=n.get(s)||[];c.push(o),n.set(s,c)}),n}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(n=>{const r=t.fromObject[n],i=Array.isArray(r)?r.map(Q9):[Q9(r)];this.map.set(n,i)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const n=this.map.get(t);return n?n[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,n){return this.clone({param:t,value:n,op:"a"})}appendAll(t){const n=[];return Object.keys(t).forEach(r=>{const i=t[r];Array.isArray(i)?i.forEach(a=>{n.push({param:r,value:a,op:"a"})}):n.push({param:r,value:i,op:"a"})}),this.clone(n)}set(t,n){return this.clone({param:t,value:n,op:"s"})}delete(t,n){return this.clone({param:t,value:n,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const n=this.encoder.encodeKey(t);return this.map.get(t).map(r=>n+"="+this.encoder.encodeValue(r)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const n=new cc({encoder:this.encoder});return n.cloneFrom=this.cloneFrom||this,n.updates=(this.updates||[]).concat(t),n}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const n=("a"===t.op?this.map.get(t.param):void 0)||[];n.push(Q9(t.value)),this.map.set(t.param,n);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let r=this.map.get(t.param)||[];const i=r.indexOf(Q9(t.value));-1!==i&&r.splice(i,1),r.length>0?this.map.set(t.param,r):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Awe{constructor(){this.map=new Map}set(t,n){return this.map.set(t,n),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Aj(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Nj(e){return typeof Blob<"u"&&e instanceof Blob}function kj(e){return typeof FormData<"u"&&e instanceof FormData}class b8{constructor(t,n,r,i){let a;if(this.url=n,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function Nwe(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==r?r:null,a=i):a=r,a&&(this.reportProgress=!!a.reportProgress,this.withCredentials=!!a.withCredentials,a.responseType&&(this.responseType=a.responseType),a.headers&&(this.headers=a.headers),a.context&&(this.context=a.context),a.params&&(this.params=a.params)),this.headers||(this.headers=new Oa),this.context||(this.context=new Awe),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=n;else{const o=n.indexOf("?");this.urlWithParams=n+(-1===o?"?":of.set(d,t.setHeaders[d]),c)),t.setParams&&(l=Object.keys(t.setParams).reduce((f,d)=>f.set(d,t.setParams[d]),l)),new b8(n,r,a,{params:l,headers:c,context:u,reportProgress:o,responseType:i,withCredentials:s})}}var Z0=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Z0||{});class ax{constructor(t,n=200,r="OK"){this.headers=t.headers||new Oa,this.status=void 0!==t.status?t.status:n,this.statusText=t.statusText||r,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class sx extends ax{constructor(t={}){super(t),this.type=Z0.ResponseHeader}clone(t={}){return new sx({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class f4 extends ax{constructor(t={}){super(t),this.type=Z0.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new f4({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Tj extends ax{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function ox(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let M8=(()=>{class e{constructor(n){this.handler=n}request(n,r,i={}){let a;if(n instanceof b8)a=n;else{let c,l;c=i.headers instanceof Oa?i.headers:new Oa(i.headers),i.params&&(l=i.params instanceof cc?i.params:new cc({fromObject:i.params})),a=new b8(n,r,void 0!==i.body?i.body:null,{headers:c,context:i.context,params:l,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const s=ve(a).pipe(Q0(c=>this.handler.handle(c)));if(n instanceof b8||"events"===i.observe)return s;const o=s.pipe(h2(c=>c instanceof f4));switch(i.observe||"body"){case"body":switch(a.responseType){case"arraybuffer":return o.pipe(at(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return o.pipe(at(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return o.pipe(at(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return o.pipe(at(c=>c.body))}case"response":return o;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new cc).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,i={}){return this.request("PATCH",n,ox(i,r))}post(n,r,i={}){return this.request("POST",n,ox(i,r))}put(n,r,i={}){return this.request("PUT",n,ox(i,r))}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Y9))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();function Rj(e,t){return t(e)}function Iwe(e,t){return(n,r)=>t.intercept(n,{handle:i=>e(i,r)})}const Oj=new be(""),_8=new be(""),Pj=new be("");function Rwe(){let e=null;return(t,n)=>{null===e&&(e=(Me(Oj,{optional:!0})??[]).reduceRight(Iwe,Rj));const r=Me(H9),i=r.add();return e(t,n).pipe(C8(()=>r.remove(i)))}}let $j=(()=>{class e extends Y9{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=Me(H9)}handle(n){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(_8),...this.injector.get(Pj,[])]));this.chain=i.reduceRight((a,s)=>function Fwe(e,t,n){return(r,i)=>n.runInContext(()=>t(r,a=>e(a,i)))}(a,s,this.injector),Rj)}const r=this.pendingTasks.add();return this.chain(n,i=>this.backend.handle(i)).pipe(C8(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(xe(X9),xe(Cr))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const Bwe=/^\)\]\}',?\n/;let Uj=(()=>{class e{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new ie(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?$n(r.\u0275loadImpl()):ve(null)).pipe(e2(()=>new Kt(a=>{const s=r.build();if(s.open(n.method,n.urlWithParams),n.withCredentials&&(s.withCredentials=!0),n.headers.forEach((m,g)=>s.setRequestHeader(m,g.join(","))),n.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const m=n.detectContentTypeHeader();null!==m&&s.setRequestHeader("Content-Type",m)}if(n.responseType){const m=n.responseType.toLowerCase();s.responseType="json"!==m?m:"text"}const o=n.serializeBody();let c=null;const l=()=>{if(null!==c)return c;const m=s.statusText||"OK",g=new Oa(s.getAllResponseHeaders()),v=function Uwe(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||n.url;return c=new sx({headers:g,status:s.status,statusText:m,url:v}),c},u=()=>{let{headers:m,status:g,statusText:v,url:y}=l(),C=null;204!==g&&(C=typeof s.response>"u"?s.responseText:s.response),0===g&&(g=C?200:0);let b=g>=200&&g<300;if("json"===n.responseType&&"string"==typeof C){const M=C;C=C.replace(Bwe,"");try{C=""!==C?JSON.parse(C):null}catch(w){C=M,b&&(b=!1,C={error:w,text:C})}}b?(a.next(new f4({body:C,headers:m,status:g,statusText:v,url:y||void 0})),a.complete()):a.error(new Tj({error:C,headers:m,status:g,statusText:v,url:y||void 0}))},f=m=>{const{url:g}=l(),v=new Tj({error:m,status:s.status||0,statusText:s.statusText||"Unknown Error",url:g||void 0});a.error(v)};let d=!1;const h=m=>{d||(a.next(l()),d=!0);let g={type:Z0.DownloadProgress,loaded:m.loaded};m.lengthComputable&&(g.total=m.total),"text"===n.responseType&&s.responseText&&(g.partialText=s.responseText),a.next(g)},p=m=>{let g={type:Z0.UploadProgress,loaded:m.loaded};m.lengthComputable&&(g.total=m.total),a.next(g)};return s.addEventListener("load",u),s.addEventListener("error",f),s.addEventListener("timeout",f),s.addEventListener("abort",f),n.reportProgress&&(s.addEventListener("progress",h),null!==o&&s.upload&&s.upload.addEventListener("progress",p)),s.send(o),a.next({type:Z0.Sent}),()=>{s.removeEventListener("error",f),s.removeEventListener("abort",f),s.removeEventListener("load",u),s.removeEventListener("timeout",f),n.reportProgress&&(s.removeEventListener("progress",h),null!==o&&s.upload&&s.upload.removeEventListener("progress",p)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(xe(oj))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const cx=new be("XSRF_ENABLED"),jj=new be("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),qj=new be("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Gj{}let Gwe=(()=>{class e{constructor(n,r,i){this.doc=n,this.platform=r,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=XU(n,this.cookieName),this.lastCookieString=n),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(xe(f2),xe(Us),xe(jj))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();function Wwe(e,t){const n=e.url.toLowerCase();if(!Me(cx)||"GET"===e.method||"HEAD"===e.method||n.startsWith("http://")||n.startsWith("https://"))return t(e);const r=Me(Gj).getToken(),i=Me(qj);return null!=r&&!e.headers.has(i)&&(e=e.clone({headers:e.headers.set(i,r)})),t(e)}var lc=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(lc||{});function Ywe(...e){const t=[M8,Uj,$j,{provide:Y9,useExisting:$j},{provide:X9,useExisting:Uj},{provide:_8,useValue:Wwe,multi:!0},{provide:cx,useValue:!0},{provide:Gj,useClass:Gwe}];for(const n of e)t.push(...n.\u0275providers);return qh(t)}const Wj=new be("LEGACY_INTERCEPTOR_FN");function Xwe(){return function d4(e,t){return{\u0275kind:e,\u0275providers:t}}(lc.LegacyInterceptors,[{provide:Wj,useFactory:Rwe},{provide:_8,useExisting:Wj,multi:!0}])}let Qwe=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({providers:[Ywe(Xwe())]})}return e})();const{isArray:nxe}=Array,{getPrototypeOf:rxe,prototype:ixe,keys:axe}=Object;function Yj(e){if(1===e.length){const t=e[0];if(nxe(t))return{args:t,keys:null};if(function sxe(e){return e&&"object"==typeof e&&rxe(e)===ixe}(t)){const n=axe(t);return{args:n.map(r=>t[r]),keys:n}}}return{args:e,keys:null}}const{isArray:oxe}=Array;function lx(e){return at(t=>function cxe(e,t){return oxe(t)?e(...t):e(t)}(e,t))}function Xj(e,t){return e.reduce((n,r,i)=>(n[r]=t[i],n),{})}let Qj=(()=>{class e{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=i=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}static#e=this.\u0275fac=function(r){return new(r||e)(q(Aa),q(P2))};static#t=this.\u0275dir=Ue({type:e})}return e})(),h4=(()=>{class e extends Qj{static#e=this.\u0275fac=function(){let n;return function(i){return(n||(n=_1(e)))(i||e)}}();static#t=this.\u0275dir=Ue({type:e,features:[Tt]})}return e})();const Pa=new be("NgValueAccessor"),uxe={provide:Pa,useExisting:Gt(()=>K0),multi:!0};let K0=(()=>{class e extends h4{writeValue(n){this.setProperty("checked",n)}static#e=this.\u0275fac=function(){let n;return function(i){return(n||(n=_1(e)))(i||e)}}();static#t=this.\u0275dir=Ue({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(r,i){1&r&&Ae("change",function(s){return i.onChange(s.target.checked)})("blur",function(){return i.onTouched()})},features:[ln([uxe]),Tt]})}return e})();const fxe={provide:Pa,useExisting:Gt(()=>Ti),multi:!0},hxe=new be("CompositionEventMode");let Ti=(()=>{class e extends Qj{constructor(n,r,i){super(n,r),this._compositionMode=i,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function dxe(){const e=sc()?sc().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}static#e=this.\u0275fac=function(r){return new(r||e)(q(Aa),q(P2),q(hxe,8))};static#t=this.\u0275dir=Ue({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,i){1&r&&Ae("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[ln([fxe]),Tt]})}return e})();const R1=new be("NgValidators"),fc=new be("NgAsyncValidators");function sq(e){return null!=e}function oq(e){return t8(e)?$n(e):e}function cq(e){let t={};return e.forEach(n=>{t=null!=n?{...t,...n}:t}),0===Object.keys(t).length?null:t}function lq(e,t){return t.map(n=>n(e))}function uq(e){return e.map(t=>function mxe(e){return!e.validate}(t)?t:n=>t.validate(n))}function ux(e){return null!=e?function fq(e){if(!e)return null;const t=e.filter(sq);return 0==t.length?null:function(n){return cq(lq(n,t))}}(uq(e)):null}function fx(e){return null!=e?function dq(e){if(!e)return null;const t=e.filter(sq);return 0==t.length?null:function(n){return function lxe(...e){const t=RI(e),{args:n,keys:r}=Yj(e),i=new Kt(a=>{const{length:s}=n;if(!s)return void a.complete();const o=new Array(s);let c=s,l=s;for(let u=0;u{f||(f=!0,l--),o[u]=d},()=>c--,void 0,()=>{(!c||!f)&&(l||a.next(r?Xj(r,o):o),a.complete())}))}});return t?i.pipe(lx(t)):i}(lq(n,t).map(oq)).pipe(at(cq))}}(uq(e)):null}function hq(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function dx(e){return e?Array.isArray(e)?e:[e]:[]}function J9(e,t){return Array.isArray(e)?e.includes(t):e===t}function gq(e,t){const n=dx(t);return dx(e).forEach(i=>{J9(n,i)||n.push(i)}),n}function vq(e,t){return dx(t).filter(n=>!J9(e,n))}class yq{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=ux(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=fx(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,n){return!!this.control&&this.control.hasError(t,n)}getError(t,n){return this.control?this.control.getError(t,n):null}}class p2 extends yq{get formDirective(){return null}get path(){return null}}class dc extends yq{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cq{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ii=(()=>{class e extends Cq{constructor(n){super(n)}static#e=this.\u0275fac=function(r){return new(r||e)(q(dc,2))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,i){2&r&&m9("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[Tt]})}return e})(),hc=(()=>{class e extends Cq{constructor(n){super(n)}static#e=this.\u0275fac=function(r){return new(r||e)(q(p2,10))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,i){2&r&&m9("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[Tt]})}return e})();const w8="VALID",tp="INVALID",J0="PENDING",x8="DISABLED";function mx(e){return(np(e)?e.validators:e)||null}function gx(e,t){return(np(t)?t.asyncValidators:e)||null}function np(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class wq{constructor(t,n){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(n)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===w8}get invalid(){return this.status===tp}get pending(){return this.status==J0}get disabled(){return this.status===x8}get enabled(){return this.status!==x8}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(gq(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(gq(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(vq(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(vq(t,this._rawAsyncValidators))}hasValidator(t){return J9(this._rawValidators,t)}hasAsyncValidator(t){return J9(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(n=>{n.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(n=>{n.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=J0,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=x8,this.errors=null,this._forEachChild(r=>{r.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!0))}enable(t={}){const n=this._parentMarkedDirty(t.onlySelf);this.status=w8,this._forEachChild(r=>{r.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:n}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===w8||this.status===J0)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(n=>n._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?x8:w8}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=J0,this._hasOwnPendingAsyncValidator=!0;const n=oq(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,n={}){this.errors=t,this._updateControlsErrors(!1!==n.emitEvent)}get(t){let n=t;return null==n||(Array.isArray(n)||(n=n.split(".")),0===n.length)?null:n.reduce((r,i)=>r&&r._find(i),this)}getError(t,n){const r=n?this.get(n):this;return r&&r.errors?r.errors[t]:null}hasError(t,n){return!!this.getError(t,n)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new bn,this.statusChanges=new bn}_calculateStatus(){return this._allControlsDisabled()?x8:this.errors?tp:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(J0)?J0:this._anyControlsHaveStatus(tp)?tp:w8}_anyControlsHaveStatus(t){return this._anyControls(n=>n.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){np(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function Cxe(e){return Array.isArray(e)?ux(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function bxe(e){return Array.isArray(e)?fx(e):e||null}(this._rawAsyncValidators)}}class vx extends wq{constructor(t,n,r){super(mx(n),gx(r,n)),this.controls=t,this._initObservables(),this._setUpdateStrategy(n),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,n){return this.controls[t]?this.controls[t]:(this.controls[t]=n,n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange),n)}addControl(t,n,r={}){this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(t,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}setControl(t,n,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],n&&this.registerControl(t,n),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,n={}){(function _q(e,t,n){e._forEachChild((r,i)=>{if(void 0===n[i])throw new ie(1002,"")})})(this,0,t),Object.keys(t).forEach(r=>{(function Mq(e,t,n){const r=e.controls;if(!(t?Object.keys(r):r).length)throw new ie(1e3,"");if(!r[n])throw new ie(1001,"")})(this,!0,r),this.controls[r].setValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n)}patchValue(t,n={}){null!=t&&(Object.keys(t).forEach(r=>{const i=this.controls[r];i&&i.patchValue(t[r],{onlySelf:!0,emitEvent:n.emitEvent})}),this.updateValueAndValidity(n))}reset(t={},n={}){this._forEachChild((r,i)=>{r.reset(t?t[i]:null,{onlySelf:!0,emitEvent:n.emitEvent})}),this._updatePristine(n),this._updateTouched(n),this.updateValueAndValidity(n)}getRawValue(){return this._reduceChildren({},(t,n,r)=>(t[r]=n.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(n,r)=>!!r._syncPendingControls()||n);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(n=>{const r=this.controls[n];r&&t(r,n)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[n,r]of Object.entries(this.controls))if(this.contains(n)&&t(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(n,r,i)=>((r.enabled||this.disabled)&&(n[i]=r.value),n))}_reduceChildren(t,n){let r=t;return this._forEachChild((i,a)=>{r=n(r,i,a)}),r}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const e6=new be("CallSetDisabledState",{providedIn:"root",factory:()=>rp}),rp="always";function z8(e,t,n=rp){yx(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===n)&&t.valueAccessor.setDisabledState?.(e.disabled),function wxe(e,t){t.valueAccessor.registerOnChange(n=>{e._pendingValue=n,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&xq(e,t)})}(e,t),function zxe(e,t){const n=(r,i)=>{t.valueAccessor.writeValue(r),i&&t.viewToModelUpdate(r)};e.registerOnChange(n),t._registerOnDestroy(()=>{e._unregisterOnChange(n)})}(e,t),function xxe(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&xq(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _xe(e,t){if(t.valueAccessor.setDisabledState){const n=r=>{t.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(n),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(n)})}}(e,t)}function sp(e,t){e.forEach(n=>{n.registerOnValidatorChange&&n.registerOnValidatorChange(t)})}function yx(e,t){const n=function pq(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(hq(n,t.validator)):"function"==typeof n&&e.setValidators([n]);const r=function mq(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(hq(r,t.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const i=()=>e.updateValueAndValidity();sp(t._rawValidators,i),sp(t._rawAsyncValidators,i)}function xq(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const Dxe={provide:p2,useExisting:Gt(()=>$a)},H8=(()=>Promise.resolve())();let $a=(()=>{class e extends p2{constructor(n,r,i){super(),this.callSetDisabledState=i,this.submitted=!1,this._directives=new Set,this.ngSubmit=new bn,this.form=new vx({},ux(n),fx(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){H8.then(()=>{const r=this._findContainer(n.path);n.control=r.registerControl(n.name,n.control),z8(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){H8.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){H8.then(()=>{const r=this._findContainer(n.path),i=new vx({});(function zq(e,t){yx(e,t)})(i,n),r.registerControl(n.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){H8.then(()=>{const r=this._findContainer(n.path);r&&r.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,r){H8.then(()=>{this.form.get(n.path).setValue(r)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submitted=!0,function Hq(e,t){e._syncPendingControls(),t.forEach(n=>{const r=n.control;"submit"===r.updateOn&&r._pendingChange&&(n.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(q(R1,10),q(fc,10),q(e6,8))};static#t=this.\u0275dir=Ue({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,i){1&r&&Ae("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[ln([Dxe]),Tt]})}return e})();function Sq(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}function Eq(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const Vq=class extends wq{constructor(t=null,n,r){super(mx(n),gx(r,n)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(n),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),np(n)&&(n.nonNullable||n.initialValueIsDefault)&&(this.defaultValue=Eq(t)?t.value:t)}setValue(t,n={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==n.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==n.emitViewToModelChange)),this.updateValueAndValidity(n)}patchValue(t,n={}){this.setValue(t,n)}reset(t=this.defaultValue,n={}){this._applyFormState(t),this.markAsPristine(n),this.markAsUntouched(n),this.setValue(this.value,n),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Sq(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Sq(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){Eq(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},Nxe={provide:dc,useExisting:Gt(()=>ei)},Aq=(()=>Promise.resolve())();let ei=(()=>{class e extends dc{constructor(n,r,i,a,s,o){super(),this._changeDetectorRef=s,this.callSetDisabledState=o,this.control=new Vq,this._registered=!1,this.name="",this.update=new bn,this._parent=n,this._setValidators(r),this._setAsyncValidators(i),this.valueAccessor=function Mx(e,t){if(!t)return null;let n,r,i;return Array.isArray(t),t.forEach(a=>{a.constructor===Ti?n=a:function Exe(e){return Object.getPrototypeOf(e.constructor)===h4}(a)?r=a:i=a}),i||r||n||null}(0,a)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const r=n.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function bx(e,t){if(!e.hasOwnProperty("model"))return!1;const n=e.model;return!!n.isFirstChange()||!Object.is(t,n.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){z8(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){Aq.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const r=n.isDisabled.currentValue,i=0!==r&&Y0(r);Aq.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function ip(e,t){return[...t.path,e]}(n,this._parent):[n]}static#e=this.\u0275fac=function(r){return new(r||e)(q(p2,9),q(R1,10),q(fc,10),q(Pa,10),q(D9,8),q(e6,8))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[ln([Nxe]),Tt,r2]})}return e})(),pc=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=Ue({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})(),kq=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({})}return e})();const Uxe={provide:Pa,useExisting:Gt(()=>S8),multi:!0};function $q(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let S8=(()=>{class e extends h4{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const i=$q(this._getOptionId(n),n);this.setProperty("value",i)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function jxe(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}static#e=this.\u0275fac=function(){let n;return function(i){return(n||(n=_1(e)))(i||e)}}();static#t=this.\u0275dir=Ue({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,i){1&r&&Ae("change",function(s){return i.onChange(s.target.value)})("blur",function(){return i.onTouched()})},inputs:{compareWith:"compareWith"},features:[ln([Uxe]),Tt]})}return e})(),cp=(()=>{class e{constructor(n,r,i){this._element=n,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue($q(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(q(P2),q(Aa),q(S8,9))};static#t=this.\u0275dir=Ue({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const qxe={provide:Pa,useExisting:Gt(()=>zx),multi:!0};function Bq(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let zx=(()=>{class e extends h4{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const i=n.map(a=>this._getOptionId(a));r=(a,s)=>{a._setSelected(i.indexOf(s.toString())>-1)}}else r=(i,a)=>{i._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const i=[],a=r.selectedOptions;if(void 0!==a){const s=a;for(let o=0;o{class e{constructor(n,r,i){this._element=n,this._renderer=r,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(Bq(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(Bq(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(q(P2),q(Aa),q(zx,9))};static#t=this.\u0275dir=Ue({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})(),tze=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({imports:[kq]})}return e})(),rze=(()=>{class e{static withConfig(n){return{ngModule:e,providers:[{provide:e6,useValue:n.callSetDisabledState??rp}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({imports:[tze]})}return e})();function Kq(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function ze(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0;)t+=Vze[62*Math.random()|0];return t}function n6(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function Tx(e){return e.classList?n6(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function gG(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function yp(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function Ix(e){return e.size!==Ba.size||e.x!==Ba.x||e.y!==Ba.y||e.rotate!==Ba.rotate||e.flipX||e.flipY}var Nze=':root, :host {\n --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";\n --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";\n --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";\n --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";\n --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";\n --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";\n --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";\n --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";\n}\n\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\n overflow: visible;\n box-sizing: content-box;\n}\n\n.svg-inline--fa {\n display: var(--fa-display, inline-block);\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-2xs {\n vertical-align: 0.1em;\n}\n.svg-inline--fa.fa-xs {\n vertical-align: 0em;\n}\n.svg-inline--fa.fa-sm {\n vertical-align: -0.0714285705em;\n}\n.svg-inline--fa.fa-lg {\n vertical-align: -0.2em;\n}\n.svg-inline--fa.fa-xl {\n vertical-align: -0.25em;\n}\n.svg-inline--fa.fa-2xl {\n vertical-align: -0.3125em;\n}\n.svg-inline--fa.fa-pull-left {\n margin-right: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n margin-left: var(--fa-pull-margin, 0.3em);\n width: auto;\n}\n.svg-inline--fa.fa-li {\n width: var(--fa-li-width, 2em);\n top: 0.25em;\n}\n.svg-inline--fa.fa-fw {\n width: var(--fa-fw-width, 1.25em);\n}\n\n.fa-layers svg.svg-inline--fa {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.fa-layers-counter, .fa-layers-text {\n display: inline-block;\n position: absolute;\n text-align: center;\n}\n\n.fa-layers {\n display: inline-block;\n height: 1em;\n position: relative;\n text-align: center;\n vertical-align: -0.125em;\n width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-text {\n left: 50%;\n top: 50%;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n -webkit-transform-origin: center center;\n transform-origin: center center;\n}\n\n.fa-layers-counter {\n background-color: var(--fa-counter-background-color, #ff253a);\n border-radius: var(--fa-counter-border-radius, 1em);\n box-sizing: border-box;\n color: var(--fa-inverse, #fff);\n line-height: var(--fa-counter-line-height, 1);\n max-width: var(--fa-counter-max-width, 5em);\n min-width: var(--fa-counter-min-width, 1.5em);\n overflow: hidden;\n padding: var(--fa-counter-padding, 0.25em 0.5em);\n right: var(--fa-right, 0);\n text-overflow: ellipsis;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-counter-scale, 0.25));\n transform: scale(var(--fa-counter-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n bottom: var(--fa-bottom, 0);\n right: var(--fa-right, 0);\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom right;\n transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n bottom: var(--fa-bottom, 0);\n left: var(--fa-left, 0);\n right: auto;\n top: auto;\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: bottom left;\n transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n top: var(--fa-top, 0);\n right: var(--fa-right, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top right;\n transform-origin: top right;\n}\n\n.fa-layers-top-left {\n left: var(--fa-left, 0);\n right: auto;\n top: var(--fa-top, 0);\n -webkit-transform: scale(var(--fa-layers-scale, 0.25));\n transform: scale(var(--fa-layers-scale, 0.25));\n -webkit-transform-origin: top left;\n transform-origin: top left;\n}\n\n.fa-1x {\n font-size: 1em;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-6x {\n font-size: 6em;\n}\n\n.fa-7x {\n font-size: 7em;\n}\n\n.fa-8x {\n font-size: 8em;\n}\n\n.fa-9x {\n font-size: 9em;\n}\n\n.fa-10x {\n font-size: 10em;\n}\n\n.fa-2xs {\n font-size: 0.625em;\n line-height: 0.1em;\n vertical-align: 0.225em;\n}\n\n.fa-xs {\n font-size: 0.75em;\n line-height: 0.0833333337em;\n vertical-align: 0.125em;\n}\n\n.fa-sm {\n font-size: 0.875em;\n line-height: 0.0714285718em;\n vertical-align: 0.0535714295em;\n}\n\n.fa-lg {\n font-size: 1.25em;\n line-height: 0.05em;\n vertical-align: -0.075em;\n}\n\n.fa-xl {\n font-size: 1.5em;\n line-height: 0.0416666682em;\n vertical-align: -0.125em;\n}\n\n.fa-2xl {\n font-size: 2em;\n line-height: 0.03125em;\n vertical-align: -0.1875em;\n}\n\n.fa-fw {\n text-align: center;\n width: 1.25em;\n}\n\n.fa-ul {\n list-style-type: none;\n margin-left: var(--fa-li-margin, 2.5em);\n padding-left: 0;\n}\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n left: calc(var(--fa-li-width, 2em) * -1);\n position: absolute;\n text-align: center;\n width: var(--fa-li-width, 2em);\n line-height: inherit;\n}\n\n.fa-border {\n border-color: var(--fa-border-color, #eee);\n border-radius: var(--fa-border-radius, 0.1em);\n border-style: var(--fa-border-style, solid);\n border-width: var(--fa-border-width, 0.08em);\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\n}\n\n.fa-pull-left {\n float: left;\n margin-right: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-pull-right {\n float: right;\n margin-left: var(--fa-pull-margin, 0.3em);\n}\n\n.fa-beat {\n -webkit-animation-name: fa-beat;\n animation-name: fa-beat;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-bounce {\n -webkit-animation-name: fa-bounce;\n animation-name: fa-bounce;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n}\n\n.fa-fade {\n -webkit-animation-name: fa-fade;\n animation-name: fa-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-beat-fade {\n -webkit-animation-name: fa-beat-fade;\n animation-name: fa-beat-fade;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n}\n\n.fa-flip {\n -webkit-animation-name: fa-flip;\n animation-name: fa-flip;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\n}\n\n.fa-shake {\n -webkit-animation-name: fa-shake;\n animation-name: fa-shake;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\n animation-delay: var(--fa-animation-delay, 0s);\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\n animation-duration: var(--fa-animation-duration, 2s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\n animation-timing-function: var(--fa-animation-timing, linear);\n}\n\n.fa-spin-reverse {\n --fa-animation-direction: reverse;\n}\n\n.fa-pulse,\n.fa-spin-pulse {\n -webkit-animation-name: fa-spin;\n animation-name: fa-spin;\n -webkit-animation-direction: var(--fa-animation-direction, normal);\n animation-direction: var(--fa-animation-direction, normal);\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\n animation-duration: var(--fa-animation-duration, 1s);\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\n animation-timing-function: var(--fa-animation-timing, steps(8));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fa-beat,\n.fa-bounce,\n.fa-fade,\n.fa-beat-fade,\n.fa-flip,\n.fa-pulse,\n.fa-shake,\n.fa-spin,\n.fa-spin-pulse {\n -webkit-animation-delay: -1ms;\n animation-delay: -1ms;\n -webkit-animation-duration: 1ms;\n animation-duration: 1ms;\n -webkit-animation-iteration-count: 1;\n animation-iteration-count: 1;\n -webkit-transition-delay: 0s;\n transition-delay: 0s;\n -webkit-transition-duration: 0s;\n transition-duration: 0s;\n }\n}\n@-webkit-keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@keyframes fa-beat {\n 0%, 90% {\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 45% {\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\n transform: scale(var(--fa-beat-scale, 1.25));\n }\n}\n@-webkit-keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@keyframes fa-bounce {\n 0% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\n }\n 50% {\n -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\n }\n 64% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n -webkit-transform: scale(1, 1) translateY(0);\n transform: scale(1, 1) translateY(0);\n }\n}\n@-webkit-keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@keyframes fa-fade {\n 50% {\n opacity: var(--fa-fade-opacity, 0.4);\n }\n}\n@-webkit-keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@keyframes fa-beat-fade {\n 0%, 100% {\n opacity: var(--fa-beat-fade-opacity, 0.4);\n -webkit-transform: scale(1);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\n transform: scale(var(--fa-beat-fade-scale, 1.125));\n }\n}\n@-webkit-keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@keyframes fa-flip {\n 50% {\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\n }\n}\n@-webkit-keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@keyframes fa-shake {\n 0% {\n -webkit-transform: rotate(-15deg);\n transform: rotate(-15deg);\n }\n 4% {\n -webkit-transform: rotate(15deg);\n transform: rotate(15deg);\n }\n 8%, 24% {\n -webkit-transform: rotate(-18deg);\n transform: rotate(-18deg);\n }\n 12%, 28% {\n -webkit-transform: rotate(18deg);\n transform: rotate(18deg);\n }\n 16% {\n -webkit-transform: rotate(-22deg);\n transform: rotate(-22deg);\n }\n 20% {\n -webkit-transform: rotate(22deg);\n transform: rotate(22deg);\n }\n 32% {\n -webkit-transform: rotate(-12deg);\n transform: rotate(-12deg);\n }\n 36% {\n -webkit-transform: rotate(12deg);\n transform: rotate(12deg);\n }\n 40%, 100% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n}\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n.fa-rotate-90 {\n -webkit-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -webkit-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -webkit-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -webkit-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -webkit-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n.fa-flip-both,\n.fa-flip-horizontal.fa-flip-vertical {\n -webkit-transform: scale(-1, -1);\n transform: scale(-1, -1);\n}\n\n.fa-rotate-by {\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\n transform: rotate(var(--fa-rotate-angle, none));\n}\n\n.fa-stack {\n display: inline-block;\n vertical-align: middle;\n height: 2em;\n position: relative;\n width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n bottom: 0;\n left: 0;\n margin: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: var(--fa-stack-z-index, auto);\n}\n\n.svg-inline--fa.fa-stack-1x {\n height: 1em;\n width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n height: 2em;\n width: 2.5em;\n}\n\n.fa-inverse {\n color: var(--fa-inverse, #fff);\n}\n\n.sr-only,\n.fa-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.sr-only-focusable:not(:focus),\n.fa-sr-only-focusable:not(:focus) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n\n.svg-inline--fa .fa-primary {\n fill: var(--fa-primary-color, currentColor);\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n fill: var(--fa-secondary-color, currentColor);\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n fill: black;\n}\n\n.fad.fa-inverse,\n.fa-duotone.fa-inverse {\n color: var(--fa-inverse, #fff);\n}';function vG(){var e=lG,t=uG,n=De.cssPrefix,r=De.replacementClass,i=Nze;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),s=new RegExp("\\--".concat(e,"\\-"),"g"),o=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(s,"--".concat(n,"-")).replace(o,".".concat(r))}return i}var yG=!1;function Fx(){De.autoAddCss&&!yG&&(function Eze(e){if(e&&to){var t=en.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=en.head.childNodes,r=null,i=n.length-1;i>-1;i--){var a=n[i],s=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(r=a)}en.head.insertBefore(t,r)}}(vG()),yG=!0)}var kze={mixout:function(){return{dom:{css:vG,insertCss:Fx}}},hooks:function(){return{beforeDOMElementCreation:function(){Fx()},beforeI2svg:function(){Fx()}}}},ro=mc||{};ro[no]||(ro[no]={}),ro[no].styles||(ro[no].styles={}),ro[no].hooks||(ro[no].hooks={}),ro[no].shims||(ro[no].shims=[]);var Fi=ro[no],CG=[],Cp=!1;function R8(e){var t=e.tag,n=e.attributes,r=void 0===n?{}:n,i=e.children,a=void 0===i?[]:i;return"string"==typeof e?gG(e):"<".concat(t," ").concat(function Dze(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(gG(e[n]),'" ')},"").trim()}(r),">").concat(a.map(R8).join(""),"")}function bG(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}to&&((Cp=(en.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(en.readyState))||en.addEventListener("DOMContentLoaded",function e(){en.removeEventListener("DOMContentLoaded",e),Cp=1,CG.map(function(t){return t()})}));var Rx=function(t,n,r,i){var c,l,u,a=Object.keys(t),s=a.length,o=void 0!==i?function(t,n){return function(r,i,a,s){return t.call(n,r,i,a,s)}}(n,i):n;for(void 0===r?(c=1,u=t[a[0]]):(c=0,u=r);c=55296&&i<=56319&&n2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,i=void 0!==r&&r,a=MG(t);"function"!=typeof Fi.hooks.addPack||i?Fi.styles[e]=ze(ze({},Fi.styles[e]||{}),a):Fi.hooks.addPack(e,MG(t)),"fas"===e&&Px("fa",t)}var bp,Mp,_p,r6=Fi.styles,Pze=Fi.shims,$ze=(Gn(bp={},tn,Object.values(N8[tn])),Gn(bp,_n,Object.values(N8[_n])),bp),$x=null,_G={},wG={},xG={},zG={},HG={},Bze=(Gn(Mp={},tn,Object.keys(L8[tn])),Gn(Mp,_n,Object.keys(L8[_n])),Mp);var SG=function(){var t=function(a){return Rx(r6,function(s,o,c){return s[c]=Rx(o,a,{}),s},{})};_G=t(function(i,a,s){return a[3]&&(i[a[3]]=s),a[2]&&a[2].filter(function(c){return"number"==typeof c}).forEach(function(c){i[c.toString(16)]=s}),i}),wG=t(function(i,a,s){return i[s]=s,a[2]&&a[2].filter(function(c){return"string"==typeof c}).forEach(function(c){i[c]=s}),i}),HG=t(function(i,a,s){var o=a[2];return i[s]=s,o.forEach(function(c){i[c]=s}),i});var n="far"in r6||De.autoFetchSvg,r=Rx(Pze,function(i,a){var s=a[0],o=a[1],c=a[2];return"far"===o&&!n&&(o="fas"),"string"==typeof s&&(i.names[s]={prefix:o,iconName:c}),"number"==typeof s&&(i.unicodes[s.toString(16)]={prefix:o,iconName:c}),i},{names:{},unicodes:{}});xG=r.names,zG=r.unicodes,$x=wp(De.styleDefault,{family:De.familyDefault})};function Bx(e,t){return(_G[e]||{})[t]}function v4(e,t){return(HG[e]||{})[t]}function EG(e){return xG[e]||{prefix:null,iconName:null}}function vc(){return $x}(function Sze(e){I8.push(e)})(function(e){$x=wp(e.styleDefault,{family:De.familyDefault})}),SG();var Ux=function(){return{prefix:null,iconName:null,rest:[]}};function wp(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).family,r=void 0===n?tn:n;return A8[r][e]||A8[r][L8[r][e]]||(e in Fi.styles?e:null)||null}var VG=(Gn(_p={},tn,Object.keys(N8[tn])),Gn(_p,_n,Object.keys(N8[_n])),_p);function xp(e){var t,r=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).skipLookups,i=void 0!==r&&r,a=(Gn(t={},tn,"".concat(De.cssPrefix,"-").concat(tn)),Gn(t,_n,"".concat(De.cssPrefix,"-").concat(_n)),t),s=null,o=tn;(e.includes(a[tn])||e.some(function(l){return VG[tn].includes(l)}))&&(o=tn),(e.includes(a[_n])||e.some(function(l){return VG[_n].includes(l)}))&&(o=_n);var c=e.reduce(function(l,u){var f=function jze(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r!==e||""===i||function Uze(e){return~wze.indexOf(e)}(i)?null:i}(De.cssPrefix,u);if(r6[u]?(u=$ze[o].includes(u)?vze[o][u]:u,s=u,l.prefix=u):Bze[o].indexOf(u)>-1?(s=u,l.prefix=wp(u,{family:o})):f?l.iconName=f:u!==De.replacementClass&&u!==a[tn]&&u!==a[_n]&&l.rest.push(u),!i&&l.prefix&&l.iconName){var d="fa"===s?EG(l.iconName):{},h=v4(l.prefix,l.iconName);d.prefix&&(s=null),l.iconName=d.iconName||h||l.iconName,l.prefix=d.prefix||l.prefix,"far"===l.prefix&&!r6.far&&r6.fas&&!De.autoFetchSvg&&(l.prefix="fas")}return l},Ux());return(e.includes("fa-brands")||e.includes("fab"))&&(c.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(c.prefix="fad"),!c.prefix&&o===_n&&(r6.fass||De.autoFetchSvg)&&(c.prefix="fass",c.iconName=v4(c.prefix,c.iconName)||c.iconName),("fa"===c.prefix||"fa"===s)&&(c.prefix=vc()||"fas"),c}var Wze=function(){function e(){(function ize(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")})(this,e),this.definitions={}}return function aze(e,t,n){t&&Jq(e.prototype,t),n&&Jq(e,n),Object.defineProperty(e,"prototype",{writable:!1})}(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&u.forEach(function(f){"string"==typeof f&&(n[o][f]=l)}),n[o][c]=l}),n}}]),e}(),DG=[],i6={},a6={},Yze=Object.keys(a6);function jx(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{};return to?(y4("beforeI2svg",t),io("pseudoElements2svg",t),io("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.autoReplaceSvgRoot;!1===De.autoReplaceSvg&&(De.autoReplaceSvg=!0),De.observeMutations=!0,function Ize(e){to&&(Cp?setTimeout(e,0):CG.push(e))}(function(){Jze({autoReplaceSvgRoot:n}),y4("watch",t)})}},_r={noAuto:function(){De.autoReplaceSvg=!1,De.observeMutations=!1,y4("noAuto")},config:De,dom:Zze,parse:{icon:function(t){if(null===t)return null;if("object"===up(t)&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:v4(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&2===t.length){var n=0===t[1].indexOf("fa-")?t[1].slice(3):t[1],r=wp(t[0]);return{prefix:r,iconName:v4(r,n)||n}}if("string"==typeof t&&(t.indexOf("".concat(De.cssPrefix,"-"))>-1||t.match(yze))){var i=xp(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||vc(),iconName:v4(i.prefix,i.iconName)||i.iconName}}if("string"==typeof t){var a=vc();return{prefix:a,iconName:v4(a,t)||t}}}},library:LG,findIconDefinition:qx,toHtml:R8},Jze=function(){var n=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).autoReplaceSvgRoot,r=void 0===n?en:n;(Object.keys(Fi.styles).length>0||De.autoFetchSvg)&&to&&De.autoReplaceSvg&&_r.dom.i2svg({node:r})};function zp(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return R8(r)})}}),Object.defineProperty(e,"node",{get:function(){if(to){var r=en.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function Gx(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,s=e.transform,o=e.symbol,c=e.title,l=e.maskId,u=e.titleId,f=e.extra,d=e.watchable,h=void 0!==d&&d,p=r.found?r:n,m=p.width,g=p.height,v="fak"===i,y=[De.replacementClass,a?"".concat(De.cssPrefix,"-").concat(a):""].filter(function(V){return-1===f.classes.indexOf(V)}).filter(function(V){return""!==V||!!V}).concat(f.classes).join(" "),C={children:[],attributes:ze(ze({},f.attributes),{},{"data-prefix":i,"data-icon":a,class:y,role:f.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(g)})},b=v&&!~f.classes.indexOf("fa-fw")?{width:"".concat(m/g*16*.0625,"em")}:{};h&&(C.attributes[m4]=""),c&&(C.children.push({tag:"title",attributes:{id:C.attributes["aria-labelledby"]||"title-".concat(u||F8())},children:[c]}),delete C.attributes.title);var M=ze(ze({},C),{},{prefix:i,iconName:a,main:n,mask:r,maskId:l,transform:s,symbol:o,styles:ze(ze({},b),f.styles)}),w=r.found&&n.found?io("generateAbstractMask",M)||{children:[],attributes:{}}:io("generateAbstractIcon",M)||{children:[],attributes:{}},z=w.attributes;return M.children=w.children,M.attributes=z,o?function tHe(e){var n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,s=!0===a?"".concat(e.prefix,"-").concat(De.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:ze(ze({},i),{},{id:s}),children:r}]}]}(M):function eHe(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,s=e.transform;if(Ix(s)&&n.found&&!r.found){var l={x:n.width/n.height/2,y:.5};i.style=yp(ze(ze({},a),{},{"transform-origin":"".concat(l.x+s.x/16,"em ").concat(l.y+s.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(M)}function AG(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,s=e.extra,o=e.watchable,c=void 0!==o&&o,l=ze(ze(ze({},s.attributes),a?{title:a}:{}),{},{class:s.classes.join(" ")});c&&(l[m4]="");var u=ze({},s.styles);Ix(i)&&(u.transform=function Aze(e){var t=e.transform,n=e.width,i=e.height,a=void 0===i?16:i,s=e.startCentered,o=void 0!==s&&s,c="";return c+=o&&cG?"translate(".concat(t.x/16-(void 0===n?16:n)/2,"em, ").concat(t.y/16-a/2,"em) "):o?"translate(calc(-50% + ".concat(t.x/16,"em), calc(-50% + ").concat(t.y/16,"em)) "):"translate(".concat(t.x/16,"em, ").concat(t.y/16,"em) "),(c+="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "))+"rotate(".concat(t.rotate,"deg) ")}({transform:i,startCentered:!0,width:n,height:r}),u["-webkit-transform"]=u.transform);var f=yp(u);f.length>0&&(l.style=f);var d=[];return d.push({tag:"span",attributes:l,children:[t]}),a&&d.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),d}var Wx=Fi.styles;function Yx(e){var t=e[0],n=e[1],a=Sx(e.slice(4),1)[0];return{found:!0,width:t,height:n,icon:Array.isArray(a)?{tag:"g",attributes:{class:"".concat(De.cssPrefix,"-").concat(g4.GROUP)},children:[{tag:"path",attributes:{class:"".concat(De.cssPrefix,"-").concat(g4.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(De.cssPrefix,"-").concat(g4.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}}}}var rHe={found:!1,width:512,height:512};function Xx(e,t){var n=t;return"fa"===t&&null!==De.styleDefault&&(t=vc()),new Promise(function(r,i){if(io("missingIconAbstract"),"fa"===n){var s=EG(e)||{};e=s.iconName||e,t=s.prefix||t}if(e&&t&&Wx[t]&&Wx[t][e])return r(Yx(Wx[t][e]));(function iHe(e,t){!dG&&!De.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))})(e,t),r(ze(ze({},rHe),{},{icon:De.showMissingIcons&&e&&io("missingIconAbstract")||{}}))})}var NG=function(){},Qx=De.measurePerformance&&dp&&dp.mark&&dp.measure?dp:{mark:NG,measure:NG},O8='FA "6.4.2"',kG=function(t){Qx.mark("".concat(O8," ").concat(t," ends")),Qx.measure("".concat(O8," ").concat(t),"".concat(O8," ").concat(t," begins"),"".concat(O8," ").concat(t," ends"))},Zx={begin:function(t){return Qx.mark("".concat(O8," ").concat(t," begins")),function(){return kG(t)}},end:kG},Hp=function(){};function TG(e){return"string"==typeof(e.getAttribute?e.getAttribute(m4):null)}function lHe(e){return en.createElementNS("http://www.w3.org/2000/svg",e)}function uHe(e){return en.createElement(e)}function IG(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).ceFn,r=void 0===n?"svg"===e.tag?lHe:uHe:n;if("string"==typeof e)return en.createTextNode(e);var i=r(e.tag);return Object.keys(e.attributes||[]).forEach(function(s){i.setAttribute(s,e.attributes[s])}),(e.children||[]).forEach(function(s){i.appendChild(IG(s,{ceFn:r}))}),i}var Sp={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(IG(i),n)}),null===n.getAttribute(m4)&&De.keepOriginalSource){var r=en.createComment(function fHe(e){var t=" ".concat(e.outerHTML," ");return"".concat(t,"Font Awesome fontawesome.com ")}(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~Tx(n).indexOf(De.replacementClass))return Sp.replace(t);var i=new RegExp("".concat(De.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(o,c){return c===De.replacementClass||c.match(i)?o.toSvg.push(c):o.toNode.push(c),o},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),0===a.toNode.length?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var s=r.map(function(o){return R8(o)}).join("\n");n.setAttribute(m4,""),n.innerHTML=s}};function FG(e){e()}function RG(e,t){var n="function"==typeof t?t:Hp;if(0===e.length)n();else{var r=FG;De.mutateApproach===mze&&(r=mc.requestAnimationFrame||FG),r(function(){var i=function cHe(){return!0===De.autoReplaceSvg?Sp.replace:Sp[De.autoReplaceSvg]||Sp.replace}(),a=Zx.begin("mutate");e.map(i),a(),n()})}}var Kx=!1;function OG(){Kx=!0}function Jx(){Kx=!1}var Ep=null;function PG(e){if(oG&&De.observeMutations){var t=e.treeCallback,n=void 0===t?Hp:t,r=e.nodeCallback,i=void 0===r?Hp:r,a=e.pseudoElementsCallback,s=void 0===a?Hp:a,o=e.observeMutationsRoot,c=void 0===o?en:o;Ep=new oG(function(l){if(!Kx){var u=vc();n6(l).forEach(function(f){if("childList"===f.type&&f.addedNodes.length>0&&!TG(f.addedNodes[0])&&(De.searchPseudoElements&&s(f.target),n(f.target)),"attributes"===f.type&&f.target.parentNode&&De.searchPseudoElements&&s(f.target.parentNode),"attributes"===f.type&&TG(f.target)&&~_ze.indexOf(f.attributeName))if("class"===f.attributeName&&function sHe(e){var t=e.getAttribute?e.getAttribute(Ax):null,n=e.getAttribute?e.getAttribute(Nx):null;return t&&n}(f.target)){var d=xp(Tx(f.target)),p=d.iconName;f.target.setAttribute(Ax,d.prefix||u),p&&f.target.setAttribute(Nx,p)}else(function oHe(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(De.replacementClass)})(f.target)&&i(f.target)})}}),to&&Ep.observe(c,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function $G(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{styleParser:!0},n=function pHe(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=void 0!==e.innerText?e.innerText.trim():"",i=xp(Tx(e));return i.prefix||(i.prefix=vc()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=function qze(e,t){return(wG[e]||{})[t]}(i.prefix,e.innerText)||Bx(i.prefix,Ox(e.innerText))),!i.iconName&&De.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}(e),r=n.iconName,i=n.prefix,a=n.rest,s=function mHe(e){var t=n6(e.attributes).reduce(function(i,a){return"class"!==i.name&&"style"!==i.name&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return De.autoA11y&&(n?t["aria-labelledby"]="".concat(De.replacementClass,"-title-").concat(r||F8()):(t["aria-hidden"]="true",t.focusable="false")),t}(e),o=jx("parseNodeAttributes",{},e),c=t.styleParser?function hHe(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),s=a[0],o=a.slice(1);return s&&o.length>0&&(r[s]=o.join(":").trim()),r},{})),n}(e):[];return ze({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Ba,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:c,attributes:s}},o)}var vHe=Fi.styles;function BG(e){var t="nest"===De.autoReplaceSvg?$G(e,{styleParser:!1}):$G(e);return~t.extra.classes.indexOf(hG)?io("generateLayersText",e,t):io("generateSvgReplacementMutation",e,t)}var yc=new Set;function UG(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!to)return Promise.resolve();var n=en.documentElement.classList,r=function(f){return n.add("".concat(fG,"-").concat(f))},i=function(f){return n.remove("".concat(fG,"-").concat(f))},a=De.autoFetchSvg?yc:kx.map(function(u){return"fa-".concat(u)}).concat(Object.keys(vHe));a.includes("fa")||a.push("fa");var s=[".".concat(hG,":not([").concat(m4,"])")].concat(a.map(function(u){return".".concat(u,":not([").concat(m4,"])")})).join(", ");if(0===s.length)return Promise.resolve();var o=[];try{o=n6(e.querySelectorAll(s))}catch{}if(!(o.length>0))return Promise.resolve();r("pending"),i("complete");var c=Zx.begin("onTree"),l=o.reduce(function(u,f){try{var d=BG(f);d&&u.push(d)}catch(h){dG||"MissingIcon"===h.name&&console.error(h)}return u},[]);return new Promise(function(u,f){Promise.all(l).then(function(d){RG(d,function(){r("active"),r("complete"),i("pending"),"function"==typeof t&&t(),c(),u()})}).catch(function(d){c(),f(d)})})}function yHe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;BG(e).then(function(n){n&&RG([n],t)})}kx.map(function(e){yc.add("fa-".concat(e))}),Object.keys(L8[tn]).map(yc.add.bind(yc)),Object.keys(L8[_n]).map(yc.add.bind(yc)),yc=V8(yc);var bHe=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.transform,i=void 0===r?Ba:r,a=n.symbol,s=void 0!==a&&a,o=n.mask,c=void 0===o?null:o,l=n.maskId,u=void 0===l?null:l,f=n.title,d=void 0===f?null:f,h=n.titleId,p=void 0===h?null:h,m=n.classes,g=void 0===m?[]:m,v=n.attributes,y=void 0===v?{}:v,C=n.styles,b=void 0===C?{}:C;if(t){var M=t.prefix,w=t.iconName,_=t.icon;return zp(ze({type:"icon"},t),function(){return y4("beforeDOMElementCreation",{iconDefinition:t,params:n}),De.autoA11y&&(d?y["aria-labelledby"]="".concat(De.replacementClass,"-title-").concat(p||F8()):(y["aria-hidden"]="true",y.focusable="false")),Gx({icons:{main:Yx(_),mask:c?Yx(c.icon):{found:!1,width:null,height:null,icon:{}}},prefix:M,iconName:w,transform:ze(ze({},Ba),i),symbol:s,title:d,maskId:u,titleId:p,extra:{attributes:y,styles:b,classes:g}})})}},MHe={mixout:function(){return{icon:(e=bHe,function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t||{}).icon?t:qx(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:qx(i||{})),e(r,ze(ze({},n),{},{mask:i}))})};var e},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=UG,n.nodeCallback=yHe,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,a=n.callback;return UG(void 0===r?en:r,void 0===a?function(){}:a)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,s=r.titleId,o=r.prefix,c=r.transform,l=r.symbol,u=r.mask,f=r.maskId,d=r.extra;return new Promise(function(h,p){Promise.all([Xx(i,o),u.iconName?Xx(u.iconName,u.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(m){var g=Sx(m,2);h([n,Gx({icons:{main:g[0],mask:g[1]},prefix:o,iconName:i,transform:c,symbol:l,maskId:f,title:a,titleId:s,extra:d,watchable:!0})])}).catch(p)})},t.generateAbstractIcon=function(n){var l,r=n.children,i=n.attributes,a=n.main,s=n.transform,c=yp(n.styles);return c.length>0&&(i.style=c),Ix(s)&&(l=io("generateAbstractTransformGrouping",{main:a,transform:s,containerWidth:a.width,iconWidth:a.width})),r.push(l||a.icon),{children:r,attributes:i}}}},_He={mixout:function(){return{layer:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.classes,a=void 0===i?[]:i;return zp({type:"layer"},function(){y4("beforeDOMElementCreation",{assembler:n,params:r});var s=[];return n(function(o){Array.isArray(o)?o.map(function(c){s=s.concat(c.abstract)}):s=s.concat(o.abstract)}),[{tag:"span",attributes:{class:["".concat(De.cssPrefix,"-layers")].concat(V8(a)).join(" ")},children:s}]})}}}},wHe={mixout:function(){return{counter:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.title,a=void 0===i?null:i,s=r.classes,o=void 0===s?[]:s,c=r.attributes,l=void 0===c?{}:c,u=r.styles,f=void 0===u?{}:u;return zp({type:"counter",content:n},function(){return y4("beforeDOMElementCreation",{content:n,params:r}),function nHe(e){var t=e.content,n=e.title,r=e.extra,i=ze(ze(ze({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=yp(r.styles);a.length>0&&(i.style=a);var s=[];return s.push({tag:"span",attributes:i,children:[t]}),n&&s.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),s}({content:n.toString(),title:a,extra:{attributes:l,styles:f,classes:["".concat(De.cssPrefix,"-layers-counter")].concat(V8(o))}})})}}}},xHe={mixout:function(){return{text:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.transform,a=void 0===i?Ba:i,s=r.title,o=void 0===s?null:s,c=r.classes,l=void 0===c?[]:c,u=r.attributes,f=void 0===u?{}:u,d=r.styles,h=void 0===d?{}:d;return zp({type:"text",content:n},function(){return y4("beforeDOMElementCreation",{content:n,params:r}),AG({content:n,transform:ze(ze({},Ba),a),title:o,extra:{attributes:f,styles:h,classes:["".concat(De.cssPrefix,"-layers-text")].concat(V8(l))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,s=r.extra,o=null,c=null;if(cG){var l=parseInt(getComputedStyle(n).fontSize,10),u=n.getBoundingClientRect();o=u.width/l,c=u.height/l}return De.autoA11y&&!i&&(s.attributes["aria-hidden"]="true"),Promise.resolve([n,AG({content:n.innerHTML,width:o,height:c,transform:a,title:i,extra:s,watchable:!0})])}}},zHe=new RegExp('"',"ug"),jG=[1105920,1112319];function qG(e,t){var n="".concat(pze).concat(t.replace(":","-"));return new Promise(function(r,i){if(null!==e.getAttribute(n))return r();var s=n6(e.children).filter(function(_){return _.getAttribute(Lx)===t})[0],o=mc.getComputedStyle(e,t),c=o.getPropertyValue("font-family").match(Cze),l=o.getPropertyValue("font-weight"),u=o.getPropertyValue("content");if(s&&!c)return e.removeChild(s),r();if(c&&"none"!==u&&""!==u){var f=o.getPropertyValue("content"),d=~["Sharp"].indexOf(c[2])?_n:tn,h=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(c[2])?A8[d][c[2].toLowerCase()]:bze[d][l],p=function HHe(e){var t=e.replace(zHe,""),n=function Oze(e,t){var i,n=e.length,r=e.charCodeAt(t);return r>=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1))>=56320&&i<=57343?1024*(r-55296)+i-56320+65536:r}(t,0),r=n>=jG[0]&&n<=jG[1],i=2===t.length&&t[0]===t[1];return{value:Ox(i?t[0]:t),isSecondary:r||i}}(f),m=p.value,g=p.isSecondary,v=c[0].startsWith("FontAwesome"),y=Bx(h,m),C=y;if(v){var b=function Gze(e){var t=zG[e],n=Bx("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}(m);b.iconName&&b.prefix&&(y=b.iconName,h=b.prefix)}if(!y||g||s&&s.getAttribute(Ax)===h&&s.getAttribute(Nx)===C)r();else{e.setAttribute(n,C),s&&e.removeChild(s);var M=function gHe(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Ba,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}(),w=M.extra;w.attributes[Lx]=t,Xx(y,h).then(function(_){var z=Gx(ze(ze({},M),{},{icons:{main:_,mask:Ux()},prefix:h,iconName:C,extra:w,watchable:!0})),V=en.createElementNS("http://www.w3.org/2000/svg","svg");"::before"===t?e.insertBefore(V,e.firstChild):e.appendChild(V),V.outerHTML=z.map(function(D){return R8(D)}).join("\n"),e.removeAttribute(n),r()}).catch(i)}}else r()})}function SHe(e){return Promise.all([qG(e,"::before"),qG(e,"::after")])}function EHe(e){return!(e.parentNode===document.head||~gze.indexOf(e.tagName.toUpperCase())||e.getAttribute(Lx)||e.parentNode&&"svg"===e.parentNode.tagName)}function GG(e){if(to)return new Promise(function(t,n){var r=n6(e.querySelectorAll("*")).filter(EHe).map(SHe),i=Zx.begin("searchPseudoElements");OG(),Promise.all(r).then(function(){i(),Jx(),t()}).catch(function(){i(),Jx(),n()})})}var WG=!1,YG=function(t){return t.toLowerCase().split(" ").reduce(function(r,i){var a=i.toLowerCase().split("-"),s=a[0],o=a.slice(1).join("-");if(s&&"h"===o)return r.flipX=!0,r;if(s&&"v"===o)return r.flipY=!0,r;if(o=parseFloat(o),isNaN(o))return r;switch(s){case"grow":r.size=r.size+o;break;case"shrink":r.size=r.size-o;break;case"left":r.x=r.x-o;break;case"right":r.x=r.x+o;break;case"up":r.y=r.y-o;break;case"down":r.y=r.y+o;break;case"rotate":r.rotate=r.rotate+o}return r},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},ez={x:0,y:0,width:"100%",height:"100%"};function XG(e){return e.attributes&&(e.attributes.fill||!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e.attributes.fill="black"),e}var NHe={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?xp(i.split(" ").map(function(s){return s.trim()})):Ux();return a.prefix||(a.prefix=vc()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var e,r=n.children,i=n.attributes,a=n.main,s=n.mask,o=n.maskId,u=a.icon,d=s.icon,h=function Lze(e){var t=e.transform,r=e.iconWidth,i={transform:"translate(".concat(e.containerWidth/2," 256)")},a="translate(".concat(32*t.x,", ").concat(32*t.y,") "),s="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),o="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(a," ").concat(s," ").concat(o)},path:{transform:"translate(".concat(r/2*-1," -256)")}}}({transform:n.transform,containerWidth:s.width,iconWidth:a.width}),p={tag:"rect",attributes:ze(ze({},ez),{},{fill:"white"})},m=u.children?{children:u.children.map(XG)}:{},g={tag:"g",attributes:ze({},h.inner),children:[XG(ze({tag:u.tag,attributes:ze(ze({},u.attributes),h.path)},m))]},v={tag:"g",attributes:ze({},h.outer),children:[g]},y="mask-".concat(o||F8()),C="clip-".concat(o||F8()),b={tag:"mask",attributes:ze(ze({},ez),{},{id:y,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,v]},M={tag:"defs",children:[{tag:"clipPath",attributes:{id:C},children:(e=d,"g"===e.tag?e.children:[e])},b]};return r.push(M,{tag:"rect",attributes:ze({fill:"currentColor","clip-path":"url(#".concat(C,")"),mask:"url(#".concat(y,")")},ez)}),{children:r,attributes:i}}}};!function Xze(e,t){var n=t.mixoutsTo;DG=e,i6={},Object.keys(a6).forEach(function(r){-1===Yze.indexOf(r)&&delete a6[r]}),DG.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(s){"function"==typeof i[s]&&(n[s]=i[s]),"object"===up(i[s])&&Object.keys(i[s]).forEach(function(o){n[s]||(n[s]={}),n[s][o]=i[s][o]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(s){i6[s]||(i6[s]=[]),i6[s].push(a[s])})}r.provides&&r.provides(a6)})}([kze,MHe,_He,wHe,xHe,{hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=GG,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node;De.searchPseudoElements&&GG(void 0===r?en:r)}}},{mixout:function(){return{dom:{unwatch:function(){OG(),WG=!0}}}},hooks:function(){return{bootstrap:function(){PG(jx("mutationObserverCallbacks",{}))},noAuto:function(){!function dHe(){Ep&&Ep.disconnect()}()},watch:function(n){var r=n.observeMutationsRoot;WG?Jx():PG(jx("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},{mixout:function(){return{parse:{transform:function(n){return YG(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=YG(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,s=n.iconWidth,o={transform:"translate(".concat(n.containerWidth/2," 256)")},c="translate(".concat(32*i.x,", ").concat(32*i.y,") "),l="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),u="rotate(".concat(i.rotate," 0 0)"),h={outer:o,inner:{transform:"".concat(c," ").concat(l," ").concat(u)},path:{transform:"translate(".concat(s/2*-1," -256)")}};return{tag:"g",attributes:ze({},h.outer),children:[{tag:"g",attributes:ze({},h.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:ze(ze({},r.icon.attributes),h.path)}]}]}}}},NHe,{provides:function(t){var n=!1;mc.matchMedia&&(n=mc.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:ze(ze({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var s=ze(ze({},a),{},{attributeName:"opacity"}),o={tag:"circle",attributes:ze(ze({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||o.children.push({tag:"animate",attributes:ze(ze({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:ze(ze({},s),{},{values:"1;0;1;1;0;1;"})}),r.push(o),r.push({tag:"path",attributes:ze(ze({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:ze(ze({},s),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:ze(ze({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:ze(ze({},s),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},{hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol");return n.symbol=null!==i&&(""===i||i),n}}}}],{mixoutsTo:_r});var FHe=_r.parse,RHe=_r.icon;const OHe=["*"],BHe=e=>{const t={[`fa-${e.animation}`]:null!=e.animation&&!e.animation.startsWith("spin"),"fa-spin":"spin"===e.animation||"spin-reverse"===e.animation,"fa-spin-pulse":"spin-pulse"===e.animation||"spin-pulse-reverse"===e.animation,"fa-spin-reverse":"spin-reverse"===e.animation||"spin-pulse-reverse"===e.animation,"fa-pulse":"spin-pulse"===e.animation||"spin-pulse-reverse"===e.animation,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-inverse":e.inverse,"fa-layers-counter":e.counter,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip,[`fa-${e.size}`]:null!==e.size,[`fa-rotate-${e.rotate}`]:null!==e.rotate,[`fa-pull-${e.pull}`]:null!==e.pull,[`fa-stack-${e.stackItemSize}`]:null!=e.stackItemSize};return Object.keys(t).map(n=>t[n]?n:null).filter(n=>n)};let qHe=(()=>{class e{constructor(){this.defaultPrefix="fas",this.fallbackIcon=null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),GHe=(()=>{class e{constructor(){this.definitions={}}addIcons(...n){for(const r of n){r.prefix in this.definitions||(this.definitions[r.prefix]={}),this.definitions[r.prefix][r.iconName]=r;for(const i of r.icon[2])"string"==typeof i&&(this.definitions[r.prefix][i]=r)}}addIconPacks(...n){for(const r of n){const i=Object.keys(r).map(a=>r[a]);this.addIcons(...i)}}getIconDefinition(n,r){return n in this.definitions&&r in this.definitions[n]?this.definitions[n][r]:null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),WHe=(()=>{class e{constructor(){this.stackItemSize="1x"}ngOnChanges(n){if("size"in n)throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. Set size on the enclosing fa-stack instead: ....')}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=Ue({type:e,selectors:[["fa-icon","stackItemSize",""],["fa-duotone-icon","stackItemSize",""]],inputs:{stackItemSize:"stackItemSize",size:"size"},features:[r2]})}return e})(),YHe=(()=>{class e{constructor(n,r){this.renderer=n,this.elementRef=r}ngOnInit(){this.renderer.addClass(this.elementRef.nativeElement,"fa-stack")}ngOnChanges(n){"size"in n&&(null!=n.size.currentValue&&this.renderer.addClass(this.elementRef.nativeElement,`fa-${n.size.currentValue}`),null!=n.size.previousValue&&this.renderer.removeClass(this.elementRef.nativeElement,`fa-${n.size.previousValue}`))}static#e=this.\u0275fac=function(r){return new(r||e)(q(Aa),q(P2))};static#t=this.\u0275cmp=kt({type:e,selectors:[["fa-stack"]],inputs:{size:"size"},features:[r2],ngContentSelectors:OHe,decls:1,vars:0,template:function(r,i){1&r&&(function qP(e){const t=ee()[Ln][T1];if(!t.projection){const r=t.projection=kf(e?e.length:1,null),i=r.slice();let a=t.child;for(;null!==a;){const s=e?Qge(a,e):0;null!==s&&(i[s]?i[s].projectionNext=a:r[s]=a,i[s]=a),a=a.next}}}(),function GP(e,t=0,n){const r=ee(),i=pt(),a=N0(i,ct+e,16,null,n||null);null===a.projection&&(a.projection=t),mM(),(!r[Os]||f0())&&32!=(32&a.flags)&&function Y9e(e,t,n){WR(t[Ye],0,t,n,BM(e,n,t),$R(n.parent||t[T1],n,t))}(i,r,a)}(0))},encapsulation:2})}return e})(),QG=(()=>{class e{set spin(n){this.animation=n?"spin":void 0}set pulse(n){this.animation=n?"spin-pulse":void 0}constructor(n,r,i,a,s){this.sanitizer=n,this.config=r,this.iconLibrary=i,this.stackItem=a,this.classes=[],null!=s&&null==a&&console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into fa-stack. Example: .')}ngOnChanges(n){if(null!=this.icon||null!=this.config.fallbackIcon){if(n){const i=this.findIconDefinition(null!=this.icon?this.icon:this.config.fallbackIcon);if(null!=i){const a=this.buildParams();this.renderIcon(i,a)}}}else(()=>{throw new Error("Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.")})()}render(){this.ngOnChanges({})}findIconDefinition(n){const r=((e,t)=>(e=>void 0!==e.prefix&&void 0!==e.iconName)(e)?e:"string"==typeof e?{prefix:t,iconName:e}:{prefix:e[0],iconName:e[1]})(n,this.config.defaultPrefix);return"icon"in r?r:this.iconLibrary.getIconDefinition(r.prefix,r.iconName)??((e=>{throw new Error(`Could not find icon with iconName=${e.iconName} and prefix=${e.prefix} in the icon library.`)})(r),null)}buildParams(){const n={flip:this.flip,animation:this.animation,border:this.border,inverse:this.inverse,size:this.size||null,pull:this.pull||null,rotate:this.rotate||null,fixedWidth:"boolean"==typeof this.fixedWidth?this.fixedWidth:this.config.fixedWidth,stackItemSize:null!=this.stackItem?this.stackItem.stackItemSize:null},r="string"==typeof this.transform?FHe.transform(this.transform):this.transform;return{title:this.title,transform:r,classes:[...BHe(n),...this.classes],mask:null!=this.mask?this.findIconDefinition(this.mask):null,styles:null!=this.styles?this.styles:{},symbol:this.symbol,attributes:{role:this.a11yRole}}}renderIcon(n,r){const i=RHe(n,r);this.renderedIconHTML=this.sanitizer.bypassSecurityTrustHtml(i.html.join("\n"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ej),q(qHe),q(GHe),q(WHe,8),q(YHe,8))};static#t=this.\u0275cmp=kt({type:e,selectors:[["fa-icon"]],hostAttrs:[1,"ng-fa-icon"],hostVars:2,hostBindings:function(r,i){2&r&&(W_("innerHTML",i.renderedIconHTML,sO),Vi("title",i.title))},inputs:{icon:"icon",title:"title",animation:"animation",spin:"spin",pulse:"pulse",mask:"mask",styles:"styles",flip:"flip",size:"size",pull:"pull",border:"border",inverse:"inverse",symbol:"symbol",rotate:"rotate",fixedWidth:"fixedWidth",classes:"classes",transform:"transform",a11yRole:"a11yRole"},features:[r2],decls:0,vars:0,template:function(r,i){},encapsulation:2})}return e})(),XHe=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({})}return e})();function tz(...e){const t=mf(e),n=RI(e),{args:r,keys:i}=Yj(e);if(0===r.length)return $n([],t);const a=new Kt(function ZHe(e,t,n=Xo){return r=>{ZG(t,()=>{const{length:i}=e,a=new Array(i);let s=i,o=i;for(let c=0;c{const l=$n(e[c],t);let u=!1;l.subscribe(Vn(r,f=>{a[c]=f,u||(u=!0,o--),o||r.next(n(a.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,t,i?s=>Xj(i,s):Xo));return n?a.pipe(lx(n)):a}function ZG(e,t,n){e?Is(n,e,t):t()}const Vp=q3(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function P8(...e){return function KHe(){return e0(1)}()($n(e,mf(e)))}function Dp(e){return new Kt(t=>{k1(e()).subscribe(t)})}function s6(e,t){const n=it(e)?e:()=>e,r=i=>i.error(n());return new Kt(t?i=>t.schedule(r,0,i):r)}function nz(){return En((e,t)=>{let n=null;e._refCount++;const r=Vn(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(n=null);const i=e._connection,a=n;n=null,i&&(!a||i===a)&&i.unsubscribe(),t.unsubscribe()});e.subscribe(r),r.closed||(n=e.connect())})}class rz extends Kt{constructor(t,n){super(),this.source=t,this.subjectFactory=n,this._subject=null,this._refCount=0,this._connection=null,wI(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new N1;const n=this.getSubject();t.add(this.source.subscribe(Vn(n,void 0,()=>{this._teardown(),n.complete()},r=>{this._teardown(),n.error(r)},()=>this._teardown()))),t.closed&&(this._connection=null,t=N1.EMPTY)}return t}refCount(){return nz()(this)}}function $e(e){return e<=0?()=>_a:En((t,n)=>{let r=0;t.subscribe(Vn(n,i=>{++r<=e&&(n.next(i),e<=r&&n.complete())}))})}function Lp(e){return En((t,n)=>{let r=!1;t.subscribe(Vn(n,i=>{r=!0,n.next(i)},()=>{r||n.next(e),n.complete()}))})}function KG(e=eSe){return En((t,n)=>{let r=!1;t.subscribe(Vn(n,i=>{r=!0,n.next(i)},()=>r?n.complete():n.error(e())))})}function eSe(){return new Vp}function C4(e,t){const n=arguments.length>=2;return r=>r.pipe(e?h2((i,a)=>e(i,a,r)):Xo,$e(1),n?Lp(t):KG(()=>new Vp))}function w1(e,t,n){const r=it(e)||t||n?{next:e,error:t,complete:n}:e;return r?En((i,a)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let o=!0;i.subscribe(Vn(a,c=>{var l;null===(l=r.next)||void 0===l||l.call(r,c),a.next(c)},()=>{var c;o=!1,null===(c=r.complete)||void 0===c||c.call(r),a.complete()},c=>{var l;o=!1,null===(l=r.error)||void 0===l||l.call(r,c),a.error(c)},()=>{var c,l;o&&(null===(c=r.unsubscribe)||void 0===c||c.call(r)),null===(l=r.finalize)||void 0===l||l.call(r)}))}):Xo}function b4(e){return En((t,n)=>{let a,r=null,i=!1;r=t.subscribe(Vn(n,void 0,void 0,s=>{a=k1(e(s,b4(e)(t))),r?(r.unsubscribe(),r=null,a.subscribe(n)):i=!0})),i&&(r.unsubscribe(),r=null,a.subscribe(n))})}function iz(e){return e<=0?()=>_a:En((t,n)=>{let r=[];t.subscribe(Vn(n,i=>{r.push(i),e{for(const i of r)n.next(i);n.complete()},void 0,()=>{r=null}))})}function JG(e){return at(()=>e)}const Je="primary",$8=Symbol("RouteTitle");class aSe{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n[0]:n}return null}getAll(t){if(this.has(t)){const n=this.params[t];return Array.isArray(n)?n:[n]}return[]}get keys(){return Object.keys(this.params)}}function o6(e){return new aSe(e)}function sSe(e,t,n){const r=n.path.split("/");if(r.length>e.length||"full"===n.pathMatch&&(t.hasChildren()||r.lengthr[a]===i)}return e===t}function tW(e){return e.length>0?e[e.length-1]:null}function Cc(e){return function QHe(e){return!!e&&(e instanceof Kt||it(e.lift)&&it(e.subscribe))}(e)?e:t8(e)?$n(Promise.resolve(e)):ve(e)}const cSe={exact:function iW(e,t,n){if(!M4(e.segments,t.segments)||!Ap(e.segments,t.segments,n)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const r in t.children)if(!e.children[r]||!iW(e.children[r],t.children[r],n))return!1;return!0},subset:aW},nW={exact:function lSe(e,t){return Ua(e,t)},subset:function uSe(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(n=>eW(e[n],t[n]))},ignored:()=>!0};function rW(e,t,n){return cSe[n.paths](e.root,t.root,n.matrixParams)&&nW[n.queryParams](e.queryParams,t.queryParams)&&!("exact"===n.fragment&&e.fragment!==t.fragment)}function aW(e,t,n){return sW(e,t,t.segments,n)}function sW(e,t,n,r){if(e.segments.length>n.length){const i=e.segments.slice(0,n.length);return!(!M4(i,n)||t.hasChildren()||!Ap(i,n,r))}if(e.segments.length===n.length){if(!M4(e.segments,n)||!Ap(e.segments,n,r))return!1;for(const i in t.children)if(!e.children[i]||!aW(e.children[i],t.children[i],r))return!1;return!0}{const i=n.slice(0,e.segments.length),a=n.slice(e.segments.length);return!!(M4(e.segments,i)&&Ap(e.segments,i,r)&&e.children[Je])&&sW(e.children[Je],t,a,r)}}function Ap(e,t,n){return t.every((r,i)=>nW[n](e[i].parameters,r.parameters))}class c6{constructor(t=new Ft([],{}),n={},r=null){this.root=t,this.queryParams=n,this.fragment=r}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=o6(this.queryParams)),this._queryParamMap}toString(){return hSe.serialize(this)}}class Ft{constructor(t,n){this.segments=t,this.children=n,this.parent=null,Object.values(n).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Np(this)}}class B8{constructor(t,n){this.path=t,this.parameters=n}get parameterMap(){return this._parameterMap||(this._parameterMap=o6(this.parameters)),this._parameterMap}toString(){return lW(this)}}function M4(e,t){return e.length===t.length&&e.every((n,r)=>n.path===t[r].path)}let U8=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return new az},providedIn:"root"})}return e})();class az{parse(t){const n=new xSe(t);return new c6(n.parseRootSegment(),n.parseQueryParams(),n.parseFragment())}serialize(t){const n=`/${j8(t.root,!0)}`,r=function gSe(e){const t=Object.keys(e).map(n=>{const r=e[n];return Array.isArray(r)?r.map(i=>`${kp(n)}=${kp(i)}`).join("&"):`${kp(n)}=${kp(r)}`}).filter(n=>!!n);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${n}${r}${"string"==typeof t.fragment?`#${function pSe(e){return encodeURI(e)}(t.fragment)}`:""}`}}const hSe=new az;function Np(e){return e.segments.map(t=>lW(t)).join("/")}function j8(e,t){if(!e.hasChildren())return Np(e);if(t){const n=e.children[Je]?j8(e.children[Je],!1):"",r=[];return Object.entries(e.children).forEach(([i,a])=>{i!==Je&&r.push(`${i}:${j8(a,!1)}`)}),r.length>0?`${n}(${r.join("//")})`:n}{const n=function dSe(e,t){let n=[];return Object.entries(e.children).forEach(([r,i])=>{r===Je&&(n=n.concat(t(i,r)))}),Object.entries(e.children).forEach(([r,i])=>{r!==Je&&(n=n.concat(t(i,r)))}),n}(e,(r,i)=>i===Je?[j8(e.children[Je],!1)]:[`${i}:${j8(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Je]?`${Np(e)}/${n[0]}`:`${Np(e)}/(${n.join("//")})`}}function oW(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function kp(e){return oW(e).replace(/%3B/gi,";")}function sz(e){return oW(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Tp(e){return decodeURIComponent(e)}function cW(e){return Tp(e.replace(/\+/g,"%20"))}function lW(e){return`${sz(e.path)}${function mSe(e){return Object.keys(e).map(t=>`;${sz(t)}=${sz(e[t])}`).join("")}(e.parameters)}`}const vSe=/^[^\/()?;#]+/;function oz(e){const t=e.match(vSe);return t?t[0]:""}const ySe=/^[^\/()?;=#]+/,bSe=/^[^=?&#]+/,_Se=/^[^&#]+/;class xSe{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ft([],{}):new Ft([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let n={};this.peekStartsWith("/(")&&(this.capture("/"),n=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(t.length>0||Object.keys(n).length>0)&&(r[Je]=new Ft(t,n)),r}parseSegment(){const t=oz(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new ie(4009,!1);return this.capture(t),new B8(Tp(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const n=function CSe(e){const t=e.match(ySe);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const i=oz(this.remaining);i&&(r=i,this.capture(r))}t[Tp(n)]=Tp(r)}parseQueryParam(t){const n=function MSe(e){const t=e.match(bSe);return t?t[0]:""}(this.remaining);if(!n)return;this.capture(n);let r="";if(this.consumeOptional("=")){const s=function wSe(e){const t=e.match(_Se);return t?t[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const i=cW(n),a=cW(r);if(t.hasOwnProperty(i)){let s=t[i];Array.isArray(s)||(s=[s],t[i]=s),s.push(a)}else t[i]=a}parseParens(t){const n={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=oz(this.remaining),i=this.remaining[r.length];if("/"!==i&&")"!==i&&";"!==i)throw new ie(4010,!1);let a;r.indexOf(":")>-1?(a=r.slice(0,r.indexOf(":")),this.capture(a),this.capture(":")):t&&(a=Je);const s=this.parseChildren();n[a]=1===Object.keys(s).length?s[Je]:new Ft([],s),this.consumeOptional("//")}return n}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new ie(4011,!1)}}function uW(e){return e.segments.length>0?new Ft([],{[Je]:e}):e}function fW(e){const t={};for(const r of Object.keys(e.children)){const a=fW(e.children[r]);if(r===Je&&0===a.segments.length&&a.hasChildren())for(const[s,o]of Object.entries(a.children))t[s]=o;else(a.segments.length>0||a.hasChildren())&&(t[r]=a)}return function zSe(e){if(1===e.numberOfChildren&&e.children[Je]){const t=e.children[Je];return new Ft(e.segments.concat(t.segments),t.children)}return e}(new Ft(e.segments,t))}function _4(e){return e instanceof c6}function dW(e){let t;const i=uW(function n(a){const s={};for(const c of a.children){const l=n(c);s[c.outlet]=l}const o=new Ft(a.url,s);return a===e&&(t=o),o}(e.root));return t??i}function hW(e,t,n,r){let i=e;for(;i.parent;)i=i.parent;if(0===t.length)return cz(i,i,i,n,r);const a=function SSe(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new mW(!0,0,e);let t=0,n=!1;const r=e.reduce((i,a,s)=>{if("object"==typeof a&&null!=a){if(a.outlets){const o={};return Object.entries(a.outlets).forEach(([c,l])=>{o[c]="string"==typeof l?l.split("/"):l}),[...i,{outlets:o}]}if(a.segmentPath)return[...i,a.segmentPath]}return"string"!=typeof a?[...i,a]:0===s?(a.split("/").forEach((o,c)=>{0==c&&"."===o||(0==c&&""===o?n=!0:".."===o?t++:""!=o&&i.push(o))}),i):[...i,a]},[]);return new mW(n,t,r)}(t);if(a.toRoot())return cz(i,i,new Ft([],{}),n,r);const s=function ESe(e,t,n){if(e.isAbsolute)return new Fp(t,!0,0);if(!n)return new Fp(t,!1,NaN);if(null===n.parent)return new Fp(n,!0,0);const r=Ip(e.commands[0])?0:1;return function VSe(e,t,n){let r=e,i=t,a=n;for(;a>i;){if(a-=i,r=r.parent,!r)throw new ie(4005,!1);i=r.segments.length}return new Fp(r,!1,i-a)}(n,n.segments.length-1+r,e.numberOfDoubleDots)}(a,i,e),o=s.processChildren?G8(s.segmentGroup,s.index,a.commands):gW(s.segmentGroup,s.index,a.commands);return cz(i,s.segmentGroup,o,n,r)}function Ip(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function q8(e){return"object"==typeof e&&null!=e&&e.outlets}function cz(e,t,n,r,i){let s,a={};r&&Object.entries(r).forEach(([c,l])=>{a[c]=Array.isArray(l)?l.map(u=>`${u}`):`${l}`}),s=e===t?n:pW(e,t,n);const o=uW(fW(s));return new c6(o,a,i)}function pW(e,t,n){const r={};return Object.entries(e.children).forEach(([i,a])=>{r[i]=a===t?n:pW(a,t,n)}),new Ft(e.segments,r)}class mW{constructor(t,n,r){if(this.isAbsolute=t,this.numberOfDoubleDots=n,this.commands=r,t&&r.length>0&&Ip(r[0]))throw new ie(4003,!1);const i=r.find(q8);if(i&&i!==tW(r))throw new ie(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Fp{constructor(t,n,r){this.segmentGroup=t,this.processChildren=n,this.index=r}}function gW(e,t,n){if(e||(e=new Ft([],{})),0===e.segments.length&&e.hasChildren())return G8(e,t,n);const r=function LSe(e,t,n){let r=0,i=t;const a={match:!1,pathIndex:0,commandIndex:0};for(;i=n.length)return a;const s=e.segments[i],o=n[r];if(q8(o))break;const c=`${o}`,l=r0&&void 0===c)break;if(c&&l&&"object"==typeof l&&void 0===l.outlets){if(!yW(c,l,s))return a;r+=2}else{if(!yW(c,{},s))return a;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(e,t,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndexa!==Je)&&e.children[Je]&&1===e.numberOfChildren&&0===e.children[Je].segments.length){const a=G8(e.children[Je],t,n);return new Ft(e.segments,a.children)}return Object.entries(r).forEach(([a,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(i[a]=gW(e.children[a],t,s))}),Object.entries(e.children).forEach(([a,s])=>{void 0===r[a]&&(i[a]=s)}),new Ft(e.segments,i)}}function lz(e,t,n){const r=e.segments.slice(0,t);let i=0;for(;i{"string"==typeof r&&(r=[r]),null!==r&&(t[n]=lz(new Ft([],{}),0,r))}),t}function vW(e){const t={};return Object.entries(e).forEach(([n,r])=>t[n]=`${r}`),t}function yW(e,t,n){return e==n.path&&Ua(t,n.parameters)}const W8="imperative";class ja{constructor(t,n){this.id=t,this.url=n}}class Rp extends ja{constructor(t,n,r="imperative",i=null){super(t,n),this.type=0,this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class bc extends ja{constructor(t,n,r){super(t,n),this.urlAfterRedirects=r,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Y8 extends ja{constructor(t,n,r,i){super(t,n),this.reason=r,this.code=i,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class l6 extends ja{constructor(t,n,r,i){super(t,n),this.reason=r,this.code=i,this.type=16}}class Op extends ja{constructor(t,n,r,i){super(t,n),this.error=r,this.target=i,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class CW extends ja{constructor(t,n,r,i){super(t,n),this.urlAfterRedirects=r,this.state=i,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class NSe extends ja{constructor(t,n,r,i){super(t,n),this.urlAfterRedirects=r,this.state=i,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class kSe extends ja{constructor(t,n,r,i,a){super(t,n),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=a,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class TSe extends ja{constructor(t,n,r,i){super(t,n),this.urlAfterRedirects=r,this.state=i,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ISe extends ja{constructor(t,n,r,i){super(t,n),this.urlAfterRedirects=r,this.state=i,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class FSe{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class RSe{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class OSe{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class PSe{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $Se{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class BSe{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class bW{constructor(t,n,r){this.routerEvent=t,this.position=n,this.anchor=r,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class uz{}class fz{constructor(t){this.url=t}}class USe{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new X8,this.attachRef=null}}let X8=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(n,r){const i=this.getOrCreateContext(n);i.outlet=r,this.contexts.set(n,i)}onChildOutletDestroyed(n){const r=this.getContext(n);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let r=this.getContext(n);return r||(r=new USe,this.contexts.set(n,r)),r}getContext(n){return this.contexts.get(n)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class MW{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const n=this.pathFromRoot(t);return n.length>1?n[n.length-2]:null}children(t){const n=dz(t,this._root);return n?n.children.map(r=>r.value):[]}firstChild(t){const n=dz(t,this._root);return n&&n.children.length>0?n.children[0].value:null}siblings(t){const n=hz(t,this._root);return n.length<2?[]:n[n.length-2].children.map(i=>i.value).filter(i=>i!==t)}pathFromRoot(t){return hz(t,this._root).map(n=>n.value)}}function dz(e,t){if(e===t.value)return t;for(const n of t.children){const r=dz(e,n);if(r)return r}return null}function hz(e,t){if(e===t.value)return[t];for(const n of t.children){const r=hz(e,n);if(r.length)return r.unshift(t),r}return[]}class ao{constructor(t,n){this.value=t,this.children=n}toString(){return`TreeNode(${this.value})`}}function u6(e){const t={};return e&&e.children.forEach(n=>t[n.value.outlet]=n),t}class _W extends MW{constructor(t,n){super(t),this.snapshot=n,pz(this,t)}toString(){return this.snapshot.toString()}}function wW(e,t){const n=function jSe(e,t){const s=new Pp([],{},{},"",{},Je,t,null,{});return new zW("",new ao(s,[]))}(0,t),r=new N2([new B8("",{})]),i=new N2({}),a=new N2({}),s=new N2({}),o=new N2(""),c=new x1(r,i,s,o,a,Je,t,n.root);return c.snapshot=n.root,new _W(new ao(c,[]),n)}class x1{constructor(t,n,r,i,a,s,o,c){this.urlSubject=t,this.paramsSubject=n,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=a,this.outlet=s,this.component=o,this._futureSnapshot=c,this.title=this.dataSubject?.pipe(at(l=>l[$8]))??ve(void 0),this.url=t,this.params=n,this.queryParams=r,this.fragment=i,this.data=a}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(at(t=>o6(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(at(t=>o6(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xW(e,t="emptyOnly"){const n=e.pathFromRoot;let r=0;if("always"!==t)for(r=n.length-1;r>=1;){const i=n[r],a=n[r-1];if(i.routeConfig&&""===i.routeConfig.path)r--;else{if(a.component)break;r--}}return function qSe(e){return e.reduce((t,n)=>({params:{...t.params,...n.params},data:{...t.data,...n.data},resolve:{...n.data,...t.resolve,...n.routeConfig?.data,...n._resolvedData}}),{params:{},data:{},resolve:{}})}(n.slice(r))}class Pp{get title(){return this.data?.[$8]}constructor(t,n,r,i,a,s,o,c,l){this.url=t,this.params=n,this.queryParams=r,this.fragment=i,this.data=a,this.outlet=s,this.component=o,this.routeConfig=c,this._resolve=l}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=o6(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=o6(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class zW extends MW{constructor(t,n){super(n),this.url=t,pz(this,n)}toString(){return HW(this._root)}}function pz(e,t){t.value._routerState=e,t.children.forEach(n=>pz(e,n))}function HW(e){const t=e.children.length>0?` { ${e.children.map(HW).join(", ")} } `:"";return`${e.value}${t}`}function mz(e){if(e.snapshot){const t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,Ua(t.queryParams,n.queryParams)||e.queryParamsSubject.next(n.queryParams),t.fragment!==n.fragment&&e.fragmentSubject.next(n.fragment),Ua(t.params,n.params)||e.paramsSubject.next(n.params),function oSe(e,t){if(e.length!==t.length)return!1;for(let n=0;nUa(n.parameters,t[r].parameters))}(e.url,t.url);return n&&!(!e.parent!=!t.parent)&&(!e.parent||gz(e.parent,t.parent))}let vz=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Je,this.activateEvents=new bn,this.deactivateEvents=new bn,this.attachEvents=new bn,this.detachEvents=new bn,this.parentContexts=Me(X8),this.location=Me(Ai),this.changeDetector=Me(D9),this.environmentInjector=Me(Cr),this.inputBinder=Me($p,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){const{firstChange:r,previousValue:i}=n.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new ie(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new ie(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new ie(4012,!1);this.location.detach();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,r){this.activated=n,this._activatedRoute=r,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,r){if(this.isActivated)throw new ie(4013,!1);this._activatedRoute=n;const i=this.location,s=n.snapshot.component,o=this.parentContexts.getOrCreateContext(this.name).children,c=new GSe(n,o,i.injector);this.activated=i.createComponent(s,{index:i.length,injector:c,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=Ue({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[r2]})}return e})();class GSe{constructor(t,n,r){this.route=t,this.childContexts=n,this.parent=r}get(t,n){return t===x1?this.route:t===X8?this.childContexts:this.parent.get(t,n)}}const $p=new be("");let SW=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(n){this.unsubscribeFromRouteData(n),this.subscribeToRouteData(n)}unsubscribeFromRouteData(n){this.outletDataSubscriptions.get(n)?.unsubscribe(),this.outletDataSubscriptions.delete(n)}subscribeToRouteData(n){const{activatedRoute:r}=n,i=tz([r.queryParams,r.params,r.data]).pipe(e2(([a,s,o],c)=>(o={...a,...s,...o},0===c?ve(o):Promise.resolve(o)))).subscribe(a=>{if(!n.isActivated||!n.activatedComponentRef||n.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(n);const s=function cMe(e){const t=ht(e);if(!t)return null;const n=new Qf(t);return{get selector(){return n.selector},get type(){return n.componentType},get inputs(){return n.inputs},get outputs(){return n.outputs},get ngContentSelectors(){return n.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}(r.component);if(s)for(const{templateName:o}of s.inputs)n.activatedComponentRef.setInput(o,a[o]);else this.unsubscribeFromRouteData(n)});this.outletDataSubscriptions.set(n,i)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();function Q8(e,t,n){if(n&&e.shouldReuseRoute(t.value,n.value.snapshot)){const r=n.value;r._futureSnapshot=t.value;const i=function YSe(e,t,n){return t.children.map(r=>{for(const i of n.children)if(e.shouldReuseRoute(r.value,i.value.snapshot))return Q8(e,r,i);return Q8(e,r)})}(e,t,n);return new ao(r,i)}{if(e.shouldAttach(t.value)){const a=e.retrieve(t.value);if(null!==a){const s=a.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(o=>Q8(e,o)),s}}const r=function XSe(e){return new x1(new N2(e.url),new N2(e.params),new N2(e.queryParams),new N2(e.fragment),new N2(e.data),e.outlet,e.component,e)}(t.value),i=t.children.map(a=>Q8(e,a));return new ao(r,i)}}const yz="ngNavigationCancelingError";function EW(e,t){const{redirectTo:n,navigationBehaviorOptions:r}=_4(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,i=VW(!1,0,t);return i.url=n,i.navigationBehaviorOptions=r,i}function VW(e,t,n){const r=new Error("NavigationCancelingError: "+(e||""));return r[yz]=!0,r.cancellationCode=t,n&&(r.url=n),r}function DW(e){return e&&e[yz]}let LW=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["ng-component"]],standalone:!0,features:[uB],decls:1,vars:0,template:function(r,i){1&r&&jn(0,"router-outlet")},dependencies:[vz],encapsulation:2})}return e})();function Cz(e){const t=e.children&&e.children.map(Cz),n=t?{...e,children:t}:{...e};return!n.component&&!n.loadComponent&&(t||n.loadChildren)&&n.outlet&&n.outlet!==Je&&(n.component=LW),n}function Ri(e){return e.outlet||Je}function Z8(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const n=t.routeConfig;if(n?._loadedInjector)return n._loadedInjector;if(n?._injector)return n._injector}return null}class rEe{constructor(t,n,r,i,a){this.routeReuseStrategy=t,this.futureState=n,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=a}activate(t){const n=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(n,r,t),mz(this.futureState.root),this.activateChildRoutes(n,r,t)}deactivateChildRoutes(t,n,r){const i=u6(n);t.children.forEach(a=>{const s=a.value.outlet;this.deactivateRoutes(a,i[s],r),delete i[s]}),Object.values(i).forEach(a=>{this.deactivateRouteAndItsChildren(a,r)})}deactivateRoutes(t,n,r){const i=t.value,a=n?n.value:null;if(i===a)if(i.component){const s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(t,n,s.children)}else this.deactivateChildRoutes(t,n,r);else a&&this.deactivateRouteAndItsChildren(n,r)}deactivateRouteAndItsChildren(t,n){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,n):this.deactivateRouteAndOutlet(t,n)}detachAndStoreRouteSubtree(t,n){const r=n.getContext(t.value.outlet),i=r&&t.value.component?r.children:n,a=u6(t);for(const s of Object.keys(a))this.deactivateRouteAndItsChildren(a[s],i);if(r&&r.outlet){const s=r.outlet.detach(),o=r.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:o})}}deactivateRouteAndOutlet(t,n){const r=n.getContext(t.value.outlet),i=r&&t.value.component?r.children:n,a=u6(t);for(const s of Object.keys(a))this.deactivateRouteAndItsChildren(a[s],i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(t,n,r){const i=u6(n);t.children.forEach(a=>{this.activateRoutes(a,i[a.value.outlet],r),this.forwardEvent(new BSe(a.value.snapshot))}),t.children.length&&this.forwardEvent(new PSe(t.value.snapshot))}activateRoutes(t,n,r){const i=t.value,a=n?n.value:null;if(mz(i),i===a)if(i.component){const s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(t,n,s.children)}else this.activateChildRoutes(t,n,r);else if(i.component){const s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){const o=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(o.contexts),s.attachRef=o.componentRef,s.route=o.route.value,s.outlet&&s.outlet.attach(o.componentRef,o.route.value),mz(o.route.value),this.activateChildRoutes(t,null,s.children)}else{const o=Z8(i.snapshot);s.attachRef=null,s.route=i,s.injector=o,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,r)}}class AW{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Bp{constructor(t,n){this.component=t,this.route=n}}function iEe(e,t,n){const r=e._root;return K8(r,t?t._root:null,n,[r.value])}function f6(e,t){const n=Symbol(),r=t.get(e,n);return r===n?"function"!=typeof e||function vde(e){return null!==rh(e)}(e)?t.get(e):e:r}function K8(e,t,n,r,i={canDeactivateChecks:[],canActivateChecks:[]}){const a=u6(t);return e.children.forEach(s=>{(function sEe(e,t,n,r,i={canDeactivateChecks:[],canActivateChecks:[]}){const a=e.value,s=t?t.value:null,o=n?n.getContext(e.value.outlet):null;if(s&&a.routeConfig===s.routeConfig){const c=function oEe(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!M4(e.url,t.url);case"pathParamsOrQueryParamsChange":return!M4(e.url,t.url)||!Ua(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!gz(e,t)||!Ua(e.queryParams,t.queryParams);default:return!gz(e,t)}}(s,a,a.routeConfig.runGuardsAndResolvers);c?i.canActivateChecks.push(new AW(r)):(a.data=s.data,a._resolvedData=s._resolvedData),K8(e,t,a.component?o?o.children:null:n,r,i),c&&o&&o.outlet&&o.outlet.isActivated&&i.canDeactivateChecks.push(new Bp(o.outlet.component,s))}else s&&J8(t,o,i),i.canActivateChecks.push(new AW(r)),K8(e,null,a.component?o?o.children:null:n,r,i)})(s,a[s.value.outlet],n,r.concat([s.value]),i),delete a[s.value.outlet]}),Object.entries(a).forEach(([s,o])=>J8(o,n.getContext(s),i)),i}function J8(e,t,n){const r=u6(e),i=e.value;Object.entries(r).forEach(([a,s])=>{J8(s,i.component?t?t.children.getContext(a):null:t,n)}),n.canDeactivateChecks.push(new Bp(i.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,i))}function e5(e){return"function"==typeof e}function NW(e){return e instanceof Vp||"EmptyError"===e?.name}const Up=Symbol("INITIAL_VALUE");function d6(){return e2(e=>tz(e.map(t=>t.pipe($e(1),function JHe(...e){const t=mf(e);return En((n,r)=>{(t?P8(e,n,t):P8(e,n)).subscribe(r)})}(Up)))).pipe(at(t=>{for(const n of t)if(!0!==n){if(n===Up)return Up;if(!1===n||n instanceof c6)return n}return!0}),h2(t=>t!==Up),$e(1)))}function kW(e){return function M7e(...e){return bI(e)}(w1(t=>{if(_4(t))throw EW(0,t)}),at(t=>!0===t))}class jp{constructor(t){this.segmentGroup=t||null}}class TW{constructor(t){this.urlTree=t}}function h6(e){return s6(new jp(e))}function IW(e){return s6(new TW(e))}class SEe{constructor(t,n){this.urlSerializer=t,this.urlTree=n}noMatchError(t){return new ie(4002,!1)}lineralizeSegments(t,n){let r=[],i=n.root;for(;;){if(r=r.concat(i.segments),0===i.numberOfChildren)return ve(r);if(i.numberOfChildren>1||!i.children[Je])return s6(new ie(4e3,!1));i=i.children[Je]}}applyRedirectCommands(t,n,r){return this.applyRedirectCreateUrlTree(n,this.urlSerializer.parse(n),t,r)}applyRedirectCreateUrlTree(t,n,r,i){const a=this.createSegmentGroup(t,n.root,r,i);return new c6(a,this.createQueryParams(n.queryParams,this.urlTree.queryParams),n.fragment)}createQueryParams(t,n){const r={};return Object.entries(t).forEach(([i,a])=>{if("string"==typeof a&&a.startsWith(":")){const o=a.substring(1);r[i]=n[o]}else r[i]=a}),r}createSegmentGroup(t,n,r,i){const a=this.createSegments(t,n.segments,r,i);let s={};return Object.entries(n.children).forEach(([o,c])=>{s[o]=this.createSegmentGroup(t,c,r,i)}),new Ft(a,s)}createSegments(t,n,r,i){return n.map(a=>a.path.startsWith(":")?this.findPosParam(t,a,i):this.findOrReturn(a,r))}findPosParam(t,n,r){const i=r[n.path.substring(1)];if(!i)throw new ie(4001,!1);return i}findOrReturn(t,n){let r=0;for(const i of n){if(i.path===t.path)return n.splice(r),i;r++}return t}}const bz={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function EEe(e,t,n,r,i){const a=Mz(e,t,n);return a.matched?(r=function ZSe(e,t){return e.providers&&!e._injector&&(e._injector=nw(e.providers,t,`Route: ${e.path}`)),e._injector??t}(t,r),function xEe(e,t,n,r){const i=t.canMatch;return i&&0!==i.length?ve(i.map(s=>{const o=f6(s,e);return Cc(function hEe(e){return e&&e5(e.canMatch)}(o)?o.canMatch(t,n):e.runInContext(()=>o(t,n)))})).pipe(d6(),kW()):ve(!0)}(r,t,n).pipe(at(s=>!0===s?a:{...bz}))):ve(a)}function Mz(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{...bz}:{matched:!0,consumedSegments:[],remainingSegments:n,parameters:{},positionalParamSegments:{}};const i=(t.matcher||sSe)(n,e,t);if(!i)return{...bz};const a={};Object.entries(i.posParams??{}).forEach(([o,c])=>{a[o]=c.path});const s=i.consumed.length>0?{...a,...i.consumed[i.consumed.length-1].parameters}:a;return{matched:!0,consumedSegments:i.consumed,remainingSegments:n.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function FW(e,t,n,r){return n.length>0&&function LEe(e,t,n){return n.some(r=>qp(e,t,r)&&Ri(r)!==Je)}(e,n,r)?{segmentGroup:new Ft(t,DEe(r,new Ft(n,e.children))),slicedSegments:[]}:0===n.length&&function AEe(e,t,n){return n.some(r=>qp(e,t,r))}(e,n,r)?{segmentGroup:new Ft(e.segments,VEe(e,0,n,r,e.children)),slicedSegments:n}:{segmentGroup:new Ft(e.segments,e.children),slicedSegments:n}}function VEe(e,t,n,r,i){const a={};for(const s of r)if(qp(e,n,s)&&!i[Ri(s)]){const o=new Ft([],{});a[Ri(s)]=o}return{...i,...a}}function DEe(e,t){const n={};n[Je]=t;for(const r of e)if(""===r.path&&Ri(r)!==Je){const i=new Ft([],{});n[Ri(r)]=i}return n}function qp(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&""===n.path}class IEe{constructor(t,n,r,i,a,s,o){this.injector=t,this.configLoader=n,this.rootComponentType=r,this.config=i,this.urlTree=a,this.paramsInheritanceStrategy=s,this.urlSerializer=o,this.allowRedirects=!0,this.applyRedirects=new SEe(this.urlSerializer,this.urlTree)}noMatchError(t){return new ie(4002,!1)}recognize(){const t=FW(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,Je).pipe(b4(n=>{if(n instanceof TW)return this.allowRedirects=!1,this.urlTree=n.urlTree,this.match(n.urlTree);throw n instanceof jp?this.noMatchError(n):n}),at(n=>{const r=new Pp([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Je,this.rootComponentType,null,{}),i=new ao(r,n),a=new zW("",i),s=function HSe(e,t,n=null,r=null){return hW(dW(e),t,n,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,a.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(a._root),{state:a,tree:s}}))}match(t){return this.processSegmentGroup(this.injector,this.config,t.root,Je).pipe(b4(r=>{throw r instanceof jp?this.noMatchError(r):r}))}inheritParamsAndData(t){const n=t.value,r=xW(n,this.paramsInheritanceStrategy);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(i=>this.inheritParamsAndData(i))}processSegmentGroup(t,n,r,i){return 0===r.segments.length&&r.hasChildren()?this.processChildren(t,n,r):this.processSegment(t,n,r,r.segments,i,!0)}processChildren(t,n,r){const i=[];for(const a of Object.keys(r.children))"primary"===a?i.unshift(a):i.push(a);return $n(i).pipe(Q0(a=>{const s=r.children[a],o=function tEe(e,t){const n=e.filter(r=>Ri(r)===t);return n.push(...e.filter(r=>Ri(r)!==t)),n}(n,a);return this.processSegmentGroup(t,o,s,a)}),function nSe(e,t){return En(function tSe(e,t,n,r,i){return(a,s)=>{let o=n,c=t,l=0;a.subscribe(Vn(s,u=>{const f=l++;c=o?e(c,u,f):(o=!0,u),r&&s.next(c)},i&&(()=>{o&&s.next(c),s.complete()})))}}(e,t,arguments.length>=2,!0))}((a,s)=>(a.push(...s),a)),Lp(null),function rSe(e,t){const n=arguments.length>=2;return r=>r.pipe(e?h2((i,a)=>e(i,a,r)):Xo,iz(1),n?Lp(t):KG(()=>new Vp))}(),Pn(a=>{if(null===a)return h6(r);const s=RW(a);return function FEe(e){e.sort((t,n)=>t.value.outlet===Je?-1:n.value.outlet===Je?1:t.value.outlet.localeCompare(n.value.outlet))}(s),ve(s)}))}processSegment(t,n,r,i,a,s){return $n(n).pipe(Q0(o=>this.processSegmentAgainstRoute(o._injector??t,n,o,r,i,a,s).pipe(b4(c=>{if(c instanceof jp)return ve(null);throw c}))),C4(o=>!!o),b4(o=>{if(NW(o))return function kEe(e,t,n){return 0===t.length&&!e.children[n]}(r,i,a)?ve([]):h6(r);throw o}))}processSegmentAgainstRoute(t,n,r,i,a,s,o){return function NEe(e,t,n,r){return!!(Ri(e)===r||r!==Je&&qp(t,n,e))&&("**"===e.path||Mz(t,e,n).matched)}(r,i,a,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,i,r,a,s,o):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,i,n,r,a,s):h6(i):h6(i)}expandSegmentAgainstRouteUsingRedirect(t,n,r,i,a,s){return"**"===i.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,r,i,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,i,a,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,i){const a=this.applyRedirects.applyRedirectCommands([],r.redirectTo,{});return r.redirectTo.startsWith("/")?IW(a):this.applyRedirects.lineralizeSegments(r,a).pipe(Pn(s=>{const o=new Ft(s,{});return this.processSegment(t,n,o,s,i,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,n,r,i,a,s){const{matched:o,consumedSegments:c,remainingSegments:l,positionalParamSegments:u}=Mz(n,i,a);if(!o)return h6(n);const f=this.applyRedirects.applyRedirectCommands(c,i.redirectTo,u);return i.redirectTo.startsWith("/")?IW(f):this.applyRedirects.lineralizeSegments(i,f).pipe(Pn(d=>this.processSegment(t,r,n,d.concat(l),s,!1)))}matchSegmentAgainstRoute(t,n,r,i,a,s){let o;if("**"===r.path){const c=i.length>0?tW(i).parameters:{};o=ve({snapshot:new Pp(i,c,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,OW(r),Ri(r),r.component??r._loadedComponent??null,r,PW(r)),consumedSegments:[],remainingSegments:[]}),n.children={}}else o=EEe(n,r,i,t).pipe(at(({matched:c,consumedSegments:l,remainingSegments:u,parameters:f})=>c?{snapshot:new Pp(l,f,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,OW(r),Ri(r),r.component??r._loadedComponent??null,r,PW(r)),consumedSegments:l,remainingSegments:u}:null));return o.pipe(e2(c=>null===c?h6(n):this.getChildConfig(t=r._injector??t,r,i).pipe(e2(({routes:l})=>{const u=r._loadedInjector??t,{snapshot:f,consumedSegments:d,remainingSegments:h}=c,{segmentGroup:p,slicedSegments:m}=FW(n,d,h,l);if(0===m.length&&p.hasChildren())return this.processChildren(u,l,p).pipe(at(v=>null===v?null:[new ao(f,v)]));if(0===l.length&&0===m.length)return ve([new ao(f,[])]);const g=Ri(r)===a;return this.processSegment(u,l,p,m,g?Je:a,!0).pipe(at(v=>[new ao(f,v)]))}))))}getChildConfig(t,n,r){return n.children?ve({routes:n.children,injector:t}):n.loadChildren?void 0!==n._loadedRoutes?ve({routes:n._loadedRoutes,injector:n._loadedInjector}):function wEe(e,t,n,r){const i=t.canLoad;return void 0===i||0===i.length?ve(!0):ve(i.map(s=>{const o=f6(s,e);return Cc(function lEe(e){return e&&e5(e.canLoad)}(o)?o.canLoad(t,n):e.runInContext(()=>o(t,n)))})).pipe(d6(),kW())}(t,n,r).pipe(Pn(i=>i?this.configLoader.loadChildren(t,n).pipe(w1(a=>{n._loadedRoutes=a.routes,n._loadedInjector=a.injector})):function HEe(e){return s6(VW(!1,3))}())):ve({routes:[],injector:t})}}function REe(e){const t=e.value.routeConfig;return t&&""===t.path}function RW(e){const t=[],n=new Set;for(const r of e){if(!REe(r)){t.push(r);continue}const i=t.find(a=>r.value.routeConfig===a.value.routeConfig);void 0!==i?(i.children.push(...r.children),n.add(i)):t.push(r)}for(const r of n){const i=RW(r.children);t.push(new ao(r.value,i))}return t.filter(r=>!n.has(r))}function OW(e){return e.data||{}}function PW(e){return e.resolve||{}}function $W(e){return"string"==typeof e.title||null===e.title}function _z(e){return e2(t=>{const n=e(t);return n?$n(n).pipe(at(()=>t)):ve(t)})}const p6=new be("ROUTES");let wz=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Me(nU)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return ve(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const r=Cc(n.loadComponent()).pipe(at(BW),w1(a=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=a}),C8(()=>{this.componentLoaders.delete(n)})),i=new rz(r,()=>new A2).pipe(nz());return this.componentLoaders.set(n,i),i}loadChildren(n,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return ve({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const a=function qEe(e,t,n,r){return Cc(e.loadChildren()).pipe(at(BW),Pn(i=>i instanceof cB||Array.isArray(i)?ve(i):$n(t.compileModuleAsync(i))),at(i=>{r&&r(e);let a,s,o=!1;return Array.isArray(i)?(s=i,!0):(a=i.create(n).injector,s=a.get(p6,[],{optional:!0,self:!0}).flat()),{routes:s.map(Cz),injector:a}}))}(r,this.compiler,n,this.onLoadEndListener).pipe(C8(()=>{this.childrenLoaders.delete(r)})),s=new rz(a,()=>new A2).pipe(nz());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function BW(e){return function GEe(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Gp=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new A2,this.transitionAbortSubject=new A2,this.configLoader=Me(wz),this.environmentInjector=Me(Cr),this.urlSerializer=Me(U8),this.rootContexts=Me(X8),this.inputBindingEnabled=null!==Me($p,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>ve(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=i=>this.events.next(new RSe(i)),this.configLoader.onLoadStartListener=i=>this.events.next(new FSe(i))}complete(){this.transitions?.complete()}handleNavigationRequest(n){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...n,id:r})}setupNavigations(n,r,i){return this.transitions=new N2({id:0,currentUrlTree:r,currentRawUrl:r,currentBrowserUrl:r,extractedUrl:n.urlHandlingStrategy.extract(r),urlAfterRedirects:n.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:W8,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(h2(a=>0!==a.id),at(a=>({...a,extractedUrl:n.urlHandlingStrategy.extract(a.rawUrl)})),e2(a=>{this.currentTransition=a;let s=!1,o=!1;return ve(a).pipe(w1(c=>{this.currentNavigation={id:c.id,initialUrl:c.rawUrl,extractedUrl:c.extractedUrl,trigger:c.source,extras:c.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),e2(c=>{const l=c.currentBrowserUrl.toString(),u=!n.navigated||c.extractedUrl.toString()!==l||l!==c.currentUrlTree.toString();if(!u&&"reload"!==(c.extras.onSameUrlNavigation??n.onSameUrlNavigation)){const d="";return this.events.next(new l6(c.id,this.urlSerializer.serialize(c.rawUrl),d,0)),c.resolve(null),_a}if(n.urlHandlingStrategy.shouldProcessUrl(c.rawUrl))return ve(c).pipe(e2(d=>{const h=this.transitions?.getValue();return this.events.next(new Rp(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions?.getValue()?_a:Promise.resolve(d)}),function OEe(e,t,n,r,i,a){return Pn(s=>function TEe(e,t,n,r,i,a,s="emptyOnly"){return new IEe(e,t,n,r,i,s,a).recognize()}(e,t,n,r,s.extractedUrl,i,a).pipe(at(({state:o,tree:c})=>({...s,targetSnapshot:o,urlAfterRedirects:c}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,n.paramsInheritanceStrategy),w1(d=>{a.targetSnapshot=d.targetSnapshot,a.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects};const h=new CW(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(h)}));if(u&&n.urlHandlingStrategy.shouldProcessUrl(c.currentRawUrl)){const{id:d,extractedUrl:h,source:p,restoredState:m,extras:g}=c,v=new Rp(d,this.urlSerializer.serialize(h),p,m);this.events.next(v);const y=wW(0,this.rootComponentType).snapshot;return this.currentTransition=a={...c,targetSnapshot:y,urlAfterRedirects:h,extras:{...g,skipLocationChange:!1,replaceUrl:!1}},ve(a)}{const d="";return this.events.next(new l6(c.id,this.urlSerializer.serialize(c.extractedUrl),d,1)),c.resolve(null),_a}}),w1(c=>{const l=new NSe(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(l)}),at(c=>(this.currentTransition=a={...c,guards:iEe(c.targetSnapshot,c.currentSnapshot,this.rootContexts)},a)),function mEe(e,t){return Pn(n=>{const{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:a,canDeactivateChecks:s}}=n;return 0===s.length&&0===a.length?ve({...n,guardsResult:!0}):function gEe(e,t,n,r){return $n(e).pipe(Pn(i=>function _Ee(e,t,n,r,i){const a=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return a&&0!==a.length?ve(a.map(o=>{const c=Z8(t)??i,l=f6(o,c);return Cc(function dEe(e){return e&&e5(e.canDeactivate)}(l)?l.canDeactivate(e,t,n,r):c.runInContext(()=>l(e,t,n,r))).pipe(C4())})).pipe(d6()):ve(!0)}(i.component,i.route,n,t,r)),C4(i=>!0!==i,!0))}(s,r,i,e).pipe(Pn(o=>o&&function cEe(e){return"boolean"==typeof e}(o)?function vEe(e,t,n,r){return $n(t).pipe(Q0(i=>P8(function CEe(e,t){return null!==e&&t&&t(new OSe(e)),ve(!0)}(i.route.parent,r),function yEe(e,t){return null!==e&&t&&t(new $Se(e)),ve(!0)}(i.route,r),function MEe(e,t,n){const r=t[t.length-1],a=t.slice(0,t.length-1).reverse().map(s=>function aEe(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>Dp(()=>ve(s.guards.map(c=>{const l=Z8(s.node)??n,u=f6(c,l);return Cc(function fEe(e){return e&&e5(e.canActivateChild)}(u)?u.canActivateChild(r,e):l.runInContext(()=>u(r,e))).pipe(C4())})).pipe(d6())));return ve(a).pipe(d6())}(e,i.path,n),function bEe(e,t,n){const r=t.routeConfig?t.routeConfig.canActivate:null;if(!r||0===r.length)return ve(!0);const i=r.map(a=>Dp(()=>{const s=Z8(t)??n,o=f6(a,s);return Cc(function uEe(e){return e&&e5(e.canActivate)}(o)?o.canActivate(t,e):s.runInContext(()=>o(t,e))).pipe(C4())}));return ve(i).pipe(d6())}(e,i.route,n))),C4(i=>!0!==i,!0))}(r,a,e,t):ve(o)),at(o=>({...n,guardsResult:o})))})}(this.environmentInjector,c=>this.events.next(c)),w1(c=>{if(a.guardsResult=c.guardsResult,_4(c.guardsResult))throw EW(0,c.guardsResult);const l=new kSe(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot,!!c.guardsResult);this.events.next(l)}),h2(c=>!!c.guardsResult||(this.cancelNavigationTransition(c,"",3),!1)),_z(c=>{if(c.guards.canActivateChecks.length)return ve(c).pipe(w1(l=>{const u=new TSe(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(u)}),e2(l=>{let u=!1;return ve(l).pipe(function PEe(e,t){return Pn(n=>{const{targetSnapshot:r,guards:{canActivateChecks:i}}=n;if(!i.length)return ve(n);let a=0;return $n(i).pipe(Q0(s=>function $Ee(e,t,n,r){const i=e.routeConfig,a=e._resolve;return void 0!==i?.title&&!$W(i)&&(a[$8]=i.title),function BEe(e,t,n,r){const i=function UEe(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===i.length)return ve({});const a={};return $n(i).pipe(Pn(s=>function jEe(e,t,n,r){const i=Z8(t)??r,a=f6(e,i);return Cc(a.resolve?a.resolve(t,n):i.runInContext(()=>a(t,n)))}(e[s],t,n,r).pipe(C4(),w1(o=>{a[s]=o}))),iz(1),JG(a),b4(s=>NW(s)?_a:s6(s)))}(a,e,t,r).pipe(at(s=>(e._resolvedData=s,e.data=xW(e,n).resolve,i&&$W(i)&&(e.data[$8]=i.title),null)))}(s.route,r,e,t)),w1(()=>a++),iz(1),Pn(s=>a===i.length?ve(n):_a))})}(n.paramsInheritanceStrategy,this.environmentInjector),w1({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(l,"",2)}}))}),w1(l=>{const u=new ISe(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(u)}))}),_z(c=>{const l=u=>{const f=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&f.push(this.configLoader.loadComponent(u.routeConfig).pipe(w1(d=>{u.component=d}),at(()=>{})));for(const d of u.children)f.push(...l(d));return f};return tz(l(c.targetSnapshot.root)).pipe(Lp(),$e(1))}),_z(()=>this.afterPreactivation()),at(c=>{const l=function WSe(e,t,n){const r=Q8(e,t._root,n?n._root:void 0);return new _W(r,t)}(n.routeReuseStrategy,c.targetSnapshot,c.currentRouterState);return this.currentTransition=a={...c,targetRouterState:l},a}),w1(()=>{this.events.next(new uz)}),((e,t,n,r)=>at(i=>(new rEe(t,i.targetRouterState,i.currentRouterState,n,r).activate(e),i)))(this.rootContexts,n.routeReuseStrategy,c=>this.events.next(c),this.inputBindingEnabled),$e(1),w1({next:c=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new bc(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects))),n.titleStrategy?.updateTitle(c.targetRouterState.snapshot),c.resolve(!0)},complete:()=>{s=!0}}),function iSe(e){return En((t,n)=>{k1(e).subscribe(Vn(n,()=>n.complete(),hf)),!n.closed&&t.subscribe(n)})}(this.transitionAbortSubject.pipe(w1(c=>{throw c}))),C8(()=>{s||o||this.cancelNavigationTransition(a,"",1),this.currentNavigation?.id===a.id&&(this.currentNavigation=null)}),b4(c=>{if(o=!0,DW(c))this.events.next(new Y8(a.id,this.urlSerializer.serialize(a.extractedUrl),c.message,c.cancellationCode)),function QSe(e){return DW(e)&&_4(e.url)}(c)?this.events.next(new fz(c.url)):a.resolve(!1);else{this.events.next(new Op(a.id,this.urlSerializer.serialize(a.extractedUrl),c,a.targetSnapshot??void 0));try{a.resolve(n.errorHandler(c))}catch(l){a.reject(l)}}return _a}))}))}cancelNavigationTransition(n,r,i){const a=new Y8(n.id,this.urlSerializer.serialize(n.extractedUrl),r,i);this.events.next(a),n.resolve(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function UW(e){return e!==W8}let jW=(()=>{class e{buildTitle(n){let r,i=n.root;for(;void 0!==i;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(a=>a.outlet===Je);return r}getResolvedTitleForRoute(n){return n.data[$8]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return Me(WEe)},providedIn:"root"})}return e})(),WEe=(()=>{class e extends jW{constructor(n){super(),this.title=n}updateTitle(n){const r=this.buildTitle(n);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(zj))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YEe=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return Me(QEe)},providedIn:"root"})}return e})();class XEe{shouldDetach(t){return!1}store(t,n){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,n){return t.routeConfig===n.routeConfig}}let QEe=(()=>{class e extends XEe{static#e=this.\u0275fac=function(){let n;return function(i){return(n||(n=_1(e)))(i||e)}}();static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Wp=new be("",{providedIn:"root",factory:()=>({})});let ZEe=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:function(){return Me(KEe)},providedIn:"root"})}return e})(),KEe=(()=>{class e{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,r){return n}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var t5=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(t5||{});function qW(e,t){e.events.pipe(h2(n=>n instanceof bc||n instanceof Y8||n instanceof Op||n instanceof l6),at(n=>n instanceof bc||n instanceof l6?t5.COMPLETE:n instanceof Y8&&(0===n.code||1===n.code)?t5.REDIRECTING:t5.FAILED),h2(n=>n!==t5.REDIRECTING),$e(1)).subscribe(()=>{t()})}function JEe(e){throw e}function eVe(e,t,n){return t.parse("/")}const tVe={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},nVe={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let gn=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Me(tU),this.isNgZoneEnabled=!1,this._events=new A2,this.options=Me(Wp,{optional:!0})||{},this.pendingTasks=Me(H9),this.errorHandler=this.options.errorHandler||JEe,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||eVe,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Me(ZEe),this.routeReuseStrategy=Me(YEe),this.titleStrategy=Me(jW),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=Me(p6,{optional:!0})?.flat()??[],this.navigationTransitions=Me(Gp),this.urlSerializer=Me(U8),this.location=Me(Nw),this.componentInputBindingEnabled=!!Me($p,{optional:!0}),this.eventsSubscription=new N1,this.isNgZoneEnabled=Me(Ut)instanceof Ut&&Ut.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new c6,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=wW(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(n=>{this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const n=this.navigationTransitions.events.subscribe(r=>{try{const{currentTransition:i}=this.navigationTransitions;if(null===i)return void(GW(r)&&this._events.next(r));if(r instanceof Rp)UW(i.source)&&(this.browserUrlTree=i.extractedUrl);else if(r instanceof l6)this.rawUrlTree=i.rawUrl;else if(r instanceof CW){if("eager"===this.urlUpdateStrategy){if(!i.extras.skipLocationChange){const a=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl);this.setBrowserUrl(a,i)}this.browserUrlTree=i.urlAfterRedirects}}else if(r instanceof uz)this.currentUrlTree=i.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl),this.routerState=i.targetRouterState,"deferred"===this.urlUpdateStrategy&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i),this.browserUrlTree=i.urlAfterRedirects);else if(r instanceof Y8)0!==r.code&&1!==r.code&&(this.navigated=!0),(3===r.code||2===r.code)&&this.restoreHistory(i);else if(r instanceof fz){const a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),s={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||UW(i.source)};this.scheduleNavigation(a,W8,null,s,{resolve:i.resolve,reject:i.reject,promise:i.promise})}r instanceof Op&&this.restoreHistory(i,!0),r instanceof bc&&(this.navigated=!0),GW(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(n)}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const n=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),W8,n)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const r="popstate"===n.type?"popstate":"hashchange";"popstate"===r&&setTimeout(()=>{this.navigateToSyncWithBrowser(n.url,r,n.state)},0)}))}navigateToSyncWithBrowser(n,r,i){const a={replaceUrl:!0},s=i?.navigationId?i:null;if(i){const c={...i};delete c.navigationId,delete c.\u0275routerPageId,0!==Object.keys(c).length&&(a.state=c)}const o=this.parseUrl(n);this.scheduleNavigation(o,r,s,a)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(n){this.config=n.map(Cz),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(n,r={}){const{relativeTo:i,queryParams:a,fragment:s,queryParamsHandling:o,preserveFragment:c}=r,l=c?this.currentUrlTree.fragment:s;let f,u=null;switch(o){case"merge":u={...this.currentUrlTree.queryParams,...a};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=a||null}null!==u&&(u=this.removeEmptyProps(u));try{f=dW(i?i.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof n[0]||!n[0].startsWith("/"))&&(n=[]),f=this.currentUrlTree.root}return hW(f,n,u,l??null)}navigateByUrl(n,r={skipLocationChange:!1}){const i=_4(n)?n:this.parseUrl(n),a=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(a,W8,null,r)}navigate(n,r={skipLocationChange:!1}){return function rVe(e){for(let t=0;t{const a=n[i];return null!=a&&(r[i]=a),r},{})}scheduleNavigation(n,r,i,a,s){if(this.disposed)return Promise.resolve(!1);let o,c,l;s?(o=s.resolve,c=s.reject,l=s.promise):l=new Promise((f,d)=>{o=f,c=d});const u=this.pendingTasks.add();return qW(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:n,extras:a,resolve:o,reject:c,promise:l,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),l.catch(f=>Promise.reject(f))}setBrowserUrl(n,r){const i=this.urlSerializer.serialize(n);if(this.location.isCurrentPathEqualTo(i)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(i,"",s)}else{const a={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(i,"",a)}}restoreHistory(n,r=!1){if("computed"===this.canceledNavigationResolution){const a=this.currentPageId-this.browserPageId;0!==a?this.location.historyGo(a):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===a&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,r){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:r}:{navigationId:n}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function GW(e){return!(e instanceof uz||e instanceof fz)}let Oi=(()=>{class e{constructor(n,r,i,a,s,o){this.router=n,this.route=r,this.tabIndexAttribute=i,this.renderer=a,this.el=s,this.locationStrategy=o,this.href=null,this.commands=null,this.onChanges=new A2,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const c=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===c||"area"===c,this.isAnchorElement?this.subscription=n.events.subscribe(l=>{l instanceof bc&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(n){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",n)}ngOnChanges(n){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(n){null!=n?(this.commands=Array.isArray(n)?n:[n],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(n,r,i,a,s){return!!(null===this.urlTree||this.isAnchorElement&&(0!==n||r||i||a||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const n=null===this.href?null:function lO(e,t,n){return function Hpe(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?cO:oO}(t,n)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(n,r){const i=this.renderer,a=this.el.nativeElement;null!==r?i.setAttribute(a,n,r):i.removeAttribute(a,n)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(r){return new(r||e)(q(gn),q(x1),function xh(e){return function Uhe(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let i=0;for(;i{class e{get isActive(){return this._isActive}constructor(n,r,i,a,s){this.router=n,this.element=r,this.renderer=i,this.cdr=a,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new bn,this.routerEventsSubscription=n.events.subscribe(o=>{o instanceof bc&&this.update()})}ngAfterContentInit(){ve(this.links.changes,ve(null)).pipe(e0()).subscribe(n=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const n=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=$n(n).pipe(e0()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(n){const r=Array.isArray(n)?n:n.split(" ");this.classes=r.filter(i=>!!i)}ngOnChanges(n){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const n=this.hasActiveLinks();this._isActive!==n&&(this._isActive=n,this.cdr.markForCheck(),this.classes.forEach(r=>{n?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),n&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(n))})}isLinkActive(n){const r=function iVe(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>!!i.urlTree&&n.isActive(i.urlTree,r)}hasActiveLinks(){const n=this.isLinkActive(this.router);return this.link&&n(this.link)||this.links.some(n)}static#e=this.\u0275fac=function(r){return new(r||e)(q(gn),q(P2),q(Aa),q(D9),q(Oi,8))};static#t=this.\u0275dir=Ue({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,i,a){if(1&r&&kB(a,Oi,5),2&r){let s;NB(s=function TB(){return function LCe(e,t){return e[xa].queries[t].queryList}(ee(),qF())}())&&(i.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[r2]})}return e})();class YW{}let aVe=(()=>{class e{constructor(n,r,i,a,s){this.router=n,this.injector=i,this.preloadingStrategy=a,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(h2(n=>n instanceof bc),Q0(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,r){const i=[];for(const a of r){a.providers&&!a._injector&&(a._injector=nw(a.providers,n,`Route: ${a.path}`));const s=a._injector??n,o=a._loadedInjector??s;(a.loadChildren&&!a._loadedRoutes&&void 0===a.canLoad||a.loadComponent&&!a._loadedComponent)&&i.push(this.preloadConfig(s,a)),(a.children||a._loadedRoutes)&&i.push(this.processRoutes(o,a.children??a._loadedRoutes))}return $n(i).pipe(e0())}preloadConfig(n,r){return this.preloadingStrategy.preload(r,()=>{let i;i=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(n,r):ve(null);const a=i.pipe(Pn(s=>null===s?ve(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??n,s.routes))));return r.loadComponent&&!r._loadedComponent?$n([a,this.loader.loadComponent(r)]).pipe(e0()):a})}static#e=this.\u0275fac=function(r){return new(r||e)(xe(gn),xe(nU),xe(Cr),xe(YW),xe(wz))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const xz=new be("");let XW=(()=>{class e{constructor(n,r,i,a,s={}){this.urlSerializer=n,this.transitions=r,this.viewportScroller=i,this.zone=a,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration=s.scrollPositionRestoration||"disabled",s.anchorScrolling=s.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof Rp?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof bc?(this.lastId=n.id,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.urlAfterRedirects).fragment)):n instanceof l6&&0===n.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof bW&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new bW(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function XO(){throw new Error("invalid")}()};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();function so(e,t){return{\u0275kind:e,\u0275providers:t}}function ZW(){const e=Me(c2);return t=>{const n=e.get(o4);if(t!==n.components[0])return;const r=e.get(gn),i=e.get(KW);1===e.get(zz)&&r.initialNavigation(),e.get(JW,null,ot.Optional)?.setUpPreloading(),e.get(xz,null,ot.Optional)?.init(),r.resetRootComponentType(n.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}const KW=new be("",{factory:()=>new A2}),zz=new be("",{providedIn:"root",factory:()=>1}),JW=new be("");function lVe(e){return so(0,[{provide:JW,useExisting:aVe},{provide:YW,useExisting:e}])}const eY=new be("ROUTER_FORROOT_GUARD"),fVe=[Nw,{provide:U8,useClass:az},gn,X8,{provide:x1,useFactory:function QW(e){return e.routerState.root},deps:[gn]},wz,[]];function dVe(){return new lU("Router",gn)}let tY=(()=>{class e{constructor(n){}static forRoot(n,r){return{ngModule:e,providers:[fVe,[],{provide:p6,multi:!0,useValue:n},{provide:eY,useFactory:gVe,deps:[[gn,new Sh,new Eh]]},{provide:Wp,useValue:r||{}},r?.useHash?{provide:l4,useClass:hMe}:{provide:l4,useClass:OU},{provide:xz,useFactory:()=>{const e=Me(E_e),t=Me(Ut),n=Me(Wp),r=Me(Gp),i=Me(U8);return n.scrollOffset&&e.setOffset(n.scrollOffset),new XW(i,r,e,t,n)}},r?.preloadingStrategy?lVe(r.preloadingStrategy).\u0275providers:[],{provide:lU,multi:!0,useFactory:dVe},r?.initialNavigation?vVe(r):[],r?.bindToComponentInputs?so(8,[SW,{provide:$p,useExisting:SW}]).\u0275providers:[],[{provide:nY,useFactory:ZW},{provide:ww,multi:!0,useExisting:nY}]]}}static forChild(n){return{ngModule:e,providers:[{provide:p6,multi:!0,useValue:n}]}}static#e=this.\u0275fac=function(r){return new(r||e)(xe(eY,8))};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({})}return e})();function gVe(e){return"guarded"}function vVe(e){return["disabled"===e.initialNavigation?so(3,[{provide:z9,multi:!0,useFactory:()=>{const t=Me(gn);return()=>{t.setUpLocationChangeListener()}}},{provide:zz,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?so(2,[{provide:zz,useValue:0},{provide:z9,multi:!0,deps:[c2],useFactory:t=>{const n=t.get(fMe,Promise.resolve());return()=>n.then(()=>new Promise(r=>{const i=t.get(gn),a=t.get(KW);qW(i,()=>{r(!0)}),t.get(Gp).afterPreactivation=()=>(r(!0),a.closed?ve(void 0):a),i.initialNavigation()}))}}]).\u0275providers:[]]}const nY=new be("");class Yp{constructor(t){Object.assign(this,t)}toString(){return JSON.stringify(this)}get ViewUrl(){throw new Error("ViewUrl not implemented")}get EditUrl(){throw new Error("EditUrl not implemented")}get DeleteUrl(){throw new Error("DeleteUrl not implemented")}}class qa extends Yp{constructor(t){super(t)}get ViewUrl(){return["/goals",this.Id]}get EditUrl(){return["/goals",this.Id,"edit"]}get DeleteUrl(){return["/goals",this.Id,"delete"]}}let m6=(()=>{class e{constructor(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Xp="customServerUrl";let Hz=(()=>{class e extends m6{constructor(){super()}getCustomServerUrl(){return localStorage.getItem(Xp)}setCustomServerUrl(n){return nn.endpoint=n,localStorage.setItem(Xp,n)}clearCustomServerUrl(){localStorage.removeItem(Xp)}isCustomServerUrlSet(){return null!==this.getCustomServerUrl()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const nn={production:!0,endpoint:localStorage.getItem(Xp)??""};function vn(e){return nn.endpoint+e}let Ga=(()=>{class e extends m6{constructor(n){super(),this.http=n}listGoals(){if(nn.production){const n=vn("/goals");return this.http.get(n)}return console.debug("/goals"),ve({data:[{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1}],message:"success"})}findGoals(n){if(nn.production){const r=vn(`/goals?q=${n}`);return this.http.get(r)}return console.debug(n),ve({data:[{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1}],message:"success"})}getGoal(n){if(nn.production){const r=vn(`/goals/${n}`);return this.http.get(r)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}createGoal(n){if(nn.production){const r=vn("/goals");return this.http.post(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}updateGoal(n){if(nn.production){const r=vn(`/goals/${n.Id}`);return this.http.put(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Goal",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}deleteGoal(n){if(nn.production){const r=vn(`/goals/${n}`);return this.http.delete(r)}return console.debug(n),ve(void 0)}getGoalTasks(n){if(nn.production){const r=vn(`/goals/${n}/tasks`);return this.http.get(r)}return console.debug(n),ve({data:[{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1}],message:"success"})}getGoalHabits(n){if(nn.production){const r=vn(`/goals/${n}/habits`);return this.http.get(r)}return console.debug(n),ve({data:[{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]}],message:"success"})}static#e=this.\u0275fac=function(r){return new(r||e)(xe(M8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rY=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getGoal(n).pipe($e(1)).subscribe(r=>{this.model=new qa(r.data)})}deleteModel(){if(!this.model)throw new Error("Model is not defined");this.api.deleteGoal(this.model?.Id).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/goals"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ga),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-delete-page"]],decls:6,vars:2,consts:[[1,"uk-button","uk-button-danger",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"p"),P(3," Deleting this model will make it unrecoverable.\n"),F(),I(4,"button",0),Ae("click",function(){return i.deleteModel()}),P(5),F()),2&r&&(X(1),Ze("Delete ",null==i.model?null:i.model.Name,"?"),X(4),Ze(" Delete ",null==i.model?null:i.model.Name,"\n"))},encapsulation:2})}return e})();class Mc extends Yp{constructor(t){super(t)}get ViewUrl(){return["/habits",this.Id]}get EditUrl(){return["/habits",this.Id,"edit"]}get DeleteUrl(){return["/habits",this.Id,"delete"]}get FormattedCompletedDates(){if(this.AntiHabit){const t=new Date,r=[];for(let i=new Date(this.CreatedAt);i<=t;i.setDate(i.getDate()+1)){const a=i.toLocaleDateString().split("T")[0];(!this.CompletedDates||!this.CompletedDates.includes(a))&&r.push(a)}return r}return this.CompletedDates?.map(t=>new Date(t).toLocaleDateString().split("T")[0])}}class w4 extends Yp{constructor(t){super(t)}get ViewUrl(){return["/tasks",this.Id]}get EditUrl(){return["/tasks",this.Id,"edit"]}get DeleteUrl(){return["/tasks",this.Id,"delete"]}get ImportanceHuman(){const t={1:"Low",2:"Low-Medium",3:"Medium",4:"Medium-High",5:"High"};return this.Importance in t?t[this.Importance]:"Unknown Importance"}get isOverdue(){return new Date>new Date(this.CompleteBy)}}function CVe(e,t){if(1&e&&(I(0,"li")(1,"a",4),P(2),F()()),2&e){const n=t.$implicit;X(1),de("routerLink",n.ViewUrl),X(1),Ze(" ",n.Name," ")}}function bVe(e,t){if(1&e&&(I(0,"li")(1,"a",4),P(2),F()()),2&e){const n=t.$implicit;X(1),de("routerLink",n.ViewUrl),X(1),Ze(" ",n.Name," ")}}let iY=(()=>{class e{constructor(n,r){this.api=n,this.route=r}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getGoal(n).pipe($e(1)).subscribe(r=>{this.model=new qa(r.data),this.api.getGoalHabits(n).pipe($e(1)).subscribe(i=>{this.associatedHabits=i.data.map(a=>new Mc(a))}),this.api.getGoalTasks(n).pipe($e(1)).subscribe(i=>{this.associatedTasks=i.data.map(a=>new w4(a))})})}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ga),q(x1))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-goal-page"]],decls:20,vars:11,consts:[[1,"uk-button-secondary","uk-button","uk-margin-small-right",3,"routerLink"],[1,"uk-button-danger","uk-button",3,"routerLink"],[1,"uk-text-default"],[4,"ngFor","ngForOf"],[3,"routerLink"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"button",0),P(3),F(),I(4,"button",1),P(5),F(),I(6,"pre",2),P(7),F(),jn(8,"hr"),I(9,"p"),P(10),Fa(11,"date"),F(),I(12,"p"),P(13,"Associated Habits:"),F(),I(14,"ul"),It(15,CVe,3,2,"li",3),F(),I(16,"p"),P(17,"Associated Tasks:"),F(),I(18,"ul"),It(19,bVe,3,2,"li",3),F()),2&r&&(X(1),Ze("Goal: ",null==i.model?null:i.model.Name,""),X(1),de("routerLink",null==i.model?null:i.model.EditUrl),X(1),Ze(" Edit: ",null==i.model?null:i.model.Name,"\n"),X(1),de("routerLink",null==i.model?null:i.model.DeleteUrl),X(1),Ze(" Delete: ",null==i.model?null:i.model.Name,"\n"),X(2),Ze(" ",null==i.model?null:i.model.Description,"\n"),X(3),Ze(" Complete By: ",Ra(11,9,null==i.model?null:i.model.CompleteBy),"\n"),X(5),de("ngForOf",i.associatedHabits),X(4),de("ngForOf",i.associatedTasks))},dependencies:[eo,Oi,u4],encapsulation:2})}return e})();function MVe(e,t){if(1&e&&($2(0),I(1,"p",9),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}const _Ve=function(e){return["/goals",e,"delete"]};function wVe(e,t){if(1&e){const n=r4();I(0,"tr")(1,"td")(2,"input",5),Ae("ngModelChange",function(i){return Ea(Sa(n).$implicit.Completed=i)})("change",function(){const a=Sa(n).$implicit;return Ea(Jt().updateGoal(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td",2),It(6,MVe,3,1,"ng-container",6),F(),I(7,"td")(8,"a",7),P(9,"View"),F(),I(10,"a",8),P(11,"Delete"),F()()()}if(2&e){const n=t.$implicit;Jt();const r=Ws(20);X(2),de("ngModel",n.Completed),X(2),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",r),X(2),de("routerLink",n.ViewUrl),X(2),de("routerLink",M9(6,_Ve,n.Id))}}function xVe(e,t){1&e&&(I(0,"i"),P(1,"No description provided."),F())}let aY=(()=>{class e{constructor(n){this.api=n,this.goals=[]}ngOnInit(){this.api.listGoals().pipe($e(1)).subscribe(n=>{this.goals=n.data.map(r=>new qa(r))})}updateGoal(n){this.api.updateGoal(n).pipe($e(1)).subscribe(r=>{n=new qa(r.data)})}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ga))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-goals-page"]],decls:21,vars:1,consts:[["routerLink","/goals/new",1,"uk-button","uk-button-default"],[1,"uk-table","uk-table-striped"],[1,"hide-in-mobile"],[4,"ngFor","ngForOf"],["defaultDescription",""],["type","checkbox",1,"uk-checkbox",3,"ngModel","ngModelChange","change"],[4,"ngIf","ngIfElse"],[1,"uk-button-small","uk-button-primary","uk-margin-small-right",3,"routerLink"],[1,"uk-button-small","uk-button-danger",3,"routerLink"],[1,"description"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"Goals"),F(),I(2,"section")(3,"nav")(4,"a",0),P(5,"New Goal"),F()()(),I(6,"section")(7,"table",1)(8,"thead")(9,"tr"),jn(10,"th"),I(11,"th"),P(12,"Name"),F(),I(13,"th",2),P(14,"Description"),F(),I(15,"th"),P(16,"Action"),F()()(),I(17,"tbody"),It(18,wVe,12,8,"tr",3),F()()(),It(19,xVe,2,0,"ng-template",null,4,u8)),2&r&&(X(18),de("ngForOf",i.goals))},dependencies:[eo,g8,Oi,K0,Ii,ei],styles:["p.description[_ngcontent-%COMP%]{text-wrap:nowrap;padding-right:10rem;width:28rem;overflow:hidden}@media screen and (max-width: 768px){.hide-in-mobile[_ngcontent-%COMP%]{display:none}}"]})}return e})(),sY=(()=>{class e{constructor(n,r){this.api=n,this.router=r,this.model={}}submitForm(){const n=new qa(this.model);n.Completed=!1,this.api.createGoal(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/goals"))}updateCompleteBy(n){const r=new Date(n.target.value);this.model.CompleteBy=r.toLocaleDateString()}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ga),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-new-goal-page"]],decls:15,vars:2,consts:[["action",""],["ngForm",""],["for","new-task-input",1,"uk-form-label"],["id","new-task-input","name","new-task-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-task-description",1,"uk-form-label"],["id","new-task-description","name","new-task-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["for","complete-by-input",1,"uk-form-label"],["type","date","name","complete-by-input","id","complete-by-input",1,"uk-input",3,"change"],["type","submit",1,"uk-button","uk-button-primary","uk-margin-top",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"New Goal"),F(),I(2,"form",0,1)(4,"label",2),P(5,"Goal Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Goal Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"label",6),P(11,"Complete By"),F(),I(12,"input",7),Ae("change",function(s){return i.updateCompleteBy(s)}),F(),I(13,"button",8),Ae("click",function(){return i.submitForm()}),P(14," Add New Goal "),F()()),2&r&&(X(6),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description))},dependencies:[pc,Ti,Ii,hc,ei,$a],encapsulation:2})}return e})(),g6=(()=>{class e extends m6{constructor(n){super(),this.http=n}getHabits(){if(nn.production){const n=vn("/habits");return this.http.get(n)}return console.debug("/habits"),ve({data:[{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]}],message:"success"})}getHabit(n){if(nn.production){const r=vn(`/habits/${n}`);return this.http.get(r)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},message:"success"})}createHabit(n){if(nn.production){const r=vn("/habits");return this.http.post(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},message:"success"})}updateHabit(n){if(nn.production){const r=vn(`/habits/${n.Id}`);return this.http.put(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Habit",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",CompletedDates:["2020-01-01"]},message:"success"})}deleteHabit(n){if(nn.production){const r=vn(`/habits/${n}`);return this.http.delete(r)}return console.debug(n),ve(void 0)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(M8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),oY=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getHabit(n).pipe($e(1)).subscribe(r=>{this.model=new Mc(r.data)})}deleteModel(){if(!this.model)throw new Error("Model is not defined");this.api.deleteHabit(this.model?.Id).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(g6),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-delete-habit-page"]],decls:6,vars:2,consts:[[1,"uk-button","uk-button-danger",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"p"),P(3," Deleting this model will make it unrecoverable.\n"),F(),I(4,"button",0),Ae("click",function(){return i.deleteModel()}),P(5),F()),2&r&&(X(1),Ze("Delete ",null==i.model?null:i.model.Name,"?"),X(4),Ze(" Delete ",null==i.model?null:i.model.Name,"\n"))},encapsulation:2})}return e})();var x4={prefix:"fas",iconName:"xmark",icon:[384,512,[128473,10005,10006,10060,215,"close","multiply","remove","times"],"f00d","M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"]},dH={prefix:"fas",iconName:"check",icon:[448,512,[10003,10004],"f00c","M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"]};function kte(e,t,n,r,i,a,s){try{var o=e[a](s),c=o.value}catch(l){return void n(l)}o.done?t(c):Promise.resolve(c).then(r,i)}function Rn(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function s(c){kte(a,r,i,s,o,"next",c)}function o(c){kte(a,r,i,s,o,"throw",c)}s(void 0)})}}const Znt=JSON.parse('{"$schema":"https://vega.github.io/schema/vega-lite/v5.json","width":"container","data":{"values":[]},"mark":{"type":"rect","tooltip":true},"encoding":{"x":{"field":"date","timeUnit":"date","type":"ordinal","title":"Day","axis":{"tickCount":{"timeUnit":"day","step":1}}},"y":{"field":"date","timeUnit":"month","type":"ordinal","title":"Month","scale":{"domain":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}},"color":{"field":"count","type":"quantitative","title":"Count","condition":{"test":"datum.count === 0","value":"transparent"},"legend":null},"tooltip":[{"field":"count","type":"quantitative","title":"Count"}]}}');var e,Knt=(e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var a in i)i.hasOwnProperty(a)&&(r[a]=i[a])})(t,n)},function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}),Jnt=Object.prototype.hasOwnProperty;function dm(e,t){return Jnt.call(e,t)}function bH(e){if(Array.isArray(e)){for(var t=new Array(e.length),n=0;n=48&&r<=57))return!1;t++}return!0}function oo(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function Tte(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function _H(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var t=0,n=e.length;t0&&"constructor"==c[u-1]))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&void 0===d&&(void 0===l[h]?d=c.slice(0,u).join("/"):u==f-1&&(d=t.path),void 0!==d&&p(t,0,e,d)),u++,Array.isArray(l)){if("-"===h)h=l.length;else{if(n&&!MH(h))throw new wn("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);MH(h)&&(h=~~h)}if(u>=f){if(n&&"add"===t.op&&h>l.length)throw new wn("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);if(!1===(s=t1t[t.op].call(t,l,h,e)).test)throw new wn("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return s}}else if(u>=f){if(!1===(s=v6[t.op].call(t,l,h,e)).test)throw new wn("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return s}if(l=l[h],n&&u0)throw new wn('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new wn("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new wn("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&_H(e.value))throw new wn("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n)if("add"==e.op){var i=e.path.split("/").length,a=r.split("/").length;if(i!==a+1&&i!==a)throw new wn("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==r)throw new wn("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if("move"===e.op||"copy"===e.op){var o=Ote([{op:"_get",path:e.from,value:void 0}],n);if(o&&"OPERATION_PATH_UNRESOLVABLE"===o.name)throw new wn("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}function Ote(e,t,n){try{if(!Array.isArray(e))throw new wn("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)pm(Hr(t),Hr(e),n||!0);else{n=n||mm;for(var r=0;r0&&(e.patches=[],e.callback&&e.callback(r)),r}function zH(e,t,n,r,i){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var a=bH(t),s=bH(e),c=!1,l=s.length-1;l>=0;l--){var f=e[u=s[l]];if(!dm(t,u)||void 0===t[u]&&void 0!==f&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+oo(u),value:Hr(f)}),n.push({op:"remove",path:r+"/"+oo(u)}),c=!0):(i&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}));else{var d=t[u];"object"==typeof f&&null!=f&&"object"==typeof d&&null!=d&&Array.isArray(f)===Array.isArray(d)?zH(f,d,n,r+"/"+oo(u),i):f!==d&&(i&&n.push({op:"test",path:r+"/"+oo(u),value:Hr(f)}),n.push({op:"replace",path:r+"/"+oo(u),value:Hr(d)}))}}if(c||a.length!=s.length)for(l=0;lfunction(t){return t[e]},h1t=e=>{const t=e.length;return function(n){for(let r=0;rs&&l(),i=s=o+1):"]"===c&&(i||Z("Access path missing open bracket: "+e),i>0&&l(),i=0,s=o+1):o>s?l():s=o+1}return i&&Z("Access path missing closing bracket: "+e),r&&Z("Access path missing closing quote: "+e),o>s&&(o++,l()),t}function ti(e,t,n){const r=Wa(e);return e=1===r.length?r[0]:e,G2((n&&n.get||Pte)(r),[e],t||e)}const o5=ti("id"),P1=G2(e=>e,[],"identity"),_c=G2(()=>0,[],"zero"),y6=G2(()=>1,[],"one"),ni=G2(()=>!0,[],"true"),wc=G2(()=>!1,[],"false");function p1t(e,t,n){const r=[t].concat([].slice.call(n));console[e].apply(console,r)}const $te=0,SH=1,EH=2,Bte=3,Ute=4;function VH(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:p1t,r=e||$te;return{level(i){return arguments.length?(r=+i,this):r},error(){return r>=SH&&n(t||"error","ERROR",arguments),this},warn(){return r>=EH&&n(t||"warn","WARN",arguments),this},info(){return r>=Bte&&n(t||"log","INFO",arguments),this},debug(){return r>=Ute&&n(t||"log","DEBUG",arguments),this}}}var K=Array.isArray;function ye(e){return e===Object(e)}const jte=e=>"__proto__"!==e;function C6(){for(var e=arguments.length,t=new Array(e),n=0;n{for(const a in i)"signals"===a?r.signals=m1t(r.signals,i.signals):b6(r,a,i[a],"legend"===a?{layout:1}:"style"===a||null);return r},{})}function b6(e,t,n,r){if(!jte(t))return;let i,a;if(ye(n)&&!K(n))for(i in a=ye(e[t])?e[t]:e[t]={},n)r&&(!0===r||r[i])?b6(a,i,n[i]):jte(i)&&(a[i]=n[i]);else e[t]=n}function m1t(e,t){if(null==e)return t;const n={},r=[];function i(a){n[a.name]||(n[a.name]=1,r.push(a))}return t.forEach(i),e.forEach(i),r}function ft(e){return e[e.length-1]}function $1(e){return null==e||""===e?null:+e}const qte=e=>t=>e*Math.exp(t),Gte=e=>t=>Math.log(e*t),Wte=e=>t=>Math.sign(t)*Math.log1p(Math.abs(t/e)),Yte=e=>t=>Math.sign(t)*Math.expm1(Math.abs(t))*e,gm=e=>t=>t<0?-Math.pow(-t,e):Math.pow(t,e);function vm(e,t,n,r){const i=n(e[0]),a=n(ft(e)),s=(a-i)*t;return[r(i-s),r(a-s)]}function Xte(e,t){return vm(e,t,$1,P1)}function Qte(e,t){var n=Math.sign(e[0]);return vm(e,t,Gte(n),qte(n))}function Zte(e,t,n){return vm(e,t,gm(n),gm(1/n))}function Kte(e,t,n){return vm(e,t,Wte(n),Yte(n))}function ym(e,t,n,r,i){const a=r(e[0]),s=r(ft(e)),o=null!=t?r(t):(a+s)/2;return[i(o+(a-o)*n),i(o+(s-o)*n)]}function DH(e,t,n){return ym(e,t,n,$1,P1)}function LH(e,t,n){const r=Math.sign(e[0]);return ym(e,t,n,Gte(r),qte(r))}function Cm(e,t,n,r){return ym(e,t,n,gm(r),gm(1/r))}function AH(e,t,n,r){return ym(e,t,n,Wte(r),Yte(r))}function Jte(e){return 1+~~(new Date(e).getMonth()/3)}function ene(e){return 1+~~(new Date(e).getUTCMonth()/3)}function me(e){return null!=e?K(e)?e:[e]:[]}function tne(e,t,n){let a,r=e[0],i=e[1];return i=n-t?[t,n]:[r=Math.min(Math.max(r,t),n-a),r+a]}function et(e){return"function"==typeof e}const g1t="descending";function NH(e,t,n){n=n||{},t=me(t)||[];const r=[],i=[],a={},s=n.comparator||v1t;return me(e).forEach((o,c)=>{null!=o&&(r.push(t[c]===g1t?-1:1),i.push(o=et(o)?o:ti(o,null,n)),(O1(o)||[]).forEach(l=>a[l]=1))}),0===i.length?null:G2(s(i,r),Object.keys(a))}const bm=(e,t)=>(et||null==t)&&null!=e?1:(t=t instanceof Date?+t:t,(e=e instanceof Date?+e:e)!==e&&t==t?-1:t!=t&&e==e?1:0),v1t=(e,t)=>1===e.length?y1t(e[0],t[0]):C1t(e,t,e.length),y1t=(e,t)=>function(n,r){return bm(e(n),e(r))*t},C1t=(e,t,n)=>(t.push(0),function(r,i){let a,s=0,o=-1;for(;0===s&&++oe}function kH(e,t){let n;return r=>{n&&clearTimeout(n),n=setTimeout(()=>(t(r),n=null),e)}}function tt(e){for(let t,n,r=1,i=arguments.length;rs&&(s=i))}else{for(i=t(e[n]);ns&&(s=i))}return[a,s]}function nne(e,t){const n=e.length;let i,a,s,o,c,r=-1;if(null==t){for(;++r=a){i=s=a;break}if(r===n)return[-1,-1];for(o=c=r;++ra&&(i=a,o=r),s=a){i=s=a;break}if(r===n)return[-1,-1];for(o=c=r;++ra&&(i=a,o=r),sr(a)?t[a]:void 0,set(a,s){return r(a)||(++i.size,t[a]===Mm&&--i.empty),t[a]=s,this},delete(a){return r(a)&&(--i.size,++i.empty,t[a]=Mm),this},clear(){i.size=i.empty=0,i.object=t={}},test(a){return arguments.length?(n=a,i):n},clean(){const a={};let s=0;for(const o in t){const c=t[o];c!==Mm&&(!n||!n(c))&&(a[o]=c,++s)}i.size=s,i.empty=0,i.object=t=a}};return e&&Object.keys(e).forEach(a=>{i.set(a,e[a])}),i}function rne(e,t,n,r,i,a){if(!n&&0!==n)return a;const s=+n;let l,o=e[0],c=ft(e);ca&&(s=i,i=a,a=s),r=void 0===r||r,((n=void 0===n||n)?i<=e:io.replace(/\\(.)/g,"$1")):me(e));const r=e&&e.length,i=n&&n.get||Pte,a=o=>i(t?[o]:Wa(o));let s;if(r)if(1===r){const o=a(e[0]);s=function(c){return""+o(c)}}else{const o=e.map(a);s=function(c){let l=""+o[0](c),u=0;for(;++u{t={},n={},r=0},a=(s,o)=>(++r>e&&(n=t,t={},r=1),t[s]=o);return i(),{clear:i,has:s=>Ne(t,s)||Ne(n,s),get:s=>Ne(t,s)?t[s]:Ne(n,s)?a(s,n[s]):void 0,set:(s,o)=>Ne(t,s)?t[s]=o:a(s,o)}}function cne(e,t,n,r){const i=t.length,a=n.length;if(!a)return t;if(!i)return n;const s=r||new t.constructor(i+a);let o=0,c=0,l=0;for(;o0?n[c++]:t[o++];for(;o=0;)n+=e;return n}function lne(e,t,n,r){const i=n||" ",a=e+"",s=t-a.length;return s<=0?a:"left"===r?c5(i,s)+a:"center"===r?c5(i,~~(s/2))+a+c5(i,Math.ceil(s/2)):a+c5(i,s)}function l5(e){return e&&ft(e)-e[0]||0}function ue(e){return K(e)?"["+e.map(ue)+"]":ye(e)||ge(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function IH(e){return null==e||""===e?null:!(!e||"false"===e||"0"===e||!e)}const _1t=e=>vt(e)||zc(e)?e:Date.parse(e);function FH(e,t){return t=t||_1t,null==e||""===e?null:t(e)}function RH(e){return null==e||""===e?null:e+""}function Pi(e){const t={},n=e.length;for(let r=0;r=p?y=!0:(z=f.charCodeAt(m++))===u5?C=!0:z===$H&&(C=!0,f.charCodeAt(m)===u5&&++m),f.slice(_+1,w-1).replace(/""/g,'"')}for(;m9999?"+"+W2(e,6):W2(e,4)}(e.getUTCFullYear())+"-"+W2(e.getUTCMonth()+1,2)+"-"+W2(e.getUTCDate(),2)+(i?"T"+W2(t,2)+":"+W2(n,2)+":"+W2(r,2)+"."+W2(i,3)+"Z":r?"T"+W2(t,2)+":"+W2(n,2)+":"+W2(r,2)+"Z":n||t?"T"+W2(t,2)+":"+W2(n,2)+"Z":"")}(f):t.test(f+="")?'"'+f.replace(/"/g,'""')+'"':f}return{parse:function r(f,d){var h,p,m=i(f,function(g,v){if(h)return h(g,v-1);p=g,h=d?function w1t(e,t){var n=dne(e);return function(r,i){return t(n(r),i,e)}}(g,d):dne(g)});return m.columns=p||[],m},parseRows:i,format:function s(f,d){return null==d&&(d=hne(f)),[d.map(u).join(e)].concat(a(f,d)).join("\n")},formatBody:function o(f,d){return null==d&&(d=hne(f)),a(f,d).join("\n")},formatRows:function c(f){return f.map(l).join("\n")},formatRow:l,formatValue:u}}function E1t(e){return e}function D1t(e,t){return"string"==typeof t&&(t=e.objects[t]),"GeometryCollection"===t.type?{type:"FeatureCollection",features:t.geometries.map(function(n){return pne(e,n)})}:pne(e,t)}function pne(e,t){var n=t.id,r=t.bbox,i=null==t.properties?{}:t.properties,a=mne(e,t);return null==n&&null==r?{type:"Feature",properties:i,geometry:a}:null==r?{type:"Feature",id:n,properties:i,geometry:a}:{type:"Feature",id:n,bbox:r,properties:i,geometry:a}}function mne(e,t){var n=function V1t(e){if(null==e)return E1t;var t,n,r=e.scale[0],i=e.scale[1],a=e.translate[0],s=e.translate[1];return function(o,c){c||(t=n=0);var l=2,u=o.length,f=new Array(u);for(f[0]=(t+=o[0])*r+a,f[1]=(n+=o[1])*i+s;l1)r=function k1t(e,t,n){var a,r=[],i=[];function s(f){var d=f<0?~f:f;(i[d]||(i[d]=[])).push({i:f,g:a})}function o(f){f.forEach(s)}function c(f){f.forEach(o)}return function u(f){switch(a=f,f.type){case"GeometryCollection":f.geometries.forEach(u);break;case"LineString":o(f.arcs);break;case"MultiLineString":case"Polygon":c(f.arcs);break;case"MultiPolygon":!function l(f){f.forEach(c)}(f.arcs)}}(t),i.forEach(null==n?function(f){r.push(f[0].i)}:function(f){n(f[0].g,f[f.length-1].g)&&r.push(f[0].i)}),r}(0,t,n);else for(i=0,r=new Array(a=e.arcs.length);i=T1t?10:a>=I1t?5:a>=F1t?2:1;let o,c,l;return i<0?(l=Math.pow(10,-i)/s,o=Math.round(e*l),c=Math.round(t*l),o/lt&&--c,l=-l):(l=Math.pow(10,i)*s,o=Math.round(e/l),c=Math.round(t/l),o*lt&&--c),c0))return[];if((e=+e)==(t=+t))return[e];const r=t=i))return[];const o=a-i+1,c=new Array(o);if(r)if(s<0)for(let l=0;l=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function H4(e){if(!(t=R1t.exec(e)))throw new Error("invalid format: "+e);var t;return new jH({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function jH(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function wm(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function w6(e){return(e=wm(Math.abs(e)))?e[1]:NaN}function gne(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(w6(t)/3)))-w6(Math.abs(e)))}function vne(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,w6(t)-w6(e))+1}function yne(e){return Math.max(0,-w6(Math.abs(e)))}function bne(e,t){var n=wm(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}H4.prototype=jH.prototype,jH.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Mne={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function O1t(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>bne(100*e,t),r:bne,s:function U1t(e,t){var n=wm(e,t);if(!n)return e+"";var r=n[0],i=n[1],a=i-(Cne=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+wm(e,Math.max(0,t+a-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function _ne(e){return e}var xm,zm,qH,wne=Array.prototype.map,xne=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function zne(e){var t=void 0===e.grouping||void 0===e.thousands?_ne:function P1t(e,t){return function(n,r){for(var i=n.length,a=[],s=0,o=e[0],c=0;i>0&&o>0&&(c+o+1>r&&(o=Math.max(1,r-c)),a.push(n.substring(i-=o,i+o)),!((c+=o+1)>r));)o=e[s=(s+1)%e.length];return a.reverse().join(t)}}(wne.call(e.grouping,Number),e.thousands+""),n=void 0===e.currency?"":e.currency[0]+"",r=void 0===e.currency?"":e.currency[1]+"",i=void 0===e.decimal?".":e.decimal+"",a=void 0===e.numerals?_ne:function $1t(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}(wne.call(e.numerals,String)),s=void 0===e.percent?"%":e.percent+"",o=void 0===e.minus?"\u2212":e.minus+"",c=void 0===e.nan?"NaN":e.nan+"";function l(f){var d=(f=H4(f)).fill,h=f.align,p=f.sign,m=f.symbol,g=f.zero,v=f.width,y=f.comma,C=f.precision,b=f.trim,M=f.type;"n"===M?(y=!0,M="g"):Mne[M]||(void 0===C&&(C=12),b=!0,M="g"),(g||"0"===d&&"="===h)&&(g=!0,d="0",h="=");var w="$"===m?n:"#"===m&&/[boxX]/.test(M)?"0"+M.toLowerCase():"",_="$"===m?r:/[%p]/.test(M)?s:"",z=Mne[M],V=/[defgprs%]/.test(M);function D(L){var x,H,E,R=w,A=_;if("c"===M)A=z(L)+A,L="";else{var T=(L=+L)<0||1/L<0;if(L=isNaN(L)?c:z(Math.abs(L),C),b&&(L=function B1t(e){e:for(var i,t=e.length,n=1,r=-1;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}(L)),T&&0==+L&&"+"!==p&&(T=!1),R=(T?"("===p?p:o:"-"===p||"("===p?"":p)+R,A=("s"===M?xne[8+Cne/3]:"")+A+(T&&"("===p?")":""),V)for(x=-1,H=L.length;++x(E=L.charCodeAt(x))||E>57){A=(46===E?i+L.slice(x+1):L.slice(x))+A,L=L.slice(0,x);break}}y&&!g&&(L=t(L,1/0));var S=R.length+L.length+A.length,k=S>1)+R+L+A+k.slice(S);break;default:L=k+R+L+A}return a(L)}return C=void 0===C?6:/[gprs]/.test(M)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C)),D.toString=function(){return f+""},D}return{format:l,formatPrefix:function u(f,d){var h=l(((f=H4(f)).type="f",f)),p=3*Math.max(-8,Math.min(8,Math.floor(w6(d)/3))),m=Math.pow(10,-p),g=xne[8+p/3];return function(v){return h(m*v)+g}}}}!function j1t(e){xm=zne(e),zm=xm.format,qH=xm.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const GH=new Date,WH=new Date;function Wn(e,t,n,r){function i(a){return e(a=0===arguments.length?new Date:new Date(+a)),a}return i.floor=a=>(e(a=new Date(+a)),a),i.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(t(a=new Date(+a),null==s?1:Math.floor(s)),a),i.range=(a,s,o)=>{const c=[];if(a=i.ceil(a),o=null==o?1:Math.floor(o),!(a0))return c;let l;do{c.push(l=new Date(+a)),t(a,o),e(a)}while(lWn(s=>{if(s>=s)for(;e(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;t(s,-1),!a(s););else for(;--o>=0;)for(;t(s,1),!a(s););}),n&&(i.count=(a,s)=>(GH.setTime(+a),WH.setTime(+s),e(GH),e(WH),Math.floor(n(GH,WH))),i.every=a=>(a=Math.floor(a),isFinite(a)&&a>0?a>1?i.filter(r?s=>r(s)%a==0:s=>i.count(0,s)%a==0):i:null)),i}const co=1e3,ri=6e4,lo=60*ri,uo=24*lo,YH=7*uo,XH=365*uo,fo=Wn(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*ri)/uo,e=>e.getDate()-1),Ec=Wn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/uo,e=>e.getUTCDate()-1),Sne=Wn(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/uo,e=>Math.floor(e/uo));function S4(e){return Wn(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+7*n)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*ri)/YH)}const x6=S4(0),Hm=S4(1),z6=(S4(2),S4(3),S4(4));function E4(e){return Wn(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+7*n)},(t,n)=>(n-t)/YH)}S4(5),S4(6);const H6=E4(0),Sm=E4(1),S6=(E4(2),E4(3),E4(4)),Xa=(E4(5),E4(6),Wn(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear()));Xa.every=e=>isFinite(e=Math.floor(e))&&e>0?Wn(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}):null;const Qa=Wn(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Qa.every=e=>isFinite(e=Math.floor(e))&&e>0?Wn(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null;const f5=Wn(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear()),e=>e.getMonth()),d5=Wn(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear()),e=>e.getUTCMonth()),Em=Wn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*co-e.getMinutes()*ri)},(e,t)=>{e.setTime(+e+t*lo)},(e,t)=>(t-e)/lo,e=>e.getHours()),Vm=Wn(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*lo)},(e,t)=>(t-e)/lo,e=>e.getUTCHours()),Dm=Wn(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*co)},(e,t)=>{e.setTime(+e+t*ri)},(e,t)=>(t-e)/ri,e=>e.getMinutes()),Lm=Wn(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*ri)},(e,t)=>(t-e)/ri,e=>e.getUTCMinutes()),ho=Wn(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*co)},(e,t)=>(t-e)/co,e=>e.getUTCSeconds()),E6=Wn(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);function po(e,t){return null==e||null==t?NaN:et?1:e>=t?0:NaN}function J1t(e,t){return null==e||null==t?NaN:te?1:t>=e?0:NaN}function V6(e){let t,n,r;function i(o,c,l=0,u=o.length){if(l>>1;n(o[f],c)<0?l=f+1:u=f}while(lpo(e(o),c),r=(o,c)=>e(o)-c):(t=e===po||e===J1t?e:e2t,n=e,r=e),{left:i,center:function s(o,c,l=0,u=o.length){const f=i(o,c,l,u-1);return f>l&&r(o[f-1],c)>-r(o[f],c)?f-1:f},right:function a(o,c,l=0,u=o.length){if(l>>1;n(o[f],c)<=0?l=f+1:u=f}while(l(e=Math.floor(e),isFinite(e)&&e>0?e>1?Wn(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):E6:null);const z1="year",Y2="quarter",U1="month",Yn="week",X2="date",j1="day",Za="dayofyear",Sr="hours",Er="minutes",ii="seconds",$i="milliseconds",QH=[z1,Y2,U1,Yn,X2,j1,Za,Sr,Er,ii,$i],ZH=QH.reduce((e,t,n)=>(e[t]=1+n,e),{});function KH(e){const t=me(e).slice(),n={};return t.length||Z("Missing time unit."),t.forEach(i=>{Ne(ZH,i)?n[i]=1:Z(`Invalid time unit: ${i}.`)}),(n[Yn]||n[j1]?1:0)+(n[Y2]||n[U1]||n[X2]?1:0)+(n[Za]?1:0)>1&&Z(`Incompatible time units: ${e}`),t.sort((i,a)=>ZH[i]-ZH[a]),t}const t2t={[z1]:"%Y ",[Y2]:"Q%q ",[U1]:"%b ",[X2]:"%d ",[Yn]:"W%U ",[j1]:"%a ",[Za]:"%j ",[Sr]:"%H:00",[Er]:"00:%M",[ii]:":%S",[$i]:".%L",[`${z1}-${U1}`]:"%Y-%m ",[`${z1}-${U1}-${X2}`]:"%Y-%m-%d ",[`${Sr}-${Er}`]:"%H:%M"};function Ene(e,t){const n=tt({},t2t,t),r=KH(e),i=r.length;let o,c,a="",s=0;for(s=0;ss;--o)if(c=r.slice(s,o).join("-"),null!=n[c]){a+=n[c],s=o;break}return a.trim()}const V4=new Date;function JH(e){return V4.setFullYear(e),V4.setMonth(0),V4.setDate(1),V4.setHours(0,0,0,0),V4}function Vne(e){return Lne(new Date(e))}function Dne(e){return eS(new Date(e))}function Lne(e){return fo.count(JH(e.getFullYear())-1,e)}function eS(e){return x6.count(JH(e.getFullYear())-1,e)}function tS(e){return JH(e).getDay()}function n2t(e,t,n,r,i,a,s){if(0<=e&&e<100){const o=new Date(-1,t,n,r,i,a,s);return o.setFullYear(e),o}return new Date(e,t,n,r,i,a,s)}function Ane(e){return kne(new Date(e))}function Nne(e){return nS(new Date(e))}function kne(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return Ec.count(t-1,e)}function nS(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return H6.count(t-1,e)}function rS(e){return V4.setTime(Date.UTC(e,0,1)),V4.getUTCDay()}function r2t(e,t,n,r,i,a,s){if(0<=e&&e<100){const o=new Date(Date.UTC(-1,t,n,r,i,a,s));return o.setUTCFullYear(n.y),o}return new Date(Date.UTC(e,t,n,r,i,a,s))}function Tne(e,t,n,r,i){const a=t||1,s=ft(e),o=(v,y,C)=>function i2t(e,t,n,r){const i=n<=1?e:r?(a,s)=>r+n*Math.floor((e(a,s)-r)/n):(a,s)=>n*Math.floor(e(a,s)/n);return t?(a,s)=>t(i(a,s),s):i}(n[C=C||v],r[C],v===s&&a,y),c=new Date,l=Pi(e),u=l[z1]?o(z1):B1(2012),f=l[U1]?o(U1):l[Y2]?o(Y2):_c,d=l[Yn]&&l[j1]?o(j1,1,Yn+j1):l[Yn]?o(Yn,1):l[j1]?o(j1,1):l[X2]?o(X2,1):l[Za]?o(Za,1):y6,h=l[Sr]?o(Sr):_c,p=l[Er]?o(Er):_c,m=l[ii]?o(ii):_c,g=l[$i]?o($i):_c;return function(v){c.setTime(+v);const y=u(c);return i(y,f(c),d(c,y),h(c),p(c),m(c),g(c))}}function D6(e,t,n){return t+7*e-(n+6)%7}const a2t={[z1]:e=>e.getFullYear(),[Y2]:e=>Math.floor(e.getMonth()/3),[U1]:e=>e.getMonth(),[X2]:e=>e.getDate(),[Sr]:e=>e.getHours(),[Er]:e=>e.getMinutes(),[ii]:e=>e.getSeconds(),[$i]:e=>e.getMilliseconds(),[Za]:e=>Lne(e),[Yn]:e=>eS(e),[Yn+j1]:(e,t)=>D6(eS(e),e.getDay(),tS(t)),[j1]:(e,t)=>D6(1,e.getDay(),tS(t))},s2t={[Y2]:e=>3*e,[Yn]:(e,t)=>D6(e,0,tS(t))};function Ine(e,t){return Tne(e,t||1,a2t,s2t,n2t)}const o2t={[z1]:e=>e.getUTCFullYear(),[Y2]:e=>Math.floor(e.getUTCMonth()/3),[U1]:e=>e.getUTCMonth(),[X2]:e=>e.getUTCDate(),[Sr]:e=>e.getUTCHours(),[Er]:e=>e.getUTCMinutes(),[ii]:e=>e.getUTCSeconds(),[$i]:e=>e.getUTCMilliseconds(),[Za]:e=>kne(e),[Yn]:e=>nS(e),[j1]:(e,t)=>D6(1,e.getUTCDay(),rS(t)),[Yn+j1]:(e,t)=>D6(nS(e),e.getUTCDay(),rS(t))},c2t={[Y2]:e=>3*e,[Yn]:(e,t)=>D6(e,0,rS(t))};function Fne(e,t){return Tne(e,t||1,o2t,c2t,r2t)}const l2t={[z1]:Xa,[Y2]:f5.every(3),[U1]:f5,[Yn]:x6,[X2]:fo,[j1]:fo,[Za]:fo,[Sr]:Em,[Er]:Dm,[ii]:ho,[$i]:E6},u2t={[z1]:Qa,[Y2]:d5.every(3),[U1]:d5,[Yn]:H6,[X2]:Ec,[j1]:Ec,[Za]:Ec,[Sr]:Vm,[Er]:Lm,[ii]:ho,[$i]:E6};function L6(e){return l2t[e]}function A6(e){return u2t[e]}function Rne(e,t,n){return e?e.offset(t,n):void 0}function One(e,t,n){return Rne(L6(e),t,n)}function Pne(e,t,n){return Rne(A6(e),t,n)}function $ne(e,t,n,r){return e?e.range(t,n,r):void 0}function Bne(e,t,n,r){return $ne(L6(e),t,n,r)}function Une(e,t,n,r){return $ne(A6(e),t,n,r)}const p5=6e4,m5=60*p5,iS=31536e6,qne=[z1,U1,X2,Sr,Er,ii,$i],g5=qne.slice(0,-1),v5=g5.slice(0,-1),y5=v5.slice(0,-1),d2t=y5.slice(0,-1),Gne=[z1,U1],Wne=[z1],C5=[[g5,1,1e3],[g5,5,5e3],[g5,15,15e3],[g5,30,3e4],[v5,1,p5],[v5,5,5*p5],[v5,15,15*p5],[v5,30,30*p5],[y5,1,m5],[y5,3,3*m5],[y5,6,6*m5],[y5,12,12*m5],[d2t,1,864e5],[[z1,Yn],1,6048e5],[Gne,1,2592e6],[Gne,3,7776e6],[Wne,1,iS]];function Yne(e){const t=e.extent,n=e.maxbins||40,r=Math.abs(l5(t))/n;let a,s,i=V6(o=>o[2]).right(C5,r);return i===C5.length?(a=Wne,s=Sc(t[0]/iS,t[1]/iS,n)):i?(i=C5[r/C5[i-1][2]=12)]},q:function B(W){return 1+~~(W.getMonth()/3)},Q:c1e,s:l1e,S:O2t,u:P2t,U:$2t,V:B2t,w:U2t,W:j2t,x:null,X:null,y:q2t,Y:W2t,Z:X2t,"%":o1e},b={a:function U(W){return s[W.getUTCDay()]},A:function $(W){return a[W.getUTCDay()]},b:function G(W){return c[W.getUTCMonth()]},B:function se(W){return o[W.getUTCMonth()]},c:null,d:i1e,e:i1e,f:J2t,g:lrt,G:frt,H:Q2t,I:Z2t,j:K2t,L:a1e,m:ert,M:trt,p:function J(W){return i[+(W.getUTCHours()>=12)]},q:function he(W){return 1+~~(W.getUTCMonth()/3)},Q:c1e,s:l1e,S:nrt,u:rrt,U:irt,V:art,w:srt,W:ort,x:null,X:null,y:crt,Y:urt,Z:drt,"%":o1e},M={a:function D(W,ne,re){var j=h.exec(ne.slice(re));return j?(W.w=p.get(j[0].toLowerCase()),re+j[0].length):-1},A:function L(W,ne,re){var j=f.exec(ne.slice(re));return j?(W.w=d.get(j[0].toLowerCase()),re+j[0].length):-1},b:function R(W,ne,re){var j=v.exec(ne.slice(re));return j?(W.m=y.get(j[0].toLowerCase()),re+j[0].length):-1},B:function A(W,ne,re){var j=m.exec(ne.slice(re));return j?(W.m=g.get(j[0].toLowerCase()),re+j[0].length):-1},c:function x(W,ne,re){return z(W,t,ne,re)},d:Jne,e:Jne,f:V2t,g:Kne,G:Zne,H:e1e,I:e1e,j:z2t,L:E2t,m:x2t,M:H2t,p:function V(W,ne,re){var j=l.exec(ne.slice(re));return j?(W.p=u.get(j[0].toLowerCase()),re+j[0].length):-1},q:w2t,Q:L2t,s:A2t,S:S2t,u:y2t,U:C2t,V:b2t,w:v2t,W:M2t,x:function H(W,ne,re){return z(W,n,ne,re)},X:function E(W,ne,re){return z(W,r,ne,re)},y:Kne,Y:Zne,Z:_2t,"%":D2t};function w(W,ne){return function(re){var Ee,Re,At,j=[],pe=-1,_e=0,Pe=W.length;for(re instanceof Date||(re=new Date(+re));++pe53)return null;"w"in j||(j.w=1),"Z"in j?(Pe=(_e=sS(b5(j.y,0,1))).getUTCDay(),_e=Pe>4||0===Pe?Sm.ceil(_e):Sm(_e),_e=Ec.offset(_e,7*(j.V-1)),j.y=_e.getUTCFullYear(),j.m=_e.getUTCMonth(),j.d=_e.getUTCDate()+(j.w+6)%7):(Pe=(_e=aS(b5(j.y,0,1))).getDay(),_e=Pe>4||0===Pe?Hm.ceil(_e):Hm(_e),_e=fo.offset(_e,7*(j.V-1)),j.y=_e.getFullYear(),j.m=_e.getMonth(),j.d=_e.getDate()+(j.w+6)%7)}else("W"in j||"U"in j)&&("w"in j||(j.w="u"in j?j.u%7:"W"in j?1:0),Pe="Z"in j?sS(b5(j.y,0,1)).getUTCDay():aS(b5(j.y,0,1)).getDay(),j.m=0,j.d="W"in j?(j.w+6)%7+7*j.W-(Pe+5)%7:j.w+7*j.U-(Pe+6)%7);return"Z"in j?(j.H+=j.Z/100|0,j.M+=j.Z%100,sS(j)):aS(j)}}function z(W,ne,re,j){for(var Ee,Re,pe=0,_e=ne.length,Pe=re.length;pe<_e;){if(j>=Pe)return-1;if(37===(Ee=ne.charCodeAt(pe++))){if(Ee=ne.charAt(pe++),!(Re=M[Ee in Qne?ne.charAt(pe++):Ee])||(j=Re(W,re,j))<0)return-1}else if(Ee!=re.charCodeAt(j++))return-1}return j}return C.x=w(n,C),C.X=w(r,C),C.c=w(t,C),b.x=w(n,b),b.X=w(r,b),b.c=w(t,b),{format:function(W){var ne=w(W+="",C);return ne.toString=function(){return W},ne},parse:function(W){var ne=_(W+="",!1);return ne.toString=function(){return W},ne},utcFormat:function(W){var ne=w(W+="",b);return ne.toString=function(){return W},ne},utcParse:function(W){var ne=_(W+="",!0);return ne.toString=function(){return W},ne}}}var N6,oS,u1e,cS,f1e,Qne={"-":"",_:" ",0:"0"},t1=/^\s*\d+/,p2t=/^%/,m2t=/[\\^$*+?|[\]().{}]/g;function Ct(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",a=i.length;return r+(a[t.toLowerCase(),n]))}function v2t(e,t,n){var r=t1.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function y2t(e,t,n){var r=t1.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function C2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function b2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function M2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Zne(e,t,n){var r=t1.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Kne(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function _2t(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function w2t(e,t,n){var r=t1.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function x2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Jne(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function z2t(e,t,n){var r=t1.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function e1e(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function H2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function S2t(e,t,n){var r=t1.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function E2t(e,t,n){var r=t1.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function V2t(e,t,n){var r=t1.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function D2t(e,t,n){var r=p2t.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function L2t(e,t,n){var r=t1.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function A2t(e,t,n){var r=t1.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function t1e(e,t){return Ct(e.getDate(),t,2)}function N2t(e,t){return Ct(e.getHours(),t,2)}function k2t(e,t){return Ct(e.getHours()%12||12,t,2)}function T2t(e,t){return Ct(1+fo.count(Xa(e),e),t,3)}function n1e(e,t){return Ct(e.getMilliseconds(),t,3)}function I2t(e,t){return n1e(e,t)+"000"}function F2t(e,t){return Ct(e.getMonth()+1,t,2)}function R2t(e,t){return Ct(e.getMinutes(),t,2)}function O2t(e,t){return Ct(e.getSeconds(),t,2)}function P2t(e){var t=e.getDay();return 0===t?7:t}function $2t(e,t){return Ct(x6.count(Xa(e)-1,e),t,2)}function r1e(e){var t=e.getDay();return t>=4||0===t?z6(e):z6.ceil(e)}function B2t(e,t){return e=r1e(e),Ct(z6.count(Xa(e),e)+(4===Xa(e).getDay()),t,2)}function U2t(e){return e.getDay()}function j2t(e,t){return Ct(Hm.count(Xa(e)-1,e),t,2)}function q2t(e,t){return Ct(e.getFullYear()%100,t,2)}function G2t(e,t){return Ct((e=r1e(e)).getFullYear()%100,t,2)}function W2t(e,t){return Ct(e.getFullYear()%1e4,t,4)}function Y2t(e,t){var n=e.getDay();return Ct((e=n>=4||0===n?z6(e):z6.ceil(e)).getFullYear()%1e4,t,4)}function X2t(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Ct(t/60|0,"0",2)+Ct(t%60,"0",2)}function i1e(e,t){return Ct(e.getUTCDate(),t,2)}function Q2t(e,t){return Ct(e.getUTCHours(),t,2)}function Z2t(e,t){return Ct(e.getUTCHours()%12||12,t,2)}function K2t(e,t){return Ct(1+Ec.count(Qa(e),e),t,3)}function a1e(e,t){return Ct(e.getUTCMilliseconds(),t,3)}function J2t(e,t){return a1e(e,t)+"000"}function ert(e,t){return Ct(e.getUTCMonth()+1,t,2)}function trt(e,t){return Ct(e.getUTCMinutes(),t,2)}function nrt(e,t){return Ct(e.getUTCSeconds(),t,2)}function rrt(e){var t=e.getUTCDay();return 0===t?7:t}function irt(e,t){return Ct(H6.count(Qa(e)-1,e),t,2)}function s1e(e){var t=e.getUTCDay();return t>=4||0===t?S6(e):S6.ceil(e)}function art(e,t){return e=s1e(e),Ct(S6.count(Qa(e),e)+(4===Qa(e).getUTCDay()),t,2)}function srt(e){return e.getUTCDay()}function ort(e,t){return Ct(Sm.count(Qa(e)-1,e),t,2)}function crt(e,t){return Ct(e.getUTCFullYear()%100,t,2)}function lrt(e,t){return Ct((e=s1e(e)).getUTCFullYear()%100,t,2)}function urt(e,t){return Ct(e.getUTCFullYear()%1e4,t,4)}function frt(e,t){var n=e.getUTCDay();return Ct((e=n>=4||0===n?S6(e):S6.ceil(e)).getUTCFullYear()%1e4,t,4)}function drt(){return"+0000"}function o1e(){return"%"}function c1e(e){return+e}function l1e(e){return Math.floor(+e/1e3)}function w5(e){const t={};return n=>t[n]||(t[n]=e(n))}function d1e(e){const t=w5(e.format),n=e.formatPrefix;return{format:t,formatPrefix:n,formatFloat(r){const i=H4(r||",");if(null==i.precision){switch(i.precision=12,i.type){case"%":i.precision-=2;break;case"e":i.precision-=1}return function prt(e,t){return n=>{const r=e(n),i=r.indexOf(t);if(i<0)return r;let a=function mrt(e,t){let r,n=e.lastIndexOf("e");if(n>0)return n;for(n=e.length;--n>t;)if(r=e.charCodeAt(n),r>=48&&r<=57)return n+1}(r,i);const s=ai;)if("0"!==r[a]){++a;break}return r.slice(0,a)+s}}(t(i),t(".1f")(1)[1])}return t(i)},formatSpan(r,i,a,s){s=H4(s??",f");const o=Sc(r,i,a),c=Math.max(Math.abs(r),Math.abs(i));let l;if(null==s.precision)switch(s.type){case"s":return isNaN(l=gne(o,c))||(s.precision=l),n(s,c);case"":case"e":case"g":case"p":case"r":isNaN(l=vne(o,c))||(s.precision=l-("e"===s.type));break;case"f":case"%":isNaN(l=yne(o))||(s.precision=l-2*("%"===s.type))}return t(s)}}}let lS,uS;function h1e(){return lS=d1e({format:zm,formatPrefix:qH})}function p1e(e){return d1e(zne(e))}function Nm(e){return arguments.length?lS=p1e(e):lS}function m1e(e,t,n){ye(n=n||{})||Z(`Invalid time multi-format specifier: ${n}`);const r=t(ii),i=t(Er),a=t(Sr),s=t(X2),o=t(Yn),c=t(U1),l=t(Y2),u=t(z1),f=e(n[$i]||".%L"),d=e(n[ii]||":%S"),h=e(n[Er]||"%I:%M"),p=e(n[Sr]||"%I %p"),m=e(n[X2]||n[j1]||"%a %d"),g=e(n[Yn]||"%b %d"),v=e(n[U1]||"%B"),y=e(n[Y2]||"%B"),C=e(n[z1]||"%Y");return b=>(r(b)ge(r)?t(r):m1e(t,L6,r),utcFormat:r=>ge(r)?n(r):m1e(n,A6,r),timeParse:w5(e.parse),utcParse:w5(e.utcParse)}}function v1e(){return uS=g1e({format:oS,parse:u1e,utcFormat:cS,utcParse:f1e})}function y1e(e){return g1e(Xne(e))}function x5(e){return arguments.length?uS=y1e(e):uS}!function hrt(e){N6=Xne(e),oS=N6.format,u1e=N6.parse,cS=N6.utcFormat,f1e=N6.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),h1e(),v1e();const fS=(e,t)=>tt({},e,t);function C1e(e,t){const n=e?p1e(e):Nm(),r=t?y1e(t):x5();return fS(n,r)}function dS(e,t){const n=arguments.length;return n&&2!==n&&Z("defaultLocale expects either zero or two arguments."),n?fS(Nm(e),x5(t)):fS(Nm(),x5())}function grt(){return h1e(),v1e(),dS()}const vrt=/^(data:|([A-Za-z]+:)?\/\/)/,yrt=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,Crt=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,b1e="file://";function Mrt(e,t){return hS.apply(this,arguments)}function hS(){return hS=Rn(function*(e,t){const n=yield this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t)}),hS.apply(this,arguments)}function _rt(e,t){return pS.apply(this,arguments)}function pS(){return pS=Rn(function*(e,t){t=tt({},this.options,t);const n=this.fileAccess,r={href:null};let i,a,s;const o=yrt.test(e.replace(Crt,""));(null==e||"string"!=typeof e||!o)&&Z("Sanitize failure, invalid URI: "+ue(e));const c=vrt.test(e);return(s=t.baseURL)&&!c&&(!e.startsWith("/")&&!s.endsWith("/")&&(e="/"+e),e=s+e),a=(i=e.startsWith(b1e))||"file"===t.mode||"http"!==t.mode&&!c&&n,i?e=e.slice(b1e.length):e.startsWith("//")&&("file"===t.defaultProtocol?(e=e.slice(2),a=!0):e=(t.defaultProtocol||"http")+":"+e),Object.defineProperty(r,"localFile",{value:!!a}),r.href=e,t.target&&(r.target=t.target+""),t.rel&&(r.rel=t.rel+""),"image"===t.context&&t.crossOrigin&&(r.crossOrigin=t.crossOrigin+""),r}),pS.apply(this,arguments)}function wrt(e){return e?t=>new Promise((n,r)=>{e.readFile(t,(i,a)=>{i?r(i):n(a)})}):xrt}function xrt(){return mS.apply(this,arguments)}function mS(){return(mS=Rn(function*(){Z("No file system access.")})).apply(this,arguments)}function zrt(e){return e?function(){var t=Rn(function*(n,r){const i=tt({},this.options.http,r),a=r&&r.response,s=yield e(n,i);return s.ok?et(s[a])?s[a]():s.text():Z(s.status+""+s.statusText)});return function(n,r){return t.apply(this,arguments)}}():Hrt}function Hrt(){return gS.apply(this,arguments)}function gS(){return(gS=Rn(function*(){Z("No HTTP fetch method available.")})).apply(this,arguments)}const Srt=e=>null!=e&&e==e,M1e=e=>!(Number.isNaN(+e)||e instanceof Date),vS={boolean:IH,integer:$1,number:$1,date:FH,string:RH,unknown:P1},km=[e=>"true"===e||"false"===e||!0===e||!1===e,e=>M1e(e)&&Number.isInteger(+e),M1e,e=>!Number.isNaN(Date.parse(e))],Lrt=["boolean","integer","number","date"];function _1e(e,t){if(!e||!e.length)return"unknown";const n=e.length,r=km.length,i=km.map((a,s)=>s+1);for(let o,c,a=0,s=0;a0===a?s:a,0)-1]}function w1e(e,t){return t.reduce((n,r)=>(n[r]=_1e(e,r),n),{})}function x1e(e){const t=function(n,r){const i={delimiter:e};return yS(n,r?tt(r,i):i)};return t.responseType="text",t}function yS(e,t){return t.header&&(e=t.header.map(ue).join(t.delimiter)+"\n"+e),H1t(t.delimiter).parse(e+"")}function CS(e,t){const n=t&&t.property?ti(t.property):P1;return ye(e)&&!function Art(e){return!("function"!=typeof Buffer||!et(Buffer.isBuffer))&&Buffer.isBuffer(e)}(e)?function Nrt(e,t){return!K(e)&&ine(e)&&(e=[...e]),t&&t.copy?JSON.parse(JSON.stringify(e)):e}(n(e),t):n(JSON.parse(e))}yS.responseType="text",CS.responseType="json";const krt={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function z1e(e,t){let n,r,i,a;return e=CS(e,t),t&&t.feature?(n=D1t,i=t.feature):t&&t.mesh?(n=A1t,i=t.mesh,a=krt[t.filter]):Z("Missing TopoJSON feature or mesh parameter."),r=(r=e.objects[i])?n(e,r,a):Z("Invalid TopoJSON object: "+i),r&&r.features||[r]}z1e.responseType="json";const Tm={dsv:yS,csv:x1e(","),tsv:x1e("\t"),json:CS,topojson:z1e};function bS(e,t){return arguments.length>1?(Tm[e]=t,this):Ne(Tm,e)?Tm[e]:null}function H1e(e){const t=bS(e);return t&&t.responseType||"text"}function S1e(e,t,n,r){const i=bS((t=t||{}).type||"json");return i||Z("Unknown data format type: "+t.type),e=i(e,t),t.parse&&function Trt(e,t,n,r){if(!e.length)return;const i=x5();n=n||i.timeParse,r=r||i.utcParse;let s,o,c,l,u,f,a=e.columns||Object.keys(e[0]);"auto"===t&&(t=w1e(e,a)),a=Object.keys(t);const d=a.map(h=>{const p=t[h];let m,g;if(p&&(p.startsWith("date:")||p.startsWith("utc:")))return m=p.split(/:(.+)?/,2),g=m[1],("'"===g[0]&&"'"===g[g.length-1]||'"'===g[0]&&'"'===g[g.length-1])&&(g=g.slice(1,-1)),("utc"===m[0]?r:n)(g);if(!vS[p])throw Error("Illegal format pattern: "+h+":"+p);return vS[p]});for(c=0,u=e.length,f=a.length;c({options:n||{},sanitize:_rt,load:Mrt,fileAccess:!!t,file:wrt(t),http:zrt(e)})}(typeof fetch<"u"&&fetch,null);function Fm(e){const t=e||P1,n=[],r={};return n.add=i=>{const a=t(i);return r[a]||(r[a]=1,n.push(i)),n},n.remove=i=>{const a=t(i);if(r[a]){r[a]=0;const s=n.indexOf(i);s>=0&&n.splice(s,1)}return n},n}function Rm(e,t){return MS.apply(this,arguments)}function MS(){return MS=Rn(function*(e,t){try{yield t(e)}catch(n){e.error(n)}}),MS.apply(this,arguments)}const E1e=Symbol("vega_id");let Irt=1;function Om(e){return!(!e||!ke(e))}function ke(e){return e[E1e]}function V1e(e,t){return e[E1e]=t,e}function zt(e){const t=e===Object(e)?e:{data:e};return ke(t)?t:V1e(t,Irt++)}function _S(e){return Pm(e,zt({}))}function Pm(e,t){for(const n in e)t[n]=e[n];return t}function D1e(e,t){return V1e(t,ke(e))}function D4(e,t){return e?t?(n,r)=>e(n,r)||ke(t(n))-ke(t(r)):(n,r)=>e(n,r)||ke(n)-ke(r):null}function L1e(e){return e&&e.constructor===L4}function L4(){const e=[],t=[],n=[],r=[],i=[];let a=null,s=!1;return{constructor:L4,insert(o){const c=me(o),l=c.length;for(let u=0;u{p(y)&&(l[ke(y)]=-1)});for(f=0,d=e.length;f0&&(v(m,p,h.value),o.modifies(p));for(f=0,d=i.length;f{p(y)&&l[ke(y)]>0&&v(y,h.field,h.value)}),o.modifies(h.field);if(s)o.mod=t.length||r.length?c.filter(y=>l[ke(y)]>0):c.slice();else for(g in u)o.mod.push(u[g]);return(a||null==a&&(t.length||r.length))&&o.clean(!0),o}}}const $m="_:mod:_";function Bm(){Object.defineProperty(this,$m,{writable:!0,value:{}})}Bm.prototype={set(e,t,n,r){const i=this,a=i[e],s=i[$m];return null!=t&&t>=0?(a[t]!==n||r)&&(a[t]=n,s[t+":"+e]=-1,s[e]=-1):(a!==n||r)&&(i[e]=n,s[e]=K(n)?1+n.length:-1),i},modified(e,t){const n=this[$m];if(!arguments.length){for(const r in n)if(n[r])return!0;return!1}if(K(e)){for(let r=0;r=0?t+1{h instanceof qt?(h!==this&&(t&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(s in e)if(o=e[s],"pulse"===s)me(o).forEach(f=>{f instanceof qt?f!==this&&(f.targets().add(this),a.push(f)):Z("Pulse parameters must be operator instances.")}),this.source=o;else if(K(o))for(r.set(s,-1,Array(c=o.length)),l=0;lt=r);return n.requests=0,n.done=()=>{0==--n.requests&&(e._pending=null,t(e))},e._pending=n}(r);i.requests+=1;const a=yield r.request(t,n);return r.pulse(e,r.changeset().remove(ni).insert(a.data||[])),i.done(),a}),xS.apply(this,arguments)}Um.prototype={_filter:ni,_apply:P1,targets(){return this._targets||(this._targets=Fm(o5))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){const t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i{const n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){const t=Vc();return this.targets().add(Vc(null,null,kH(e,n=>{const r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(Vc(null,null,()=>n=!0)),t.targets().add(Vc(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=ni,this._targets=null}};const Zrt={skip:!0};function Jrt(e,t,n,r,i,a){const s=tt({},a,Zrt);let o,c;et(n)||(n=B1(n)),void 0===r?o=l=>e.touch(n(l)):et(r)?(c=new qt(null,r,i,!1),o=l=>{c.evaluate(l);const u=n(l),f=c.value;L1e(f)?e.pulse(u,f,a):e.update(u,f,s)}):o=l=>e.update(n(l),r,s),t.apply(o)}function eit(e,t,n,r,i,a){if(void 0===r)t.targets().add(n);else{const s=a||{},o=new qt(null,function tit(e,t){return t=et(t)?t:B1(t),e?function(n,r){const i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}(n,r),i,!1);o.modified(s.force),o.rank=t.rank,t.targets().add(o),n&&(o.skip(!0),o.value=n.value,o.targets().add(n),e.connect(n,[o]))}}const jm={};function Lc(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function zS(e,t){const n=[];return Hc(e,t,r=>n.push(r)),n}function F1e(e,t){const n={};return e.visit(t,r=>{n[ke(r)]=1}),r=>n[ke(r)]?null:r}function qm(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}function HS(e,t,n,r){const i=this;let a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(const s of n)if(s.stamp===t){if(s.fields){const o=i.fields||(i.fields={});for(const c in s.fields)o[c]=1}s.changed(i.ADD)&&(a|=i.ADD),s.changed(i.REM)&&(a|=i.REM),s.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}function SS(){return SS=Rn(function*(e,t,n){const r=this,i=[];if(r._pulse)return R1e(r);if(r._pending&&(yield r._pending),t&&(yield Rm(r,t)),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new Lc(r,a,e),r._touched.forEach(u=>r._enqueue(u,!0)),r._touched=Fm(o5);let o,c,l,s=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(c=o.run(r._getPulse(o,e)),c.then?c=yield c:c.async&&(i.push(c.async),c=jm),c!==jm&&o._targets&&o._targets.forEach(u=>r._enqueue(u)),++s):r._enqueue(o,!0)}catch(u){r._heap.clear(),l=u}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${s} operators`),l&&(r._postrun=[],r.error(l)),r._postrun.length){const u=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;fr.runAsync(null,()=>{u.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}),SS.apply(this,arguments)}function ES(){return ES=Rn(function*(e,t,n){for(;this._running;)yield this._running;const r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running}),ES.apply(this,arguments)}function R1e(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}Lc.prototype={StopPropagation:jm,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(e){return new Lc(this.dataflow).init(this,e)},clone(){const e=this.fork(7);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new Lc(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,t){const n=this;return n.stamp=e.stamp,n.encode=e.encode,e.fields&&!(64&t)&&(n.fields=e.fields),1&t?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),2&t?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),4&t?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),32&t?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){const t=e||7;return 1&t&&this.add.length||2&t&&this.rem.length||4&t&&this.mod.length},reflow(e){if(e)return this.fork(7).reflow();const t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(4,F1e(this,1))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){const t=this.fields||(this.fields={});return K(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){const n=this.fields;return!(!t&&!this.mod.length||!n)&&(arguments.length?K(e)?e.some(r=>n[r]):n[e]:!!n)},filter(e,t){const n=this;return 1&e&&(n.addF=qm(n.addF,t)),2&e&&(n.remF=qm(n.remF,t)),4&e&&(n.modF=qm(n.modF,t)),16&e&&(n.srcF=qm(n.srcF,t)),n},materialize(e){const t=this;return 1&(e=e||7)&&t.addF&&(t.add=zS(t.add,t.addF),t.addF=null),2&e&&t.remF&&(t.rem=zS(t.rem,t.remF),t.remF=null),4&e&&t.modF&&(t.mod=zS(t.mod,t.modF),t.modF=null),16&e&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){const n=this,r=t;if(16&e)return Hc(n.source,n.srcF,r),n;1&e&&Hc(n.add,n.addF,r),2&e&&Hc(n.rem,n.remF,r),4&e&&Hc(n.mod,n.modF,r);const i=n.source;if(8&e&&i){const a=n.add.length+n.mod.length;a===i.length||Hc(i,a?F1e(n,5):n.srcF,r)}return n}},le(HS,Lc,{fork(e){const t=new Lc(this.dataflow).init(this,e&this.NO_FIELDS);return void 0!==e&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){const t=this,n=t.fields;return n&&t.changes&t.MOD?K(e)?e.some(r=>n[r]):n[e]:0},filter(){Z("MultiPulse does not support filtering.")},materialize(){Z("MultiPulse does not support materialization.")},visit(e,t){const n=this,r=n.pulses,i=r.length;let a=0;if(e&n.SOURCE)for(;at&&(a=n-1>>1,i=e[a],r(s,i)<0);)e[n]=i,n=a;return e[n]=s}function T6(){this.logger(VH()),this.logLevel(SH),this._clock=0,this._rank=0,this._locale=dS();try{this._loader=Im()}catch{}this._touched=Fm(o5),this._input={},this._pulse=null,this._heap=function mit(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),O1e(t,0,t.length-1,e)),pop:()=>{const n=t.pop();let r;return t.length?(r=t[0],t[0]=n,function git(e,t,n){const r=t,i=e.length,a=e[t];let o,s=1+(t<<1);for(;s=0&&(s=o),e[t]=e[s],s=1+((t=s)<<1);e[t]=a,O1e(e,r,t,n)}(t,0,e)):r=n,r}}}((e,t)=>e.qrank-t.qrank),this._postrun=[]}function H5(e){return function(){return this._log[e].apply(this,arguments)}}function Y(e,t){qt.call(this,e,null,t)}T6.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:H5("error"),warn:H5("warn"),info:H5("info"),debug:H5("debug"),logLevel:H5("level"),cleanThreshold:1e4,add:function Brt(e,t,n,r){let a,i=1;return e instanceof qt?a=e:e&&e.prototype instanceof qt?a=new e:et(e)?a=new qt(null,e):(i=0,a=new qt(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a},connect:function Urt(e,t){const n=e.rank,r=t.length;for(let i=0;i=0;)t.push(n=r[i]),n===e&&Z("Cycle detected in dataflow graph.")},pulse:function pit(e,t,n){this.touch(e,n||VS);const r=new Lc(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this},touch:function dit(e,t){const n=t||VS;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this},update:function hit(e,t,n){const r=n||VS;return(e.set(t)||r.force)&&this.touch(e,r),this},changeset:L4,ingest:function Wrt(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))},parse:function Grt(e,t){const n=this.locale();return S1e(e,t,n.timeParse,n.utcParse)},preload:function Xrt(e,t,n){return xS.apply(this,arguments)},request:function Yrt(e,t){return wS.apply(this,arguments)},events:function qrt(e,t,n,r){const i=this,a=Vc(n,r),s=function(l){l.dataflow=i;try{a.receive(l)}catch(u){i.error(u)}finally{i.run()}};let o;o="string"==typeof e&&typeof document<"u"?document.querySelectorAll(e):me(e);const c=o.length;for(let l=0;li.pulse),t):this._input[e.id]||function fit(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==jm&&(e.source=t.source),e)}(this._pulse,n&&n.pulse)}},le(Y,qt,{run(e){if(e.stampthis.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){const t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});const I6={};function P1e(e){const t=$1e(e);return t&&t.Definition||null}function $1e(e){return e=e&&e.toLowerCase(),Ne(I6,e)?I6[e]:null}function A4(e,t){let n;if(void 0===t)for(const r of e)null!=r&&(n=r)&&(n=r);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n=i)&&(n=i)}return n}function DS(e,t){let n;if(void 0===t)for(const r of e)null!=r&&(n>r||void 0===n&&r>=r)&&(n=r);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function Gm(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(et?1:0)}function U1e(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=void 0===i?Gm:function B1e(e=po){if(e===po)return Gm;if("function"!=typeof e)throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(i);r>n;){if(r-n>600){const c=r-n+1,l=t-n+1,u=Math.log(c),f=.5*Math.exp(2*u/3),d=.5*Math.sqrt(u*f*(c-f)/c)*(l-c/2<0?-1:1);U1e(e,t,Math.max(n,Math.floor(t-l*f/c+d)),Math.min(r,Math.floor(t+(c-l)*f/c+d)),i)}const a=e[t];let s=n,o=r;for(S5(e,n,t),i(e[r],a)>0&&S5(e,n,r);s0;)--o}0===i(e[n],a)?S5(e,n,o):(++o,S5(e,o,r)),o<=t&&(n=o+1),t<=o&&(r=o-1)}return e}function S5(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function j1e(e){return null===e?NaN:+e}function LS(e,t,n){if(e=Float64Array.from(function*vit(e,t){if(void 0===t)for(let n of e)null!=n&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n)),(r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return DS(e);if(t>=1)return A4(e);var r,i=(r-1)*t,a=Math.floor(i),s=A4(U1e(e,a).subarray(0,a+1));return s+(DS(e.subarray(a+1))-s)*(i-a)}}function q1e(e,t,n=j1e){if((r=e.length)&&!isNaN(t=+t)){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),s=+n(e[a],a,e);return s+(+n(e[a+1],a+1,e)-s)*(i-a)}}function G1e(e,t){return LS(e,.5,t)}function*W1e(e,t){if(null==t)for(let n of e)null!=n&&""!==n&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),null!=r&&""!==r&&(r=+r)>=r&&(yield r)}}function AS(e,t,n){const r=Float64Array.from(W1e(e,n));return r.sort(po),t.map(i=>q1e(r,i))}function NS(e,t){return AS(e,[.25,.5,.75],t)}function kS(e,t){const n=e.length,r=function Cit(e,t){const n=function yit(e,t){let r,n=0,i=0,a=0;if(void 0===t)for(let s of e)null!=s&&(s=+s)>=s&&(r=s-i,i+=r/++n,a+=r*(s-i));else{let s=-1;for(let o of e)null!=(o=t(o,++s,e))&&(o=+o)>=o&&(r=o-i,i+=r/++n,a+=r*(o-i))}if(n>1)return a/(n-1)}(e,t);return n&&Math.sqrt(n)}(e,t),i=NS(e,t);return 1.06*(Math.min(r,(i[2]-i[0])/1.34)||r||Math.abs(i[0])||1)*Math.pow(n,-.2)}function Y1e(e){const t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2];let o,c,l,u,f,d,a=e.extent[0],s=e.extent[1];const h=e.span||s-a||Math.abs(a)||1;if(e.step)o=e.step;else if(e.steps){for(u=h/t,f=0,d=e.steps.length;ft;)o*=n;for(f=0,d=i.length;f=l&&h/u<=t&&(o=u)}u=Math.log(o);const m=Math.pow(n,-(u>=0?0:1+~~(-u/r))-1);return(e.nice||void 0===e.nice)&&(u=Math.floor(a/o+m)*o,a=ad);const i=e.length,a=new Float64Array(i);let f,s=0,o=1,c=r(e[0]),l=c,u=c+t;for(;o=u){for(l=(c+l)/2;s>1);si;)e[s--]=e[r]}r=i,i=a}return e}(a,t+t/4):a}function _it(e){return function(){return(e=(1103515245*e+12345)%2147483647)/2147483647}}function wit(e,t){let n,r,i;null==t&&(t=e,e=0);const a={min(s){return arguments.length?(n=s||0,i=r-n,a):n},max(s){return arguments.length?(r=s||0,i=r-n,a):r},sample:()=>n+Math.floor(i*ai()),pdf:s=>s===Math.floor(s)&&s>=n&&s=r?1:(o-n+1)/i},icdf:s=>s>=0&&s<=1?n-1+Math.floor(s*i):NaN};return a.min(e).max(t)}const Z1e=Math.sqrt(2*Math.PI),xit=Math.SQRT2;let E5=NaN;function Wm(e,t){e=e||0,t=t??1;let i,a,n=0,r=0;if(E5==E5)n=E5,E5=NaN;else{do{n=2*ai()-1,r=2*ai()-1,i=n*n+r*r}while(0===i||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,E5=r*a}return e+n*t}function TS(e,t,n){const r=(e-(t||0))/(n=n??1);return Math.exp(-.5*r*r)/(n*Z1e)}function Ym(e,t,n){const r=(e-(t=t||0))/(n=n??1),i=Math.abs(r);let a;if(i>37)a=0;else{const s=Math.exp(-i*i/2);let o;i<7.07106781186547?(o=.0352624965998911*i+.700383064443688,o=o*i+6.37396220353165,o=o*i+33.912866078383,o=o*i+112.079291497871,o=o*i+221.213596169931,o=o*i+220.206867912376,a=s*o,o=.0883883476483184*i+1.75566716318264,o=o*i+16.064177579207,o=o*i+86.7807322029461,o=o*i+296.564248779674,o=o*i+637.333633378831,o=o*i+793.826512519948,o=o*i+440.413735824752,a/=o):(o=i+.65,o=i+4/o,o=i+3/o,o=i+2/o,o=i+1/o,a=s/o/2.506628274631)}return r>0?1-a:a}function Xm(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*xit*function zit(e){let n,t=-Math.log((1-e)*(1+e));return t<6.25?(t-=3.125,n=-364441206401782e-35,n=n*t-16850591381820166e-35,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=n*t-1333171662854621e-31,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=n*t-4054566272975207e-29,n=n*t-8151934197605472e-29,n=26335093153082323e-28+n*t,n=n*t-12975133253453532e-27,n=n*t-5415412054294628e-26,n=1.0512122733215323e-9+n*t,n=n*t-4.112633980346984e-9,n=n*t-2.9070369957882005e-8,n=4.2347877827932404e-7+n*t,n=n*t-13654692000834679e-22,n=n*t-13882523362786469e-21,n=.00018673420803405714+n*t,n=n*t-.000740702534166267,n=n*t-.006033670871430149,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=2.2137376921775787e-9,n=9.075656193888539e-8+n*t,n=n*t-2.7517406297064545e-7,n=1.8239629214389228e-8+n*t,n=15027403968909828e-22+n*t,n=n*t-4013867526981546e-21,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=n*t-47318229009055734e-21,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=n*t-.0003550375203628475,n=.0009532893797373805+n*t,n=n*t-.0016882755560235047,n=.002491442096107851+n*t,n=n*t-.003751208507569241,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=n*t-2.555641816996525e-10,n=1.5076572693500548e-9+n*t,n=n*t-3.789465440126737e-9,n=7.61570120807834e-9+n*t,n=n*t-1.496002662714924e-8,n=2.914795345090108e-8+n*t,n=n*t-6.771199775845234e-8,n=2.2900482228026655e-7+n*t,n=n*t-9.9298272942317e-7,n=4526062597223154e-21+n*t,n=n*t-1968177810553167e-20,n=7599527703001776e-20+n*t,n=n*t-.00021503011930044477,n=n*t-.00013871931833623122,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}(2*e-1)}function IS(e,t){let n,r;const i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Wm(n,r),pdf:a=>TS(a,n,r),cdf:a=>Ym(a,n,r),icdf:a=>Xm(a,n,r)};return i.mean(e).stdev(t)}function FS(e,t){const n=IS();let r=0;const i={data(a){return arguments.length?(e=a,r=a?a.length:0,i.bandwidth(t)):e},bandwidth(a){return arguments.length?(!(t=a)&&e&&(t=kS(e)),i):t},sample:()=>e[~~(ai()*r)]+t*n.sample(),pdf(a){let s=0,o=0;for(;oRS(n,r),pdf:a=>OS(a,n,r),cdf:a=>PS(a,n,r),icdf:a=>$S(a,n,r)};return i.mean(e).stdev(t)}function J1e(e,t){let r,n=0;const a={weights(s){return arguments.length?(r=function i(s){const o=[];let l,c=0;for(l=0;l=t&&e<=n?1/(n-t):0}function jS(e,t,n){return null==n&&(n=t??1,t=0),en?1:(e-t)/(n-t)}function qS(e,t,n){return null==n&&(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function e2e(e,t){let n,r;const i={min(a){return arguments.length?(n=a||0,i):n},max(a){return arguments.length?(r=a??1,i):r},sample:()=>BS(n,r),pdf:a=>US(a,n,r),cdf:a=>jS(a,n,r),icdf:a=>qS(a,n,r)};return null==t&&(t=e??1,e=0),i.min(e).max(t)}function GS(e,t,n){let r=0,i=0;for(const a of e){const s=n(a);null==t(a)||null==s||isNaN(s)||(r+=(s-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function V5(e,t,n,r){const i=r-e*e,a=Math.abs(i)<1e-24?0:(n-e*t)/i;return[t-a*e,a]}function Qm(e,t,n,r){e=e.filter(h=>{let p=t(h),m=n(h);return null!=p&&(p=+p)>=p&&null!=m&&(m=+m)>=m}),r&&e.sort((h,p)=>t(h)-t(p));const i=e.length,a=new Float64Array(i),s=new Float64Array(i);let u,f,d,o=0,c=0,l=0;for(d of e)a[o]=u=+t(d),s[o]=f=+n(d),++o,c+=(u-c)/o,l+=(f-l)/o;for(o=0;o=a&&null!=s&&(s=+s)>=s&&r(a,s,++i)}function F6(e,t,n,r,i){let a=0,s=0;return D5(e,t,n,(o,c)=>{const l=c-i(o),u=c-r;a+=l*l,s+=u*u}),1-a/s}function WS(e,t,n){let r=0,i=0,a=0,s=0,o=0;D5(e,t,n,(u,f)=>{++o,r+=(u-r)/o,i+=(f-i)/o,a+=(u*f-a)/o,s+=(u*u-s)/o});const c=V5(r,i,a,s),l=u=>c[0]+c[1]*u;return{coef:c,predict:l,rSquared:F6(e,t,n,i,l)}}function t2e(e,t,n){let r=0,i=0,a=0,s=0,o=0;D5(e,t,n,(u,f)=>{++o,u=Math.log(u),r+=(u-r)/o,i+=(f-i)/o,a+=(u*f-a)/o,s+=(u*u-s)/o});const c=V5(r,i,a,s),l=u=>c[0]+c[1]*Math.log(u);return{coef:c,predict:l,rSquared:F6(e,t,n,i,l)}}function n2e(e,t,n){const[r,i,a,s]=Qm(e,t,n);let d,h,p,o=0,c=0,l=0,u=0,f=0;D5(e,t,n,(y,C)=>{d=r[f++],h=Math.log(C),p=d*C,o+=(C*h-o)/f,c+=(p-c)/f,l+=(p*h-l)/f,u+=(d*p-u)/f});const[m,g]=V5(c/s,o/s,l/s,u/s),v=y=>Math.exp(m+g*(y-a));return{coef:[Math.exp(m-g*a),g],predict:v,rSquared:F6(e,t,n,s,v)}}function r2e(e,t,n){let r=0,i=0,a=0,s=0,o=0,c=0;D5(e,t,n,(f,d)=>{const h=Math.log(f),p=Math.log(d);++c,r+=(h-r)/c,i+=(p-i)/c,a+=(h*p-a)/c,s+=(h*h-s)/c,o+=(d-o)/c});const l=V5(r,i,a,s),u=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:u,rSquared:F6(e,t,n,o,u)}}function YS(e,t,n){const[r,i,a,s]=Qm(e,t,n),o=r.length;let h,p,m,g,c=0,l=0,u=0,f=0,d=0;for(h=0;hC*(_-=a)*_+b*_+M+s;return{coef:[M-b*a+C*a*a+s,b-2*C*a,C],predict:w,rSquared:F6(e,t,n,s,w)}}function i2e(e,t,n,r){if(0===r)return GS(e,t,n);if(1===r)return WS(e,t,n);if(2===r)return YS(e,t,n);const[i,a,s,o]=Qm(e,t,n),c=i.length,l=[],u=[],f=r+1;let d,h,p,m,g;for(d=0;dMath.abs(e[r][s])&&(s=i);for(a=r;a=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(o=0,a=i+1;a{let b=o+v[0]+v[1]*(C-=s)+v[2]*C*C;for(d=3;d=0;--a)for(o=t[a],c=1,i[a]+=o,s=1;s<=a;++s)c*=(a+1-s)/s,i[a-s]+=o*Math.pow(n,s)*c;return i[0]+=r,i}const a2e=2,s2e=1e-12;function o2e(e,t,n,r){const[i,a,s,o]=Qm(e,t,n,!0),c=i.length,l=Math.max(2,~~(r*c)),u=new Float64Array(c),f=new Float64Array(c),d=new Float64Array(c).fill(1);for(let h=-1;++h<=a2e;){const p=[0,l-1];for(let g=0;gi[C]-v?y:C]-v||1);for(let A=y;A<=C;++A){const x=i[A],H=a[A],E=Eit(Math.abs(v-x)*D)*d[A],T=x*E;M+=E,w+=T,_+=H*E,z+=H*T,V+=x*T}const[L,R]=V5(w/M,_/M,z/M,V/M);u[g]=L+R*v,f[g]=Math.abs(a[g]-u[g]),Vit(i,g+1,p)}if(h===a2e)break;const m=G1e(f);if(Math.abs(m)=1?s2e:(y=1-v*v)*y}return function Dit(e,t,n,r){const i=e.length,a=[];let l,s=0,o=0,c=[];for(;s=e.length))for(;t>i&&e[a]-r<=r-e[i];)n[0]=++i,n[1]=a,++a}const Lit=.5*Math.PI/180;function Zm(e,t,n,r){n=n||25,r=Math.max(n,r||200);const i=m=>[m,e(m)],a=t[0],s=t[1],o=s-a,c=o/r,l=[i(a)],u=[];if(n===r){for(let m=1;m0;)u.push(i(a+m/n*o));let f=l[0],d=u[u.length-1];const h=1/o,p=function Ait(e,t){let n=e,r=e;const i=t.length;for(let a=0;ar&&(r=s)}return 1/(r-n)}(f[1],u);for(;d;){const m=i((f[0]+d[0])/2);m[0]-f[0]>=c&&Nit(f,m,d,h,p)>Lit?u.push(m):(f=d,l.push(d),u.pop()),d=u[u.length-1]}return l}function Nit(e,t,n,r,i){const a=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),s=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(a-s)}function Vr(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),a=new Array(i);++r{const n=e.length;let r=1,i=String(e[0](t));for(;r{},Iit={init:QS,add:QS,rem:QS,idx:0},L5={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.sum,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||void 0===e.max)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,t)=>{e.exp=0,e.exp_r=t},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,t)=>e.exp=e.exp_r*e.exp+t,rem:(e,t)=>e.exp=(e.exp-t/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},A5=Object.keys(L5).filter(e=>"__count__"!==e);function l2e(e,t,n){return L5[e](n,t)}function u2e(e,t){return e.idx-t.idx}function Oit(){this.valid=0,this.missing=0,this._ops.forEach(e=>null==e.aggregate_param?e.init(this):e.init(this,e.aggregate_param))}function Pit(e,t){null!=e&&""!==e?e==e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t))):++this.missing}function $it(e,t){null!=e&&""!==e?e==e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t))):--this.missing}function Bit(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function f2e(e,t){const n=t||P1,r=function Rit(e){const t={};e.forEach(r=>t[r.name]=r);const n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=L5[i]())})};return e.forEach(n),Object.values(t).sort(u2e)}(e),i=e.slice().sort(u2e);function a(s){this._ops=r,this._out=i,this.cell=s,this.init()}return a.prototype.init=Oit,a.prototype.add=Pit,a.prototype.rem=$it,a.prototype.set=Bit,a.prototype.get=n,a.fields=e.map(s=>s.out),a}function ZS(e){this._key=e?ti(e):ke,this.reset()}[...A5,"__count__"].forEach(e=>{L5[e]=function Fit(e,t){return(n,r)=>tt({name:e,aggregate_param:r,out:n||e},Iit,t)}(e,L5[e])});const H1=ZS.prototype;function Ac(e){Y.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}function KS(e){Y.call(this,null,e)}function d2e(e,t,n){const r=e;let i=t||[],a=n||[],s={},o=0;return{add:c=>a.push(c),remove:c=>s[r(c)]=++o,size:()=>i.length,data:(c,l)=>(o&&(i=i.filter(u=>!s[r(u)]),s={},o=0),l&&c&&i.sort(c),a.length&&(i=c?cne(c,i,a.sort(c)):i.concat(a),a=[]),i)}}function JS(e){Y.call(this,[],e)}function h2e(e){qt.call(this,null,jit,e)}function jit(e){return this.value&&!e.modified()?this.value:NH(e.fields,e.orders)}function eE(e){Y.call(this,null,e)}function tE(e){Y.call(this,null,e)}H1.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},H1.add=function(e){this._add.push(e)},H1.rem=function(e){this._rem.push(e)},H1.values=function(){if(this._get=null,0===this._rem.length)return this._add;const e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),s={};let o,c,l;for(o=0;o=0;)a=e(t[r])+"",Ne(n,a)||(n[a]=1,++i);return i},H1.extent=function(e){if(this._get!==e||!this._ext){const t=this.values(),n=nne(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},H1.argmin=function(e){return this.extent(e)[0]||{}},H1.argmax=function(e){return this.extent(e)[1]||{}},H1.min=function(e){const t=this.extent(e)[0];return null!=t?e(t):void 0},H1.max=function(e){const t=this.extent(e)[1];return null!=t?e(t):void 0},H1.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=NS(this.values(),e),this._get=e),this._q},H1.q1=function(e){return this.quartile(e)[0]},H1.q2=function(e){return this.quartile(e)[1]},H1.q3=function(e){return this.quartile(e)[2]},H1.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=X1e(this.values(),1e3,.05,e),this._get=e),this._ci},H1.ci0=function(e){return this.ci(e)[0]},H1.ci1=function(e){return this.ci(e)[1]},Ac.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:A5},{name:"aggregate_params",type:"field",null:!0,array:!0,default:[null]},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},le(Ac,Y,{transform(e,t){const n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,a=>n.add(a))):(n.value=n.value||n.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),r.modifies(n._outputs),n._drop=!1!==e.drop,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){const e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(o){let c,l,u,f;for(c in o)for(u=o[c].tuple,l=0;l{const C=xn(y);return i(y),n.push(C),C}),this.cellkey=e.key?e.key:XS(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const a=e.fields||[null],s=e.ops||["count"],o=e.aggregate_params||[null],c=e.as||[],l=a.length,u={};let f,d,h,p,m,g,v;for(l!==s.length&&Z("Unmatched number of fields and aggregate ops."),v=0;vf2e(y,y.field)),Object.create(null)},cellkey:XS(),cell(e,t){let n=this.value[e];return n?0===n.num&&this._drop&&n.stamp{const f=r(u);u[o]=f,u[c]=null==f?null:i+a*(1+(f-i)/a)}:u=>u[o]=r(u)),t.modifies(n?s:o)},_bins(e){if(this.value&&!e.modified())return this.value;const t=e.field,n=Y1e(e),r=n.step;let s,o,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r;null!=(s=e.anchor)&&(o=s-(i+r*Math.floor((s-i)/r)),i+=o,a+=o);const c=function(l){let u=$1(t(l));return null==u?null:ua?1/0:(u=Math.max(i,Math.min(u,a-r)),i+r*Math.floor(1e-14+(u-i)/r))};return c.start=i,c.stop=n.stop,c.step=r,this.value=G2(c,O1(t),e.name||"bin_"+xn(t))}}),JS.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},le(JS,Y,{transform(e,t){const n=t.fork(t.ALL),r=d2e(ke,this.value,n.materialize(n.ADD).add),i=e.sort,a=t.changed()||i&&(e.modified("sort")||t.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(a),this.value=n.source=r.data(D4(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}}),le(h2e,qt),eE.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},le(eE,Y,{transform(e,t){const n=f=>d=>{for(var p,h=function qit(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase()}return e.match(n)}(o(d),e.case,a)||[],m=0,g=h.length;mi[f]=1+(i[f]||0)),u=n(f=>i[f]-=1);return r?t.visit(t.SOURCE,l):(t.visit(t.ADD,l),t.visit(t.REM,u)),this._finish(t,c)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=new RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){const n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],a=t[1],s=e.fork(e.NO_SOURCE|e.NO_FIELDS);let o,c,l;for(o in n)c=r[o],l=n[o]||0,!c&&l?(r[o]=c=zt({}),c[i]=o,c[a]=l,s.add.push(c)):0===l?(c&&s.rem.push(c),n[o]=null,r[o]=null):c[a]!==l&&(c[a]=l,s.mod.push(c));return s.modifies(t)}}),tE.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},le(tE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],s=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter");let o=this.value;return s?(o&&(n.rem=o),o=t.materialize(t.SOURCE).source,n.add=this.value=function Git(e,t,n,r){for(var c,l,i=[],a={},s=e.length,o=0;og2e(a,t))):"function"==typeof r[i]&&r[i](e[i]);return r}function nE(e){Y.call(this,null,e)}const v2e=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];function y2e(e,t){return e?e.map((n,r)=>t[r]||xn(n)):null}function rE(e,t,n){const r=[],i=f=>f(c);let a,s,o,c,l,u;if(null==t)r.push(e.map(n));else for(a={},s=0,o=e.length;st(n,e),O1(t),xn(t))}function aE(e){Y.call(this,[void 0,void 0],e)}function sE(e,t){qt.call(this,e),this.parent=t,this.count=0}function Km(e){Y.call(this,{},e),this._keys=M6();const t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;rti(t)):ti(e.name,e.as)}function oE(e){Y.call(this,M6(),e)}function cE(e){Y.call(this,[],e)}function lE(e){Y.call(this,[],e)}function uE(e){Y.call(this,null,e)}function _2e(e){Y.call(this,[],e)}nE.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:v2e.concat({key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:v2e},{name:"weights",type:"number",array:!0}]})},{name:"as",type:"string",array:!0,default:["value","density"]}]},le(nE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){const r=g2e(e.distribution,function Qit(e){return()=>e.materialize(e.SOURCE).source}(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200;let s=e.method||"pdf";"pdf"!==s&&"cdf"!==s&&Z("Invalid density method: "+s),!e.extent&&!r.data&&Z("Missing density extent parameter."),s=r[s];const o=e.as||["value","density"],l=Zm(s,e.extent||Ya(r.data()),i,a).map(u=>{const f={};return f[o[0]]=u[0],f[o[1]]=u[1],zt(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}}),iE.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]},le(iE,Y,{transform(e,t){if(this.value&&!e.modified()&&!t.changed())return t;const n=t.materialize(t.SOURCE).source,r=rE(t.source,e.groupby,P1),i=e.smooth||!1,a=e.field,s=e.step||((e,t)=>l5(Ya(e,t))/30)(n,a),o=D4((p,m)=>a(p)-a(m)),c=e.as||"bin",l=r.length;let h,u=1/0,f=-1/0,d=0;for(;df&&(f=m),p[++h][c]=m}return this.value={start:u,stop:f,step:s},t.reflow(!0).modifies(c)}}),le(b2e,qt),aE.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},le(aE,Y,{transform(e,t){const n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field");let a=n[0],s=n[1];if((i||null==a)&&(a=1/0,s=-1/0),t.visit(i?t.SOURCE:t.ADD,o=>{const c=$1(r(o));null!=c&&(cs&&(s=c))}),!Number.isFinite(a)||!Number.isFinite(s)){let o=xn(r);o&&(o=` for field "${o}"`),t.dataflow.warn(`Infinite extent${o}: [${a}, ${s}]`),a=s=void 0}this.value=[a,s]}}),le(sE,qt,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){this.count-=1,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}}),le(Km,Y,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){const i=this.value;let s,o,a=Ne(i,e)&&i[e];return a?a.value.stampr&&r.count>0);this.initTargets(n)}},initTargets(e){const t=this._targets,n=t.length,r=e?e.length:0;let i=0;for(;ithis.subflow(c,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,c=>{const l=ke(c),u=a.get(l);void 0!==u&&(a.delete(l),o(u).rem(c))}),t.visit(t.ADD,c=>{const l=r(c);a.set(ke(c),l),o(l).add(c)}),s||t.modified(r.fields)?t.visit(t.MOD,c=>{const l=ke(c),u=a.get(l),f=r(c);u===f?o(f).mod(c):(a.set(l,f),o(u).rem(c),o(f).add(c))}):t.changed(t.MOD)&&t.visit(t.MOD,c=>{o(a.get(ke(c))).mod(c)}),s&&t.visit(t.REFLOW,c=>{const l=ke(c),u=a.get(l),f=r(c);u!==f&&(a.set(l,f),o(u).rem(c),o(f).add(c))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}}),le(M2e,qt),oE.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},le(oE,Y,{transform(e,t){const n=t.dataflow,r=this.value,i=t.fork(),a=i.add,s=i.rem,o=i.mod,c=e.expr;let l=!0;function u(f){const d=ke(f),h=c(f,e),p=r.get(d);h&&p?(r.delete(d),a.push(f)):h||p?l&&h&&!p&&o.push(f):(r.set(d,1),s.push(f))}return t.visit(t.REM,f=>{const d=ke(f);r.has(d)?r.delete(d):s.push(f)}),t.visit(t.ADD,f=>{c(f,e)?a.push(f):r.set(ke(f),1)}),t.visit(t.MOD,u),e.modified()&&(l=!1,t.visit(t.REFLOW,u)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}}),cE.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},le(cE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE),r=e.fields,i=y2e(r,e.as||[]),a=e.index||null,s=i.length;return n.rem=this.value,t.visit(t.SOURCE,o=>{const c=r.map(p=>p(o)),l=c.reduce((p,m)=>Math.max(p,m.length),0);let f,d,h,u=0;for(;u{for(let f,u=0;us[r]=n(s,e))}}),le(_2e,Y,{transform(e,t){const n=t.fork(t.ALL),r=e.generator;let s,o,c,i=this.value,a=e.size-i.length;if(a>0){for(s=[];--a>=0;)s.push(c=zt(r(e))),i.push(c);n.add=n.add.length?n.materialize(n.ADD).add.concat(s):s}else o=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(o):o,i=i.slice(-a);return n.source=this.value=i,n}});const Jm={value:"value",median:G1e,mean:function kit(e,t){let n=0,r=0;if(void 0===t)for(let i of e)null!=i&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let a of e)null!=(a=t(a,++i,e))&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n},min:DS,max:A4},eat=[];function fE(e){Y.call(this,[],e)}function dE(e){Ac.call(this,e)}function hE(e){Y.call(this,null,e)}function w2e(e){qt.call(this,null,iat,e)}function iat(e){return this.value&&!e.modified()?this.value:TH(e.fields,e.flat)}function x2e(e){Y.call(this,[],e),this._pending=null}function pE(e,t,n){n.forEach(zt);const r=t.fork(t.NO_FIELDS&t.NO_SOURCE);return r.rem=e.value,e.value=r.source=r.add=n,e._pending=null,r.rem.length&&r.clean(!0),r}function mE(e){Y.call(this,{},e)}function z2e(e){qt.call(this,null,sat,e)}function sat(e){if(this.value&&!e.modified())return this.value;const t=e.extents,n=t.length;let a,s,r=1/0,i=-1/0;for(a=0;ai&&(i=s[1]);return[r,i]}function H2e(e){qt.call(this,null,oat,e)}function oat(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function S2e(e){Y.call(this,null,e)}function gE(e){Ac.call(this,e)}function E2e(e){Km.call(this,e)}function vE(e){Y.call(this,null,e)}function V2e(e){Y.call(this,null,e)}function yE(e){Y.call(this,null,e)}function D2e(e){Y.call(this,null,e)}function CE(e){Y.call(this,[],e),this.count=0}function bE(e){Y.call(this,null,e)}function L2e(e){Y.call(this,null,e),this.modified(!0)}function ME(e){Y.call(this,null,e)}fE.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},le(fE,Y,{transform(e,t){var d,h,p,m,g,v,y,C,b,M,n=t.fork(t.ALL),r=function tat(e){var n,t=e.method||Jm.value;if(null!=Jm[t])return t===Jm.value?(n=void 0!==e.value?e.value:0,()=>n):Jm[t];Z("Unrecognized imputation method: "+t)}(e),i=function nat(e){const t=e.field;return n=>n?t(n):NaN}(e),a=xn(e.field),s=xn(e.key),o=(e.groupby||[]).map(xn),c=function rat(e,t,n,r){var l,u,f,d,h,p,m,g,i=v=>v(g),a=[],s=r?r.slice():[],o={},c={};for(s.forEach((v,y)=>o[v]=y+1),d=0,m=e.length;dn.add(a))):(i=n.value=n.value||this.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),n.changes(),t.visit(t.SOURCE,a=>{tt(a,i[n.cellkey(a)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){const e=this._adds,t=this._mods;let n,r;for(n=0,r=this._alen;n{const p=FS(h,s)[o],m=e.counts?h.length:1;Zm(p,u||Ya(h),f,d).forEach(v=>{const y={};for(let C=0;C(this._pending=me(i.data),a=>a.touch(this)))}:n.request(e.url,e.format).then(r=>pE(this,t,me(r.data)))}}),mE.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},le(mE,Y,{transform(e,t){const n=e.fields,r=e.index,i=e.values,a=null==e.default?null:e.default,s=e.modified(),o=n.length;let f,d,h,c=s?t.SOURCE:t.ADD,l=t,u=e.as;return i?(d=i.length,o>1&&!u&&Z('Multi-field lookup requires explicit "as" parameter.'),u&&u.length!==o*d&&Z('The "as" parameter has too few output field names.'),u=u||i.map(xn),f=function(p){for(var v,y,m=0,g=0;mt.modified(p.fields)),c|=h?t.MOD:0),t.visit(c,f),l.modifies(u)}}),le(z2e,qt),le(H2e,qt),le(S2e,Y,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}}),gE.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:A5,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},le(gE,Ac,{_transform:Ac.prototype.transform,transform(e,t){return this._transform(function cat(e,t){const n=e.field,r=e.value,i=("count"===e.op?"__count__":e.op)||"sum",a=O1(n).concat(O1(r)),s=function uat(e,t,n){const r={},i=[];return n.visit(n.SOURCE,a=>{const s=e(a);r[s]||(r[s]=1,i.push(s))}),i.sort(bm),t?i.slice(0,t):i}(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:s.map(()=>i),fields:s.map(o=>function lat(e,t,n,r){return G2(i=>t(i)===e?n(i):NaN,r,e+"")}(o,n,r,a)),as:s.map(o=>o+""),modified:e.modified.bind(e)}}(e,t),t)}}),le(E2e,Km,{transform(e,t){const n=e.subflow,r=e.field,i=a=>this.subflow(ke(a),n,t,a);return(e.modified("field")||r&&t.modified(O1(r)))&&Z("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,a=>{const s=i(a);r(a).forEach(o=>s.mod(o))}),t.visit(t.ADD,a=>{const s=i(a);r(a).forEach(o=>s.add(zt(o)))}),t.visit(t.REM,a=>{const s=i(a);r(a).forEach(o=>s.rem(o))})):(t.visit(t.MOD,a=>i(a).mod(a)),t.visit(t.ADD,a=>i(a).add(a)),t.visit(t.REM,a=>i(a).rem(a))),t.clean()&&t.runAfter(()=>this.clean()),t}}),vE.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},le(vE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE),r=e.fields,i=y2e(e.fields,e.as||[]),a=r?(o,c)=>function fat(e,t,n,r){for(let i=0,a=n.length;i{const c=ke(o);n.rem.push(s[c]),s[c]=null}),t.visit(t.ADD,o=>{const c=a(o,zt({}));s[ke(o)]=c,n.add.push(c)}),t.visit(t.MOD,o=>{n.mod.push(a(o,s[ke(o)]))}),n}}),le(V2e,Y,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}}),yE.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]},le(yE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;const a=rE(t.materialize(t.SOURCE).source,e.groupby,e.field),s=(e.groupby||[]).map(xn),o=[],c=e.step||.01,l=e.probs||Vr(c/2,1-1e-14,c),u=l.length;return a.forEach(f=>{const d=AS(f,l);for(let h=0;h{const a=ke(i);n.rem.push(r[a]),r[a]=null}),t.visit(t.ADD,i=>{const a=_S(i);r[ke(i)]=a,n.add.push(a)}),t.visit(t.MOD,i=>{const a=r[ke(i)];for(const s in i)a[s]=i[s],n.modifies(s);n.mod.push(a)})),n}}),CE.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},le(CE,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((u,f)=>(u[ke(f)]=1,u),{});let s=this.value,o=this.count,c=0;function l(u){let f,d;s.length=c&&(f=s[d],a[ke(f)]&&n.rem.push(f),s[d]=u)),++o}if(t.rem.length&&(t.visit(t.REM,u=>{const f=ke(u);a[f]&&(a[f]=-1,n.rem.push(u)),--o}),s=s.filter(u=>-1!==a[ke(u)])),(t.rem.length||r)&&s.length{a[ke(u)]||l(u)}),c=-1),r&&s.length>i){const u=s.length-i;for(let f=0;f{a[ke(u)]&&n.mod.push(u)}),t.add.length&&t.visit(t.ADD,l),(t.add.length||c<0)&&(n.add=s.filter(u=>!a[ke(u)])),this.count=o,this.value=n.source=s,n}}),bE.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},le(bE,Y,{transform(e,t){if(this.value&&!e.modified())return;const n=t.materialize().fork(t.MOD),r=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=Vr(e.start,e.stop,e.step||1).map(i=>{const a={};return a[r]=i,zt(a)}),n.add=t.add.concat(this.value),n}}),le(L2e,Y,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});const A2e=["unit0","unit1"];function N2e(e){Y.call(this,M6(),e)}function k2e(e){Y.call(this,null,e)}ME.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:QH,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:A2e}]},le(ME,Y,{transform(e,t){const n=e.field,r=!1!==e.interval,i="utc"===e.timezone,a=this._floor(e,t),s=(i?A6:L6)(a.unit).offset,o=e.as||A2e,c=o[0],l=o[1],u=a.step;let f=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(O1(n)))&&(h=(t=t.reflow(!0)).SOURCE,f=1/0,d=-1/0),t.visit(h,p=>{const m=n(p);let g,v;null==m?(p[c]=null,r&&(p[l]=null)):(p[c]=g=v=a(m),r&&(p[l]=v=s(g,u)),gd&&(d=v))}),a.start=f,a.stop=d,t.modifies(r?o:c)},_floor(e,t){const n="utc"===e.timezone,{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:Yne({extent:e.extent||Ya(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=KH(r),s=this.value||{},o=(n?Fne:Ine)(a,i);return o.unit=ft(a),o.units=a,o.step=i,o.start=s.start,o.stop=s.stop,this.value=o}}),le(N2e,Y,{transform(e,t){const n=t.dataflow,r=e.field,i=this.value,a=o=>i.set(r(o),o);let s=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,o=>i.delete(r(o))),t.visit(t.ADD,a)):s=!1,this.modified(s),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}}),le(k2e,Y,{transform(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(D4(e.sort)):t.source).map(e.field))}});const N5={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{const n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{const n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?++e:e}}},percent_rank:function(){const e=N5.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{const n=t.data,r=t.compare;let i=t.index;if(e0||Z("ntile num must be greater than zero.");const n=N5.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{const r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{const r=n.index+t,i=n.data;return re(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return(t=+t)>0||Z("nth_value nth must be greater than zero."),{next:n=>{const r=n.i0+(t-1);return rt=null,next:n=>{const r=e(n.data[n.index]);return null!=r?t=r:t}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{const i=r.data;return r.index<=n?t:(n=function pat(e,t,n){for(let r=t.length;nc[m]=1)}h(e.sort),t.forEach((p,m)=>{const g=n[m],v=r[m],y=i[m]||null,C=xn(g),b=c2e(p,C,a[m]);if(h(g),s.push(b),Ne(N5,p))o.push(function hat(e,t,n,r){const i=N5[e](t,n);return{init:i.init||_c,update:function(a,s){s[r]=i.next(a)}}}(p,g,v,b));else{if(null==g&&"count"!==p&&Z("Null aggregate field specified."),"count"===p)return void u.push(b);d=!1;let M=l[C];M||(M=l[C]=[],M.field=g,f.push(M)),M.push(l2e(p,y,b))}}),(u.length||f.length)&&(this.cell=function gat(e,t,n){e=e.map(c=>f2e(c,c.field));const r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),s=0;s0&&!i(a[n],a[n-1])&&(e.i0=t.left(a,a[n])),re.init()),this.cell&&this.cell.init()},I2e.update=function(e,t){const n=this.cell,r=this.windows,i=e.data,a=r&&r.length;let s;if(n){for(s=e.p0;sthis.group(i(o));let s=this.state;(!s||n)&&(s=this.state=new T2e(e)),n||t.modified(s.inputs)?(this.value={},t.visit(t.SOURCE,o=>a(o).add(o))):(t.visit(t.REM,o=>a(o).remove(o)),t.visit(t.ADD,o=>a(o).add(o)));for(let o=0,c=this._mlen;o0)for(var c,r=e[0],i=t[0],a=e[n]-r,s=t[n]-i,o=-1;++o<=n;)this._basis.point(this._beta*e[o]+(1-this._beta)*(r+(c=o/n)*a),this._beta*t[o]+(1-this._beta)*(i+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const wat=function e(t){function n(r){return 1===t?new tg(r):new O2e(r,t)}return n.beta=function(r){return e(+r)},n}(.85);function ng(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function wE(e,t){this._context=e,this._k=(1-t)/6}wE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:ng(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:ng(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const xat=function e(t){function n(r){return new wE(r,t)}return n.tension=function(r){return e(+r)},n}(0);function xE(e,t){this._context=e,this._k=(1-t)/6}xE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ng(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const zat=function e(t){function n(r){return new xE(r,t)}return n.tension=function(r){return e(+r)},n}(0);function zE(e,t){this._context=e,this._k=(1-t)/6}zE.prototype={areaStart:Nc,areaEnd:Nc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:ng(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Hat=function e(t){function n(r){return new zE(r,t)}return n.tension=function(r){return e(+r)},n}(0),P2e=Math.abs,q1=Math.atan2,go=Math.cos,Sat=Math.max,R6=Math.min,Q2=Math.sin,rn=Math.sqrt,G1=1e-12,kc=Math.PI,rg=kc/2,k5=2*kc;function $2e(e){return e>=1?rg:e<=-1?-rg:Math.asin(e)}function HE(e,t,n){var r=e._x1,i=e._y1,a=e._x2,s=e._y2;if(e._l01_a>G1){var o=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*o-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*o-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>G1){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,s=(s*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,s,e._x2,e._y2)}function B2e(e,t){this._context=e,this._alpha=t}B2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:HE(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Vat=function e(t){function n(r){return t?new B2e(r,t):new wE(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function U2e(e,t){this._context=e,this._alpha=t}U2e.prototype={areaStart:Nc,areaEnd:Nc,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:HE(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Dat=function e(t){function n(r){return t?new U2e(r,t):new zE(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function j2e(e,t){this._context=e,this._alpha=t}j2e.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:HE(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const Lat=function e(t){function n(r){return t?new j2e(r,t):new xE(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function q2e(e){this._context=e}function SE(e){return new q2e(e)}function G2e(e){this._context=e}function W2e(e){return e<0?-1:1}function Y2e(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),s=(n-e._y1)/(i||r<0&&-0),o=(a*i+s*r)/(r+i);return(W2e(a)+W2e(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function X2e(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function EE(e,t,n){var r=e._x0,a=e._x1,s=e._y1,o=(a-r)/3;e._context.bezierCurveTo(r+o,e._y0+o*t,a-o,s-o*n,a,s)}function ig(e){this._context=e}function Q2e(e){this._context=new Z2e(e)}function Z2e(e){this._context=e}function K2e(e){this._context=e}function J2e(e){var t,r,n=e.length-1,i=new Array(n),a=new Array(n),s=new Array(n);for(i[0]=0,a[0]=2,s[0]=e[0]+2*e[1],t=1;t=0;--t)i[t]=(s[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};const VE=Math.PI,DE=2*VE,N4=1e-6,Oat=DE-N4;function ere(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return ere;const n=10**t;return function(r){this._+=r[0];for(let i=1,a=r.length;iN4)if(Math.abs(f*c-l*u)>N4&&a){let h=r-s,p=i-o,m=c*c+l*l,g=h*h+p*p,v=Math.sqrt(m),y=Math.sqrt(d),C=a*Math.tan((VE-Math.acos((m+d-g)/(2*v*y)))/2),b=C/y,M=C/v;Math.abs(b-1)>N4&&this._append`L${t+b*u},${n+b*f}`,this._append`A${a},${a},0,0,${+(f*h>u*p)},${this._x1=t+M*c},${this._y1=n+M*l}`}else this._append`L${this._x1=t},${this._y1=n}`}arc(t,n,r,i,a,s){if(t=+t,n=+n,s=!!s,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(i),c=r*Math.sin(i),l=t+o,u=n+c,f=1^s,d=s?i-a:a-i;null===this._x1?this._append`M${l},${u}`:(Math.abs(this._x1-l)>N4||Math.abs(this._y1-u)>N4)&&this._append`L${l},${u}`,r&&(d<0&&(d=d%DE+DE),d>Oat?this._append`A${r},${r},0,1,${f},${t-o},${n-c}A${r},${r},0,1,${f},${this._x1=l},${this._y1=u}`:d>N4&&this._append`A${r},${r},0,${+(d>=VE)},${f},${this._x1=t+r*Math.cos(a)},${this._y1=n+r*Math.sin(a)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function og(){return new sg}function cg(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new sg(t)}function $at(e){return e.innerRadius}function Bat(e){return e.outerRadius}function Uat(e){return e.startAngle}function jat(e){return e.endAngle}function qat(e){return e&&e.padAngle}function lg(e,t,n,r,i,a,s){var o=e-n,c=t-r,l=(s?a:-a)/rn(o*o+c*c),u=l*c,f=-l*o,d=e+u,h=t+f,p=n+u,m=r+f,g=(d+p)/2,v=(h+m)/2,y=p-d,C=m-h,b=y*y+C*C,M=i-a,w=d*m-p*h,_=(C<0?-1:1)*rn(Sat(0,M*M*b-w*w)),z=(w*C-y*_)/b,V=(-w*y-C*_)/b,D=(w*C+y*_)/b,L=(-w*y+C*_)/b,R=z-g,A=V-v,x=D-g,H=L-v;return R*R+A*A>x*x+H*H&&(z=D,V=L),{cx:z,cy:V,x01:-u,y01:-f,x11:z*(i/M-1),y11:V*(i/M-1)}}function tre(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function nre(e){return e[0]}function rre(e){return e[1]}function ire(e,t){var n=St(!0),r=null,i=SE,a=null,s=cg(o);function o(c){var l,f,h,u=(c=tre(c)).length,d=!1;for(null==r&&(a=i(h=s())),l=0;l<=u;++l)!(l=h;--p)o.point(C[p],b[p]);o.lineEnd(),o.areaEnd()}v&&(C[d]=+e(g,d,f),b[d]=+t(g,d,f),o.point(r?+r(g,d,f):C[d],n?+n(g,d,f):b[d]))}if(y)return o=null,y+""||null}function u(){return ire().defined(i).curve(s).context(a)}return e="function"==typeof e?e:void 0===e?nre:St(+e),t="function"==typeof t?t:St(void 0===t?0:+t),n="function"==typeof n?n:void 0===n?rre:St(+n),l.x=function(f){return arguments.length?(e="function"==typeof f?f:St(+f),r=null,l):e},l.x0=function(f){return arguments.length?(e="function"==typeof f?f:St(+f),l):e},l.x1=function(f){return arguments.length?(r=null==f?null:"function"==typeof f?f:St(+f),l):r},l.y=function(f){return arguments.length?(t="function"==typeof f?f:St(+f),n=null,l):t},l.y0=function(f){return arguments.length?(t="function"==typeof f?f:St(+f),l):t},l.y1=function(f){return arguments.length?(n=null==f?null:"function"==typeof f?f:St(+f),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(f){return arguments.length?(i="function"==typeof f?f:St(!!f),l):i},l.curve=function(f){return arguments.length?(s=f,null!=a&&(o=s(a)),l):s},l.context=function(f){return arguments.length?(null==f?a=o=null:o=s(a=f),l):a},l}og.prototype=sg.prototype,rn(3);const LE={draw(e,t){const n=rn(t/kc);e.moveTo(n,0),e.arc(0,0,n,0,k5)}};rn(1/3),Q2(kc/10),Q2(7*kc/10);function Tc(e,t){if(typeof document<"u"&&document.createElement){const n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}Q2(k5/10),go(k5/10),rn(3),rn(3),rn(3),rn(12);const cre=V6(po),ug=cre.right,mst=cre.left,T5=(V6(j1e),ug);function O6(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function I5(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ic(){}var P6=1/.7,$6="\\s*([+-]?\\d+)\\s*",F5="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ja="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gst=/^#([0-9a-f]{3,8})$/,vst=new RegExp(`^rgb\\(${$6},${$6},${$6}\\)$`),yst=new RegExp(`^rgb\\(${Ja},${Ja},${Ja}\\)$`),Cst=new RegExp(`^rgba\\(${$6},${$6},${$6},${F5}\\)$`),bst=new RegExp(`^rgba\\(${Ja},${Ja},${Ja},${F5}\\)$`),Mst=new RegExp(`^hsl\\(${F5},${Ja},${Ja}\\)$`),_st=new RegExp(`^hsla\\(${F5},${Ja},${Ja},${F5}\\)$`),lre={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function ure(){return this.rgb().formatHex()}function fre(){return this.rgb().formatRgb()}function R5(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=gst.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?dre(t):3===n?new n1(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?fg(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?fg(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=vst.exec(e))?new n1(t[1],t[2],t[3],1):(t=yst.exec(e))?new n1(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Cst.exec(e))?fg(t[1],t[2],t[3],t[4]):(t=bst.exec(e))?fg(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Mst.exec(e))?mre(t[1],t[2]/100,t[3]/100,1):(t=_st.exec(e))?mre(t[1],t[2]/100,t[3]/100,t[4]):lre.hasOwnProperty(e)?dre(lre[e]):"transparent"===e?new n1(NaN,NaN,NaN,0):null}function dre(e){return new n1(e>>16&255,e>>8&255,255&e,1)}function fg(e,t,n,r){return r<=0&&(e=t=n=NaN),new n1(e,t,n,r)}function kE(e){return e instanceof Ic||(e=R5(e)),e?new n1((e=e.rgb()).r,e.g,e.b,e.opacity):new n1}function Fc(e,t,n,r){return 1===arguments.length?kE(e):new n1(e,t,n,r??1)}function n1(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function hre(){return`#${I4(this.r)}${I4(this.g)}${I4(this.b)}`}function pre(){const e=dg(this.opacity);return`${1===e?"rgb(":"rgba("}${T4(this.r)}, ${T4(this.g)}, ${T4(this.b)}${1===e?")":`, ${e})`}`}function dg(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function T4(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function I4(e){return((e=T4(e))<16?"0":"")+e.toString(16)}function mre(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Bi(e,t,n,r)}function gre(e){if(e instanceof Bi)return new Bi(e.h,e.s,e.l,e.opacity);if(e instanceof Ic||(e=R5(e)),!e)return new Bi;if(e instanceof Bi)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),s=NaN,o=a-i,c=(a+i)/2;return o?(s=t===a?(n-r)/o+6*(n0&&c<1?0:s,new Bi(s,o,c,e.opacity)}function hg(e,t,n,r){return 1===arguments.length?gre(e):new Bi(e,t,n,r??1)}function Bi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function vre(e){return(e=(e||0)%360)<0?e+360:e}function pg(e){return Math.max(0,Math.min(1,e||0))}function TE(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function yre(e,t,n,r,i){var a=e*e,s=a*e;return((1-3*e+3*a-s)*t+(4-6*a+3*s)*n+(1+3*e+3*a-3*s)*r+s*i)/6}function Cre(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],a=e[r+1];return yre((n-r/t)*t,r>0?e[r-1]:2*i-a,i,a,r=240?e-240:e+120,i,r),TE(e,i,r),TE(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Bi(vre(this.h),pg(this.s),pg(this.l),dg(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=dg(this.opacity);return`${1===e?"hsl(":"hsla("}${vre(this.h)}, ${100*pg(this.s)}%, ${100*pg(this.l)}%${1===e?")":`, ${e})`}`}}));const mg=e=>()=>e;function Mre(e,t){return function(n){return e+n*t}}function gg(e,t){var n=t-e;return n?Mre(e,n>180||n<-180?n-360*Math.round(n/360):n):mg(isNaN(e)?t:e)}function r1(e,t){var n=t-e;return n?Mre(e,n):mg(isNaN(e)?t:e)}const IE=function e(t){var n=function Sst(e){return 1==(e=+e)?r1:function(t,n){return n-t?function Hst(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):mg(isNaN(t)?n:t)}}(t);function r(i,a){var s=n((i=Fc(i)).r,(a=Fc(a)).r),o=n(i.g,a.g),c=n(i.b,a.b),l=r1(i.opacity,a.opacity);return function(u){return i.r=s(u),i.g=o(u),i.b=c(u),i.opacity=l(u),i+""}}return r.gamma=e,r}(1);function _re(e){return function(t){var s,o,n=t.length,r=new Array(n),i=new Array(n),a=new Array(n);for(s=0;sn&&(a=t.slice(n,a),o[s]?o[s]+=a:o[++s]=a),(r=r[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,c.push({i:s,x:Ui(r,i)})),n=OE.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}(e[0],e[d-1])),o=d>2?Ist:Tst,c=l=null,f}function f(d){return null==d||isNaN(d=+d)?a:(c||(c=o(e.map(r),t,n)))(r(s(d)))}return f.invert=function(d){return s(i((l||(l=o(t,e.map(r),Ui)))(d)))},f.domain=function(d){return arguments.length?(e=Array.from(d,PE),u()):e.slice()},f.range=function(d){return arguments.length?(t=Array.from(d),u()):t.slice()},f.rangeRound=function(d){return t=Array.from(d),n=O5,u()},f.clamp=function(d){return arguments.length?(s=!!d||Z2,u()):s!==Z2},f.interpolate=function(d){return arguments.length?(n=d,u()):n},f.unknown=function(d){return arguments.length?(a=d,f):a},function(d,h){return r=d,i=h,u()}}function Vre(){return vg()(Z2,Z2)}function es(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function Oc(e,t){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof t?this.interpolator(t):this.range(t)}return this}function Dre(e,t,n,r){var a,i=Sc(e,t,n);switch((r=H4(r??",f")).type){case"s":var s=Math.max(Math.abs(e),Math.abs(t));return null==r.precision&&!isNaN(a=gne(i,s))&&(r.precision=a),qH(r,s);case"":case"e":case"g":case"p":case"r":null==r.precision&&!isNaN(a=vne(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-("e"===r.type));break;case"f":case"%":null==r.precision&&!isNaN(a=yne(i))&&(r.precision=a-2*("%"===r.type))}return zm(r)}function F4(e){var t=e.domain;return e.ticks=function(n){var r=t();return BH(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return Dre(i[0],i[i.length-1],n??10,r)},e.nice=function(n){null==n&&(n=10);var c,l,r=t(),i=0,a=r.length-1,s=r[i],o=r[a],u=10;for(o0;){if((l=UH(s,o,n))===c)return r[i]=s,r[a]=o,t(r);if(l>0)s=Math.floor(s/l)*l,o=Math.ceil(o/l)*l;else{if(!(l<0))break;s=Math.ceil(s*l)/l,o=Math.floor(o*l)/l}c=l}return e},e}function Nre(e,t){var s,n=0,r=(e=e.slice()).length-1,i=e[n],a=e[r];return a-e(-t,n)}function BE(e){const t=e(kre,Tre),n=t.domain;let i,a,r=10;function s(){return i=function $st(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}(r),a=function Pst(e){return 10===e?Ost:e===Math.E?Math.exp:t=>Math.pow(e,t)}(r),n()[0]<0?(i=Ire(i),a=Ire(a),e(Fst,Rst)):e(kre,Tre),t}return t.base=function(o){return arguments.length?(r=+o,s()):r},t.domain=function(o){return arguments.length?(n(o),s()):n()},t.ticks=o=>{const c=n();let l=c[0],u=c[c.length-1];const f=u0){for(;d<=h;++d)for(p=1;pu)break;v.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(mu)break;v.push(m)}2*v.length{if(null==o&&(o=10),null==c&&(c=10===r?"s":","),"function"!=typeof c&&(!(r%1)&&null==(c=H4(c)).precision&&(c.trim=!0),c=zm(c)),o===1/0)return c;const l=Math.max(1,r*o/t.ticks().length);return u=>{let f=u/a(Math.round(i(u)));return f*rn(Nre(n(),{floor:o=>a(Math.floor(i(o))),ceil:o=>a(Math.ceil(i(o)))})),t}function Rre(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Bst(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Ust(e){return e<0?-e*e:e*e}function UE(e){var t=e(Z2,Z2),n=1;return t.exponent=function(i){return arguments.length?(n=+i,function r(){return 1===n?e(Z2,Z2):.5===n?e(Bst,Ust):e(Rre(n),Rre(1/n))}()):n},F4(t)}function jE(){var e=UE(vg());return e.copy=function(){return P5(e,jE()).exponent(e.exponent())},es.apply(e,arguments),e}function Ore(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Pre(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function qE(e){var t=1,n=e(Ore(t),Pre(t));return n.constant=function(r){return arguments.length?e(Ore(t=+r),Pre(t)):t},F4(n)}function Bre(e,t,n,r,i,a){const s=[[ho,1,co],[ho,5,5e3],[ho,15,15e3],[ho,30,3e4],[a,1,ri],[a,5,5*ri],[a,15,15*ri],[a,30,30*ri],[i,1,lo],[i,3,3*lo],[i,6,6*lo],[i,12,12*lo],[r,1,uo],[r,2,2*uo],[n,1,YH],[t,1,2592e6],[t,3,7776e6],[e,1,XH]];function c(l,u,f){const d=Math.abs(u-l)/f,h=V6(([,,g])=>g).right(s,d);if(h===s.length)return e.every(Sc(l/XH,u/XH,f));if(0===h)return E6.every(Math.max(Sc(l,u,f),1));const[p,m]=s[d/s[h-1][2]180?u+=360:u-l>180&&(l+=360),d.push({i:f.push(i(f)+"rotate(",null,r)-2,x:Ui(l,u)})):u&&f.push(i(f)+"rotate("+u+r)}(l.rotate,u.rotate,f,d),function o(l,u,f,d){l!==u?d.push({i:f.push(i(f)+"skewX(",null,r)-2,x:Ui(l,u)}):u&&f.push(i(f)+"skewX("+u+r)}(l.skewX,u.skewX,f,d),function c(l,u,f,d,h,p){if(l!==f||u!==d){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Ui(l,f)},{i:m-2,x:Ui(u,d)})}else(1!==f||1!==d)&&h.push(i(h)+"scale("+f+","+d+")")}(l.scaleX,l.scaleY,u.scaleX,u.scaleY,f,d),l=u=null,function(h){for(var g,p=-1,m=d.length;++phot?Math.pow(e,1/3):e/die+fie}function nV(e){return e>B6?e*e*e:die*(e-fie)}function rV(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function iV(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function xg(e,t,n,r){return 1===arguments.length?function pie(e){if(e instanceof ts)return new ts(e.h,e.c,e.l,e.opacity);if(e instanceof ji||(e=hie(e)),0===e.a&&0===e.b)return new ts(NaN,00?r:1:0}const U6="linear",vo="log",B5="pow",U5="sqrt",Hg="symlog",O4="time",P4="utc",ns="sequential",j6="diverging",q6="quantile",Sg="quantize",Eg="threshold",lV="ordinal",uV="point",fV="bin-ordinal",Xn="continuous",j5="discrete",q5="discretizing",ci="interpolating",dV="temporal";function hV(){const e=JE().unknown(void 0),t=e.domain,n=e.range;let i,a,r=[0,1],s=!1,o=0,c=0,l=.5;function u(){const f=t().length,d=r[1]m+i*v);return n(d?g.reverse():g)}return delete e.unknown,e.domain=function(f){return arguments.length?(t(f),u()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],u()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],s=!0,u()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(f){return arguments.length?(s=!!f,u()):s},e.padding=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),o=c,u()):o},e.paddingInner=function(f){return arguments.length?(o=Math.max(0,Math.min(1,f)),u()):o},e.paddingOuter=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),u()):c},e.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),u()):l},e.invertRange=function(f){if(null==f[0]||null==f[1])return;const d=r[1]r[1-d])?void 0:(v=Math.max(0,ug(h,m)-1),y=m===g?v:ug(h,g)-1,m-h[v]>a+1e-10&&++v,d&&(C=v,v=p-y,y=p-C),v>y?void 0:t().slice(v,y+1))},e.invert=function(f){const d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return hV().domain(t()).range(r).round(s).paddingInner(o).paddingOuter(c).align(l)},u()}function wie(e){const t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return wie(t())},e}var zot=Array.prototype.map;const Sot=Array.prototype.slice,Vg=new Map,zie=Symbol("vega_scale");function Hie(e){return e[zie]=!0,e}function bt(e,t,n){return arguments.length>1?(Vg.set(e,function Vot(e,t,n){const r=function(){const a=t();return a.invertRange||(a.invertRange=a.invert?function _ot(e){return function(t){let i,n=t[0],r=t[1];return r=r&&n[c]<=i&&(a<0&&(a=c),s=c);if(!(a<0))return r=e.invertExtent(n[a]),i=e.invertExtent(n[s]),[void 0===r[0]?r[1]:r[0],void 0===i[1]?i[0]:i[1]]}}(a):void 0),a.type=e,Hie(a)};return r.metadata=Pi(me(n)),r}(e,t,n)),this):Sie(e)?Vg.get(e):void 0}function Sie(e){return Vg.has(e)}function $4(e,t){const n=Vg.get(e);return n&&n.metadata[t]}function pV(e){return $4(e,Xn)}function G6(e){return $4(e,j5)}function mV(e){return $4(e,q5)}function Eie(e){return $4(e,vo)}function Vie(e){return $4(e,ci)}function Die(e){return $4(e,q6)}bt("identity",function Are(e){var t;function n(r){return null==r||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,PE),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return Are(e).unknown(t)},e=arguments.length?Array.from(e,PE):[0,1],F4(n)}),bt(U6,function Lre(){var e=Vre();return e.copy=function(){return P5(e,Lre())},es.apply(e,arguments),F4(e)},Xn),bt(vo,function Fre(){const e=BE(vg()).domain([1,10]);return e.copy=()=>P5(e,Fre()).base(e.base()),es.apply(e,arguments),e},[Xn,vo]),bt(B5,jE,Xn),bt(U5,function jst(){return jE.apply(null,arguments).exponent(.5)},Xn),bt(Hg,function $re(){var e=qE(vg());return e.copy=function(){return P5(e,$re()).constant(e.constant())},es.apply(e,arguments)},Xn),bt(O4,function Zst(){return es.apply(GE(Wst,Yst,Xa,f5,x6,fo,Em,Dm,ho,oS).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[Xn,dV]),bt(P4,function Kst(){return es.apply(GE(qst,Gst,Qa,d5,H6,Ec,Vm,Lm,ho,cS).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[Xn,dV]),bt(ns,WE,[Xn,ci]),bt(`${ns}-${U6}`,WE,[Xn,ci]),bt(`${ns}-${vo}`,function Ure(){var e=BE(yg()).domain([1,10]);return e.copy=function(){return Pc(e,Ure()).base(e.base())},Oc.apply(e,arguments)},[Xn,ci,vo]),bt(`${ns}-${B5}`,YE,[Xn,ci]),bt(`${ns}-${U5}`,function Jst(){return YE.apply(null,arguments).exponent(.5)},[Xn,ci]),bt(`${ns}-${Hg}`,function jre(){var e=qE(yg());return e.copy=function(){return Pc(e,jre()).constant(e.constant())},Oc.apply(e,arguments)},[Xn,ci]),bt(`${j6}-${U6}`,function qre(){var e=F4(Cg()(Z2));return e.copy=function(){return Pc(e,qre())},Oc.apply(e,arguments)},[Xn,ci]),bt(`${j6}-${vo}`,function Gre(){var e=BE(Cg()).domain([.1,1,10]);return e.copy=function(){return Pc(e,Gre()).base(e.base())},Oc.apply(e,arguments)},[Xn,ci,vo]),bt(`${j6}-${B5}`,QE,[Xn,ci]),bt(`${j6}-${U5}`,function eot(){return QE.apply(null,arguments).exponent(.5)},[Xn,ci]),bt(`${j6}-${Hg}`,function Wre(){var e=qE(Cg());return e.copy=function(){return Pc(e,Wre()).constant(e.constant())},Oc.apply(e,arguments)},[Xn,ci]),bt(q6,function Yre(){var r,e=[],t=[],n=[];function i(){var s=0,o=Math.max(1,t.length);for(n=new Array(o-1);++s0?n[o-1]:e[0],o=n?[r[n-1],t]:[r[l-1],r[l]]},s.unknown=function(c){return arguments.length&&(a=c),s},s.thresholds=function(){return r.slice()},s.copy=function(){return Xre().domain([e,t]).range(i).unknown(a)},es.apply(F4(s),arguments)},q5),bt(Eg,function Qre(){var n,e=[.5],t=[0,1],r=1;function i(a){return null!=a&&a<=a?t[T5(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var s=t.indexOf(a);return[e[s-1],e[s]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Qre().domain(e).range(t).unknown(n)},es.apply(i,arguments)},q5),bt(fV,function xie(){let e=[],t=[];function n(r){return null==r||r!=r?void 0:t[(T5(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=function Hot(e){return zot.call(e,$1)}(r),n):e.slice()},n.range=function(r){return arguments.length?(t=Sot.call(r),n):t.slice()},n.tickFormat=function(r,i){return Dre(e[0],ft(e),r??10,i)},n.copy=function(){return xie().domain(n.domain()).range(n.range())},n},[j5,q5]),bt(lV,JE,j5),bt("band",hV,j5),bt(uV,function xot(){return wie(hV().paddingInner(1))},j5);const Lot=["clamp","base","constant","exponent"];function Lie(e,t){const n=t[0],r=ft(t)-n;return function(i){return e(n+i*r)}}function Dg(e,t,n){return XE(gV(t||"rgb",n),e)}function Aie(e,t){const n=new Array(t),r=t+1;for(let i=0;ie[o]?s[o](e[o]()):0),s):B1(.5)}function gV(e,t){const n=Kl[function Aot(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}(e)];return null!=t&&n&&n.gamma?n.gamma(t):n}function kie(e){const t=e.length/6|0,n=new Array(t);for(let r=0;r1?(Iie[e]=t,this):Iie[e]}Tie({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},kie),Tie({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>Dg(kie(e)));const Lg="symbol",Tot="discrete",Fot=e=>K(e)?e.map(t=>String(t)):String(e),Rot=(e,t)=>e[1]-t[1],Oot=(e,t)=>t[1]-e[1];function yV(e,t,n){let r;return vt(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),null!=n&&(t=Math.min(t,Math.floor(l5(e.domain())/n||1)+1))),ye(t)&&(r=t.step,t=t.interval),ge(t)&&(t=e.type===O4?L6(t):e.type==P4?A6(t):Z("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function Fie(e,t,n){let r=e.range(),i=r[0],a=ft(r),s=Rot;if(i>a&&(r=a,a=i,i=r,s=Oot),i=Math.floor(i),a=Math.ceil(a),t=t.map(o=>[o,e(o)]).filter(o=>i<=o[1]&&o[1]<=a).sort(s).map(o=>o[0]),n>0&&t.length>1){const o=[t[0],ft(t)];for(;t.length>n&&t.length>=3;)t=t.filter((c,l)=>!(l%2));t.length<3&&(t=o)}return t}function CV(e,t){return e.bins?Fie(e,e.bins):e.ticks?e.ticks(t):e.domain()}function Rie(e,t,n,r,i,a){const s=t.type;let o=Fot;if(s===O4||i===O4)o=e.timeFormat(r);else if(s===P4||i===P4)o=e.utcFormat(r);else if(Eie(s)){const c=e.formatFloat(r);if(a||t.bins)o=c;else{const l=Oie(t,n,!1);o=u=>l(u)?c(u):""}}else if(t.tickFormat){const c=t.domain();o=e.formatSpan(c[0],c[c.length-1],n,r)}else r&&(o=e.format(r));return o}function Oie(e,t,n){const r=CV(e,t),i=e.base(),a=Math.log(i),s=Math.max(1,i*t/r.length),o=c=>{let l=c/Math.pow(i,Math.round(Math.log(c)/a));return l*ibV[e.type]||e.bins;function Bie(e,t,n,r,i,a,s){const o=Pie[t.type]&&a!==O4&&a!==P4?function Pot(e,t,n){const r=t[Pie[t.type]](),i=r.length;let s,a=i>1?r[1]-r[0]:r[0];for(s=1;s(t,n,r)=>{const i=Uie(r[n+1],Uie(r.max,1/0)),a=jie(t,e),s=jie(i,e);return a&&s?a+" \u2013 "+s:s?"< "+s:"\u2265 "+a},Uie=(e,t)=>e??t,qot=e=>(t,n)=>n?e(t):null,Got=e=>t=>e(t),jie=(e,t)=>Number.isFinite(e)?t(e):null;function qie(e,t,n){n=n||{};const r=Math.max(3,n.maxlen||7),i=function Yot(e,t,n,r){const i=r||t.type;return ge(n)&&function Dot(e){return $4(e,dV)}(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),n||i!==O4?n||i!==P4?Bie(e,t,5,null,n,r,!0):e.utcFormat("%A, %d %B %Y, %X UTC"):e.timeFormat("%A, %d %B %Y, %X")}(e,t,n.format,n.formatType);if(mV(t.type)){const a=$ie(t).slice(1).map(i),s=a.length;return`${s} boundar${1===s?"y":"ies"}: ${a.join(", ")}`}if(G6(t.type)){const a=t.domain(),s=a.length;return`${s} value${1===s?"":"s"}: ${s>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ")}`}{const a=t.domain();return`values from ${i(a[0])} to ${i(ft(a))}`}}let Gie=0;function MV(e){return e&&e.gradient}function Wie(e,t,n){const r=e.gradient;let i=e.id,a="radial"===r?"p_":"";return i||(i=e.id="gradient_"+Gie++,"radial"===r?(e.x1=rs(e.x1,.5),e.y1=rs(e.y1,.5),e.r1=rs(e.r1,0),e.x2=rs(e.x2,.5),e.y2=rs(e.y2,.5),e.r2=rs(e.r2,.5),a="p_"):(e.x1=rs(e.x1,0),e.y1=rs(e.y1,0),e.x2=rs(e.x2,1),e.y2=rs(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function rs(e,t){return e??t}function Yie(e,t){var r,n=[];return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,a){return n.push({offset:i,color:a}),r}}}const Xie={basis:{curve:function bat(e){return new tg(e)}},"basis-closed":{curve:function Mat(e){return new F2e(e)}},"basis-open":{curve:function _at(e){return new R2e(e)}},bundle:{curve:wat,tension:"beta",value:.85},cardinal:{curve:xat,tension:"tension",value:0},"cardinal-open":{curve:zat,tension:"tension",value:0},"cardinal-closed":{curve:Hat,tension:"tension",value:0},"catmull-rom":{curve:Vat,tension:"alpha",value:.5},"catmull-rom-closed":{curve:Dat,tension:"alpha",value:.5},"catmull-rom-open":{curve:Lat,tension:"alpha",value:.5},linear:{curve:SE},"linear-closed":{curve:function Aat(e){return new G2e(e)}},monotone:{horizontal:function kat(e){return new Q2e(e)},vertical:function Nat(e){return new ig(e)}},natural:{curve:function Tat(e){return new K2e(e)}},step:{curve:function Iat(e){return new ag(e,.5)}},"step-after":{curve:function Rat(e){return new ag(e,1)}},"step-before":{curve:function Fat(e){return new ag(e,0)}}};function _V(e,t,n){var r=Ne(Xie,e)&&Xie[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&null!=n&&(i=i[r.tension](n))),i}const Qot={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},Zot=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,Kot=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,Jot=/^((\s+,?\s*)|(,\s*))/,ect=/^[01]/;function W6(e){const t=[];return(e.match(Zot)||[]).forEach(r=>{let i=r[0];const a=i.toLowerCase(),s=Qot[a],o=function tct(e,t,n){const r=[];for(let i=0;t&&i1&&(m=Math.sqrt(m),n*=m,r*=m);const g=d/n,v=f/n,y=-f/r,C=d/r,b=g*o+v*c,M=y*o+C*c,w=g*e+v*t,_=y*e+C*t;let V=1/((w-b)*(w-b)+(_-M)*(_-M))-.25;V<0&&(V=0);let D=Math.sqrt(V);a==i&&(D=-D);const L=.5*(b+w)-D*(_-M),R=.5*(M+_)+D*(w-b),A=Math.atan2(M-R,b-L);let H=Math.atan2(_-R,w-L)-A;H<0&&1===a?H+=is:H>0&&0===a&&(H-=is);const E=Math.ceil(Math.abs(H/(B4+.001))),T=[];for(let S=0;S+e}function Ng(e,t,n){return Math.max(t,Math.min(e,n))}function tae(){var e=oct,t=cct,n=lct,r=uct,i=yo(0),a=i,s=i,o=i,c=null;function l(u,f,d){var h,p=f??+e.call(this,u),m=d??+t.call(this,u),g=+n.call(this,u),v=+r.call(this,u),y=Math.min(g,v)/2,C=Ng(+i.call(this,u),0,y),b=Ng(+a.call(this,u),0,y),M=Ng(+s.call(this,u),0,y),w=Ng(+o.call(this,u),0,y);if(c||(c=h=og()),C<=0&&b<=0&&M<=0&&w<=0)c.rect(p,m,g,v);else{var _=p+g,z=m+v;c.moveTo(p+C,m),c.lineTo(_-b,m),c.bezierCurveTo(_-Bc*b,m,_,m+Bc*b,_,m+b),c.lineTo(_,z-w),c.bezierCurveTo(_,z-Bc*w,_-Bc*w,z,_-w,z),c.lineTo(p+M,z),c.bezierCurveTo(p+Bc*M,z,p,z-Bc*M,p,z-M),c.lineTo(p,m+C),c.bezierCurveTo(p,m+Bc*C,p+Bc*C,m,p+C,m),c.closePath()}if(h)return c=null,h+""||null}return l.x=function(u){return arguments.length?(e=yo(u),l):e},l.y=function(u){return arguments.length?(t=yo(u),l):t},l.width=function(u){return arguments.length?(n=yo(u),l):n},l.height=function(u){return arguments.length?(r=yo(u),l):r},l.cornerRadius=function(u,f,d,h){return arguments.length?(i=yo(u),a=null!=f?yo(f):i,o=null!=d?yo(d):i,s=null!=h?yo(h):a,l):i},l.context=function(u){return arguments.length?(c=u??null,l):c},l}function nae(){var e,t,n,r,a,s,o,c,i=null;function l(f,d,h){const p=h/2;if(a){var m=o-d,g=f-s;if(m||g){var v=Math.hypot(m,g),y=(m/=v)*c,C=(g/=v)*c,b=Math.atan2(g,m);i.moveTo(s-y,o-C),i.lineTo(f-m*p,d-g*p),i.arc(f,d,p,b-Math.PI,b),i.lineTo(s+y,o+C),i.arc(s,o,c,b,b+Math.PI)}else i.arc(f,d,p,0,is);i.closePath()}else a=1;s=f,o=d,c=p}function u(f){var d,p,g,h=f.length,m=!1;for(null==i&&(i=g=og()),d=0;d<=h;++d)!(de.x||0,X5=e=>e.y||0,kg=e=>!1!==e.defined,Ect=function Wat(){var e=$at,t=Bat,n=St(0),r=null,i=Uat,a=jat,s=qat,o=null,c=cg(l);function l(){var u,f,d=+e.apply(this,arguments),h=+t.apply(this,arguments),p=i.apply(this,arguments)-rg,m=a.apply(this,arguments)-rg,g=P2e(m-p),v=m>p;if(o||(o=u=c()),hG1)if(g>k5-G1)o.moveTo(h*go(p),h*Q2(p)),o.arc(0,0,h,p,m,!v),d>G1&&(o.moveTo(d*go(m),d*Q2(m)),o.arc(0,0,d,m,p,v));else{var A,x,y=p,C=m,b=p,M=m,w=g,_=g,z=s.apply(this,arguments)/2,V=z>G1&&(r?+r.apply(this,arguments):rn(d*d+h*h)),D=R6(P2e(h-d)/2,+n.apply(this,arguments)),L=D,R=D;if(V>G1){var H=$2e(V/d*Q2(z)),E=$2e(V/h*Q2(z));(w-=2*H)>G1?(b+=H*=v?1:-1,M-=H):(w=0,b=M=(p+m)/2),(_-=2*E)>G1?(y+=E*=v?1:-1,C-=E):(_=0,y=C=(p+m)/2)}var T=h*go(y),S=h*Q2(y),k=d*go(M),N=d*Q2(M);if(D>G1){var G,O=h*go(C),B=h*Q2(C),U=d*go(b),$=d*Q2(b);if(g1?0:e<-1?kc:Math.acos(e)}((se*he+J*W)/(rn(se*se+J*J)*rn(he*he+W*W)))/2),re=rn(G[0]*G[0]+G[1]*G[1]);L=R6(D,(d-re)/(ne-1)),R=R6(D,(h-re)/(ne+1))}else L=R=0}_>G1?R>G1?(A=lg(U,$,T,S,h,R,v),x=lg(O,B,k,N,h,R,v),o.moveTo(A.cx+A.x01,A.cy+A.y01),RG1&&w>G1?L>G1?(A=lg(k,N,O,B,d,-L,v),x=lg(T,S,U,$,d,-L,v),o.lineTo(A.cx+A.x01,A.cy+A.y01),Le.startAngle||0).endAngle(e=>e.endAngle||0).padAngle(e=>e.padAngle||0).innerRadius(e=>e.innerRadius||0).outerRadius(e=>e.outerRadius||0).cornerRadius(e=>e.cornerRadius||0),Vct=are().x(Y5).y1(X5).y0(e=>(e.y||0)+(e.height||0)).defined(kg),Dct=are().y(X5).x1(Y5).x0(e=>(e.x||0)+(e.width||0)).defined(kg),Lct=ire().x(Y5).y(X5).defined(kg),Act=tae().x(Y5).y(X5).width(e=>e.width||0).height(e=>e.height||0).cornerRadius(e=>W5(e.cornerRadiusTopLeft,e.cornerRadius)||0,e=>W5(e.cornerRadiusTopRight,e.cornerRadius)||0,e=>W5(e.cornerRadiusBottomRight,e.cornerRadius)||0,e=>W5(e.cornerRadiusBottomLeft,e.cornerRadius)||0),Nct=function hst(e,t){let n=null,r=cg(i);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return e="function"==typeof e?e:St(e||LE),t="function"==typeof t?t:St(void 0===t?64:+t),i.type=function(a){return arguments.length?(e="function"==typeof a?a:St(a),i):e},i.size=function(a){return arguments.length?(t="function"==typeof a?a:St(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}().type(e=>eae(e.shape||"circle")).size(e=>W5(e.size,64)),kct=nae().x(Y5).y(X5).defined(kg).size(e=>e.size||1);function HV(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function X6(e,t,n,r){return Act.context(e)(t,n,r)}var rae=1;function iae(){rae=1}function SV(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+rae++),s=i.clipping[a]||(i.clipping[a]={id:a});return et(r)?s.path=r(null):HV(n)?s.path=X6(null,n,0,0):(s.width=n.width||0,s.height=n.height||0),"url(#"+a+")"}function On(e){this.clear(),e&&this.union(e)}function Tg(e){this.mark=e,this.bounds=this.bounds||new On}function Ig(e){Tg.call(this,e),this.items=this.items||[]}function EV(e){this._pending=0,this._loader=e||Im()}function aae(e){e._pending+=1}function Q5(e){e._pending-=1}function Co(e,t,n){if(t.stroke&&0!==t.opacity&&0!==t.strokeOpacity){const r=null!=t.strokeWidth?+t.strokeWidth:1;e.expand(r+(n?function $ct(e,t){return e.strokeJoin&&"miter"!==e.strokeJoin?0:t}(t,r):0))}return e}On.prototype={clone(){return new On(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return nthis.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){const r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:s}=this,o=Math.cos(e),c=Math.sin(e),l=t-t*o+n*c,u=n-t*c-n*o;return[o*r-c*i+l,c*r+o*i+u,o*r-c*s+l,c*r+o*s+u,o*a-c*i+l,c*a+o*i+u,o*a-c*s+l,c*a+o*s+u]},union(e){return e.x1this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2e.x2||this.y2e.y2)},contains(e,t){return!(ethis.x2||tthis.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},le(Ig,Tg),EV.prototype={pending(){return this._pending},sanitizeURL(e){const t=this;return aae(t),t._loader.sanitize(e,{context:"href"}).then(n=>(Q5(t),n)).catch(()=>(Q5(t),null))},loadImage(e){const t=this,n=typeof Image<"u"?Image:null;return aae(t),t._loader.sanitize(e,{context:"image"}).then(r=>{const i=r.href;if(!i||!n)throw{url:i};const a=new n,s=Ne(r,"crossOrigin")?r.crossOrigin:"anonymous";return null!=s&&(a.crossOrigin=s),a.onload=()=>Q5(t),a.onerror=()=>Q5(t),a.src=i,a}).catch(r=>(Q5(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))},ready(){const e=this;return new Promise(t=>{!function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}(!1)})}};const Bct=is-1e-8;let Fg,Rg,Og,U4,VV,Pg,DV,LV;const Uc=(e,t)=>Fg.add(e,t),$g=(e,t)=>Uc(Rg=e,Og=t),sae=e=>Uc(e,Fg.y1),oae=e=>Uc(Fg.x1,e),j4=(e,t)=>VV*e+DV*t,q4=(e,t)=>Pg*e+LV*t,AV=(e,t)=>Uc(j4(e,t),q4(e,t)),NV=(e,t)=>$g(j4(e,t),q4(e,t));function Z5(e,t){return Fg=e,t?(U4=t*$c,VV=LV=Math.cos(U4),Pg=Math.sin(U4),DV=-Pg):(VV=LV=1,U4=Pg=DV=0),Uct}const Uct={beginPath(){},closePath(){},moveTo:NV,lineTo:NV,rect(e,t,n,r){U4?(AV(e+n,t),AV(e+n,t+r),AV(e,t+r),NV(e,t)):(Uc(e+n,t+r),$g(e,t))},quadraticCurveTo(e,t,n,r){const i=j4(e,t),a=q4(e,t),s=j4(n,r),o=q4(n,r);cae(Rg,i,s,sae),cae(Og,a,o,oae),$g(s,o)},bezierCurveTo(e,t,n,r,i,a){const s=j4(e,t),o=q4(e,t),c=j4(n,r),l=q4(n,r),u=j4(i,a),f=q4(i,a);lae(Rg,s,c,u,sae),lae(Og,o,l,f,oae),$g(u,f)},arc(e,t,n,r,i,a){if(r+=U4,i+=U4,Rg=n*Math.cos(i)+e,Og=n*Math.sin(i)+t,Math.abs(i-r)>Bct)Uc(e-n,t-n),Uc(e+n,t+n);else{const s=l=>Uc(n*Math.cos(l)+e,n*Math.sin(l)+t);let o,c;if(s(r),s(i),i!==r)if((r%=is)<0&&(r+=is),(i%=is)<0&&(i+=is),ii;++c,o-=B4)s(o);else for(o=r-r%B4+B4,c=0;c<4&&o1e-14?(u=s*s+o*a,u>=0&&(u=Math.sqrt(u),c=(-s+u)/a,l=(-s-u)/a)):c=.5*o/s,0d)return!1;m>f&&(f=m)}else if(h>0){if(m0&&(e.globalAlpha=n,e.fillStyle=pae(e,t,t.fill),!0)}var qct=[];function K6(e,t,n){var r=null!=(r=t.strokeWidth)?r:1;return!(r<=0)&&(n*=null==t.strokeOpacity?1:t.strokeOpacity)>0&&(e.globalAlpha=n,e.strokeStyle=pae(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||qct),e.lineDashOffset=t.strokeDashOffset||0),!0)}function Gct(e,t){return e.zindex-t.zindex||e.index-t.index}function FV(e){if(!e.zdirty)return e.zitems;var r,i,a,t=e.items,n=[];for(i=0,a=t.length;i=0;)if(r=t(n[i]))return r;if(n===a)for(i=(n=e.items).length;--i>=0;)if(!n[i].zindex&&(r=t(n[i])))return r;return null}function RV(e){return function(t,n,r){Gi(n,i=>{(!r||r.intersects(i.bounds))&&mae(e,t,i,i)})}}function Wct(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&mae(e,t,n.items[0],n.items)}}function mae(e,t,n,r){var i=null==n.opacity?1:n.opacity;0!==i&&(e(t,r)||(Z6(t,n),n.fill&&Bg(t,n,i)&&t.fill(),n.stroke&&K6(t,n,i)&&t.stroke()))}function jg(e){return e=e||ni,function(t,n,r,i,a,s){return r*=t.pixelRatio,i*=t.pixelRatio,Ug(n,o=>{const c=o.bounds;if((!c||c.contains(a,s))&&c&&e(t,o,r,i,a,s))return o})}}function K5(e,t){return function(n,r,i,a){var u,s=Array.isArray(r)?r[0]:r,o=t??s.fill,c=s.stroke&&n.isPointInStroke;return c&&(u=s.strokeCap,n.lineWidth=s.strokeWidth??1,n.lineCap=u??"butt"),!e(n,r)&&(o&&n.isPointInPath(i,a)||c&&n.isPointInStroke(i,a))}}function OV(e){return jg(K5(e))}function G4(e,t){return"translate("+e+","+t+")"}function PV(e){return"rotate("+e+")"}function gae(e){return G4(e.x||0,e.y||0)}function $V(e,t,n){function a(s,o){var c=o.x||0,l=o.y||0,u=o.angle||0;s.translate(c,l),u&&s.rotate(u*=$c),s.beginPath(),t(s,o),u&&s.rotate(-u),s.translate(-c,-l)}return{type:e,tag:"path",nested:!1,attr:function r(s,o){s("transform",function Xct(e){return G4(e.x||0,e.y||0)+(e.angle?" "+PV(e.angle):"")}(o)),s("d",t(null,o))},bound:function i(s,o){return t(Z5(s,o.angle),o),Co(s,o).translate(o.x||0,o.y||0)},draw:RV(a),pick:OV(a),isect:n||TV(a)}}var Zct=$V("arc",function Tct(e,t){return Ect.context(e)(t)});function BV(e,t,n){function a(c,l){c.beginPath(),t(c,l)}const s=K5(a);return{type:e,tag:"path",nested:!0,attr:function r(c,l){var u=l.mark.items;u.length&&c("d",t(null,u))},bound:function i(c,l){var u=l.items;return 0===u.length?c:(t(Z5(c),u),Co(c,u[0]))},draw:Wct(a),pick:function o(c,l,u,f,d,h){var p=l.items,m=l.bounds;return!p||!p.length||m&&!m.contains(d,h)?null:s(c,p,u*=c.pixelRatio,f*=c.pixelRatio)?p[0]:null},isect:IV,tip:n}}var t3t=BV("area",function Ict(e,t){const n=t[0];return("horizontal"===n.orient?Dct:Vct).curve(_V(n.interpolate||"linear",n.orient,n.tension)).context(e)(t)},function Kct(e,t){for(var s,o,n="horizontal"===e[0].orient?t[1]:t[0],r="horizontal"===e[0].orient?"y":"x",i=e.length,a=1/0;--i>=0;)!1!==e[i].defined&&(o=Math.abs(e[i][r]-n)).5&&t<1.5?.5-Math.abs(t-1):0}function Cae(e,t){const n=yae(t);e("d",X6(null,t,n,n))}function J5(e,t,n,r){const i=yae(t);e.beginPath(),X6(e,t,(n||0)+i,(r||0)+i)}const c3t=K5(J5),l3t=K5(J5,!1),u3t=K5(J5,!0);var p3t={type:"group",tag:"g",nested:!1,attr:function r3t(e,t){e("transform",gae(t))},bound:function o3t(e,t){if(!t.clip&&t.items){const n=t.items,r=n.length;for(let i=0;i{const a=i.x||0,s=i.y||0,o=i.strokeForeground,c=null==i.opacity?1:i.opacity;(i.stroke||i.fill)&&c&&(J5(e,i,a,s),Z6(e,i),i.fill&&Bg(e,i,c)&&e.fill(),i.stroke&&!o&&K6(e,i,c)&&e.stroke()),e.save(),e.translate(a,s),i.clip&&vae(e,i),n&&n.translate(-a,-s),Gi(i,l=>{("group"===l.marktype||null==r||r.includes(l.marktype))&&this.draw(e,l,n,r)}),n&&n.translate(a,s),e.restore(),o&&i.stroke&&c&&(J5(e,i,a,s),Z6(e,i),K6(e,i,c)&&e.stroke())})},pick:function d3t(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;const s=n*e.pixelRatio,o=r*e.pixelRatio;return Ug(t,c=>{let l,u,f;const d=c.bounds;if(d&&!d.contains(i,a))return;u=c.x||0,f=c.y||0;const m=c.clip;if(m&&(iu+(c.width||0)||af+(c.height||0)))return;if(e.save(),e.translate(u,f),u=i-u,f=a-f,m&&HV(c)&&!u3t(e,c,s,o))return e.restore(),null;const g=c.strokeForeground,v=!1!==t.interactive;return v&&g&&c.stroke&&l3t(e,c,s,o)?(e.restore(),c):(l=Ug(c,y=>function h3t(e,t,n){return(!1!==e.interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(t,n)}(y,u,f)?this.pick(y,n,r,u,f):null),!l&&v&&(c.fill||!g&&c.stroke)&&c3t(e,c,s,o)&&(l=c),e.restore(),l||null)})},isect:fae,content:function s3t(e,t,n){e("clip-path",t.clip?SV(n,t,t):null)},background:function i3t(e,t){e("class","background"),e("aria-hidden",!0),Cae(e,t)},foreground:function a3t(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?Cae(e,t):e("d","")}},e7={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function UV(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function jV(e,t){return null!=e.width?e.width:t&&t.width?!1!==e.aspect&&e.height?e.height*t.width/t.height:t.width:0}function qV(e,t){return null!=e.height?e.height:t&&t.height?!1!==e.aspect&&e.width?e.width*t.height/t.width:t.height:0}function qg(e,t){return"center"===e?t/2:"right"===e?t:0}function Gg(e,t){return"middle"===e?t/2:"bottom"===e?t:0}var y3t={type:"image",tag:"image",nested:!1,attr:function m3t(e,t,n){const r=UV(t,n),i=jV(t,r),a=qV(t,r),s=(t.x||0)-qg(t.align,i),o=(t.y||0)-Gg(t.baseline,a);e("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",e7["xmlns:xlink"],"xlink:href"),e("transform",G4(s,o)),e("width",i),e("height",a),e("preserveAspectRatio",!1===t.aspect?"none":"xMidYMid")},bound:function g3t(e,t){const n=t.image,r=jV(t,n),i=qV(t,n),a=(t.x||0)-qg(t.align,r),s=(t.y||0)-Gg(t.baseline,i);return e.set(a,s,a+r,s+i)},draw:function v3t(e,t,n){Gi(t,r=>{if(n&&!n.intersects(r.bounds))return;const i=UV(r,this);let a=jV(r,i),s=qV(r,i);if(0===a||0===s)return;let l,u,f,d,o=(r.x||0)-qg(r.align,a),c=(r.y||0)-Gg(r.baseline,s);!1!==r.aspect&&(u=i.width/i.height,f=r.width/r.height,u==u&&f==f&&u!==f&&(f=0;)if(!1!==e[r].defined&&(i=e[r].x-t[0])*i+(a=e[r].y-t[1])*a{if(!n||n.intersects(r.bounds)){var i=null==r.opacity?1:r.opacity;i&&Mae(e,r,i)&&(Z6(e,r),e.stroke())}})},pick:jg(function V3t(e,t,n,r){return!!e.isPointInStroke&&Mae(e,t,1)&&e.isPointInStroke(n,r)}),isect:dae},L3t=$V("shape",function Rct(e,t){return(t.mark.shape||t.shape).context(e)(t)}),A3t=$V("symbol",function Oct(e,t){return Nct.context(e)(t)},IV);const _ae=one();var Dr={height:as,measureWidth:GV,estimateWidth:Yg,width:Yg,canvas:wae};function wae(e){Dr.width=e&&jc?GV:Yg}function Yg(e,t){return xae(Gc(e,t),as(e))}function xae(e,t){return~~(.8*e.length*t)}function GV(e,t){return as(e)<=0||!(t=Gc(e,t))?0:zae(t,Xg(e))}function zae(e,t){const n=`(${t}) ${e}`;let r=_ae.get(n);return void 0===r&&(jc.font=t,r=jc.measureText(e).width,_ae.set(n,r)),r}function as(e){return null!=e.fontSize?+e.fontSize||0:11}function qc(e){return null!=e.lineHeight?e.lineHeight:as(e)+2}function t7(e){return function N3t(e){return K(e)?e.length>1?e:e[0]:e}(e.lineBreak&&e.text&&!K(e.text)?e.text.split(e.lineBreak):e.text)}function WV(e){const t=t7(e);return(K(t)?t.length-1:0)*qc(e)}function Gc(e,t){const n=null==t?"":(t+"").trim();return e.limit>0&&n.length?function T3t(e,t){var n=+e.limit,r=function k3t(e){if(Dr.width===GV){const t=Xg(e);return n=>zae(n,t)}if(Dr.width===Yg){const t=as(e);return n=>xae(n,t)}return t=>Dr.width(e,t)}(e);if(r(t)>>1))>n?s=c+1:o=c;return i+t.slice(s)}for(;s>>1)))Math.max(d,Dr.width(t,h)),0)):f=Dr.width(t,u),"center"===i?c-=f/2:"right"===i&&(c-=f),e.set(c+=s,l+=o,c+f,l+r),t.angle&&!n)e.rotate(t.angle*$c,s,o);else if(2===n)return e.rotatedPoints(t.angle*$c,s,o);return e}var $3t={type:"text",tag:"text",nested:!1,attr:function F3t(e,t){var c,n=t.dx||0,r=(t.dy||0)+YV(t),i=Qg(t),a=i.x1,s=i.y1,o=t.angle||0;e("text-anchor",I3t[t.align]||"start"),o?(c=G4(a,s)+" "+PV(o),(n||r)&&(c+=" "+G4(n,r))):c=G4(a+n,s+r),e("transform",c)},bound:XV,draw:function R3t(e,t,n){Gi(t,r=>{var a,s,o,c,l,u,f,i=null==r.opacity?1:r.opacity;if(!(n&&!n.intersects(r.bounds)||0===i||r.fontSize<=0||null==r.text||0===r.text.length)){if(e.font=Xg(r),e.textAlign=r.align||"left",s=(a=Qg(r)).x1,o=a.y1,r.angle&&(e.save(),e.translate(s,o),e.rotate(r.angle*$c),s=o=0),s+=r.dx||0,o+=(r.dy||0)+YV(r),u=t7(r),Z6(e,r),K(u))for(l=qc(r),c=0;c=0;)if(!1!==e[n].defined&&(r=e[n].x-t[0])*r+(i=e[n].y-t[1])*i<(r=e[n].size||1)*r)return e[n];return null}),Lr={arc:Zct,area:t3t,group:p3t,image:y3t,line:C3t,path:_3t,rect:z3t,rule:D3t,shape:L3t,symbol:A3t,text:$3t,trail:B3t};function QV(e,t,n){var r=Lr[e.mark.marktype];return r.nested&&(e=e.mark),(t||r.bound)(e.bounds||(e.bounds=new On),e,n)}var Hae={mark:null};function Sae(e,t,n){var o,c,l,u,r=Lr[e.marktype],i=r.bound,a=e.items,s=a&&a.length;if(r.nested)return s?l=a[0]:(Hae.mark=e,l=Hae),u=QV(l,i,n),t&&t.union(u)||u;if(t=t||e.bounds&&e.bounds.clear()||new On,s)for(o=0,c=a.length;ot;)e.removeChild(n[--r]);return e}function Aae(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function Zg(e,t){const n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function Yc(e,t){this._active=null,this._handlers={},this._loader=e||Im(),this._tooltip=t||q3t}function q3t(e,t,n,r){e.element().setAttribute("title",r||"")}function Ar(e){this._el=null,this._bgcolor=null,this._loader=new EV(e)}ZV.prototype={toJSON(e){return Eae(this.root,e||0)},mark(e,t,n){const r=Lae(e,t=t||this.root.items[0]);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}},Yc.prototype={initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()},scene(e){return arguments.length?(this._scene=e,this):this._scene},on(){},off(){},_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1},handlers(e){const t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(const r in t)n.push(...t[r]);return n},eventName(e){const t=e.indexOf(".");return t<0?e:e.slice(0,t)},handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(r=>{const i=new MouseEvent(e.type,e),a=Wc(null,"a");for(const s in r)a.setAttribute(s,r[s]);a.dispatchEvent(i)}).catch(()=>{})},handleTooltip(e,t,n){t&&null!=t.tooltip&&(t=function j3t(e,t,n,r){var a,s,i=e&&e.mark;if(i&&(a=Lr[i.marktype]).tip){for((s=Zg(t,n))[0]-=r[0],s[1]-=r[1];e=e.mark.group;)s[0]-=e.x||0,s[1]-=e.y||0;e=a.tip(i.items,s)}return e}(t,e,this.canvas(),this._origin),this._tooltip.call(this._obj,this,e,t,n&&t&&t.tooltip||null))},getItemBoundingClientRect(e){const t=this.canvas();if(!t)return;const n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),s=i.height();let o=i.x1+r[0]+n.left,c=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)o+=e.x||0,c+=e.y||0;return{x:o,y:c,width:a,height:s,left:o,top:c,right:o+a,bottom:c+s}}},Ar.prototype={initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},background(e){return 0===arguments.length?this._bgcolor:(this._bgcolor=e,this)},resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this},dirty(){},render(e,t){const n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n},_render(){},renderAsync(e,t){const n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)},_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){const i=n._call;n._ready=n._loader.ready().then(a=>{a&&i(),n._ready=null})}return r},sanitizeURL(e){return this._load("sanitizeURL",e)},loadImage(e){return this._load("loadImage",e)}};const Kg="dragleave",JV="pointerdown",Jg="pointermove",i7="pointerout",Tae="pointerover",eD="mousedown",tD="mouseout",ev="click",Rae="mousewheel",tv="touchstart",nv="touchmove",rv="touchend",nD=Jg,a7=i7,rD=ev;function Xc(e,t){Yc.call(this,e,t),this._down=null,this._touch=null,this._first=!0,this._events={}}function Oae(e,t){(e=>e===tv||e===nv||e===rv?[tv,nv,rv]:[e])(t).forEach(n=>function t4t(e,t){const n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}(e,n))}function s7(e,t,n){t.forEach(r=>e.fire(r,n))}function Pae(e,t,n){return function(r){const i=this._active,a=this.pickEvent(r);a===i||((!i||!i.exit)&&s7(this,n,r),this._active=a,s7(this,t,r)),s7(this,e,r)}}function $ae(e){return function(t){s7(this,e,t),this._active=null}}le(Xc,Yc,{initialize(e,t,n){return this._canvas=e&&KV(e,"canvas"),[ev,eD,JV,Jg,i7,Kg].forEach(r=>Oae(this,r)),Yc.prototype.initialize.call(this,e,t,n)},canvas(){return this._canvas},context(){return this._canvas.getContext("2d")},events:["keydown","keypress","keyup","dragenter",Kg,"dragover",JV,"pointerup",Jg,i7,Tae,eD,"mouseup","mousemove",tD,"mouseover",ev,"dblclick","wheel",Rae,tv,nv,rv],DOMMouseScroll(e){this.fire(Rae,e)},pointermove:Pae([Jg,"mousemove"],[Tae,"mouseover"],[i7,tD]),dragover:Pae(["dragover"],["dragenter"],[Kg]),pointerout:$ae([i7,tD]),dragleave:$ae([Kg]),pointerdown(e){this._down=this._active,this.fire(JV,e)},mousedown(e){this._down=this._active,this.fire(eD,e)},click(e){this._down===this._active&&(this.fire(ev,e),this._down=null)},touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(tv,e,!0)},touchmove(e){this.fire(nv,e,!0)},touchend(e){this.fire(rv,e,!0),this._touch=null},fire(e,t,n){const r=n?this._touch:this._active,i=this._handlers[e];if(t.vegaType=e,e===rD&&r&&r.href?this.handleHref(t,r,r.href):(e===nD||e===a7)&&this.handleTooltip(t,r,e!==a7),i)for(let a=0,s=i.length;a=0&&r.splice(i,1),this},pickEvent(e){const t=Zg(e,this._canvas),n=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-n[0],t[1]-n[1])},pick(e,t,n,r,i){const a=this.context();return Lr[e.marktype].pick.call(this,a,e,t,n,r,i)}});var r4t=function n4t(){return typeof window<"u"&&window.devicePixelRatio||1}();function o7(e){Ar.call(this,e),this._options={},this._redraw=!1,this._dirty=new On,this._tempb=new On}const Bae=Ar.prototype;function iD(e,t){Yc.call(this,e,t);const n=this;n._hrefHandler=aD(n,(r,i)=>{i&&i.href&&n.handleHref(r,i,i.href)}),n._tooltipHandler=aD(n,(r,i)=>{n.handleTooltip(r,i,r.type!==a7)})}le(o7,Ar,{initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Tc(1,1),e&&this._canvas&&(ui(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Bae.initialize.call(this,e,t,n,r,i)},resize(e,t,n,r){if(Bae.resize.call(this,e,t,n,r),this._canvas)!function i4t(e,t,n,r,i,a){const s=typeof HTMLElement<"u"&&e instanceof HTMLElement&&null!=e.parentNode,o=e.getContext("2d"),c=s?r4t:i;e.width=t*c,e.height=n*c;for(const l in a)o[l]=a[l];s&&1!==c&&(e.style.width=t+"px",e.style.height=n+"px"),o.pixelRatio=c,o.setTransform(c,0,0,c,c*r[0],c*r[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const i=this._options.externalContext;i||Z("CanvasRenderer is missing a valid canvas or context"),i.scale(this._scale,this._scale),i.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this},canvas(){return this._canvas},context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},dirty(e){const t=this._tempb.clear().union(e.bounds);let n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)},_render(e,t){const n=this.context(),r=this._origin,i=this._width,a=this._height,s=this._dirty,o=((e,t,n)=>(new On).set(0,0,t,n).translate(-e[0],-e[1]))(r,i,a);n.save();const c=this._redraw||s.empty()?(this._redraw=!1,o.expand(1)):function s4t(e,t,n){return t.expand(1).round(),e.pixelRatio%1&&t.scale(e.pixelRatio).round().scale(1/e.pixelRatio),t.translate(-n[0]%1,-n[1]%1),e.beginPath(),e.rect(t.x1,t.y1,t.width(),t.height()),e.clip(),t}(n,o.intersect(s),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,c,t),n.restore(),s.clear(),this},draw(e,t,n,r){if("group"!==t.marktype&&null!=r&&!r.includes(t.marktype))return;const i=Lr[t.marktype];t.clip&&function n3t(e,t){var n=t.clip;e.save(),et(n)?(e.beginPath(),n(e),e.clip()):vae(e,t.group)}(e,t),i.draw.call(this,e,t,n,r),t.clip&&e.restore()},clear(e,t,n,r){const i=this._options,a=this.context();"pdf"!==i.type&&!i.externalContext&&a.clearRect(e,t,n,r),null!=this._bgcolor&&(a.fillStyle=this._bgcolor,a.fillRect(e,t,n,r))}});const aD=(e,t)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,t.call(e._obj,n,r)};le(iD,Yc,{initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(rD,this._hrefHandler),r.removeEventListener(nD,this._tooltipHandler),r.removeEventListener(a7,this._tooltipHandler)),this._svg=r=e&&KV(e,"svg"),r&&(r.addEventListener(rD,this._hrefHandler),r.addEventListener(nD,this._tooltipHandler),r.addEventListener(a7,this._tooltipHandler)),Yc.prototype.initialize.call(this,e,t,n)},canvas(){return this._svg},on(e,t){const n=this.eventName(e),r=this._handlers;if(this._handlerIndex(r[n],e,t)<0){const a={type:e,handler:t,listener:aD(this,t)};(r[n]||(r[n]=[])).push(a),this._svg&&this._svg.addEventListener(n,a.listener)}return this},off(e,t){const n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this}});const Uae="aria-hidden",sD="aria-label",oD="role",cD="aria-roledescription",jae="graphics-object",lD="graphics-symbol",qae=(e,t,n)=>({[oD]:e,[cD]:t,[sD]:n||void 0}),o4t=Pi(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),Gae={axis:{desc:"axis",caption:function u4t(e){const t=e.datum,n=e.orient,r=t.title?Zae(e):null,i=e.context,a=i.scales[t.scale].value,s=i.dataflow.locale(),o=a.type;return("left"===n||"right"===n?"Y":"X")+"-axis"+(r?` titled '${r}'`:"")+` for a ${G6(o)?"discrete":o} scale with ${qie(s,a,e)}`}},legend:{desc:"legend",caption:function f4t(e){const t=e.datum,n=t.title?Zae(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,a=Object.keys(i),s=e.context,o=s.scales[i[a[0]]].value,c=s.dataflow.locale();return function h4t(e){return e.length?e[0].toUpperCase()+e.slice(1):e}(r)+(n?` titled '${n}'`:"")+` for ${function d4t(e){return e=e.map(t=>t+("fill"===t||"stroke"===t?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+ft(e)}(a)} with ${qie(c,o,e)}`}},"title-text":{desc:"title",caption:e=>`Title text '${Qae(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${Qae(e)}'`}},Wae={ariaRole:oD,ariaRoleDescription:cD,description:sD};function Yae(e,t){const n=!1===t.aria;if(e(Uae,n||void 0),n||null==t.description)for(const r in Wae)e(Wae[r],void 0);else{const r=t.mark.marktype;e(sD,t.description),e(oD,t.ariaRole||("group"===r?jae:lD)),e(cD,t.ariaRoleDescription||`${r} mark`)}}function Xae(e){return!1===e.aria?{[Uae]:!0}:o4t[e.role]?null:Gae[e.role]?function l4t(e,t){try{const n=e.items[0];return qae(t.role||lD,t.desc,n.description||(t.caption||(()=>""))(n))}catch{return null}}(e,Gae[e.role]):function c4t(e){const t=e.marktype,n="group"===t||"text"===t||e.items.some(r=>null!=r.description&&!1!==r.aria);return qae(n?jae:lD,`${t} mark container`,e.description)}(e)}function Qae(e){return me(e.text).join(" ")}function Zae(e){try{return me(ft(e.items).items[0].text).join(" ")}catch{return null}}const Kae=e=>(e+"").replace(/&/g,"&").replace(//g,">"),p4t=e=>Kae(e).replace(/"/g,""").replace(/\t/g," ").replace(/\n/g," ").replace(/\r/g," ");function uD(){let e="",t="",n="";const r=[],i=()=>t=n="",s=(c,l)=>(null!=l&&(t+=` ${c}="${p4t(l)}"`),o),o={open(c){(c=>{t&&(e+=`${t}>${n}`,i()),r.push(c)})(c),t="<"+c;for(var l=arguments.length,u=new Array(l>1?l-1:0),f=1;f${n}`:"/>"):``,i(),o},attr:s,text:c=>(n+=Kae(c),o),toString:()=>e};return o}const Jae=e=>ese(uD(),e)+"";function ese(e,t){if(e.open(t.tagName),t.hasAttributes()){const n=t.attributes,r=n.length;for(let i=0;i1&&e.previousSibling!=t}(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}le(sv,Ar,{initialize(e,t,n,r,i){return this._defs={},this._clearDefs(),e&&(this._svg=Qn(e,0,"svg",Zn),this._svg.setAttributeNS(nse,"xmlns",Zn),this._svg.setAttributeNS(nse,"xmlns:xlink",e7["xmlns:xlink"]),this._svg.setAttribute("version",e7.version),this._svg.setAttribute("class","marks"),ui(e,1),this._root=Qn(this._svg,0,"g",Zn),Qc(this._root,tse),ui(this._svg,1)),this.background(this._bgcolor),fD.initialize.call(this,e,t,n,r,i)},background(e){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",e),fD.background.apply(this,arguments)},resize(e,t,n,r){return fD.resize.call(this,e,t,n,r),this._svg&&(Qc(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this},canvas(){return this._svg},svg(){const e=this._svg,t=this._bgcolor;if(!e)return null;let n;t&&(e.removeAttribute("style"),n=Qn(e,0,"rect",Zn),Qc(n,{width:this._width,height:this._height,fill:t}));const r=Jae(e);return t&&(e.removeChild(n),this._svg.style.setProperty("background-color",t)),r},_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),ui(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this},dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))},isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID},_dirtyCheck(){this._dirtyAll=!0;const e=this._dirty;if(!e.length||!this._dirtyID)return!0;const t=++this._dirtyID;let n,r,i,a,s,o,c;for(s=0,o=e.length;s{l.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):n._svg&&(c=n._svg.parentNode,c&&c.removeChild(n._svg)),n._svg=null;continue}n=a.nested?r.items[0]:n,n._update!==t&&(n._svg&&n._svg.ownerSVGElement?this._update(a,n._svg,n):(this._dirtyAll=!1,rse(n,t)),n._update=t)}return!this._dirtyAll},mark(e,t,n,r){if(!this.isDirty(t))return t._svg;const i=this._svg,a=t.marktype,s=Lr[a],o=!1===t.interactive?"none":null,c="g"===s.tag,l=ise(t,e,n,"g",i);if("group"!==a&&null!=r&&!r.includes(a))return ui(l,0),t._svg;l.setAttribute("class",Aae(t));const u=Xae(t);for(const p in u)m2(l,p,u[p]);c||m2(l,"pointer-events",o),m2(l,"clip-path",t.clip?SV(this,t,t.group):null);let f=null,d=0;const h=p=>{const m=this.isDirty(p),g=ise(p,l,f,s.tag,i);m&&(this._update(s,g,p),c&&function v4t(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;Gi(n,s=>{i=e.mark(t,s,i,r),++a}),ui(t,1+a)}(this,g,p,r)),f=g,++d};return s.nested?t.items.length&&h(t.items[0]):Gi(t,h),ui(l,d),l},_update(e,t,n){bo=t,W1=t.__values__,Yae(l7,n),e.attr(l7,n,this);const r=C4t[e.type];r&&r.call(this,e,t,n),bo&&this.style(bo,n)},style(e,t){if(null!=t){for(const n in iv){let r="font"===n?n7(t):t[n];if(r===W1[n])continue;const i=iv[n];null==r?e.removeAttribute(i):(MV(r)&&(r=Wie(r,this._defs.gradient,ase())),e.setAttribute(i,r+"")),W1[n]=r}for(const n in av)ov(e,av[n],t[n])}},defs(){const e=this._svg,t=this._defs;let n=t.el,r=0;for(const i in t.gradient)n||(t.el=n=Qn(e,1,"defs",Zn)),r=m4t(n,t.gradient[i],r);for(const i in t.clipping)n||(t.el=n=Qn(e,1,"defs",Zn)),r=g4t(n,t.clipping[i],r);n&&(0===r?(e.removeChild(n),t.el=null):ui(n,r))},_clearDefs(){const e=this._defs;e.gradient={},e.clipping={}}});let bo=null,W1=null;const C4t={group(e,t,n){const r=bo=t.childNodes[2];W1=r.__values__,e.foreground(l7,n,this),W1=t.__values__,bo=t.childNodes[1],e.content(l7,n,this);const i=bo=t.childNodes[0];e.background(l7,n,this);const a=!1===n.mark.interactive?"none":null;if(a!==W1.events&&(m2(r,"pointer-events",a),m2(i,"pointer-events",a),W1.events=a),n.strokeForeground&&n.stroke){const s=n.fill;m2(r,"display",null),this.style(i,n),m2(i,"stroke",null),s&&(n.fill=null),W1=r.__values__,this.style(r,n),s&&(n.fill=s),bo=null}else m2(r,"display","none")},image(e,t,n){!1===n.smooth?(ov(t,"image-rendering","optimizeSpeed"),ov(t,"image-rendering","pixelated")):ov(t,"image-rendering",null)},text(e,t,n){const r=t7(n);let i,a,s,o;K(r)?(a=r.map(c=>Gc(n,c)),i=a.join("\n"),i!==W1.text&&(ui(t,0),s=t.ownerDocument,o=qc(n),a.forEach((c,l)=>{const u=Wc(s,"tspan",Zn);u.__data__=n,u.textContent=c,l&&(u.setAttribute("x",0),u.setAttribute("dy",o)),t.appendChild(u)}),W1.text=i)):(a=Gc(n,r),a!==W1.text&&(t.textContent=a,W1.text=a)),m2(t,"font-family",n7(n)),m2(t,"font-size",as(n)+"px"),m2(t,"font-style",n.fontStyle),m2(t,"font-variant",n.fontVariant),m2(t,"font-weight",n.fontWeight)}};function l7(e,t,n){t!==W1[e]&&(n?function b4t(e,t,n,r){null!=n?e.setAttributeNS(r,t,n):e.removeAttributeNS(r,t)}(bo,e,t,n):m2(bo,e,t),W1[e]=t)}function ov(e,t,n){n!==W1[t]&&(null==n?e.style.removeProperty(t):e.style.setProperty(t,n+""),W1[t]=n)}function Qc(e,t){for(const n in t)m2(e,n,t[n])}function m2(e,t,n){null!=n?e.setAttribute(t,n):e.removeAttribute(t)}function ase(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}function dD(e){Ar.call(this,e),this._text=null,this._defs={gradient:{},clipping:{}}}le(dD,Ar,{svg(){return this._text},_render(e){const t=uD();t.open("svg",tt({},e7,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const n=this._bgcolor;return n&&"transparent"!==n&&"none"!==n&&t.open("rect",{width:this._width,height:this._height,fill:n}).close(),t.open("g",tse,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this},mark(e,t){const n=Lr[t.marktype],r=n.tag,i=[Yae,n.attr];e.open("g",{class:Aae(t),"clip-path":t.clip?SV(this,t,t.group):null},Xae(t),{"pointer-events":"g"!==r&&!1===t.interactive?"none":null});const a=s=>{const o=this.href(s);if(o&&e.open("a",o),e.open(r,this.attr(t,s,i,"g"!==r?r:null)),"text"===r){const c=t7(s);if(K(c)){const l={x:0,dy:qc(s)};for(let u=0;uthis.mark(e,f)),e.close(),c&&u?(l&&(s.fill=null),s.stroke=u,e.open("path",this.attr(t,s,n.foreground,"bgrect")).close(),l&&(s.fill=l)):e.open("path",this.attr(t,s,n.foreground,"bgfore")).close()}e.close(),o&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):Gi(t,a),e.close()},href(e){const t=e.href;let n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(r=>{r["xlink:href"]=r.href,r.href=null,(this._hrefs||(this._hrefs={}))[t]=r})}return null},attr(e,t,n,r){const i={},a=(s,o,c,l)=>{i[l||s]=o};return Array.isArray(n)?n.forEach(s=>s(a,t,this)):n(a,t,this),r&&function M4t(e,t,n,r,i){let a;if(null==t||("bgrect"===r&&!1===n.interactive&&(e["pointer-events"]="none"),"bgfore"===r&&(!1===n.interactive&&(e["pointer-events"]="none"),e.display="none",null!==t.fill)))return e;"image"===r&&!1===t.smooth&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),"text"===r&&(e["font-family"]=n7(t),e["font-size"]=as(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight);for(const s in iv){let o=t[s];const c=iv[s];"transparent"===o&&("fill"===c||"stroke"===c)||null!=o&&(MV(o)&&(o=Wie(o,i.gradient,"")),e[c]=o)}for(const s in av){const o=t[s];null!=o&&(a=a||[],a.push(`${av[s]}: ${o};`))}a&&(e.style=a.join(" "))}(i,t,e,r,this._defs),i},defs(e){const t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){e.open("defs");for(const i in t){const a=t[i],s=a.stops;"radial"===a.gradient?(e.open("pattern",{id:"p_"+i,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+i+")"}).close(),e.close(),e.open("radialGradient",{id:i,fx:a.x1,fy:a.y1,fr:a.r1,cx:a.x2,cy:a.y2,r:a.r2})):e.open("linearGradient",{id:i,x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2});for(let o=0;o!Wi.svgMarkTypes.includes(i));this._svgRenderer.render(e,Wi.svgMarkTypes),this._canvasRenderer.render(e,r)},resize(e,t,n,r){return sse.resize.call(this,e,t,n,r),this._svgRenderer.resize(e,t,n,r),this._canvasRenderer.resize(e,t,n,r),this},background(e){return Wi.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}}),le(hD,Xc,{initialize(e,t,n){const r=Qn(Qn(e,0,"div"),Wi.svgOnTop?0:1,"div");return Xc.prototype.initialize.call(this,r,t,n)}});const Zc={Canvas:"canvas",PNG:"png",SVG:"svg",Hybrid:"hybrid",None:"none"},W4={};function lv(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(W4[e]=t,this):W4[e]}function dse(e,t,n){const r=[],i=(new On).union(t),a=e.marktype;return a?hse(e,i,n,r):"group"===a?pse(e,i,n,r):Z("Intersect scene must be mark node or group item.")}function hse(e,t,n,r){if(function w4t(e,t,n){return e.bounds&&t.intersects(e.bounds)&&("group"===e.marktype||!1!==e.interactive&&(!n||n(e)))}(e,t,n)){const i=e.items,a=e.marktype,s=i.length;let o=0;if("group"===a)for(;o=0;a--)if(n[a]!=r[a])return!1;for(a=n.length-1;a>=0;a--)if(!mD(e[i=n[a]],t[i],i))return!1;return typeof e==typeof t}(e,t):e==t)}function vse(e,t){return mD(W6(e),W6(t))}function H4t(){iae(),function Xot(){Gie=0}()}const J6="top",Yi="left",Xi="right",Kc="bottom",gD="start",vD="middle",g2="end",L4t="x",A4t="y",uv="group",yD="axis",CD="title",bD="legend",yse="row-header",Cse="row-footer",Mse="column-header",_se="column-footer",wse="column-title",MD="none",fv="all",_D="each",wD="flush",Jc="column",e3="row";function Sse(e){Y.call(this,null,e)}function dv(e,t,n){return t(e.bounds.clear(),e,n)}le(Sse,Y,{transform(e,t){const n=t.dataflow,r=e.mark,i=r.marktype,a=Lr[i],s=a.bound;let c,o=r.bounds;if(a.nested)r.items.length&&n.dirty(r.items[0]),o=dv(r,s),r.items.forEach(l=>{l.bounds.clear().union(o)});else if(i===uv||e.modified())switch(t.visit(t.MOD,l=>n.dirty(l)),o.clear(),r.items.forEach(l=>o.union(dv(l,s))),r.role){case yD:case bD:case CD:t.reflow()}else c=t.changed(t.REM),t.visit(t.ADD,l=>{o.union(dv(l,s))}),t.visit(t.MOD,l=>{c=c||o.alignsWith(l.bounds),n.dirty(l),o.union(dv(l,s))}),c&&(o.clear(),r.items.forEach(l=>o.union(l.bounds)));return gse(r),t.modifies("bounds")}});const Ese=":vega_identifier:";function xD(e){Y.call(this,0,e)}function Vse(e){Y.call(this,null,e)}function Dse(e){Y.call(this,null,e)}xD.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},le(xD,Y,{transform(e,t){const n=function R4t(e){return e._signals[Ese]||(e._signals[Ese]=e.add(0))}(t.dataflow),r=e.as;let i=n.value;return t.visit(t.ADD,a=>a[r]=a[r]||++i),n.set(this.value=i),t}}),le(Vse,Y,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,function O4t(e){const t=e.groups,n=e.parent;return t&&1===t.size?t.get(Object.keys(t.object)[0]):t&&n?t.lookup(n):null}(e),e.index),n.group.context=e.context,e.context.group||(e.context.group=n.group),n.source=this.source,n.clip=e.clip,n.interactive=e.interactive,this.value=n);const r=n.marktype===uv?Ig:Tg;return t.visit(t.ADD,i=>r.call(i,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});const Lse={parity:e=>e.filter((t,n)=>n%2?t.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((r,i)=>i&&Ase(n.bounds,r.bounds,t)?r.opacity=0:(n=r,1))}},Ase=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),Nse=(e,t)=>{for(var a,n=1,r=e.length,i=e[0].bounds;n{const t=e.bounds;return t.width()>1&&t.height()>1},kse=e=>(e.forEach(t=>t.opacity=1),e),Tse=(e,t)=>e.reflow(t.modified()).modifies("opacity");function Ise(e){Y.call(this,null,e)}le(Dse,Y,{transform(e,t){const n=Lse[e.method]||Lse.parity,r=e.separation||0;let a,s,i=t.materialize(t.SOURCE).source;if(!i||!i.length)return;if(!e.method)return e.modified("method")&&(kse(i),t=Tse(t,e)),t;if(i=i.filter(P4t),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=kse(i),t=Tse(t,e),a.length>=3&&Nse(a,r)){do{a=n(a,r)}while(a.length>=3&&Nse(a,r));a.length<3&&!ft(i).opacity&&(a.length>1&&(ft(a).opacity=0),ft(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(s=((e,t,n)=>{var r=e.range(),i=new On;return t===J6||t===Kc?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),a=>i.encloses(a.bounds)})(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(c=>{s(c)||(c.opacity=0)}));const o=a[0].mark.bounds.clear();return i.forEach(c=>{c.opacity&&o.union(c.bounds)}),t}}),le(Ise,Y,{transform(e,t){const n=t.dataflow;if(t.visit(t.ALL,r=>n.dirty(r)),t.fields&&t.fields.zindex){const r=t.source&&t.source[0];r&&(r.mark.zdirty=!0)}}});const Y1=new On;function eu(e,t,n){return e[t]===n?0:(e[t]=n,1)}function B4t(e){var t=e.items[0].orient;return t===Yi||t===Xi}function j4t(e,t,n,r){var b,M,i=t.items[0],a=i.datum,s=null!=i.translate?i.translate:.5,o=i.orient,c=function U4t(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}(a),l=i.range,u=i.offset,f=i.position,d=i.minExtent,h=i.maxExtent,p=a.title&&i.items[c[2]].items[0],m=i.titlePadding,g=i.bounds,v=p&&WV(p),y=0,C=0;switch(Y1.clear().union(g),g.clear(),(b=c[0])>-1&&g.union(i.items[b].bounds),(b=c[1])>-1&&g.union(i.items[b].bounds),o){case J6:y=f||0,C=-u,M=Math.max(d,Math.min(h,-g.y1)),g.add(0,-M).add(l,0),p&&hv(e,p,M,m,v,0,-1,g);break;case Yi:y=-u,C=f||0,M=Math.max(d,Math.min(h,-g.x1)),g.add(-M,0).add(0,l),p&&hv(e,p,M,m,v,1,-1,g);break;case Xi:y=n+u,C=f||0,M=Math.max(d,Math.min(h,g.x2)),g.add(0,0).add(M,l),p&&hv(e,p,M,m,v,1,1,g);break;case Kc:y=f||0,C=r+u,M=Math.max(d,Math.min(h,g.y2)),g.add(0,0).add(l,M),p&&hv(e,p,M,m,0,0,1,g);break;default:y=i.x,C=i.y}return Co(g.translate(y,C),i),eu(i,"x",y+s)|eu(i,"y",C+s)&&(i.bounds=Y1,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function hv(e,t,n,r,i,a,s,o){const c=t.bounds;if(t.auto){const l=s*(n+i+r);let u=0,f=0;e.dirty(t),a?u=(t.x||0)-(t.x=l):f=(t.y||0)-(t.y=l),t.mark.bounds.clear().union(c.translate(-u,-f)),e.dirty(t)}o.union(c)}const Fse=(e,t)=>Math.floor(Math.min(e,t)),Rse=(e,t)=>Math.ceil(Math.max(e,t));function G4t(e){return(new On).set(0,0,e.width||0,e.height||0)}function W4t(e){const t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function un(e,t,n){return(ye(e)?e[t]:e)??(void 0!==n?n:0)}function Ose(e){return e<0?Math.ceil(-e):0}function Pse(e,t,n){var w,_,z,V,D,L,R,A,x,H,E,r=!n.nodirty,i=n.bounds===wD?G4t:W4t,a=Y1.set(0,0,0,0),s=un(n.align,Jc),o=un(n.align,e3),c=un(n.padding,Jc),l=un(n.padding,e3),u=n.columns||t.length,f=u<=0?1:Math.ceil(t.length/u),d=t.length,h=Array(d),p=Array(u),m=0,g=Array(d),v=Array(f),y=0,C=Array(d),b=Array(d),M=Array(d);for(_=0;_1)for(_=0;_0&&(C[_]+=x/2);if(o&&un(n.center,e3)&&1!==u)for(_=0;_0&&(b[_]+=H/2);for(_=0;_i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),m+=a,y=0,b=t.length;y=0&&null==(_=n[C]);C-=d);o?(z=null==h?_.x:Math.round(_.bounds.x1+h*_.bounds.width()),V=m):(z=m,V=null==h?_.y:Math.round(_.bounds.y1+h*_.bounds.height())),M.union(w.bounds.translate(z-(w.x||0),V-(w.y||0))),w.x=z,w.y=V,e.dirty(w),g=s(g,M[l])}return g}function $se(e,t,n,r,i,a){if(t){e.dirty(t);var s=n,o=n;r?s=Math.round(i.x1+a*i.width()):o=Math.round(i.y1+a*i.height()),t.bounds.translate(s-(t.x||0),o-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=s,t.y=o,e.dirty(t)}}function J4t(e,t,n,r,i,a,s){const o=function Z4t(e,t){const n=e[t]||{};return(r,i)=>null!=n[r]?n[r]:null!=e[r]?e[r]:i}(n,t),c=function K4t(e,t){let n=-1/0;return e.forEach(r=>{null!=r.offset&&(n=Math.max(n,r.offset))}),n>-1/0?n:t}(e,o("offset",0)),l=o("anchor",gD),u=l===g2?1:l===vD?.5:0,f={align:_D,bounds:o("bounds",wD),columns:"vertical"===o("direction")?1:e.length,padding:o("margin",8),center:o("center"),nodirty:!0};switch(t){case Yi:f.anchor={x:Math.floor(r.x1)-c,column:g2,y:u*(s||r.height()+2*r.y1),row:l};break;case Xi:f.anchor={x:Math.ceil(r.x2)+c,y:u*(s||r.height()+2*r.y1),row:l};break;case J6:f.anchor={y:Math.floor(i.y1)-c,row:g2,x:u*(a||i.width()+2*i.x1),column:l};break;case Kc:f.anchor={y:Math.ceil(i.y2)+c,x:u*(a||i.width()+2*i.x1),column:l};break;case"top-left":f.anchor={x:c,y:c};break;case"top-right":f.anchor={x:a-c,y:c,column:g2};break;case"bottom-left":f.anchor={x:c,y:s-c,row:g2};break;case"bottom-right":f.anchor={x:a-c,y:s-c,column:g2,row:g2}}return f}function elt(e,t){var c,l,n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,s=n.x,o=n.y;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),function nlt(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(t.datum.title){var s=t.items[1].items[0],o=s.anchor,c=t.titlePadding||0,l=r-s.x,u=r-s.y;switch(s.orient){case Yi:i+=Math.ceil(s.bounds.width())+c;break;case Xi:case Kc:break;default:a+=s.bounds.height()+c}switch((i||a)&&u7(e,n,i,a),s.orient){case Yi:u+=tu(t,n,s,o,1,1);break;case Xi:l+=tu(t,n,s,g2,0,0)+c,u+=tu(t,n,s,o,1,1);break;case Kc:l+=tu(t,n,s,o,0,0),u+=tu(t,n,s,g2,-1,0,1)+c;break;default:l+=tu(t,n,s,o,0,0)}(l||u)&&u7(e,s,l,u),(l=Math.round(s.bounds.x1-r))<0&&(u7(e,n,-l,0),u7(e,s,-l,0))}else(i||a)&&u7(e,n,i,a)}(e,n,n.items[0].items[0]),a=function tlt(e,t){return e.items.forEach(n=>t.union(n.bounds)),t.x1=e.padding,t.y1=e.padding,t}(n,a),c=2*n.padding,l=2*n.padding,a.empty()||(c=Math.ceil(a.width()+c),l=Math.ceil(a.height()+l)),"symbol"===r.type&&function rlt(e){const t=e.reduce((n,r)=>(n[r.column]=Math.max(r.bounds.x2-r.x,n[r.column]||0),n),{});e.forEach(n=>{n.width=t[n.column],n.height=n.bounds.y2-n.y})}(n.items[0].items[0].items[0].items),i!==MD&&(n.x=s=0,n.y=o=0),n.width=c,n.height=l,Co(a.set(s,o,s+c,o+l),n),n.mark.bounds.clear().union(a),n}function tu(e,t,n,r,i,a,s){const c=n.datum.vgrad,u=("symbol"===e.datum.type||!a&&c||s?t:t.items[0]).bounds[i?"y2":"x2"]-e.padding,f=c&&a?u:0,d=c&&a?0:u,h=i<=0?0:WV(n);return Math.round(r===gD?f:r===g2?d-h:.5*(u-h))}function u7(e,t,n,r){t.x+=n,t.y+=r,t.bounds.translate(n,r),t.mark.bounds.translate(n,r),e.dirty(t)}function Bse(e){Y.call(this,null,e)}function Use(e,t){let n=0;if(void 0===t)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function jse(e){Y.call(this,null,e)}function qse(e){Y.call(this,null,e)}function clt(){return zt({})}function Gse(e){Y.call(this,null,e)}function Wse(e){Y.call(this,[],e)}le(Bse,Y,{transform(e,t){const n=t.dataflow;return e.mark.items.forEach(r=>{e.layout&&function Y4t(e,t,n){var u,f,d,h,p,m,g,r=function q4t(e){var i,a,t=e.items,n=t.length,r=0;const s={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;r{(d=v.orient||Xi)!==MD&&(g[d]||(g[d]=[])).push(v)});for(const v in g){const y=g[v];Pse(e,y,J4t(y,v,n.legends,o,c,i,a))}l.forEach(v=>{const y=v.bounds;if(y.equals(v._bounds)||(v.bounds=v._bounds,e.dirty(v),v.bounds=y,e.dirty(v)),!n.autosize||"fit"!==n.autosize.type&&"fit-x"!==n.autosize.type&&"fit-y"!==n.autosize.type)s.union(y);else switch(v.orient){case Yi:case Xi:s.add(y.x1,0).add(y.x2,0);break;case J6:case Kc:s.add(0,y.y1).add(0,y.y2)}})}s.union(o).union(c),u&&s.union(function ilt(e,t,n,r,i){var C,a=t.items[0],o=a.orient,c=a.anchor,l=a.offset,u=a.padding,f=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],h=o===Yi||o===Xi?r:n,p=0,m=0,g=0,v=0,y=0;if(a.frame!==uv?o===Yi?(p=i.y2,h=i.y1):o===Xi?(p=i.y1,h=i.y2):(p=i.x1,h=i.x2):o===Yi&&(p=r,h=0),C=c===gD?p:c===g2?h:(p+h)/2,d&&d.text){switch(o){case J6:case Kc:y=f.bounds.height()+u;break;case Yi:v=f.bounds.width()+u;break;case Xi:v=-f.bounds.width()-u}Y1.clear().union(d.bounds),Y1.translate(v-(d.x||0),y-(d.y||0)),eu(d,"x",v)|eu(d,"y",y)&&(e.dirty(d),d.bounds.clear().union(Y1),d.mark.bounds.clear().union(Y1),e.dirty(d)),Y1.clear().union(d.bounds)}else Y1.clear();switch(Y1.union(f.bounds),o){case J6:m=C,g=i.y1-Y1.height()-l;break;case Yi:m=i.x1-Y1.width()-l,g=C;break;case Xi:m=i.x2+Y1.width()+l,g=C;break;case Kc:m=C,g=i.y2+l;break;default:m=a.x,g=a.y}return eu(a,"x",m)|eu(a,"y",g)&&(Y1.translate(m,g),e.dirty(a),a.bounds.clear().union(Y1),t.bounds.clear().union(Y1),e.dirty(a)),a.bounds}(e,u,i,a,s)),t.clip&&s.set(0,0,t.width||0,t.height||0),function olt(e,t,n,r){const i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let s=e._width,o=e._height,c=Math.max(0,t.width||0),l=Math.max(0,Math.ceil(-n.x1)),u=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1));const d=Math.max(0,Math.ceil(n.x2-c)),h=Math.max(0,Math.ceil(n.y2-u));if("padding"===i.contains){const p=e.padding();s-=p.left+p.right,o-=p.top+p.bottom}a===MD?(l=0,f=0,c=s,u=o):"fit"===a?(c=Math.max(0,s-l-d),u=Math.max(0,o-f-h)):"fit-x"===a?(c=Math.max(0,s-l-d),o=u+f+h):"fit-y"===a?(s=c+l+d,u=Math.max(0,o-f-h)):"pad"===a&&(s=c+l+d,o=u+f+h),e._resizeView(s,o,c,u,[l,f],i.resize)}(e,t,s,n)}(n,r,e)}),function alt(e){return e&&"legend-entry"!==e.mark.role}(e.mark.group)?t.reflow():t}}),le(jse,Y,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.scale,o=yV(a,null==e.count?e.values?e.values.length:10:e.count,e.minstep),c=e.format||Rie(n,a,o,e.formatSpecifier,e.formatType,!!e.values),l=e.values?Fie(a,e.values,o):CV(a,o);return i&&(r.rem=i),i=l.map((u,f)=>zt({index:f/(l.length-1||1),value:u,label:c(u)})),e.extra&&i.length&&i.push(zt({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}}),le(qse,Y,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||clt,a=e.key||ke,s=this.value;return K(r.encode)&&(r.encode=null),s&&(e.modified("key")||t.modified(a))&&Z("DataJoin does not support modified key function or fields."),s||(t=t.addAll(),this.value=s=function llt(e){const t=M6().test(n=>n.exit);return t.lookup=n=>t.get(e(n)),t}(a)),t.visit(t.ADD,o=>{const c=a(o);let l=s.get(c);l?l.exit?(s.empty--,r.add.push(l)):r.mod.push(l):(l=i(o),s.set(c,l),r.add.push(l)),l.datum=o,l.exit=!1}),t.visit(t.MOD,o=>{const c=a(o),l=s.get(c);l&&(l.datum=o,r.mod.push(l))}),t.visit(t.REM,o=>{const c=a(o),l=s.get(c);o===l.datum&&!l.exit&&(r.rem.push(l),l.exit=!0,++s.empty)}),t.changed(t.ADD_MOD)&&r.modifies("datum"),(t.clean()||e.clean&&s.empty>n.cleanThreshold)&&n.runAfter(s.clean),r}}),le(Gse,Y,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(K(a)){if(!n.changed()&&!a.every(f=>i[f]))return t.StopPropagation;a=a[0],n.encode=null}var s="enter"===a,o=i.update||wc,c=i.enter||wc,l=i.exit||wc,u=(a&&!s?i[a]:o)||wc;if(t.changed(t.ADD)&&(t.visit(t.ADD,f=>{c(f,e),o(f,e)}),n.modifies(c.output),n.modifies(o.output),u!==wc&&u!==o&&(t.visit(t.ADD,f=>{u(f,e)}),n.modifies(u.output))),t.changed(t.REM)&&l!==wc&&(t.visit(t.REM,f=>{l(f,e)}),n.modifies(l.output)),s||u!==wc){const f=t.MOD|(e.modified()?t.REFLOW:0);s?(t.visit(f,d=>{const h=c(d,e)||r;(u(d,e)||h)&&n.mod.push(d)}),n.mod.length&&n.modifies(c.output)):t.visit(f,d=>{(u(d,e)||r)&&n.mod.push(d)}),n.mod.length&&n.modifies(u.output)}return n.changed()?n:t.StopPropagation}}),le(Wse,Y,{transform(e,t){if(null!=this.value&&!e.modified())return t.StopPropagation;var d,h,p,m,g,n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.type||Lg,s=e.scale,o=+e.limit,c=yV(s,null==e.count?5:e.count,e.minstep),u=e.format||Bie(n,s,c,a,e.formatSpecifier,e.formatType,!!e.values||a===Lg),f=e.values||$ie(s,c);return i&&(r.rem=i),a===Lg?(o&&f.length>o?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),i=f.slice(0,o-1),g=!0):i=f,et(p=e.size)?(!e.values&&0===s(i[0])&&(i=i.slice(1)),m=i.reduce((v,y)=>Math.max(v,p(y,e)),0)):p=B1(m=p||8),i=i.map((v,y)=>zt({index:y,label:u(v,y,i),value:v,offset:m,size:p(v,e)})),g&&i.push(zt({index:i.length,label:`\u2026${f.length-i.length} entries`,value:g=f[i.length],offset:m,size:p(g,e)}))):"gradient"===a?(d=s.domain(),h=Nie(s,d[0],ft(d)),f.length<3&&!e.values&&d[0]!==ft(d)&&(f=[d[0],ft(d)]),i=f.map((v,y)=>zt({index:y,label:u(v,y,f),value:v,perc:h(v)}))):(p=f.length-1,h=function Wot(e){const t=e.domain(),n=t.length-1;let r=+t[0],i=+ft(t),a=i-r;if(e.type===Eg){const s=n?a/n:.1;r-=s,i+=s,a=i-r}return s=>(s-r)/a}(s),i=f.map((v,y)=>zt({index:y,label:u(v,y,f),value:v,perc:y?h(v):0,perc2:y===p?1:h(f[y+1])}))),r.source=i,r.add=i,this.value=i,r}});const ult=e=>e.source.x,flt=e=>e.source.y,dlt=e=>e.target.x,hlt=e=>e.target.y;function zD(e){Y.call(this,{},e)}zD.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},le(zD,Y,{transform(e,t){var n=e.sourceX||ult,r=e.sourceY||flt,i=e.targetX||dlt,a=e.targetY||hlt,s=e.as||"path",c=e.shape||"line",l=Zse.get(c+"-"+(e.orient||"vertical"))||Zse.get(c);return l||Z("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,u=>{u[s]=l(n(u),r(u),i(u),a(u))}),t.reflow(e.modified()).modifies(s)}});const Yse=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,Xse=(e,t,n,r)=>{var i=n-e,a=r-t,s=Math.hypot(i,a)/2;return"M"+e+","+t+"A"+s+","+s+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+n+","+r},Qse=(e,t,n,r)=>{const i=n-e,a=r-t,s=.2*(i+a),o=.2*(a-i);return"M"+e+","+t+"C"+(e+s)+","+(t+o)+" "+(n+o)+","+(r-s)+" "+n+","+r},Zse=M6({line:Yse,"line-radial":(e,t,n,r)=>Yse(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),arc:Xse,"arc-radial":(e,t,n,r)=>Xse(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),curve:Qse,"curve-radial":(e,t,n,r)=>Qse(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),"orthogonal-horizontal":(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,"orthogonal-vertical":(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,"orthogonal-radial":(e,t,n,r)=>{const i=Math.cos(e),a=Math.sin(e),s=Math.cos(n),o=Math.sin(n);return"M"+t*i+","+t*a+"A"+t+","+t+" 0 0,"+((Math.abs(n-e)>Math.PI?n<=e:n>e)?1:0)+" "+t*s+","+t*o+"L"+r*s+","+r*o},"diagonal-horizontal":(e,t,n,r)=>{const i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},"diagonal-vertical":(e,t,n,r)=>{const i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},"diagonal-radial":(e,t,n,r)=>{const i=Math.cos(e),a=Math.sin(e),s=Math.cos(n),o=Math.sin(n),c=(t+r)/2;return"M"+t*i+","+t*a+"C"+c*i+","+c*a+" "+c*s+","+c*o+" "+r*s+","+r*o}});function HD(e){Y.call(this,null,e)}HD.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},le(HD,Y,{transform(e,t){var p,m,g,n=e.as||["startAngle","endAngle"],r=n[0],i=n[1],s=e.startAngle||0,o=null!=e.endAngle?e.endAngle:2*Math.PI,c=t.source,l=c.map(e.field||y6),u=l.length,f=s,d=(o-s)/Use(l),h=Vr(u);for(e.sort&&h.sort((v,y)=>l[v]-l[y]),p=0;pi+(a<0?-1:a>0?1:0),0))!==t.length&&n.warn("Log scale domain includes zero: "+ue(t)),t}function toe(e,t,n){return et(e)&&(t||n)?Lie(e,SD(t||[0,1],n)):e}function SD(e,t){return t?e.slice().reverse():e}function noe(e){Y.call(this,null,e)}le(Jse,Y,{transform(e,t){var n=t.dataflow,r=this.value,i=function Clt(e){var r,t=e.type,n="";return t===ns?ns+"-"+U6:(function blt(e){const t=e.type;return pV(t)&&t!==O4&&t!==P4&&(e.scheme||e.range&&e.range.length&&e.range.every(ge))}(e)&&(n=2===(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0)?ns+"-":3===r?j6+"-":""),(n+t||U6).toLowerCase())}(e);for(i in(!r||i!==r.type)&&(this.value=r=bt(i)()),e)if(!ylt[i]){if("padding"===i&&Kse(r.type))continue;et(r[i])?r[i](e[i]):n.warn("Unsupported scale property: "+i)}return function zlt(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(null!=t.rangeStep)a=function Hlt(e,t,n){return"band"!==e&&e!==uV&&Z("Only band and point scales support rangeStep."),[0,t.rangeStep*cV(n,e===uV?1:(null!=t.paddingInner?t.paddingInner:t.padding)||0,(null!=t.paddingOuter?t.paddingOuter:t.padding)||0)]}(r,t,n);else if(t.scheme&&(a=function Slt(e,t,n){var a,r=t.schemeExtent;return K(t.scheme)?a=Dg(t.scheme,t.interpolate,t.interpolateGamma):(a=vV(t.scheme.toLowerCase()))||Z(`Unrecognized scheme name: ${t.scheme}`),n=e===Eg?n+1:e===fV?n-1:e===q6||e===Sg?+t.schemeCount||5:n,Vie(e)?toe(a,r,t.reverse):et(a)?Aie(toe(a,r),n):e===lV?a:a.slice(0,n)}(r,t,n),et(a))){if(e.interpolator)return e.interpolator(a);Z(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&Vie(r))return e.interpolator(Dg(SD(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(gV(t.interpolate,t.interpolateGamma)):et(e.round)?e.round(i):et(e.rangeRound)&&e.interpolate(i?O5:Rc),a&&e.range(SD(a,t.reverse))}(r,e,function xlt(e,t,n){let r=t.bins;if(r&&!K(r)){const i=e.domain(),a=i[0],s=ft(i),o=r.step;let c=null==r.start?a:r.start,l=null==r.stop?s:r.stop;o||Z("Scale bins parameter missing step property."),cs&&(l=o*Math.floor(s/o)),r=Vr(c,l+o/2,o)}return r?e.bins=r:e.bins&&delete e.bins,e.type===fV&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}(r,e,function Mlt(e,t,n){const r=function _lt(e,t,n){return t?(e.domain(eoe(e.type,t,n)),t.length):-1}(e,t.domainRaw,n);if(r>-1)return r;var o,c,i=t.domain,a=e.type,s=t.zero||void 0===t.zero&&function vlt(e){const t=e.type;return!e.bins&&(t===U6||t===B5||t===U5)}(e);if(!i)return 0;if(Kse(a)&&t.padding&&i[0]!==ft(i)&&(i=function wlt(e,t,n,r,i,a){var s=Math.abs(ft(n)-n[0]),o=s/(s-2*r),c=e===vo?LH(t,null,o):e===U5?Cm(t,null,o,.5):e===B5?Cm(t,null,o,i||1):e===Hg?AH(t,null,o,a||1):DH(t,null,o);return(t=t.slice())[0]=c[0],t[t.length-1]=c[1],t}(a,i,t.range,t.padding,t.exponent,t.constant)),(s||null!=t.domainMin||null!=t.domainMax||null!=t.domainMid)&&(o=(i=i.slice()).length-1||1,s&&(i[0]>0&&(i[0]=0),i[o]<0&&(i[o]=0)),null!=t.domainMin&&(i[0]=t.domainMin),null!=t.domainMax&&(i[o]=t.domainMax),null!=t.domainMid)){const l=(c=t.domainMid)>i[o]?o+1:cm(u);if(null==t)i.push(e.slice());else for(s={},o=0,c=e.length;op&&(p=h),n&&d.sort(n)}return i.max=p,i}(t.source,e.groupby,a,s),l=0,u=c.length,f=c.max;le;function mv(e,t){e&&coe.hasOwnProperty(e.type)&&coe[e.type](e,t)}var ooe={Feature:function(e,t){mv(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r0){for(s=t[--n];n>0&&(r=s,i=t[--n],s=r+i,a=i-(s-r),!a););n>0&&(a<0&&t[n-1]<0||a>0&&t[n-1]>0)&&(i=2*a,r=s+i,i==r-s&&(s=r))}return s}}var Ie=1e-6,gv=1e-12,st=Math.PI,zn=st/2,vv=st/4,v2=2*st,Nn=180/st,nt=st/180,dt=Math.abs,nu=Math.atan,fi=Math.atan2,Oe=Math.cos,yv=Math.ceil,uoe=Math.exp,DD=(Math,Math.hypot),Cv=Math.log,LD=Math.pow,Le=Math.sin,di=Math.sign||function(e){return e>0?1:e<0?-1:0},y2=Math.sqrt,AD=Math.tan;function foe(e){return e>1?0:e<-1?st:Math.acos(e)}function K2(e){return e>1?zn:e<-1?-zn:Math.asin(e)}function E1(){}var doe,hoe,TD,ID,ND=new S1,kD=new S1,t3={point:E1,lineStart:E1,lineEnd:E1,polygonStart:function(){t3.lineStart=Alt,t3.lineEnd=klt},polygonEnd:function(){t3.lineStart=t3.lineEnd=t3.point=E1,ND.add(dt(kD)),kD=new S1},result:function(){var e=ND/2;return ND=new S1,e}};function Alt(){t3.point=Nlt}function Nlt(e,t){t3.point=poe,doe=TD=e,hoe=ID=t}function poe(e,t){kD.add(ID*e-TD*t),TD=e,ID=t}function klt(){poe(doe,hoe)}const moe=t3;var ru=1/0,bv=ru,d7=-ru,Mv=d7,Tlt={point:function Ilt(e,t){ed7&&(d7=e),tMv&&(Mv=t)},lineStart:E1,lineEnd:E1,polygonStart:E1,polygonEnd:E1,result:function(){var e=[[ru,bv],[d7,Mv]];return d7=Mv=-(bv=ru=1/0),e}};const _v=Tlt;var goe,voe,ss,os,FD=0,RD=0,h7=0,wv=0,xv=0,iu=0,OD=0,PD=0,p7=0,Qi={point:Y4,lineStart:yoe,lineEnd:Coe,polygonStart:function(){Qi.lineStart=Olt,Qi.lineEnd=Plt},polygonEnd:function(){Qi.point=Y4,Qi.lineStart=yoe,Qi.lineEnd=Coe},result:function(){var e=p7?[OD/p7,PD/p7]:iu?[wv/iu,xv/iu]:h7?[FD/h7,RD/h7]:[NaN,NaN];return FD=RD=h7=wv=xv=iu=OD=PD=p7=0,e}};function Y4(e,t){FD+=e,RD+=t,++h7}function yoe(){Qi.point=Flt}function Flt(e,t){Qi.point=Rlt,Y4(ss=e,os=t)}function Rlt(e,t){var n=e-ss,r=t-os,i=y2(n*n+r*r);wv+=i*(ss+e)/2,xv+=i*(os+t)/2,iu+=i,Y4(ss=e,os=t)}function Coe(){Qi.point=Y4}function Olt(){Qi.point=$lt}function Plt(){boe(goe,voe)}function $lt(e,t){Qi.point=boe,Y4(goe=ss=e,voe=os=t)}function boe(e,t){var n=e-ss,r=t-os,i=y2(n*n+r*r);wv+=i*(ss+e)/2,xv+=i*(os+t)/2,iu+=i,OD+=(i=os*e-ss*t)*(ss+e),PD+=i*(os+t),p7+=3*i,Y4(ss=e,os=t)}const Moe=Qi;function _oe(e){this._context=e}_oe.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,v2)}},result:E1};var BD,woe,xoe,m7,g7,$D=new S1,zv={point:E1,lineStart:function(){zv.point=Blt},lineEnd:function(){BD&&zoe(woe,xoe),zv.point=E1},polygonStart:function(){BD=!0},polygonEnd:function(){BD=null},result:function(){var e=+$D;return $D=new S1,e}};function Blt(e,t){zv.point=zoe,woe=m7=e,xoe=g7=t}function zoe(e,t){$D.add(y2((m7-=e)*m7+(g7-=t)*g7)),m7=e,g7=t}const Hoe=zv;let Soe,Hv,Eoe,Voe;class Doe{constructor(t){this._append=null==t?Loe:function Ult(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return Loe;if(t!==Soe){const n=10**t;Soe=t,Hv=function(i){let a=1;this._+=i[0];for(const s=i.length;a=0))throw new RangeError(`invalid digits: ${o}`);n=c}return null===t&&(a=new Doe(n)),s},s.projection(e).digits(n).context(t)}function Noe(){var t,e=[];return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:E1,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Sv(e,t){return dt(e[0]-t[0])=0;--o)i.point((f=u[o])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}u=(d=d.o).z,h=!h}while(!d.v);i.lineEnd()}}}function Toe(e){if(t=e.length){for(var t,i,n=0,r=e[0];++n=0?1:-1,D=V*z,L=D>st,R=g*w;if(c.add(fi(R*V*Le(D),v*_+R*Oe(D))),s+=L?z+V*v2:z,L^p>=n^b>=n){var A=au(X4(h),X4(C));Av(A);var x=au(a,A);Av(x);var H=(L^z>=0?-1:1)*K2(x[2]);(r>H||r===H&&(A[0]||A[1]))&&(o+=L^z>=0?1:-1)}}return(s<-Ie||s0){for(c||(i.polygonStart(),c=!0),i.lineStart(),w=0;w1&&2&b&&M.push(M.pop().concat(M.shift())),u.push(M.filter(Glt))}}return d}}function Glt(e){return e.length>1}function Wlt(e,t){return((e=e.x)[0]<0?e[1]-zn-Ie:zn-e[1])-((t=t.x)[0]<0?t[1]-zn-Ie:zn-t[1])}const Roe=Foe(function(){return!0},function Ylt(e){var i,t=NaN,n=NaN,r=NaN;return{lineStart:function(){e.lineStart(),i=1},point:function(a,s){var o=a>0?st:-st,c=dt(a-t);dt(c-st)0?zn:-zn),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(o,n),e.point(a,n),i=0):r!==o&&c>=st&&(dt(t-r)Ie?nu((Le(t)*(a=Oe(r))*Le(n)-Le(r)*(i=Oe(t))*Le(e))/(i*a*s)):(t+r)/2}(t,n,a,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(o,n),i=0),e.point(t=a,n=s),r=o},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}},function Qlt(e,t,n,r){var i;if(null==e)r.point(-st,i=n*zn),r.point(0,i),r.point(st,i),r.point(st,0),r.point(st,-i),r.point(0,-i),r.point(-st,-i),r.point(-st,0),r.point(-st,i);else if(dt(e[0]-t[0])>Ie){var a=e[0]0)do{d.point(0===h||3===h?e:n,h>1?r:t)}while((h=(h+f+4)%4)!==p);else d.point(u[0],u[1])}function s(l,u){return dt(l[0]-e)0?0:3:dt(l[0]-n)0?2:1:dt(l[1]-t)0?1:0:u>0?3:2}function o(l,u){return c(l.x,u.x)}function c(l,u){var f=s(l,1),d=s(u,1);return f!==d?f-d:0===f?u[1]-l[1]:1===f?l[0]-u[0]:2===f?l[1]-u[1]:u[0]-l[0]}return function(l){var d,h,p,m,g,v,y,C,b,M,w,u=l,f=Noe(),_={point:z,lineStart:function R(){_.point=x,h&&h.push(p=[]),M=!0,b=!1,y=C=NaN},lineEnd:function A(){d&&(x(m,g),v&&b&&f.rejoin(),d.push(f.result())),_.point=z,b&&u.lineEnd()},polygonStart:function D(){u=f,d=[],h=[],w=!0},polygonEnd:function L(){var H=function V(){for(var H=0,E=0,T=h.length;Er&&($-B)*(r-U)>(G-U)*(e-B)&&++H:G<=r&&($-B)*(r-U)<(G-U)*(e-B)&&--H;return H}(),E=w&&H,T=(d=Ioe(d)).length;(E||T)&&(l.polygonStart(),E&&(l.lineStart(),a(null,null,1,l),l.lineEnd()),T&&koe(d,o,H,a,l),l.polygonEnd()),u=l,d=h=p=null}};function z(H,E){i(H,E)&&u.point(H,E)}function x(H,E){var T=i(H,E);if(h&&p.push([H,E]),M)m=H,g=E,v=T,M=!1,T&&(u.lineStart(),u.point(H,E));else if(T&&b)u.point(H,E);else{var S=[y=Math.max(Nv,Math.min(v7,y)),C=Math.max(Nv,Math.min(v7,C))],k=[H=Math.max(Nv,Math.min(v7,H)),E=Math.max(Nv,Math.min(v7,E))];!function Klt(e,t,n,r,i,a){var p,s=e[0],o=e[1],u=0,f=1,d=t[0]-s,h=t[1]-o;if(p=n-s,d||!(p>0)){if(p/=d,d<0){if(p0){if(p>f)return;p>u&&(u=p)}if(p=i-s,d||!(p<0)){if(p/=d,d<0){if(p>f)return;p>u&&(u=p)}else if(d>0){if(p0)){if(p/=h,h<0){if(p0){if(p>f)return;p>u&&(u=p)}if(p=a-o,h||!(p<0)){if(p/=h,h<0){if(p>f)return;p>u&&(u=p)}else if(h>0){if(p0&&(e[0]=s+u*d,e[1]=o+u*h),f<1&&(t[0]=s+f*d,t[1]=o+f*h),!0}}}}}(S,k,e,t,n,r)?T&&(u.lineStart(),u.point(H,E),w=!1):(b||(u.lineStart(),u.point(S[0],S[1])),u.point(k[0],k[1]),T||u.lineEnd(),w=!1)}y=H,C=E,b=T}return _}}function qD(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return(r=t.invert(r,i))&&e.invert(r[0],r[1])}),n}function GD(e,t){return dt(e)>st&&(e-=Math.round(e/v2)*v2),[e,t]}function Boe(e,t,n){return(e%=v2)?t||n?qD(joe(e),qoe(t,n)):joe(e):t||n?qoe(t,n):GD}function Uoe(e){return function(t,n){return dt(t+=e)>st&&(t-=Math.round(t/v2)*v2),[t,n]}}function joe(e){var t=Uoe(e);return t.invert=Uoe(-e),t}function qoe(e,t){var n=Oe(e),r=Le(e),i=Oe(t),a=Le(t);function s(o,c){var l=Oe(c),u=Oe(o)*l,f=Le(o)*l,d=Le(c),h=d*n+u*r;return[fi(f*i-h*a,u*n-d*r),K2(h*i+f*a)]}return s.invert=function(o,c){var l=Oe(c),u=Oe(o)*l,f=Le(o)*l,d=Le(c),h=d*i-f*a;return[fi(f*i+d*a,u*n+h*r),K2(h*n-u*r)]},s}function y7(e){return function(t){var n=new WD;for(var r in e)n[r]=e[r];return n.stream=t,n}}function WD(){}function YD(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),Mo(n,e.stream(_v)),t(_v.result()),null!=r&&e.clipExtent(r),e}function kv(e,t,n){return YD(e,function(r){var i=t[1][0]-t[0][0],a=t[1][1]-t[0][1],s=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),o=+t[0][0]+(i-s*(r[1][0]+r[0][0]))/2,c=+t[0][1]+(a-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([o,c])},n)}function XD(e,t,n){return kv(e,[[0,0],t],n)}function QD(e,t,n){return YD(e,function(r){var i=+t,a=i/(r[1][0]-r[0][0]),s=(i-a*(r[1][0]+r[0][0]))/2,o=-a*r[0][1];e.scale(150*a).translate([s,o])},n)}function ZD(e,t,n){return YD(e,function(r){var i=+t,a=i/(r[1][1]-r[0][1]),s=-a*r[0][0],o=(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([s,o])},n)}GD.invert=GD,WD.prototype={constructor:WD,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var Goe=16,e0t=Oe(30*nt);function Woe(e,t){return+t?function n0t(e,t){function n(r,i,a,s,o,c,l,u,f,d,h,p,m,g){var v=l-r,y=u-i,C=v*v+y*y;if(C>4*t&&m--){var b=s+d,M=o+h,w=c+p,_=y2(b*b+M*M+w*w),z=K2(w/=_),V=dt(dt(w)-1)t||dt((v*A+y*x)/C-.5)>.3||s*d+o*h+c*p0,i=dt(t)>Ie;function s(u,f){return Oe(u)*Oe(f)>t}function c(u,f,d){var m=[1,0,0],g=au(X4(u),X4(f)),v=Dv(g,g),y=g[0],C=v-y*y;if(!C)return!d&&u;var b=t*v/C,M=-t*y/C,w=au(m,g),_=Lv(m,b);UD(_,Lv(g,M));var V=w,D=Dv(_,V),L=Dv(V,V),R=D*D-L*(Dv(_,_)-1);if(!(R<0)){var A=y2(R),x=Lv(V,(-D-A)/L);if(UD(x,_),x=Vv(x),!d)return x;var k,H=u[0],E=f[0],T=u[1],S=f[1];E0^x[1]<(dt(x[0]-H)st^(H<=x[0]&&x[0]<=E)){var U=Lv(V,(-D+A)/L);return UD(U,_),[x,Vv(U)]}}}function l(u,f){var d=r?e:st-e,h=0;return u<-d?h|=1:u>d&&(h|=2),f<-d?h|=4:f>d&&(h|=8),h}return Foe(s,function o(u){var f,d,h,p,m;return{lineStart:function(){p=h=!1,m=1},point:function(g,v){var C,y=[g,v],b=s(g,v),M=r?b?0:l(g,v):b?l(g+(g<0?st:-st),v):0;if(!f&&(p=h=b)&&u.lineStart(),b!==h&&(!(C=c(f,y))||Sv(f,C)||Sv(y,C))&&(y[2]=1),b!==h)m=0,b?(u.lineStart(),C=c(y,f),u.point(C[0],C[1])):(C=c(f,y),u.point(C[0],C[1],2),u.lineEnd()),f=C;else if(i&&f&&r^b){var w;!(M&d)&&(w=c(y,f,!0))&&(m=0,r?(u.lineStart(),u.point(w[0][0],w[0][1]),u.point(w[1][0],w[1][1]),u.lineEnd()):(u.point(w[1][0],w[1][1]),u.lineEnd(),u.lineStart(),u.point(w[0][0],w[0][1],3)))}b&&(!f||!Sv(f,y))&&u.point(y[0],y[1]),f=y,h=b,d=M},lineEnd:function(){h&&u.lineEnd(),f=null},clean:function(){return m|(p&&h)<<1}}},function a(u,f,d,h){!function Ooe(e,t,n,r,i,a){if(n){var s=Oe(t),o=Le(t),c=r*n;null==i?(i=t+r*v2,a=t-c/2):(i=Poe(s,i),a=Poe(s,a),(r>0?ia)&&(i+=r*v2));for(var l,u=i;r>0?u>a:u2?H[2]%360*nt:0,A()):[o*Nn,c*Nn,l*Nn]},L.angle=function(H){return arguments.length?(f=H%360*nt,A()):f*Nn},L.reflectX=function(H){return arguments.length?(d=H?-1:1,A()):d<0},L.reflectY=function(H){return arguments.length?(h=H?-1:1,A()):h<0},L.precision=function(H){return arguments.length?(w=Woe(_,M=H*H),x()):y2(M)},L.fitExtent=function(H,E){return kv(L,H,E)},L.fitSize=function(H,E){return XD(L,H,E)},L.fitWidth=function(H,E){return QD(L,H,E)},L.fitHeight=function(H,E){return ZD(L,H,E)},function(){return t=e.apply(this,arguments),L.invert=t.invert&&R,A()}}function KD(e){var t=0,n=st/3,r=Xoe(e),i=r(t,n);return i.parallels=function(a){return arguments.length?r(t=a[0]*nt,n=a[1]*nt):[t*Nn,n*Nn]},i}function o0t(e,t){var n=Le(e),r=(n+Le(t))/2;if(dt(r)2?e[2]*nt:0),t.invert=function(n){return(n=e.invert(n[0]*nt,n[1]*nt))[0]*=Nn,n[1]*=Nn,n},t}(t.rotate()).invert([0,0]));return a(null==s?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===Iv?[[Math.max(d[0]-f,s),o],[Math.min(d[0]+f,c),l]]:[[s,Math.max(d[1]-f,o)],[c,Math.min(d[1]+f,l)]])}return t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(i(f),u()):i()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(null==f?s=o=c=l=null:(s=+f[0][0],o=+f[0][1],c=+f[1][0],l=+f[1][1]),u()):null==s?null:[[s,o],[c,l]]},u()}function Fv(e){return AD((zn+e)/2)}function h0t(e,t){var n=Oe(e),r=e===t?Le(e):Cv(n/Oe(t))/Cv(Fv(t)/Fv(e)),i=n*LD(Fv(e),r)/r;if(!r)return Iv;function a(s,o){i>0?o<-zn+Ie&&(o=-zn+Ie):o>zn-Ie&&(o=zn-Ie);var c=i/LD(Fv(o),r);return[c*Le(r*s),i-c*Oe(r*s)]}return a.invert=function(s,o){var c=i-o,l=di(r)*y2(s*s+c*c),u=fi(s,dt(c))*di(c);return c*r<0&&(u-=st*di(s)*di(c)),[u/r,2*nu(LD(i/l,1/r))-zn]},a}function Rv(e,t){return[e,t]}function g0t(e,t){var n=Oe(e),r=e===t?Le(e):(n-Oe(t))/(t-e),i=n/r+e;if(dt(r)Ie&&--r>0);return[e/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},ice.invert=C7(K2),ace.invert=C7(function(e){return 2*nu(e)}),sce.invert=function(e,t){return[-t,2*nu(uoe(e))-zn]};var H0t=Math.abs,JD=(Math,Math,Math,Math.cos),Pv=(Math,Math,Math,Math,Math,Math,Math,Math,Math.sin),S0t=(Math,1e-6),n3=Math.PI,eL=n3/2,cce=(Math,$v(2));function lce(e){return e>1?eL:e<-1?-eL:Math.asin(e)}function $v(e){return e>0?Math.sqrt(e):0}function E0t(e,t){var i,n=e*Pv(t),r=30;do{t-=i=(t+Pv(t)-n)/(1+JD(t))}while(H0t(i)>S0t&&--r>0);return t/2}$v(n3);var D0t=function V0t(e,t,n){function r(i,a){return[e*i*JD(a=E0t(n,a)),t*Pv(a)]}return r.invert=function(i,a){return a=lce(a/t),[i/(e*JD(a)),lce((2*a+Pv(2*a))/n)]},r}(cce/eL,cce,n3);const A0t=Aoe(),tL=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function nL(e,t){if(!e||"string"!=typeof e)throw new Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(Bv[e]=function N0t(e,t){return function n(){const r=t();return r.type=e,r.path=Aoe().projection(r),r.copy=r.copy||function(){const i=n();return tL.forEach(a=>{r[a]&&i[a](r[a]())}),i.path.pointRadius(r.path.pointRadius()),i},Hie(r)}}(e,t),this):Bv[e]||null}function uce(e){return e&&e.path||A0t}const Bv={albers:Qoe,albersusa:function l0t(){var e,t,r,a,o,c,n=Qoe(),i=Tv().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=Tv().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(d,h){c=[d,h]}};function u(d){var h=d[0],p=d[1];return c=null,r.point(h,p),c||(a.point(h,p),c)||(o.point(h,p),c)}function f(){return e=t=null,u}return u.invert=function(d){var h=n.scale(),p=n.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(d)},u.stream=function(d){return e&&t===d?e:e=function c0t(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i2?r[2]+90:90]):[(r=n())[0],r[1],r[2]-90]},n([0,0,90]).scale(159.155)}};for(const e in Bv)nL(e,Bv[e]);function fce(e,t,n){var r=Vr(e,t-Ie,n).concat(t);return function(i){return r.map(function(a){return[i,a]})}}function dce(e,t,n){var r=Vr(e,t-Ie,n).concat(t);return function(i){return r.map(function(a){return[a,i]})}}function k0t(){}const _o=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function pce(){var e=1,t=1,n=o;function r(c,l){return l.map(u=>i(c,u))}function i(c,l){var u=[],f=[];return function a(c,l,u){var h,p,g,v,y,f=new Array,d=new Array;for(h=p=-1,_o[(g=c[0]>=l)<<1].forEach(C);++h=l)<<1].forEach(C);for(_o[g<<0].forEach(C);++p=l)<<1|(v=c[p*e]>=l)<<2].forEach(C);++h=l)<<1|(v=c[p*e+h+1]>=l)<<2|y<<3].forEach(C);_o[g|v<<3].forEach(C)}for(h=-1,_o[(v=c[p*e]>=l)<<2].forEach(C);++h=l)<<2|y<<3].forEach(C);function C(b){var V,D,M=[b[0][0]+h,b[0][1]+p],w=[b[1][0]+h,b[1][1]+p],_=s(M),z=s(w);(V=d[_])?(D=f[z])?(delete d[V.end],delete f[D.start],V===D?(V.ring.push(w),u(V.ring)):f[V.start]=d[D.end]={start:V.start,end:D.end,ring:V.ring.concat(D.ring)}):(delete d[V.end],V.ring.push(w),d[V.end=z]=V):(V=f[z])?(D=d[_])?(delete f[V.start],delete d[D.end],V===D?(V.ring.push(w),u(V.ring)):f[D.start]=d[V.end]={start:D.start,end:V.end,ring:D.ring.concat(V.ring)}):(delete f[V.start],V.ring.unshift(M),f[V.start=_]=V):f[_]=d[z]={start:_,end:z,ring:[M,w]}}_o[v<<3].forEach(C)}(c,l,d=>{n(d,c,l),function T0t(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t0?u.push([d]):f.push(d)}),f.forEach(d=>{for(var m,h=0,p=u.length;h{var g,d=f[0],h=f[1],p=0|d,m=0|h,v=l[m*e+p];d>0&&d0&&h=0&&u>=0||Z("invalid size"),e=l,t=u,r},r.smooth=function(c){return arguments.length?(n=c?o:k0t,r):n===o},r}function I0t(e,t){for(var i,n=-1,r=t.length;++nr!=h>r&&n<(d-l)*(r-u)/(h-u)+l&&(i=-i)}return i}function R0t(e,t,n){var r;return function O0t(e,t,n){return(t[0]-e[0])*(n[1]-e[1])==(n[0]-e[0])*(t[1]-e[1])}(e,t,n)&&function P0t(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}(e[r=+(e[0]===t[0])],n[r],t[r])}function mce(e,t,n){return function(r){var i=Ya(r),a=n?Math.min(i[0],0):i[0],s=i[1],o=s-a,c=t?Sc(a,s,e):o/(e+1);return Vr(a+c,s,c)}}function rL(e){Y.call(this,null,e)}function gce(e,t,n,r,i){const a=e.x1||0,s=e.y1||0,o=t*n<0;function c(f){f.forEach(l)}function l(f){o&&f.reverse(),f.forEach(u)}function u(f){f[0]=(f[0]-a)*t+r,f[1]=(f[1]-s)*n+i}return function(f){return f.coordinates.forEach(c),f}}function vce(e,t,n){const r=e>=0?e:kS(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function iL(e){return et(e)?e:B1(+e)}function yce(){var e=c=>c[0],t=c=>c[1],n=y6,r=[-1,-1],i=960,a=500,s=2;function o(c,l){const u=vce(r[0],c,e)>>s,f=vce(r[1],c,t)>>s,d=u?u+2:0,h=f?f+2:0,p=2*d+(i>>s),m=2*h+(a>>s),g=new Float32Array(p*m),v=new Float32Array(p*m);let y=g;c.forEach(b=>{const M=d+(+e(b)>>s),w=h+(+t(b)>>s);M>=0&&M=0&&w0&&f>0?(su(p,m,g,v,u),ou(p,m,v,g,f),su(p,m,g,v,u),ou(p,m,v,g,f),su(p,m,g,v,u),ou(p,m,v,g,f)):u>0?(su(p,m,g,v,u),su(p,m,v,g,u),su(p,m,g,v,u),y=v):f>0&&(ou(p,m,g,v,f),ou(p,m,v,g,f),ou(p,m,g,v,f),y=v);const C=l?Math.pow(2,-2*s):1/Use(y);for(let b=0,M=p*m;b>s),y2:h+(a>>s)}}return o.x=function(c){return arguments.length?(e=iL(c),o):e},o.y=function(c){return arguments.length?(t=iL(c),o):t},o.weight=function(c){return arguments.length?(n=iL(c),o):n},o.size=function(c){if(!arguments.length)return[i,a];var l=+c[0],u=+c[1];return l>=0&&u>=0||Z("invalid size"),i=l,a=u,o},o.cellSize=function(c){return arguments.length?((c=+c)>=1||Z("invalid cell size"),s=Math.floor(Math.log(c)/Math.LN2),o):1<=i&&(o>=a&&(c-=n[o-a+s*e]),r[o-i+s*e]=c/Math.min(o+1,e-1+a-o,a))}function ou(e,t,n,r,i){const a=1+(i<<1);for(let s=0;s=i&&(o>=a&&(c-=n[s+(o-a)*e]),r[s+(o-i)*e]=c/Math.min(o+1,t-1+a-o,a))}function aL(e){Y.call(this,null,e)}rL.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},le(rL,Y,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=e.field||P1,a=pce().smooth(!1!==e.smooth),s=e.thresholds||function $0t(e,t,n){const r=mce(n.levels||10,n.nice,!1!==n.zero);return"shared"!==n.resolve?r:r(e.map(i=>A4(t(i).values)))}(r,i,e),o=null===e.as?null:e.as||"contour",c=[];return r.forEach(l=>{const u=i(l),f=a.size([u.width,u.height])(u.values,K(s)?s:s(u.values));(function B0t(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(et(i)&&(i=i(n,r)),et(a)&&(a=a(n,r)),(1===i||null==i)&&!a)return;const s=(vt(i)?i:i[0])||1,o=(vt(i)?i:i[1])||1;e.forEach(gce(t,s,o,a&&a[0]||0,a&&a[1]||0))})(f,u,l,e),f.forEach(d=>{c.push(Pm(l,zt(null!=o?{[o]:d}:d)))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=c,n}}),aL.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};const U0t=["x","y","weight","size","cellSize","bandwidth"];function Cce(e,t){return U0t.forEach(n=>null!=t[n]?e[n](t[n]):0),e}function sL(e){Y.call(this,null,e)}le(aL,Y,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var c,n=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=function j0t(e,t){var i,a,s,o,c,l,n=[],r=u=>u(o);if(null==t)n.push(e);else for(i={},a=0,s=e.length;azt(function l(u,f){for(let d=0;dIe}).map(d)).concat(Vr(yv(a/l)*l,i,l).filter(function(C){return dt(C%f)>Ie}).map(h))}return v.lines=function(){return y().map(function(C){return{type:"LineString",coordinates:C}})},v.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(s).slice(1),p(n).reverse().slice(1),m(o).reverse().slice(1))]}},v.extent=function(C){return arguments.length?v.extentMajor(C).extentMinor(C):v.extentMinor()},v.extentMajor=function(C){return arguments.length?(o=+C[0][1],s=+C[1][1],(r=+C[0][0])>(n=+C[1][0])&&(C=r,r=n,n=C),o>s&&(C=o,o=s,s=C),v.precision(g)):[[r,o],[n,s]]},v.extentMinor=function(C){return arguments.length?(a=+C[0][1],i=+C[1][1],(t=+C[0][0])>(e=+C[1][0])&&(C=t,t=e,e=C),a>i&&(C=a,a=i,i=C),v.precision(g)):[[t,a],[e,i]]},v.step=function(C){return arguments.length?v.stepMajor(C).stepMinor(C):v.stepMinor()},v.stepMajor=function(C){return arguments.length?(u=+C[0],f=+C[1],v):[u,f]},v.stepMinor=function(C){return arguments.length?(c=+C[0],l=+C[1],v):[c,l]},v.precision=function(C){return arguments.length?(g=+C,d=fce(a,i,90),h=dce(t,e,g),p=fce(o,s,90),m=dce(r,n,g),v):g},v.extentMajor([[-180,-90+Ie],[180,90-Ie]]).extentMinor([[-180,-80-Ie],[180,80+Ie]])}()}function pL(e){Y.call(this,null,e)}function bce(e){if(!et(e))return!1;const t=Pi(O1(e));return t.$x||t.$y||t.$value||t.$max}function Mce(e){Y.call(this,null,e),this.modified(!0)}function _ce(e,t,n){et(e[t])&&e[t](n)}function wce(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,f,d,h,p,m,g,v,y,a=e._root,s={data:r},o=e._x0,c=e._y0,l=e._x1,u=e._y1;if(!a)return e._root=s,e;for(;a.length;)if((m=t>=(f=(o+l)/2))?o=f:l=f,(g=n>=(d=(c+u)/2))?c=d:u=d,i=a,!(a=a[v=g<<1|m]))return i[v]=s,e;if(h=+e._x.call(null,a.data),p=+e._y.call(null,a.data),t===h&&n===p)return s.next=a,i?i[v]=s:e._root=s,e;do{i=i?i[v]=new Array(4):e._root=new Array(4),(m=t>=(f=(o+l)/2))?o=f:l=f,(g=n>=(d=(c+u)/2))?c=d:u=d}while((v=g<<1|m)==(y=(p>=d)<<1|h>=f));return i[y]=a,i[v]=s,e}function C2(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function p6t(e){return e[0]}function g6t(e){return e[1]}function mL(e,t,n){var r=new gL(t??p6t,n??g6t,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function gL(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function xce(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}lL.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},le(lL,Y,{transform(e,t){var l,n=this._features,r=this._points,i=e.fields,a=i&&i[0],s=i&&i[1],o=e.geojson||!i&&P1,c=t.ADD;l=e.modified()||t.changed(t.REM)||t.modified(O1(o))||a&&t.modified(O1(a))||s&&t.modified(O1(s)),(!this.value||l)&&(c=t.SOURCE,this._features=n=[],this._points=r=[]),o&&t.visit(c,u=>n.push(o(u))),a&&s&&(t.visit(c,u=>{var f=a(u),d=s(u);null!=f&&null!=d&&(f=+f)===f&&(d=+d)===d&&r.push([f,d])}),n=n.concat({type:oL,geometry:{type:"MultiPoint",coordinates:r}})),this.value={type:cL,features:n}}}),uL.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},le(uL,Y,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||P1,a=e.as||"path",s=n.SOURCE;!r||e.modified()?(this.value=r=uce(e.projection),n.materialize().reflow()):s=i===P1||t.modified(i.fields)?n.ADD_MOD:n.ADD;const o=function G0t(e,t){const n=e.pointRadius();return e.context(null),null!=t&&e.pointRadius(t),n}(r,e.pointRadius);return n.visit(s,c=>c[a]=r(i(c))),r.pointRadius(o),n.modifies(a)}}),fL.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},le(fL,Y,{transform(e,t){var c,n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||["x","y"],s=a[0],o=a[1];function l(u){const f=n([r(u),i(u)]);f?(u[s]=f[0],u[o]=f[1]):(u[s]=void 0,u[o]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,l):(c=t.modified(r.fields)||t.modified(i.fields),t.visit(c?t.ADD_MOD:t.ADD,l)),t.modifies(a)}}),dL.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},le(dL,Y,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.as||"shape",a=n.ADD;return(!r||e.modified())&&(this.value=r=function W0t(e,t,n){const r=null==n?i=>e(t(i)):i=>{var a=e.pointRadius(),s=e.pointRadius(n)(t(i));return e.pointRadius(a),s};return r.context=i=>(e.context(i),r),r}(uce(e.projection),e.field||ti("datum"),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,s=>s[i]=r),n.modifies(i)}}),hL.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},le(hL,Y,{transform(e,t){var i,n=this.value,r=this.generator;if(!n.length||e.modified())for(const a in e)et(r[a])&&r[a](e[a]);return i=r(),n.length?t.mod.push(D1e(n[0],i)):t.add.push(zt(i)),n[0]=i,t}}),pL.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},le(pL,Y,{transform(e,t){if(!t.changed()&&!e.modified())return t.StopPropagation;var n=t.materialize(t.SOURCE).source,r="shared"===e.resolve,i=e.field||P1,a=function X0t(e,t){let n;return et(e)?(n=r=>e(r,t),n.dep=bce(e)):e?n=B1(e):(n=r=>r.$value/r.$max||0,n.dep=!0),n}(e.opacity,e),s=function Y0t(e,t){let n;return et(e)?(n=r=>Fc(e(r,t)),n.dep=bce(e)):n=B1(Fc(e||"#888")),n}(e.color,e),o=e.as||"image",c={$x:0,$y:0,$value:0,$max:r?A4(n.map(l=>A4(i(l).values))):0};return n.forEach(l=>{const u=i(l),f=tt({},l,c);r||(f.$max=A4(u.values||[])),l[o]=function Q0t(e,t,n,r){const i=e.width,s=e.x1||0,o=e.y1||0,c=e.x2||i,l=e.y2||e.height,u=e.values,f=u?g=>u[g]:_c,d=Tc(c-s,l-o),h=d.getContext("2d"),p=h.getImageData(0,0,c-s,l-o),m=p.data;for(let g=o,v=0;g{null!=e[r]&&_ce(n,r,e[r])})):tL.forEach(r=>{e.modified(r)&&_ce(n,r,e[r])}),null!=e.pointRadius&&n.path.pointRadius(e.pointRadius),e.fit&&function Z0t(e,t){const n=function J0t(e){return 1===(e=me(e)).length?e[0]:{type:cL,features:e.reduce((t,n)=>t.concat(function e6t(e){return e.type===cL?e.features:me(e).filter(t=>null!=t).map(t=>t.type===oL?t:{type:oL,geometry:t})}(n)),[])}}(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});var b2=mL.prototype=gL.prototype;function M2(e){return function(){return e}}function r3(e){return 1e-6*(e()-.5)}function y6t(e){return e.x+e.vx}function C6t(e){return e.y+e.vy}b2.copy=function(){var n,r,e=new gL(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root;if(!t)return e;if(!t.length)return e._root=xce(t),e;for(n=[{source:t,target:e._root=new Array(4)}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=new Array(4)}):t.target[i]=xce(r));return e},b2.add=function n6t(e){const t=+this._x.call(null,e),n=+this._y.call(null,e);return wce(this.cover(t,n),t,n,e)},b2.addAll=function r6t(e){var t,n,i,a,r=e.length,s=new Array(r),o=new Array(r),c=1/0,l=1/0,u=-1/0,f=-1/0;for(n=0;nu&&(u=i),af&&(f=a));if(c>u||l>f)return this;for(this.cover(c,l).cover(u,f),n=0;ne||e>=i||r>t||t>=a;)switch(l=(tu||(o=p.y0)>f||(c=p.x1)=v)<<1|e>=g)&&(p=d[d.length-1],d[d.length-1]=d[d.length-1-m],d[d.length-1-m]=p)}else{var y=e-+this._x.call(null,h.data),C=t-+this._y.call(null,h.data),b=y*y+C*C;if(b=(d=(s+c)/2))?s=d:c=d,(m=f>=(h=(o+l)/2))?o=h:l=h,t=n,!(n=n[g=m<<1|p]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,v=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[v]=n:this._root=n),this):(this._root=a,this)},b2.removeAll=function l6t(e){for(var t=0,n=e.length;t{}};function zce(){for(var r,e=0,t=arguments.length,n={};e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}(e+"",n),a=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++a0)for(var i,a,n=new Array(i),r=0;r=0&&e._call.call(void 0,t),e=e._next;--cu}()}finally{cu=0,function E6t(){for(var e,n,t=jv,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:jv=n);S7=e,yL(r)}(),Q4=0}}function S6t(){var e=E7.now(),t=e-qv;t>Sce&&(Gv-=t,qv=e)}function yL(e){cu||(z7&&(z7=clearTimeout(z7)),e-Q4>24?(e<1/0&&(z7=setTimeout(Dce,e-E7.now()-Gv)),H7&&(H7=clearInterval(H7))):(H7||(qv=E7.now(),H7=setInterval(S6t,Sce)),cu=1,Ece(Dce)))}Wv.prototype=Vce.prototype={constructor:Wv,restart:function(e,t,n){if("function"!=typeof e)throw new TypeError("callback is not a function");n=(null==n?vL():+n)+(null==t?0:+t),!this._next&&S7!==this&&(S7?S7._next=this:jv=this,S7=this),this._call=e,this._time=n,yL()},stop:function(){this._call&&(this._call=null,this._time=1/0,yL())}};function A6t(e){return e.x}function N6t(e){return e.y}var T6t=Math.PI*(3-Math.sqrt(5));function R6t(e){return e.index}function Ace(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}const Nce={center:function t6t(e,t){var n,r=1;function i(){var a,o,s=n.length,c=0,l=0;for(a=0;ah+D||wp+D||_d.index){var L=h-z.x-z.vx,R=p-z.y-z.vy,A=L*L+R*R;Al.r&&(l.r=l[u].r)}function c(){if(t){var l,f,u=t.length;for(n=new Array(u),l=0;l=o)){(h.data!==t||h.next)&&(0===v&&(b+=(v=r3(n))*v),0===y&&(b+=(y=r3(n))*y),b[t(M,w,s),M]));for(g=0,o=new Array(v);gt(r,n):t)}function Y6t(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function ML(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=fut)):void 0===t&&(t=uut);for(var r,a,s,o,c,n=new lu(e),i=[n];r=i.pop();)if((s=t(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,o=c-1;o>=0;--o)i.push(a=s[o]=new lu(s[o])),a.parent=r,a.depth=r.depth+1;return n.eachBefore(Ice)}function uut(e){return e.children}function fut(e){return Array.isArray(e)?e[1]:null}function dut(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function Ice(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function lu(e){this.data=e,this.depth=this.height=0,this.parent=null}function Yv(e){return null==e?null:Fce(e)}function Fce(e){if("function"!=typeof e)throw new Error;return e}function Z4(){return 0}function uu(e){return function(){return e}}bL.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:kce}]},le(bL,Y,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(CL),a=e.iterations||300;if(n?(r&&(t.modifies("index"),n.nodes(t.source)),(i||t.changed(t.MOD))&&Tce(n,e,0,t)):(this.value=n=function j6t(e,t){const n=function I6t(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),a=0,s=.6,o=new Map,c=Vce(f),l=x6t("tick","end"),u=function L6t(){let e=1;return()=>(e=(1664525*e+1013904223)%4294967296)/4294967296}();function f(){d(),l.call("tick",t),n1?(null==g?o.delete(m):o.set(m,p(g)),t):o.get(m)},find:function(m,g,v){var b,M,w,_,z,y=0,C=e.length;for(null==v?v=1/0:v*=v,y=0;y1?(l.on(m,g),t):l.on(m)}}}(e),r=n.stop,i=n.restart;let a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),Tce(n,t,!0).on("end",()=>a=!0)}(t.source,e),n.on("tick",function U6t(e,t){return()=>e.touch(t).run()}(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies("index")),i||r||e.modified(B6t)||t.changed()&&e.restart)if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(n.alphaMin(),1/a)),e.static)for(n.stop();--a>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation;return this.finish(e,t)},finish(e,t){const n=t.dataflow;for(let u,o=this._argops,c=0,l=o.length;c=0;--a)r.push(i[a]);return this},find:function J6t(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function eut(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})},sort:function tut(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})},path:function nut(e){for(var t=this,n=function rut(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)r.push(t=t.parent);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function iut(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function aut(){return Array.from(this)},leaves:function sut(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e},links:function out(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t},copy:function lut(){return ML(this).eachBefore(dut)},[Symbol.iterator]:function*cut(){var t,r,i,a,e=this,n=[e];do{for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,a=r.length;i0&&n*n>r*r+i*i}function _L(e,t){for(var n=0;n1e-6?(L+Math.sqrt(L*L-4*D*R))/(2*D):R/L);return{x:r+w+_*A,y:i+z+V*A,r:A}}function Bce(e,t,n){var i,a,o,c,r=e.x-t.x,s=e.y-t.y,l=r*r+s*s;l?(a=t.r+n.r,c=e.r+n.r,(a*=a)>(c*=c)?(i=(l+c-a)/(2*l),o=Math.sqrt(Math.max(0,c/l-i*i)),n.x=e.x-i*r-o*s,n.y=e.y-i*s+o*r):(i=(l+a-c)/(2*l),o=Math.sqrt(Math.max(0,a/l-i*i)),n.x=t.x+i*r-o*s,n.y=t.y+i*s+o*r)):(n.x=t.x+n.r,n.y=t.y)}function Uce(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function jce(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,a=(t.y*n.r+n.y*t.r)/r;return i*i+a*a}function Qv(e){this._=e,this.next=null,this.previous=null}function qce(e,t){if(!(a=(e=function gut(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}(e)).length))return 0;var n,r,i,a,s,o,c,l,u,f,d;if((n=e[0]).x=0,n.y=0,!(a>1))return n.r;if(n.x=-(r=e[1]).r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;Bce(r,n,i=e[2]),n=new Qv(n),r=new Qv(r),i=new Qv(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(c=3;cfunction Sut(e){let t=(e=`${e}`).length;return zL(e,t-1)&&!zL(e,t-2)&&(e=e.slice(0,-1)),"/"===e[0]?e:`/${e}`}(n(b,M,i))),y=v.map(Zce),C=new Set(v).add("");for(const b of y)C.has(b)||(C.add(b),v.push(b),y.push(Zce(b)),a.push(xL));s=(b,M)=>v[M],o=(b,M)=>y[M]}for(u=0,c=a.length;u=0&&(h=a[v]).data===xL;--v)h.data=null}if(f.parent=xut,f.eachBefore(function(v){v.depth=v.parent.depth+1,--c}).eachBefore(Ice),f.parent=null,c>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(e=Yv(i),r):e},r.parentId=function(i){return arguments.length?(t=Yv(i),r):t},r.path=function(i){return arguments.length?(n=Yv(i),r):n},r}function Zce(e){let t=e.length;if(t<2)return"";for(;--t>1&&!zL(e,t););return e.slice(0,t)}function zL(e,t){if("/"===e[t]){let n=0;for(;t>0&&"\\"===e[--t];)++n;if(!(1&n))return!0}return!1}function Eut(e,t){return e.parent===t.parent?1:2}function HL(e){var t=e.children;return t?t[0]:e.t}function SL(e){var t=e.children;return t?t[t.length-1]:e.t}function Vut(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function Lut(e,t,n){return e.a.parent===t.parent?e.a:n}function Zv(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function kut(e,t){return e.parent===t.parent?1:2}function Iut(e,t){return e+t.x}function Rut(e,t){return Math.max(e,t.y)}function Kv(e,t,n,r,i){for(var s,a=e.children,o=-1,c=a.length,l=e.value&&(i-n)/e.value;++oy&&(y=l),w=g*g*M,(C=Math.max(y/w,w/v))>b){g-=l;break}b=C}s.push(c={value:g,dice:h1?r:1)},n}(Kce),jut=function e(t){function n(r,i,a,s,o){if((c=r._squarify)&&c.ratio===t)for(var c,l,u,f,h,d=-1,p=c.length,m=r.value;++d1?r:1)},n}(Kce);function EL(e,t,n){const r={};return e.each(i=>{const a=i.data;n(a)&&(r[t(a)]=i)}),e.lookup=r,e}function VL(e){Y.call(this,null,e)}VL.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};const Gut=e=>e.values;function Wut(){const e=[],t={entries:i=>r(n(i,0),0),key:i=>(e.push(i),t)};function n(i,a){if(a>=e.length)return i;const s=i.length,o=e[a++],c={},l={};let f,d,h,u=-1;for(;++ue.length)return i;const s=[];for(const o in i)s.push({key:o,values:r(i[o],a)});return s}return t}function wo(e){Y.call(this,null,e)}le(VL,Y,{transform(e,t){t.source||Z("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(s=>{s.children&&Om(s.data)&&i.rem.push(s.data)}),this.value=a=ML({values:me(e.keys).reduce((s,o)=>(s.key(o),s),Wut()).entries(i.source)},Gut),n&&a.each(s=>{s.children&&(s=zt(s.data),i.add.push(s),i.source.push(s))}),EL(a,ke,ke)),i.source.root=a,i}});const Yut=(e,t)=>e.parent===t.parent?1:2;le(wo,Y,{transform(e,t){(!t.source||!t.source.root)&&Z(this.constructor.name+" transform requires a backing tree data source.");const n=this.layout(e.method),r=this.fields,i=t.source.root,a=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(D4(e.sort,s=>s.data)),function Xut(e,t,n){for(let r,i=0,a=t.length;ifunction Qut(e,t,n){const r=e.data,i=t.length-1;for(let a=0;a(e=(1664525*e+1013904223)%4294967296)/4294967296}();return a.x=t/2,a.y=n/2,e?a.eachBefore(Gce(e)).eachAfter(wL(r,.5,s)).eachBefore(Wce(1)):a.eachBefore(Gce(Mut)).eachAfter(wL(Z4,1,s)).eachAfter(wL(r,a.r/Math.min(t,n),s)).eachBefore(Wce(Math.min(t,n)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(e=Yv(a),i):e},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(r="function"==typeof a?a:uu(+a),i):r},i},params:["radius","size","padding"],fields:DL});const AL=["x0","y0","x1","y1","depth","children"];function NL(e){wo.call(this,e)}function kL(e){Y.call(this,null,e)}NL.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:AL.length,default:AL}]},le(NL,wo,{layout:function wut(){var e=1,t=1,n=0,r=!1;function i(s){var o=s.height+1;return s.x0=s.y0=n,s.x1=e,s.y1=t/o,s.eachBefore(function a(s,o){return function(c){c.children&&L7(c,c.x0,s*(c.depth+1)/o,c.x1,s*(c.depth+2)/o);var l=c.x0,u=c.y0,f=c.x1-n,d=c.y1-n;f=0;--s)r.push(i=n.children[s]=new Zv(a[s],s)),i.parent=n;return(t.parent=new Zv(null,0)).children=[t],t}(l);if(u.eachAfter(a),u.parent.m=-u.z,u.eachBefore(s),r)l.eachBefore(c);else{var f=l,d=l,h=l;l.eachBefore(function(y){y.xd.x&&(d=y),y.depth>h.depth&&(h=y)});var p=f===d?1:e(f,d)/2,m=p-f.x,g=t/(d.x+p+m),v=n/(h.depth||1);l.eachBefore(function(y){y.x=(y.x+m)*g,y.y=y.depth*v})}return l}function a(l){var u=l.children,f=l.parent.children,d=l.i?f[l.i-1]:null;if(u){!function Dut(e){for(var a,t=0,n=0,r=e.children,i=r.length;--i>=0;)(a=r[i]).z+=t,a.m+=t,t+=a.s+(n+=a.c)}(l);var h=(u[0].z+u[u.length-1].z)/2;d?(l.z=d.z+e(l._,d._),l.m=l.z-h):l.z=h}else d&&(l.z=d.z+e(l._,d._));l.parent.A=function o(l,u,f){if(u){for(var b,d=l,h=l,p=u,m=d.parent.children[0],g=d.m,v=h.m,y=p.m,C=m.m;p=SL(p),d=HL(d),p&&d;)m=HL(m),(h=SL(h)).a=l,(b=p.z+y-d.z-g+e(p._,d._))>0&&(Vut(Lut(p,l,f),l,b),g+=b,v+=b),y+=p.m,g+=d.m,C+=m.m,v+=h.m;p&&!SL(h)&&(h.t=p,h.m+=y-v),d&&!HL(m)&&(m.t=d,m.m+=g-C,f=l)}return f}(l,d,l.parent.A||f[0])}function s(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function c(l){l.x*=t,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(e=l,i):e},i.size=function(l){return arguments.length?(r=!1,t=+l[0],n=+l[1],i):r?null:[t,n]},i.nodeSize=function(l){return arguments.length?(r=!0,t=+l[0],n=+l[1],i):r?[t,n]:null},i},cluster:function $ut(){var e=kut,t=1,n=1,r=!1;function i(a){var s,o=0;a.eachAfter(function(d){var h=d.children;h?(d.x=function Tut(e){return e.reduce(Iut,0)/e.length}(h),d.y=function Fut(e){return 1+e.reduce(Rut,0)}(h)):(d.x=s?o+=e(d,s):0,d.y=0,s=d)});var c=function Out(e){for(var t;t=e.children;)e=t[0];return e}(a),l=function Put(e){for(var t;t=e.children;)e=t[t.length-1];return e}(a),u=c.x-e(c,l)/2,f=l.x+e(l,c)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*t,d.y=(a.y-d.y)*n}:function(d){d.x=(d.x-u)/(f-u)*t,d.y=(1-(a.y?d.y/a.y:1))*n})}return i.separation=function(a){return arguments.length?(e=a,i):e},i.size=function(a){return arguments.length?(r=!1,t=+a[0],n=+a[1],i):r?null:[t,n]},i.nodeSize=function(a){return arguments.length?(r=!0,t=+a[0],n=+a[1],i):r?[t,n]:null},i}},TL=["x","y","depth","children"];function IL(e){wo.call(this,e)}function FL(e){Y.call(this,[],e)}IL.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:TL.length,default:TL}]},le(IL,wo,{layout(e){const t=e||"tidy";if(Ne(t3e,t))return t3e[t]();Z("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:TL}),FL.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},le(FL,Y,{transform(e,t){const n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||Z("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,s=>a[ke(s)]=1),r.each(s=>{const o=s.data,c=s.parent&&s.parent.data;c&&a[ke(o)]&&a[ke(c)]&&i.add.push(zt({source:c,target:o}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,s=>a[ke(s)]=1),n.forEach(s=>{(a[ke(s.source)]||a[ke(s.target)])&&i.mod.push(s)})),i}});const n3e={binary:function But(e,t,n,r,i){var s,c,a=e.children,o=a.length,l=new Array(o+1);for(l[0]=c=s=0;s=d-1){var y=a[f];return y.x0=p,y.y0=m,y.x1=g,void(y.y1=v)}for(var C=l[f],b=h/2+C,M=f+1,w=d-1;M>>1;l[_]v-m){var D=h?(p*V+g*z)/h:g;u(f,M,z,p,m,D,v),u(M,d,V,D,m,g,v)}else{var L=h?(m*V+v*z)/h:v;u(f,M,z,p,m,g,L),u(M,d,V,p,L,g,v)}}(0,o,e.value,t,n,r,i)},dice:L7,slice:Kv,slicedice:function Uut(e,t,n,r,i){(1&e.depth?Kv:L7)(e,t,n,r,i)},squarify:e3e,resquarify:jut},RL=["x0","y0","x1","y1","depth","children"];function OL(e){wo.call(this,e)}OL.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:RL.length,default:RL}]},le(OL,wo,{layout(){const e=function qut(){var e=e3e,t=!1,n=1,r=1,i=[0],a=Z4,s=Z4,o=Z4,c=Z4,l=Z4;function u(d){return d.x0=d.y0=0,d.x1=n,d.y1=r,d.eachBefore(f),i=[0],t&&d.eachBefore(Yce),d}function f(d){var h=i[d.depth],p=d.x0+h,m=d.y0+h,g=d.x1-h,v=d.y1-h;g{const n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{Ne(n3e,t)?e.tile(n3e[t]):Z("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:RL});const PL=4278190080;function $L(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function Jv(e,t,n){if(!t.length)return;const r=t[0].mark.marktype;"group"===r?t.forEach(i=>{i.items.forEach(a=>Jv(e,a.items,n))}):Lr[r].draw(e,{items:n?t.map(Jut):t})}function Jut(e){const t=Pm(e,{});return t.stroke&&0!==t.strokeOpacity||t.fill&&0!==t.fillOpacity?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}const xo=5,_2=31,A7=32,i3=new Uint32Array(A7+1),Zi=new Uint32Array(A7+1);Zi[0]=0,i3[0]=~Zi[0];for(let e=1;e<=A7;++e)Zi[e]=Zi[e-1]<<1|1,i3[e]=~Zi[e];function ey(e,t,n,r,i,a){let s=n/2;return e-s<0||e+s>i||t-(s=r/2)<0||t+s>a}function a3(e,t,n,r,i,a,s,o){const c=i*a/(2*r),l=e(t-c),u=e(t+c),f=e(n-(a/=2)),d=e(n+a);return s.outOfBounds(l,f,u,d)||s.getRange(l,f,u,d)||o&&o.getRange(l,f,u,d)}const ift=[-1,-1,1,1],aft=[-1,1,-1,1],oft=["right","center","left"],cft=["bottom","middle","top"];function r3e(e,t,n,r,i,a,s,o,c,l,u,f){return!(i.outOfBounds(e,n,t,r)||(f&&a||i).getRange(e,n,t,r))}const uft={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},fft={naive:function nft(e,t,n,r){const i=e.width,a=e.height;return function(s){const o=s.datum.datum.items[r].items,c=o.length,l=s.datum.fontSize,u=Dr.width(s.datum,s.datum.text);let d,h,p,m,g,v,y,f=0;for(let C=0;C=f&&(f=y,s.x=g,s.y=v);return g=u/2,v=l/2,d=s.x-g,h=s.x+g,p=s.y-v,m=s.y+v,s.align="center",d<0&&h<=i?s.align="left":0<=d&&i=1;)y=(g+v)/2,a3(e,p,m,h,d,y,s,o)?v=y:g=y;if(g>f)return[p,m,g,!0]}}return function(l){const u=l.datum.datum.items[r].items,f=u.length,d=l.datum.fontSize,h=Dr.width(l.datum,l.datum.text);let y,C,b,M,w,_,z,V,D,L,R,A,x,H,E,T,S,p=n?d:0,m=!1,g=!1,v=0;for(let k=0;kC&&(S=y,y=C,C=S),b>M&&(S=b,b=M,M=S),D=e(y),R=e(C),L=~~((D+R)/2),A=e(b),H=e(M),x=~~((A+H)/2),z=L;z>=D;--z)for(V=x;V>=A;--V)T=c(z,V,p,h,d),T&&([l.x,l.y,p,m]=T);for(z=L;z<=R;++z)for(V=x;V<=H;++V)T=c(z,V,p,h,d),T&&([l.x,l.y,p,m]=T);!m&&!n&&(E=Math.abs(C-y+M-b),w=(y+C)/2,_=(b+M)/2,E>=v&&!ey(w,_,h,d,i,a)&&!a3(e,w,_,d,h,d,s,null)&&(v=E,l.x=w,l.y=_,g=!0))}return!(!m&&!g||(w=h/2,_=d/2,s.setRange(e(l.x-w),e(l.y-_),e(l.x+w),e(l.y+_)),l.align="center",l.baseline="middle",0))}},floodfill:function sft(e,t,n,r){const i=e.width,a=e.height,s=t[0],o=t[1],c=e.bitmap();return function(l){const u=l.datum.datum.items[r].items,f=u.length,d=l.datum.fontSize,h=Dr.width(l.datum,l.datum.text),p=[];let C,b,M,w,_,z,V,D,L,R,A,x,m=n?d:0,g=!1,v=!1,y=0;for(let H=0;H=1;)A=(L+R)/2,a3(e,_,z,d,h,A,s,o)?R=A:L=A;L>m&&(l.x=_,l.y=z,m=L,g=!0)}}!g&&!n&&(x=Math.abs(b-C+w-M),_=(C+b)/2,z=(M+w)/2,x>=y&&!ey(_,z,h,d,i,a)&&!a3(e,_,z,d,h,d,s,null)&&(y=x,l.x=_,l.y=z,v=!0))}return!(!g&&!v||(_=h/2,z=d/2,s.setRange(e(l.x-_),e(l.y-z),e(l.x+_),e(l.y+z)),l.align="center",l.baseline="middle",0))}}};function dft(e,t,n,r,i,a,s,o,c,l,u){if(!e.length)return e;const f=Math.max(r.length,i.length),d=function hft(e,t){const n=new Float64Array(t),r=e.length;for(let i=0;i[a.x,a.x,a.x,a.y,a.y,a.y];return e?"line"===e||"area"===e?a=>i(a.datum):"line"===t?a=>{const s=a.datum.items[r].items;return i(s.length?s["start"===n?0:s.length-1]:{x:NaN,y:NaN})}:a=>{const s=a.datum.bounds;return[s.x1,(s.x1+s.x2)/2,s.x2,s.y1,(s.y1+s.y2)/2,s.y2]}:i}(p,m,o,c),y=null===l||l===1/0,C=g&&"naive"===u;let b=-1,M=-1;const w=e.map(D=>{const L=y?Dr.width(D,D.text):void 0;return b=Math.max(b,L),M=Math.max(M,D.fontSize),{datum:D,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:v(D),textWidth:L}});l=null===l||l===1/0?Math.max(b,M)+Math.max(...r):l;const _=function tft(e,t,n){const r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),s=o=>~~((o+n)/r);return s.invert=o=>o*r-n,s.bitmap=()=>function eft(e,t){const n=new Uint32Array(~~((e*t+A7)/A7));function r(a,s){n[a]|=s}function i(a,s){n[a]&=s}return{array:n,get:(a,s)=>{const o=s*e+a;return n[o>>>xo]&1<<(o&_2)},set:(a,s)=>{const o=s*e+a;r(o>>>xo,1<<(o&_2))},clear:(a,s)=>{const o=s*e+a;i(o>>>xo,~(1<<(o&_2)))},getRange:(a,s,o,c)=>{let u,f,d,h,l=c;for(;l>=s;--l)if(u=l*e+a,f=l*e+o,d=u>>>xo,h=f>>>xo,d===h){if(n[d]&i3[u&_2]&Zi[1+(f&_2)])return!0}else{if(n[d]&i3[u&_2]||n[h]&Zi[1+(f&_2)])return!0;for(let p=d+1;p{let l,u,f,d,h;for(;s<=c;++s)if(l=s*e+a,u=s*e+o,f=l>>>xo,d=u>>>xo,f===d)r(f,i3[l&_2]&Zi[1+(u&_2)]);else for(r(f,i3[l&_2]),r(d,Zi[1+(u&_2)]),h=f+1;h{let l,u,f,d,h;for(;s<=c;++s)if(l=s*e+a,u=s*e+o,f=l>>>xo,d=u>>>xo,f===d)i(f,Zi[l&_2]|i3[1+(u&_2)]);else for(i(f,Zi[l&_2]),i(d,i3[1+(u&_2)]),h=f+1;ha<0||s<0||c>=t||o>=e}}(i,a),s.ratio=r,s.padding=n,s.width=e,s.height=t,s}(t[0],t[1],l);let z;if(!C){n&&w.sort((R,A)=>n(R.datum,A.datum));let D=!1;for(let R=0;RR.datum);z=a.length||L?function Kut(e,t,n,r,i){const a=e.width,s=e.height,o=r||i,c=Tc(a,s).getContext("2d"),l=Tc(a,s).getContext("2d"),u=o&&Tc(a,s).getContext("2d");n.forEach(z=>Jv(c,z,!1)),Jv(l,t,!1),o&&Jv(u,t,!0);const f=$L(c,a,s),d=$L(l,a,s),h=o&&$L(u,a,s),p=e.bitmap(),m=o&&e.bitmap();let g,v,y,C,b,M,w,_;for(v=0;vn.set(e(r.boundary[0]),e(r.boundary[3]))),[n,void 0]}(_,s&&w)}const V=g?fft[u](_,z,s,c):function lft(e,t,n,r){const i=e.width,a=e.height,s=t[0],o=t[1],c=r.length;return function(l){const u=l.boundary,f=l.datum.fontSize;if(u[2]<0||u[5]<0||u[0]>i||u[3]>a)return!1;let h,p,m,g,v,y,C,b,M,w,_,z,V,D,L,d=l.textWidth??0;for(let R=0;R>>2&3)-1,m=0===h&&0===p||r[R]<0,g=h&&p?Math.SQRT1_2:1,v=r[R]<0?-1:1,y=u[1+h]+r[R]*h*g,_=u[4+p]+v*f*p/2+r[R]*p*g,b=_-f/2,M=_+f/2,z=e(y),D=e(b),L=e(M),!d){if(!r3e(z,z,D,L,s,o,0,0,0,0,0,m))continue;d=Dr.width(l.datum,l.datum.text)}if(w=y+v*d*h/2,y=w-d/2,C=w+d/2,z=e(y),V=e(C),r3e(z,V,D,L,s,o,0,0,0,0,0,m))return l.x=h?h*v<0?C:y:w,l.y=p?p*v<0?M:b:_,l.align=oft[h*v+1],l.baseline=cft[p*v+1],s.setRange(z,D,V,L),!0}return!1}}(_,z,h,d);return w.forEach(D=>D.opacity=+V(D)),w}const YL=["x","y","opacity","align","baseline"],i3e=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function XL(e){Y.call(this,null,e)}function a3e(e,t){var i,a,s,o,c,l,n=[],r=function(u){return u(o)};if(null==t)n.push(e);else for(i={},a=0,s=e.length;a{const s=a.datum;s[i[0]]=a.x,s[i[1]]=a.y,s[i[2]]=a.opacity,s[i[3]]=a.align,s[i[4]]=a.baseline}),t.reflow(r).modifies(i)}}),QL.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},le(QL,Y,{transform(e,t){const n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){const i=a3e(t.materialize(t.SOURCE).source,e.groupby),a=(e.groupby||[]).map(xn),s=a.length,o=e.as||[xn(e.x),xn(e.y)],c=[];i.forEach(l=>{o2e(l,e.x,e.y,e.bandwidth||.3).forEach(u=>{const f={};for(let d=0;d"poly"===e?t:"quad"===e?2:1)(s,o),l=e.as||[xn(e.x),xn(e.y)],u=ZL[s],f=[];let d=e.extent;Ne(ZL,s)||Z("Invalid regression method: "+s),null!=d&&"log"===s&&d[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach(h=>{if(h.length<=c)return void t.dataflow.warn("Skipping regression with more parameters than data points.");const m=u(h,e.x,e.y,o);if(e.params)return void f.push(zt({keys:h.dims,coef:m.coef,rSquared:m.rSquared}));const g=d||Ya(h,e.x),v=y=>{const C={};for(let b=0;bv([y,m.predict(y)])):Zm(m.predict,g,25,200).forEach(v)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});const Kn=134217729;function N7(e,t,n,r,i){let a,s,o,c,l=t[0],u=r[0],f=0,d=0;u>l==u>-l?(a=l,l=t[++f]):(a=u,u=r[++d]);let h=0;if(fl==u>-l?(s=l+a,o=a-(s-l),l=t[++f]):(s=u+a,o=a-(s-u),u=r[++d]),a=s,0!==o&&(i[h++]=o);fl==u>-l?(s=a+l,c=s-a,o=a-(s-c)+(l-c),l=t[++f]):(s=a+u,c=s-a,o=a-(s-c)+(u-c),u=r[++d]),a=s,0!==o&&(i[h++]=o);for(;f=33306690738754716e-32*l?c:-function wft(e,t,n,r,i,a,s){let o,c,l,u,f,d,h,p,m,g,v,y,C,b,M,w,_,z;const V=e-i,D=n-i,L=t-a,R=r-a;b=V*R,d=Kn*V,h=d-(d-V),p=V-h,d=Kn*R,m=d-(d-R),g=R-m,M=p*g-(b-h*m-p*m-h*g),w=L*D,d=Kn*L,h=d-(d-L),p=L-h,d=Kn*D,m=d-(d-D),g=D-m,_=p*g-(w-h*m-p*m-h*g),v=M-_,f=M-v,fu[0]=M-(v+f)+(f-_),y=b+v,f=y-b,C=b-(y-f)+(v-f),v=C-w,f=C-v,fu[1]=C-(v+f)+(f-w),z=y+v,f=z-y,fu[2]=y-(z-f)+(v-f),fu[3]=z;let A=function Cft(e,t){let n=t[0];for(let r=1;r=x||-A>=x||(f=e-V,o=e-(V+f)+(f-i),f=n-D,l=n-(D+f)+(f-i),f=t-L,c=t-(L+f)+(f-a),f=r-R,u=r-(R+f)+(f-a),0===o&&0===c&&0===l&&0===u)||(x=11093356479670487e-47*s+33306690738754706e-32*Math.abs(A),A+=V*u+R*o-(L*l+D*c),A>=x||-A>=x))return A;b=o*R,d=Kn*o,h=d-(d-o),p=o-h,d=Kn*R,m=d-(d-R),g=R-m,M=p*g-(b-h*m-p*m-h*g),w=c*D,d=Kn*c,h=d-(d-c),p=c-h,d=Kn*D,m=d-(d-D),g=D-m,_=p*g-(w-h*m-p*m-h*g),v=M-_,f=M-v,w2[0]=M-(v+f)+(f-_),y=b+v,f=y-b,C=b-(y-f)+(v-f),v=C-w,f=C-v,w2[1]=C-(v+f)+(f-w),z=y+v,f=z-y,w2[2]=y-(z-f)+(v-f),w2[3]=z;const H=N7(4,fu,4,w2,s3e);b=V*u,d=Kn*V,h=d-(d-V),p=V-h,d=Kn*u,m=d-(d-u),g=u-m,M=p*g-(b-h*m-p*m-h*g),w=L*l,d=Kn*L,h=d-(d-L),p=L-h,d=Kn*l,m=d-(d-l),g=l-m,_=p*g-(w-h*m-p*m-h*g),v=M-_,f=M-v,w2[0]=M-(v+f)+(f-_),y=b+v,f=y-b,C=b-(y-f)+(v-f),v=C-w,f=C-v,w2[1]=C-(v+f)+(f-w),z=y+v,f=z-y,w2[2]=y-(z-f)+(v-f),w2[3]=z;const E=N7(H,s3e,4,w2,o3e);b=o*u,d=Kn*o,h=d-(d-o),p=o-h,d=Kn*u,m=d-(d-u),g=u-m,M=p*g-(b-h*m-p*m-h*g),w=c*l,d=Kn*c,h=d-(d-c),p=c-h,d=Kn*l,m=d-(d-l),g=l-m,_=p*g-(w-h*m-p*m-h*g),v=M-_,f=M-v,w2[0]=M-(v+f)+(f-_),y=b+v,f=y-b,C=b-(y-f)+(v-f),v=C-w,f=C-v,w2[1]=C-(v+f)+(f-w),z=y+v,f=z-y,w2[2]=y-(z-f)+(v-f),w2[3]=z;const T=N7(E,o3e,4,w2,c3e);return c3e[T-1]}(e,t,n,r,i,a,l)}ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(8),ae(8),ae(8),ae(4),ae(8),ae(8),ae(8),ae(12),ae(192),ae(192),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(8),ae(8),ae(8),ae(8),ae(8),ae(8),ae(8),ae(8),ae(8),ae(4),ae(4),ae(4),ae(8),ae(16),ae(16),ae(16),ae(32),ae(32),ae(48),ae(64),ae(1152),ae(1152),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(4),ae(24),ae(24),ae(24),ae(24),ae(24),ae(24),ae(24),ae(24),ae(24),ae(24),ae(1152),ae(1152),ae(1152),ae(1152),ae(1152),ae(2304),ae(2304),ae(3456),ae(5760),ae(8),ae(8),ae(8),ae(16),ae(24),ae(48),ae(48),ae(96),ae(192),ae(384),ae(384),ae(384),ae(768),ae(96),ae(96),ae(96),ae(1152);const V3e=Math.pow(2,-52),fy=new Uint32Array(512);class dy{static from(t,n=Uft,r=jft){const i=t.length,a=new Float64Array(2*i);for(let s=0;s>1;if(n>0&&"number"!=typeof t[0])throw new Error("Expected coords to contain numbers.");this.coords=t;const r=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*r),this._halfedges=new Int32Array(3*r),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:a}=this,s=t.length>>1;let o=1/0,c=1/0,l=-1/0,u=-1/0;for(let D=0;Dl&&(l=L),R>u&&(u=R),this._ids[D]=D}const f=(o+l)/2,d=(c+u)/2;let p,m,g,h=1/0;for(let D=0;D0&&(m=D,h=L)}let C=t[2*m],b=t[2*m+1],M=1/0;for(let D=0;DA&&(D[L++]=x,A=this._dists[x])}return this.hull=D.subarray(0,L),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(ty(v,y,C,b,w,_)<0){const D=m,L=C,R=b;m=g,C=w,b=_,g=D,w=L,_=R}const z=function Bft(e,t,n,r,i,a){const s=n-e,o=r-t,c=i-e,l=a-t,u=s*s+o*o,f=c*c+l*l,d=.5/(s*l-o*c);return{x:e+(l*u-o*f)*d,y:t+(s*f-c*u)*d}}(v,y,C,b,w,_);this._cx=z.x,this._cy=z.y;for(let D=0;D0&&Math.abs(x-L)<=V3e&&Math.abs(H-R)<=V3e||(L=x,R=H,A===p||A===m||A===g))continue;let E=0;for(let O=0,B=this._hashKey(x,H);O=0;)if(T=S,T===E){T=-1;break}if(-1===T)continue;let k=this._addTriangle(T,A,r[T],-1,-1,i[T]);i[A]=this._legalize(k+2),i[T]=k,V++;let N=r[T];for(;S=r[N],ty(x,H,t[2*N],t[2*N+1],t[2*S],t[2*S+1])<0;)k=this._addTriangle(N,A,S,i[A],-1,i[N]),i[A]=this._legalize(k+2),r[N]=N,V--,N=S;if(T===E)for(;S=n[T],ty(x,H,t[2*S],t[2*S+1],t[2*T],t[2*T+1])<0;)k=this._addTriangle(S,A,T,-1,i[T],i[S]),this._legalize(k+2),i[S]=k,r[T]=T,V--,T=S;this._hullStart=n[A]=T,r[T]=n[N]=A,r[A]=N,a[this._hashKey(x,H)]=A,a[this._hashKey(t[2*T],t[2*T+1])]=T}this.hull=new Uint32Array(V);for(let D=0,L=this._hullStart;D0?3-n:1+n)/4}(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:n,_halfedges:r,coords:i}=this;let a=0,s=0;for(;;){const o=r[t],c=t-t%3;if(s=c+(t+2)%3,-1===o){if(0===a)break;t=fy[--a];continue}const l=o-o%3,f=l+(o+2)%3,d=n[s],h=n[t],p=n[c+(t+1)%3],m=n[f];if(Pft(i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){n[t]=m,n[o]=d;const v=r[f];if(-1===v){let C=this._hullStart;do{if(this._hullTri[C]===f){this._hullTri[C]=t;break}C=this._hullPrev[C]}while(C!==this._hullStart)}this._link(t,v),this._link(o,r[s]),this._link(s,f),a=n&&t[e[o]]>s;)e[o+1]=e[o--];e[o+1]=a}else{let a=n+1,s=r;F7(e,n+r>>1,a),t[e[n]]>t[e[r]]&&F7(e,n,r),t[e[a]]>t[e[r]]&&F7(e,a,r),t[e[n]]>t[e[a]]&&F7(e,n,a);const o=e[a],c=t[o];for(;;){do{a++}while(t[e[a]]c);if(s=s-n?(Cu(e,t,a,r),Cu(e,t,n,s-1)):(Cu(e,t,n,s-1),Cu(e,t,a,r))}}function F7(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Uft(e){return e[0]}function jft(e){return e[1]}class sl{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){const i=(t=+t)+(r=+r),a=n=+n;if(r<0)throw new Error("negative radius");null===this._x1?this._+=`M${i},${a}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-a)>1e-6)&&(this._+="L"+i+","+a),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=a}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class zA{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}class qft{constructor(t,[n,r,i,a]=[0,0,960,500]){if(!((i=+i)>=(n=+n)&&(a=+a)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=i,this.xmin=n,this.ymax=a,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this;let a,s;const o=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let y,C,m=0,g=0,v=r.length;m1;)a-=2;for(let s=2;s0){if(n>=this.ymax)return null;(s=(this.ymax-n)/i)0){if(t>=this.xmax)return null;(s=(this.xmax-t)/r)this.xmax?2:0)|(nthis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n2&&function Xft(e){const{triangles:t,coords:n}=e;for(let r=0;r1e-10)return!1}return!0}(t)){this.collinear=Int32Array.from({length:n.length/2},(d,h)=>h).sort((d,h)=>n[2*d]-n[2*h]||n[2*d+1]-n[2*h+1]);const c=this.collinear[0],l=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*l],n[2*l+1]],f=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let d=0,h=n.length/2;d0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],s[i[0]]=1,2===i.length&&(s[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new qft(this,t)}*neighbors(t){const{inedges:n,hull:r,_hullIndex:i,halfedges:a,triangles:s,collinear:o}=this;if(o){const f=o.indexOf(t);return f>0&&(yield o[f-1]),void(f=0&&a!==r&&a!==i;)r=a;return a}_step(t,n,r){const{inedges:i,hull:a,_hullIndex:s,halfedges:o,triangles:c,points:l}=this;if(-1===i[t]||!l.length)return(t+1)%(l.length>>1);let u=t,f=bu(n-l[2*t],2)+bu(r-l[2*t+1],2);const d=i[t];let h=d;do{let p=c[h];const m=bu(n-l[2*p],2)+bu(r-l[2*p+1],2);if(m>5<<5,d=~~Math.max(Math.abs(y+C),Math.abs(y-C))}else u=u+31>>5<<5;if(d>c&&(c=d),s+u>=R7<<5&&(s=0,o+=c,c=0),o+d>=hy)break;i.translate((s+(u>>1))/a,(o+(d>>1))/a),t.rotate&&i.rotate(t.rotate*EA),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=u,t.height=d,t.xoff=s,t.yoff=o,t.x1=u>>1,t.y1=d>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,s+=u}for(var M=i.getImageData(0,0,(R7<<5)/a,hy/a).data,w=[];--r>=0;)if((t=n[r]).hasText){for(f=(u=t.width)>>5,d=t.y1-t.y0,h=0;h>5)]|=D,_|=D}_?z=p:(t.y0++,d--,p--,o++)}t.y1=t.y0+z,t.sprite=w.slice(0,(t.y1-t.y0)*f)}}}function i8t(e,t,n){for(var u,r=e.sprite,i=e.width>>5,a=e.x-(i<<4),s=127&a,o=32-s,c=e.y1-e.y0,l=(e.y+e.y0)*(n>>=5)+(a>>5),f=0;f>>s:0))&t[l+d])return!0;l+=n}return!1}function a8t(e,t){var n=e[0],r=e[1];t.x+t.x0r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}function s8t(e,t){return e.x+e.x1>t[0].x&&e.x+e.x0t[0].y&&e.y+e.y0=C));)if(m.x=v+z,m.y=y+V,!(m.x+m.x0<0||m.y+m.y0<0||m.x+m.x1>e[0]||m.y+m.y1>e[1])&&(!g||!i8t(m,p,e[0]))&&(!g||s8t(m,g))){for(var S,D=m.sprite,L=m.width>>5,R=e[0]>>5,A=m.x-(L<<4),x=127&A,H=32-x,E=m.y1-m.y0,T=(m.y+m.y0)*R+(A>>5),k=0;k>>x:0);T+=R}return m.sprite=null,!0}return!1}return f.layout=function(){for(var p=function d(p){p.width=p.height=1;var m=Math.sqrt(p.getContext("2d").getImageData(0,0,1,1).data.length>>2);p.width=(R7<<5)/m,p.height=hy/m;var g=p.getContext("2d");return g.fillStyle=g.strokeStyle="red",g.textAlign="center",{context:g,ratio:m}}(Tc()),m=function c8t(e){for(var t=[],n=-1;++n>5)*e[1]),g=null,v=l.length,y=-1,C=[],b=l.map(w=>({text:t(w),font:n(w),style:i(w),weight:a(w),rotate:s(w),size:~~(r(w)+1e-14),padding:o(w),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:w})).sort((w,_)=>_.size-w.size);++y>1,M.y=e[1]*(u()+.5)>>1,r8t(p,M,b,y),M.hasText&&h(m,M,g)&&(C.push(M),g?a8t(g,M):g=[{x:M.x+M.x0,y:M.y+M.y0},{x:M.x+M.x1,y:M.y+M.y1}],M.x-=e[0]>>1,M.y-=e[1]>>1)}return C},f.words=function(p){return arguments.length?(l=p,f):l},f.size=function(p){return arguments.length?(e=[+p[0],+p[1]],f):e},f.font=function(p){return arguments.length?(n=ol(p),f):n},f.fontStyle=function(p){return arguments.length?(i=ol(p),f):i},f.fontWeight=function(p){return arguments.length?(a=ol(p),f):a},f.rotate=function(p){return arguments.length?(s=ol(p),f):s},f.text=function(p){return arguments.length?(t=ol(p),f):t},f.spiral=function(p){return arguments.length?(c=l8t[p]||p,f):c},f.fontSize=function(p){return arguments.length?(r=ol(p),f):r},f.padding=function(p){return arguments.length?(o=ol(p),f):o},f.random=function(p){return arguments.length?(u=p,f):u},f}(),e)}VA.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:A3e}]},le(VA,Y,{transform(e,t){e.size&&(!e.size[0]||!e.size[1])&&Z("Wordcloud size dimensions must be non-zero.");const r=e.modified();if(!(r||t.changed(t.ADD_REM)||u8t.some(function n(p){const m=e[p];return et(m)&&t.modified(m.fields)})))return;const i=t.materialize(t.SOURCE).source,a=this.value,s=e.as||A3e;let c,o=e.fontSize||14;if(et(o)?c=e.fontSizeRange:o=B1(o),c){const p=o,m=bt("sqrt")().domain(Ya(i,p)).range(c);o=g=>m(p(g))}i.forEach(p=>{p[s[0]]=NaN,p[s[1]]=NaN,p[s[3]]=0});const l=a.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(o).random(ai).layout(),u=a.size(),f=u[0]>>1,d=u[1]>>1,h=l.length;for(let m,g,p=0;pnew Uint8Array(e),h8t=e=>new Uint16Array(e),O7=e=>new Uint32Array(e);function py(e,t,n){const r=(t<257?d8t:t<65537?h8t:O7)(e);return n&&r.set(n),r}function N3e(e,t,n){const r=1<{const i=e[n],a=e[r];return ia?1:0}),function f8t(e,t){return Array.from(t,n=>e[n])}(e,t)}(h,d),u)p=t,m=e,t=Array(u+f),e=O7(u+f),function v8t(e,t,n,r,i,a,s,o,c){let f,l=0,u=0;for(f=0;l0)for(g=0;ge,size:()=>n}}function DA(e){Y.call(this,function p8t(){let e=8,t=[],n=O7(0),r=py(0,e),i=py(0,e);return{data:()=>t,seen:()=>n=function m8t(e,t,n){return e.length>=t?e:((n=n||new e.constructor(t)).set(e),n)}(n,t.length),add(a){for(let l,s=0,o=t.length,c=a.length;st.length,curr:()=>r,prev:()=>i,reset:a=>i[a]=r[a],all:()=>e<257?255:e<65537?65535:4294967295,set(a,s){r[a]|=s},clear(a,s){r[a]&=~s},resize(a,s){(a>r.length||s>e)&&(e=Math.max(s,e),r=py(a,e,r),i=py(a,e))}}}(),e),this._indices=null,this._dims=null}function LA(e){Y.call(this,null,e)}DA.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},le(DA,Y,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(r=>t.modified(r.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){const n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],s=r.length;let c,l,o=0;for(;o{const a=i.remove(t,n);for(const s in r)r[s].reindex(a)})},update(e,t,n){const r=this._dims,i=e.query,a=t.stamp,s=r.length;let c,l,o=0;for(n.filters=0,l=0;lh)for(g=h,v=Math.min(f,p);gp)for(g=Math.max(f,p),v=d;gf)for(p=f,m=Math.min(l,d);pd)for(p=Math.max(l,d),m=u;po[u]&n?null:s[u];return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,u=>{const f=o[u]&n;return!f&&f^c[u]&n?s[u]:null}),a.filter(a.REM,u=>{const f=o[u]&n;return!f||f^f^c[u]&n?null:s[u]})):(a.filter(a.ADD,l),a.filter(a.REM,u=>(o[u]&n)===i?s[u]:null)),a.filter(a.SOURCE,u=>l(u._index))}});const cl="Literal",T3e="CallExpression";function ea(e){this.type=e}ea.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=function E8t(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case T3e:return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];default:return[]}}(this),n=0,r=t.length;n",hs[ll]="Identifier",hs[f3]="Keyword",hs[gy]="Null",hs[ul]="Numeric",hs[tr]="Punctuator",hs[$7]="String",hs[9]="RegularExpression";var D8t="ArrayExpression",L8t="BinaryExpression",A8t="CallExpression",N8t="ConditionalExpression",I3e="Identifier",k8t="Literal",T8t="LogicalExpression",I8t="MemberExpression",F8t="ObjectExpression",R8t="Property",O8t="UnaryExpression",i1="Unexpected token %0",P8t="Unexpected number",$8t="Unexpected string",B8t="Unexpected identifier",U8t="Unexpected reserved word",j8t="Unexpected end of input",AA="Invalid regular expression",NA="Invalid regular expression: missing /",F3e="Octal literals are not allowed in strict mode.",q8t="Duplicate data property in object literal not allowed in strict mode",V1="ILLEGAL",B7="Disabled.",G8t=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),W8t=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function vy(e,t){if(!e)throw new Error("ASSERT: "+t)}function zo(e){return e>=48&&e<=57}function kA(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function U7(e){return"01234567".indexOf(e)>=0}function Y8t(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0}function j7(e){return 10===e||13===e||8232===e||8233===e}function q7(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&G8t.test(String.fromCharCode(e))}function yy(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&W8t.test(String.fromCharCode(e))}const X8t={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function R3e(){for(;Q1114111||"}"!==e)&&Mt({},i1,V1),t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}function O3e(){var e,t;for(e=Se.charCodeAt(Q++),t=String.fromCharCode(e),92===e&&(117!==Se.charCodeAt(Q)&&Mt({},i1,V1),++Q,(!(e=TA("u"))||"\\"===e||!q7(e.charCodeAt(0)))&&Mt({},i1,V1),t=e);Q>>="===(s=Se.substr(Q,4))?{type:tr,value:s,start:e,end:Q+=4}:">>>"===(a=s.substr(0,3))||"<<="===a||">>="===a?{type:tr,value:a,start:e,end:Q+=3}:r===(i=a.substr(0,2))[1]&&"+-<>&|".indexOf(r)>=0||"=>"===i?{type:tr,value:i,start:e,end:Q+=2}:("//"===i&&Mt({},i1,V1),"<>=!+-*%&|^/".indexOf(r)>=0?(++Q,{type:tr,value:r,start:e,end:Q}):void Mt({},i1,V1))}function P3e(){var e,t,n;if(vy(zo((n=Se[Q]).charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point"),t=Q,e="","."!==n){if(e=Se[Q++],n=Se[Q],"0"===e){if("x"===n||"X"===n)return++Q,function J8t(e){let t="";for(;Q=X1)return{type:P7,start:Q,end:Q};const e=Se.charCodeAt(Q);return q7(e)?function K8t(){var e,t;return e=Q,t=92===Se.charCodeAt(Q)?O3e():function Z8t(){var e,t;for(e=Q++;Q=0&&Q(vy(s=0&&Mt({},AA,n),{value:n,literal:t}}(),r=function n5t(e,t){let n=e;t.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";Mt({},AA)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{Mt({},AA)}try{return new RegExp(e,t)}catch{return null}}(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:Q}}()),B3e()):Cy(nr())}return n}function y5t(){const e=[];if(Q1("("),!an(")"))for(;Q":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11}return t}function fl(){var e,t;return e=function w5t(){var e,t,n,r,i,a,s,o,c,l;if(e=Rt,c=by(),0===(i=Y3e(r=Rt)))return c;for(r.prec=i,nr(),t=[e,Rt],a=[c,r,s=by()];(i=Y3e(Rt))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)s=a.pop(),o=a.pop().value,c=a.pop(),t.pop(),n=U3e(o,c,s),a.push(n);(r=nr()).prec=i,a.push(r),t.push(Rt),n=by(),a.push(n)}for(n=a[l=a.length-1],t.pop();l>1;)t.pop(),n=U3e(a[l-1].value,a[l-2],n),l-=2;return n}(),an("?")&&(nr(),t=fl(),Q1(":"),e=function l5t(e,t,n){const r=new ea(N8t);return r.test=e,r.consequent=t,r.alternate=n,r}(e,t,fl())),e}function OA(){const e=fl();if(an(","))throw new Error(B7);return e}function PA(e){Q=0,X1=(Se=e).length,Rt=null,B3e();const t=OA();if(Rt.type!==P7)throw new Error("Unexpect token after expression.");return t}var X3e={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function Q3e(e){function n(s,o,c){return l=>function t(s,o,c,l){let u=e(o[0]);return c&&(u=c+"("+u+")",0===c.lastIndexOf("new ",0)&&(u="("+u+")")),u+"."+s+(l<0?"":0===l?"()":"("+o.slice(1).map(e).join(",")+")")}(s,l,o,c)}const r="new Date",i="String",a="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(s){s.length<3&&Z("Missing arguments to clamp function."),s.length>3&&Z("Too many arguments to clamp function.");const o=s.map(e);return"Math.max("+o[1]+", Math.min("+o[2]+","+o[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",i,0),lower:n("toLowerCase",i,0),substring:n("substring",i),split:n("split",i),trim:n("trim",i,0),regexp:a,test:n("test",a),if:function(s){s.length<3&&Z("Missing arguments to if function."),s.length>3&&Z("Too many arguments to if function.");const o=s.map(e);return"("+o[0]+"?"+o[1]+":"+o[2]+")"}}}function Z3e(e){const t=(e=e||{}).allowed?Pi(e.allowed):{},n=e.forbidden?Pi(e.forbidden):{},r=e.constants||X3e,i=(e.functions||Q3e)(f),a=e.globalvar,s=e.fieldvar,o=et(a)?a:p=>`${a}["${p}"]`;let c={},l={},u=0;function f(p){if(ge(p))return p;const m=d[p.type];return null==m&&Z("Unsupported type: "+p.type),m(p)}const d={Literal:p=>p.raw,Identifier:p=>{const m=p.name;return u>0?m:Ne(n,m)?Z("Illegal identifier: "+m):Ne(r,m)?r[m]:Ne(t,m)?m:(c[m]=1,o(m))},MemberExpression:p=>{const m=!p.computed,g=f(p.object);m&&(u+=1);const v=f(p.property);return g===s&&(l[function x5t(e){const t=e&&e.length-1;return t&&('"'===e[0]&&'"'===e[t]||"'"===e[0]&&"'"===e[t])?e.slice(1,-1):e}(v)]=1),m&&(u-=1),g+(m?"."+v:"["+v+"]")},CallExpression:p=>{"Identifier"!==p.callee.type&&Z("Illegal callee type: "+p.callee.type);const m=p.callee.name,g=p.arguments,v=Ne(i,m)&&i[m];return v||Z("Unrecognized function: "+m),et(v)?v(g):v+"("+g.map(f).join(",")+")"},ArrayExpression:p=>"["+p.elements.map(f).join(",")+"]",BinaryExpression:p=>"("+f(p.left)+" "+p.operator+" "+f(p.right)+")",UnaryExpression:p=>"("+p.operator+f(p.argument)+")",ConditionalExpression:p=>"("+f(p.test)+"?"+f(p.consequent)+":"+f(p.alternate)+")",LogicalExpression:p=>"("+f(p.left)+p.operator+f(p.right)+")",ObjectExpression:p=>"{"+p.properties.map(f).join(",")+"}",Property:p=>{u+=1;const m=f(p.key);return u-=1,m+":"+f(p.value)}};function h(p){const m={code:f(p),globals:Object.keys(c),fields:Object.keys(l)};return c={},l={},m}return h.functions=i,h.constants=r,h}var K3e,J3e,$A,BA,UA,My=new S1,_y=new S1,ps={point:E1,lineStart:E1,lineEnd:E1,polygonStart:function(){My=new S1,ps.lineStart=z5t,ps.lineEnd=H5t},polygonEnd:function(){var e=+My;_y.add(e<0?v2+e:e),this.lineStart=this.lineEnd=this.point=E1},sphere:function(){_y.add(v2)}};function z5t(){ps.point=S5t}function H5t(){e4e(K3e,J3e)}function S5t(e,t){ps.point=e4e,K3e=e,J3e=t,$A=e*=nt,BA=Oe(t=(t*=nt)/2+vv),UA=Le(t)}function e4e(e,t){var n=(e*=nt)-$A,r=n>=0?1:-1,i=r*n,a=Oe(t=(t*=nt)/2+vv),s=Le(t),o=UA*s,c=BA*a+o*Oe(i),l=o*r*Le(i);My.add(fi(l,c)),$A=e,BA=a,UA=s}var yn,rr,Hn,Or,dl,t4e,n4e,Mu,W7,d3,Ho,So={point:jA,lineStart:i4e,lineEnd:a4e,polygonStart:function(){So.point=s4e,So.lineStart=V5t,So.lineEnd=D5t,W7=new S1,ps.polygonStart()},polygonEnd:function(){ps.polygonEnd(),So.point=jA,So.lineStart=i4e,So.lineEnd=a4e,My<0?(yn=-(Hn=180),rr=-(Or=90)):W7>Ie?Or=90:W7<-Ie&&(rr=-90),Ho[0]=yn,Ho[1]=Hn},sphere:function(){yn=-(Hn=180),rr=-(Or=90)}};function jA(e,t){d3.push(Ho=[yn=e,Hn=e]),tOr&&(Or=t)}function r4e(e,t){var n=X4([e*nt,t*nt]);if(Mu){var r=au(Mu,n),a=au([r[1],-r[0],0],r);Av(a),a=Vv(a);var l,s=e-dl,o=s>0?1:-1,c=a[0]*Nn*o,u=dt(s)>180;u^(o*dlOr&&(Or=l):u^(o*dl<(c=(c+360)%360-180)&&cOr&&(Or=t)),u?ePr(yn,Hn)&&(Hn=e):Pr(e,Hn)>Pr(yn,Hn)&&(yn=e):Hn>=yn?(eHn&&(Hn=e)):e>dl?Pr(yn,e)>Pr(yn,Hn)&&(Hn=e):Pr(e,Hn)>Pr(yn,Hn)&&(yn=e)}else d3.push(Ho=[yn=e,Hn=e]);tOr&&(Or=t),Mu=n,dl=e}function i4e(){So.point=r4e}function a4e(){Ho[0]=yn,Ho[1]=Hn,So.point=jA,Mu=null}function s4e(e,t){if(Mu){var n=e-dl;W7.add(dt(n)>180?n+(n>0?360:-360):n)}else t4e=e,n4e=t;ps.point(e,t),r4e(e,t)}function V5t(){ps.lineStart()}function D5t(){s4e(t4e,n4e),ps.lineEnd(),dt(W7)>Ie&&(yn=-(Hn=180)),Ho[0]=yn,Ho[1]=Hn,Mu=null}function Pr(e,t){return(t-=e)<0?t+360:t}function L5t(e,t){return e[0]-t[0]}function o4e(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:tt.indexOf(n)>=0):t},R_union:function(e,t){var n=$1(t[0]),r=$1(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?(e[0]>n&&(e[0]=n),e[1]r&&(n=t[1],r=t[0]),e.length?rr&&(e[1]=r),e):[n,r]}};function ZA(e,t,n,r){t[0].type!==cl&&Z("First argument to selection functions must be a string literal.");const i=t[0].value,s="unit",o="@"+s,c=":"+i;(t.length>=2&&ft(t).value)===XA&&!Ne(r,o)&&(r[o]=n.getData(i).indataRef(n,s)),Ne(r,c)||(r[c]=n.getData(i).tuplesRef())}function C4e(e){const t=this.context.data[e];return t?t.values.value:[]}const Z7=e=>function(t,n){return this.context.dataflow.locale()[e](n)(t)},o7t=Z7("format"),b4e=Z7("timeFormat"),c7t=Z7("utcFormat"),l7t=Z7("timeParse"),u7t=Z7("utcParse"),Ly=new Date(2e3,0,1);function Ay(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)?(Ly.setYear(2e3),Ly.setMonth(e),Ly.setDate(t),b4e.call(this,Ly,n)):""}const KA="%",M4e="$";function JA(e,t,n,r){t[0].type!==cl&&Z("First argument to data functions must be a string literal.");const i=t[0].value,a=":"+i;if(!Ne(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function V2(e,t,n,r){if(t[0].type===cl)_4e(n,r,t[0].value);else for(e in n.scales)_4e(n,r,e)}function _4e(e,t,n){const r=KA+n;if(!Ne(t,r))try{t[r]=e.scaleRef(n)}catch{}}function gs(e,t){if(et(e))return e;if(ge(e)){const n=t.scales[e];return n&&function Eot(e){return e&&!0===e[zie]}(n.value)?n.value:void 0}}function eN(e,t){return function(n,r,i){if(n){const a=gs(n,(i||this).context);return a&&a.path[e](r)}return t(r)}}const C7t=eN("area",function E5t(e){return _y=new S1,Mo(e,ps),2*_y}),b7t=eN("bounds",function A5t(e){var t,n,r,i,a,s,o;if(Or=Hn=-(yn=rr=1/0),d3=[],Mo(e,So),n=d3.length){for(d3.sort(L5t),t=1,a=[r=d3[0]];tPr(r[0],r[1])&&(r[1]=i[1]),Pr(i[0],r[1])>Pr(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(s=-1/0,t=0,r=a[n=a.length-1];t<=n;r=i,++t)(o=Pr(r[1],(i=a[t])[0]))>s&&(s=o,yn=i[0],Hn=r[1])}return d3=Ho=null,yn===1/0||rr===1/0?[[NaN,NaN],[NaN,NaN]]:[[yn,rr],[Hn,Or]]}),M7t=eN("centroid",function R5t(e){Y7=wy=xy=zy=Hy=Sy=Ey=Vy=0,qA=new S1,GA=new S1,WA=new S1,Mo(e,ta);var t=+qA,n=+GA,r=+WA,i=DD(t,n,r);return ix4e(e,t)}const H4e={};function iN(e){return K(e)||ArrayBuffer.isView(e)?e:null}function aN(e){return iN(e)||(ge(e)?e:null)}const S4e=e=>e.data;function E4e(e,t){const n=C4e.call(t,e);return n.root&&n.root.lookup||{}}const V4e=()=>typeof window<"u"&&window||null;function D4e(e,t,n){if(!e)return[];const[r,i]=e,a=(new On).set(r[0],r[1],i[0],i[1]);return dse(n||this.context.dataflow.scenegraph().root,a,function tdt(e){let t=null;if(e){const n=me(e.marktype),r=me(e.markname);t=i=>(!n.length||n.some(a=>i.marktype===a))&&(!r.length||r.some(a=>i.name===a))}return t}(t))}const K7={random:()=>ai(),cumulativeNormal:Ym,cumulativeLogNormal:PS,cumulativeUniform:jS,densityNormal:TS,densityLogNormal:OS,densityUniform:US,quantileNormal:Xm,quantileLogNormal:$S,quantileUniform:qS,sampleNormal:Wm,sampleLogNormal:RS,sampleUniform:BS,isArray:K,isBoolean:xc,isDate:zc,isDefined:e=>void 0!==e,isNumber:vt,isObject:ye,isRegExp:ane,isString:ge,isTuple:Om,isValid:e=>null!=e&&e==e,toBoolean:IH,toDate:e=>FH(e),toNumber:$1,toString:RH,indexof:function T7t(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;rYa(e),inScope:function w7t(e){const t=this.context.group;let n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n},intersect:D4e,clampRange:tne,pinchDistance:function L7t(e){const t=e.touches;return Math.hypot(t[0].clientX-t[1].clientX,t[0].clientY-t[1].clientY)},pinchAngle:function A7t(e){const t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)},screen:function K7t(){const e=V4e();return e?e.screen:{}},containerSize:function edt(){const e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]},windowSize:function J7t(){const e=V4e();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]},bandspace:function P7t(e,t,n){return cV(e||0,t||0,n||0)},setdata:function a7t(e,t){const n=this.context.dataflow;return n.pulse(this.context.data[e].input,n.changeset().remove(ni).insert(t)),1},pathShape:function X7t(e){let t=null;return function(n){return n?G5(n,t=t||W6(e)):e}},panLinear:Xte,panLog:Qte,panPow:Zte,panSymlog:Kte,zoomLinear:DH,zoomLog:LH,zoomPow:Cm,zoomSymlog:AH,encode:function s7t(e,t,n){if(e){const r=this.context.dataflow;r.pulse(e.mark.source,r.changeset().encode(e,t))}return void 0!==n?n:e},modify:function D7t(e,t,n,r,i,a){const s=this.context.dataflow,o=this.context.data[e],c=o.input,l=s.stamp();let f,d,u=o.changes;if(!1===s._trigger||!(c.value.length||t||r))return 0;if((!u||u.stamp{o.modified=!0,s.pulse(c,u).run()},!0,1)),n&&(f=!0===n?ni:K(n)||Om(n)?n:z4e(n),u.remove(f)),t&&u.insert(t),r&&(f=z4e(r),c.value.some(f)?u.remove(f):u.insert(r)),i)for(d in a)u.modify(i,d,a[d]);return 1},lassoAppend:function ndt(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;const i=(e=me(e))[e.length-1];return void 0===i||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e},lassoPath:function rdt(e){return me(e).reduce((t,n,r)=>{let[i,a]=n;return t+(0==r?`M ${i},${a} `:r===e.length-1?" Z":`L ${i},${a} `)},"")},intersectLasso:function idt(e,t,n){const{x:r,y:i,mark:a}=n,s=(new On).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[c,l]of t)cs.x2&&(s.x2=c),ls.y2&&(s.y2=l);return s.translate(r,i),D4e([[s.x1,s.y1],[s.x2,s.y2]],e,a).filter(c=>function adt(e,t,n){let r=0;for(let i=0,a=n.length-1;it!=o>t&&e<(s-c)*(t-l)/(o-l)+c&&r++}return 1&r}(c.x,c.y,t))}},sdt=["view","item","group","xy","x","y"],L4e="this.",sN={},A4e={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${ue(M4e+e)}]`,functions:function cdt(e){const t=Q3e(e);sdt.forEach(n=>t[n]="event.vega."+n);for(const n in K7)t[n]=L4e+n;return tt(t,function y7t(e,t,n){t.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,n._bandwidth=V2,n._range=V2,n._scale=V2;const r=i=>"_["+(i.type===cl?ue(KA+i.value):ue(KA)+"+"+e(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${e(i[1])})`}}(e,K7,sN)),t},constants:X3e,visitors:sN},oN=Z3e(A4e);function kn(e,t,n){return 1===arguments.length?K7[e]:(K7[e]=t,n&&(sN[e]=n),oN&&(oN.functions[e]=L4e+e),this)}function vs(e,t){const n={};let r;try{r=PA(e=ge(e)?e:ue(e)+"")}catch{Z("Expression parse error: "+e)}r.visit(a=>{if(a.type!==T3e)return;const s=a.callee.name,o=A4e.visitors[s];o&&o(s,a.arguments,t,n)});const i=oN(r);return i.globals.forEach(a=>{const s=M4e+a;!Ne(n,s)&&t.getSignal(a)&&(n[s]=t.signalRef(a))}),{$expr:tt({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}kn("bandwidth",function $7t(e,t){const n=gs(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0},V2),kn("copy",function B7t(e,t){const n=gs(e,(t||this).context);return n?n.copy():void 0},V2),kn("domain",function U7t(e,t){const n=gs(e,(t||this).context);return n?n.domain():[]},V2),kn("range",function q7t(e,t){const n=gs(e,(t||this).context);return n&&n.range?n.range():[]},V2),kn("invert",function j7t(e,t,n){const r=gs(e,(n||this).context);return r?K(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0},V2),kn("scale",function G7t(e,t,n){const r=gs(e,(n||this).context);return r?r(t):void 0},V2),kn("gradient",function W7t(e,t,n,r,i){e=gs(e,(i||this).context);const a=Yie(t,n);let s=e.domain(),o=s[0],c=ft(s),l=P1;return c-o?l=Nie(e,o,c):e=(e.interpolator?bt("sequential")().interpolator(e.interpolator()):bt("linear")().interpolate(e.interpolate()).range(e.range())).domain([o=0,c=1]),e.ticks&&(s=e.ticks(+r||15),o!==s[0]&&s.unshift(o),c!==ft(s)&&s.push(c)),s.forEach(u=>a.stop(l(u),e(u))),a},V2),kn("geoArea",C7t,V2),kn("geoBounds",b7t,V2),kn("geoCentroid",M7t,V2),kn("geoShape",function Y7t(e,t,n){const r=gs(e,(n||this).context);return function(i){return r?r.path.context(i)(t):""}},V2),kn("geoScale",function _7t(e,t){const n=gs(e,(t||this).context);return n&&n.scale()},V2),kn("indata",function i7t(e,t,n){const r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i&&i.count},function v7t(e,t,n,r){t[0].type!==cl&&Z("First argument to indata must be a string literal."),t[1].type!==cl&&Z("Second argument to indata must be a string literal.");const i=t[0].value,a=t[1].value,s="@"+a;Ne(s,r)||(r[s]=n.getData(i).indataRef(n,a))}),kn("data",C4e,JA),kn("treePath",function Q7t(e,t,n){const r=E4e(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(S4e):void 0},JA),kn("treeAncestors",function Z7t(e,t){const n=E4e(e,this)[t];return n?n.ancestors().map(S4e):void 0},JA),kn("vlSelectionTest",function Q5t(e,t,n){for(var l,u,f,d,h,r=this.context.data[e],i=r?r.values.value:[],a=r?r[Dy]&&r[Dy].value:void 0,s=n===XA,o=i.length,c=0;c(_[u[V].field]=z,_),{}))}else h=ms,p=Q7(l),(g=(m=s[h]||(s[h]={}))[d]||(m[d]=[])).push(p),n&&(g=o[d]||(o[d]=[])).push({[ms]:p});return t=t||"union",s[ms]?s[ms]=QA[`${ms}_${t}`](...Object.values(s[ms])):Object.keys(s).forEach(_=>{s[_]=Object.keys(s[_]).map(z=>s[_][z]).reduce((z,V)=>void 0===z?V:QA[`${c[_]}_${t}`](z,V))}),a=Object.keys(o),n&&a.length&&(s[r?"vlPoint":"vlMulti"]="union"===t?{or:a.reduce((z,V)=>(z.push(...o[V]),z),[])}:{and:a.map(z=>({or:o[z]}))}),s},ZA),kn("vlSelectionTuples",function e7t(e,t){return e.map(n=>tt(t.fields?{values:t.fields.map(r=>p4e(r)(n.datum))}:{[ms]:Q7(n.datum)},t))});const udt=Pi(["rule"]),N4e=Pi(["group","image","rect"]);function cN(e){return(e+"").toLowerCase()}function J7(e,t,n){n.endsWith(";")||(n="return("+n+");");const r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}var mdt={operator:(e,t)=>J7(e,["_"],t.code),parameter:(e,t)=>J7(e,["datum","_"],t.code),event:(e,t)=>J7(e,["event"],t.code),handler:(e,t)=>J7(e,["_","event"],`var datum=event.item&&event.item.datum;return ${t.code};`),encode:(e,t)=>{const{marktype:n,channels:r}=t;let i="var o=item,datum=o.datum,m=0,$;";for(const a in r){const s="o["+ue(a)+"]";i+=`$=${r[a].code};if(${s}!==$)${s}=$,m=1;`}return i+=function fdt(e,t){let n="";return udt[t]||(e.x2&&(e.x?(N4e[t]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),e.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(N4e[t]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),e.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n}(r,n),i+="return m;",J7(e,["item","_"],i)},codegen:{get(e){const t=`[${e.map(ue).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n;const i=Function("a","b","var u, v; return "+e.map((a,s)=>{const o=t[s];let c,l;return a.path?(c=`a${a.path}`,l=`b${a.path}`):((n=n||{})["f"+s]=a,c=`this.f${s}(a)`,l=`this.f${s}(b)`),function pdt(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${r}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${r} : `}(c,l,-o,o)}).join("")+"0;");return n?i.bind(n):i}}};function k4e(e,t,n){if(!e||!ye(e))return e;for(let a,r=0,i=T4e.length;ri&&i.$tupleid?ke:i);return t.fn[n]||(t.fn[n]=NH(r,e.$order,t.expr.codegen))}},{key:"$context",parse:function zdt(e,t){return t}},{key:"$subflow",parse:function Hdt(e,t){const n=e.$subflow;return function(r,i,a){const s=t.fork().parse(n),o=s.get(n.operators[0].id),c=s.signals.parent;return c&&c.set(a),o.detachSubflow=()=>t.detach(s),o}}},{key:"$tupleid",parse:function Sdt(){return ke}}];const Ddt={skip:!0};function I4e(e,t,n,r){return new F4e(e,t,n,r)}function F4e(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||mdt,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function R4e(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}function O4e(e,t){e&&(null==t?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}F4e.prototype=R4e.prototype={fork(){const e=new R4e(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(n=>n!==e);const t=Object.keys(e.nodes);for(const n of t)e.nodes[n]._targets=null;for(const n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){const n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),function hdt(e){return"collect"===cN(e)}(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let a=n.get(e.parent.$ref);a?(r.connect(a,[t]),t.targets().add(a)):(n.unresolved=n.unresolved||[]).push(()=>{a=n.get(e.parent.$ref),r.connect(a,[t]),t.targets().add(a)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(const a in e.data){const s=n.data[a]||(n.data[a]={});e.data[a].forEach(o=>s[o]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[cN(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:function ldt(e){const t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(r=>t.parseOperator(r)),n.forEach(r=>t.parseOperatorParameters(r)),(e.streams||[]).forEach(r=>t.parseStream(r)),(e.updates||[]).forEach(r=>t.parseUpdate(r)),t.resolve()},parseOperator:function gdt(e){const t=this;!function ddt(e){return"operator"===cN(e)}(e.type)&&e.type?t.transform(e,e.type):t.operator(e,e.update?t.operatorExpression(e.update):null)},parseOperatorParameters:function vdt(e){const t=this;if(e.params){const n=t.get(e.id);n||Z("Invalid operator id: "+e.id),t.dataflow.connect(n,n.parameters(t.parseParameters(e.params),e.react,e.initonly))}},parseParameters:function ydt(e,t){t=t||{};const n=this;for(const r in e){const i=e[r];t[r]=K(i)?i.map(a=>k4e(a,n,t)):k4e(i,n,t)}return t},parseStream:function Edt(e){var i,t=this,n=null!=e.filter?t.eventExpression(e.filter):void 0,r=null!=e.stream?t.get(e.stream):void 0;e.source?r=t.events(e.source,e.type,n):e.merge&&(r=(i=e.merge.map(a=>t.get(a)))[0].merge.apply(i[0],i.slice(1))),e.between&&(i=e.between.map(a=>t.get(a)),r=r.between(i[0],i[1])),e.filter&&(r=r.filter(n)),null!=e.throttle&&(r=r.throttle(+e.throttle)),null!=e.debounce&&(r=r.debounce(+e.debounce)),null==r&&Z("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),t.stream(e,r)},parseUpdate:function Vdt(e){var i,t=this,n=ye(n=e.source)?n.$ref:n,r=t.get(n),a=e.update,s=void 0;r||Z("Source not defined: "+e.source),i=e.target&&e.target.$expr?t.eventExpression(e.target.$expr):t.get(e.target),a&&a.$expr&&(a.$params&&(s=t.parseParameters(a.$params)),a=t.handlerExpression(a.$expr)),t.update(e,r,i,a,s)},getState:function Ldt(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(a=>{const s=t.signals[a];e.signals(a,s)&&(r[a]=s.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(a=>{const s=t.data[a];e.data(a,s)&&(i[a]=s.input.value)})}return t.subcontext&&!1!==e.recurse&&(n.subcontext=t.subcontext.map(a=>a.getState(e))),n},setState:function Adt(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(a=>{n.update(t.signals[a],i[a],Ddt)}),Object.keys(r||{}).forEach(a=>{n.pulse(t.data[a].input,n.changeset().remove(ni).insert(r[a]))}),(e.subcontext||[]).forEach((a,s)=>{const o=t.subcontext[s];o&&o.setState(a)})}};const lN="default";function uN(e,t){const n=e.globalCursor()?typeof document<"u"&&document.body:e.container();if(n)return null==t?n.style.removeProperty("cursor"):n.style.cursor=t}function Ny(e,t){var n=e._runtime.data;return Ne(n,t)||Z("Unrecognized data set: "+t),n[t]}function ky(e,t){L1e(t)||Z("Second argument to changes must be a changeset.");const n=Ny(this,e);return n.modified=!0,this.pulse(n.input,t)}function P4e(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function $4e(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function Ty(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}const qdt={trap:!1};function U4e(e,t,n,r){e._eventListeners.push({type:n,sources:me(t),handler:r})}function Iy(e,t,n){const r=e._eventConfig&&e._eventConfig[t];return!(!1===r||ye(r)&&!r[n])||(e.warn(`Blocked ${t} ${n} event listener.`),!1)}function j4e(e){return e.item}function q4e(e){return e.item.mark.source}function G4e(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function $r(e,t,n){const r=document.createElement(e);for(const i in t)r.setAttribute(i,t[i]);return null!=n&&(r.textContent=n),r}const Zdt="vega-bind",Kdt="vega-bind-name",Jdt="vega-bind-radio";function eht(e,t,n){if(!t)return;const r=n.param;let i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:s=>{s!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,s)})}},r.debounce&&(i.update=kH(r.debounce,i.update))),(null==r.input&&r.element?tht:rht)(i,t,r,e),i.active||(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),i.active=!0),i}function tht(e,t,n,r){const i=n.event||"input",a=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,a),U4e(r,t,i,a),e.set=s=>{t.value=s,t.dispatchEvent(function nht(e){return typeof Event<"u"?new Event(e):{type:e}}(i))}}function rht(e,t,n,r){const i=r.signal(n.signal),a=$r("div",{class:Zdt}),s="radio"===n.input?a:a.appendChild($r("label"));s.appendChild($r("span",{class:Kdt},n.name||n.signal)),t.appendChild(a);let o=iht;switch(n.input){case"checkbox":o=aht;break;case"select":o=sht;break;case"radio":o=oht;break;case"range":o=cht}o(e,s,n,i)}function iht(e,t,n,r){const i=$r("input");for(const a in n)"signal"!==a&&"element"!==a&&i.setAttribute("input"===a?"type":a,n[a]);i.setAttribute("name",n.signal),i.value=r,t.appendChild(i),i.addEventListener("input",()=>e.update(i.value)),e.elements=[i],e.set=a=>i.value=a}function aht(e,t,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const a=$r("input",i);t.appendChild(a),a.addEventListener("change",()=>e.update(a.checked)),e.elements=[a],e.set=s=>a.checked=!!s||null}function sht(e,t,n,r){const i=$r("select",{name:n.signal}),a=n.labels||[];n.options.forEach((s,o)=>{const c={value:s};Fy(s,r)&&(c.selected=!0),i.appendChild($r("option",c,(a[o]||s)+""))}),t.appendChild(i),i.addEventListener("change",()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=s=>{for(let o=0,c=n.options.length;o{const c={type:"radio",name:n.signal,value:s};Fy(s,r)&&(c.checked=!0);const l=$r("input",c);l.addEventListener("change",()=>e.update(s));const u=$r("label",{},(a[o]||s)+"");return u.prepend(l),i.appendChild(u),l}),e.set=s=>{const o=e.elements,c=o.length;for(let l=0;l{c.textContent=o.value,e.update(+o.value)};o.addEventListener("input",l),o.addEventListener("change",l),e.elements=[o],e.set=u=>{o.value=u,c.textContent=u}}function Fy(e,t){return e===t||e+""==t+""}function W4e(e,t,n,r,i,a){return(t=t||new r(e.loader())).initialize(n,P4e(e),$4e(e),Ty(e),i,a).background(e.background())}function fN(e,t){return t?function(){try{t.apply(this,arguments)}catch(n){e.error(n)}}:null}function dN(e,t,n){if("string"==typeof t){if(!(typeof document<"u"))return e.error("DOM document instance not found."),null;if(!(t=document.querySelector(t)))return e.error("Signal bind element not found: "+t),null}if(t&&n)try{t.textContent=""}catch(r){t=null,e.error(r)}return t}const ed=e=>+e||0;function Y4e(e){return ye(e)?{top:ed(e.top),bottom:ed(e.bottom),left:ed(e.left),right:ed(e.right)}:(e=>({top:e,bottom:e,left:e,right:e}))(ed(e))}function hN(e,t,n,r){return pN.apply(this,arguments)}function pN(){return pN=Rn(function*(e,t,n,r){const i=lv(t),a=i&&i.headless;return a||Z("Unrecognized renderer type: "+t),yield e.runAsync(),W4e(e,null,null,a,n,r).renderAsync(e._scenegraph.root)}),pN.apply(this,arguments)}function mN(){return mN=Rn(function*(e,t){e!==Zc.Canvas&&e!==Zc.SVG&&e!==Zc.PNG&&Z("Unrecognized image type: "+e);const n=yield hN(this,e,t);return e===Zc.SVG?function hht(e,t){const n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}),mN.apply(this,arguments)}function gN(){return gN=Rn(function*(e,t){return(yield hN(this,Zc.Canvas,e,t)).canvas()}),gN.apply(this,arguments)}function vN(){return vN=Rn(function*(e){return(yield hN(this,Zc.SVG,e)).svg()}),vN.apply(this,arguments)}var X4e="width",Q4e="height",yN="padding",Z4e={skip:!0};function K4e(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===yN?r.left+r.right:0)}function J4e(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===yN?r.top+r.bottom:0)}function Mht(e,t){return t.modified&&K(t.input.value)&&e.indexOf("_:vega:_")}function _ht(e,t){return!("parent"===e||t instanceof I6.proxy)}function zht(e,t,n,r){const i=e.element();i&&i.setAttribute("title",function Hht(e){return null==e?"":K(e)?ele(e):ye(e)&&!zc(e)?function Sht(e){return Object.keys(e).map(t=>{const n=e[t];return t+": "+(K(n)?ele(n):tle(n))}).join("\n")}(e):e+""}(r))}function ele(e){return"["+e.map(tle).join(", ")+"]"}function tle(e){return K(e)?"[\u2026]":ye(e)&&!zc(e)?"{\u2026}":e}function nle(e,t){const n=this;if(t=t||{},T6.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),null!=t.logLevel&&n.logLevel(t.logLevel),t.locale||e.locale){const a=tt({},e.locale,t.locale);n.locale(C1e(a.number,a.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||Zc.Canvas,n._scenegraph=new ZV;const r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||zht,n._redraw=!0,n._handler=(new Xc).scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=function Gdt(e){const t=tt({defaults:{}},e),n=(r,i)=>{i.forEach(a=>{K(r[a])&&(r[a]=Pi(r[a]))})};return n(t.defaults,["prevent","allow"]),n(t,["view","window","selector"]),t}(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=function ght(e,t,n){return I4e(e,I6,K7,n).parse(t)}(n,e,t.expr);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(a=>({state:null,param:tt({},a)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=K4e(n,n._width),n._viewHeight=J4e(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,function yht(e){var t=e._signals,n=t[X4e],r=t[Q4e],i=t[yN];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,o=>{e._width=o.size,e._viewWidth=K4e(e,o.size),a()},{size:n}),e._resizeHeight=e.add(null,o=>{e._height=o.size,e._viewHeight=J4e(e,o.size),a()},{size:r});const s=e.add(null,a,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,s.rank=i.rank+1}(n),function Tdt(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}(n),function Idt(e){const t=e._signals.cursor||(e._signals.cursor=e.add({user:lN,item:null}));e.on(e.events("view","mousemove"),t,(n,r)=>{const i=t.value,a=i?ge(i)?i:i.user:lN,s=r.item&&r.item.cursor||null;return i&&a===i.user&&s==i.item?i:{user:a,item:s}}),e.add(null,function(n){let r=n.cursor,i=this.value;return ge(r)||(i=r.item,r=r.user),uN(e,r&&r!==lN?r:i||r),i},{cursor:t})}(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind)}function Ry(e,t){return Ne(e._signals,t)?e._signals[t]:Z("Unrecognized signal name: "+ue(t))}function rle(e,t){const n=(e._targets||[]).filter(r=>r._update&&r._update.handler===t);return n.length?n[0]:null}function ile(e,t,n,r){let i=rle(n,r);return i||(i=fN(e,()=>r(t,n.value)),i.handler=r,e.on(n,null,i)),e}function ale(e,t,n){const r=rle(t,n);return r&&t._targets.remove(r),e}le(nle,T6,{evaluate(e,t,n){var r=this;return Rn(function*(){if(yield T6.prototype.evaluate.call(r,e,t),r._redraw||r._resize)try{r._renderer&&(r._resize&&(r._resize=0,function Pdt(e){var t=Ty(e),n=P4e(e),r=$4e(e);e._renderer.background(e.background()),e._renderer.resize(n,r,t),e._handler.origin(t),e._resizeListeners.forEach(i=>{try{i(n,r)}catch(a){e.error(a)}})}(r)),yield r._renderer.renderAsync(r._scenegraph.root)),r._redraw=!1}catch(i){r.error(i)}return n&&Rm(r,n),r})()},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){const t=null!=e?e+"":null;return t!==this._desc&&O4e(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){const r=Ry(this,e);return 1===arguments.length?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",Y4e(e)):Y4e(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(lv(e)||Z("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(T6.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(Ry(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function Cht(e,t,n,r,i,a){this.runAfter(s=>{let o=0;s._autosize=0,s.width()!==n&&(o=1,s.signal(X4e,n,Z4e),s._resizeWidth.skip(!0)),s.height()!==r&&(o=1,s.signal(Q4e,r,Z4e),s._resizeHeight.skip(!0)),s._viewWidth!==e&&(s._resize=1,s._viewWidth=e),s._viewHeight!==t&&(s._resize=1,s._viewHeight=t),(s._origin[0]!==i[0]||s._origin[1]!==i[1])&&(s._resize=1,s._origin=i),o&&s.run("enter"),a&&s.runAfter(c=>c.resize())},!1,1)},addEventListener(e,t,n){let r=t;return n&&!1===n.trap||(r=fN(this,t),r.raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var i,a,n=this._handler.handlers(e),r=n.length;--r>=0;)if(i=n[r].handler,e===(a=n[r].type)&&(t===i||t===i.raw)){this._handler.off(a,i);break}return this},addResizeListener(e){const t=this._resizeListeners;return t.indexOf(e)<0&&t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return ile(this,e,Ry(this,e),t)},removeSignalListener(e,t){return ale(this,Ry(this,e),t)},addDataListener(e,t){return ile(this,e,Ny(this,e).values,t)},removeDataListener(e,t){return ale(this,Ny(this,e).values,t)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){const t=uN(this,null);this._globalCursor=!!e,t&&uN(this,t)}return this}return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:function xht(e,t){this._timers.push(function Ndt(e,t,n){var r=new Wv,i=t;return null==t?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(a,s,o){s=+s,o=null==o?vL():+o,r._restart(function c(l){l+=i,r._restart(c,i+=s,o),a(l)},s,o)},r.restart(e,t,n),r)}(function n(r){e({timestamp:Date.now(),elapsed:r})},t))},events:function Ydt(e,t,n){var s,r=this,i=new Um(n),a=function(l,u){r.runAsync(null,()=>{"view"===e&&function Wdt(e,t){var n=e._eventConfig.defaults,r=n.prevent,i=n.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[t]:i?!i[t]:e.preventDefault()))}(r,t)&&l.preventDefault(),i.receive(function $dt(e,t,n){var a,o,r=e._renderer,i=r&&r.canvas();return i&&(o=Ty(e),(a=Zg(t.changedTouches?t.changedTouches[0]:t,i))[0]-=o[0],a[1]-=o[1]),t.dataflow=e,t.item=n,t.vega=function Bdt(e,t,n){const r=t?"group"===t.mark.marktype?t:t.mark.group:null;function i(s){var c,o=r;if(s)for(c=t;c;c=c.mark.group)if(c.mark.name===s){o=c;break}return o&&o.mark&&o.mark.interactive?o:{}}function a(s){if(!s)return n;ge(s)&&(s=i(s));const o=n.slice();for(;s;)o[0]-=s.x||0,o[1]-=s.y||0,s=s.mark&&s.mark.group;return o}return{view:B1(e),item:B1(t||{}),group:i,xy:a,x:s=>a(s)[0],y:s=>a(s)[1]}}(e,n,a),t}(r,l,u))})};if("timer"===e)Iy(r,"timer",t)&&r.timer(a,t);else if("view"===e)Iy(r,"view",t)&&r.addEventListener(t,a,qdt);else if("window"===e?Iy(r,"window",t)&&typeof window<"u"&&(s=[window]):typeof document<"u"&&Iy(r,"selector",t)&&(s=Array.from(document.querySelectorAll(e))),s){for(var o=0,c=s.length;o=0;)t[r].stop();for(r=n.length;--r>=0;)for(i=(a=n[r]).sources.length;--i>=0;)a.sources[i].removeEventListener(a.type,a.handler);return e&&e.call(this,this._handler,null,null,null),this},hover:function Xdt(e,t){return t=[t||"update",(e=[e||"hover"])[0]],this.on(this.events("view","mouseover",j4e),q4e,G4e(e)),this.on(this.events("view","mouseout",j4e),q4e,G4e(t)),this},data:function Fdt(e,t){return arguments.length<2?Ny(this,e).values.value:ky.call(this,e,L4().remove(ni).insert(t))},change:ky,insert:function Rdt(e,t){return ky.call(this,e,L4().insert(t))},remove:function Odt(e,t){return ky.call(this,e,L4().remove(t))},scale:function vht(e){var t=this._runtime.scales;return Ne(t,e)||Z("Unrecognized scale or projection: "+e),t[e].value},initialize:function uht(e,t){const n=this,r=n._renderType,i=n._eventConfig.bind,a=lv(r);e=n._el=e?dN(n,e,!0):null,function kdt(e){const t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),O4e(t,e.description()))}(n),a||n.error("Unrecognized renderer type: "+r);const s=a.handler||Xc,o=e?a.renderer:a.headless;return n._renderer=o?W4e(n,n._renderer,e,o):null,n._handler=function lht(e,t,n,r){const i=new r(e.loader(),fN(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,Ty(e),e);return t&&t.handlers().forEach(a=>{i.on(a.type,a.handler)}),i}(n,n._handler,e,s),n._redraw=!0,e&&"none"!==i&&(t=t?n._elBind=dN(n,t,!0):e.appendChild($r("form",{class:"vega-bindings"})),n._bind.forEach(c=>{c.param.element&&"container"!==i&&(c.element=dN(n,c.param.element,!!c.param.input))}),n._bind.forEach(c=>{eht(n,c.element||t,c)})),n},toImageURL:function dht(e,t){return mN.apply(this,arguments)},toCanvas:function pht(e,t){return gN.apply(this,arguments)},toSVG:function mht(e){return vN.apply(this,arguments)},getState:function bht(e){return this._runtime.getState(e||{data:Mht,signals:_ht,recurse:!0})},setState:function wht(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},t=>{t._trigger=!0}),this}});const Eht="view",Oy="[",Py="]",sle="{",ole="}",Vht=":",cle=",",Dht="@",Lht=">",Aht=/[[\]{}]/,Nht={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let lle,ule;function h3(e,t,n){return lle=t||Eht,ule=n||Nht,fle(e.trim()).map(CN)}function td(e,t,n,r,i){const a=e.length;let o,s=0;for(;t=0?--s:r&&r.indexOf(o)>=0&&++s}return t}function fle(e){const t=[],n=e.length;let r=0,i=0;for(;i' after between selector: "+e;r=r.map(CN);const i=CN(e.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}(e):function Iht(e){const t={source:lle},n=[];let c,l,r=[0,0],i=0,a=0,s=e.length,o=0;if(e[s-1]===ole){if(o=e.lastIndexOf(sle),!(o>=0))throw"Unmatched right brace: "+e;try{r=function Fht(e){const t=e.split(cle);if(!e.length||t.length>2)throw e;return t.map(n=>{const r=+n;if(r!=r)throw e;return r})}(e.substring(o+1,s-1))}catch{throw"Invalid throttle specification: "+e}s=(e=e.slice(0,o).trim()).length,o=0}if(!s)throw e;if(e[0]===Dht&&(i=++o),c=td(e,o,Vht),c1?(t.type=n[1],i?t.markname=n[0].slice(1):function kht(e){return ule[e]}(n[0])?t.marktype=n[0]:t.source=n[0]):t.type=n[0],"!"===t.type.slice(-1)&&(t.consume=!0,t.type=t.type.slice(0,-1)),null!=l&&(t.filter=l),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}(e)}function Rht(e){return ye(e)?e:{type:e||"pad"}}const nd=e=>+e||0,Oht=e=>({top:e,bottom:e,left:e,right:e});function Pht(e){return ye(e)?e.signal?e:{top:nd(e.top),bottom:nd(e.bottom),left:nd(e.left),right:nd(e.right)}:Oht(nd(e))}const a1=e=>ye(e)&&!K(e)?tt({},e):{value:e};function dle(e,t,n,r){return null!=n?(ye(n)&&!K(n)||K(n)&&n.length&&ye(n[0])?e.update[t]=n:e[r||"enter"][t]={value:n},1):0}function D1(e,t,n){for(const r in t)dle(e,r,t[r]);for(const r in n)dle(e,r,n[r],"update")}function _u(e,t,n){for(const r in t)n&&Ne(n,r)||(e[r]=tt(e[r]||{},t[r]));return e}function wu(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}const bN="mark",MN="frame",_N="scope",$ht="axis",Bht="axis-domain",Uht="axis-grid",jht="axis-label",qht="axis-tick",Ght="axis-title",Wht="legend",Yht="legend-band",Xht="legend-entry",Qht="legend-gradient",hle="legend-label",Zht="legend-symbol",Kht="legend-title",Jht="title",e9t="title-text",t9t="title-subtitle";function wN(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}const ple=e=>ge(e)?ue(e):e.signal?`(${e.signal})`:mle(e);function $y(e){if(null!=e.gradient)return function i9t(e){const t=[e.start,e.stop,e.count].map(n=>null==n?null:ue(n));for(;t.length&&null==ft(t);)t.pop();return t.unshift(ple(e.gradient)),`gradient(${t.join(",")})`}(e);let t=e.signal?`(${e.signal})`:e.color?function r9t(e){return e.c?By("hcl",e.h,e.c,e.l):e.h||e.s?By("hsl",e.h,e.s,e.l):e.l||e.a?By("lab",e.l,e.a,e.b):e.r||e.g||e.b?By("rgb",e.r,e.g,e.b):null}(e.color):null!=e.field?mle(e.field):void 0!==e.value?ue(e.value):void 0;return null!=e.scale&&(t=function a9t(e,t){const n=ple(e.scale);return null!=e.range?t=`lerp(_range(${n}), ${+e.range})`:(void 0!==t&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+"+":"")+`_bandwidth(${n})`+(1==+e.band?"":"*"+Uy(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),null==t&&(t="0")),t}(e,t)),void 0===t&&(t=null),null!=e.exponent&&(t=`pow(${t},${Uy(e.exponent)})`),null!=e.mult&&(t+=`*${Uy(e.mult)}`),null!=e.offset&&(t+=`+${Uy(e.offset)}`),e.round&&(t=`round(${t})`),t}const By=(e,t,n,r)=>`(${e}(${[t,n,r].map($y).join(",")})+'')`;function Uy(e){return ye(e)?"("+$y(e)+")":e}function mle(e){return gle(ye(e)?e:{datum:e})}function gle(e){let t,n,r;if(e.signal)t="datum",r=e.signal;else if(e.group||e.parent){for(n=Math.max(1,e.level||1),t="item";n-- >0;)t+=".mark.group";e.parent?(r=e.parent,t+=".datum"):r=e.group}else e.datum?(t="datum",r=e.datum):Z("Invalid field reference: "+ue(e));return e.signal||(r=ge(r)?Wa(r).map(ue).join("]["):gle(r)),t+"["+r+"]"}function vle(e,t,n,r,i,a){const s={};(a=a||{}).encoders={$encode:s},e=function n9t(e,t,n,r,i){const a={},s={};let o,c,l,u;for(c in c="lineBreak","text"===t&&null!=i[c]&&!wu(c,e)&&wN(a,c,i[c]),("legend"==n||String(n).startsWith("axis"))&&(n=null),u=n===MN?i.group:n===bN?tt({},i.mark,i[t]):null,u)l=wu(c,e)||("fill"===c||"stroke"===c)&&(wu("fill",e)||wu("stroke",e)),l||wN(a,c,u[c]);for(c in me(r).forEach(f=>{const d=i.style&&i.style[f];for(const h in d)wu(h,e)||wN(a,h,d[h])}),e=tt({},e),a)u=a[c],u.signal?(o=o||{})[c]=u:s[c]=u;return e.enter=tt(s,e.enter),o&&(e.update=tt(o,e.update)),e}(e,t,n,r,i.config);for(const o in e)s[o]=o9t(e[o],t,a,i);return a}function o9t(e,t,n,r){const i={},a={};for(const s in e)null!=e[s]&&(i[s]=l9t(c9t(e[s]),r,n,a));return{$expr:{marktype:t,channels:i},$fields:Object.keys(a),$output:Object.keys(e)}}function c9t(e){return K(e)?function s9t(e){let t="";return e.forEach(n=>{const r=$y(n);t+=n.test?`(${n.test})?${r}:`:r}),":"===ft(t)&&(t+="null"),t}(e):$y(e)}function l9t(e,t,n,r){const i=vs(e,t);return i.$fields.forEach(a=>r[a]=1),tt(n,i.$params),i.$expr}const u9t="outer",f9t=["value","update","init","react","bind"];function yle(e,t){Z(e+' for "outer" push: '+ue(t))}function Cle(e,t){const n=e.name;if(e.push===u9t)t.signals[n]||yle("No prior signal definition",n),f9t.forEach(r=>{void 0!==e[r]&&yle("Invalid property ",r)});else{const r=t.addSignal(n,e.value);!1===e.react&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function xN(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function jy(e,t,n,r){return new xN(e,t,n,r)}function qy(e,t){return jy("operator",e,t)}function Te(e){const t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function rd(e,t){return t?{$field:e,$name:t}:{$field:e}}const zN=rd("key");function ble(e,t){return{$compare:e,$order:t}}function Gy(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}const HN="scope",SN="view";function Jn(e){return e&&e.signal}function Wy(e){if(Jn(e))return!0;if(ye(e))for(const t in e)if(Wy(e[t]))return!0;return!1}function na(e,t){return e??t}function hl(e){return e&&e.signal||e}const Mle="timer";function id(e,t){return(e.merge?y9t:e.stream?C9t:e.type?b9t:Z("Invalid stream specification: "+ue(e)))(e,t)}function y9t(e,t){const r=EN({merge:e.merge.map(i=>id(i,t))},e,t);return t.addStream(r).id}function C9t(e,t){const r=EN({stream:id(e.stream,t)},e,t);return t.addStream(r).id}function b9t(e,t){let n;e.type===Mle?(n=t.event(Mle,e.throttle),e={between:e.between,filter:e.filter}):n=t.event(function v9t(e){return e===HN?SN:e||SN}(e.source),e.type);const r=EN({stream:n},e,t);return 1===Object.keys(r).length?n:t.addStream(r).id}function EN(e,t,n){let r=t.between;return r&&(2!==r.length&&Z('Stream "between" parameter must have 2 entries: '+ue(t)),e.between=[id(r[0],n),id(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(function M9t(e,t,n){const r="event.item";return r+(e&&"*"!==e?"&&"+r+".mark.marktype==='"+e+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(t?"&&"+r+".mark.name==='"+t+"'":"")}(t.marktype,t.markname,t.markrole)),t.source===HN&&r.push("inScope(event.item)"),r.length&&(e.filter=vs("("+r.join(")&&(")+")",n).$expr),null!=(r=t.throttle)&&(e.throttle=+r),null!=(r=t.debounce)&&(e.debounce=+r),t.consume&&(e.consume=!0),e}const _9t={code:"_.$value",ast:{type:"Identifier",value:"value"}};function z9t(e){return{signal:"["+e.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}const Pt=e=>(t,n,r)=>jy(e,n,t||void 0,r),_le=Pt("aggregate"),S9t=Pt("axisticks"),wle=Pt("bound"),ra=Pt("collect"),xle=Pt("compare"),E9t=Pt("datajoin"),zle=Pt("encode"),V9t=Pt("expression"),D9t=Pt("facet"),L9t=Pt("field"),A9t=Pt("key"),N9t=Pt("legendentries"),k9t=Pt("load"),T9t=Pt("mark"),I9t=Pt("multiextent"),F9t=Pt("multivalues"),R9t=Pt("overlap"),O9t=Pt("params"),Hle=Pt("prefacet"),P9t=Pt("projection"),$9t=Pt("proxy"),B9t=Pt("relay"),Sle=Pt("render"),U9t=Pt("scale"),pl=Pt("sieve"),j9t=Pt("sortitems"),Ele=Pt("viewlayout"),q9t=Pt("values");let G9t=0;const Vle={min:"min",max:"max",count:"sum"};function Y9t(e,t){const n=t.getScale(e.name).params;let r;for(r in n.domain=Dle(e.domain,e,t),null!=e.range&&(n.range=Ale(e,t,n)),null!=e.interpolate&&function ipt(e,t){t.interpolate=hi(e.type||e),null!=e.gamma&&(t.interpolateGamma=hi(e.gamma))}(e.interpolate,n),null!=e.nice&&(n.nice=function rpt(e){return ye(e)?{interval:hi(e.interval),step:hi(e.step)}:hi(e)}(e.nice)),null!=e.bins&&(n.bins=function npt(e,t){return e.signal||K(e)?Yy(e,t):t.objectProperty(e)}(e.bins,t)),e)Ne(n,r)||"name"===r||(n[r]=hi(e[r],t))}function hi(e,t){return ye(e)?e.signal?t.signalRef(e.signal):Z("Unsupported object: "+ue(e)):e}function Yy(e,t){return e.signal?t.signalRef(e.signal):e.map(n=>hi(n,t))}function Xy(e){Z("Can not find data set: "+ue(e))}function Dle(e,t,n){if(e)return e.signal?n.signalRef(e.signal):(K(e)?X9t:e.fields?Z9t:Q9t)(e,t,n);(null!=t.domainMin||null!=t.domainMax)&&Z("No scale domain defined for domainMin/domainMax to override.")}function X9t(e,t,n){return e.map(r=>hi(r,n))}function Q9t(e,t,n){const r=n.getData(e.data);return r||Xy(e.data),G6(t.type)?r.valuesRef(n,e.field,Lle(e.sort,!1)):Die(t.type)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function Z9t(e,t,n){const r=e.data,i=e.fields.reduce((a,s)=>(s=ge(s)?{data:r,field:s}:K(s)||s.signal?function K9t(e,t){const n="_:vega:_"+G9t++,r=ra({});if(K(e))r.value={$ingest:e};else if(e.signal){const i="setdata("+ue(n)+","+e.signal+")";r.params.input=t.signalRef(i)}return t.addDataPipeline(n,[r,pl({})]),{data:n,field:"data"}}(s,n):s,a.push(s),a),[]);return(G6(t.type)?J9t:Die(t.type)?ept:tpt)(e,n,i)}function J9t(e,t,n){const r=Lle(e.sort,!0);let i,a;const s=n.map(l=>{const u=t.getData(l.data);return u||Xy(l.data),u.countsRef(t,l.field,r)}),o={groupby:zN,pulse:s};r&&(i=r.op||"count",a=r.field?Gy(i,r.field):"count",o.ops=[Vle[i]],o.fields=[t.fieldRef(a)],o.as=[a]),i=t.add(_le(o));const c=t.add(ra({pulse:Te(i)}));return a=t.add(q9t({field:zN,sort:t.sortRef(r),pulse:Te(c)})),Te(a)}function Lle(e,t){return e&&(e.field||e.op?e.field||"count"===e.op?t&&e.field&&e.op&&!Vle[e.op]&&Z("Multiple domain scales can not be sorted using "+e.op):Z("No field provided for sort aggregate op: "+e.op):ye(e)?e.field="key":e={field:"key"}),e}function ept(e,t,n){const r=n.map(i=>{const a=t.getData(i.data);return a||Xy(i.data),a.domainRef(t,i.field)});return Te(t.add(F9t({values:r})))}function tpt(e,t,n){const r=n.map(i=>{const a=t.getData(i.data);return a||Xy(i.data),a.extentRef(t,i.field)});return Te(t.add(I9t({extents:r})))}function Ale(e,t,n){const r=t.config.range;let i=e.range;if(i.signal)return t.signalRef(i.signal);if(ge(i)){if(r&&Ne(r,i))return Ale(e=tt({},e,{range:r[i]}),t,n);"width"===i?i=[0,{signal:"width"}]:"height"===i?i=G6(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Z("Unrecognized scale range value: "+ue(i))}else{if(i.scheme)return n.scheme=K(i.scheme)?Yy(i.scheme,t):hi(i.scheme,t),i.extent&&(n.schemeExtent=Yy(i.extent,t)),void(i.count&&(n.schemeCount=hi(i.count,t)));if(i.step)return void(n.rangeStep=hi(i.step,t));if(G6(e.type)&&!K(i))return Dle(i,e,t);K(i)||Z("Unsupported range type: "+ue(i))}return i.map(a=>(K(a)?Yy:hi)(a,t))}function VN(e,t,n){return K(e)?e.map(r=>VN(r,t,n)):ye(e)?e.signal?n.signalRef(e.signal):"fit"===t?e:Z("Unsupported parameter object: "+ue(e)):e}const ia="top",xu="left",zu="right",p3="bottom",spt="vertical",opt="start",lpt="end",DN="index",LN="label",upt="offset",Hu="perc",fpt="perc2",pi="value",ad="guide-label",AN="guide-title",dpt="group-title",hpt="group-subtitle",kle="symbol",Qy="gradient",NN="discrete",kN="size",TN=[kN,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],sd={name:1,style:1,interactive:1},gt={value:0},mi={value:1},Zy="group",Tle="rect",IN="rule",ppt="symbol",ml="text";function od(e){return e.type=Zy,e.interactive=e.interactive||!1,e}function ir(e,t){const n=(r,i)=>na(e[r],na(t[r],i));return n.isVertical=r=>spt===na(e.direction,t.direction||(r?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>na(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>na(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>na(e.columns,na(t.columns,+n.isVertical(!0))),n}function Ile(e,t){const n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function Ky(e,t,n){return`item.anchor === '${opt}' ? ${e} : item.anchor === '${lpt}' ? ${t} : ${n}`}const FN=Ky(ue(xu),ue(zu),ue("center"));function Fle(e,t){return t?e?ye(e)?Object.assign({},e,{offset:Fle(e.offset,t)}):{value:e,offset:t}:t:e}function Br(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=_u(e.encode,t,sd)):e.interactive=!1,e}function vpt(e,t,n,r){const i=ir(e,n),a=i.isVertical(),s=i.gradientThickness(),o=i.gradientLength();let c,l,u,f,d;a?(l=[0,1],u=[0,0],f=s,d=o):(l=[0,0],u=[1,0],f=o,d=s);const h={enter:c={opacity:gt,x:gt,y:gt,width:a1(f),height:a1(d)},update:tt({},c,{opacity:mi,fill:{gradient:t,start:l,stop:u}}),exit:{opacity:gt}};return D1(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Br({type:Tle,role:Qht,encode:h},r)}function ypt(e,t,n,r,i){const a=ir(e,n),s=a.isVertical(),o=a.gradientThickness(),c=a.gradientLength();let l,u,f,d,h="";s?(l="y",f="y2",u="x",d="width",h="1-"):(l="x",f="x2",u="y",d="height");const p={opacity:gt,fill:{scale:t,field:pi}};p[l]={signal:h+"datum."+Hu,mult:c},p[u]=gt,p[f]={signal:h+"datum."+fpt,mult:c},p[d]=a1(o);const m={enter:p,update:tt({},p,{opacity:mi}),exit:{opacity:gt}};return D1(m,{stroke:a("gradientStrokeColor"),strokeWidth:a("gradientStrokeWidth")},{opacity:a("gradientOpacity")}),Br({type:Tle,role:Yht,key:pi,from:i,encode:m},r)}const Cpt=`datum.${Hu}<=0?"${xu}":datum.${Hu}>=1?"${zu}":"center"`,bpt=`datum.${Hu}<=0?"${p3}":datum.${Hu}>=1?"${ia}":"middle"`;function Rle(e,t,n,r){const i=ir(e,t),a=i.isVertical(),s=a1(i.gradientThickness()),o=i.gradientLength();let l,u,f,d,c=i("labelOverlap"),h="";const p={enter:l={opacity:gt},update:u={opacity:mi,text:{field:LN}},exit:{opacity:gt}};return D1(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:na(e.labelLimit,t.gradientLabelLimit)}),a?(l.align={value:"left"},l.baseline=u.baseline={signal:bpt},f="y",d="x",h="1-"):(l.align=u.align={signal:Cpt},l.baseline={value:"top"},f="x",d="y"),l[f]=u[f]={signal:h+"datum."+Hu,mult:o},l[d]=u[d]=s,s.offset=na(e.labelOffset,t.gradientLabelOffset)||0,c=c?{separation:i("labelSeparation"),method:c,order:"datum."+DN}:void 0,Br({type:ml,role:hle,style:ad,key:pi,from:r,encode:p,overlap:c},n)}function Mpt(e,t,n,r,i){const a=ir(e,t),s=n.entries,o=!(!s||!s.interactive),c=s?s.name:void 0,l=a("clipHeight"),u=a("symbolOffset"),f={data:"value"},d=`(${i}) ? datum.${upt} : datum.${kN}`,h=l?a1(l):{field:kN},p=`datum.${DN}`,m=`max(1, ${i})`;let g,v,y,C,b;h.mult=.5,g={enter:v={opacity:gt,x:{signal:d,mult:.5,offset:u},y:h},update:y={opacity:mi,x:v.x,y:v.y},exit:{opacity:gt}};let M=null,w=null;e.fill||(M=t.symbolBaseFillColor,w=t.symbolBaseStrokeColor),D1(g,{fill:a("symbolFillColor",M),shape:a("symbolType"),size:a("symbolSize"),stroke:a("symbolStrokeColor",w),strokeDash:a("symbolDash"),strokeDashOffset:a("symbolDashOffset"),strokeWidth:a("symbolStrokeWidth")},{opacity:a("symbolOpacity")}),TN.forEach(D=>{e[D]&&(y[D]=v[D]={scale:e[D],field:pi})});const _=Br({type:ppt,role:Zht,key:pi,from:f,clip:!!l||void 0,encode:g},n.symbols),z=a1(u);z.offset=a("labelOffset"),g={enter:v={opacity:gt,x:{signal:d,offset:z},y:h},update:y={opacity:mi,text:{field:LN},x:v.x,y:v.y},exit:{opacity:gt}},D1(g,{align:a("labelAlign"),baseline:a("labelBaseline"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontStyle:a("labelFontStyle"),fontWeight:a("labelFontWeight"),limit:a("labelLimit")});const V=Br({type:ml,role:hle,style:ad,key:pi,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:gt,height:l?a1(l):gt,opacity:gt},exit:{opacity:gt},update:y={opacity:mi,row:{signal:null},column:{signal:null}}},a.isVertical(!0)?(C=`ceil(item.mark.items.length / ${m})`,y.row.signal=`${p}%${C}`,y.column.signal=`floor(${p} / ${C})`,b={field:["row",p]}):(y.row.signal=`floor(${p} / ${m})`,y.column.signal=`${p} % ${m}`,b={field:p}),y.column.signal=`(${i})?${y.column.signal}:${p}`,od({role:_N,from:r={facet:{data:r,name:"value",groupby:DN}},encode:_u(g,s,sd),marks:[_,V],name:c,interactive:o,sort:b})}const RN='item.orient === "left"',ON='item.orient === "right"',Jy=`(${RN} || ${ON})`,wpt=`datum.vgrad && ${Jy}`,xpt=Ky('"top"','"bottom"','"middle"'),Hpt=`datum.vgrad && ${ON} ? (${Ky('"right"','"left"','"center"')}) : (${Jy} && !(datum.vgrad && ${RN})) ? "left" : ${FN}`,Spt=`item._anchor || (${Jy} ? "middle" : "start")`,Ept=`${wpt} ? (${RN} ? -90 : 90) : 0`,Vpt=`${Jy} ? (datum.vgrad ? (${ON} ? "bottom" : "top") : ${xpt}) : "top"`;function Lpt(e,t){let n;return ye(e)&&(e.signal?n=e.signal:e.path?n="pathShape("+Ole(e.path)+")":e.sphere&&(n="geoShape("+Ole(e.sphere)+', {type: "Sphere"})')),n?t.signalRef(n):!!e}function Ole(e){return ye(e)&&e.signal?e.signal:ue(e)}function Ple(e){const t=e.role||"";return t.indexOf("axis")&&t.indexOf("legend")&&t.indexOf("title")?e.type===Zy?_N:t||bN:t}function Apt(e){return{marktype:e.type,name:e.name||void 0,role:e.role||Ple(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function Npt(e,t){return e&&e.signal?t.signalRef(e.signal):!1!==e}function PN(e,t){const n=P1e(e.type);n||Z("Unrecognized transform type: "+ue(e.type));const r=jy(n.type.toLowerCase(),null,$le(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function $le(e,t,n){const r={},i=e.params.length;for(let a=0;aUle(e,i,n))):Ule(e,r,n)}(e,t,n):"projection"===r?n.projectionRef(t[e.name]):e.array&&!Jn(i)?i.map(a=>Ble(e,a,n)):Ble(e,i,n):void(e.required&&Z("Missing required "+ue(t.type)+" parameter: "+ue(e.name)))}function Ble(e,t,n){const r=e.type;if(Jn(t))return jle(r)?Z("Expression references can not be signals."):$N(r)?n.fieldRef(t):qle(r)?n.compareRef(t):n.signalRef(t.signal);{const i=e.expr||$N(r);return i&&Fpt(t)?n.exprRef(t.expr,t.as):i&&Rpt(t)?rd(t.field,t.as):jle(r)?vs(t,n):Opt(r)?Te(n.getData(t).values):$N(r)?rd(t):qle(r)?n.compareRef(t):t}}function Ule(e,t,n){const r=e.params.length;let i;for(let s=0;se&&e.expr,Rpt=e=>e&&e.field,Opt=e=>"data"===e,jle=e=>"expr"===e,$N=e=>"field"===e,qle=e=>"compare"===e;function eC(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:Te(t.getData(e.data).output)}function gl(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}function Gle(e){return ge(e)?e:null}function Wle(e,t,n){const r=Gy(n.op,n.field);let i;if(t.ops){for(let a=0,s=t.as.length;af??"null").join(",")+"),0)",t);c.update=u.$expr,c.params=u.$params}function tC(e,t){const n=Ple(e),r=e.type===Zy,i=e.from&&e.from.facet,a=e.overlap;let o,c,l,u,f,d,h,s=e.layout||n===_N||n===MN;const p=n===bN||s||i,m=function Ppt(e,t,n){let r,i,a,s,o;return e?(r=e.facet)&&(t||Z("Only group marks can be faceted."),null!=r.field?s=o=eC(r,n):(e.data?o=Te(n.getData(e.data).aggregate):(a=PN(tt({type:"aggregate",groupby:me(r.groupby)},r.aggregate),n),a.params.key=n.keyRef(r.groupby),a.params.pulse=eC(r,n),s=o=Te(n.add(a))),i=n.keyRef(r.groupby,!0))):s=Te(n.add(ra(null,[{}]))),s||(s=eC(e,n)),{key:i,pulse:s,parent:o}}(e.from,r,t);c=t.add(E9t({key:m.key||(e.key?rd(e.key):void 0),pulse:m.pulse,clean:!r}));const g=Te(c);c=l=t.add(ra({pulse:g})),c=t.add(T9t({markdef:Apt(e),interactive:Npt(e.interactive,t),clip:Lpt(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:Te(c)}));const v=Te(c);c=u=t.add(zle(vle(e.encode,e.type,n,e.style,t,{mod:!1,pulse:v}))),c.params.parent=t.encode(),e.transform&&e.transform.forEach(w=>{const _=PN(w,t),z=_.metadata;(z.generates||z.changes)&&Z("Mark transforms should not generate new data."),z.nomod||(u.params.mod=!0),_.params.pulse=Te(c),t.add(c=_)}),e.sort&&(c=t.add(j9t({sort:t.compareRef(e.sort),pulse:Te(c)})));const y=Te(c);(i||s)&&(s=t.add(Ele({layout:t.objectProperty(e.layout),legends:t.legends,mark:v,pulse:y})),d=Te(s));const C=t.add(wle({mark:v,pulse:d||y}));h=Te(C),r&&(p&&(o=t.operators,o.pop(),s&&o.pop()),t.pushState(y,d||h,g),i?function $pt(e,t,n){const r=e.from.facet,i=r.name,a=eC(r,t);let s;r.name||Z("Facet must have a name: "+ue(r)),r.data||Z("Facet must reference a data set: "+ue(r)),r.field?s=t.add(Hle({field:t.fieldRef(r.field),pulse:a})):r.groupby?s=t.add(D9t({key:t.keyRef(r.groupby),group:Te(t.proxy(n.parent)),pulse:a})):Z("Facet must specify groupby or field: "+ue(r));const o=t.fork(),c=o.add(ra()),l=o.add(pl({pulse:Te(c)}));o.addData(i,new gl(o,c,c,l)),o.addSignal("parent",null),s.params.subflow={$subflow:o.parse(e).toRuntime()}}(e,t,m):p?function Bpt(e,t,n){const r=t.add(Hle({pulse:n.pulse})),i=t.fork();i.add(pl()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}(e,t,m):t.parse(e),t.popState(),p&&(s&&o.push(s),o.push(C))),a&&(h=function Upt(e,t,n){const r=e.method,i=e.bound,a=e.separation,s={separation:Jn(a)?n.signalRef(a.signal):a,method:Jn(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(s.sort=n.compareRef({field:e.order})),i){const o=i.tolerance;s.boundTolerance=Jn(o)?n.signalRef(o.signal):+o,s.boundScale=n.scaleRef(i.scale),s.boundOrient=i.orient}return Te(n.add(R9t(s)))}(a,h,t));const b=t.add(Sle({pulse:h})),M=t.add(pl({pulse:Te(b)},void 0,t.parent()));null!=e.name&&(f=e.name,t.addData(f,new gl(t,l,b,M)),e.on&&e.on.forEach(w=>{(w.insert||w.remove||w.toggle)&&Z("Marks only support modify triggers."),Yle(w,t,f)}))}function Wpt(e,t,n){const r={enter:{},update:{}};return D1(r,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),r}function Xle(e,t,n){return t[e]?`scale("${t[e]}",datum)`:Ile(e,n[0].encode)}gl.fromEntries=function(e,t){const n=t.length,r=t[n-1],i=t[n-2];let a=t[0],s=null,o=1;for(a&&"load"===a.type&&(a=t[1]),e.add(t[0]);oe===p3||e===ia,nC=(e,t,n)=>Jn(e)?omt(e.signal,t,n):e===xu||e===ia?t:n,s1=(e,t,n)=>Jn(e)?amt(e.signal,t,n):Zle(e)?t:n,aa=(e,t,n)=>Jn(e)?smt(e.signal,t,n):Zle(e)?n:t,Kle=(e,t,n)=>Jn(e)?cmt(e.signal,t,n):e===ia?{value:t}:{value:n},imt=(e,t,n)=>Jn(e)?lmt(e.signal,t,n):e===zu?{value:t}:{value:n},amt=(e,t,n)=>Jle(`${e} === '${ia}' || ${e} === '${p3}'`,t,n),smt=(e,t,n)=>Jle(`${e} !== '${ia}' && ${e} !== '${p3}'`,t,n),omt=(e,t,n)=>BN(`${e} === '${xu}' || ${e} === '${ia}'`,t,n),cmt=(e,t,n)=>BN(`${e} === '${ia}'`,t,n),lmt=(e,t,n)=>BN(`${e} === '${zu}'`,t,n),Jle=(e,t,n)=>(t=null!=t?a1(t):t,n=null!=n?a1(n):n,e0e(t)&&e0e(n)?{signal:`${e} ? (${t=t?t.signal||ue(t.value):null}) : (${n=n?n.signal||ue(n.value):null})`}:[tt({test:e},t)].concat(n||[])),e0e=e=>null==e||1===Object.keys(e).length,BN=(e,t,n)=>({signal:`${e} ? (${Su(t)}) : (${Su(n)})`}),umt=(e,t,n,r,i)=>({signal:(null!=r?`${e} === '${xu}' ? (${Su(r)}) : `:"")+(null!=n?`${e} === '${p3}' ? (${Su(n)}) : `:"")+(null!=i?`${e} === '${zu}' ? (${Su(i)}) : `:"")+(null!=t?`${e} === '${ia}' ? (${Su(t)}) : `:"")+"(null)"}),Su=e=>Jn(e)?e.signal:null==e?null:ue(e),fmt=(e,t)=>0===t?0:Jn(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},Eu=(e,t)=>{const n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function Vu(e,t,n,r){let i;if(t&&Ne(t,e))return t[e];if(Ne(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=e[5].toLowerCase()+e.slice(6)}return r[AN][i]}if(e.startsWith("label")){switch(e){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=e[5].toLowerCase()+e.slice(6)}return r[ad][i]}return null}function t0e(e){const t={};for(const n of e)if(n)for(const r in n)t[r]=1;return Object.keys(t)}function n0e(e,t){return{scale:e.scale,range:t}}function UN(e,t,n,r,i){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+r+","+i+")"}}function bmt(e,t){const n=function dmt(e,t){var o,c,l,n=t.config,r=n.style,i=n.axis,a="band"===t.scaleType(e.scale)&&n.axisBand,s=e.orient;if(Jn(s)){const f=t0e([n.axisX,n.axisY]),d=t0e([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);for(l of(o={},f))o[l]=s1(s,Vu(l,n.axisX,i,r),Vu(l,n.axisY,i,r));for(l of(c={},d))c[l]=umt(s.signal,Vu(l,n.axisTop,i,r),Vu(l,n.axisBottom,i,r),Vu(l,n.axisLeft,i,r),Vu(l,n.axisRight,i,r))}else o=s===ia||s===p3?n.axisX:n.axisY,c=n["axis"+s[0].toUpperCase()+s.slice(1)];return o||c||a?tt({},i,o,c,a):i}(e,t),r=e.encode||{},i=r.axis||{},a=i.name||void 0,s=i.interactive,o=i.style,c=ir(e,n),l=function gpt(e){const t=e("tickBand");let r,i,n=e("tickOffset");return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},ye(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):"extent"===t?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e("bandPosition"),i=e("tickExtra")),{extra:i,band:r,offset:n}}(c),u={scale:e.scale,ticks:!!c("ticks"),labels:!!c("labels"),grid:!!c("grid"),domain:!!c("domain"),title:null!=e.title},f=Te(t.add(ra({},[u]))),d=Te(t.add(S9t({scale:t.scaleRef(e.scale),extra:t.property(l.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),h=[];let p;return u.grid&&h.push(function pmt(e,t,n,r,i){const a=ir(e,t),s=e.orient,o=e.gridScale,c=nC(s,1,-1),l=function mmt(e,t){if(1!==t)if(ye(e)){let n=e=tt({},e);for(;null!=n.mult;){if(!ye(n.mult))return n.mult=Jn(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n=n.mult=tt({},n.mult)}n.mult=t}else e=Jn(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);return e}(e.offset,c);let u,f,d;const h={enter:u={opacity:gt},update:d={opacity:mi},exit:f={opacity:gt}};D1(h,{stroke:a("gridColor"),strokeCap:a("gridCap"),strokeDash:a("gridDash"),strokeDashOffset:a("gridDashOffset"),strokeOpacity:a("gridOpacity"),strokeWidth:a("gridWidth")});const p={scale:e.scale,field:pi,band:i.band,extra:i.extra,offset:i.offset,round:a("tickRound")},m=s1(s,{signal:"height"},{signal:"width"}),g=o?{scale:o,range:0,mult:c,offset:l}:{value:0,offset:l},v=o?{scale:o,range:1,mult:c,offset:l}:tt(m,{mult:c,offset:l});return u.x=d.x=s1(s,p,g),u.y=d.y=aa(s,p,g),u.x2=d.x2=aa(s,v),u.y2=d.y2=s1(s,v),f.x=s1(s,p),f.y=aa(s,p),Br({type:IN,role:Uht,key:pi,from:r,encode:h},n)}(e,n,r.grid,d,l)),u.ticks&&(p=c("tickSize"),h.push(function gmt(e,t,n,r,i,a){const s=ir(e,t),o=e.orient,c=nC(o,-1,1);let l,u,f;const d={enter:l={opacity:gt},update:f={opacity:mi},exit:u={opacity:gt}};D1(d,{stroke:s("tickColor"),strokeCap:s("tickCap"),strokeDash:s("tickDash"),strokeDashOffset:s("tickDashOffset"),strokeOpacity:s("tickOpacity"),strokeWidth:s("tickWidth")});const h=a1(i);h.mult=c;const p={scale:e.scale,field:pi,band:a.band,extra:a.extra,offset:a.offset,round:s("tickRound")};return f.y=l.y=s1(o,gt,p),f.y2=l.y2=s1(o,h),u.x=s1(o,p),f.x=l.x=aa(o,gt,p),f.x2=l.x2=aa(o,h),u.y=aa(o,p),Br({type:IN,role:qht,key:pi,from:r,encode:d},n)}(e,n,r.ticks,d,p,l))),u.labels&&(p=u.ticks?p:0,h.push(function vmt(e,t,n,r,i,a){const s=ir(e,t),o=e.orient,c=e.scale,l=nC(o,-1,1),u=hl(s("labelFlush")),f=hl(s("labelFlushOffset")),d=s("labelAlign"),h=s("labelBaseline");let m,p=0===u||!!u;const g=a1(i);g.mult=l,g.offset=a1(s("labelPadding")||0),g.offset.mult=l;const v={scale:c,field:pi,band:.5,offset:Fle(a.offset,s("labelOffset"))},y=s1(o,p?UN(c,u,'"left"','"right"','"center"'):{value:"center"},imt(o,"left","right")),C=s1(o,Kle(o,"bottom","top"),p?UN(c,u,'"top"','"bottom"','"middle"'):{value:"middle"}),b=UN(c,u,`-(${f})`,f,0);p=p&&f;const M={opacity:gt,x:s1(o,v,g),y:aa(o,v,g)},w={enter:M,update:m={opacity:mi,text:{field:LN},x:M.x,y:M.y,align:y,baseline:C},exit:{opacity:gt,x:M.x,y:M.y}};D1(w,{dx:!d&&p?s1(o,b):null,dy:!h&&p?aa(o,b):null}),D1(w,{angle:s("labelAngle"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontWeight:s("labelFontWeight"),fontStyle:s("labelFontStyle"),limit:s("labelLimit"),lineHeight:s("labelLineHeight")},{align:d,baseline:h});const _=s("labelBound");let z=s("labelOverlap");return z=z||_?{separation:s("labelSeparation"),method:z,order:"datum.index",bound:_?{scale:c,orient:o,tolerance:_}:null}:void 0,m.align!==y&&(m.align=Eu(m.align,y)),m.baseline!==C&&(m.baseline=Eu(m.baseline,C)),Br({type:ml,role:jht,style:ad,key:pi,from:r,encode:w,overlap:z},n)}(e,n,r.labels,d,p,l))),u.domain&&h.push(function hmt(e,t,n,r){const i=ir(e,t),a=e.orient;let s,o;const c={enter:s={opacity:gt},update:o={opacity:mi},exit:{opacity:gt}};D1(c,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=n0e(e,0),u=n0e(e,1);return s.x=o.x=s1(a,l,gt),s.x2=o.x2=s1(a,u),s.y=o.y=aa(a,l,gt),s.y2=o.y2=aa(a,u),Br({type:IN,role:Bht,from:r,encode:c},n)}(e,n,r.domain,f)),u.title&&h.push(function ymt(e,t,n,r){const i=ir(e,t),a=e.orient,s=nC(a,-1,1);let o,c;const l={enter:o={opacity:gt,anchor:a1(i("titleAnchor",null)),align:{signal:FN}},update:c=tt({},o,{opacity:mi,text:a1(e.title)}),exit:{opacity:gt}},u={signal:`lerp(range("${e.scale}"), ${Ky(0,1,.5)})`};return c.x=s1(a,u),c.y=aa(a,u),o.angle=s1(a,gt,fmt(s,90)),o.baseline=s1(a,Kle(a,p3,ia),{value:p3}),c.angle=o.angle,c.baseline=o.baseline,D1(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),function Cmt(e,t,n,r){const i=(o,c)=>null!=o?(n.update[c]=Eu(a1(o),n.update[c]),!1):!wu(c,r),a=i(e("titleX"),"x"),s=i(e("titleY"),"y");n.enter.auto=s===a?a1(s):s1(t,a1(s),a1(a))}(i,a,l,n),l.update.align=Eu(l.update.align,o.align),l.update.angle=Eu(l.update.angle,o.angle),l.update.baseline=Eu(l.update.baseline,o.baseline),Br({type:ml,role:Ght,style:AN,from:r,encode:l},n)}(e,n,r.title,f)),tC(od({role:$ht,from:f,encode:_u(Mmt(c,e),i,sd),marks:h,aria:c("aria"),description:c("description"),zindex:c("zindex"),name:a,interactive:s,style:o}),t)}function Mmt(e,t){const n={enter:{},update:{}};return D1(n,{orient:e("orient"),offset:e("offset")||0,position:na(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${t.scale}")))`},translate:e("translate"),format:t.format,formatType:t.formatType}),n}function r0e(e,t,n){const r=me(e.signals),i=me(e.scales);return n||r.forEach(a=>Cle(a,t)),me(e.projections).forEach(a=>function apt(e,t){const n=t.config.projection||{},r={};for(const i in e)"name"!==i&&(r[i]=VN(e[i],i,t));for(const i in n)null==r[i]&&(r[i]=VN(n[i],i,t));t.addProjection(e.name,r)}(a,t)),i.forEach(a=>function W9t(e,t){const n=e.type||"linear";Sie(n)||Z("Unrecognized scale type: "+ue(n)),t.addScale(e.name,{type:n,domain:void 0})}(a,t)),me(e.data).forEach(a=>function nmt(e,t){const n=[];e.transform&&e.transform.forEach(r=>{n.push(PN(r,t))}),e.on&&e.on.forEach(r=>{Yle(r,t,e.name)}),t.addDataPipeline(e.name,function rmt(e,t,n){const r=[];let o,c,l,u,f,i=null,a=!1,s=!1;for(e.values?Jn(e.values)||Wy(e.format)?(r.push(Qle(t,e)),r.push(i=vl())):r.push(i=vl({$ingest:e.values,$format:e.format})):e.url?Wy(e.url)||Wy(e.format)?(r.push(Qle(t,e)),r.push(i=vl())):r.push(i=vl({$request:e.url,$format:e.format})):e.source&&(i=o=me(e.source).map(d=>Te(t.getData(d).output)),r.push(null)),c=0,l=n.length;cY9t(a,t)),(n||r).forEach(a=>function H9t(e,t){const n=t.getSignal(e.name);let r=e.update;e.init&&(r?Z("Signals can not include both init and update expressions."):(r=e.init,n.initonly=!0)),r&&(r=vs(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(i=>function w9t(e,t,n){const r=e.encode,i={target:n};let a=e.events,s=e.update,o=[];a||Z("Signal update missing events specification."),ge(a)&&(a=h3(a,t.isSubscope()?HN:SN)),a=me(a).filter(c=>c.signal||c.scale?(o.push(c),0):1),o.length>1&&(o=[z9t(o)]),a.length&&o.push(a.length>1?{merge:a}:a[0]),null!=r&&(s&&Z("Signal encode and update are mutually exclusive."),s="encode(item(),"+ue(r)+")"),i.update=ge(s)?vs(s,t):null!=s.expr?vs(s.expr,t):null!=s.value?s.value:null!=s.signal?{$expr:_9t,$params:{$value:t.signalRef(s.signal)}}:Z("Invalid signal update specification."),e.force&&(i.options={force:!0}),o.forEach(c=>t.addUpdate(tt(function x9t(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):id(e,t)}}(c,t),i)))}(i,t,n.id))}(a,t)),me(e.axes).forEach(a=>bmt(a,t)),me(e.marks).forEach(a=>tC(a,t)),me(e.legends).forEach(a=>function jpt(e,t){const n=t.config.legend,r=e.encode||{},i=ir(e,n),a=r.legend||{},s=a.name||void 0,o=a.interactive,c=a.style,l={};let f,d,h,u=0;TN.forEach(C=>e[C]?(l[C]=e[C],u=u||e[C]):0),u||Z("Missing valid scale for legend.");const p=function qpt(e,t){let n=e.type||kle;return!e.type&&1===function Gpt(e){return TN.reduce((t,n)=>t+(e[n]?1:0),0)}(e)&&(e.fill||e.stroke)&&(n=pV(t)?Qy:mV(t)?NN:kle),n!==Qy?n:mV(t)?NN:Qy}(e,t.scaleType(u)),m={title:null!=e.title,scales:l,type:p,vgrad:"symbol"!==p&&i.isVertical()},g=Te(t.add(ra(null,[m]))),y=Te(t.add(N9t(d={type:p,scale:t.scaleRef(u),count:t.objectProperty(i("tickCount")),limit:t.property(i("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return p===Qy?(h=[vpt(e,u,n,r.gradient),Rle(e,n,r.labels,y)],d.count=d.count||t.signalRef(`max(2,2*floor((${hl(i.gradientLength())})/100))`)):p===NN?h=[ypt(e,u,n,r.gradient,y),Rle(e,n,r.labels,y)]:(f=function _pt(e,t){const n=ir(e,t);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}(e,n),h=[Mpt(e,n,r,y,hl(f.columns))],d.size=function Ypt(e,t,n){const r=hl(Xle("size",e,n)),i=hl(Xle("strokeWidth",e,n)),a=hl(function Xpt(e,t,n){return Ile("fontSize",e)||function mpt(e,t,n){const r=t.config.style[n];return r&&r[e]}("fontSize",t,n)}(n[1].encode,t,ad));return vs(`max(ceil(sqrt(${r})+${i}),${a})`,t)}(e,t,h[0].marks)),h=[od({role:Xht,from:g,encode:{enter:{x:{value:0},y:{value:0}}},marks:h,layout:f,interactive:o})],m.title&&h.push(function Dpt(e,t,n,r){const i=ir(e,t),a={enter:{opacity:gt},update:{opacity:mi,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:gt}};return D1(a,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:Spt},angle:{signal:Ept},align:{signal:Hpt},baseline:{signal:Vpt},text:e.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Br({type:ml,role:Kht,style:AN,from:r,encode:a},n)}(e,n,r.title,g)),tC(od({role:Wht,from:g,encode:_u(Wpt(i,e,n),a,sd),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:s,interactive:o,style:c}),t)}(a,t)),e.title&&function Zpt(e,t){const n=ir(e=ge(e)?{text:e}:e,t.config.title),r=e.encode||{},i=r.group||{},a=i.name||void 0,s=i.interactive,o=i.style,c=[],u=Te(t.add(ra(null,[{}])));return c.push(function emt(e,t,n,r){const i={value:0},s={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return D1(s,{text:e.text,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Br({type:ml,role:e9t,style:dpt,from:r,encode:s},n)}(e,n,function Kpt(e){const t=e.encode;return t&&t.title||tt({name:e.name,interactive:e.interactive,style:e.style},t)}(e),u)),e.subtitle&&c.push(function tmt(e,t,n,r){const i={value:0},s={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return D1(s,{text:e.subtitle,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Br({type:ml,role:t9t,style:hpt,from:r,encode:s},n)}(e,n,r.subtitle,u)),tC(od({role:Jht,from:u,encode:Jpt(n,i),marks:c,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:a,interactive:s,style:o}),t)}(e.title,t),t.parseLambdas(),t}const _mt=e=>_u({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function ld(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function i0e(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function a0e(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}function jN(e){return(K(e)?zmt:Hmt)(e)}function zmt(e){const t=e.length;let n="[";for(let r=0;r0?",":"")+(ye(i)?i.signal||jN(i):ue(i))}return n+"]"}function Hmt(e){let r,i,t="{",n=0;for(r in e)i=e[r],t+=(++n>1?",":"")+ue(r)+":"+(ye(i)?i.signal||jN(i):ue(i));return t+"}"}function Emt(e,t,n){return ye(e)||Z("Input Vega specification must be an object."),function wmt(e,t){const n=t.config,r=Te(t.root=t.add(qy())),i=function xmt(e,t){const n=s=>na(e[s],t[s]),r=[ld("background",n("background")),ld("autosize",Rht(n("autosize"))),ld("padding",Pht(n("padding"))),ld("width",n("width")||0),ld("height",n("height")||0)],i=r.reduce((s,o)=>(s[o.name]=o,s),{}),a={};return me(e.signals).forEach(s=>{Ne(i,s.name)?s=tt(i[s.name],s):r.push(s),a[s.name]=s}),me(t.signals).forEach(s=>{!Ne(a,s.name)&&!Ne(i,s.name)&&r.push(s)}),r}(e,n);i.forEach(l=>Cle(l,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;const a=t.add(ra()),s=t.add(zle(vle(_mt(e.encode),Zy,MN,e.style,t,{pulse:Te(a)}))),o=t.add(Ele({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:r,pulse:Te(s)}));t.operators.pop(),t.pushState(Te(s),Te(o),null),r0e(e,t,i),t.operators.push(o);let c=t.add(wle({mark:r,pulse:Te(o)}));return c=t.add(Sle({pulse:Te(c)})),c=t.add(pl({pulse:Te(c)})),t.addData("root",new gl(t,a,a,c)),t}(e,new i0e(t=C6(function Smt(){const e="sans-serif",r="#4c78a8",i="#000",a="#888",s="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:e,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:e,fontSize:10},"guide-title":{fill:i,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:s},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:a,grid:!1,gridWidth:1,gridColor:s,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:a,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:s,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:a,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}(),t,e.config),n)).toRuntime()}i0e.prototype=a0e.prototype={parse(e){return r0e(e,this)},fork(){return new a0e(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach(t=>{t.$ref=e.id}),e.refs=null),e},proxy(e){const t=e instanceof xN?Te(e):e;return this.add($9t({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(r,i,a){let s,o;r&&(s=r.data||(r.data={}),o=s[i]||(s[i]=[]),o.push(a))}for(e in this.data){t=this.data[e],n(t.input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values");for(const r in t.index)n(t.index[r],e,"index:"+r)}return this},pushState(e,t,n){this._encode.push(Te(this.add(pl({pulse:e})))),this._parent.push(t),this._lookup.push(n?Te(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return ft(this._parent)},encode(){return ft(this._encode)},lookup(){return ft(this._lookup)},markpath(){const e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(ge(e))return rd(e,t);e.signal||Z("Unsupported field reference: "+ue(e));const n=e.signal;let r=this.field[n];if(!r){const i={name:this.signalRef(n)};t&&(i.as=t),this.field[n]=r=Te(this.add(L9t(i)))}return r},compareRef(e){let t=!1;const n=a=>Jn(a)?(t=!0,this.signalRef(a.signal)):function g9t(e){return e&&e.expr}(a)?(t=!0,this.exprRef(a.expr)):a,r=me(e.field).map(n),i=me(e.order).map(n);return t?Te(this.add(xle({fields:r,orders:i}))):ble(r,i)},keyRef(e,t){let n=!1;const i=this.signals;return e=me(e).map(a=>Jn(a)?(n=!0,Te(i[a.signal])):a),n?Te(this.add(A9t({fields:e,flat:t}))):function d9t(e,t){const n={$key:e};return t&&(n.$flat=!0),n}(e,t)},sortRef(e){if(!e)return e;const t=Gy(e.op,e.field),n=e.order||"ascending";return n.signal?Te(this.add(xle({fields:t,orders:this.signalRef(n.signal)}))):ble(t,n)},event(e,t){const n=e+":"+t;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return Ne(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&Z("Duplicate signal name: "+ue(e));const n=t instanceof xN?t:this.add(qy(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||Z("Unrecognized signal name: "+ue(e)),this.signals[e]},signalRef(e){return this.signals[e]?Te(this.signals[e]):(Ne(this.lambdas,e)||(this.lambdas[e]=this.add(qy(null))),Te(this.lambdas[e]))},parseLambdas(){const e=Object.keys(this.lambdas);for(let t=0,n=e.length;te*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>ee<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},Nmt={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e};const kmt=Array.prototype.slice,yl=(e,t,n)=>{const r=n?n(t[0]):t[0];return r[e].apply(r,kmt.call(t,1))};var Imt={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t,n,r,i,a,s)=>new Date(e,t||0,n??1,r||0,i||0,a||0,s||0),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return yl("join",arguments)},indexof:function(){return yl("indexOf",arguments)},lastindexof:function(){return yl("lastIndexOf",arguments)},slice:function(){return yl("slice",arguments)},reverse:e=>e.slice().reverse(),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return yl("substring",arguments,String)},split:function(){return yl("split",arguments,String)},replace:function(){return yl("replace",arguments,String)},trim:e=>String(e).trim(),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)};const Fmt=["view","item","group","xy","x","y"],qN=new Set([Function,eval,setTimeout,setInterval]);"function"==typeof setImmediate&&qN.add(setImmediate);const Rmt={Literal:(e,t)=>t.value,Identifier:(e,t)=>{const n=t.name;return e.memberDepth>0?n:"datum"===n?e.datum:"event"===n?e.event:"item"===n?e.item:Lmt[n]||e.params["$"+n]},MemberExpression:(e,t)=>{const n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);const i=e(t.property);if(n&&(e.memberDepth-=1),!qN.has(r[i]))return r[i];console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`)},CallExpression:(e,t)=>{const n=t.arguments;let r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),"if"===r?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||Imt[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>Amt[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>Nmt[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>"&&"===t.operator?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((n,r)=>{e.memberDepth+=1;const i=e(r.key);return e.memberDepth-=1,qN.has(e(r.value))?console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`):n[i]=e(r.value),n},{})};function ud(e,t,n,r,i,a){const s=o=>Rmt[o.type](s,o);return s.memberDepth=0,s.fn=Object.create(t),s.params=n,s.datum=r,s.event=i,s.item=a,Fmt.forEach(o=>s.fn[o]=function(){return i.vega[o](...arguments)}),s(e)}var Omt={operator(e,t){const n=t.ast,r=e.functions;return i=>ud(n,r,i)},parameter(e,t){const n=t.ast,r=e.functions;return(i,a)=>ud(n,r,a,i)},event(e,t){const n=t.ast,r=e.functions;return i=>ud(n,r,void 0,void 0,i)},handler(e,t){const n=t.ast,r=e.functions;return(i,a)=>ud(n,r,i,a.item&&a.item.datum,a)},encode(e,t){const{marktype:n,channels:r}=t,i=e.functions,a="group"===n||"image"===n||"rect"===n;return(s,o)=>{const c=s.datum;let u,l=0;for(const f in r)u=ud(r[f].ast,i,o,c,void 0,s),s[f]!==u&&(s[f]=u,l=1);return"rule"!==n&&function Dmt(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}(s,r,a),l}}};function GN(e){return!!e.or}function WN(e){return!!e.and}function YN(e){return!!e.not}function rC(e,t){if(YN(e))rC(e.not,t);else if(WN(e))for(const n of e.and)rC(n,t);else if(GN(e))for(const n of e.or)rC(n,t);else t(e)}function Du(e,t){return YN(e)?{not:Du(e.not,t)}:WN(e)?{and:e.and.map(n=>Du(n,t))}:GN(e)?{or:e.or.map(n=>Du(n,t))}:t(e)}const Ge=structuredClone;function s0e(e){throw new Error(e)}function Lu(e,t){const n={};for(const r of t)Ne(e,r)&&(n[r]=e[r]);return n}function ar(e,t){const n={...e};for(const r of t)delete n[r];return n}function lt(e){if(vt(e))return e;const t=ge(e)?e:Bt(e);if(t.length<250)return t;let n=0;for(let r=0;r0===o?s:`[${s}]`),a=i.map((s,o)=>i.slice(0,o+1).join(""));for(const s of a)t.add(s)}return t}function JN(e,t){return void 0===e||void 0===t||ZN(KN(e),KN(t))}function $t(e){return 0===te(e).length}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>Bt(e)).join(",")})`};const te=Object.keys,L1=Object.values,m3=Object.entries;function fd(e){return!0===e||!1===e}function hn(e){const t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function dd(e,t){return YN(e)?`!(${dd(e.not,t)})`:WN(e)?`(${e.and.map(n=>dd(n,t)).join(") && (")})`:GN(e)?`(${e.or.map(n=>dd(n,t)).join(") || (")})`:t(e)}function iC(e,t){if(0===t.length)return!0;const n=t.shift();return n in e&&iC(e[n],t)&&delete e[n],$t(e)}function hd(e){return e.charAt(0).toUpperCase()+e.substr(1)}function ek(e,t="datum"){const n=Wa(e),r=[];for(let i=1;i<=n.length;i++){const a=`[${n.slice(0,i).map(ue).join("][")}]`;r.push(`${t}${a}`)}return r.join(" && ")}function l0e(e,t="datum"){return`${t}[${ue(Wa(e).join("."))}]`}function Umt(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function gi(e){return`${Wa(e).map(Umt).join("\\.")}`}function bl(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function tk(e){return`${Wa(e).join(".")}`}function Au(e){return e?Wa(e).length:0}function Tn(...e){for(const t of e)if(void 0!==t)return t}let u0e=42;function f0e(e){const t=++u0e;return e?String(e)+t:t}function jmt(){u0e=42}function d0e(e){return h0e(e)?e:`__${e}`}function h0e(e){return e.startsWith("__")}function pd(e){if(void 0!==e)return(e%360+360)%360}function aC(e){return!!vt(e)||!isNaN(e)&&!isNaN(parseFloat(e))}const p0e=Object.getPrototypeOf(structuredClone({}));function Ur(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;0!=r--;)if(!Ur(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;for(r of e.entries())if(!Ur(r[1],t.get(r[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(r of e.entries())if(!t.has(r[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;0!=r--;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==p0e.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==p0e.toString)return e.toString()===t.toString();const i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!=r--;){const a=i[r];if(!Ur(e[a],t[a]))return!1}return!0}return e!=e&&t!=t}function Bt(e){const t=[];return function n(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let i,a;if(Array.isArray(r)){for(a="[",i=0;ihC(e[t])?hn(`_${t}_${m3(e[t])}`):hn(`_${t}_${e[t]}`)).join("")}function Zt(e){return!0===e||xl(e)&&!e.binned}function A1(e){return"binned"===e||xl(e)&&!0===e.binned}function xl(e){return ye(e)}function hC(e){return e?.param}function D0e(e){switch(e){case Eo:case Vo:case Ao:case sr:case bs:case Ms:case C3:case No:case v3:case y3:case or:return 6;case b3:return 4;default:return 10}}function yd(e){return!!e?.expr}function lr(e){const t=te(e||{}),n={};for(const r of t)n[r]=jr(e[r]);return n}function L0e(e){const{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:s,color:o,subtitleColor:c,subtitleFont:l,subtitleFontSize:u,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,v={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...void 0!==a?{angle:a}:{},...void 0!==s?{limit:s}:{}},y={...c?{subtitleColor:c}:{},...l?{subtitleFont:l}:{},...u?{subtitleFontSize:u}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}};return{titleMarkConfig:{...m,...o?{fill:o}:{}},subtitleMarkConfig:Lu(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:v,subtitle:y}}function w3(e){return ge(e)||K(e)&&ge(e[0])}function Ve(e){return!!e?.signal}function x3(e){return!!e.step}function Io(e){return!K(e)&&"field"in e&&"data"in e}const pgt=te({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),mgt={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},dk=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function A0e(e){const t=K(e.condition)?e.condition.map(N0e):N0e(e.condition);return{...jr(e),condition:t}}function jr(e){if(yd(e)){const{expr:t,...n}=e;return{signal:t,...n}}return e}function N0e(e){if(yd(e)){const{expr:t,...n}=e;return{signal:t,...n}}return e}function sn(e){if(yd(e)){const{expr:t,...n}=e;return{signal:t,...n}}return Ve(e)?e:void 0!==e?{value:e}:void 0}function ggt(e){return Ve(e)?e.signal:ue(e)}function k0e(e){return Ve(e)?e.signal:ue(e.value)}function fa(e){return Ve(e)?e.signal:null==e?null:ue(e)}function vgt(e,t,n){for(const r of n){const i=Fo(r,t.markDef,t.config);void 0!==i&&(e[r]=sn(i))}return e}function T0e(e){return[].concat(e.type,e.style??[])}function Lt(e,t,n,r={}){const{vgChannel:i,ignoreVgConfig:a}=r;return i&&void 0!==t[i]?t[i]:void 0!==t[e]?t[e]:!a||i&&i!==e?Fo(e,t,n,r):void 0}function Fo(e,t,n,{vgChannel:r}={}){return Tn(r?pC(e,t,n.style):void 0,pC(e,t,n.style),r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function pC(e,t,n){return I0e(e,T0e(t),n)}function I0e(e,t,n){let r;t=me(t);for(const i of t){const a=n[i];a&&void 0!==a[e]&&(r=a[e])}return r}function F0e(e,t){return me(e).reduce((n,r)=>(n.field.push(fe(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function R0e(e,t){const n=[...e];return t.forEach(r=>{for(const i of n)if(Ur(i,r))return;n.push(r)}),n}function O0e(e,t){return Ur(e,t)||!t?e:e?[...me(e),...me(t)].join(", "):t}function P0e(e,t){const n=e.value,r=t.value;if(null==n||null===r)return{explicit:e.explicit,value:null};if((w3(n)||Ve(n))&&(w3(r)||Ve(r)))return{explicit:e.explicit,value:O0e(n,r)};if(w3(n)||Ve(n))return{explicit:e.explicit,value:n};if(w3(r)||Ve(r))return{explicit:e.explicit,value:r};if(!(w3(n)||Ve(n)||w3(r)||Ve(r)))return{explicit:e.explicit,value:R0e(n,r)};throw new Error("It should never reach here")}function hk(e){return`Invalid specification ${Bt(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const ygt='Autosize "fit" only works for single views and layered views.';function $0e(e){return("width"==e?"Width":"Height")+' "container" only works for single views and layered views.'}function B0e(e){return`${"width"==e?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==e?"x":"y"}".`}function U0e(e){return e?`Dropping "fit-${e}" because spec has discrete ${cr(e)}.`:'Dropping "fit" because spec has discrete size.'}function pk(e){return`Unknown field for ${e}. Cannot calculate view size.`}function j0e(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function Cgt(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function q0e(e){return`Selection not supported for ${e} yet.`}function G0e(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}function W0e(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}function Agt(e){return`Ignoring an invalid transform: ${Bt(e)}.`}function Y0e(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function Igt(e){return`${e}Offset dropped because ${e} is continuous`}function X0e(e){return`Invalid field type "${e}".`}function Q0e(e,t){const{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function mk(e,t){return`Dropping ${Bt(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}function mC(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`}function Bgt(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function Ugt(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function jgt(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function gk(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${"ordinal"===t?"order":"magnitude"}.`}function Zgt(e){return`Using unaggregated domain with raw field has no effect (${Bt(e)}).`}function Kgt(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function Jgt(e){return`Unaggregated domain is currently unsupported for log scale (${Bt(e)}).`}function Z0e(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function K0e(e){return`The step for "${e}" is dropped because the ${"width"===e?"x":"y"} is continuous.`}const J0e="Domains that should be unioned has conflicting sort properties. Sort will be set to true.";function gC(e,t){return`Invalid ${e}: ${Bt(t)}.`}function e6e(e){return`1D error band does not support ${e}.`}function t6e(e){return`Channel ${e} is required for "binned" bin.`}const n6e=VH(EH);let xs=n6e;function oe(...e){xs.warn(...e)}function zl(e){if(e&&ye(e))for(const t of yk)if(t in e)return!0;return!1}const i6e=["january","february","march","april","may","june","july","august","september","october","november","december"],wvt=i6e.map(e=>e.substr(0,3)),a6e=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],xvt=a6e.map(e=>e.substr(0,3));function vk(e,t){const n=[];if(t&&void 0!==e.day&&te(e).length>1&&(oe(function hvt(e){return`Dropping day from datetime ${Bt(e)} as day cannot be combined with other units.`}(e)),delete(e=Ge(e)).day),n.push(void 0!==e.year?e.year:2012),void 0!==e.month){const r=t?function Hvt(e){if(aC(e)&&(e=+e),vt(e))return e-1;{const t=e.toLowerCase(),n=i6e.indexOf(t);if(-1!==n)return n;const r=t.substr(0,3),i=wvt.indexOf(r);if(-1!==i)return i;throw new Error(gC("month",e))}}(e.month):e.month;n.push(r)}else if(void 0!==e.quarter){const r=t?function zvt(e){if(aC(e)&&(e=+e),vt(e))return e>4&&oe(gC("quarter",e)),e-1;throw new Error(gC("quarter",e))}(e.quarter):e.quarter;n.push(vt(r)?3*r:`${r}*3`)}else n.push(0);if(void 0!==e.date)n.push(e.date);else if(void 0!==e.day){const r=t?function Svt(e){if(aC(e)&&(e=+e),vt(e))return e%7;{const t=e.toLowerCase(),n=a6e.indexOf(t);if(-1!==n)return n;const r=t.substr(0,3),i=xvt.indexOf(r);if(-1!==i)return i;throw new Error(gC("day",e))}}(e.day):e.day;n.push(vt(r)?r+1:`${r}+1`)}else n.push(1);for(const r of["hours","minutes","seconds","milliseconds"]){const i=e[r];n.push(typeof i>"u"?0:i)}return n}function Hl(e){const n=vk(e,!0).join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}const s6e={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},yk=te(s6e);function Sl(e){return ye(e)?e.binned:o6e(e)}function o6e(e){return e&&e.startsWith("binned")}function Ck(e){return e.startsWith("utc")}const Avt={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function vC(e){return yk.filter(t=>l6e(e,t))}function c6e(e){const t=vC(e);return t[t.length-1]}function l6e(e,t){const n=e.indexOf(t);return!(n<0||n>0&&"seconds"===t&&"i"===e.charAt(n-1)||e.length>n+3&&"day"===t&&"o"===e.charAt(n+3)||n>0&&"year"===t&&"f"===e.charAt(n-1))}function u6e(e){if(e)return`timeUnitSpecifier(${Bt(vC(e))}, ${Bt(Avt)})`}function c1(e){if(!e)return;let t;return ge(e)?t=o6e(e)?{unit:e.substring(6),binned:!0}:{unit:e}:ye(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),Ck(t.unit)&&(t.utc=!0,t.unit=function Lvt(e){return e.substring(3)}(t.unit)),t}function f6e(e,t=(n=>n)){const n=c1(e),r=c6e(n.unit);if(r&&"day"!==r){const i={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:a,part:s}=d6e(r,n.step);return`${t(Hl({...i,[s]:+i[s]+a}))} - ${t(Hl(i))}`}}const Ivt={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function d6e(e,t=1){if(function Fvt(e){return!!Ivt[e]}(e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:3*t};case"week":return{part:"date",step:7*t}}}function bk(e){return!!e?.field&&void 0!==e.equal}function Mk(e){return!!e?.field&&void 0!==e.lt}function _k(e){return!!e?.field&&void 0!==e.lte}function wk(e){return!!e?.field&&void 0!==e.gt}function xk(e){return!!e?.field&&void 0!==e.gte}function zk(e){if(e?.field){if(K(e.range)&&2===e.range.length)return!0;if(Ve(e.range))return!0}return!1}function Hk(e){return!!e?.field&&(K(e.oneOf)||K(e.in))}function h6e(e){return Hk(e)||bk(e)||zk(e)||Mk(e)||wk(e)||_k(e)||xk(e)}function zs(e,t){return kC(e,{timeUnit:t,wrapTime:!0})}function p6e(e,t=!0){const{field:n}=e,r=c1(e.timeUnit),{unit:i,binned:a}=r||{},s=fe(e,{expr:"datum"}),o=i?`time(${a?s:function Nvt(e,t,{end:n}={end:!1}){const r=ek(t),i=Ck(e)?"utc":"";function a(c){return"quarter"===c?`(${i}quarter(${r})-1)`:`${i}${c}(${r})`}let s;const o={};for(const c of yk)l6e(e,c)&&(o[c]=a(c),s=c);return n&&(o[s]+="+1"),function Evt(e){const n=vk(e,!1).join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}(o)}(i,n)})`:s;if(bk(e))return`${o}===${zs(e.equal,i)}`;if(Mk(e))return`${o}<${zs(e.lt,i)}`;if(wk(e))return`${o}>${zs(e.gt,i)}`;if(_k(e))return`${o}<=${zs(e.lte,i)}`;if(xk(e))return`${o}>=${zs(e.gte,i)}`;if(Hk(e))return`indexof([${function Pvt(e,t){return e.map(n=>zs(n,t))}(e.oneOf,i).join(",")}], ${o}) !== -1`;if(function Ovt(e){return!!e?.field&&void 0!==e.valid}(e))return Sk(o,e.valid);if(zk(e)){const{range:c}=e,l=Ve(c)?{signal:`${c.signal}[0]`}:c[0],u=Ve(c)?{signal:`${c.signal}[1]`}:c[1];if(null!==l&&null!==u&&t)return"inrange("+o+", ["+zs(l,i)+", "+zs(u,i)+"])";const f=[];return null!==l&&f.push(`${o} >= ${zs(l,i)}`),null!==u&&f.push(`${o} <= ${zs(u,i)}`),f.length>0?f.join(" && "):"true"}throw new Error(`Invalid field predicate: ${Bt(e)}`)}function Sk(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function $vt(e){return h6e(e)&&e.timeUnit?{...e,timeUnit:c1(e.timeUnit)}:e}const El={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function Bvt(e){return"quantitative"===e||"temporal"===e}function m6e(e){return"ordinal"===e||"nominal"===e}const Vl=El.quantitative,Ek=El.ordinal,Iu=El.temporal,Vk=El.nominal,Fu=El.geojson;te(El);const ur={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},yC={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function jvt(e,t){const n=yC[e],r=yC[t];return n===r||"ordinal-position"===n&&"time"===r||"ordinal-position"===r&&"time"===n}te(yC);const qvt={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function g6e(e){return qvt[e]}const v6e=new Set(["linear","log","pow","sqrt","symlog"]),y6e=new Set([...v6e,"time","utc"]);function C6e(e){return v6e.has(e)}const b6e=new Set(["quantile","quantize","threshold"]),Gvt=new Set([...y6e,...b6e,"sequential","identity"]),Wvt=new Set(["ordinal","bin-ordinal","point","band"]);function l1(e){return Wvt.has(e)}function qr(e){return Gvt.has(e)}function da(e){return y6e.has(e)}function Ru(e){return b6e.has(e)}function M6e(e){return e?.param}const _6e={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},{type:XFt,domain:QFt,range:ZFt,rangeMax:KFt,rangeMin:JFt,scheme:eRt,...Kvt}=(te(_6e),_6e),Jvt=te(Kvt);function Dk(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return da(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return da(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return da(e);case"nice":return da(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return qr(e)&&!ut(["log","time","utc","threshold","quantile"],e)}}function w6e(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return Tu(e)?void 0:function Xgt(e){return`Cannot use the scale property "${e}" with non-color channel.`}(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}const Z1={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},x6e=Z1.arc,CC=Z1.area,bC=Z1.bar,nyt=Z1.image,MC=Z1.line,_C=Z1.point,ryt=Z1.rect,wC=Z1.rule,z6e=Z1.text,Lk=Z1.tick,iyt=Z1.trail,Ak=Z1.circle,Nk=Z1.square,H6e=Z1.geoshape;function H3(e){return["line","area","trail"].includes(e)}function bd(e){return["rect","bar","image","arc"].includes(e)}const S6e=new Set(te(Z1));function ha(e){return e.type}const oyt=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit","fill","fillOpacity"],E6e=te({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),V6e=te({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function Dl(e){return e&&null!=e.band}const uyt={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]};function kk(e){const{channel:t,channelDef:n,markDef:r,scale:i,config:a}=e,s=Ik(e);return ce(n)&&!E0e(n.aggregate)&&i&&da(i.get("type"))?function myt({fieldDef:e,channel:t,markDef:n,ref:r,config:i}){return H3(n.type)?r:null===Lt("invalid",n,i)?[gyt(e,t),r]:r}({fieldDef:n,channel:t,markDef:r,ref:s,config:a}):s}function gyt(e,t){return{test:Tk(e,!0),..."y"===wl(t)?{field:{group:"height"}}:{value:0}}}function Tk(e,t=!0){return Sk(ge(e)?e:fe(e,{expr:"datum"}),!t)}function Ll(e,t,n,r){const i={};if(t&&(i.scale=t),Ss(e)){const{datum:a}=e;zl(a)?i.signal=Hl(a):Ve(a)?i.signal=a.signal:yd(a)?i.signal=a.expr:i.value=a}else i.field=fe(e,n);if(r){const{offset:a,band:s}=r;a&&(i.offset=a),s&&(i.band=s)}return i}function xC({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,endSuffix:a="end",bandPosition:s=.5}){const o=!Ve(s)&&0hn(`${"unit"===r?"":`_${r}_`}${n[r]}`)).join(""):(t?"utc":"")+"timeunit"+te(n).map(r=>hn(`_${r}_${n[r]}`)).join("")}(l),i=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}s&&(n=n?`${s}_${n}`:s)}return i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs?tk(n):t.expr?l0e(n,t.expr)+a:gi(n)+a}function DC(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return ce(e)&&!!e.bin;case"temporal":return!1}throw new Error(X0e(e.type))}const W6e=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return function Lyt(e){const{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(_3(t))return`${i} for argmax(${t.argmax})`;if(To(t))return`${i} for argmin(${t.argmin})`;const a=r&&!Sl(r)?c1(r):void 0,s=t||a?.unit||a?.maxbins&&"timeunit"||Zt(n)&&"bin";return s?`${s.toUpperCase()}(${i})`:i}(e);default:return function Dyt(e,t){const{field:n,bin:r,timeUnit:i,aggregate:a}=e;if("count"===a)return t.countTitle;if(Zt(r))return`${n} (binned)`;if(i&&!Sl(i)){const s=c1(i)?.unit;if(s)return`${n} (${vC(s).join("-")})`}else if(a)return _3(a)?`${n} for max ${a.argmax}`:To(a)?`${n} for min ${a.argmin}`:`${hd(a)} of ${n}`;return n}(e,t)}};let Y6e=W6e;function X6e(e){Y6e=e}function $u(e,t,{allowDisabling:n,includeDefault:r=!0}){const i=$k(e)?.title;if(!ce(e))return i??e.title;const a=e,s=r?Bk(a,t):void 0;return n?Tn(i,a.title,s):i??a.title??s}function $k(e){return Pu(e)&&e.axis?e.axis:q6e(e)&&e.legend?e.legend:Ok(e)&&e.header?e.header:void 0}function Bk(e,t){return Y6e(e,t)}function LC(e){if(G6e(e)){const{format:t,formatType:n}=e;return{format:t,formatType:n}}{const t=$k(e)??{},{format:n,formatType:r}=t;return{format:n,formatType:r}}}function Es(e){return ce(e)?e:EC(e)?e.condition:void 0}function e1(e){return Xe(e)?e:xd(e)?e.condition:void 0}function Q6e(e,t,n,r={}){return ge(e)||vt(e)||xc(e)?(oe(function Fgt(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${Bt(n)}}.`}(t,ge(e)?"string":vt(e)?"number":"boolean",e)),{value:e}):Xe(e)?AC(e,t,n,r):xd(e)?{...e,condition:AC(e.condition,t,n,r)}:e}function AC(e,t,n,r){if(G6e(e)){const{format:i,formatType:a,...s}=e;if(Al(a)&&!n.customFormatTypes)return oe(Y0e(t)),AC(s,t,n,r)}else{const i=Pu(e)?"axis":q6e(e)?"legend":Ok(e)?"header":null;if(i&&e[i]){const{format:a,formatType:s,...o}=e[i];if(Al(s)&&!n.customFormatTypes)return oe(Y0e(t)),AC({...e,[i]:o},t,n,r)}}return ce(e)?Uk(e,t,r):function kyt(e){let t=e.type;if(t)return e;const{datum:n}=e;return t=vt(n)?"quantitative":ge(n)?"nominal":zl(n)?"temporal":void 0,{...e,type:t}}(e)}function Uk(e,t,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:a,field:s}=e,o={...e};if(!n&&r&&!fk(r)&&!_3(r)&&!To(r)&&(oe(function Ogt(e){return`Invalid aggregation operator "${e}".`}(r)),delete o.aggregate),i&&(o.timeUnit=c1(i)),s&&(o.field=`${s}`),Zt(a)&&(o.bin=NC(a,t)),A1(a)&&!In(t)&&oe(function vvt(e){return`Channel ${e} should not be used with "binned" bin.`}(t)),D2(o)){const{type:c}=o,l=function Uvt(e){if(e)switch(e=e.toLowerCase(),e){case"q":case Vl:return"quantitative";case"t":case Iu:return"temporal";case"o":case Ek:return"ordinal";case"n":case Vk:return"nominal";case Fu:return"geojson"}}(c);c!==l&&(o.type=l),"quantitative"!==c&&E0e(r)&&(oe(function Rgt(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}(c,r)),o.type="quantitative")}else if(!w0e(t)){const c=function Nyt(e,t){switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(Pk(e)&&K(e.sort))return"ordinal";const{aggregate:n,bin:r,timeUnit:i}=e;if(i)return"temporal";if(r||n&&!_3(n)&&!To(n))return"quantitative";if(Nl(e)&&e.scale?.type)switch(yC[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}(o,t);o.type=c}if(D2(o)){const{compatible:c,warning:l}=function Tyt(e,t){const n=e.type;if("geojson"===n&&"shape"!==t)return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case Eo:case Vo:case sC:return DC(e)?Bu:{compatible:!1,warning:Ugt(t)};case pn:case o1:case g3:case Nu:case sr:case bs:case Ms:case md:case gd:case oC:case _l:case cC:case lC:case Ml:case vi:case oa:case uC:return Bu;case la:case yi:case ca:case ua:return n!==Vl?{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`}:Bu;case No:case v3:case y3:case C3:case Ao:case Lo:case Do:case sa:case Cs:return"nominal"!==n||e.sort?Bu:{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`};case or:case b3:return DC(e)||function Eyt(e){return Nl(e)&&Ru(e.scale?.type)}(e)?Bu:{compatible:!1,warning:jgt(t)};case ku:return"nominal"!==e.type||"sort"in e?Bu:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}}(o,t)||{};!1===c&&oe(l)}if(Pk(o)&&ge(o.sort)){const{sort:c}=o;if(F6e(c))return{...o,sort:{encoding:c}};const l=c.substr(1);if("-"===c.charAt(0)&&F6e(l))return{...o,sort:{encoding:l,order:"descending"}}}if(Ok(o)){const{header:c}=o;if(c){const{orient:l,...u}=c;if(l)return{...o,header:{...u,labelOrient:c.labelOrient||l,titleOrient:c.titleOrient||l}}}}return o}function NC(e,t){return xc(e)?{maxbins:D0e(t)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:{...e,maxbins:D0e(t)}}const Bu={compatible:!0};function Uu(e){const{formatType:t}=LC(e);return"time"===t||!t&&function Iyt(e){return e&&("temporal"===e.type||ce(e)&&!!e.timeUnit)}(e)}function kC(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){const a=t&&c1(t)?.unit;let o,s=a||"temporal"===n;return yd(e)?o=e.expr:Ve(e)?o=e.signal:zl(e)?(s=!0,o=Hl(e)):(ge(e)||vt(e))&&s&&(o=`datetime(${Bt(e)})`,function Dvt(e){return!!s6e[e]}(a)&&(vt(e)&&e<1e4||ge(e)&&isNaN(Date.parse(e)))&&(o=Hl({[a]:e}))),o?r&&s?`time(${o})`:o:i?void 0:Bt(e)}function Z6e(e,t){const{type:n}=e;return t.map(r=>{const a=kC(r,{timeUnit:ce(e)&&!Sl(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return void 0!==a?{signal:a}:r})}function zd(e,t){return Zt(e.bin)?ko(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}const K6e={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function Hd(e){return e?.condition}const J6e=["domain","grid","labels","ticks","title"],Fyt={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},eue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},tue={...eue,style:1,labelExpr:1,encoding:1};function nue(e){return!!tue[e]}te(tue);const rue=te({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function Ro(e){return"mark"in e}class TC{constructor(t,n){this.name=t,this.run=n}hasMatchingType(t){return!!Ro(t)&&function pyt(e){return ha(e)?e.type:e}(t.mark)===this.name}}function kl(e,t){const n=e&&e[t];return!!n&&(K(n)?Cl(n,r=>!!r.field):ce(n)||EC(n))}function iue(e,t){const n=e&&e[t];return!!n&&(K(n)?Cl(n,r=>!!r.field):ce(n)||Ss(n)||xd(n))}function aue(e,t){if(In(t)){const n=e[t];if((ce(n)||Ss(n))&&(m6e(n.type)||ce(n)&&n.timeUnit))return iue(e,ak(t))}return!1}function jk(e){return Cl(Wmt,t=>{if(kl(e,t)){const n=e[t];if(K(n))return Cl(n,r=>!!r.aggregate);{const r=Es(n);return r&&!!r.aggregate}}return!1})}function sue(e,t){const n=[],r=[],i=[],a=[],s={};return qk(e,(o,c)=>{if(ce(o)){const{field:l,aggregate:u,bin:f,timeUnit:d,...h}=o;if(u||d||f){const m=$k(o)?.title;let g=fe(o,{forAs:!0});const v={...m?[]:{title:$u(o,t,{allowDisabling:!0})},...h,field:g};if(u){let y;if(_3(u)?(y="argmax",g=fe({op:"argmax",field:u.argmax},{forAs:!0}),v.field=`${g}.${l}`):To(u)?(y="argmin",g=fe({op:"argmin",field:u.argmin},{forAs:!0}),v.field=`${g}.${l}`):"boxplot"!==u&&"errorbar"!==u&&"errorband"!==u&&(y=u),y){const C={op:y,as:g};l&&(C.field=l),a.push(C)}}else if(n.push(g),D2(o)&&Zt(f))r.push({bin:f,field:l,as:g}),n.push(fe(o,{binSuffix:"end"})),zd(o,c)&&n.push(fe(o,{binSuffix:"range"})),In(c)&&(s[`${c}2`]={field:`${g}_end`}),v.bin="binned",w0e(c)||(v.type=Vl);else if(d&&!Sl(d)){i.push({timeUnit:d,field:l,as:g});const y=D2(o)&&o.type!==Iu&&"time";y&&(c===md||c===_l?v.formatType=y:function tgt(e){return!!sk[e]}(c)?v.legend={formatType:y,...v.legend}:In(c)&&(v.axis={formatType:y,...v.axis}))}s[c]=v}else n.push(l),s[c]=e[c]}else s[c]=e[c]}),{bins:r,timeUnits:i,aggregate:a,groupby:n,encoding:s}}function Ryt(e,t,n){const r=function rgt(e,t){return function agt(e){switch(e){case sr:case bs:case Ms:case uC:case gd:case oC:case _l:case cC:case ku:case No:case v3:case y3:case C3:case sC:case Eo:case Vo:return S0e;case pn:case o1:case g3:case Nu:case ca:case la:return igt;case sa:case Cs:case ua:case yi:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Ao:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case b3:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case or:return{point:"always",geoshape:"always"};case md:return{text:"always"};case Ml:return{point:"always",square:"always",text:"always"};case lC:return{image:"always"};case vi:case oa:return{text:"always",arc:"always"};case Lo:case Do:return{arc:"always"}}}(e)[t]}(t,n);if(!r)return!1;if("binned"===r){const i=e[t===sa?pn:o1];return!!(ce(i)&&ce(e[t])&&A1(i.bin))}return!0}function IC(e,t){const n={};for(const r of te(e)){const i=Q6e(e[r],r,t,{compositeMark:!0});n[r]=i}return n}function qk(e,t,n){if(e)for(const r of te(e)){const i=e[r];if(K(i))for(const a of i)t.call(n,a,r);else t.call(n,i,r)}}function oue(e,t){return te(t).reduce((n,r)=>{switch(r){case pn:case o1:case cC:case uC:case lC:case sa:case Cs:case g3:case Nu:case vi:case Lo:case oa:case Do:case ca:case la:case ua:case yi:case md:case or:case Ml:case _l:return n;case ku:if("line"===e||"trail"===e)return n;case gd:case oC:{const i=t[r];if(K(i)||ce(i))for(const a of me(i))a.aggregate||n.push(fe(a,{}));return n}case Ao:if("trail"===e)return n;case sr:case bs:case Ms:case No:case v3:case y3:case b3:case C3:{const i=Es(t[r]);return i&&!i.aggregate&&n.push(fe(i,{})),n}}},[])}function Gk(e,t,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};const i=e.map(({fieldPrefix:s,titlePrefix:o})=>{const c=r?` of ${Wk(t)}`:"";return{field:s+t.field,type:t.type,title:Ve(o)?{signal:`${o}"${escape(c)}"`}:o+c}}),a=function Pyt(e){const t=[];for(const n of te(e))if(kl(e,n)){const i=me(e[n]);for(const a of i)ce(a)?t.push(a):EC(a)&&t.push(a.condition)}return t}(n).map(Hyt);return{tooltip:[...i,...ys(a,lt)]}}function Wk(e){const{title:t,field:n}=e;return Tn(t,n)}function Yk(e,t,n,r,i){const{scale:a,axis:s}=n;return({partName:o,mark:c,positionPrefix:l,endPositionPrefix:u,extraEncoding:f={}})=>{const d=Wk(n);return cue(e,o,i,{mark:c,encoding:{[t]:{field:`${l}_${n.field}`,type:n.type,...void 0!==d?{title:d}:{},...void 0!==a?{scale:a}:{},...void 0!==s?{axis:s}:{}},...ge(u)?{[`${t}2`]:{field:`${u}_${n.field}`}}:{},...r,...f}})}}function cue(e,t,n,r){const{clip:i,color:a,opacity:s}=e,o=e.type;return e[t]||void 0===e[t]&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...a?{color:a}:{},...s?{opacity:s}:{},...ha(r.mark)?r.mark:{type:r.mark},style:`${o}-${String(t)}`,...xc(e[t])?{}:e[t]}}]:[]}function lue(e,t,n){const{encoding:r}=e,i="vertical"===t?"y":"x",s=r[`${i}2`],o=r[`${i}Error`],c=r[`${i}Error2`];return{continuousAxisChannelDef:FC(r[i],n),continuousAxisChannelDef2:FC(s,n),continuousAxisChannelDefError:FC(o,n),continuousAxisChannelDefError2:FC(c,n),continuousAxis:i}}function FC(e,t){if(e?.aggregate){const{aggregate:n,...r}=e;return n!==t&&oe(function gvt(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}(n,t)),r}return e}function uue(e,t){const{mark:n,encoding:r}=e,{x:i,y:a}=r;if(ha(n)&&n.orient)return n.orient;if(E3(i)){if(E3(a)){const s=ce(i)&&i.aggregate,o=ce(a)&&a.aggregate;if(!s&&o===t)return"vertical";if(!o&&s===t)return"horizontal";if(s===t&&o===t)throw new Error("Both x and y cannot have aggregate");return Uu(a)&&!Uu(i)?"horizontal":"vertical"}return"horizontal"}if(E3(a))return"vertical";throw new Error(`Need a valid continuous axis for ${t}s`)}const RC="boxplot",jyt=new TC(RC,due);function fue(e){return vt(e)?"tukey":e}function due(e,{config:t}){e={...e,encoding:IC(e.encoding,t)};const{mark:n,encoding:r,params:i,projection:a,...s}=e,o=ha(n)?n:{type:n};i&&oe(q0e("boxplot"));const c=o.extent??t.boxplot.extent,l=Lt("size",o,t),u=o.invalid,f=fue(c),{bins:d,timeUnits:h,transform:p,continuousAxisChannelDef:m,continuousAxis:g,groupby:v,aggregate:y,encodingWithoutContinuousAxis:C,ticksOrient:b,boxOrient:M,customTooltipWithoutAggregatedField:w}=function qyt(e,t,n){const r=uue(e,RC),{continuousAxisChannelDef:i,continuousAxis:a}=lue(e,r,RC),s=i.field,o=fue(t),c=[...hue(s),{op:"median",field:s,as:`mid_box_${s}`},{op:"min",field:s,as:("min-max"===o?"lower_whisker_":"min_")+s},{op:"max",field:s,as:("min-max"===o?"upper_whisker_":"max_")+s}],l="min-max"===o||"tukey"===o?[]:[{calculate:`datum["upper_box_${s}"] - datum["lower_box_${s}"]`,as:`iqr_${s}`},{calculate:`min(datum["upper_box_${s}"] + datum["iqr_${s}"] * ${t}, datum["max_${s}"])`,as:`upper_whisker_${s}`},{calculate:`max(datum["lower_box_${s}"] - datum["iqr_${s}"] * ${t}, datum["min_${s}"])`,as:`lower_whisker_${s}`}],{[a]:u,...f}=e.encoding,{customTooltipWithoutAggregatedField:d,filteredEncoding:h}=function Byt(e){const{tooltip:t,...n}=e;if(!t)return{filteredEncoding:n};let r,i;if(K(t)){for(const a of t)a.aggregate?(r||(r=[]),r.push(a)):(i||(i=[]),i.push(a));r&&(n.tooltip=r)}else t.aggregate?n.tooltip=t:i=t;return K(i)&&1===i.length&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}(f),{bins:p,timeUnits:m,aggregate:g,groupby:v,encoding:y}=sue(h,n),C="vertical"===r?"horizontal":"vertical",b=r;return{bins:p,timeUnits:m,transform:[...p,...m,{aggregate:[...g,...c],groupby:v},...l],groupby:v,aggregate:g,continuousAxisChannelDef:i,continuousAxis:a,encodingWithoutContinuousAxis:y,ticksOrient:C,boxOrient:b,customTooltipWithoutAggregatedField:d}}(e,c,t),{color:_,size:z,...V}=C,D=Ee=>Yk(o,g,m,Ee,t.boxplot),L=D(V),R=D(C),A=D({...V,...z?{size:z}:{}}),x=Gk([{fieldPrefix:"min-max"===f?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===f?"lower_whisker_":"min_",titlePrefix:"Min"}],m,C),H={type:"tick",color:"black",opacity:1,orient:b,invalid:u,aria:!1},E="min-max"===f?x:Gk([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],m,C),T=[...L({partName:"rule",mark:{type:"rule",invalid:u,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:E}),...L({partName:"rule",mark:{type:"rule",invalid:u,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:E}),...L({partName:"ticks",mark:H,positionPrefix:"lower_whisker",extraEncoding:E}),...L({partName:"ticks",mark:H,positionPrefix:"upper_whisker",extraEncoding:E})],S=[..."tukey"!==f?T:[],...R({partName:"box",mark:{type:"bar",...l?{size:l}:{},orient:M,invalid:u,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:x}),...A({partName:"median",mark:{type:"tick",invalid:u,...ye(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...l?{size:l}:{},orient:b,aria:!1},positionPrefix:"mid_box",extraEncoding:x})];if("min-max"===f)return{...s,transform:(s.transform??[]).concat(p),layer:S};const k=`datum["lower_box_${m.field}"]`,N=`datum["upper_box_${m.field}"]`,O=`(${N} - ${k})`,B=`${k} - ${c} * ${O}`,U=`${N} + ${c} * ${O}`,$=`datum["${m.field}"]`,G={joinaggregate:hue(m.field),groupby:v},se={transform:[{filter:`(${B} <= ${$}) && (${$} <= ${U})`},{aggregate:[{op:"min",field:m.field,as:`lower_whisker_${m.field}`},{op:"max",field:m.field,as:`upper_whisker_${m.field}`},{op:"min",field:`lower_box_${m.field}`,as:`lower_box_${m.field}`},{op:"max",field:`upper_box_${m.field}`,as:`upper_box_${m.field}`},...y],groupby:v}],layer:T},{tooltip:J,...he}=V,{scale:W,axis:ne}=m,re=Wk(m),j=ar(ne,["title"]),pe=cue(o,"outliers",t.boxplot,{transform:[{filter:`(${$} < ${B}) || (${$} > ${U})`}],mark:"point",encoding:{[g]:{field:m.field,type:m.type,...void 0!==re?{title:re}:{},...void 0!==W?{scale:W}:{},...$t(j)?{}:{axis:j}},...he,..._?{color:_}:{},...w?{tooltip:w}:{}}})[0];let _e;const Pe=[...d,...h,G];return pe?_e={transform:Pe,layer:[pe,se]}:(_e=se,_e.transform.unshift(...Pe)),{...s,layer:[_e,{transform:p,layer:S}]}}function hue(e){return[{op:"q1",field:e,as:`lower_box_${e}`},{op:"q3",field:e,as:`upper_box_${e}`}]}const Xk="errorbar",Wyt=new TC(Xk,pue);function pue(e,{config:t}){e={...e,encoding:IC(e.encoding,t)};const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,ticksOrient:s,markDef:o,outerSpec:c,tooltipEncoding:l}=mue(e,Xk,t);delete a.size;const u=Yk(o,i,r,a,t.errorbar),f=o.thickness,d=o.size,h={type:"tick",orient:s,aria:!1,...void 0!==f?{thickness:f}:{},...void 0!==d?{size:d}:{}},p=[...u({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:l}),...u({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:l}),...u({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...void 0!==f?{size:f}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return{...c,transform:n,...p.length>1?{layer:p}:{...p[0]}}}function mue(e,t,n){const{mark:r,encoding:i,params:a,projection:s,...o}=e,c=ha(r)?r:{type:r};a&&oe(q0e(t));const{orient:l,inputType:u}=function Yyt(e,t){const{encoding:n}=e;if(function Xyt(e){return(Xe(e.x)||Xe(e.y))&&!Xe(e.x2)&&!Xe(e.y2)&&!Xe(e.xError)&&!Xe(e.xError2)&&!Xe(e.yError)&&!Xe(e.yError2)}(n))return{orient:uue(e,t),inputType:"raw"};const r=function Qyt(e){return Xe(e.x2)||Xe(e.y2)}(n),i=function Zyt(e){return Xe(e.xError)||Xe(e.xError2)||Xe(e.yError)||Xe(e.yError2)}(n),a=n.x,s=n.y;if(r){if(i)throw new Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);const o=n.x2,c=n.y2;if(Xe(o)&&Xe(c))throw new Error(`${t} cannot have both x2 and y2`);if(Xe(o)){if(E3(a))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${t}`)}if(Xe(c)){if(E3(s))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${t}`)}throw new Error("No ranged axis")}{const o=n.xError,l=n.yError,u=n.yError2;if(Xe(n.xError2)&&!Xe(o))throw new Error(`${t} cannot have xError2 without xError`);if(Xe(u)&&!Xe(l))throw new Error(`${t} cannot have yError2 without yError`);if(Xe(o)&&Xe(l))throw new Error(`${t} cannot have both xError and yError with both are quantiative`);if(Xe(o)){if(E3(a))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(Xe(l)){if(E3(s))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:h,continuousAxisChannelDefError2:p,continuousAxis:m}=lue(e,l,t),{errorBarSpecificAggregate:g,postAggregateCalculates:v,tooltipSummary:y,tooltipTitleWithFieldName:C}=function Kyt(e,t,n,r,i,a,s,o){let c=[],l=[];const u=t.field;let f,d=!1;if("raw"===a){const h=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":o.errorbar.center,p=e.extent?e.extent:"mean"===h?"stderr":"iqr";if("median"===h!=("iqr"===p)&&oe(function mvt(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}(h,p,s)),"stderr"===p||"stdev"===p)c=[{op:p,field:u,as:`extent_${u}`},{op:h,field:u,as:`center_${u}`}],l=[{calculate:`datum["center_${u}"] + datum["extent_${u}"]`,as:`upper_${u}`},{calculate:`datum["center_${u}"] - datum["extent_${u}"]`,as:`lower_${u}`}],f=[{fieldPrefix:"center_",titlePrefix:hd(h)},{fieldPrefix:"upper_",titlePrefix:gue(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:gue(h,p,"-")}],d=!0;else{let m,g,v;"ci"===p?(m="mean",g="ci0",v="ci1"):(m="median",g="q1",v="q3"),c=[{op:g,field:u,as:`lower_${u}`},{op:v,field:u,as:`upper_${u}`},{op:m,field:u,as:`center_${u}`}],f=[{fieldPrefix:"upper_",titlePrefix:$u({field:u,aggregate:v,type:"quantitative"},o,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:$u({field:u,aggregate:g,type:"quantitative"},o,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:$u({field:u,aggregate:m,type:"quantitative"},o,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&oe(function pvt(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`}(e.center,e.extent)),"aggregated-upper-lower"===a?(f=[],l=[{calculate:`datum["${n.field}"]`,as:`upper_${u}`},{calculate:`datum["${u}"]`,as:`lower_${u}`}]):"aggregated-error"===a&&(f=[{fieldPrefix:"",titlePrefix:u}],l=[{calculate:`datum["${u}"] + datum["${r.field}"]`,as:`upper_${u}`}],l.push(i?{calculate:`datum["${u}"] + datum["${i.field}"]`,as:`lower_${u}`}:{calculate:`datum["${u}"] - datum["${r.field}"]`,as:`lower_${u}`}));for(const h of l)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:bl(bl(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:c,tooltipSummary:f,tooltipTitleWithFieldName:d}}(c,f,d,h,p,u,t,n),{[m]:b,["x"===m?"x2":"y2"]:M,["x"===m?"xError":"yError"]:w,["x"===m?"xError2":"yError2"]:_,...z}=i,{bins:V,timeUnits:D,aggregate:L,groupby:R,encoding:A}=sue(z,n),x=[...L,...g],H="raw"!==u?[]:R,E=Gk(y,f,A,C);return{transform:[...o.transform??[],...V,...D,...0===x.length?[]:[{aggregate:x,groupby:H}],...v],groupby:H,continuousAxisChannelDef:f,continuousAxis:m,encodingWithoutContinuousAxis:A,ticksOrient:"vertical"===l?"horizontal":"vertical",markDef:c,outerSpec:o,tooltipEncoding:E}}function gue(e,t,n){return`${hd(e)} ${n} ${t}`}const Qk="errorband",eCt=new TC(Qk,vue);function vue(e,{config:t}){e={...e,encoding:IC(e.encoding,t)};const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,markDef:s,outerSpec:o,tooltipEncoding:c}=mue(e,Qk,t),l=s,u=Yk(l,i,r,a,t.errorband),f=void 0!==e.encoding.x&&void 0!==e.encoding.y;let d={type:f?"area":"rect"},h={type:f?"line":"rule"};const p={...l.interpolate?{interpolate:l.interpolate}:{},...l.tension&&l.interpolate?{tension:l.tension}:{}};return f?(d={...d,...p,ariaRoleDescription:"errorband"},h={...h,...p,aria:!1}):l.interpolate?oe(e6e("interpolate")):l.tension&&oe(e6e("tension")),{...o,transform:n,layer:[...u({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:c}),...u({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:c}),...u({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:c})]}}const Zk={};function Kk(e,t,n){const r=new TC(e,t);Zk[e]={normalizer:r,parts:n}}Kk(RC,due,["box","median","outliers","rule","ticks"]),Kk(Xk,pue,["ticks","rule"]),Kk(Qk,vue,["band","borders"]);const nCt=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],yue={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},Cue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},rCt=te(yue),iCt=te(Cue),bue=te({header:1,headerRow:1,headerColumn:1,headerFacet:1}),Mue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],_ue={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},ga=(te(_ue),"_vgsid_"),sCt={point:{on:"click",fields:[ga],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function Jk(e){return"legend"===e||!!e?.legend}function eT(e){return Jk(e)&&ye(e)}function tT(e){return!!e?.select}function wue(e){const t=[];for(const n of e||[]){if(tT(n))continue;const{expr:r,bind:i,...a}=n;if(i&&r){const s={...a,bind:i,init:r};t.push(s)}else{const s={...a,...r?{update:r}:{},...i?{bind:i}:{}};t.push(s)}}return t}function nT(e){return"concat"in e}function OC(e){return"vconcat"in e}function rT(e){return"hconcat"in e}function xue({step:e,offsetIsDiscrete:t}){return t?e.for??"offset":"position"}function Vs(e){return ye(e)&&void 0!==e.step}function zue(e){return e.view||e.width||e.height}const cCt=te({align:1,bounds:1,center:1,columns:1,spacing:1});function iT(e,t){return e[t]??e["width"===t?"continuousWidth":"continuousHeight"]}function PC(e,t){const n=$C(e,t);return Vs(n)?n.step:Sue}function $C(e,t){return Tn(e[t]??e["width"===t?"discreteWidth":"discreteHeight"],{step:e.step})}const Sue=20,fCt={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Sue},mark:{color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},arc:{},area:{},bar:{binSpacing:1,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},circle:{},geoshape:{},image:{},line:{},point:{},rect:{binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:sCt,style:{},title:{},facet:{spacing:20},concat:{spacing:20},normalizedNumberFormat:".0%"},Oo=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Eue={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Vue={blue:Oo[0],orange:Oo[1],red:Oo[2],teal:Oo[3],green:Oo[4],yellow:Oo[5],purple:Oo[6],pink:Oo[7],brown:Oo[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function Due(e){const t=te(e||{}),n={};for(const r of t){const i=e[r];n[r]=Hd(i)?A0e(i):jr(i)}return n}const gCt=[...V6e,...rue,...bue,"background","padding","legend","lineBreak","scale","style","title","view"];function Lue(e={}){const{color:t,font:n,fontSize:r,selection:i,...a}=e,s=C6({},Ge(fCt),n?function pCt(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}(n):{},t?function dCt(e={}){return{signals:[{name:"color",value:ye(e)?{...Vue,...e}:Vue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}(t):{},r?function hCt(e){return{signals:[{name:"fontSize",value:ye(e)?{...Eue,...e}:Eue}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}(r):{},a||{});i&&b6(s,"selection",i,!0);const o=ar(s,gCt);for(const c of["background","lineBreak","padding"])s[c]&&(o[c]=jr(s[c]));for(const c of V6e)s[c]&&(o[c]=lr(s[c]));for(const c of rue)s[c]&&(o[c]=Due(s[c]));for(const c of bue)s[c]&&(o[c]=lr(s[c]));return s.legend&&(o.legend=lr(s.legend)),s.scale&&(o.scale=lr(s.scale)),s.style&&(o.style=function mCt(e){const t=te(e),n={};for(const r of t)n[r]=Due(e[r]);return n}(s.style)),s.title&&(o.title=lr(s.title)),s.view&&(o.view=lr(s.view)),o}const vCt=new Set(["view",...S6e]),yCt=["color","fontSize","background","padding","facet","concat","numberFormat","numberFormatType","normalizedNumberFormat","normalizedNumberFormatType","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],CCt={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],line:["point"],tick:["bandSize","thickness"]};function _Ct(e,t,n,r){"view"===t&&(n="cell");const a={...r?e[t][r]:e[t],...e.style[n??t]};$t(a)||(e.style[n??t]=a),r||delete e[t]}function BC(e){return"layer"in e}class aT{map(t,n){return HC(t)?this.mapFacet(t,n):function wCt(e){return"repeat"in e}(t)?this.mapRepeat(t,n):rT(t)?this.mapHConcat(t,n):OC(t)?this.mapVConcat(t,n):nT(t)?this.mapConcat(t,n):this.mapLayerOrUnit(t,n)}mapLayerOrUnit(t,n){if(BC(t))return this.mapLayer(t,n);if(Ro(t))return this.mapUnit(t,n);throw new Error(hk(t))}mapLayer(t,n){return{...t,layer:t.layer.map(r=>this.mapLayerOrUnit(r,n))}}mapHConcat(t,n){return{...t,hconcat:t.hconcat.map(r=>this.map(r,n))}}mapVConcat(t,n){return{...t,vconcat:t.vconcat.map(r=>this.map(r,n))}}mapConcat(t,n){const{concat:r,...i}=t;return{...i,concat:r.map(a=>this.map(a,n))}}mapFacet(t,n){return{...t,spec:this.map(t.spec,n)}}mapRepeat(t,n){return{...t,spec:this.map(t.spec,n)}}}const zCt={zero:1,center:1,normalize:1},SCt=new Set([x6e,bC,CC,wC,_C,Ak,Nk,MC,z6e,Lk]),ECt=new Set([bC,CC,x6e]);function ju(e){return ce(e)&&"quantitative"===Ou(e)&&!e.bin}function Aue(e,t,{orient:n,type:r}){const i="x"===t?"y":"radius",a="x"===t&&["bar","area"].includes(r),s=e[t],o=e[i];if(ce(s)&&ce(o))if(ju(s)&&ju(o)){if(s.stack)return t;if(o.stack)return i;const c=ce(s)&&!!s.aggregate;if(c!==(ce(o)&&!!o.aggregate))return c?t:i;if(a){if("vertical"===n)return i;if("horizontal"===n)return t}}else{if(ju(s))return t;if(ju(o))return i}else{if(ju(s))return a&&"vertical"===n?void 0:t;if(ju(o))return a&&"horizontal"===n?void 0:i}}function Nue(e,t){const n=ha(e)?e:{type:e},r=n.type;if(!SCt.has(r))return null;const i=Aue(t,"x",n)||Aue(t,"theta",n);if(!i)return null;const a=t[i],s=ce(a)?fe(a,{}):void 0,o=function VCt(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(i),c=[],l=new Set;if(t[o]){const m=t[o],g=ce(m)?fe(m,{}):void 0;g&&g!==s&&(c.push(o),l.add(g))}const u="x"===o?"xOffset":"yOffset",f=t[u],d=ce(f)?fe(f,{}):void 0;d&&d!==s&&(c.push(u),l.add(d));const h=Kmt.reduce((m,g)=>{if("tooltip"!==g&&kl(t,g)){const v=t[g];for(const y of me(v)){const C=Es(y);if(C.aggregate)continue;const b=fe(C,{});(!b||!l.has(b))&&m.push({channel:g,fieldDef:C})}}return m},[]);let p;return void 0!==a.stack?p=xc(a.stack)?a.stack?"zero":null:a.stack:ECt.has(r)&&(p="zero"),!p||!function HCt(e){return e in zCt}(p)||jk(t)&&0===h.length?null:a?.scale?.type&&a?.scale?.type!==ur.LINEAR?(a?.stack&&oe(function fvt(e){return`Cannot stack non-linear scale (${e}).`}(a.scale.type)),null):Xe(t[_s(i)])?(void 0!==a.stack&&oe(function uvt(e){return`Cannot stack "${e}" if there is already "${e}2".`}(i)),null):(ce(a)&&a.aggregate&&!ugt.has(a.aggregate)&&oe(function dvt(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}(a.aggregate)),{groupbyChannels:c,groupbyFields:l,fieldChannel:i,impute:null!==a.impute&&H3(r),stackBy:h,offset:p})}function kue(e,t,n){const r=lr(e),i=Lt("orient",r,n);if(r.orient=function NCt(e,t,n){switch(e){case _C:case Ak:case Nk:case z6e:case ryt:case nyt:return}const{x:r,y:i,x2:a,y2:s}=t;switch(e){case bC:if(ce(r)&&(A1(r.bin)||ce(i)&&i.aggregate&&!r.aggregate))return"vertical";if(ce(i)&&(A1(i.bin)||ce(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(s||a){if(n)return n;if(!a)return(ce(r)&&r.type===Vl&&!Zt(r.bin)||VC(r))&&ce(i)&&A1(i.bin)?"horizontal":"vertical";if(!s)return(ce(i)&&i.type===Vl&&!Zt(i.bin)||VC(i))&&ce(r)&&A1(r.bin)?"vertical":"horizontal"}case wC:if(a&&(!ce(r)||!A1(r.bin))&&s&&(!ce(i)||!A1(i.bin)))return;case CC:if(s)return ce(i)&&A1(i.bin)?"horizontal":"vertical";if(a)return ce(r)&&A1(r.bin)?"vertical":"horizontal";if(e===wC){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case MC:case Lk:{const o=j6e(r),c=j6e(i);if(n)return n;if(o&&!c)return"tick"!==e?"horizontal":"vertical";if(!o&&c)return"tick"!==e?"vertical":"horizontal";if(o&&c)return"vertical";{const l=D2(r)&&r.type===Iu,u=D2(i)&&i.type===Iu;if(l&&!u)return"vertical";if(!l&&u)return"horizontal"}return}}return"vertical"}(r.type,t,i),void 0!==i&&i!==r.orient&&oe(function Ygt(e,t){return`Specified orient "${e}" overridden with "${t}".`}(r.orient,i)),"bar"===r.type&&r.orient){const o=Lt("cornerRadiusEnd",r,n);if(void 0!==o){const c="horizontal"===r.orient&&t.x2||"vertical"===r.orient&&t.y2?["cornerRadius"]:uyt[r.orient];for(const l of c)r[l]=o;void 0!==r.cornerRadiusEnd&&delete r.cornerRadiusEnd}}return void 0===Lt("opacity",r,n)&&(r.opacity=function LCt(e,t){if(ut([_C,Lk,Ak,Nk],e)&&!jk(t))return.7}(r.type,t)),void 0===Lt("cursor",r,n)&&(r.cursor=function DCt(e,t,n){return t.href||e.href||Lt("href",e,n)?"pointer":e.cursor}(r,t,n)),r}function kCt(e){const{point:t,line:n,...r}=e;return te(r).length>1?r:r.type}function TCt(e){for(const t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:ar(e[t],["point","line"])});return e}function sT(e,t={},n){return"transparent"===e.point?{opacity:0}:e.point?ye(e.point)?e.point:{}:void 0!==e.point?null:t.point||n.shape?ye(t.point)?t.point:{}:void 0}function Tue(e,t={}){return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:t.line?!0===t.line?{}:t.line:void 0}class ICt{constructor(){this.name="path-overlay"}hasMatchingType(t,n){if(Ro(t)){const{mark:r,encoding:i}=t,a=ha(r)?r:{type:r};switch(a.type){case"line":case"rule":case"trail":return!!sT(a,n[a.type],i);case"area":return!!sT(a,n[a.type],i)||!!Tue(a,n[a.type])}}return!1}run(t,n,r){const{config:i}=n,{params:a,projection:s,mark:o,name:c,encoding:l,...u}=t,f=IC(l,i),d=ha(o)?o:{type:o},h=sT(d,i[d.type],f),p="area"===d.type&&Tue(d,i[d.type]),m=[{name:c,...a?{params:a}:{},mark:kCt({..."area"===d.type&&void 0===d.opacity&&void 0===d.fillOpacity?{opacity:.7}:{},...d}),encoding:ar(f,["shape"])}],g=Nue(kue(d,f,i),f);let v=f;if(g){const{fieldChannel:y,offset:C}=g;v={...f,[y]:{...f[y],...C?{stack:C}:{}}}}return v=ar(v,["y2","x2"]),p&&m.push({...s?{projection:s}:{},mark:{type:"line",...Lu(d,["clip","interpolate","tension","tooltip"]),...p},encoding:v}),h&&m.push({...s?{projection:s}:{},mark:{type:"point",opacity:1,filled:!0,...Lu(d,["clip","tooltip"]),...h},encoding:v}),r({...u,layer:m},{...n,config:TCt(i)})}}function FCt(e,t){return t?wd(e)?Oue(e,t):Iue(e,t):e}function oT(e,t){return t?Oue(e,t):e}function cT(e,t,n){const r=t[e];return function xyt(e){return e&&!ge(e)&&"repeat"in e}(r)?r.repeat in n?{...t,[e]:n[r.repeat]}:void oe(function Egt(e){return`Unknown repeated value "${e}".`}(r.repeat)):t}function Iue(e,t){if(void 0!==(e=cT("field",e,t))){if(null===e)return null;if(Pk(e)&&Hs(e.sort)){const n=cT("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function Fue(e,t){if(ce(e))return Iue(e,t);{const n=cT("datum",e,t);return n!==e&&!n.type&&(n.type="nominal"),n}}function Rue(e,t){if(!Xe(e)){if(xd(e)){const n=Fue(e.condition,t);if(n)return{...e,condition:n};{const{condition:r,...i}=e;return i}}return e}{const n=Fue(e,t);if(n)return n;if(SC(e))return{condition:e.condition}}}function Oue(e,t){const n={};for(const r in e)if(Ne(e,r)){const i=e[r];if(K(i))n[r]=i.map(a=>Rue(a,t)).filter(a=>a);else{const a=Rue(i,t);void 0!==a&&(n[r]=a)}}return n}class RCt{constructor(){this.name="RuleForRangedLine"}hasMatchingType(t){if(Ro(t)){const{encoding:n,mark:r}=t;if("line"===r||ha(r)&&"line"===r.type)for(const i of Xmt){const s=n[wl(i)];if(n[i]&&(ce(s)&&!A1(s.bin)||Ss(s)))return!0}}return!1}run(t,n,r){const{encoding:i,mark:a}=t;return oe(function Wgt(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`}(!!i.x2,!!i.y2)),r({...t,mark:ye(a)?{...a,type:"rule"}:"rule"},n)}}function Pue({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){const i=new Set([...te(e),...te(t)]);for(const a of i){const s=t[a],o=e[a];if(Xe(s)){const c={...o,...s};r[a]=c}else xd(s)?r[a]={...s,condition:{...o,...s.condition}}:s||null===s?r[a]=s:(n||ma(o)||Ve(o)||Xe(o)||K(o))&&(r[a]=o)}}else r=t;return!r||$t(r)?void 0:r}function $ue(e){const{parentProjection:t,projection:n}=e;return t&&n&&oe(function kgt(e){const{parentProjection:t,projection:n}=e;return`Layer's shared projection ${Bt(t)} is overridden by a child projection ${Bt(n)}.`}({parentProjection:t,projection:n})),n??t}function lT(e){return"filter"in e}function PCt(e){return void 0!==e?.stop}function Bue(e){return"lookup"in e}function UCt(e){return"pivot"in e}function jCt(e){return"density"in e}function qCt(e){return"quantile"in e}function GCt(e){return"regression"in e}function WCt(e){return"loess"in e}function YCt(e){return"sample"in e}function XCt(e){return"window"in e}function QCt(e){return"joinaggregate"in e}function ZCt(e){return"flatten"in e}function KCt(e){return"calculate"in e}function Uue(e){return"bin"in e}function JCt(e){return"impute"in e}function ebt(e){return"timeUnit"in e}function tbt(e){return"aggregate"in e}function nbt(e){return"stack"in e}function rbt(e){return"fold"in e}function ibt(e){return"extent"in e&&!("density"in e)}function jue(e,t){const{transform:n,...r}=e;return n?{...r,transform:n.map(a=>{if(lT(a))return{filter:uT(a,t)};if(Uue(a)&&xl(a.bin))return{...a,bin:Gue(a.bin)};if(Bue(a)){const{selection:s,...o}=a.from;return s?{...a,from:{param:s,...o}}:a}return a})}:e}function que(e,t){const n=Ge(e);if(ce(n)&&xl(n.bin)&&(n.bin=Gue(n.bin)),Nl(n)&&n.scale?.domain?.selection){const{selection:r,...i}=n.scale.domain;n.scale.domain={...i,...r?{param:r}:{}}}if(SC(n))if(K(n.condition))n.condition=n.condition.map(r=>{const{selection:i,param:a,test:s,...o}=r;return a?r:{...o,test:uT(r,t)}});else{const{selection:r,param:i,test:a,...s}=que(n.condition,t);n.condition=i?n.condition:{...s,test:uT(n.condition,t)}}return n}function Gue(e){const t=e.extent;if(t?.selection){const{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function uT(e,t){const n=r=>Du(r,i=>{var a;const o={param:i,empty:t.emptySelections[i]??!0};return(a=t.selectionPredicates)[i]??(a[i]=[]),t.selectionPredicates[i].push(o),o});return e.selection?n(e.selection):Du(e.test||e.filter,r=>r.selection?n(r.selection):r)}class fT extends aT{map(t,n){const r=n.selections??[];if(t.params&&!Ro(t)){const i=[];for(const a of t.params)tT(a)?r.push(a):i.push(a);t.params=i}return n.selections=r,super.map(t,n)}mapUnit(t,n){const r=n.selections;if(!r||!r.length)return t;const i=(n.path??[]).concat(t.name),a=[];for(const s of r)if(s.views&&s.views.length)for(const o of s.views)(ge(o)&&(o===t.name||i.includes(o))||K(o)&&o.map(c=>i.indexOf(c)).every((c,l,u)=>-1!==c&&(0===l||c>u[l-1])))&&a.push(s);else a.push(s);return a.length&&(t.params=a),t}}for(const e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const t=fT.prototype[e];fT.prototype[e]=function(n,r){return t.call(this,n,obt(n,r))}}function obt(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function Wue(e,t){void 0===t&&(t=Lue(e.config));const n=function fbt(e,t={}){const n={config:t};return ubt.map(cbt.map(lbt.map(e,n),n),n)}(e,t),{width:r,height:i}=e,a=function dbt(e,t,n){let{width:r,height:i}=t;const a=Ro(e)||BC(e),s={};a?"container"==r&&"container"==i?(s.type="fit",s.contains="padding"):"container"==r?(s.type="fit-x",s.contains="padding"):"container"==i&&(s.type="fit-y",s.contains="padding"):("container"==r&&(oe($0e("width")),r=void 0),"container"==i&&(oe($0e("height")),i=void 0));const o={type:"pad",...s,...n?Yue(n.autosize):{},...Yue(e.autosize)};if("fit"===o.type&&!a&&(oe(ygt),o.type="pad"),"container"==r&&!("fit"==o.type||"fit-x"==o.type)&&oe(B0e("width")),"container"==i&&!("fit"==o.type||"fit-y"==o.type)&&oe(B0e("height")),!Ur(o,{type:"pad"}))return o}(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}const cbt=new class OCt extends aT{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[jyt,Wyt,eCt,new ICt,new RCt]}map(t,n){if(Ro(t)){const r=kl(t.encoding,Eo),i=kl(t.encoding,Vo),a=kl(t.encoding,sC);if(r||i||a)return this.mapFacetedUnit(t,n)}return super.map(t,n)}mapUnit(t,n){const{parentEncoding:r,parentProjection:i}=n,a=oT(t.encoding,n.repeater),s={...t,...t.name?{name:[n.repeaterPrefix,t.name].filter(c=>c).join("_")}:{},...a?{encoding:a}:{}};if(r||i)return this.mapUnitWithParentEncodingOrProjection(s,n);const o=this.mapLayerOrUnit.bind(this);for(const c of this.nonFacetUnitNormalizers)if(c.hasMatchingType(s,n.config))return c.run(s,n,o);return s}mapRepeat(t,n){return function xCt(e){return!K(e.repeat)&&e.repeat.layer}(t)?this.mapLayerRepeat(t,n):this.mapNonLayerRepeat(t,n)}mapLayerRepeat(t,n){const{repeat:r,spec:i,...a}=t,{row:s,column:o,layer:c}=r,{repeater:l={},repeaterPrefix:u=""}=n;return s||o?this.mapRepeat({...t,repeat:{...s?{row:s}:{},...o?{column:o}:{}},spec:{repeat:{layer:c},spec:i}},n):{...a,layer:c.map(f=>{const d={...l,layer:f},h=`${(i.name?`${i.name}_`:"")+u}child__layer_${hn(f)}`,p=this.mapLayerOrUnit(i,{...n,repeater:d,repeaterPrefix:h});return p.name=h,p})}}mapNonLayerRepeat(t,n){const{repeat:r,spec:i,data:a,...s}=t;!K(r)&&t.columns&&(t=ar(t,["columns"]),oe(G0e("repeat")));const o=[],{repeater:c={},repeaterPrefix:l=""}=n,u=!K(r)&&r.row||[c?c.row:null],f=!K(r)&&r.column||[c?c.column:null],d=K(r)&&r||[c?c.repeat:null];for(const p of d)for(const m of u)for(const g of f){const v={repeat:p,row:m,column:g,layer:c.layer},y=(i.name?`${i.name}_`:"")+l+"child__"+(K(r)?`${hn(p)}`:(r.row?`row_${hn(m)}`:"")+(r.column?`column_${hn(g)}`:"")),C=this.map(i,{...n,repeater:v,repeaterPrefix:y});C.name=y,o.push(ar(C,["data"]))}const h=K(r)?t.columns:r.column?r.column.length:1;return{data:i.data??a,align:"all",...s,columns:h,concat:o}}mapFacet(t,n){const{facet:r}=t;return wd(r)&&t.columns&&(t=ar(t,["columns"]),oe(G0e("facet"))),super.mapFacet(t,n)}mapUnitWithParentEncodingOrProjection(t,n){const{encoding:r,projection:i}=t,{parentEncoding:a,parentProjection:s,config:o}=n,c=$ue({parentProjection:s,projection:i}),l=Pue({parentEncoding:a,encoding:oT(r,n.repeater)});return this.mapUnit({...t,...c?{projection:c}:{},...l?{encoding:l}:{}},{config:o})}mapFacetedUnit(t,n){const{row:r,column:i,facet:a,...s}=t.encoding,{mark:o,width:c,projection:l,height:u,view:f,params:d,encoding:h,...p}=t,{facetMapping:m,layout:g}=this.getFacetMappingAndLayout({row:r,column:i,facet:a},n),v=oT(s,n.repeater);return this.mapFacet({...p,...g,facet:m,spec:{...c?{width:c}:{},...u?{height:u}:{},...f?{view:f}:{},...l?{projection:l}:{},mark:o,encoding:v,...d?{params:d}:{}}},n)}getFacetMappingAndLayout(t,n){const{row:r,column:i,facet:a}=t;if(r||i){a&&oe(function qgt(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`}([...r?[Eo]:[],...i?[Vo]:[]]));const s={},o={};for(const c of[Eo,Vo]){const l=t[c];if(l){const{align:u,center:f,spacing:d,columns:h,...p}=l;s[c]=p;for(const m of["align","center","spacing"])void 0!==l[m]&&(o[m]??(o[m]={}),o[m][c]=l[m])}}return{facetMapping:s,layout:o}}{const{align:s,center:o,spacing:c,columns:l,...u}=a;return{facetMapping:FCt(u,n.repeater),layout:{...s?{align:s}:{},...o?{center:o}:{},...c?{spacing:c}:{},...l?{columns:l}:{}}}}}mapLayer(t,{parentEncoding:n,parentProjection:r,...i}){const{encoding:a,projection:s,...o}=t,c={...i,parentEncoding:Pue({parentEncoding:n,encoding:a,layer:!0}),parentProjection:$ue({parentProjection:r,projection:s})};return super.mapLayer({...o,...t.name?{name:[c.repeaterPrefix,t.name].filter(l=>l).join("_")}:{}},c)}},lbt=new class sbt extends aT{map(t,n){return n.emptySelections??(n.emptySelections={}),n.selectionPredicates??(n.selectionPredicates={}),t=jue(t,n),super.map(t,n)}mapLayerOrUnit(t,n){if((t=jue(t,n)).encoding){const r={};for(const[i,a]of m3(t.encoding))r[i]=que(a,n);t={...t,encoding:r}}return super.mapLayerOrUnit(t,n)}mapUnit(t,n){const{selection:r,...i}=t;return r?{...i,params:m3(r).map(([a,s])=>{const{init:o,bind:c,empty:l,...u}=s;"single"===u.type?(u.type="point",u.toggle=!1):"multi"===u.type&&(u.type="point"),n.emptySelections[a]="none"!==l;for(const f of L1(n.selectionPredicates[a]??{}))f.empty="none"!==l;return{name:a,value:o,select:u,bind:c}})}:t}},ubt=new fT;function Yue(e){return ge(e)?{type:e}:e??{}}const mbt=["background","padding"];function Xue(e,t){const n={};for(const r of mbt)e&&void 0!==e[r]&&(n[r]=jr(e[r]));return t&&(n.params=e.params),n}class Po{constructor(t={},n={}){this.explicit=t,this.implicit=n}clone(){return new Po(Ge(this.explicit),Ge(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(t){return Tn(this.explicit[t],this.implicit[t])}getWithExplicit(t){return void 0!==this.explicit[t]?{explicit:!0,value:this.explicit[t]}:void 0!==this.implicit[t]?{explicit:!1,value:this.implicit[t]}:{explicit:!1,value:void 0}}setWithExplicit(t,{value:n,explicit:r}){void 0!==n&&this.set(t,n,r)}set(t,n,r){return delete this[r?"implicit":"explicit"][t],this[r?"explicit":"implicit"][t]=n,this}copyKeyFromSplit(t,{explicit:n,implicit:r}){void 0!==n[t]?this.set(t,n[t],!0):void 0!==r[t]&&this.set(t,r[t],!1)}copyKeyFromObject(t,n){void 0!==n[t]&&this.set(t,n[t],!0)}copyAll(t){for(const n of te(t.combine())){const r=t.getWithExplicit(n);this.setWithExplicit(n,r)}}}function Ds(e){return{explicit:!0,value:e}}function Gr(e){return{explicit:!1,value:e}}function Que(e){return(t,n,r,i)=>{const a=e(t.value,n.value);return a>0?t:a<0?n:UC(t,n,r,i)}}function UC(e,t,n,r){return e.explicit&&t.explicit&&oe(function rvt(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Bt(n)} and ${Bt(r)}). Using ${Bt(n)}.`}(n,r,e.value,t.value)),e}function V3(e,t,n,r,i=UC){return void 0===e||void 0===e.value?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:Ur(e.value,t.value)?e:i(e,t,n,r)}class gbt extends Po{constructor(t={},n={},r=!1){super(t,n),this.explicit=t,this.implicit=n,this.parseNothing=r}clone(){const t=super.clone();return t.parseNothing=this.parseNothing,t}}function qu(e){return"url"in e}function Sd(e){return"values"in e}function Zue(e){return"name"in e&&!qu(e)&&!Sd(e)&&!D3(e)}function D3(e){return e&&(Kue(e)||Jue(e)||dT(e))}function Kue(e){return"sequence"in e}function Jue(e){return"sphere"in e}function dT(e){return"graticule"in e}var on=function(e){return e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e}(on||{});function efe(e){const{signals:t,hasLegend:n,index:r,...i}=e;return i.field=gi(i.field),i}function Tl(e,t=!0,n=P1){if(K(e)){const r=e.map(i=>Tl(i,t,n));return t?`[${r.join(", ")}]`:r}return zl(e)?n(t?Hl(e):function Vvt(e){const t=vk(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}(e)):t?n(Bt(e)):e}function vbt(e,t){for(const n of L1(e.component.selection??{})){const r=n.name;let i=`${r}${A3}, ${"global"===n.resolve?"true":`{unit: ${Fl(e)}}`}`;for(const a of QC)a.defined(n)&&(a.signals&&(t=a.signals(e,n,t)),a.modifyExpr&&(i=a.modifyExpr(e,n,i)));t.push({name:r+Qbt,on:[{events:{signal:n.name+A3},update:`modify(${ue(n.name+Il)}, ${i})`}]})}return hT(t)}function ybt(e,t){if(e.component.selection&&te(e.component.selection).length){const n=ue(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:h3("pointermove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return hT(t)}function tfe(e,t){for(const n of L1(e.component.selection??{}))for(const r of QC)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function hT(e){return e.map(t=>(t.on&&!t.on.length&&delete t.on,t))}class Ot{constructor(t,n){this.debugName=n,this._children=[],this._parent=null,t&&(this.parent=t)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(t){this._parent=t,t&&t.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(t,n){this._children.includes(t)?oe("Attempt to add the same child twice."):void 0!==n?this._children.splice(n,0,t):this._children.push(t)}removeChild(t){const n=this._children.indexOf(t);return this._children.splice(n,1),n}remove(){let t=this._parent.removeChild(this);for(const n of this._children)n._parent=this._parent,this._parent.addChild(n,t++)}insertAsParentOf(t){const n=t.parent;n.removeChild(this),this.parent=n,t.parent=this}swapWithParent(){const t=this._parent,n=t.parent;for(const i of this._children)i.parent=t;this._children=[],t.removeChild(this);const r=t.parent.removeChild(t);this._parent=n,n.addChild(this,r),t.parent=this}}class L2 extends Ot{clone(){const t=new this.constructor;return t.debugName=`clone_${this.debugName}`,t._source=this._source,t._name=`clone_${this._name}`,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t}constructor(t,n,r,i){super(t,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${f0e()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(t){this._source=t}}function pT(e){return void 0!==e.as}function nfe(e){return`${e}_end`}class Ls extends Ot{clone(){return new Ls(null,Ge(this.timeUnits))}constructor(t,n){super(t),this.timeUnits=n}static makeFromEncoding(t,n){const r=n.reduceFieldDef((i,a,s)=>{const{field:o,timeUnit:c}=a;if(c){let l;if(Sl(c)){if(Sn(n)){const{mark:u,markDef:f,config:d}=n,h=S3({fieldDef:a,markDef:f,config:d});(bd(u)||h)&&(l={timeUnit:c1(c),field:o})}}else l={as:fe(a,{forAs:!0}),field:o,timeUnit:c};if(Sn(n)){const{mark:u,markDef:f,config:d}=n,h=S3({fieldDef:a,markDef:f,config:d});bd(u)&&In(s)&&.5!==h&&(l.rectBandPosition=h)}l&&(i[lt(l)]=l)}return i},{});return $t(r)?null:new Ls(t,r)}static makeFromTransform(t,n){const{timeUnit:r,...i}={...n},s={...i,timeUnit:c1(r)};return new Ls(t,{[lt(s)]:s})}merge(t){this.timeUnits={...this.timeUnits};for(const n in t.timeUnits)this.timeUnits[n]||(this.timeUnits[n]=t.timeUnits[n]);for(const n of t.children)t.removeChild(n),n.parent=this;t.remove()}removeFormulas(t){const n={};for(const[r,i]of m3(this.timeUnits)){const a=pT(i)?i.as:`${i.field}_end`;t.has(a)||(n[r]=i)}this.timeUnits=n}producedFields(){return new Set(L1(this.timeUnits).map(t=>pT(t)?t.as:nfe(t.field)))}dependentFields(){return new Set(L1(this.timeUnits).map(t=>t.field))}hash(){return`TimeUnit ${lt(this.timeUnits)}`}assemble(){const t=[];for(const n of L1(this.timeUnits)){const{rectBandPosition:r}=n,i=c1(n.timeUnit);if(pT(n)){const{field:a,as:s}=n,{unit:o,utc:c,...l}=i,u=[s,`${s}_end`];t.push({field:gi(a),type:"timeunit",...o?{units:vC(o)}:{},...c?{timezone:"utc"}:{},...l,as:u}),t.push(...ife(u,r,i))}else if(n){const{field:a}=n,s=a.replaceAll("\\.","."),o=rfe({timeUnit:i,field:s}),c=nfe(s);t.push({type:"formula",expr:o,as:c}),t.push(...ife([s,c],r,i))}}return t}}const jC="offsetted_rect_start",qC="offsetted_rect_end";function rfe({timeUnit:e,field:t,reverse:n}){const{unit:r,utc:i}=e,a=c6e(r),{part:s,step:o}=d6e(a,e.step);return`${i?"utcOffset":"timeOffset"}('${s}', datum['${t}'], ${n?-o:o})`}function ife([e,t],n,r){if(void 0!==n&&.5!==n){const i=`datum['${e}']`,a=`datum['${t}']`;return[{type:"formula",expr:afe([rfe({timeUnit:r,field:e,reverse:!0}),i],n+.5),as:`${e}_${jC}`},{type:"formula",expr:afe([i,a],n+.5),as:`${e}_${qC}`}]}return[]}function afe([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}const Ed="_tuple_fields";class wbt{constructor(...t){this.items=t,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}}const xbt={defined:()=>!0,parse:(e,t,n)=>{const r=t.name,i=t.project??(t.project=new wbt),a={},s={},o=new Set,c=(p,m)=>{const g="visual"===m?p.channel:p.field;let v=hn(`${r}_${g}`);for(let y=1;o.has(v);y++)v=hn(`${r}_${g}_${y}`);return o.add(v),{[m]:v}},l=t.type,u=e.config.selection[l],f=void 0!==n.value?me(n.value):null;let{fields:d,encodings:h}=ye(n.select)?n.select:{};if(!d&&!h&&f)for(const p of f)if(ye(p))for(const m of te(p))Ymt(m)?(h||(h=[])).push(m):"interval"===l?(oe('Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.'),h=u.encodings):(d??(d=[])).push(m);!d&&!h&&(h=u.encodings,"fields"in u&&(d=u.fields));for(const p of h??[]){const m=e.fieldDef(p);if(m){let g=m.field;if(m.aggregate){oe(Cgt(p,m.aggregate));continue}if(!g){oe(j0e(p));continue}if(m.timeUnit&&!Sl(m.timeUnit)){g=e.vgField(p);const v={timeUnit:m.timeUnit,as:g,field:m.field};s[lt(v)]=v}if(!a[g]){const y={field:g,channel:p,type:"interval"===l&&ko(p)&&qr(e.getScaleComponent(p).get("type"))?"R":m.bin?"R-RE":"E",index:i.items.length};y.signals={...c(y,"data"),...c(y,"visual")},i.items.push(a[g]=y),i.hasField[g]=a[g],i.hasSelectionId=i.hasSelectionId||g===ga,y0e(p)?(y.geoChannel=p,y.channel=v0e(p),i.hasChannel[y.channel]=a[g]):i.hasChannel[p]=a[g]}}else oe(j0e(p))}for(const p of d??[]){if(i.hasField[p])continue;const m={type:"E",field:p,index:i.items.length};m.signals={...c(m,"data")},i.items.push(m),i.hasField[p]=m,i.hasSelectionId=i.hasSelectionId||p===ga}f&&(t.init=f.map(p=>i.items.map(m=>ye(p)?void 0!==p[m.geoChannel||m.channel]?p[m.geoChannel||m.channel]:p[m.field]:p))),$t(s)||(i.timeUnit=new Ls(null,s))},signals:(e,t,n)=>{const r=t.name+Ed;return n.filter(a=>a.name===r).length>0||t.project.hasSelectionId?n:n.concat({name:r,value:t.project.items.map(efe)})}},$o={defined:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,t)=>{const n=t.scales=[];for(const r of t.project.items){const i=r.channel;if(!ko(i))continue;const a=e.getScaleComponent(i),s=a?a.get("type"):void 0;a&&qr(s)?(a.set("selectionExtent",{param:t.name,field:r.field},!0),n.push(r)):oe("Scale bindings are currently only supported for scales with unbinned, continuous domains.")}},topLevelSignals:(e,t,n)=>{const r=t.scales.filter(s=>0===n.filter(o=>o.name===s.signals.data).length);if(!e.parent||sfe(e)||0===r.length)return n;const i=n.filter(s=>s.name===t.name)[0];let a=i.update;if(a.indexOf(Vfe)>=0)i.update=`{${r.map(s=>`${ue(gi(s.field))}: ${s.signals.data}`).join(", ")}}`;else{for(const s of r){const o=`${ue(gi(s.field))}: ${s.signals.data}`;a.includes(o)||(a=`${a.substring(0,a.length-1)}, ${o}}`)}i.update=a}return n.concat(r.map(s=>({name:s.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!sfe(e))for(const r of t.scales){const i=n.filter(a=>a.name===r.signals.data)[0];i.push="outer",delete i.value,delete i.update}return n}};function mT(e,t){return`domain(${ue(e.scaleName(t))})`}function sfe(e){return e.parent&&tf(e.parent)&&!e.parent.parent}const Gu="_brush",ofe="_scale_trigger",Vd="geo_interval_init_tick",Hbt={defined:e=>"interval"===e.type,parse:(e,t,n)=>{var r;if(e.hasProjection){const i={...ye(n.select)?n.select:{}};i.fields=[ga],i.encodings||(i.encodings=n.value?te(n.value):[la,ca]),n.select={type:"interval",...i}}if(t.translate&&!$o.defined(t)){const i=`!event.item || event.item.mark.name !== ${ue(t.name+Gu)}`;for(const a of t.events){if(!a.between){oe(`${a} is not an ordered event stream for interval selections.`);continue}const s=me((r=a.between[0]).filter??(r.filter=[]));s.indexOf(i)<0&&s.push(i)}}},signals:(e,t,n)=>{const r=t.name,i=r+A3,a=L1(t.project.hasChannel).filter(o=>o.channel===pn||o.channel===o1),s=t.init?t.init[0]:null;if(n.push(...a.reduce((o,c)=>o.concat(function Sbt(e,t,n,r){const i=!e.hasProjection,a=n.channel,s=n.signals.visual,o=ue(i?e.scaleName(a):e.projectionName()),c=d=>`scale(${o}, ${d})`,l=e.getSizeSignalRef(a===pn?"width":"height").signal,u=`${a}(unit)`,f=t.events.reduce((d,h)=>[...d,{events:h.between[0],update:`[${u}, ${u}]`},{events:h,update:`[${s}[0], clamp(${u}, 0, ${l})]`}],[]);if(i){const d=n.signals.data,h=$o.defined(t),p=e.getScaleComponent(a),m=p?p.get("type"):void 0,g=r?{init:Tl(r,!0,c)}:{value:[]};return f.push({events:{signal:t.name+ofe},update:qr(m)?`[${c(`${d}[0]`)}, ${c(`${d}[1]`)}]`:"[0, 0]"}),h?[{name:d,on:[]}]:[{name:s,...g,on:f},{name:d,...r?{init:Tl(r)}:{},on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${o}, ${s})`}]}]}{const d=a===pn?0:1,h=t.name+"_init";return[{name:s,...r?{init:`[${h}[0][${d}], ${h}[1][${d}]]`}:{value:[]},on:f}]}}(e,t,c,s&&s[c.index])),[])),e.hasProjection){const o=ue(e.projectionName()),c=e.projectionName()+"_center",{x:l,y:u}=t.project.hasChannel,f=l&&l.signals.visual,d=u&&u.signals.visual,h=l?s&&s[l.index]:`${c}[0]`,p=u?s&&s[u.index]:`${c}[1]`,m=M=>e.getSizeSignalRef(M).signal,g=`[[${f?f+"[0]":"0"}, ${d?d+"[0]":"0"}],[${f?f+"[1]":m("width")}, ${d?d+"[1]":m("height")}]]`;s&&(n.unshift({name:r+"_init",init:`[scale(${o}, [${l?h[0]:h}, ${u?p[0]:p}]), scale(${o}, [${l?h[1]:h}, ${u?p[1]:p}])]`}),(!l||!u)&&(n.find(w=>w.name===c)||n.unshift({name:c,update:`invert(${o}, [${m("width")}/2, ${m("height")}/2])`})));const C=`vlSelectionTuples(intersect(${g}, {markname: ${ue(e.getName("marks"))}}, unit.mark), {unit: ${Fl(e)}})`,b=a.map(M=>M.signals.visual);return n.concat({name:i,on:[{events:[...b.length?[{signal:b.join(" || ")}]:[],...s?[{signal:Vd}]:[]],update:C}]})}{if(!$o.defined(t)){const l=r+ofe,u=a.map(f=>{const d=f.channel,{data:h,visual:p}=f.signals,m=ue(e.scaleName(d)),v=qr(e.getScaleComponent(d).get("type"))?"+":"";return`(!isArray(${h}) || (${v}invert(${m}, ${p})[0] === ${v}${h}[0] && ${v}invert(${m}, ${p})[1] === ${v}${h}[1]))`});u.length&&n.push({name:l,value:{},on:[{events:a.map(f=>({scale:e.scaleName(f.channel)})),update:u.join(" && ")+` ? ${l} : {}`}]})}const o=a.map(l=>l.signals.data),c=`unit: ${Fl(e)}, fields: ${r+Ed}, values`;return n.concat({name:i,...s?{init:`{${c}: ${Tl(s)}}`}:{},...o.length?{on:[{events:[{signal:o.join(" || ")}],update:`${o.join(" && ")} ? {${c}: [${o}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(Sn(e)&&e.hasProjection&&t.init&&(n.filter(i=>i.name===Vd).length||n.unshift({name:Vd,value:null,on:[{events:"timer{1}",update:`${Vd} === null ? {} : ${Vd}`}]})),n),marks:(e,t,n)=>{const r=t.name,{x:i,y:a}=t.project.hasChannel,s=i?.signals.visual,o=a?.signals.visual,c=`data(${ue(t.name+Il)})`;if($o.defined(t)||!i&&!a)return n;const l={x:void 0!==i?{signal:`${s}[0]`}:{value:0},y:void 0!==a?{signal:`${o}[0]`}:{value:0},x2:void 0!==i?{signal:`${s}[1]`}:{field:{group:"width"}},y2:void 0!==a?{signal:`${o}[1]`}:{field:{group:"height"}}};if("global"===t.resolve)for(const m of te(l))l[m]=[{test:`${c}.length && ${c}[0].unit === ${Fl(e)}`,...l[m]},{value:0}];const{fill:u,fillOpacity:f,cursor:d,...h}=t.mark,p=te(h).reduce((m,g)=>(m[g]=[{test:[void 0!==i&&`${s}[0] !== ${s}[1]`,void 0!==a&&`${o}[0] !== ${o}[1]`].filter(v=>v).join(" && "),value:h[g]},{value:null}],m),{});return[{name:`${r+Gu}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:u},fillOpacity:{value:f}},update:l}},...n,{name:r+Gu,type:"rect",clip:!0,encode:{enter:{...d?{cursor:{value:d}}:{},fill:{value:"transparent"}},update:{...l,...p}}}]}},Ebt={defined:e=>"point"===e.type,signals:(e,t,n)=>{const r=t.name,i=r+Ed,a=t.project,s="(item().isVoronoi ? datum.datum : datum)",o=L1(e.component.selection??{}).reduce((f,d)=>"interval"===d.type?f.concat(d.name+Gu):f,[]).map(f=>`indexof(item().mark.name, '${f}') < 0`).join(" && "),c="datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0"+(o?` && ${o}`:"");let l=`unit: ${Fl(e)}, `;l+=t.project.hasSelectionId?`${ga}: ${s}[${ue(ga)}]`:`fields: ${i}, values: [${a.items.map(d=>e.fieldDef(d.channel)?.bin?`[${s}[${ue(e.vgField(d.channel,{}))}], ${s}[${ue(e.vgField(d.channel,{binSuffix:"end"}))}]]`:`${s}[${ue(d.field)}]`).join(", ")}]`;const u=t.events;return n.concat([{name:r+A3,on:u?[{events:u,update:`${c} ? {${l}} : null`,force:!0}]:[]}])}};function Wu(e,t,n,r){const i=SC(t)&&t.condition,a=r(t);return i?{[n]:[...me(i).map(c=>{const l=r(c);if(function wyt(e){return e.param}(c)){const{param:u,empty:f}=c;return{test:Nfe(e,{param:u,empty:f}),...l}}return{test:ZC(e,c.test),...l}}),...void 0!==a?[a]:[]]}:void 0!==a?{[n]:a}:{}}function gT(e,t="text"){return Wu(e,e.encoding[t],t,r=>GC(r,e.config))}function GC(e,t,n="datum"){if(e){if(ma(e))return sn(e.value);if(Xe(e)){const{format:r,formatType:i}=LC(e);return Fk({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function lfe(e,t={}){const{encoding:n,markDef:r,config:i,stack:a}=e,s=n.tooltip;if(K(s))return{tooltip:ffe({tooltip:s},a,i,t)};{const o=t.reactiveGeom?"datum.datum":"datum";return Wu(e,s,"tooltip",c=>{const l=GC(c,i,o);if(l)return l;if(null===c)return;let u=Lt("tooltip",r,i);return!0===u&&(u={content:"encoding"}),ge(u)?{value:u}:ye(u)?Ve(u)?u:"encoding"===u.content?ffe(n,a,i,t):{signal:o}:void 0})}}function ufe(e,t,n,{reactiveGeom:r}={}){const i={...n,...n.tooltipFormat},a={},s=r?"datum.datum":"datum",o=[];function c(u,f){const d=wl(f),h=D2(u)?u:{...u,type:e[d].type},m=me(h.title||Bk(h,i)).join(", ").replaceAll(/"/g,'\\"');let g;if(In(f)){const v="x"===f?"x2":"y2",y=Es(e[v]);if(A1(h.bin)&&y){const C=fe(h,{expr:s}),b=fe(y,{expr:s}),{format:M,formatType:w}=LC(h);g=_d(C,b,M,w,i),a[v]=!0}}if((In(f)||f===vi||f===oa)&&t&&t.fieldChannel===f&&"normalize"===t.offset){const{format:v,formatType:y}=LC(h);g=Fk({fieldOrDatumDef:h,format:v,formatType:y,expr:s,config:i,normalizeStack:!0}).signal}g??(g=GC(h,i,s).signal),o.push({channel:f,key:m,value:g})}qk(e,(u,f)=>{ce(u)?c(u,f):EC(u)&&c(u.condition,f)});const l={};for(const{channel:u,key:f,value:d}of o)!a[u]&&!l[f]&&(l[f]=d);return l}function ffe(e,t,n,{reactiveGeom:r}={}){const i=ufe(e,t,n,{reactiveGeom:r}),a=m3(i).map(([s,o])=>`"${s}": ${o}`);return a.length>0?{signal:`{${a.join(", ")}}`}:void 0}function Vbt(e){const{markDef:t,config:n}=e,r=Lt("aria",t,n);return!1===r?{}:{...r?{aria:r}:{},...Dbt(e),...Lbt(e)}}function Dbt(e){const{mark:t,markDef:n,config:r}=e;if(!1===r.aria)return{};const i=Lt("ariaRoleDescription",n,r);return null!=i?{ariaRoleDescription:{value:i}}:t in mgt?{}:{ariaRoleDescription:{value:t}}}function Lbt(e){const{encoding:t,markDef:n,config:r,stack:i}=e,a=t.description;if(a)return Wu(e,a,"description",c=>GC(c,e.config));const s=Lt("description",n,r);if(null!=s)return{description:sn(s)};if(!1===r.aria)return{};const o=ufe(t,i,r);return $t(o)?void 0:{description:{signal:m3(o).map(([c,l],u)=>`"${u>0?"; ":""}${c}: " + (${l})`).join(" + ")}}}function u1(e,t,n={}){const{markDef:r,encoding:i,config:a}=t,{vgChannel:s}=n;let{defaultRef:o,defaultValue:c}=n;return void 0===o&&(c??(c=Lt(e,r,a,{vgChannel:s,ignoreVgConfig:!0})),void 0!==c&&(o=sn(c))),Wu(t,i[e],s??e,u=>Ik({channel:e,channelDef:u,markDef:r,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e),stack:null,defaultRef:o}))}function dfe(e,t={filled:void 0}){const{markDef:n,encoding:r,config:i}=e,{type:a}=n,s=t.filled??Lt("filled",n,i),o=ut(["bar","point","circle","square","geoshape"],a)?"transparent":void 0,c=Lt(!0===s?"color":void 0,n,i,{vgChannel:"fill"})??i.mark[!0===s&&"color"]??o,l=Lt(!1===s?"color":void 0,n,i,{vgChannel:"stroke"})??i.mark[!1===s&&"color"],u=s?"fill":"stroke",f={...c?{fill:sn(c)}:{},...l?{stroke:sn(l)}:{}};return n.color&&(s?n.fill:n.stroke)&&oe(Q0e("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...u1("color",e,{vgChannel:u,defaultValue:s?c:l}),...u1("fill",e,{defaultValue:r.fill?c:void 0}),...u1("stroke",e,{defaultValue:r.stroke?l:void 0})}}function Abt(e){const{encoding:t,mark:n}=e,r=t.order;return!H3(n)&&ma(r)?Wu(e,r,"zindex",i=>sn(i.value)):{}}function Yu({channel:e,markDef:t,encoding:n={},model:r,bandPosition:i}){const a=`${e}Offset`,s=t[a],o=n[a];if(("xOffset"===a||"yOffset"===a)&&o)return{offsetType:"encoding",offset:Ik({channel:a,channelDef:o,markDef:t,config:r?.config,scaleName:r.scaleName(a),scale:r.getScaleComponent(a),stack:null,defaultRef:sn(s),bandPosition:i})};const c=t[a];return c?{offsetType:"visual",offset:c}:{}}function K1(e,t,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:a,config:s,stack:o}=t,c=i[e],l=i[_s(e)],u=t.scaleName(e),f=t.getScaleComponent(e),{offset:d,offsetType:h}=Yu({channel:e,markDef:a,encoding:i,model:t,bandPosition:.5}),p=vT({model:t,defaultPos:n,channel:e,scaleName:u,scale:f}),m=!c&&In(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:function Nbt(e){const{channel:t,channelDef:n,scaleName:r,stack:i,offset:a,markDef:s}=e;if(Xe(n)&&i&&t===i.fieldChannel){if(ce(n)){let o=n.bandPosition;if(void 0===o&&"text"===s.type&&("radius"===t||"theta"===t)&&(o=.5),void 0!==o)return xC({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:o,offset:a})}return Ll(n,r,{suffix:"end"},{offset:a})}return kk(e)}({channel:e,channelDef:c,channel2Def:l,markDef:a,config:s,scaleName:u,scale:f,stack:o,offset:d,defaultRef:p,bandPosition:"encoding"===h?0:void 0});return m?{[r||e]:m}:void 0}function vT({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){const{markDef:a,config:s}=e;return()=>{const o=wl(n),c=M3(n),l=Lt(n,a,s,{vgChannel:c});if(void 0!==l)return Md(n,l);switch(t){case"zeroOrMin":case"zeroOrMax":if(r){const u=i.get("type");if(!ut([ur.LOG,ur.TIME,ur.UTC],u)&&i.domainDefinitelyIncludesZero())return{scale:r,value:0}}if("zeroOrMin"===t)return"y"===o?{field:{group:"height"}}:{value:0};switch(o){case"radius":return{signal:`min(${e.width.signal},${e.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":return{...e[cr(n)],mult:.5}}}}const kbt={left:"x",center:"xc",right:"x2"},Tbt={top:"y",middle:"yc",bottom:"y2"};function hfe(e,t,n,r="middle"){if("radius"===e||"theta"===e)return M3(e);const i="x"===e?"align":"baseline",a=Lt(i,t,n);let s;return Ve(a)?(oe(function Ggt(e){return`The ${e} for range marks cannot be an expression`}(i)),s=void 0):s=a,"x"===e?kbt[s||("top"===r?"left":"center")]:Tbt[s||r]}function WC(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?pfe(e,t,{defaultPos:n,defaultPos2:r}):K1(e,t,{defaultPos:n})}function pfe(e,t,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:a}=t,s=_s(e),o=cr(e),c=function Ibt(e,t,n){const{encoding:r,mark:i,markDef:a,stack:s,config:o}=e,c=wl(n),l=cr(n),u=M3(n),f=r[c],d=e.scaleName(c),h=e.getScaleComponent(c),{offset:p}=Yu(n in r||n in a?{channel:n,markDef:a,encoding:r,model:e}:{channel:c,markDef:a,encoding:r,model:e});if(!f&&("x2"===n||"y2"===n)&&(r.latitude||r.longitude)){const g=cr(n),v=e.markDef[g];return null!=v?{[g]:{value:v}}:{[u]:{field:e.getName(n)}}}const m=function Fbt({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:s,stack:o,offset:c,defaultRef:l}){return Xe(t)&&o&&e.charAt(0)===o.fieldChannel.charAt(0)?Ll(t,a,{suffix:"start"},{offset:c}):kk({channel:e,channelDef:n,scaleName:a,scale:s,stack:o,markDef:r,config:i,offset:c,defaultRef:l})}({channel:n,channelDef:f,channel2Def:r[n],markDef:a,config:o,scaleName:d,scale:h,stack:s,offset:p,defaultRef:void 0});return void 0!==m?{[u]:m}:YC(n,a)||YC(n,{[n]:pC(n,a,o.style),[l]:pC(l,a,o.style)})||YC(n,o[i])||YC(n,o.mark)||{[u]:vT({model:e,defaultPos:t,channel:n,scaleName:d,scale:h})()}}(t,r,s);return{...K1(e,t,{defaultPos:n,vgChannel:c[o]?hfe(e,i,a):M3(e)}),...c}}function YC(e,t){const n=cr(e),r=M3(e);if(void 0!==t[r])return{[r]:Md(e,t[r])};if(void 0!==t[e])return{[r]:Md(e,t[e])};if(t[n]){const i=t[n];if(!Dl(i))return{[n]:Md(e,i)};oe(function Pgt(e){return`Position range does not support relative band size for ${e}.`}(n))}}function L3(e,t){const{config:n,encoding:r,markDef:i}=e,a=i.type,s=_s(t),o=cr(t),c=r[t],l=r[s],u=e.getScaleComponent(t),f=u?u.get("type"):void 0,d=i.orient,h=r[o]??r.size??Lt("size",i,n,{vgChannel:o}),p=x0e(t),m="bar"===a&&("x"===t?"vertical"===d:"horizontal"===d);return!ce(c)||!(Zt(c.bin)||A1(c.bin)||c.timeUnit&&!l)||h&&!Dl(h)||r[p]||l1(f)?(Xe(c)&&l1(f)||m)&&!l?function Obt(e,t,n){const{markDef:r,encoding:i,config:a,stack:s}=n,o=r.orient,c=n.scaleName(t),l=n.getScaleComponent(t),u=cr(t),f=_s(t),d=x0e(t),h=n.scaleName(d),p=n.getScaleComponent(ak(t)),m="horizontal"===o&&"y"===t||"vertical"===o&&"x"===t;let g;(i.size||r.size)&&(m?g=u1("size",n,{vgChannel:u,defaultRef:sn(r.size)}):oe(function evt(e){return`Cannot apply size to non-oriented mark "${e}".`}(r.type)));const v=!!g,y=$6e({channel:t,fieldDef:e,markDef:r,config:a,scaleType:(l||p)?.get("type"),useVlSizeChannel:m});g=g||{[u]:Rbt(u,h||c,p||l,a,y,!!e,r.type)};const b=hfe(t,r,a,"band"===(l||p)?.get("type")&&Dl(y)&&!v?"top":"middle"),M="xc"===b||"yc"===b,{offset:w,offsetType:_}=Yu({channel:t,markDef:r,encoding:i,model:n,bandPosition:M?.5:0}),z=kk({channel:t,channelDef:e,markDef:r,config:a,scaleName:c,scale:l,stack:s,offset:w,defaultRef:vT({model:n,defaultPos:"mid",channel:t,scaleName:c,scale:l}),bandPosition:M?"encoding"===_?0:.5:Ve(y)?{signal:`(1-${y})/2`}:Dl(y)?(1-y.band)/2:0});if(u)return{[b]:z,...g};{const V=M3(f),D=g[u],L=w?{...D,offset:w}:D;return{[b]:z,[V]:K(z)?[z[0],{...z[1],offset:L}]:{...z,offset:L}}}}(c,t,e):pfe(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"}):function Pbt({fieldDef:e,fieldDef2:t,channel:n,model:r}){const{config:i,markDef:a,encoding:s}=r,o=r.getScaleComponent(n),c=r.scaleName(n),l=o?o.get("type"):void 0,u=o.get("reverse"),f=$6e({channel:n,fieldDef:e,markDef:a,config:i,scaleType:l}),h=r.component.axes[n]?.[0]?.get("translate")??.5,p=In(n)?Lt("binSpacing",a,i)??0:0,m=_s(n),g=M3(n),v=M3(m),y=Fo("minBandSize",a,i),{offset:C}=Yu({channel:n,markDef:a,encoding:s,model:r,bandPosition:0}),{offset:b}=Yu({channel:m,markDef:a,encoding:s,model:r,bandPosition:0}),M=function yyt({scaleName:e,fieldDef:t}){const n=fe(t,{expr:"datum"});return`abs(scale("${e}", ${fe(t,{expr:"datum",suffix:"end"})}) - scale("${e}", ${n}))`}({fieldDef:e,scaleName:c}),w=mfe(n,p,u,h,C,y,M),_=mfe(m,p,u,h,b??C,y,M),z=Ve(f)?{signal:`(1-${f.signal})/2`}:Dl(f)?(1-f.band)/2:.5,V=S3({fieldDef:e,fieldDef2:t,markDef:a,config:i});if(Zt(e.bin)||e.timeUnit){const D=e.timeUnit&&.5!==V;return{[v]:gfe({fieldDef:e,scaleName:c,bandPosition:z,offset:_,useRectOffsetField:D}),[g]:gfe({fieldDef:e,scaleName:c,bandPosition:Ve(z)?{signal:`1-${z.signal}`}:1-z,offset:w,useRectOffsetField:D})}}if(A1(e.bin)){const D=Ll(e,c,{},{offset:_});if(ce(t))return{[v]:D,[g]:Ll(t,c,{},{offset:w})};if(xl(e.bin)&&e.bin.step)return{[v]:D,[g]:{signal:`scale("${c}", ${fe(e,{expr:"datum"})} + ${e.bin.step})`,offset:w}}}oe(t6e(m))}({fieldDef:c,fieldDef2:l,channel:t,model:e})}function Rbt(e,t,n,r,i,a,s){if(Dl(i)){if(!n)return{mult:i.band,field:{group:e}};{const c=n.get("type");if("band"===c){let l=`bandwidth('${t}')`;1!==i.band&&(l=`${i.band} * ${l}`);const u=Fo("minBandSize",{type:s},r);return{signal:u?`max(${fa(u)}, ${l})`:l}}1!==i.band&&(oe(function Qgt(e){return`Cannot use the relative band size with ${e} scale.`}(c)),i=void 0)}}else{if(Ve(i))return i;if(i)return{value:i}}if(n){const c=n.get("range");if(x3(c)&&vt(c.step))return{value:c.step-2}}if(!a){const{bandPaddingInner:c,barBandPaddingInner:l,rectBandPaddingInner:u}=r.scale,f=Tn(c,"bar"===s?l:u);if(Ve(f))return{signal:`(1 - (${f.signal})) * ${e}`};if(vt(f))return{signal:`${1-f} * ${e}`}}return{value:PC(r.view,e)-2}}function mfe(e,t,n,r,i,a,s){if(g0e(e))return 0;const o="x"===e||"y2"===e,c=o?-t/2:t/2;if(Ve(n)||Ve(i)||Ve(r)||a){const l=fa(n),u=fa(i),f=fa(r),d=fa(a),p=a?`(${s} < ${d} ? ${o?"":"-"}0.5 * (${d} - (${s})) : ${c})`:c;return{signal:(f?`${f} + `:"")+(l?`(${l} ? -1 : 1) * `:"")+(u?`(${u} + ${p})`:p)}}return i=i||0,r+(n?-i-c:+i+c)}function gfe({fieldDef:e,scaleName:t,bandPosition:n,offset:r,useRectOffsetField:i}){return xC({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:r,...i?{startSuffix:jC,endSuffix:qC}:{}})}const $bt=new Set(["aria","width","height"]);function bi(e,t){const{fill:n,stroke:r}="include"===t.color?dfe(e):{};return{...Bbt(e.markDef,t),...vfe(e,"fill",n),...vfe(e,"stroke",r),...u1("opacity",e),...u1("fillOpacity",e),...u1("strokeOpacity",e),...u1("strokeWidth",e),...u1("strokeDash",e),...Abt(e),...lfe(e),...gT(e,"href"),...Vbt(e)}}function vfe(e,t,n){const{config:r,mark:i,markDef:a}=e;if("hide"===Lt("invalid",a,r)&&n&&!H3(i)){const o=function Ubt(e,{invalid:t=!1,channels:n}){const r=n.reduce((a,s)=>{const o=e.getScaleComponent(s);if(o){const c=o.get("type"),l=e.vgField(s,{expr:"datum"});l&&qr(c)&&(a[l]=!0)}return a},{}),i=te(r);if(i.length>0){const a=t?"||":"&&";return i.map(s=>Tk(s,t)).join(` ${a} `)}}(e,{invalid:!0,channels:dC});if(o)return{[t]:[{test:o,value:null},...me(n)]}}return n?{[t]:n}:{}}function Bbt(e,t){return pgt.reduce((n,r)=>(!$bt.has(r)&&void 0!==e[r]&&"ignore"!==t[r]&&(n[r]=sn(e[r])),n),{})}function yT(e){const{config:t,markDef:n}=e;if(Lt("invalid",n,t)){const i=function jbt(e,{invalid:t=!1,channels:n}){const r=n.reduce((a,s)=>{const o=e.getScaleComponent(s);if(o){const c=o.get("type"),l=e.vgField(s,{expr:"datum",binSuffix:e.stack?.impute?"mid":void 0});l&&qr(c)&&(a[l]=!0)}return a},{}),i=te(r);if(i.length>0){const a=t?"||":"&&";return i.map(s=>Tk(s,t)).join(` ${a} `)}}(e,{channels:ws});if(i)return{defined:{signal:i}}}return{}}function yfe(e,t){if(void 0!==t)return{[e]:sn(t)}}const CT="voronoi",Cfe={defined:e=>"point"===e.type&&e.nearest,parse:(e,t)=>{if(t.events)for(const n of t.events)n.markname=e.getName(CT)},marks:(e,t,n)=>{const{x:r,y:i}=t.project.hasChannel,a=e.mark;if(H3(a))return oe(function bgt(e){return`The "nearest" transform is not supported for ${e} marks.`}(a)),n;const s={name:e.getName(CT),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...lfe(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]};let o=0,c=!1;return n.forEach((l,u)=>{const f=l.name??"";f===e.component.mark[0].name?o=u:f.indexOf(CT)>=0&&(c=!0)}),c||n.splice(o+1,0,s),n}},bfe={defined:e=>"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!Jk(e.bind),parse:(e,t,n)=>Dfe(t,n),topLevelSignals:(e,t,n)=>{const r=t.name,i=t.project,a=t.bind,s=t.init&&t.init[0],o=Cfe.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((c,l)=>{const u=hn(`${r}_${c.field}`);n.filter(d=>d.name===u).length||n.unshift({name:u,...s?{init:Tl(s[l])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${o}[${ue(c.field)}] : null`}]:[],bind:a[c.field]??a[c.channel]??a})}),n},signals:(e,t,n)=>{const r=t.name,i=t.project,a=n.filter(l=>l.name===r+A3)[0],s=r+Ed,o=i.items.map(l=>hn(`${r}_${l.field}`)),c=o.map(l=>`${l} !== null`).join(" && ");return o.length&&(a.update=`${c} ? {fields: ${s}, values: [${o.join(", ")}]} : null`),delete a.value,delete a.on,n}},XC="_toggle",Mfe={defined:e=>"point"===e.type&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+XC,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{const n=t.name+A3,r=t.name+XC;return`${r} ? null : ${n}, `+("global"===t.resolve?`${r} ? null : true, `:`${r} ? null : {unit: ${Fl(e)}}, `)+`${r} ? ${n} : null`}},qbt={defined:e=>void 0!==e.clear&&!1!==e.clear,parse:(e,t)=>{t.clear&&(t.clear=ge(t.clear)?h3(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(bfe.defined(t))for(const r of t.project.items){const i=n.findIndex(a=>a.name===hn(`${t.name}_${r.field}`));-1!==i&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function r(i,a){-1!==i&&n[i].on&&n[i].on.push({events:t.clear,update:a})}if("interval"===t.type)for(const i of t.project.items){const a=n.findIndex(s=>s.name===i.signals.visual);r(a,"[0, 0]"),-1===a&&r(n.findIndex(o=>o.name===i.signals.data),"null")}else{let i=n.findIndex(a=>a.name===t.name+A3);r(i,"null"),Mfe.defined(t)&&(i=n.findIndex(a=>a.name===t.name+XC),r(i,"false"))}return n}},_fe={defined:e=>{const t="global"===e.resolve&&e.bind&&Jk(e.bind),n=1===e.project.items.length&&e.project.items[0].field!==ga;return t&&!n&&oe("Legend bindings are only supported for selections over an individual field or encoding channel."),t&&n},parse:(e,t,n)=>{const r=Ge(n);if(r.select=ge(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},Dfe(t,r),ye(n.select)&&(n.select.on||n.select.clear)){const s='event.item && indexof(event.item.mark.role, "legend") < 0';for(const o of t.events)o.filter=me(o.filter??[]),o.filter.includes(s)||o.filter.push(s)}const i=eT(t.bind)?t.bind.legend:"click",a=ge(i)?h3(i,"view"):me(i);t.bind={legend:{merge:a}}},topLevelSignals:(e,t,n)=>{const r=t.name,i=eT(t.bind)&&t.bind.legend,a=s=>o=>{const c=Ge(o);return c.markname=s,c};for(const s of t.project.items){if(!s.hasLegend)continue;const o=`${hn(s.field)}_legend`,c=`${r}_${o}`;if(0===n.filter(u=>u.name===c).length){const u=i.merge.map(a(`${o}_symbols`)).concat(i.merge.map(a(`${o}_labels`))).concat(i.merge.map(a(`${o}_entries`)));n.unshift({name:c,...t.init?{}:{value:null},on:[{events:u,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${c}`,force:!0}]})}}return n},signals:(e,t,n)=>{const r=t.name,i=t.project,a=n.find(d=>d.name===r+A3),s=r+Ed,o=i.items.filter(d=>d.hasLegend).map(d=>hn(`${r}_${hn(d.field)}_legend`)),l=`${o.map(d=>`${d} !== null`).join(" && ")} ? {fields: ${s}, values: [${o.join(", ")}]} : null`;t.events&&o.length>0?a.on.push({events:o.map(d=>({signal:d})),update:l}):o.length>0&&(a.update=l,delete a.value,delete a.on);const u=n.find(d=>d.name===r+XC),f=eT(t.bind)&&t.bind.legend;return u&&(t.events?u.on.push({...u.on[0],events:f}):u.on[0].events=f),n}},wfe="_translate_anchor",xfe="_translate_delta",Ybt={defined:e=>"interval"===e.type&&e.translate,signals:(e,t,n)=>{const r=t.name,i=$o.defined(t),a=r+wfe,{x:s,y:o}=t.project.hasChannel;let c=h3(t.translate,"scope");return i||(c=c.map(l=>(l.between[0].markname=r+Gu,l))),n.push({name:a,value:{},on:[{events:c.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(void 0!==s?`, extent_x: ${i?mT(e,pn):`slice(${s.signals.visual})`}`:"")+(void 0!==o?`, extent_y: ${i?mT(e,o1):`slice(${o.signals.visual})`}`:"")+"}"}]},{name:r+xfe,value:{},on:[{events:c,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),void 0!==s&&zfe(e,t,s,"width",n),void 0!==o&&zfe(e,t,o,"height",n),n}};function zfe(e,t,n,r,i){const a=t.name,s=a+wfe,o=a+xfe,c=n.channel,l=$o.defined(t),u=i.filter(M=>M.name===n.signals[l?"data":"visual"])[0],f=e.getSizeSignalRef(r).signal,d=e.getScaleComponent(c),h=d&&d.get("type"),p=d&&d.get("reverse"),g=`${s}.extent_${c}`,b=`${l&&d?"log"===h?"panLog":"symlog"===h?"panSymlog":"pow"===h?"panPow":"panLinear":"panLinear"}(${g}, ${l?c===pn?p?"":"-":p?"-":"":""}${o}.${c} / ${l?`${f}`:`span(${g})`}${l?"pow"===h?`, ${d.get("exponent")??1}`:"symlog"===h?`, ${d.get("constant")??1}`:"":""})`;u.on.push({events:{signal:o},update:l?b:`clampRange(${b}, 0, ${f})`})}const Hfe="_zoom_anchor",Sfe="_zoom_delta",Xbt={defined:e=>"interval"===e.type&&e.zoom,signals:(e,t,n)=>{const r=t.name,i=$o.defined(t),a=r+Sfe,{x:s,y:o}=t.project.hasChannel,c=ue(e.scaleName(pn)),l=ue(e.scaleName(o1));let u=h3(t.zoom,"scope");return i||(u=u.map(f=>(f.markname=r+Gu,f))),n.push({name:r+Hfe,on:[{events:u,update:i?"{"+[c?`x: invert(${c}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:a,on:[{events:u,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==s&&Efe(e,t,s,"width",n),void 0!==o&&Efe(e,t,o,"height",n),n}};function Efe(e,t,n,r,i){const a=t.name,s=n.channel,o=$o.defined(t),c=i.filter(y=>y.name===n.signals[o?"data":"visual"])[0],l=e.getSizeSignalRef(r).signal,u=e.getScaleComponent(s),f=u&&u.get("type"),d=o?mT(e,s):c.name,h=a+Sfe,v=`${o&&u?"log"===f?"zoomLog":"symlog"===f?"zoomSymlog":"pow"===f?"zoomPow":"zoomLinear":"zoomLinear"}(${d}, ${a}${Hfe}.${s}, ${h}${o?"pow"===f?`, ${u.get("exponent")??1}`:"symlog"===f?`, ${u.get("constant")??1}`:"":""})`;c.on.push({events:{signal:h},update:o?v:`clampRange(${v}, 0, ${l})`})}const Il="_store",A3="_tuple",Qbt="_modify",Vfe="vlSelectionResolve",QC=[Ebt,Hbt,xbt,Mfe,bfe,$o,_fe,qbt,Ybt,Xbt,Cfe];function Fl(e,{escape:t}={escape:!0}){let n=t?ue(e.name):e.name;const r=function Zbt(e){let t=e.parent;for(;t&&!Ca(t);)t=t.parent;return t}(e);if(r){const{facet:i}=r;for(const a of Ci)i[a]&&(n+=` + '__facet_${a}_' + (facet[${ue(r.vgField(a))}])`)}return n}function bT(e){return L1(e.component.selection??{}).reduce((t,n)=>t||n.project.hasSelectionId,!1)}function Dfe(e,t){(ge(t.select)||!t.select.on)&&delete e.events,(ge(t.select)||!t.select.clear)&&delete e.clear,(ge(t.select)||!t.select.toggle)&&delete e.toggle}function MT(e){const t=[];return"Identifier"===e.type?[e.name]:"Literal"===e.type?[e.value]:("MemberExpression"===e.type&&(t.push(...MT(e.object)),t.push(...MT(e.property))),t)}function Lfe(e){return"MemberExpression"===e.object.type?Lfe(e.object):"datum"===e.object.name}function Afe(e){const t=PA(e),n=new Set;return t.visit(r=>{"MemberExpression"===r.type&&Lfe(r)&&n.add(MT(r).slice(1).join("."))}),n}class Xu extends Ot{clone(){return new Xu(null,this.model,Ge(this.filter))}constructor(t,n,r){super(t),this.model=n,this.filter=r,this.expr=ZC(this.model,this.filter,this),this._dependentFields=Afe(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Nfe(e,t,n,r="datum"){const i=ge(t)?t:t.param,a=hn(i),s=ue(a+Il);let o;try{o=e.getSelectionComponent(a,i)}catch{return`!!${a}`}if(o.project.timeUnit){const d=n??e.component.data.raw,h=o.project.timeUnit.clone();d.parent?h.insertAsParentOf(d):d.parent=h}const u=`${o.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest("}${s}, ${r}${"global"===o.resolve?")":`, ${ue(o.resolve)})`}`,f=`length(data(${s}))`;return!1===t.empty?`${f} && ${u}`:`!${f} || ${u}`}function kfe(e,t,n){const r=hn(t),i=n.encoding;let s,a=n.field;try{s=e.getSelectionComponent(r,t)}catch{return r}if(i||a){if(i&&!a){const o=s.project.items.filter(c=>c.channel===i);!o.length||o.length>1?(a=s.project.items[0].field,oe((o.length?"Multiple ":"No ")+`matching ${ue(i)} encoding found for selection ${ue(n.param)}. Using "field": ${ue(a)}.`)):a=o[0].field}}else a=s.project.items[0].field,s.project.items.length>1&&oe(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${ue(a)}.`);return`${s.name}[${ue(gi(a))}]`}function ZC(e,t,n){return dd(t,r=>ge(r)?r:function Rvt(e){return e?.param}(r)?Nfe(e,r,n):p6e(r))}function _T(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function Dd(e,t,n,r={header:!1}){const{disable:i,orient:a,scale:s,labelExpr:o,title:c,zindex:l,...u}=e.combine();if(!i){for(const f in u){const d=Fyt[f],h=u[f];if(d&&d!==t&&"both"!==d)delete u[f];else if(Hd(h)){const{condition:p,...m}=h,g=me(p),v=K6e[f];if(v){const{vgProp:y,part:C}=v;_T(u,C,y,[...g.map(M=>{const{test:w,..._}=M;return{test:ZC(null,w),..._}}),m]),delete u[f]}else if(null===v){const y={signal:g.map(C=>{const{test:b,...M}=C;return`${ZC(null,b)} ? ${k0e(M)} : `}).join("")+k0e(m)};u[f]=y}}else if(Ve(h)){const p=K6e[f];if(p){const{vgProp:m,part:g}=p;_T(u,g,m,h),delete u[f]}}ut(["labelAlign","labelBaseline"],f)&&null===u[f]&&delete u[f]}if("grid"===t){if(!u.grid)return;if(u.encode){const{grid:f}=u.encode;u.encode={...f?{grid:f}:{}},$t(u.encode)&&delete u.encode}return{scale:s,orient:a,...u,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Tn(l,0)}}{if(!r.header&&e.mainExtracted)return;if(void 0!==o){let d=o;u.encode?.labels?.update&&Ve(u.encode.labels.update.text)&&(d=bl(o,"datum.label",u.encode.labels.update.text.signal)),_T(u,"labels","text",{signal:d})}if(null===u.labelAlign&&delete u.labelAlign,u.encode){for(const d of J6e)e.hasAxisPart(d)||delete u.encode[d];$t(u.encode)&&delete u.encode}const f=function eMt(e,t){if(e)return K(e)&&!w3(e)?e.map(n=>Bk(n,t)).join(", "):e}(c,n);return{scale:s,orient:a,grid:!1,...f?{title:f}:{},...u,...!1===n.aria?{aria:!1}:{},zindex:Tn(l,0)}}}}function Tfe(e){const{axes:t}=e.component,n=[];for(const r of ws)if(t[r])for(const i of t[r])if(!i.get("disable")&&!i.get("gridScale")){const a="x"===r?"height":"width",s=e.getSizeSignalRef(a).signal;a!==s&&n.push({name:a,update:s})}return n}function Ife(e,t,n,r){return Object.assign.apply(null,[{},...e.map(i=>{if("axisOrient"===i){const a="x"===n?"bottom":"left",s=t["x"===n?"axisBottom":"axisLeft"]||{},o=t["x"===n?"axisTop":"axisRight"]||{},c=new Set([...te(s),...te(o)]),l={};for(const u of c.values())l[u]={signal:`${r.signal} === "${a}" ? ${fa(s[u])} : ${fa(o[u])}`};return l}return t[i]})])}function rMt(e,t){const n=[{}];for(const r of e){let i=t[r]?.style;if(i){i=me(i);for(const a of i)n.push(t.style[a])}}return Object.assign.apply(null,n)}function wT(e,t,n,r={}){const i=I0e(e,n,t);if(void 0!==i)return{configFrom:"style",configValue:i};for(const a of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(void 0!==r[a]?.[e])return{configFrom:a,configValue:r[a][e]};return{}}const Ffe={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??function iMt(e,t){return!l1(e)&&ce(t)&&!Zt(t?.bin)&&!A1(t?.bin)}(n,e),gridScale:({model:e,channel:t})=>function aMt(e,t){const n="x"===t?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)}(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||Ofe(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||Rfe(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??function oMt(e,t){if("x"===t&&ut(["quantitative","temporal"],e))return!0}(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??function cMt(e,t,n,r){if(n&&!ye(r)||"nominal"!==e&&"ordinal"!==e)return"log"!==t&&"symlog"!==t||"greedy"}(t.type,n,ce(t)&&!!t.timeUnit,ce(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{const a="x"===e?"width":"y"===e?"height":void 0,s=a?t.getSizeSignalRef(a):void 0;return n.tickCount??function uMt({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){if(!r&&!l1(t)&&"log"!==t){if(ce(e)){if(Zt(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&ut(["month","hours","day","quarter"],c1(e.timeUnit)?.unit))return}return{signal:`ceil(${n.signal}/40)`}}}({fieldOrDatumDef:r,scaleType:i,size:s,values:n.values})},tickMinStep:function fMt({format:e,fieldOrDatumDef:t}){if("d"===e)return 1;if(ce(t)){const{timeUnit:n}=t;if(n){const r=f6e(n);if(r)return{signal:r}}}},title:({axis:e,model:t,channel:n})=>{if(void 0!==e.title)return e.title;const r=Pfe(t,n);if(void 0!==r)return r;const i=t.typedFieldDef(n),s=t.fieldDef("x"===n?"x2":"y2");return R0e(i?[P6e(i)]:[],ce(s)?[P6e(s)]:[])},values:({axis:e,fieldOrDatumDef:t})=>function dMt(e,t){const n=e.values;return K(n)?Z6e(t,n):Ve(n)?n:void 0}(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??function hMt(e,t){return"rect"===e&&DC(t)?1:0}(n,t)};function xT(e){return`(((${e.signal} % 360) + 360) % 360)`}function Rfe(e,t,n,r){if(void 0!==e){if("x"===n){if(Ve(e)){const i=xT(e);return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${Ve(t)?`(${t.signal} === "top")`:"top"===t} ? "bottom" : "top"`}}return 45{if(Nl(r)&&O6e(r.sort)){const{field:a,timeUnit:s}=r,o=r.sort,c=o.map((l,u)=>`${p6e({field:a,timeUnit:s,equal:l})} ? ${u} : `).join("")+o.length;t=new Qu(t,{calculate:c,as:Zu(r,i,{forAs:!0})})}}),t}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${lt(this.transform)}`}}function Zu(e,t,n){return fe(e,{prefix:t,suffix:"sort_index",...n??{}})}function KC(e,t){return ut(["top","bottom"],t)?"column":ut(["left","right"],t)||"row"===e?"row":"column"}function Ku(e,t,n,r){return Tn((t||{})[e],("row"===r?n.headerRow:"column"===r?n.headerColumn:n.headerFacet)[e],n.header[e])}function JC(e,t,n,r){const i={};for(const a of e){const s=Ku(a,t||{},n,r);void 0!==s&&(i[a]=s)}return i}const zT=["row","column"],HT=["header","footer"];function pMt(e,t){const n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:s,titleOrient:o}=JC(["titleAnchor","titleAngle","titleOrient"],i.header,r,t),c=KC(t,o),l=pd(s);return{name:`${t}-title`,type:"group",role:`${c}-title`,title:{text:n,..."row"===t?{orient:"left"}:{},style:"guide-title",...Bfe(l,c),...$fe(c,l,a),...Ufe(r,i,t,rCt,yue)}}}function $fe(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=Ofe(t,"row"===e?"left":"top","row"===e?"y":"x");return r?{align:r}:{}}function Bfe(e,t){const n=Rfe(e,"row"===t?"left":"top","row"===t?"y":"x",!0);return n?{baseline:n}:{}}function mMt(e,t){const n=e.component.layoutHeaders[t],r=[];for(const i of HT)if(n[i])for(const a of n[i]){const s=vMt(e,t,i,n,a);null!=s&&r.push(s)}return r}function gMt(e,t){const{sort:n}=e;return Hs(n)?{field:fe(n,{expr:"datum"}),order:n.order??"ascending"}:K(n)?{field:Zu(e,t,{expr:"datum"}),order:"ascending"}:{field:fe(e,{expr:"datum"}),order:n??"ascending"}}function ST(e,t,n){const{format:r,formatType:i,labelAngle:a,labelAnchor:s,labelOrient:o,labelExpr:c}=JC(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),l=Fk({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:n}).signal,u=KC(t,o);return{text:{signal:c?bl(bl(c,"datum.label",l),"datum.value",fe(e,{expr:"parent"})):l},..."row"===t?{orient:"left"}:{},style:"guide-label",frame:"group",...Bfe(a,u),...$fe(u,a,s),...Ufe(n,e,t,iCt,Cue)}}function vMt(e,t,n,r,i){if(i){let a=null;const{facetFieldDef:s}=r,o=e.config?e.config:void 0;if(s&&i.labels){const{labelOrient:f}=JC(["labelOrient"],s.header,o,t);("row"===t&&!ut(["top","bottom"],f)||"column"===t&&!ut(["left","right"],f))&&(a=ST(s,t,o))}const c=Ca(e)&&!wd(e.facet),l=i.axes,u=l?.length>0;if(a||u){const f="row"===t?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:gMt(s,t)}:{},...u&&c?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{},...u?{axes:l}:{}}}}return null}const yMt={column:{start:0,end:1},row:{start:1,end:0}};function CMt(e,t){return yMt[t][e]}function Ufe(e,t,n,r,i){const a={};for(const s of r){if(!i[s])continue;const o=Ku(s,t?.header,e,n);void 0!==o&&(a[i[s]]=o)}return a}function ET(e){return[...eb(e,"width"),...eb(e,"height"),...eb(e,"childWidth"),...eb(e,"childHeight")]}function eb(e,t){const n="width"===t?"x":"y",r=e.component.layoutSize.get(t);if(!r||"merged"===r)return[];const i=e.getSizeSignalRef(t).signal;if("step"===r){const a=e.getScaleComponent(n);if(a){const s=a.get("type"),o=a.get("range");if(l1(s)&&x3(o)){const c=e.scaleName(n);return Ca(e.parent)&&"independent"===e.parent.component.resolve.scale[n]?[jfe(c,o)]:[jfe(c,o),{name:i,update:qfe(c,a,`domain('${c}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}if("container"==r){const a=i.endsWith("width"),s=a?"containerSize()[0]":"containerSize()[1]",c=`isFinite(${s}) ? ${s} : ${iT(e.config.view,a?"width":"height")}`;return[{name:i,init:c,on:[{update:c,events:"window:resize"}]}]}return[{name:i,value:r}]}function jfe(e,t){const n=`${e}_step`;return Ve(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function qfe(e,t,n){const r=t.get("type"),i=t.get("padding"),a=Tn(t.get("paddingOuter"),i);let s=t.get("paddingInner");return s="band"===r?void 0!==s?s:i:1,`bandspace(${n}, ${fa(s)}, ${fa(a)}) * ${e}_step`}function Gfe(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function Wfe(e,t){return te(e).reduce((n,r)=>({...n,...Wu(t,e[r],r,a=>sn(a.value))}),{})}function Yfe(e,t){if(Ca(t))return"theta"===e?"independent":"shared";if(tf(t))return"shared";if(UT(t))return In(e)||"theta"===e||"radius"===e?"independent":"shared";throw new Error("invalid model type for resolve")}function VT(e,t){const n=e.scale[t],r=In(t)?"axis":"legend";return"independent"===n?("shared"===e[r][t]&&oe(function avt(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}(t)),"independent"):e[r][t]||"shared"}const MMt={..._ue,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1},Xfe=te(MMt);class _Mt extends Po{}const Qfe={symbols:function wMt(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:a}){if("symbol"!==a)return;const{markDef:s,encoding:o,config:c,mark:l}=n,u=s.filled&&"trail"!==l;let f={...vgt({},n,oyt),...dfe(n,{filled:u})};const d=i.get("symbolOpacity")??c.legend.symbolOpacity,h=i.get("symbolFillColor")??c.legend.symbolFillColor,p=i.get("symbolStrokeColor")??c.legend.symbolStrokeColor,m=void 0===d?Zfe(o.opacity)??s.opacity:void 0;if(f.fill)if("fill"===r||u&&r===sr)delete f.fill;else if(f.fill.field)h?delete f.fill:(f.fill=sn(c.legend.symbolBaseFillColor??"black"),f.fillOpacity=sn(m??1));else if(K(f.fill)){const g=DT(o.fill??o.color)??s.fill??(u&&s.color);g&&(f.fill=sn(g))}if(f.stroke)if("stroke"===r||!u&&r===sr)delete f.stroke;else if(f.stroke.field||p)delete f.stroke;else if(K(f.stroke)){const g=Tn(DT(o.stroke||o.color),s.stroke,u?s.color:void 0);g&&(f.stroke={value:g})}if(r!==No){const g=ce(t)&&Jfe(0,i,t);g?f.opacity=[{test:g,...sn(m??1)},sn(c.legend.unselectedOpacity)]:m&&(f.opacity=sn(m))}return f={...f,...e},$t(f)?void 0:f},gradient:function xMt(e,{model:t,legendType:n,legendCmpt:r}){if("gradient"!==n)return;const{config:i,markDef:a,encoding:s}=t;let o={};const l=void 0===(r.get("gradientOpacity")??i.legend.gradientOpacity)?Zfe(s.opacity)||a.opacity:void 0;return l&&(o.opacity=sn(l)),o={...o,...e},$t(o)?void 0:o},labels:function zMt(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){const a=n.legend(r)||{},s=n.config,o=ce(t)?Jfe(0,i,t):void 0,c=o?[{test:o,value:1},{value:s.legend.unselectedOpacity}]:void 0,{format:l,formatType:u}=a;let f;Al(u)?f=pa({fieldOrDatumDef:t,field:"datum.value",format:l,formatType:u,config:s}):void 0===l&&void 0===u&&s.customFormatTypes&&("quantitative"===t.type&&s.numberFormatType?f=pa({fieldOrDatumDef:t,field:"datum.value",format:s.numberFormat,formatType:s.numberFormatType,config:s}):"temporal"===t.type&&s.timeFormatType&&ce(t)&&void 0===t.timeUnit&&(f=pa({fieldOrDatumDef:t,field:"datum.value",format:s.timeFormat,formatType:s.timeFormatType,config:s})));const d={...c?{opacity:c}:{},...f?{text:f}:{},...e};return $t(d)?void 0:d},entries:function HMt(e,{legendCmpt:t}){return t.get("selections")?.length?{...e,fill:{value:"transparent"}}:e}};function Zfe(e){return Kfe(e,(t,n)=>Math.max(t,n.value))}function DT(e){return Kfe(e,(t,n)=>Tn(t,n.value))}function Kfe(e,t){return function zyt(e){const t=e?.condition;return!!t&&(K(t)||ma(t))}(e)?me(e.condition).reduce(t,e.value):ma(e)?e.value:void 0}function Jfe(e,t,n){const r=t.get("selections");if(!r?.length)return;const i=ue(n.field);return r.map(a=>`(!length(data(${ue(hn(a)+Il)})) || (${a}[${i}] && indexof(${a}[${i}], datum.value) >= 0))`).join(" || ")}const e8e={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{const{format:r,formatType:i}=t;return N6e(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{const{formatType:r}=e;return k6e(r,t,n)},gradientLength:e=>{const{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??function NMt({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:s,gradientVerticalMaxLength:o,gradientVerticalMinLength:c}=e;if(da(i))return"horizontal"===n?"top"===r||"bottom"===r?t8e(t,"width",s,a):s:t8e(t,"height",c,o)}(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??function kMt(e){if(ut(["quantile","threshold","log","symlog"],e))return"greedy"}(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??function EMt(e,t,n,r){if("shape"!==t){const i=DT(n)??r;if(i)return i}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>$u(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(Tu(n)&&da(t)){if("gradient"===e)return}else if("symbol"===e)return;return e},values:({fieldOrDatumDef:e,legend:t})=>function SMt(e,t){const n=e.values;return K(n)?Z6e(t,n):Ve(n)?n:void 0}(t,e)};function t8e(e,t,n,r){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})`}}function n8e(e){const t=Sn(e)?function TMt(e){const{encoding:t}=e,n={};for(const r of[sr,...Mue]){const i=e1(t[r]);!i||!e.getScaleComponent(r)||r===or&&ce(i)&&i.type===Fu||(n[r]=RMt(e,r))}return n}(e):function OMt(e){const{legends:t,resolve:n}=e.component;for(const r of e.children){n8e(r);for(const i of te(r.component.legends))n.legend[i]=VT(e.component.resolve,i),"shared"===n.legend[i]&&(t[i]=r8e(t[i],r.component.legends[i]),t[i]||(n.legend[i]="independent",delete t[i]))}for(const r of te(t))for(const i of e.children)i.component.legends[r]&&"shared"===n.legend[r]&&delete i.component.legends[r];return t}(e);return e.component.legends=t,t}function FMt(e,t,n,r){switch(t){case"disable":return void 0!==n;case"values":return!!n?.values;case"title":if("title"===t&&e===r?.title)return!0}return e===(n||{})[t]}function RMt(e,t){let n=e.legend(t);const{markDef:r,encoding:i,config:a}=e,s=a.legend,o=new _Mt({},function IMt(e,t){const n=e.scaleName(t);if("trail"===e.mark){if("color"===t)return{stroke:n};if("size"===t)return{strokeWidth:n}}return"color"===t?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}(e,t));!function Wbt(e,t,n){const r=e.fieldDef(t)?.field;for(const i of L1(e.component.selection??{})){const a=i.project.hasField[r]??i.project.hasChannel[t];if(a&&_fe.defined(i)){const s=n.get("selections")??[];s.push(i.name),n.set("selections",s,!1),a.hasLegend=!0}}}(e,t,o);const c=void 0!==n?!n:s.disable;if(o.set("disable",c,void 0!==n),c)return o;n=n||{};const l=e.getScaleComponent(t).get("type"),u=e1(i[t]),f=ce(u)?c1(u.timeUnit)?.unit:void 0,d=n.orient||a.legend.orient||"right",h=function VMt(e){const{legend:t}=e;return Tn(t.type,function DMt({channel:e,timeUnit:t,scaleType:n}){if(Tu(e)){if(ut(["quarter","month","day"],t))return"symbol";if(da(n))return"gradient"}return"symbol"}(e))}({legend:n,channel:t,timeUnit:f,scaleType:l}),p=function LMt({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?"gradientDirection":"symbolDirection"]??function AMt(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===t?"horizontal":void 0}}(n,t)}({legend:n,legendType:h,orient:d,legendConfig:s}),m={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:u,legendConfig:s,config:a,scaleType:l,orient:d,legendType:h,direction:p};for(const b of Xfe){if("gradient"===h&&b.startsWith("symbol")||"symbol"===h&&b.startsWith("gradient"))continue;const M=b in e8e?e8e[b](m):n[b];if(void 0!==M){const w=FMt(M,b,n,e.fieldDef(t));(w||void 0===a.legend[b])&&o.set(b,M,w)}}const g=n?.encoding??{},v=o.get("selections"),y={},C={fieldOrDatumDef:u,model:e,channel:t,legendCmpt:o,legendType:h};for(const b of["labels","legend","title","symbols","gradient","entries"]){const M=Wfe(g[b]??{},e),w=b in Qfe?Qfe[b](M,C):M;void 0!==w&&!$t(w)&&(y[b]={...v?.length&&ce(u)?{name:`${hn(u.field)}_legend_${b}`}:{},...v?.length?{interactive:!!v}:{},update:w})}return $t(y)||o.set("encode",y,!!n?.encoding),o}function r8e(e,t){if(!e)return t.clone();const n=e.getWithExplicit("orient"),r=t.getWithExplicit("orient");if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(const a of Xfe){const s=V3(e.getWithExplicit(a),t.getWithExplicit(a),a,"legend",(o,c)=>{switch(a){case"symbolType":return PMt(o,c);case"title":return P0e(o,c);case"type":return i=!0,Gr("symbol")}return UC(o,c,a,"legend")});e.setWithExplicit(a,s)}return i&&(e.implicit?.encode?.gradient&&iC(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&iC(e.explicit,["encode","gradient"])),e}function PMt(e,t){return"circle"===t.value?t:e}function i8e(e){const t=e.component.legends,n={};for(const i of te(t)){const s=Bt(e.getScaleComponent(i).get("domains"));if(n[s])for(const o of n[s])r8e(o,t[i])||n[s].push(t[i]);else n[s]=[t[i].clone()]}return L1(n).flat().map(i=>function BMt(e,t){const{disable:n,labelExpr:r,selections:i,...a}=e.combine();if(!n){if(!1===t.aria&&null==a.aria&&(a.aria=!1),a.encode?.symbols){const s=a.encode.symbols.update;s.fill&&"transparent"!==s.fill.value&&!s.stroke&&!a.stroke&&(s.stroke={value:"transparent"});for(const o of Mue)a[o]&&delete s[o]}if(a.title||delete a.title,void 0!==r){let s=r;a.encode?.labels?.update&&Ve(a.encode.labels.update.text)&&(s=bl(r,"datum.label",a.encode.labels.update.text.signal)),function $Mt(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}(a,"labels","text",{signal:s})}return a}}(i,e.config)).filter(i=>void 0!==i)}function a8e(e){const t=e.component.projection;if(!t||t.merged)return[];const n=t.combine(),{name:r}=n;if(t.data){const i={signal:`[${t.size.map(s=>s.signal).join(", ")}]`},a=t.data.reduce((s,o)=>{const c=Ve(o)?o.signal:`data('${e.lookupDataSource(o)}')`;return ut(s,c)||s.push(c),s},[]);if(a.length<=0)throw new Error("Projection's fit didn't find any data sources");return[{name:r,size:i,fit:{signal:a.length>1?`[${a.join(", ")}]`:a[0]},...n}]}return[{name:r,translate:{signal:"[width / 2, height / 2]"},...n}]}const qMt=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class s8e extends Po{constructor(t,n,r,i){super({...n},{name:t}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function o8e(e){e.component.projection=Sn(e)?function GMt(e){if(e.hasProjection){const t=lr(e.specifiedProjection),n=!(t&&(null!=t.scale||null!=t.translate)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?function WMt(e){const t=[],{encoding:n}=e;for(const r of[[la,ca],[yi,ua]])(e1(n[r[0]])||e1(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(or)&&e.typedFieldDef(or).type===Fu&&t.push({signal:e.getName(`geojson_${t.length}`)}),0===t.length&&t.push(e.requestDataName(on.Main)),t}(e):void 0,a=new s8e(e.projectionName(!0),{...lr(e.config.projection)??{},...t??{}},r,i);return a.get("type")||a.set("type","equalEarth",!1),a}}(e):function XMt(e){if(0===e.children.length)return;let t;for(const r of e.children)o8e(r);const n=QN(e.children,r=>{const i=r.component.projection;if(i){if(t){const a=function YMt(e,t){const n=QN(qMt,i=>!!(!Ne(e.explicit,i)&&!Ne(t.explicit,i)||Ne(e.explicit,i)&&Ne(t.explicit,i)&&Ur(e.get(i),t.get(i))));if(Ur(e.size,t.size)){if(n)return e;if(Ur(e.explicit,{}))return t;if(Ur(t.explicit,{}))return e}return null}(t,i);return a&&(t=a),!!a}return t=i,!0}return!0});if(t&&n){const r=e.projectionName(!0),i=new s8e(r,t.specifiedProjection,t.size,Ge(t.data));for(const a of e.children){const s=a.component.projection;s&&(s.isFit&&i.data.push(...a.component.projection.data),a.renameProjection(s.get("name"),r),s.merged=!0)}return i}}(e)}function QMt(e,t,n,r){if(zd(t,n)){const i=Sn(e)?e.axis(n)??e.legend(n)??{}:{},a=fe(t,{expr:"datum"}),s=fe(t,{expr:"datum",binSuffix:"end"});return{formulaAs:fe(t,{binSuffix:"range",forAs:!0}),formula:_d(a,s,i.format,i.formatType,r)}}return{}}function c8e(e,t){return`${V0e(e)}_${t}`}function LT(e,t,n){const i=c8e(NC(n,void 0)??{},t);return e.getName(`${i}_bins`)}function l8e(e,t,n){let r,i;r=function KMt(e){return"as"in e}(e)?ge(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[fe(e,{forAs:!0}),fe(e,{binSuffix:"end",forAs:!0})];const a={...NC(t,void 0)},s=c8e(a,e.field),{signal:o,extentSignal:c}=function ZMt(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}(n,s);if(hC(a.extent)){const u=a.extent;i=kfe(n,u.param,u),delete a.extent}return{key:s,binComponent:{bin:a,field:e.field,as:[r],...o?{signal:o}:{},...c?{extentSignal:c}:{},...i?{span:i}:{}}}}class As extends Ot{clone(){return new As(null,Ge(this.bins))}constructor(t,n){super(t),this.bins=n}static makeFromEncoding(t,n){const r=n.reduceFieldDef((i,a,s)=>{if(D2(a)&&Zt(a.bin)){const{key:o,binComponent:c}=l8e(a,a.bin,n);i[o]={...c,...i[o],...QMt(n,a,s,n.config)}}return i},{});return $t(r)?null:new As(t,r)}static makeFromTransform(t,n,r){const{key:i,binComponent:a}=l8e(n,n.bin,r);return new As(t,{[i]:a})}merge(t,n){for(const r of te(t.bins))r in this.bins?(n(t.bins[r].signal,this.bins[r].signal),this.bins[r].as=ys([...this.bins[r].as,...t.bins[r].as],lt)):this.bins[r]=t.bins[r];for(const r of t.children)t.removeChild(r),r.parent=this;t.remove()}producedFields(){return new Set(L1(this.bins).map(t=>t.as).flat(2))}dependentFields(){return new Set(L1(this.bins).map(t=>t.field))}hash(){return`Bin ${lt(this.bins)}`}assemble(){return L1(this.bins).flatMap(t=>{const n=[],[r,...i]=t.as,{extent:a,...s}=t.bin,o={type:"bin",field:gi(t.field),as:r,signal:t.signal,...hC(a)?{extent:null}:{extent:a},...t.span?{span:{signal:`span(${t.span})`}}:{},...s};!a&&t.extentSignal&&(n.push({type:"extent",field:gi(t.field),signal:t.extentSignal}),o.extent={signal:t.extentSignal}),n.push(o);for(const c of i)for(let l=0;l<2;l++)n.push({type:"formula",expr:fe({field:r[l]},{expr:"datum"}),as:c[l]});return t.formula&&n.push({type:"formula",expr:t.formula,as:t.formulaAs}),n})}}class va extends Ot{clone(){return new va(null,new Set(this.dimensions),Ge(this.measures))}constructor(t,n,r){super(t),this.dimensions=n,this.measures=r}get groupBy(){return this.dimensions}static makeFromEncoding(t,n){let r=!1;n.forEachFieldDef(s=>{s.aggregate&&(r=!0)});const i={},a=new Set;return r&&(n.forEachFieldDef((s,o)=>{const{aggregate:c,field:l}=s;if(c)if("count"===c)i["*"]??(i["*"]={}),i["*"].count=new Set([fe(s,{forAs:!0})]);else{if(To(c)||_3(c)){const u=To(c)?"argmin":"argmax",f=c[u];i[f]??(i[f]={}),i[f][u]=new Set([fe({op:u,field:f},{forAs:!0})])}else i[l]??(i[l]={}),i[l][c]=new Set([fe(s,{forAs:!0})]);ko(o)&&"unaggregated"===n.scaleDomain(o)&&(i[l]??(i[l]={}),i[l].min=new Set([fe({field:l,aggregate:"min"},{forAs:!0})]),i[l].max=new Set([fe({field:l,aggregate:"max"},{forAs:!0})]))}else!function JMt(e,t,n,r){const i=Sn(r)?r.encoding[_s(t)]:void 0;if(D2(n)&&Sn(r)&&B6e(n,i,r.markDef,r.config)){e.add(fe(n,{})),e.add(fe(n,{suffix:"end"}));const{mark:a,markDef:s,config:o}=r,c=S3({fieldDef:n,markDef:s,config:o});bd(a)&&.5!==c&&In(t)&&(e.add(fe(n,{suffix:jC})),e.add(fe(n,{suffix:qC}))),n.bin&&zd(n,t)&&e.add(fe(n,{binSuffix:"range"}))}else if(y0e(t)){const a=v0e(t);e.add(r.getName(a))}else e.add(fe(n));return Nl(n)&&function Zvt(e){return ye(e)&&"field"in e}(n.scale?.range)&&e.add(n.scale.range.field),e}(a,o,s,n)}),a.size+te(i).length!==0)?new va(t,a,i):null}static makeFromTransform(t,n){const r=new Set,i={};for(const a of n.aggregate){const{op:s,field:o,as:c}=a;s&&("count"===s?(i["*"]??(i["*"]={}),i["*"].count=new Set([c||fe(a,{forAs:!0})])):(i[o]??(i[o]={}),i[o][s]=new Set([c||fe(a,{forAs:!0})])))}for(const a of n.groupby??[])r.add(a);return r.size+te(i).length===0?null:new va(t,r,i)}merge(t){return c0e(this.dimensions,t.dimensions)?(function e_t(e,t){for(const n of te(t)){const r=t[n];for(const i of te(r))n in e?e[n][i]=new Set([...e[n][i]??[],...r[i]]):e[n]={[i]:r[i]}}}(this.measures,t.measures),!0):(function _vt(...e){xs.debug(...e)}("different dimensions, cannot merge"),!1)}addDimensions(t){t.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...te(this.measures)])}producedFields(){const t=new Set;for(const n of te(this.measures))for(const r of te(this.measures[n])){const i=this.measures[n][r];0===i.size?t.add(`${r}_${n}`):i.forEach(t.add,t)}return t}hash(){return`Aggregate ${lt({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const t=[],n=[],r=[];for(const a of te(this.measures))for(const s of te(this.measures[a]))for(const o of this.measures[a][s])r.push(o),t.push(s),n.push("*"===a?null:gi(a));return{type:"aggregate",groupby:[...this.dimensions].map(gi),ops:t,fields:n,as:r}}}class Ju extends Ot{constructor(t,n,r,i){super(t),this.model=n,this.name=r,this.data=i;for(const a of Ci){const s=n.facet[a];if(s){const{bin:o,sort:c}=s;this[a]={name:n.getName(`${a}_domain`),fields:[fe(s),...Zt(o)?[fe(s,{binSuffix:"end"})]:[]],...Hs(c)?{sortField:c}:K(c)?{sortIndexField:Zu(s,a)}:{}}}}this.childModel=n.child}hash(){let t="Facet";for(const n of Ci)this[n]&&(t+=` ${n.charAt(0)}:${lt(this[n])}`);return t}get fields(){const t=[];for(const n of Ci)this[n]?.fields&&t.push(...this[n].fields);return t}dependentFields(){const t=new Set(this.fields);for(const n of Ci)this[n]&&(this[n].sortField&&t.add(this[n].sortField.field),this[n].sortIndexField&&t.add(this[n].sortIndexField));return t}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const t={};for(const n of ws){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),a=r.get("range");if(l1(i)&&x3(a)){const o=$T(nb(this.childModel,n));o?t[n]=o:oe(pk(n))}}}return t}assembleRowColumnHeaderData(t,n,r){const i={row:"y",column:"x",facet:void 0}[t],a=[],s=[],o=[];i&&r&&r[i]&&(n?(a.push(`distinct_${r[i]}`),s.push("max")):(a.push(r[i]),s.push("distinct")),o.push(`distinct_${r[i]}`));const{sortField:c,sortIndexField:l}=this[t];if(c){const{op:u=zC,field:f}=c;a.push(f),s.push(u),o.push(fe(c,{forAs:!0}))}else l&&(a.push(l),s.push("max"),o.push(l));return{name:this[t].name,source:n??this.data,transform:[{type:"aggregate",groupby:this[t].fields,...a.length?{fields:a,ops:s,as:o}:{}}]}}assembleFacetHeaderData(t){const{columns:n}=this.model.layout,{layoutHeaders:r}=this.model.component,i=[],a={};for(const c of zT){for(const l of HT){const u=(r[c]&&r[c][l])??[];for(const f of u)if(f.axes?.length>0){a[c]=!0;break}}if(a[c]){const l=`length(data("${this.facet.name}"))`;i.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:"row"===c?n?{signal:`ceil(${l} / ${n})`}:1:n?{signal:`min(${l}, ${n})`}:{signal:l}}]})}}const{row:s,column:o}=a;return(s||o)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,t)),i}assemble(){const t=[];let n=null;const r=this.getChildIndependentFieldsWithStep(),{column:i,row:a,facet:s}=this;if(i&&a&&(r.x||r.y)){n=`cross_${this.column.name}_${this.row.name}`;const o=[].concat(r.x??[],r.y??[]),c=o.map(()=>"distinct");t.push({name:n,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:o,ops:c}]})}for(const o of[Vo,Eo])this[o]&&t.push(this.assembleRowColumnHeaderData(o,n,r));if(s){const o=this.assembleFacetHeaderData(r);o&&t.push(...o)}return t}}function u8e(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function n_t(e){const t={};return rC(e.filter,n=>{if(h6e(n)){let r=null;bk(n)?r=jr(n.equal):_k(n)?r=jr(n.lte):Mk(n)?r=jr(n.lt):wk(n)?r=jr(n.gt):xk(n)?r=jr(n.gte):zk(n)?r=n.range[0]:Hk(n)&&(r=(n.oneOf??n.in)[0]),r&&(zl(r)?t[n.field]="date":vt(r)?t[n.field]="number":ge(r)&&(t[n.field]="string")),n.timeUnit&&(t[n.field]="date")}}),t}class J1 extends Ot{clone(){return new J1(null,Ge(this._parse))}constructor(t,n){super(t),this._parse=n}hash(){return`Parse ${lt(this._parse)}`}static makeExplicit(t,n,r){let i={};const a=n.data;return!D3(a)&&a?.format?.parse&&(i=a.format.parse),this.makeWithAncestors(t,i,{},r)}static makeWithAncestors(t,n,r,i){for(const o of te(r)){const c=i.getWithExplicit(o);void 0!==c.value&&(c.explicit||c.value===r[o]||"derived"===c.value||"flatten"===r[o]?delete r[o]:oe(W0e(o,r[o],c.value)))}for(const o of te(n)){const c=i.get(o);void 0!==c&&(c===n[o]?delete n[o]:oe(W0e(o,n[o],c)))}const a=new Po(n,r);i.copyAll(a);const s={};for(const o of te(a.combine())){const c=a.get(o);null!==c&&(s[o]=c)}return 0===te(s).length||i.parseNothing?null:new J1(t,s)}get parse(){return this._parse}merge(t){this._parse={...this._parse,...t.parse},t.remove()}assembleFormatParse(){const t={};for(const n of te(this._parse)){const r=this._parse[n];1===Au(n)&&(t[n]=r)}return t}producedFields(){return new Set(te(this._parse))}dependentFields(){return new Set(te(this._parse))}assembleTransforms(t=!1){return te(this._parse).filter(n=>!t||Au(n)>1).map(n=>{const r=function t_t(e,t){const n=ek(e);return"number"===t?`toNumber(${n})`:"boolean"===t?`toBoolean(${n})`:"string"===t?`toString(${n})`:"date"===t?`toDate(${n})`:"flatten"===t?n:t.startsWith("date:")?`timeParse(${n},'${u8e(t.slice(5,t.length))}')`:t.startsWith("utc:")?`utcParse(${n},'${u8e(t.slice(4,t.length))}')`:(oe(function Dgt(e){return`Unrecognized parse "${e}".`}(t)),null)}(n,this._parse[n]);return r?{type:"formula",expr:r,as:tk(n)}:null}).filter(n=>null!==n)}}class N3 extends Ot{clone(){return new N3(null)}constructor(t){super(t)}dependentFields(){return new Set}producedFields(){return new Set([ga])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:ga}}}class Ld extends Ot{clone(){return new Ld(null,this.params)}constructor(t,n){super(t),this.params=n}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${lt(this.params)}`}assemble(){return{type:"graticule",...!0===this.params?{}:this.params}}}class Ad extends Ot{clone(){return new Ad(null,this.params)}constructor(t,n){super(t),this.params=n}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${lt(this.params)}`}assemble(){return{type:"sequence",...this.params}}}class Rl extends Ot{constructor(t){let n;if(super(null),t??(t={name:"source"}),D3(t)||(n=t.format?{...ar(t.format,["parse"])}:{}),Sd(t))this._data={values:t.values};else if(qu(t)){if(this._data={url:t.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(t.url)[1];ut(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else Jue(t)?this._data={values:[{type:"Sphere"}]}:(Zue(t)||D3(t))&&(this._data={});this._generator=D3(t),t.name&&(this._name=t.name),n&&!$t(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(t){this._name=t}set parent(t){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}}var Nd,f8e=function(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n};function AT(e){return e instanceof Rl||e instanceof Ld||e instanceof Ad}class NT{constructor(){Nd.set(this,void 0),f8e(this,Nd,!1,"f")}setModified(){f8e(this,Nd,!0,"f")}get modifiedFlag(){return function(e,t,n,r){if("function"==typeof t||!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}(this,Nd)}}Nd=new WeakMap;class Ol extends NT{getNodeDepths(t,n,r){r.set(t,n);for(const i of t.children)this.getNodeDepths(i,n+1,r);return r}optimize(t){const r=[...this.getNodeDepths(t,0,new Map).entries()].sort((i,a)=>a[1]-i[1]);for(const i of r)this.run(i[0]);return this.modifiedFlag}}class kT extends NT{optimize(t){this.run(t);for(const n of t.children)this.optimize(n);return this.modifiedFlag}}class s_t extends kT{mergeNodes(t,n){const r=n.shift();for(const i of n)t.removeChild(i),i.parent=r,i.remove()}run(t){const n=t.children.map(i=>i.hash()),r={};for(let i=0;i1&&(this.setModified(),this.mergeNodes(t,r[i]))}}class o_t extends kT{constructor(t){super(),this.requiresSelectionId=t&&bT(t)}run(t){t instanceof N3&&(this.requiresSelectionId&&(AT(t.parent)||t.parent instanceof va||t.parent instanceof J1)||(this.setModified(),t.remove()))}}class c_t extends NT{optimize(t){return this.run(t,new Set),this.modifiedFlag}run(t,n){let r=new Set;t instanceof Ls&&(r=t.producedFields(),ZN(r,n)&&(this.setModified(),t.removeFormulas(n),0===t.producedFields.length&&t.remove()));for(const i of t.children)this.run(i,new Set([...n,...r]))}}class l_t extends kT{constructor(){super()}run(t){t instanceof L2&&!t.isRequired()&&(this.setModified(),t.remove())}}class u_t extends Ol{run(t){if(!(AT(t)||t.numChildren()>1))for(const n of t.children)if(n instanceof J1)if(t instanceof J1)this.setModified(),t.merge(n);else{if(JN(t.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}class f_t extends Ol{run(t){const n=[...t.children],r=t.children.filter(i=>i instanceof J1);if(t.numChildren()>1&&r.length>=1){const i={},a=new Set;for(const s of r){const o=s.parse;for(const c of te(o))c in i?i[c]!==o[c]&&a.add(c):i[c]=o[c]}for(const s of a)delete i[s];if(!$t(i)){this.setModified();const s=new J1(t,i);for(const o of n){if(o instanceof J1)for(const c of te(i))delete o.parse[c];t.removeChild(o),o.parent=s,o instanceof J1&&0===te(o.parse).length&&o.remove()}}}}}class d_t extends Ol{run(t){t instanceof L2||t.numChildren()>0||t instanceof Ju||t instanceof Rl||(this.setModified(),t.remove())}}class h_t extends Ol{run(t){const n=t.children.filter(i=>i instanceof Ls),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class p_t extends Ol{run(t){const n=t.children.filter(i=>i instanceof va),r={};for(const i of n){const a=lt(i.groupBy);a in r||(r[a]=[]),r[a].push(i)}for(const i of te(r)){const a=r[i];if(a.length>1){const s=a.pop();for(const o of a)s.merge(o)&&(t.removeChild(o),o.parent=s,o.remove(),this.setModified())}}}}class m_t extends Ol{constructor(t){super(),this.model=t}run(t){const n=!(AT(t)||t instanceof Xu||t instanceof J1||t instanceof N3),r=[],i=[];for(const a of t.children)a instanceof As&&(n&&!JN(t.producedFields(),a.dependentFields())?r.push(a):i.push(a));if(r.length>0){const a=r.pop();for(const s of r)a.merge(s,this.model.renameSignal.bind(this.model));this.setModified(),t instanceof As?t.merge(a,this.model.renameSignal.bind(this.model)):a.swapWithParent()}if(i.length>1){const a=i.pop();for(const s of i)a.merge(s,this.model.renameSignal.bind(this.model));this.setModified()}}}class g_t extends Ol{run(t){const n=[...t.children];if(!Cl(n,s=>s instanceof L2)||t.numChildren()<=1)return;const i=[];let a;for(const s of n)if(s instanceof L2){let o=s;for(;1===o.numChildren();){const[c]=o.children;if(!(c instanceof L2))break;o=c}i.push(...o.children),a?(t.removeChild(s),s.parent=a.parent,a.parent.removeChild(a),a.parent=o,this.setModified()):a=o}else i.push(s);if(i.length){this.setModified();for(const s of i)s.parent.removeChild(s),s.parent=a}}}class Pl extends Ot{clone(){return new Pl(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=ys(this.transform.groupby.concat(t),n=>n)}dependentFields(){const t=new Set;return this.transform.groupby&&this.transform.groupby.forEach(t.add,t),this.transform.joinaggregate.map(n=>n.field).filter(n=>void 0!==n).forEach(t.add,t),t}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(t){return t.as??fe(t)}hash(){return`JoinAggregateTransform ${lt(this.transform)}`}assemble(){const t=[],n=[],r=[];for(const a of this.transform.joinaggregate)n.push(a.op),r.push(this.getDefaultName(a)),t.push(void 0===a.field?null:a.field);const i=this.transform.groupby;return{type:"joinaggregate",as:r,ops:n,fields:t,...void 0!==i?{groupby:i}:{}}}}class Bo extends Ot{clone(){return new Bo(null,Ge(this._stack))}constructor(t,n){super(t),this._stack=n}static makeFromTransform(t,n){const{stack:r,groupby:i,as:a,offset:s="zero"}=n,o=[],c=[];if(void 0!==n.sort)for(const f of n.sort)o.push(f.field),c.push(Tn(f.order,"ascending"));const l={field:o,order:c};let u;return u=function y_t(e){return K(e)&&e.every(t=>ge(t))&&e.length>1}(a)?a:ge(a)?[a,`${a}_end`]:[`${n.stack}_start`,`${n.stack}_end`],new Bo(t,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:s,sort:l,facetby:[],as:u})}static makeFromEncoding(t,n){const r=n.stack,{encoding:i}=n;if(!r)return null;const{groupbyChannels:a,fieldChannel:s,offset:o,impute:c}=r,l=a.map(h=>Es(i[h])).filter(h=>!!h),u=function v_t(e){return e.stack.stackBy.reduce((t,n)=>{const i=fe(n.fieldDef);return i&&t.push(i),t},[])}(n),f=n.encoding.order;let d;if(K(f)||ce(f))d=F0e(f);else{const h=U6e(f)?f.sort:"y"===s?"descending":"ascending";d=u.reduce((p,m)=>(p.field.push(m),p.order.push(h),p),{field:[],order:[]})}return new Bo(t,{dimensionFieldDefs:l,stackField:n.vgField(s),facetby:[],stackby:u,sort:d,offset:o,impute:c,as:[n.vgField(s,{suffix:"start",forAs:!0}),n.vgField(s,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(t){this._stack.facetby.push(...t)}dependentFields(){const t=new Set;return t.add(this._stack.stackField),this.getGroupbyFields().forEach(t.add,t),this._stack.facetby.forEach(t.add,t),this._stack.sort.field.forEach(t.add,t),t}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${lt(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:t,impute:n,groupby:r}=this._stack;return t.length>0?t.map(i=>i.bin?n?[fe(i,{binSuffix:"mid"})]:[fe(i,{}),fe(i,{binSuffix:"end"})]:[fe(i)]).flat():r??[]}assemble(){const t=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:a,sort:s,offset:o,impute:c,as:l}=this._stack;if(c)for(const u of r){const{bandPosition:f=.5,bin:d}=u;if(d){const h=fe(u,{expr:"datum"}),p=fe(u,{expr:"datum",binSuffix:"end"});t.push({type:"formula",expr:`${f}*${h}+${1-f}*${p}`,as:fe(u,{binSuffix:"mid",forAs:!0})})}t.push({type:"impute",field:i,groupby:[...a,...n],key:fe(u,{binSuffix:"mid"}),method:"value",value:0})}return t.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:s,as:l,offset:o}),t}}class ef extends Ot{clone(){return new ef(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=ys(this.transform.groupby.concat(t),n=>n)}dependentFields(){const t=new Set;return(this.transform.groupby??[]).forEach(t.add,t),(this.transform.sort??[]).forEach(n=>t.add(n.field)),this.transform.window.map(n=>n.field).filter(n=>void 0!==n).forEach(t.add,t),t}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(t){return t.as??fe(t)}hash(){return`WindowTransform ${lt(this.transform)}`}assemble(){const t=[],n=[],r=[],i=[];for(const f of this.transform.window)n.push(f.op),r.push(this.getDefaultName(f)),i.push(void 0===f.param?null:f.param),t.push(void 0===f.field?null:f.field);const a=this.transform.frame,s=this.transform.groupby;if(a&&null===a[0]&&null===a[1]&&n.every(f=>fk(f)))return{type:"joinaggregate",as:r,ops:n,fields:t,...void 0!==s?{groupby:s}:{}};const o=[],c=[];if(void 0!==this.transform.sort)for(const f of this.transform.sort)o.push(f.field),c.push(f.order??"ascending");const u=this.transform.ignorePeers;return{type:"window",params:i,as:r,ops:n,fields:t,sort:{field:o,order:c},...void 0!==u?{ignorePeers:u}:{},...void 0!==s?{groupby:s}:{},...void 0!==a?{frame:a}:{}}}}function TT(e){if(e instanceof Ju)if(1!==e.numChildren()||e.children[0]instanceof L2){const t=e.model.component.data.main;d8e(t);const n=function C_t(e){return function t(n){if(!(n instanceof Ju)){const r=n.clone();if(r instanceof L2){const i=IT+r.getSource();r.setSource(i),e.model.component.data.outputNodes[i]=r}else(r instanceof va||r instanceof Bo||r instanceof ef||r instanceof Pl)&&r.addDimensions(e.fields);for(const i of n.children.flatMap(t))i.parent=r;return[r]}return n.children.flatMap(t)}}(e),r=e.children.map(n).flat();for(const i of r)i.parent=t}else{const t=e.children[0];(t instanceof va||t instanceof Bo||t instanceof ef||t instanceof Pl)&&t.addDimensions(e.fields),t.swapWithParent(),TT(e)}else e.children.map(TT)}function d8e(e){if(e instanceof L2&&e.type===on.Main&&1===e.numChildren()){const t=e.children[0];t instanceof Ju||(t.swapWithParent(),d8e(e))}}const IT="scale_",tb=5;function FT(e){for(const t of e){for(const n of t.children)if(n.parent!==t)return!1;if(!FT(t.children))return!1}return!0}function ya(e,t){let n=!1;for(const r of t)n=e.optimize(r)||n;return n}function h8e(e,t,n){let r=e.sources,i=!1;return i=ya(new l_t,r)||i,i=ya(new o_t(t),r)||i,r=r.filter(a=>a.numChildren()>0),i=ya(new d_t,r)||i,r=r.filter(a=>a.numChildren()>0),n||(i=ya(new u_t,r)||i,i=ya(new m_t(t),r)||i,i=ya(new c_t,r)||i,i=ya(new f_t,r)||i,i=ya(new p_t,r)||i,i=ya(new h_t,r)||i,i=ya(new s_t,r)||i,i=ya(new g_t,r)||i),e.sources=r,i}class f1{constructor(t){Object.defineProperty(this,"signal",{enumerable:!0,get:t})}static fromName(t,n){return new f1(()=>t(n))}}function p8e(e){Sn(e)?function M_t(e){const t=e.component.scales;for(const n of te(t)){const r=x_t(e,n);if(t[n].setWithExplicit("domains",r),H_t(e,n),e.component.data.isFaceted){let a=e;for(;!Ca(a)&&a.parent;)a=a.parent;if("shared"===a.component.resolve.scale[n])for(const o of r.value)Io(o)&&(o.data=IT+o.data.replace(IT,""))}}}(e):function __t(e){for(const n of e.children)p8e(n);const t=e.component.scales;for(const n of te(t)){let r,i=null;for(const a of e.children){const s=a.component.scales[n];if(s){r=void 0===r?s.getWithExplicit("domains"):V3(r,s.getWithExplicit("domains"),"domains","scale",PT);const o=s.get("selectionExtent");i&&o&&i.param!==o.param&&oe("The same selection must be used to override scale domains in a layered view."),i=o}}t[n].setWithExplicit("domains",r),i&&t[n].set("selectionExtent",i,!0)}}(e)}function x_t(e,t){const n=e.getScaleComponent(t).get("type"),{encoding:r}=e,i=function w_t(e,t,n,r){if("unaggregated"===e){const{valid:i,reason:a}=m8e(t,n);if(!i)return void oe(a)}else if(void 0===e&&r.useUnaggregatedDomain){const{valid:i}=m8e(t,n);if(i)return"unaggregated"}return e}(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}),"x"===t&&e1(r.x2)?e1(r.x)?V3(k3(n,i,e,"x"),k3(n,i,e,"x2"),"domain","scale",PT):k3(n,i,e,"x2"):"y"===t&&e1(r.y2)?e1(r.y)?V3(k3(n,i,e,"y"),k3(n,i,e,"y2"),"domain","scale",PT):k3(n,i,e,"y2"):k3(n,i,e,t)}function RT(e,t,n){const r=c1(n)?.unit;return"temporal"===t||r?function z_t(e,t,n){return e.map(r=>({signal:`{data: ${kC(r,{timeUnit:n,type:t})}}`}))}(e,t,r):[e]}function k3(e,t,n,r){const{encoding:i,markDef:a,mark:s,config:o,stack:c}=n,l=e1(i[r]),{type:u}=l,f=l.timeUnit;if(function Qvt(e){return e?.unionWith}(t)){const p=k3(e,void 0,n,r);return Ds([...RT(t.unionWith,u,f),...p.value])}if(Ve(t))return Ds([t]);if(t&&"unaggregated"!==t&&!M6e(t))return Ds(RT(t,u,f));if(c&&r===c.fieldChannel){if("normalize"===c.offset)return Gr([[0,1]]);const p=n.requestDataName(on.Main);return Gr([{data:p,field:n.vgField(r,{suffix:"start"})},{data:p,field:n.vgField(r,{suffix:"end"})}])}const d=ko(r)&&ce(l)?function S_t(e,t,n){if(!l1(n))return;const r=e.fieldDef(t),i=r.sort;if(O6e(i))return{op:"min",field:Zu(r,t),order:"ascending"};const{stack:a}=e,s=a?new Set([...a.groupbyFields,...a.stackBy.map(o=>o.fieldDef.field)]):void 0;if(Hs(i))return OT(i,a&&!s.has(i.field));if(R6e(i)){const{encoding:o,order:c}=i,l=e.fieldDef(o),{aggregate:u,field:f}=l,d=a&&!s.has(f);if(To(u)||_3(u))return OT({field:fe(l),order:c},d);if(fk(u)||!u)return OT({op:u,field:f,order:c},d)}else{if("descending"===i)return{op:"min",field:e.vgField(t),order:"descending"};if(ut(["ascending",void 0],i))return!0}}(n,r,e):void 0;if(Ss(l))return Gr(RT([l.datum],u,f));const h=l;if("unaggregated"===t){const p=n.requestDataName(on.Main),{field:m}=l;return Gr([{data:p,field:fe({field:m,aggregate:"min"})},{data:p,field:fe({field:m,aggregate:"max"})}])}if(Zt(h.bin)){if(l1(e))return Gr("bin-ordinal"===e?[]:[{data:fd(d)?n.requestDataName(on.Main):n.requestDataName(on.Raw),field:n.vgField(r,zd(h,r)?{binSuffix:"range"}:{}),sort:!0!==d&&ye(d)?d:{field:n.vgField(r,{}),op:"min"}}]);{const{bin:p}=h;if(Zt(p)){const m=LT(n,h.field,p);return Gr([new f1(()=>{const g=n.getSignalName(m);return`[${g}.start, ${g}.stop]`})])}return Gr([{data:n.requestDataName(on.Main),field:n.vgField(r,{})}])}}if(h.timeUnit&&ut(["time","utc"],e)){const p=i[_s(r)];if(B6e(h,p,a,o)){const m=n.requestDataName(on.Main),g=S3({fieldDef:h,fieldDef2:p,markDef:a,config:o}),v=bd(s)&&.5!==g&&In(r);return Gr([{data:m,field:n.vgField(r,v?{suffix:jC}:{})},{data:m,field:n.vgField(r,{suffix:v?qC:"end"})}])}}return Gr(d?[{data:fd(d)?n.requestDataName(on.Main):n.requestDataName(on.Raw),field:n.vgField(r),sort:d}]:[{data:n.requestDataName(on.Main),field:n.vgField(r)}])}function OT(e,t){const{op:n,field:r,order:i}=e;return{op:n??(t?"sum":zC),...r?{field:gi(r)}:{},...i?{order:i}:{}}}function H_t(e,t){const n=e.component.scales[t],r=e.specifiedScales[t].domain,i=e.fieldDef(t)?.bin,a=M6e(r)&&r,s=xl(i)&&hC(i.extent)&&i.extent;(a||s)&&n.set("selectionExtent",a??s,!0)}function m8e(e,t){const{aggregate:n,type:r}=e;return n?ge(n)&&!fgt.has(n)?{valid:!1,reason:Kgt(n)}:"quantitative"===r&&"log"===t?{valid:!1,reason:Jgt(e)}:{valid:!0}:{valid:!1,reason:Zgt(e)}}function PT(e,t,n,r){return e.explicit&&t.explicit&&oe(function ivt(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Bt(n)} and ${Bt(r)}). Using the union of the two domains.`}(n,r,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function $T(e){if(Io(e)&&ge(e.field))return e.field;if(function dgt(e){return!K(e)&&"fields"in e&&!("data"in e)}(e)){let t;for(const n of e.fields)if(Io(n)&&ge(n.field))if(t){if(t!==n.field)return oe("Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect."),t}else t=n.field;return oe("Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect."),t}if(function hgt(e){return!K(e)&&"fields"in e&&"data"in e}(e)){oe("Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.");const t=e.fields[0];return ge(t)?t:void 0}}function nb(e,t){return function E_t(e){const t=ys(e.map(s=>{if(Io(s)){const{sort:o,...c}=s;return c}return s}),lt),n=ys(e.map(s=>{if(Io(s)){const o=s.sort;return void 0!==o&&!fd(o)&&("op"in o&&"count"===o.op&&delete o.field,"ascending"===o.order&&delete o.order),o}}).filter(s=>void 0!==s),lt);if(0===t.length)return;if(1===t.length){const s=e[0];if(Io(s)&&n.length>0){let o=n[0];if(n.length>1){oe(J0e);const c=n.filter(l=>ye(l)&&"op"in l&&"min"!==l.op);o=!n.every(l=>ye(l)&&"op"in l)||1!==c.length||c[0]}else ye(o)&&"field"in o&&s.field===o.field&&(o=!o.order||{order:o.order});return{...s,sort:o}}return s}const r=ys(n.map(s=>fd(s)||!("op"in s)||ge(s.op)&&s.op in ogt?s:(oe(function svt(e){return`Dropping sort property ${Bt(e)} as unioned domains only support boolean or op "count", "min", and "max".`}(s)),!0)),lt);let i;1===r.length?i=r[0]:r.length>1&&(oe(J0e),i=!0);const a=ys(e.map(s=>Io(s)?s.data:null),s=>s);return 1===a.length&&null!==a[0]?{data:a[0],fields:t.map(o=>o.field),...i?{sort:i}:{}}:{fields:t,...i?{sort:i}:{}}}(e.component.scales[t].get("domains").map(i=>(Io(i)&&(i.data=e.lookupDataSource(i.data)),i)))}function g8e(e){return tf(e)||UT(e)?e.children.reduce((t,n)=>t.concat(g8e(n)),v8e(e)):v8e(e)}function v8e(e){return te(e.component.scales).reduce((t,n)=>{const r=e.component.scales[n];if(r.merged)return t;const i=r.combine(),{name:a,type:s,selectionExtent:o,domains:c,range:l,reverse:u,...f}=i,d=function V_t(e,t,n,r){if(In(n)){if(x3(e))return{step:{signal:`${t}_step`}}}else if(ye(e)&&Io(e))return{...e,data:r.lookupDataSource(e.data)};return e}(i.range,a,n,e),h=nb(e,n),p=o?function _bt(e,t,n,r){const i=kfe(e,t.param,t);return{signal:qr(n.get("type"))&&K(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}(e,o,r,h):null;return t.push({name:a,type:s,...h?{domain:h}:{},...p?{domainRaw:p}:{},range:d,...void 0!==u?{reverse:u}:{},...f}),t},[])}class y8e extends Po{constructor(t,n){super({},{name:t}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return!1!==this.get("zero")||Cl(this.get("domains"),t=>K(t)&&2===t.length&&vt(t[0])&&t[0]<=0&&vt(t[1])&&t[1]>=0)}}const D_t=["range","scheme"];function C8e(e,t){const n=e.fieldDef(t);if(n?.bin){const{bin:r,field:i}=n,a=cr(t),s=e.getName(a);if(ye(r)&&r.binned&&void 0!==r.step)return new f1(()=>{const o=e.scaleName(t),c=`(domain("${o}")[1] - domain("${o}")[0]) / ${r.step}`;return`${e.getSignalName(s)} / (${c})`});if(Zt(r)){const o=LT(e,i,r);return new f1(()=>{const c=e.getSignalName(o),l=`(${c}.stop - ${c}.start) / ${c}.step`;return`${e.getSignalName(s)} / (${l})`})}}}function A_t(e,t){const n=t.specifiedScales[e],{size:r}=t,a=t.getScaleComponent(e).get("type");for(const f of D_t)if(void 0!==n[f]){const d=Dk(a,f),h=w6e(e,f);if(d)if(h)oe(h);else switch(f){case"range":{const p=n.range;if(K(p)){if(In(e))return Ds(p.map(m=>{if("width"===m||"height"===m){const g=t.getName(m),v=t.getSignalName.bind(t);return f1.fromName(v,g)}return m}))}else if(ye(p))return Ds({data:t.requestDataName(on.Main),field:p.field,sort:{op:"min",field:t.vgField(e)}});return Ds(p)}case"scheme":return Ds(N_t(n[f]))}else oe(Z0e(a,f,e))}const s=e===pn||"xOffset"===e?"width":"height",o=r[s];if(Vs(o))if(In(e))if(l1(a)){const f=M8e(o,t,e);if(f)return Ds({step:f})}else oe(K0e(s));else if(vd(e)&&"band"===t.getScaleComponent(e===g3?"x":"y").get("type")){const p=_8e(o,a);if(p)return Ds(p)}const{rangeMin:c,rangeMax:l}=n,u=function k_t(e,t){const{size:n,config:r,mark:i,encoding:a}=t,{type:s}=e1(a[e]),c=t.getScaleComponent(e).get("type"),{domain:l,domainMid:u}=t.specifiedScales[e];switch(e){case pn:case o1:if(ut(["point","band"],c)){const f=w8e(e,n,r.view);if(Vs(f))return{step:M8e(f,t,e)}}return b8e(e,t,c);case g3:case Nu:return function T_t(e,t,n){const r=e===g3?"x":"y",i=t.getScaleComponent(r);if(!i)return b8e(r,t,n,{center:!0});const a=i.get("type"),s=t.scaleName(r),{markDef:o,config:c}=t;if("band"===a){const l=w8e(r,t.size,t.config.view);if(Vs(l)){const u=_8e(l,n);if(u)return u}return[0,{signal:`bandwidth('${s}')`}]}{const l=t.encoding[r];if(ce(l)&&l.timeUnit){const u=f6e(l.timeUnit,p=>`scale('${s}', ${p})`),f=t.config.scale.bandWithNestedOffsetPaddingInner,d=S3({fieldDef:l,markDef:o,config:c})-.5,h=0!==d?` + ${d}`:"";return f?[{signal:`${Ve(f)?`${f.signal}/2`+h:`${f/2+d}`} * (${u})`},{signal:`${Ve(f)?`(1 - ${f.signal}/2)`+h:`${1-f/2+d}`} * (${u})`}]:[0,{signal:u}]}return s0e(`Cannot use ${e} scale if ${r} scale is not discrete.`)}}(e,t,c);case Ao:{const d=x8e(i,t.component.scales[e].get("zero"),r),h=function R_t(e,t,n,r){const i={x:C8e(n,"x"),y:C8e(n,"y")};switch(e){case"bar":case"tick":{if(void 0!==r.scale.maxBandSize)return r.scale.maxBandSize;const a=H8e(t,i,r.view);return vt(a)?a-1:new f1(()=>`${a.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const a=H8e(t,i,r.view);return vt(a)?Math.pow(z8e*a,2):new f1(()=>`pow(${z8e} * ${a.signal}, 2)`)}}throw new Error(mC("size",e))}(i,n,t,r);return Ru(c)?function F_t(e,t,n){const r=()=>{const i=fa(t),a=fa(e),s=`(${i} - ${a}) / (${n} - 1)`;return`sequence(${a}, ${i} + ${s}, ${s})`};return Ve(t)?new f1(r):{signal:r()}}(d,h,function I_t(e,t,n,r){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return void 0!==n&&K(n)?n.length+1:(oe(function yvt(e){return`Domain for ${e} is required for threshold scale.`}(r)),3)}}(c,r,l,e)):[d,h]}case vi:return[0,2*Math.PI];case Ml:return[0,360];case oa:return[0,new f1(()=>`min(${t.getSignalName("width")},${t.getSignalName("height")})/2`)];case C3:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case b3:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case or:return"symbol";case sr:case bs:case Ms:return"ordinal"===c?"nominal"===s?"category":"ordinal":void 0!==u?"diverging":"rect"===i||"geoshape"===i?"heatmap":"ramp";case No:case v3:case y3:return[r.scale.minOpacity,r.scale.maxOpacity]}}(e,t);return(void 0!==c||void 0!==l)&&Dk(a,"rangeMin")&&K(u)&&2===u.length?Ds([c??u[0],l??u[1]]):Gr(u)}function N_t(e){return function Xvt(e){return!ge(e)&&!!e.name}(e)?{scheme:e.name,...ar(e,["name"])}:{scheme:e}}function b8e(e,t,n,{center:r}={}){const i=cr(e),a=t.getName(i),s=t.getSignalName.bind(t);return e===o1&&qr(n)?r?[f1.fromName(o=>`${s(o)}/2`,a),f1.fromName(o=>`-${s(o)}/2`,a)]:[f1.fromName(s,a),0]:r?[f1.fromName(o=>`-${s(o)}/2`,a),f1.fromName(o=>`${s(o)}/2`,a)]:[0,f1.fromName(s,a)]}function M8e(e,t,n){const{encoding:r}=t,i=t.getScaleComponent(n),a=ak(n),s=r[a];if("offset"===xue({step:e,offsetIsDiscrete:Xe(s)&&m6e(s.type)})&&iue(r,a)){const c=t.getScaleComponent(a);let u=`domain('${t.scaleName(a)}').length`;"band"===c.get("type")&&(u=`bandspace(${u}, ${c.get("paddingInner")??c.get("padding")??0}, ${c.get("paddingOuter")??c.get("padding")??0})`);const f=i.get("paddingInner")??i.get("padding");return{signal:`${e.step} * ${u} / (1-${ggt(f)})`}}return e.step}function _8e(e,t){if("offset"===xue({step:e,offsetIsDiscrete:l1(t)}))return{step:e.step}}function w8e(e,t,n){const r=e===pn?"width":"height";return t[r]||$C(n,r)}function x8e(e,t,n){if(t)return Ve(t)?{signal:`${t.signal} ? 0 : ${x8e(e,!1,n)}`}:0;switch(e){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(mC("size",e))}const z8e=.95;function H8e(e,t,n){const r=Vs(e.width)?e.width.step:PC(n,"width"),i=Vs(e.height)?e.height.step:PC(n,"height");return t.x||t.y?new f1(()=>`min(${[t.x?t.x.signal:r,t.y?t.y.signal:i].join(", ")})`):Math.min(r,i)}function S8e(e,t){Sn(e)?function O_t(e,t){const n=e.component.scales,{config:r,encoding:i,markDef:a,specifiedScales:s}=e;for(const o of te(n)){const c=s[o],l=n[o],u=e.getScaleComponent(o),f=e1(i[o]),d=c[t],h=u.get("type"),p=u.get("padding"),m=u.get("paddingInner"),g=Dk(h,t),v=w6e(o,t);if(void 0!==d&&(g?v&&oe(v):oe(Z0e(h,t,o))),g&&void 0===v)if(void 0!==d){const y=f.timeUnit,C=f.type;switch(t){case"domainMax":case"domainMin":zl(c[t])||"temporal"===C||y?l.set(t,{signal:kC(c[t],{type:C,timeUnit:y})},!0):l.set(t,c[t],!0);break;default:l.copyKeyFromObject(t,c)}}else{const y=t in E8e?E8e[t]({model:e,channel:o,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:c.domain,domainMin:c.domainMin,domainMax:c.domainMax,markDef:a,config:r,hasNestedOffsetScale:aue(i,o),hasSecondaryRangeChannel:!!i[_s(o)]}):r.scale[t];void 0!==y&&l.set(t,y,!1)}}}(e,t):D8e(e,t)}const E8e={bins:({model:e,fieldOrDatumDef:t})=>ce(t)?function P_t(e,t){const n=t.bin;if(Zt(n)){const r=LT(e,t.field,n);return new f1(()=>e.getSignalName(r))}if(A1(n)&&xl(n)&&void 0!==n.step)return{step:n.step}}(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>function $_t(e,t){if(ut([sr,bs,Ms],e)&&"nominal"!==t)return"hcl"}(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:a})=>function B_t(e,t,n,r,i,a){if(!(Es(a)?.bin||K(n)||null!=i||null!=r||ut([ur.TIME,ur.UTC],e)))return!!In(t)||void 0}(e,t,n,r,i,a),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>function U_t(e,t,n,r,i,a){if(In(e)){if(da(t)){if(void 0!==n.continuousPadding)return n.continuousPadding;const{type:s,orient:o}=i;if("bar"===s&&(!ce(r)||!r.bin&&!r.timeUnit)&&("vertical"===o&&"x"===e||"horizontal"===o&&"y"===e))return a.continuousBandSize}if(t===ur.POINT)return n.pointPadding}}(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:a})=>function j_t(e,t,n,r,i,a=!1){if(void 0===e){if(In(t)){const{bandPaddingInner:s,barBandPaddingInner:o,rectBandPaddingInner:c,bandWithNestedOffsetPaddingInner:l}=i;return a?l:Tn(s,"bar"===n?o:c)}if(vd(t)&&r===ur.BAND)return i.offsetBandPaddingInner}}(e,t,n.type,r,i.scale,a),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:a})=>function q_t(e,t,n,r,i,a=!1){if(void 0===e)if(In(t)){const{bandPaddingOuter:s,bandWithNestedOffsetPaddingOuter:o}=i;if(a)return o;if(n===ur.BAND)return Tn(s,Ve(r)?{signal:`${r.signal}/2`}:r/2)}else if(vd(t)){if(n===ur.POINT)return.5;if(n===ur.BAND)return i.offsetBandPaddingOuter}}(e,t,n,r,i.scale,a),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>function G_t(e,t,n,r){return"x"===n&&void 0!==r.xReverse?qr(e)&&"descending"===t?Ve(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse:!(!qr(e)||"descending"!==t)||void 0}(t,ce(e)?e.sort:void 0,n,r.scale),zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i,config:a,hasSecondaryRangeChannel:s})=>function W_t(e,t,n,r,i,a,s){if(n&&"unaggregated"!==n&&qr(i)){if(K(n)){const c=n[0],l=n[n.length-1];if(vt(c)&&c<=0&&vt(l)&&l>=0)return!0}return!1}if("size"===e&&"quantitative"===t.type&&!Ru(i))return!0;if((!ce(t)||!t.bin)&&ut([...ws,...Jmt],e)){const{orient:c,type:l}=r;return(!ut(["bar","area","line","trail"],l)||!("horizontal"===c&&"y"===e||"vertical"===c&&"x"===e))&&(!(!ut(["bar","area"],l)||s)||a?.zero)}return!1}(e,t,n,r,i,a.scale,s)};function V8e(e){Sn(e)?function L_t(e){const t=e.component.scales;for(const n of dC){const r=t[n];if(!r)continue;const i=A_t(n,e);r.setWithExplicit("range",i)}}(e):D8e(e,"range")}function D8e(e,t){const n=e.component.scales;for(const r of e.children)"range"===t?V8e(r):S8e(r,t);for(const r of te(n)){let i;for(const a of e.children){const s=a.component.scales[r];s&&(i=V3(i,s.getWithExplicit(t),t,"scale",Que((c,l)=>"range"===t&&c.step&&l.step?c.step-l.step:0)))}n[r].setWithExplicit(t,i)}}function Y_t(e,t,n,r,i=!1){const a=function X_t(e,t,n,r){switch(t.type){case"nominal":case"ordinal":if(Tu(e)||"discrete"===uk(e))return"shape"===e&&"ordinal"===t.type&&oe(gk(e,"ordinal")),"ordinal";if(In(e)||vd(e)){if(ut(["rect","bar","image","rule"],n.type)||r)return"band"}else if("arc"===n.type&&e in ck)return"band";return Dl(n[cr(e)])||Pu(t)&&t.axis?.tickBand?"band":"point";case"temporal":return Tu(e)?"time":"discrete"===uk(e)?(oe(gk(e,"temporal")),"ordinal"):ce(t)&&t.timeUnit&&c1(t.timeUnit).utc?"utc":"time";case"quantitative":return Tu(e)?ce(t)&&Zt(t.bin)?"bin-ordinal":"linear":"discrete"===uk(e)?(oe(gk(e,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(X0e(t.type))}(t,n,r,i),{type:s}=e;return ko(t)?void 0!==s?function tyt(e,t,n=!1){if(!ko(e))return!1;switch(e){case pn:case o1:case g3:case Nu:case vi:case oa:return!(!da(t)&&"band"!==t)||"point"===t&&!n;case Ao:case C3:case No:case v3:case y3:case Ml:return da(t)||Ru(t)||ut(["band","point","ordinal"],t);case sr:case bs:case Ms:return"band"!==t;case b3:case or:return"ordinal"===t||Ru(t)}}(t,s)?ce(n)&&!function eyt(e,t){return ut([Ek,Vk],t)?void 0===e||l1(e):t===Iu?ut([ur.TIME,ur.UTC,void 0],e):t!==Vl||C6e(e)||Ru(e)||void 0===e}(s,n.type)?(oe(function nvt(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}(s,a)),a):s:(oe(function tvt(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}(t,s,a)),a):a:null}function L8e(e){e.component.scales=Sn(e)?function Z_t(e){const{encoding:t,mark:n,markDef:r}=e,i={};for(const a of dC){const s=e1(t[a]);if(s&&n===H6e&&a===or&&s.type===Fu)continue;let o=s&&s.scale;if(s&&null!==o&&!1!==o){o??(o={});const l=Y_t(o,a,s,r,aue(t,a));i[a]=new y8e(e.scaleName(`${a}`,!0),{value:l,explicit:o.type===l})}}return i}(e):function J_t(e){var t;const n=e.component.scales={},r={},i=e.component.resolve;for(const a of e.children){L8e(a);for(const s of te(a.component.scales))if((t=i.scale)[s]??(t[s]=Yfe(s,e)),"shared"===i.scale[s]){const o=r[s],c=a.component.scales[s].getWithExplicit("type");o?jvt(o.value,c.value)?r[s]=V3(o,c,"type","scale",K_t):(i.scale[s]="independent",delete r[s]):r[s]=c}}for(const a of te(r)){const s=e.scaleName(a,!0);n[a]=new y8e(s,r[a]);for(const c of e.children){const l=c.component.scales[a];l&&(c.renameScale(l.get("name"),s),l.merged=!0)}}return n}(e)}const K_t=Que((e,t)=>g6e(e)-g6e(t));class BT{constructor(){this.nameMap={}}rename(t,n){this.nameMap[t]=n}has(t){return void 0!==this.nameMap[t]}get(t){for(;this.nameMap[t]&&t!==this.nameMap[t];)t=this.nameMap[t];return t}}function Sn(e){return"unit"===e?.type}function Ca(e){return"facet"===e?.type}function UT(e){return"concat"===e?.type}function tf(e){return"layer"===e?.type}class jT{constructor(t,n,r,i,a,s,o){this.type=n,this.parent=r,this.config=a,this.correctDataNames=c=>(c.from?.data&&(c.from.data=this.lookupDataSource(c.from.data)),c.from?.facet?.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c),this.parent=r,this.config=a,this.view=lr(o),this.name=t.name??i,this.title=w3(t.title)?{text:t.title}:t.title?lr(t.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new BT,this.projectionNameMap=r?r.projectionNameMap:new BT,this.signalNameMap=r?r.signalNameMap:new BT,this.data=t.data,this.description=t.description,this.transforms=function abt(e){return e.map(t=>lT(t)?{filter:Du(t.filter,$vt)}:t)}(t.transform??[]),this.layout="layer"===n||"unit"===n?{}:function lCt(e,t,n){const r=n[t],i={},{spacing:a,columns:s}=r;void 0!==a&&(i.spacing=a),void 0!==s&&(HC(e)&&!wd(e.facet)||nT(e))&&(i.columns=s),OC(e)&&(i.columns=1);for(const o of cCt)if(void 0!==e[o])if("spacing"===o){const c=e[o];i[o]=vt(c)?c:{row:c.row??a,column:c.column??a}}else i[o]=e[o];return i}(t,n,a),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:HC(t)||r?.component.data.isFaceted&&void 0===t.data},layoutSize:new Po,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...s?Ge(s):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){!function Q_t(e,{ignoreRange:t}={}){L8e(e),p8e(e);for(const n of Jvt)S8e(e,n);t||V8e(e)}(this)}parseProjection(){o8e(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){n8e(this)}assembleEncodeFromView(t){const{style:n,...r}=t,i={};for(const a of te(r)){const s=r[a];void 0!==s&&(i[a]=sn(s))}return i}assembleGroupEncodeEntry(t){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),t||(this.description&&(n.description=sn(this.description)),"unit"!==this.type&&"layer"!==this.type)?$t(n)?void 0:n:{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...n??{}}}assembleLayout(){if(!this.layout)return;const{spacing:t,...n}=this.layout,{component:r,config:i}=this,a=function bMt(e,t){const n={};for(const r of Ci){const i=e[r];if(i?.facetFieldDef){const{titleAnchor:a,titleOrient:s}=JC(["titleAnchor","titleOrient"],i.facetFieldDef.header,t,r),o=KC(r,s),c=CMt(a,o);void 0!==c&&(n[o]=c)}}return $t(n)?void 0:n}(r.layoutHeaders,i);return{padding:t,...this.assembleDefaultLayout(),...n,...a?{titleBand:a}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:t}=this.component;let n=[];for(const r of Ci)t[r].title&&n.push(pMt(this,r));for(const r of zT)n=n.concat(mMt(this,r));return n}assembleAxes(){return function tMt(e,t){const{x:n=[],y:r=[]}=e;return[...n.map(i=>Dd(i,"grid",t)),...r.map(i=>Dd(i,"grid",t)),...n.map(i=>Dd(i,"main",t)),...r.map(i=>Dd(i,"main",t))].filter(i=>i)}(this.component.axes,this.config)}assembleLegends(){return i8e(this)}assembleProjections(){return function UMt(e){return tf(e)||UT(e)?function jMt(e){return e.children.reduce((t,n)=>t.concat(n.assembleProjections()),a8e(e))}(e):a8e(e)}(this)}assembleTitle(){const{encoding:t,...n}=this.title??{},r={...L0e(this.config.title).nonMarkTitleProperties,...n,...t?{encode:{update:t}}:{}};if(r.text)return ut(["unit","layer"],this.type)?ut(["middle",void 0],r.anchor)&&(r.frame??(r.frame="group")):r.anchor??(r.anchor="start"),$t(r)?void 0:r}assembleGroup(t=[]){const n={};(t=t.concat(this.assembleSignals())).length>0&&(n.signals=t);const r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||Ca(this.parent)?g8e(this):[];i.length>0&&(n.scales=i);const a=this.assembleAxes();a.length>0&&(n.axes=a);const s=this.assembleLegends();return s.length>0&&(n.legends=s),n}getName(t){return hn((this.name?`${this.name}_`:"")+t)}getDataName(t){return this.getName(on[t].toLowerCase())}requestDataName(t){const n=this.getDataName(t),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(t){if(Ca(this.parent)){const r=fC(Gfe(t)),i=this.component.scales[r];if(i&&!i.merged){const a=i.get("type"),s=i.get("range");if(l1(a)&&x3(s)){const o=i.get("name"),l=$T(nb(this,r));return l?{signal:qfe(o,i,fe({aggregate:"distinct",field:l},{expr:"datum"}))}:(oe(pk(r)),null)}}}return{signal:this.signalNameMap.get(this.getName(t))}}lookupDataSource(t){const n=this.component.data.outputNodes[t];return n?n.getSource():t}getSignalName(t){return this.signalNameMap.get(t)}renameSignal(t,n){this.signalNameMap.rename(t,n)}renameScale(t,n){this.scaleNameMap.rename(t,n)}renameProjection(t,n){this.projectionNameMap.rename(t,n)}scaleName(t,n){return n?this.getName(t):_0e(t)&&ko(t)&&this.component.scales[t]||this.scaleNameMap.has(this.getName(t))?this.scaleNameMap.get(this.getName(t)):void 0}projectionName(t){return t?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}getScaleComponent(t){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const n=this.component.scales[t];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(t):void 0}getSelectionComponent(t,n){let r=this.component.selection[t];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(t,n)),!r)throw new Error(function Mgt(e){return`Cannot find a selection named "${e}".`}(n));return r}hasAxisOrientSignalRef(){return this.component.axes.x?.some(t=>t.hasOrientSignalRef())||this.component.axes.y?.some(t=>t.hasOrientSignalRef())}}class A8e extends jT{vgField(t,n={}){const r=this.fieldDef(t);if(r)return fe(r,n)}reduceFieldDef(t,n){return function $yt(e,t,n,r){return e?te(e).reduce((i,a)=>{const s=e[a];return K(s)?s.reduce((o,c)=>t.call(r,o,c,a),i):t.call(r,i,s,a)},n):n}(this.getMapping(),(r,i,a)=>{const s=Es(i);return s?t(r,s,a):r},n)}forEachFieldDef(t,n){qk(this.getMapping(),(r,i)=>{const a=Es(r);a&&t(a,i)},n)}}class rb extends Ot{clone(){return new rb(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"value",r[1]??"density"]}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${lt(this.transform)}`}assemble(){const{density:t,...n}=this.transform,r={type:"kde",field:t,...n};return this.transform.groupby&&(r.resolve="shared"),r}}class ib extends Ot{clone(){return new ib(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${lt(this.transform)}`}assemble(){const{extent:t,param:n}=this.transform;return{type:"extent",field:t,signal:n}}}class kd extends Ot{clone(){return new kd(null,{...this.filter})}constructor(t,n){super(t),this.filter=n}static make(t,n){const{config:r,mark:i,markDef:a}=n;if("filter"!==Lt("invalid",a,r))return null;const o=n.reduceFieldDef((c,l,u)=>{const f=ko(u)&&n.getScaleComponent(u);return f&&qr(f.get("type"))&&"count"!==l.aggregate&&!H3(i)&&(c[l.field]=l),c},{});return te(o).length?new kd(t,o):null}dependentFields(){return new Set(te(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${lt(this.filter)}`}assemble(){const t=te(this.filter).reduce((n,r)=>{const i=this.filter[r],a=fe(i,{expr:"datum"});return null!==i&&("temporal"===i.type?n.push(`(isDate(${a}) || (isValid(${a}) && isFinite(+${a})))`):"quantitative"===i.type&&(n.push(`isValid(${a})`),n.push(`isFinite(+${a})`))),n},[]);return t.length>0?{type:"filter",expr:t.join(" && ")}:null}}class ab extends Ot{clone(){return new ab(this.parent,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((a,s)=>i[s]??a)}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${lt(this.transform)}`}assemble(){const{flatten:t,as:n}=this.transform;return{type:"flatten",fields:t,as:n}}}class sb extends Ot{clone(){return new sb(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"key",r[1]??"value"]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${lt(this.transform)}`}assemble(){const{fold:t,as:n}=this.transform;return{type:"fold",fields:t,as:n}}}class nf extends Ot{clone(){return new nf(null,Ge(this.fields),this.geojson,this.signal)}static parseAll(t,n){if(n.component.projection&&!n.component.projection.isFit)return t;let r=0;for(const i of[[la,ca],[yi,ua]]){const a=i.map(s=>{const o=e1(n.encoding[s]);return ce(o)?o.field:Ss(o)?{expr:`${o.datum}`}:ma(o)?{expr:`${o.value}`}:void 0});(a[0]||a[1])&&(t=new nf(t,a,null,n.getName("geojson_"+r++)))}if(n.channelHasField(or)){const i=n.typedFieldDef(or);i.type===Fu&&(t=new nf(t,null,i.field,n.getName("geojson_"+r++)))}return t}constructor(t,n,r,i){super(t),this.fields=n,this.geojson=r,this.signal=i}dependentFields(){const t=(this.fields??[]).filter(ge);return new Set([...this.geojson?[this.geojson]:[],...t])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${lt(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}}class Td extends Ot{clone(){return new Td(null,this.projection,Ge(this.fields),Ge(this.as))}constructor(t,n,r,i){super(t),this.projection=n,this.fields=r,this.as=i}static parseAll(t,n){if(!n.projectionName())return t;for(const r of[[la,ca],[yi,ua]]){const i=r.map(s=>{const o=e1(n.encoding[s]);return ce(o)?o.field:Ss(o)?{expr:`${o.datum}`}:ma(o)?{expr:`${o.value}`}:void 0}),a=r[0]===yi?"2":"";(i[0]||i[1])&&(t=new Td(t,n.projectionName(),i,[n.getName(`x${a}`),n.getName(`y${a}`)]))}return t}dependentFields(){return new Set(this.fields.filter(ge))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${lt(this.fields)} ${lt(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class $l extends Ot{clone(){return new $l(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(t){const{start:n=0,stop:r,step:i}=t;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(t,n){return new $l(t,n)}static makeFromEncoding(t,n){const r=n.encoding,i=r.x,a=r.y;if(ce(i)&&ce(a)){const s=i.impute?i:a.impute?a:void 0;if(void 0===s)return;const o=i.impute?a:a.impute?i:void 0,{method:c,value:l,frame:u,keyvals:f}=s.impute,d=oue(n.mark,r);return new $l(t,{impute:s.field,key:o.field,...c?{method:c}:{},...void 0!==l?{value:l}:{},...u?{frame:u}:{},...void 0!==f?{keyvals:f}:{},...d.length?{groupby:d}:{}})}return null}hash(){return`Impute ${lt(this.transform)}`}assemble(){const{impute:t,key:n,keyvals:r,method:i,groupby:a,value:s,frame:o=[null,null]}=this.transform,c={type:"impute",field:t,key:n,...r?{keyvals:PCt(r)?this.processSequence(r):r}:{},method:"value",...a?{groupby:a}:{},value:i&&"value"!==i?null:s};return i&&"value"!==i?[c,{type:"window",as:[`imputed_${t}_value`],ops:[i],fields:[t],frame:o,ignorePeers:!1,...a?{groupby:a}:{}},{type:"formula",expr:`datum.${t} === null ? datum.imputed_${t}_value : datum.${t}`,as:t}]:[c]}}class ob extends Ot{clone(){return new ob(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??n.on,r[1]??n.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${lt(this.transform)}`}assemble(){const{loess:t,on:n,...r}=this.transform;return{type:"loess",x:n,y:t,...r}}}class Id extends Ot{clone(){return new Id(null,Ge(this.transform),this.secondary)}constructor(t,n,r){super(t),this.transform=n,this.secondary=r}static make(t,n,r,i){const a=n.component.data.sources,{from:s}=r;let o=null;if(function $Ct(e){return"data"in e}(s)){let c=I8e(s.data,a);c||(c=new Rl(s.data),a.push(c));const l=n.getName(`lookup_${i}`);o=new L2(c,l,on.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=o}else if(function BCt(e){return"param"in e}(s)){const c=s.param;let l;r={as:c,...r};try{l=n.getSelectionComponent(hn(c),c)}catch{throw new Error(function xgt(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}(c))}if(o=l.materialized,!o)throw new Error(function zgt(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}(c))}return new Id(t,r,o.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?me(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${lt({transform:this.transform,secondary:this.secondary})}`}assemble(){let t;if(this.transform.from.fields)t={values:this.transform.from.fields,...this.transform.as?{as:me(this.transform.as)}:{}};else{let n=this.transform.as;ge(n)||(oe('If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.'),n="_lookup"),t={as:[n]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...t,...this.transform.default?{default:this.transform.default}:{}}}}class cb extends Ot{clone(){return new cb(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"prob",r[1]??"value"]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${lt(this.transform)}`}assemble(){const{quantile:t,...n}=this.transform;return{type:"quantile",field:t,...n}}}class lb extends Ot{clone(){return new lb(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=Ge(n);const r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??n.on,r[1]??n.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${lt(this.transform)}`}assemble(){const{regression:t,on:n,...r}=this.transform;return{type:"regression",x:n,y:t,...r}}}class ub extends Ot{clone(){return new ub(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=ys((this.transform.groupby??[]).concat(t),n=>n)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${lt(this.transform)}`}assemble(){const{pivot:t,value:n,groupby:r,limit:i,op:a}=this.transform;return{type:"pivot",field:t,value:n,...void 0!==i?{limit:i}:{},...void 0!==a?{op:a}:{},...void 0!==r?{groupby:r}:{}}}}class fb extends Ot{clone(){return new fb(null,Ge(this.transform))}constructor(t,n){super(t),this.transform=n}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${lt(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function N8e(e){let t=0;return function n(r,i){if(r instanceof Rl&&!r.isGenerator&&!qu(r.data)&&(e.push(i),i={name:null,source:i.name,transform:[]}),r instanceof J1&&(r.parent instanceof Rl&&!i.source?(i.format={...i.format??{},parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof Ju)return i.name||(i.name="data_"+t++),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,void e.push(...r.assemble());switch((r instanceof Ld||r instanceof Ad||r instanceof kd||r instanceof Xu||r instanceof Qu||r instanceof Td||r instanceof va||r instanceof Id||r instanceof ef||r instanceof Pl||r instanceof sb||r instanceof ab||r instanceof rb||r instanceof ob||r instanceof cb||r instanceof lb||r instanceof N3||r instanceof fb||r instanceof ub||r instanceof ib)&&i.transform.push(r.assemble()),(r instanceof As||r instanceof Ls||r instanceof $l||r instanceof Bo||r instanceof nf)&&i.transform.push(...r.assemble()),r instanceof L2&&(i.source&&0===i.transform.length?r.setSource(i.source):r.parent instanceof L2?r.setSource(i.name):(i.name||(i.name="data_"+t++),r.setSource(i.name),1===r.numChildren()&&(e.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof L2&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name="data_"+t++);let a=i.name;!i.source||i.transform.length>0?e.push(i):a=i.source;for(const s of r.children)n(s,{name:null,source:a,transform:[]});break}}}}function nwt(e){return"top"===e||"left"===e||Ve(e)?"header":"footer"}function iwt(e,t){const{facet:n,config:r,child:i,component:a}=e;if(e.channelHasField(t)){const s=n[t],o=Ku("title",null,r,t);let c=$u(s,r,{allowDisabling:!0,includeDefault:void 0===o||!!o});i.component.layoutHeaders[t].title&&(c=K(c)?c.join(", "):c,c+=` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);const l=Ku("labelOrient",s.header,r,t),u=null!==s.header&&Tn(s.header?.labels,r.header.labels,!0),f=ut(["bottom","right"],l)?"footer":"header";a.layoutHeaders[t]={title:null!==s.header?c:null,facetFieldDef:s,[f]:"facet"===t?[]:[k8e(e,t,u)]}}}function k8e(e,t,n){const r="row"===t?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function T8e(e,t){const{child:n}=e;if(n.component.axes[t]){const{layoutHeaders:r,resolve:i}=e.component;if(i.axis[t]=VT(i,t),"shared"===i.axis[t]){const a="x"===t?"column":"row",s=r[a];for(const o of n.component.axes[t]){const c=nwt(o.get("orient"));s[c]??(s[c]=[k8e(e,a,!1)]);const l=Dd(o,"main",e.config,{header:!0});l&&s[c][0].axes.push(l),o.mainExtracted=!0}}}}function qT(e){for(const t of e.children)t.parseLayoutSize()}function db(e,t){const n=Gfe(t),r=fC(n),i=e.component.resolve,a=e.component.layoutSize;let s;for(const o of e.children){const c=o.component.layoutSize.getWithExplicit(n),l=i.scale[r]??Yfe(r,e);if("independent"===l&&"step"===c.value){s=void 0;break}if(s){if("independent"===l&&s.value!==c.value){s=void 0;break}s=V3(s,c,n,"")}else s=c}if(s){for(const o of e.children)e.renameSignal(o.getName(n),e.getName(t)),o.component.layoutSize.set(n,"merged",!1);a.setWithExplicit(t,s)}else a.setWithExplicit(t,{explicit:!1,value:void 0})}function cwt(e,t){const r=e.config,i=e.getScaleComponent("width"===t?"x":"y");if(i){const a=i.get("type"),s=i.get("range");if(l1(a)){const o=$C(r.view,t);return x3(s)||Vs(o)?"step":o}return iT(r.view,t)}if(e.hasProjection||"arc"===e.mark)return iT(r.view,t);{const a=$C(r.view,t);return Vs(a)?a.step:a}}function GT(e,t,n){return fe(t,{suffix:`by_${fe(e)}`,...n??{}})}class Fd extends A8e{constructor(t,n,r,i){super(t,"facet",n,r,i,t.resolve),this.child=ZT(t.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(t.facet)}initFacet(t){if(!wd(t))return{facet:this.initFacetFieldDef(t,"facet")};const n=te(t),r={};for(const i of n){if(![Eo,Vo].includes(i)){oe(mC(i,"facet"));break}const a=t[i];if(void 0===a.field){oe(mk(a,i));break}r[i]=this.initFacetFieldDef(a,i)}return r}initFacetFieldDef(t,n){const r=Uk(t,n);return r.header?r.header=lr(r.header):null===r.header&&(r.header=null),r}channelHasField(t){return!!this.facet[t]}fieldDef(t){return this.facet[t]}parseData(){this.component.data=hb(this),this.child.parseData()}parseLayoutSize(){qT(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function rwt(e){for(const t of Ci)iwt(e,t);T8e(e,"x"),T8e(e,"y")}(this)}assembleSelectionTopLevelSignals(t){return this.child.assembleSelectionTopLevelSignals(t)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(t){return this.child.assembleSelectionData(t)}getHeaderLayoutMixins(){const t={};for(const n of Ci)for(const r of HT){const i=this.component.layoutHeaders[n],a=i[r],{facetFieldDef:s}=i;if(s){const o=Ku("titleOrient",s.header,this.config,n);if(["right","bottom"].includes(o)){const c=KC(n,o);t.titleAnchor??(t.titleAnchor={}),t.titleAnchor[c]="end"}}if(a?.[0]){const c="header"===r?"headerBand":"footerBand";"facet"!==n&&!this.child.component.layoutSize.get("row"===n?"height":"width")&&(t[c]??(t[c]={}),t[c][n]=.5),i.title&&(t.offset??(t.offset={}),t.offset["row"===n?"rowTitle":"columnTitle"]=10)}}return t}assembleDefaultLayout(){const{column:t,row:n}=this.facet,r=t?this.columnDistinctSignal():n?1:void 0;let i="all";return(!n&&"independent"===this.component.resolve.scale.x||!t&&"independent"===this.component.resolve.scale.y)&&(i="none"),{...this.getHeaderLayoutMixins(),...r?{columns:r}:{},bounds:"full",align:i}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof Fd))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(t){return this.parent&&this.parent instanceof Fd?{...this.channelHasField("column")?{encode:{update:{columns:{field:fe(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(t)}:super.assembleGroup(t)}getCardinalityAggregateForChild(){const t=[],n=[],r=[];if(this.child instanceof Fd){if(this.child.channelHasField("column")){const i=fe(this.child.facet.column);t.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(const i of ws){const a=this.child.component.scales[i];if(a&&!a.merged){const s=a.get("type"),o=a.get("range");if(l1(s)&&x3(o)){const l=$T(nb(this.child,i));l?(t.push(l),n.push("distinct"),r.push(`distinct_${l}`)):oe(pk(i))}}}return{fields:t,ops:n,as:r}}assembleFacet(){const{name:t,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:a,ops:s,as:o}=this.getCardinalityAggregateForChild(),c=[];for(const u of Ci){const f=this.facet[u];if(f){c.push(fe(f));const{bin:d,sort:h}=f;if(Zt(d)&&c.push(fe(f,{binSuffix:"end"})),Hs(h)){const{field:p,op:m=zC}=h,g=GT(f,h);r&&i?(a.push(g),s.push("max"),o.push(g)):(a.push(p),s.push(m),o.push(g))}else if(K(h)){const p=Zu(f,u);a.push(p),s.push("max"),o.push(p)}}}const l=!!r&&!!i;return{name:t,data:n,groupby:c,...l||a.length>0?{aggregate:{...l?{cross:l}:{},...a.length?{fields:a,ops:s,as:o}:{}}}:{}}}facetSortFields(t){const{facet:n}=this,r=n[t];return r?Hs(r.sort)?[GT(r,r.sort,{expr:"datum"})]:K(r.sort)?[Zu(r,t,{expr:"datum"})]:[fe(r,{expr:"datum"})]:[]}facetSortOrder(t){const{facet:n}=this,r=n[t];if(r){const{sort:i}=r;return[(Hs(i)?i.order:!K(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){const{facet:t,config:n}=this;if(t.facet)return ST(t.facet,"facet",n);const r={row:["top","bottom"],column:["left","right"]};for(const i of zT)if(t[i]){const a=Ku("labelOrient",t[i]?.header,n,i);if(r[i].includes(a))return ST(t[i],i,n)}}assembleMarks(){const{child:t}=this,r=function ewt(e){const t=[],n=N8e(t);for(const r of e.children)n(r,{source:e.name,name:null,transform:[]});return t}(this.component.data.facetRoot),i=t.assembleGroupEncodeEntry(!1),a=this.assembleLabelTitle()||t.assembleTitle(),s=t.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...a?{title:a}:{},...s?{style:s}:{},from:{facet:this.assembleFacet()},sort:{field:Ci.map(c=>this.facetSortFields(c)).flat(),order:Ci.map(c=>this.facetSortOrder(c)).flat()},...r.length>0?{data:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup(ybt(this,[]))}]}getMapping(){return this.facet}}function I8e(e,t){for(const n of t){const r=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;const i=e.format?.mesh,a=r.format?.feature;if(i&&a)continue;const s=e.format?.feature;if((s||a)&&s!==a)continue;const o=r.format?.mesh;if(!i&&!o||i===o)if(Sd(e)&&Sd(r)){if(Ur(e.values,r.values))return n}else if(qu(e)&&qu(r)){if(e.url===r.url)return n}else if(Zue(e)&&e.name===n.dataName)return n}return null}function hb(e){let t=function uwt(e,t){if(e.data||!e.parent){if(null===e.data){const r=new Rl({values:[]});return t.push(r),r}const n=I8e(e.data,t);if(n)return D3(e.data)||(n.data.format=o0e({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{const r=new Rl(e.data);return t.push(r),r}}return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}(e,e.component.data.sources);const{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.data,s=i&&(D3(i)||qu(i)||Sd(i))||!e.parent?new gbt:e.parent.component.data.ancestorParse.clone();D3(i)?(Kue(i)?t=new Ad(t,i.sequence):dT(i)&&(t=new Ld(t,i.graticule)),s.parseNothing=!0):null===i?.format?.parse&&(s.parseNothing=!0),t=J1.makeExplicit(t,e,s)??t,t=new N3(t);const o=e.parent&&tf(e.parent);(Sn(e)||Ca(e))&&o&&(t=As.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=function fwt(e,t,n){let r=0;for(const i of t.transforms){let a,s;if(KCt(i))s=e=new Qu(e,i),a="derived";else if(lT(i)){const o=n_t(i);s=e=J1.makeWithAncestors(e,{},o,n)??e,e=new Xu(e,t,i.filter)}else if(Uue(i))s=e=As.makeFromTransform(e,i,t),a="number";else if(ebt(i))a="date",void 0===n.getWithExplicit(i.field).value&&(e=new J1(e,{[i.field]:a}),n.set(i.field,a,!1)),s=e=Ls.makeFromTransform(e,i);else if(tbt(i))s=e=va.makeFromTransform(e,i),a="number",bT(t)&&(e=new N3(e));else if(Bue(i))s=e=Id.make(e,t,i,r++),a="derived";else if(XCt(i))s=e=new ef(e,i),a="number";else if(QCt(i))s=e=new Pl(e,i),a="number";else if(nbt(i))s=e=Bo.makeFromTransform(e,i),a="derived";else if(rbt(i))s=e=new sb(e,i),a="derived";else if(ibt(i))s=e=new ib(e,i),a="derived";else if(ZCt(i))s=e=new ab(e,i),a="derived";else if(UCt(i))s=e=new ub(e,i),a="derived";else if(YCt(i))e=new fb(e,i);else if(JCt(i))s=e=$l.makeFromTransform(e,i),a="derived";else if(jCt(i))s=e=new rb(e,i),a="derived";else if(qCt(i))s=e=new cb(e,i),a="derived";else if(GCt(i))s=e=new lb(e,i),a="derived";else{if(!WCt(i)){oe(Agt(i));continue}s=e=new ob(e,i),a="derived"}if(s&&void 0!==a)for(const o of s.producedFields()??[])n.set(o,a,!1)}return e}(t,e,s));const c=function i_t(e){const t={};if(Sn(e)&&e.component.selection)for(const n of te(e.component.selection)){const r=e.component.selection[n];for(const i of r.project.items)!i.channel&&Au(i.field)>1&&(t[i.field]="flatten")}return t}(e),l=function r_t(e){const t={};function n(r){Uu(r)?t[r.field]="date":"quantitative"===r.type&&function lgt(e){return ge(e)&&ut(["min","max"],e)}(r.aggregate)?t[r.field]="number":Au(r.field)>1?r.field in t||(t[r.field]="flatten"):Nl(r)&&Hs(r.sort)&&Au(r.sort.field)>1&&(r.sort.field in t||(t[r.sort.field]="flatten"))}if((Sn(e)||Ca(e))&&e.forEachFieldDef((r,i)=>{if(D2(r))n(r);else{const a=wl(i),s=e.fieldDef(a);n({...r,type:s.type})}}),Sn(e)){const{mark:r,markDef:i,encoding:a}=e;if(H3(r)&&!e.encoding.order){const o=a["horizontal"===i.orient?"y":"x"];ce(o)&&"quantitative"===o.type&&!(o.field in t)&&(t[o.field]="number")}}return t}(e);t=J1.makeWithAncestors(t,{},{...c,...l},s)??t,Sn(e)&&(t=nf.parseAll(t,e),t=Td.parseAll(t,e)),(Sn(e)||Ca(e))&&(o||(t=As.makeFromEncoding(t,e)??t),t=Ls.makeFromEncoding(t,e)??t,t=Qu.parseAllForSortIndex(t,e));const u=e.getDataName(on.Raw),f=new L2(t,u,on.Raw,r);if(n[u]=f,t=f,Sn(e)){const m=va.makeFromEncoding(t,e);m&&(t=m,bT(e)&&(t=new N3(t))),t=$l.makeFromEncoding(t,e)??t,t=Bo.makeFromEncoding(t,e)??t}Sn(e)&&(t=kd.make(t,e)??t);const d=e.getDataName(on.Main),h=new L2(t,d,on.Main,r);n[d]=h,t=h,Sn(e)&&function Jbt(e,t){for(const[n,r]of m3(e.component.selection??{})){const i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new L2(new Xu(t,e,{param:n}),i,on.Lookup,e.component.data.outputNodeRefCounts)}}(e,h);let p=null;if(Ca(e)){const m=e.getName("facet");t=function lwt(e,t){const{row:n,column:r}=t;if(n&&r){let i=null;for(const a of[n,r])if(Hs(a.sort)){const{field:s,op:o=zC}=a.sort;e=i=new Pl(e,{joinaggregate:[{op:o,field:s,as:GT(a,a.sort,{forAs:!0})}],groupby:[fe(a)]})}return i}return null}(t,e.facet)??t,p=new Ju(t,e,m,h.getSource()),n[m]=p}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:f,main:h,facetRoot:p,ancestorParse:s}}class dwt extends jT{constructor(t,n,r,i){super(t,"concat",n,r,i,t.resolve),("shared"===t.resolve?.axis?.x||"shared"===t.resolve?.axis?.y)&&oe("Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415)."),this.children=this.getChildren(t).map((a,s)=>ZT(a,this,this.getName(`concat_${s}`),void 0,i))}parseData(){this.component.data=hb(this);for(const t of this.children)t.parseData()}parseSelections(){this.component.selection={};for(const t of this.children){t.parseSelections();for(const n of te(t.component.selection))this.component.selection[n]=t.component.selection[n]}}parseMarkGroup(){for(const t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){for(const t of this.children)t.parseAxesAndHeaders()}getChildren(t){return OC(t)?t.vconcat:rT(t)?t.hconcat:t.concat}parseLayoutSize(){!function swt(e){qT(e);const n=void 0===e.layout.columns?"height":"childHeight";db(e,1===e.layout.columns?"width":"childWidth"),db(e,n)}(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.forEach(t=>t.assembleSignals()),[]}assembleLayoutSignals(){const t=ET(this);for(const n of this.children)t.push(...n.assembleLayoutSignals());return t}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleMarks(){return this.children.map(t=>{const n=t.assembleTitle(),r=t.assembleGroupStyle(),i=t.assembleGroupEncodeEntry(!1);return{type:"group",name:t.getName("group"),...n?{title:n}:{},...r?{style:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){const t=this.layout.columns;return{...null!=t?{columns:t}:{},bounds:"full",align:"each"}}}const pwt={disable:1,gridScale:1,scale:1,...eue,labelExpr:1,encode:1},F8e=te(pwt);class WT extends Po{constructor(t={},n={},r=!1){super(),this.explicit=t,this.implicit=n,this.mainExtracted=r}clone(){return new WT(Ge(this.explicit),Ge(this.implicit),this.mainExtracted)}hasAxisPart(t){return"axis"===t||("grid"===t||"title"===t?!!this.get(t):!function hwt(e){return!1===e||null===e}(this.get(t)))}hasOrientSignalRef(){return Ve(this.explicit.orient)}}const vwt={bottom:"top",top:"bottom",left:"right",right:"left"};function Cwt(e,t){if(!e)return t.map(n=>n.clone());{if(e.length!==t.length)return;const n=e.length;for(let r=0;r{switch(n){case"title":return P0e(i,a);case"gridScale":return{explicit:i.explicit,value:Tn(i.value,a.value)}}return UC(i,a,n,"axis")});e.setWithExplicit(n,r)}return e}function Mwt(e,t,n,r,i){if("disable"===t)return void 0!==n;switch(n=n||{},t){case"titleAngle":case"labelAngle":return e===(Ve(n.labelAngle)?n.labelAngle:pd(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===Pfe(r,i))return!0}return e===n[t]}const _wt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function wwt(e,t){let n=t.axis(e);const r=new WT,i=e1(t.encoding[e]),{mark:a,config:s}=t,o=n?.orient||s["x"===e?"axisX":"axisY"]?.orient||s.axis?.orient||function lMt(e){return"x"===e?"bottom":"left"}(e),c=t.getScaleComponent(e).get("type"),l=function nMt(e,t,n,r){const i="band"===t?["axisDiscrete","axisBand"]:"point"===t?["axisDiscrete","axisPoint"]:C6e(t)?["axisQuantitative"]:"time"===t||"utc"===t?["axisTemporal"]:[],a="x"===e?"axisX":"axisY",s=Ve(n)?"axisOrient":`axis${hd(n)}`,o=[...i,...i.map(l=>a+l.substr(4))],c=["axis",s,a];return{vlOnlyAxisConfig:Ife(o,r,e,n),vgAxisConfig:Ife(c,r,e,n),axisConfigStyle:rMt([...c,...o],r)}}(e,c,o,t.config),u=void 0!==n?!n:wT("disable",s.style,n?.style,l).configValue;if(r.set("disable",u,void 0!==n),u)return r;n=n||{};const f=function sMt(e,t,n,r,i){const a=t?.labelAngle;if(void 0!==a)return Ve(a)?a:pd(a);{const{configValue:s}=wT("labelAngle",r,t?.style,i);return void 0!==s?pd(s):n!==pn||!ut([Vk,Ek],e.type)||ce(e)&&e.timeUnit?void 0:270}}(i,n,e,s.style,l),d=k6e(n.formatType,i,c),h=N6e(i,i.type,n.format,n.formatType,s,!0),p={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:c,orient:o,labelAngle:f,format:h,formatType:d,mark:a,config:s};for(const v of F8e){const y=v in Ffe?Ffe[v](p):nue(v)?n[v]:void 0,C=void 0!==y,b=Mwt(y,v,n,t,e);if(C&&b)r.set(v,y,b);else{const{configValue:M,configFrom:w}=nue(v)&&"values"!==v?wT(v,s.style,n.style,l):{},_=void 0!==M;C&&!_?r.set(v,y,b):("vgAxisConfig"!==w||_wt.has(v)&&_||Hd(M)||Ve(M))&&r.set(v,M,!1)}}const m=n.encoding??{},g=J6e.reduce((v,y)=>{if(!r.hasAxisPart(y))return v;const C=Wfe(m[y]??{},t),b="labels"===y?function mwt(e,t,n){const{encoding:r,config:i}=e,a=e1(r[t])??e1(r[_s(t)]),s=e.axis(t)||{},{format:o,formatType:c}=s;if(Al(c))return{text:pa({fieldOrDatumDef:a,field:"datum.value",format:o,formatType:c,config:i}),...n};if(void 0===o&&void 0===c&&i.customFormatTypes){if("quantitative"===Ou(a)){if(Pu(a)&&"normalize"===a.stack&&i.normalizedNumberFormatType)return{text:pa({fieldOrDatumDef:a,field:"datum.value",format:i.normalizedNumberFormat,formatType:i.normalizedNumberFormatType,config:i}),...n};if(i.numberFormatType)return{text:pa({fieldOrDatumDef:a,field:"datum.value",format:i.numberFormat,formatType:i.numberFormatType,config:i}),...n}}if("temporal"===Ou(a)&&i.timeFormatType&&ce(a)&&!a.timeUnit)return{text:pa({fieldOrDatumDef:a,field:"datum.value",format:i.timeFormat,formatType:i.timeFormatType,config:i}),...n}}return n}(t,e,C):C;return void 0!==b&&!$t(b)&&(v[y]={update:b}),v},{});return $t(g)||r.set("encode",g,!!n.encoding||void 0!==n.labelAngle),r}const zwt={vgMark:"arc",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...K1("x",e,{defaultPos:"mid"}),...K1("y",e,{defaultPos:"mid"}),...L3(e,"radius"),...L3(e,"theta")})},Hwt={vgMark:"area",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...WC("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient}),...WC("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient}),...yT(e)})},Swt={vgMark:"rect",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y")})},Ewt={vgMark:"shape",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{const{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&ce(n)&&n.type===Fu?{field:fe(n,{expr:"datum"})}:{}}]}},Vwt={vgMark:"image",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y"),...gT(e,"url")})},Dwt={vgMark:"line",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...K1("x",e,{defaultPos:"mid"}),...K1("y",e,{defaultPos:"mid"}),...u1("size",e,{vgChannel:"strokeWidth"}),...yT(e)})},Lwt={vgMark:"trail",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...K1("x",e,{defaultPos:"mid"}),...K1("y",e,{defaultPos:"mid"}),...u1("size",e),...yT(e)})};function YT(e,t){const{config:n}=e;return{...bi(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...K1("x",e,{defaultPos:"mid"}),...K1("y",e,{defaultPos:"mid"}),...u1("size",e),...u1("angle",e),...Awt(e,0,t)}}function Awt(e,t,n){return n?{shape:{value:n}}:u1("shape",e)}const Nwt={vgMark:"symbol",encodeEntry:e=>YT(e)},kwt={vgMark:"symbol",encodeEntry:e=>YT(e,"circle")},Twt={vgMark:"symbol",encodeEntry:e=>YT(e,"square")},Iwt={vgMark:"rect",encodeEntry:e=>({...bi(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...L3(e,"x"),...L3(e,"y")})},Fwt={vgMark:"rule",encodeEntry:e=>{const{markDef:t}=e,n=t.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?{...bi(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...WC("x",e,{defaultPos:"horizontal"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==n}),...WC("y",e,{defaultPos:"vertical"===n?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==n}),...u1("size",e,{vgChannel:"strokeWidth"})}:{}}},Rwt={vgMark:"text",encodeEntry:e=>{const{config:t,encoding:n}=e;return{...bi(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...K1("x",e,{defaultPos:"mid"}),...K1("y",e,{defaultPos:"mid"}),...gT(e),...u1("size",e,{vgChannel:"fontSize"}),...u1("angle",e),...yfe("align",Owt(e.markDef,0,t)),...yfe("baseline",Pwt(e.markDef,0,t)),...K1("radius",e,{defaultPos:null}),...K1("theta",e,{defaultPos:null})}}};function Owt(e,t,n){if(void 0===Lt("align",e,n))return"center"}function Pwt(e,t,n){if(void 0===Lt("baseline",e,n))return"middle"}const $wt={vgMark:"rect",encodeEntry:e=>{const{config:t,markDef:n}=e,r=n.orient,i="horizontal"===r?"width":"height",a="horizontal"===r?"height":"width";return{...bi(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...K1("x",e,{defaultPos:"mid",vgChannel:"xc"}),...K1("y",e,{defaultPos:"mid",vgChannel:"yc"}),...u1("size",e,{defaultValue:Bwt(e),vgChannel:i}),[a]:sn(Lt("thickness",n,t))}}};function Bwt(e){const{config:t,markDef:n}=e,{orient:r}=n,i="horizontal"===r?"width":"height",a=e.getScaleComponent("horizontal"===r?"x":"y"),s=Lt("size",n,t,{vgChannel:i})??t.tick.bandSize;if(void 0!==s)return s;{const o=a?a.get("range"):void 0;return o&&x3(o)&&vt(o.step)?3*o.step/4:3*PC(t.view,i)/4}}const pb={arc:zwt,area:Hwt,bar:Swt,circle:kwt,geoshape:Ewt,image:Vwt,line:Dwt,point:Nwt,rect:Iwt,rule:Fwt,square:Twt,text:Rwt,tick:$wt,trail:Lwt};const R8e="faceted_path_",O8e="stack_group_";function XT(e,t={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:a}=e,s=Tn(r.clip,function Wwt(e){const t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return!(!t?.get("selectionExtent")&&!n?.get("selectionExtent"))||void 0}(e),function Ywt(e){const t=e.component.projection;return!(!t||t.isFit)||void 0}(e)),o=T0e(r),c=i.key,l=function Gwt(e){const{encoding:t,stack:n,mark:r,markDef:i,config:a}=e,s=t.order;if(!(!K(s)&&ma(s)&&XN(s.value)||!s&&XN(Lt("order",i,a)))){if((K(s)||ce(s))&&!n)return F0e(s,{expr:"datum"});if(H3(r)){const o="horizontal"===i.orient?"y":"x",c=t[o];if(ce(c)){const l=c.sort;return K(l)?{field:fe(c,{prefix:o,suffix:"sort_index",expr:"datum"})}:Hs(l)?{field:fe({aggregate:jk(e.encoding)?l.op:void 0,field:l.field},{expr:"datum"})}:R6e(l)?{field:fe(e.fieldDef(l.encoding),{expr:"datum"}),order:l.order}:null===l?void 0:{field:fe(c,{binSuffix:e.stack?.impute?"mid":void 0,expr:"datum"})}}return}}}(e),u=function Xwt(e){if(!e.component.selection)return null;const t=te(e.component.selection).length;let n=t,r=e.parent;for(;r&&0===n;)n=te(r.component.selection).length,r=r.parent;return n?{interactive:t>0||"geoshape"===e.mark||!!e.encoding.tooltip}:null}(e),f=Lt("aria",r,a),d=pb[n].postEncodingTransform?pb[n].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:pb[n].vgMark,...s?{clip:!0}:{},...o?{style:o}:{},...c?{key:c.field}:{},...l?{sort:l}:{},...u||{},...!1===f?{aria:f}:{},from:{data:t.fromPrefix+e.requestDataName(on.Main)},encode:{update:pb[n].encodeEntry(e)},...d?{transform:d}:{}}]}class P8e extends A8e{constructor(t,n,r,i={},a){super(t,"unit",n,r,a,void 0,zue(t)?t.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const s=ha(t.mark)?{...t.mark}:{type:t.mark},o=s.type;void 0===s.filled&&(s.filled=function ACt(e,t,{graticule:n}){if(n)return!1;const r=Fo("filled",e,t),i=e.type;return Tn(r,i!==_C&&i!==MC&&i!==wC)}(s,a,{graticule:t.data&&dT(t.data)}));const c=this.encoding=function Oyt(e,t,n,r){const i={};for(const a of te(e))_0e(a)||oe(Bgt(a));for(let a of Zmt){if(!e[a])continue;const s=e[a];if(vd(a)){const o=Qmt(a),c=i[o];if(ce(c)&&Bvt(c.type)&&ce(s)&&!c.timeUnit){oe(Igt(o));continue}}if("angle"===a&&"arc"===t&&!e.theta&&(oe("Arc marks uses theta channel rather than angle, replacing angle with theta."),a=vi),Ryt(e,a,t))if(a===Ao&&"line"===t&&Es(e[a])?.aggregate)oe("Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.");else if(a===sr&&(n?"fill"in e:"stroke"in e))oe(Q0e("encoding",{fill:"fill"in e,stroke:"stroke"in e}));else if(a===gd||a===ku&&!K(s)&&!ma(s)||a===_l&&K(s)){if(s){if(a===ku){const o=e[a];if(U6e(o)){i[a]=o;continue}}i[a]=me(s).reduce((o,c)=>(ce(c)?o.push(Uk(c,a)):oe(mk(c,a)),o),[])}}else{if(a===_l&&null===s)i[a]=null;else if(!(ce(s)||Ss(s)||ma(s)||SC(s)||Ve(s))){oe(mk(s,a));continue}i[a]=Q6e(s,a,r)}else oe(mC(a,t))}return i}(t.encoding||{},o,s.filled,a);this.markDef=kue(s,c,a),this.size=function xwt({encoding:e,size:t}){for(const n of ws){const r=cr(n);Vs(t[r])&&E3(e[n])&&(delete t[r],oe(K0e(r)))}return t}({encoding:c,size:zue(t)?{...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}:i}),this.stack=Nue(this.markDef,c),this.specifiedScales=this.initScales(o,c),this.specifiedAxes=this.initAxes(c),this.specifiedLegends=this.initLegends(c),this.specifiedProjection=t.projection,this.selection=(t.params??[]).filter(l=>tT(l))}get hasProjection(){const{encoding:t}=this,n=this.mark===H6e,r=t&&Gmt.some(i=>Xe(t[i]));return n||r}scaleDomain(t){const n=this.specifiedScales[t];return n?n.domain:void 0}axis(t){return this.specifiedAxes[t]}legend(t){return this.specifiedLegends[t]}initScales(t,n){return dC.reduce((r,i)=>{const a=e1(n[i]);return a&&(r[i]=this.initScale(a.scale??{})),r},{})}initScale(t){const{domain:n,range:r}=t,i=lr(t);return K(n)&&(i.domain=n.map(jr)),K(r)&&(i.range=r.map(jr)),i}initAxes(t){return ws.reduce((n,r)=>{const i=t[r];if(Xe(i)||r===pn&&Xe(t.x2)||r===o1&&Xe(t.y2)){const a=Xe(i)?i.axis:void 0;n[r]=a&&this.initAxis({...a})}return n},{})}initAxis(t){const n=te(t),r={};for(const i of n){const a=t[i];r[i]=Hd(a)?A0e(a):jr(a)}return r}initLegends(t){return egt.reduce((n,r)=>{const i=e1(t[r]);if(i&&function ngt(e){switch(e){case sr:case bs:case Ms:case Ao:case or:case No:case C3:case b3:return!0;case v3:case y3:case Ml:return!1}}(r)){const a=i.legend;n[r]=a&&lr(a)}return n},{})}parseData(){this.component.data=hb(this)}parseLayoutSize(){!function owt(e){const{size:t,component:n}=e;for(const r of ws){const i=cr(r);if(t[i]){const a=t[i];n.layoutSize.set(i,Vs(a)?"step":a,!0)}else{const a=cwt(e,i);n.layoutSize.set(i,a,!1)}}}(this)}parseSelections(){this.component.selection=function Kbt(e,t){const n={},r=e.config.selection;if(!t||!t.length)return n;for(const i of t){const a=hn(i.name),s=i.select,o=ge(s)?s:s.type,c=ye(s)?Ge(s):{type:o},l=r[o];for(const d in l)"fields"===d||"encodings"===d||("mark"===d&&(c[d]={...l[d],...c[d]}),(void 0===c[d]||!0===c[d])&&(c[d]=Ge(l[d]??c[d])));const u=n[a]={...c,name:a,type:o,init:i.value,bind:i.bind,events:ge(c.on)?h3(c.on,"scope"):me(Ge(c.on))},f=Ge(i);for(const d of QC)d.defined(u)&&d.parse&&d.parse(e,u,f)}return n}(this,this.selection)}parseMarkGroup(){this.component.mark=function Uwt(e){if(ut([MC,CC,iyt],e.mark)){const t=oue(e.mark,e.encoding);if(t.length>0)return function jwt(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:R8e+e.requestDataName(on.Main),data:e.requestDataName(on.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:XT(e,{fromPrefix:R8e})}]}(e,t)}else if(e.mark===bC){const t=dk.some(n=>Lt(n,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return function qwt(e){const[t]=XT(e,{fromPrefix:O8e}),n=e.scaleName(e.stack.fieldChannel),r=(l={})=>e.vgField(e.stack.fieldChannel,l),i=(l,u)=>`${l}(${[r({prefix:"min",suffix:"start",expr:u}),r({prefix:"max",suffix:"start",expr:u}),r({prefix:"min",suffix:"end",expr:u}),r({prefix:"max",suffix:"end",expr:u})].map(d=>`scale('${n}',${d})`).join(",")})`;let a,s;"x"===e.stack.fieldChannel?(a={...Lu(t.encode.update,["y","yc","y2","height",...dk]),x:{signal:i("min","datum")},x2:{signal:i("max","datum")},clip:{value:!0}},s={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},t.encode.update={...ar(t.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(a={...Lu(t.encode.update,["x","xc","x2","width"]),y:{signal:i("min","datum")},y2:{signal:i("max","datum")},clip:{value:!0}},s={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},t.encode.update={...ar(t.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(const l of dk){const u=Fo(l,e.markDef,e.config);t.encode.update[l]?(a[l]=t.encode.update[l],delete t.encode.update[l]):u&&(a[l]=sn(u)),u&&(t.encode.update[l]={value:0})}const o=[];if(e.stack.groupbyChannels?.length>0)for(const l of e.stack.groupbyChannels){const u=e.fieldDef(l),f=fe(u);f&&o.push(f),(u?.bin||u?.timeUnit)&&o.push(fe(u,{binSuffix:"end"}))}return a=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((l,u)=>{if(t.encode.update[u])return{...l,[u]:t.encode.update[u]};{const f=Fo(u,e.markDef,e.config);return void 0!==f?{...l,[u]:sn(f)}:l}},a),a.stroke&&(a.strokeForeground={value:!0},a.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(on.Main),name:O8e+e.requestDataName(on.Main),groupby:o,aggregate:{fields:[r({suffix:"start"}),r({suffix:"start"}),r({suffix:"end"}),r({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:a},marks:[{type:"group",encode:{update:s},marks:[t]}]}]}(e)}return XT(e)}(this)}parseAxesAndHeaders(){this.component.axes=function gwt(e){return ws.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[wwt(n,e)]),t),{})}(this)}assembleSelectionTopLevelSignals(t){return function Cbt(e,t){let n=!1;for(const r of L1(e.component.selection??{})){const i=r.name,a=ue(i+Il);if(0===t.filter(o=>o.name===i).length){const c="point"===r.type?", true, true)":")";t.push({name:r.name,update:`${Vfe}(${a}, ${ue("global"===r.resolve?"union":r.resolve)}${c}`})}n=!0;for(const o of QC)o.defined(r)&&o.topLevelSignals&&(t=o.topLevelSignals(e,r,t))}return n&&0===t.filter(i=>"unit"===i.name).length&&t.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),hT(t)}(this,t)}assembleSignals(){return[...Tfe(this),...vbt(this,[])]}assembleSelectionData(t){return function bbt(e,t){const n=[...t],r=Fl(e,{escape:!1});for(const i of L1(e.component.selection??{})){const a={name:i.name+Il};if(i.project.hasSelectionId&&(a.transform=[{type:"collect",sort:{field:ga}}]),i.init){const o=i.project.items.map(efe);a.values=i.init.map(i.project.hasSelectionId?c=>({unit:r,[ga]:Tl(c,!1)[0]}):c=>({unit:r,fields:o,values:Tl(c,!1)}))}n.filter(o=>o.name===i.name+Il).length||n.push(a)}return n}(this,t)}assembleLayout(){return null}assembleLayoutSignals(){return ET(this)}assembleMarks(){let t=this.component.mark??[];return(!this.parent||!tf(this.parent))&&(t=tfe(this,t)),t.map(this.correctDataNames)}assembleGroupStyle(){const{style:t}=this.view||{};return void 0!==t?t:this.encoding.x||this.encoding.y?"cell":"view"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(t){return kl(this.encoding,t)}fieldDef(t){return Es(this.encoding[t])}typedFieldDef(t){const n=this.fieldDef(t);return D2(n)?n:null}}class QT extends jT{constructor(t,n,r,i,a){super(t,"layer",n,r,a,t.resolve,t.view);const s={...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}};this.children=t.layer.map((o,c)=>{if(BC(o))return new QT(o,this,this.getName(`layer_${c}`),s,a);if(Ro(o))return new P8e(o,this,this.getName(`layer_${c}`),s,a);throw new Error(hk(o))})}parseData(){this.component.data=hb(this);for(const t of this.children)t.parseData()}parseLayoutSize(){!function awt(e){qT(e),db(e,"width"),db(e,"height")}(this)}parseSelections(){this.component.selection={};for(const t of this.children){t.parseSelections();for(const n of te(t.component.selection))this.component.selection[n]=t.component.selection[n]}}parseMarkGroup(){for(const t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){!function ywt(e){const{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(const i of e.children){i.parseAxesAndHeaders();for(const a of te(i.component.axes))n.axis[a]=VT(e.component.resolve,a),"shared"===n.axis[a]&&(t[a]=Cwt(t[a],i.component.axes[a]),t[a]||(n.axis[a]="independent",delete t[a]))}for(const i of ws){for(const a of e.children)if(a.component.axes[i]){if("independent"===n.axis[i]){t[i]=(t[i]??[]).concat(a.component.axes[i]);for(const s of a.component.axes[i]){const{value:o,explicit:c}=s.getWithExplicit("orient");if(!Ve(o)){if(r[o]>0&&!c){const l=vwt[o];r[o]>r[l]&&s.set("orient",l,!1)}r[o]++}}}delete a.component.axes[i]}if("independent"===n.axis[i]&&t[i]&&t[i].length>1)for(const[a,s]of(t[i]||[]).entries())a>0&&s.get("grid")&&!s.explicit.grid&&(s.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.reduce((t,n)=>t.concat(n.assembleSignals()),Tfe(this))}assembleLayoutSignals(){return this.children.reduce((t,n)=>t.concat(n.assembleLayoutSignals()),ET(this))}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleGroupStyle(){const t=new Set;for(const r of this.children)for(const i of me(r.assembleGroupStyle()))t.add(i);const n=Array.from(t);return n.length>1?n:1===n.length?n[0]:void 0}assembleTitle(){let t=super.assembleTitle();if(t)return t;for(const n of this.children)if(t=n.assembleTitle(),t)return t}assembleLayout(){return null}assembleMarks(){return function Mbt(e,t){for(const n of e.children)Sn(n)&&(t=tfe(n,t));return t}(this,this.children.flatMap(t=>t.assembleMarks()))}assembleLegends(){return this.children.reduce((t,n)=>t.concat(n.assembleLegends()),i8e(this))}}function ZT(e,t,n,r,i){if(HC(e))return new Fd(e,t,n,i);if(BC(e))return new QT(e,t,n,r,i);if(Ro(e))return new P8e(e,t,n,r,i);if(function oCt(e){return OC(e)||rT(e)||nT(e)}(e))return new dwt(e,t,n,i);throw new Error(hk(e))}function Qwt(e,t={}){t.logger&&function Mvt(e){xs=e}(t.logger),t.fieldTitle&&X6e(t.fieldTitle);try{const n=Lue(C6(t.config,e.config)),r=Wue(e,n),i=ZT(r,null,"",void 0,n);return i.parse(),function b_t(e,t){FT(e.sources);let n=0,r=0;for(let i=0;i"width"!==h.name&&"height"!==h.name||void 0===h.value||(t[h.name]=+h.value,!1));const{params:f,...d}=t;return{$schema:"https://vega.github.io/schema/vega/v5.json",...e.description?{description:e.description}:{},...d,...o?{title:o}:{},...c?{style:c}:{},...l?{encode:{update:l}}:{},data:a,...s.length>0?{projections:s}:{},...e.assembleGroup([...u,...e.assembleSelectionTopLevelSignals([]),...wue(f)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}const Jwt="5.16.3",$8e=function ext(e){const[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}};const rf="#fff",bxt={background:"#333",view:{stroke:"#888"},title:{color:rf,subtitleColor:rf},style:{"guide-label":{fill:rf},"guide-title":{fill:rf}},axis:{domainColor:rf,gridColor:"#888",tickColor:rf}},Bl="#4572a7",Mxt={background:"#fff",arc:{fill:Bl},area:{fill:Bl},line:{stroke:Bl,strokeWidth:2},path:{stroke:Bl},rect:{fill:Bl},shape:{stroke:Bl},symbol:{fill:Bl,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Ul="#30a2da",KT="#cbcbcb",xxt={arc:{fill:Ul},area:{fill:Ul},axis:{domainColor:KT,grid:!0,gridColor:KT,gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:KT,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:Ul,strokeWidth:2},path:{stroke:Ul,strokeWidth:.5},rect:{fill:Ul},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:Ul},bar:{binSpacing:2,fill:Ul,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},jl="#000",zxt={group:{fill:"#e5e5e5"},arc:{fill:jl},area:{fill:jl},line:{stroke:jl},path:{stroke:jl},rect:{fill:jl},shape:{stroke:jl},symbol:{fill:jl,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},q8e="Benton Gothic, sans-serif",ql="#82c6df",JT="Benton Gothic Bold, sans-serif",Rd={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},Vxt={background:"#ffffff",title:{anchor:"start",color:"#000000",font:JT,fontSize:22,fontWeight:"normal"},arc:{fill:ql},area:{fill:ql},line:{stroke:ql,strokeWidth:2},path:{stroke:ql},rect:{fill:ql},shape:{stroke:ql},symbol:{fill:ql,size:30},axis:{labelFont:q8e,labelFontSize:11.5,labelFontWeight:"normal",titleFont:JT,titleFontSize:13,titleFontWeight:"normal"},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:q8e,labelFontSize:11.5,symbolType:"square",titleFont:JT,titleFontSize:13,titleFontWeight:"normal"},range:{category:Rd["category-6"],diverging:Rd["fireandice-6"],heatmap:Rd["fire-7"],ordinal:Rd["fire-7"],ramp:Rd["fire-7"]}},Gl="#ab5787",mb="#979797",Dxt={background:"#f9f9f9",arc:{fill:Gl},area:{fill:Gl},line:{stroke:Gl},path:{stroke:Gl},rect:{fill:Gl},shape:{stroke:Gl},symbol:{fill:Gl,size:30},axis:{domainColor:mb,domainWidth:.5,gridWidth:.2,labelColor:mb,tickColor:mb,tickWidth:.2,titleColor:mb},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},Wl="#3e5c69",Lxt={background:"#fff",arc:{fill:Wl},area:{fill:Wl},line:{stroke:Wl},path:{stroke:Wl},rect:{fill:Wl},shape:{stroke:Wl},symbol:{fill:Wl},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Mi="#1696d2",gb="Lato",eI="Lato",Od={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},Ixt={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:gb},axisX:{domain:!0,domainColor:"#000000",domainWidth:1,grid:!1,labelFontSize:12,labelFont:eI,labelAngle:0,tickColor:"#000000",tickSize:5,titleFontSize:12,titlePadding:10,titleFont:gb},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:eI,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:gb,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:eI,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:gb,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Od["six-groups-cat-1"],diverging:Od["diverging-colors"],heatmap:Od["diverging-colors"],ordinal:Od["six-groups-seq"],ramp:Od["shades-blue"]},area:{fill:Mi},rect:{fill:Mi},line:{color:Mi,stroke:Mi,strokeWidth:5},trail:{color:Mi,stroke:Mi,strokeWidth:0,size:1},path:{stroke:Mi,strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:Mi,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:Mi,stroke:null}},arc:{fill:Mi},shape:{stroke:Mi},symbol:{fill:Mi,size:30}},Yl="#3366CC",vb="Arial, sans-serif",Fxt={arc:{fill:Yl},area:{fill:Yl},path:{stroke:Yl},rect:{fill:Yl},shape:{stroke:Yl},symbol:{stroke:Yl},circle:{fill:Yl},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:vb,fontSize:12},"guide-title":{font:vb,fontSize:12},"group-title":{font:vb,fontSize:12}},title:{font:vb,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:"#ccc",tickColor:"#ccc",domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},tI=e=>e*(1/3+1),Z8e=tI(9),K8e=tI(10),J8e=tI(12),Pd="Segoe UI",e5e="wf_standard-font, helvetica, arial, sans-serif",$d="#605E5C",n5e="transparent",ba="#118DFF",a5e=["#DEEFFF",ba],Gxt={view:{stroke:n5e},background:n5e,font:Pd,header:{titleFont:e5e,titleFontSize:J8e,titleColor:"#252423",labelFont:Pd,labelFontSize:K8e,labelColor:$d},axis:{ticks:!1,grid:!1,domain:!1,labelColor:$d,labelFontSize:Z8e,titleFont:e5e,titleColor:"#252423",titleFontSize:J8e,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:"#C8C6C4",gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:ba},line:{stroke:ba,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:Pd,fontSize:Z8e,fill:$d},arc:{fill:ba},area:{fill:ba,line:!0,opacity:.6},path:{stroke:ba},rect:{fill:ba},point:{fill:ba,filled:!0,size:75},shape:{stroke:ba},symbol:{fill:ba,strokeWidth:1.5,size:50},legend:{titleFont:Pd,titleFontWeight:"bold",titleColor:$d,labelFont:Pd,labelFontSize:K8e,labelColor:$d,symbolType:"circle",symbolSize:75},range:{category:[ba,"#12239E","#E66C37","#6B007B","#E044A7","#744EC2","#D9B300","#D64550"],diverging:a5e,heatmap:a5e,ordinal:["#DEEFFF","#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",ba]}},nI='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',Wxt=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],Yxt=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function yb({type:e,background:t}){const n="dark"===e?"#161616":"#ffffff",r="dark"===e?"#f4f4f4":"#161616",a="dark"===e?"#d4bbff":"#6929c4";return{background:t,arc:{fill:a},area:{fill:a},path:{stroke:a},rect:{fill:a},shape:{stroke:a},symbol:{stroke:a},circle:{fill:a},view:{fill:n,stroke:n},group:{fill:n},title:{color:r,anchor:"start",dy:-15,fontSize:16,font:nI,fontWeight:600},axis:{labelColor:r,labelFontSize:12,grid:!0,gridColor:"#525252",titleColor:r,labelAngle:0},style:{"guide-label":{font:nI,fill:r,fontWeight:400},"guide-title":{font:nI,fill:r,fontWeight:400}},range:{category:"dark"===e?Wxt:Yxt,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}const Xxt=yb({type:"light",background:"#ffffff"}),Qxt=yb({type:"light",background:"#f4f4f4"}),Zxt=yb({type:"dark",background:"#262626"}),Kxt=yb({type:"dark",background:"#161616"}),Jxt="2.14.0";function o5e(e,t){return JSON.stringify(e,function Mzt(e){const t=[];return function(n,r){if("object"!=typeof r||null===r)return r;const i=t.indexOf(this)+1;return t.length=i,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}(t))}const c5e="vg-tooltip-element",wzt={offsetX:10,offsetY:10,id:c5e,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function xzt(e){return String(e).replace(/&/g,"&").replace(/t(ge(r)?r:o5e(r,n))).join(", ")}]`;if(ye(e)){let r="";const{title:i,image:a,...s}=e;i&&(r+=`

${t(i)}

`),a&&(r+=``);const o=Object.keys(s);if(o.length>0){r+="";for(const c of o){let l=s[c];void 0!==l&&(ye(l)&&(l=o5e(l,n)),r+=``)}r+="
${t(c)}${t(l)}
"}return r||"{}"}return t(e)}};class l5e{constructor(t){this.options={...wzt,...t};const n=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const r=document.createElement("style");r.setAttribute("id",this.options.styleId),r.innerHTML=function zzt(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return"#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black;\n}\n#vg-tooltip-element.visible {\n visibility: visible;\n}\n#vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px;\n}\n#vg-tooltip-element table {\n border-spacing: 0;\n}\n#vg-tooltip-element table tr {\n border: none;\n}\n#vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px;\n}\n#vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px;\n}\n#vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left;\n}\n#vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white;\n}\n#vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf;\n}\n".toString().replace(c5e,e)}(n);const i=document.head;i.childNodes.length>0?i.insertBefore(r,i.childNodes[0]):i.appendChild(r)}}tooltipHandler(t,n,r,i){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),(document.fullscreenElement??document.body).appendChild(this.el)),null==i||""===i)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=this.options.formatTooltip(i,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:a,y:s}=function Hzt(e,t,n,r){let i=e.clientX+n;i+t.width>window.innerWidth&&(i=+e.clientX-n-t.width);let a=e.clientY+r;return a+t.height>window.innerHeight&&(a=+e.clientY-r-t.height),{x:i,y:a}}(n,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.style.top=`${s}px`,this.el.style.left=`${a}px`}}function Bd(e){return(Bd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function Vzt(e,t,n){return(t=function Ezt(e){var t=function Szt(e,t){if("object"!==Bd(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Bd(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Bd(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dzt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rI,u5e,Azt=_t;function _t(e){var t=this;if(t instanceof _t||(t=new _t),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(i){t.push(i)});else if(arguments.length>0)for(var n=0,r=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var i=0;null!==r;i++)n=e(n,r.value,i),r=r.next;return n},_t.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var i=this.length-1;null!==r;i--)n=e(n,r.value,i),r=r.prev;return n},_t.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},_t.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},_t.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new _t;if(tthis.length&&(t=this.length);for(var r=0,i=this.head;null!==i&&rthis.length&&(t=this.length);for(var r=this.length,i=this.tail;null!==i&&r>t;r--)i=i.prev;for(;null!==i&&r>e;r--,i=i.prev)n.push(i.value);return n},_t.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var r=0,i=this.head;null!==i&&r1,aI=(e,t,n)=>{const r=e[Ma].get(t);if(r){const i=r.value;if(Cb(e,i)){if(sf(e,r),!e[Ud])return}else n&&(e[d5e]&&(r.value.now=Date.now()),e[d1].unshiftNode(r));return i.value}},Cb=(e,t)=>{if(!t||!t.maxAge&&!e[Zl])return!1;const n=Date.now()-t.now;return t.maxAge?n>t.maxAge:e[Zl]&&n>e[Zl]},jd=e=>{if(e[Uo]>e[Ql])for(let t=e[d1].tail;e[Uo]>e[Ql]&&null!==t;){const n=t.prev;sf(e,t),t=n}},sf=(e,t)=>{if(t){const n=t.value;e[jo]&&e[jo](n.key,n.value),e[Uo]-=n.length,e[Ma].delete(n.key),e[d1].removeNode(t)}};class Rzt{constructor(t,n,r,i,a){this.key=t,this.value=n,this.length=r,this.now=i,this.maxAge=a||0}}const h5e=(e,t,n,r)=>{let i=n.value;Cb(e,i)&&(sf(e,n),e[Ud]||(i=void 0)),i&&t.call(r,i.value,i.key,e)};const Pzt=Object.freeze({loose:!0}),$zt=Object.freeze({});var sI=e=>e?"object"!=typeof e?Pzt:e:$zt,oI={exports:{}},cI={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},bb="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=cI,a=bb,s=(t=e.exports={}).re=[],o=t.safeRe=[],c=t.src=[],l=t.t={};let u=0;const f="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[f,r]],p=(m,g,v)=>{const y=(m=>{for(const[g,v]of d)m=m.split(`${g}*`).join(`${g}{0,${v}}`).split(`${g}+`).join(`${g}{1,${v}}`);return m})(g),C=u++;a(m,C,g),l[m]=C,c[C]=g,s[C]=new RegExp(g,v?"g":void 0),o[C]=new RegExp(y,v?"g":void 0)};p("NUMERICIDENTIFIER","0|[1-9]\\d*"),p("NUMERICIDENTIFIERLOOSE","\\d+"),p("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),p("MAINVERSION",`(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})\\.(${c[l.NUMERICIDENTIFIER]})`),p("MAINVERSIONLOOSE",`(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})\\.(${c[l.NUMERICIDENTIFIERLOOSE]})`),p("PRERELEASEIDENTIFIER",`(?:${c[l.NUMERICIDENTIFIER]}|${c[l.NONNUMERICIDENTIFIER]})`),p("PRERELEASEIDENTIFIERLOOSE",`(?:${c[l.NUMERICIDENTIFIERLOOSE]}|${c[l.NONNUMERICIDENTIFIER]})`),p("PRERELEASE",`(?:-(${c[l.PRERELEASEIDENTIFIER]}(?:\\.${c[l.PRERELEASEIDENTIFIER]})*))`),p("PRERELEASELOOSE",`(?:-?(${c[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[l.PRERELEASEIDENTIFIERLOOSE]})*))`),p("BUILDIDENTIFIER",`${f}+`),p("BUILD",`(?:\\+(${c[l.BUILDIDENTIFIER]}(?:\\.${c[l.BUILDIDENTIFIER]})*))`),p("FULLPLAIN",`v?${c[l.MAINVERSION]}${c[l.PRERELEASE]}?${c[l.BUILD]}?`),p("FULL",`^${c[l.FULLPLAIN]}$`),p("LOOSEPLAIN",`[v=\\s]*${c[l.MAINVERSIONLOOSE]}${c[l.PRERELEASELOOSE]}?${c[l.BUILD]}?`),p("LOOSE",`^${c[l.LOOSEPLAIN]}$`),p("GTLT","((?:<|>)?=?)"),p("XRANGEIDENTIFIERLOOSE",`${c[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),p("XRANGEIDENTIFIER",`${c[l.NUMERICIDENTIFIER]}|x|X|\\*`),p("XRANGEPLAIN",`[v=\\s]*(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:\\.(${c[l.XRANGEIDENTIFIER]})(?:${c[l.PRERELEASE]})?${c[l.BUILD]}?)?)?`),p("XRANGEPLAINLOOSE",`[v=\\s]*(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[l.XRANGEIDENTIFIERLOOSE]})(?:${c[l.PRERELEASELOOSE]})?${c[l.BUILD]}?)?)?`),p("XRANGE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAIN]}$`),p("XRANGELOOSE",`^${c[l.GTLT]}\\s*${c[l.XRANGEPLAINLOOSE]}$`),p("COERCE",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?(?:$|[^\\d])`),p("COERCERTL",c[l.COERCE],!0),p("LONETILDE","(?:~>?)"),p("TILDETRIM",`(\\s*)${c[l.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",p("TILDE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAIN]}$`),p("TILDELOOSE",`^${c[l.LONETILDE]}${c[l.XRANGEPLAINLOOSE]}$`),p("LONECARET","(?:\\^)"),p("CARETTRIM",`(\\s*)${c[l.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",p("CARET",`^${c[l.LONECARET]}${c[l.XRANGEPLAIN]}$`),p("CARETLOOSE",`^${c[l.LONECARET]}${c[l.XRANGEPLAINLOOSE]}$`),p("COMPARATORLOOSE",`^${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]})$|^$`),p("COMPARATOR",`^${c[l.GTLT]}\\s*(${c[l.FULLPLAIN]})$|^$`),p("COMPARATORTRIM",`(\\s*)${c[l.GTLT]}\\s*(${c[l.LOOSEPLAIN]}|${c[l.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",p("HYPHENRANGE",`^\\s*(${c[l.XRANGEPLAIN]})\\s+-\\s+(${c[l.XRANGEPLAIN]})\\s*$`),p("HYPHENRANGELOOSE",`^\\s*(${c[l.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[l.XRANGEPLAINLOOSE]})\\s*$`),p("STAR","(<|>)?=?\\s*\\*"),p("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),p("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(oI,oI.exports);var lI=oI.exports;const m5e=/^[0-9]+$/,g5e=(e,t)=>{const n=m5e.test(e),r=m5e.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eg5e(t,e)};const Mb=bb,{MAX_LENGTH:v5e,MAX_SAFE_INTEGER:_b}=cI,{safeRe:y5e,t:C5e}=lI,Wzt=sI,{compareIdentifiers:cf}=Gzt;var uI=class ks{constructor(t,n){if(n=Wzt(n),t instanceof ks){if(t.loose===!!n.loose&&t.includePrerelease===!!n.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>v5e)throw new TypeError(`version is longer than ${v5e} characters`);Mb("SemVer",t,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;const r=t.trim().match(n.loose?y5e[C5e.LOOSE]:y5e[C5e.FULL]);if(!r)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>_b||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_b||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_b||this.patch<0)throw new TypeError("Invalid patch version");this.prerelease=r[4]?r[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){const a=+i;if(a>=0&&a<_b)return a}return i}):[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(Mb("SemVer.compare",this.version,this.options,t),!(t instanceof ks)){if("string"==typeof t&&t===this.version)return 0;t=new ks(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof ks||(t=new ks(t,this.options)),cf(this.major,t.major)||cf(this.minor,t.minor)||cf(this.patch,t.patch)}comparePre(t){if(t instanceof ks||(t=new ks(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(Mb("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return cf(r,i)}while(++n)}compareBuild(t){t instanceof ks||(t=new ks(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(Mb("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return cf(r,i)}while(++n)}inc(t,n,r){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",n,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",n,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",n,r),this.inc("pre",n,r);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",n,r),this.inc("pre",n,r);break;case"major":(0!==this.minor||0!==this.patch||0===this.prerelease.length)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(0!==this.patch||0===this.prerelease.length)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const i=Number(r)?1:0;if(!n&&!1===r)throw new Error("invalid increment argument: identifier is empty");if(0===this.prerelease.length)this.prerelease=[i];else{let a=this.prerelease.length;for(;--a>=0;)"number"==typeof this.prerelease[a]&&(this.prerelease[a]++,a=-2);if(-1===a){if(n===this.prerelease.join(".")&&!1===r)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(n){let a=[n,i];!1===r&&(a=[n]),0===cf(this.prerelease[0],n)?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const b5e=uI;var lf=(e,t,n)=>new b5e(e,n).compare(new b5e(t,n));const Yzt=lf,Qzt=lf,Kzt=lf,eHt=lf,nHt=lf,iHt=lf;var fI,M5e,dI,_5e,dHt=(e,t,n,r)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return((e,t,n)=>0===Yzt(e,t,n))(e,n,r);case"!=":return((e,t,n)=>0!==Qzt(e,t,n))(e,n,r);case">":return((e,t,n)=>Kzt(e,t,n)>0)(e,n,r);case">=":return((e,t,n)=>eHt(e,t,n)>=0)(e,n,r);case"<":return((e,t,n)=>nHt(e,t,n)<0)(e,n,r);case"<=":return((e,t,n)=>iHt(e,t,n)<=0)(e,n,r);default:throw new TypeError(`Invalid operator: ${t}`)}};const pHt=function w5e(){if(_5e)return dI;_5e=1;class e{constructor(x,H){if(H=r(H),x instanceof e)return x.loose===!!H.loose&&x.includePrerelease===!!H.includePrerelease?x:new e(x.raw,H);if(x instanceof i)return this.raw=x.value,this.set=[[x]],this.format(),this;if(this.options=H,this.loose=!!H.loose,this.includePrerelease=!!H.includePrerelease,this.raw=x.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(E=>this.parseRange(E.trim())).filter(E=>E.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const E=this.set[0];if(this.set=this.set.filter(T=>!p(T[0])),0===this.set.length)this.set=[E];else if(this.set.length>1)for(const T of this.set)if(1===T.length&&m(T[0])){this.set=[T];break}}this.format()}format(){return this.range=this.set.map(x=>x.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(x){const E=((this.options.includePrerelease&&d)|(this.options.loose&&h))+":"+x,T=n.get(E);if(T)return T;const S=this.options.loose;x=x.replace(S?o[c.HYPHENRANGELOOSE]:o[c.HYPHENRANGE],L(this.options.includePrerelease)),a("hyphen replace",x),x=x.replace(o[c.COMPARATORTRIM],l),a("comparator trim",x),x=x.replace(o[c.TILDETRIM],u),a("tilde trim",x),x=x.replace(o[c.CARETTRIM],f),a("caret trim",x);let N=x.split(" ").map($=>v($,this.options)).join(" ").split(/\s+/).map($=>D($,this.options));S&&(N=N.filter($=>(a("loose invalid filter",$,this.options),!!$.match(o[c.COMPARATORLOOSE])))),a("range list",N);const O=new Map,B=N.map($=>new i($,this.options));for(const $ of B){if(p($))return[$];O.set($.value,$)}O.size>1&&O.has("")&&O.delete("");const U=[...O.values()];return n.set(E,U),U}intersects(x,H){if(!(x instanceof e))throw new TypeError("a Range is required");return this.set.some(E=>g(E,H)&&x.set.some(T=>g(T,H)&&E.every(S=>T.every(k=>S.intersects(k,H)))))}test(x){if(!x)return!1;if("string"==typeof x)try{x=new s(x,this.options)}catch{return!1}for(let H=0;H{n.length=this[af](n.value,n.key),this[Uo]+=n.length})),jd(this)}get lengthCalculator(){return this[af]}get length(){return this[Uo]}get itemCount(){return this[d1].length}rforEach(t,n){n=n||this;for(let r=this[d1].tail;null!==r;){const i=r.prev;h5e(this,t,r,n),r=i}}forEach(t,n){n=n||this;for(let r=this[d1].head;null!==r;){const i=r.next;h5e(this,t,r,n),r=i}}keys(){return this[d1].toArray().map(t=>t.key)}values(){return this[d1].toArray().map(t=>t.value)}reset(){this[jo]&&this[d1]&&this[d1].length&&this[d1].forEach(t=>this[jo](t.key,t.value)),this[Ma]=new Map,this[d1]=new Izt,this[Uo]=0}dump(){return this[d1].map(t=>!Cb(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[d1]}set(t,n,r){if((r=r||this[Zl])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const i=r?Date.now():0,a=this[af](n,t);if(this[Ma].has(t)){if(a>this[Ql])return sf(this,this[Ma].get(t)),!1;const c=this[Ma].get(t).value;return this[jo]&&(this[f5e]||this[jo](t,c.value)),c.now=i,c.maxAge=r,c.value=n,this[Uo]+=a-c.length,c.length=a,this.get(t),jd(this),!0}const s=new Rzt(t,n,a,i,r);return s.length>this[Ql]?(this[jo]&&this[jo](t,n),!1):(this[Uo]+=s.length,this[d1].unshift(s),this[Ma].set(t,this[d1].head),jd(this),!0)}has(t){if(!this[Ma].has(t))return!1;const n=this[Ma].get(t).value;return!Cb(this,n)}get(t){return aI(this,t,!0)}peek(t){return aI(this,t,!1)}pop(){const t=this[d1].tail;return t?(sf(this,t),t.value):null}del(t){sf(this,this[Ma].get(t))}load(t){this.reset();const n=Date.now();for(let r=t.length-1;r>=0;r--){const i=t[r],a=i.e||0;if(0===a)this.set(i.k,i.v);else{const s=a-n;s>0&&this.set(i.k,i.v,s)}}}prune(){this[Ma].forEach((t,n)=>aI(this,n,!1))}}({max:1e3}),r=sI,i=function hHt(){if(M5e)return fI;M5e=1;const e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(u,f){if(f=n(f),u instanceof t){if(u.loose===!!f.loose)return u;u=u.value}u=u.trim().split(/\s+/).join(" "),s("comparator",u,f),this.options=f,this.loose=!!f.loose,this.parse(u),this.value=this.semver===e?"":this.operator+this.semver.version,s("comp",this)}parse(u){const d=u.match(this.options.loose?r[i.COMPARATORLOOSE]:r[i.COMPARATOR]);if(!d)throw new TypeError(`Invalid comparator: ${u}`);this.operator=void 0!==d[1]?d[1]:"","="===this.operator&&(this.operator=""),this.semver=d[2]?new o(d[2],this.options.loose):e}toString(){return this.value}test(u){if(s("Comparator.test",u,this.options.loose),this.semver===e||u===e)return!0;if("string"==typeof u)try{u=new o(u,this.options)}catch{return!1}return a(u,this.operator,this.semver,this.options)}intersects(u,f){if(!(u instanceof t))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new c(u.value,f).test(this.value):""===u.operator?""===u.value||new c(this.value,f).test(u.semver):!((f=n(f)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===u.value)||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||u.value.startsWith("<0.0.0"))||!(this.operator.startsWith(">")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||a(this.semver,"<",u.semver,f)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||a(this.semver,">",u.semver,f)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}fI=t;const n=sI,{safeRe:r,t:i}=lI,a=dHt,s=bb,o=uI,c=w5e();return fI}(),a=bb,s=uI,{safeRe:o,t:c,comparatorTrimReplace:l,tildeTrimReplace:u,caretTrimReplace:f}=lI,{FLAG_INCLUDE_PRERELEASE:d,FLAG_LOOSE:h}=cI,p=A=>"<0.0.0-0"===A.value,m=A=>""===A.value,g=(A,x)=>{let H=!0;const E=A.slice();let T=E.pop();for(;H&&E.length;)H=E.every(S=>T.intersects(S,x)),T=E.pop();return H},v=(A,x)=>(a("comp",A,x),A=M(A,x),a("caret",A),A=C(A,x),a("tildes",A),A=_(A,x),a("xrange",A),A=V(A,x),a("stars",A),A),y=A=>!A||"x"===A.toLowerCase()||"*"===A,C=(A,x)=>A.trim().split(/\s+/).map(H=>b(H,x)).join(" "),b=(A,x)=>A.replace(x.loose?o[c.TILDELOOSE]:o[c.TILDE],(E,T,S,k,N)=>{let O;return a("tilde",A,E,T,S,k,N),y(T)?O="":y(S)?O=`>=${T}.0.0 <${+T+1}.0.0-0`:y(k)?O=`>=${T}.${S}.0 <${T}.${+S+1}.0-0`:N?(a("replaceTilde pr",N),O=`>=${T}.${S}.${k}-${N} <${T}.${+S+1}.0-0`):O=`>=${T}.${S}.${k} <${T}.${+S+1}.0-0`,a("tilde return",O),O}),M=(A,x)=>A.trim().split(/\s+/).map(H=>w(H,x)).join(" "),w=(A,x)=>{a("caret",A,x);const E=x.includePrerelease?"-0":"";return A.replace(x.loose?o[c.CARETLOOSE]:o[c.CARET],(T,S,k,N,O)=>{let B;return a("caret",A,T,S,k,N,O),y(S)?B="":y(k)?B=`>=${S}.0.0${E} <${+S+1}.0.0-0`:y(N)?B="0"===S?`>=${S}.${k}.0${E} <${S}.${+k+1}.0-0`:`>=${S}.${k}.0${E} <${+S+1}.0.0-0`:O?(a("replaceCaret pr",O),B="0"===S?"0"===k?`>=${S}.${k}.${N}-${O} <${S}.${k}.${+N+1}-0`:`>=${S}.${k}.${N}-${O} <${S}.${+k+1}.0-0`:`>=${S}.${k}.${N}-${O} <${+S+1}.0.0-0`):(a("no pr"),B="0"===S?"0"===k?`>=${S}.${k}.${N}${E} <${S}.${k}.${+N+1}-0`:`>=${S}.${k}.${N}${E} <${S}.${+k+1}.0-0`:`>=${S}.${k}.${N} <${+S+1}.0.0-0`),a("caret return",B),B})},_=(A,x)=>(a("replaceXRanges",A,x),A.split(/\s+/).map(H=>z(H,x)).join(" ")),z=(A,x)=>(A=A.trim()).replace(x.loose?o[c.XRANGELOOSE]:o[c.XRANGE],(E,T,S,k,N,O)=>{a("xRange",A,E,T,S,k,N,O);const B=y(S),U=B||y(k),$=U||y(N);return"="===T&&$&&(T=""),O=x.includePrerelease?"-0":"",B?E=">"===T||"<"===T?"<0.0.0-0":"*":T&&$?(U&&(k=0),N=0,">"===T?(T=">=",U?(S=+S+1,k=0,N=0):(k=+k+1,N=0)):"<="===T&&(T="<",U?S=+S+1:k=+k+1),"<"===T&&(O="-0"),E=`${T+S}.${k}.${N}${O}`):U?E=`>=${S}.0.0${O} <${+S+1}.0.0-0`:$&&(E=`>=${S}.${k}.0${O} <${S}.${+k+1}.0-0`),a("xRange return",E),E}),V=(A,x)=>(a("replaceStars",A,x),A.trim().replace(o[c.STAR],"")),D=(A,x)=>(a("replaceGTE0",A,x),A.trim().replace(o[x.includePrerelease?c.GTE0PRE:c.GTE0],"")),L=A=>(x,H,E,T,S,k,N,O,B,U,$,G,se)=>`${H=y(E)?"":y(T)?`>=${E}.0.0${A?"-0":""}`:y(S)?`>=${E}.${T}.0${A?"-0":""}`:k?`>=${H}`:`>=${H}${A?"-0":""}`} ${O=y(B)?"":y(U)?`<${+B+1}.0.0-0`:y($)?`<${B}.${+U+1}.0-0`:G?`<=${B}.${U}.${$}-${G}`:A?`<${B}.${U}.${+$+1}-0`:`<=${O}`}`.trim(),R=(A,x,H)=>{for(let E=0;E0){const T=A[E].semver;if(T.major===x.major&&T.minor===x.minor&&T.patch===x.patch)return!0}return!1}return!0};return dI}();var mHt=(e,t,n)=>{try{t=new pHt(t,n)}catch{return!1}return t.test(e)},x5e=Dzt(mHt),vHt='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n cursor: pointer;\n line-height: 0px;\n}\n.vega-embed summary::-webkit-details-marker {\n display: none;\n}\n.vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset;\n}\n.vega-embed summary svg {\n width: 14px;\n height: 14px;\n}\n.vega-embed details[open] summary {\n opacity: 0.7;\n}\n.vega-embed:hover summary, .vega-embed:focus-within summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease;\n}\n.vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left;\n}\n.vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none;\n}\n.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {\n background-color: #f7f7f9;\n color: black;\n}\n.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute;\n}\n.vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid rgba(0, 0, 0, 0);\n border-bottom-color: #d9d9d9;\n}\n.vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid rgba(0, 0, 0, 0);\n border-bottom-color: #fff;\n}\n.vega-embed .chart-wrapper.fit-x {\n width: 100%;\n}\n.vega-embed .chart-wrapper.fit-y {\n height: 100%;\n}\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px;\n}\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n';function z5e(e,...t){for(const n of t)yHt(e,n);return e}function yHt(e,t){for(const n of Object.keys(t))b6(e,n,t[n],!0)}function H5e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function T3(e){for(var t=1;te,"vega-lite":(e,t)=>qd.compile(e,{config:t}).spec},jHt='\n\n \n \n \n',qHt="chart-wrapper";function E5e(e,t,n,r){const i=`${t}
`,a=`
${n}`,s=window.open("");s.document.write(i+e+a),s.document.title=`${Gd[r]} JSON Source`}function V5e(e){return function YHt(e){return!(!e||!("load"in e))}(e)?e:Ns.loader(e)}function hI(){return hI=Rn(function*(e,t,n={}){let r,i;ge(t)?(i=V5e(n.loader),r=JSON.parse(yield i.load(t))):r=t;const a=function XHt(e){const t=e.usermeta?.embedOptions??{};return ge(t.defaultStyle)&&(t.defaultStyle=!1),t}(r),s=a.loader;(!i||s)&&(i=V5e(n.loader??s));const o=yield D5e(a,i),c=yield D5e(n,i),l=T3(T3({},z5e(c,o)),{},{config:C6(c.config??{},o.config??{})});return yield function KHt(e,t){return mI.apply(this,arguments)}(e,r,l,i)}),hI.apply(this,arguments)}function D5e(e,t){return pI.apply(this,arguments)}function pI(){return pI=Rn(function*(e,t){const n=ge(e.config)?JSON.parse(yield t.load(e.config)):e.config??{},r=ge(e.patch)?JSON.parse(yield t.load(e.patch)):e.patch;return T3(T3(T3({},e),r?{patch:r}:{}),n?{config:n}:{})}),pI.apply(this,arguments)}function mI(){return mI=Rn(function*(e,t,n={},r){const i=n.theme?C6(Wo[n.theme],n.config??{}):n.config,a=xc(n.actions)?n.actions:z5e({},$Ht,n.actions??{}),s=T3(T3({},BHt),n.i18n),o=n.renderer??"canvas",c=n.logLevel??Ns.Warn,l=n.downloadFileName??"visualization",u="string"==typeof e?document.querySelector(e):e;if(!u)throw new Error(`${e} does not exist`);if(!1!==n.defaultStyle){const M="vega-embed-style",{root:w,rootContainer:_}=function ZHt(e){const t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}(u);if(!w.getElementById(M)){const z=document.createElement("style");z.id=M,z.innerHTML=void 0===n.defaultStyle||!0===n.defaultStyle?vHt.toString():n.defaultStyle,_.appendChild(z)}}const f=function WHt(e,t){if(e.$schema){const n=$8e(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${Gd[n.library]}, but mode argument sets ${Gd[t]??t}.`);const r=n.library;return x5e(wb[r],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${Gd[r]} ${n.version}, but the current version of ${Gd[r]} is v${wb[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t??"vega"}(t,n.mode);let d=UHt[f](t,i);if("vega-lite"===f&&d.$schema){const M=$8e(d.$schema);x5e(wb.vega,`^${M.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${M.version}, but current version is v${wb.vega}.`)}u.classList.add("vega-embed"),a&&u.classList.add("has-actions"),u.innerHTML="";let h=u;if(a){const M=document.createElement("div");M.classList.add(qHt),u.appendChild(M),h=M}const p=n.patch;if(p&&(d=p instanceof Function?p(d):pm(d,p,!0,!1).newDocument),n.formatLocale&&Ns.formatLocale(n.formatLocale),n.timeFormatLocale&&Ns.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(const M in n.expressionFunctions){const w=n.expressionFunctions[M];"fn"in w?Ns.expressionFunction(M,w.fn,w.visitor):w instanceof Function&&Ns.expressionFunction(M,w)}const{ast:m}=n,g=Ns.parse(d,"vega-lite"===f?{}:i,{ast:m}),v=new(n.viewClass||Ns.View)(g,T3({loader:r,logLevel:c,renderer:o},m?{expr:Ns.expressionInterpreter??n.expr??Omt}:{}));if(v.addSignalListener("autosize",(M,w)=>{const{type:_}=w;"fit-x"==_?(h.classList.add("fit-x"),h.classList.remove("fit-y")):"fit-y"==_?(h.classList.remove("fit-x"),h.classList.add("fit-y")):"fit"==_?h.classList.add("fit-x","fit-y"):h.classList.remove("fit-x","fit-y")}),!1!==n.tooltip){const M=function GHt(e){return"function"==typeof e}(n.tooltip)?n.tooltip:new l5e(!0===n.tooltip?{}:n.tooltip).call;v.tooltip(M)}let C,{hover:y}=n;if(void 0===y&&(y="vega"===f),y){const{hoverSet:M,updateSet:w}="boolean"==typeof y?{}:y;v.hover(M,w)}if(n&&(null!=n.width&&v.width(n.width),null!=n.height&&v.height(n.height),null!=n.padding&&v.padding(n.padding)),yield v.initialize(h,n.bind).runAsync(),!1!==a){let M=u;if(!1!==n.defaultStyle||n.forceActionsMenu){const _=document.createElement("details");_.title=s.CLICK_TO_VIEW_ACTIONS,u.append(_),M=_;const z=document.createElement("summary");z.innerHTML=jHt,_.append(z),C=V=>{_.contains(V.target)||_.removeAttribute("open")},document.addEventListener("click",C)}const w=document.createElement("div");if(M.append(w),w.classList.add("vega-actions"),!0===a||!1!==a.export)for(const _ of["svg","png"])if(!0===a||!0===a.export||a.export[_]){const z=s[`${_.toUpperCase()}_ACTION`],V=document.createElement("a"),D=ye(n.scaleFactor)?n.scaleFactor[_]:n.scaleFactor;V.text=z,V.href="#",V.target="_blank",V.download=`${l}.${_}`,V.addEventListener("mousedown",function(){var L=Rn(function*(R){R.preventDefault();const A=yield v.toImageURL(_,D);this.href=A});return function(R){return L.apply(this,arguments)}}()),w.append(V)}if(!0===a||!1!==a.source){const _=document.createElement("a");_.text=s.SOURCE_ACTION,_.href="#",_.addEventListener("click",function(z){E5e(HH()(t),n.sourceHeader??"",n.sourceFooter??"",f),z.preventDefault()}),w.append(_)}if("vega-lite"===f&&(!0===a||!1!==a.compiled)){const _=document.createElement("a");_.text=s.COMPILED_ACTION,_.href="#",_.addEventListener("click",function(z){E5e(HH()(d),n.sourceHeader??"",n.sourceFooter??"","vega"),z.preventDefault()}),w.append(_)}if(!0===a||!1!==a.editor){const _=n.editorUrl??"https://vega.github.io/editor/",z=document.createElement("a");z.text=s.EDITOR_ACTION,z.href="#",z.addEventListener("click",function(V){(function gHt(e,t,n){const r=e.open(t),{origin:s}=new URL(t);let o=40;e.addEventListener("message",function c(u){u.source===r&&(o=0,e.removeEventListener("message",c,!1))},!1),setTimeout(function l(){o<=0||(r.postMessage(n,s),setTimeout(l,250),o-=1)},250)})(window,_,{config:i,mode:f,renderer:o,spec:HH()(t)}),V.preventDefault()}),w.append(z)}}return{view:v,spec:t,vgSpec:d,finalize:function b(){C&&document.removeEventListener("click",C),v.finalize()},embedOptions:n}}),mI.apply(this,arguments)}let L5e=(()=>{class e{constructor(){this.data=[],this.spec=Znt}ngAfterViewInit(){var n=this;return Rn(function*(){n.spec=n.addDataToSpec(n.data,n.spec),n.chart=yield function QHt(e,t){return hI.apply(this,arguments)}("#calendar-element",n.spec)})()}addDataToSpec(n,r){const i=r;return i.data.values=this.formatData(n),i}formatData(n){const r=Array.from(new Set(n)),i=r.map(l=>new Date(l).getFullYear()),a=Math.min(...i),s=Math.max(...i),o={};for(let l=a;l<=s;l++)for(let u=1;u<=12;u++)for(let f=1;f<=31;f++){const d=new Date(l,u-1,f).toLocaleDateString().split("T")[0];o[d]=0}return r.forEach(l=>{const u=new Date(l).toLocaleDateString().split("T")[0];o[u]+=1}),Object.entries(o).map(([l,u])=>({date:l,count:u}))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-calendar-heatmap"]],inputs:{data:"data"},decls:1,vars:0,consts:[["id","calendar-element"]],template:function(r,i){1&r&&jn(0,"div",0)},styles:["#calendar-element[_ngcontent-%COMP%]{position:relative;width:100%}"]})}return e})();function JHt(e,t){if(1&e&&(I(0,"li"),P(1),Fa(2,"date"),F()),2&e){const n=t.$implicit;X(1),Ze(" ",Ra(2,1,n)," ")}}const A5e=function(){return[]};function eSt(e,t){if(1&e&&($2(0),jn(1,"app-calendar-heatmap",6),B2()),2&e){const n=Jt();X(1),de("data",n.model.FormattedCompletedDates?n.model.FormattedCompletedDates:Ys(1,A5e))}}let N5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.goalApi=i,this.faCheck=dH,this.faXmark=x4}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getHabit(n).pipe($e(1)).subscribe(r=>{this.model=new Mc(r.data),this.model?.Goal&&this.goalApi.getGoal(this.model?.Goal).pipe($e(1)).subscribe(i=>{this.goalModel=new qa(i.data)})})}static#e=this.\u0275fac=function(r){return new(r||e)(q(g6),q(x1),q(Ga))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-habit-page"]],decls:22,vars:12,consts:[[1,"uk-button-secondary","uk-button","uk-margin-small-right",3,"routerLink"],[1,"uk-button-danger","uk-button",3,"routerLink"],[3,"icon"],[3,"routerLink"],[4,"ngFor","ngForOf"],[4,"ngIf"],[3,"data"]],template:function(r,i){if(1&r&&(I(0,"h1"),P(1),F(),I(2,"button",0),P(3),F(),I(4,"button",1),P(5),F(),I(6,"p"),P(7),F(),jn(8,"hr"),I(9,"span"),P(10," Is Anti Habit: "),jn(11,"fa-icon",2),F(),I(12,"p"),P(13," Associated Goal: "),I(14,"a",3),P(15),F()(),jn(16,"hr"),I(17,"h2"),P(18,"Completed Dates"),F(),I(19,"ul"),It(20,JHt,3,3,"li",4),F(),It(21,eSt,2,2,"ng-container",5)),2&r){let a;X(1),Ze("Habit: ",null==i.model?null:i.model.Name,""),X(1),de("routerLink",null==i.model?null:i.model.EditUrl),X(1),Ze(" Edit: ",null==i.model?null:i.model.Name,"\n"),X(1),de("routerLink",null==i.model?null:i.model.DeleteUrl),X(1),Ze(" Delete: ",null==i.model?null:i.model.Name,"\n"),X(2),Ze(" ",null==i.model?null:i.model.Description,"\n"),X(4),de("icon",null!=i.model&&i.model.AntiHabit?i.faCheck:i.faXmark),X(3),de("routerLink",null==i.goalModel?null:i.goalModel.ViewUrl),X(1),Ze(" ",null==i.goalModel?null:i.goalModel.Name," "),X(5),de("ngForOf",null!==(a=null==i.model?null:i.model.FormattedCompletedDates)&&void 0!==a?a:Ys(11,A5e)),X(1),de("ngIf",i.model)}},dependencies:[eo,g8,Oi,QG,L5e,u4],encapsulation:2})}return e})();function tSt(e,t){if(1&e&&($2(0),I(1,"p",10),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}function nSt(e,t){if(1&e){const n=r4();I(0,"tr")(1,"td")(2,"input",6),Ae("change",function(){const a=Sa(n).$implicit;return Ea(Jt().completeHabit(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td",2),It(6,tSt,3,1,"ng-container",7),F(),I(7,"td"),jn(8,"fa-icon",8),F(),I(9,"td",2),P(10," aaa "),F(),I(11,"td")(12,"a",9),P(13,"View"),F()()()}if(2&e){const n=t.$implicit,r=Jt(),i=Ws(26);X(4),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",i),X(2),de("icon",n.AntiHabit?r.faCheck:r.faXmark),X(4),de("routerLink",n.ViewUrl)}}function rSt(e,t){if(1&e&&($2(0),I(1,"p",10),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}function iSt(e,t){if(1&e){const n=r4();I(0,"tr")(1,"td")(2,"input",12),Ae("change",function(){const a=Sa(n).$implicit;return Ea(Jt(2).uncompleteHabit(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td",2),It(6,rSt,3,1,"ng-container",7),F(),I(7,"td"),jn(8,"fa-icon",8),F(),I(9,"td",2),P(10,"test"),F(),I(11,"td")(12,"a",13),P(13,"View"),F()()()}if(2&e){const n=t.$implicit,r=Jt(2),i=Ws(26);X(4),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",i),X(2),de("icon",n.AntiHabit?r.faCheck:r.faXmark),X(4),de("routerLink",n.ViewUrl)}}function aSt(e,t){if(1&e&&(I(0,"section")(1,"h2"),P(2,"Completed Habits"),F(),I(3,"table",11)(4,"thead")(5,"tr")(6,"th"),P(7,"Completed"),F(),I(8,"th"),P(9,"Name"),F(),I(10,"th",2),P(11,"Description"),F(),I(12,"th"),P(13,"Anti Habit"),F(),I(14,"th",2),P(15,"Associated Goal"),F(),I(16,"th"),P(17,"Action"),F()()(),I(18,"tbody"),It(19,iSt,14,5,"tr",3),F()()()),2&e){const n=Jt();X(19),de("ngForOf",n.completedHabits)}}function sSt(e,t){if(1&e&&($2(0),I(1,"p",10),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}function oSt(e,t){if(1&e){const n=r4();I(0,"tr")(1,"td")(2,"input",12),Ae("change",function(){const a=Sa(n).$implicit;return Ea(Jt(2).uncompleteHabit(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td",2),It(6,sSt,3,1,"ng-container",7),F(),I(7,"td"),jn(8,"fa-icon",8),F(),I(9,"td",2),P(10,"test"),F(),I(11,"td")(12,"a",13),P(13,"View"),F()()()}if(2&e){const n=t.$implicit,r=Jt(2),i=Ws(26);X(4),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",i),X(2),de("icon",n.AntiHabit?r.faCheck:r.faXmark),X(4),de("routerLink",n.ViewUrl)}}function cSt(e,t){if(1&e&&(I(0,"section")(1,"h2"),P(2,"Failed Anti Habits"),F(),I(3,"table",11)(4,"thead")(5,"tr"),jn(6,"th"),I(7,"th"),P(8,"Name"),F(),I(9,"th",2),P(10,"Description"),F(),I(11,"th"),P(12,"Anti Habit"),F(),I(13,"th",2),P(14,"Associated Goal"),F(),I(15,"th"),P(16,"Action"),F()()(),I(17,"tbody"),It(18,oSt,14,5,"tr",3),F()()()),2&e){const n=Jt();X(18),de("ngForOf",n.failedAntiHabits)}}function lSt(e,t){1&e&&(I(0,"i"),P(1,"No description"),F())}let k5e=(()=>{class e{constructor(n){this.api=n,this.habits=[],this.faCheck=dH,this.faXmark=x4}get inCompleteHabits(){return this.habits.filter(n=>!this.isCompletedToday(n))}get completedHabits(){return this.habits.filter(n=>!n.AntiHabit&&this.isCompletedToday(n))}get failedAntiHabits(){return this.habits.filter(n=>n.AntiHabit&&this.isCompletedToday(n))}ngOnInit(){this.api.getHabits().pipe($e(1)).subscribe(n=>{this.habits=n.data.map(r=>new Mc(r))})}completeHabit(n){n.CompletedDates?.length||(n.CompletedDates=[]),n.CompletedDates.push((new Date).toLocaleDateString()),this.api.updateHabit(n).pipe($e(1)).subscribe(r=>{n=new Mc(r.data)})}uncompleteHabit(n){const r=(new Date).toLocaleDateString(),i=n.CompletedDates.findIndex(a=>{const s=new Date(a).toLocaleDateString();return r===s});n.CompletedDates.splice(i,1),this.api.updateHabit(n).pipe($e(1)).subscribe(a=>{n=new Mc(a.data)})}isCompletedToday(n){const r=n.CompletedDates?.at(-1)?.split("T")[0],i=(new Date)?.toLocaleDateString()?.split("T")[0];return r===i}static#e=this.\u0275fac=function(r){return new(r||e)(q(g6))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-list-page"]],decls:27,vars:3,consts:[["routerLink","/habits/new",1,"uk-button","uk-button-default"],[1,"uk-table","uk-table-striped"],[1,"hide-in-mobile"],[4,"ngFor","ngForOf"],[4,"ngIf"],["defaultDescription",""],["type","checkbox",1,"uk-checkbox",3,"change"],[4,"ngIf","ngIfElse"],[3,"icon"],[1,"uk-button-small","uk-button-primary","uk-margin-small-right",3,"routerLink"],[1,"description"],[1,"uk-table","uk-table-striped","uk-text-muted"],["type","checkbox","checked","",1,"uk-checkbox",3,"change"],[1,"uk-button-small","uk-button-primary",3,"routerLink"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"Habit Tracker"),F(),I(2,"section")(3,"nav")(4,"a",0),P(5,"New Habit"),F()()(),I(6,"section")(7,"table",1)(8,"thead")(9,"tr"),jn(10,"th"),I(11,"th"),P(12,"Name"),F(),I(13,"th",2),P(14,"Description"),F(),I(15,"th"),P(16,"Anti Habit"),F(),I(17,"th",2),P(18,"Associated Goal"),F(),I(19,"th"),P(20,"Action"),F()()(),I(21,"tbody"),It(22,nSt,14,5,"tr",3),F()()(),It(23,aSt,20,1,"section",4),It(24,cSt,19,1,"section",4),It(25,lSt,2,0,"ng-template",null,5,u8)),2&r&&(X(22),de("ngForOf",i.inCompleteHabits),X(1),de("ngIf",i.completedHabits.length>0),X(1),de("ngIf",i.failedAntiHabits.length>0))},dependencies:[eo,g8,Oi,QG],styles:["p.description[_ngcontent-%COMP%]{text-wrap:nowrap;padding-right:10rem;width:28rem;overflow:hidden}@media screen and (max-width: 768px){.hide-in-mobile[_ngcontent-%COMP%]{display:none}}"]})}return e})();function uSt(e,t){if(1&e&&($2(0),I(1,"option",12),P(2),F(),B2()),2&e){const n=t.$implicit;X(1),de("value",n.Id),X(1),U2(n.Name)}}let T5e=(()=>{class e{constructor(n,r,i){this.router=n,this.api=r,this.goalApi=i,this.model={CreatedAt:(new Date).toLocaleDateString()},this.goals$=new N2([])}ngOnInit(){this.goalApi.listGoals().pipe($e(1)).subscribe(n=>this.goals$.next(n.data.map(r=>new qa(r))))}submitForm(){const n=new Mc(this.model);this.api.createHabit(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(gn),q(g6),q(Ga))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-new-page"]],decls:21,vars:7,consts:[["action",""],["ngForm",""],["for","new-habit-input",1,"uk-form-label"],["id","new-habit-input","name","new-habit-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-habit-description",1,"uk-form-label"],["id","new-habit-description","name","new-habit-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["for","associated-goal",1,"uk-form-label"],["name","associated-goal","id","associated-goal",1,"uk-input",3,"ngModel","ngModelChange"],[4,"ngFor","ngForOf"],["type","checkbox","name","anti-habit","id","anti-habit",1,"uk-checkbox",3,"ngModel","ngModelChange"],["for","anti-habit",1,"uk-form-label"],["type","submit",1,"uk-button","uk-button-primary","uk-margin-top",3,"click"],[3,"value"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"Add New Habit"),F(),I(2,"form",0,1)(4,"label",2),P(5,"Habit Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Habit Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"label",6),P(11,"Associated Goal"),F(),I(12,"select",7),Ae("ngModelChange",function(s){return i.model.Goal=s}),It(13,uSt,3,2,"ng-container",8),Fa(14,"async"),F(),I(15,"input",9),Ae("ngModelChange",function(s){return i.model.AntiHabit=s}),F(),I(16,"label",10),P(17,"Anti Habit"),F(),I(18,"div")(19,"button",11),Ae("click",function(){return i.submitForm()}),P(20," Add New Habit "),F()()()),2&r&&(X(6),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description),X(3),de("ngModel",i.model.Goal),X(1),de("ngForOf",Ra(14,5,i.goals$)),X(2),de("ngModel",i.model.AntiHabit))},dependencies:[eo,pc,cp,lp,Ti,K0,S8,Ii,hc,ei,$a,Gw],encapsulation:2})}return e})(),I5e=(()=>{class e{constructor(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-schedule-page"]],decls:2,vars:0,template:function(r,i){1&r&&(I(0,"h1"),P(1,"Schedule"),F())},encapsulation:2})}return e})(),uf=(()=>{class e extends m6{constructor(n){super(),this.http=n}getTodaysRemainingTasks(){throw new Error("Not implemented")}getTasks(){if(nn.production){const n=vn("/tasks");return this.http.get(n)}return console.debug("/tasks"),ve({data:[{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1}],message:"success"})}getTask(n){if(nn.production){const r=vn(`/tasks/${n}`);return this.http.get(r)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}createTask(n){if(nn.production){const r=vn("/tasks");return this.http.post(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}updateTask(n){if(nn.production){const r=vn(`/tasks/${n.Id}`);return this.http.put(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Task",Description:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api",Completed:!1},message:"success"})}deleteTask(n){if(nn.production){const r=vn(`/tasks/${n}`);return this.http.delete(r)}return console.debug(n),ve(void 0)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(M8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),F5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getTask(n).pipe($e(1)).subscribe(r=>{this.model=new w4(r.data)})}deleteModel(){if(!this.model)throw new Error("Model is not defined");this.api.deleteTask(this.model?.Id).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/tasks"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(uf),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-delete-task-page"]],decls:6,vars:2,consts:[[1,"uk-button","uk-button-danger",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"p"),P(3," Deleting this model will make it unrecoverable.\n"),F(),I(4,"button",0),Ae("click",function(){return i.deleteModel()}),P(5),F()),2&r&&(X(1),Ze("Delete ",null==i.model?null:i.model.Name,"?"),X(4),Ze(" Delete ",null==i.model?null:i.model.Name,"\n"))},encapsulation:2})}return e})();function fSt(e,t){if(1&e&&($2(0),I(1,"p",12),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}function dSt(e,t){if(1&e&&($2(0),P(1),Fa(2,"date"),B2()),2&e){const n=Jt().$implicit;X(1),Ze(" ",Ra(2,1,n.CompleteBy)," ")}}const hSt=function(e){return{"overdue-task":e}},pSt=function(e){return["/tasks",e,"delete"]};function mSt(e,t){if(1&e){const n=r4();I(0,"tr",7)(1,"td")(2,"input",8),Ae("ngModelChange",function(i){return Ea(Sa(n).$implicit.Completed=i)})("change",function(){const a=Sa(n).$implicit;return Ea(Jt().updateTask(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td",2),It(6,fSt,3,1,"ng-container",9),F(),I(7,"td",2),P(8),F(),I(9,"td"),It(10,dSt,3,3,"ng-container",9),F(),I(11,"td")(12,"a",10),P(13,"View"),F(),I(14,"a",11),P(15,"Delete"),F()()()}if(2&e){const n=t.$implicit;Jt();const r=Ws(25),i=Ws(27);de("ngClass",M9(10,hSt,n.isOverdue)),X(2),de("ngModel",n.Completed),X(2),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",r),X(2),U2(n.ImportanceHuman),X(2),de("ngIf",n.CompleteBy)("ngIfElse",i),X(2),de("routerLink",n.ViewUrl),X(2),de("routerLink",M9(12,pSt,n.Id))}}function gSt(e,t){if(1&e&&($2(0),I(1,"p",12),P(2),F(),B2()),2&e){const n=Jt().$implicit;X(2),Ze(" ",n.Description," ")}}function vSt(e,t){if(1&e&&($2(0),P(1),Fa(2,"date"),B2()),2&e){const n=Jt().$implicit;X(1),Ze(" ",Ra(2,1,n.CompleteBy)," ")}}function ySt(e,t){if(1&e){const n=r4();I(0,"tr")(1,"td")(2,"input",8),Ae("ngModelChange",function(i){return Ea(Sa(n).$implicit.Completed=i)})("change",function(){const a=Sa(n).$implicit;return Ea(Jt(2).updateTask(a))}),F()(),I(3,"td"),P(4),F(),I(5,"td"),It(6,gSt,3,1,"ng-container",9),F(),I(7,"td"),P(8),F(),It(9,vSt,3,3,"ng-container",9),I(10,"td")(11,"a",15),P(12,"View"),F()()()}if(2&e){const n=t.$implicit;Jt(2);const r=Ws(25),i=Ws(27);X(2),de("ngModel",n.Completed),X(2),U2(n.Name),X(2),de("ngIf",n.Description)("ngIfElse",r),X(2),Ze(" ",n.ImportanceHuman," "),X(1),de("ngIf",n.CompleteBy)("ngIfElse",i),X(2),de("routerLink",n.ViewUrl)}}function CSt(e,t){if(1&e&&(I(0,"section")(1,"h2"),P(2,"Completed Tasks"),F(),I(3,"table",13)(4,"thead")(5,"tr")(6,"th"),P(7,"Completed"),F(),I(8,"th"),P(9,"Name"),F(),I(10,"th"),P(11,"Description"),F(),I(12,"th"),P(13,"Importance"),F(),I(14,"th"),P(15,"Complete By"),F(),I(16,"th"),P(17,"Action"),F()()(),I(18,"tbody"),It(19,ySt,13,8,"tr",14),F()()()),2&e){const n=Jt();X(19),de("ngForOf",n.completedTasks)}}function bSt(e,t){1&e&&(I(0,"i"),P(1,"No description"),F())}function MSt(e,t){1&e&&(I(0,"i"),P(1,"No date set"),F())}let R5e=(()=>{class e{constructor(n){this.api=n,this.tasks=[]}get completedTasks(){return this.tasks.filter(n=>n.Completed)}get incompleteTasks(){return this.tasks.filter(n=>!n.Completed)}ngOnInit(){this.api.getTasks().pipe($e(1)).subscribe(n=>{this.tasks=n.data.map(r=>new w4(r))})}updateTask(n){this.api.updateTask(n).pipe($e(1)).subscribe(r=>{n=new w4(r.data)})}static#e=this.\u0275fac=function(r){return new(r||e)(q(uf))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-tasks-page"]],decls:28,vars:2,consts:[["routerLink","/tasks/new",1,"uk-button","uk-button-default"],[1,"uk-table","uk-table-striped"],[1,"hide-in-mobile"],[3,"ngClass",4,"ngFor","ngForOf"],[4,"ngIf"],["defaultDescription",""],["defaultCompleteBy",""],[3,"ngClass"],["type","checkbox",1,"uk-checkbox",3,"ngModel","ngModelChange","change"],[4,"ngIf","ngIfElse"],[1,"uk-button-small","uk-button-primary","uk-margin-small-right",3,"routerLink"],[1,"uk-button-small","uk-button-danger",3,"routerLink"],[1,"description"],[1,"uk-table","uk-table-striped","uk-text-muted"],[4,"ngFor","ngForOf"],[1,"uk-button-small","uk-button-primary",3,"routerLink"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"All Tasks"),F(),I(2,"section")(3,"nav")(4,"a",0),P(5,"New Task"),F()()(),I(6,"section")(7,"table",1)(8,"thead")(9,"tr"),jn(10,"th"),I(11,"th"),P(12,"Name"),F(),I(13,"th",2),P(14,"Description"),F(),I(15,"th",2),P(16,"Importance"),F(),I(17,"th"),P(18,"Complete By"),F(),I(19,"th"),P(20,"Action"),F()()(),I(21,"tbody"),It(22,mSt,16,14,"tr",3),F()()(),It(23,CSt,20,1,"section",4),It(24,bSt,2,0,"ng-template",null,5,u8),It(26,MSt,2,0,"ng-template",null,6,u8)),2&r&&(X(22),de("ngForOf",i.incompleteTasks),X(1),de("ngIf",i.completedTasks.length>0))},dependencies:[ZU,eo,g8,Oi,K0,Ii,ei,u4],styles:[".overdue-task[_ngcontent-%COMP%]{color:#f5222d}@media screen and (max-width: 768px){.hide-in-mobile[_ngcontent-%COMP%]{display:none}}"]})}return e})();function _St(e,t){if(1&e&&($2(0),I(1,"option",19),P(2),F(),B2()),2&e){const n=t.$implicit;X(1),de("value",n.Id),X(1),U2(n.Name)}}let O5e=(()=>{class e{constructor(n,r,i){this.router=n,this.api=r,this.goalApi=i,this.model={Importance:1},this.goals$=new N2([])}ngOnInit(){this.goalApi.listGoals().pipe($e(1)).subscribe(n=>this.goals$.next(n.data.map(r=>new qa(r))))}submitForm(){const n=new w4(this.model);n.Completed=!1,this.api.createTask(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/tasks"))}updateImportance(n){this.model.Importance=parseInt(n.target.value,10)}updateCompleteBy(n){const r=new Date(n.target.value);this.model.CompleteBy=r.toLocaleDateString()}static#e=this.\u0275fac=function(r){return new(r||e)(q(gn),q(uf),q(Ga))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-new-task-page"]],decls:33,vars:6,consts:[["action",""],["ngForm",""],["for","new-task-input",1,"uk-form-label"],["id","new-task-input","name","new-task-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-task-description",1,"uk-form-label"],["id","new-task-description","name","new-task-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["for","importance-input",1,"uk-form-label"],["id","importance-input","name","importance-input",1,"uk-input",3,"change"],["value","1","selected",""],["value","2"],["value","3"],["value","4"],["value","5"],["for","associated-goal",1,"uk-form-label"],["name","associated-goal","id","associated-goal",1,"uk-input",3,"ngModel","ngModelChange"],[4,"ngFor","ngForOf"],["for","complete-by-input",1,"uk-form-label"],["type","date","name","complete-by-input","id","complete-by-input",1,"uk-input",3,"change"],["type","submit",1,"uk-button","uk-button-primary","uk-margin-top",3,"click"],[3,"value"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"New Task"),F(),I(2,"form",0,1)(4,"label",2),P(5,"Task Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Task Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"label",6),P(11," Importance (low number = low importance; high number = high importance) "),F(),I(12,"select",7),Ae("change",function(s){return i.updateImportance(s)}),I(13,"option",8),P(14,"Low"),F(),I(15,"option",9),P(16,"Low-Medium"),F(),I(17,"option",10),P(18,"Medium"),F(),I(19,"option",11),P(20,"Medium-High"),F(),I(21,"option",12),P(22,"High"),F()(),I(23,"label",13),P(24,"Associated Goal"),F(),I(25,"select",14),Ae("ngModelChange",function(s){return i.model.Goal=s}),It(26,_St,3,2,"ng-container",15),Fa(27,"async"),F(),I(28,"label",16),P(29,"Complete By"),F(),I(30,"input",17),Ae("change",function(s){return i.updateCompleteBy(s)}),F(),I(31,"button",18),Ae("click",function(){return i.submitForm()}),P(32," Add New Task "),F()()),2&r&&(X(6),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description),X(16),de("ngModel",i.model.Goal),X(1),de("ngForOf",Ra(27,4,i.goals$)))},dependencies:[eo,pc,cp,lp,Ti,S8,Ii,hc,ei,$a,Gw],encapsulation:2})}return e})(),P5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.goalApi=i}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getTask(n).pipe($e(1)).subscribe(r=>{this.model=new w4(r.data),this.goalApi.getGoal(this.model?.Goal).pipe($e(1)).subscribe(i=>{this.goalModel=new qa(i.data)})})}static#e=this.\u0275fac=function(r){return new(r||e)(q(uf),q(x1),q(Ga))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-task-page"]],decls:17,vars:13,consts:[[1,"uk-button-secondary","uk-button","uk-margin-small-right",3,"routerLink"],[1,"uk-button-danger","uk-button",3,"routerLink"],[3,"routerLink"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"button",0),P(3),F(),I(4,"button",1),P(5),F(),I(6,"p"),P(7),F(),I(8,"p"),P(9),F(),I(10,"p"),P(11),Fa(12,"date"),F(),I(13,"p"),P(14," Associated Goal: "),I(15,"a",2),P(16),F()()),2&r&&(X(1),G_(" Task: ",null==i.model?null:i.model.Name," (",null!=i.model&&i.model.Completed?"Completed":"Incomplete",")\n"),X(1),de("routerLink",null==i.model?null:i.model.EditUrl),X(1),Ze(" Edit: ",null==i.model?null:i.model.Name,"\n"),X(1),de("routerLink",null==i.model?null:i.model.DeleteUrl),X(1),Ze(" Delete: ",null==i.model?null:i.model.Name,"\n"),X(2),Ze(" ",null==i.model?null:i.model.Description,"\n"),X(2),Ze("Importance: ",null==i.model?null:i.model.ImportanceHuman,""),X(2),Ze("Complete By: ",Ra(12,11,null==i.model?null:i.model.CompleteBy),""),X(4),de("routerLink",null==i.goalModel?null:i.goalModel.ViewUrl),X(1),Ze(" ",null==i.goalModel?null:i.goalModel.Name," "))},dependencies:[Oi,u4],encapsulation:2})}return e})();class xb extends Yp{constructor(t){super(t)}get ViewUrl(){return["/logbook",this.Id]}get DeleteUrl(){return["/logbook",this.Id,"delete"]}}let zb=(()=>{class e extends m6{constructor(n){super(),this.http=n}getLogbooks(){if(nn.production){const n=vn("/logbooks");return this.http.get(n)}return console.debug("/logbook"),ve({data:[{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"}],message:"success"})}getLogbook(n){if(nn.production){const r=vn(`/logbooks/${n}`);return this.http.get(r)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},message:"success"})}createLogbook(n){if(nn.production){const r=vn("/logbooks");return this.http.post(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},message:"success"})}updateLogbook(n){if(nn.production){const r=vn(`/logbooks/${n.Id}`);return this.http.put(r,n)}return console.debug(n),ve({data:{Id:"1",Name:"Fake Logbook Entry",Content:"This is a fake model used in development. Change production = true in the environment.ts to enable communication with the api"},message:"success"})}deleteLogbook(n){if(nn.production){const r=vn(`/logbooks/${n}`);return this.http.delete(r)}return console.debug(n),ve(void 0)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(M8))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wSt(e,t){if(1&e&&(I(0,"tr")(1,"td"),P(2),F(),I(3,"td"),P(4),Fa(5,"date"),F(),I(6,"td")(7,"a",3),P(8," View "),F(),I(9,"a",4),P(10," Delete "),F()()()),2&e){const n=t.$implicit;X(2),U2(n.Name),X(2),U2(Ra(5,4,n.CreatedAt)),X(3),de("routerLink",n.ViewUrl),X(2),de("routerLink",n.DeleteUrl)}}let $5e=(()=>{class e{constructor(n){this.api=n,this.logbooks=[]}ngOnInit(){this.api.getLogbooks().pipe($e(1)).subscribe(n=>{this.logbooks=n.data.map(r=>new xb(r))})}static#e=this.\u0275fac=function(r){return new(r||e)(q(zb))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-list"]],decls:18,vars:1,consts:[["routerLink","/logbook/new",1,"uk-button","uk-button-default"],[1,"uk-table"],[4,"ngFor","ngForOf"],[1,"uk-button-small","uk-button-primary","uk-margin-small-right",3,"routerLink"],[1,"uk-button-small","uk-button-danger",3,"routerLink"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"Logbook Entries"),F(),I(2,"section")(3,"nav")(4,"a",0),P(5,"New Entry"),F()()(),I(6,"section")(7,"table",1)(8,"thead")(9,"tr")(10,"th"),P(11,"Name"),F(),I(12,"th"),P(13,"Created At"),F(),I(14,"th"),P(15,"Action"),F()()(),I(16,"tbody"),It(17,wSt,11,6,"tr",2),F()()()),2&r&&(X(17),de("ngForOf",i.logbooks))},dependencies:[eo,Oi,u4]})}return e})(),B5e=(()=>{class e{constructor(n,r){this.router=n,this.api=r,this.model={CreatedAt:(new Date).toLocaleDateString()}}submitForm(){const n=new xb(this.model);this.api.createLogbook(n).subscribe(()=>this.router.navigateByUrl("/logbook"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(gn),q(zb))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-new"]],decls:12,vars:2,consts:[["action",""],["ngForm",""],["for","new-task-input",1,"uk-form-label"],["id","new-task-input","name","new-task-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-task-description",1,"uk-form-label"],["id","new-task-description","name","new-task-description","rows","20",1,"uk-textarea",3,"ngModel","ngModelChange"],["type","submit",1,"uk-button","uk-button-primary","uk-margin-top",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"New Task"),F(),I(2,"form",0,1)(4,"label",2),P(5,"Task Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Content "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Content=s}),F(),I(10,"button",6),Ae("click",function(){return i.submitForm()}),P(11," Add Logbook Entry "),F()()),2&r&&(X(6),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Content))},dependencies:[pc,Ti,Ii,hc,ei,$a]})}return e})(),U5e=(()=>{class e{constructor(n,r){this.api=n,this.route=r}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getLogbook(n).pipe($e(1)).subscribe(r=>{this.model=new xb(r.data)})}static#e=this.\u0275fac=function(r){return new(r||e)(q(zb),q(x1))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-show"]],decls:7,vars:5,consts:[[1,"uk-text-default"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"span",0),P(3),Fa(4,"date"),F(),I(5,"pre"),P(6),F()),2&r&&(X(1),Ze("Task: ",null==i.model?null:i.model.Name,""),X(2),Ze("Created: ",Ra(4,3,null==i.model?null:i.model.CreatedAt),""),X(3),Ze(" ",null==i.model?null:i.model.Content,"\n"))},dependencies:[u4]})}return e})(),j5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getLogbook(n).pipe($e(1)).subscribe(r=>{this.model=new xb(r.data)})}deleteModel(){if(!this.model)throw new Error("Model is not defined");this.api.deleteLogbook(this.model?.Id).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/logbook"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(zb),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-delete"]],decls:6,vars:2,consts:[[1,"uk-button","uk-button-danger",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"p"),P(3," Deleting this model will make it unrecoverable.\n"),F(),I(4,"button",0),Ae("click",function(){return i.deleteModel()}),P(5),F()),2&r&&(X(1),Ze("Delete ",null==i.model?null:i.model.Name,"?"),X(4),Ze(" Delete ",null==i.model?null:i.model.Name,"\n"))}})}return e})(),q5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i,this.model={}}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getGoal(n).pipe($e(1)).subscribe(r=>{this.model=r.data})}submitForm(){const n=new qa(this.model);this.api.updateGoal(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/goals"))}updateCompleteBy(n){const r=new Date(n.target.value);this.model.CompleteBy=r.toLocaleDateString()}static#e=this.\u0275fac=function(r){return new(r||e)(q(Ga),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-update"]],decls:15,vars:4,consts:[["action",""],["ngForm",""],["for","new-task-input",1,"uk-form-label"],["id","new-task-input","name","new-task-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-task-description",1,"uk-form-label"],["id","new-task-description","name","new-task-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["for","complete-by-input",1,"uk-form-label"],["type","date","name","complete-by-input","id","complete-by-input",1,"uk-input",3,"value","change"],["type","submit",1,"uk-button","uk-button-secondary","uk-margin-top",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"form",0,1)(4,"label",2),P(5,"Goal Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Goal Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"label",6),P(11,"Complete By"),F(),I(12,"input",7),Ae("change",function(s){return i.updateCompleteBy(s)}),F(),I(13,"button",8),Ae("click",function(){return i.submitForm()}),P(14," Update Goal "),F()()),2&r&&(X(1),Ze("Edit: ",i.model.Name,""),X(5),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description),X(3),de("value",i.model.CompleteBy))},dependencies:[pc,Ti,Ii,hc,ei,$a]})}return e})(),G5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i,this.model={}}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getHabit(n).pipe($e(1)).subscribe(r=>{this.model=r.data})}submitForm(){const n=new Mc(this.model);this.api.updateHabit(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/"))}static#e=this.\u0275fac=function(r){return new(r||e)(q(g6),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-update"]],decls:16,vars:3,consts:[["action",""],["ngForm",""],["for","new-habit-input",1,"uk-form-label"],["id","new-habit-input","name","new-habit-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-habit-description",1,"uk-form-label"],["id","new-habit-description","name","new-habit-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["type","checkbox","name","anti-habit","id","anti-habit",1,"uk-checkbox",3,"ngModel","ngModelChange"],["for","anti-habit",1,"uk-form-label"],["type","submit",1,"uk-button","uk-button-secondary","uk-margin-top",3,"click"]],template:function(r,i){1&r&&(I(0,"p"),P(1,"update works!"),F(),I(2,"form",0,1)(4,"label",2),P(5,"Habit Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Habit Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"input",6),Ae("ngModelChange",function(s){return i.model.AntiHabit=s}),F(),I(11,"label",7),P(12,"Anti Habit"),F(),I(13,"div")(14,"button",8),Ae("click",function(){return i.submitForm()}),P(15," Update Habit "),F()()()),2&r&&(X(6),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description),X(1),de("ngModel",i.model.AntiHabit))},dependencies:[pc,Ti,K0,Ii,hc,ei,$a]})}return e})(),W5e=(()=>{class e{constructor(n,r,i){this.api=n,this.route=r,this.router=i,this.model={}}ngOnInit(){const n=this.route.snapshot.paramMap.get("id");this.api.getTask(n).pipe($e(1)).subscribe(r=>{this.model=r.data})}submitForm(){const n=new w4(this.model);this.api.updateTask(n).pipe($e(1)).subscribe(()=>this.router.navigateByUrl("/tasks"))}updateImportance(n){this.model.Importance=parseInt(n.target.value,10)}updateCompleteBy(n){const r=new Date(n.target.value);this.model.CompleteBy=r.toLocaleDateString()}static#e=this.\u0275fac=function(r){return new(r||e)(q(uf),q(x1),q(gn))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-update"]],decls:28,vars:3,consts:[["action",""],["ngForm",""],["for","new-task-input",1,"uk-form-label"],["id","new-task-input","name","new-task-input","type","text",1,"uk-input",3,"ngModel","ngModelChange"],["for","new-task-description",1,"uk-form-label"],["id","new-task-description","name","new-task-description","rows","10",1,"uk-textarea",3,"ngModel","ngModelChange"],["for","importance-input",1,"uk-form-label"],["id","importance-input","name","importance-input",1,"uk-input",3,"change"],["value","1","selected",""],["value","2"],["value","3"],["value","4"],["value","5"],["for","complete-by-input",1,"uk-form-label"],["type","date","name","complete-by-input","id","complete-by-input",1,"uk-input",3,"change"],["type","submit",1,"uk-button","uk-button-secondary","uk-margin-top",3,"click"]],template:function(r,i){1&r&&(I(0,"h1"),P(1),F(),I(2,"form",0,1)(4,"label",2),P(5,"Task Name"),F(),I(6,"input",3),Ae("ngModelChange",function(s){return i.model.Name=s}),F(),I(7,"label",4),P(8," Task Description "),F(),I(9,"textarea",5),Ae("ngModelChange",function(s){return i.model.Description=s}),F(),I(10,"label",6),P(11," Importance (low number = low importance; high number = high importance) "),F(),I(12,"select",7),Ae("change",function(s){return i.updateImportance(s)}),I(13,"option",8),P(14,"Low"),F(),I(15,"option",9),P(16,"Low-Medium"),F(),I(17,"option",10),P(18,"Medium"),F(),I(19,"option",11),P(20,"Medium-High"),F(),I(21,"option",12),P(22,"High"),F()(),I(23,"label",13),P(24,"Complete By"),F(),I(25,"input",14),Ae("change",function(s){return i.updateCompleteBy(s)}),F(),I(26,"button",15),Ae("click",function(){return i.submitForm()}),P(27," Update Task "),F()()),2&r&&(X(1),Ze("Edit: ",i.model.Name,""),X(5),de("ngModel",i.model.Name),X(3),de("ngModel",i.model.Description))},dependencies:[pc,cp,lp,Ti,Ii,hc,ei,$a]})}return e})(),Y5e=(()=>{class e{constructor(n){this.configService=n,this.customServerUrl=this.configService.getCustomServerUrl()??"",this.formFeedback=""}saveCustomServerUrl(){this.customServerUrl?(this.configService.setCustomServerUrl(this.customServerUrl),this.formFeedback="Custom server URL saved!"):this.formFeedback="Please enter a valid server URL."}clearCustomServerUrl(){this.customServerUrl="",this.configService.clearCustomServerUrl(),this.formFeedback="Custom server URL cleared!"}static#e=this.\u0275fac=function(r){return new(r||e)(q(Hz))};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-configure"]],decls:28,vars:2,consts:[["href","https://github.com/hudson-newey/habit-tracker/tree/main/server"],["href","https://github.com/hudson-newey/habit-tracker"],["type","text","placeholder","Server URL",1,"uk-input",3,"ngModel","ngModelChange"],[1,"action-buttons"],["id","save-server-button",1,"uk-button","uk-button-primary",3,"click"],["id","remove-server-button",1,"uk-button","uk-button-danger",3,"click"],[1,"uk-text-secondary"]],template:function(r,i){1&r&&(I(0,"h1"),P(1,"Configure"),F(),I(2,"p"),P(3," This web app is intended to be used with the GoLang API found "),I(4,"a",0),P(5,"on GitHub"),F(),P(6,".\n"),F(),I(7,"p"),P(8," It is possible to use this app without the API, but you will not be able to sync your Todo items and Habits between devices.\n"),F(),I(9,"p"),P(10," You are free to use this GitHub pages hosted version of the application with your own hosted server (or without) by inputting the custom URL below, or you can host your own instance of the server, client and mobile application using the code available "),I(11,"a",1),P(12,"here"),F(),P(13,".\n"),F(),I(14,"section")(15,"h2"),P(16,"Custom Server URL"),F(),I(17,"p"),P(18," If you are using a custom server, please input the URL below. If you are using the habit tracker without device syncing, you can leave this blank. "),F(),I(19,"input",2),Ae("ngModelChange",function(s){return i.customServerUrl=s}),F(),I(20,"div",3)(21,"button",4),Ae("click",function(){return i.saveCustomServerUrl()}),P(22," Save "),F(),I(23,"button",5),Ae("click",function(){return i.clearCustomServerUrl()}),P(24," Remove Server "),F()(),jn(25,"div"),I(26,"p",6),P(27),F()()),2&r&&(X(19),de("ngModel",i.customServerUrl),X(8),U2(i.formFeedback))},dependencies:[Ti,Ii,ei],styles:[".action-buttons[_ngcontent-%COMP%]{margin-top:.5rem}.action-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]{margin-right:.5rem}"]})}return e})();const xSt=[{path:"goals",component:aY},{path:"goals/new",component:sY},{path:"goals/:id",component:iY},{path:"goals/:id/delete",component:rY},{path:"goals/:id/edit",component:q5e},{path:"",component:k5e},{path:"habits/new",component:T5e},{path:"habits/:id",component:N5e},{path:"habits/:id/delete",component:oY},{path:"habits/:id/edit",component:G5e},{path:"tasks",component:R5e},{path:"tasks/new",component:O5e},{path:"tasks/:id",component:P5e},{path:"tasks/:id/delete",component:F5e},{path:"tasks/:id/edit",component:W5e},{path:"logbook",component:$5e},{path:"logbook/new",component:B5e},{path:"logbook/:id",component:U5e},{path:"logbook/:id/delete",component:j5e},{path:"schedule",component:I5e},{path:"configure",component:Y5e}];let zSt=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({imports:[tY.forRoot(xSt),tY]})}return e})();const HSt=function(){return{exact:!0}},Wd=function(){return["uk-active"]};let X5e=(()=>{class e{constructor(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-navbar"]],decls:22,vars:12,consts:[[1,"uk-navbar-container","navbar-container"],[1,"uk-container","navbar-container"],[1,"uk-navbar-left"],[1,"uk-nav-primary","hide-in-mobile"],[1,"uk-navbar-nav"],[3,"routerLinkActiveOptions","routerLinkActive"],["routerLink","/",1,"uk-link","uk-navbar-item"],[3,"routerLinkActive"],["routerLink","/goals",1,"uk-link","uk-navbar-item"],["routerLink","/tasks",1,"uk-link","uk-navbar-item"],["routerLink","/logbook",1,"uk-link","uk-navbar-item"],[1,"navbar-right","hide-in-mobile"],["routerLink","/configure",1,"uk-link-muted","uk-navbar-item"]],template:function(r,i){1&r&&(I(0,"nav",0)(1,"div",1)(2,"div",2)(3,"strong",3),P(4,"Goal Tracker"),F(),I(5,"ul",4)(6,"li",5)(7,"a",6),P(8,"Habits"),F()(),I(9,"li",7)(10,"a",8),P(11,"Goals"),F()(),I(12,"li",7)(13,"a",9),P(14,"Tasks"),F()(),I(15,"li",7)(16,"a",10),P(17,"Logbook"),F()(),I(18,"span",11)(19,"li",7)(20,"a",12),P(21,"Configure Server"),F()()()()()()()),2&r&&(X(6),de("routerLinkActiveOptions",Ys(6,HSt))("routerLinkActive",Ys(7,Wd)),X(3),de("routerLinkActive",Ys(8,Wd)),X(3),de("routerLinkActive",Ys(9,Wd)),X(3),de("routerLinkActive",Ys(10,Wd)),X(4),de("routerLinkActive",Ys(11,Wd)))},dependencies:[Oi,WW],styles:[".navbar-right[_ngcontent-%COMP%]{position:absolute;right:5em}@media screen and (max-width: 768px){.hide-in-mobile[_ngcontent-%COMP%]{display:none}}"]})}return e})(),SSt=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=kt({type:e,selectors:[["app-root"]],decls:3,vars:0,consts:[[1,"main-content"]],template:function(r,i){1&r&&(jn(0,"app-navbar"),I(1,"div",0),jn(2,"router-outlet"),F())},dependencies:[vz,X5e],styles:[".main-content[_ngcontent-%COMP%]{position:relative;margin:auto;width:60%;margin-top:2rem}@media screen and (max-width: 768px){.main-content[_ngcontent-%COMP%]{width:calc(100% - 2.4rem);margin-left:1.2rem}}"]})}return e})();const ESt=["addListener","removeListener"],VSt=["addEventListener","removeEventListener"],DSt=["on","off"];function Hb(e,t,n,r){if(it(n)&&(r=n,n=void 0),r)return Hb(e,t,n).pipe(lx(r));const[i,a]=function NSt(e){return it(e.addEventListener)&&it(e.removeEventListener)}(e)?VSt.map(s=>o=>e[s](t,o,n)):function LSt(e){return it(e.addListener)&&it(e.removeListener)}(e)?ESt.map(Q5e(e,t)):function ASt(e){return it(e.on)&&it(e.off)}(e)?DSt.map(Q5e(e,t)):[];if(!i&&Ob(e))return Pn(s=>Hb(s,t,n))(k1(e));if(!i)throw new TypeError("Invalid event target");return new Kt(s=>{const o=(...c)=>s.next(1a(o)})}function Q5e(e,t){return n=>r=>e[n](t,r)}const F3=new Kt(hf),TSt={connector:()=>new A2};function Z5e(e,t=TSt){const{connector:n}=t;return En((r,i)=>{const a=n();k1(e(function kSt(e){return new Kt(t=>e.subscribe(t))}(a))).subscribe(i),i.add(r.subscribe(a))})}class RSt extends N1{constructor(t,n){super()}schedule(t,n=0){return this}}const Sb={setInterval(e,t,...n){const{delegate:r}=Sb;return r?.setInterval?r.setInterval(e,t,...n):setInterval(e,t,...n)},clearInterval(e){const{delegate:t}=Sb;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},K5e={now:()=>(K5e.delegate||Date).now(),delegate:void 0};class Yd{constructor(t,n=Yd.now){this.schedulerActionCtor=t,this.now=n}schedule(t,n=0,r){return new this.schedulerActionCtor(this,t).schedule(r,n)}}Yd.now=K5e.now;const J5e=new class PSt extends Yd{constructor(t,n=Yd.now){super(t,n),this.actions=[],this._active=!1}flush(t){const{actions:n}=this;if(this._active)return void n.push(t);let r;this._active=!0;do{if(r=t.execute(t.state,t.delay))break}while(t=n.shift());if(this._active=!1,r){for(;t=n.shift();)t.unsubscribe();throw r}}}(class OSt extends RSt{constructor(t,n){super(t,n),this.scheduler=t,this.work=n,this.pending=!1}schedule(t,n=0){var r;if(this.closed)return this;this.state=t;const i=this.id,a=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(a,i,n)),this.pending=!0,this.delay=n,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(a,this.id,n),this}requestAsyncId(t,n,r=0){return Sb.setInterval(t.flush.bind(t,this),r)}recycleAsyncId(t,n,r=0){if(null!=r&&this.delay===r&&!1===this.pending)return n;null!=n&&Sb.clearInterval(n)}execute(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const r=this._execute(t,n);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,n){let i,r=!1;try{this.work(t)}catch(a){r=!0,i=a||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:t,scheduler:n}=this,{actions:r}=n;this.work=this.state=this.scheduler=null,this.pending=!1,Yo(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,super.unsubscribe()}}}),$St=J5e;function e7e(e,t){return t?n=>P8(t.pipe($e(1),function BSt(){return En((e,t)=>{e.subscribe(Vn(t,hf))})}()),n.pipe(e7e(e))):Pn((n,r)=>k1(e(n,r)).pipe($e(1),JG(n)))}const Xd="Service workers are disabled or not supported by this browser";class Eb{constructor(t){if(this.serviceWorker=t,t){const r=Hb(t,"controllerchange").pipe(at(()=>t.controller)),a=P8(Dp(()=>ve(t.controller)),r);this.worker=a.pipe(h2(u=>!!u)),this.registration=this.worker.pipe(e2(()=>t.getRegistration()));const l=Hb(t,"message").pipe(at(u=>u.data)).pipe(h2(u=>u&&u.type)).pipe(function FSt(e){return e?t=>Z5e(e)(t):t=>function ISt(e,t){const n=it(e)?e:()=>e;return it(t)?Z5e(t,{connector:n}):r=>new rz(r,n)}(new A2)(t)}());l.connect(),this.events=l}else this.worker=this.events=this.registration=function GSt(e){return Dp(()=>s6(new Error(e)))}(Xd)}postMessage(t,n){return this.worker.pipe($e(1),w1(r=>{r.postMessage({action:t,...n})})).toPromise().then(()=>{})}postMessageWithOperation(t,n,r){const i=this.waitForOperationCompleted(r),a=this.postMessage(t,n);return Promise.all([a,i]).then(([,s])=>s)}generateNonce(){return Math.round(1e7*Math.random())}eventsOfType(t){let n;return n="string"==typeof t?r=>r.type===t:r=>t.includes(r.type),this.events.pipe(h2(n))}nextEventOfType(t){return this.eventsOfType(t).pipe($e(1))}waitForOperationCompleted(t){return this.eventsOfType("OPERATION_COMPLETED").pipe(h2(n=>n.nonce===t),$e(1),at(n=>{if(void 0!==n.result)return n.result;throw new Error(n.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}}let t7e=(()=>{class e{get isEnabled(){return this.sw.isEnabled}constructor(n){if(this.sw=n,this.pushManager=null,this.subscriptionChanges=new A2,!n.isEnabled)return this.messages=F3,this.notificationClicks=F3,void(this.subscription=F3);this.messages=this.sw.eventsOfType("PUSH").pipe(at(i=>i.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(at(i=>i.data)),this.pushManager=this.sw.registration.pipe(at(i=>i.pushManager));const r=this.pushManager.pipe(e2(i=>i.getSubscription()));this.subscription=$b(r,this.subscriptionChanges)}requestSubscription(n){if(!this.sw.isEnabled||null===this.pushManager)return Promise.reject(new Error(Xd));const r={userVisibleOnly:!0};let i=this.decodeBase64(n.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),a=new Uint8Array(new ArrayBuffer(i.length));for(let s=0;ss.subscribe(r)),$e(1)).toPromise().then(s=>(this.subscriptionChanges.next(s),s))}unsubscribe(){return this.sw.isEnabled?this.subscription.pipe($e(1),e2(r=>{if(null===r)throw new Error("Not subscribed to push notifications.");return r.unsubscribe().then(i=>{if(!i)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})})).toPromise():Promise.reject(new Error(Xd))}decodeBase64(n){return atob(n)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Eb))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})(),n7e=(()=>{class e{get isEnabled(){return this.sw.isEnabled}constructor(n){if(this.sw=n,!n.isEnabled)return this.versionUpdates=F3,this.available=F3,this.activated=F3,void(this.unrecoverable=F3);this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY","NO_NEW_VERSION_DETECTED"]),this.available=this.versionUpdates.pipe(h2(r=>"VERSION_READY"===r.type),at(r=>({type:"UPDATE_AVAILABLE",current:r.currentVersion,available:r.latestVersion}))),this.activated=this.sw.eventsOfType("UPDATE_ACTIVATED"),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(Xd));const n=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:n},n)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(Xd));const n=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:n},n)}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Eb))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const r7e=new be("NGSW_REGISTER_SCRIPT");function WSt(e,t,n,r){return()=>{if(!aj(r)||!("serviceWorker"in navigator)||!1===n.enabled)return;let i;if(navigator.serviceWorker.addEventListener("controllerchange",()=>{null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({action:"INITIALIZE"})}),"function"==typeof n.registrationStrategy)i=n.registrationStrategy();else{const[s,...o]=(n.registrationStrategy||"registerWhenStable:30000").split(":");switch(s){case"registerImmediately":i=ve(null);break;case"registerWithDelay":i=i7e(+o[0]||0);break;case"registerWhenStable":i=o[0]?$b(a7e(e),i7e(+o[0])):a7e(e);break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${n.registrationStrategy}`)}}e.get(Ut).runOutsideAngular(()=>i.pipe($e(1)).subscribe(()=>navigator.serviceWorker.register(t,{scope:n.scope}).catch(s=>console.error("Service worker registration failed with:",s))))}}function i7e(e){return ve(null).pipe(function qSt(e,t=J5e){const n=function jSt(e=0,t,n=$St){let r=-1;return null!=t&&(FI(t)?n=t:r=t),new Kt(i=>{let a=function USt(e){return e instanceof Date&&!isNaN(e)}(e)?+e-n.now():e;a<0&&(a=0);let s=0;return n.schedule(function(){i.closed||(i.next(s++),0<=r?this.schedule(void 0,r):i.complete())},a)})}(e,t);return e7e(()=>n)}(e))}function a7e(e){return e.get(o4).isStable.pipe(h2(n=>n))}function YSt(e,t){return new Eb(aj(t)&&!1!==e.enabled?navigator.serviceWorker:void 0)}class gI{}function XSt(e,t={}){return qh([t7e,n7e,{provide:r7e,useValue:e},{provide:gI,useValue:t},{provide:Eb,useFactory:YSt,deps:[gI,Us]},{provide:z9,useFactory:WSt,deps:[c2,r7e,gI,Us],multi:!0}])}let QSt=(()=>{class e{static register(n,r={}){return{ngModule:e,providers:[XSt(n,r)]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e});static#n=this.\u0275inj=k2({providers:[t7e,n7e]})}return e})(),s7e=(()=>{class e extends m6{constructor(){super()}applyApiRequest(n){const r=n.url.split("/")[1],i=Number(n.url.split("/")[2]),a=n.body;null===localStorage.getItem(r)&&localStorage.setItem(r,"[]");const s=this.tableValue(r);if("GET"===n.method&&i){if("goals"===r&&n.url.split("/").length>3){const c=n.url.split("/")[3],l=this.tableValue(c).filter(u=>u.Goal=i);return console.log(l),l}return s.find(c=>c.Id===i)}if("POST"===n.method){const c=JSON.parse(JSON.stringify(a));c.Id=this.nextTableId(r),s.push(c),localStorage.setItem(r,JSON.stringify(s))}if("DELETE"===n.method){const c=s.findIndex(l=>l.Id===i);s.splice(c,1),localStorage.setItem(r,JSON.stringify(s))}if("PUT"===n.method){const c=s.findIndex(l=>l.Id===i);s[c]=a,localStorage.setItem(r,JSON.stringify(s))}return this.tableValue(r)}tableValue(n){return JSON.parse(localStorage.getItem(n))??[]}nextTableId(n){const r=this.tableValue(n);return 0===r.length?1:Math.max(...r.map(i=>i.id))+1}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),KSt=(()=>{class e{constructor(n,r){this.config=n,this.virtualDb=r}intercept(n,r){if(this.config.isCustomServerUrlSet())return r.handle(n);const i=this.virtualDb.applyApiRequest(n);return ve(new f4({status:200,body:{data:i}}))}static#e=this.\u0275fac=function(r){return new(r||e)(xe(Hz),xe(s7e))};static#t=this.\u0275prov=we({token:e,factory:e.\u0275fac})}return e})();const JSt=[g6,Ga,uf,Hz,s7e];let eEt=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=pr({type:e,bootstrap:[SSt]});static#n=this.\u0275inj=k2({providers:[{provide:Oj,useClass:KSt,multi:!0},...JSt],imports:[rj,Mwe,zSt,rze,Qwe,XHe,QSt.register("ngsw-worker.js",{enabled:!0,registrationStrategy:"registerWhenStable:30000"})]})}return e})();Cwe().bootstrapModule(eEt).catch(e=>console.error(e))},220:ff=>{var Qd=/("(?:[^\\"]|\\.)*")|[:,]/g;ff.exports=function(O3,wi){var qo,Kl,Go;return wi=wi||{},qo=JSON.stringify([1],void 0,void 0===wi.indent?2:wi.indent).slice(2,-3),Kl=""===qo?1/0:void 0===wi.maxLength?80:wi.maxLength,Go=wi.replacer,function Jl(v1,P3,df){var $3,fr,Ts,B3,U3,j3,dr,Wo,it,q3,xi,Yo;if(v1&&"function"==typeof v1.toJSON&&(v1=v1.toJSON()),void 0===(xi=JSON.stringify(v1,Go)))return xi;if(xi.length<=(dr=Kl-P3.length-df)&&(it=xi.replace(Qd,function(N1,Zd){return Zd||N1+" "})).length<=dr)return it;if(null!=Go&&(v1=JSON.parse(xi),Go=void 0),"object"==typeof v1&&null!==v1){if(Wo=P3+qo,Ts=[],fr=0,Array.isArray(v1))for(q3="[",$3="]",dr=v1.length;fr0)return[q3,qo+Ts.join(",\n"+Wo),$3].join("\n"+P3)}return xi}(O3,"",0)}}},ff=>{ff(ff.s=659)}]); \ No newline at end of file diff --git a/public/posts/deployments/habit-tracker/client/manifest.webmanifest b/public/posts/deployments/habit-tracker/client/manifest.webmanifest new file mode 100644 index 0000000..95e57bb --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/manifest.webmanifest @@ -0,0 +1,17 @@ +{ + "name": "Habit Tracker", + "short_name": "Habit Tracker", + "theme_color": "#000000", + "background_color": "#000000", + "display": "standalone", + "scope": "./", + "start_url": "./", + "icons": [ + { + "src": "favicon.ico", + "sizes": "72x72", + "type": "image/png", + "purpose": "maskable any" + } + ] +} diff --git a/public/posts/deployments/habit-tracker/client/ngsw-worker.js b/public/posts/deployments/habit-tracker/client/ngsw-worker.js new file mode 100755 index 0000000..0b53424 --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/ngsw-worker.js @@ -0,0 +1,1867 @@ +(() => { + var __defProp = Object.defineProperty; + var __defProps = Object.defineProperties; + var __getOwnPropDescs = Object.getOwnPropertyDescriptors; + var __getOwnPropSymbols = Object.getOwnPropertySymbols; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __propIsEnum = Object.prototype.propertyIsEnumerable; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; + var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; + }; + var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/named-cache-storage.mjs + var NamedCacheStorage = class { + constructor(original, cacheNamePrefix) { + this.original = original; + this.cacheNamePrefix = cacheNamePrefix; + } + delete(cacheName) { + return this.original.delete(`${this.cacheNamePrefix}:${cacheName}`); + } + has(cacheName) { + return this.original.has(`${this.cacheNamePrefix}:${cacheName}`); + } + async keys() { + const prefix = `${this.cacheNamePrefix}:`; + const allCacheNames = await this.original.keys(); + const ownCacheNames = allCacheNames.filter((name) => name.startsWith(prefix)); + return ownCacheNames.map((name) => name.slice(prefix.length)); + } + match(request, options) { + return this.original.match(request, options); + } + async open(cacheName) { + const cache = await this.original.open(`${this.cacheNamePrefix}:${cacheName}`); + return Object.assign(cache, { name: cacheName }); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/adapter.mjs + var Adapter = class { + constructor(scopeUrl, caches) { + this.scopeUrl = scopeUrl; + const parsedScopeUrl = this.parseUrl(this.scopeUrl); + this.origin = parsedScopeUrl.origin; + this.caches = new NamedCacheStorage(caches, `ngsw:${parsedScopeUrl.path}`); + } + newRequest(input, init) { + return new Request(input, init); + } + newResponse(body, init) { + return new Response(body, init); + } + newHeaders(headers) { + return new Headers(headers); + } + isClient(source) { + return source instanceof Client; + } + get time() { + return Date.now(); + } + normalizeUrl(url) { + const parsed = this.parseUrl(url, this.scopeUrl); + return parsed.origin === this.origin ? parsed.path : url; + } + parseUrl(url, relativeTo) { + const parsed = !relativeTo ? new URL(url) : new URL(url, relativeTo); + return { origin: parsed.origin, path: parsed.pathname, search: parsed.search }; + } + timeout(ms) { + return new Promise((resolve) => { + setTimeout(() => resolve(), ms); + }); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/database.mjs + var NotFound = class { + constructor(table, key) { + this.table = table; + this.key = key; + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/db-cache.mjs + var CacheDatabase = class { + constructor(adapter2) { + this.adapter = adapter2; + this.cacheNamePrefix = "db"; + this.tables = /* @__PURE__ */ new Map(); + } + "delete"(name) { + if (this.tables.has(name)) { + this.tables.delete(name); + } + return this.adapter.caches.delete(`${this.cacheNamePrefix}:${name}`); + } + async list() { + const prefix = `${this.cacheNamePrefix}:`; + const allCacheNames = await this.adapter.caches.keys(); + const dbCacheNames = allCacheNames.filter((name) => name.startsWith(prefix)); + return dbCacheNames.map((name) => name.slice(prefix.length)); + } + async open(name, cacheQueryOptions) { + if (!this.tables.has(name)) { + const cache = await this.adapter.caches.open(`${this.cacheNamePrefix}:${name}`); + const table = new CacheTable(name, cache, this.adapter, cacheQueryOptions); + this.tables.set(name, table); + } + return this.tables.get(name); + } + }; + var CacheTable = class { + constructor(name, cache, adapter2, cacheQueryOptions) { + this.name = name; + this.cache = cache; + this.adapter = adapter2; + this.cacheQueryOptions = cacheQueryOptions; + this.cacheName = this.cache.name; + } + request(key) { + return this.adapter.newRequest("/" + key); + } + "delete"(key) { + return this.cache.delete(this.request(key), this.cacheQueryOptions); + } + keys() { + return this.cache.keys().then((requests) => requests.map((req) => req.url.slice(1))); + } + read(key) { + return this.cache.match(this.request(key), this.cacheQueryOptions).then((res) => { + if (res === void 0) { + return Promise.reject(new NotFound(this.name, key)); + } + return res.json(); + }); + } + write(key, value) { + return this.cache.put(this.request(key), this.adapter.newResponse(JSON.stringify(value))); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/api.mjs + var UpdateCacheStatus; + (function(UpdateCacheStatus2) { + UpdateCacheStatus2[UpdateCacheStatus2["NOT_CACHED"] = 0] = "NOT_CACHED"; + UpdateCacheStatus2[UpdateCacheStatus2["CACHED_BUT_UNUSED"] = 1] = "CACHED_BUT_UNUSED"; + UpdateCacheStatus2[UpdateCacheStatus2["CACHED"] = 2] = "CACHED"; + })(UpdateCacheStatus || (UpdateCacheStatus = {})); + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/error.mjs + var SwCriticalError = class extends Error { + constructor() { + super(...arguments); + this.isCritical = true; + } + }; + function errorToString(error) { + if (error instanceof Error) { + return `${error.message} +${error.stack}`; + } else { + return `${error}`; + } + } + var SwUnrecoverableStateError = class extends SwCriticalError { + constructor() { + super(...arguments); + this.isUnrecoverableState = true; + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/sha1.mjs + function sha1(str) { + const utf8 = str; + const words32 = stringToWords32(utf8, Endian.Big); + return _sha1(words32, utf8.length * 8); + } + function sha1Binary(buffer) { + const words32 = arrayBufferToWords32(buffer, Endian.Big); + return _sha1(words32, buffer.byteLength * 8); + } + function _sha1(words32, len) { + const w = []; + let [a, b, c, d, e] = [1732584193, 4023233417, 2562383102, 271733878, 3285377520]; + words32[len >> 5] |= 128 << 24 - len % 32; + words32[(len + 64 >> 9 << 4) + 15] = len; + for (let i = 0; i < words32.length; i += 16) { + const [h0, h1, h2, h3, h4] = [a, b, c, d, e]; + for (let j = 0; j < 80; j++) { + if (j < 16) { + w[j] = words32[i + j]; + } else { + w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1); + } + const [f, k] = fk(j, b, c, d); + const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32); + [e, d, c, b, a] = [d, c, rol32(b, 30), a, temp]; + } + [a, b, c, d, e] = [add32(a, h0), add32(b, h1), add32(c, h2), add32(d, h3), add32(e, h4)]; + } + return byteStringToHexString(words32ToByteString([a, b, c, d, e])); + } + function add32(a, b) { + return add32to64(a, b)[1]; + } + function add32to64(a, b) { + const low = (a & 65535) + (b & 65535); + const high = (a >>> 16) + (b >>> 16) + (low >>> 16); + return [high >>> 16, high << 16 | low & 65535]; + } + function rol32(a, count) { + return a << count | a >>> 32 - count; + } + var Endian; + (function(Endian2) { + Endian2[Endian2["Little"] = 0] = "Little"; + Endian2[Endian2["Big"] = 1] = "Big"; + })(Endian || (Endian = {})); + function fk(index, b, c, d) { + if (index < 20) { + return [b & c | ~b & d, 1518500249]; + } + if (index < 40) { + return [b ^ c ^ d, 1859775393]; + } + if (index < 60) { + return [b & c | b & d | c & d, 2400959708]; + } + return [b ^ c ^ d, 3395469782]; + } + function stringToWords32(str, endian) { + const size = str.length + 3 >>> 2; + const words32 = []; + for (let i = 0; i < size; i++) { + words32[i] = wordAt(str, i * 4, endian); + } + return words32; + } + function arrayBufferToWords32(buffer, endian) { + const size = buffer.byteLength + 3 >>> 2; + const words32 = []; + const view = new Uint8Array(buffer); + for (let i = 0; i < size; i++) { + words32[i] = wordAt(view, i * 4, endian); + } + return words32; + } + function byteAt(str, index) { + if (typeof str === "string") { + return index >= str.length ? 0 : str.charCodeAt(index) & 255; + } else { + return index >= str.byteLength ? 0 : str[index] & 255; + } + } + function wordAt(str, index, endian) { + let word = 0; + if (endian === Endian.Big) { + for (let i = 0; i < 4; i++) { + word += byteAt(str, index + i) << 24 - 8 * i; + } + } else { + for (let i = 0; i < 4; i++) { + word += byteAt(str, index + i) << 8 * i; + } + } + return word; + } + function words32ToByteString(words32) { + return words32.reduce((str, word) => str + word32ToByteString(word), ""); + } + function word32ToByteString(word) { + let str = ""; + for (let i = 0; i < 4; i++) { + str += String.fromCharCode(word >>> 8 * (3 - i) & 255); + } + return str; + } + function byteStringToHexString(str) { + let hex = ""; + for (let i = 0; i < str.length; i++) { + const b = byteAt(str, i); + hex += (b >>> 4).toString(16) + (b & 15).toString(16); + } + return hex.toLowerCase(); + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/assets.mjs + var AssetGroup = class { + constructor(scope2, adapter2, idle, config, hashes, db, cacheNamePrefix) { + this.scope = scope2; + this.adapter = adapter2; + this.idle = idle; + this.config = config; + this.hashes = hashes; + this.db = db; + this.inFlightRequests = /* @__PURE__ */ new Map(); + this.urls = []; + this.patterns = []; + this.name = config.name; + this.urls = config.urls.map((url) => adapter2.normalizeUrl(url)); + this.patterns = config.patterns.map((pattern) => new RegExp(pattern)); + this.cache = adapter2.caches.open(`${cacheNamePrefix}:${config.name}:cache`); + this.metadata = this.db.open(`${cacheNamePrefix}:${config.name}:meta`, config.cacheQueryOptions); + } + async cacheStatus(url) { + const cache = await this.cache; + const meta = await this.metadata; + const req = this.adapter.newRequest(url); + const res = await cache.match(req, this.config.cacheQueryOptions); + if (res === void 0) { + return UpdateCacheStatus.NOT_CACHED; + } + try { + const data = await meta.read(req.url); + if (!data.used) { + return UpdateCacheStatus.CACHED_BUT_UNUSED; + } + } catch (_) { + } + return UpdateCacheStatus.CACHED; + } + async getCacheNames() { + const [cache, metadata] = await Promise.all([ + this.cache, + this.metadata + ]); + return [cache.name, metadata.cacheName]; + } + async handleFetch(req, _event) { + const url = this.adapter.normalizeUrl(req.url); + if (this.urls.indexOf(url) !== -1 || this.patterns.some((pattern) => pattern.test(url))) { + const cache = await this.cache; + let cachedResponse; + try { + cachedResponse = await cache.match(req, this.config.cacheQueryOptions); + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match: ${error}`); + } + if (cachedResponse !== void 0) { + if (this.hashes.has(url)) { + return cachedResponse; + } else { + if (await this.needToRevalidate(req, cachedResponse)) { + this.idle.schedule(`revalidate(${cache.name}): ${req.url}`, async () => { + await this.fetchAndCacheOnce(req); + }); + } + return cachedResponse; + } + } + const res = await this.fetchAndCacheOnce(this.newRequestWithMetadata(req.url, req)); + return res.clone(); + } else { + return null; + } + } + async needToRevalidate(req, res) { + if (res.headers.has("Cache-Control")) { + const cacheControl = res.headers.get("Cache-Control"); + const cacheDirectives = cacheControl.split(",").map((v) => v.trim()).map((v) => v.split("=")); + cacheDirectives.forEach((v) => v[0] = v[0].toLowerCase()); + const maxAgeDirective = cacheDirectives.find((v) => v[0] === "max-age"); + const cacheAge = maxAgeDirective ? maxAgeDirective[1] : void 0; + if (!cacheAge) { + return true; + } + try { + const maxAge = 1e3 * parseInt(cacheAge); + let ts; + try { + const metaTable = await this.metadata; + ts = (await metaTable.read(req.url)).ts; + } catch (e) { + const date = res.headers.get("Date"); + if (date === null) { + return true; + } + ts = Date.parse(date); + } + const age = this.adapter.time - ts; + return age < 0 || age > maxAge; + } catch (e) { + return true; + } + } else if (res.headers.has("Expires")) { + const expiresStr = res.headers.get("Expires"); + try { + return this.adapter.time > Date.parse(expiresStr); + } catch (e) { + return true; + } + } else { + return true; + } + } + async fetchFromCacheOnly(url) { + const cache = await this.cache; + const metaTable = await this.metadata; + const request = this.adapter.newRequest(url); + const response = await cache.match(request, this.config.cacheQueryOptions); + if (response === void 0) { + return null; + } + let metadata = void 0; + try { + metadata = await metaTable.read(request.url); + } catch (e) { + } + return { response, metadata }; + } + async unhashedResources() { + const cache = await this.cache; + return (await cache.keys()).map((request) => this.adapter.normalizeUrl(request.url)).filter((url) => !this.hashes.has(url)); + } + async fetchAndCacheOnce(req, used = true) { + if (this.inFlightRequests.has(req.url)) { + return this.inFlightRequests.get(req.url); + } + const fetchOp = this.fetchFromNetwork(req); + this.inFlightRequests.set(req.url, fetchOp); + try { + const res = await fetchOp; + if (!res.ok) { + throw new Error(`Response not Ok (fetchAndCacheOnce): request for ${req.url} returned response ${res.status} ${res.statusText}`); + } + try { + const cache = await this.cache; + await cache.put(req, res.clone()); + if (!this.hashes.has(this.adapter.normalizeUrl(req.url))) { + const meta = { ts: this.adapter.time, used }; + const metaTable = await this.metadata; + await metaTable.write(req.url, meta); + } + return res; + } catch (err) { + throw new SwCriticalError(`Failed to update the caches for request to '${req.url}' (fetchAndCacheOnce): ${errorToString(err)}`); + } + } finally { + this.inFlightRequests.delete(req.url); + } + } + async fetchFromNetwork(req, redirectLimit = 3) { + const res = await this.cacheBustedFetchFromNetwork(req); + if (res["redirected"] && !!res.url) { + if (redirectLimit === 0) { + throw new SwCriticalError(`Response hit redirect limit (fetchFromNetwork): request redirected too many times, next is ${res.url}`); + } + return this.fetchFromNetwork(this.newRequestWithMetadata(res.url, req), redirectLimit - 1); + } + return res; + } + async cacheBustedFetchFromNetwork(req) { + const url = this.adapter.normalizeUrl(req.url); + if (this.hashes.has(url)) { + const canonicalHash = this.hashes.get(url); + let response = await this.safeFetch(req); + let makeCacheBustedRequest = response.ok; + if (makeCacheBustedRequest) { + const fetchedHash = sha1Binary(await response.clone().arrayBuffer()); + makeCacheBustedRequest = fetchedHash !== canonicalHash; + } + if (makeCacheBustedRequest) { + const cacheBustReq = this.newRequestWithMetadata(this.cacheBust(req.url), req); + response = await this.safeFetch(cacheBustReq); + if (response.ok) { + const cacheBustedHash = sha1Binary(await response.clone().arrayBuffer()); + if (canonicalHash !== cacheBustedHash) { + throw new SwCriticalError(`Hash mismatch (cacheBustedFetchFromNetwork): ${req.url}: expected ${canonicalHash}, got ${cacheBustedHash} (after cache busting)`); + } + } + } + if (!response.ok && response.status === 404) { + throw new SwUnrecoverableStateError(`Failed to retrieve hashed resource from the server. (AssetGroup: ${this.config.name} | URL: ${url})`); + } + return response; + } else { + return this.safeFetch(req); + } + } + async maybeUpdate(updateFrom, req, cache) { + const url = this.adapter.normalizeUrl(req.url); + if (this.hashes.has(url)) { + const hash = this.hashes.get(url); + const res = await updateFrom.lookupResourceWithHash(url, hash); + if (res !== null) { + await cache.put(req, res); + return true; + } + } + return false; + } + newRequestWithMetadata(url, options) { + return this.adapter.newRequest(url, { headers: options.headers }); + } + cacheBust(url) { + return url + (url.indexOf("?") === -1 ? "?" : "&") + "ngsw-cache-bust=" + Math.random(); + } + async safeFetch(req) { + try { + return await this.scope.fetch(req); + } catch (e) { + return this.adapter.newResponse("", { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + }; + var PrefetchAssetGroup = class extends AssetGroup { + async initializeFully(updateFrom) { + const cache = await this.cache; + await this.urls.reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + let alreadyCached = false; + try { + alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match in a PrefetchAssetGroup: ${error}`); + } + if (alreadyCached) { + return; + } + if (updateFrom !== void 0 && await this.maybeUpdate(updateFrom, req, cache)) { + return; + } + await this.fetchAndCacheOnce(req, false); + }, Promise.resolve()); + if (updateFrom !== void 0) { + const metaTable = await this.metadata; + await (await updateFrom.previouslyCachedResources()).filter((url) => this.urls.indexOf(url) !== -1 || this.patterns.some((pattern) => pattern.test(url))).reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + const alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + if (alreadyCached) { + return; + } + const res = await updateFrom.lookupResourceWithoutHash(url); + if (res === null || res.metadata === void 0) { + return; + } + await cache.put(req, res.response); + await metaTable.write(req.url, __spreadProps(__spreadValues({}, res.metadata), { used: false })); + }, Promise.resolve()); + } + } + }; + var LazyAssetGroup = class extends AssetGroup { + async initializeFully(updateFrom) { + if (updateFrom === void 0) { + return; + } + const cache = await this.cache; + await this.urls.reduce(async (previous, url) => { + await previous; + const req = this.adapter.newRequest(url); + let alreadyCached = false; + try { + alreadyCached = await cache.match(req, this.config.cacheQueryOptions) !== void 0; + } catch (error) { + throw new SwCriticalError(`Cache is throwing while looking for a match in a LazyAssetGroup: ${error}`); + } + if (alreadyCached) { + return; + } + const updated = await this.maybeUpdate(updateFrom, req, cache); + if (this.config.updateMode === "prefetch" && !updated) { + const cacheStatus = await updateFrom.recentCacheStatus(url); + if (cacheStatus !== UpdateCacheStatus.CACHED) { + return; + } + await this.fetchAndCacheOnce(req, false); + } + }, Promise.resolve()); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/data.mjs + var LruList = class { + constructor(state) { + if (state === void 0) { + state = { + head: null, + tail: null, + map: {}, + count: 0 + }; + } + this.state = state; + } + get size() { + return this.state.count; + } + pop() { + if (this.state.tail === null) { + return null; + } + const url = this.state.tail; + this.remove(url); + return url; + } + remove(url) { + const node = this.state.map[url]; + if (node === void 0) { + return false; + } + if (this.state.head === url) { + if (node.next === null) { + this.state.head = null; + this.state.tail = null; + this.state.map = {}; + this.state.count = 0; + return true; + } + const next = this.state.map[node.next]; + next.previous = null; + this.state.head = next.url; + node.next = null; + delete this.state.map[url]; + this.state.count--; + return true; + } + const previous = this.state.map[node.previous]; + previous.next = node.next; + if (node.next !== null) { + this.state.map[node.next].previous = node.previous; + } else { + this.state.tail = node.previous; + } + node.next = null; + node.previous = null; + delete this.state.map[url]; + this.state.count--; + return true; + } + accessed(url) { + if (this.state.head === url) { + return; + } + const node = this.state.map[url] || { url, next: null, previous: null }; + if (this.state.map[url] !== void 0) { + this.remove(url); + } + if (this.state.head !== null) { + this.state.map[this.state.head].previous = url; + } + node.next = this.state.head; + this.state.head = url; + if (this.state.tail === null) { + this.state.tail = url; + } + this.state.map[url] = node; + this.state.count++; + } + }; + var DataGroup = class { + constructor(scope2, adapter2, config, db, debugHandler, cacheNamePrefix) { + this.scope = scope2; + this.adapter = adapter2; + this.config = config; + this.db = db; + this.debugHandler = debugHandler; + this._lru = null; + this.patterns = config.patterns.map((pattern) => new RegExp(pattern)); + this.cache = adapter2.caches.open(`${cacheNamePrefix}:${config.name}:cache`); + this.lruTable = this.db.open(`${cacheNamePrefix}:${config.name}:lru`, config.cacheQueryOptions); + this.ageTable = this.db.open(`${cacheNamePrefix}:${config.name}:age`, config.cacheQueryOptions); + } + async lru() { + if (this._lru === null) { + const table = await this.lruTable; + try { + this._lru = new LruList(await table.read("lru")); + } catch (e) { + this._lru = new LruList(); + } + } + return this._lru; + } + async syncLru() { + if (this._lru === null) { + return; + } + const table = await this.lruTable; + try { + return table.write("lru", this._lru.state); + } catch (err) { + this.debugHandler.log(err, `DataGroup(${this.config.name}@${this.config.version}).syncLru()`); + } + } + async handleFetch(req, event) { + if (!this.patterns.some((pattern) => pattern.test(req.url))) { + return null; + } + const lru = await this.lru(); + switch (req.method) { + case "OPTIONS": + return null; + case "GET": + case "HEAD": + switch (this.config.strategy) { + case "freshness": + return this.handleFetchWithFreshness(req, event, lru); + case "performance": + return this.handleFetchWithPerformance(req, event, lru); + default: + throw new Error(`Unknown strategy: ${this.config.strategy}`); + } + default: + const wasCached = lru.remove(req.url); + if (wasCached) { + await this.clearCacheForUrl(req.url); + } + await this.syncLru(); + return this.safeFetch(req); + } + } + async handleFetchWithPerformance(req, event, lru) { + var _a; + const okToCacheOpaque = (_a = this.config.cacheOpaqueResponses) != null ? _a : false; + let res = null; + const fromCache = await this.loadFromCache(req, lru); + if (fromCache !== null) { + res = fromCache.res; + if (this.config.refreshAheadMs !== void 0 && fromCache.age >= this.config.refreshAheadMs) { + event.waitUntil(this.safeCacheResponse(req, this.safeFetch(req), lru, okToCacheOpaque)); + } + } + if (res !== null) { + return res; + } + const [timeoutFetch, networkFetch] = this.networkFetchWithTimeout(req); + res = await timeoutFetch; + if (res === void 0) { + res = this.adapter.newResponse(null, { status: 504, statusText: "Gateway Timeout" }); + event.waitUntil(this.safeCacheResponse(req, networkFetch, lru, okToCacheOpaque)); + } else { + await this.safeCacheResponse(req, res, lru, okToCacheOpaque); + } + return res; + } + async handleFetchWithFreshness(req, event, lru) { + var _a; + const okToCacheOpaque = (_a = this.config.cacheOpaqueResponses) != null ? _a : true; + const [timeoutFetch, networkFetch] = this.networkFetchWithTimeout(req); + let res; + try { + res = await timeoutFetch; + } catch (e) { + res = void 0; + } + if (res === void 0) { + event.waitUntil(this.safeCacheResponse(req, networkFetch, lru, okToCacheOpaque)); + const fromCache = await this.loadFromCache(req, lru); + res = fromCache !== null ? fromCache.res : null; + } else { + await this.safeCacheResponse(req, res, lru, okToCacheOpaque); + } + if (res !== null) { + return res; + } + return networkFetch; + } + networkFetchWithTimeout(req) { + if (this.config.timeoutMs !== void 0) { + const networkFetch = this.scope.fetch(req); + const safeNetworkFetch = (async () => { + try { + return await networkFetch; + } catch (e) { + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + })(); + const networkFetchUndefinedError = (async () => { + try { + return await networkFetch; + } catch (e) { + return void 0; + } + })(); + const timeout = this.adapter.timeout(this.config.timeoutMs); + return [Promise.race([networkFetchUndefinedError, timeout]), safeNetworkFetch]; + } else { + const networkFetch = this.safeFetch(req); + return [networkFetch, networkFetch]; + } + } + async safeCacheResponse(req, resOrPromise, lru, okToCacheOpaque) { + try { + const res = await resOrPromise; + try { + await this.cacheResponse(req, res, lru, okToCacheOpaque); + } catch (err) { + this.debugHandler.log(err, `DataGroup(${this.config.name}@${this.config.version}).safeCacheResponse(${req.url}, status: ${res.status})`); + } + } catch (e) { + } + } + async loadFromCache(req, lru) { + const cache = await this.cache; + let res = await cache.match(req, this.config.cacheQueryOptions); + if (res !== void 0) { + try { + const ageTable = await this.ageTable; + const age = this.adapter.time - (await ageTable.read(req.url)).age; + if (age <= this.config.maxAge) { + lru.accessed(req.url); + return { res, age }; + } + } catch (e) { + } + lru.remove(req.url); + await this.clearCacheForUrl(req.url); + await this.syncLru(); + } + return null; + } + async cacheResponse(req, res, lru, okToCacheOpaque = false) { + if (!(res.ok || okToCacheOpaque && res.type === "opaque")) { + return; + } + if (lru.size >= this.config.maxSize) { + const evictedUrl = lru.pop(); + if (evictedUrl !== null) { + await this.clearCacheForUrl(evictedUrl); + } + } + lru.accessed(req.url); + await (await this.cache).put(req, res.clone()); + const ageTable = await this.ageTable; + await ageTable.write(req.url, { age: this.adapter.time }); + await this.syncLru(); + } + async cleanup() { + await Promise.all([ + this.cache.then((cache) => this.adapter.caches.delete(cache.name)), + this.ageTable.then((table) => this.db.delete(table.name)), + this.lruTable.then((table) => this.db.delete(table.name)) + ]); + } + async getCacheNames() { + const [cache, ageTable, lruTable] = await Promise.all([ + this.cache, + this.ageTable, + this.lruTable + ]); + return [cache.name, ageTable.cacheName, lruTable.cacheName]; + } + async clearCacheForUrl(url) { + const [cache, ageTable] = await Promise.all([this.cache, this.ageTable]); + await Promise.all([ + cache.delete(this.adapter.newRequest(url, { method: "GET" }), this.config.cacheQueryOptions), + cache.delete(this.adapter.newRequest(url, { method: "HEAD" }), this.config.cacheQueryOptions), + ageTable.delete(url) + ]); + } + async safeFetch(req) { + try { + return this.scope.fetch(req); + } catch (e) { + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/app-version.mjs + var BACKWARDS_COMPATIBILITY_NAVIGATION_URLS = [ + { positive: true, regex: "^/.*$" }, + { positive: false, regex: "^/.*\\.[^/]*$" }, + { positive: false, regex: "^/.*__" } + ]; + var AppVersion = class { + get okay() { + return this._okay; + } + constructor(scope2, adapter2, database, idle, debugHandler, manifest, manifestHash) { + this.scope = scope2; + this.adapter = adapter2; + this.database = database; + this.debugHandler = debugHandler; + this.manifest = manifest; + this.manifestHash = manifestHash; + this.hashTable = /* @__PURE__ */ new Map(); + this._okay = true; + this.indexUrl = this.adapter.normalizeUrl(this.manifest.index); + Object.keys(manifest.hashTable).forEach((url) => { + this.hashTable.set(adapter2.normalizeUrl(url), manifest.hashTable[url]); + }); + const assetCacheNamePrefix = `${manifestHash}:assets`; + this.assetGroups = (manifest.assetGroups || []).map((config) => { + switch (config.installMode) { + case "prefetch": + return new PrefetchAssetGroup(scope2, adapter2, idle, config, this.hashTable, database, assetCacheNamePrefix); + case "lazy": + return new LazyAssetGroup(scope2, adapter2, idle, config, this.hashTable, database, assetCacheNamePrefix); + } + }); + this.dataGroups = (manifest.dataGroups || []).map((config) => new DataGroup(scope2, adapter2, config, database, debugHandler, `${config.version}:data`)); + manifest.navigationUrls = manifest.navigationUrls || BACKWARDS_COMPATIBILITY_NAVIGATION_URLS; + const includeUrls = manifest.navigationUrls.filter((spec) => spec.positive); + const excludeUrls = manifest.navigationUrls.filter((spec) => !spec.positive); + this.navigationUrls = { + include: includeUrls.map((spec) => new RegExp(spec.regex)), + exclude: excludeUrls.map((spec) => new RegExp(spec.regex)) + }; + } + async initializeFully(updateFrom) { + try { + await this.assetGroups.reduce(async (previous, group) => { + await previous; + return group.initializeFully(updateFrom); + }, Promise.resolve()); + } catch (err) { + this._okay = false; + throw err; + } + } + async handleFetch(req, event) { + const asset = await this.assetGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.handleFetch(req, event); + }, Promise.resolve(null)); + if (asset !== null) { + return asset; + } + const data = await this.dataGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.handleFetch(req, event); + }, Promise.resolve(null)); + if (data !== null) { + return data; + } + if (this.adapter.normalizeUrl(req.url) !== this.indexUrl && this.isNavigationRequest(req)) { + if (this.manifest.navigationRequestStrategy === "freshness") { + try { + return await this.scope.fetch(req); + } catch (e) { + } + } + return this.handleFetch(this.adapter.newRequest(this.indexUrl), event); + } + return null; + } + isNavigationRequest(req) { + if (req.method !== "GET" || req.mode !== "navigate") { + return false; + } + if (!this.acceptsTextHtml(req)) { + return false; + } + const urlPrefix = this.scope.registration.scope.replace(/\/$/, ""); + const url = req.url.startsWith(urlPrefix) ? req.url.slice(urlPrefix.length) : req.url; + const urlWithoutQueryOrHash = url.replace(/[?#].*$/, ""); + return this.navigationUrls.include.some((regex) => regex.test(urlWithoutQueryOrHash)) && !this.navigationUrls.exclude.some((regex) => regex.test(urlWithoutQueryOrHash)); + } + async lookupResourceWithHash(url, hash) { + if (!this.hashTable.has(url)) { + return null; + } + if (this.hashTable.get(url) !== hash) { + return null; + } + const cacheState = await this.lookupResourceWithoutHash(url); + return cacheState && cacheState.response; + } + lookupResourceWithoutHash(url) { + return this.assetGroups.reduce(async (potentialResponse, group) => { + const resp = await potentialResponse; + if (resp !== null) { + return resp; + } + return group.fetchFromCacheOnly(url); + }, Promise.resolve(null)); + } + previouslyCachedResources() { + return this.assetGroups.reduce(async (resources, group) => (await resources).concat(await group.unhashedResources()), Promise.resolve([])); + } + async recentCacheStatus(url) { + return this.assetGroups.reduce(async (current, group) => { + const status = await current; + if (status === UpdateCacheStatus.CACHED) { + return status; + } + const groupStatus = await group.cacheStatus(url); + if (groupStatus === UpdateCacheStatus.NOT_CACHED) { + return status; + } + return groupStatus; + }, Promise.resolve(UpdateCacheStatus.NOT_CACHED)); + } + async getCacheNames() { + const allGroupCacheNames = await Promise.all([ + ...this.assetGroups.map((group) => group.getCacheNames()), + ...this.dataGroups.map((group) => group.getCacheNames()) + ]); + return [].concat(...allGroupCacheNames); + } + get appData() { + return this.manifest.appData || null; + } + acceptsTextHtml(req) { + const accept = req.headers.get("Accept"); + if (accept === null) { + return false; + } + const values = accept.split(","); + return values.some((value) => value.trim().toLowerCase() === "text/html"); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/debug.mjs + var SW_VERSION = "16.2.12"; + var DEBUG_LOG_BUFFER_SIZE = 100; + var DebugHandler = class { + constructor(driver, adapter2) { + this.driver = driver; + this.adapter = adapter2; + this.debugLogA = []; + this.debugLogB = []; + } + async handleFetch(req) { + const [state, versions, idle] = await Promise.all([ + this.driver.debugState(), + this.driver.debugVersions(), + this.driver.debugIdleState() + ]); + const msgState = `NGSW Debug Info: + +Driver version: ${SW_VERSION} +Driver state: ${state.state} (${state.why}) +Latest manifest hash: ${state.latestHash || "none"} +Last update check: ${this.since(state.lastUpdateCheck)}`; + const msgVersions = versions.map((version) => `=== Version ${version.hash} === + +Clients: ${version.clients.join(", ")}`).join("\n\n"); + const msgIdle = `=== Idle Task Queue === +Last update tick: ${this.since(idle.lastTrigger)} +Last update run: ${this.since(idle.lastRun)} +Task queue: +${idle.queue.map((v) => " * " + v).join("\n")} + +Debug log: +${this.formatDebugLog(this.debugLogB)} +${this.formatDebugLog(this.debugLogA)} +`; + return this.adapter.newResponse(`${msgState} + +${msgVersions} + +${msgIdle}`, { headers: this.adapter.newHeaders({ "Content-Type": "text/plain" }) }); + } + since(time) { + if (time === null) { + return "never"; + } + let age = this.adapter.time - time; + const days = Math.floor(age / 864e5); + age = age % 864e5; + const hours = Math.floor(age / 36e5); + age = age % 36e5; + const minutes = Math.floor(age / 6e4); + age = age % 6e4; + const seconds = Math.floor(age / 1e3); + const millis = age % 1e3; + return (days > 0 ? `${days}d` : "") + (hours > 0 ? `${hours}h` : "") + (minutes > 0 ? `${minutes}m` : "") + (seconds > 0 ? `${seconds}s` : "") + (millis > 0 ? `${millis}u` : ""); + } + log(value, context = "") { + if (this.debugLogA.length === DEBUG_LOG_BUFFER_SIZE) { + this.debugLogB = this.debugLogA; + this.debugLogA = []; + } + if (typeof value !== "string") { + value = this.errorToString(value); + } + this.debugLogA.push({ value, time: this.adapter.time, context }); + } + errorToString(err) { + return `${err.name}(${err.message}, ${err.stack})`; + } + formatDebugLog(log) { + return log.map((entry) => `[${this.since(entry.time)}] ${entry.value} ${entry.context}`).join("\n"); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/idle.mjs + var IdleScheduler = class { + constructor(adapter2, delay, maxDelay, debug) { + this.adapter = adapter2; + this.delay = delay; + this.maxDelay = maxDelay; + this.debug = debug; + this.queue = []; + this.scheduled = null; + this.empty = Promise.resolve(); + this.emptyResolve = null; + this.lastTrigger = null; + this.lastRun = null; + this.oldestScheduledAt = null; + } + async trigger() { + var _a; + this.lastTrigger = this.adapter.time; + if (this.queue.length === 0) { + return; + } + if (this.scheduled !== null) { + this.scheduled.cancel = true; + } + const scheduled = { + cancel: false + }; + this.scheduled = scheduled; + const now = this.adapter.time; + const maxDelay = Math.max(0, ((_a = this.oldestScheduledAt) != null ? _a : now) + this.maxDelay - now); + const delay = Math.min(maxDelay, this.delay); + await this.adapter.timeout(delay); + if (scheduled.cancel) { + return; + } + this.scheduled = null; + await this.execute(); + } + async execute() { + this.lastRun = this.adapter.time; + while (this.queue.length > 0) { + const queue = this.queue; + this.queue = []; + await queue.reduce(async (previous, task) => { + await previous; + try { + await task.run(); + } catch (err) { + this.debug.log(err, `while running idle task ${task.desc}`); + } + }, Promise.resolve()); + } + if (this.emptyResolve !== null) { + this.emptyResolve(); + this.emptyResolve = null; + } + this.empty = Promise.resolve(); + this.oldestScheduledAt = null; + } + schedule(desc, run) { + this.queue.push({ desc, run }); + if (this.emptyResolve === null) { + this.empty = new Promise((resolve) => { + this.emptyResolve = resolve; + }); + } + if (this.oldestScheduledAt === null) { + this.oldestScheduledAt = this.adapter.time; + } + } + get size() { + return this.queue.length; + } + get taskDescriptions() { + return this.queue.map((task) => task.desc); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/manifest.mjs + function hashManifest(manifest) { + return sha1(JSON.stringify(manifest)); + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/msg.mjs + function isMsgCheckForUpdates(msg) { + return msg.action === "CHECK_FOR_UPDATES"; + } + function isMsgActivateUpdate(msg) { + return msg.action === "ACTIVATE_UPDATE"; + } + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/src/driver.mjs + var IDLE_DELAY = 5e3; + var MAX_IDLE_DELAY = 3e4; + var SUPPORTED_CONFIG_VERSION = 1; + var NOTIFICATION_OPTION_NAMES = [ + "actions", + "badge", + "body", + "data", + "dir", + "icon", + "image", + "lang", + "renotify", + "requireInteraction", + "silent", + "tag", + "timestamp", + "title", + "vibrate" + ]; + var DriverReadyState; + (function(DriverReadyState2) { + DriverReadyState2[DriverReadyState2["NORMAL"] = 0] = "NORMAL"; + DriverReadyState2[DriverReadyState2["EXISTING_CLIENTS_ONLY"] = 1] = "EXISTING_CLIENTS_ONLY"; + DriverReadyState2[DriverReadyState2["SAFE_MODE"] = 2] = "SAFE_MODE"; + })(DriverReadyState || (DriverReadyState = {})); + var Driver = class { + constructor(scope2, adapter2, db) { + this.scope = scope2; + this.adapter = adapter2; + this.db = db; + this.state = DriverReadyState.NORMAL; + this.stateMessage = "(nominal)"; + this.initialized = null; + this.clientVersionMap = /* @__PURE__ */ new Map(); + this.versions = /* @__PURE__ */ new Map(); + this.latestHash = null; + this.lastUpdateCheck = null; + this.scheduledNavUpdateCheck = false; + this.loggedInvalidOnlyIfCachedRequest = false; + this.controlTable = this.db.open("control"); + this.ngswStatePath = this.adapter.parseUrl("ngsw/state", this.scope.registration.scope).path; + this.scope.addEventListener("install", (event) => { + event.waitUntil(this.scope.skipWaiting()); + }); + this.scope.addEventListener("activate", (event) => { + event.waitUntil((async () => { + await this.scope.clients.claim(); + this.idle.schedule("activate: cleanup-old-sw-caches", async () => { + try { + await this.cleanupOldSwCaches(); + } catch (err) { + this.debugger.log(err, "cleanupOldSwCaches @ activate: cleanup-old-sw-caches"); + } + }); + })()); + if (this.scope.registration.active !== null) { + this.scope.registration.active.postMessage({ action: "INITIALIZE" }); + } + }); + this.scope.addEventListener("fetch", (event) => this.onFetch(event)); + this.scope.addEventListener("message", (event) => this.onMessage(event)); + this.scope.addEventListener("push", (event) => this.onPush(event)); + this.scope.addEventListener("notificationclick", (event) => this.onClick(event)); + this.debugger = new DebugHandler(this, this.adapter); + this.idle = new IdleScheduler(this.adapter, IDLE_DELAY, MAX_IDLE_DELAY, this.debugger); + } + onFetch(event) { + const req = event.request; + const scopeUrl = this.scope.registration.scope; + const requestUrlObj = this.adapter.parseUrl(req.url, scopeUrl); + if (req.headers.has("ngsw-bypass") || /[?&]ngsw-bypass(?:[=&]|$)/i.test(requestUrlObj.search)) { + return; + } + if (requestUrlObj.path === this.ngswStatePath) { + event.respondWith(this.debugger.handleFetch(req)); + return; + } + if (this.state === DriverReadyState.SAFE_MODE) { + event.waitUntil(this.idle.trigger()); + return; + } + if (requestUrlObj.origin.startsWith("http:") && scopeUrl.startsWith("https:")) { + this.debugger.log(`Ignoring passive mixed content request: Driver.fetch(${req.url})`); + return; + } + if (req.cache === "only-if-cached" && req.mode !== "same-origin") { + if (!this.loggedInvalidOnlyIfCachedRequest) { + this.loggedInvalidOnlyIfCachedRequest = true; + this.debugger.log(`Ignoring invalid request: 'only-if-cached' can be set only with 'same-origin' mode`, `Driver.fetch(${req.url}, cache: ${req.cache}, mode: ${req.mode})`); + } + return; + } + event.respondWith(this.handleFetch(event)); + } + onMessage(event) { + if (this.state === DriverReadyState.SAFE_MODE) { + return; + } + const data = event.data; + if (!data || !data.action) { + return; + } + event.waitUntil((async () => { + if (data.action === "INITIALIZE") { + return this.ensureInitialized(event); + } + if (!this.adapter.isClient(event.source)) { + return; + } + await this.ensureInitialized(event); + await this.handleMessage(data, event.source); + })()); + } + onPush(msg) { + if (!msg.data) { + return; + } + msg.waitUntil(this.handlePush(msg.data.json())); + } + onClick(event) { + event.waitUntil(this.handleClick(event.notification, event.action)); + } + async ensureInitialized(event) { + if (this.initialized !== null) { + return this.initialized; + } + try { + this.initialized = this.initialize(); + await this.initialized; + } catch (error) { + this.state = DriverReadyState.SAFE_MODE; + this.stateMessage = `Initialization failed due to error: ${errorToString(error)}`; + throw error; + } finally { + event.waitUntil(this.idle.trigger()); + } + } + async handleMessage(msg, from) { + if (isMsgCheckForUpdates(msg)) { + const action = this.checkForUpdate(); + await this.completeOperation(from, action, msg.nonce); + } else if (isMsgActivateUpdate(msg)) { + const action = this.updateClient(from); + await this.completeOperation(from, action, msg.nonce); + } + } + async handlePush(data) { + await this.broadcast({ + type: "PUSH", + data + }); + if (!data.notification || !data.notification.title) { + return; + } + const desc = data.notification; + let options = {}; + NOTIFICATION_OPTION_NAMES.filter((name) => desc.hasOwnProperty(name)).forEach((name) => options[name] = desc[name]); + await this.scope.registration.showNotification(desc["title"], options); + } + async handleClick(notification, action) { + var _a, _b, _c; + notification.close(); + const options = {}; + NOTIFICATION_OPTION_NAMES.filter((name) => name in notification).forEach((name) => options[name] = notification[name]); + const notificationAction = action === "" || action === void 0 ? "default" : action; + const onActionClick = (_b = (_a = notification == null ? void 0 : notification.data) == null ? void 0 : _a.onActionClick) == null ? void 0 : _b[notificationAction]; + const urlToOpen = new URL((_c = onActionClick == null ? void 0 : onActionClick.url) != null ? _c : "", this.scope.registration.scope).href; + switch (onActionClick == null ? void 0 : onActionClick.operation) { + case "openWindow": + await this.scope.clients.openWindow(urlToOpen); + break; + case "focusLastFocusedOrOpen": { + let matchingClient = await this.getLastFocusedMatchingClient(this.scope); + if (matchingClient) { + await (matchingClient == null ? void 0 : matchingClient.focus()); + } else { + await this.scope.clients.openWindow(urlToOpen); + } + break; + } + case "navigateLastFocusedOrOpen": { + let matchingClient = await this.getLastFocusedMatchingClient(this.scope); + if (matchingClient) { + matchingClient = await matchingClient.navigate(urlToOpen); + await (matchingClient == null ? void 0 : matchingClient.focus()); + } else { + await this.scope.clients.openWindow(urlToOpen); + } + break; + } + case "sendRequest": { + await this.scope.fetch(urlToOpen); + break; + } + default: + break; + } + await this.broadcast({ + type: "NOTIFICATION_CLICK", + data: { action, notification: options } + }); + } + async getLastFocusedMatchingClient(scope2) { + const windowClients = await scope2.clients.matchAll({ type: "window" }); + return windowClients[0]; + } + async completeOperation(client, promise, nonce) { + const response = { type: "OPERATION_COMPLETED", nonce }; + try { + client.postMessage(__spreadProps(__spreadValues({}, response), { + result: await promise + })); + } catch (e) { + client.postMessage(__spreadProps(__spreadValues({}, response), { + error: e.toString() + })); + } + } + async updateClient(client) { + const existing = this.clientVersionMap.get(client.id); + if (existing === this.latestHash) { + return false; + } + let previous = void 0; + if (existing !== void 0) { + const existingVersion = this.versions.get(existing); + previous = this.mergeHashWithAppData(existingVersion.manifest, existing); + } + this.clientVersionMap.set(client.id, this.latestHash); + await this.sync(); + const current = this.versions.get(this.latestHash); + const notice = { + type: "UPDATE_ACTIVATED", + previous, + current: this.mergeHashWithAppData(current.manifest, this.latestHash) + }; + client.postMessage(notice); + return true; + } + async handleFetch(event) { + try { + await this.ensureInitialized(event); + } catch (e) { + return this.safeFetch(event.request); + } + if (event.request.mode === "navigate" && !this.scheduledNavUpdateCheck) { + this.scheduledNavUpdateCheck = true; + this.idle.schedule("check-updates-on-navigation", async () => { + this.scheduledNavUpdateCheck = false; + await this.checkForUpdate(); + }); + } + const appVersion = await this.assignVersion(event); + let res = null; + try { + if (appVersion !== null) { + try { + res = await appVersion.handleFetch(event.request, event); + } catch (err) { + if (err.isUnrecoverableState) { + await this.notifyClientsAboutUnrecoverableState(appVersion, err.message); + } + if (err.isCritical) { + this.debugger.log(err, `Driver.handleFetch(version: ${appVersion.manifestHash})`); + await this.versionFailed(appVersion, err); + return this.safeFetch(event.request); + } + throw err; + } + } + if (res === null) { + return this.safeFetch(event.request); + } + return res; + } finally { + event.waitUntil(this.idle.trigger()); + } + } + async initialize() { + const table = await this.controlTable; + let manifests, assignments, latest; + try { + [manifests, assignments, latest] = await Promise.all([ + table.read("manifests"), + table.read("assignments"), + table.read("latest") + ]); + if (!this.versions.has(latest.latest) && !manifests.hasOwnProperty(latest.latest)) { + this.debugger.log(`Missing manifest for latest version hash ${latest.latest}`, "initialize: read from DB"); + throw new Error(`Missing manifest for latest hash ${latest.latest}`); + } + this.idle.schedule("init post-load (update)", async () => { + await this.checkForUpdate(); + }); + } catch (_) { + const manifest = await this.fetchLatestManifest(); + const hash = hashManifest(manifest); + manifests = { [hash]: manifest }; + assignments = {}; + latest = { latest: hash }; + await Promise.all([ + table.write("manifests", manifests), + table.write("assignments", assignments), + table.write("latest", latest) + ]); + } + this.idle.schedule("init post-load (cleanup)", async () => { + await this.cleanupCaches(); + }); + Object.keys(manifests).forEach((hash) => { + const manifest = manifests[hash]; + if (!this.versions.has(hash)) { + this.versions.set(hash, new AppVersion(this.scope, this.adapter, this.db, this.idle, this.debugger, manifest, hash)); + } + }); + Object.keys(assignments).forEach((clientId) => { + const hash = assignments[clientId]; + if (this.versions.has(hash)) { + this.clientVersionMap.set(clientId, hash); + } else { + this.clientVersionMap.set(clientId, latest.latest); + this.debugger.log(`Unknown version ${hash} mapped for client ${clientId}, using latest instead`, `initialize: map assignments`); + } + }); + this.latestHash = latest.latest; + if (!this.versions.has(latest.latest)) { + throw new Error(`Invariant violated (initialize): latest hash ${latest.latest} has no known manifest`); + } + await Promise.all(Object.keys(manifests).map(async (hash) => { + try { + await this.scheduleInitialization(this.versions.get(hash)); + } catch (err) { + this.debugger.log(err, `initialize: schedule init of ${hash}`); + return false; + } + })); + } + lookupVersionByHash(hash, debugName = "lookupVersionByHash") { + if (!this.versions.has(hash)) { + throw new Error(`Invariant violated (${debugName}): want AppVersion for ${hash} but not loaded`); + } + return this.versions.get(hash); + } + async assignVersion(event) { + const clientId = event.resultingClientId || event.clientId; + if (clientId) { + if (this.clientVersionMap.has(clientId)) { + const hash = this.clientVersionMap.get(clientId); + let appVersion = this.lookupVersionByHash(hash, "assignVersion"); + if (this.state === DriverReadyState.NORMAL && hash !== this.latestHash && appVersion.isNavigationRequest(event.request)) { + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + const client = await this.scope.clients.get(clientId); + if (client) { + await this.updateClient(client); + } + appVersion = this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + return appVersion; + } else { + if (this.state !== DriverReadyState.NORMAL) { + return null; + } + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + this.clientVersionMap.set(clientId, this.latestHash); + await this.sync(); + return this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + } else { + if (this.state !== DriverReadyState.NORMAL) { + return null; + } + if (this.latestHash === null) { + throw new Error(`Invariant violated (assignVersion): latestHash was null`); + } + return this.lookupVersionByHash(this.latestHash, "assignVersion"); + } + } + async fetchLatestManifest(ignoreOfflineError = false) { + const res = await this.safeFetch(this.adapter.newRequest("ngsw.json?ngsw-cache-bust=" + Math.random())); + if (!res.ok) { + if (res.status === 404) { + await this.deleteAllCaches(); + await this.scope.registration.unregister(); + } else if ((res.status === 503 || res.status === 504) && ignoreOfflineError) { + return null; + } + throw new Error(`Manifest fetch failed! (status: ${res.status})`); + } + this.lastUpdateCheck = this.adapter.time; + return res.json(); + } + async deleteAllCaches() { + const cacheNames = await this.adapter.caches.keys(); + await Promise.all(cacheNames.map((name) => this.adapter.caches.delete(name))); + } + async scheduleInitialization(appVersion) { + const initialize = async () => { + try { + await appVersion.initializeFully(); + } catch (err) { + this.debugger.log(err, `initializeFully for ${appVersion.manifestHash}`); + await this.versionFailed(appVersion, err); + } + }; + if (this.scope.registration.scope.indexOf("://localhost") > -1) { + return initialize(); + } + this.idle.schedule(`initialization(${appVersion.manifestHash})`, initialize); + } + async versionFailed(appVersion, err) { + const broken = Array.from(this.versions.entries()).find(([hash, version]) => version === appVersion); + if (broken === void 0) { + return; + } + const brokenHash = broken[0]; + if (this.latestHash === brokenHash) { + this.state = DriverReadyState.EXISTING_CLIENTS_ONLY; + this.stateMessage = `Degraded due to: ${errorToString(err)}`; + } + } + async setupUpdate(manifest, hash) { + try { + const newVersion = new AppVersion(this.scope, this.adapter, this.db, this.idle, this.debugger, manifest, hash); + if (manifest.configVersion !== SUPPORTED_CONFIG_VERSION) { + await this.deleteAllCaches(); + await this.scope.registration.unregister(); + throw new Error(`Invalid config version: expected ${SUPPORTED_CONFIG_VERSION}, got ${manifest.configVersion}.`); + } + await newVersion.initializeFully(this); + this.versions.set(hash, newVersion); + this.latestHash = hash; + if (this.state === DriverReadyState.EXISTING_CLIENTS_ONLY) { + this.state = DriverReadyState.NORMAL; + this.stateMessage = "(nominal)"; + } + await this.sync(); + await this.notifyClientsAboutVersionReady(manifest, hash); + } catch (e) { + await this.notifyClientsAboutVersionInstallationFailed(manifest, hash, e); + throw e; + } + } + async checkForUpdate() { + let hash = "(unknown)"; + try { + const manifest = await this.fetchLatestManifest(true); + if (manifest === null) { + this.debugger.log("Check for update aborted. (Client or server offline.)"); + return false; + } + hash = hashManifest(manifest); + if (this.versions.has(hash)) { + await this.notifyClientsAboutNoNewVersionDetected(manifest, hash); + return false; + } + await this.notifyClientsAboutVersionDetected(manifest, hash); + await this.setupUpdate(manifest, hash); + return true; + } catch (err) { + this.debugger.log(err, `Error occurred while updating to manifest ${hash}`); + this.state = DriverReadyState.EXISTING_CLIENTS_ONLY; + this.stateMessage = `Degraded due to failed initialization: ${errorToString(err)}`; + return false; + } + } + async sync() { + const table = await this.controlTable; + const manifests = {}; + this.versions.forEach((version, hash) => { + manifests[hash] = version.manifest; + }); + const assignments = {}; + this.clientVersionMap.forEach((hash, clientId) => { + assignments[clientId] = hash; + }); + const latest = { + latest: this.latestHash + }; + await Promise.all([ + table.write("manifests", manifests), + table.write("assignments", assignments), + table.write("latest", latest) + ]); + } + async cleanupCaches() { + try { + const activeClients = new Set((await this.scope.clients.matchAll()).map((client) => client.id)); + const knownClients = Array.from(this.clientVersionMap.keys()); + const obsoleteClients = knownClients.filter((id) => !activeClients.has(id)); + obsoleteClients.forEach((id) => this.clientVersionMap.delete(id)); + const usedVersions = new Set(this.clientVersionMap.values()); + const obsoleteVersions = Array.from(this.versions.keys()).filter((version) => !usedVersions.has(version) && version !== this.latestHash); + obsoleteVersions.forEach((version) => this.versions.delete(version)); + await this.sync(); + const allCaches = await this.adapter.caches.keys(); + const usedCaches = new Set(await this.getCacheNames()); + const cachesToDelete = allCaches.filter((name) => !usedCaches.has(name)); + await Promise.all(cachesToDelete.map((name) => this.adapter.caches.delete(name))); + } catch (err) { + this.debugger.log(err, "cleanupCaches"); + } + } + async cleanupOldSwCaches() { + const caches = this.adapter.caches.original; + const cacheNames = await caches.keys(); + const oldSwCacheNames = cacheNames.filter((name) => /^ngsw:(?!\/)/.test(name)); + await Promise.all(oldSwCacheNames.map((name) => caches.delete(name))); + } + lookupResourceWithHash(url, hash) { + return Array.from(this.versions.values()).reduce(async (prev, version) => { + if (await prev !== null) { + return prev; + } + return version.lookupResourceWithHash(url, hash); + }, Promise.resolve(null)); + } + async lookupResourceWithoutHash(url) { + await this.initialized; + const version = this.versions.get(this.latestHash); + return version ? version.lookupResourceWithoutHash(url) : null; + } + async previouslyCachedResources() { + await this.initialized; + const version = this.versions.get(this.latestHash); + return version ? version.previouslyCachedResources() : []; + } + async recentCacheStatus(url) { + const version = this.versions.get(this.latestHash); + return version ? version.recentCacheStatus(url) : UpdateCacheStatus.NOT_CACHED; + } + mergeHashWithAppData(manifest, hash) { + return { + hash, + appData: manifest.appData + }; + } + async notifyClientsAboutUnrecoverableState(appVersion, reason) { + const broken = Array.from(this.versions.entries()).find(([hash, version]) => version === appVersion); + if (broken === void 0) { + return; + } + const brokenHash = broken[0]; + const affectedClients = Array.from(this.clientVersionMap.entries()).filter(([clientId, hash]) => hash === brokenHash).map(([clientId]) => clientId); + await Promise.all(affectedClients.map(async (clientId) => { + const client = await this.scope.clients.get(clientId); + if (client) { + client.postMessage({ type: "UNRECOVERABLE_STATE", reason }); + } + })); + } + async notifyClientsAboutVersionInstallationFailed(manifest, hash, error) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + client.postMessage({ + type: "VERSION_INSTALLATION_FAILED", + version: this.mergeHashWithAppData(manifest, hash), + error: errorToString(error) + }); + })); + } + async notifyClientsAboutNoNewVersionDetected(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + client.postMessage({ type: "NO_NEW_VERSION_DETECTED", version: this.mergeHashWithAppData(manifest, hash) }); + })); + } + async notifyClientsAboutVersionDetected(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + const version = this.clientVersionMap.get(client.id); + if (version === void 0) { + return; + } + client.postMessage({ type: "VERSION_DETECTED", version: this.mergeHashWithAppData(manifest, hash) }); + })); + } + async notifyClientsAboutVersionReady(manifest, hash) { + await this.initialized; + const clients = await this.scope.clients.matchAll(); + await Promise.all(clients.map(async (client) => { + const version = this.clientVersionMap.get(client.id); + if (version === void 0) { + return; + } + if (version === this.latestHash) { + return; + } + const current = this.versions.get(version); + const notice = { + type: "VERSION_READY", + currentVersion: this.mergeHashWithAppData(current.manifest, version), + latestVersion: this.mergeHashWithAppData(manifest, hash) + }; + client.postMessage(notice); + })); + } + async broadcast(msg) { + const clients = await this.scope.clients.matchAll(); + clients.forEach((client) => { + client.postMessage(msg); + }); + } + async debugState() { + return { + state: DriverReadyState[this.state], + why: this.stateMessage, + latestHash: this.latestHash, + lastUpdateCheck: this.lastUpdateCheck + }; + } + async debugVersions() { + return Array.from(this.versions.keys()).map((hash) => { + const version = this.versions.get(hash); + const clients = Array.from(this.clientVersionMap.entries()).filter(([clientId, version2]) => version2 === hash).map(([clientId, version2]) => clientId); + return { + hash, + manifest: version.manifest, + clients, + status: "" + }; + }); + } + async debugIdleState() { + return { + queue: this.idle.taskDescriptions, + lastTrigger: this.idle.lastTrigger, + lastRun: this.idle.lastRun + }; + } + async safeFetch(req) { + try { + return await this.scope.fetch(req); + } catch (err) { + this.debugger.log(err, `Driver.fetch(${req.url})`); + return this.adapter.newResponse(null, { + status: 504, + statusText: "Gateway Timeout" + }); + } + } + async getCacheNames() { + const controlTable = await this.controlTable; + const appVersions = Array.from(this.versions.values()); + const appVersionCacheNames = await Promise.all(appVersions.map((version) => version.getCacheNames())); + return [controlTable.cacheName].concat(...appVersionCacheNames); + } + }; + + // bazel-out/darwin_arm64-fastbuild-ST-2e5f3376adb5/bin/packages/service-worker/worker/main.mjs + var scope = self; + var adapter = new Adapter(scope.registration.scope, self.caches); + new Driver(scope, adapter, new CacheDatabase(adapter)); +})(); +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ diff --git a/public/posts/deployments/habit-tracker/client/ngsw.json b/public/posts/deployments/habit-tracker/client/ngsw.json new file mode 100644 index 0000000..43a7588 --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/ngsw.json @@ -0,0 +1,64 @@ +{ + "configVersion": 1, + "timestamp": 1709385386431, + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "updateMode": "prefetch", + "cacheQueryOptions": { + "ignoreVary": true + }, + "urls": [ + "/favicon.ico", + "/index.html", + "/main.a33890116ab21dc2.js", + "/manifest.webmanifest", + "/polyfills.c68645566a7d5979.js", + "/runtime.016ad7340ffc7b80.js", + "/styles.cba5acfa60ad7143.css" + ], + "patterns": [] + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "cacheQueryOptions": { + "ignoreVary": true + }, + "urls": [], + "patterns": [] + } + ], + "dataGroups": [], + "hashTable": { + "/favicon.ico": "b18622719928e30e7b6feac8db2571ace3bb1b8c", + "/index.html": "7db253c8268ad0ce9032c3255209adc4148bd64c", + "/main.a33890116ab21dc2.js": "f2c4a01d3efbb04c9ce55836c9c47b2d4642656e", + "/manifest.webmanifest": "5739c38e6dbe3391b278615ca5886e8b4e0ad8af", + "/polyfills.c68645566a7d5979.js": "32b06cc2ce1c9b691b405e502ec244baa258420d", + "/runtime.016ad7340ffc7b80.js": "0d90373a387300553e72efe38e61a23eecea7746", + "/styles.cba5acfa60ad7143.css": "0dba408a3f53ad3b76b0ff2977e5fe7f66b819e5" + }, + "navigationUrls": [ + { + "positive": true, + "regex": "^\\/.*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*\\.[^/]*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*$" + }, + { + "positive": false, + "regex": "^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$" + } + ], + "navigationRequestStrategy": "performance" +} \ No newline at end of file diff --git a/public/posts/deployments/habit-tracker/client/polyfills.c68645566a7d5979.js b/public/posts/deployments/habit-tracker/client/polyfills.c68645566a7d5979.js new file mode 100644 index 0000000..4d59e3a --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/polyfills.c68645566a7d5979.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkclient=self.webpackChunkclient||[]).push([[429],{594:()=>{!function(e){const n=e.performance;function i(L){n&&n.mark&&n.mark(L)}function o(L,T){n&&n.measure&&n.measure(L,T)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(L){return c+L}const y=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(y||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class L{static#e=this.__symbol__=a;static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=L.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&y)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,L,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=E;C&&t._transitionTo(E,A),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(A,E):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,E,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(A,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new p(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new p(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new p(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||J).name+"; Execution: "+this.name+")");if(t.state===A||t.state===E){t._transitionTo(G,A,E);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;CL.hasTask(t,r),onScheduleTask:(L,T,t,r)=>L.scheduleTask(t,r),onInvokeTask:(L,T,t,r,k,C)=>L.invokeTask(t,r,k,C),onCancelTask:(L,T,t,r)=>L.cancelTask(t,r)};class v{constructor(T,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=T,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=T,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(T,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,T,t):new d(T,t)}intercept(T,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,T,t,r):t}invoke(T,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,T,t,r,k,C):t.apply(r,k)}handleError(T,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,T,t)}scheduleTask(T,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,T,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(T,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,T,t,r,k):t.callback.apply(r,k)}cancelTask(T,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,T,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(T,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,T,t)}catch(r){this.handleError(T,r)}}_updateTaskCount(T,t){const r=this._taskCounts,k=r[T],C=r[T]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:T})}}class p{constructor(T,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=T,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=T===Q&&k&&k.useG?p.invokeTask:function(){return p.invokeTask.call(e,l,this,arguments)}}static invokeTask(T,t,r){T||(T=this),ee++;try{return T.runCount++,T.zone.runTask(T,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(T,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${T}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=T,T==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const M=a("setTimeout"),O=a("Promise"),N=a("then");let K,B=[],H=!1;function q(L){if(K||e[O]&&(K=e[O].resolve(0)),K){let T=K[N];T||(T=K.then),T.call(K,L)}else e[M](L,0)}function R(L){0===ee&&0===B.length&&q(_),L&&B.push(L)}function _(){if(!H){for(H=!0;B.length;){const L=B;B=[];for(let T=0;TU,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ue=Object.getOwnPropertyDescriptor,pe=Object.defineProperty,ve=Object.getPrototypeOf,Se=Object.create,it=Array.prototype.slice,Ze="addEventListener",De="removeEventListener",Oe=Zone.__symbol__(Ze),Ne=Zone.__symbol__(De),ie="true",ce="false",me=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const j=Zone.__symbol__,be=typeof window<"u",_e=be?window:void 0,Y=be&&_e||"object"==typeof self&&self||global,ct="removeAttribute";function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Ve(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Fe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),Ae=!Pe&&!Fe&&!(!be||!_e.HTMLElement),Be=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Fe&&!(!be||!_e.HTMLElement),we={},Ue=function(e){if(!(e=e||Y.event))return;let n=we[e.type];n||(n=we[e.type]=j("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;return Ae&&i===_e&&"error"===e.type?(c=o&&o.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let o=ue(e,n);if(!o&&i&&ue(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=j("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,y=o.set,d=n.slice(2);let b=we[d];b||(b=we[d]=j("ON_PROPERTY"+d)),o.set=function(v){let p=this;!p&&e===Y&&(p=Y),p&&("function"==typeof p[b]&&p.removeEventListener(d,Ue),y&&y.call(p,null),p[b]=v,"function"==typeof v&&p.addEventListener(d,Ue,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const p=v[b];if(p)return p;if(a){let M=a.call(this);if(M)return o.set.call(this,M),"function"==typeof v[ct]&&v.removeAttribute(n),M}return null},pe(e,n,o),e[c]=!0}function qe(e,n,i){if(n)for(let o=0;ofunction(y,d){const b=i(y,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(y,d)})}function le(e,n){e[j("OriginalDelegate")]=n}let Xe=!1,je=!1;function ft(){if(Xe)return je;Xe=!0;try{const e=_e.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,y=i.symbol,d=[],b=!0===e[y("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=y("Promise"),p=y("then"),M="__creationTrace__";i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const O=y("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[O];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function K(l){return t.reject(l)}const q=y("state"),R=y("value"),_=y("finally"),J=y("parentPromiseValue"),x=y("parentPromiseState"),X="Promise.then",A=null,E=!0,G=!1,h=0;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const P=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}},Q="Promise resolved with itself",oe=y("currentTaskTrace");function z(l,u,s){const f=P();if(l===s)throw new TypeError(Q);if(l[q]===A){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==A)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===E&&(l[q]=l[x],l[R]=l[J]),u===G&&s instanceof Error){const m=n.currentTask&&n.currentTask.data&&n.currentTask.data[M];m&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:m})}for(let m=0;m{try{const S=l[R],Z=!!s&&_===s[_];Z&&(s[J]=S,s[x]=w);const D=u.run(m,void 0,Z&&m!==K&&m!==H?[]:[S]);z(s,!0,D)}catch(S){z(s,!1,S)}},s)}const L=function(){},T=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),E,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new T([],"All promises were rejected"));const s=[];let f=0;try{for(let m of u)f++,s.push(t.resolve(m))}catch{return Promise.reject(new T([],"All promises were rejected"))}if(0===f)return Promise.reject(new T([],"All promises were rejected"));let g=!1;const w=[];return new t((m,S)=>{for(let Z=0;Z{g||(g=!0,m(D))},D=>{w.push(D),f--,0===f&&(g=!0,S(new T(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((S,Z)=>{s=S,f=Z});function w(S){s(S)}function m(S){f(S)}for(let S of u)B(S)||(S=this.resolve(S)),S.then(w,m);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((D,V)=>{f=D,g=V}),m=2,S=0;const Z=[];for(let D of u){B(D)||(D=this.resolve(D));const V=S;try{D.then(F=>{Z[V]=s?s.thenCallback(F):F,m--,0===m&&f(Z)},F=>{s?(Z[V]=s.errorCallback(F),m--,0===m&&f(Z)):g(F)})}catch(F){g(F)}m++,S++}return m-=2,0===m&&f(Z),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=A,s[R]=[];try{const f=P();u&&u(f(I(s,E)),f(I(s,G)))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor?.[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(L),w=n.current;return this[q]==A?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor?.[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(L);f[_]=_;const g=n.current;return this[q]==A?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=y("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[p]=f,l.prototype.then=function(g,w){return new t((S,Z)=>{f.call(this,S,Z)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),ae(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=j("OriginalDelegate"),o=j("Promise"),c=j("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const p=e[o];if(p)return n.call(p)}if(this===Error){const p=e[c];if(p)return n.call(p)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const y=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":y.call(this)}});let Ee=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){Ee=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{Ee=!1}const ht={useG:!0},te={},ze={},Ye=new RegExp("^"+me+"(\\w+)(true|false)$"),$e=j("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ce,o=(n?n(e):e)+ie,c=me+i,a=me+o;te[e]={},te[e][ce]=c,te[e][ie]=a}function dt(e,n,i,o){const c=o&&o.add||Ze,a=o&&o.rm||De,y=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=j(c),v="."+c+":",p="prependListener",M="."+p+":",O=function(R,_,J){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=E=>x.handleEvent(E),R.originalDelegate=x);try{R.invoke(R,_,[J])}catch(E){X=E}const A=R.options;return A&&"object"==typeof A&&A.once&&_[a].call(_,J.type,R.originalDelegate?R.originalDelegate:R.callback,A),X};function N(R,_,J){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][J?ie:ce]];if(X){const A=[];if(1===X.length){const E=O(X[0],x,_);E&&A.push(E)}else{const E=X.slice();for(let G=0;G{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function K(R,_){if(!R)return!1;let J=!0;_&&void 0!==_.useG&&(J=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let A=!1;_&&void 0!==_.rt&&(A=_.rt);let E=R;for(;E&&!E.hasOwnProperty(c);)E=ve(E);if(!E&&R[c]&&(E=R),!E||E[b])return!1;const G=_&&_.eventNameToString,h={},I=E[b]=E[c],P=E[j(a)]=E[a],Q=E[j(y)]=E[y],oe=E[j(d)]=E[d];let z;_&&_.prepend&&(z=E[j(_.prepend)]=E[_.prepend]);const t=J?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=J?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ie:ce]);const w=g&&s.target[g];if(w)for(let m=0;mfunction(c,a){c[$e]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const y=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(p){const M=`${i}.${o}::`+p,O=b.prototype;try{if(O.hasOwnProperty(p)){const N=e.ObjectGetOwnPropertyDescriptor(O,p);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,M),e._redefineProperty(b.prototype,p,N)):O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}else O[p]&&(O[p]=e.wrapWithCurrentZone(O[p],M))}catch{}}),y.call(n,d,b,v)},e.attachOriginToPatched(n[o],y)}function Qe(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function et(e,n,i,o){e&&qe(e,Qe(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=qe,i.patchMethod=ae,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=pe,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Se,i.ArraySlice=it,i.patchClass=ge,i.wrapWithCurrentZone=Ie,i.filterProperties=Qe,i.attachOriginToPatched=le,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:ze,zoneSymbolEventNames:te,eventNames:o,isBrowser:Ae,isMix:Be,isNode:Pe,TRUE_STR:ie,FALSE_STR:ce,ZONE_SYMBOL_PREFIX:me,ADD_EVENT_LISTENER_STR:Ze,REMOVE_EVENT_LISTENER_STR:De})});const Re=j("zoneTask");function Te(e,n,i,o){let c=null,a=null;i+=o;const y={};function d(v){const p=v.data;return p.args[0]=function(){return v.invoke.apply(this,arguments)},p.handleId=c.apply(e,p.args),v}function b(v){return a.call(e,v.data.handleId)}c=ae(e,n+=o,v=>function(p,M){if("function"==typeof M[0]){const O={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?M[1]||0:void 0,args:M},N=M[0];M[0]=function(){try{return N.apply(this,arguments)}finally{O.isPeriodic||("number"==typeof O.handleId?delete y[O.handleId]:O.handleId&&(O.handleId[Re]=null))}};const B=Me(n,M[0],O,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?y[H]=B:H&&(H[Re]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,M)}),a=ae(e,i,v=>function(p,M){const O=M[0];let N;"number"==typeof O?N=y[O]:(N=O&&O[Re],N||(N=O)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof O?delete y[O]:O&&(O[Re]=null),N.zone.cancelTask(N)):v.apply(e,M)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Te(e,n,i,"Timeout"),Te(e,n,i,"Interval"),Te(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Te(e,"request","cancel","AnimationFrame"),Te(e,"mozRequest","mozCancel","AnimationFrame"),Te(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;ofunction(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function gt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:y}=n.getGlobalObjects();for(let b=0;b{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ge("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(Pe&&!Be||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(Ae){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=_e.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];et(c,He(c),i&&i.concat(a),ve(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c{!function pt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const p=v.XMLHttpRequest;if(!p)return;const M=p.prototype;let N=M[Oe],B=M[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Oe],B=I[Ne]}}const H="readystatechange",K="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Oe],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===K){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;Wfunction(h,I){return h[o]=0==I[2],h[y]=I[1],J.apply(h,I)}),X=j("fetchTaskAborting"),A=j("fetchTaskScheduling"),E=ae(M,"send",()=>function(h,I){if(!0===n.current[A]||h[o])return E.apply(h,I);{const P={target:h,url:h[y],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===K&&Q.invoke()}}),G=ae(M,"abort",()=>function(h,I){const P=function O(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=j("xhrTask"),o=j("xhrSync"),c=j("xhrListener"),a=j("xhrScheduled"),y=j("xhrURL"),d=j("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return le(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Ke(e,o).forEach(y=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});y.invoke(b)}})}}e.PromiseRejectionEvent&&(n[j("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[j("rejectionHandledHandler")]=i("rejectionhandled"))}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{!function yt(e,n){n.patchMethod(e,"queueMicrotask",i=>function(o,c){Zone.current.scheduleMicroTask("queueMicrotask",c[0])})}(e,i)})}},ue=>{ue(ue.s=594)}]); \ No newline at end of file diff --git a/public/posts/deployments/habit-tracker/client/runtime.016ad7340ffc7b80.js b/public/posts/deployments/habit-tracker/client/runtime.016ad7340ffc7b80.js new file mode 100644 index 0000000..926be92 --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/runtime.016ad7340ffc7b80.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,s={},d={};function a(e){var n=d[e];if(void 0!==n)return n.exports;var r=d[e]={exports:{}};return s[e](r,r.exports,a),r.exports}a.m=s,e=[],a.O=(n,r,o,l)=>{if(!r){var c=1/0;for(t=0;t=l)&&Object.keys(a.O).every(p=>a.O[p](r[f]))?r.splice(f--,1):(i=!1,l0&&e[t-1][2]>l;t--)e[t]=e[t-1];e[t]=[r,o,l]},a.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return a.d(n,{a:n}),n},a.d=(e,n)=>{for(var r in n)a.o(n,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),a.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={666:0};a.O.j=o=>0===e[o];var n=(o,l)=>{var f,u,[t,c,i]=l,v=0;if(t.some(_=>0!==e[_])){for(f in c)a.o(c,f)&&(a.m[f]=c[f]);if(i)var b=i(a)}for(o&&o(l);v { + self.skipWaiting(); +}); + +self.addEventListener('activate', event => { + event.waitUntil(self.clients.claim()); + + event.waitUntil(self.registration.unregister().then(() => { + console.log('NGSW Safety Worker - unregistered old service worker'); + })); + + event.waitUntil(caches.keys().then(cacheNames => { + const ngswCacheNames = cacheNames.filter(name => /^ngsw:/.test(name)); + return Promise.all(ngswCacheNames.map(name => caches.delete(name))); + })); +}); diff --git a/public/posts/deployments/habit-tracker/client/styles.cba5acfa60ad7143.css b/public/posts/deployments/habit-tracker/client/styles.cba5acfa60ad7143.css new file mode 100644 index 0000000..f6b2a89 --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/styles.cba5acfa60ad7143.css @@ -0,0 +1 @@ +html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:16px;font-weight:400;line-height:1.5;-webkit-text-size-adjust:100%;background:#fff;color:#666}body{margin:0}a,.uk-link{color:#1e87f0;text-decoration:none;cursor:pointer}a:hover,.uk-link:hover,.uk-link-toggle:hover .uk-link{color:#0f6ecd;text-decoration:underline}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-style:dotted}b,strong{font-weight:bolder}:not(pre)>code,:not(pre)>kbd,:not(pre)>samp{font-family:Consolas,monaco,monospace;font-size:.875rem;color:#f0506e;white-space:nowrap;padding:2px 6px;background:#f8f8f8}em{color:#f0506e}ins{background:#ffd;color:#666;text-decoration:none}mark{background:#ffd;color:#666}q{font-style:italic}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}audio,canvas,iframe,img,svg,video{vertical-align:middle}canvas,img,svg,video{max-width:100%;height:auto;box-sizing:border-box}img:not([src]){visibility:hidden;min-width:1px}iframe{border:0}p,ul,ol,dl,pre,address,fieldset,figure{margin:0 0 20px}*+p,*+ul,*+ol,*+dl,*+pre,*+address,*+fieldset,*+figure{margin-top:20px}h1,.uk-h1,h2,.uk-h2,h3,.uk-h3,h4,.uk-h4,h5,.uk-h5,h6,.uk-h6,.uk-heading-small,.uk-heading-medium,.uk-heading-large,.uk-heading-xlarge,.uk-heading-2xlarge,.uk-heading-3xlarge{margin:0 0 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-weight:400;color:#333;text-transform:none}*+h1,*+.uk-h1,*+h2,*+.uk-h2,*+h3,*+.uk-h3,*+h4,*+.uk-h4,*+h5,*+.uk-h5,*+h6,*+.uk-h6,*+.uk-heading-small,*+.uk-heading-medium,*+.uk-heading-large,*+.uk-heading-xlarge,*+.uk-heading-2xlarge,*+.uk-heading-3xlarge{margin-top:40px}h1,.uk-h1{font-size:2.23125rem;line-height:1.2}h2,.uk-h2{font-size:1.7rem;line-height:1.3}h3,.uk-h3{font-size:1.5rem;line-height:1.4}h4,.uk-h4{font-size:1.25rem;line-height:1.4}h5,.uk-h5{font-size:16px;line-height:1.4}h6,.uk-h6{font-size:.875rem;line-height:1.4}@media (min-width: 960px){h1,.uk-h1{font-size:2.625rem}h2,.uk-h2{font-size:2rem}}ul,ol{padding-left:30px}ul>li>ul,ul>li>ol,ol>li>ol,ol>li>ul{margin:0}dt{font-weight:700}dd{margin-left:0}hr,.uk-hr{overflow:visible;text-align:inherit;margin:0 0 20px;border:0;border-top:1px solid #e5e5e5}*+hr,*+.uk-hr{margin-top:20px}address{font-style:normal}blockquote{margin:0 0 20px;font-size:1.25rem;line-height:1.5;font-style:italic;color:#333}*+blockquote{margin-top:20px}blockquote p:last-of-type{margin-bottom:0}blockquote footer{margin-top:10px;font-size:.875rem;line-height:1.5;color:#666}blockquote footer:before{content:"\2014 "}pre{font:.875rem/1.5 Consolas,monaco,monospace;color:#666;tab-size:4;overflow:auto;padding:10px;border:1px solid #e5e5e5;border-radius:3px;background:#fff}pre code{font-family:Consolas,monaco,monospace}:focus{outline:none}:focus-visible{outline:2px dotted #333}::selection{background:#39f;color:#fff;text-shadow:none}details,main{display:block}summary{display:list-item}template{display:none}:root{--uk-breakpoint-s: 640px;--uk-breakpoint-m: 960px;--uk-breakpoint-l: 1200px;--uk-breakpoint-xl: 1600px}a.uk-link-muted,.uk-link-muted a,.uk-link-toggle .uk-link-muted{color:#999}a.uk-link-muted:hover,.uk-link-muted a:hover,.uk-link-toggle:hover .uk-link-muted{color:#666}a.uk-link-text,.uk-link-text a,.uk-link-toggle .uk-link-text{color:inherit}a.uk-link-text:hover,.uk-link-text a:hover,.uk-link-toggle:hover .uk-link-text{color:#999}a.uk-link-heading,.uk-link-heading a,.uk-link-toggle .uk-link-heading{color:inherit}a.uk-link-heading:hover,.uk-link-heading a:hover,.uk-link-toggle:hover .uk-link-heading{color:#1e87f0;text-decoration:none}a.uk-link-reset,.uk-link-reset a,.uk-link-toggle{color:inherit!important;text-decoration:none!important}.uk-heading-small{font-size:2.6rem;line-height:1.2}.uk-heading-medium{font-size:2.8875rem;line-height:1.1}.uk-heading-large{font-size:3.4rem;line-height:1.1}.uk-heading-xlarge{font-size:4rem;line-height:1}.uk-heading-2xlarge{font-size:6rem;line-height:1}.uk-heading-3xlarge{font-size:8rem;line-height:1}@media (min-width: 960px){.uk-heading-small{font-size:3.25rem}.uk-heading-medium{font-size:3.5rem}.uk-heading-large{font-size:4rem}.uk-heading-xlarge{font-size:6rem}.uk-heading-2xlarge{font-size:8rem}.uk-heading-3xlarge{font-size:11rem}}@media (min-width: 1200px){.uk-heading-medium{font-size:4rem}.uk-heading-large{font-size:6rem}.uk-heading-xlarge{font-size:8rem}.uk-heading-2xlarge{font-size:11rem}.uk-heading-3xlarge{font-size:15rem}}.uk-heading-divider{padding-bottom:calc(5px + .1em);border-bottom:calc(.2px + .05em) solid #e5e5e5}.uk-heading-bullet{position:relative}.uk-heading-bullet:before{content:"";display:inline-block;position:relative;top:-.1em;vertical-align:middle;height:calc(4px + .7em);margin-right:calc(5px + .2em);border-left:calc(5px + .1em) solid #e5e5e5}.uk-heading-line{overflow:hidden}.uk-heading-line>*{display:inline-block;position:relative}.uk-heading-line>:before,.uk-heading-line>:after{content:"";position:absolute;top:calc(50% - ((.2px + .05em)/2));width:2000px;border-bottom:calc(.2px + .05em) solid #e5e5e5}.uk-heading-line>:before{right:100%;margin-right:calc(5px + .3em)}.uk-heading-line>:after{left:100%;margin-left:calc(5px + .3em)}[class*=uk-divider]{border:none;margin-bottom:20px}*+[class*=uk-divider]{margin-top:20px}.uk-divider-icon{position:relative;height:20px;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A);background-repeat:no-repeat;background-position:50% 50%}.uk-divider-icon:before,.uk-divider-icon:after{content:"";position:absolute;top:50%;max-width:calc(50% - 25px);border-bottom:1px solid #e5e5e5}.uk-divider-icon:before{right:calc(50% + 25px);width:100%}.uk-divider-icon:after{left:calc(50% + 25px);width:100%}.uk-divider-small{line-height:0}.uk-divider-small:after{content:"";display:inline-block;width:100px;max-width:100%;border-top:1px solid #e5e5e5;vertical-align:top}.uk-divider-vertical{width:max-content;height:100px;margin-left:auto;margin-right:auto;border-left:1px solid #e5e5e5}.uk-list{padding:0;list-style:none}.uk-list>*{break-inside:avoid-column}.uk-list>*>:last-child{margin-bottom:0}.uk-list>:nth-child(n+2),.uk-list>*>ul{margin-top:10px}.uk-list-disc>*,.uk-list-circle>*,.uk-list-square>*,.uk-list-decimal>*,.uk-list-hyphen>*{padding-left:30px}.uk-list-decimal{counter-reset:decimal}.uk-list-decimal>*{counter-increment:decimal}.uk-list-disc>:before,.uk-list-circle>:before,.uk-list-square>:before,.uk-list-decimal>:before,.uk-list-hyphen>:before{content:"";position:relative;left:-30px;width:30px;height:1.5em;margin-bottom:-1.5em;display:list-item;list-style-position:inside;text-align:right}.uk-list-disc>:before{list-style-type:disc}.uk-list-circle>:before{list-style-type:circle}.uk-list-square>:before{list-style-type:square}.uk-list-decimal>:before{content:counter(decimal,decimal) "\200a.\a0"}.uk-list-hyphen>:before{content:"\2013\a0\a0"}.uk-list-muted>:before{color:#999!important}.uk-list-emphasis>:before{color:#333!important}.uk-list-primary>:before{color:#1e87f0!important}.uk-list-secondary>:before{color:#222!important}.uk-list-bullet>*{padding-left:30px}.uk-list-bullet>:before{content:"";display:list-item;position:relative;left:-30px;width:30px;height:1.5em;margin-bottom:-1.5em;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:50% 50%}.uk-list-divider>:nth-child(n+2){margin-top:10px;padding-top:10px;border-top:1px solid #e5e5e5}.uk-list-striped>*{padding:10px}.uk-list-striped>*:nth-of-type(odd){border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.uk-list-striped>:nth-of-type(odd){background:#f8f8f8}.uk-list-striped>:nth-child(n+2){margin-top:0}.uk-list-large>:nth-child(n+2),.uk-list-large>*>ul{margin-top:20px}.uk-list-collapse>:nth-child(n+2),.uk-list-collapse>*>ul{margin-top:0}.uk-list-large.uk-list-divider>:nth-child(n+2){margin-top:20px;padding-top:20px}.uk-list-collapse.uk-list-divider>:nth-child(n+2){margin-top:0;padding-top:0}.uk-list-large.uk-list-striped>*{padding:20px 10px}.uk-list-collapse.uk-list-striped>*{padding-top:0;padding-bottom:0}.uk-list-large.uk-list-striped>:nth-child(n+2),.uk-list-collapse.uk-list-striped>:nth-child(n+2){margin-top:0}.uk-description-list>dt{color:#333;font-size:.875rem;font-weight:400;text-transform:uppercase}.uk-description-list>dt:nth-child(n+2){margin-top:20px}.uk-description-list-divider>dt:nth-child(n+2){margin-top:20px;padding-top:20px;border-top:1px solid #e5e5e5}.uk-table{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:20px}*+.uk-table{margin-top:20px}.uk-table th{padding:16px 12px;text-align:left;vertical-align:bottom;font-size:.875rem;font-weight:400;color:#999;text-transform:uppercase}.uk-table td{padding:16px 12px;vertical-align:top}.uk-table td>:last-child{margin-bottom:0}.uk-table tfoot{font-size:.875rem}.uk-table caption{font-size:.875rem;text-align:left;color:#999}.uk-table-middle,.uk-table-middle td{vertical-align:middle!important}.uk-table-divider>tr:not(:first-child),.uk-table-divider>:not(:first-child)>tr,.uk-table-divider>:first-child>tr:not(:first-child){border-top:1px solid #e5e5e5}.uk-table-striped>tr:nth-of-type(odd),.uk-table-striped tbody tr:nth-of-type(odd){background:#f8f8f8;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}.uk-table-hover>tr:hover,.uk-table-hover tbody tr:hover{background:#ffd}.uk-table>tr.uk-active,.uk-table tbody tr.uk-active{background:#ffd}.uk-table-small th,.uk-table-small td{padding:10px 12px}.uk-table-large th,.uk-table-large td{padding:22px 12px}.uk-table-justify th:first-child,.uk-table-justify td:first-child{padding-left:0}.uk-table-justify th:last-child,.uk-table-justify td:last-child{padding-right:0}.uk-table-shrink{width:1px}.uk-table-expand{min-width:150px}.uk-table-link{padding:0!important}.uk-table-link>a{display:block;padding:16px 12px}.uk-table-small .uk-table-link>a{padding:10px 12px}@media (max-width: 959px){.uk-table-responsive,.uk-table-responsive tbody,.uk-table-responsive th,.uk-table-responsive td,.uk-table-responsive tr{display:block}.uk-table-responsive thead{display:none}.uk-table-responsive th,.uk-table-responsive td{width:auto!important;max-width:none!important;min-width:0!important;overflow:visible!important;white-space:normal!important}.uk-table-responsive th:not(:first-child):not(.uk-table-link),.uk-table-responsive td:not(:first-child):not(.uk-table-link),.uk-table-responsive .uk-table-link:not(:first-child)>a{padding-top:5px!important}.uk-table-responsive th:not(:last-child):not(.uk-table-link),.uk-table-responsive td:not(:last-child):not(.uk-table-link),.uk-table-responsive .uk-table-link:not(:last-child)>a{padding-bottom:5px!important}.uk-table-justify.uk-table-responsive th,.uk-table-justify.uk-table-responsive td{padding-left:0;padding-right:0}}.uk-table tbody tr{transition:background-color .1s linear}.uk-table-striped>tr:nth-of-type(2n):last-child,.uk-table-striped tbody tr:nth-of-type(2n):last-child{border-bottom:1px solid #e5e5e5}.uk-icon{margin:0;border:none;border-radius:0;overflow:visible;font:inherit;color:inherit;text-transform:none;padding:0;background-color:transparent;display:inline-block;fill:currentcolor;line-height:0}button.uk-icon:not(:disabled){cursor:pointer}.uk-icon::-moz-focus-inner{border:0;padding:0}.uk-icon:not(.uk-preserve) [fill*="#"]:not(.uk-preserve){fill:currentcolor}.uk-icon:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve){stroke:currentcolor}.uk-icon>*{transform:translate(0)}.uk-icon-image{width:20px;height:20px;background-position:50% 50%;background-repeat:no-repeat;background-size:contain;vertical-align:middle;object-fit:scale-down;max-width:none}.uk-icon-link{color:#999;text-decoration:none!important}.uk-icon-link:hover{color:#666}.uk-icon-link:active,.uk-active>.uk-icon-link{color:#595959}.uk-icon-button{box-sizing:border-box;width:36px;height:36px;border-radius:500px;background:#f8f8f8;color:#999;vertical-align:middle;display:inline-flex;justify-content:center;align-items:center;transition:.1s ease-in-out;transition-property:color,background-color}.uk-icon-button:hover{background-color:#ebebeb;color:#666}.uk-icon-button:active,.uk-active>.uk-icon-button{background-color:#dfdfdf;color:#666}.uk-range{-webkit-appearance:none;box-sizing:border-box;margin:0;vertical-align:middle;max-width:100%;width:100%;background:transparent}.uk-range:focus{outline:none}.uk-range::-moz-focus-outer{border:none}.uk-range:not(:disabled)::-webkit-slider-thumb{cursor:pointer}.uk-range:not(:disabled)::-moz-range-thumb{cursor:pointer}.uk-range::-webkit-slider-runnable-track{height:3px;background:#ebebeb;border-radius:500px}.uk-range:focus::-webkit-slider-runnable-track,.uk-range:active::-webkit-slider-runnable-track{background:#dedede}.uk-range::-moz-range-track{height:3px;background:#ebebeb;border-radius:500px}.uk-range:focus::-moz-range-track{background:#dedede}.uk-range::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-7px;height:15px;width:15px;border-radius:500px;background:#fff;border:1px solid #cccccc}.uk-range::-moz-range-thumb{border:none;height:15px;width:15px;margin-top:-7px;border-radius:500px;background:#fff;border:1px solid #cccccc}.uk-input,.uk-select,.uk-textarea,.uk-radio,.uk-checkbox{box-sizing:border-box;margin:0;border-radius:0;font:inherit}.uk-input{overflow:visible}.uk-select{text-transform:none}.uk-select optgroup{font:inherit;font-weight:700}.uk-textarea{overflow:auto}.uk-input[type=search]::-webkit-search-cancel-button,.uk-input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.uk-input[type=number]::-webkit-inner-spin-button,.uk-input[type=number]::-webkit-outer-spin-button{height:auto}.uk-input::-moz-placeholder,.uk-textarea::-moz-placeholder{opacity:1}.uk-radio:not(:disabled),.uk-checkbox:not(:disabled){cursor:pointer}.uk-fieldset{border:none;margin:0;padding:0;min-width:0}.uk-input,.uk-textarea{-webkit-appearance:none}.uk-input,.uk-select,.uk-textarea{max-width:100%;width:100%;border:0 none;padding:0 10px;background:#fff;color:#666;border:1px solid #e5e5e5;transition:.2s ease-in-out;transition-property:color,background-color,border}.uk-input,.uk-select:not([multiple]):not([size]){height:40px;vertical-align:middle;display:inline-block}.uk-input:not(input),.uk-select:not(select){line-height:38px}.uk-select[multiple],.uk-select[size],.uk-textarea{padding-top:6px;padding-bottom:6px;vertical-align:top}.uk-select[multiple],.uk-select[size]{resize:vertical}.uk-input:focus,.uk-select:focus,.uk-textarea:focus{outline:none;background-color:#fff;color:#666;border-color:#1e87f0}.uk-input:disabled,.uk-select:disabled,.uk-textarea:disabled{background-color:#f8f8f8;color:#999;border-color:#e5e5e5}.uk-input::placeholder{color:#999}.uk-textarea::placeholder{color:#999}.uk-form-small{font-size:.875rem}.uk-form-small:not(textarea):not([multiple]):not([size]){height:30px;padding-left:8px;padding-right:8px}textarea.uk-form-small,[multiple].uk-form-small,[size].uk-form-small{padding:5px 8px}.uk-form-small:not(select):not(input):not(textarea){line-height:28px}.uk-form-large{font-size:1.25rem}.uk-form-large:not(textarea):not([multiple]):not([size]){height:55px;padding-left:12px;padding-right:12px}textarea.uk-form-large,[multiple].uk-form-large,[size].uk-form-large{padding:7px 12px}.uk-form-large:not(select):not(input):not(textarea){line-height:53px}.uk-form-danger,.uk-form-danger:focus{color:#f0506e;border-color:#f0506e}.uk-form-success,.uk-form-success:focus{color:#32d296;border-color:#32d296}.uk-form-blank{background:none;border-color:transparent}.uk-form-blank:focus{border-color:#e5e5e5;border-style:solid}input.uk-form-width-xsmall{width:50px}select.uk-form-width-xsmall{width:75px}.uk-form-width-small{width:130px}.uk-form-width-medium{width:200px}.uk-form-width-large{width:500px}.uk-select:not([multiple]):not([size]){-webkit-appearance:none;-moz-appearance:none;padding-right:20px;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A);background-repeat:no-repeat;background-position:100% 50%}.uk-select:not([multiple]):not([size]) option{color:#666}.uk-select:not([multiple]):not([size]):disabled{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-input[list]{padding-right:20px;background-repeat:no-repeat;background-position:100% 50%}.uk-input[list]:hover,.uk-input[list]:focus{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-input[list]::-webkit-calendar-picker-indicator{display:none!important}.uk-radio,.uk-checkbox{display:inline-block;height:16px;width:16px;overflow:hidden;margin-top:-4px;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;background-repeat:no-repeat;background-position:50% 50%;border:1px solid #cccccc;transition:.2s ease-in-out;transition-property:background-color,border}.uk-radio{border-radius:50%}.uk-radio:focus,.uk-checkbox:focus{background-color:#0000;outline:none;border-color:#1e87f0}.uk-radio:checked,.uk-checkbox:checked,.uk-checkbox:indeterminate{background-color:#1e87f0;border-color:transparent}.uk-radio:checked:focus,.uk-checkbox:checked:focus,.uk-checkbox:indeterminate:focus{background-color:#0e6dcd}.uk-radio:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-checkbox:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-checkbox:indeterminate{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-radio:disabled,.uk-checkbox:disabled{background-color:#f8f8f8;border-color:#e5e5e5}.uk-radio:disabled:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-checkbox:disabled:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-checkbox:disabled:indeterminate{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-legend{width:100%;color:inherit;padding:0;font-size:1.5rem;line-height:1.4}.uk-form-custom{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-form-custom select,.uk-form-custom input[type=file]{position:absolute;top:0;z-index:1;width:100%;height:100%;left:0;-webkit-appearance:none;opacity:0;cursor:pointer}.uk-form-custom input[type=file]{font-size:500px;overflow:hidden}.uk-form-label{color:#333;font-size:.875rem}.uk-form-stacked .uk-form-label{display:block;margin-bottom:5px}@media (max-width: 959px){.uk-form-horizontal .uk-form-label{display:block;margin-bottom:5px}}@media (min-width: 960px){.uk-form-horizontal .uk-form-label{width:200px;margin-top:7px;float:left}.uk-form-horizontal .uk-form-controls{margin-left:215px}.uk-form-horizontal .uk-form-controls-text{padding-top:7px}}.uk-form-icon{position:absolute;top:0;bottom:0;left:0;width:40px;display:inline-flex;justify-content:center;align-items:center;color:#999}.uk-form-icon:hover{color:#666}.uk-form-icon:not(a):not(button):not(input){pointer-events:none}.uk-form-icon:not(.uk-form-icon-flip)~.uk-input{padding-left:40px!important}.uk-form-icon-flip{right:0;left:auto}.uk-form-icon-flip~.uk-input{padding-right:40px!important}.uk-button{margin:0;border:none;overflow:visible;font:inherit;color:inherit;text-transform:none;-webkit-appearance:none;border-radius:0;display:inline-block;box-sizing:border-box;padding:0 30px;vertical-align:middle;font-size:.875rem;line-height:38px;text-align:center;text-decoration:none;text-transform:uppercase;transition:.1s ease-in-out;transition-property:color,background-color,border-color}.uk-button:not(:disabled){cursor:pointer}.uk-button::-moz-focus-inner{border:0;padding:0}.uk-button:hover{text-decoration:none}.uk-button-default{background-color:transparent;color:#333;border:1px solid #e5e5e5}.uk-button-default:hover{background-color:transparent;color:#333;border-color:#b2b2b2}.uk-button-default:active,.uk-button-default.uk-active{background-color:transparent;color:#333;border-color:#999}.uk-button-primary{background-color:#1e87f0;color:#fff;border:1px solid transparent}.uk-button-primary:hover{background-color:#0f7ae5;color:#fff}.uk-button-primary:active,.uk-button-primary.uk-active{background-color:#0e6dcd;color:#fff}.uk-button-secondary{background-color:#222;color:#fff;border:1px solid transparent}.uk-button-secondary:hover{background-color:#151515;color:#fff}.uk-button-secondary:active,.uk-button-secondary.uk-active{background-color:#080808;color:#fff}.uk-button-danger{background-color:#f0506e;color:#fff;border:1px solid transparent}.uk-button-danger:hover{background-color:#ee395b;color:#fff}.uk-button-danger:active,.uk-button-danger.uk-active{background-color:#ec2147;color:#fff}.uk-button-default:disabled,.uk-button-primary:disabled,.uk-button-secondary:disabled,.uk-button-danger:disabled{background-color:transparent;color:#999;border-color:#e5e5e5}.uk-button-small{padding:0 15px;line-height:28px;font-size:.875rem}.uk-button-large{padding:0 40px;line-height:53px;font-size:.875rem}.uk-button-text{padding:0;line-height:1.5;background:none;color:#333;position:relative}.uk-button-text:before{content:"";position:absolute;bottom:0;left:0;right:100%;border-bottom:1px solid currentColor;transition:right .3s ease-out}.uk-button-text:hover{color:#333}.uk-button-text:hover:before{right:0}.uk-button-text:disabled{color:#999}.uk-button-text:disabled:before{display:none}.uk-button-link{padding:0;line-height:1.5;background:none;color:#333}.uk-button-link:hover{color:#999;text-decoration:none}.uk-button-link:disabled{color:#999;text-decoration:none}.uk-button-group{display:inline-flex;vertical-align:middle;position:relative}.uk-button-group>.uk-button:nth-child(n+2),.uk-button-group>div:nth-child(n+2) .uk-button{margin-left:-1px}.uk-button-group .uk-button:hover,.uk-button-group .uk-button:focus,.uk-button-group .uk-button:active,.uk-button-group .uk-button.uk-active{position:relative;z-index:1}.uk-progress{vertical-align:baseline;display:block;width:100%;border:0;background-color:#f8f8f8;margin-bottom:20px;height:15px;border-radius:500px;overflow:hidden}*+.uk-progress{margin-top:20px}.uk-progress::-webkit-progress-bar{background-color:transparent}.uk-progress::-webkit-progress-value{background-color:#1e87f0;-webkit-transition:width .6s ease;transition:width .6s ease}.uk-progress::-moz-progress-bar{background-color:#1e87f0;-moz-transition:width .6s ease;transition:width .6s ease}.uk-section{display:flow-root;box-sizing:border-box;padding-top:40px;padding-bottom:40px}@media (min-width: 960px){.uk-section{padding-top:70px;padding-bottom:70px}}.uk-section>:last-child{margin-bottom:0}.uk-section-xsmall{padding-top:20px;padding-bottom:20px}.uk-section-small{padding-top:40px;padding-bottom:40px}.uk-section-large{padding-top:70px;padding-bottom:70px}@media (min-width: 960px){.uk-section-large{padding-top:140px;padding-bottom:140px}}.uk-section-xlarge{padding-top:140px;padding-bottom:140px}@media (min-width: 960px){.uk-section-xlarge{padding-top:210px;padding-bottom:210px}}.uk-section-default{background:#fff;--uk-navbar-color: dark}.uk-section-muted{background:#f8f8f8;--uk-navbar-color: dark}.uk-section-primary{background:#1e87f0;--uk-navbar-color: light}.uk-section-secondary{background:#222;--uk-navbar-color: light}.uk-container{display:flow-root;box-sizing:content-box;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width: 640px){.uk-container{padding-left:30px;padding-right:30px}}@media (min-width: 960px){.uk-container{padding-left:40px;padding-right:40px}}.uk-container>:last-child{margin-bottom:0}.uk-container .uk-container{padding-left:0;padding-right:0}.uk-container-xsmall{max-width:750px}.uk-container-small{max-width:900px}.uk-container-large{max-width:1400px}.uk-container-xlarge{max-width:1600px}.uk-container-expand{max-width:none}.uk-container-expand-left{margin-left:0}.uk-container-expand-right{margin-right:0}@media (min-width: 640px){.uk-container-expand-left.uk-container-xsmall,.uk-container-expand-right.uk-container-xsmall{max-width:calc(50% + 345px)}.uk-container-expand-left.uk-container-small,.uk-container-expand-right.uk-container-small{max-width:calc(50% + 420px)}}@media (min-width: 960px){.uk-container-expand-left,.uk-container-expand-right{max-width:calc(50% + 560px)}.uk-container-expand-left.uk-container-xsmall,.uk-container-expand-right.uk-container-xsmall{max-width:calc(50% + 335px)}.uk-container-expand-left.uk-container-small,.uk-container-expand-right.uk-container-small{max-width:calc(50% + 410px)}.uk-container-expand-left.uk-container-large,.uk-container-expand-right.uk-container-large{max-width:calc(50% + 660px)}.uk-container-expand-left.uk-container-xlarge,.uk-container-expand-right.uk-container-xlarge{max-width:calc(50% + 760px)}}.uk-container-item-padding-remove-left,.uk-container-item-padding-remove-right{width:calc(100% + 15px)}.uk-container-item-padding-remove-left{margin-left:-15px}.uk-container-item-padding-remove-right{margin-right:-15px}@media (min-width: 640px){.uk-container-item-padding-remove-left,.uk-container-item-padding-remove-right{width:calc(100% + 30px)}.uk-container-item-padding-remove-left{margin-left:-30px}.uk-container-item-padding-remove-right{margin-right:-30px}}@media (min-width: 960px){.uk-container-item-padding-remove-left,.uk-container-item-padding-remove-right{width:calc(100% + 40px)}.uk-container-item-padding-remove-left{margin-left:-40px}.uk-container-item-padding-remove-right{margin-right:-40px}}.uk-tile{display:flow-root;position:relative;box-sizing:border-box;padding:40px 15px}@media (min-width: 640px){.uk-tile{padding-left:30px;padding-right:30px}}@media (min-width: 960px){.uk-tile{padding:70px 40px}}.uk-tile>:last-child{margin-bottom:0}.uk-tile-xsmall{padding-top:20px;padding-bottom:20px}.uk-tile-small{padding-top:40px;padding-bottom:40px}.uk-tile-large{padding-top:70px;padding-bottom:70px}@media (min-width: 960px){.uk-tile-large{padding-top:140px;padding-bottom:140px}}.uk-tile-xlarge{padding-top:140px;padding-bottom:140px}@media (min-width: 960px){.uk-tile-xlarge{padding-top:210px;padding-bottom:210px}}.uk-tile-default{background-color:#fff}.uk-tile-muted{background-color:#f8f8f8}.uk-tile-primary{background-color:#1e87f0}.uk-tile-secondary{background-color:#222}.uk-card{position:relative;box-sizing:border-box;transition:box-shadow .1s ease-in-out}.uk-card-body{display:flow-root;padding:30px}.uk-card-header,.uk-card-footer{display:flow-root;padding:15px 30px}@media (min-width: 1200px){.uk-card-body{padding:40px}.uk-card-header,.uk-card-footer{padding:20px 40px}}.uk-card-body>:last-child,.uk-card-header>:last-child,.uk-card-footer>:last-child{margin-bottom:0}.uk-card-title{font-size:1.5rem;line-height:1.4}.uk-card-badge{position:absolute;top:15px;right:15px;z-index:1;height:22px;padding:0 10px;background:#1e87f0;color:#fff;font-size:.875rem;display:flex;justify-content:center;align-items:center;line-height:0;border-radius:2px;text-transform:uppercase}.uk-card-badge:first-child+*{margin-top:0}.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover{background-color:#fff;box-shadow:0 14px 25px #00000029}.uk-card-default{background-color:#fff;color:#666;box-shadow:0 5px 15px #00000014}.uk-card-default .uk-card-title{color:#333}.uk-card-default.uk-card-hover:hover{background-color:#fff;box-shadow:0 14px 25px #00000029}.uk-card-default .uk-card-header{border-bottom:1px solid #e5e5e5}.uk-card-default .uk-card-footer{border-top:1px solid #e5e5e5}.uk-card-primary{background-color:#1e87f0;color:#fff;box-shadow:0 5px 15px #00000014}.uk-card-primary .uk-card-title{color:#fff}.uk-card-primary.uk-card-hover:hover{background-color:#1e87f0;box-shadow:0 14px 25px #00000029}.uk-card-secondary{background-color:#222;color:#fff;box-shadow:0 5px 15px #00000014}.uk-card-secondary .uk-card-title{color:#fff}.uk-card-secondary.uk-card-hover:hover{background-color:#222;box-shadow:0 14px 25px #00000029}.uk-card-small.uk-card-body,.uk-card-small .uk-card-body{padding:20px}.uk-card-small .uk-card-header,.uk-card-small .uk-card-footer{padding:13px 20px}@media (min-width: 1200px){.uk-card-large.uk-card-body,.uk-card-large .uk-card-body{padding:70px}.uk-card-large .uk-card-header,.uk-card-large .uk-card-footer{padding:35px 70px}}.uk-card-body>.uk-nav-default{margin-left:-30px;margin-right:-30px}.uk-card-body>.uk-nav-default:only-child{margin-top:-15px;margin-bottom:-15px}.uk-card-body>.uk-nav-default>li>a,.uk-card-body>.uk-nav-default .uk-nav-header,.uk-card-body>.uk-nav-default .uk-nav-divider{padding-left:30px;padding-right:30px}.uk-card-body>.uk-nav-default .uk-nav-sub{padding-left:45px}@media (min-width: 1200px){.uk-card-body>.uk-nav-default{margin-left:-40px;margin-right:-40px}.uk-card-body>.uk-nav-default:only-child{margin-top:-25px;margin-bottom:-25px}.uk-card-body>.uk-nav-default>li>a,.uk-card-body>.uk-nav-default .uk-nav-header,.uk-card-body>.uk-nav-default .uk-nav-divider{padding-left:40px;padding-right:40px}.uk-card-body>.uk-nav-default .uk-nav-sub{padding-left:55px}}.uk-card-small>.uk-nav-default{margin-left:-20px;margin-right:-20px}.uk-card-small>.uk-nav-default:only-child{margin-top:-5px;margin-bottom:-5px}.uk-card-small>.uk-nav-default>li>a,.uk-card-small>.uk-nav-default .uk-nav-header,.uk-card-small>.uk-nav-default .uk-nav-divider{padding-left:20px;padding-right:20px}.uk-card-small>.uk-nav-default .uk-nav-sub{padding-left:35px}@media (min-width: 1200px){.uk-card-large>.uk-nav-default{margin:0}.uk-card-large>.uk-nav-default:only-child{margin:0}.uk-card-large>.uk-nav-default>li>a,.uk-card-large>.uk-nav-default .uk-nav-header,.uk-card-large>.uk-nav-default .uk-nav-divider{padding-left:0;padding-right:0}.uk-card-large>.uk-nav-default .uk-nav-sub{padding-left:15px}}.uk-close{color:#999;transition:.1s ease-in-out;transition-property:color,opacity}.uk-close:hover{color:#666}.uk-spinner>*{animation:uk-spinner-rotate 1.4s linear infinite}@keyframes uk-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(270deg)}}.uk-spinner>*>*{stroke-dasharray:88px;stroke-dashoffset:0;transform-origin:center;animation:uk-spinner-dash 1.4s ease-in-out infinite;stroke-width:1;stroke-linecap:round}@keyframes uk-spinner-dash{0%{stroke-dashoffset:88px}50%{stroke-dashoffset:22px;transform:rotate(135deg)}to{stroke-dashoffset:88px;transform:rotate(450deg)}}.uk-totop{padding:5px;color:#999;transition:color .1s ease-in-out}.uk-totop:hover{color:#666}.uk-totop:active{color:#333}.uk-marker{padding:5px;background:#222;color:#fff;border-radius:500px}.uk-marker:hover{color:#fff}.uk-alert{position:relative;margin-bottom:20px;padding:15px 29px 15px 15px;background:#f8f8f8;color:#666}*+.uk-alert{margin-top:20px}.uk-alert>:last-child{margin-bottom:0}.uk-alert-close{position:absolute;top:20px;right:15px;color:inherit;opacity:.4}.uk-alert-close:first-child+*{margin-top:0}.uk-alert-close:hover{color:inherit;opacity:.8}.uk-alert-primary{background:#d8eafc;color:#1e87f0}.uk-alert-success{background:#edfbf6;color:#32d296}.uk-alert-warning{background:#fff6ee;color:#faa05a}.uk-alert-danger{background:#fef4f6;color:#f0506e}.uk-alert h1,.uk-alert h2,.uk-alert h3,.uk-alert h4,.uk-alert h5,.uk-alert h6{color:inherit}.uk-alert a:not([class]){color:inherit;text-decoration:underline}.uk-alert a:not([class]):hover{color:inherit;text-decoration:underline}.uk-placeholder{margin-bottom:20px;padding:30px;background:transparent;border:1px dashed #e5e5e5}*+.uk-placeholder{margin-top:20px}.uk-placeholder>:last-child{margin-bottom:0}.uk-badge{box-sizing:border-box;min-width:18px;height:18px;padding:0 5px;border-radius:500px;vertical-align:middle;background:#1e87f0;color:#fff!important;font-size:11px;display:inline-flex;justify-content:center;align-items:center;line-height:0}.uk-badge:hover{text-decoration:none}.uk-label{display:inline-block;padding:0 10px;background:#1e87f0;line-height:1.5;font-size:.875rem;color:#fff;vertical-align:middle;white-space:nowrap;border-radius:2px;text-transform:uppercase}.uk-label-success{background-color:#32d296;color:#fff}.uk-label-warning{background-color:#faa05a;color:#fff}.uk-label-danger{background-color:#f0506e;color:#fff}.uk-overlay{padding:30px}.uk-overlay>:last-child{margin-bottom:0}.uk-overlay-default{background:rgba(255,255,255,.8)}.uk-overlay-primary{background:rgba(34,34,34,.8)}.uk-article{display:flow-root}.uk-article>:last-child{margin-bottom:0}.uk-article+.uk-article{margin-top:70px}.uk-article-title{font-size:2.23125rem;line-height:1.2}@media (min-width: 960px){.uk-article-title{font-size:2.625rem}}.uk-article-meta{font-size:.875rem;line-height:1.4;color:#999}.uk-article-meta a{color:#999}.uk-article-meta a:hover{color:#666;text-decoration:none}.uk-comment-body{display:flow-root;overflow-wrap:break-word;word-wrap:break-word}.uk-comment-header{display:flow-root;margin-bottom:20px}.uk-comment-body>:last-child,.uk-comment-header>:last-child{margin-bottom:0}.uk-comment-title{font-size:1.25rem;line-height:1.4}.uk-comment-meta{font-size:.875rem;line-height:1.4;color:#999}.uk-comment-list{padding:0;list-style:none}.uk-comment-list>:nth-child(n+2){margin-top:70px}.uk-comment-list .uk-comment~ul{margin:70px 0 0;padding-left:30px;list-style:none}@media (min-width: 960px){.uk-comment-list .uk-comment~ul{padding-left:100px}}.uk-comment-list .uk-comment~ul>:nth-child(n+2){margin-top:70px}.uk-comment-primary{padding:30px;background-color:#f8f8f8}.uk-search{display:inline-block;position:relative;max-width:100%;margin:0}.uk-search-input::-webkit-search-cancel-button,.uk-search-input::-webkit-search-decoration{-webkit-appearance:none}.uk-search-input::-moz-placeholder{opacity:1}.uk-search-input{box-sizing:border-box;margin:0;border-radius:0;font:inherit;overflow:visible;-webkit-appearance:none;vertical-align:middle;width:100%;border:none;color:#666}.uk-search-input:focus{outline:none}.uk-search-input::placeholder{color:#999}.uk-search .uk-search-icon{position:absolute;top:0;bottom:0;left:0;display:inline-flex;justify-content:center;align-items:center;color:#999}.uk-search .uk-search-icon:hover{color:#999}.uk-search .uk-search-icon:not(a):not(button):not(input){pointer-events:none}.uk-search .uk-search-icon-flip{right:0;left:auto}.uk-search-default{width:240px}.uk-search-default .uk-search-input{height:40px;padding-left:10px;padding-right:10px;background:transparent;border:1px solid #e5e5e5}.uk-search-default .uk-search-input:focus{background-color:#0000;border-color:#1e87f0}.uk-search-default .uk-search-icon{width:40px}.uk-search-default .uk-search-icon:not(.uk-search-icon-flip)~.uk-search-input{padding-left:40px}.uk-search-default .uk-search-icon-flip~.uk-search-input{padding-right:40px}.uk-search-navbar{width:400px}.uk-search-navbar .uk-search-input{height:40px;background:transparent;font-size:1.5rem}.uk-search-navbar .uk-search-icon{width:40px}.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip)~.uk-search-input{padding-left:40px}.uk-search-navbar .uk-search-icon-flip~.uk-search-input{padding-right:40px}.uk-search-large{width:500px}.uk-search-large .uk-search-input{height:80px;background:transparent;font-size:2.625rem}.uk-search-large .uk-search-icon{width:80px}.uk-search-large .uk-search-icon:not(.uk-search-icon-flip)~.uk-search-input{padding-left:80px}.uk-search-large .uk-search-icon-flip~.uk-search-input{padding-right:80px}.uk-search-toggle{color:#999}.uk-search-toggle:hover{color:#666}.uk-accordion{padding:0;list-style:none}.uk-accordion>:nth-child(n+2){margin-top:20px}.uk-accordion-title{display:block;font-size:1.25rem;line-height:1.4;color:#333;overflow:hidden}.uk-accordion-title:before{content:"";width:1.4em;height:1.4em;margin-left:10px;float:right;background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:50% 50%}.uk-open>.uk-accordion-title:before{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-accordion-title:hover{color:#666;text-decoration:none}.uk-accordion-content{display:flow-root;margin-top:20px}.uk-accordion-content>:last-child{margin-bottom:0}.uk-drop{display:none;position:absolute;z-index:1020;--uk-position-offset: 20px;--uk-position-viewport-offset: 15px;box-sizing:border-box;width:300px}.uk-drop.uk-open{display:block}.uk-drop-stack .uk-drop-grid>*{width:100%!important}.uk-drop-parent-icon{margin-left:.25em;transition:transform .3s ease-out}[aria-expanded=true]>.uk-drop-parent-icon{transform:rotateX(180deg)}.uk-dropbar{--uk-position-offset: 0;--uk-position-shift-offset: 0;--uk-position-viewport-offset: 0;width:auto;padding:25px 15px;background:#fff;color:#666}.uk-dropbar>:last-child{margin-bottom:0}@media (min-width: 640px){.uk-dropbar{padding-left:30px;padding-right:30px}}@media (min-width: 960px){.uk-dropbar{padding-left:40px;padding-right:40px}}.uk-dropbar :focus-visible{outline-color:#333!important}.uk-dropbar-large{padding-top:40px;padding-bottom:40px}.uk-dropbar-top{box-shadow:0 12px 7px -6px #0000000d}.uk-dropbar-bottom{box-shadow:0 -12px 7px -6px #0000000d}.uk-dropbar-left{box-shadow:12px 0 7px -6px #0000000d}.uk-dropbar-right{box-shadow:-12px 0 7px -6px #0000000d}.uk-dropnav-dropbar{position:absolute;z-index:980;padding:0;left:0;right:0}.uk-modal{display:none;position:fixed;inset:0;z-index:1010;overflow-y:auto;padding:15px;background:rgba(0,0,0,.6);opacity:0;transition:opacity .15s linear}@media (min-width: 640px){.uk-modal{padding:50px 30px}}@media (min-width: 960px){.uk-modal{padding-left:40px;padding-right:40px}}.uk-modal.uk-open{opacity:1}.uk-modal-page{overflow:hidden}.uk-modal-dialog{position:relative;box-sizing:border-box;margin:0 auto;width:600px;max-width:100%!important;background:#fff;opacity:0;transform:translateY(-100px);transition:.3s linear;transition-property:opacity,transform}.uk-open>.uk-modal-dialog{opacity:1;transform:translateY(0)}.uk-modal-container .uk-modal-dialog{width:1200px}.uk-modal-full{padding:0;background:none}.uk-modal-full .uk-modal-dialog{margin:0;width:100%;max-width:100%;transform:translateY(0)}.uk-modal-body{display:flow-root;padding:20px}.uk-modal-header{display:flow-root;padding:10px 20px;background:#fff;border-bottom:1px solid #e5e5e5}.uk-modal-footer{display:flow-root;padding:10px 20px;background:#fff;border-top:1px solid #e5e5e5}@media (min-width: 640px){.uk-modal-body{padding:30px}.uk-modal-header,.uk-modal-footer{padding:15px 30px}}.uk-modal-body>:last-child,.uk-modal-header>:last-child,.uk-modal-footer>:last-child{margin-bottom:0}.uk-modal-title{font-size:2rem;line-height:1.3}[class*=uk-modal-close-]{position:absolute;z-index:1010;top:10px;right:10px;padding:5px}[class*=uk-modal-close-]:first-child+*{margin-top:0}.uk-modal-close-outside{top:0;right:-5px;transform:translateY(-100%);color:#fff}.uk-modal-close-outside:hover{color:#fff}@media (min-width: 960px){.uk-modal-close-outside{right:0;transform:translate(100%,-100%)}}.uk-modal-close-full{top:0;right:0;padding:10px;background:#fff}@media (min-width: 960px){.uk-modal-close-full{padding:20px}}.uk-slideshow{-webkit-tap-highlight-color:transparent}.uk-slideshow-items{position:relative;z-index:0;margin:0;padding:0;list-style:none;overflow:hidden;-webkit-touch-callout:none;touch-action:pan-y}.uk-slideshow-items>*{position:absolute;inset:0;overflow:hidden;will-change:transform,opacity}.uk-slideshow-items>:not(.uk-active){display:none}.uk-slider{-webkit-tap-highlight-color:transparent}.uk-slider-container{overflow:hidden;overflow:clip}.uk-slider-container-offset{margin:-11px -25px -39px;padding:11px 25px 39px}.uk-slider-items{will-change:transform;position:relative;touch-action:pan-y}.uk-slider-items:not(.uk-grid){display:flex;margin:0;padding:0;list-style:none;-webkit-touch-callout:none}.uk-slider-items.uk-grid{flex-wrap:nowrap}.uk-slider-items>*{flex:none;box-sizing:border-box;max-width:100%;position:relative}.uk-sticky{position:relative;z-index:980;box-sizing:border-box}.uk-sticky-fixed{margin:0!important;backface-visibility:hidden}.uk-sticky[class*=uk-animation-],.uk-sticky.uk-animation-reverse{animation-duration:.2s}.uk-sticky-placeholder{pointer-events:none}.uk-offcanvas{display:none;position:fixed;top:0;bottom:0;left:0;z-index:1000}.uk-offcanvas-flip .uk-offcanvas{right:0;left:auto}.uk-offcanvas-bar{position:absolute;top:0;bottom:0;left:-270px;box-sizing:border-box;width:270px;padding:20px;background:#222;overflow-y:auto}@media (min-width: 640px){.uk-offcanvas-bar{left:-350px;width:350px;padding:30px}}.uk-offcanvas-flip .uk-offcanvas-bar{left:auto;right:-270px}@media (min-width: 640px){.uk-offcanvas-flip .uk-offcanvas-bar{right:-350px}}.uk-open>.uk-offcanvas-bar{left:0}.uk-offcanvas-flip .uk-open>.uk-offcanvas-bar{left:auto;right:0}.uk-offcanvas-bar-animation{transition:left .3s ease-out}.uk-offcanvas-flip .uk-offcanvas-bar-animation{transition-property:right}.uk-offcanvas-reveal{position:absolute;top:0;bottom:0;left:0;width:0;overflow:hidden;transition:width .3s ease-out}.uk-offcanvas-reveal .uk-offcanvas-bar{left:0}.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar{left:auto;right:0}.uk-open>.uk-offcanvas-reveal{width:270px}@media (min-width: 640px){.uk-open>.uk-offcanvas-reveal{width:350px}}.uk-offcanvas-flip .uk-offcanvas-reveal{right:0;left:auto}.uk-offcanvas-close{position:absolute;z-index:1000;top:5px;right:5px;padding:5px}@media (min-width: 640px){.uk-offcanvas-close{top:10px;right:10px}}.uk-offcanvas-close:first-child+*{margin-top:0}.uk-offcanvas-overlay{width:100vw;touch-action:none}.uk-offcanvas-overlay:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.1);opacity:0;transition:opacity .15s linear}.uk-offcanvas-overlay.uk-open:before{opacity:1}.uk-offcanvas-page,.uk-offcanvas-container{overflow-x:hidden;overflow-x:clip}.uk-offcanvas-container{position:relative;left:0;transition:left .3s ease-out;box-sizing:border-box;width:100%}:not(.uk-offcanvas-flip).uk-offcanvas-container-animation{left:270px}.uk-offcanvas-flip.uk-offcanvas-container-animation{left:-270px}@media (min-width: 640px){:not(.uk-offcanvas-flip).uk-offcanvas-container-animation{left:350px}.uk-offcanvas-flip.uk-offcanvas-container-animation{left:-350px}}.uk-switcher{margin:0;padding:0;list-style:none}.uk-switcher>:not(.uk-active){display:none}.uk-switcher>*>:last-child{margin-bottom:0}.uk-leader{overflow:hidden}.uk-leader-fill:after{display:inline-block;margin-left:15px;width:0;content:attr(data-fill);white-space:nowrap}.uk-leader-fill.uk-leader-hide:after{display:none}:root{--uk-leader-fill-content: .}.uk-notification{position:fixed;top:10px;left:10px;z-index:1040;box-sizing:border-box;width:350px}.uk-notification-top-right,.uk-notification-bottom-right{left:auto;right:10px}.uk-notification-top-center,.uk-notification-bottom-center{left:50%;margin-left:-175px}.uk-notification-bottom-left,.uk-notification-bottom-right,.uk-notification-bottom-center{top:auto;bottom:10px}@media (max-width: 639px){.uk-notification{left:10px;right:10px;width:auto;margin:0}}.uk-notification-message{position:relative;padding:15px;background:#f8f8f8;color:#666;font-size:1.25rem;line-height:1.4;cursor:pointer}*+.uk-notification-message{margin-top:10px}.uk-notification-close{display:none;position:absolute;top:20px;right:15px}.uk-notification-message:hover .uk-notification-close{display:block}.uk-notification-message-primary{color:#1e87f0}.uk-notification-message-success{color:#32d296}.uk-notification-message-warning{color:#faa05a}.uk-notification-message-danger{color:#f0506e}.uk-tooltip{display:none;position:absolute;z-index:1030;--uk-position-offset: 10px;--uk-position-viewport-offset: 10;top:0;box-sizing:border-box;max-width:200px;padding:3px 6px;background:#666;border-radius:2px;color:#fff;font-size:12px}.uk-tooltip.uk-active{display:block}.uk-sortable{position:relative}.uk-sortable>:last-child{margin-bottom:0}.uk-sortable-drag{position:fixed!important;z-index:1050!important;pointer-events:none}.uk-sortable-placeholder{opacity:0;pointer-events:none}.uk-sortable-empty{min-height:50px}.uk-sortable-handle:hover{cursor:move}.uk-countdown-number{font-variant-numeric:tabular-nums;font-size:2rem;line-height:.8}@media (min-width: 640px){.uk-countdown-number{font-size:4rem}}@media (min-width: 960px){.uk-countdown-number{font-size:6rem}}.uk-countdown-separator{font-size:1rem;line-height:1.6}@media (min-width: 640px){.uk-countdown-separator{font-size:2rem}}@media (min-width: 960px){.uk-countdown-separator{font-size:3rem}}.uk-grid{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}.uk-grid>*{margin:0}.uk-grid>*>:last-child{margin-bottom:0}.uk-grid{margin-left:-30px}.uk-grid>*{padding-left:30px}.uk-grid+.uk-grid,.uk-grid>.uk-grid-margin,*+.uk-grid-margin{margin-top:30px}@media (min-width: 1200px){.uk-grid{margin-left:-40px}.uk-grid>*{padding-left:40px}.uk-grid+.uk-grid,.uk-grid>.uk-grid-margin,*+.uk-grid-margin{margin-top:40px}}.uk-grid-small,.uk-grid-column-small{margin-left:-15px}.uk-grid-small>*,.uk-grid-column-small>*{padding-left:15px}.uk-grid+.uk-grid-small,.uk-grid+.uk-grid-row-small,.uk-grid-small>.uk-grid-margin,.uk-grid-row-small>.uk-grid-margin,*+.uk-grid-margin-small{margin-top:15px}.uk-grid-medium,.uk-grid-column-medium{margin-left:-30px}.uk-grid-medium>*,.uk-grid-column-medium>*{padding-left:30px}.uk-grid+.uk-grid-medium,.uk-grid+.uk-grid-row-medium,.uk-grid-medium>.uk-grid-margin,.uk-grid-row-medium>.uk-grid-margin,*+.uk-grid-margin-medium{margin-top:30px}.uk-grid-large,.uk-grid-column-large{margin-left:-40px}.uk-grid-large>*,.uk-grid-column-large>*{padding-left:40px}.uk-grid+.uk-grid-large,.uk-grid+.uk-grid-row-large,.uk-grid-large>.uk-grid-margin,.uk-grid-row-large>.uk-grid-margin,*+.uk-grid-margin-large{margin-top:40px}@media (min-width: 1200px){.uk-grid-large,.uk-grid-column-large{margin-left:-70px}.uk-grid-large>*,.uk-grid-column-large>*{padding-left:70px}.uk-grid+.uk-grid-large,.uk-grid+.uk-grid-row-large,.uk-grid-large>.uk-grid-margin,.uk-grid-row-large>.uk-grid-margin,*+.uk-grid-margin-large{margin-top:70px}}.uk-grid-collapse,.uk-grid-column-collapse{margin-left:0}.uk-grid-collapse>*,.uk-grid-column-collapse>*{padding-left:0}.uk-grid+.uk-grid-collapse,.uk-grid+.uk-grid-row-collapse,.uk-grid-collapse>.uk-grid-margin,.uk-grid-row-collapse>.uk-grid-margin{margin-top:0}.uk-grid-divider>*{position:relative}.uk-grid-divider>:not(.uk-first-column):before{content:"";position:absolute;top:0;bottom:0;border-left:1px solid #e5e5e5}.uk-grid-divider.uk-grid-stack>.uk-grid-margin:before{content:"";position:absolute;left:0;right:0;border-top:1px solid #e5e5e5}.uk-grid-divider{margin-left:-60px}.uk-grid-divider>*{padding-left:60px}.uk-grid-divider>:not(.uk-first-column):before{left:30px}.uk-grid-divider.uk-grid-stack>.uk-grid-margin{margin-top:60px}.uk-grid-divider.uk-grid-stack>.uk-grid-margin:before{top:-30px;left:60px}@media (min-width: 1200px){.uk-grid-divider{margin-left:-80px}.uk-grid-divider>*{padding-left:80px}.uk-grid-divider>:not(.uk-first-column):before{left:40px}.uk-grid-divider.uk-grid-stack>.uk-grid-margin{margin-top:80px}.uk-grid-divider.uk-grid-stack>.uk-grid-margin:before{top:-40px;left:80px}}.uk-grid-divider.uk-grid-small,.uk-grid-divider.uk-grid-column-small{margin-left:-30px}.uk-grid-divider.uk-grid-small>*,.uk-grid-divider.uk-grid-column-small>*{padding-left:30px}.uk-grid-divider.uk-grid-small>:not(.uk-first-column):before,.uk-grid-divider.uk-grid-column-small>:not(.uk-first-column):before{left:15px}.uk-grid-divider.uk-grid-small.uk-grid-stack>.uk-grid-margin,.uk-grid-divider.uk-grid-row-small.uk-grid-stack>.uk-grid-margin{margin-top:30px}.uk-grid-divider.uk-grid-small.uk-grid-stack>.uk-grid-margin:before{top:-15px;left:30px}.uk-grid-divider.uk-grid-row-small.uk-grid-stack>.uk-grid-margin:before{top:-15px}.uk-grid-divider.uk-grid-column-small.uk-grid-stack>.uk-grid-margin:before{left:30px}.uk-grid-divider.uk-grid-medium,.uk-grid-divider.uk-grid-column-medium{margin-left:-60px}.uk-grid-divider.uk-grid-medium>*,.uk-grid-divider.uk-grid-column-medium>*{padding-left:60px}.uk-grid-divider.uk-grid-medium>:not(.uk-first-column):before,.uk-grid-divider.uk-grid-column-medium>:not(.uk-first-column):before{left:30px}.uk-grid-divider.uk-grid-medium.uk-grid-stack>.uk-grid-margin,.uk-grid-divider.uk-grid-row-medium.uk-grid-stack>.uk-grid-margin{margin-top:60px}.uk-grid-divider.uk-grid-medium.uk-grid-stack>.uk-grid-margin:before{top:-30px;left:60px}.uk-grid-divider.uk-grid-row-medium.uk-grid-stack>.uk-grid-margin:before{top:-30px}.uk-grid-divider.uk-grid-column-medium.uk-grid-stack>.uk-grid-margin:before{left:60px}.uk-grid-divider.uk-grid-large,.uk-grid-divider.uk-grid-column-large{margin-left:-80px}.uk-grid-divider.uk-grid-large>*,.uk-grid-divider.uk-grid-column-large>*{padding-left:80px}.uk-grid-divider.uk-grid-large>:not(.uk-first-column):before,.uk-grid-divider.uk-grid-column-large>:not(.uk-first-column):before{left:40px}.uk-grid-divider.uk-grid-large.uk-grid-stack>.uk-grid-margin,.uk-grid-divider.uk-grid-row-large.uk-grid-stack>.uk-grid-margin{margin-top:80px}.uk-grid-divider.uk-grid-large.uk-grid-stack>.uk-grid-margin:before{top:-40px;left:80px}.uk-grid-divider.uk-grid-row-large.uk-grid-stack>.uk-grid-margin:before{top:-40px}.uk-grid-divider.uk-grid-column-large.uk-grid-stack>.uk-grid-margin:before{left:80px}@media (min-width: 1200px){.uk-grid-divider.uk-grid-large,.uk-grid-divider.uk-grid-column-large{margin-left:-140px}.uk-grid-divider.uk-grid-large>*,.uk-grid-divider.uk-grid-column-large>*{padding-left:140px}.uk-grid-divider.uk-grid-large>:not(.uk-first-column):before,.uk-grid-divider.uk-grid-column-large>:not(.uk-first-column):before{left:70px}.uk-grid-divider.uk-grid-large.uk-grid-stack>.uk-grid-margin,.uk-grid-divider.uk-grid-row-large.uk-grid-stack>.uk-grid-margin{margin-top:140px}.uk-grid-divider.uk-grid-large.uk-grid-stack>.uk-grid-margin:before{top:-70px;left:140px}.uk-grid-divider.uk-grid-row-large.uk-grid-stack>.uk-grid-margin:before{top:-70px}.uk-grid-divider.uk-grid-column-large.uk-grid-stack>.uk-grid-margin:before{left:140px}}.uk-grid-match>*,.uk-grid-item-match{display:flex;flex-wrap:wrap}.uk-grid-match>*>:not([class*=uk-width]),.uk-grid-item-match>:not([class*=uk-width]){box-sizing:border-box;width:100%;flex:auto}.uk-nav,.uk-nav ul{margin:0;padding:0;list-style:none}.uk-nav li>a{display:flex;align-items:center;column-gap:.25em;text-decoration:none}.uk-nav>li>a{padding:5px 0}ul.uk-nav-sub{padding:5px 0 5px 15px}.uk-nav-sub ul{padding-left:15px}.uk-nav-sub a{padding:2px 0}.uk-nav-parent-icon{margin-left:auto;transition:transform .3s ease-out}.uk-nav>li.uk-open>a .uk-nav-parent-icon{transform:rotateX(180deg)}.uk-nav-header{padding:5px 0;text-transform:uppercase;font-size:.875rem}.uk-nav-header:not(:first-child){margin-top:20px}.uk-nav .uk-nav-divider{margin:5px 0}.uk-nav-default{font-size:.875rem;line-height:1.5}.uk-nav-default>li>a{color:#999}.uk-nav-default>li>a:hover{color:#666}.uk-nav-default>li.uk-active>a{color:#333}.uk-nav-default .uk-nav-subtitle{font-size:12px}.uk-nav-default .uk-nav-header{color:#333}.uk-nav-default .uk-nav-divider{border-top:1px solid #e5e5e5}.uk-nav-default .uk-nav-sub{font-size:.875rem;line-height:1.5}.uk-nav-default .uk-nav-sub a{color:#999}.uk-nav-default .uk-nav-sub a:hover{color:#666}.uk-nav-default .uk-nav-sub li.uk-active>a{color:#333}.uk-nav-primary{font-size:1.5rem;line-height:1.5}.uk-nav-primary>li>a{color:#999}.uk-nav-primary>li>a:hover{color:#666}.uk-nav-primary>li.uk-active>a{color:#333}.uk-nav-primary .uk-nav-subtitle{font-size:1.25rem}.uk-nav-primary .uk-nav-header{color:#333}.uk-nav-primary .uk-nav-divider{border-top:1px solid #e5e5e5}.uk-nav-primary .uk-nav-sub{font-size:1.25rem;line-height:1.5}.uk-nav-primary .uk-nav-sub a{color:#999}.uk-nav-primary .uk-nav-sub a:hover{color:#666}.uk-nav-primary .uk-nav-sub li.uk-active>a{color:#333}.uk-nav-secondary{font-size:16px;line-height:1.5}.uk-nav-secondary>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider){margin-top:0}.uk-nav-secondary>li>a{color:#333;padding:10px}.uk-nav-secondary>li>a:hover{color:#333;background-color:#f8f8f8}.uk-nav-secondary>li.uk-active>a{color:#333;background-color:#f8f8f8}.uk-nav-secondary .uk-nav-subtitle{font-size:.875rem;color:#999}.uk-nav-secondary>li>a:hover .uk-nav-subtitle{color:#666}.uk-nav-secondary>li.uk-active>a .uk-nav-subtitle{color:#333}.uk-nav-secondary .uk-nav-header{color:#333}.uk-nav-secondary .uk-nav-divider{border-top:1px solid #e5e5e5}.uk-nav-secondary .uk-nav-sub{font-size:.875rem;line-height:1.5}.uk-nav-secondary .uk-nav-sub a{color:#999}.uk-nav-secondary .uk-nav-sub a:hover{color:#666}.uk-nav-secondary .uk-nav-sub li.uk-active>a{color:#333}.uk-nav-center{text-align:center}.uk-nav-center li>a{justify-content:center}.uk-nav-center .uk-nav-sub,.uk-nav-center .uk-nav-sub ul{padding-left:0}.uk-nav-center .uk-nav-parent-icon{margin-left:.25em}.uk-nav.uk-nav-divider>:not(.uk-nav-header,.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider){margin-top:5px;padding-top:5px;border-top:1px solid #e5e5e5}.uk-navbar{display:flex;position:relative;--uk-navbar-dropbar-behind-color: dark}.uk-navbar-container:not(.uk-navbar-transparent){background:#f8f8f8}.uk-navbar-left,.uk-navbar-right,[class*=uk-navbar-center]{display:flex;gap:15px;align-items:center}.uk-navbar-right{margin-left:auto}.uk-navbar-center:only-child{margin-left:auto;margin-right:auto;position:relative}.uk-navbar-center:not(:only-child){position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:max-content;box-sizing:border-box;z-index:990}.uk-navbar-center-left,.uk-navbar-center-right{position:absolute;top:0}.uk-navbar-center-left{right:calc(100% + 15px)}.uk-navbar-center-right{left:calc(100% + 15px)}[class*=uk-navbar-center-]{width:max-content;box-sizing:border-box}.uk-navbar-nav{display:flex;gap:15px;margin:0;padding:0;list-style:none}.uk-navbar-left,.uk-navbar-right,.uk-navbar-center:only-child{flex-wrap:wrap}.uk-navbar-nav>li>a,.uk-navbar-item,.uk-navbar-toggle{display:flex;justify-content:center;align-items:center;column-gap:.25em;box-sizing:border-box;min-height:80px;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";text-decoration:none}.uk-navbar-nav>li>a{padding:0;color:#999;text-transform:uppercase;transition:.1s ease-in-out;transition-property:color,background-color}.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a[aria-expanded=true]{color:#666}.uk-navbar-nav>li>a:active{color:#333}.uk-navbar-nav>li.uk-active>a{color:#333}.uk-navbar-parent-icon{margin-left:4px;transition:transform .3s ease-out}.uk-navbar-nav>li>a[aria-expanded=true] .uk-navbar-parent-icon{transform:rotateX(180deg)}.uk-navbar-item{padding:0;color:#666}.uk-navbar-item>:last-child{margin-bottom:0}.uk-navbar-toggle{padding:0;color:#999}.uk-navbar-toggle:hover,.uk-navbar-toggle[aria-expanded=true]{color:#666;text-decoration:none}.uk-navbar-subtitle{font-size:.875rem}.uk-navbar-justify .uk-navbar-left,.uk-navbar-justify .uk-navbar-right,.uk-navbar-justify .uk-navbar-nav,.uk-navbar-justify .uk-navbar-nav>li,.uk-navbar-justify .uk-navbar-item,.uk-navbar-justify .uk-navbar-toggle{flex-grow:1}.uk-navbar-dropdown{--uk-position-offset: 15px;--uk-position-shift-offset: 0;--uk-position-viewport-offset: 15px;width:200px;padding:25px;background:#fff;color:#666;box-shadow:0 5px 12px #00000026}.uk-navbar-dropdown>:last-child{margin-bottom:0}.uk-navbar-dropdown :focus-visible{outline-color:#333!important}.uk-navbar-dropdown .uk-drop-grid{margin-left:-30px}.uk-navbar-dropdown .uk-drop-grid>*{padding-left:30px}.uk-navbar-dropdown .uk-drop-grid>.uk-grid-margin{margin-top:30px}.uk-navbar-dropdown-width-2:not(.uk-drop-stack){width:400px}.uk-navbar-dropdown-width-3:not(.uk-drop-stack){width:600px}.uk-navbar-dropdown-width-4:not(.uk-drop-stack){width:800px}.uk-navbar-dropdown-width-5:not(.uk-drop-stack){width:1000px}.uk-navbar-dropdown-large{--uk-position-shift-offset: 0;padding:40px}.uk-navbar-dropdown-dropbar{width:auto;background:transparent;padding:25px 0;--uk-position-offset: 0;--uk-position-shift-offset: 0;--uk-position-viewport-offset: 15px;box-shadow:none}@media (min-width: 640px){.uk-navbar-dropdown-dropbar{--uk-position-viewport-offset: 30px}}@media (min-width: 960px){.uk-navbar-dropdown-dropbar{--uk-position-viewport-offset: 40px}}.uk-navbar-dropdown-dropbar-large{--uk-position-shift-offset: 0;padding-top:40px;padding-bottom:40px}.uk-navbar-dropdown-nav{font-size:.875rem}.uk-navbar-dropdown-nav>li>a{color:#999}.uk-navbar-dropdown-nav>li>a:hover{color:#666}.uk-navbar-dropdown-nav>li.uk-active>a{color:#333}.uk-navbar-dropdown-nav .uk-nav-subtitle{font-size:12px}.uk-navbar-dropdown-nav .uk-nav-header{color:#333}.uk-navbar-dropdown-nav .uk-nav-divider{border-top:1px solid #e5e5e5}.uk-navbar-dropdown-nav .uk-nav-sub a{color:#999}.uk-navbar-dropdown-nav .uk-nav-sub a:hover{color:#666}.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active>a{color:#333}.uk-navbar-container{transition:.1s ease-in-out;transition-property:background-color}@media (min-width: 960px){.uk-navbar-left,.uk-navbar-right,[class*=uk-navbar-center]{gap:30px}.uk-navbar-center-left{right:calc(100% + 30px)}.uk-navbar-center-right{left:calc(100% + 30px)}}@media (min-width: 960px){.uk-navbar-nav{gap:30px}}.uk-subnav{display:flex;flex-wrap:wrap;align-items:center;margin-left:-20px;padding:0;list-style:none}.uk-subnav>*{flex:none;padding-left:20px;position:relative}.uk-subnav>*>:first-child{display:flex;align-items:center;column-gap:.25em;color:#999;font-size:.875rem;text-transform:uppercase;transition:.1s ease-in-out;transition-property:color,background-color}.uk-subnav>*>a:hover{color:#666;text-decoration:none}.uk-subnav>.uk-active>a{color:#333}.uk-subnav-divider{margin-left:-41px}.uk-subnav-divider>*{display:flex;align-items:center}.uk-subnav-divider>:before{content:"";height:1.5em;margin-left:0;margin-right:20px;border-left:1px solid transparent}.uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before{border-left-color:#e5e5e5}.uk-subnav-pill>*>:first-child{padding:5px 10px;background:transparent;color:#999}.uk-subnav-pill>*>a:hover{background-color:#f8f8f8;color:#666}.uk-subnav-pill>*>a:active{background-color:#f8f8f8;color:#666}.uk-subnav-pill>.uk-active>a{background-color:#1e87f0;color:#fff}.uk-subnav>.uk-disabled>a{color:#999}.uk-breadcrumb{padding:0;list-style:none}.uk-breadcrumb>*{display:contents}.uk-breadcrumb>*>*{font-size:.875rem;color:#999}.uk-breadcrumb>*>:hover{color:#666;text-decoration:none}.uk-breadcrumb>:last-child>span,.uk-breadcrumb>:last-child>a:not([href]){color:#666}.uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before{content:"/";display:inline-block;margin:0 20px 0 16px;font-size:.875rem;color:#999}.uk-pagination{display:flex;flex-wrap:wrap;align-items:center;margin-left:0;padding:0;list-style:none}.uk-pagination>*{flex:none;padding-left:0;position:relative}.uk-pagination>*>*{display:flex;align-items:center;column-gap:.25em;padding:5px 10px;color:#999;transition:color .1s ease-in-out}.uk-pagination>*>:hover{color:#666;text-decoration:none}.uk-pagination>.uk-active>*{color:#666}.uk-pagination>.uk-disabled>*{color:#999}.uk-tab{display:flex;flex-wrap:wrap;margin-left:-20px;padding:0;list-style:none;position:relative}.uk-tab:before{content:"";position:absolute;bottom:0;left:20px;right:0;border-bottom:1px solid #e5e5e5}.uk-tab>*{flex:none;padding-left:20px;position:relative}.uk-tab>*>a{display:flex;align-items:center;column-gap:.25em;justify-content:center;padding:5px 10px;color:#999;border-bottom:1px solid transparent;font-size:.875rem;text-transform:uppercase;transition:color .1s ease-in-out}.uk-tab>*>a:hover{color:#666;text-decoration:none}.uk-tab>.uk-active>a{color:#333;border-color:#1e87f0}.uk-tab>.uk-disabled>a{color:#999}.uk-tab-bottom:before{top:0;bottom:auto}.uk-tab-bottom>*>a{border-top:1px solid transparent;border-bottom:none}.uk-tab-left,.uk-tab-right{flex-direction:column;margin-left:0}.uk-tab-left>*,.uk-tab-right>*{padding-left:0}.uk-tab-left:before{inset:0 0 0 auto;border-left:1px solid #e5e5e5;border-bottom:none}.uk-tab-right:before{inset:0 auto 0 0;border-left:1px solid #e5e5e5;border-bottom:none}.uk-tab-left>*>a{justify-content:left;border-right:1px solid transparent;border-bottom:none}.uk-tab-right>*>a{justify-content:left;border-left:1px solid transparent;border-bottom:none}.uk-tab .uk-dropdown{margin-left:30px}.uk-slidenav{padding:5px 10px;color:#66666680;transition:color .1s ease-in-out}.uk-slidenav:hover{color:#666666e6}.uk-slidenav:active{color:#66666680}.uk-slidenav-large{padding:10px}.uk-slidenav-container{display:flex}.uk-dotnav{display:flex;flex-wrap:wrap;padding:0;list-style:none;margin:0 0 0 -12px}.uk-dotnav>*{flex:none;padding-left:12px}.uk-dotnav>*>*{display:block;box-sizing:border-box;width:10px;height:10px;border-radius:50%;background:transparent;text-indent:100%;overflow:hidden;white-space:nowrap;border:1px solid rgba(102,102,102,.4);transition:.2s ease-in-out;transition-property:background-color,border-color}.uk-dotnav>*>:hover{background-color:#6669;border-color:transparent}.uk-dotnav>*>:active{background-color:#6663;border-color:transparent}.uk-dotnav>.uk-active>*{background-color:#6669;border-color:transparent}.uk-dotnav-vertical{flex-direction:column;margin-left:0;margin-top:-12px}.uk-dotnav-vertical>*{padding-left:0;padding-top:12px}.uk-thumbnav{display:flex;flex-wrap:wrap;padding:0;list-style:none;margin:0 0 0 -15px}.uk-thumbnav>*{padding-left:15px}.uk-thumbnav>*>*{display:inline-block;position:relative}.uk-thumbnav>*>*:after{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.4));transition:opacity .1s ease-in-out}.uk-thumbnav>*>:hover:after{opacity:0}.uk-thumbnav>.uk-active>*:after{opacity:0}.uk-thumbnav-vertical{flex-direction:column;margin-left:0;margin-top:-15px}.uk-thumbnav-vertical>*{padding-left:0;padding-top:15px}.uk-iconnav{display:flex;flex-wrap:wrap;padding:0;list-style:none;margin:0 0 0 -10px}.uk-iconnav>*{padding-left:10px}.uk-iconnav>*>a{display:flex;align-items:center;column-gap:.25em;line-height:0;color:#999;text-decoration:none;font-size:.875rem;transition:.1s ease-in-out;transition-property:color,background-color}.uk-iconnav>*>a:hover{color:#666}.uk-iconnav>.uk-active>a{color:#666}.uk-iconnav-vertical{flex-direction:column;margin-left:0;margin-top:-10px}.uk-iconnav-vertical>*{padding-left:0;padding-top:10px}.uk-dropdown{--uk-position-offset: 10px;--uk-position-viewport-offset: 15px;width:auto;min-width:200px;padding:25px;background:#fff;color:#666;box-shadow:0 5px 12px #00000026}.uk-dropdown>:last-child{margin-bottom:0}.uk-dropdown :focus-visible{outline-color:#333!important}.uk-dropdown-large{padding:40px}.uk-dropdown-dropbar{width:auto;background:transparent;padding:5px 0 25px;--uk-position-viewport-offset: 15px;box-shadow:none}@media (min-width: 640px){.uk-dropdown-dropbar{--uk-position-viewport-offset: 30px}}@media (min-width: 960px){.uk-dropdown-dropbar{--uk-position-viewport-offset: 40px}}.uk-dropdown-dropbar-large{padding-top:40px;padding-bottom:40px}.uk-dropdown-nav{font-size:.875rem}.uk-dropdown-nav>li>a{color:#999}.uk-dropdown-nav>li>a:hover,.uk-dropdown-nav>li.uk-active>a{color:#666}.uk-dropdown-nav .uk-nav-subtitle{font-size:12px}.uk-dropdown-nav .uk-nav-header{color:#333}.uk-dropdown-nav .uk-nav-divider{border-top:1px solid #e5e5e5}.uk-dropdown-nav .uk-nav-sub a{color:#999}.uk-dropdown-nav .uk-nav-sub a:hover,.uk-dropdown-nav .uk-nav-sub li.uk-active>a{color:#666}.uk-lightbox{display:none;position:fixed;inset:0;z-index:1010;background:#000;opacity:0;transition:opacity .15s linear;touch-action:pinch-zoom}.uk-lightbox.uk-open{display:block;opacity:1}.uk-lightbox :focus-visible{outline-color:#ffffffb3}.uk-lightbox-page{overflow:hidden}.uk-lightbox-items>*{position:absolute;inset:0;display:none;justify-content:center;align-items:center;color:#ffffffb3;will-change:transform,opacity}.uk-lightbox-items>*>*{max-width:100vw;max-height:100vh}.uk-lightbox-items>*>:not(iframe){width:auto;height:auto}.uk-lightbox-items>.uk-active{display:flex}.uk-lightbox-toolbar{padding:10px;background:rgba(0,0,0,.3);color:#ffffffb3}.uk-lightbox-toolbar>*{color:#ffffffb3}.uk-lightbox-toolbar-icon{padding:5px;color:#ffffffb3}.uk-lightbox-toolbar-icon:hover{color:#fff}.uk-lightbox-button{box-sizing:border-box;width:50px;height:50px;background:rgba(0,0,0,.3);color:#ffffffb3;display:inline-flex;justify-content:center;align-items:center}.uk-lightbox-button:hover{color:#fff}.uk-lightbox-caption:empty{display:none}.uk-lightbox-iframe{width:80%;height:80%}[class*=uk-animation-]{animation:.5s ease-out both}.uk-animation-fade{animation-name:uk-fade;animation-duration:.8s;animation-timing-function:linear}.uk-animation-scale-up{animation-name:uk-fade,uk-scale-up}.uk-animation-scale-down{animation-name:uk-fade,uk-scale-down}.uk-animation-slide-top{animation-name:uk-fade,uk-slide-top}.uk-animation-slide-bottom{animation-name:uk-fade,uk-slide-bottom}.uk-animation-slide-left{animation-name:uk-fade,uk-slide-left}.uk-animation-slide-right{animation-name:uk-fade,uk-slide-right}.uk-animation-slide-top-small{animation-name:uk-fade,uk-slide-top-small}.uk-animation-slide-bottom-small{animation-name:uk-fade,uk-slide-bottom-small}.uk-animation-slide-left-small{animation-name:uk-fade,uk-slide-left-small}.uk-animation-slide-right-small{animation-name:uk-fade,uk-slide-right-small}.uk-animation-slide-top-medium{animation-name:uk-fade,uk-slide-top-medium}.uk-animation-slide-bottom-medium{animation-name:uk-fade,uk-slide-bottom-medium}.uk-animation-slide-left-medium{animation-name:uk-fade,uk-slide-left-medium}.uk-animation-slide-right-medium{animation-name:uk-fade,uk-slide-right-medium}.uk-animation-kenburns{animation-name:uk-kenburns;animation-duration:15s}.uk-animation-shake{animation-name:uk-shake}.uk-animation-stroke{animation-name:uk-stroke;animation-duration:2s;stroke-dasharray:var(--uk-animation-stroke)}.uk-animation-reverse{animation-direction:reverse;animation-timing-function:ease-in}.uk-animation-fast{animation-duration:.1s}.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-]{animation-name:none}@keyframes uk-fade{0%{opacity:0}to{opacity:1}}@keyframes uk-scale-up{0%{transform:scale(.9)}to{transform:scale(1)}}@keyframes uk-scale-down{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes uk-slide-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes uk-slide-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes uk-slide-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes uk-slide-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes uk-slide-top-small{0%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes uk-slide-bottom-small{0%{transform:translateY(10px)}to{transform:translateY(0)}}@keyframes uk-slide-left-small{0%{transform:translate(-10px)}to{transform:translate(0)}}@keyframes uk-slide-right-small{0%{transform:translate(10px)}to{transform:translate(0)}}@keyframes uk-slide-top-medium{0%{transform:translateY(-50px)}to{transform:translateY(0)}}@keyframes uk-slide-bottom-medium{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes uk-slide-left-medium{0%{transform:translate(-50px)}to{transform:translate(0)}}@keyframes uk-slide-right-medium{0%{transform:translate(50px)}to{transform:translate(0)}}@keyframes uk-kenburns{0%{transform:scale(1)}to{transform:scale(1.2)}}@keyframes uk-shake{0%,to{transform:translate(0)}10%{transform:translate(-9px)}20%{transform:translate(8px)}30%{transform:translate(-7px)}40%{transform:translate(6px)}50%{transform:translate(-5px)}60%{transform:translate(4px)}70%{transform:translate(-3px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}}@keyframes uk-stroke{0%{stroke-dashoffset:var(--uk-animation-stroke)}to{stroke-dashoffset:0}}[class*=uk-child-width]>*{box-sizing:border-box;width:100%}.uk-child-width-1-2>*{width:50%}.uk-child-width-1-3>*{width:calc(100% * 1 / 3.001)}.uk-child-width-1-4>*{width:25%}.uk-child-width-1-5>*{width:20%}.uk-child-width-1-6>*{width:calc(100% * 1 / 6.001)}.uk-child-width-auto>*{width:auto}.uk-child-width-expand>:not([class*=uk-width]){flex:1;min-width:1px}@media (min-width: 640px){.uk-child-width-1-1\@s>*{width:100%}.uk-child-width-1-2\@s>*{width:50%}.uk-child-width-1-3\@s>*{width:calc(100% * 1 / 3.001)}.uk-child-width-1-4\@s>*{width:25%}.uk-child-width-1-5\@s>*{width:20%}.uk-child-width-1-6\@s>*{width:calc(100% * 1 / 6.001)}.uk-child-width-auto\@s>*{width:auto}.uk-child-width-expand\@s>:not([class*=uk-width]){flex:1;min-width:1px}}@media (min-width: 960px){.uk-child-width-1-1\@m>*{width:100%}.uk-child-width-1-2\@m>*{width:50%}.uk-child-width-1-3\@m>*{width:calc(100% * 1 / 3.001)}.uk-child-width-1-4\@m>*{width:25%}.uk-child-width-1-5\@m>*{width:20%}.uk-child-width-1-6\@m>*{width:calc(100% * 1 / 6.001)}.uk-child-width-auto\@m>*{width:auto}.uk-child-width-expand\@m>:not([class*=uk-width]){flex:1;min-width:1px}}@media (min-width: 1200px){.uk-child-width-1-1\@l>*{width:100%}.uk-child-width-1-2\@l>*{width:50%}.uk-child-width-1-3\@l>*{width:calc(100% * 1 / 3.001)}.uk-child-width-1-4\@l>*{width:25%}.uk-child-width-1-5\@l>*{width:20%}.uk-child-width-1-6\@l>*{width:calc(100% * 1 / 6.001)}.uk-child-width-auto\@l>*{width:auto}.uk-child-width-expand\@l>:not([class*=uk-width]){flex:1;min-width:1px}}@media (min-width: 1600px){.uk-child-width-1-1\@xl>*{width:100%}.uk-child-width-1-2\@xl>*{width:50%}.uk-child-width-1-3\@xl>*{width:calc(100% * 1 / 3.001)}.uk-child-width-1-4\@xl>*{width:25%}.uk-child-width-1-5\@xl>*{width:20%}.uk-child-width-1-6\@xl>*{width:calc(100% * 1 / 6.001)}.uk-child-width-auto\@xl>*{width:auto}.uk-child-width-expand\@xl>:not([class*=uk-width]){flex:1;min-width:1px}}[class*=uk-width]{box-sizing:border-box;width:100%;max-width:100%}.uk-width-1-2{width:50%}.uk-width-1-3{width:calc(100% * 1 / 3.001)}.uk-width-2-3{width:calc(100% * 2 / 3.001)}.uk-width-1-4{width:25%}.uk-width-3-4{width:75%}.uk-width-1-5{width:20%}.uk-width-2-5{width:40%}.uk-width-3-5{width:60%}.uk-width-4-5{width:80%}.uk-width-1-6{width:calc(100% * 1 / 6.001)}.uk-width-5-6{width:calc(100% * 5 / 6.001)}.uk-width-small{width:150px}.uk-width-medium{width:300px}.uk-width-large{width:450px}.uk-width-xlarge{width:600px}.uk-width-2xlarge{width:750px}.uk-width-auto{width:auto}.uk-width-expand{flex:1;min-width:1px}@media (min-width: 640px){.uk-width-1-1\@s{width:100%}.uk-width-1-2\@s{width:50%}.uk-width-1-3\@s{width:calc(100% * 1 / 3.001)}.uk-width-2-3\@s{width:calc(100% * 2 / 3.001)}.uk-width-1-4\@s{width:25%}.uk-width-3-4\@s{width:75%}.uk-width-1-5\@s{width:20%}.uk-width-2-5\@s{width:40%}.uk-width-3-5\@s{width:60%}.uk-width-4-5\@s{width:80%}.uk-width-1-6\@s{width:calc(100% * 1 / 6.001)}.uk-width-5-6\@s{width:calc(100% * 5 / 6.001)}.uk-width-small\@s{width:150px}.uk-width-medium\@s{width:300px}.uk-width-large\@s{width:450px}.uk-width-xlarge\@s{width:600px}.uk-width-2xlarge\@s{width:750px}.uk-width-auto\@s{width:auto}.uk-width-expand\@s{flex:1;min-width:1px}}@media (min-width: 960px){.uk-width-1-1\@m{width:100%}.uk-width-1-2\@m{width:50%}.uk-width-1-3\@m{width:calc(100% * 1 / 3.001)}.uk-width-2-3\@m{width:calc(100% * 2 / 3.001)}.uk-width-1-4\@m{width:25%}.uk-width-3-4\@m{width:75%}.uk-width-1-5\@m{width:20%}.uk-width-2-5\@m{width:40%}.uk-width-3-5\@m{width:60%}.uk-width-4-5\@m{width:80%}.uk-width-1-6\@m{width:calc(100% * 1 / 6.001)}.uk-width-5-6\@m{width:calc(100% * 5 / 6.001)}.uk-width-small\@m{width:150px}.uk-width-medium\@m{width:300px}.uk-width-large\@m{width:450px}.uk-width-xlarge\@m{width:600px}.uk-width-2xlarge\@m{width:750px}.uk-width-auto\@m{width:auto}.uk-width-expand\@m{flex:1;min-width:1px}}@media (min-width: 1200px){.uk-width-1-1\@l{width:100%}.uk-width-1-2\@l{width:50%}.uk-width-1-3\@l{width:calc(100% * 1 / 3.001)}.uk-width-2-3\@l{width:calc(100% * 2 / 3.001)}.uk-width-1-4\@l{width:25%}.uk-width-3-4\@l{width:75%}.uk-width-1-5\@l{width:20%}.uk-width-2-5\@l{width:40%}.uk-width-3-5\@l{width:60%}.uk-width-4-5\@l{width:80%}.uk-width-1-6\@l{width:calc(100% * 1 / 6.001)}.uk-width-5-6\@l{width:calc(100% * 5 / 6.001)}.uk-width-small\@l{width:150px}.uk-width-medium\@l{width:300px}.uk-width-large\@l{width:450px}.uk-width-xlarge\@l{width:600px}.uk-width-2xlarge\@l{width:750px}.uk-width-auto\@l{width:auto}.uk-width-expand\@l{flex:1;min-width:1px}}@media (min-width: 1600px){.uk-width-1-1\@xl{width:100%}.uk-width-1-2\@xl{width:50%}.uk-width-1-3\@xl{width:calc(100% * 1 / 3.001)}.uk-width-2-3\@xl{width:calc(100% * 2 / 3.001)}.uk-width-1-4\@xl{width:25%}.uk-width-3-4\@xl{width:75%}.uk-width-1-5\@xl{width:20%}.uk-width-2-5\@xl{width:40%}.uk-width-3-5\@xl{width:60%}.uk-width-4-5\@xl{width:80%}.uk-width-1-6\@xl{width:calc(100% * 1 / 6.001)}.uk-width-5-6\@xl{width:calc(100% * 5 / 6.001)}.uk-width-small\@xl{width:150px}.uk-width-medium\@xl{width:300px}.uk-width-large\@xl{width:450px}.uk-width-xlarge\@xl{width:600px}.uk-width-2xlarge\@xl{width:750px}.uk-width-auto\@xl{width:auto}.uk-width-expand\@xl{flex:1;min-width:1px}}.uk-width-max-content{width:max-content}.uk-width-min-content{width:min-content}[class*=uk-height]{box-sizing:border-box}.uk-height-1-1{height:100%}.uk-height-viewport{min-height:100vh}.uk-height-viewport-2{min-height:200vh}.uk-height-viewport-3{min-height:300vh}.uk-height-viewport-4{min-height:400vh}.uk-height-small{height:150px}.uk-height-medium{height:300px}.uk-height-large{height:450px}.uk-height-max-small{max-height:150px}.uk-height-max-medium{max-height:300px}.uk-height-max-large{max-height:450px}.uk-text-lead{font-size:1.5rem;line-height:1.5;color:#333}.uk-text-meta{font-size:.875rem;line-height:1.4;color:#999}.uk-text-meta>a{color:#999}.uk-text-meta>a:hover{color:#666;text-decoration:none}.uk-text-small{font-size:.875rem;line-height:1.5}.uk-text-large{font-size:1.5rem;line-height:1.5}.uk-text-default{font-size:16px;line-height:1.5}.uk-text-light{font-weight:300}.uk-text-normal{font-weight:400}.uk-text-bold{font-weight:700}.uk-text-lighter{font-weight:lighter}.uk-text-bolder{font-weight:bolder}.uk-text-italic{font-style:italic}.uk-text-capitalize{text-transform:capitalize!important}.uk-text-uppercase{text-transform:uppercase!important}.uk-text-lowercase{text-transform:lowercase!important}.uk-text-decoration-none{text-decoration:none!important}.uk-text-muted{color:#999!important}.uk-text-emphasis{color:#333!important}.uk-text-primary{color:#1e87f0!important}.uk-text-secondary{color:#222!important}.uk-text-success{color:#32d296!important}.uk-text-warning{color:#faa05a!important}.uk-text-danger{color:#f0506e!important}.uk-text-background{-webkit-background-clip:text;color:transparent!important;display:inline-block;background-color:#1e87f0;background-image:linear-gradient(90deg,#1e87f0 0%,#411ef0 100%)}.uk-text-left{text-align:left!important}.uk-text-right{text-align:right!important}.uk-text-center{text-align:center!important}.uk-text-justify{text-align:justify!important}@media (min-width: 640px){.uk-text-left\@s{text-align:left!important}.uk-text-right\@s{text-align:right!important}.uk-text-center\@s{text-align:center!important}}@media (min-width: 960px){.uk-text-left\@m{text-align:left!important}.uk-text-right\@m{text-align:right!important}.uk-text-center\@m{text-align:center!important}}@media (min-width: 1200px){.uk-text-left\@l{text-align:left!important}.uk-text-right\@l{text-align:right!important}.uk-text-center\@l{text-align:center!important}}@media (min-width: 1600px){.uk-text-left\@xl{text-align:left!important}.uk-text-right\@xl{text-align:right!important}.uk-text-center\@xl{text-align:center!important}}.uk-text-top{vertical-align:top!important}.uk-text-middle{vertical-align:middle!important}.uk-text-bottom{vertical-align:bottom!important}.uk-text-baseline{vertical-align:baseline!important}.uk-text-nowrap{white-space:nowrap}.uk-text-truncate{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th.uk-text-truncate,td.uk-text-truncate{max-width:0}.uk-text-break{overflow-wrap:break-word}th.uk-text-break,td.uk-text-break{word-break:break-word}[class*=uk-column-]{column-gap:30px}@media (min-width: 1200px){[class*=uk-column-]{column-gap:40px}}[class*=uk-column-] img{transform:translateZ(0)}.uk-column-divider{column-rule:1px solid #e5e5e5;column-gap:60px}@media (min-width: 1200px){.uk-column-divider{column-gap:80px}}.uk-column-1-2{column-count:2}.uk-column-1-3{column-count:3}.uk-column-1-4{column-count:4}.uk-column-1-5{column-count:5}.uk-column-1-6{column-count:6}@media (min-width: 640px){.uk-column-1-2\@s{column-count:2}.uk-column-1-3\@s{column-count:3}.uk-column-1-4\@s{column-count:4}.uk-column-1-5\@s{column-count:5}.uk-column-1-6\@s{column-count:6}}@media (min-width: 960px){.uk-column-1-2\@m{column-count:2}.uk-column-1-3\@m{column-count:3}.uk-column-1-4\@m{column-count:4}.uk-column-1-5\@m{column-count:5}.uk-column-1-6\@m{column-count:6}}@media (min-width: 1200px){.uk-column-1-2\@l{column-count:2}.uk-column-1-3\@l{column-count:3}.uk-column-1-4\@l{column-count:4}.uk-column-1-5\@l{column-count:5}.uk-column-1-6\@l{column-count:6}}@media (min-width: 1600px){.uk-column-1-2\@xl{column-count:2}.uk-column-1-3\@xl{column-count:3}.uk-column-1-4\@xl{column-count:4}.uk-column-1-5\@xl{column-count:5}.uk-column-1-6\@xl{column-count:6}}.uk-column-span{column-span:all}[uk-cover]:where(canvas,iframe,svg),[data-uk-cover]:where(canvas,iframe,svg){max-width:none;position:absolute;left:50%;top:50%;--uk-position-translate-x: -50%;--uk-position-translate-y: -50%;transform:translate(var(--uk-position-translate-x),var(--uk-position-translate-y))}iframe[uk-cover],iframe[data-uk-cover]{pointer-events:none}[uk-cover]:where(img,video),[data-uk-cover]:where(img,video){position:absolute;top:0;left:0;width:100%;height:100%;box-sizing:border-box;object-fit:cover;object-position:center}.uk-cover-container{overflow:hidden;position:relative}.uk-background-default{background-color:#fff}.uk-background-muted{background-color:#f8f8f8}.uk-background-primary{background-color:#1e87f0}.uk-background-secondary{background-color:#222}.uk-background-cover,.uk-background-contain,.uk-background-width-1-1,.uk-background-height-1-1{background-position:50% 50%;background-repeat:no-repeat}.uk-background-cover{background-size:cover}.uk-background-contain{background-size:contain}.uk-background-width-1-1{background-size:100%}.uk-background-height-1-1{background-size:auto 100%}.uk-background-top-left{background-position:0 0}.uk-background-top-center{background-position:50% 0}.uk-background-top-right{background-position:100% 0}.uk-background-center-left{background-position:0 50%}.uk-background-center-center{background-position:50% 50%}.uk-background-center-right{background-position:100% 50%}.uk-background-bottom-left{background-position:0 100%}.uk-background-bottom-center{background-position:50% 100%}.uk-background-bottom-right{background-position:100% 100%}.uk-background-norepeat{background-repeat:no-repeat}.uk-background-fixed{background-attachment:fixed;backface-visibility:hidden}@media (pointer: coarse){.uk-background-fixed{background-attachment:scroll}}@media (max-width: 639px){.uk-background-image\@s{background-image:none!important}}@media (max-width: 959px){.uk-background-image\@m{background-image:none!important}}@media (max-width: 1199px){.uk-background-image\@l{background-image:none!important}}@media (max-width: 1599px){.uk-background-image\@xl{background-image:none!important}}.uk-background-blend-multiply{background-blend-mode:multiply}.uk-background-blend-screen{background-blend-mode:screen}.uk-background-blend-overlay{background-blend-mode:overlay}.uk-background-blend-darken{background-blend-mode:darken}.uk-background-blend-lighten{background-blend-mode:lighten}.uk-background-blend-color-dodge{background-blend-mode:color-dodge}.uk-background-blend-color-burn{background-blend-mode:color-burn}.uk-background-blend-hard-light{background-blend-mode:hard-light}.uk-background-blend-soft-light{background-blend-mode:soft-light}.uk-background-blend-difference{background-blend-mode:difference}.uk-background-blend-exclusion{background-blend-mode:exclusion}.uk-background-blend-hue{background-blend-mode:hue}.uk-background-blend-saturation{background-blend-mode:saturation}.uk-background-blend-color{background-blend-mode:color}.uk-background-blend-luminosity{background-blend-mode:luminosity}[class*=uk-align]{display:block;margin-bottom:30px}*+[class*=uk-align]{margin-top:30px}.uk-align-center{margin-left:auto;margin-right:auto}.uk-align-left{margin-top:0;margin-right:30px;float:left}.uk-align-right{margin-top:0;margin-left:30px;float:right}@media (min-width: 640px){.uk-align-left\@s{margin-top:0;margin-right:30px;float:left}.uk-align-right\@s{margin-top:0;margin-left:30px;float:right}}@media (min-width: 960px){.uk-align-left\@m{margin-top:0;margin-right:30px;float:left}.uk-align-right\@m{margin-top:0;margin-left:30px;float:right}}@media (min-width: 1200px){.uk-align-left\@l{margin-top:0;float:left}.uk-align-right\@l{margin-top:0;float:right}.uk-align-left,.uk-align-left\@s,.uk-align-left\@m,.uk-align-left\@l{margin-right:40px}.uk-align-right,.uk-align-right\@s,.uk-align-right\@m,.uk-align-right\@l{margin-left:40px}}@media (min-width: 1600px){.uk-align-left\@xl{margin-top:0;margin-right:40px;float:left}.uk-align-right\@xl{margin-top:0;margin-left:40px;float:right}}.uk-svg,.uk-svg:not(.uk-preserve) [fill*="#"]:not(.uk-preserve){fill:currentcolor}.uk-svg:not(.uk-preserve) [stroke*="#"]:not(.uk-preserve){stroke:currentcolor}.uk-svg{transform:translate(0)}.uk-panel{display:flow-root;position:relative;box-sizing:border-box}.uk-panel>:last-child{margin-bottom:0}.uk-panel-scrollable{height:170px;padding:10px;border:1px solid #e5e5e5;overflow:auto;resize:both}.uk-clearfix:before{content:"";display:table-cell}.uk-clearfix:after{content:"";display:table;clear:both}.uk-float-left{float:left}.uk-float-right{float:right}[class*=uk-float-]{max-width:100%}.uk-overflow-hidden{overflow:hidden}.uk-overflow-auto{overflow:auto}.uk-overflow-auto>:last-child{margin-bottom:0}.uk-box-sizing-content{box-sizing:content-box}.uk-box-sizing-border{box-sizing:border-box}.uk-resize{resize:both}.uk-resize-horizontal{resize:horizontal}.uk-resize-vertical{resize:vertical}.uk-display-block{display:block!important}.uk-display-inline{display:inline!important}.uk-display-inline-block{display:inline-block!important}[class*=uk-inline]{display:inline-block;position:relative;max-width:100%;vertical-align:middle;-webkit-backface-visibility:hidden}.uk-inline-clip{overflow:hidden}.uk-preserve-width,.uk-preserve-width canvas,.uk-preserve-width img,.uk-preserve-width svg,.uk-preserve-width video{max-width:none}.uk-responsive-width,.uk-responsive-height{box-sizing:border-box}.uk-responsive-width{max-width:100%!important;height:auto}.uk-responsive-height{max-height:100%;width:auto;max-width:none}[uk-responsive],[data-uk-responsive]{max-width:100%}.uk-object-cover{object-fit:cover}.uk-object-contain{object-fit:contain}.uk-object-fill{object-fit:fill}.uk-object-none{object-fit:none}.uk-object-scale-down{object-fit:scale-down}.uk-object-top-left{object-position:0 0}.uk-object-top-center{object-position:50% 0}.uk-object-top-right{object-position:100% 0}.uk-object-center-left{object-position:0 50%}.uk-object-center-center{object-position:50% 50%}.uk-object-center-right{object-position:100% 50%}.uk-object-bottom-left{object-position:0 100%}.uk-object-bottom-center{object-position:50% 100%}.uk-object-bottom-right{object-position:100% 100%}.uk-border-circle{border-radius:50%}.uk-border-pill{border-radius:500px}.uk-border-rounded{border-radius:5px}.uk-inline-clip[class*=uk-border-]{-webkit-transform:translateZ(0)}.uk-box-shadow-small{box-shadow:0 2px 8px #00000014}.uk-box-shadow-medium{box-shadow:0 5px 15px #00000014}.uk-box-shadow-large{box-shadow:0 14px 25px #00000029}.uk-box-shadow-xlarge{box-shadow:0 28px 50px #00000029}[class*=uk-box-shadow-hover]{transition:box-shadow .1s ease-in-out}.uk-box-shadow-hover-small:hover{box-shadow:0 2px 8px #00000014}.uk-box-shadow-hover-medium:hover{box-shadow:0 5px 15px #00000014}.uk-box-shadow-hover-large:hover{box-shadow:0 14px 25px #00000029}.uk-box-shadow-hover-xlarge:hover{box-shadow:0 28px 50px #00000029}@supports (filter: blur(0)){.uk-box-shadow-bottom{display:inline-block;position:relative;z-index:0;max-width:100%;vertical-align:middle}.uk-box-shadow-bottom:after{content:"";position:absolute;bottom:-30px;left:0;right:0;z-index:-1;height:30px;border-radius:100%;background:#444;filter:blur(20px);will-change:filter}}.uk-dropcap:first-letter,.uk-dropcap>p:first-of-type:first-letter{display:block;margin-right:10px;float:left;font-size:4.5em;line-height:1;margin-bottom:-2px}@-moz-document url-prefix(){.uk-dropcap:first-letter,.uk-dropcap>p:first-of-type:first-letter{margin-top:1.1%}}.uk-logo{font-size:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";color:#333;text-decoration:none}:where(.uk-logo){display:inline-block;vertical-align:middle}.uk-logo:hover{color:#333;text-decoration:none}.uk-logo :where(img,svg,video){display:block}.uk-logo-inverse{display:none}.uk-disabled{pointer-events:none}.uk-drag,.uk-drag *{cursor:move}.uk-drag iframe{pointer-events:none}.uk-dragover{box-shadow:0 0 20px #6464644d}.uk-blend-multiply{mix-blend-mode:multiply}.uk-blend-screen{mix-blend-mode:screen}.uk-blend-overlay{mix-blend-mode:overlay}.uk-blend-darken{mix-blend-mode:darken}.uk-blend-lighten{mix-blend-mode:lighten}.uk-blend-color-dodge{mix-blend-mode:color-dodge}.uk-blend-color-burn{mix-blend-mode:color-burn}.uk-blend-hard-light{mix-blend-mode:hard-light}.uk-blend-soft-light{mix-blend-mode:soft-light}.uk-blend-difference{mix-blend-mode:difference}.uk-blend-exclusion{mix-blend-mode:exclusion}.uk-blend-hue{mix-blend-mode:hue}.uk-blend-saturation{mix-blend-mode:saturation}.uk-blend-color{mix-blend-mode:color}.uk-blend-luminosity{mix-blend-mode:luminosity}.uk-transform-center{transform:translate(-50%,-50%)}.uk-transform-origin-top-left{transform-origin:0 0}.uk-transform-origin-top-center{transform-origin:50% 0}.uk-transform-origin-top-right{transform-origin:100% 0}.uk-transform-origin-center-left{transform-origin:0 50%}.uk-transform-origin-center-right{transform-origin:100% 50%}.uk-transform-origin-bottom-left{transform-origin:0 100%}.uk-transform-origin-bottom-center{transform-origin:50% 100%}.uk-transform-origin-bottom-right{transform-origin:100% 100%}.uk-flex{display:flex}.uk-flex-inline{display:inline-flex}.uk-flex-left{justify-content:flex-start}.uk-flex-center{justify-content:center}.uk-flex-right{justify-content:flex-end}.uk-flex-between{justify-content:space-between}.uk-flex-around{justify-content:space-around}@media (min-width: 640px){.uk-flex-left\@s{justify-content:flex-start}.uk-flex-center\@s{justify-content:center}.uk-flex-right\@s{justify-content:flex-end}.uk-flex-between\@s{justify-content:space-between}.uk-flex-around\@s{justify-content:space-around}}@media (min-width: 960px){.uk-flex-left\@m{justify-content:flex-start}.uk-flex-center\@m{justify-content:center}.uk-flex-right\@m{justify-content:flex-end}.uk-flex-between\@m{justify-content:space-between}.uk-flex-around\@m{justify-content:space-around}}@media (min-width: 1200px){.uk-flex-left\@l{justify-content:flex-start}.uk-flex-center\@l{justify-content:center}.uk-flex-right\@l{justify-content:flex-end}.uk-flex-between\@l{justify-content:space-between}.uk-flex-around\@l{justify-content:space-around}}@media (min-width: 1600px){.uk-flex-left\@xl{justify-content:flex-start}.uk-flex-center\@xl{justify-content:center}.uk-flex-right\@xl{justify-content:flex-end}.uk-flex-between\@xl{justify-content:space-between}.uk-flex-around\@xl{justify-content:space-around}}.uk-flex-stretch{align-items:stretch}.uk-flex-top{align-items:flex-start}.uk-flex-middle{align-items:center}.uk-flex-bottom{align-items:flex-end}.uk-flex-row{flex-direction:row}.uk-flex-row-reverse{flex-direction:row-reverse}.uk-flex-column{flex-direction:column}.uk-flex-column-reverse{flex-direction:column-reverse}.uk-flex-nowrap{flex-wrap:nowrap}.uk-flex-wrap{flex-wrap:wrap}.uk-flex-wrap-reverse{flex-wrap:wrap-reverse}.uk-flex-wrap-stretch{align-content:stretch}.uk-flex-wrap-top{align-content:flex-start}.uk-flex-wrap-middle{align-content:center}.uk-flex-wrap-bottom{align-content:flex-end}.uk-flex-wrap-between{align-content:space-between}.uk-flex-wrap-around{align-content:space-around}.uk-flex-first{order:-1}.uk-flex-last{order:99}@media (min-width: 640px){.uk-flex-first\@s{order:-1}.uk-flex-last\@s{order:99}}@media (min-width: 960px){.uk-flex-first\@m{order:-1}.uk-flex-last\@m{order:99}}@media (min-width: 1200px){.uk-flex-first\@l{order:-1}.uk-flex-last\@l{order:99}}@media (min-width: 1600px){.uk-flex-first\@xl{order:-1}.uk-flex-last\@xl{order:99}}.uk-flex-none{flex:none}.uk-flex-auto{flex:auto}.uk-flex-1{flex:1}.uk-margin{margin-bottom:20px}*+.uk-margin{margin-top:20px!important}.uk-margin-top{margin-top:20px!important}.uk-margin-bottom{margin-bottom:20px!important}.uk-margin-left{margin-left:20px!important}.uk-margin-right{margin-right:20px!important}.uk-margin-small{margin-bottom:10px}*+.uk-margin-small{margin-top:10px!important}.uk-margin-small-top{margin-top:10px!important}.uk-margin-small-bottom{margin-bottom:10px!important}.uk-margin-small-left{margin-left:10px!important}.uk-margin-small-right{margin-right:10px!important}.uk-margin-medium{margin-bottom:40px}*+.uk-margin-medium{margin-top:40px!important}.uk-margin-medium-top{margin-top:40px!important}.uk-margin-medium-bottom{margin-bottom:40px!important}.uk-margin-medium-left{margin-left:40px!important}.uk-margin-medium-right{margin-right:40px!important}.uk-margin-large{margin-bottom:40px}*+.uk-margin-large{margin-top:40px!important}.uk-margin-large-top{margin-top:40px!important}.uk-margin-large-bottom{margin-bottom:40px!important}.uk-margin-large-left{margin-left:40px!important}.uk-margin-large-right{margin-right:40px!important}@media (min-width: 1200px){.uk-margin-large{margin-bottom:70px}*+.uk-margin-large{margin-top:70px!important}.uk-margin-large-top{margin-top:70px!important}.uk-margin-large-bottom{margin-bottom:70px!important}.uk-margin-large-left{margin-left:70px!important}.uk-margin-large-right{margin-right:70px!important}}.uk-margin-xlarge{margin-bottom:70px}*+.uk-margin-xlarge{margin-top:70px!important}.uk-margin-xlarge-top{margin-top:70px!important}.uk-margin-xlarge-bottom{margin-bottom:70px!important}.uk-margin-xlarge-left{margin-left:70px!important}.uk-margin-xlarge-right{margin-right:70px!important}@media (min-width: 1200px){.uk-margin-xlarge{margin-bottom:140px}*+.uk-margin-xlarge{margin-top:140px!important}.uk-margin-xlarge-top{margin-top:140px!important}.uk-margin-xlarge-bottom{margin-bottom:140px!important}.uk-margin-xlarge-left{margin-left:140px!important}.uk-margin-xlarge-right{margin-right:140px!important}}.uk-margin-auto{margin-left:auto!important;margin-right:auto!important}.uk-margin-auto-top{margin-top:auto!important}.uk-margin-auto-bottom{margin-bottom:auto!important}.uk-margin-auto-left{margin-left:auto!important}.uk-margin-auto-right{margin-right:auto!important}.uk-margin-auto-vertical{margin-top:auto!important;margin-bottom:auto!important}@media (min-width: 640px){.uk-margin-auto\@s{margin-left:auto!important;margin-right:auto!important}.uk-margin-auto-left\@s{margin-left:auto!important}.uk-margin-auto-right\@s{margin-right:auto!important}}@media (min-width: 960px){.uk-margin-auto\@m{margin-left:auto!important;margin-right:auto!important}.uk-margin-auto-left\@m{margin-left:auto!important}.uk-margin-auto-right\@m{margin-right:auto!important}}@media (min-width: 1200px){.uk-margin-auto\@l{margin-left:auto!important;margin-right:auto!important}.uk-margin-auto-left\@l{margin-left:auto!important}.uk-margin-auto-right\@l{margin-right:auto!important}}@media (min-width: 1600px){.uk-margin-auto\@xl{margin-left:auto!important;margin-right:auto!important}.uk-margin-auto-left\@xl{margin-left:auto!important}.uk-margin-auto-right\@xl{margin-right:auto!important}}.uk-margin-remove{margin:0!important}.uk-margin-remove-top{margin-top:0!important}.uk-margin-remove-bottom{margin-bottom:0!important}.uk-margin-remove-left{margin-left:0!important}.uk-margin-remove-right{margin-right:0!important}.uk-margin-remove-vertical{margin-top:0!important;margin-bottom:0!important}.uk-margin-remove-adjacent+*,.uk-margin-remove-first-child>:first-child{margin-top:0!important}.uk-margin-remove-last-child>:last-child{margin-bottom:0!important}@media (min-width: 640px){.uk-margin-remove-left\@s{margin-left:0!important}.uk-margin-remove-right\@s{margin-right:0!important}}@media (min-width: 960px){.uk-margin-remove-left\@m{margin-left:0!important}.uk-margin-remove-right\@m{margin-right:0!important}}@media (min-width: 1200px){.uk-margin-remove-left\@l{margin-left:0!important}.uk-margin-remove-right\@l{margin-right:0!important}}@media (min-width: 1600px){.uk-margin-remove-left\@xl{margin-left:0!important}.uk-margin-remove-right\@xl{margin-right:0!important}}.uk-padding{padding:30px}@media (min-width: 1200px){.uk-padding{padding:40px}}.uk-padding-small{padding:15px}.uk-padding-large{padding:40px}@media (min-width: 1200px){.uk-padding-large{padding:70px}}.uk-padding-remove{padding:0!important}.uk-padding-remove-top{padding-top:0!important}.uk-padding-remove-bottom{padding-bottom:0!important}.uk-padding-remove-left{padding-left:0!important}.uk-padding-remove-right{padding-right:0!important}.uk-padding-remove-vertical{padding-top:0!important;padding-bottom:0!important}.uk-padding-remove-horizontal{padding-left:0!important;padding-right:0!important}:root{--uk-position-margin-offset: 0px}[class*=uk-position-top],[class*=uk-position-bottom],[class*=uk-position-left],[class*=uk-position-right],[class*=uk-position-center]{position:absolute!important;max-width:calc(100% - (var(--uk-position-margin-offset) * 2));box-sizing:border-box}.uk-position-top{top:0;left:0;right:0}.uk-position-bottom{bottom:0;left:0;right:0}.uk-position-left{top:0;bottom:0;left:0}.uk-position-right{top:0;bottom:0;right:0}.uk-position-top-left{top:0;left:0}.uk-position-top-right{top:0;right:0}.uk-position-bottom-left{bottom:0;left:0}.uk-position-bottom-right{bottom:0;right:0}.uk-position-center{top:calc(50% - var(--uk-position-margin-offset));left:calc(50% - var(--uk-position-margin-offset));--uk-position-translate-x: -50%;--uk-position-translate-y: -50%;transform:translate(var(--uk-position-translate-x),var(--uk-position-translate-y));width:max-content}[class*=uk-position-center-left],[class*=uk-position-center-right]{top:calc(50% - var(--uk-position-margin-offset));--uk-position-translate-y: -50%;transform:translateY(var(--uk-position-translate-y))}.uk-position-center-left{left:0}.uk-position-center-right{right:0}.uk-position-center-left-out{right:100%;width:max-content}.uk-position-center-right-out{left:100%;width:max-content}.uk-position-top-center,.uk-position-bottom-center{left:calc(50% - var(--uk-position-margin-offset));--uk-position-translate-x: -50%;transform:translate(var(--uk-position-translate-x));width:max-content}.uk-position-top-center{top:0}.uk-position-bottom-center{bottom:0}.uk-position-cover{position:absolute;inset:0}.uk-position-small{margin:15px;--uk-position-margin-offset: 15px}.uk-position-medium,.uk-position-large{margin:30px;--uk-position-margin-offset: 30px}@media (min-width: 1200px){.uk-position-large{margin:50px;--uk-position-margin-offset: 50px}}.uk-position-relative{position:relative!important}.uk-position-absolute{position:absolute!important}.uk-position-fixed{position:fixed!important}.uk-position-sticky{position:sticky!important}.uk-position-z-index{z-index:1}.uk-position-z-index-zero{z-index:0}.uk-position-z-index-negative{z-index:-1}.uk-position-z-index-high{z-index:990}:where(.uk-transition-fade),:where([class*=uk-transition-scale]),:where([class*=uk-transition-slide]){--uk-position-translate-x: 0;--uk-position-translate-y: 0}.uk-transition-fade,[class*=uk-transition-scale],[class*=uk-transition-slide]{--uk-translate-x: 0;--uk-translate-y: 0;--uk-scale-x: 1;--uk-scale-y: 1;transform:translate(var(--uk-position-translate-x),var(--uk-position-translate-y)) translate(var(--uk-translate-x),var(--uk-translate-y)) scale(var(--uk-scale-x),var(--uk-scale-y));transition:.3s ease-out;transition-property:opacity,transform,filter;opacity:0}.uk-transition-toggle:hover .uk-transition-fade,.uk-transition-toggle:focus .uk-transition-fade,.uk-transition-toggle .uk-transition-fade:focus-within,.uk-transition-active.uk-active .uk-transition-fade{opacity:1}[class*=uk-transition-scale]{-webkit-backface-visibility:hidden}.uk-transition-scale-up{--uk-scale-x: 1;--uk-scale-y: 1}.uk-transition-scale-down{--uk-scale-x: 1.03;--uk-scale-y: 1.03}.uk-transition-toggle:hover .uk-transition-scale-up,.uk-transition-toggle:focus .uk-transition-scale-up,.uk-transition-toggle .uk-transition-scale-up:focus-within,.uk-transition-active.uk-active .uk-transition-scale-up{--uk-scale-x: 1.03;--uk-scale-y: 1.03;opacity:1}.uk-transition-toggle:hover .uk-transition-scale-down,.uk-transition-toggle:focus .uk-transition-scale-down,.uk-transition-toggle .uk-transition-scale-down:focus-within,.uk-transition-active.uk-active .uk-transition-scale-down{--uk-scale-x: 1;--uk-scale-y: 1;opacity:1}.uk-transition-slide-top{--uk-translate-y: -100%}.uk-transition-slide-bottom{--uk-translate-y: 100%}.uk-transition-slide-left{--uk-translate-x: -100%}.uk-transition-slide-right{--uk-translate-x: 100%}.uk-transition-slide-top-small{--uk-translate-y:-10px}.uk-transition-slide-bottom-small{--uk-translate-y: 10px}.uk-transition-slide-left-small{--uk-translate-x:-10px}.uk-transition-slide-right-small{--uk-translate-x: 10px}.uk-transition-slide-top-medium{--uk-translate-y:-50px}.uk-transition-slide-bottom-medium{--uk-translate-y: 50px}.uk-transition-slide-left-medium{--uk-translate-x:-50px}.uk-transition-slide-right-medium{--uk-translate-x: 50px}.uk-transition-toggle:hover [class*=uk-transition-slide],.uk-transition-toggle:focus [class*=uk-transition-slide],.uk-transition-toggle [class*=uk-transition-slide]:focus-within,.uk-transition-active.uk-active [class*=uk-transition-slide]{--uk-translate-x: 0;--uk-translate-y: 0;opacity:1}.uk-transition-opaque{opacity:1}.uk-transition-slow{transition-duration:.7s}.uk-transition-disable,.uk-transition-disable *{transition:none!important}[hidden],.uk-hidden{display:none!important}@media (min-width: 640px){.uk-hidden\@s{display:none!important}}@media (min-width: 960px){.uk-hidden\@m{display:none!important}}@media (min-width: 1200px){.uk-hidden\@l{display:none!important}}@media (min-width: 1600px){.uk-hidden\@xl{display:none!important}}@media (max-width: 639px){.uk-visible\@s{display:none!important}}@media (max-width: 959px){.uk-visible\@m{display:none!important}}@media (max-width: 1199px){.uk-visible\@l{display:none!important}}@media (max-width: 1599px){.uk-visible\@xl{display:none!important}}.uk-invisible{visibility:hidden!important}.uk-hidden-visually:not(:focus):not(:active):not(:focus-within),.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;margin:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within){opacity:0!important}@media (hover: none){.uk-hidden-touch{display:none!important}}@media (hover){.uk-hidden-notouch{display:none!important}}.uk-light,.uk-section-primary:not(.uk-preserve-color),.uk-section-secondary:not(.uk-preserve-color),.uk-tile-primary:not(.uk-preserve-color),.uk-tile-secondary:not(.uk-preserve-color),.uk-card-primary.uk-card-body,.uk-card-primary>:not([class*=uk-card-media]),.uk-card-secondary.uk-card-body,.uk-card-secondary>:not([class*=uk-card-media]),.uk-overlay-primary,.uk-offcanvas-bar{color:#ffffffb3}.uk-light a,.uk-light .uk-link,.uk-section-primary:not(.uk-preserve-color) a,.uk-section-primary:not(.uk-preserve-color) .uk-link,.uk-section-secondary:not(.uk-preserve-color) a,.uk-section-secondary:not(.uk-preserve-color) .uk-link,.uk-tile-primary:not(.uk-preserve-color) a,.uk-tile-primary:not(.uk-preserve-color) .uk-link,.uk-tile-secondary:not(.uk-preserve-color) a,.uk-tile-secondary:not(.uk-preserve-color) .uk-link,.uk-card-primary.uk-card-body a,.uk-card-primary.uk-card-body .uk-link,.uk-card-primary>:not([class*=uk-card-media]) a,.uk-card-primary>:not([class*=uk-card-media]) .uk-link,.uk-card-secondary.uk-card-body a,.uk-card-secondary.uk-card-body .uk-link,.uk-card-secondary>:not([class*=uk-card-media]) a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link,.uk-overlay-primary a,.uk-overlay-primary .uk-link,.uk-offcanvas-bar a,.uk-offcanvas-bar .uk-link{color:#fff}.uk-light a:hover,.uk-light .uk-link:hover,.uk-light .uk-link-toggle:hover .uk-link,.uk-section-primary:not(.uk-preserve-color) a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,.uk-section-secondary:not(.uk-preserve-color) a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,.uk-tile-primary:not(.uk-preserve-color) a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,.uk-tile-secondary:not(.uk-preserve-color) a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,.uk-card-primary.uk-card-body a:hover,.uk-card-primary.uk-card-body .uk-link:hover,.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link,.uk-card-primary>:not([class*=uk-card-media]) a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,.uk-card-secondary.uk-card-body a:hover,.uk-card-secondary.uk-card-body .uk-link:hover,.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link,.uk-card-secondary>:not([class*=uk-card-media]) a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,.uk-overlay-primary a:hover,.uk-overlay-primary .uk-link:hover,.uk-overlay-primary .uk-link-toggle:hover .uk-link,.uk-offcanvas-bar a:hover,.uk-offcanvas-bar .uk-link:hover,.uk-offcanvas-bar .uk-link-toggle:hover .uk-link{color:#fff}.uk-light :not(pre)>code,.uk-light :not(pre)>kbd,.uk-light :not(pre)>samp,.uk-section-primary:not(.uk-preserve-color) :not(pre)>code,.uk-section-primary:not(.uk-preserve-color) :not(pre)>kbd,.uk-section-primary:not(.uk-preserve-color) :not(pre)>samp,.uk-section-secondary:not(.uk-preserve-color) :not(pre)>code,.uk-section-secondary:not(.uk-preserve-color) :not(pre)>kbd,.uk-section-secondary:not(.uk-preserve-color) :not(pre)>samp,.uk-tile-primary:not(.uk-preserve-color) :not(pre)>code,.uk-tile-primary:not(.uk-preserve-color) :not(pre)>kbd,.uk-tile-primary:not(.uk-preserve-color) :not(pre)>samp,.uk-tile-secondary:not(.uk-preserve-color) :not(pre)>code,.uk-tile-secondary:not(.uk-preserve-color) :not(pre)>kbd,.uk-tile-secondary:not(.uk-preserve-color) :not(pre)>samp,.uk-card-primary.uk-card-body :not(pre)>code,.uk-card-primary.uk-card-body :not(pre)>kbd,.uk-card-primary.uk-card-body :not(pre)>samp,.uk-card-primary>:not([class*=uk-card-media]) :not(pre)>code,.uk-card-primary>:not([class*=uk-card-media]) :not(pre)>kbd,.uk-card-primary>:not([class*=uk-card-media]) :not(pre)>samp,.uk-card-secondary.uk-card-body :not(pre)>code,.uk-card-secondary.uk-card-body :not(pre)>kbd,.uk-card-secondary.uk-card-body :not(pre)>samp,.uk-card-secondary>:not([class*=uk-card-media]) :not(pre)>code,.uk-card-secondary>:not([class*=uk-card-media]) :not(pre)>kbd,.uk-card-secondary>:not([class*=uk-card-media]) :not(pre)>samp,.uk-overlay-primary :not(pre)>code,.uk-overlay-primary :not(pre)>kbd,.uk-overlay-primary :not(pre)>samp,.uk-offcanvas-bar :not(pre)>code,.uk-offcanvas-bar :not(pre)>kbd,.uk-offcanvas-bar :not(pre)>samp{color:#ffffffb3;background-color:#ffffff1a}.uk-light em,.uk-section-primary:not(.uk-preserve-color) em,.uk-section-secondary:not(.uk-preserve-color) em,.uk-tile-primary:not(.uk-preserve-color) em,.uk-tile-secondary:not(.uk-preserve-color) em,.uk-card-primary.uk-card-body em,.uk-card-primary>:not([class*=uk-card-media]) em,.uk-card-secondary.uk-card-body em,.uk-card-secondary>:not([class*=uk-card-media]) em,.uk-overlay-primary em,.uk-offcanvas-bar em{color:#fff}.uk-light h1,.uk-light .uk-h1,.uk-light h2,.uk-light .uk-h2,.uk-light h3,.uk-light .uk-h3,.uk-light h4,.uk-light .uk-h4,.uk-light h5,.uk-light .uk-h5,.uk-light h6,.uk-light .uk-h6,.uk-light .uk-heading-small,.uk-light .uk-heading-medium,.uk-light .uk-heading-large,.uk-light .uk-heading-xlarge,.uk-light .uk-heading-2xlarge,.uk-light .uk-heading-3xlarge,.uk-section-primary:not(.uk-preserve-color) h1,.uk-section-primary:not(.uk-preserve-color) .uk-h1,.uk-section-primary:not(.uk-preserve-color) h2,.uk-section-primary:not(.uk-preserve-color) .uk-h2,.uk-section-primary:not(.uk-preserve-color) h3,.uk-section-primary:not(.uk-preserve-color) .uk-h3,.uk-section-primary:not(.uk-preserve-color) h4,.uk-section-primary:not(.uk-preserve-color) .uk-h4,.uk-section-primary:not(.uk-preserve-color) h5,.uk-section-primary:not(.uk-preserve-color) .uk-h5,.uk-section-primary:not(.uk-preserve-color) h6,.uk-section-primary:not(.uk-preserve-color) .uk-h6,.uk-section-primary:not(.uk-preserve-color) .uk-heading-small,.uk-section-primary:not(.uk-preserve-color) .uk-heading-medium,.uk-section-primary:not(.uk-preserve-color) .uk-heading-large,.uk-section-primary:not(.uk-preserve-color) .uk-heading-xlarge,.uk-section-primary:not(.uk-preserve-color) .uk-heading-2xlarge,.uk-section-primary:not(.uk-preserve-color) .uk-heading-3xlarge,.uk-section-secondary:not(.uk-preserve-color) h1,.uk-section-secondary:not(.uk-preserve-color) .uk-h1,.uk-section-secondary:not(.uk-preserve-color) h2,.uk-section-secondary:not(.uk-preserve-color) .uk-h2,.uk-section-secondary:not(.uk-preserve-color) h3,.uk-section-secondary:not(.uk-preserve-color) .uk-h3,.uk-section-secondary:not(.uk-preserve-color) h4,.uk-section-secondary:not(.uk-preserve-color) .uk-h4,.uk-section-secondary:not(.uk-preserve-color) h5,.uk-section-secondary:not(.uk-preserve-color) .uk-h5,.uk-section-secondary:not(.uk-preserve-color) h6,.uk-section-secondary:not(.uk-preserve-color) .uk-h6,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-small,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-medium,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-large,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-xlarge,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-3xlarge,.uk-tile-primary:not(.uk-preserve-color) h1,.uk-tile-primary:not(.uk-preserve-color) .uk-h1,.uk-tile-primary:not(.uk-preserve-color) h2,.uk-tile-primary:not(.uk-preserve-color) .uk-h2,.uk-tile-primary:not(.uk-preserve-color) h3,.uk-tile-primary:not(.uk-preserve-color) .uk-h3,.uk-tile-primary:not(.uk-preserve-color) h4,.uk-tile-primary:not(.uk-preserve-color) .uk-h4,.uk-tile-primary:not(.uk-preserve-color) h5,.uk-tile-primary:not(.uk-preserve-color) .uk-h5,.uk-tile-primary:not(.uk-preserve-color) h6,.uk-tile-primary:not(.uk-preserve-color) .uk-h6,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-small,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-medium,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-large,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-xlarge,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-2xlarge,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-3xlarge,.uk-tile-secondary:not(.uk-preserve-color) h1,.uk-tile-secondary:not(.uk-preserve-color) .uk-h1,.uk-tile-secondary:not(.uk-preserve-color) h2,.uk-tile-secondary:not(.uk-preserve-color) .uk-h2,.uk-tile-secondary:not(.uk-preserve-color) h3,.uk-tile-secondary:not(.uk-preserve-color) .uk-h3,.uk-tile-secondary:not(.uk-preserve-color) h4,.uk-tile-secondary:not(.uk-preserve-color) .uk-h4,.uk-tile-secondary:not(.uk-preserve-color) h5,.uk-tile-secondary:not(.uk-preserve-color) .uk-h5,.uk-tile-secondary:not(.uk-preserve-color) h6,.uk-tile-secondary:not(.uk-preserve-color) .uk-h6,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-small,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-medium,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-large,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-xlarge,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-3xlarge,.uk-card-primary.uk-card-body h1,.uk-card-primary.uk-card-body .uk-h1,.uk-card-primary.uk-card-body h2,.uk-card-primary.uk-card-body .uk-h2,.uk-card-primary.uk-card-body h3,.uk-card-primary.uk-card-body .uk-h3,.uk-card-primary.uk-card-body h4,.uk-card-primary.uk-card-body .uk-h4,.uk-card-primary.uk-card-body h5,.uk-card-primary.uk-card-body .uk-h5,.uk-card-primary.uk-card-body h6,.uk-card-primary.uk-card-body .uk-h6,.uk-card-primary.uk-card-body .uk-heading-small,.uk-card-primary.uk-card-body .uk-heading-medium,.uk-card-primary.uk-card-body .uk-heading-large,.uk-card-primary.uk-card-body .uk-heading-xlarge,.uk-card-primary.uk-card-body .uk-heading-2xlarge,.uk-card-primary.uk-card-body .uk-heading-3xlarge,.uk-card-primary>:not([class*=uk-card-media]) h1,.uk-card-primary>:not([class*=uk-card-media]) .uk-h1,.uk-card-primary>:not([class*=uk-card-media]) h2,.uk-card-primary>:not([class*=uk-card-media]) .uk-h2,.uk-card-primary>:not([class*=uk-card-media]) h3,.uk-card-primary>:not([class*=uk-card-media]) .uk-h3,.uk-card-primary>:not([class*=uk-card-media]) h4,.uk-card-primary>:not([class*=uk-card-media]) .uk-h4,.uk-card-primary>:not([class*=uk-card-media]) h5,.uk-card-primary>:not([class*=uk-card-media]) .uk-h5,.uk-card-primary>:not([class*=uk-card-media]) h6,.uk-card-primary>:not([class*=uk-card-media]) .uk-h6,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-small,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-medium,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-large,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-xlarge,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-2xlarge,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-3xlarge,.uk-card-secondary.uk-card-body h1,.uk-card-secondary.uk-card-body .uk-h1,.uk-card-secondary.uk-card-body h2,.uk-card-secondary.uk-card-body .uk-h2,.uk-card-secondary.uk-card-body h3,.uk-card-secondary.uk-card-body .uk-h3,.uk-card-secondary.uk-card-body h4,.uk-card-secondary.uk-card-body .uk-h4,.uk-card-secondary.uk-card-body h5,.uk-card-secondary.uk-card-body .uk-h5,.uk-card-secondary.uk-card-body h6,.uk-card-secondary.uk-card-body .uk-h6,.uk-card-secondary.uk-card-body .uk-heading-small,.uk-card-secondary.uk-card-body .uk-heading-medium,.uk-card-secondary.uk-card-body .uk-heading-large,.uk-card-secondary.uk-card-body .uk-heading-xlarge,.uk-card-secondary.uk-card-body .uk-heading-2xlarge,.uk-card-secondary.uk-card-body .uk-heading-3xlarge,.uk-card-secondary>:not([class*=uk-card-media]) h1,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h1,.uk-card-secondary>:not([class*=uk-card-media]) h2,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h2,.uk-card-secondary>:not([class*=uk-card-media]) h3,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h3,.uk-card-secondary>:not([class*=uk-card-media]) h4,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h4,.uk-card-secondary>:not([class*=uk-card-media]) h5,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h5,.uk-card-secondary>:not([class*=uk-card-media]) h6,.uk-card-secondary>:not([class*=uk-card-media]) .uk-h6,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-small,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-medium,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-large,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-xlarge,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-2xlarge,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-3xlarge,.uk-overlay-primary h1,.uk-overlay-primary .uk-h1,.uk-overlay-primary h2,.uk-overlay-primary .uk-h2,.uk-overlay-primary h3,.uk-overlay-primary .uk-h3,.uk-overlay-primary h4,.uk-overlay-primary .uk-h4,.uk-overlay-primary h5,.uk-overlay-primary .uk-h5,.uk-overlay-primary h6,.uk-overlay-primary .uk-h6,.uk-overlay-primary .uk-heading-small,.uk-overlay-primary .uk-heading-medium,.uk-overlay-primary .uk-heading-large,.uk-overlay-primary .uk-heading-xlarge,.uk-overlay-primary .uk-heading-2xlarge,.uk-overlay-primary .uk-heading-3xlarge,.uk-offcanvas-bar h1,.uk-offcanvas-bar .uk-h1,.uk-offcanvas-bar h2,.uk-offcanvas-bar .uk-h2,.uk-offcanvas-bar h3,.uk-offcanvas-bar .uk-h3,.uk-offcanvas-bar h4,.uk-offcanvas-bar .uk-h4,.uk-offcanvas-bar h5,.uk-offcanvas-bar .uk-h5,.uk-offcanvas-bar h6,.uk-offcanvas-bar .uk-h6,.uk-offcanvas-bar .uk-heading-small,.uk-offcanvas-bar .uk-heading-medium,.uk-offcanvas-bar .uk-heading-large,.uk-offcanvas-bar .uk-heading-xlarge,.uk-offcanvas-bar .uk-heading-2xlarge,.uk-offcanvas-bar .uk-heading-3xlarge{color:#fff}.uk-light blockquote,.uk-section-primary:not(.uk-preserve-color) blockquote,.uk-section-secondary:not(.uk-preserve-color) blockquote,.uk-tile-primary:not(.uk-preserve-color) blockquote,.uk-tile-secondary:not(.uk-preserve-color) blockquote,.uk-card-primary.uk-card-body blockquote,.uk-card-primary>:not([class*=uk-card-media]) blockquote,.uk-card-secondary.uk-card-body blockquote,.uk-card-secondary>:not([class*=uk-card-media]) blockquote,.uk-overlay-primary blockquote,.uk-offcanvas-bar blockquote{color:#fff}.uk-light blockquote footer,.uk-section-primary:not(.uk-preserve-color) blockquote footer,.uk-section-secondary:not(.uk-preserve-color) blockquote footer,.uk-tile-primary:not(.uk-preserve-color) blockquote footer,.uk-tile-secondary:not(.uk-preserve-color) blockquote footer,.uk-card-primary.uk-card-body blockquote footer,.uk-card-primary>:not([class*=uk-card-media]) blockquote footer,.uk-card-secondary.uk-card-body blockquote footer,.uk-card-secondary>:not([class*=uk-card-media]) blockquote footer,.uk-overlay-primary blockquote footer,.uk-offcanvas-bar blockquote footer{color:#ffffffb3}.uk-light hr,.uk-light .uk-hr,.uk-section-primary:not(.uk-preserve-color) hr,.uk-section-primary:not(.uk-preserve-color) .uk-hr,.uk-section-secondary:not(.uk-preserve-color) hr,.uk-section-secondary:not(.uk-preserve-color) .uk-hr,.uk-tile-primary:not(.uk-preserve-color) hr,.uk-tile-primary:not(.uk-preserve-color) .uk-hr,.uk-tile-secondary:not(.uk-preserve-color) hr,.uk-tile-secondary:not(.uk-preserve-color) .uk-hr,.uk-card-primary.uk-card-body hr,.uk-card-primary.uk-card-body .uk-hr,.uk-card-primary>:not([class*=uk-card-media]) hr,.uk-card-primary>:not([class*=uk-card-media]) .uk-hr,.uk-card-secondary.uk-card-body hr,.uk-card-secondary.uk-card-body .uk-hr,.uk-card-secondary>:not([class*=uk-card-media]) hr,.uk-card-secondary>:not([class*=uk-card-media]) .uk-hr,.uk-overlay-primary hr,.uk-overlay-primary .uk-hr,.uk-offcanvas-bar hr,.uk-offcanvas-bar .uk-hr{border-top-color:#fff3}.uk-light :focus-visible,.uk-section-primary:not(.uk-preserve-color) :focus-visible,.uk-section-secondary:not(.uk-preserve-color) :focus-visible,.uk-tile-primary:not(.uk-preserve-color) :focus-visible,.uk-tile-secondary:not(.uk-preserve-color) :focus-visible,.uk-card-primary.uk-card-body :focus-visible,.uk-card-primary>:not([class*=uk-card-media]) :focus-visible,.uk-card-secondary.uk-card-body :focus-visible,.uk-card-secondary>:not([class*=uk-card-media]) :focus-visible,.uk-overlay-primary :focus-visible,.uk-offcanvas-bar :focus-visible{outline-color:#fff}.uk-light a.uk-link-muted,.uk-light .uk-link-muted a,.uk-section-primary:not(.uk-preserve-color) a.uk-link-muted,.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,.uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted,.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,.uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted,.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,.uk-card-primary.uk-card-body a.uk-link-muted,.uk-card-primary.uk-card-body .uk-link-muted a,.uk-card-primary>:not([class*=uk-card-media]) a.uk-link-muted,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-muted a,.uk-card-secondary.uk-card-body a.uk-link-muted,.uk-card-secondary.uk-card-body .uk-link-muted a,.uk-card-secondary>:not([class*=uk-card-media]) a.uk-link-muted,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-muted a,.uk-overlay-primary a.uk-link-muted,.uk-overlay-primary .uk-link-muted a,.uk-offcanvas-bar a.uk-link-muted,.uk-offcanvas-bar .uk-link-muted a{color:#ffffff80}.uk-light a.uk-link-muted:hover,.uk-light .uk-link-muted a:hover,.uk-light .uk-link-toggle:hover .uk-link-muted,.uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,.uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,.uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,.uk-card-primary.uk-card-body a.uk-link-muted:hover,.uk-card-primary.uk-card-body .uk-link-muted a:hover,.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-muted,.uk-card-primary>:not([class*=uk-card-media]) a.uk-link-muted:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-muted a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,.uk-card-secondary.uk-card-body a.uk-link-muted:hover,.uk-card-secondary.uk-card-body .uk-link-muted a:hover,.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-muted,.uk-card-secondary>:not([class*=uk-card-media]) a.uk-link-muted:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-muted a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,.uk-overlay-primary a.uk-link-muted:hover,.uk-overlay-primary .uk-link-muted a:hover,.uk-overlay-primary .uk-link-toggle:hover .uk-link-muted,.uk-offcanvas-bar a.uk-link-muted:hover,.uk-offcanvas-bar .uk-link-muted a:hover,.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-muted{color:#ffffffb3}.uk-light a.uk-link-text:hover,.uk-light .uk-link-text a:hover,.uk-light .uk-link-toggle:hover .uk-link-text,.uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,.uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,.uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,.uk-card-primary.uk-card-body a.uk-link-text:hover,.uk-card-primary.uk-card-body .uk-link-text a:hover,.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-text,.uk-card-primary>:not([class*=uk-card-media]) a.uk-link-text:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-text a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,.uk-card-secondary.uk-card-body a.uk-link-text:hover,.uk-card-secondary.uk-card-body .uk-link-text a:hover,.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-text,.uk-card-secondary>:not([class*=uk-card-media]) a.uk-link-text:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-text a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,.uk-overlay-primary a.uk-link-text:hover,.uk-overlay-primary .uk-link-text a:hover,.uk-overlay-primary .uk-link-toggle:hover .uk-link-text,.uk-offcanvas-bar a.uk-link-text:hover,.uk-offcanvas-bar .uk-link-text a:hover,.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-text{color:#ffffff80}.uk-light a.uk-link-heading:hover,.uk-light .uk-link-heading a:hover,.uk-light .uk-link-toggle:hover .uk-link-heading,.uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,.uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,.uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,.uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,.uk-card-primary.uk-card-body a.uk-link-heading:hover,.uk-card-primary.uk-card-body .uk-link-heading a:hover,.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-heading,.uk-card-primary>:not([class*=uk-card-media]) a.uk-link-heading:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-heading a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,.uk-card-secondary.uk-card-body a.uk-link-heading:hover,.uk-card-secondary.uk-card-body .uk-link-heading a:hover,.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-heading,.uk-card-secondary>:not([class*=uk-card-media]) a.uk-link-heading:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-heading a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,.uk-overlay-primary a.uk-link-heading:hover,.uk-overlay-primary .uk-link-heading a:hover,.uk-overlay-primary .uk-link-toggle:hover .uk-link-heading,.uk-offcanvas-bar a.uk-link-heading:hover,.uk-offcanvas-bar .uk-link-heading a:hover,.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-heading{color:#fff}.uk-light .uk-heading-divider,.uk-section-primary:not(.uk-preserve-color) .uk-heading-divider,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider,.uk-card-primary.uk-card-body .uk-heading-divider,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-divider,.uk-card-secondary.uk-card-body .uk-heading-divider,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-divider,.uk-overlay-primary .uk-heading-divider,.uk-offcanvas-bar .uk-heading-divider{border-bottom-color:#fff3}.uk-light .uk-heading-bullet:before,.uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet:before,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet:before,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet:before,.uk-card-primary.uk-card-body .uk-heading-bullet:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-bullet:before,.uk-card-secondary.uk-card-body .uk-heading-bullet:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-bullet:before,.uk-overlay-primary .uk-heading-bullet:before,.uk-offcanvas-bar .uk-heading-bullet:before{border-left-color:#fff3}.uk-light .uk-heading-line>:before,.uk-light .uk-heading-line>:after,.uk-section-primary:not(.uk-preserve-color) .uk-heading-line>:before,.uk-section-primary:not(.uk-preserve-color) .uk-heading-line>:after,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line>:after,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line>:after,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line>:after,.uk-card-primary.uk-card-body .uk-heading-line>:before,.uk-card-primary.uk-card-body .uk-heading-line>:after,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-line>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-heading-line>:after,.uk-card-secondary.uk-card-body .uk-heading-line>:before,.uk-card-secondary.uk-card-body .uk-heading-line>:after,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-line>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-heading-line>:after,.uk-overlay-primary .uk-heading-line>:before,.uk-overlay-primary .uk-heading-line>:after,.uk-offcanvas-bar .uk-heading-line>:before,.uk-offcanvas-bar .uk-heading-line>:after{border-bottom-color:#fff3}.uk-light .uk-divider-icon,.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon,.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon,.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon,.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon,.uk-card-primary.uk-card-body .uk-divider-icon,.uk-card-primary>:not([class*=uk-card-media]) .uk-divider-icon,.uk-card-secondary.uk-card-body .uk-divider-icon,.uk-card-secondary>:not([class*=uk-card-media]) .uk-divider-icon,.uk-overlay-primary .uk-divider-icon,.uk-offcanvas-bar .uk-divider-icon{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba%28255,%20255,%20255,%200.2%29%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-light .uk-divider-icon:before,.uk-light .uk-divider-icon:after,.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon:before,.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon:after,.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon:before,.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon:after,.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon:before,.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon:after,.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon:after,.uk-card-primary.uk-card-body .uk-divider-icon:before,.uk-card-primary.uk-card-body .uk-divider-icon:after,.uk-card-primary>:not([class*=uk-card-media]) .uk-divider-icon:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-divider-icon:after,.uk-card-secondary.uk-card-body .uk-divider-icon:before,.uk-card-secondary.uk-card-body .uk-divider-icon:after,.uk-card-secondary>:not([class*=uk-card-media]) .uk-divider-icon:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-divider-icon:after,.uk-overlay-primary .uk-divider-icon:before,.uk-overlay-primary .uk-divider-icon:after,.uk-offcanvas-bar .uk-divider-icon:before,.uk-offcanvas-bar .uk-divider-icon:after{border-bottom-color:#fff3}.uk-light .uk-divider-small:after,.uk-section-primary:not(.uk-preserve-color) .uk-divider-small:after,.uk-section-secondary:not(.uk-preserve-color) .uk-divider-small:after,.uk-tile-primary:not(.uk-preserve-color) .uk-divider-small:after,.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small:after,.uk-card-primary.uk-card-body .uk-divider-small:after,.uk-card-primary>:not([class*=uk-card-media]) .uk-divider-small:after,.uk-card-secondary.uk-card-body .uk-divider-small:after,.uk-card-secondary>:not([class*=uk-card-media]) .uk-divider-small:after,.uk-overlay-primary .uk-divider-small:after,.uk-offcanvas-bar .uk-divider-small:after{border-top-color:#fff3}.uk-light .uk-divider-vertical,.uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical,.uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical,.uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical,.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical,.uk-card-primary.uk-card-body .uk-divider-vertical,.uk-card-primary>:not([class*=uk-card-media]) .uk-divider-vertical,.uk-card-secondary.uk-card-body .uk-divider-vertical,.uk-card-secondary>:not([class*=uk-card-media]) .uk-divider-vertical,.uk-overlay-primary .uk-divider-vertical,.uk-offcanvas-bar .uk-divider-vertical{border-left-color:#fff3}.uk-light .uk-list-muted>:before,.uk-section-primary:not(.uk-preserve-color) .uk-list-muted>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-list-muted>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-list-muted>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-list-muted>:before,.uk-card-primary.uk-card-body .uk-list-muted>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-list-muted>:before,.uk-card-secondary.uk-card-body .uk-list-muted>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-muted>:before,.uk-overlay-primary .uk-list-muted>:before,.uk-offcanvas-bar .uk-list-muted>:before{color:#ffffff80!important}.uk-light .uk-list-emphasis>:before,.uk-section-primary:not(.uk-preserve-color) .uk-list-emphasis>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-list-emphasis>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-list-emphasis>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-list-emphasis>:before,.uk-card-primary.uk-card-body .uk-list-emphasis>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-list-emphasis>:before,.uk-card-secondary.uk-card-body .uk-list-emphasis>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-emphasis>:before,.uk-overlay-primary .uk-list-emphasis>:before,.uk-offcanvas-bar .uk-list-emphasis>:before{color:#fff!important}.uk-light .uk-list-primary>:before,.uk-section-primary:not(.uk-preserve-color) .uk-list-primary>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-list-primary>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-list-primary>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-list-primary>:before,.uk-card-primary.uk-card-body .uk-list-primary>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-list-primary>:before,.uk-card-secondary.uk-card-body .uk-list-primary>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-primary>:before,.uk-overlay-primary .uk-list-primary>:before,.uk-offcanvas-bar .uk-list-primary>:before{color:#fff!important}.uk-light .uk-list-secondary>:before,.uk-section-primary:not(.uk-preserve-color) .uk-list-secondary>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-list-secondary>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-list-secondary>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-list-secondary>:before,.uk-card-primary.uk-card-body .uk-list-secondary>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-list-secondary>:before,.uk-card-secondary.uk-card-body .uk-list-secondary>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-secondary>:before,.uk-overlay-primary .uk-list-secondary>:before,.uk-offcanvas-bar .uk-list-secondary>:before{color:#fff!important}.uk-light .uk-list-bullet>:before,.uk-section-primary:not(.uk-preserve-color) .uk-list-bullet>:before,.uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet>:before,.uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet>:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet>:before,.uk-card-primary.uk-card-body .uk-list-bullet>:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-list-bullet>:before,.uk-card-secondary.uk-card-body .uk-list-bullet>:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-bullet>:before,.uk-overlay-primary .uk-list-bullet>:before,.uk-offcanvas-bar .uk-list-bullet>:before{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-light .uk-list-divider>:nth-child(n+2),.uk-section-primary:not(.uk-preserve-color) .uk-list-divider>:nth-child(n+2),.uk-section-secondary:not(.uk-preserve-color) .uk-list-divider>:nth-child(n+2),.uk-tile-primary:not(.uk-preserve-color) .uk-list-divider>:nth-child(n+2),.uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider>:nth-child(n+2),.uk-card-primary.uk-card-body .uk-list-divider>:nth-child(n+2),.uk-card-primary>:not([class*=uk-card-media]) .uk-list-divider>:nth-child(n+2),.uk-card-secondary.uk-card-body .uk-list-divider>:nth-child(n+2),.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-divider>:nth-child(n+2),.uk-overlay-primary .uk-list-divider>:nth-child(n+2),.uk-offcanvas-bar .uk-list-divider>:nth-child(n+2){border-top-color:#fff3}.uk-light .uk-list-striped>*:nth-of-type(odd),.uk-section-primary:not(.uk-preserve-color) .uk-list-striped>*:nth-of-type(odd),.uk-section-secondary:not(.uk-preserve-color) .uk-list-striped>*:nth-of-type(odd),.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped>*:nth-of-type(odd),.uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped>*:nth-of-type(odd),.uk-card-primary.uk-card-body .uk-list-striped>*:nth-of-type(odd),.uk-card-primary>:not([class*=uk-card-media]) .uk-list-striped>*:nth-of-type(odd),.uk-card-secondary.uk-card-body .uk-list-striped>*:nth-of-type(odd),.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-striped>*:nth-of-type(odd),.uk-overlay-primary .uk-list-striped>*:nth-of-type(odd),.uk-offcanvas-bar .uk-list-striped>*:nth-of-type(odd){border-top-color:#fff3;border-bottom-color:#fff3}.uk-light .uk-list-striped>:nth-of-type(odd),.uk-section-primary:not(.uk-preserve-color) .uk-list-striped>:nth-of-type(odd),.uk-section-secondary:not(.uk-preserve-color) .uk-list-striped>:nth-of-type(odd),.uk-tile-primary:not(.uk-preserve-color) .uk-list-striped>:nth-of-type(odd),.uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped>:nth-of-type(odd),.uk-card-primary.uk-card-body .uk-list-striped>:nth-of-type(odd),.uk-card-primary>:not([class*=uk-card-media]) .uk-list-striped>:nth-of-type(odd),.uk-card-secondary.uk-card-body .uk-list-striped>:nth-of-type(odd),.uk-card-secondary>:not([class*=uk-card-media]) .uk-list-striped>:nth-of-type(odd),.uk-overlay-primary .uk-list-striped>:nth-of-type(odd),.uk-offcanvas-bar .uk-list-striped>:nth-of-type(odd){background-color:#ffffff1a}.uk-light .uk-table th,.uk-section-primary:not(.uk-preserve-color) .uk-table th,.uk-section-secondary:not(.uk-preserve-color) .uk-table th,.uk-tile-primary:not(.uk-preserve-color) .uk-table th,.uk-tile-secondary:not(.uk-preserve-color) .uk-table th,.uk-card-primary.uk-card-body .uk-table th,.uk-card-primary>:not([class*=uk-card-media]) .uk-table th,.uk-card-secondary.uk-card-body .uk-table th,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table th,.uk-overlay-primary .uk-table th,.uk-offcanvas-bar .uk-table th{color:#ffffffb3}.uk-light .uk-table caption,.uk-section-primary:not(.uk-preserve-color) .uk-table caption,.uk-section-secondary:not(.uk-preserve-color) .uk-table caption,.uk-tile-primary:not(.uk-preserve-color) .uk-table caption,.uk-tile-secondary:not(.uk-preserve-color) .uk-table caption,.uk-card-primary.uk-card-body .uk-table caption,.uk-card-primary>:not([class*=uk-card-media]) .uk-table caption,.uk-card-secondary.uk-card-body .uk-table caption,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table caption,.uk-overlay-primary .uk-table caption,.uk-offcanvas-bar .uk-table caption{color:#ffffff80}.uk-light .uk-table>tr.uk-active,.uk-light .uk-table tbody tr.uk-active,.uk-section-primary:not(.uk-preserve-color) .uk-table>tr.uk-active,.uk-section-primary:not(.uk-preserve-color) .uk-table tbody tr.uk-active,.uk-section-secondary:not(.uk-preserve-color) .uk-table>tr.uk-active,.uk-section-secondary:not(.uk-preserve-color) .uk-table tbody tr.uk-active,.uk-tile-primary:not(.uk-preserve-color) .uk-table>tr.uk-active,.uk-tile-primary:not(.uk-preserve-color) .uk-table tbody tr.uk-active,.uk-tile-secondary:not(.uk-preserve-color) .uk-table>tr.uk-active,.uk-tile-secondary:not(.uk-preserve-color) .uk-table tbody tr.uk-active,.uk-card-primary.uk-card-body .uk-table>tr.uk-active,.uk-card-primary.uk-card-body .uk-table tbody tr.uk-active,.uk-card-primary>:not([class*=uk-card-media]) .uk-table>tr.uk-active,.uk-card-primary>:not([class*=uk-card-media]) .uk-table tbody tr.uk-active,.uk-card-secondary.uk-card-body .uk-table>tr.uk-active,.uk-card-secondary.uk-card-body .uk-table tbody tr.uk-active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table>tr.uk-active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table tbody tr.uk-active,.uk-overlay-primary .uk-table>tr.uk-active,.uk-overlay-primary .uk-table tbody tr.uk-active,.uk-offcanvas-bar .uk-table>tr.uk-active,.uk-offcanvas-bar .uk-table tbody tr.uk-active{background:rgba(255,255,255,.08)}.uk-light .uk-table-divider>tr:not(:first-child),.uk-light .uk-table-divider>:not(:first-child)>tr,.uk-light .uk-table-divider>:first-child>tr:not(:first-child),.uk-section-primary:not(.uk-preserve-color) .uk-table-divider>tr:not(:first-child),.uk-section-primary:not(.uk-preserve-color) .uk-table-divider>:not(:first-child)>tr,.uk-section-primary:not(.uk-preserve-color) .uk-table-divider>:first-child>tr:not(:first-child),.uk-section-secondary:not(.uk-preserve-color) .uk-table-divider>tr:not(:first-child),.uk-section-secondary:not(.uk-preserve-color) .uk-table-divider>:not(:first-child)>tr,.uk-section-secondary:not(.uk-preserve-color) .uk-table-divider>:first-child>tr:not(:first-child),.uk-tile-primary:not(.uk-preserve-color) .uk-table-divider>tr:not(:first-child),.uk-tile-primary:not(.uk-preserve-color) .uk-table-divider>:not(:first-child)>tr,.uk-tile-primary:not(.uk-preserve-color) .uk-table-divider>:first-child>tr:not(:first-child),.uk-tile-secondary:not(.uk-preserve-color) .uk-table-divider>tr:not(:first-child),.uk-tile-secondary:not(.uk-preserve-color) .uk-table-divider>:not(:first-child)>tr,.uk-tile-secondary:not(.uk-preserve-color) .uk-table-divider>:first-child>tr:not(:first-child),.uk-card-primary.uk-card-body .uk-table-divider>tr:not(:first-child),.uk-card-primary.uk-card-body .uk-table-divider>:not(:first-child)>tr,.uk-card-primary.uk-card-body .uk-table-divider>:first-child>tr:not(:first-child),.uk-card-primary>:not([class*=uk-card-media]) .uk-table-divider>tr:not(:first-child),.uk-card-primary>:not([class*=uk-card-media]) .uk-table-divider>:not(:first-child)>tr,.uk-card-primary>:not([class*=uk-card-media]) .uk-table-divider>:first-child>tr:not(:first-child),.uk-card-secondary.uk-card-body .uk-table-divider>tr:not(:first-child),.uk-card-secondary.uk-card-body .uk-table-divider>:not(:first-child)>tr,.uk-card-secondary.uk-card-body .uk-table-divider>:first-child>tr:not(:first-child),.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-divider>tr:not(:first-child),.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-divider>:not(:first-child)>tr,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-divider>:first-child>tr:not(:first-child),.uk-overlay-primary .uk-table-divider>tr:not(:first-child),.uk-overlay-primary .uk-table-divider>:not(:first-child)>tr,.uk-overlay-primary .uk-table-divider>:first-child>tr:not(:first-child),.uk-offcanvas-bar .uk-table-divider>tr:not(:first-child),.uk-offcanvas-bar .uk-table-divider>:not(:first-child)>tr,.uk-offcanvas-bar .uk-table-divider>:first-child>tr:not(:first-child){border-top-color:#fff3}.uk-light .uk-table-striped>tr:nth-of-type(odd),.uk-light .uk-table-striped tbody tr:nth-of-type(odd),.uk-section-primary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(odd),.uk-section-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(odd),.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(odd),.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(odd),.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(odd),.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(odd),.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(odd),.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(odd),.uk-card-primary.uk-card-body .uk-table-striped>tr:nth-of-type(odd),.uk-card-primary.uk-card-body .uk-table-striped tbody tr:nth-of-type(odd),.uk-card-primary>:not([class*=uk-card-media]) .uk-table-striped>tr:nth-of-type(odd),.uk-card-primary>:not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(odd),.uk-card-secondary.uk-card-body .uk-table-striped>tr:nth-of-type(odd),.uk-card-secondary.uk-card-body .uk-table-striped tbody tr:nth-of-type(odd),.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-striped>tr:nth-of-type(odd),.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(odd),.uk-overlay-primary .uk-table-striped>tr:nth-of-type(odd),.uk-overlay-primary .uk-table-striped tbody tr:nth-of-type(odd),.uk-offcanvas-bar .uk-table-striped>tr:nth-of-type(odd),.uk-offcanvas-bar .uk-table-striped tbody tr:nth-of-type(odd){background:rgba(255,255,255,.1);border-top-color:#fff3;border-bottom-color:#fff3}.uk-light .uk-table-hover>tr:hover,.uk-light .uk-table-hover tbody tr:hover,.uk-section-primary:not(.uk-preserve-color) .uk-table-hover>tr:hover,.uk-section-primary:not(.uk-preserve-color) .uk-table-hover tbody tr:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-table-hover>tr:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-table-hover tbody tr:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-table-hover>tr:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-table-hover tbody tr:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-table-hover>tr:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-table-hover tbody tr:hover,.uk-card-primary.uk-card-body .uk-table-hover>tr:hover,.uk-card-primary.uk-card-body .uk-table-hover tbody tr:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-table-hover>tr:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-table-hover tbody tr:hover,.uk-card-secondary.uk-card-body .uk-table-hover>tr:hover,.uk-card-secondary.uk-card-body .uk-table-hover tbody tr:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-hover>tr:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-hover tbody tr:hover,.uk-overlay-primary .uk-table-hover>tr:hover,.uk-overlay-primary .uk-table-hover tbody tr:hover,.uk-offcanvas-bar .uk-table-hover>tr:hover,.uk-offcanvas-bar .uk-table-hover tbody tr:hover{background:rgba(255,255,255,.08)}.uk-light .uk-icon-link,.uk-section-primary:not(.uk-preserve-color) .uk-icon-link,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link,.uk-card-primary.uk-card-body .uk-icon-link,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-link,.uk-card-secondary.uk-card-body .uk-icon-link,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-link,.uk-overlay-primary .uk-icon-link,.uk-offcanvas-bar .uk-icon-link{color:#ffffff80}.uk-light .uk-icon-link:hover,.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover,.uk-card-primary.uk-card-body .uk-icon-link:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-link:hover,.uk-card-secondary.uk-card-body .uk-icon-link:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-link:hover,.uk-overlay-primary .uk-icon-link:hover,.uk-offcanvas-bar .uk-icon-link:hover{color:#ffffffb3}.uk-light .uk-icon-link:active,.uk-light .uk-active>.uk-icon-link,.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active,.uk-section-primary:not(.uk-preserve-color) .uk-active>.uk-icon-link,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active,.uk-section-secondary:not(.uk-preserve-color) .uk-active>.uk-icon-link,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active,.uk-tile-primary:not(.uk-preserve-color) .uk-active>.uk-icon-link,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-active>.uk-icon-link,.uk-card-primary.uk-card-body .uk-icon-link:active,.uk-card-primary.uk-card-body .uk-active>.uk-icon-link,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-link:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-active>.uk-icon-link,.uk-card-secondary.uk-card-body .uk-icon-link:active,.uk-card-secondary.uk-card-body .uk-active>.uk-icon-link,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-link:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-active>.uk-icon-link,.uk-overlay-primary .uk-icon-link:active,.uk-overlay-primary .uk-active>.uk-icon-link,.uk-offcanvas-bar .uk-icon-link:active,.uk-offcanvas-bar .uk-active>.uk-icon-link{color:#ffffffb3}.uk-light .uk-icon-button,.uk-section-primary:not(.uk-preserve-color) .uk-icon-button,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button,.uk-card-primary.uk-card-body .uk-icon-button,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-button,.uk-card-secondary.uk-card-body .uk-icon-button,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-button,.uk-overlay-primary .uk-icon-button,.uk-offcanvas-bar .uk-icon-button{background-color:#ffffff1a;color:#ffffff80}.uk-light .uk-icon-button:hover,.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover,.uk-card-primary.uk-card-body .uk-icon-button:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-button:hover,.uk-card-secondary.uk-card-body .uk-icon-button:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-button:hover,.uk-overlay-primary .uk-icon-button:hover,.uk-offcanvas-bar .uk-icon-button:hover{background-color:#ffffff26;color:#ffffffb3}.uk-light .uk-icon-button:active,.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active,.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active,.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active,.uk-card-primary.uk-card-body .uk-icon-button:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-icon-button:active,.uk-card-secondary.uk-card-body .uk-icon-button:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-icon-button:active,.uk-overlay-primary .uk-icon-button:active,.uk-offcanvas-bar .uk-icon-button:active{background-color:#fff3;color:#ffffffb3}.uk-light .uk-input,.uk-light .uk-select,.uk-light .uk-textarea,.uk-section-primary:not(.uk-preserve-color) .uk-input,.uk-section-primary:not(.uk-preserve-color) .uk-select,.uk-section-primary:not(.uk-preserve-color) .uk-textarea,.uk-section-secondary:not(.uk-preserve-color) .uk-input,.uk-section-secondary:not(.uk-preserve-color) .uk-select,.uk-section-secondary:not(.uk-preserve-color) .uk-textarea,.uk-tile-primary:not(.uk-preserve-color) .uk-input,.uk-tile-primary:not(.uk-preserve-color) .uk-select,.uk-tile-primary:not(.uk-preserve-color) .uk-textarea,.uk-tile-secondary:not(.uk-preserve-color) .uk-input,.uk-tile-secondary:not(.uk-preserve-color) .uk-select,.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,.uk-card-primary.uk-card-body .uk-input,.uk-card-primary.uk-card-body .uk-select,.uk-card-primary.uk-card-body .uk-textarea,.uk-card-primary>:not([class*=uk-card-media]) .uk-input,.uk-card-primary>:not([class*=uk-card-media]) .uk-select,.uk-card-primary>:not([class*=uk-card-media]) .uk-textarea,.uk-card-secondary.uk-card-body .uk-input,.uk-card-secondary.uk-card-body .uk-select,.uk-card-secondary.uk-card-body .uk-textarea,.uk-card-secondary>:not([class*=uk-card-media]) .uk-input,.uk-card-secondary>:not([class*=uk-card-media]) .uk-select,.uk-card-secondary>:not([class*=uk-card-media]) .uk-textarea,.uk-overlay-primary .uk-input,.uk-overlay-primary .uk-select,.uk-overlay-primary .uk-textarea,.uk-offcanvas-bar .uk-input,.uk-offcanvas-bar .uk-select,.uk-offcanvas-bar .uk-textarea{background-color:#ffffff1a;color:#ffffffb3;background-clip:padding-box;border-color:#fff3}.uk-light .uk-input:focus,.uk-light .uk-select:focus,.uk-light .uk-textarea:focus,.uk-section-primary:not(.uk-preserve-color) .uk-input:focus,.uk-section-primary:not(.uk-preserve-color) .uk-select:focus,.uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-input:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-input:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,.uk-card-primary.uk-card-body .uk-input:focus,.uk-card-primary.uk-card-body .uk-select:focus,.uk-card-primary.uk-card-body .uk-textarea:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-input:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-select:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-textarea:focus,.uk-card-secondary.uk-card-body .uk-input:focus,.uk-card-secondary.uk-card-body .uk-select:focus,.uk-card-secondary.uk-card-body .uk-textarea:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-input:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-select:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-textarea:focus,.uk-overlay-primary .uk-input:focus,.uk-overlay-primary .uk-select:focus,.uk-overlay-primary .uk-textarea:focus,.uk-offcanvas-bar .uk-input:focus,.uk-offcanvas-bar .uk-select:focus,.uk-offcanvas-bar .uk-textarea:focus{background-color:#ffffff26;color:#ffffffb3;border-color:#ffffffb3}.uk-light .uk-input::placeholder,.uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder,.uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder,.uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder,.uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder,.uk-card-primary.uk-card-body .uk-input::placeholder,.uk-card-primary>:not([class*=uk-card-media]) .uk-input::placeholder,.uk-card-secondary.uk-card-body .uk-input::placeholder,.uk-card-secondary>:not([class*=uk-card-media]) .uk-input::placeholder,.uk-overlay-primary .uk-input::placeholder,.uk-offcanvas-bar .uk-input::placeholder{color:#ffffff80}.uk-light .uk-textarea::placeholder,.uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder,.uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder,.uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder,.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder,.uk-card-primary.uk-card-body .uk-textarea::placeholder,.uk-card-primary>:not([class*=uk-card-media]) .uk-textarea::placeholder,.uk-card-secondary.uk-card-body .uk-textarea::placeholder,.uk-card-secondary>:not([class*=uk-card-media]) .uk-textarea::placeholder,.uk-overlay-primary .uk-textarea::placeholder,.uk-offcanvas-bar .uk-textarea::placeholder{color:#ffffff80}.uk-light .uk-select:not([multiple]):not([size]),.uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]),.uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]),.uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]),.uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]),.uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]),.uk-card-primary>:not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]),.uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]),.uk-card-secondary>:not([class*=uk-card-media]) .uk-select:not([multiple]):not([size]),.uk-overlay-primary .uk-select:not([multiple]):not([size]),.uk-offcanvas-bar .uk-select:not([multiple]):not([size]){background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-light .uk-input[list]:hover,.uk-light .uk-input[list]:focus,.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:hover,.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:focus,.uk-card-primary.uk-card-body .uk-input[list]:hover,.uk-card-primary.uk-card-body .uk-input[list]:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-input[list]:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-input[list]:focus,.uk-card-secondary.uk-card-body .uk-input[list]:hover,.uk-card-secondary.uk-card-body .uk-input[list]:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-input[list]:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-input[list]:focus,.uk-overlay-primary .uk-input[list]:hover,.uk-overlay-primary .uk-input[list]:focus,.uk-offcanvas-bar .uk-input[list]:hover,.uk-offcanvas-bar .uk-input[list]:focus{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-light .uk-radio,.uk-light .uk-checkbox,.uk-section-primary:not(.uk-preserve-color) .uk-radio,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox,.uk-section-secondary:not(.uk-preserve-color) .uk-radio,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,.uk-tile-primary:not(.uk-preserve-color) .uk-radio,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,.uk-tile-secondary:not(.uk-preserve-color) .uk-radio,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,.uk-card-primary.uk-card-body .uk-radio,.uk-card-primary.uk-card-body .uk-checkbox,.uk-card-primary>:not([class*=uk-card-media]) .uk-radio,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox,.uk-card-secondary.uk-card-body .uk-radio,.uk-card-secondary.uk-card-body .uk-checkbox,.uk-card-secondary>:not([class*=uk-card-media]) .uk-radio,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox,.uk-overlay-primary .uk-radio,.uk-overlay-primary .uk-checkbox,.uk-offcanvas-bar .uk-radio,.uk-offcanvas-bar .uk-checkbox{background-color:#ffffff1a;border-color:#fff3}.uk-light .uk-radio:focus,.uk-light .uk-checkbox:focus,.uk-section-primary:not(.uk-preserve-color) .uk-radio:focus,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,.uk-card-primary.uk-card-body .uk-radio:focus,.uk-card-primary.uk-card-body .uk-checkbox:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-radio:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:focus,.uk-card-secondary.uk-card-body .uk-radio:focus,.uk-card-secondary.uk-card-body .uk-checkbox:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-radio:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:focus,.uk-overlay-primary .uk-radio:focus,.uk-overlay-primary .uk-checkbox:focus,.uk-offcanvas-bar .uk-radio:focus,.uk-offcanvas-bar .uk-checkbox:focus{background-color:#ffffff26;border-color:#ffffffb3}.uk-light .uk-radio:checked,.uk-light .uk-checkbox:checked,.uk-light .uk-checkbox:indeterminate,.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-card-primary.uk-card-body .uk-radio:checked,.uk-card-primary.uk-card-body .uk-checkbox:checked,.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,.uk-card-primary>:not([class*=uk-card-media]) .uk-radio:checked,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:checked,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate,.uk-card-secondary.uk-card-body .uk-radio:checked,.uk-card-secondary.uk-card-body .uk-checkbox:checked,.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,.uk-card-secondary>:not([class*=uk-card-media]) .uk-radio:checked,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:checked,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate,.uk-overlay-primary .uk-radio:checked,.uk-overlay-primary .uk-checkbox:checked,.uk-overlay-primary .uk-checkbox:indeterminate,.uk-offcanvas-bar .uk-radio:checked,.uk-offcanvas-bar .uk-checkbox:checked,.uk-offcanvas-bar .uk-checkbox:indeterminate{background-color:#fff;border-color:#fff}.uk-light .uk-radio:checked:focus,.uk-light .uk-checkbox:checked:focus,.uk-light .uk-checkbox:indeterminate:focus,.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,.uk-card-primary.uk-card-body .uk-radio:checked:focus,.uk-card-primary.uk-card-body .uk-checkbox:checked:focus,.uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-radio:checked:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:checked:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate:focus,.uk-card-secondary.uk-card-body .uk-radio:checked:focus,.uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-radio:checked:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:checked:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate:focus,.uk-overlay-primary .uk-radio:checked:focus,.uk-overlay-primary .uk-checkbox:checked:focus,.uk-overlay-primary .uk-checkbox:indeterminate:focus,.uk-offcanvas-bar .uk-radio:checked:focus,.uk-offcanvas-bar .uk-checkbox:checked:focus,.uk-offcanvas-bar .uk-checkbox:indeterminate:focus{background-color:#fff}.uk-light .uk-radio:checked,.uk-section-primary:not(.uk-preserve-color) .uk-radio:checked,.uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked,.uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked,.uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked,.uk-card-primary.uk-card-body .uk-radio:checked,.uk-card-primary>:not([class*=uk-card-media]) .uk-radio:checked,.uk-card-secondary.uk-card-body .uk-radio:checked,.uk-card-secondary>:not([class*=uk-card-media]) .uk-radio:checked,.uk-overlay-primary .uk-radio:checked,.uk-offcanvas-bar .uk-radio:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-light .uk-checkbox:checked,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,.uk-card-primary.uk-card-body .uk-checkbox:checked,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:checked,.uk-card-secondary.uk-card-body .uk-checkbox:checked,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:checked,.uk-overlay-primary .uk-checkbox:checked,.uk-offcanvas-bar .uk-checkbox:checked{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A)}.uk-light .uk-checkbox:indeterminate,.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,.uk-card-primary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate,.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,.uk-card-secondary>:not([class*=uk-card-media]) .uk-checkbox:indeterminate,.uk-overlay-primary .uk-checkbox:indeterminate,.uk-offcanvas-bar .uk-checkbox:indeterminate{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-light .uk-form-label,.uk-section-primary:not(.uk-preserve-color) .uk-form-label,.uk-section-secondary:not(.uk-preserve-color) .uk-form-label,.uk-tile-primary:not(.uk-preserve-color) .uk-form-label,.uk-tile-secondary:not(.uk-preserve-color) .uk-form-label,.uk-card-primary.uk-card-body .uk-form-label,.uk-card-primary>:not([class*=uk-card-media]) .uk-form-label,.uk-card-secondary.uk-card-body .uk-form-label,.uk-card-secondary>:not([class*=uk-card-media]) .uk-form-label,.uk-overlay-primary .uk-form-label,.uk-offcanvas-bar .uk-form-label{color:#fff}.uk-light .uk-form-icon,.uk-section-primary:not(.uk-preserve-color) .uk-form-icon,.uk-section-secondary:not(.uk-preserve-color) .uk-form-icon,.uk-tile-primary:not(.uk-preserve-color) .uk-form-icon,.uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon,.uk-card-primary.uk-card-body .uk-form-icon,.uk-card-primary>:not([class*=uk-card-media]) .uk-form-icon,.uk-card-secondary.uk-card-body .uk-form-icon,.uk-card-secondary>:not([class*=uk-card-media]) .uk-form-icon,.uk-overlay-primary .uk-form-icon,.uk-offcanvas-bar .uk-form-icon{color:#ffffff80}.uk-light .uk-form-icon:hover,.uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover,.uk-card-primary.uk-card-body .uk-form-icon:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-form-icon:hover,.uk-card-secondary.uk-card-body .uk-form-icon:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-form-icon:hover,.uk-overlay-primary .uk-form-icon:hover,.uk-offcanvas-bar .uk-form-icon:hover{color:#ffffffb3}.uk-light .uk-button-default,.uk-section-primary:not(.uk-preserve-color) .uk-button-default,.uk-section-secondary:not(.uk-preserve-color) .uk-button-default,.uk-tile-primary:not(.uk-preserve-color) .uk-button-default,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default,.uk-card-primary.uk-card-body .uk-button-default,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-default,.uk-card-secondary.uk-card-body .uk-button-default,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-default,.uk-overlay-primary .uk-button-default,.uk-offcanvas-bar .uk-button-default{background-color:transparent;color:#fff;border-color:#ffffffb3}.uk-light .uk-button-default:hover,.uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover,.uk-card-primary.uk-card-body .uk-button-default:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-default:hover,.uk-card-secondary.uk-card-body .uk-button-default:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-default:hover,.uk-overlay-primary .uk-button-default:hover,.uk-offcanvas-bar .uk-button-default:hover{background-color:transparent;color:#fff;border-color:#fff}.uk-light .uk-button-default:active,.uk-light .uk-button-default.uk-active,.uk-section-primary:not(.uk-preserve-color) .uk-button-default:active,.uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,.uk-card-primary.uk-card-body .uk-button-default:active,.uk-card-primary.uk-card-body .uk-button-default.uk-active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-default:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-default.uk-active,.uk-card-secondary.uk-card-body .uk-button-default:active,.uk-card-secondary.uk-card-body .uk-button-default.uk-active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-default:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-default.uk-active,.uk-overlay-primary .uk-button-default:active,.uk-overlay-primary .uk-button-default.uk-active,.uk-offcanvas-bar .uk-button-default:active,.uk-offcanvas-bar .uk-button-default.uk-active{background-color:transparent;color:#fff;border-color:#fff}.uk-light .uk-button-primary,.uk-section-primary:not(.uk-preserve-color) .uk-button-primary,.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary,.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary,.uk-card-primary.uk-card-body .uk-button-primary,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary,.uk-card-secondary.uk-card-body .uk-button-primary,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary,.uk-overlay-primary .uk-button-primary,.uk-offcanvas-bar .uk-button-primary{background-color:#fff;color:#666}.uk-light .uk-button-primary:hover,.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover,.uk-card-primary.uk-card-body .uk-button-primary:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary:hover,.uk-card-secondary.uk-card-body .uk-button-primary:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary:hover,.uk-overlay-primary .uk-button-primary:hover,.uk-offcanvas-bar .uk-button-primary:hover{background-color:#f2f2f2;color:#666}.uk-light .uk-button-primary:active,.uk-light .uk-button-primary.uk-active,.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active,.uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,.uk-card-primary.uk-card-body .uk-button-primary:active,.uk-card-primary.uk-card-body .uk-button-primary.uk-active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-primary.uk-active,.uk-card-secondary.uk-card-body .uk-button-primary:active,.uk-card-secondary.uk-card-body .uk-button-primary.uk-active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-primary.uk-active,.uk-overlay-primary .uk-button-primary:active,.uk-overlay-primary .uk-button-primary.uk-active,.uk-offcanvas-bar .uk-button-primary:active,.uk-offcanvas-bar .uk-button-primary.uk-active{background-color:#e6e6e6;color:#666}.uk-light .uk-button-secondary,.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary,.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary,.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary,.uk-card-primary.uk-card-body .uk-button-secondary,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-secondary,.uk-card-secondary.uk-card-body .uk-button-secondary,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-secondary,.uk-overlay-primary .uk-button-secondary,.uk-offcanvas-bar .uk-button-secondary{background-color:#fff;color:#666}.uk-light .uk-button-secondary:hover,.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover,.uk-card-primary.uk-card-body .uk-button-secondary:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-secondary:hover,.uk-card-secondary.uk-card-body .uk-button-secondary:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-secondary:hover,.uk-overlay-primary .uk-button-secondary:hover,.uk-offcanvas-bar .uk-button-secondary:hover{background-color:#f2f2f2;color:#666}.uk-light .uk-button-secondary:active,.uk-light .uk-button-secondary.uk-active,.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active,.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active,.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active,.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,.uk-card-primary.uk-card-body .uk-button-secondary:active,.uk-card-primary.uk-card-body .uk-button-secondary.uk-active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-secondary:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-secondary.uk-active,.uk-card-secondary.uk-card-body .uk-button-secondary:active,.uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-secondary:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-secondary.uk-active,.uk-overlay-primary .uk-button-secondary:active,.uk-overlay-primary .uk-button-secondary.uk-active,.uk-offcanvas-bar .uk-button-secondary:active,.uk-offcanvas-bar .uk-button-secondary.uk-active{background-color:#e6e6e6;color:#666}.uk-light .uk-button-text,.uk-section-primary:not(.uk-preserve-color) .uk-button-text,.uk-section-secondary:not(.uk-preserve-color) .uk-button-text,.uk-tile-primary:not(.uk-preserve-color) .uk-button-text,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text,.uk-card-primary.uk-card-body .uk-button-text,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-text,.uk-card-secondary.uk-card-body .uk-button-text,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-text,.uk-overlay-primary .uk-button-text,.uk-offcanvas-bar .uk-button-text{color:#fff}.uk-light .uk-button-text:before,.uk-section-primary:not(.uk-preserve-color) .uk-button-text:before,.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:before,.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:before,.uk-card-primary.uk-card-body .uk-button-text:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-text:before,.uk-card-secondary.uk-card-body .uk-button-text:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-text:before,.uk-overlay-primary .uk-button-text:before,.uk-offcanvas-bar .uk-button-text:before{border-bottom-color:#fff}.uk-light .uk-button-text:hover,.uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover,.uk-card-primary.uk-card-body .uk-button-text:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-text:hover,.uk-card-secondary.uk-card-body .uk-button-text:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-text:hover,.uk-overlay-primary .uk-button-text:hover,.uk-offcanvas-bar .uk-button-text:hover{color:#fff}.uk-light .uk-button-text:disabled,.uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled,.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled,.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled,.uk-card-primary.uk-card-body .uk-button-text:disabled,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-text:disabled,.uk-card-secondary.uk-card-body .uk-button-text:disabled,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-text:disabled,.uk-overlay-primary .uk-button-text:disabled,.uk-offcanvas-bar .uk-button-text:disabled{color:#ffffff80}.uk-light .uk-button-link,.uk-section-primary:not(.uk-preserve-color) .uk-button-link,.uk-section-secondary:not(.uk-preserve-color) .uk-button-link,.uk-tile-primary:not(.uk-preserve-color) .uk-button-link,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link,.uk-card-primary.uk-card-body .uk-button-link,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-link,.uk-card-secondary.uk-card-body .uk-button-link,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-link,.uk-overlay-primary .uk-button-link,.uk-offcanvas-bar .uk-button-link{color:#fff}.uk-light .uk-button-link:hover,.uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover,.uk-card-primary.uk-card-body .uk-button-link:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-button-link:hover,.uk-card-secondary.uk-card-body .uk-button-link:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-button-link:hover,.uk-overlay-primary .uk-button-link:hover,.uk-offcanvas-bar .uk-button-link:hover{color:#ffffff80}.uk-light.uk-card-badge,.uk-section-primary:not(.uk-preserve-color).uk-card-badge,.uk-section-secondary:not(.uk-preserve-color).uk-card-badge,.uk-tile-primary:not(.uk-preserve-color).uk-card-badge,.uk-tile-secondary:not(.uk-preserve-color).uk-card-badge,.uk-card-primary.uk-card-body.uk-card-badge,.uk-card-primary>:not([class*=uk-card-media]).uk-card-badge,.uk-card-secondary.uk-card-body.uk-card-badge,.uk-card-secondary>:not([class*=uk-card-media]).uk-card-badge,.uk-overlay-primary.uk-card-badge,.uk-offcanvas-bar.uk-card-badge{background-color:#fff;color:#666}.uk-light .uk-close,.uk-section-primary:not(.uk-preserve-color) .uk-close,.uk-section-secondary:not(.uk-preserve-color) .uk-close,.uk-tile-primary:not(.uk-preserve-color) .uk-close,.uk-tile-secondary:not(.uk-preserve-color) .uk-close,.uk-card-primary.uk-card-body .uk-close,.uk-card-primary>:not([class*=uk-card-media]) .uk-close,.uk-card-secondary.uk-card-body .uk-close,.uk-card-secondary>:not([class*=uk-card-media]) .uk-close,.uk-overlay-primary .uk-close,.uk-offcanvas-bar .uk-close{color:#ffffff80}.uk-light .uk-close:hover,.uk-section-primary:not(.uk-preserve-color) .uk-close:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-close:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-close:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover,.uk-card-primary.uk-card-body .uk-close:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-close:hover,.uk-card-secondary.uk-card-body .uk-close:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-close:hover,.uk-overlay-primary .uk-close:hover,.uk-offcanvas-bar .uk-close:hover{color:#ffffffb3}.uk-light .uk-totop,.uk-section-primary:not(.uk-preserve-color) .uk-totop,.uk-section-secondary:not(.uk-preserve-color) .uk-totop,.uk-tile-primary:not(.uk-preserve-color) .uk-totop,.uk-tile-secondary:not(.uk-preserve-color) .uk-totop,.uk-card-primary.uk-card-body .uk-totop,.uk-card-primary>:not([class*=uk-card-media]) .uk-totop,.uk-card-secondary.uk-card-body .uk-totop,.uk-card-secondary>:not([class*=uk-card-media]) .uk-totop,.uk-overlay-primary .uk-totop,.uk-offcanvas-bar .uk-totop{color:#ffffff80}.uk-light .uk-totop:hover,.uk-section-primary:not(.uk-preserve-color) .uk-totop:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover,.uk-card-primary.uk-card-body .uk-totop:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-totop:hover,.uk-card-secondary.uk-card-body .uk-totop:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-totop:hover,.uk-overlay-primary .uk-totop:hover,.uk-offcanvas-bar .uk-totop:hover{color:#ffffffb3}.uk-light .uk-totop:active,.uk-section-primary:not(.uk-preserve-color) .uk-totop:active,.uk-section-secondary:not(.uk-preserve-color) .uk-totop:active,.uk-tile-primary:not(.uk-preserve-color) .uk-totop:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active,.uk-card-primary.uk-card-body .uk-totop:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-totop:active,.uk-card-secondary.uk-card-body .uk-totop:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-totop:active,.uk-overlay-primary .uk-totop:active,.uk-offcanvas-bar .uk-totop:active{color:#fff}.uk-light .uk-marker,.uk-section-primary:not(.uk-preserve-color) .uk-marker,.uk-section-secondary:not(.uk-preserve-color) .uk-marker,.uk-tile-primary:not(.uk-preserve-color) .uk-marker,.uk-tile-secondary:not(.uk-preserve-color) .uk-marker,.uk-card-primary.uk-card-body .uk-marker,.uk-card-primary>:not([class*=uk-card-media]) .uk-marker,.uk-card-secondary.uk-card-body .uk-marker,.uk-card-secondary>:not([class*=uk-card-media]) .uk-marker,.uk-overlay-primary .uk-marker,.uk-offcanvas-bar .uk-marker{background:#f8f8f8;color:#666}.uk-light .uk-marker:hover,.uk-section-primary:not(.uk-preserve-color) .uk-marker:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-marker:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-marker:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-marker:hover,.uk-card-primary.uk-card-body .uk-marker:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-marker:hover,.uk-card-secondary.uk-card-body .uk-marker:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-marker:hover,.uk-overlay-primary .uk-marker:hover,.uk-offcanvas-bar .uk-marker:hover{color:#666}.uk-light .uk-badge,.uk-section-primary:not(.uk-preserve-color) .uk-badge,.uk-section-secondary:not(.uk-preserve-color) .uk-badge,.uk-tile-primary:not(.uk-preserve-color) .uk-badge,.uk-tile-secondary:not(.uk-preserve-color) .uk-badge,.uk-card-primary.uk-card-body .uk-badge,.uk-card-primary>:not([class*=uk-card-media]) .uk-badge,.uk-card-secondary.uk-card-body .uk-badge,.uk-card-secondary>:not([class*=uk-card-media]) .uk-badge,.uk-overlay-primary .uk-badge,.uk-offcanvas-bar .uk-badge{background-color:#fff;color:#666!important}.uk-light .uk-label,.uk-section-primary:not(.uk-preserve-color) .uk-label,.uk-section-secondary:not(.uk-preserve-color) .uk-label,.uk-tile-primary:not(.uk-preserve-color) .uk-label,.uk-tile-secondary:not(.uk-preserve-color) .uk-label,.uk-card-primary.uk-card-body .uk-label,.uk-card-primary>:not([class*=uk-card-media]) .uk-label,.uk-card-secondary.uk-card-body .uk-label,.uk-card-secondary>:not([class*=uk-card-media]) .uk-label,.uk-overlay-primary .uk-label,.uk-offcanvas-bar .uk-label{background-color:#fff;color:#666}.uk-light .uk-article-meta,.uk-section-primary:not(.uk-preserve-color) .uk-article-meta,.uk-section-secondary:not(.uk-preserve-color) .uk-article-meta,.uk-tile-primary:not(.uk-preserve-color) .uk-article-meta,.uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta,.uk-card-primary.uk-card-body .uk-article-meta,.uk-card-primary>:not([class*=uk-card-media]) .uk-article-meta,.uk-card-secondary.uk-card-body .uk-article-meta,.uk-card-secondary>:not([class*=uk-card-media]) .uk-article-meta,.uk-overlay-primary .uk-article-meta,.uk-offcanvas-bar .uk-article-meta{color:#ffffff80}.uk-light .uk-search-input,.uk-section-primary:not(.uk-preserve-color) .uk-search-input,.uk-section-secondary:not(.uk-preserve-color) .uk-search-input,.uk-tile-primary:not(.uk-preserve-color) .uk-search-input,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input,.uk-card-primary.uk-card-body .uk-search-input,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-input,.uk-card-secondary.uk-card-body .uk-search-input,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-input,.uk-overlay-primary .uk-search-input,.uk-offcanvas-bar .uk-search-input{color:#ffffffb3}.uk-light .uk-search-input::placeholder,.uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder,.uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder,.uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder,.uk-card-primary.uk-card-body .uk-search-input::placeholder,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-input::placeholder,.uk-card-secondary.uk-card-body .uk-search-input::placeholder,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-input::placeholder,.uk-overlay-primary .uk-search-input::placeholder,.uk-offcanvas-bar .uk-search-input::placeholder{color:#ffffff80}.uk-light .uk-search .uk-search-icon,.uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon,.uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon,.uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon,.uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon,.uk-card-primary.uk-card-body .uk-search .uk-search-icon,.uk-card-primary>:not([class*=uk-card-media]) .uk-search .uk-search-icon,.uk-card-secondary.uk-card-body .uk-search .uk-search-icon,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search .uk-search-icon,.uk-overlay-primary .uk-search .uk-search-icon,.uk-offcanvas-bar .uk-search .uk-search-icon{color:#ffffff80}.uk-light .uk-search .uk-search-icon:hover,.uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover,.uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-search .uk-search-icon:hover,.uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search .uk-search-icon:hover,.uk-overlay-primary .uk-search .uk-search-icon:hover,.uk-offcanvas-bar .uk-search .uk-search-icon:hover{color:#ffffff80}.uk-light .uk-search-default .uk-search-input,.uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input,.uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input,.uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input,.uk-card-primary.uk-card-body .uk-search-default .uk-search-input,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-default .uk-search-input,.uk-card-secondary.uk-card-body .uk-search-default .uk-search-input,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-default .uk-search-input,.uk-overlay-primary .uk-search-default .uk-search-input,.uk-offcanvas-bar .uk-search-default .uk-search-input{background-color:transparent;border-color:#fff3}.uk-light .uk-search-default .uk-search-input:focus,.uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus,.uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus,.uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus,.uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-default .uk-search-input:focus,.uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-default .uk-search-input:focus,.uk-overlay-primary .uk-search-default .uk-search-input:focus,.uk-offcanvas-bar .uk-search-default .uk-search-input:focus{background-color:#0000000d}.uk-light .uk-search-navbar .uk-search-input,.uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,.uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,.uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input,.uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-navbar .uk-search-input,.uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-navbar .uk-search-input,.uk-overlay-primary .uk-search-navbar .uk-search-input,.uk-offcanvas-bar .uk-search-navbar .uk-search-input{background-color:transparent}.uk-light .uk-search-large .uk-search-input,.uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input,.uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input,.uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input,.uk-card-primary.uk-card-body .uk-search-large .uk-search-input,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-large .uk-search-input,.uk-card-secondary.uk-card-body .uk-search-large .uk-search-input,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-large .uk-search-input,.uk-overlay-primary .uk-search-large .uk-search-input,.uk-offcanvas-bar .uk-search-large .uk-search-input{background-color:transparent}.uk-light .uk-search-toggle,.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle,.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle,.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle,.uk-card-primary.uk-card-body .uk-search-toggle,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-toggle,.uk-card-secondary.uk-card-body .uk-search-toggle,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-toggle,.uk-overlay-primary .uk-search-toggle,.uk-offcanvas-bar .uk-search-toggle{color:#ffffff80}.uk-light .uk-search-toggle:hover,.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover,.uk-card-primary.uk-card-body .uk-search-toggle:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-search-toggle:hover,.uk-card-secondary.uk-card-body .uk-search-toggle:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-search-toggle:hover,.uk-overlay-primary .uk-search-toggle:hover,.uk-offcanvas-bar .uk-search-toggle:hover{color:#ffffffb3}.uk-light .uk-accordion-title,.uk-section-primary:not(.uk-preserve-color) .uk-accordion-title,.uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title,.uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title,.uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title,.uk-card-primary.uk-card-body .uk-accordion-title,.uk-card-primary>:not([class*=uk-card-media]) .uk-accordion-title,.uk-card-secondary.uk-card-body .uk-accordion-title,.uk-card-secondary>:not([class*=uk-card-media]) .uk-accordion-title,.uk-overlay-primary .uk-accordion-title,.uk-offcanvas-bar .uk-accordion-title{color:#fff}.uk-light .uk-accordion-title:hover,.uk-section-primary:not(.uk-preserve-color) .uk-accordion-title:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title:hover,.uk-card-primary.uk-card-body .uk-accordion-title:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-accordion-title:hover,.uk-card-secondary.uk-card-body .uk-accordion-title:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-accordion-title:hover,.uk-overlay-primary .uk-accordion-title:hover,.uk-offcanvas-bar .uk-accordion-title:hover{color:#ffffffb3}.uk-light .uk-grid-divider>:not(.uk-first-column):before,.uk-section-primary:not(.uk-preserve-color) .uk-grid-divider>:not(.uk-first-column):before,.uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider>:not(.uk-first-column):before,.uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider>:not(.uk-first-column):before,.uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider>:not(.uk-first-column):before,.uk-card-primary.uk-card-body .uk-grid-divider>:not(.uk-first-column):before,.uk-card-primary>:not([class*=uk-card-media]) .uk-grid-divider>:not(.uk-first-column):before,.uk-card-secondary.uk-card-body .uk-grid-divider>:not(.uk-first-column):before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-grid-divider>:not(.uk-first-column):before,.uk-overlay-primary .uk-grid-divider>:not(.uk-first-column):before,.uk-offcanvas-bar .uk-grid-divider>:not(.uk-first-column):before{border-left-color:#fff3}.uk-light .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-overlay-primary .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before,.uk-offcanvas-bar .uk-grid-divider.uk-grid-stack>.uk-grid-margin:before{border-top-color:#fff3}.uk-light .uk-nav-default>li>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default>li>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default>li>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default>li>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default>li>a,.uk-card-primary.uk-card-body .uk-nav-default>li>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default>li>a,.uk-card-secondary.uk-card-body .uk-nav-default>li>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default>li>a,.uk-overlay-primary .uk-nav-default>li>a,.uk-offcanvas-bar .uk-nav-default>li>a{color:#ffffff80}.uk-light .uk-nav-default>li>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default>li>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default>li>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default>li>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default>li>a:hover,.uk-card-primary.uk-card-body .uk-nav-default>li>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default>li>a:hover,.uk-card-secondary.uk-card-body .uk-nav-default>li>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default>li>a:hover,.uk-overlay-primary .uk-nav-default>li>a:hover,.uk-offcanvas-bar .uk-nav-default>li>a:hover{color:#ffffffb3}.uk-light .uk-nav-default>li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default>li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default>li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default>li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default>li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-default>li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default>li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-default>li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default>li.uk-active>a,.uk-overlay-primary .uk-nav-default>li.uk-active>a,.uk-offcanvas-bar .uk-nav-default>li.uk-active>a{color:#fff}.uk-light .uk-nav-default .uk-nav-header,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header,.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-header,.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-header,.uk-overlay-primary .uk-nav-default .uk-nav-header,.uk-offcanvas-bar .uk-nav-default .uk-nav-header{color:#fff}.uk-light .uk-nav-default .uk-nav-divider,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider,.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-divider,.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-divider,.uk-overlay-primary .uk-nav-default .uk-nav-divider,.uk-offcanvas-bar .uk-nav-default .uk-nav-divider{border-top-color:#fff3}.uk-light .uk-nav-default .uk-nav-sub a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a,.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a,.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a,.uk-overlay-primary .uk-nav-default .uk-nav-sub a,.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a{color:#ffffff80}.uk-light .uk-nav-default .uk-nav-sub a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover,.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:hover,.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub a:hover,.uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover,.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover{color:#ffffffb3}.uk-light .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active>a,.uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active>a{color:#fff}.uk-light .uk-nav-primary>li>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary>li>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary>li>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary>li>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary>li>a,.uk-card-primary.uk-card-body .uk-nav-primary>li>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary>li>a,.uk-card-secondary.uk-card-body .uk-nav-primary>li>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary>li>a,.uk-overlay-primary .uk-nav-primary>li>a,.uk-offcanvas-bar .uk-nav-primary>li>a{color:#ffffff80}.uk-light .uk-nav-primary>li>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary>li>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary>li>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary>li>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary>li>a:hover,.uk-card-primary.uk-card-body .uk-nav-primary>li>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary>li>a:hover,.uk-card-secondary.uk-card-body .uk-nav-primary>li>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary>li>a:hover,.uk-overlay-primary .uk-nav-primary>li>a:hover,.uk-offcanvas-bar .uk-nav-primary>li>a:hover{color:#ffffffb3}.uk-light .uk-nav-primary>li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary>li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary>li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary>li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary>li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-primary>li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary>li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-primary>li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary>li.uk-active>a,.uk-overlay-primary .uk-nav-primary>li.uk-active>a,.uk-offcanvas-bar .uk-nav-primary>li.uk-active>a{color:#fff}.uk-light .uk-nav-primary .uk-nav-header,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header,.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-header,.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-header,.uk-overlay-primary .uk-nav-primary .uk-nav-header,.uk-offcanvas-bar .uk-nav-primary .uk-nav-header{color:#fff}.uk-light .uk-nav-primary .uk-nav-divider,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider,.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-divider,.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-divider,.uk-overlay-primary .uk-nav-primary .uk-nav-divider,.uk-offcanvas-bar .uk-nav-primary .uk-nav-divider{border-top-color:#fff3}.uk-light .uk-nav-primary .uk-nav-sub a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a,.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a,.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a,.uk-overlay-primary .uk-nav-primary .uk-nav-sub a,.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a{color:#ffffff80}.uk-light .uk-nav-primary .uk-nav-sub a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover,.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:hover,.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub a:hover,.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover,.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover{color:#ffffffb3}.uk-light .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active>a,.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active>a{color:#fff}.uk-light .uk-nav-secondary>li>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a,.uk-card-primary.uk-card-body .uk-nav-secondary>li>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a,.uk-card-secondary.uk-card-body .uk-nav-secondary>li>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a,.uk-overlay-primary .uk-nav-secondary>li>a,.uk-offcanvas-bar .uk-nav-secondary>li>a{color:#fff}.uk-light .uk-nav-secondary>li>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover,.uk-card-primary.uk-card-body .uk-nav-secondary>li>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a:hover,.uk-card-secondary.uk-card-body .uk-nav-secondary>li>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a:hover,.uk-overlay-primary .uk-nav-secondary>li>a:hover,.uk-offcanvas-bar .uk-nav-secondary>li>a:hover{color:#fff;background-color:#ffffff1a}.uk-light .uk-nav-secondary>li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-secondary>li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary>li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-secondary>li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary>li.uk-active>a,.uk-overlay-primary .uk-nav-secondary>li.uk-active>a,.uk-offcanvas-bar .uk-nav-secondary>li.uk-active>a{color:#fff;background-color:#ffffff1a}.uk-light .uk-nav-secondary .uk-nav-subtitle,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-subtitle,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-subtitle,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-subtitle,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-subtitle,.uk-overlay-primary .uk-nav-secondary .uk-nav-subtitle,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-subtitle{color:#ffffff80}.uk-light .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-card-primary.uk-card-body .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-card-secondary.uk-card-body .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-overlay-primary .uk-nav-secondary>li>a:hover .uk-nav-subtitle,.uk-offcanvas-bar .uk-nav-secondary>li>a:hover .uk-nav-subtitle{color:#ffffffb3}.uk-light .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-card-primary.uk-card-body .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-card-secondary.uk-card-body .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-overlay-primary .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle,.uk-offcanvas-bar .uk-nav-secondary>li.uk-active>a .uk-nav-subtitle{color:#fff}.uk-light .uk-nav-secondary .uk-nav-header,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-header,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-header,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-header,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-header,.uk-overlay-primary .uk-nav-secondary .uk-nav-header,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-header{color:#fff}.uk-light .uk-nav-secondary .uk-nav-divider,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-divider,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-divider,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-divider,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-divider,.uk-overlay-primary .uk-nav-secondary .uk-nav-divider,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-divider{border-top-color:#fff3}.uk-light .uk-nav-secondary .uk-nav-sub a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a,.uk-overlay-primary .uk-nav-secondary .uk-nav-sub a,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub a{color:#ffffff80}.uk-light .uk-nav-secondary .uk-nav-sub a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a:hover,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a:hover,.uk-overlay-primary .uk-nav-secondary .uk-nav-sub a:hover,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub a:hover{color:#ffffffb3}.uk-light .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-overlay-primary .uk-nav-secondary .uk-nav-sub li.uk-active>a,.uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub li.uk-active>a{color:#fff}.uk-light .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-section-primary:not(.uk-preserve-color) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-section-secondary:not(.uk-preserve-color) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-tile-primary:not(.uk-preserve-color) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-tile-secondary:not(.uk-preserve-color) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-card-primary.uk-card-body .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-card-primary>:not([class*=uk-card-media]) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-card-secondary.uk-card-body .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-card-secondary>:not([class*=uk-card-media]) .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-overlay-primary .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider),.uk-offcanvas-bar .uk-nav.uk-nav-divider>:not(.uk-nav-divider)+:not(.uk-nav-header,.uk-nav-divider){border-top-color:#fff3}.uk-light .uk-navbar-nav>li>a,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a,.uk-card-primary.uk-card-body .uk-navbar-nav>li>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a,.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a,.uk-overlay-primary .uk-navbar-nav>li>a,.uk-offcanvas-bar .uk-navbar-nav>li>a{color:#ffffff80}.uk-light .uk-navbar-nav>li:hover>a,.uk-light .uk-navbar-nav>li>a[aria-expanded=true],.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a[aria-expanded=true],.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a[aria-expanded=true],.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a[aria-expanded=true],.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav>li:hover>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a[aria-expanded=true],.uk-card-primary.uk-card-body .uk-navbar-nav>li:hover>a,.uk-card-primary.uk-card-body .uk-navbar-nav>li>a[aria-expanded=true],.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-nav>li:hover>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a[aria-expanded=true],.uk-card-secondary.uk-card-body .uk-navbar-nav>li:hover>a,.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a[aria-expanded=true],.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-nav>li:hover>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a[aria-expanded=true],.uk-overlay-primary .uk-navbar-nav>li:hover>a,.uk-overlay-primary .uk-navbar-nav>li>a[aria-expanded=true],.uk-offcanvas-bar .uk-navbar-nav>li:hover>a,.uk-offcanvas-bar .uk-navbar-nav>li>a[aria-expanded=true]{color:#ffffffb3}.uk-light .uk-navbar-nav>li>a:active,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav>li>a:active,.uk-card-primary.uk-card-body .uk-navbar-nav>li>a:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a:active,.uk-card-secondary.uk-card-body .uk-navbar-nav>li>a:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-nav>li>a:active,.uk-overlay-primary .uk-navbar-nav>li>a:active,.uk-offcanvas-bar .uk-navbar-nav>li>a:active{color:#fff}.uk-light .uk-navbar-nav>li.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav>li.uk-active>a,.uk-card-primary.uk-card-body .uk-navbar-nav>li.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-nav>li.uk-active>a,.uk-card-secondary.uk-card-body .uk-navbar-nav>li.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-nav>li.uk-active>a,.uk-overlay-primary .uk-navbar-nav>li.uk-active>a,.uk-offcanvas-bar .uk-navbar-nav>li.uk-active>a{color:#fff}.uk-light .uk-navbar-item,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-item,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item,.uk-card-primary.uk-card-body .uk-navbar-item,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-item,.uk-card-secondary.uk-card-body .uk-navbar-item,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-item,.uk-overlay-primary .uk-navbar-item,.uk-offcanvas-bar .uk-navbar-item{color:#ffffffb3}.uk-light .uk-navbar-toggle,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle,.uk-card-primary.uk-card-body .uk-navbar-toggle,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-toggle,.uk-card-secondary.uk-card-body .uk-navbar-toggle,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-toggle,.uk-overlay-primary .uk-navbar-toggle,.uk-offcanvas-bar .uk-navbar-toggle{color:#ffffff80}.uk-light .uk-navbar-toggle:hover,.uk-light .uk-navbar-toggle[aria-expanded=true],.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover,.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],.uk-card-primary.uk-card-body .uk-navbar-toggle:hover,.uk-card-primary.uk-card-body .uk-navbar-toggle[aria-expanded=true],.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-toggle:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-navbar-toggle[aria-expanded=true],.uk-card-secondary.uk-card-body .uk-navbar-toggle:hover,.uk-card-secondary.uk-card-body .uk-navbar-toggle[aria-expanded=true],.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-toggle:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-navbar-toggle[aria-expanded=true],.uk-overlay-primary .uk-navbar-toggle:hover,.uk-overlay-primary .uk-navbar-toggle[aria-expanded=true],.uk-offcanvas-bar .uk-navbar-toggle:hover,.uk-offcanvas-bar .uk-navbar-toggle[aria-expanded=true]{color:#ffffffb3}.uk-light .uk-subnav>*>:first-child,.uk-section-primary:not(.uk-preserve-color) .uk-subnav>*>:first-child,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav>*>:first-child,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav>*>:first-child,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav>*>:first-child,.uk-card-primary.uk-card-body .uk-subnav>*>:first-child,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav>*>:first-child,.uk-card-secondary.uk-card-body .uk-subnav>*>:first-child,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav>*>:first-child,.uk-overlay-primary .uk-subnav>*>:first-child,.uk-offcanvas-bar .uk-subnav>*>:first-child{color:#ffffff80}.uk-light .uk-subnav>*>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-subnav>*>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav>*>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav>*>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav>*>a:hover,.uk-card-primary.uk-card-body .uk-subnav>*>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav>*>a:hover,.uk-card-secondary.uk-card-body .uk-subnav>*>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav>*>a:hover,.uk-overlay-primary .uk-subnav>*>a:hover,.uk-offcanvas-bar .uk-subnav>*>a:hover{color:#ffffffb3}.uk-light .uk-subnav>.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-subnav>.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav>.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav>.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav>.uk-active>a,.uk-card-primary.uk-card-body .uk-subnav>.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav>.uk-active>a,.uk-card-secondary.uk-card-body .uk-subnav>.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav>.uk-active>a,.uk-overlay-primary .uk-subnav>.uk-active>a,.uk-offcanvas-bar .uk-subnav>.uk-active>a{color:#fff}.uk-light .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-card-primary.uk-card-body .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-card-secondary.uk-card-body .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-overlay-primary .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before,.uk-offcanvas-bar .uk-subnav-divider>:nth-child(n+2):not(.uk-first-column):before{border-left-color:#fff3}.uk-light .uk-subnav-pill>*>:first-child,.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill>*>:first-child,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>:first-child,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill>*>:first-child,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>:first-child,.uk-card-primary.uk-card-body .uk-subnav-pill>*>:first-child,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav-pill>*>:first-child,.uk-card-secondary.uk-card-body .uk-subnav-pill>*>:first-child,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav-pill>*>:first-child,.uk-overlay-primary .uk-subnav-pill>*>:first-child,.uk-offcanvas-bar .uk-subnav-pill>*>:first-child{background-color:transparent;color:#ffffff80}.uk-light .uk-subnav-pill>*>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill>*>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill>*>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>a:hover,.uk-card-primary.uk-card-body .uk-subnav-pill>*>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav-pill>*>a:hover,.uk-card-secondary.uk-card-body .uk-subnav-pill>*>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav-pill>*>a:hover,.uk-overlay-primary .uk-subnav-pill>*>a:hover,.uk-offcanvas-bar .uk-subnav-pill>*>a:hover{background-color:#ffffff1a;color:#ffffffb3}.uk-light .uk-subnav-pill>*>a:active,.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill>*>a:active,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>a:active,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill>*>a:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill>*>a:active,.uk-card-primary.uk-card-body .uk-subnav-pill>*>a:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav-pill>*>a:active,.uk-card-secondary.uk-card-body .uk-subnav-pill>*>a:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav-pill>*>a:active,.uk-overlay-primary .uk-subnav-pill>*>a:active,.uk-offcanvas-bar .uk-subnav-pill>*>a:active{background-color:#ffffff1a;color:#ffffffb3}.uk-light .uk-subnav-pill>.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill>.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill>.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill>.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill>.uk-active>a,.uk-card-primary.uk-card-body .uk-subnav-pill>.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav-pill>.uk-active>a,.uk-card-secondary.uk-card-body .uk-subnav-pill>.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav-pill>.uk-active>a,.uk-overlay-primary .uk-subnav-pill>.uk-active>a,.uk-offcanvas-bar .uk-subnav-pill>.uk-active>a{background-color:#fff;color:#666}.uk-light .uk-subnav>.uk-disabled>a,.uk-section-primary:not(.uk-preserve-color) .uk-subnav>.uk-disabled>a,.uk-section-secondary:not(.uk-preserve-color) .uk-subnav>.uk-disabled>a,.uk-tile-primary:not(.uk-preserve-color) .uk-subnav>.uk-disabled>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav>.uk-disabled>a,.uk-card-primary.uk-card-body .uk-subnav>.uk-disabled>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-subnav>.uk-disabled>a,.uk-card-secondary.uk-card-body .uk-subnav>.uk-disabled>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-subnav>.uk-disabled>a,.uk-overlay-primary .uk-subnav>.uk-disabled>a,.uk-offcanvas-bar .uk-subnav>.uk-disabled>a{color:#ffffff80}.uk-light .uk-breadcrumb>*>*,.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb>*>*,.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb>*>*,.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb>*>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb>*>*,.uk-card-primary.uk-card-body .uk-breadcrumb>*>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-breadcrumb>*>*,.uk-card-secondary.uk-card-body .uk-breadcrumb>*>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-breadcrumb>*>*,.uk-overlay-primary .uk-breadcrumb>*>*,.uk-offcanvas-bar .uk-breadcrumb>*>*{color:#ffffff80}.uk-light .uk-breadcrumb>*>:hover,.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb>*>:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb>*>:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb>*>:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb>*>:hover,.uk-card-primary.uk-card-body .uk-breadcrumb>*>:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-breadcrumb>*>:hover,.uk-card-secondary.uk-card-body .uk-breadcrumb>*>:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-breadcrumb>*>:hover,.uk-overlay-primary .uk-breadcrumb>*>:hover,.uk-offcanvas-bar .uk-breadcrumb>*>:hover{color:#ffffffb3}.uk-light .uk-breadcrumb>:last-child>*,.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb>:last-child>*,.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb>:last-child>*,.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb>:last-child>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb>:last-child>*,.uk-card-primary.uk-card-body .uk-breadcrumb>:last-child>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-breadcrumb>:last-child>*,.uk-card-secondary.uk-card-body .uk-breadcrumb>:last-child>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-breadcrumb>:last-child>*,.uk-overlay-primary .uk-breadcrumb>:last-child>*,.uk-offcanvas-bar .uk-breadcrumb>:last-child>*{color:#ffffffb3}.uk-light .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-card-primary.uk-card-body .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-card-primary>:not([class*=uk-card-media]) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-card-secondary.uk-card-body .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-overlay-primary .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before,.uk-offcanvas-bar .uk-breadcrumb>:nth-child(n+2):not(.uk-first-column):before{color:#ffffff80}.uk-light .uk-pagination>*>*,.uk-section-primary:not(.uk-preserve-color) .uk-pagination>*>*,.uk-section-secondary:not(.uk-preserve-color) .uk-pagination>*>*,.uk-tile-primary:not(.uk-preserve-color) .uk-pagination>*>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination>*>*,.uk-card-primary.uk-card-body .uk-pagination>*>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-pagination>*>*,.uk-card-secondary.uk-card-body .uk-pagination>*>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-pagination>*>*,.uk-overlay-primary .uk-pagination>*>*,.uk-offcanvas-bar .uk-pagination>*>*{color:#ffffff80}.uk-light .uk-pagination>*>:hover,.uk-section-primary:not(.uk-preserve-color) .uk-pagination>*>:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-pagination>*>:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-pagination>*>:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination>*>:hover,.uk-card-primary.uk-card-body .uk-pagination>*>:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-pagination>*>:hover,.uk-card-secondary.uk-card-body .uk-pagination>*>:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-pagination>*>:hover,.uk-overlay-primary .uk-pagination>*>:hover,.uk-offcanvas-bar .uk-pagination>*>:hover{color:#ffffffb3}.uk-light .uk-pagination>.uk-active>*,.uk-section-primary:not(.uk-preserve-color) .uk-pagination>.uk-active>*,.uk-section-secondary:not(.uk-preserve-color) .uk-pagination>.uk-active>*,.uk-tile-primary:not(.uk-preserve-color) .uk-pagination>.uk-active>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination>.uk-active>*,.uk-card-primary.uk-card-body .uk-pagination>.uk-active>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-pagination>.uk-active>*,.uk-card-secondary.uk-card-body .uk-pagination>.uk-active>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-pagination>.uk-active>*,.uk-overlay-primary .uk-pagination>.uk-active>*,.uk-offcanvas-bar .uk-pagination>.uk-active>*{color:#ffffffb3}.uk-light .uk-pagination>.uk-disabled>*,.uk-section-primary:not(.uk-preserve-color) .uk-pagination>.uk-disabled>*,.uk-section-secondary:not(.uk-preserve-color) .uk-pagination>.uk-disabled>*,.uk-tile-primary:not(.uk-preserve-color) .uk-pagination>.uk-disabled>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination>.uk-disabled>*,.uk-card-primary.uk-card-body .uk-pagination>.uk-disabled>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-pagination>.uk-disabled>*,.uk-card-secondary.uk-card-body .uk-pagination>.uk-disabled>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-pagination>.uk-disabled>*,.uk-overlay-primary .uk-pagination>.uk-disabled>*,.uk-offcanvas-bar .uk-pagination>.uk-disabled>*{color:#ffffff80}.uk-light .uk-tab:before,.uk-section-primary:not(.uk-preserve-color) .uk-tab:before,.uk-section-secondary:not(.uk-preserve-color) .uk-tab:before,.uk-tile-primary:not(.uk-preserve-color) .uk-tab:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-tab:before,.uk-card-primary.uk-card-body .uk-tab:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-tab:before,.uk-card-secondary.uk-card-body .uk-tab:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-tab:before,.uk-overlay-primary .uk-tab:before,.uk-offcanvas-bar .uk-tab:before{border-color:#fff3}.uk-light .uk-tab>*>a,.uk-section-primary:not(.uk-preserve-color) .uk-tab>*>a,.uk-section-secondary:not(.uk-preserve-color) .uk-tab>*>a,.uk-tile-primary:not(.uk-preserve-color) .uk-tab>*>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-tab>*>a,.uk-card-primary.uk-card-body .uk-tab>*>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-tab>*>a,.uk-card-secondary.uk-card-body .uk-tab>*>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-tab>*>a,.uk-overlay-primary .uk-tab>*>a,.uk-offcanvas-bar .uk-tab>*>a{color:#ffffff80}.uk-light .uk-tab>*>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-tab>*>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-tab>*>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-tab>*>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-tab>*>a:hover,.uk-card-primary.uk-card-body .uk-tab>*>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-tab>*>a:hover,.uk-card-secondary.uk-card-body .uk-tab>*>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-tab>*>a:hover,.uk-overlay-primary .uk-tab>*>a:hover,.uk-offcanvas-bar .uk-tab>*>a:hover{color:#ffffffb3}.uk-light .uk-tab>.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-tab>.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-tab>.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-tab>.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-tab>.uk-active>a,.uk-card-primary.uk-card-body .uk-tab>.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-tab>.uk-active>a,.uk-card-secondary.uk-card-body .uk-tab>.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-tab>.uk-active>a,.uk-overlay-primary .uk-tab>.uk-active>a,.uk-offcanvas-bar .uk-tab>.uk-active>a{color:#fff;border-color:#fff}.uk-light .uk-tab>.uk-disabled>a,.uk-section-primary:not(.uk-preserve-color) .uk-tab>.uk-disabled>a,.uk-section-secondary:not(.uk-preserve-color) .uk-tab>.uk-disabled>a,.uk-tile-primary:not(.uk-preserve-color) .uk-tab>.uk-disabled>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-tab>.uk-disabled>a,.uk-card-primary.uk-card-body .uk-tab>.uk-disabled>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-tab>.uk-disabled>a,.uk-card-secondary.uk-card-body .uk-tab>.uk-disabled>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-tab>.uk-disabled>a,.uk-overlay-primary .uk-tab>.uk-disabled>a,.uk-offcanvas-bar .uk-tab>.uk-disabled>a{color:#ffffff80}.uk-light .uk-slidenav,.uk-section-primary:not(.uk-preserve-color) .uk-slidenav,.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav,.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav,.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav,.uk-card-primary.uk-card-body .uk-slidenav,.uk-card-primary>:not([class*=uk-card-media]) .uk-slidenav,.uk-card-secondary.uk-card-body .uk-slidenav,.uk-card-secondary>:not([class*=uk-card-media]) .uk-slidenav,.uk-overlay-primary .uk-slidenav,.uk-offcanvas-bar .uk-slidenav{color:#ffffffb3}.uk-light .uk-slidenav:hover,.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover,.uk-card-primary.uk-card-body .uk-slidenav:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-slidenav:hover,.uk-card-secondary.uk-card-body .uk-slidenav:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-slidenav:hover,.uk-overlay-primary .uk-slidenav:hover,.uk-offcanvas-bar .uk-slidenav:hover{color:#fffffff2}.uk-light .uk-slidenav:active,.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active,.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active,.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active,.uk-card-primary.uk-card-body .uk-slidenav:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-slidenav:active,.uk-card-secondary.uk-card-body .uk-slidenav:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-slidenav:active,.uk-overlay-primary .uk-slidenav:active,.uk-offcanvas-bar .uk-slidenav:active{color:#ffffffb3}.uk-light .uk-dotnav>*>*,.uk-section-primary:not(.uk-preserve-color) .uk-dotnav>*>*,.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav>*>*,.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav>*>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav>*>*,.uk-card-primary.uk-card-body .uk-dotnav>*>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-dotnav>*>*,.uk-card-secondary.uk-card-body .uk-dotnav>*>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-dotnav>*>*,.uk-overlay-primary .uk-dotnav>*>*,.uk-offcanvas-bar .uk-dotnav>*>*{background-color:transparent;border-color:#ffffffe6}.uk-light .uk-dotnav>*>:hover,.uk-section-primary:not(.uk-preserve-color) .uk-dotnav>*>:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav>*>:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav>*>:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav>*>:hover,.uk-card-primary.uk-card-body .uk-dotnav>*>:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-dotnav>*>:hover,.uk-card-secondary.uk-card-body .uk-dotnav>*>:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-dotnav>*>:hover,.uk-overlay-primary .uk-dotnav>*>:hover,.uk-offcanvas-bar .uk-dotnav>*>:hover{background-color:#ffffffe6;border-color:transparent}.uk-light .uk-dotnav>*>:active,.uk-section-primary:not(.uk-preserve-color) .uk-dotnav>*>:active,.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav>*>:active,.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav>*>:active,.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav>*>:active,.uk-card-primary.uk-card-body .uk-dotnav>*>:active,.uk-card-primary>:not([class*=uk-card-media]) .uk-dotnav>*>:active,.uk-card-secondary.uk-card-body .uk-dotnav>*>:active,.uk-card-secondary>:not([class*=uk-card-media]) .uk-dotnav>*>:active,.uk-overlay-primary .uk-dotnav>*>:active,.uk-offcanvas-bar .uk-dotnav>*>:active{background-color:#ffffff80;border-color:transparent}.uk-light .uk-dotnav>.uk-active>*,.uk-section-primary:not(.uk-preserve-color) .uk-dotnav>.uk-active>*,.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav>.uk-active>*,.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav>.uk-active>*,.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav>.uk-active>*,.uk-card-primary.uk-card-body .uk-dotnav>.uk-active>*,.uk-card-primary>:not([class*=uk-card-media]) .uk-dotnav>.uk-active>*,.uk-card-secondary.uk-card-body .uk-dotnav>.uk-active>*,.uk-card-secondary>:not([class*=uk-card-media]) .uk-dotnav>.uk-active>*,.uk-overlay-primary .uk-dotnav>.uk-active>*,.uk-offcanvas-bar .uk-dotnav>.uk-active>*{background-color:#ffffffe6;border-color:transparent}.uk-light .uk-thumbnav>*>*:after,.uk-section-primary:not(.uk-preserve-color) .uk-thumbnav>*>*:after,.uk-section-secondary:not(.uk-preserve-color) .uk-thumbnav>*>*:after,.uk-tile-primary:not(.uk-preserve-color) .uk-thumbnav>*>*:after,.uk-tile-secondary:not(.uk-preserve-color) .uk-thumbnav>*>*:after,.uk-card-primary.uk-card-body .uk-thumbnav>*>*:after,.uk-card-primary>:not([class*=uk-card-media]) .uk-thumbnav>*>*:after,.uk-card-secondary.uk-card-body .uk-thumbnav>*>*:after,.uk-card-secondary>:not([class*=uk-card-media]) .uk-thumbnav>*>*:after,.uk-overlay-primary .uk-thumbnav>*>*:after,.uk-offcanvas-bar .uk-thumbnav>*>*:after{background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.4))}.uk-light .uk-iconnav>*>a,.uk-section-primary:not(.uk-preserve-color) .uk-iconnav>*>a,.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav>*>a,.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav>*>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav>*>a,.uk-card-primary.uk-card-body .uk-iconnav>*>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-iconnav>*>a,.uk-card-secondary.uk-card-body .uk-iconnav>*>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-iconnav>*>a,.uk-overlay-primary .uk-iconnav>*>a,.uk-offcanvas-bar .uk-iconnav>*>a{color:#ffffff80}.uk-light .uk-iconnav>*>a:hover,.uk-section-primary:not(.uk-preserve-color) .uk-iconnav>*>a:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav>*>a:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav>*>a:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav>*>a:hover,.uk-card-primary.uk-card-body .uk-iconnav>*>a:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-iconnav>*>a:hover,.uk-card-secondary.uk-card-body .uk-iconnav>*>a:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-iconnav>*>a:hover,.uk-overlay-primary .uk-iconnav>*>a:hover,.uk-offcanvas-bar .uk-iconnav>*>a:hover{color:#ffffffb3}.uk-light .uk-iconnav>.uk-active>a,.uk-section-primary:not(.uk-preserve-color) .uk-iconnav>.uk-active>a,.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav>.uk-active>a,.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav>.uk-active>a,.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav>.uk-active>a,.uk-card-primary.uk-card-body .uk-iconnav>.uk-active>a,.uk-card-primary>:not([class*=uk-card-media]) .uk-iconnav>.uk-active>a,.uk-card-secondary.uk-card-body .uk-iconnav>.uk-active>a,.uk-card-secondary>:not([class*=uk-card-media]) .uk-iconnav>.uk-active>a,.uk-overlay-primary .uk-iconnav>.uk-active>a,.uk-offcanvas-bar .uk-iconnav>.uk-active>a{color:#ffffffb3}.uk-light .uk-text-lead,.uk-section-primary:not(.uk-preserve-color) .uk-text-lead,.uk-section-secondary:not(.uk-preserve-color) .uk-text-lead,.uk-tile-primary:not(.uk-preserve-color) .uk-text-lead,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead,.uk-card-primary.uk-card-body .uk-text-lead,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-lead,.uk-card-secondary.uk-card-body .uk-text-lead,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-lead,.uk-overlay-primary .uk-text-lead,.uk-offcanvas-bar .uk-text-lead{color:#ffffffb3}.uk-light .uk-text-meta,.uk-section-primary:not(.uk-preserve-color) .uk-text-meta,.uk-section-secondary:not(.uk-preserve-color) .uk-text-meta,.uk-tile-primary:not(.uk-preserve-color) .uk-text-meta,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta,.uk-card-primary.uk-card-body .uk-text-meta,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-meta,.uk-card-secondary.uk-card-body .uk-text-meta,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-meta,.uk-overlay-primary .uk-text-meta,.uk-offcanvas-bar .uk-text-meta{color:#ffffff80}.uk-light .uk-text-muted,.uk-section-primary:not(.uk-preserve-color) .uk-text-muted,.uk-section-secondary:not(.uk-preserve-color) .uk-text-muted,.uk-tile-primary:not(.uk-preserve-color) .uk-text-muted,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted,.uk-card-primary.uk-card-body .uk-text-muted,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-muted,.uk-card-secondary.uk-card-body .uk-text-muted,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-muted,.uk-overlay-primary .uk-text-muted,.uk-offcanvas-bar .uk-text-muted{color:#ffffff80!important}.uk-light .uk-text-emphasis,.uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis,.uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis,.uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis,.uk-card-primary.uk-card-body .uk-text-emphasis,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-emphasis,.uk-card-secondary.uk-card-body .uk-text-emphasis,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-emphasis,.uk-overlay-primary .uk-text-emphasis,.uk-offcanvas-bar .uk-text-emphasis{color:#fff!important}.uk-light .uk-text-primary,.uk-section-primary:not(.uk-preserve-color) .uk-text-primary,.uk-section-secondary:not(.uk-preserve-color) .uk-text-primary,.uk-tile-primary:not(.uk-preserve-color) .uk-text-primary,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary,.uk-card-primary.uk-card-body .uk-text-primary,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-primary,.uk-card-secondary.uk-card-body .uk-text-primary,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-primary,.uk-overlay-primary .uk-text-primary,.uk-offcanvas-bar .uk-text-primary{color:#fff!important}.uk-light .uk-text-secondary,.uk-section-primary:not(.uk-preserve-color) .uk-text-secondary,.uk-section-secondary:not(.uk-preserve-color) .uk-text-secondary,.uk-tile-primary:not(.uk-preserve-color) .uk-text-secondary,.uk-tile-secondary:not(.uk-preserve-color) .uk-text-secondary,.uk-card-primary.uk-card-body .uk-text-secondary,.uk-card-primary>:not([class*=uk-card-media]) .uk-text-secondary,.uk-card-secondary.uk-card-body .uk-text-secondary,.uk-card-secondary>:not([class*=uk-card-media]) .uk-text-secondary,.uk-overlay-primary .uk-text-secondary,.uk-offcanvas-bar .uk-text-secondary{color:#fff!important}.uk-light .uk-column-divider,.uk-section-primary:not(.uk-preserve-color) .uk-column-divider,.uk-section-secondary:not(.uk-preserve-color) .uk-column-divider,.uk-tile-primary:not(.uk-preserve-color) .uk-column-divider,.uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider,.uk-card-primary.uk-card-body .uk-column-divider,.uk-card-primary>:not([class*=uk-card-media]) .uk-column-divider,.uk-card-secondary.uk-card-body .uk-column-divider,.uk-card-secondary>:not([class*=uk-card-media]) .uk-column-divider,.uk-overlay-primary .uk-column-divider,.uk-offcanvas-bar .uk-column-divider{column-rule-color:#fff3}.uk-light .uk-logo,.uk-section-primary:not(.uk-preserve-color) .uk-logo,.uk-section-secondary:not(.uk-preserve-color) .uk-logo,.uk-tile-primary:not(.uk-preserve-color) .uk-logo,.uk-tile-secondary:not(.uk-preserve-color) .uk-logo,.uk-card-primary.uk-card-body .uk-logo,.uk-card-primary>:not([class*=uk-card-media]) .uk-logo,.uk-card-secondary.uk-card-body .uk-logo,.uk-card-secondary>:not([class*=uk-card-media]) .uk-logo,.uk-overlay-primary .uk-logo,.uk-offcanvas-bar .uk-logo{color:#fff}.uk-light .uk-logo:hover,.uk-section-primary:not(.uk-preserve-color) .uk-logo:hover,.uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover,.uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover,.uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover,.uk-card-primary.uk-card-body .uk-logo:hover,.uk-card-primary>:not([class*=uk-card-media]) .uk-logo:hover,.uk-card-secondary.uk-card-body .uk-logo:hover,.uk-card-secondary>:not([class*=uk-card-media]) .uk-logo:hover,.uk-overlay-primary .uk-logo:hover,.uk-offcanvas-bar .uk-logo:hover{color:#fff}.uk-light .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-light .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-section-primary:not(.uk-preserve-color) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-section-primary:not(.uk-preserve-color) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-section-secondary:not(.uk-preserve-color) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-section-secondary:not(.uk-preserve-color) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-tile-primary:not(.uk-preserve-color) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-tile-primary:not(.uk-preserve-color) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-tile-secondary:not(.uk-preserve-color) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-tile-secondary:not(.uk-preserve-color) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-card-primary.uk-card-body .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-card-primary.uk-card-body .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-card-primary>:not([class*=uk-card-media]) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-card-primary>:not([class*=uk-card-media]) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-card-secondary.uk-card-body .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-card-secondary.uk-card-body .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-card-secondary>:not([class*=uk-card-media]) .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-card-secondary>:not([class*=uk-card-media]) .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-overlay-primary .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-overlay-primary .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type),.uk-offcanvas-bar .uk-logo>picture:not(:only-of-type)>:not(.uk-logo-inverse),.uk-offcanvas-bar .uk-logo>:not(picture):not(.uk-logo-inverse):not(:only-of-type){display:none}.uk-light .uk-logo-inverse,.uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse,.uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse,.uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse,.uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse,.uk-card-primary.uk-card-body .uk-logo-inverse,.uk-card-primary>:not([class*=uk-card-media]) .uk-logo-inverse,.uk-card-secondary.uk-card-body .uk-logo-inverse,.uk-card-secondary>:not([class*=uk-card-media]) .uk-logo-inverse,.uk-overlay-primary .uk-logo-inverse,.uk-offcanvas-bar .uk-logo-inverse{display:block}.uk-light .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-light .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-section-primary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-section-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-card-primary.uk-card-body .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-card-primary.uk-card-body .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-card-primary>:not([class*=uk-card-media]) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-card-primary>:not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-card-secondary.uk-card-body .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-card-secondary.uk-card-body .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-card-secondary>:not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-overlay-primary .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-overlay-primary .uk-table-striped tbody tr:nth-of-type(2n):last-child,.uk-offcanvas-bar .uk-table-striped>tr:nth-of-type(2n):last-child,.uk-offcanvas-bar .uk-table-striped tbody tr:nth-of-type(2n):last-child{border-bottom-color:#fff3}.uk-light .uk-accordion-title:before,.uk-section-primary:not(.uk-preserve-color) .uk-accordion-title:before,.uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title:before,.uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title:before,.uk-card-primary.uk-card-body .uk-accordion-title:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-accordion-title:before,.uk-card-secondary.uk-card-body .uk-accordion-title:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-accordion-title:before,.uk-overlay-primary .uk-accordion-title:before,.uk-offcanvas-bar .uk-accordion-title:before{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E)}.uk-light .uk-open>.uk-accordion-title:before,.uk-section-primary:not(.uk-preserve-color) .uk-open>.uk-accordion-title:before,.uk-section-secondary:not(.uk-preserve-color) .uk-open>.uk-accordion-title:before,.uk-tile-primary:not(.uk-preserve-color) .uk-open>.uk-accordion-title:before,.uk-tile-secondary:not(.uk-preserve-color) .uk-open>.uk-accordion-title:before,.uk-card-primary.uk-card-body .uk-open>.uk-accordion-title:before,.uk-card-primary>:not([class*=uk-card-media]) .uk-open>.uk-accordion-title:before,.uk-card-secondary.uk-card-body .uk-open>.uk-accordion-title:before,.uk-card-secondary>:not([class*=uk-card-media]) .uk-open>.uk-accordion-title:before,.uk-overlay-primary .uk-open>.uk-accordion-title:before,.uk-offcanvas-bar .uk-open>.uk-accordion-title:before{background-image:url(data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba%28255,%20255,%20255,%200.7%29%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E)}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.uk-table td{padding:0} diff --git a/public/posts/deployments/habit-tracker/client/worker-basic.min.js b/public/posts/deployments/habit-tracker/client/worker-basic.min.js new file mode 100755 index 0000000..d98014b --- /dev/null +++ b/public/posts/deployments/habit-tracker/client/worker-basic.min.js @@ -0,0 +1,26 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +// tslint:disable:no-console + +self.addEventListener('install', event => { + self.skipWaiting(); +}); + +self.addEventListener('activate', event => { + event.waitUntil(self.clients.claim()); + + event.waitUntil(self.registration.unregister().then(() => { + console.log('NGSW Safety Worker - unregistered old service worker'); + })); + + event.waitUntil(caches.keys().then(cacheNames => { + const ngswCacheNames = cacheNames.filter(name => /^ngsw:/.test(name)); + return Promise.all(ngswCacheNames.map(name => caches.delete(name))); + })); +}); diff --git a/public/posts/deployments/habit-tracker/index.html b/public/posts/deployments/habit-tracker/index.html new file mode 100644 index 0000000..f04e89e --- /dev/null +++ b/public/posts/deployments/habit-tracker/index.html @@ -0,0 +1,12 @@ + + + + + + Grathium Industries - Habit Tracker + + + + + + diff --git a/src/pages/posts.astro b/src/pages/posts.astro index e0c31a4..27956eb 100644 --- a/src/pages/posts.astro +++ b/src/pages/posts.astro @@ -16,7 +16,8 @@ const title = "Technical Index" Bluff Ball (It Crowd)
Purewatch
URL Redirector
- New Tab Page + New Tab Page
+ Habit Tracker