From 33fcbf0d09dd1b45d9a9745131b1b44f40049ca1 Mon Sep 17 00:00:00 2001 From: "Steven Paul Sanderson II, MPH" Date: Tue, 19 Jul 2022 12:19:18 -0400 Subject: [PATCH] update site --- _pkgdown.yml | 9 +- docs/404.html | 131 +- docs/CODE_OF_CONDUCT.html | 115 +- docs/LICENSE-text.html | 112 +- docs/LICENSE.html | 114 +- docs/articles/getting-started.html | 144 +- docs/articles/index.html | 107 +- docs/articles/kmeans-umap.html | 234 +- .../figure-html/scree_plt-1.png | Bin 64277 -> 63430 bytes .../figure-html/umap_plt-1.png | Bin 125386 -> 126205 bytes docs/authors.html | 130 +- .../bootstrap-5.1.3/bootstrap.bundle.min.js | 7 + .../bootstrap.bundle.min.js.map | 1 + docs/deps/bootstrap-5.1.3/bootstrap.min.css | 1 + docs/deps/bootstrap-5.1.3/font.css | 21 + ...txg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff | Bin 0 -> 26128 bytes ...txg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff | Bin 0 -> 25804 bytes .../fonts/4iCs6KVjbNBYlgo6ew.woff | Bin 0 -> 133368 bytes .../fonts/4iCs6KVjbNBYlgoKfw7w.woff | Bin 0 -> 39164 bytes .../fonts/4iCv6KVjbNBYlgoCxCvTtA.woff | Bin 0 -> 116784 bytes .../fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff | Bin 0 -> 33424 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff | Bin 0 -> 15776 bytes .../6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff | Bin 0 -> 49368 bytes .../fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff | Bin 0 -> 74956 bytes .../6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff | Bin 0 -> 16232 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff | Bin 0 -> 74620 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff | Bin 0 -> 74604 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff | Bin 0 -> 16180 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff | Bin 0 -> 74420 bytes .../6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff | Bin 0 -> 16160 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff | Bin 0 -> 16692 bytes .../fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff | Bin 0 -> 29712 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff | Bin 0 -> 75144 bytes .../fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff | Bin 0 -> 16424 bytes .../fonts/JTURjIg1_i6t8kCHKm45_ZpC7g0.woff | Bin 0 -> 68108 bytes .../fonts/JTURjIg1_i6t8kCHKm45_dJE7g0.woff | Bin 0 -> 68180 bytes .../fonts/JTUSjIg1_i6t8kCHKm45xW0.woff | Bin 0 -> 68308 bytes .../fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff | Bin 0 -> 20532 bytes .../fonts/KFOlCnqEu92Fr1MmEU9vAA.woff | Bin 0 -> 65492 bytes .../fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff | Bin 0 -> 20404 bytes .../fonts/KFOlCnqEu92Fr1MmSU5vAA.woff | Bin 0 -> 64952 bytes .../fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff | Bin 0 -> 20396 bytes .../fonts/KFOlCnqEu92Fr1MmWUlvAA.woff | Bin 0 -> 65292 bytes .../fonts/KFOmCnqEu92Fr1Me5g.woff | Bin 0 -> 65244 bytes .../fonts/KFOmCnqEu92Fr1Mu4mxM.woff | Bin 0 -> 20332 bytes .../fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff | Bin 0 -> 89708 bytes .../fonts/S6u8w4BMUTPHjxsAXC-s.woff | Bin 0 -> 29836 bytes .../fonts/S6u8w4BMUTPHjxswWA.woff | Bin 0 -> 35444 bytes .../fonts/S6u9w4BMUTPHh6UVSwiPHw.woff | Bin 0 -> 28052 bytes .../fonts/S6u9w4BMUTPHh6UVeww.woff | Bin 0 -> 33380 bytes .../fonts/S6u9w4BMUTPHh7USSwiPHw.woff | Bin 0 -> 30024 bytes .../fonts/S6u9w4BMUTPHh7USeww.woff | Bin 0 -> 35168 bytes .../fonts/S6uyw4BMUTPHjx4wWA.woff | Bin 0 -> 28660 bytes .../fonts/S6uyw4BMUTPHvxo.woff | Bin 0 -> 34040 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff | Bin 0 -> 139368 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff | Bin 0 -> 137916 bytes ...HuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff | Bin 0 -> 128624 bytes .../fonts/XRXV3I6Li01BKof4MQ.woff | Bin 0 -> 63952 bytes .../fonts/XRXW3I6Li01BKofA6sKkZQ.woff | Bin 0 -> 64560 bytes .../fonts/XRXW3I6Li01BKofAjsOkZQ.woff | Bin 0 -> 63804 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff | Bin 0 -> 21884 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff | Bin 0 -> 74676 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff | Bin 0 -> 21816 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff | Bin 0 -> 74548 bytes ...SCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff | Bin 0 -> 21204 bytes ...cVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff | Bin 0 -> 71692 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff | Bin 0 -> 20136 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff | Bin 0 -> 68632 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff | Bin 0 -> 20720 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff | Bin 0 -> 70492 bytes ...X2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff | Bin 0 -> 20676 bytes ...vWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff | Bin 0 -> 70772 bytes .../fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff | Bin 0 -> 57672 bytes .../fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff | Bin 0 -> 57300 bytes .../fonts/q5uGsou0JOdh94bfvQlr.woff | Bin 0 -> 31624 bytes docs/deps/data-deps.txt | 4 + docs/deps/jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ docs/deps/jquery-3.6.0/jquery-3.6.0.min.js | 2 + docs/deps/jquery-3.6.0/jquery-3.6.0.min.map | 1 + docs/index.html | 136 +- docs/news/index.html | 131 +- docs/pkgdown.js | 172 +- docs/pkgdown.yml | 7 +- docs/reference/Rplot002.png | Bin 38795 -> 38756 bytes docs/reference/category_counts_tbl.html | 141 +- docs/reference/color_blind.html | 138 +- docs/reference/diverging_bar_plt.html | 156 +- docs/reference/diverging_lollipop_plt.html | 146 +- docs/reference/dx_cc_mapping.html | 131 +- docs/reference/gartner_magic_chart_plt-1.png | Bin 88127 -> 86570 bytes docs/reference/gartner_magic_chart_plt-2.png | Bin 61380 -> 61671 bytes docs/reference/gartner_magic_chart_plt.html | 142 +- docs/reference/hr_scale_color_colorblind.html | 138 +- docs/reference/hr_scale_fill_colorblind.html | 138 +- docs/reference/index.html | 667 +- docs/reference/kmeans_mapped_tbl.html | 148 +- docs/reference/kmeans_obj.html | 165 +- docs/reference/kmeans_scree_data_tbl.html | 153 +- docs/reference/kmeans_scree_plt-1.png | Bin 59742 -> 59971 bytes docs/reference/kmeans_scree_plt.html | 146 +- docs/reference/kmeans_tidy_tbl.html | 179 +- docs/reference/kmeans_user_item_tbl.html | 176 +- docs/reference/los_ra_index_plt-1.png | Bin 113545 -> 110095 bytes docs/reference/los_ra_index_plt-2.png | Bin 108124 -> 108411 bytes docs/reference/los_ra_index_plt.html | 143 +- docs/reference/los_ra_index_summary_tbl.html | 192 +- docs/reference/named_item_list.html | 1097 +- docs/reference/opt_bin.html | 159 +- docs/reference/pipe.html | 121 +- docs/reference/px_cc_mapping.html | 131 +- docs/reference/save_to_excel.html | 140 +- docs/reference/service_line_augment.html | 143 +- docs/reference/service_line_vec.html | 143 +- docs/reference/sql_left.html | 134 +- docs/reference/sql_mid.html | 134 +- docs/reference/sql_right.html | 134 +- docs/reference/tidyeval.html | 164 +- docs/reference/top_n_tbl.html | 139 +- docs/reference/ts_alos_plt.html | 144 +- docs/reference/ts_census_los_daily_tbl.html | 153 +- docs/reference/ts_median_excess_plt.html | 138 +- docs/reference/ts_plt.html | 148 +- docs/reference/ts_readmit_rate_plt.html | 144 +- docs/reference/ts_signature_tbl.html | 141 +- docs/reference/umap_list.html | 147 +- docs/reference/umap_plt.html | 146 +- docs/search.json | 1 + docs/sitemap.xml | 114 +- 128 files changed, 14972 insertions(+), 4502 deletions(-) create mode 100644 docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js create mode 100644 docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js.map create mode 100644 docs/deps/bootstrap-5.1.3/bootstrap.min.css create mode 100644 docs/deps/bootstrap-5.1.3/font.css create mode 100644 docs/deps/bootstrap-5.1.3/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrc.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrc.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/4iCs6KVjbNBYlgo6ew.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/4iCs6KVjbNBYlgoKfw7w.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/4iCv6KVjbNBYlgoCxCvTtA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/4iCv6KVjbNBYlgoCxCvjsGyL.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPZ7nsDQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7j.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7j.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdo.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdo.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvWNRevw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/CSR54z1Qlv-GDxkbKVQ_dFsvaNA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/CSR64z1Qlv-GDxkbKVQ_TOQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/CSR64z1Qlv-GDxkbKVQ_fOAKSw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/JTURjIg1_i6t8kCHKm45_ZpC7g0.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/JTURjIg1_i6t8kCHKm45_dJE7g0.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/JTUSjIg1_i6t8kCHKm45xW0.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmEU9fBBc-.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmEU9vAA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmSU5fBBc-.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmSU5vAA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmWUlfBBc-.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOlCnqEu92Fr1MmWUlvAA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOmCnqEu92Fr1Me5g.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/KFOmCnqEu92Fr1Mu4mxM.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/QGYpz_kZZAGCONcK2A4bGOj8mNhL.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u8w4BMUTPHjxsAXC-s.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u8w4BMUTPHjxswWA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u9w4BMUTPHh6UVSwiPHw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u9w4BMUTPHh6UVeww.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u9w4BMUTPHh7USSwiPHw.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6u9w4BMUTPHh7USeww.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6uyw4BMUTPHjx4wWA.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/S6uyw4BMUTPHvxo.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZs.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZs.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuLyfMZs.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/XRXV3I6Li01BKof4MQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/XRXW3I6Li01BKofA6sKkZQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/XRXW3I6Li01BKofAjsOkZQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkWVAexg.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk5hkaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkWVAexg.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0Rk8ZkaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjWVAexg.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memQYaGs126MiZpBA-UFUIcVXSCEkx2cmqvXlWq8tWZ0Pw86hd0RkyFjaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1y4k.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0C4k.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVQ.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0C4k.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff create mode 100644 docs/deps/bootstrap-5.1.3/fonts/q5uGsou0JOdh94bfvQlr.woff create mode 100644 docs/deps/data-deps.txt create mode 100644 docs/deps/jquery-3.6.0/jquery-3.6.0.js create mode 100644 docs/deps/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 docs/deps/jquery-3.6.0/jquery-3.6.0.min.map create mode 100644 docs/search.json diff --git a/_pkgdown.yml b/_pkgdown.yml index c7468fa..1579357 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,7 +1,8 @@ +url: https://www.spsanderson.com/healthyR/ template: - params: - bootswatch: flatly - ganalytics: G-3393M45M1X + bootstrap: 5 + bootswatch: flatly + ganalytics: G-3393M45M1X navbar: title: "healthyR" @@ -85,3 +86,5 @@ reference: - subtitle: Mapping Files contents: - contains("mapping") + +search: diff --git a/docs/404.html b/docs/404.html index 3a3d554..78eac22 100644 --- a/docs/404.html +++ b/docs/404.html @@ -4,127 +4,102 @@ - + Page not found (404) • healthyR - - - + + + - - + + - + + Skip to contents -
-
-
- Content not found. Please use links in the navbar. -
- - - +
- -
- diff --git a/docs/CODE_OF_CONDUCT.html b/docs/CODE_OF_CONDUCT.html index cd79bef..976f67f 100644 --- a/docs/CODE_OF_CONDUCT.html +++ b/docs/CODE_OF_CONDUCT.html @@ -1,75 +1,63 @@ -Contributor Covenant Code of Conduct • healthyRContributor Covenant Code of Conduct • healthyR +
+
+
@@ -114,29 +102,22 @@

Attribution

- -
- - - -
- diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 827d7f3..ac1b6f1 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -1,104 +1,84 @@ -License • healthyRLicense • healthyR +
+
+
- -
- - - - - diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 573eeba..2e13672 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -1,75 +1,63 @@ -MIT License • healthyRMIT License • healthyR +
+
+
@@ -80,29 +68,21 @@

MIT License

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/docs/articles/getting-started.html b/docs/articles/getting-started.html index 5feb024..6685b61 100644 --- a/docs/articles/getting-started.html +++ b/docs/articles/getting-started.html @@ -4,108 +4,93 @@ - + + Getting Started with healthyR • healthyR - - - + + + - - + + - + + Skip to contents -
-
+
-
- + set_names("Date","Values")

Plot the Time Series @@ -175,42 +160,35 @@

Plot the Time Series= "month" , .interactive = TRUE )

-
-

As we can see, this function has the ability to return either a +

+

As we can see, this function has the ability to return either a static plot or and interactive plot. Under the hood it is using the timetk::plot_time_series function. You can find out more on the the timetk function here.

That is the end of this first and very quick tutorial on the ts_alos_plt function.

- - - - + - - diff --git a/docs/articles/index.html b/docs/articles/index.html index cfbf147..45208e4 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -1,75 +1,62 @@ -Articles • healthyRArticles • healthyR +
+
+
@@ -81,23 +68,21 @@

All vignettes

Clustering with K-Means and UMAP
-
-
+ - - diff --git a/docs/articles/kmeans-umap.html b/docs/articles/kmeans-umap.html index 3e4a4a7..d1a0222 100644 --- a/docs/articles/kmeans-umap.html +++ b/docs/articles/kmeans-umap.html @@ -4,105 +4,91 @@ - + + Clustering with K-Means and UMAP • healthyR - - - + + + - - + + - + + Skip to contents -
-
-
-

The table is aggregated by item for the various users to which the algorithm will be applied.

Now that we have this data we need to find what will be out optimal k @@ -244,17 +232,17 @@

K-Means Mapped Tibble#> 2 2 <kmeans> 1.41 0.592 8.17e- 1 1 #> 3 3 <kmeans> 1.41 0.372 1.04e+ 0 2 #> 4 4 <kmeans> 1.41 0.276 1.13e+ 0 2 -#> 5 5 <kmeans> 1.41 0.202 1.21e+ 0 4 -#> 6 6 <kmeans> 1.41 0.159 1.25e+ 0 3 +#> 5 5 <kmeans> 1.41 0.202 1.21e+ 0 2 +#> 6 6 <kmeans> 1.41 0.159 1.25e+ 0 4 #> 7 7 <kmeans> 1.41 0.124 1.28e+ 0 3 -#> 8 8 <kmeans> 1.41 0.0922 1.32e+ 0 3 -#> 9 9 <kmeans> 1.41 0.0716 1.34e+ 0 2 +#> 8 8 <kmeans> 1.41 0.0884 1.32e+ 0 2 +#> 9 9 <kmeans> 1.41 0.0745 1.33e+ 0 3 #> 10 10 <kmeans> 1.41 0.0576 1.35e+ 0 3 #> 11 11 <kmeans> 1.41 0.0460 1.36e+ 0 2 #> 12 12 <kmeans> 1.41 0.0363 1.37e+ 0 3 -#> 13 13 <kmeans> 1.41 0.0282 1.38e+ 0 2 -#> 14 14 <kmeans> 1.41 0.0231 1.39e+ 0 2 -#> 15 15 <kmeans> 1.41 0.0161 1.39e+ 0 3

+#> 13 13 <kmeans> 1.41 0.0272 1.38e+ 0 2 +#> 14 14 <kmeans> 1.41 0.0202 1.39e+ 0 3 +#> 15 15 <kmeans> 1.41 0.0164 1.39e+ 0 2

As stated we use the tot.withinss to decide what will become our k, an easy way to do this is to visualize the Scree Plot, also known as the elbow plot. This is done by @@ -281,14 +269,14 @@

Scree Plot and Data#> 5 5 0.202 #> 6 6 0.159 #> 7 7 0.124 -#> 8 8 0.0922 -#> 9 9 0.0716 +#> 8 8 0.0884 +#> 9 9 0.0745 #> 10 10 0.0576 #> 11 11 0.0460 #> 12 12 0.0363 -#> 13 13 0.0282 -#> 14 14 0.0231 -#> 15 15 0.0161

+#> 13 13 0.0272 +#> 14 14 0.0202 +#> 15 15 0.0164

With the above pieces of information we can decide upon a value for k, in this instance we are going to use 3. Now that we have that we can go ahead with creating the umap list object @@ -325,28 +313,31 @@

UMAP List Object#> # A tibble: 23 × 2 #> service_line cluster #> <chr> <fct> -#> 1 Alcohol Abuse 1 -#> 2 Bariatric Surgery For Obesity 1 -#> 3 Carotid Endarterectomy 2 -#> 4 Cellulitis 3 -#> 5 Chest Pain 3 -#> 6 CHF 2 -#> 7 COPD 2 -#> 8 CVA 2 -#> 9 GI Hemorrhage 2 -#> 10 Joint Replacement 2 +#> 1 Alcohol Abuse 3 +#> 2 Bariatric Surgery For Obesity 3 +#> 3 Carotid Endarterectomy 1 +#> 4 Cellulitis 2 +#> 5 Chest Pain 2 +#> 6 CHF 1 +#> 7 COPD 1 +#> 8 CVA 1 +#> 9 GI Hemorrhage 1 +#> 10 Joint Replacement 1 #> # … with 13 more rows +#> # ℹ Use `print(n = ...)` to see more rows kmeans_tidy_tbl(km_obj, uit_tbl, "tidy") #> # A tibble: 3 × 14 -#> `Blue Cross` Commercial Compensation `Exchange Plans` HMO Medicaid -#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 0.150 0.0368 0.000307 0.0207 0.163 0.131 -#> 2 0.0784 0.0218 0.00432 0.00620 0.0449 0.0368 -#> 3 0.117 0.0314 0.0102 0.0139 0.0982 0.0856 -#> # … with 8 more variables: `Medicaid HMO` <dbl>, `Medicare A` <dbl>, -#> # `Medicare HMO` <dbl>, `No Fault` <dbl>, `Self Pay` <dbl>, size <int>, -#> # withinss <dbl>, cluster <fct> +#> Blue …¹ Comme…² Compe…³ Excha…⁴ HMO Medic…⁵ Medic…⁶ Medic…⁷ Medic…⁸ No Fa…⁹ +#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> +#> 1 0.0784 0.0218 4.32e-3 0.00620 0.0449 0.0368 0.0800 0.563 0.152 0.00348 +#> 2 0.117 0.0314 1.02e-2 0.0139 0.0982 0.0856 0.147 0.354 0.105 0.00707 +#> 3 0.150 0.0368 3.07e-4 0.0207 0.163 0.131 0.314 0.132 0.0319 0.00136 +#> # … with 4 more variables: `Self Pay` <dbl>, size <int>, withinss <dbl>, +#> # cluster <fct>, and abbreviated variable names ¹​`Blue Cross`, ²​Commercial, +#> # ³​Compensation, ⁴​`Exchange Plans`, ⁵​Medicaid, ⁶​`Medicaid HMO`, +#> # ⁷​`Medicare A`, ⁸​`Medicare HMO`, ⁹​`No Fault` +#> # ℹ Use `colnames()` to see all variable names

UMAP Plot @@ -357,34 +348,27 @@

UMAP Plotumap_plt(.data = ump_lst, .point_size = 3, TRUE)

- - - - - -
- diff --git a/docs/articles/kmeans-umap_files/figure-html/scree_plt-1.png b/docs/articles/kmeans-umap_files/figure-html/scree_plt-1.png index b55e4d8a7fa23263bc879afbbf30228e230b67d3..c30e0dce6f867dbfd9d5e135a37644e94350868b 100644 GIT binary patch literal 63430 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

=JUl>bdAB~%tl6)Qu;Za!Z0 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


<0KuP*rmS4vn#OoAv=fw?- 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 D6Dhj0 literal 125386 zcmdSBbyQYu_cgj{EJ7qiS`Z0E5TpeG15^-1x&;v=q&pN81O%idl}5UyrBk}QLrS{g ztgX-UzQ1pLV|?fQbIurtF-&gmd++O7*IIMUIoJO1MEd@@)0C$X1UV=9Ktc{da77UW z%N-vV{%7y;Q7rs{tMl-_1pEnKd*UT7@W-jw50otsgr*Apg<;ZebsItG5J`zU^0tvn zBQ~}ddPebnuP(hH$G^fTcH=AW0v$Dr;+@OGXULzdB(Q3*Ft8R~h5ur>>&5->g3$ws zc<%@GJFM3jqQXQm=|#`W;mZXstwiqleV;PPDH+h!zbU!v9IYRtpOds?I(U&!fA*}X z#Q$HvrpY81kz}oaz(BUet$kyJPO`H{Dwy?1bunzdGAKNJkmQG@a>#+udc)>AVdC}d`e6&XNOzkAdL!p$Y^C{C5uYEIAL^9P>_~nKmp>)D0wQF z_1UjXt4Et!QjZ@WF}oTV5lXV9q@>Uzw@&uvX1;v+f}v6;PMFc%-K~KnhX0(^pr@x# z`SUJn%i4}lp0tZzo1*Uw@ax5RQb}LzLH5&j)`8vftHpwt~a~g zt+BqozChSf>Cd;^@dFrB$||+A93F)KUR&c-VJCa#K#^=Ev^kzr;Bou*ZQS(dU-1I{ z{QNqMZWW$vv>}h(zT#01iFbw%7+s&5ntE7 zjX}il-!E1xK1A$)#6toBo~Y-4zmmHr5d8oAFfnnk02M<2-=B_^tG~a9H27lt2t@2L zZLxkxBlX5NxsCeUSNG;(@DSY>FBGtUn-JGOz(#Dh2lONI4Z3j095;SqBZYas_1@U7 z7mx~sZ*6W&VlM@A{32qCm5ep+gzWHq^ejy@9V`DilxN_U|Ef=g=$k1nQHuTd(8Fab{2-4)c$%1WE?zDF-k%GPv(v_#qLrQfc*fL0B=V5EhyjSYe}y zk1yHnZ!XMtCY*6}a-x?!?|;Ir7g^_%r|`?Kvb$T}XsF=a%@-{%KZS+aKEPk&K*nBC zlamTQ+q6GAVU+xK(|SqCV7~opvS!6?MoIHR;iLe+gYW*j%J<~uFDRs|Bxn|y&#(nB z3LD&tIKib;U+n+8Vad~zF5US%rbyTQkCgA+@Cbj|Z!djVpJ`SVZ1zm1z(0Mu>i0yo z*=);2r=bGlErBQ#Ve>>DhMdlYt$owxkZY<3b1^OCfp|JBlqA-tLUKXfnIc=@+Ehy#aydBEp1G%O8q}af{EP0FmDDAArv{x>NO*h#psXBJyxl^Q|m!g zT8ghwWll*u89E9DjpAKxq4s3L9yM2)MW2WM8{b9o4 zk2hFlMA{R|Q*Z(npHQuH-}bJJ?VgyoSREBsD|fsoax=;b0YMw4y=lrOq1RgHjLf_qrz;5!C>qw?`6mmt?!BZ&ijuUe z-zO{QUb(JW?$eX1_o1b0t2z@N$`+aH&6v_- zx4gJ{o`eJqaif78oSl^saa~=;Up=WFH}zY;I3Mj(-g_i*ccGe41RKeNR8;RvUEL9P z-)yFdR6bKfeX8Lq?+V-B(;PeL2ixJ!C>bVT#d^<|>J%&m9I4ocq1R1+uzmD>BhOwcg~H1qClH4;9wKJ;;_j?lJgq z)w|_sdV0CFv^<(QRq^f&xz6wL$_G+XRm?GtZ*4~H?oZ7(knNEE-3!^qA1ql?{&3+e z%@Y$7CZV~b35ML19k9BVAxgi@JX&bLXhE7I}$jkU3{zztfxz?m*o=04f`^v zHJrAdAwOd8dTVig&O7_je4_lH?9FdItfUOwZ;oDbdy)*Te2N^7 zUQ^JWCr^lqZB~7m9)^t1{*2f=uKRe2_lD`HP@d7i`I)9*@sVOHPVFjeMrLNLhR@rL zFS&Job*B(CU;22D;^Vypah9E(B$*goBvROcEVFd|^f$#!U&wrM&+C1aN^Ln!Mv8+? zeGJp|Wg%CE-PHG8FHCj1*37lNGU81y{{D;o)~~CI8B{b5OPr6Q1V}?UG_PBp_1$hB zEprH7ZHwfe%5jvF3ka||*k1ltd#yP~&J^L*&PFwJSaZo&ypM1rnv7077dyxwpcECn}`YYs(!J=oW z3jFE3Y-|r33$2$`JnUA6i`;(ye(nDLJ;RL~M1;bdM1uv!-jab==vi4=$NI~xsQ-zX z*Z|}6i1w|BcO{Rm1peOIB1I(Nh;95lsUeZUM&%@I_c`hhuzSA+coxkV}oR_HOfM% zFlo_%>vND01bqf?0SWBlvtQq>7DI++0Q?1;o0hJRg>cG(Y1f}KuHN=)<;5y@~^Eo-T-XWoJgV6(Vu zrn@#-OE7e5(GFXbk&%(_+N!iFDG5njBzf!Ysk)CAwxdx(c3fjQm+$!y4GatrxD18s z&$fKNKC}Vh?{$X!`uAal=$hDj5i1Mj=NaY(b$<%#w^FVBO3f5d56w_7@e;IIxnQr( zb@OJhqb3~X=*_Mq8Mc#**W0JgoFO6euGKz@&YRn_TSy3XuhjC~Sz2((8|@*Cs`=w+Mf zD!8J$%4ET8ie!jH%x$NoP9r=q$T2HKIg;lp5ERh=x$OASZ2M_r_Qe}n8ENQyQbp#IO5ia z{(dF1$(mEdWMqlcDN5O~H$Fci=QAjxVUA3;nRZ1TMIL2jltsH)4I-AXdo zAdGfj5#7n`o0H64RuV9u_N-pFm~D|=j})+Kx}KheMF(rD(8+N5GWD^Ekx^QgP&B$< zn4(Jqx%JxAaK@#gIm&mdw4X< zo~5o&zxl~8X!~2s!;KNmNdpDR#NJ89#gqq4lu66C76x*Ys_(?uj5#Sb=IS+vh^2d{ zV)(C?A4m_(@tTgdJnc2Q<$dLGI6eZ&gs;u2yK7rWgbFdE#S=~bK91lU07{ludyTl~ z)j{{gdi^vH!r)GH?$Ry!mD5&<8fEsFuJdCR6(c)qYiqGGF}E2Y$Jf-<@Lh}f^l2gw z%kJd(NNVt_xJP8~+JJtHoe&b+w@7{a4ZH_*xQgrP8f7Y5Tiy0ZJd|-MCWjs{gEX4m(>{n-3*V)5L0PIL||b2m=G-TRp7yc_N~5a~0CXk>;P_ zJQiW)+SRxi(?XJy-*UNl30yA_Cg>s4GohLaxXe`49uc>U<$U)b6d;3VwCWGt*&w{V z`@?_=&Q+{RzG19ph4Um-z9K)XY{>UXdV0zViFej_cG_}5Q#GTt)$~AYm)!}xjxTqxIAMEG&^6=0Gq`d1 z8mV#mAJO~7tP+E$lMyX=njlFXCEJA%gZNNmgemZqUW>G-^V!kcBqT!vJjq zav~4z&KjmA_2%T}Qae{zEh^~Q?f#ySZhjaLUm9-%rLLi+Ws~oUWWWu8E65K3pW0lX zmpb*7>j0->AW+ghq<0i=##s-y32mH({!Yb@rxoBS9SaMK%zgmVLj=hz+opsX)@2`Q z_w7Y~6V7!B-OD#`l0fppMgDA`S$~;>jb70Wj{e(lpmKy>kBcVlp@;&yEv=*dtz_9a zTx5L6v;qeKjCeRjd-7UEA%L+ZoaYSk8hYa-4u;j<^oXwQQk`0_CUY?{v1rTu=PXxE zms5!^-y8qxL1P|vMe=-|A1xu``SIgjdwcsk)z&EnU5SW!Mhx77&F=Yq8ew}n0Rc(? z;_osuGuO*P`u=4GY|M~&cYEmfgJ)o+rzKDJ7c(&s2)37f8BwZMO*uZ7cumF|K3ztk z{PA{S1&aZcvg@k=5E10-*RR(Fzc@KL$tFot7dnr9e(^J$|MAA!nrujJPR{VROuEIC zd{_$1h5_FKtWyQl;mXR&0HDqHv#G}=A3c(1%DCf(i-A14LIPmRDAam;Nm*A{7eO>^ zCvZx*^QWw>jF7BF#t|r!>MHj30tD0oz)tMVgsS&WwYY@yt~t8)on~j zS>>-JDhsmBT%6ZbNzR?p>BxS%dCUdL zR4ZqkVu)NBXC7gRGx;F#X&>TBPSGDRpV{>w!1vd?=x_NO!=HzqorR=7qf2t4Zm-#8 zm7}&(=Md3HkIrVO6~#Kb9PXOw2_%ziI(BFe z0ECZ&Q$=w@3jtXAocC(`S8=?SNPZHiUv0d&iz8X1)4xsy9wz5Ut7I+by&5YoQ&-WB zkvF@QprEak6zb*a`6RlWGvep&?`lE}B#>FA_36Fk?@?BwgE<8DYQ>hPphz_Bc#~bj zL>`56r?l6H$z~EZ+Ozox+c7=qo$ff7J9>JEkbXJH^$tSyG4UN@s~l3BeLzxGUUpNj z<+5Sj>!W?E66R!fvNHhVtNqfU39T}^RdOVFw?lgFg;T&~UYWs-Ds!@jcWf;*PfZ-} zrsSsVtMz=+JOZ-Q)61(W zlt7ls!9r6)7Z(@g$Ntu0@T$n(Gzn9gVNdBQZK>tLc>(Js&k~!}swphO%^e$wRZXqCYti=>>xHkaeB>p%CW z9|PQ`cYl2lI3~}AqaC#feaPY1$q_9wKHm{1HK(vTTDB3?!LR~3o^|fS7BwbtRkEXJ z+ACa6#QM%5VjRO2Tc5q&wGZ4m&H_06|PneDli+s1eK1Edy^r_0thM5JgQn#>~Ykc|Nrf2douI z0!CfpVq#RYW;_j(t(*P8jrZ5Ir^CD1ZwksEqV7d&Q+lGZ$Zed_>dwwKyjKuh0067_26 zP0#_s1XzeSp8gL7L9Ih1*L%E70G`U=k(m0R$>0qL8M9F`l_IE3{Tag7PnE&SzL>W4yh* z4+8JmykRWB{B2R_^YiAJ9^H!vT+C$(ZC!lsL{gV}zMDN4+M5mpN++?o4X!k39mnos zvDN7^;6Xe%iV8la$j059AIN2PK3uzx{D5|r0NDk|v0gTH0*ldPUS>~Y8Y`6NRXcRh zbW7pBQH)S_SxV)$fc0D}b<#|xX2nX5^ZmDOZfi@qZ8|`NSo3l!jd9>!@LT+c{g!nG z!lO!A@Jpt8$$JR42{@NoO6={6TTRsaMayFqw4$x*l^L@%V`UD7Igt)3e!zy({3(}_ zd}dYY0$$;iiz&gdY4q2wokM zlyw7M^ziXH>$ugUh`92OId*9~r%xV3#A4CS3BgKxaXk**x^67fU?1b-0+wJ32QT!tX&W(he=o<6=O@sLOcm#oRysGfo-=8S&RUZNJ8jgrsiS^HP^Mby& zs}(1s2IbI2NZh{<%`$b9{6ja~bC~{Jw~7th-Vxc(McE+JrAB4IB$?DI5UJEoE<0@j z`N>D!{z>oRYS|7A^5tog^zV&>SHseoeQaG0Ma3Oj0DPpo03&;~w?7G8Wr5R4038Va zkK^}mCe8no5Z^&)s%`!1>B!M*^{e7022zC2UM@wgU;V?4M&Re<>uh1YiBC~f7(%Gq3^Mm?^Obk zEQL1;{1*{5^*NxXo8;L8?iL5QTxTWN^nY;~KRyDNbyFoOjU(tAe) z9WH@%%xz%H+I#Ek139nM{|Q-ECMF!%m!BKl2}GDr6Cd3X6T?KbfXuaPQi&l@%YE^& zdT|(VYB2LSRT1PxXxco046I+E`w8$g7$XFF1eP)K(0_yZ6C0#foV2G*PQNShnl>+F zmd%!$noKu*YBC3EKO68nS}1_Vsw;OoxM9?PBhPe9!!7{Zb)EZdutuihsG#{o6;5}$ zDmkbz=O9bCL)M}b5~8yD)qUsQz4zZ1RfquO4g&F$rPoY0lM9W0nra~dRGlh+dhzkq zRX=`Re1L{LMTId6SwaMMJDRfVvKfs~W zcQFPEW^1cs!Lo_EqnCgEz8}qUUbSrV_jC?D&2mS6WE@VuwZMb<3?uJIwHFg!-ZXgk zHEdjl7kMzwHrvH{%rVj@dS+#bQHw&XH07BAc_UWqwc^(Zt&X^|^^V?r0OJI}-*?hU z)gvV~vL)8W?3(3Nu!j#GJow>DE!h6;85@<5Es+bHZ7OWfejk~GOQpr#W zBsux2T9G*p%4kR1&0Z`$+8#n&K_mILt{Z$=rAF?;!8fS#N^rHsR*Ua}8J+~B&u2ML z1piDtYhU`i>Wp2Y81^xxZnhHp%YhuGTc)Evz#2pf+7N8a{uBq4J~21v0Y^pPa2YTN z#8PKG09V_Sqa8Ci@oHuEq#Yd{N@e!>T<^kxW_^G5Vr;D0OtmRiQh@cO*odnVf zlOOFN0rtQ5*BdZ!Rt~v~G8RqK$0)~gczm#mc4g3H4(6v;7sHh-#zsdc3Y|Qw%)nvq&jIV7%h35*SC9iK+4KDxnfIS!ws#!T^D}~X`Im^@di;={ zh2ZOPSA?#7spn`&Eczh+?dIm@FVI*g+uH0D?QV`y3SY4h3wyG)p`gV3>IkIIl+23b zV%7RKDBaNUSHC}pbNl$uYK-N-3MHy4EBFOm0W{wIGj=-=I0EdKE?#6|RY;r9F@oA$ zdvvfv9a1>km?_LlaTe1x?3QsjkPJ0)?YBlQ9Y}dbE(UHLK>pO&TpsFMC@$R|d?kGn zMc14|amy&ID+eGC11G1f9}vK` z)Hc<==V<$l$B z*1n8}$FTbcXiolNVV+6R_EL?i-CY{VMbV@2T?gG4^IwGB-cdP(w|lJ*Ml`c8?yff(iksj*BBfRP0lYvNJh#}JE)E!vn1TWyz&rGe+Q75& zIc&4vG8vx#{edT+RFC~`b|$NQvMcZ|TJUn){e>j$8x%z6&%Z^R-pz%s-ElXXcBywkSoKnE@YHxj%Wk>_vUzFn^n z^lmr<3;td*AdgbC=gXHbr5qEN*K+`usK9!J9v|KmxO(-$@(CeHFoh$g`{@}ET4xl+ z`2wX&eI>BbpnS~bWRax=7)#Q-FC_>P5)*YG;~=h;Zg{V#&XEeUG@J=m*cOZWXTc=m z&l9*l`HF@!REJu4H%}0R1X=>2p9Q8Fv*Gjcw>wy)J`V;z-!i5|#(};SPml`c_I=O& z+hhNk)LlVMnt!k}F{vlmF@(l7FkA!pa1`S1eQeLt7Ds_n`)=L!7n0SnjYYmq< zkl**Es!UVP_4oI`Dfknm`zCuoNfk7Qay*CqzCrm>sn8^9eY1YJ$b!e$hufUgbt;tN zLI_b)H_eOOqE0+oM@0I~KWeXpyyI&`LUjiL;C%@ct`30^%ukG`P7cOSeuEA>1so)* zOp$SDL^8){WY)vhpk(%)piMf65ek0u_z@eFid%5BrXizNQu;)wH z0ud3BD^NG%usQINyr>43E}nq*1oU+Q%XtJ2&n@FYlthB^ox^HXUsIz*PNFswH!04+ zu4*3QuJSD0$9_XP!MW`CHSFNC)JRWP*xM1ETM-;HF@b-3zXs0R7_sSC0gTGf1IL;6 zd<*W)zTl;i341Br9(SKGU7S8=YH`t9+=C!RBa;YI(|IppX=-YtWWY#T;RvsR&F72= zUo=0b5r=zx>(tADU8V37+4oyA-nBU!%qCoOvmWl4h>i=x| z;vc1oc^BKWpwpcwCS9#aj!M{Geo@J@;T*{5KR}PPdXZ~a-kbfTa$eVt0r8&W`5@9_ ze^gRbey9`>e*mXG$B4_Uj)p-7aEwlkCvlEOX2q#-i~rS~5JBheNqFvDewtH%*RB_WjAcr5LrZjs zbXz9Ke8y?+^ZszzM$ao}iqZ1~NuIb7=YAF6J+#R0wLxtTJ8x>mX{~?( zqv&{rQu$IS@TH8BopS!fiY^Cip2}a8xIsgO0T(I9GI%- zcGKV{%b~)YZwX)waR2ckXEoikOF;Uc=w)D~LQPv8SdU>zt_hwS&+E{>~7)A))t4jpI7XZ*@3YiS^A)*Qj z3d#s|{zp$5c~FYCR0>T#?u4U7-4w? zf9@gq2I_rNF`$?1WJiSEiFylO`h;M}Hs+X)-Ci0hY}?njLhyLbdeCTr=vsK)q?e1p z{`E58E%b05H*WjOCv+{WH0MxZXpyEccsXzeyCCTj zk&(Rz3}--n3DR{3mJI%zygY6yXn==-X}H~Obc+!92q$EzPvF*{KmZ!u-P22j1BuyO z8hGjmrW3h$r%4e6a(U-1R`exJC;~$*QW=Vw8s(6Uhpso9zd|a&PKH*5PlCJWEg4v) z^tSAsY*Q7|ry<|7f|&}vOvj!yWfHiNj%UeFDwF#b6%DBg|NKk|x+r&3JZg1LDQ9WD zX?@9U_}5WYwD9RZO(oc7Hp#qaSP(04SfVk|Kn*t>8{6FoRQL+?7vPhE_mRbbhPb)7 zU$XhHGitaN6~3hW!0vIkcX3Ol{*T=UM;;*NqK@9RDLV9a%*jE&Nxmv6Kplay3$XzW zV390taA`*`O!mVMm+$}h{{H;?|A~_^S?Lm&F22vbxOKaO<-#-afK^5_4#8Qq63q9G zsL3=?}h$45m;7vz`?n4uiWWr0Jkt zm&3Jsu^yDGKLm*90YVd4);ho~$av*S@gp`CuY;jSD0``urBomllZ6-<=L_nT(cxK;4zc$H&*Z zyu5+aMg2K9B7PEdJ^WRkzuvp`HQqGzt*w7=Fd8(;jK4bs5Qf;d4Gj%Hz~O@Gdxh&9 zss%00#KA_u&fSHEBDmrm5xm2LM~`Yg-_%FBh2at#!cU(*B`apqKvUud!0iB{z3xo;j4ac=wa=>X#V>#@oWCrpvpZPSt^-@2O%Fw_N9zlAQoM;kitY{k6ekp(jv{6K zg5GbGpv}D(FJ64bb&;afpha)ZGnpF{U*ceVD52;bd*CYevzc4@b@`gUGvaPMnptw=D3Ur8U+ch0sef>DpL}$On+5}9FyKKN^re#~z zLKA8P^=wIRpuQe~s11*&ezYRKz3Hl0NHp{YHTCs#jZZrZ9!h@t{Q1KlnmFtAgxFac zAqq)J$z7nWezyv)et&jfOzdqA6%CCEud5aC4M_&Icfr#HP80Q6mdEum;e8&RdFp>} zNO$6bl7u|N{FeRUPQ?ihQkYaZn5B({jOX`hY#16Pe6G|&EoOfNPkx)%G7+~PPbDYE z1M$)S-R$zFy)cMFYV-CGYwv&sB|%>At?NP0_Bfr0g%&`IT;e8p82%Tl+VHojm64Jr zb1*dyOUF%q=)*(v0|V4r#4z|?tz4R{4GN4;DJ}%z5VY8x!_6(w} zc~=Wf$9nk~SS4d)W3{rCeh*u;Ro2(%ddQRjLBkGo$VgXv!{gpiMVqC5Vz3WTaK9vS zjbs)Fl%qJluO_@O#rn~U_TN3_n>xAiA-N`5z2w$6h4j-%f1W{Lb16B8Mh&==pFrEh zZP?wgJcb(i{*T5sg6327fBl`=I<==g>_DYNi6NJxMNR0W?*J+MyZ^bLHi!$JA3m5} z3}tVYI+B%@eIO%K@6Az;4{?L~!hk@kE_2u!)@XbCub*uPnospQu+V9sVF9Y0Vy^{+ z+;_*loaV9Yj49wy;Hpb(IQF-fy-!2*$|Xq64;69%Q82T4>PwXgvy2X|D;QKz77%0? z{Ih3kAkf``bkXUImjnV}T}pY;UPUmGdTlx^x7Rc(d>*(5+nHd+CuR0lK^&Si;0LS$ z2sje1VFDC1;tJ_uI)Yc^;>C+i=8*p)>y}@Z*xEY|tm_UH$7LCR;vMvwp4O$h?MQ(@ zX~adKX}%6#3|s`d`-0|mxMBgHdzS@lR?-|5;UmC>0ucy$wub>KvktNkS#3@`;vhiE z!Y6Bi2oEmT(@nu_9^k~#I^133b2%sSoGMV+1+oDHc_;4~ccMtWvjx9BUjn*wiLxO%v!6t=-6EKCip*j-q5S=5mR$eZO-J$GroA)~A>bH?GB=J5)h@e?D57Yc>sbh-C^#cnN zG!CzoM#J?NIuqxK=e@W71pW2{}dIqd;@jlP7h^iyFoZ*v%TV`1oWQRY^=ir zrt*Ygkb;LBB(dZ zW@T7bPtcBXW1%Yv75bak!5Lbmlbx*68-5#(n}?a5eT(vj1bDKbit?pbx3$Rt$=Rw+ zt?F&T9F9`aP(VEv=OtC+ zU#M#5LkjdTu7ipkyh;M{K?p66p?vw`)Dj6Tt*K&Y(p)N$7Nij9G3-H2KS~sq473+*73Pec{SGZ_yS+)5UW)NnyK9m`}LoXyqd&a)pac9Iv z+U4?%8&BZ+SzSQlRM4M6RN2;=qZ(tCafP?M=cKIthhTtH)!h~Wgo z9}KTo?Z5`l0BL|7xK#=8K=A=Vin5Q*1QLo^ba4Eo!ljc)U}Au%-j9|XBv6z(iG|+T zx?(x`W>rBKxJ*yGRnkH4bq%%RfsdjF67AIXt!qYjq00gV0BB|GrKG&TUzxk8^ufpH z0{SN48vyRATMzFuk;`%tl)N)YED&d?dd2|POC@0WU~^?ewGsXuAvE;u%TQxi7}!eF zEpPOsJcXr_@C1?^wW7iMUmwhWl@xRWrBa^lRY^LP)zxoiEy`Ws^GI9TfaB>2zB1I& z?gdoaRXbM2jHNu1W!N|fdf*4EEp2c`!BBG-ZXQIyB*a|c1Z-v0vsU@)Lc-#n0?De5*1J_Ptd1}xkpR8odp zw|ccz;5#=y9~bK;chrGR^Qs#$QWM1Tw8pgJ=nCqQ17nYt&FD4Fay5MV8b}Hf@OqRd z4gji`pO}`G1CH?0FB|K_kN+ABp{o@fQ2>UM2&n-fak*Ua`N+sb`l4Iz@}z;_{KB4+ z|HcgHLQ7Zi-jk65ssk{V%?)tBXiNSzc z)F3!Ke7}?^wqS5eDqxy$JYD3Zl-}J|b9s!;+(SC)6^r})8Ldx5lY}-+mcV?1Y`GJD z@BaM~;iJ(ncigf}Mg-8L49E8k5hl1jo+Wx@ms5=Ng32UYXrhjdhj*EilNih>0p{T) zpm0sZ`Q6TGjtLINfg*!q4?to46)qJ4V+yvmeD^+5;vf*02!v{E{3-e%yT#D!>Rz1B z>yQS!Jqr+EfHOlxL_|OgkowFvQm_Pk>e@=lDoDoZD(^t`8=3*7(Y{P$&jDmb{B!55 zUR|06ZkCT-IS2cX%DTI^SEOD50SFomjO4(KL%~Cb+0Xh}P}7hf;2UoTElX%-%xOn` zhN%eHSTV@Q%bmuB4)FIZ2yxiay6bJg&2d`&l1F|3^Y{@OD-B7udFyrVS;#kEpz1@X z|J`f~7kFST#a^B4@$7n+zs5fBPchBd17a_(}^2 zTE)o`p+FP?ga8UG5ad;Fnrvbv7kEp@^rx0~1ubTM&Od|!39x%dBpIoxQ33d!yWvN< zxIzG3NTe}2Bubvv`!;RlP-B51jZaE~f<(z@F?$vi(B<_*(7<1UZ)x2ItP$%ORBSRk zaV2Z^_D*KCx?C_&GYNLuofSA-zxDByRU`v8sa)TQc^=L^V3hmJD2aj8VYm`8ocqCL zd^r{`EMM4B2EUSASN2n`F(F3$Y5EWcl_ZVKF;xIcm!o^d<-3I(NLcup+;{yLCEING z^l3sE7pOT-a6gGpX7aDsmmI{*f}O!uXfBUY693GZY6yoc6k}o0K|h0s_*}eMmwwXD z%*+gSxLrIjoD$Q}tmL%-ObL>{Z!@O?1AZ~V{7bNK5lI$x#nP*#8w9Yj??Fb<0&hNr zfMs$QIR+j!_Bcq_){8qmWEU=gj~rWxova}zt%ib}JjwD`O9XG5b`k*s&Hx_vVQ4{wDdoO6hkg@$G$jOvs(Z%FJURvCY(K`vL}c_S{JXxM zj5@4p!{@#nDdt%jt02_W)bwjEj@{-=>RaS=Id=4zyQ`!W#)X)JzYXrOcO%!1T_LLm*)_Tr<^wZMb@0am{{lUnkXUs&0f)^4Bawvubo+hlHU&W6F8t*yVHHEnsm-vF;dd z(l+Hd5+cACG?eh+kdczBJbuIEPBhmRqnK#&-Fi7(-Favs6LNddYWiN(<2N$|5eBsD zk1kFaon~Jg-obUNG+`yb54~S}HyEY$LSG0j->q;yI$cH}cEQ<;gx-Cmbf)0xhyL=* zbWBXOdepRzzuyG#?ojRYu6mrkIGN)Mcv7q};?t+Ej+*|<@%LJwFMC!_D`=gDp44W0 zBRe?-{JE!1$yP1O6{{m9gs*{xmZw8?l-`Mr&JU7Egzm;eXa4X0~$0m7U(pP%$H$xur03eR#%4Ox-0|n<(P>?$ydx0p1 zdi5N3aB5vbyK+#|U)bzeINPMCQiB$cw4YGMmL|EATZyT6&T;L)YGPas{JC!|tSP)3bX|vdS4j4GZ z6(ANJ9UTHz)Eda;M4(Nt^R30Fu^G}@WE8|1AHhD@bw1b8@dsNKC?h{!au@sHAfPb6 z1wDSi3H=LrpC)1S0YKvWb;d@3O4%2e658s1+EjiU_#xEo0Y|q|>jv76QScaEKqsn7?1fksy$0*mR*I(1{73a8 zFD6h${ge-xxZD&i;%)$%~lqZ#7B8~xi^Sr?i zR}91znm`unATfM)&FBq{OfXZCCYQsK{!hPW-$eg^{ho>}`-cPN)7-o^t7*?7jFV(n ziki#oVCL!poH}^-bq!s@~Gi6&s7EnF+0O1qg!mND%nnVz6bxa zT+>O(LzPt;H-~5DN5owB4>&7qy}P#Fp%M7tAhvxqhBgFHBRI|IFJH!jOaPSx%z(HcWCe4rSd%HOKC(&*+=l!B z-pTuS&9uuRXp!T+HkZK!u=<`6Z5?SA!!HzR)ff*C37O?0TWo%b(f8E%d+ZC)QU34z zl;8BIS+3WkE%0lY4}}S%qV|J^i$kG`s;dGVo>erOqoW0*M&74^Sr=12h8j;qOS`&$ z(`-@#d7|+?;}%b=;$ol(v=!g#=Q4nuf(qudS8;M6g8V?O5z;1$7fcJfO*G3Yd$ua6 z-x=U}=cK=C|AOHf>7qY92kDTYqEAQU8w`a1p|U>wp|S$3DA|!+(1S4$=#{XM(!JRT zoNvw6;i2>MF9EXPf|cUFsHp46$Z7%g)s<1nLwGF~0!1{`arIcpdMPYNEmK3d@D~Rw z7;zz2WBA|9zXyPLsT07)89IG0LY@_Y+xDBu&6|Kno+)2nDv%R=p$bNB)EAO%&~>GR zAQz~X!Bo9BlNK$?b0sb?OeUXBp0)a;fWVzhLfenS)Kt~9;4Tim`x705;qRQ$j_Zq^nL>dTlJYXcL6G=Ue z<`@1(Trwj%MjfmKDiEH37yUmb3`_)gE!8jf+pA-QbaN|OiZTu(s8Cmm@6*76D}_;GcFq-Bdq~KB{&5KTKfOp)%mz53{7k@n#d0r zk6+DmG%{ibv+bkXF3a9uv);kg=^wQklWZ zSfj->EIKl89MDRw!cAdWrMtY$MF3v?9d4htT3A@k+K9!cPSy3)|;RkfFI0!ntEM$Q#XQ~($T zZ3YE_AsLmhH|@&;OkuLrPA5C@ntHMP-l#6u2fzTQ5tx_NL{;wz`<7^7RTdHb)<_{c zcJPXoo6ksja2CG;&?}{0Xfk5{nHPr79s!%&NDEFY0Ku!TslhOJ1@T0uC&BINu|+N7 ztd^1rBNi|PW`NWHTz$vhY_|@@;eKN-G>#>CZ;b$1({R7^N9e$`1#J4a>UB88QhQL% zk^!VmY%0kwhUF$+Q~TboZIm$ykf;izEabIqX+I#3P&rV-%s%(&WPA2$I6Q7V0U@uL zRAwa)5{99XDwyQr-+6cpC8TtarF1CxQ1Q#9T)uYg=dw8{Gf$d+hH+k&*$2;P&?fL~ zgoH zgFvP~)OH=so0LXtXsR`~wibj$Ab6;g=ijMN-_8%E*DhaT#K~sYj5a^MVc4CVjmwr@7eVp-gT|S+$q$I{s^9e?bsyO{z_Q6{SjqWu zU3?FHKursmeru_qg>`R>;2f1VCx+O&yV?(2@#%Ah9p8Mugt@;}cb*QG)W7dwf8PtB zoF{BQ%FLi+kj#om11}9c^ddNc;OQwMdUu#LwG3H?z+!9X=izQI%qj}jv0f&-713<2tadcxKW*s*t-k@0xCd@c?vsh zH}EE7cmk93VqhE0)XFCD%y6k-MP%1&$rllS|KZm2xel_Jk@E%nPB*O7)*Yx@R(Cjg z$3o$5UKotQ6_bO>b`px64uC^tUp#+d3=NU>x&u{N@!6p}> z<7bTmxCB%$^Ce`RpN|4*6LLwVP6NK~#ccm}ttVz?^a^}=UiIn@tw1;`NB{2AymW46v#k5!g9i>Q*!r5VQD&Xz$?m?Dl~<%oj}n9xxXHDmKs|f#RVn{-=tKun5}?2errAV7C*z zBAT3~h3OtthmGGM!iNXbzXo9Ed6SyThWvoxnqbzMaUPl_p`3`L1Slr96J&J$eXUmW+=vkD7QFwYc`2pT2^K;TmZ=l#t3TxGNt8> zHw>;%JA!aH4b>wf>Z9dge*oZ%H90i}7kn<&B!Yx#DAHNl4Sq&B;WjxrIryL{z&TtE z3lFoP-cX2U!S7YTp-MgU_B+{3&1(khYW|z-TLAl-nhV0tj!^c6fmabmeP{reNdVtI z@$1*=e3g$d+lF#GlppU!Cl5b?AV-H9;F6mHgJV!1^u`}9a zQ`@Q=%U&4)*>rveD9Y_Gxs_mAgp&IulCN@3Mn-0Hb&M9WRVBFOzbd5u?3H~o*AY_j zw*k5PA;^N5^${RyCrbhK$&Erz8XB7X3+Ftg(tzf6rgK+HmrMBuhknnRhF9`|#1iWx1;_0@*36q1FuE53t*g&Q7!Jn2D{S6;N)$_E% zBAPEsMro1P@cbCN0jRqF^EHUq%*O`|ta(Dg1V7M0gmK7UdT9>8G2?*CmVqJXoEuH1 z0MlRVNX`WkIth7y1x$*xu7&A6F0UMLl^X>H;o{=vz-b^RCVj|j($Hl;EXzfJ{xHKs z(j!5C3HhKUELYI+A20Bwp+0&LNZh0n#2^gO(JC+j$t+}{7i^>hd1k-%xzyjs)abIn zt;N30Q%zTRRp)bY${A)Lg3HRvI@hKjf<*^rP0}qXYQ2cW7KoB5o}=qrf;u7w^9)q- zRh;Bgdo&aTX#QSC7J63WlT^~T11paAAA-R|M96;g!GbONu~+e+{JtD2NMC_#yQq?G z{k?PTj~PVSOBkFoUyja>cNq^ATtlaTR{~{j%kqLW+1lC)o3rrep-}ig0HQugkRnB? zTBUNwq7?w0GFAfWG6=C$J)9~D30;;eqMi>-*o|Ogv!-7g31B7p@%5J~UW- zhRSMxzuw{edDo!ue0Dh`f{Cq%8CxvgpC~H$+n?x1qbF9(9j&2qjKL#{{=ezQwjNBn zKR-;TO(*{6Sx#u&-+ly-cK9^OXK{z!QciQ)lrb&hBIZcKHPyUcFK=`y|9qV$hbTyH zFpJFPQ^SNux#{dFn3qp;eKC}MvE9jd$^B2L{JF4q*ywdJ28WkT>q{mX;*JwG7x-Jc z=H+zXv?8e=@V-94&G#p?(ck1EqdGB&h-aRq6nVG)UyOYRIM-p@_74rCtTHM>3CW0t zY=xw)gpw7Zkd?ARWo45{imX&tD49{BAykq?_6Qk~BX zH}3nouj{rSAD0ALnfPuoW+bQ{xy3jXp~C1jaEzBZi&xY@M^5SAPrqJ) zJ5^Jo_`Nq9c8R+`tv4bRmzpS|&`(JM`fPCg=L`0vN01MyPU zh<^V)qY)|jh<#we+ozX0oV?3!aaw1*zg*$CDR^cQ&~j`Q(q&OzQ_Yd zNh=#ZMS3}An)|34YzOra<}w><;@Tg!qW|4|ob>+wyB|K?;GM<1jsCWI=GMrO8_5+$ zd=gx|IxN>_bM~E84`K1LKmDjMODE0gh}`u{qr;wa`lZf#ueRN_%+1XWeEssJ9%Gvu zwF19?{&{QjY$Q))-Ny$f6Tcn4Xb|QQGyTi2DEV2YKx?4yhFNig$EWSo53G80tYlw? zj{G>-G2@@DvP{71{smdTR>F>jDW+>hA3i)L4w2sotcMzua4Vi4PCI#K=rk=XGr&L3 zKN`_~vSkz52kx!y*fxeGv+Dax`4$Cnoo=5`s{m{;xJH@HE-GBY%v?J}A!=AlZs-jA@ zQolIM6w9wc>1YR4{&I?6Ts&h5)ndO!eed;+?c;>f0<>bV?8-4s8lc)k_;rgYRO?ad z5}AHOPqK=H&;I`W;6|XEM^#(mwATUv_O9 z8j8Ow7^%&SzIgTc(oUA5Ipkcth7e%~eOQ0f9Mvh-`wH(lqCp?GEuon{zOkL{T$bPYtQnTl+0-KOXN=kEDU&IO?!|pQTX>BUqT7|{FdlKNx_NQ< zmd3_cb85ZOe*%sO-*sv|k1H~b1SFLAA#~9`4PX zJhy=fc6yuF#KU7YR#bFkNbujd_44C&O3QGqW`u_;+&zwfnj$JABSV$R4;Lrd>EX_J zeoajg7cj!7_yDTqFyN5EhSQI-DCfIpt>^C^|C9Gz^X;{D_v-skq9lt%61+}W8K00Y zj=lk5s12Mgd`(@#nepF0R!0#F{3}QeI?)?+_xI^x30${&pUeOfmIQuP0+q}oBSN9} zdWzNi9SCVVcmO+Nq)(2#-y@lTbDKb)SV8>W4^AyXDQ0J9SB7UkX7B((FBFwtpNj$glS-0{z;!NGNtPVMLr z)iyYoah3;jR*?_f|1oGkqM)|?zE{&OO8*c6ZL$CFuj8c65pDEM!|Ldsrm z%z(L=ZiFKWMRFfI(4=Uug#Wt=C9+Zdci(vgnZPd|l?_zf!bhEWKy*}badBIB_chZ= z=&M~^KvBqJ{C7GAtPoNOxQ^nb9H?nm+S$JM@IF%~Vl#*((1zQ<>%jSY8)&g9XGLU1 zmt><8vH#uoyw*8496| zu(%C;78cBbc z(j-Bvi-w~lp=Abkz&Pm{xpMp%(YHHy2G9HOO#>JadMxFXiH9AVHawe__2l%!Su7(! zCmVle_P% zoNNeKM6mTUMTf=C-hMks6-1t>fVbYX6-Fv*peYe?_t289@Z4Ykkd;K#VOUZsxL&l&r*}*YZ~POj6EAJ%^aAgg zHLAb4AeS=!z9;3-6)?{N2Oe*^aGX&68%fK%c)m+kAHw3yC%M0MVNZFDSy2}cTnImA@y>#Yo}Lx2ZS&FS{i#>0z_flqDf^6f zpXJT|I4&wf;QQu04PGy9%7nT@(bFDWJojd8UKzlgQ9kMLaW^*Loez&?98qe*Qt*zB zj&7{ogkvzFt}n+r)rgCoeGOQD`_2q}{Yps7C(gFssd0if+rg=L6_C!1A!OA(zY5T~ zT!Tw8-SgcC*k@UZRA zO^92vO$D1d$50VeSAP5UO$-o?qmv=rwBUNSJEXU+rNt0@luu?sci@PlZ=^wqp^hsN z1>JGA0(20I14Jz z{Y4GsH{;a=MJu;4xU%KBj-N(h`f}Jwju#*`=^(>*Xf4R8V6?zPtqi6k7xBh7aN9fu z+_$;KeQY0&Lqgu!?RV7z{p@gI`bAziQ;4Y{5FX%Rgy0N0WFT0luymk>9_|_Rn*r8Y z7b8x9FA7?DochV7rA~Eq`km63Z@|nCVsM!8+4h;VS*2}hr1ZaZuYW6B>9>DTSsBpEs*s zfx|iy*Pd5Yv?D5r9J#;T>rLEtL?`E8BLefj3+mYM?L9rd;MVMoS0ZLg1nwk9*+M2L ze;0$%i!vuo5PAtJbHY5yn4LOPd&W-aK*w& zwMSbFN<9o_mjL3~k@SvRJUTpFz#K?(G)xT=8ih?XSNP&I>aN=DXX@lRH}iPp$B#(m zPEe(*4eJQVsW4drvcL7ofWs`Tj**3iD}GQeGd`_?3@YlB4HdNL!OF5z)PeBw!$X;w znFS$h1q7a2W-VI0c=0=Uer2OY0>-7qcc%>elF?-oIC>jDT0J`Uous7vx#zoZ=yy5! zP7OC?#lLH9z?-$`(;8VbQ`r1-L&i2PCDkW;8)N?3r_pZK*zpLsF;Zr{I@D0>JUD5!@ zHXW<9^CS@KySyK8#;iKI|K>K69Om+|8{j?j@bE04Ak4PR3HAWrcJyb#;KFCC`L(sP z7Xt-WB*-NT>!FoyDBw&?>Il3`+9(p9(4ZclsXecy&BM-*;1;1=j+g2vri`<_pt!)q zXV;1fMVj|`DuHJ#R~CBCc|-}m3~Ue*Qn9YuOZ$BJ7D|~?q}jXZ!P2smX3W9YddY8A z@R-(vMe)aZucwoqiNho)2{B?^@U#S$sdn&S7|4iWbD6Cl5hX1h zROkiJ(pnp>4?23@_;05IO|Ngw1&3SCAnG)J)X3UNy(5n5&%gJ1Whw0ND3q+>sTp223FDgsIpQ>{{;9! z@@C{avrjeO1{Q$o^s)-SP-i21&Ija5G!$au$mr~#e7E* zNB5E^@ebN*oHp3}vc&q^V-6W?qo7jGN^!3}R37d11-BP_Mbktsd`n+OV^cE|U+d z6`YM74*kGAb*4lI1v^9?eStP04TTPeknnI`rIafcoq%Sg#=a)FDitdr$GYmYD?*UP zloRR~hwD=Oj@+7urB31ou> z=ySRhoKPQQSq;V4GOW%Wpvh=KFcm3!gb@HOKs#|bVcU*YdhJiWeEBjRHUXGNJ~(=a zJXbS3BK|dVV83{35ax zqT@l0qJ~^c3ypuGcglyxqtVnRt{#{WOEzLlx7xkT$`rU(-XhXPRYEsjPv znL^GBr5I=iP{PwiN*KU1^@EC?-9{Wna1MkZ23Nh&W7_$u6cRP!mx5GT1DYnS!n3D} zfA^VI=4`fxEg2N6|h2UMFGP$SSIUoZa7&^4%VBiHiX8W-8ej(X?;@Zo5u!X{@*9D73=MXh3+=lHY4GVU zKvf8Mv-n|km6iN^w;x~G5cc1p`wTJ>_T#f@aNN7RGYDLC*lS#*$j$PvobA4}3 z`(^H;_T+3J4&zBD)9r)6o86bWX|H)oN=iGj7a=2G246%Ug~8g9{FPHntCzxP3l(ZR zIsqh?ZE+nCce#a@fbN&SrK)=PKEJZ}eP=ts?SfS%m_OA~v2dYn{Ql*;`zIz-Q@vHp zR@vCOVyaDTlg>lG6NHV;L>R1|XInK$TJ*W$-#(jK!Z-_-Bct?{QH_E9%@f?bV9Vv%m6t)rNzT{pvtR} zk%BCJC;GR5=bH55Q-m|DXGG)6ad)wbzBs%iAD6&=wJ}FB=O?Qkm~PeCgG*OPt0};n zqbaXIF|;Q+CFRw8TJ7>%3>4I>6EpB8cp}Jp3*== zZFbtF9h>Rg6wreYT@xSX-}SZqskx_`-juWI$sR>9e0q}Qs07qF7BRywtEY@!CaMD^{MMry`&EqoY(4;`S47p5ZG4&@q2cZ07O;U9dYpv>vT-=}UIXl8;xZ)mm~K5k z^d^Hyf#8|SP97P$f16je;@MYMj;vw6sIJc8SGFd_o?c8;Y}*3P^}(vfY%`Y?RRR)F zSP=&x0MwN@RvFyf+~8&N#cYxo#v`Mmyik3k@@mJgf>7)!+FDYUZ}|&g<<@lL!j2pe z-Se?Pbuy1%f$jhrW5WHGlKtWRsDp?>(I@*(j%m-ppde@+6yQN_Q@?H5vSr_4AM#Rh z1!@>S6hfUi5kKWxut2`Igd!;?$Xho|FG%+P$wz4@lo`ITCL(@G(06=2>$37><$VXa zbA-wcDjwV>+B!OjIoWD7fS#ddlLC}>S6dV%G>$8{e>1~C3Jnb!en;mNWG=)*=@%}n zJ0S{ymp6KO-RliCG&I~%FHzF*IZv>VUde$sx`;wAmlxV8+sUUnIcPqEDnWrVa%p$U zGvtaRg!zu1UbtK~CX^fM*PYF3Jn57Rm3)^`;qCN%u@*($zt%21t0- zO_vxop=5pV+v7*cM#IR%lI-Q3miL*hc-CHf{XYINB%ukWk*LC1?~;8XT!{`v$_R47^&lCrptE$*KiKP-5}!l(2wzna_h zlh6^-BT>WY_Zsj~x%F3(a$}g!8j2pMCfd2N8A0F+pgfG8cnni61zxT_M7)$~0Xc=s z{ql`*=;WT9+efjGD4c8@mE znc+1%6kw}&aqFVI!b7WDFHHCrU*L1TaizYqbAF>73M7lssjya4vtJiv8dmLSjZMX= zi^s??A2xzA0)vCE%?+XK1|3ZV-z^N%PR{YgOFVU>#g0a#eQKoh4iH5fG6h*Q2PfJZ zyG>bG6Fna+-o2Z_& zg{m+&$bJ^b{q*!$Ey0wK-!9VC)g=c19ar=-o;GJs0XecC>)A(@VdDmcR1Ej_`oU1} z>bMaC9L|RY6v4PKK|$&mY_se~&0fvhY;}zP{8{tf^u={(plM#-)Ni|WzD25lZx66# zvDTx9B~1z0=74B1)bwzb71v(@$7QHrT#Ba+NCR9}Gpe3`w2}lkkXDc7 zS)Z!c3}Gs?;S>b!4~-Ke%BTuxlEhkuK=v6O4eV7_mQ+7|T6A`H%J!-gy}&`Z7Zchm z8Jr@qwl&t6u6wq4&PQJ%-PU-A(>byPE;GYPSXg1vL8*X z;FL=nCadZ0(R(cW8YJ+qtFUk8%UIO-`Gtk%lM{g^!x_)sUjAddb64;LZ8ANIlPz1V zKZSKa!gL4dQCR2}E%8c9S_?76+gytS#0~sw^)j&2aiZ{|zf7!;_YGBz2o)E^y2I1_ zOq}nH2j_TXUs>Jsy_)+Isk&JK5<_B`4G-U)=#7sqPeQIKgb@^YeQgk25gUB>B%R^^ zWct}S=oJQqAHU%(!Wl;UvRL+Bsl7#z$(jLmY=W?8{GfHtO+ihf*Q243S^%D@b}FWj zapEPxRl?!0ku5~Alo#sUrzpP66r+%By5|k2XX_&D=Gqj2x=O_`Ttv1W+w3Q(IqKcT zvRYxI?0Q$jQaV>K7DgRBLIRbtO++>2F>@kPT>s-&ITQ@fHDKEdsJh$fqooEJ6+*S4 zbRhU=P>bF$%#8`p5{qh^tZYp40mJ2HO=7!zU){h7tFQ3=$1@)$6gxFPdUs|4z#kn& zdt&cLj6k>ydXBfBAJK!c>k+rRQzv9p5W-(xuASP7A|gST~K! zLr3>stn~}m!1XOwoL+BUz0LR%Cq53%&#S5)-`xwm0JXOf3@8h30YA2TfxFA0(o@dJ zvEhct-MW#RF}u(FLF>b9V)&NaV0?soh~?FghZh++6%a2lOTd??*|51d>oe;5?B-@K zkQqIg98!jyNib{E#Pa*IuN1_kOdE5CR z9uUt*u$MdWmZ3-2K*Dc_*){Hp^|lO-FNQ!9rMv(Q#Fi8cb#-~;JcQCbPh?Lphk z@AXE|X8ZUJSdyz58}n1Q(ZHf-VUd|?vJn9yNtjN5?YE#Rd4`c9dsYZ6z!B&Ru>&22 z&1E^dGW_PvAd)u#bZE?chm0(`SLmJaj!1ZTQRtQ8l!s%TQW^5s5bRL14d)T+Wi`J7 z6|TK?gcS$|D^@1FyW6oIcJ|uC!ow`8%gSW1`fuA09i>A-s54LCpad4MWA|=Gn9PPE zfUdaEzXdk8Sj=TW>45xYi(Pf;+38`cqPHRBX4jVe7ZfVbJmiW55jPR`HkK{LvH-!Z z;QtcM8YS(fgRt=8&a%lH^5@{#LG5jQvsD`*F^M4zaK8)Wh_5+cICWMoP3m2j>IiD0 zH+ar`ASsvQCFM4oF*7k?HRe|7u_y4WYgjOwSZmT&jBLUow&8`eOZ&jU21z40oZ5VT z_{xdb_sX)vGNsju21`};J5w*En{OhHBjN#WgDLHv$zLdmIT4U5u$+(zg<=7BBJyrs z;pwsbT3!qnQYYeRZP)dZ4Vjq$Qb`<#s#rs8@Ja&!ppx{i4FwtTd~hEl`2Tz)`YovW z4Dah82xmZ*xCxQ&rmW*zFw;mSjow5VUM-V#N7 z2#XvzrSse|)Y}I!5ez3N9m#K+9q-_P-g+Q8cC98mk^W%$kzO6r62g)uW{vqpMXE{f z_{GGQfL2HsCcFHWlB~`_6g&aMP?D1N`$lFz8G6n*A!Ucuo|wXsa=z;q`m$go>ED+6 z(}~jp<`y6eh;qrw&Gfjf%Q|Tl0M-Gvei1wQx2r2t^{d|%iY`@b`*-l)I}0uJi0P#uR=qQF?c5(zvHf09E8k}8uMc2TnH3w`X#rPH{_kd z;=%heMQ9ievq4H{?&k|DwoM@n0X|Bhf(#|rVs=G7~&4px6ApFN@U z{`8~KX--*LG%O6=2DeaUR#_#!D0~u;O>|`%7_eLS} z{iD9^NqvHTqQTpo$Zc~EX)Ub&Xi+3zhQ!qrhL=ZszPxpGa;ku&!CdS8mm8Qucp0dg z34%L-OqGKN59Ub&8>m2;xDmn@3`tv8H6DVy#}^}WFSVX#Nj&pM7MUcZKz{ItphM5i zH#c_^kwifJBmf&@v|mWHCiNMfSXEP3k8g4c;~pN_ceTAHr=Rsqf6h6{glMz?G{EE4 z_9wQ*WO^i8o9+#sVJ_>i|5g2tFFrp%pQj2<$NI0W<1#szTfrpYU6D1dklhT?h|8gq zfLfr-8l7H&Uf^rTFCP6N@!!n_TFXD18zM!9 zjF%(<*r%H?>g@_N=uaCPS0L>j8X6*u5k$E#Ac6pxx<6Twb}2C>MUhNwrjdv3$k17f zpaJ#G#hppnmZRUF-9ZTb-|%M52kvR#V+Ry*8D{}$RQ>$<6XQR(1A_zF_yD_~$M4ey zk>7@wz#rU+TmazN(rddHf-{QzVIc_dWmstkpLxr%a`2rP40=(a&n)$>^Awz z$k@DNN__A<{3?1vl*-@y7CoUFOId*hWa0=Sk}0%)=E50UNtKHPhlWCCe&YLs9lj;z zKV9mt6^5I85mQeUT;|XB9XRFAIQI#VP`1iFaoY}XXg%6MBWUEPq}AWJ<+h{Mm%5F2w>7X2 z-RTIw6Dv2FFCpWS0w0&acL~!dY55&9gJFKdEq)&12bglbnc{C37q2(5MXq_)8bHJe z`I#6xLtWtFaS2-`0kyVH6U)KPpUpiG)0nq!-@Y?Gu{IF)ISHr%zCzkt(WH0dpo~oD zVZa$mUg#jcb?-M{q^+6fEAW!CU$VQKM?kVruWyttZCV_zw3 zbXB}Su>eB3#8-MK03cbgWv=*r=MD1~D_B~65yAdAqD@vq)lvg5r7sD9#=tnH|N%Mkx$#f&N z3wkEMXL-&rQApwFa?3Ap$GzZMp>!mx^qtjf9AhH@f^Opgne@o{i4=nhlU)qw=QXoq z@pF_)NM|2cB+M9SUs_M}gv7(qoTRm~3*y=j9{KnYdzh?EiiqzKdCLlgKsXX~pE2R8wNdJd=1?uni_uj&m} z6$G+&Y2>_e1EJ|QG^&&rkQ3sF)%co7Put2aB55(@7TV%4ibT+aAT`o{a`$0*Pb&2s zclf2@(*zDs@)+xrbf6GppLnPdWDzSBpJ4J4mT6>#{f+nV6?frIRJ!n+d(hqiVJBDh zEz(V>`uS9Pf{hNVp1dXNxCk^7e*kaR*49si$1{<*y03LZiibGw3tZ)_w6QAMl@2U^ z_%&@{i8Q{Z7uX2kjGQeL3EQzO7P+wZn4D_L(3g1ws<-uUI;hm;_!L|UCB00zr*gQ# zax*SUJ8uE(Kaitd^>dHiVx#u|J_ZH`xnKAfcp)Ueu0q-R zj2xyoLeRnm5<^eiXRiwF%UM$32z^tUC#O|~$+pErPDf^uq=giSYqBFxUvO==59Dx3 zNL7e6E_m$TNL~fd^CuIL2)xce#?yUgF@2cJT3uyX8wgElX=#c56dH!?K(^+IR`GMw zi%H2F7{~;=3@v2|N*1zO+lMuf8B;Nem%zLCLSj!`qmh~t5|*LIOD z%x$lt(@6JnZyQL%bfjU9+Sv{eKHRVqap*SoBuWX+XI0F&V&G^H7cT>7!BG>Z7>MW6 z={YyWC$#rE{{hx?owV)+2R$y#kAOfPK}XHP`Y#FiiOxOwQm`tB=`$|M8m?ji7-oo( zi;Ot?eu1_bNVsrls4bv2Bh^!Jr6&m>fTvNObudv_Cwk<*H^?C!_?vu>898(jAGl4N zA$>A5#7B9g0E*T`eArwGoDlzaClF}j)PKCxgO?oN$Qjle)wOueU66g1Y7u;HGZa%) z%qufsA!2$DDEKJ6z~M<42MBtv%R6LcWfM>{708_{C@|#c$z!;k0%9+R%p%2BMvrHk z{%*_-E0|QUo9OpA4K*L-AM^AT_n3rS3kh1%I66pVZfR~)Lx#TY@nUDK1q&B4P_T{T zJlYQun?oaR=0>oQ(HZ0{I-#oc0;`qWMQ+}_nPc66ll1tDQxZA?-o)7$g^Kj5VZbF0 z&3@}qYY}@g&iGE?1Xqw*$D|*?v_}Z{W12}K0H1&>7_x^+fasJQ&8r>EW@2L6R3Q22 zm^e|6m9j7}NFCFF^o9)Go+`jPCIf+TY+{?7$00b3PniV-bgVdIJr?4%fg<-whbIH_ zu(7vubll{2oG|@hKXk*UsdzQl9-^H@wWjyM5HZZ^M{yr+x!@ZR0)mHD=Us4Ycsu=Y zt$;UN*s^f4nLnNw9c2fZV&`L-^Sn~$OI*XZH1)uKI5Df&N$-UpPQH{3zzVvAQ$%rSH5}qs`S>3nGKa=d1ZE!mw4y{3blYcIbW})!8EZJm`;$3R?aI zHF9=!Me`>CJCh7HLVgY=Bt3E31Hef~5gO3_64CS(8vk7oa}k1=*ZpG`KcwlhKygXD z0Ac2~1n3|jX+%Y1!dtQ2Z0_gs`pU74od_m);-T1irii|lAJbRhSRlCF&`=0rHNqJk z;Tj{uVjAOwA_Ps)ha~vf2tad)fOwHPk)s6AdkDl|Vh56Xby0uZerLH6$UZ2Bsu?;- z7#2^&M28NsAIqEWy=Z?}RToxPixD(|-OFHSFSNC_#c7GVC4+tmHwWpG4`Q&s_z+6g zSLNI;uJAEDV?|u>fmU8b+D5*Ukc7Ss4uUxq3jW~nd^;MHIhT`?OfOcVwY{E*e|F z=C%LF1;BG)Xdi0|fqM^OG>I7$F2_%TH&|4B0huCZaV{cd(Xxczoo6z2eTr>{7Qd-Q z8dyMdv3KkH^{JrH(!Y8G&Tt2b9a}eZmcjRZNv_O@e?Tm}X(t!WpnB`N@{s8=-nc22 z9O+5o7)&_3O-Ocfj(TvamHrF{cRI^|;M?Sjit+EZ0~+-&W)EJZ)IsOR3v2iFfls(3dQF~=F& z4nGoYxh09#){R>s=k-385dto{j7<*R-xD-($BvY<)Vkw<#@*nrkWk`rizSGiE!<`h z)1lE)jd*x$kUhop-=xKyEkY{Gg}k|E5w=sIiv9otxDC9R8pd%LJZ}xG2q%ajHhZP~ zlY2n#WyM3g$3+)!wFq&~4TOZM379hy0)F$CF9Mn%YQk)pZTv^yVbV7S%?-SbWu*;33$)DprrQ@h&N@GFZ|EdXQFm&H z#fn1jS{B|R$BxQD4ak-v$4~^G%h1hgd5HX>qzL(_KJIYc0nkf|m8QPs(ox{`#bL@% z+Wy@yv|sL`+^Okn;oiT}z z#?#~6`tMPrKnd_H3mOUCz3E`HwpRToToxoglG2T)-E?Ki#EpW zWpXzcjc^DS3we#!>P9bYTYNEL2fxD8#dE739(t&?@%Z2MbclW#znRpjq2?DUyGuXp zQCV{7%4$)`T?;p+MMi%7WM7$6wUrs~a<|vT*1))945`%FJiDv9K4ni>bOY842wa*Q z`n%Lbw}YV29k84|k#6KN{p3ihMQGKzMcM`n)KqtkEIP_0?$!A2#6$Pq z)9kH%`EsNgG&@}oRto<8fMD3^s{uAg{_ERUu5(}x!$B5zDfq?A6I2PNxAym*!6mRd z+=>vCJ+=7;^T(FO;qXrzrva3b_rY@Wd8j>iuf|0nAk5mVFk}f#&F_kIXyp~R9d}(d zb;q?f?@%n;jt|j-42bIDP>vc{eb9_tC3mZ)yiGjIFFE;l?OfBLq<4ZFRx(`Mbu8m! z-QT~a_%#ph3Et^=pwIYj7sQtwOIo5HRgND_tuy#BIvP-AtEjec-|K>1-?^4A*Ou6_ zWn9S%6r{nN*J0d{9hVAf4j)UBAm;G9sp~Fn>yj0+&!pCWw;4(}e(Khdfj|ib5~!W`o5EnSoG6>;Yf?&;2OU&QThnM8CYvtUUuC>XE`@L zxK`k~ht=@qmph(B2$nFnaS1#>oN_rK!mpt`qVq`n=IEsFDf-*>QhV=vRy>?z5a`Iz zYH%dqD&hTWA%&Y?AgmejS<$FxJZw3nNs^Qyi>4GFG|gKh7CuG+W|0*v*DQ~$({x>` zlFxd{u{NB2$=n6YYXb>_no^S)mv=Gn&@$z%psmvR--*7%oz@8p>wfGz+Ynb;($U`j zJtvVSeBaXJ0#HMn`P@%*&+4oXV_jc?k%;qM(GbQaEk4lT}H%5hbv=^!cl?5q-b(+6- z(Z8!vi?Qzi5I$#g>3|xCmMA)J5y_=Ees)s>l;uAOp#NwnL)fzk-40iUpil1E!N^_b+yKX z<<_SXR1!AioYU+n_Do)Jb*pBb`TJ9`trKIfPTr91jS-G{^IZNw4bPg|2h<_Cv(YDA zE`SZ(ZICl`Q?a9POO$j-kH5Vms<8{XnJltY75U&Wy;wZZ`&ERQy6+pLs;ag>kqGx zcKc~vjw*kn^`{4m9UUAzFtjuy+*VLx{t>WU6BqOPnpGfH)%w`--Lqi~hzhg%_z+Wd z0b0tXVg{48J3t`PUlCHotkOrYk$N0c-D6H=x~@Fmx3TY#n)g?`%&l?DXxXTh+pIRw z#OyE*Sx?2gZ&E94U-Qi}x3ReoYV@bD(pA_O{#ryc;w_~4NcpSLi|ehVS{98&wYdDb z7On5uRN|(~Pap8Zl63?_7hb_Y-8B`6dvXl=*d}O+`65TJU$jwnxINpSUX$hl?T&Pw zS&kb_7tc`rjJH=V$lS#)v5Vbfe3QvUw4`Q%kN4Fji^^jme=mKGD-aYPP0Go@bLYl1 zizl!M(_OB9g|gc-eDhD@aMxLndZ(+3Yc@e^%J@5w1?DnDL?R4Wcryu=z^B2xm zSUYgbE3{}Cb-KP|?y=CC#L+6bQVy^Cu08GEOGtX@+Pgi)|DEMSiP68ZShbVfO#CTc zVvaJbY+92iH*%*3PCxsXGq9I4vHd-j$sgK74=@qnKVRLo24Hi5+zv?#T-+dY9S8TQCL=znaiEHT5?;O3b;uFig7AOjQ{urGLFaZKt_L8N+(cE0Qh*Q=fRaj?zu_i@Bsc|jF2#{i4cf;> zMS=;mfNbEInRMT+fWs#RG)9@lYc-D9pHuq&)1~sr^s~Ide(sLRzq-bNz=f~@I85A6 zKnb5WR30g#V=)F8gQ4FW!O$ipkl3+@^yvPAZgoqZ3p8t${rf}WP92uwMV62C3Pk#Y zJV)y59U)!33Vf$7zxdM}VsiokQq6g#n+37rde{FtFeT%s3#-U2Wj zebE;ivWhPOz+y+WAW!93XnZ%PhI|7|P^!IHalo5}~1pstL+3tu+PgT9cJyfA$}n zR%010`Dr+4Y#%wGhJhD=sz2E6MG z^Ibda*d1e-%qs_+k_`My1WJ`ZnAb#RloEXt9-hxnnV7w#4eZahmhcU<)AiWU)~!H* zx&l^6(YFE3p<~}RSp~5u{VLm#Rm;(21K{T4pvU|!30`NZh)+<+iq&z%V23k^)v zFt}yVBX7An8-z9oJGZ$35DY{{EEi;AgN)~l6hscGQUnyoH145m3UADFKbr$FULz*< zCNm!1Yw%D#cL7~fvHQANLk@0hHA0qS4>LOwXGM(4INRunG-m%qH69n^msv;)yc0zh z{&u}l#5wimvyim(p|OVE-5BZfc@E?zu|uuT^g3aw;ScCYu9^(S?0~MpVdaafGgo6{ z)AEi!v-q-2Y;Dle%i?F08I&mJ7@*w(~4JvKu2&5v{Tk!3Xc#^U5WTlD-Y`Z05YBd1OP7mJnQTMWf02tIX0Y*KiVK)NZF;&J;~2&uwQV)nJvsniEde!%Jz(NR9fHHPpdNiG2UR}Dy0 zy%QEjVR=K}t6300LkcAn6~FYkO}^PwOHU;tRquDKP&@-be?76CgBtI{I1ouzbdc7- zKSH}$S^bq(m1#cOAsGJqF(VfI5kpKwB?yr;-6@7hX266mDU^HZC_W8kp0~smOf?H@~${8lOngEoMIJd>n4e z_igZ~Z6EIsoH_i-N41G54rrm{FFCN-?&ZOPXxGK@xNq@TP4}~*UFf%)!pm@U7ISrN zMk8Wx@W9<)+ACY)pE>-flv0374*Cl_ zI4d0hC-*mvS2M2t<)G*^Ox%Y`AhJJ@7P6c(1RY-nw5HPPBdF8~SgEf3~LpOiBtcq%I@?hTM$ zV)XZnsi7;vaS!xUD`vB2BMQ;cWS%-U5svh($mgo?i(pnCBX04f!v{=cPhVKFYRRJ1 z_#;jFG(ti`a@MA9OvTev$@xYtf?w zelHf@J|P9}FzGB2-Ll(I!HZKxI6j;vky-6;S_-Y)`DS~+awoKl&?Th2(2p*9_2yAc zC$x+{f|~mqi0XkNTuO!6U!D7#G$Xu8*Ojsx?>|zcd1bg{0;4DJ5J%9Yk-NEk3in3P zc}$AD2-U>+B$^-hs!(Ux70wh56*7_j6xi2T&Phjy@&bx#kALqPFCY_f40M)P40@=4 z$8aa`3(MLI(I#@5M2c~4;9-mMAa{WQSM5pi&si?qhKyW@iw&g?21HvqKcL1kfoyP&C$>geh7KIV7 z!f7y2T*O0xlNSUPK`2U=(l2ru69+u< zxO&lC00Z{h4-@^3#m?Uo3)8WvO6*EOeJCR4wdkWtQf)95CcDhOGvxi~Y<}Xn#q;{f znq%DdNA$L?4Bp?sab9_f-8L@t;V%XJ8UM#N-T&@4#|!IxUuVE`m5l8m#4nGjK^d?= zIX3J!DZP|8(_Ngzq<*X$4S{bC7p&7y{usj{Y>=#nU~njU1Exr$Gk+T(Hoy|5bg|$3nIgq@ne-ug3MkuzbAKOE8 zRCF98{K^AQ9UG3H##8%nvS}h=BN(IyC;T|4gh2}ff#Ml5Bq@kv2p_q>5YtR3R8;qU zz(Q*pAM47u*Er?kdHmh)O()!FT2|<)GwUXG2NcC$xFUnP!9DK6mB+Pz`~=msf7&nb zXZeltjp&8Y3+hA~nY}>{2O=5=Y)He5ZE=9?q?KnwnsJdn$ zU-;Tus!U{Q=%>qCclIYfkjbBF;hf-llehNB!_Uee1KSxG7+|rg9Z!Y{Q54QmhhIvZ z6XXV6Js;{cn|?Y>mh-be%Q?=$X$j}}FENG|h0?!lw#FB<{-K&+J0hTi=(7}(BZheQ zQ3kNmF2SH$B;XQ~hYqMoh_ijYQlUf3SFoQiaq&4i3_gSa?~)x$LybHGWEqN+``!U&G*&;oc8x&)@zv^@ihs zVZ1!1Yyc%;A%kc|y&-v4Rpgx#kFr^ORFB1Uh2BZ!S@;ah}?gxaGjlT*(of&`69^kr>xGH8wWh zu+iAlBKJR@M9dbes6rliUc$b3DVpnm+8%t7bhVLuR`A>D2ef%eXQ6-fD{O`aIICNW zOp~Fd&JDL1e3i7Gn;tvhCo6v#6dQ$^A9V!wL2^>xi)WB2q2C*gs?NbBdoTS(EW=I= zM}H1d)z@pyfqx_402B;b(aM-f{CJAYHwFoXmQui&b@jrGAo=3SMp`khB$}!W`+%tp zwi!P$7MLiC=S?6MQr6A+Y}8wfz(GM)KX|iQ_Dr+ZjTSzO;+YliZbVHL6pwx+H}7cw z$z#~C)Z@#kBD7(m)#O&!^-uqW1WxiX@hh35aHPaaozIOA%mQ3GYEV;M?ezH!SpNGx z#YMf#7Gr96nRK?TvGMJOQIR)}wTh{g4}$wddeOCI@#0%s8G04yw{+-4h&^YH~8uLc}-k!^oqNKD-ulQ_Hb z3x~Sa2!v8;o_OLf)IZ;mC&9mQ_EMuO+vgY@yqyq$kU1pZJdS2|&#u7ucB<+o9gda$ ziq^+1u2m*(2SQer%|1&{(lX`?_G10V1xRV1Sudtx>$$Ty;qFvpgY$rUaz$^!HsEQl z`jP|3SB4N_cGBRs!=I$Of>Qq-0Bc4wH7V~`X6!>ybox>J6n$>vw{yyAuxq_HL*_i> zP2xQ9d1`#H2?-OYrK!PU6=D-15^(5tHF!t$TTz5GD6r%%Nw4e5by^S2Ij zWbE>}DPySS_BSE<2Nd!mQv_siK>*5o>ZdyQha6j7zU~OM{x!+-#k}YfX8sgS72;lS zwm52Flxx0^=*jFcr^y~h&hQIfkL88&jBH3^B3B#Od=Uuiqu1irVk_$PJgIh43Cd1Mti$ zt81uFDL1(ND{WLNHX9ziI%L0Jeor5Wk*??)$iA>I4sUwIdT#l-_Ji~S$W=($aJ-U* znVA!B)Bg8LoZ(nd*#nNCcSjE@%ANtDB}7X{H~3kuFh8qzs`E_9G2ZzH*6(pHrI=I2 z`|VG6v+h^D1^EkE)wP}@le%?AQcP?wp$ICBzFbTDHjg@l4RJpU@Jz$^E*(fT*R>GG^Dc}7>F! zReqzmL&J&qqo&(7csYX|xkGEYJpvIKmKT8Z+aHwy#&DAL0Thy0i?Cyl`&8PWyV<3y zN2BK7G0bax$6OeY{*H)z1>o)>(EOp-(8VR>EBP`G4D?Opto{GgvFZ|Dk(_p8iBi{AH(MmH8xSE{ zvA$c3F5x;jzqwTIPNSwH&5QY^p0e;yCG0;dFmMa3nrq@fp9EHOk5Nxpon?F=j8i3V*&+ZRJ>^wHwJ~O?XBK3gtulD!OeiH95CyKbHs{HvqD~)N? zjB4rT^%j`-TjD6N#^I%zvlcgsV0hor{He`z$IfmiO<)-EzVPKVy7lS{QFq3 zd>`%Ufn>3&MnGd9$S<^3Vp%-?Up z+Gh?H z$_;ZHZzi87#_;&kcITl<%qm4+Dhm&+Co=N=uOvNGlC}8#B>THDDDW~S zQfHnghL<;p^91zfCQ&CRG4(ty<-C%F;En1Y3-G`T?;!+wKyM>OW=|2z2D6w_j`hR9 zUC2BbL;(|^+C9n1;IK+9DdThP{p(*GXF{XqDZE_WWfXe8Rm5m@8$8S=G1z{)rKO0V z=6iV=+z}du=H#XjpNZa$G;Lny+_c;p%SUHtFg(qey-zE0YSX4o%B!GAP6f$s;1)|C zZ1#t*vvwSz+hh7TF_ermjH*$#KS z3k$mZJLi?o1W3hJhf9!S zI(zEo=06^lcW)ZgB>&j9*chm@WVu88x=&h3K!Nfw#M}qGrc;Ww+D1v`vJebl+^Qvh12`9YzTuD>mJMUID9Vaub4< z=CJ$A37DbY$*Z0m;dE9K6F=8SBEz3A^nA3gK%wAJlkt$IQKrsfH+w(L+?%lz2JB&R zoDnWNYo2FMonhE}f7?{uT>n+^e?NzI(K-Z}@GMr_;6lYI^Up#8$sANa$LH1HX#Lt^ z)$vI-(bhAl|7|GYkLDM& z^x@H0{OL=r+aEKk)Fu8rVjH$D*&=7aSN-%2?*CkYEP%f7=##CxJ=thOUD#DssEF&= zH`!ZTWsG8N{QVNGMPwXZ!zLxlN?WHGytX@dp_bRt)xs!4{(g1Qk?%;nxvEl_M!R8+ zPK!H#sM$W(q$ix;|8r5VH*u=?7i&hiT5`TFG_I)^6Z+3}xK!XexER`$GE8?zq`U0> z_t9w6`l6{g%vdLP+v}~ufBy+&DBdT^^{>MK#kdKy>*4b>cDC~~OOGOUz+POXD&i`&& zO|6?9(ce%|-Q9z?tP~F>eQx)t-~l4G{rfdZt6cJb`11NJNvF zq@t8aWhO#JGKPqw(G*c3WvEmdDKcd$AqhpLGS5_IGV`vx`hI`E_qyKe^~dMa#o;{X zdG34Pd#|cd4R0#D>@%v;zk0iCY*^+6VjH$EKNkeqdnpW!s6x)aXd%KRfNmpaznebhx?i z%@?VhlNTK@InCCiqhZ3BUvGr_SUM9rAu+_wHyt!uWq@Avoq134SjS3H< zh~5f}qA{E6==LaEQd!CKbNEpfA3+(BuiMYVG7H7319+ZoVApVOJR6w&$@@@Ha$<~g zxb&?Hv~{cHBUc0zD6^r#8xBl%{>>-1XBo49DE$Da0Bf{0` zJI)sl?L6o*a9(!XqsR&aTex;MCv_P*F*7k~u)PwI`n!O=1F-|d#6&i4*y+w)=r^ys z+ew7BA^PyIQ_FX9jMzE-XDbwA`{Jq>F8h5g%aZr21YN4QTUeARa1A5 z$ikM5#e7TDefvdVeM0AY-8&1|@5RrQ)xmseqwk?VCyp&Kx-0Ycxjd9^{}*lvXhZ(m z>PHO1%v?!_v~`BI$}VX0-fw5Oa!-O<@5w17k=}C4dWk&w{}L|zy(@-le-T1*a9y19lbf!c7{Mku7%AE zbc4;t+aX&S1kun6Q!mo3jmA*(jLgQ_V`%h`ftW$(zXy^)GaFeRO;`0lab_DIWLNY2 zDOFu1q}iI_;N04ky@i@(v|2@XqnsEN=2rtW10}6B>ia#VF#~ym1iwF)3)Rz>? z{^z}*70DnU(%Oay;dFuw@`c1>D_Tg1)Bt@ti70DGUo5EF5RAgh`UPiB527X^h!`p( z=epyWw=iKmX2a1%xS8|Qo6rFc{vYI62AuL0uD0^MV#T z7Iq?Ulowc4hy3O{AKC7F4E+Bo47fFbS(XrgTr&KenVI;nqsj1DQP6jEN<4M4L9r#{ z2BXd`d-rnT;?X+T`utzY5TUnAPcH@I*rkSq{So^no?=wqEfgnWs;YSzjoFt^?8MKH zyQ#VRZ^C`$2wB8_aoarotEKF7av_{W1-zawgd`q*Ik85{@SzmNGj@pOGG(Pq-$t!u z=w8sQMrAIEoDBnB5^@{ORrEh7*f}oE_puvcL$}1U(fQUO%6LgvS69JK`{QYFI41g}`*MhO2ah;`(BuK&&-^=W zW5Gq?Q*V2wB+hXW9fFPR;lo*u4#WX)dHK*2%`nFOm~xy5tEL3Md?303+<%Ybl^0iyR$kQB6QlvgZ9gk9PdT`8$M&9Hag1~S7S}M_ow}ScnLUx6u1~2^shov}s9MU5A(gdIp6aK( zgf&d5{UNcL;$ZEVDGUbVgmbOi*X?Y#u*aa3b1I%`zoNH}bV6zX7$6N)#OVoY0`RJ< zUSWlA{PmEUh+yz9BxM2t?pX8v3apkY30ujc%97b6)5Wy2LNsK%V$Huq?ivx-dh?Wcvz`A0E zA8;6SI`}iBw>2Rr4x-^hpd3%Stk8KqH`6pnOAVDNd+V&0_yfW^M#{avQ3#E1F5mxo zOT6uZyz3e-p6IDIHm<5r6A32~-W5(uJa__&B9?#g=L_0Cv1u`txSYO<7RtD8VIeQ| zjC!s={ZTwSK8(`m*#>8Wc@*g@;+(=o0CvU7{h`g`z!|oke%RJ_9*{yR5V1f}Xv;H@ zEF1UC>WdOQlLA;w#?diP#_Fy_dr}R9w=tHn?xi^YPiMF^i3Na@`#EvQ4h-uA6V)dZfSr zf}2~^(8QSuAfPz0?&bb_u$D(B70{$tr{7v8K`|I*j;xTJJAc8Ex^E?U>OJd#fOPTY z?Gyv;T+sv@*THF(O5;efmZ+$YJYj@xq6T1dxFs@4)5Zde2NaD0@S;?>uHHWldMZVx zE8#?ulIM0}>1WTu`EMUhTT9q*8{}dsR zffhHP{=ADwCutP=v-{n70$*7b!p*^~c>-vyI55B&pO)9>ArU@#91$6F``8NQ=WBg^ z&&NO^{-3;KE;s@1;FHlp_36~2O@B}ScGbVR&gwLEyDgf*r2$M%lJoEJcnqi3uXJFQ z&a8-KN?b^fqMTUwF3|9y&eF6fBhKc{8fSfnq3mX*xIpCKDSdykSd(bbDLT^L>?N}3 zK}TZ!1|8fkRjOkO$I+aSB-15pRgaHA(Qzs^S8Q&2gR0s*ac;4mN&vVZVwH|Qey0u= z3g6GmQ2{f2zt=HjD_BsF3kJ226Y80t^e|2Rzoi3hC&P&G3`I->@T{`R1xd`N3ei{@ zw4ndpN3%P{; zbK;1^NIAl8$*BPu!(|v#A%`F}f$;Gi`aIBsSwTBOJVHsc+tc+oDo!33f$-2HJ`l)) zn1TX7cHJB39pII=FY&bgS6*2H*8FAnlb)^Rgr@QYB`q$1bUnq)C)9-BHiabLWba2`U_>V#b&8O&e z^5iCh!I7?8fU*}}S!tj*8B6jabPz&BDp`|{e3JBielp!lD1UXO@548DfcP;>_d`qoGC-R)m7 zua}l}dcQd}FY?@u=-kz(TZ%vBRw{{<;xaEsT4%qE>g`P-Lz0uc3TA#UgQv=e0)KyB zOwBp=ilWG;Lq|6li*L4}Fh{^q*8Da?+zaA_&-zl-TGY z_yoZ^n=Lz4uI_(v|DikD=~ioRuaJ;{SD^msSrlCi6cnswPZSUTtwgka{%lTe6lX&7 z)WfHk2UM75*;n0>W=gfBQtFdKw_9Gid@{;8HufdPCx6ywfW(ewbzOQI88N)mJe4+| z6Nfy2s8)$W8iKJFxC6g}Y1`%N*XJR-L}xS6`4LF|d#N#PYox>mNRt7(7j~3K<8nix zn`pjnAFp3WTn?}iox1Gfs%`^K4t_zphzjFN(ULc8Gm9=TFdeWDswf&pQAybLXdmss1KA_LcQ=dhg+fZ_ zwJ4kW;O09e)e#0a?uy^7svWuFIzQZK@>?T|1L7Msd%e5`u09M1`+Z43|m=R_5}OmRp|Vwj=#tM7D!{o;(b3Dor)1qh+EAl0Dx~@Mru3EN@(8~Rn-feQ9RFXG z`~J-OzYop#57e$@SlAk2P|_MvJr{+=HTIe9XfZyekY&CEz_jSiM*g=7V8Ku1&tTRm zI`Bq5$w~wwlw3N%$cv7?{71gONbvVV%8zHX25b1{Z_EVDSK1MHT#h+4Ax&(qdr{p- z@h|Knl?VaLK*7u6^Ik-NO|J6%`DM3xrMgS*6XN()Qi8Fy0_Y!b>Kddm%4YQM z^V4J_-PV+}n^#us+gu4us^+2F=3fOA>|82LL(@$`N zKMuF3o*GFtJ&4-HL($*mE*=SSGN8(ted;14GQjVg!+wOQYcUxm+;F&!D6~y7ofc61 zs;4$U#AcLOPN6{6`D0LcaFm8lwCPF%UUD!VM1Z&^rEKP9pyx@D<^IpoO8MkrFMCXV9p>{Q`d? zUuClXolhO4Wd+)2l%R!RT?b)%Xa$F-BQ^IHKp3WU)Dw1&=Am!VR2yY#vk^H0^!RcB z<%3~d2+K#J+dgn&>k@=6h{)?k7qYYOizZXx2_q}?YB`)YViPj+_?Wu_BDfa-6;M;-7uD=zR&B2%^2*a(C zy6ZAiC{d8>5ezOFPH46_KDqQh@>?+(nWq{}Kum%_;=Ig&xkH8nJi5h^Q+3Gu0U}et z*w31=VNe-=3pv77b57-4X@jV18>TvxkAp+t1>x(Ood8RO-jR(XeGPRj8OOmzYG1OI zzkV}gv1TCl*4GZtKXk46brtXD!1AJAvci;-6mTt)o>SaM*REJ$Yjo_`Lkz!p^uSZ5 z{RYVIBGhTmPIYa~UxOcdHFkZNIISO)yBadZr???W0M>efkir5*>DuU2Z(=@TGBk#g5u{0>^0*3CXZ5uD2sbLzf#h}jz(Q# zJ%|}FFJ4|Q5900uk`H160EyaVX%;?3jB_N#w(AWk!A}OSBcxb>E6JSPb zYKpRA#<9=yiMJyzfcT>P8}>`~ID(lo$aFxWoX8HG-TJ+nu$Z4VMn1+zlxb2YCpNxZ z>Eh7(0>G(Wwu3&NE*1`WcOD7L)SF!IVU=J|d4>m2Es+A?zpvw(Is4~cf>XMRfj(FY z3>5O=WVe4=FVmllPRmxW1{lbXIL3%Ll$tau-n(-tfSn&V7yQNeXmrxcgMTm4e*u4w zJU3AhPskF8cQZsN`0Uq|CdK9DtJ}W5wo~Kzd%aSBl8m9H`9_8e12J4j=81C9w=l>^ z7S6k~RNZeP^39qQt;rmUJ{G;o9PLtM%2Z!AqQiz`pWe28g-jFcDfaei;nKf-#p?=aM)=tZkG$MNU8dRv5`mlCIBfMDM~sX4q7}DS8%N!T?W#`hXRe+VFsVdH zD#8&Ggv?+e#Fs>?tQxlF99bbye@`T`9R2H7HL;-*zyXuhxc{5g%nB=LvVp$E3zZq< z=@#>y-Hon#$%<(XsO&Tx%HPk!3@Z4G^1`7*$kU0M6u1YmlRIKCP0^7lh|0)RV!rZI z9gV-&F0!&GPQx2Gkdm;*V%c+?4C_QsOi0l;T6|@RQ0`;-pdZz-A8f)0~pr-)GnK4PpL(ipIC4*lN-wGFi-efBPloRP>a?x158=3}_ zf)EC8Lmor=fR-Y*O}sj?A!n+=bs2ruyWF4A=w}>9klA9*dT|{CR^zCG{X88&u`lbj zPF&s@;zPMp1DG(mP-o$fiM^3YYcvBr;#scRdV6SVzpWCs-){KYh#HLi^y$+HtBL0| zu{4b*xwea?$F{7Ja?uQ|lhBzT(6RnVwQ@r1EHO|zpw>5dc7kAT(^5+fV*p^byx za48k?gt+Frdo~L7Z4*xWt1d=Lbj)8ab83~TSgqsi)PM?=_MeZ!jL&dFlTBSG^6{L% zA|IW%tLQrNuS?aUoccl5w4_iSKyG(e?=)ykaKZQUOl!}*wZ~MA1xqxgui0kr!Rckt zqPjC7VvhS##iFoR21X-+l(40e!S{z-Oxo{ZI`sG8+c(RnhEuSU8}B%1Cb5dsk3N?! zc(8isHZs&>airnUoHyFHCC;sO61wJV=;ZWt@=(PT+Y@Slg`R%{*h~Zk+`}gmiuasSl8S8q0x7t*_US!CeyljPz z2}hzG>MG;FJBy-k-ZZPNs*+vaU-gx|>dVIEVnQy9+{K2BgU@Ln**i^9^J128FZT-z zyzI3``gY_MMys6LtKBGf<_{kZ%kN*^BcXKimzO1!qo-hz>^qBmHzjK1_XAxA*2Jas zAk9F_!iaz4E@Q0$Zu?fJrf40%)qIpzap84Cw9#TA+VsQS3Sv@c3TR%wdUdTPNPpNP zB}Q+;0Cxu=dPm>=>*x&pRd#BXhE@{mtwh$u-qX~Id8!*Z{yVt%Zi0xk=jyk#bp~B# zt3^F?zli21#bP5`hK;J9pc3A|*{yHD?7X~2M zI|qu5h!cy(AL+jNFCTf^`p>H)85}<<-IH(-`Jb!0DnegHNwYX}7p}!fUSFo>c%C6Y&r`K6*YBy|lpwZ1z>4+?2_x$E% zlul}HpLnWnyl|hG=eLz(D=E#P4DTgTW5?y)bC0Va<7~g;bf83yCUJy+C`TgI_bg9j$Y`R1xjmD|!Fzi>bxb%`L~$~HWwGL-o8Uq^aUt<+R!TPuoE-Wt(F7US@oTIw zYRqJ#>{iX>h9MOk(s7v7vD2|qqBOjO^|Z&23~Eaj4gZ(=PCEOY3S&%;AM=!;vr_fU z`IOdLy!G9iX(#6r#Q0uqM&LZ?Hn|@YOU+07C2&2?!T+HRi zZ|6QymM&h%TsT9`p1fSkZ4|t$pE6=9uR48#roi5uzI&>M(w%5cIcJ;BLZveg_~ef( z({#_@y*#8uUqOW_m3?O0^|8ogLy%|NsP~c`SU^?5ftPuVHT@|U;d5ns-*-<;tf}_+ zAC~_1qWvOKbvm@Dkm*%I>H1dLYrl9?KdqK3>Mwdc9A;MG({6vkR;yH!Ql<>0HGjRN zMlZg)a>#Nzb;&%@O(!N!^9?>Nlpjj^LD;-G3%B$!Ft@ zzvT)nb)Gz_7?R@aZ9SB||A0Exl^gp}J*;bH8AtiFc&74^#S0R-r57hR;e9MNm4}$8 zFHWr&U{BTMvV5iU^7w~#yW#JDR=>rkkm`;)r^NM4_g=ZIP%RLoM5bEZT&-}+8vu?UgVlA8hHq^bcGn5)X%!k4 zveGu!HV~tYW#mi{KR&FM`?c*D}?A5h7$6gQmc-#%F z8&g7HkuKeGoC>FXJ!`N@_fa~EDDw&k>B*SnF)I17r<#fJCPN1LT&F4*k6|%2r!i4- zjXir)g;dc{@tyO6Mi+GL9C-fYV-y&CPonRt#1c0lN}|Z%@evk)gwa+LA7!krXPtI$ zw4u>moaZL(Ty})>$El?7tdFln#+CnAjeeBn?5&hUl*LE|v#v;0ZXTNj1KHtyT1&Isj4V2i;bVWvNs%4(-ruL@i%KRTaS&%x- z&qu|xq<-HfJjZIaTADdgfA#s{(+X%}oDfiltRV}7fKkn82218&w8$WZ&E=TSs=Of`eIAfA z5BlK1C<1_2fYpkdUR$X6w@E*_y_oUq!o-czSAzN}XF1Dd>PCLK%+$e%&Hj&<{ieFv ztk%(kD1+fADGRNhhRlvq?z90m`W%(joVZ(IRx;J`U1ncY#dCG(EB8!=Se!YcvbW{4 zI8$?>63;#_D!k}jZoFE&cp;scYe+S&!p`k1FmWzvzr9Dr%jJoL`gmh*HUpiHdS9)$ zLdYb}Jx_2L~KF_wv@PL+N@R_HIr^yb&1w74b8=DNtD4pyH4-9n8TZvt6nclnpUgb7`@6Z-Yvmr(apn^r~A786euSi zunKB_pJnr8-MW*-i)XBO?k8P5OIi3pn~Z4vxhbXH!%2guwavBPzCT>g%%wcQzK-AX z)-8??jQk-l6P@RIE^jjt4^VHjNS>kk!Y+*#8rP>St)D+Fe)QLp<|__i;kwUe4%VL! z+ojXBAxl}^uSj*K_Eu8ugd*2jpIf6B>6@>FdA3@d%lq&){B!TN`H{*%*DHWLH}|V( zRqqG*fHtR=*E1pdTE34SH#p5bh7chG=*LGi2q^n^?UTMHx$gqn+Hd&7Cz;>o6je2$ z{MX@0(p9>?VPQZPJ9m%b{PaRq@f}?27{}5LN}W?4M3_x`#eUjnXKTA;U`zGM1Wydj2%$FV;?4$CV+cE#F6XootZ_rTa8|Yf34bTi3@> z6_k`>S!$j
?^$W%js>@R2K5^={o_2;|xP`H|s+R*w1ehdhPFmZE(2`&S>i2ol>UDpNYW!}C4}N57ko%TrFnU#S%7vFP2FXX}OG`RQzcjBkOtQlGWXgPc z@t|V)^PCq>4d0O^uW8^ipp2r5VTbY<75#zI(_>e7xBV5boKV#L&Rn>DQMk|iMK>{T|IeA6If?udm{Gj2xv48)p^s4o#6fVK-T`4$nc+| znf#weQHmbe{u-c}F{T$_2d)GDbXO~A5jvQzK{_Sx@I@LH-D#mP0R=$B1@UtE#ZdMP z5C}f`B1=`@MXfDgu(@6XoPjs`2ZKW2A3L6$tE1MB4h7#+!hdUc{C9A{5)Cca=GNkn zk^ZIxl!=4r2Oj_w>52)xXpjLLNqXNq&huF$;-{oz5EF0h_}9qEMZ9^VWhQe_EuWz& z%XdPa_#tv$6hBz19Ji-xO#DtM2rflfL!(7xEvy`F0fovP{bFk2w_6Lh(K>_Cfsml4fTGc+hqL+p|aMNQDY1M**E3fG>B)M6Q_F zH#rCu?&&4O_rzepu>qzoz$i)^H?61P+a%pTn>z_$$YeZ67%uobd-Z|HpIadK7;W?zy6SbY|FA%*b29e>nqRO#(6N_ZF;Q$EU4Az|@$PySBm7+l!jW!K$0SOhAn{X}}#B2;XjM&8e zi?)>H^F}sd1C>MW?Bq{EG6o@$nNVEAE$K8={S4>RMp&a?lO`FZqhRprkP*T`DAsp$P-^ElMDe z97R04KP<0u0by_=cBX9V6D@L>lglPl5nVuCF<_NCf8;V>Q_^_8Lr668pm#4dxWDu} zuw&J>Rk|^k?@arCeCG88g8~I^RM=5z=nq5FkTo?730LRp+L2^N2~XS(=JQG#Z<_x1 zKZevzn9L>E(b+oW2v=Z*y3&nDKF~oVN5gD+2zSh0(GTDj!Gkc2GUVsemto*hOX48TQOJGUpD;f3&X{MU`6SxCdda*8q%`GE6Q6hoy&7-V509 zx6BikIi&<8h5%~t(>^`#_%+7QCEx>tK9AMqZk?Y!YR$X8g@uRfdFmn&0Q8v%Z%)G$ zi?~HAc49P_E~E=&{tOtBs&#&dVEEMsezUcGbuS$FC}34OWA>g{%PRRhxg~!^Du0P2 z1A6ScC61&jOZf2X10%WrfA_!#cwVdba#s5H{Vz z$$Y)CAMPwi+FY}%RsFD$<6oX%e+t^OuL^OMhNbY15i1(ROwOv0V`7_yM3Djx3$FK{ zoi>~@lZjrs-cC1axRI5GB^GDRy=Cg&x~DuXSM|d;!}Ol|OF$wqfYv*^eGY|UdF&#~ zW8x#tTDMa9i)$UN^-)-{g9j!#Q}@uhk4;W`%c};PFrq%A>V_~r3_eRz;$GIk@f-i^ zA6m0mXJXe0s&D@i8%|BJ6kKwQinly^tXe_Cw12p@6*5EFc&94}n@-ssyn>uNVr?)D zh1gNUFOH>NND7w-udFkGFTGr6;kZ$WU#b!GhZQFIg{NlOnoujD7l9i=kh~BqQ+57n z9}317Wl#|r2$3X!SjFQu@2+x#p+yH2KwwF}DL38ZP>9@_Gr25zn2%B5yWRr2@5tU~ zq7{7qm-}Pyt$yy(#8DlBoBK+Hg-bS0TiHAtxAN~M7K>c-gDOiC^q?o@-uMl&prXe7 zNv+tn`-M1N;_nr`=C^_G{^f^t%_dN;{Qdfe7K89(*Ye9kX74G$f2ifH*27* zGVi`vC68k{Da6!gRK*`r&#V+L=u2kQnm^xz9$4_;fBmD~p9It(z|^NQz|;J?;>N_n zG6V}DtF*f_O(cqrI$FNuMa|BH1g!yu%TfbRbUe6Un-PePV963S=NTyPy~rx zI8JK>9Wv{{^TCwOH=FWc;W5NcKlEGr8~ed)Mq8K^QhI}3D9#?S+eHcvimhUP^Lb-Skt4s@gAm=z@Z@)PB2M16e}6jh`F}!;M|loSh8%r zirzcPqpqf3y_*AA<)^>xe{A$IE$*B3PcefLejAcAk$DhMg&l^rhEf^%uodB^bX6DZ z%10bC9luqt>LL?tgMxz@nvs$1d65Ea7*5tSI^N)zocrG-PLhk^xv-dl@7-UM+WFmW z$FafRIVac}K@Zy3-rx24>1Nl}PAfryr!(w}Fpc#24yrnwCTkkPuD{PRlL6gY z1$y=yy6d1)d|==7f;sBfF+e95rVMzid=|~v&tFoV%a?8T)V*n6^-rVWdw7tf zJ&xwtMR?kHySb*>-^4bbO#33<0L1h{Z|JYeh`US%S*pA~j;N~N=o@?urAE)F8)gT| z)XZ$Uv9=-PsO0@OJFnXx*b}ePBT2uCsiugjuJ{{^h5O>gJaK=~)_Vo=oNM4eSvdF$ zF_*qSO*uH_Gn57!%!RTcgQ&uyAl(koTy`SRS-h2b@!0RAm_fQ?T%|O7GM<0ui&_gZ zp$LD!+CF!Q!Q1P7$G6drrc@=P-u4L&X~c zSSSd#GMj5BI`1Q}4c}Lv2|^lr|6A>?t*q#eehuxIE@;{z_xRTXd0gC0$TLiwaH%dJ z{o`N11FTXbv=0Mp;(dp7W=B)}pMlCmkM$P(I4}Nh3s|7`$p@5J+hFh}8-k8oeHPrCg15!iu) zCAK2@JHj!DFUQvl8i*b-iq&*!iQFw%*X#4PW`e!m;8f4AZN5P} z>Ur{BE+t85+o>!*K}=^pb)gMQr|nz*@7r;K+J~;xKV$P!;&rpeH+=_-`BY$N`oK?* zf(HL>+6>MS7ihwDMaYmGy8VAb47Wd)vjlsTEs(fHRqi4rhftrJ(7Vuvub#S0S)!|; zh!8ll;pC0lVT7qASe&fQ&=~Fc{2-#5>{)bUe*-UiaiPdP%+QQK4RQD(qz~jVV`|+! zpJ`~#RoIhYil|yK3stOl2D|3+<=*)dnB=rrNGPr^2C5@Dt3s-(wy`e}l`E^IyR?9f zN}LCZfDUMzlRyPtS0m)Qq94|p_i5vQ2YvQEhCuC2pPrc3y74(+&<}A7B0V*OvueP4jow{CIO>Y=N~q23A^%JV+wUyv1d6t4gEvk+uZ$+V23s$p zv#(_ux=7KglSr&ncD|arxUTM;LQMwUG%B)e`Q!E#%u2mVP|;Cz-}*SPJvTXks{g zqoM>1Au$-i)=ol+h56^_P=2`1PJ82qmH@4&HmCB*&cQHC`sOCzD^M|fg!nWeuk*3W z@2@t*r_b1c6WBxp59TX=4I@X1+d@5ZX5!p)qhkBro!6kuV@DDMpRfyP zw_VJ|)jWI?qcmRwIWb1`M`O}*2?-{=7VRiRuMQzxE9AV;Z-_Oty>#!<1YnECS79uf zdzj-A-!?VUQ-ruk1XK&q<32VHPuO@IKd89F_hvX6Q+~4(_61K^t&Mq!j2Ssk2bzR$ zAshMXxCt3k={`NxV*LLb=Ek5x=tN4!WQEk%uh#^tocF{@>5|gY^{9L)r@YYvKrgQL zs`Mc*smkEp`mf$)RBOnVwPKwS{llGSfB1Q!QKkyTs4yX=rGC zvYZ`?7Mz&_P_vhjzYx=AUajhtZl#}aCA&=Xq z1X?eNQbi0Uu63Kn)u(xoe)=If|H>|Z&hy_!x61(q@*7DR~Hoh_=66-efu^C*umJ8vIw`o0V~16w7J_Zg%!6K zR|S~uKCXZcvj6qT{Rd{IRm7Ngb>mr%_FHIax!OVys2ivB`F4Ts~@Y zJRC4m?}?zu9P<0lo@w9&!*%X~|6)WUCzqsOEC{@a$EZu3^=PPP{(WU95$JQ6hHM^4 zXW0iNUuJvmuYcF%9mwN>s6Gy{-t3(p{jqZnbU@AUmbZ0Vwl9?w`E zV7V4H_htSKx8kPkcXPQ`Q=sT*+PB|XW>1T7>3=e^;LVG9 zd3pR-{C40NW-C+b$-ZH zGqHI;n@-1t1~xdUGla6tGIyVJkC-0x*3c*nq%pE=m_=68i$SM%3Wg;!kb2AJjV!|4 z-E_v3J7cd#zS8UHFX^dCU7chGTk|BC9Y$CKetuZ!sNTLxv5N|$Jqoa#x%nq}n~Bf9 z`?j=DRbx+xNZAh-li#ux&96L-*V~u)Y|O5oN3Cp;q4O-0qHDYSj;rbUMSWt5rGa}$ z&?Go*_b0$Pudw=joRD71%~syOe2iI(=5TXQ*NN^k3EF;c3W8x4NFAp1P?4?KgO)8g zyjs4CmhJD)4PFpkUX1Os6b&pBDCwl@`Fi|u66aXG&YB5&ztL|`diH)mv}rbp}idq?zLYL9MC2C2g6#cb4^ z5IR47O1j)c7=YRhv=tIOG3Tesm}AmdX706D!v+*)Geu#y$OHD=gZ%w_i@VZ^tq#rP z^2g&UvKlwFKN*jBU#N}dRWpaq_w3%`QEM`(Wmhs*F{IJ&_`O@v)Kf&5IUdi_n|ti- z6EDei&ca~*Gvk@(KF)yV1nS*ub_?aBEx{HfS#Img4Ix*#>Yuc;2OvZ2a&3O@zfbD& zF%(m7+R;}2#v4pvShQbw)ojc zcQRXz_sZSkX>jqM9lWSz#js8&kmcQks(k~lkyLO12{&WC!GveYz^V64ow^1EEg$dD%aJlV& z{u;OXv((t7vQZudTG!idQ@NcNQ+PAsNxAjc_+AQ&qmRClh?Apy%1&SpO zPb$PL42yf*4-mp(ChlVU9nb?1_I)#%R3?rg5v}j79{Q-Sv7?zfl;GT&z9bOsfP|J9At?8F0Z*4WHgHHuzqJQQ*-T~+-Ft9(y;r_15 z_3UPiVgLO*#||A@nW)8;z_^()>E>^#8)rgWuGn|Rn&#e&)s8nlP&v0{SIgamO!D}) zScQyi`LItdQ1aVf?uX}Cslz&s@qNPgk1TjDo!>okUa}+Z@!vW!$yr`GPw3+r%RHfd z&*9=kZgVKTJo= z*tgu!{rdx!H`fBYMy6yLdpS;Bt^V42;nhoxeE|Ub@ z6{tOE6*~G}#m#cgyR*$^W6+-T#l2@5WX5}s&6D|k!~XZk4f~ZU!?zy%>^EF-qdrbR zC|4vZ3=gkW7SWIhA-)N#+mvvK*!?;D4HTGmPZS8TI5;+nU*EqXOslfWN3d)ykO-}$ zw?4<79{qSi?S}MtiH2pOwNgr}<&^^<;%Ps_VDthmVX{yxLr*L5zJwgqO| z1h;1rh6(Psg$&+LqP%5NvyYxdZ9 z=&|sS!@M;uE)Ij%_csqm-u#0s1gB#!iEsMKP#;yXl|e37@N%JleC+XKQ}Ub3mX+`Q z&gXJzOR=ov$gh*isJ-Ny<5|jM9!ERt%3Pi9ko6xt>O`KN*!h4Zyq!|UIn`|?)|#B* zOhzVW3^GlxbWXQ~)DLwptk>ZUxiOc{g2l>XT=jl^LxAk#qyjb9I0FD$D5?#&_P5+WYEu$=#@l;R2vcBG%<+#Q*-&E3M%Nqh{iivHj-skrI60fwFXL0!9(cXE!QR!dK@vIA(GMZN? zm%_Sfx^px}%#Y~(5#MQr(UyMKd%hN3TUf_r4L1?<5K6K36&Q0_Cu{Zcd zX6}~DZL0^C^DboEO`or^BymN_k8s<3vF7?M2bzX99Lljka>cx(r)+)Z)tf45SI*}> zu)SW(;Y*vgdc`X}eC=6Gvun0el!9x{(V(*R(aGcb&d3_Iw1OpGUMedb_2xYMF?)`6 zWRjYV8+-hQ^#D!QOU}aDTJnpxTzsGu&1OW{$1`rZzo`FbZB zm)Ww|<$4so21LoI4Dhs0Kfc2+7}cu{@^(Tm1NvF9A4~_jH2#F8m3Ejjfd1PdTV zXIKh{iiUmDFtlGx>PA*h!DhgcuriGRD8SgqK(NNZ@LF9}v85&rPkBqS&;R06pDk@Y z^tk%x*RKzf#uhIoM;&rlL=;!E=KP19d6C=F0)~(LdU2$6qll`*jFr`;=+{f5eVS+ksC4D)Au--Q4ovQMm-AbfgfDdk?f;k!n zN`5U^=gJMyp_p+SgL|;lna`@)wC0Un+8}EFy)bta_8UJ0RR>Ms^yCIOVxax;913as z@fj~zPpZ~^Gw;_*`kL){A@W9L_y%3eFBfJd`(3cJlN1a{rWbtsR3qmRH~rc=xnku` zRfpb84!z5D+d8ESQ=j(f%yxc$qcuOU-6;h47N&bXFq{gN%S8(W1$bjsxe-X6VaJ91 z>qLuOB-v%bi0u4a@$6);326-O!OFWJCm)h<9dXesWBrZlM`$LU#=KktB9aLpbhNXl zy7w4hYZfDJ#z22>P_{I%_96cwi_EYBzXPjlGTS(AJ=PS^Q>sr}48NRx)1=04B{c3#|17jD(`em-5NFZl#h3Z5t_RSz>=E$WP#F8D^&$^z znZp5eJx60gk?82iLB#LM12^kWD#JSMuCj~*=2TkgrHV;7Q|Vw_fz78jFjxlrurQW0IDV`6zCe^!K&rfYR3AEct;Xkfj|PZjE>th3?{tM zKL0%K;7*{mL@7e4z?%G~(zV}8kBeFo(St;x-iuQ1&s|I>-bSPm4>7ss61tu@fjVrS zP|A#3C$=rNI85{J0$0JuX${z@u`p43fIoHZQA;5!-o9ldZ?uvj$B@~=l?@Qym888gm?dyM>t}$ zIxNCtj>tRp5Orr69qUihoJoyUGeD|vxUePZbX>rRfL(>UiHfmeyR@`&lPc$3Fdfj5 zSs0!sEj(vMfAQ^+PEg?Z$Ar1*E<;Oon7J#4>0^2h^kZ#3#6?#O`iFZ6jxfjhlV9w` zBR%=+>lUoTnm0%4v*e%)yajbQT%OP4JR`ee_IfK32!Gt-sBlgAu< zE(2JQW2yW(vZ4@1guR++@TXr;c!rtXVE6S=2<$$h6_dDL5DP7Iq^S|zB@{HikoCcq z;VNW4KKD4Mh(hw(9qouHqe0W=tlC!N$L+IER^{^Qk%)I`+Tx~)KujETTO$m!3>%m% zcAnB=XbaE_Nb9*s?v#m9Oh;kN{izCjzIB|dBPzCvONW$Vjm-Qi8UcuIj+%swfrmDV zIEiP=tRs{PmNcpf0X6hL6MPgV=vxuHvOA(oy?#9_B~!;%>^wZ3u}nZBd$hTx4*WH>k?)`t0?aZd^iR^kw9RM7RbyK*F(D*})*u z`pxh2n10cIPi&5}UQ1J8n~rY@L}_P#{GvX8S|NLvTfoL@_CM(hzZ6>o??!q{VR_Fl zQ;uBPbX3aHC01}R*k~?ua7ZNfB8-nu3^-^SI2ONoqjEfS;;miU=chpaN<{p$d?hw* z%D{QPGe2!0v$?r>+4^Pb&QBloq|43UDpK#T|85uEHpcszpc~)Vvkebk9^PeW_-TEV z?P<(qJVs;ObrsG|M2(a^CQwuJ`BK@`sZnHF~DlJmQGgXqZQvC8K}W0Y`wU z*MRe#N3OZK0o>T4dI#Tpwk(4M97V-H%BwUU2pAo>C{iAUIU%Byj@A}Kvv?=9xXeB8 zOiOUS7~JfzrzJ@Za1BWHNv0SmG38#Gs*D(xEYYJT8LwO^@x3N{JvcDQLv=uOfEqBW zc1xI&6?y>gs~!y5VWp3cj~^?v|EB0v>9%x}`bow`E-Cv)*QTBy>9Zpz@bun~PMImN zG~q<(dhr<@q2R70>%rs@gRdLMm~kv+RHpKiBLka53SZS#Id;j;~l{gX1BMKzBX%%)?xyvxw_2IH#Mw^#i&#DLWe4`v-qjH2 zB|<5x=8*P{MZiXYamOXO1V~go$uLj$MwRG5o?|Cyclu$eSqo7HhL9IOR}o^GjorSt z`uRY0RU48Bvg0ws<4FKo9sARb?N?q+87oaN62 zmfBcLmrs`P*L->YI2D}3aU0qF?=X2!{HKSSG{>~3Y-;V;b>iVjmrdy`ZnntHUHO4!{LD>0b?OW4 zlCx}Z-`e3w>pjQ7p?n4*I%Wc&4s)CLqKRk9J0@k|ICW5ITW~f$KqfIqA^5uf;GOXY z2UCPemxQul*s_3C({U&elsRqQ{{a7>1e?Sk{bmv(g6e)ZVQSdwtZ-mbIhsL~zn<^Q zUFT$Y7n632hae$whGa*jJne4aFr?k1Rt@w2WOKe;zeKOP8;HyC=Bg;$I0#F6-=d@H zV6{vdXzJ{&`}GeCknQYgR7e0k`~pl)9rC4b!aO`zM~_HG5}6#*s_t~@pWOe4xi^o- z`fZ~}A5&CHDxriVQZi?rnu(Iglu$$>CG$*kQHIKtp~28#C_{))LgpfKhKxz(WajK! zeS6ROt+USG=UMArz2AlB`8=P`eP8!=?Q8FS0gLA;^cOYn00#6E#bO~_B9-C2Eqr{{ zsJ2Y~Zql@lIVsXzwNVz32f&ya&r48Cfg|qYtldHnl|2uN7unMzJ`Tlf^>juL!HG(+ z%ymX-#pq8Gujc{;Wf+E5vnr359L+f>{?iISjwGTwIjg!B$v*_3G7bnP|lJ6xag< z3maDgY9b{xs5k_2frrH?Oa#|(a74Ul0IqauYP6fsPjKLqd>efkS>(b+u$L;vtUMKh znfi(Ue@iE_?%;l@U>G-GrOx2vHjltuN(07PW|(>us*Z!8c#rhwox~;-Eez=%chR3M zWUFD$Pf3UeO<;c5N%80``nCrJa(|W1JgVuNeTGUYuV?2S70>OCcJ@fx=ERQ3Vn2)$ z)2#>Z*!WG*17rbRC;WxdR}A*7(+eJt&jDL(9_#-gFr{Mb4e-*Q<<&4Nxx&Y63Wp)c zC3$&TIA(SWzLRcn8)pby`pWR)iA~ZEA;NE$Jh}1 zTo-O5TOuMAxZ4#77UOuh2dd9%Z~zk<(93|wAjm*h1dHMEaSJ0O?jhf_knREJ?KJZ3 zMp>tWB+I~}F!F5#V;bF#-N2nMMl4rG5J1c^LBf?K3p&HHtGbsjU$&c9d$D!uaYkfH z@lgI_`gP~>pRc5)4$Suy)L9)exuYe+c*HI)Xt(W8iogmJKU;G#KB}#j`oRibM;B#R zfseoUmVKKQKP%8LY~7o(U8rLI&8}MKm+uF1j&$$Zw&dRUo@@J%pwog^{h{d1kb@Pl zs{hz-+jZ}NN$~P?**f@!7T_cc18W~9Jevt+XzSLkH4Sk62P@SF`6N1=%A&J{kYgfdE9uV?95+*Sek)QvQ!HJd`LJoV2<#OShPn@A` zZA-QTX_C#~!8WbQBNCpT;TOBRL(rx*Dzxp{L4(3ql+_373U70NOi>9EC`*}N@w0MZ zBy1~<{DU+P&dGfG-c==c;_^N64ci|_+l{;dYVeg}Uo|j-Q6wkvl?c=cmd-_V55Owk zg+hq{w8*JC(G_@~a;t7*bP4N9a_D1Tcu%kOeDSvnM^IB!NJ$2tmCz@IG}q}p;SmtN zmZ~V!JovQ3qZ_$g2j5wwHkR`4h+1)B<;UsQP9s@smVVws&l&l}Wu}`Z%;=C}_=WI3 zi*;jFPh*!>(K^kYRKHD?*YvVmH{9s7zK*!5I;+Xbfc|FqOy#oiGOOm^s_b`>V?#vWWl+MB&qjDhKTM zs#(h`0g2F3CWT+CfYLreJ`1F66gsh0YuA1twVV3bP+Oi?Tz}OZ2$S7N$%Nrip5JFL z2Chz&>kom_;EK!(!N?$3JJ4T{i2fwTds^1e*+G>F0|#%JZ-lWJj!Uzvu9X zsm7(Boy$CA%`u-4@2LD0nO+)6G_7==zfFx4bvc%EGb@XSlpR~IB2K4+Ok)6Wi=;OY zEW^qHRa6!hy^4i?g+)bm>LXNAeA3dB$BZKm@Iv7xs`U^-|4OV5RU%NZiBpB~9qa&UYQ>=FKw?DeLZ4uP#-y zLCk*peByYC3aLJnSszqL#$kbz3}CGi@SMbo1)G4Ibu-7PhAR?pzm&-88}p zU8zrk+r;Hu8%4KCM+y5mG49{DZ#-4-h3{#7Q=nt+VoZ+)`L5Hg`YV)TnebbKa$g+u z%c=|R%E}Zx9;Kx~kiZ8atRtA1-2*Q%RxTGnM^r~K*tLCdB#WE+Tie#esIEaJ;sW|( z7Q{6$@!EgbNN4^3i>Rtw)(Eiu!ep@$;0S0s!r<9O^h%?kVs=UEn3;76c;zji?U8h+ z;G0TrJ8SoUdM~E0%l(kgA9h+{z-)ZW&o5!as#Oms3Ua0&>#w5f&0SL6su`Gm+*bd1 zLqigc)7(T_hE~}lH=kP7=6Ij;-b<9*Vv6nCljl_{CYJRk?sG|H%J05-Ozpe{&W+Il z(O#IDX?<6;M<#zLOzbM=>J{0&n)9LOGy(8O*hQFG9+C&@v-a~YBVTJU9KT*DSP>zk zb;M=~601P@;|^{jj=eu3)+)&}nk39etPpG+v+8{h)^#z2i4>p;hH+>$qUvQ*oHX7u zN2FqdnQ-7711LZ(;ym0g2-XfHYsDa%_D@Y`^+uJ|+3J&7%ks@2m;XLkj)oa&Naib? zt1I+9dj@sRBlj@&uB6Gp1fiv`h4pLGuVfr8y;_>NoU`3?$EM8l)903cp?U1B`>{Z9 zE8PiOLGJ`)7iovi#}|CdBxmN(s3Hi!m>&QtL8gLH!05uHIb5w0Z;(V?CjlLj~>=w zf%Kr)nc|ooi6)UtZY#z!>vjOGUTg3|u9Yfgp?KF}Jso=LO7q+^A?L>nPS7yWB+b!z zt#uZ(baS7Ny_a|E9My-Egh!c5r(#a&*Qrs2Le%W8-cq?kkk;SUz!|Th?zb;SwPoZs zuoGuJeP;X_sECwvySCzcDW*xLZ6A)8FI1Voa;kiQmD;}F&_9X|@C zgj{kV@?U{_g7wWtjFLge9?8tm6uRy9Rx#0EGLx}oE<GI`c)?N_WwQOVB_QZHzfP4?IOZ5B?^2!WsRsqB9m^BsZBYYVd8~G2h{704 zQ&r!$V>IeG;EoY%H>VvI6k6VW(FKWUhCe)R{~Q!M z)PQjjt55~st9){9zXicCmLw=3@&xeaypgNhO{ck4BoSgXjvq7?-xl3H6{rt?3!GLRg7wtr?$9tC|^y8YB<6(9}@e{@g z{ZNPahUQ}h*BI4N5sY01*OlKmtxvki zSc&L4h7E?|ScS)Qs^9&_%q|a%X^V$qkpw!7Jqtv|$BdCsEjAN=a|q51D_5F>#!E0| z6!{oJUyh0i^TAGnI4RAs5^rNGTT^#4wR8e~PofwF`^+0*&KoXlkgbu?zJN_*aUnz? zRS~`wefm2a)sW(&o29Fl>n?*khL#ZkVq)n*OuVqLZ^c<7vM#8+bQs8Iuci`h{-e2LAqwCZ^mVa&I+Ejl< zefMhfi(0uu^;SkvB?`S+Rq92X#H$o~ojWf`Z`Da)qoAp-l3|QXOz>3=IuD*SZURA& z5i}BRw?ZaYP8wW^?qWeXS6(y^zo$oIAqRQeW(=+>O^rmDsOb_E za9ntFL~y!xn>GWnjMIByzfRaF0%gTT#M_{NfPAb{cFdVVa`jR%-=Y?Kft=AWErdhe z@Haxs0L3T;&e$YVM<0endxCJL`}9Hf&xSvxfJD(b)f*j;odTXSSpX<$N|6UbV-$m^ zL9`{VhWL&$1K%`|0=u=;-Oi5p5t5Kltr^ZW|Aucxot8^HHVLOCgC*l6C2f>2nS{csuAewZL$x zr$d+SH3gf_3QQQns6c;%RGXNt`yT90HZd~>L=B>gLl^B1RM^qT*-Y3J7m6kJpqF8e z&{WsdfH+zwn$dhH{;=u`Yi+cL5l`X`k{)5}k(qz!O+P^WV%9&4L=*J&KnTEajPJ*d zNHm2Hb}ur6huAPM{R}591Rxx@)(XJVn3`lxJ~17|z{|80obWLcR&{>3tJQg4UhqXz z2gr^$DbtC<-D*4)8auaID))k=GF<>;OvE_zh7J8S4FU_CP%;?4J{1~Q0=$e$83jbm zfRtr*jP}e0-sQ`d5h@X}fX6X2J^nZx(VU{{Ro~<>Ld@KTyfGryTw(4hz%4b1`+hi_3LX` zS;>SG8QTt8!~&vvH$nfkZ`~ctzu6DN4pqDJY0E~O=Ib~(%8{6&F)5EiuoI#@6w~XUO=Imwk-8C@ zi`<3z8IF<{=t=giW9q5Wn4U;-9_fHcO1gy&wOUzS7DmaPPY0A5Ws?V#3>yI|^_cXf z7T_Ec>v0VF?Zl=%p=O zFhEt94Pc)~NQj@%njaVe2yDJR53s4;0K5v#w(mbIZQF6B7G3JV+hq7-L%GQ7=}kS7 z(Z%KK>4z0n3;orU6_zQF&_Er=JhI_>!8_E^CGgH}%(CML*keK{P(Z!c3L9~#yr~|9 zJnR%?xSmz7vW#5tOmU{7doNV2GdQs+!Mmvg(1pnsJBpn)f~o=A4B%L(jjE;J?=T`ZyCxNbv4 zzL$>|Wya@$PxQHR{sYh$f#7heSO#J&Aoy^zPi94$tno z9MAn>@O!Xjc|c-^Y6^HhC{y~-^vd{paXHRLAOmYSIV)k5fgGgL(Ha>}f1UXW!BC|s z=^yoqcS6o9%=}E%aRXWw#_0relXZf66fze_Ye)S3pUB)_Hz8z}9W}z5Fh?Vm0<0<= zo9wiu`(dKLM1WO3`WZy6_dS02Ue>?br)f+Cf1gn9lnyzu+=ErPY@WuRPLkr(?!P7X zqA1y<)~i;n%7?84o4m6K1z(OhKKK2udMX{%_+HgqGUb=^Y$|{Kc+u@!w;m&S+xOSq z22}KA+fxemoHz(|xigg$tY@%L%x)I2^=F$DDOMVVc4j+I9fukbXD$s1``A-6;imGO zOvK>dVF4>47+aqE}(X>Tjq!T$7F+;>t)z%OwOI&hV`3PH0dTu#vkeKs28SNH_01(GWWxiyc54w z6R7h=7|9rv{!9LZZv-K-{S1;NVxNmi@Jo3IFhEmbBBt33Eo373@&+A=0C9}M!(;{| zP<3;Vf|QSb;}sV_XJ>#YkC591SdOk8kvK)@69KY6aq2CIvze-T-5<76Tb~_Zci&=? z@0p+-h0EAdm%5TFL_CwOA>c_{cNzT_o}e0PYU+kG%QX~2JVB;f`6Uy#+hCx}V^>h@ zS6?#Z#Q2RUDzmWr+HWzfjU5RtsQoOVabbgs+~gcXi&p=RF}l$d(pqvFs{ zUI;!nNZ$sk&=VYNNVaRzEVYQl4Vxnqt&pwgbOHha&gKX9KugmQX$K#lX<8hWG zRe|G4!|QV!5H}2SBeX4`5@v%%{#qf!hF}8LU5s?ld~)-Q`*yw-kxey)0eRCl1u8$^ zJ+T{TdYZ;@gs*T;`N8PR`-CK>cme8C{Q)m{c@V>jFauc=oKecvquNeiZ4W#*JsiI# zzUF50K;_Ht0XaTX8yf!`53G5ExiqR za3jn{0O6%1DHZpP)lmAGZR{4TP2_sGK}2;hV|J#D4qw=YF?OF}9eMDy~pT zVYK56p?3XjJ4d&$#raTiiF+eoTlH$pPF1`B*A@fg1{{1tUlR21VrRuRD?ye+j9?al z3E15L2dw_3*6KY9yNfMCLP8ZIs1HO@+4fiFfty)J-wIihTcj<}%@S=j$J6`t^w^Mz z(grEs;F5C`Jj4}JwhsWBPfVjo$-daGZa(1NUE?woG6MYh_U(6*%>ZS*D!km!G#sD0 zR8?)Ind6BfX~s@fg99s4Mz+0k|Mt4s#uSWMV&>z=E`ALQ=_tTaWE+sz<3A+TBW3TS z!T_`LyxDWWApn#Y*|Rv>s}yJa2)h)pFn%9(6JgClZ*`fpiNFx6t?M}8il5*Fe+&?g zaD~y%yNp>wEJ}#jIk=T|{Rd1!zvVwy_iMOp=@@(3-agSh z(N2UB6I~C?ZE$=GfUG0+^#TplVC9a3IIK`j;q)zqyToDKVPN89UK*?vNMi;$Tc*8$ zo7-vjYwtkG*@a&q0TbmQ`rJ{-BaXzVFni98>&{PAd0}bgQC6|DtD2ZpmzNW)%OE-% z!5?$Dd~gjYEE}M?#t2q+(ykqs{%Vtvels55^<0qR@b8nVlX9UwCP9)98C9D+IZ+mj$+WUC5j+X+oewK*sNKD7fB3BQRdp2m~PTd&|K^_B=ti${P%V z>lo^G4H-x%^k))W-=Voj-IXr6LHKBlN^plR?9xyW)WEz2QtNlb_94BE)O2S{60p|C z3R#VZk)~b5V5>Kd1L5ZCXu}W-8d59)=*BwQpXhOGxYuN!d zx#EeWhu9uihoiViq9%dR5F{`2@1GuF@RuKgcH0l+fhB^)n9R})_bCbp5?+>=asq|= zhd%qGIA#b&1_!Vj!PL`iO9;%YN>0&*zIL?%nz`Pjfz&9TD5}2*4HG%^wc0cRS*~=*{>z z-_6mSti|Sx3u}xmzDrDBh+qI(pC053muiy`4#PXcWH93IDwz*Ra&-H{*G_)IbF=!b z>RNsL77Sgu%c_WPbVD3(K4v!jL~|FfQRxaY#upjC8C8`v{P^990zBuf_srq zMyz>8Sl{nzD5R_A*t;pL>tfchv%CS6vp9)1l2q*qj#?tp1qF8sH#X-t8Way5MEvLNE z>uiiXa0jHhlK>V;caD4`l38I1qyDzU9wp8c_)<6rKM!i#eZe89V3XnI|L4<0IyqJr zx1v1B!cIKxB-F7FBxV@z5Nq9Q#hvWSB3>@~S_ZzLYk+D@MJTlOcG)dEpsdU!^=bwI49wA}x((_l z$I27M7N9vyUEO_k88a(uF)p+Pv^NLpWU8U&MH%G{DZ=`3ws_MrD2fziAqP2P12RM8khMLls*GO>DR5nGzKwO2& zVJTa`W41B2{wtWy?6lsI0I z&-0oJwbPjxVABjCKfXp!OM5R>PQVAu6>q?Ex`c8N!UW8zU3O3FG5~w2l*xAkj$YT2 ztZ~>czDiO_OfQKzkuOpsfnq65j+F}0mifns^U4!hZX&$AU6RMw{B;0j4m8|nl}T>V z-~Af|G$1r<;ah1_}?q&fx~Ty$U>nD$;Er<83!dFQmoqw;9B8l6rHGTOm^XGOSDp09;vW)Ncip#Ax4|ha`pS-i; zqGKS;gDyV(0+zNCqy2+d?oQ4Vn;`g0Y55t?hibFEtSsiym4 z%V{SunS4eDh6b3=34~|Eb_}}4)}0+$K}uDGql^ZXP#@E3R@JKlG`)y1c$8I$^l1RbRVUl-ztI9cW<8O z+|y$(f?KktA}qs++XVbY-#DO$uzBOkVx_M(69xHav+cm&FY$Za>s&99Vl=Dr==ryv z{@zyc2YE`LREG6W>91j!-FtN83H`8fJ}q1^hpAptKXvKuox1bC4?ot}XP+bl>}doC z1s2{(3KGlO!JLbiM&Qm-jdi{n{1g4I5$ABq@t=neVi#=oh<`BQ`Y?}a_f=!T_e$Pi z)!*O9L^KSEOe4I=iOw?sgEb8 zmG$cFmr?gZ=W_8iSyd5d`PvP*dIZ2n$KF#90s>aSlCIr8%P`$%W-%7=DtMTOW}K}4 zaDCHx!F$SXTt#KK7O2O4P8;1}p*A>SIrQ z71u|^=ji;l$@sd&q2^`Wt+W&;$WTt@v$gvrvQGv6@2|CFU=hOzR1bg8B4ii}WHj67 zAkGi~Ih-}`20R)1{X-i?*Q?OJraGk3L}QkAdulTBe}CV3K{hh(B%5Pz;C2FXbAK8n zXrI`TP5vLs?;Op~$QRZf)S%rT=-*HKf9$jEp_y~5YCEroHjcR8a%3^tsj6lYmalhQ zY&6yVc;mmlg>|#6rYkeqbp3_$dQp#de8NFDi7ES(EB`KntWEEeFKd}jW=w606P|VK z&Rh8~BJ$>>@4sKk%133mblI{uNzKS69&GD@<41xi{B8HgjpDF`Wtv_mVPJd78{*Cx zme`L*R+)yEPdJpThcEj{wYx?pDn)VC(1QKNsQ$`qeYBdx4$Hq%n0w3O{fIKtat{_^U-|qU`AXF?t-ngW{AnyM z@;>1R7Oo%v8&6BDY~J+oAxZ8WZ$PcbrsytBK)@K#t&C<`;BQ$US&X!X>M4qJLfMg( z4F^+a&HC`x!Y8;FQ@-EYPs^wM-Y0myq>~!O<_LJ=!OxRyC>Cu0ov&pOOrQ>c( za(cGq<)3}Fm)08Xz?MRwZ}h7M)RBPk9yq2@ex}{Gf2*hUa{C(7!6*BB z>K^`zc2VA9!lN1+!Kut_viitI=jPlmvl{J+f{?R6ESwcrt!jB=fIdt*Vi!6ETNehP~XP?6xq_BSA?|f zCBmH{DlZBYQBSp>t){?CEBss*a?pm8zs?khk6D^tv0QzpHkAjD+LlSs#8EeUSDmZibF#gg7B{<% zyRHYR?8OgWQId5u71M{rt=_C?GCj(4c~qI3uXshn&C5eVYfTHj9#|oz(H!}TSBr=R z$t%WN{7?;WJy?sPEGd`$4Qke+n+e5^F=4ybEK#AK zua<9_J%-J;v?f~8ky>t`a*x=*+Zsr1gIw)H5#NdOXv3c>faPT1KZT1Yl4(BemM=Ra0G?GvMNv9VV$Wd>iruHwUQN~G_ z^BX?VJ!p=QIm)*P5UJ-W^YBK&H|JjzOi^?A^6Gy=K&qCSzaVA0OwPrWgnaJ2jAQmEG+;ls&# z1I9nnewhhAylc_n7UNI?huo@Q3LHQ4saYfmuZr@3sTs|L#;L-@GQks6&^^IbkRk?! z{M+|O^U?EOoc4_mPf4S4#tukyRBUEcI4)$ENruR6g^8br!uVREWCRS} zU};C(+LsIG1eoucGK2E+wPZvzB*(#HlVI;8i~wDnXtDrN3B>TPKcp}hS}+=Q2(R$J zfE?qkpW`gb=}+%XI69WrNJqXmrt(w%GIdnk9gGKw!$gdoRaQI>llcT42<8ylOYzXX0%pkGZ ziD4?j4Y^)2z!EJxV&>O{$*SKF^yJ6N#nE^9R>B{xzNSiq5l}Rh@~Klia8awU7s4Fn zF7U7^#18yd6F(eF!u7>GXPx0?#FUSG^WGHw4m_yhe-A3C3`=!ojfCi-yQm6fYC6FQ zGrf(ey7$J%kQ5py<$b%hAtgcs-Hn71lC+La=2S`?!XV;&0F)Gh^MgLAlHmnr9TDw8 zJt@41u)G}{`bzBM_QcY2~PSTDc$JYZk;_qCvX%iq7=V#u8@E0ppq zgeE%}txpWQIfP*Jy)7@VUJ?82acyP!{5C*BubN8AtWONUr3B$2wp2<`&<~ClRCG@4 z;t2f_A56-(~ zcqefqBk`d6|G1u@>gsE;`d^)S_74j%j%_eu;A`=w_u+rXak;=RPPLP5-A>P-k4cq` zkGB9Id4~;W&jZF#x=SqyX-j}B=oSn-bYV*13 z7Pc$hlb>bWzTW=PRMDEgU%s?w;f>+(3#57l>?=DmIsM+YW6KIe+(X=i(0)=zDhDhl z2M}l!ZjhX}Wqz|`ujAXJmD4Il2Blo+9h#;0Ry-)i9*X=y4E(6J0;5N(G5wyJj$el}n)B$!>YlA%Fw+ zR`kr&Bcw%-QGMtf(Ni;Bu~ByI^@15{F5uj8wFGXe83?&JbpLjeH>K-(=^6Z zZP_h@Te;g3=8i$a1U%U$;{l@ZX_r|v`loOLkp>77G!3VrmEPzrFtf9l06Ld(pL}`D zeF|hE8PN17=mL+*{{Fw^5;hq#;ZsN@qI8X1w$vUq#?`sppWlhdhgaaGb0?gc=PfF~ zy;0iyAVaG`VdW&0?bj%Y-t^ve%2|xm5p==SO4Mys{K>*x#}B2+QF+%$kLzFA^_0JA z0<$Xy=RbSTIKVS81WzmRU-#SyxZHKDiT1?bB;~bllm%6rwQIX%G+)ja)BFwjd_lL^ zqNx;AkIxQM`c(}$Uo2HE3`)vp9CaMo+~x*;bt1V1;tGSf zoNc<~FmJvS|H)sR-%|v?EP%Zi$?nU%`qEyx397q=FZvayJleM9Qtew zX;y2Kx(Bd$^j{>jI&oJnF0zlv?TKkO`0{YwksW27j`K`>T;8q6AJwmOKChG@N8=UO zXu63?k2;6p%aYwbxyrm3dR&jP&ahp3hcnmm+%_ZhAV6}xYqJ0r2mFu-SDFgSH94YB zh^u6QfEk}jH3<)oNnk2elg(}O`_UN4xuYtxJrU$|_PgX>E8dhx~8mCwse`m^zq5Ncv!QE+Mf3 znfw+s6M+?_SX6N$r7Q)C9R~KCREz!Hbbb=c(X}tF&I$^7GmT_16g(J;*FyHhO*JG! z>d}fDfmkve3=xX#8-rH8?krs9IYZR$1|ds3U&DtJfV_@g2;1-CCs@ZjucCgUXzPzF z*=ovfgO23U-rGTYxL7VtkF~SLa7#T=W}_$l7)2T3OX2arn(B@H3=@}P1S0OLRRQVA zrX(9M*^zz>jvH9V-RVO}gV2tkz%fu-tykb^3lbUtJo~M z-;kqwt>F?MeNH=L%gpbW?1VC3NPo$siqJhbe)7%RkW0Kh(FJDn%$bna&Xr`UAQ3*Y5+8MEVVQP?duik`QA znf2S>O;+SdsYJn%`Oj;uVO%e5pL<}05X~7~p-#n0p5m0qyInH>j|SxI#XI1xi(%(l z{XULc;}98-I20PEb9M~`!n@r5!o@1@PKV3Qts3X8(1{w`18fFo3ibbX(6+T4bhF<& zpSGPmlWIqPnEfwk(&>)f7h+VLuvEX?sCb)y-f{VC`a6PAcX2h*e9%C%tWARPNmO#D zt9;bG4SmOOupRH{x4U6>)P;g>3O`!ut%GJU?dTC))v}(|(;T{fiq*eZ>zxRrJZDt| zypCwI#{w@E4>+-G=}e@uMvu<~qQyHsvCt@s{i0JZ3c=_3Z6`QB`K3sxr#k*>r+eN(R;J7XMRz z%2yyF1RjVDU5`;#R;rjHOa?MevWc%Kc&Z(z9`?jjwK`gzG5DIsJBjELb6Qrujb~El z>7#qLg#8AgN!vEdkUr^a%SO!f+kAJ=iuf9K9DJG%i1gD@yuOuD3Thyz%cHR$L1i|v z5bch+SFio?_TIPfEsKHeE{g(qrn>^TyjS;NQb0gJ_-j7iQ=1oioyfii(bzH0Y8iY` z@c#W*yiFI<^sj(PzJk;#)fgEusZDv<_RK775oPy5X`_Sl`a&OdCy}xlZ zC!=RK?z5+!Bh=Whh(_~?9!Ku70{7*2vy(;N)0&@rb6_-of5olJ<~Yoi6GBaFoc{ra;` ziabGOz(EN88cOO^IG0JGLa`0E3_tg?a(i+59fP7X>p$`4$b@dp&tdgjrfkc-u7PQm z(o>&yXTGJ?tndI-b$**$kz1JCJ zep!$vxH0lpSLi}mT;tL+UZDBq9g374=L81xbui}Q6Tl_2SD-Ve3Z=EKs&4<-e0i(p zW6^8zvPafkULMM^MZ|Vvg_IT7cF;%#{@#-0*I-!>!UyEc3Vd=3(ODxSe}EQ4EcZH$ z5EAp5inFYA%5I_fc-P&T^`*)@0lTNN&0dUo?ANE34U0I>ZxamDoqxdg9lQ~PVfC2P zzuX!75hPV!{|Tf)URP@|=K^ksDX>{BxlHtt&=I$Q-|)iRNr*@CV49qdyf7#fLD!2e zO|544U^?AFNflr_q`!WC&2j~WGaEd3dsnj{rmHO1Cr+ka#y(JP*Byg7!8u$#a}YMab=5@+lriRZS4T|&-@a*Tt(lkjUcdiUZ7_F8jWJrP zZZxi$RwTI8>%)Op1U>x=z=(B&Q4ItRv-n`xvl+)#*CfEKF*SE%XRxvo^xaL$u#j@Ss2AtA`AFhOT8m(u!$k2l*c zcSZDjRQTR73)^*|ZHYvG>PyWnZAEL5hb#X9Ap}G~s{vW<^kjYBeD_^vGS&m|i_v)i zqo+|aWAkWVj*BFZ5y1_-qTQtT0lD$7V6L&lM@9D32KQ#0saMV4>WQgg`zFTX*q0B!8 zP8-rMxq?@Jl}i}%X77KlEq9|gFuePDa|7pzHZ1LoCSg`0`Yuj^dIf7o1^mIUAGKxE z`hbPeM(O~Rl~s8lLPj7Yr}T`St$%R=o>d?4F37Fx#-u@+QHf7*|i$*>0=z|8kYG?6Ghs#0F9f{B|6Aly*1VYsz!xm8LX(?!+nPUdHl+2jK zM1$%~TT?)PwiUMvJ;E%E+$wxksM61lvA26E`deMd?-fO{&g(=@=vat}#!3gANRrbJ zjYwMp{x~)vx8zX&Ll_V{zKbTH`#Kj%T zr!9wG(PbbNsN@(S<4(I|!_=xO$9*cLex$^M46BKCvqrs7rt{R?HcrqJ9fQJBZKvbA zOLTp|hk*73M_osTtY?Z5TL6Bsfa@~B$aNjC1K&Fps2aPX7iRN_DsT?v)paQX-xIwK zKSvus04QM#&=TepK}?f2jZnL@R@A@PG#3dgdk=jmkcuA6jj8q!g80p&qMj6$0fU{t zYRA$*2eixgrs^wVlfLlKGMqin6RbHaOqZD6sUc@PhJ|IvBO*7K5tawM_xBxNUvZ5{ z*;t3^!gXYb&i%DsT!Sfc(bVT`JCpUkHvIZFAhvu1OUBH}(>m7H*3sLO3znh3N>_tN z|02#=>8mBqF`h7_&t2;f_+yFOVI)AYBeKgxXouToUNo-e496PU1ig&y|6lAt?HKr&!$wM9XioS6XR}?>271#`90f{b54y< z0S_(*c{>!xW@+_UKqU1?^cdBz7o4OvhiXbar0jm2hP8EqJ|4#Q-x$khVbk#Po!`xy zqDW0`USo!ptR&1?l6zGZJ$oaa!oBr@Cy${8FKK$}R5?nUFd}A}hKplc{}A^R>W}c} zi2UI+3EEaDi1?ByT&gIHT+Y0@GnntKlyXu`P4n*->{F3m%)+~?00t69WYiiU(Suc_rrSVEe|tY z2V(SkxKWBF&uMvX%Eh8e_Av6Ab9h0(`DzZ0DGuy4=N-xo4TKLO8r4L`fp1W7dzQVT3Xsw7-R!Q>GWvKH}yjlYS(HzZ_IO-|%3 z9D>#-CyG3H%+#VGzQi&GU%|8006r?15iq-g!BPh$mQ;u|t02jM@%u_+H zWS*Yf+Ib3?BxZvy^@bmXCMtW0&W(TcPRJOEj4m@X?|1e1_*j>{EE*L~)wA*t_M>HU zd;-RZmoWLQmLKpw*sv7%Vgzf?T%Fup^>q~IVadIo?I%Ke#&}swlIx4p3^P8{!{7`f ztN(OdlbXTkr6SEr=%`HI%;8Q!JxxJ5Hy{4sv0F{j3AtqBpEO^QHR#BRZ?H8MhOiC9 ztnlNd?+=54&*kxp894bP5XX!<-H}b}WS?)#?TbQVq<{Gk0{?0pwduy7>S-yk>K0G- zDlII{2a`~IP9D?IuOcukE#e5FUEg^er8D-0fd-=bVpJ8jkcaYa#T zt_u27%i<{6YY5{gFy}lv*%Ul?1zK9OS$=b1g$ciLT;)_!e^eP|Tz&p%lpM+)HQQ8E zq#Do6vq=Oavs;m%+QIpQOc8>B5v^6vYqm$%ErGY6G`c)*Jhaxa5vM-v zHa$6|fuW28E6l&VnO>jdAQ{>|HD49nL9!15#%)(L#Vv4we zWL9!Ugm?kAa&4a6`ReT#DSbjTJ^k`_HH%lysIIplyl!XfrFU-m6=7`S{CwxNWNjJ8 zrTC}i_5l)U`_nrQR9DR^_DME;o4ngRW+K+kW;JAWxYJJ!v&7KbcnJOoTx@I+OI-)N z#?^0@zaa;4w6WE?!=>HfDWh_rZjoUPhUh$2yn+}RZH7JQ1`?lxB$w8oANzU*vfU#s zjGW2(cv>;d)u5fc&Wl#w$I_n8fTF7#>h;b{@tU33xjN3&O=`HX>wla2X#KNGU*IM) zpAkn;LT)=0eb3kk7bRW$>bOnTRpgXJo?<*^h|Tb-30v^(odi4LuP;VMaY~(Esf
#n2&ly^+1vjA@iD#I8ifz~ls{BjO!GGW3wdKqnYNjM5 zPqTuYjsyb^Z<{_;ps%_uLeaIBc&4f6R?hC0sQHf=YYvp7?-M z(gpq2`FQ5CrI*UozPC!jzedd=AR$C|Z^$&_r*|tg7BDGUla5Qs$sD9IcEuZ=hQT$t z2o7Gd$NbR3JQIvk#zQT`K^|DC0``Ekw6vDLDXK^1YQZ~x=C@;J=lJ>JjNZH@qzgBa z@D&kd1Hiyj$Yan0HBg#BycW(9(2z44TdWnbuKsBpQkzt0>%F#ShtIl(gCG2NlIvsc(76^U zVC2YYT8pGecJY`a$uttKa#?M!DYstdP8%gWf^wo*H`Eg;ZXDMB~ zRm>N~X*f2)N$yRrLa*$5b4Iem!jDEKA~d#cSmlkdZTC~JX-g~0@br`J=t^b5bv?l} z*E4E%i&VE|F*ZA1yqGml{@qJ)MwXxW8#8bVk)0}I<}v^ze$arM$`=TTEd7JXDjtXJ9MC@} z%br8#;uT19NM{|HCUrgp4hM14h|RG@x%9BVXn{2)5&98+0!{&aJU?hb9-*~^GT6#= z{KW*1DC1?ctEtgh!6G9z^$1m*NE%6bAP6lkKKcQGFX~~~3b+_**Ur!nS4C18s_bPp z%=a)BDO;PiLd&*5qI`?pd2u!I9qER)8a0B6zv|EW2G87D7VdFkcgZ@by|kKZAF(g_ z$ig>JRIp@9wx4D_<+yOA5{# zH*Qs!h&cC+y9Ul}b-%C4vqAOX!S#vt{a4?aJWX~KGK*$hvS-e)zF=$m*ru7-n!X}4 zW2U!XDhvJQpz}MnSCrgEYVX1Wn76mr)%8u`JoF>)D=HH6*-(*m;4mg3Q{jVO72)Z)#j{IDvPJ^6e_^4jM!66tuLk$n#PG(RA3Tvncl{nvqF@f3z2 z#Elh3;9R?jZt7Y#D}?@aN@`Xfhv_2KaCKLsxWHHuFDxxD*WOa~b->!T5-i|yhW5No z>U5v_>`ljA->MuuI4XG1jmJt&Rn;=Ie`wFxas%f3)RBj!gl6Q^aqSQel z=b@wG-m@JHtH{n4V}~;UxH`jV5D}%VRaVN z(9j@lZ}Rc8v$O5rzvF%jt3Qxj0k@|@V16fl_7(H0zQ->!*9~{v?CBl}oc3)QToJ3Pg%iFByO9NXDVma=(GO6?Av&02E zyKEh2CZ2vVHpX$5eK*TIT}$w5_PR&;O5?CHRf2xq-v8v;P)|>=*SF;k1JEtJSU@PB zl8TP}s6XtAP(2mb$g}Mx$}tNRI}3~^drzKokZsXZ4ayDXEy00oFcKTUsmUoIAh1GQ zTs+xK>FxKy!PbKn?jJq-?BCc1@p{nZ*R-@KEL_svD;XRR@af~bcbg<-K>tS z;W^5D!22(QoqR3Ls|C~y7R+b)%(WN>_nL+1QONMQ=b24>yu42%X_)Vu8g9Qr zc4MjdI%V?jHlfQ+OIK-51;4#9w1dly*~+DBKOcJR02HND=!| zM$p$A-`~BY?8aTy9%)%3vWwvrt#Uqm#g4b+xTHRBQVn##mg;;2AbkamH(fg zRngok9rE7ql#@CRc zEcq)rhCP~fo-O`f;Pjsd%ky|tpwV^Z)}bkXK=}hx}Wm*m#+NxfyOImWRz9ZDDrwEn|;LtWO{v`EG~J?us@5P znfbnOk=s1Q;JENZiItBwzBn$-xp*!2>Hd5Ad$rZ83}m7K=$=i6Sqh3DvTdWr%? zu*!4Zi{keq)|3mKvYI!DlMQ%aJQSxdmDdkqFe?Majq+W)^6JOISBp=5@7`{|FSS25 zUH!s>`>k2{S^Y(=r$E_gO_p)O(b&?m%F4=H2C9v|!2S*)0pQrU@j%`4V`@($neKCL zq6I@FKFe()X@5|RI%MM%b7~b`IVm2u!o@v{uOTI=mu7fjlReM#t(>3FrswIr(5Y}i zE{AbRY+t{Az4+TQzweXUU7Z2ir@xkNg2weGlvp25B8AmTH%RmsESskcK8xHCsL-M0 zy14VTTeZ`7m0!1Bb@#^8G=-SjvraCquCm|>8O%UU+$H3>N>dum3Cvxy~4oPK~34pNM0K4}lQ z-}uS=XI1aj&Slu!%>8@^`Lk{G^w(KIGFAQ7+4;nA+unQUAS9-6Q#l)TYv1^}`oF(u zr9G|`Q?x|%=8c2*_Xl@NYRHdViE-rF`wQZ?9}kh6g;8=4Kt6K*dm6q)C%1d6zbL%> zVc)OWfwbBVtki;C4Bx*0`0?D4bFY0g_?l-Z+FEiNUyUoH1{)M~Red+IPPFZ+i zvW~Y#oagbyLqXD%D^C-?4Q&Z@<@j>=PyhVsq{JAdTb~lOW#uL+Z)wWH-Q$V()@oYX z(SD*;=BLDKSH^CwrZT*|^S}kN;#j=@TeDuSb8&lAdVRcmwtAOt@mqbBv6xkQ`f}-` z1H7u?TU3uK?bF=$EK=R}j6}HoK21j&JqB;BD!fDBp?_cPuGgf%m1+CS0gjZXD|~)x zZrsPcmo4I+@?^BitCQFEz829BieX7gN+K#`11Tw~*|vo_F1RE4fim+n^0?1n>sw!9 zJW>ttD|!aaW%{L?_^9-rI2zrH{(R;G&M9UN4nI^Xo5aLcBUD|!ew{wbxnrsP_!lh( z1_tkVi*J{QgMxyHD<35vi4#V(l%MJ)>_G^JSSYJDY&ag%si>l~Z9P9fKP4Y%lqhPt z`>C6F#Qgue4|%Rp@;-Y`$nIw5qOje0ug2{}c}0D(qVW4`;kRqWcvIp&Qxw-j1We@P zpaf7TXs*WE=oE^e@Id#-viSA}e!zXN*DEjc=Blj(OYqhulHo#N`3`8o*nq#UFDi)* zuoPKB$%jGL2+*$Z%6)2n`!`dRgS%Jv-e0rl#$%?Y?UqX0!Xv75G}qo2-^7#R=lgJx zb)`8~ry$6wpyB7utH5|;3#F1ur01+H>#75kk(CmU1!grW_ZhEKdiwR*v)Z%uu;f00 z@n4TVZKyo04}fI^nUNY8%=aGGo>ihha$+EYA=7Dyleo4)m(B_F=<1Uvn=#$(22xjS zy|Q(_?gzrx4@NGxb6gtSHe4+t~cEHEa)jPvhlu37j={HLIIDy6kp{>-N-RVnVx z8$AxUcF1yRQ{`+e8{Grxx@ej~VpEp92t7SLjG7FH{fzFOy6=fqwUs4NB`J(bN=krN zXegv9hMfO>W21~lHt2y*pj;-_GK!dhL9kO1Hb&>3FpCQqO?^gUHVQs?_jk;O{K?g~ zMY$aLH1U+vL!;GfSib|O)G|5y^Zl)N zz5l(Rwaz+q4xi8Sd7k^e?(5onU;9EzzVgUO#=L^OJf&LcVKrC--v(7{91pt03|7kV1PnEgL8ggaQ+$uBlV|;D_|$k)7N(i%ls(Xhf_2s0-I*M z5ev?b7qsq$q)2}I_C#pAA;D!>0FFo7%|$_4-vga|73vSNJxS&K`SWKo?*hFg*WSH* zr)Gt8%?fWvW{wfTI=oCd0I8^hH>F6AkE65mGeB;Oe`e~rOQI`xCHE4>O^+=$>E31X!!O7{)%GEtKf{lytNef$WRHdR(c$3+a?qv>*w7+C6j6`EIfS8Knbr&`TP!R zt8H=inHJexy1KgYr-lsKPZqR4RQ8(l52)(yw$uqb`)>6e1Ekl_QQhg-z7RitoAO7g zvU2qJ8$b>;s`A^m1-yE-E8}+%>L92m(Drh7c_mDGBSovQfHT`CuzH_$bacF{?}U_G zM z6B~zqDx%=1ymQXc@gb@b&UqyKI{~a4Qf%Niie47)y#eU8mU6lINv@P0i0taY5?%|D ztp4SZnmjZlYa}mgKl|?TVAT0k1s-8YfP8Hlzx!ieh+bcS#GoMpX$^?$0C9i81>Z$y zHsu2q-cbOj3{`N~peGv_Wa?t#M1Y?n1s-k;9YtgxFc4aVRvc~Uv`KUa00U5g9<3cT z)KAFhzt40yOjVYng&QD)&x;otsMO&7$_3NX4S1`EaQN8w8<55Fg@uK^9F<4o(H5s| zXt=z5Ze%0+_18hzG1{7~4V{i&rwiuG5e$jE6C$+0wr#5+?BznZW2SU=?!26xo!!PR zi5lk_rmIktx3@Qxl-uFT=8x|VK%JZPw%m}JOU9!%*o`My) zh>g;RMSAFwqrleHOG(8_NWH$Hqp#0gME*=^`|LG-%Fdr88$#X7y|hkM#}2pIhC$os zJ*T!0N60$W02NvxF|pcjuV-)v+Xs%H9%tuADT9^9IegKqyHie%HVHS_P0KMl&#_l+ zUo4*EP{*BlZb$~)%YVTU$gLgq|MqU3*l*v?Hhl`w=5-TlfLL``BfuCM)%_VpyGdV2 z_ht@Fb|}!duI(qNPM*qa+A>NIZq8#K680UP61Tc4j7x;jKNL;C$}ThZz#tqMDERmf~OL>H@|LJ+jr#QGIrfh zmQ^D}L*_+MuwB~%pQxDZ3)r<}Drw*k(|I%ggxty<?W!(_7e*L!Tgh||Omt65EDN{rB&v#B93A}?A3}(PIGF`XjT$RTBm@d+Y2yLW5C;sL&2*YMW2X1XpcyL$C1Ed`%sgTpx~K9Z3)J{y{N1_f;AA0Ua)&!kTN>`nmdQYu?G-K@(tnidqB8S#<3GQ z-pfi!u@TGf**OSMf^pCoE6JJGDXrc2YfjU$T^c;`*zO6mf30k9H4LTmsf?Ws4K=Q7 zi=H2w7#bNl)vmv5mw5her@oa*gnIbgdSWXBXT#g3rkpcF`T(Jr07`>GlXMONM#gl* zl|EP)Wt6NbmGl345G$jRfZ#TMK?@f_dC!BtT^!d!&L7GLuGd6FoE*A7{Vq~pAWoN` z9wv*+myNR_7+dZhQpX<_U^Kmo#eE{qZVgN}SaKz}Uc_!TdrMg2!}NN+w}ol@PQ|Q% zqb*3iK8TZl%$ys3%K$?0nbmcrtB^O+_H%62v^`PPQ*s{ea*x zS*>IJh7GZWN{Wi7Z-y5@$dP~?<K>np*`H4E^`MV9X zw38GWva~Pr8Ddbh*WRs ztt2Ktw+c7xioP+yct*21ecuMkxQQ=v(BbQl_?Q>Y2Q_W6+uP37=9|B}($^f}an=~H zKk)<2cj)Ftx#Xr5IUqUKsq*%DLjx=22-2Lkp(`k8Nz>V*vl}-J(XvM_`9FJTD0Ts! z1(FZDu)b(0xKfF=oK@Jb+?-{~1w%86YLfdr{*-7u+CPAgx@ZS%ECf&O2!<14wHKT_ z!pH`5n~?WgXm?24Bibm*VcC#uKmdCSbrs zPm$n&^Ymco(a!9DZqd)3(5jPH%`!;ZxhXa-EbaZ+)D2GmBXR11^WZT60{d{djbpm zAIacYiqUdF7+V5c(1unmW+FShl_C|p<+y%~Y4{5sK(~}}tI%T$hr->+S1^`BxM^x$ z`vj__wFu@6H>Q7d;=s2ILUO?b79}@Y+f9MXKh65TO`S`JM=jeWlK)L&2x>PZwRf?7 z2amF>&0Usd6bOqN2IMkK6!F+0DFG5?QZb?Rj)2&RZSS94P{D&?0b@z=%UPVPaiT~UYu$PZPyA=T$k_#%pSY1 z#GQQx)V-&_pU(K^?!b}_!oq{s?lqsvIoY%xr(_bz!$DSRpmP_xQ(xSudq`WcQF8v? zo?35(zg>j9(L%b!u$aurK#jK=>#w$T{g7549G4=GFY~_t9ksqM)Nn_!RY*;DcH3HF z`b2IR!%QrG6L-fC2ii@;lom3^0KI$5klH=+{z=JLEz5DmVaTD>uU5WM89#Q3@`fJFj71AW<1?f!2<&2Dmp* z@oBI1&rG9t>o5|~^Ph`{?lui0UHGCnUtl7En(Ktv8;CB1ErY%~BNk0M{Y_;;Xqij+Ml?J7`8_YMs)0rWur`lzHN0fbC6 zy3m*L$op(}{oE72M_Dwg@;VQ}wXmLZ(7=KLhxEAFSF{o@5}X66Br16tNJude_wju< zmyvgiFfR8yn#{k9O>-xNdHn5SCQmQ6ua5=~oSaAm zWibNYEh1vzWF5yi>f)uN(2$9QKx4Rw0zT08?N)*a@CkK_jr0;XDR0|mLb1ii$GcfD zp&Uag9IF&!ku6sM1*e!%2o{oBSW;rk_aH+R_dV;P4U__}K)C_)wDDDS^F!~`DDXp=F0qJ$)7QCpFNG${-SLXW??7*hT|*N0 zthJR3t|W{>T8Wh|T#`Qz()G+~Y0UfuuLV7X_<+&ij0b?fYJ&hmZ*Wah1yOy&9q3~Qn)(7n`Le>v?POm|oR$;-(}avstvOt;b{p$5U} zJ9v4JCyUL>qGfh|!h0gpH1CS>*IV`X44ctVy`)~djY{0fUBMS~vcvIyV&Z|R1jBHT z)tQ6|_8E?C0tH=o%B_)Z3oXol%~C?gu);}WCse$&6oDN)y}TOXriC^xPSP_Ap7Aas z8hCOX>FSY+d9C~}_YU@GxP<%*`w4nDzj0O6Gy7Sy{>{>tAv-g}+0x08Nclh$1E2x( z>KQ3EZtk>WCf^QQ0~`JhtS2pw$spa?)m0lQB0P-)xh&4pSXfvff`ic0L;^%gB!X%{ zT6%vVDn330b>yOol?Rsd=bpJ;8u`!BXu&gc=E`Qf(8z?xSALndB)A^RkL)uLMQ*wB z)Vs8c5fL0@)+-5s2#ZyXbc1Hcj(z-$BT4Z90fYL7ms@EuFXYyTyLULD6of5;!U4-+qV4vXVAv%65+~*9OPh(`d z;aw!nz<0vi-PjMDN4VF57yb{<#B-6k*JU&YE?B@Y$$ zmO{F!i+6efY(nC5l+Yq@oL8#Y6M8mDv?4`(BfEcOVUIz?VNHW7J|*{ezoF*|rcN~L z*ILLcC>(HhadFY#y?ggcH4)sPxb7#?cg9OR>tGU7Nwm8@ulOkp4W1i;}e z?&+hxHKZzLKcKkUVDXJizJpG(2o-L3I>r+@wQ=?g=C z_Zs!DY?h#IoU(2{BOJ|ADo`FpoxZANe2ur4aeBG1U_$PT2aEZEk}N~#93QhlN?P3F zKi?;Gw@r$rUsdCrldxmtpkc!M1fOJS%($yRpn5uKUj%A*XyTZGnMYS)X2?S(4 z=a!0_OopneK9;a7d0@?@VxJ!O53L-!dwO9VjcQV4;s>o`!TXFtbU*$Y{`}dZ*ZyNw zb#)yT_Ubdo4Ys~1M(aUZp(RWj7i|x9?t5GM?V3B+gt@8Tk|X&~JstLsEIViCFZR`e z(o*MeTc*Or?0IQ#x5LA9iG$u71ar^07*mUwnZHB|4NFmbsGXpgjJCsQhP+}|yj`|Y zyVI|H{?Q}b;rH02LY39k8F7Bis04cvBTX>taU7S>KDbWRgpS|ilVRiM3m0PYnJz{h za}#*9M|jj`XR>6z)w!BlWon#?uwIndm}X(Odo#-hpwKjJHZ&TEjodWi^{-xi19Uj+ z0S+(y)X=|J-I=gsGCm$gfvJbnn~xeC@uqGl*cw$HYA|8Gi1tfbANGptKUVvG*QbAB zDja;_tG>no`J~Lj*AvdWoPM&Xjxq%Z^seN=6vRkSzG-H;buy}`4$iSqekcFX520R@ zD&BPW%K20ef4IyPUamdyP=!x%*-C@kY)2a*ZoT#ON1T?X0jZ;Y0_mru z_*6d}kzgvxza(U2(!1A+tzDR#x#RSeL;G*dxOy*N&bWhF)xBc%O+ksOi!-rrMqjNR z71DMQ{dSE}^&>?su$^GmDWF1Wby@{P{b){ZaF2g<*X5Q*#2s@^RlUm=*%wwBFLpGJ zOb}^yE)>>vZW^8DJ2cO&p()^df{6-9C`)Y}Ee=^0xlKT$z-*80q`Qt-Z82|o!>B;| zj+-`7x9xPp&MPIU*{FqVuzjfoE z@W9KL)#FEv8Upt*E_lrvUL5t}h>X2lSMp?fGH&DZ^u8>9%Zo~Gy}?gIPdc$${G_Nw z=c=0By@#0Q)GsKWe<(P`NC~{yWx-lkta{=WG2%4Q_#o>uTw#cMKY9m|yZ$ zg!x^6a{i=#SB`f4{h5b5lF#nu&`gidlh6$-m03{cP#c^6@Va)=^tL!jjj*Kn7XN?T9ISWC4Q}UNQA)4v5GU!LtPE>pZ$#Hp3T3XSS`n4*s@ARF3zuVQFs5Du4Od|CoDtwOr}ikVNk`56_6TFR;Vd*Z{c4SG_=}Fi`?o$#-yrq5Hq7j|GUxcM2m$HM zy(4Lv=1#tN*~6d0)2RSrlXr_ID&ep*C=6wpooo3KJ@( zWu~PBG?x1?v?wzg80dt(TU8NAePj_ZYzC=u-6-SS0S;l2`E(2BoW0GyHTH`HJh!fX z?f3=jH&iH{@vuq5jt#y&2hGxTc zV`Q1&hi}Y^-#vFf8C7i&@tp^oMR!=3g7>rzK2Cf!+#l*x+&yIJvc6BP7?z(8Rk@51=odyxMZF>^Cy1KH; z>zNGO5*r+@nfF?0T7 zD1Vt=t|1x1nws3(Q^I#eaD3jpzg}aoHRY+vyPyjkYWCE@zc`}QEEh--fRAvHl-PgN~#Vi6UW#U{bas{6W8W-NZ?(Um(fYGEBR%J*Zb zp`gUFc5Y`%$W2fSrrI#1O zMKeb0$kuW@+kfo#!^)qhZs%nwvP-=ms1Hfhn!b{r&ci$`O@%$w!fIA@GL4}QUy1Bv zH(0bk?O#H&?Nt*JJ0|0sk2|}%Y#v*%QeUR0y~Z$?#85#-%+B?5Cuvu3!@P*?4yOv* zSLBMb9^Ag+zSQzeKEvD{yK>jQVB7;0%tD; zwML#S$Tu0^gVv-sV3lp}K#=`%ThG}okMa+Ikch&J!39^K=WoG9xb66pS=3fSO7{>VEg%_$-IZIlUq(X#zrIF`Nkx@K z)V`H7a@5LUD%t7N!WuuJNLL7Fo~D28r^yVmE56sXaBt0n8T!i$$^tKYr0oz z7Fjwx|NTN<=k0T3?Zc=ITAU&WeI!vP=al{s#*N==wZ~wzF|W%@A3!s&#bp7J+G(b z4%~gYAkFFVQXhApv}LM(yUcdnS#j{)?i*shA2zVAOWMiI{}UmFWm)8t95o(6choU| zGU3qIosT`Zur@HlsS>@)aBaE{@2`7MQ+%14QiqNla)at&2(1p&g>=(?F`uDhyTL}k zXzK33)|jy6ol;x2?0a~hN8_&+Aelb>-I6wOI{DaN{JF|m-^8pZw^OrB{$a~BSI3yY z5Efkd_rb{Kc>i)Q`&zpZe72j#6OUO*#5lBtT_TK~va<4fOhP)<`XI|NMPvVG>)j47 zL_obyMomF6jH~^Vk6Rx=P?NFq^Yx9E@TPpgtAJ#1 zLODv@1?0i;6LuM>N~Fz{&%3KCC{;lsC;6 zzXOT0+rsmvO=s50EmF12;GLkE2E*|SeVRb;AA7ViAobv&u2K3lkCH81G?D}VMMrY) zqyD9(zPT$wjDP^T|L{B{TF;xCR|1gHf~I|V8h~RjOkx?R)18mlffeR*uUof{4oy=& zP;P-Gl|mm+Q~B+F=;BylLsboS8`c!3(2KTCL17iE%1R>Vrh%cFWL$KlfKxuN9jtdg~w7Lf>-nfQbbt1e++VARyyyKg}IH8ki7v! zg;vHtp9YX?@ffsD`>$@L|8h}C_wp6CTVt)fMqBRXk|vDv@CG{*-$M6Ay?#ZoR`@-U zT6Zdsax9U&|K%@8k}(3KG_>X~F}}GOE@a}yx%8`ptB!i;hTRAYyU^kfAq^S=mIB)) zW3^eteR!1IIUvSjpfGw+szEui5dwuhd#bT^axmUOaUOmlY@p9zya=yaTD$iA%^pFp z+Ee`XtqHK)t0`zH>9J5BVoW?yzM-w4;h--@)o*p5{T!D)fkKdIg~*I<((OTxWC#pC zZg;8osHv%`K+{nUygwA@F}Xej59@h#H4|8ZOL=*DZL?sveW0iB1)+Fs>JZw-z+4k+ zwFi}`b!@u&O|o1rV9Z|WFyRuee5z=wd025&$39G`7tM5)xKgK| z-<^Q5C4!4Q*5Qqb(0Qy0AsHBP^V)cFw`Q&>xM7=85VOMhN)QP2nQDz6Xp$j zuH%J#0~6SMAbabD1;Y-q8F@~UMF@_YhARIxV;aP(w9PUWjbVx4#wi~Ri~z{Hu3@2b z5>5y~keGbj{t>G+2XYze&-sAZqd33)+=wqu!l#Xm>`=IA5k?&m}w1ue)uv>>~+ z!=;#;7->@k{~(QBQ)3e_i~y^IMi3O8o}QkLWMWf{cMG`$1iGn$oFw#v=;-KxieV}v z7_j9)$d!!L=2JyAxt*1DbvqweJ}H+K7heLo7;`-I$s2jErhSKg57ve+AXQ-z&`3!T z*+*p>Y~N%U^?yqchqSmo3>U{a7gr6nu*Zi`wvJLY{#8OYrFEk3zR@cOoZ%B>EDbh`qP^6PYixjbkp+juX= z%QR^6T|@Om9<&gZVs&tE2%P8PSuo|@tfZvWP>u)-1%<1znDQZKM1P7*f(squ{z!(` zVwFCYlc{Ss`)F9Lq8b6zD|q!?vSrdPER_jtgP&7R-MxmEZ8WKZla@91uq`Z zB?qA~^`^|Ncjs(zNy)9k3Cr!m+D8J*N{Eu`+_pF(H+zI62v3 zR-5?Vokbw2^9NhxISeV%fQyC}LOSqw1I>ePRv+EJwOGsO>+>X*zX_aS@a4;NuqX;C z>aL&5&4*wIz9i)?#LdAcGd=EsS@BW#U+C_or|=nxZ`KG1KQ>4Z(YrRM#GGYhJ2U-E zD|Db<#ufR?&IoNSEv;*F#=0xAj5eC&pSX8ynMNg{)N69hn0y8meh{!?|KBpoC=c?7 zv!JShY(Qyl5jr2dTBbICEf-gm!v%ES?rO3b%*=2aZ{Mux3*f3OKTc?b>PcN8y5U82TwSUDT5bzVulOFfnI&NIX ztEYqyZ6vU)KOX)kfsLHpq>F3_rrxV@MnY=Cf;W#7jzt1*uukEo#EO_rM?uv_OF>6# z^hqQL%O$2TR>t;N;cJv4i-RWd3$ekCe?&j~j-)HzhdpW9E**XSDrC@`p%B1ub>c^> zhL)Jd)IEHe=B1oy^VD&|82hDATY_3zX**K$Z0^_h{_82fD&5ekTw0^R)<*ZY1UMD% zJ$JHc1{8CQ!w#pNC?**AGu|}9g(A-mv$>Y?+nSRY(TfF6N5SRt*A7F;{cwZZ)d8Tl z@Vz8duxLiZO!2FURxMmlEYJ5cpmDMcCCj0)jlLC#QIxerq5aABR4g_AEnAw71`(l& zYRl125KYO9V|v@rt`3DO>vm%B-T#piNj!uw-@xq*(kzmYBRk;6j5wsaS3%5Sk{aE% zxMi??u7;1yGRWjeo(iF7#rc4QiW6I(o!I)(w0dmE+~5bxPA2wWsXdFV|Ba~kkm-@x z@{=exdeOphqN_xPfX~>A?@!Nz_at=b`&^sF)L{r_fWb?56k?%}7EFBVB&=cuvF}W> zT0S;ym4UVer;!%aKvmcIu4DAx`i5_Y6h!gYKo-;1tbQ7{kNNA=)McohAKVusglHqQI!%4t zO_F`|eruyqi>T(&8s1+Mx{mX=GI}wO*J~g=2fj0Ut$59!H~Q(}FK@{)Ztz{>nT9O% zv|CNGTNht`y4P~ttVWptrNs~Y48R=D>`ZM6ep$}zzVgGZnz?_)@fP_{1<2{7;RGe5 zKN{l=DJdlkW)sJl262*ed|83#Esi#GR6#B%E@Xx!GQ_6_lLVHA!0E;T?%82eMny( ztW>!3Y>tdkNcjbwm}ZD654LB$!qp!R_u1GZWjR&TG7r=EzN?~TjzlNljrQ83G#bnT z5D-_Qw3+I9RP+sUDz$r+tOC9$g0!2JT!5qc&4HKFN<0_J2cku^jFi4nhDM7REJ5|bNJV27F0^8Yn-s6r z{Owm2j7_(Ayp41-0^Bf_I9A^mk0|h}XxUYT1pmchoXO_65GhE5;KZM=vpK6-PA*t$ zO4W&H?b^m{OBEbn6BoaVj6zG`hXrcf`5P!oKM*=?*kbV4Nt5yuar0?qWim&ekg4d% zgc5t3U#G1V!cb1luUoQqEEg_ZAhkV`y8_Kq8rD{;|Dv2?Vkl&xgruX;NASQ|cK-)J zREq%5NGqv05BLYPp?^mLSy`->JsCwpfNcCOfm-penEPjcZejSU5hN_Eo9iy*=z_4-ypMZ_p+qO^o8+xZo z9+YQ(-Zu2kyt!F8y|i9I6^A4Qa#yb>hJNLrUz&y16h1Ai-472Px|MBXz=3c=?aUcGi3|9}R&E45C5)9^4Pm zUlxcVT9^c}3vy-TvwiSP|4}6>X!9KOO4gvM{p4q}Zmj5*>D0Te@FG9-$ps@i_NU1b z%e+mWiT0FZ?Q8# zS{3g}_e0gKIW>`_;IuCsJ+k1sGO+sWczg5rS`Z~mZ}hKRyLLS9yr-~jcQ+)|mVSLk z5Y_Gme6Tdb z)o^e*9JHBq(Ad}IpJ;rB1wXW^8u-pG5MfhYtvFZTVtk%J!yNAL5A#hh5?v){Z&p4@ zgZ8s-$Y>>tDIG^0ks-2q*LQVzna;yYBj&<)u=r9i#hHY)`-Nk2)7ule% z(+ND<3Cs|ME8{)<5->J$S5R)$!-aVmYGW*$O8W*kZZwz?6b)bpqx6QJ@z!iU*qZQQ zzn~^ULh}-pDZxdEy3f_+djgsLf|gn0|Bt~m=?AlUiH|9y_~?JR4n5l8AOZp=W22Et z$#`bYND~ln&9~2r;Jj?_aKXm>8;a z1kLosrX30G;5G|m$)V_><0$NbEUorIVlR!Pg5b~3dwYN%6P+(wFT-(LkWiwOfN32| zrDD5apRKp|g%1mu>}S!{0#z`vI=fd(FiCOqlKj0k+95nIcguC{KU|DRQNDNlntz1J z2#sL!6?Y&1>~tpo2u}R1+=y05wd(z8*@I?gxBcS7BM_oRn{g`MoZ}^CgGe~5091b< zBR9mlaUv?#g^#~%NAua{2Hw?VO4)&rNQG+($`POx+${%eFviU&2IuF;Lqo&7{620_ zgPzG!f$MUJG`yyZUIKYBSdZ8-(gk5=AkQc;{#`hFvp%fC?S5Ub6yD`pAv`DTtZz&nTZ2wd5EUo zJ){#~(FrRLyt23mpH;rB+8MCW(CRf^=!Yonsy}ehoLHy$2M03{+oM;vWHxrsU`jE; zU60jutvUs;sO2jP59iDd5C)hULEnRhsJmzZbSqSWaVxa*^c5M|8x3Nr^;T(0g)AKY!#@FmsEh?J@bm|E4o_AC}4^}=kS>=G3$8PcDf8*2}CXL z12m(=OR)4&wW11wPa+TxxXelerdRA>Bon+*EWsWpGvCt1Kq#y1ToF zL^Tb+GDrb(kA4Hv^8?ScTMi!BL9W}Eyp?G+vy!mf<}`z6oH+<|vBa+XSe~)mG%>+C zb?Q|4q*(~^#L})P1Sr~=>J)(dZZ|RZv*>1?B`e7P#Xe7-s9;^3DfNndtp#->h1hAo zL37jR%?*3dyF+>&vBG;{({R@G0bs_KuTUf}?ke|>PzEMl7*>oCXXc@!o6JihfWJut zIky#2XBXYR^&b;Te-7*7y1@}Ny_7d#UyWLvc`Z{97{6`f{YBVD|0aykon`;P*p^4&56HsTs++5jECd zmztbBc&G@b3_PQ#8%7G_#^k!L^Co0~g9djJi{cBsUra|Oci+CI)7IxGpGjYZll%o7Cem;V z?~MXxiiEcn8B*?ul}Nkdqo84l2+co9@RgkU;j=AF?!p@|Hwy%T`M22@kt3TZe8X5; z&%v|XT5l+LpHC;_#jbxy603ckJBDDJIXL$GA;$oMqQy=hobibj(x1b4d^(OK65v7= z^c%}*6-@awQ3mT4Zxi70YB9KX0#@f(zg&)UkaQfk777cNV^~K6p`<7@Z2VGVl{r69 z!;Zpr39;S_IJ=fB^zDudFww?K=SVW0rJ3h7GlR~qZ<}ZwqcQ{#8}J17zZPv+5M>y&0Ru}T#KsNi_TPaD z>m-ur@^faAT%-?rS~=e}k&bim z+$4A?D__0JJrxfu?!*+^85nuqbr~3!9?S;*A`Rbmn zzljgYZ9Dx6lcv_#Kcb1M)5I}h3;{WL`tgHJZ{Gs{r4V{(dY&@zoi#Pm&?|boMLq7% zE%Db;XaWwze?~;y_3<{Au*Vx-famGFiQ@NsPWx;Ggp)LwZdXFwwc( z8Ef|KTxYN2q30Sluk%8qFe}dNSbo$Hls>flN=k8H*Gnai2lb-unn`+S^-G6m=l0B_ zD4-$p6$?&T(JZq1s|9FwHkI`FiFN{u>pL~{v=HU+X#8Y;Hscij)RfAKF03TnZDc){ zNUl)Ac%6ImB}9R~iHV82hnfS@e>Z?&pD_AHq(3!{*hz~r{4ji)JQwQ$+ z{&_q-R!&zVK%m#Ky~84`ff* z%!~&|+)=C+s^x+C&Z9>Kk85dfGLKv?9V*5>j!#?G{ytzs**FC`k zNP6b<($!l<&Xx*>g&Riy6So8{&Vu&Nv+I!kTrw)T@V%cEhWIzEBm=|&DR=_K0BJg8 z;tHR4DO|>}`r9udKp}3aA=B_n|A~P>q$v$oT47phco(0(e9fAjFvvqi&X>2d+KP4r* zC^09ffg`O_d&=f2tHGbYehtI768CYFiy|@I{z&(7XNyp`o9M0}G#}brw1J8u!b&8) zY=7F`i^R|x6h3W7X~c#QH}BEYvTMl5Oyq?>3V(x=BnB*8Vw~)v2GbOPKd-fZ{t+}t zLH~Q%Xs#ealDTam(wo4%*ftK=$!nD9{@nwj!L$gF-{dm<{mn+yYi`TwN;cp|<#AsB zA+>}(`>o3Qf26}nTjxr%>DWX=o-OMY7OX7n>UF$*OXWg&cE3nd(B@a@cpe-YDx%Z* zc1}_7L&D$g_z0~n6o|@+QF)C3G8hFZG1rZe(L)-w>1R`$eq_7pG-oU$;*B zbD-0BH@btW7(G9dYb(w}L4HAZ_il51Tv6;q*_3`0KExDA)5DJGve{(#=)VS)4=}q2 z#tUbE0eW)5Ou)xY!(&(0t42BN|L^V^VhBqOg7Om;FwTJTgTwd@Z{ex?gHz}pc9aj< z9#?+>rE%!Sir%20Aft*rl>HaxpoFp=81>OB#ggwC8k$`!RXKdtJ1C6LnPKmL_a!5} zA`8j%T5eRkB)hjo{kF{Sd8^a4LnyilV~K_7oRXAu+jU!obn;f81+Ttd8!!|2}LZ-4a@F_}n^FA^FR{ z|K!P&;*t9qw?~%t?Q5G5ek3A%#vD&Kw*RQhD{iaX`l$!+oJP-nz0)4#-kC5J-$V1n z<4mbwU(3k|PkQ17qpzYex;%2(*vt`mLFMHCR?IO;X}^*0tZXsy@gII-$uxVdeYf(} zvTqERav!VEXVTZti;0kS+xtpr;Ae$&s?9Xw4QHt~XV#n`&$7OpC9F}m5b9hFE zg8vA=TJi62@X)@wWsex5X}*e@ONmqBOR|~U$vUlVn`O~pA zyTUj$x8MF*BRB3av;PKu-r45A#i^k15uH$}NT!spgtT_^OR|LE+ z@J%ja@(|a+q0sRpQ^az7|zQZl3()sKfmvup+gPtx zW6559u{rj<)Sqvh`oDPOA91kIq*#U4z1cVAz!tx!_pSYIHV3w3I$fbPRa~BcRTg3T zUrOj76)kq5-rM`y+=0Wdf}}D2UTpvTqnEYk;Pt|j{l`Bq45w*#aA4^<>z?_Wi2BcR zcMQGXweNaC(XUt1hcDf^V_Aeib(4T zLvk*O=@g!8uba7H{`%>*2Ywjy#9MM&wj&3>FH^Dqa2~5Vhv?@2eZN`y{pX{;z2mxg zqt4#8agt;H32WKu*{P}dI?IKlrZBvr$Z%?8yswlum#lp>l3TRF+3h}unZ}FJv5Eso zf-W<$8bOU>{0k95nPC^>Rhm`hOZU7e{XdUrIRE34x^))xTT0*Carcb&f64Z0E;%=0 z4_B>Y8Rn&hLq|E-iwPrGrF`n02&l53tart}L}XhnpIra?zhm{oxr48UDq<@iTu@xv z@nqQ}grXxz$&v>A{B<^)pKCrq2A&e-T90l|w(>IF7a9NO5=KiV51cMD3c7W*Xf|`! z_4_2MlJ`8z{HoPguou5A!=w{3g#%}U#Uu{74@v)pne%s+s<#IJei2>jW4YMacH{e! zxnJ&*Nq{D1Y_lJ?#IgtYo5890Cz&Ape9*ao={^n?c8C8h1U>x$){XM3T4-a7xuO|( z)}Oh_N^yN*`ojJueCZlf=Yy}rqUu(DK*xUfi;aSY`cQr{TLmqB^XQVH{mJDR4EyIL zYV7q<;i4v&<-?LhzWOuGPWzQLQ)N~~amrQ6W7N&wXFCG?BOJ(6GFkG)hUfo&f$v7g z-mZJudIXDA=SRYSafvL%q|X0cCi#2q+W*$*K){XLw_o9W{sU`cmL{M&Gmr5CGJ_Nq zI;PC_jIwzN^7Etar#?VBd$f7a&YgMf(c4|^Lr0$wZ}wjaP={Rw9 zwX`1m7$isM1|_Anm?t)7XQsaf0N;JfcTuHYV!HA2-tmTST)mPTC)wC{U&0XOKd-?S zpqB(~)zytTlL?GF3q}FHU`Gs)K!PxM|Hx?_An1O81F+V*hQb6hb4Y?FffvzJ7zYTI4M?Y8j>(*C!%bQI2k2}8kIg_H|o z9U@$Wd45DoWzmKKZBED{7k*7#AV%|lICgK;R?Dv) zz)zQ{|L-BVB7IjUbLGK@lR}cA1sOg7+9vnk7*_5kp^T+Bsr=uPNa}QhLON>@6(Lv2 zhoy3z6~t{Fso%>j4T}ARohYuzxR6g!>H&UBz=DBDnPAXx#E}P08b1w?0$sLb(g_zA z@fyRdZf=xs{TPEnoR%KCXIbm+*>fEJ_GFkJ888KA*}iy?6ZKj>Ft(}AdY}=zA;2e7 zzNd{LE=4oxVF23-wZ|&Me?^;%iHcqWCXRcq1rF~KmSGIMGSG$NWLh1SJ2Q-$nueIo z5Wz3zI~agdf~$K2QXat3q7NnZjFrkYM1gI5a%JH`UOU)PVJPO;!AE}E9jv{Vfd4u_ zt2@&_7pwZ(Um<)7q;N5$Lzf741JSIBcC3qMUObg&2jff89l27KcIu*_xH-tBWo?I1rMe`KU#v5 z;m7YQl6{03*#nz~Xp{l%fQ@VUVqbsc+3u1lnh6+%j=KWz)BQKoEC_8eCJD;Ymgl>Wohv|w$VgmUeM)pppsxtMyRogWX% zi+AnXxFKbj=Qr4yVq#Olwcy}_5186gT2sAs+qU-m7hvrp*xInu$OEXuF~D2){bZB1 zm3x(TxJbHo@9gvZfl-L2pC;zO=A~fe{-|2Ma;1%#MeZQ-6ts~nWIVBPtzpHQ(&^QOTC8*V11OlGgu(1%l&m$$RD(*k5Rvhk< zXWg-voOKdN2pIKzbWYx*_y2xtIlrL^lA`hyde9Eo>T)Y(Xue`@ld&AFrQ2YnTI)t) zPH1fB3QZjZofWu{CNLx&gq4EenZJ9@vo;4oK&{-UlDEKjB@fdb^Po4MB50@$ys9&E zT}r!fj#Uvb1eLbZG5C66ilU&lIEFvo_do>6gL~f;_NcK9kPv%J32?yFkTWkL3Y4?y zYrtEc>HKmBRxoW)DPn$YMzafc%1%34Y{d19Qh@JeP|C_6^WF^2NTM5PnJj4-cPfOK zbM6`Q(7nCs%C86g{r$VKH?yR1zRQy5fD8GE?yIH%?D_rAd5nPicn2OA2H2W@6z z<=qM~qfs&Rd(jw)^b(TQYEJ+iIN@bmNQj$8!_ zeW_M+SMv}nDjK2Dc&H!9)S1&mz=&TpE?{$Jox}EYhM2D5@Iac3sNzw0d&(9BPH`=f-n7h(?YVh8 zs$k(Qy$;$p;Ep2glWtn{K;hiT{s$#cmDc8{M8#50@;qQ7pS;ONW3cD!wLrPnsksNa z-Tc2HqEalM5Oyo)-uJ~dPO0}H_LO1=fVZ*($AFJihE%TT*isb@E!wJ@F@Y6O``Mzv z-HPdfevuVO@67I9_e=G*YPwLB8nlr*$pZ>L>eMgqdnJ=6b&451t6XA znJ|GFURFV5Ox?XFQDe9@8!z6;rW47ADoX_b?pnpJ2b-(r>QBp>Dhcm+;dh^w+o}c5 z@zxys54~v0wPd~MXwF)BFlckLX)0HZ$6Lu7o!r+uEG^eX|ws9zQrYGj98uFRYt~2~Za~2OG|jd4X6v^h8A3Uo!fj?m*SC zyh%8nOaT*|1lcDI6$WuC9&>5f^`iuCfT*!4B8bJ(tUK_r#nb`EaR8>?owttFPhFAP zG#pw;{X=2ZOqCM5VFXxUvL-+qf(z;¯?Tr3&egWMuW7D(@~?V4`Sso>^%CjkuCjWy20L_1VCN(M>!LJ$!m_b;r7vZRLzz0VmiW?fTNws#9#tx5 z4}Dfl^QdLe*^ah;ZX0*;S8l8O?@t$g33O-}br(_I&&N#Ty|ro}e%jzg9iGWb$%T0~ zJkz2PIswV3QEk;$^+^${S4&ktxL%*?8JZm$UxvXnIr4}o)yT{iiytH!j34OTv9CJ^ z>A?8zNn|#(Jrfgq06}&Z9?5GXW08P90)c&q&L%|%4z6m94$S1n&FZ|l215d?m-EB= z2`DF5iRaA3woQQKNN(x&p!DM{+swh88w6%wlt&HxFuVcQ#kdZRC}&OUkL8hJwqh3aY@Bx>{+v694&wcJ}8!v7_>q_~;oGmN` zcY$jADjxo;%(d7|AxsEjj(&iPLr5qFp+-Wo@iA@t$+tq(0uKLvpzSV}od`N@@S2sp z`#w}qPTY`11UDXSfevnoUHF3As-l@B%awSSFaP>Tu5g{<4IH5hRnZ+h%c|c1D@pjh zQ++@heE?UA%^u8eDsP_N>$zT8dBN%K<=4m7tj2Hok%N1Wv$L~#YE#TPCB>A{d*Agu zJ%6rHWh(7jxDIxeXXc!uVL6_lH-`XC*yC0R7|Z0;YM%}|6MG`iB$W`%R3L4%&#KFo zQwO5f^}zIr@|HVZ9d<=4&xilU1}V7dI^I5*LtlfWh$5g{`C~nt>4Tx;G&qm`WR_Or zgRVh&e69KUw^;!gbw740=MeIc79iYqFc`o^G0?y}BAjz6aPBz`jUZ#qSn~}f<3Ul} z=t0+Axy#qdeK?=kA&u}N1-Jsr~_jmTKgw#I<0qb4jI0(m_6ODp5#f{Y@ajN})iu(?rsIqq3hE_0usHlh%3aTHj|h6Vlw( zq;cgwy-c{oL&rS;Hem!hvS9@K`>uZrcmwHd#2Ie)9rDLY+5ZiNHQ#7uimh@b zM^uy`QoYbR4Tq|aa2l=SJc;3`0M4o|aj>%=K?6@os@TNIJjBvRk01XQsU|c(U6Z>Z zja#|A%A+yNYNgjY+an8;mn>W#?{u3T&rS*wE(pHRhT~S?24^tRI%plz+ApqtR+v^c zhJauM7ncAY72)(*{l}aZCY(rwVswXP&Lgh_Aq(;`i**TnVUy%q1)IAv?{8Gq?YtA5 z-Yv*!2na#4{XS+i@d7I9fU_omKG3d->7!tTVzTa4oDakx_tCjd!`e++{#vza7l@fu z7yU%#X>56w=)Sfv05b>M|Eyjr_=$@p%wJ$UoA0yl9lgd~X6Wr%=yy2RO}Z;XAjS89 z{}ig*!iF`CJ6Ut%{~~zDFyG|)pxjn~QR-%4kS9*^?eX~bZ|zOcmN@K2Q=kh7-^|AD zduumzl?0iRx9(&JI%#T@fsjZ+pDC!X9_QudaVcvX=3czi5K&7{He${L!*#{2fZN#Y z)s~3gA0=mJH2^;#!Pe3|Jbt7!AcaLLH&$z-L?$Ah5aFee)g5>yx!*fen>);e3TTaa z%Yg$2n)t%^-iM7LO3|R=%7dlEb}GfacrL#5E9f9khK zOM!PTGy3@xVUdQiLPt@Xl#I^u=W1ihPI6F4h<0dNqRi-* zBkFU#eOjd(^9hc(-X~%6F21rlvm}mW+e7MW^SW*(fOnPJ20wp3)TWH_*Bv}tux*UG zAZ#Sr6P_+@mOZwCm`R1HQ6*o=k$=dO@^Q-Cr=V>t2+a`xv(o4}q+RyO0W6H@spQRzS6Eqo}Eeit~z^w?{NO9J~ ze$#7lSTiD(BCtVd8Xn0GVei@Ivx*ZVf=R?!Env#v?-3ZXr0m8V0&Oq?2 ziRovERf$P+D1|ZYqq-9jV|xAO{nwr)V>*lx9^PjZ`z6eqNniUHzx~jgiy6yyFS7n0I+XQ#=$tdo5(*} zJh&Xi3z;eZU1WBo6Tp9NZM@x8DsWN609RA#lGO2C2;#Xhui*+liA%=r8HniL;DD>+ zblCF1v+{VweDd$j)`$3R>7s6gm_dO8);r&=4NPE)yhMF1g81D z^_rJHjQnR_ zX757KDhgG}$J8ev@vZN%+h{eF8~;AY2%w`)=G-nAzQp>{;$rj5{RmtouhJ9rAJG$* zVpf`kx^(Iml`|mC{r&PX0_C6;4X6ka96y3-B7}wft=C2x97DJ)B7R49IfZGeT{aIk z2bLECg(q4Cg7J*C*;?CY10t6c54Cr1&Q$wmqJb(Rmk-$!-&f`#aC{`|&Zsxeh523o z8Tkzvi_7TVNgQCv&w6eRbLW)bW z8%qPr>LzG%Ix9xB#7!Ig2o*mVJILFPfSZY!9h!L5i{HW3N!s)h1K2U1(RcX6xM@Zg zKQUzw#pg+S(>y_ZU*&oi%ra3xhscrad*h4TtYw;qopg7^Ksh_xXXZpkchV2KP2MN% z^@Y+Nc=01l1plVy%6GVlr_RiXU@d-+>~O|yp;)QVcJV&GEGRG z*wTpl!^;h#Q~@#O=R7@8%0U!sL=7H0LVcFA>e$f_9q@dGz-5W%k#;}sakw>p!d%b< znqaw0Oo*Fu=>BuR5pu*M9{aXn9wew241)l)XCyXxd{h3nI#~61?|7L%*QKMOS;Tk> z5;1au$n7llZwu4;e)rPij4W&-uWiKSL6DzgZC>M3Es91E{(>6XgeG+vCDzHMPj^T4Ibr^KpY3;h0dyRQ07)Do zytcGc+uda>^HDJ2#z7vXRBYRJ z!3WAe?A5jm=&W`QX2i9u8RGx_q5H3!CDs|BI^_ZHS$Fr&9n$EB)RUZF5a4J-!A6B{ zsTtSogZl~`)Kq?!1l%YDJKP8%MfD5l8tO2H`5Y36d*ucrU-(gfPGuK3LnyjHIc$@0 z7=2yVX4%NbHEON-FACwcK@1tq0P^BQg!L!jdL6mlAFTU|qHi$zH0Q7gkwTCZ~Z zte43X;3=ToUc8RpH?D&NshX!OxBN`#lHZ9&SV0U>vpQ&K&kY|5?Y;5k1p`9kq&b)> zYGs=xE7K>3w^Q^SQDti8N*b93_z*t!Kzf?O!Q7o4^QJM+wK_o~5J z2?X+GUxU)SA;{a$hX^iy$!%E~r}^23m^{}>eIYQob1PJO^Rpt2G5R&v|?6)r7ZiZz*|X)?!#5Fh=7@5!!KGZN?!@ zbAn>b`tHxGr*?|b&l!LCdBH+5xZ10<^*x9Y%t#Z7p+6k!xwvk9s2M8u?m+o?IiS46 zSXZps*K9e~lOKK~ryk$7)&4N|Yi_2nb_%N$Vnu|E_SX7Zoa9W7F7K=D`zoQ83O(@9 zp|R*GZI)*t4le80@LuUX*O08OfYuNto{cpOzdVRuJbg^S?WDcAMW;P!$NsQEADgJW zVVjD0dJSXh`m<6bT_%?iTlJ$dnrnYNd~mYvRqh@Fwjf?$rrKt$$Yqamb~zU0|6*U^ ztwQlW?U6GSw2JZhy=tf&XaMX?i6+rqq zi@@?&Y%XN&QS;z)Q0s=Up*8wWL%x|nAGz0CRM{AXG=ktgqHse@u_73)J#WjrAX4qo zzyjCQ{CMES(?@5`D|9S~eeNx?*FdUFy0SDi8XtM?Z%EN&Uk4^45ZphI*}>Af*g6ft zTSB)yf?%G9f>E-ln|O>X27p60{;shHQ37hffiSgu!HCDwIAARl-EKOoas0OHCBrv9=;H-(HJZG8O(b9~>QAU{>qkO-j ziC^~4gL7r+Lm&`(WAP~iH;s%D}p#5f}nUqWItpP#Rz2>?Ap99WNp;1 zI{+LDeCckRIr;e^HULdTUCdl67=7#gFe~{nZq}RPwM|9N4@x!>=Tc5v1|5eqE!^YX z-zd750-MaBbFvJ~`QaKWsHhA8%U+;z#^c_j_!WWk{M2WsO9M!yd-AX08uz7ClO$M! zY~PpMln7yR3cXXdF11{Y=kZw>BN1@uiI>MdK@pK>P___3G05LsSR@5NLc=kh0Rg2D zkT4P>#8%20`?SV@J*X}m0F@GvnNLe>TQju9>BYXYZ&t_s^zGr?{C?>L1IAXBoM{du7N@FR^w_$SuP9y&PC7%7)&c=@YC)Lj}H#4xZ2|Nre zd8|-?Ssfz$OZvXMF47F)mI?@;0+cfWK)^6TPAq{d3?h{$@fayC^IAfx- zecoEi`nL?VEWM;vq@ld)TgYjope0WksV;qa{LNH~e#UNwtwFZ!!LuX@+6q_IM;2+P3a*|fct1KAi1XhPM~&nLZe7H` z+;y^essa03>MJ7f3hZ;xNR$2$RwDtA<12Uv2V6DXQlIPxxd&relSL6XlL%;?#X}(7 z??ap~dN4;A@5HdYZkd+iMO{#o9Q^SERcZPwcF&da;pcJS0pXGk5hBHze<5yx=M6GQoOK^#!ZBfVsH; z%shsy*zrs{Ogi8 z_y&mCMoxp)7^1&GOkgJ_j;qFB{p9M){=bN=TnD=U4`M4Dmw2r`sNKF|K7-Jp(Z>-T ziuM)~!xZ{KU&Nz5arNq7)+|mlec}P)W~-bVO$|YhC2E97j7C64WM9Aj7z&&ar5J(} zN08SuWjmaiP=X<-=ltL|IHPoA4*kcPjT?($fKguGCMM>CsVyoP1_ueNaTU&~R-(a^ z1H$FVsmlqRq9&Fb8Y7}Ifj<5O2Vh;tSq`N`MO=y<_ST%n=+qre^xlFYL`I@W`odzy zO84@ged}HO-CIV$oJYcTD0gYLn@)d^n9dKw-27K3Dhw*fuZUIga3F9{o-IF({?T7) zb;%xtSP$@Ewdx1(!PDuMytf7qg~)PYtPHSvXNFUVU>oJS*1Gx*Kb4yx=R#n68T6tr#ySK|nZ7E{HSD|MW87WyH zPRqrfJrk4RP|_mTCHo<53V_3Di_8U@%vF?6hu})OJ*0kMRA} z8%QM>&`iP6@>UK&;)+B=Wp-4GFvX)QWggomI?#iN-=A7fHD=ksZM;2&-c_eUOimm- z#+ipEznid~b+yJ@i$SmdAtnb28@DSORTP;>+9n7b1Yv4uV&e0Vr39D#cR%oSO+%J@ z_KLTV$>c_UAIOYMyk}r^h8uIEUk0G{ollE|zVe;99-ReCdLh>NG&;(CMDj%;B-xHO z=|$o*a?zJlKbdU4*d)5+8L4Ezk9s3_#B(=;inh-6b*8r;`x9S2wH}aXIvUsL0Ul0?gofhPI-{JwG}uii^$gJUzLZnx>aMQlGfwEM#vOW%`Dz2TitB zNsMGNPQmGy^$=wKZ*r{_imNocA$+-tMyJr_va_>$>h5^}PJzYG56ekB$TKvp6Pp@9 z25Ui#YntjQt6&8vIu_j|wiWp6!)QZ8&^j#x<`{~aD!^7iRJ7b-)Ns8%=?&ewr^Zk& znn169boeeje~msKQOQ||=7ktggVHUqEk97RZfE!|xHv*v^a5^lipLYph5N4z&OVj& z>a_P}33_4o@cw)L?Vrf8@EU~9dq&vQ)(H=(=dUF@0s1!xcpq<{MX8M81-KUIJ|ujhaS?vn6+QUMok#9gTJ7>@3}mLWC~jS?Dpx`S zBDyuI;v{HDn2z1(KyF%XS#7HpGzYWZm@aBHnhsRlsh$DKK?p1)fr5Ip?27z#t7Cj` zU;MGYbwy=Y#8IE*E|AOB>;AT+U{EEhd7%u6_RpJihf)Hk)e6&X>hmhb9E&DJCkAyg= z8TC14qQ_%-qV_pzpk6vQP<*%jkt-ZX-g#pb@ zm`j-64aCYFuGI=`K;#{zaCo4&2oW7H+AQNS8yE-p2&9?OQunf#2WvrM|I9uSso=g7 z*QT&M(VI&_mMc!wM(3Jmbw@sIRPDR~-~EW|m9XB}>?H1M<*vY>AmiPJynjWRHhw&3 zh3cSAYajLJByh~t&d^z{OUqX3*ixdjsG_@Al31qp{j-qZtN!}8OBY5j#}COh&%09M zxtG#KKYSPs@0hO8c1IJ;Qm)?>7){8e)P)~KZ;b;tDi1?188+_SHehdoL1&cR1GVvY zF$swnlZs<#b!uDiTszgmfeZ0}Nw>>B&^Sm)0vYu9(L0Qn-jbUC*mw>5Ck`N7`c~hy0qb>`ynBh<-&w@Wima)1u01*-irgG%8 zHs0Y@S((Lq_Vex7U{G;QHW#_`3adZ%-8sl?gf{u&QXG>3bt{om#a$ z<3b3%aqEYIhwIlWtofdhwc-%t-Lzw@E0f9j*D}tP8XRB3eX-_^{_7YI>!e%38!l?S z2si)3S}{*w&%1y%p!P|q-MOiJUuV7?(i+WYf0EvvIlNB2^K{2|!-bO-*ALsSJ@PH0 zVs7euW29C8NRUGM_@uKRpjtfV?Hn5eqsn`~b&nVFt0Y#`K2KEzZ}V1*~7q@-xQ{w*_> z454+#?EpJDt!D5E(z+?h$;qq>(KTfg$2iNubIQ(toOuJC^Y$*EZ5ytddh}e=)2e@F zLeg;R&{X4AZb|CYXi(zpApYD5vT9m5)#1j`^K?0>_YlIopj1$;_Kns~aaq(VVfzl| zfYs`YEzm#B&3=Wg9#Z?Q+dsMH#!9oPUT|_+XkrOw>!=F8_ofT2{-tkzm>T?=F_Lxs z!p)mElS++}%zwP6g=*S1TDQ@Z_6RDJhWTns87zSOnW)zz{zwVG;I$*_4LRSctHl}y zte(#_2-Tw??n=)Y_Ktfzb*bDS5$w`LK0(a;xuT!~ZkRd~GjmZxc-0MW0PS9U`l#2p z#TW5xPHsZx>na*#St_X8Z?+4;;?&?cc<8gd*>mFoIg z44H@p>LUu+q2P~kpaeNkCwUHZ1vQ+ry;<&P=+LI-_(`JWF)cJHIr+(S>Lf}`zHpGN z11$*BZ>v4kl5D4TI}Q|st~NVtL*KcZT8DdEwb??BE7NTW^&%e3jw4R4x)-Xh2xDGC z;}7DQM@q9*mawcQktizmQxUN_qhZ2rh?5*>twO!*v{3RMgu2d3D)W-sni)i`gt{P#3$ij zujv8Qz`oOy8;^HygKx4Ye0?-T1ka}{BP@|a3e-t?HmA@{=`pvgubG)Cqi-Os6?DYU zFqk1xu^Br7SC$f#JXHGIF*EH`g#26=UkNx0BVXNbkFKA29l5hE};+|q8 zry+z((wQIj6-6O6Yx3vQ-01mX<+KBV<-jdPlzeuTfLZDfgi`{1*bXc7hV5`BuPVOc z$~}H*)f5l4i9~vP!k^*&(JM^LtVPLxK77xzy4!%MIErw8`Ar(iDyw8izkIv#B%7`t zr3Mf<>w7e?O4Yc+#Ojh1#PW!FRxqPN;$bl6uOq$j(Huw1eyI#GKBk7_FCgf7!E zRe#PcmE|m}YYTtvn>vtbM!-sNvYTrGzgNgqBs)7Y61W$w0sXM-YcjukOIo#ue!bTE zVEfZzD)vqT2-^08@0hKCYPE9@*qxxY68p@wY2^=eW-JG=N8>~3pbTd)Q;E(ELp4=y zcH0w>pe%=``5`nj2t5AEgZQOUQ9`K=mP%mh*9Bp3W_m}NMua#JE%mw@K&|iU?k?T@ zeegakhaTwMs34XcVUzVTbL_e754MNjj06|}M9F0F&Aq)J;RY+Jt9?ArNC{rhv^X|B zGvhkIo|uhIqAcB)G&(WSu~KL9Fv51fl#~>_Spayl#qIIL=WXoICqE4C`s*vUd))1@ zC@5>3{2uMe_=B0pjsh!di7p}?p!0o3$}I|gjF$ZCObYBN14)%$`<&758TOt;T-A*j z?n{owK*mp0ZF(SR1oq2-P}r=|tFIC_vGzu`IZJyl!lKHAR^5=5OqzB=zUw%;O58a+ zG&gs_EHX0V&DU#O`w){xbbrdP96@&g?s{Xf8kU%O2mI2a%1xcg>1bxu;)(t$sJaOqTDEVLzBsg3f`-*bSz$NQ7<8P5MC`Cq2-=N(^SU-2F(caGi zybD`2eVbuF66O9eM0O_a68X@Rk0b^X@#5#k00iPi`F4)@7QdU5xP(M!M;wXdEPI$? z35n$Q$GnV!qM&sLN&6L=;ACahMv5|%M3M!a@l)&tP6{++(pAA^yC;M(9sX(7gE^R| zOjc|mk@AjOn9+!aEbSZfjFNA5ecQk3i7#z7tA7_MuQH6pNFtqD#|G~;*DCsa>Xa3D zA=ZWrHWjesR;Wl~2BEbs%_U=mL{jx-Tt*^^obxhBoJu7Om?eyEDju_{El;z15<1@n zA>}ORQx=#iT73UyY9n!f$L-!$-PrBW`O?*g%j)A^(LFhnKMOexgFJwNhhYg48R*x= z0ueB0TK;?}K(MASCg>@kVR$`0h(kfFDwvJrSHJEc9>&A=5PUBje@X%Y0l!DKJJeLk zy{tAJ+pEb(CDu$Vu!hh6WxouG^y}V}#7df=T+LOo)S$_~kz|v$04Qn`jJ>}=Fh&=M z_D*#=wmgNWy<3a<G;fs$(?=nqB+jf~vzwChh=fJ4QQt=#J;f;1A z(y|nVqleB9Jz+)>JTIc>Q-0c|bGEp|uW8GraMO5DU4J+){)6QClz4D>{dd2WRKx8o ze+bA*aWP@px=-dXAx9!?zkQ`UM;hVN(+PT*c)o7+rN^u5#*`6bAm@4!mDz9K`l( z2mZRy|B> zcD8F}@KTBy1{{Tq!-LL69Dg~yNC zp<%~ka1nLX)y4``O0!<}yyH|;8%s(}jgy0DnPr+mmDY2J61h)%SzI_Nfvvl@S4N~H z;bqmrmzo-J^lqM*&B@6TPfbqd_6U_PX~KN+*NHh^q?VqKqMwZiy1S<%A|vPD;G&)Bzo8EgI#=EcTuk6z0esSy!HV{#(;X*^59_qE&;k>Y(YekjaqLg2cW zio^8ubdG$239#s>sL1IazBiHGxm9adQ*Nn2>mW4(N2#Hum@ZSY(wdpEmM$eN&31aY zKQb~zs?AGP?t4W=#ikoOv8Xew3Z@GCoFE)9tlqGeGE01x4Dne@pE;gYQ?v4nHcGzK z#2MpAp)}9GELfT|#(c^KpWtAmrY3*V(ww&N9lG<%;N=uEp|G3$3b<^WqeHqHufC@3 zQGiYR+!D-6$x7#0BBH%acZljY^8$~h%u`cNoeJyba^#Wl<8hablzrFtZ@L@i_1UB@ zp=~9aL|kraY@8E7y~(D$AgS=_)2AE(^@6cv)cpVVU+@{FnsIS)$xyCYQ~+<2mxwJPkzPL;I&8ON z>9ghSAl8g$@JVym_F(+j<@l=w3z3nL(k1NN+}sgtCM!h*d%LGrQ`|Cy6l?|Cy!hlB zb1bmbCoZUYM@IH@Pw0_ImGAAgW(A=6)hk@_`~d}9+KgvVvmQFghBbKesi|p&oO3I{ zUp{;>>OJ8WpO%sip2jYS5_Impi!IKvBmH$`WCVJ-+&0kBX?kRBh=rIP9UGJN4;3ys zhxNTMHag0pQ)6pwt>xAFlh3^uXnA>FLi$2$bxjuSn!pMZGY;Dz>T z=!M4|Y!f+v0#EyxU z7Qm|d4jtYY$hl?4j|g_nPFXfTh>)@whWlQ7Da&qXAl10e@|2pI)AQCkKBr*4T$R!) zgb#A9Po?`cRIQGZNQEv#hyO=x?f=U!v7ua|HSyKSjQWWm&n44j#49_7_-39c{qkDQ zjic>+`kg~9d{uuqI-D4lG@bqHmy77l5lW27v-n|S;&kAzzF}gqh}THP4jAvYnYFt%7si*^{fOz;kIu{+rK~@c zBYkzs#QHu05xnenZ&FY9)9wM_45A>XNpt&d3#Rm5`HbZZt;70{Q*9Dr&Bh_@F-j6Js3+q()a7FGhR-gQaE`9 zSY#(6wufZKhHL)%er8)toqA`QLuQH-=hyM-f9~(H0bkv-n59n*hr6F=)XSGx9qHSA zzxvlR;ZF)oG`U}Nxv -Authors and Citation • healthyRAuthors and Citation • healthyR +
+
+
+
+

Authors

  • Steven Sanderson. Author, maintainer. @@ -83,45 +71,39 @@

    Authors

-
-
-

Citation

- Source: DESCRIPTION -
-
+
+

Citation

+

Source: DESCRIPTION

-

Sanderson S (2022). +

Sanderson S (2022). healthyR: Hospital Data Analysis Workflow Tools. R package version 0.2.0.9000, https://github.com/spsanderson/healthyR.

-
@Manual{,
+      
@Manual{,
   title = {healthyR: Hospital Data Analysis Workflow Tools},
   author = {Steven Sanderson},
   year = {2022},
   note = {R package version 0.2.0.9000},
   url = {https://github.com/spsanderson/healthyR},
 }
- -
- -
- +
+ -
+
- diff --git a/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js b/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js new file mode 100644 index 0000000..cc0a255 --- /dev/null +++ b/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Rt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var fe={passive:!0};const pe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;ij.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;ie+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js.map b/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js.map new file mode 100644 index 0000000..7d78e32 --- /dev/null +++ b/docs/deps/bootstrap-5.1.3/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/data.js","../../js/src/base-component.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/dom/manipulator.js","../../js/src/dom/selector-engine.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"names":["TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","this","handlers","previousFn","replace","domElements","querySelectorAll","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","static","getInstance","VERSION","Error","enableDismissTrigger","component","method","clickEvent","tagName","closest","getOrCreateInstance","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft","SelectorEngine","find","concat","Element","prototype","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","EVENT_SLID","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","itemImg","add","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","action","ride","carouselInterface","slideIndex","dataApiClickHandler","carousels","parent","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activesData","actives","container","tempActiveData","elemActive","dimension","_getDimension","style","scrollSize","triggerArrayLength","selected","triggerArray","isOpen","bottom","right","auto","basePlacements","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","styles","assign","effect","_ref2","initialStyles","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","includeScale","width","height","x","y","getLayoutRect","clientRect","offsetWidth","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","userAgent","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","round","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","_ref3","dpr","devicePixelRatio","roundOffsetsByDPR","_ref3$x","_ref3$y","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","computeStyles$1","_ref4","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","visualViewport","updatedList","rectToClientRect","getClientRectFromMixedType","clippingParent","html","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_mainSide","_altSide","_offset","_min","_max","_preventedOffset","getCompositeRect","elementOrVirtualElement","isFixed","isOffsetParentAnElement","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","_len","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref3$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ESCAPE_KEY","SPACE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","display","popperConfig","autoClose","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","getParentFromElement","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","isDisplayStatic","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","items","toggles","context","composedPath","isMenuTarget","isActive","stopPropagation","getToggleButton","clearMenus","dataApiKeydownHandler","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","styleProp","scrollbarWidth","_applyManipulationCallback","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","className","rootElement","clickCallback","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","trapElement","autofocus","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","EVENT_HIDDEN","EVENT_SHOW","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","_triggerBackdropTransition","_resetAdjustments","currentTarget","isModalOverflowing","isBodyOverflowing","paddingLeft","paddingRight","showEvent","allReadyOpen","OPEN_SELECTOR","Offcanvas","visibility","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","regExp","attributeRegex","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","DISALLOWED_ATTRIBUTES","animation","template","title","delay","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","_disposePopper","isWithContent","shadowRoot","isInTheDom","getTitle","tipId","prefix","floor","random","getElementById","getUID","attachment","_getAttachment","_addAttachmentClass","_resolvePossibleFunction","prevHoverState","_cleanTipClass","setContent","_sanitizeAndSetContent","content","templateElement","setElementContent","textContent","updateAttachment","_getDelegateConfig","_handlePopperPlacementChange","_getBasicClassPrefix","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","basicClassPrefixRegex","tabClass","token","tClass","Popover","_getContent","SELECTOR_LINK_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","listGroup","navItem","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","complete","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","CLASS_NAME_HIDE","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = `#${hrefAttr.split('#')[1]}`\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => {\n if (!obj || typeof obj !== 'object') {\n return false\n }\n\n if (typeof obj.jquery !== 'undefined') {\n obj = obj[0]\n }\n\n return typeof obj.nodeType !== 'undefined'\n}\n\nconst getElement = obj => {\n if (isElement(obj)) { // it's a jQuery object or a node element\n return obj.jquery ? obj[0] : obj\n }\n\n if (typeof obj === 'string' && obj.length > 0) {\n return document.querySelector(obj)\n }\n\n return null\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n return getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n // eslint-disable-next-line no-unused-expressions\n element.offsetHeight\n}\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n DOMContentLoadedCallbacks.forEach(callback => callback())\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback()\n }\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element depending on the direction and if cycle is allowed\n if (index === -1) {\n return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0]\n }\n\n const listLength = list.length\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n getElement,\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n getNextActiveElement,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin,\n execute,\n executeAfterTransition\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst customEventsRegex = /^(mouseenter|mouseleave)/i\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n let typeEvent = getTypeEvent(originalTypeEvent)\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (customEventsRegex.test(originalTypeEvent)) {\n const wrapFn = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n if (delegationFn) {\n delegationFn = wrapFn(delegationFn)\n } else {\n handler = wrapFn(handler)\n }\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\nimport {\n executeAfterTransition,\n getElement\n} from './util/index'\nimport EventHandler from './dom/event-handler'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.1.3'\n\nclass BaseComponent {\n constructor(element) {\n element = getElement(element)\n\n if (!element) {\n return\n }\n\n this._element = element\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n Object.getOwnPropertyNames(this).forEach(propertyName => {\n this[propertyName] = null\n })\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n /** Static */\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { getElementFromSelector, isDisabled } from './index'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Alert to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button extends BaseComponent {\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Button to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(val) {\n if (val === 'true') {\n return true\n }\n\n if (val === 'false') {\n return false\n }\n\n if (val === Number(val).toString()) {\n return Number(val)\n }\n\n if (val === '' || val === 'null') {\n return null\n }\n\n return val\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n\n Object.keys(element.dataset)\n .filter(key => key.startsWith('bs'))\n .forEach(key => {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n })\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n },\n\n offset(element) {\n const rect = element.getBoundingClientRect()\n\n return {\n top: rect.top + window.pageYOffset,\n left: rect.left + window.pageXOffset\n }\n },\n\n position(element) {\n return {\n top: element.offsetTop,\n left: element.offsetLeft\n }\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index'\n\nconst NODE_TEXT = 3\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children)\n .filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n\n let ancestor = element.parentNode\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor)\n }\n\n ancestor = ancestor.parentNode\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(', ')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n getNextActiveElement,\n reflow,\n triggerTransitionEnd,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_INDICATOR = '[data-bs-target]'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\n triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config && this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const order = index > activeIndex ?\n ORDER_NEXT :\n ORDER_PREV\n\n this._slide(order, this._items[index])\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n if (!direction) {\n return\n }\n\n this._slide(direction > 0 ? DIRECTION_RIGHT : DIRECTION_LEFT)\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch && this._touchSupported) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n const hasPointerPenTouch = event => {\n return this._pointerEvent &&\n (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n const start = event => {\n if (hasPointerPenTouch(event)) {\n this.touchStartX = event.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n this.touchDeltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this.touchStartX\n }\n\n const end = event => {\n if (hasPointerPenTouch(event)) {\n this.touchDeltaX = event.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {\n EventHandler.on(itemImg, EVENT_DRAG_START, event => event.preventDefault())\n })\n\n if (this._pointerEvent) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(direction)\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n SelectorEngine.find(SELECTOR_ITEM, element.parentNode) :\n []\n\n return this._items.indexOf(element)\n }\n\n _getItemByOrder(order, activeElement) {\n const isNext = order === ORDER_NEXT\n return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap)\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element))\n\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement)\n\n for (let i = 0; i < indicators.length; i++) {\n if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {\n indicators[i].classList.add(CLASS_NAME_ACTIVE)\n indicators[i].setAttribute('aria-current', 'true')\n break\n }\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(directionOrOrder, element) {\n const order = this._directionToOrder(directionOrOrder)\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || this._getItemByOrder(order, activeElement)\n\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n const isNext = order === ORDER_NEXT\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n const eventDirectionName = this._orderToDirection(order)\n\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n if (this._isSliding) {\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const triggerSlidEvent = () => {\n EventHandler.trigger(this._element, EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n }\n\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n setTimeout(triggerSlidEvent, 0)\n }\n\n this._queueCallback(completeCallBack, activeElement, true)\n } else {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n triggerSlidEvent()\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _directionToOrder(direction) {\n if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {\n return direction\n }\n\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (![ORDER_NEXT, ORDER_PREV].includes(order)) {\n return order\n }\n\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n\n static carouselInterface(element, config) {\n const data = Carousel.getOrCreateInstance(element, config)\n\n let { _config } = data\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Carousel.carouselInterface(this, config)\n })\n }\n\n static dataApiClickHandler(event) {\n const target = getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...Manipulator.getDataAttributes(target),\n ...Manipulator.getDataAttributes(this)\n }\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel.carouselInterface(target, config)\n\n if (slideIndex) {\n Carousel.getInstance(target).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler)\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (let i = 0, len = carousels.length; i < len; i++) {\n Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]))\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Carousel to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n getElementFromSelector,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: null\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(null|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let actives = []\n let activesData\n\n if (this._config.parent) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)) // remove children if greater depth\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives.length) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.getOrCreateInstance(elemActive, { toggle: false }).hide()\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !this._isShown(elem)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n SelectorEngine.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem))\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n })\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","// import { isHTMLElement } from './instanceOf';\nexport default function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars\nincludeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1; // FIXME:\n // `offsetWidth` returns an integer while `getBoundingClientRect`\n // returns a float. This results in `scaleX` or `scaleY` being\n // non-1 when it should be for elements that aren't a full pixel in\n // width or height.\n // if (isHTMLElement(element) && includeScale) {\n // const offsetHeight = element.offsetHeight;\n // const offsetWidth = element.offsetWidth;\n // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // // Fallback to 1 in case both values are `0`\n // if (offsetWidth > 0) {\n // scaleX = rect.width / offsetWidth || 1;\n // }\n // if (offsetHeight > 0) {\n // scaleY = rect.height / offsetHeight || 1;\n // }\n // }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport default function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(round(x * dpr) / dpr) || 0,\n y: round(round(y * dpr) / dpr) || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom; // $FlowFixMe[prop-missing]\n\n y -= offsetParent[heightProp] - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right; // $FlowFixMe[prop-missing]\n\n x -= offsetParent[widthProp] - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { max as mathMax, min as mathMin } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis || checkAltAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n\n if (checkMainAxis) {\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(tether ? mathMin(_min, tetherMin) : _min, _offset, tether ? mathMax(_max, tetherMax) : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = rect.width / element.offsetWidth || 1;\n var scaleY = rect.height / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n getElement,\n getElementFromSelector,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst SPACE_KEY = 'Space'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_NAVBAR = 'navbar'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\n\nconst Default = {\n offset: [0, 2],\n boundary: 'clippingParents',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null,\n autoClose: true\n}\n\nconst DefaultType = {\n offset: '(array|string|function)',\n boundary: '(string|element)',\n reference: '(string|element|object)',\n display: 'string',\n popperConfig: '(null|object|function)',\n autoClose: '(boolean|string)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n const parent = Dropdown.getParentFromElement(this._element)\n // Totally disable Popper for Dropdowns in Navbar\n if (this._inNavbar) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'none')\n } else {\n this._createPopper(parent)\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n !parent.closest(SELECTOR_NAVBAR_NAV)) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.on(elem, 'mouseover', noop))\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown(this._menu)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(elem => EventHandler.off(elem, 'mouseover', noop))\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...Manipulator.getDataAttributes(this._element),\n ...config\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper(parent) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n const isDisplayStatic = popperConfig.modifiers.find(modifier => modifier.name === 'applyStyles' && modifier.enabled === false)\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n\n if (isDisplayStatic) {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static')\n }\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getMenuElement() {\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0]\n }\n\n _getPlacement() {\n const parentDropdown = this._element.parentNode\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(`.${CLASS_NAME_NAVBAR}`) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible)\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event && (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))) {\n return\n }\n\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const context = Dropdown.getInstance(toggles[i])\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n if (!context._isShown()) {\n continue\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n }\n\n if (event) {\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static getParentFromElement(element) {\n return getElementFromSelector(element) || element.parentNode\n }\n\n static dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.key === SPACE_KEY || (event.key !== ESCAPE_KEY &&\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\n event.target.closest(SELECTOR_MENU))) :\n !REGEXP_KEYDOWN.test(event.key)) {\n return\n }\n\n const isActive = this.classList.contains(CLASS_NAME_SHOW)\n\n if (!isActive && event.key === ESCAPE_KEY) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (isDisabled(this)) {\n return\n }\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0]\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (event.key === ESCAPE_KEY) {\n instance.hide()\n return\n }\n\n if (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY) {\n if (!isActive) {\n instance.show()\n }\n\n instance._selectMenuItem(event)\n return\n }\n\n if (!isActive || event.key === SPACE_KEY) {\n Dropdown.clearMenus()\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Dropdown to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, 'paddingRight', calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', calculatedValue => calculatedValue - width)\n }\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProp, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProp)\n const calculatedValue = window.getComputedStyle(element)[styleProp]\n element.style[styleProp] = `${callback(Number.parseFloat(calculatedValue))}px`\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, 'paddingRight')\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight')\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight')\n }\n\n _saveInitialAttribute(element, styleProp) {\n const actualValue = element.style[styleProp]\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProp, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProp) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProp)\n if (typeof value === 'undefined') {\n element.style.removeProperty(styleProp)\n } else {\n Manipulator.removeDataAttribute(element, styleProp)\n element.style[styleProp] = value\n }\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n } else {\n SelectorEngine.find(selector, this._element).forEach(callBack)\n }\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport { execute, executeAfterTransition, getElement, reflow, typeCheckConfig } from './index'\n\nconst Default = {\n className: 'modal-backdrop',\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n isAnimated: false,\n rootElement: 'body', // give the choice to place backdrop under different elements\n clickCallback: null\n}\n\nconst DefaultType = {\n className: 'string',\n isVisible: 'boolean',\n isAnimated: 'boolean',\n rootElement: '(element|string)',\n clickCallback: '(function|null)'\n}\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nclass Backdrop {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n if (this._config.isAnimated) {\n reflow(this._getElement())\n }\n\n this._getElement().classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n // Private\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n this._config.rootElement.append(this._getElement())\n\n EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler'\nimport SelectorEngine from '../dom/selector-engine'\nimport { typeCheckConfig } from './index'\n\nconst Default = {\n trapElement: null, // The element to trap focus inside of\n autofocus: true\n}\n\nconst DefaultType = {\n trapElement: 'element',\n autofocus: 'boolean'\n}\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nclass FocusTrap {\n constructor(config) {\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n activate() {\n const { trapElement, autofocus } = this._config\n\n if (this._isActive) {\n return\n }\n\n if (autofocus) {\n trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n\n _handleFocusin(event) {\n const { target } = event\n const { trapElement } = this._config\n\n if (target === document || target === trapElement || trapElement.contains(target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isRTL,\n isVisible,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport ScrollBarHelper from './util/scrollbar'\nimport BaseComponent from './base-component'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n\n if (this._isAnimated()) {\n this._isTransitioning = true\n }\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, event => {\n if (event.target === this._element) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n const isAnimated = this._isAnimated()\n\n if (isAnimated) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n EventHandler.off(this._element, EVENT_CLICK_DISMISS)\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS)\n\n this._queueCallback(() => this._hideModal(), this._element, isAnimated)\n }\n\n dispose() {\n [window, this._dialog]\n .forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY))\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _showElement(relatedTarget) {\n const isAnimated = this._isAnimated()\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n if (isAnimated) {\n reflow(this._element)\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, isAnimated)\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\n this._triggerBackdropTransition()\n }\n })\n } else {\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog())\n } else {\n EventHandler.off(window, EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _showBackdrop(callback) {\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === true) {\n this.hide()\n } else if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n }\n })\n\n this._backdrop.show(callback)\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const { classList, scrollHeight, style } = this._element\n const isModalOverflowing = scrollHeight > document.documentElement.clientHeight\n\n // return if the following background transition hasn't yet completed\n if ((!isModalOverflowing && style.overflowY === 'hidden') || classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n style.overflowY = 'hidden'\n }\n\n classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n this._queueCallback(() => {\n style.overflowY = ''\n }, this._dialog)\n }\n }, this._dialog)\n\n this._element.focus()\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if ((!isBodyOverflowing && isModalOverflowing && !isRTL()) || (isBodyOverflowing && !isModalOverflowing && isRTL())) {\n this._element.style.paddingLeft = `${scrollbarWidth}px`\n }\n\n if ((isBodyOverflowing && !isModalOverflowing && !isRTL()) || (!isBodyOverflowing && isModalOverflowing && isRTL())) {\n this._element.style.paddingRight = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking moddal toggler while another one is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen) {\n Modal.getInstance(allReadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Modal to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElementFromSelector,\n isDisabled,\n isVisible,\n typeCheckConfig\n} from './util/index'\nimport ScrollBarHelper from './util/scrollbar'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport SelectorEngine from './dom/selector-engine'\nimport Manipulator from './dom/manipulator'\nimport Backdrop from './util/backdrop'\nimport FocusTrap from './util/focustrap'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: 'boolean',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._element.style.visibility = 'visible'\n\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const completeCallBack = () => {\n if (!this._config.scroll) {\n this._focustrap.activate()\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._element.style.visibility = 'hidden'\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {})\n }\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._config.backdrop,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\n this.hide()\n }\n })\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (allReadyOpen && allReadyOpen !== target) {\n Offcanvas.getInstance(allReadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () =>\n SelectorEngine.find(OPEN_SELECTOR).forEach(el => Offcanvas.getOrCreateInstance(el).show())\n)\n\nenableDismissTrigger(Offcanvas)\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (regExp[i].test(attributeName)) {\n return true\n }\n }\n\n return false\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const element = elements[i]\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n attributeList.forEach(attribute => {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\n\nimport {\n defineJQueryPlugin,\n findShadowRoot,\n getElement,\n getUID,\n isElement,\n isRTL,\n noop,\n typeCheckConfig\n} from './util/index'\nimport { DefaultAllowlist, sanitizeHtml } from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(array|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacements: 'array',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n allowList: 'object',\n popperConfig: '(null|object|function)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
' +\n '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: [0, 0],\n container: false,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n boundary: 'clippingParents',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n allowList: DefaultAllowlist,\n popperConfig: null\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element)\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this._config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const context = this._initializeOnDelegatedTarget(event)\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this.tip) {\n this.tip.remove()\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this.isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = shadowRoot === null ?\n this._element.ownerDocument.documentElement.contains(this._element) :\n shadowRoot.contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // A trick to recreate a tooltip in case a new title is given by using the NOT documented `data-bs-original-title`\n // This will be removed later in favor of a `setContent` method\n if (this.constructor.NAME === 'tooltip' && this.tip && this.getTitle() !== this.tip.querySelector(SELECTOR_TOOLTIP_INNER).innerHTML) {\n this._disposePopper()\n this.tip.remove()\n this.tip = null\n }\n\n const tip = this.getTipElement()\n const tipId = getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this._element.setAttribute('aria-describedby', tipId)\n\n if (this._config.animation) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n const placement = typeof this._config.placement === 'function' ?\n this._config.placement.call(this, tip, this._element) :\n this._config.placement\n\n const attachment = this._getAttachment(placement)\n this._addAttachmentClass(attachment)\n\n const { container } = this._config\n Data.set(tip, this.constructor.DATA_KEY, this)\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n }\n\n if (this._popper) {\n this._popper.update()\n } else {\n this._popper = Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n const customClass = this._resolvePossibleFunction(this._config.customClass)\n if (customClass) {\n tip.classList.add(...customClass.split(' '))\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children).forEach(element => {\n EventHandler.on(element, 'mouseover', noop)\n })\n }\n\n const complete = () => {\n const prevHoverState = this._hoverState\n\n this._hoverState = null\n EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n }\n\n hide() {\n if (!this._popper) {\n return\n }\n\n const tip = this.getTipElement()\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (this._hoverState !== HOVER_STATE_SHOW) {\n tip.remove()\n }\n\n this._cleanTipClass()\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n\n this._disposePopper()\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n [].concat(...document.body.children)\n .forEach(element => EventHandler.off(element, 'mouseover', noop))\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(complete, this.tip, isAnimated)\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.update()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n getTipElement() {\n if (this.tip) {\n return this.tip\n }\n\n const element = document.createElement('div')\n element.innerHTML = this._config.template\n\n const tip = element.children[0]\n this.setContent(tip)\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n\n this.tip = tip\n return this.tip\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TOOLTIP_INNER)\n }\n\n _sanitizeAndSetContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!content && templateElement) {\n templateElement.remove()\n return\n }\n\n // we use append for html objects to maintain js events\n this.setElementContent(templateElement, content)\n }\n\n setElementContent(element, content) {\n if (element === null) {\n return\n }\n\n if (isElement(content)) {\n content = getElement(content)\n\n // content is a DOM node or a jQuery\n if (this._config.html) {\n if (content.parentNode !== element) {\n element.innerHTML = ''\n element.append(content)\n }\n } else {\n element.textContent = content.textContent\n }\n\n return\n }\n\n if (this._config.html) {\n if (this._config.sanitize) {\n content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn)\n }\n\n element.innerHTML = content\n } else {\n element.textContent = content\n }\n }\n\n getTitle() {\n const title = this._element.getAttribute('data-bs-original-title') || this._config.title\n\n return this._resolvePossibleFunction(title)\n }\n\n updateAttachment(attachment) {\n if (attachment === 'right') {\n return 'end'\n }\n\n if (attachment === 'left') {\n return 'start'\n }\n\n return attachment\n }\n\n // Private\n\n _initializeOnDelegatedTarget(event, context) {\n return context || this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(val => Number.parseInt(val, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(content) {\n return typeof content === 'function' ? content.call(this._element) : content\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'onChange',\n enabled: true,\n phase: 'afterWrite',\n fn: data => this._handlePopperPlacementChange(data)\n }\n ],\n onFirstUpdate: data => {\n if (data.options.placement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n }\n }\n\n return {\n ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n }\n }\n\n _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(attachment)}`)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event))\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event))\n EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._config.selector) {\n this._config = {\n ...this._config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n if (title || originalTitleType !== 'string') {\n this._element.setAttribute('data-bs-original-title', title || '')\n if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context._config.delay || !context._config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context._config.delay.show)\n }\n\n _leave(event, context) {\n context = this._initializeOnDelegatedTarget(event, context)\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = context._element.contains(event.relatedTarget)\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context._config.delay || !context._config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context._config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n Object.keys(dataAttributes).forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key]\n }\n }\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _cleanTipClass() {\n const tip = this.getTipElement()\n const basicClassPrefixRegex = new RegExp(`(^|\\\\s)${this._getBasicClassPrefix()}\\\\S+`, 'g')\n const tabClass = tip.getAttribute('class').match(basicClassPrefixRegex)\n if (tabClass !== null && tabClass.length > 0) {\n tabClass.map(token => token.trim())\n .forEach(tClass => tip.classList.remove(tClass))\n }\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX\n }\n\n _handlePopperPlacementChange(popperData) {\n const { state } = popperData\n\n if (!state) {\n return\n }\n\n this.tip = state.elements.popper\n this._cleanTipClass()\n this._addAttachmentClass(this._getAttachment(state.placement))\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin } from './util/index'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-popover'\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n offset: [0, 8],\n trigger: 'click',\n content: '',\n template: '
' +\n '
' +\n '

' +\n '
' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get Event() {\n return Event\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n setContent(tip) {\n this._sanitizeAndSetContent(tip, this.getTitle(), SELECTOR_TITLE)\n this._sanitizeAndSetContent(tip, this._getContent(), SELECTOR_CONTENT)\n }\n\n // Private\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n _getBasicClassPrefix() {\n return CLASS_PREFIX\n }\n\n // Static\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Popover to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n getElement,\n getSelectorFromElement,\n typeCheckConfig\n} from './util/index'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}, .${CLASS_NAME_DROPDOWN_ITEM}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element)\n this._scrollElement = this._element.tagName === 'BODY' ? window : this._element\n this._config = this._getConfig(config)\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n EventHandler.on(this._scrollElement, EVENT_SCROLL, () => this._process())\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET :\n METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod :\n this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() :\n 0\n\n this._offsets = []\n this._targets = []\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(SELECTOR_LINK_ITEMS, this._config.target)\n\n targets.map(element => {\n const targetSelector = getSelectorFromElement(element)\n const target = targetSelector ? SelectorEngine.findOne(targetSelector) : null\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n return [\n Manipulator[offsetMethod](target).top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n EventHandler.off(this._scrollElement, EVENT_KEY)\n super.dispose()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n config.target = getElement(config.target) || document.documentElement\n\n typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset :\n this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight :\n this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = SELECTOR_LINK_ITEMS.split(',')\n .map(selector => `${selector}[data-bs-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const link = SelectorEngine.findOne(queries.join(','), this._config.target)\n\n link.classList.add(CLASS_NAME_ACTIVE)\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n } else {\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP)\n .forEach(listGroup => {\n // Set triggered links parents as active\n // With both