fnschool 20250109.80531.837__py3-none-any.whl → 20251011.81638.854__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fnschool might be problematic. Click here for more details.

Files changed (278) hide show
  1. fnschoo1/__init__.py +53 -0
  2. fnschoo1/canteen/admin.py +3 -0
  3. fnschoo1/canteen/apps.py +6 -0
  4. fnschoo1/canteen/forms.py +84 -0
  5. fnschoo1/canteen/migrations/0001_initial.py +119 -0
  6. fnschoo1/canteen/migrations/0002_ingredient_is_disabled.py +20 -0
  7. fnschoo1/canteen/migrations/0003_consumption_is_disabled_alter_ingredient_is_disabled.py +23 -0
  8. fnschoo1/canteen/migrations/0004_alter_ingredient_name_category_and_more.py +66 -0
  9. fnschoo1/canteen/migrations/0005_alter_category_created_at_alter_category_name_and_more.py +41 -0
  10. fnschoo1/canteen/migrations/0006_category_is_disabled_alter_category_user_and_more.py +49 -0
  11. fnschoo1/canteen/migrations/0007_alter_consumption_amount_used_and_more.py +30 -0
  12. fnschoo1/canteen/migrations/0008_category_abbreviation_mealtype.py +67 -0
  13. fnschoo1/canteen/migrations/0009_alter_category_abbreviation_and_more.py +55 -0
  14. fnschoo1/canteen/migrations/0010_alter_consumption_options_alter_ingredient_options_and_more.py +215 -0
  15. fnschoo1/canteen/migrations/0011_category_pin_to_consumptions_top.py +23 -0
  16. fnschoo1/canteen/migrations/0012_alter_ingredient_storage_date.py +18 -0
  17. fnschoo1/canteen/models.py +179 -0
  18. fnschoo1/canteen/templates/canteen/category/create.html +17 -0
  19. fnschoo1/canteen/templates/canteen/category/delete.html +61 -0
  20. fnschoo1/canteen/templates/canteen/category/list.html +63 -0
  21. fnschoo1/canteen/templates/canteen/category/update.html +23 -0
  22. fnschoo1/canteen/templates/canteen/close.html +11 -0
  23. fnschoo1/canteen/templates/canteen/consumption/_create.html +19 -0
  24. fnschoo1/canteen/templates/canteen/consumption/create.html +456 -0
  25. fnschoo1/canteen/templates/canteen/ingredient/close.html +11 -0
  26. fnschoo1/canteen/templates/canteen/ingredient/create.html +19 -0
  27. fnschoo1/canteen/templates/canteen/ingredient/create_one.html +17 -0
  28. fnschoo1/canteen/templates/canteen/ingredient/delete.html +41 -0
  29. fnschoo1/canteen/templates/canteen/ingredient/list.html +128 -0
  30. fnschoo1/canteen/templates/canteen/ingredient/update.html +23 -0
  31. fnschoo1/canteen/templates/canteen/meal_type/create.html +17 -0
  32. fnschoo1/canteen/templates/canteen/meal_type/delete.html +56 -0
  33. fnschoo1/canteen/templates/canteen/meal_type/list.html +59 -0
  34. fnschoo1/canteen/templates/canteen/meal_type/update.html +23 -0
  35. fnschoo1/canteen/tests.py +3 -0
  36. fnschoo1/canteen/urls.py +116 -0
  37. fnschoo1/canteen/views.py +814 -0
  38. fnschoo1/canteen/workbook/generate.py +2098 -0
  39. fnschoo1/db.sqlite3 +0 -0
  40. fnschoo1/fnschool/__init__.py +13 -0
  41. fnschoo1/fnschool/asgi.py +16 -0
  42. fnschoo1/fnschool/settings.py +167 -0
  43. fnschoo1/fnschool/templatetags/fnschool_tags.py +27 -0
  44. fnschoo1/fnschool/urls.py +30 -0
  45. fnschoo1/fnschool/views.py +9 -0
  46. fnschoo1/fnschool/wsgi.py +16 -0
  47. fnschoo1/locale/en/LC_MESSAGES/django.mo +0 -0
  48. fnschoo1/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  49. fnschoo1/manage.py +25 -0
  50. fnschoo1/profiles/admin.py +27 -0
  51. fnschoo1/profiles/apps.py +12 -0
  52. fnschoo1/profiles/forms.py +67 -0
  53. fnschoo1/profiles/migrations/0001_initial.py +192 -0
  54. fnschoo1/profiles/migrations/0002_alter_profile_bio.py +20 -0
  55. fnschoo1/profiles/migrations/0003_alter_profile_options_alter_profile_address_and_more.py +67 -0
  56. fnschoo1/profiles/migrations/0004_profile_gender.py +26 -0
  57. fnschoo1/profiles/migrations/0005_alter_profile_gender.py +23 -0
  58. fnschoo1/profiles/models.py +60 -0
  59. fnschoo1/profiles/signals.py +20 -0
  60. fnschoo1/profiles/templates/profiles/create.html +16 -0
  61. fnschoo1/profiles/templates/profiles/detail.html +14 -0
  62. fnschoo1/profiles/templates/profiles/edit.html +12 -0
  63. fnschoo1/profiles/templates/profiles/log_in.html +20 -0
  64. fnschoo1/profiles/templates/profiles/log_out.html +12 -0
  65. fnschoo1/profiles/tests.py +3 -0
  66. fnschoo1/profiles/urls.py +15 -0
  67. fnschoo1/profiles/views.py +63 -0
  68. fnschoo1/static/css/bootstrap.min.css +11776 -0
  69. fnschoo1/static/css/fnschool.css +26 -0
  70. fnschoo1/static/images/favicon.ico +0 -0
  71. fnschoo1/static/js/bootstrap.bundle.min.js +4223 -0
  72. fnschoo1/static/js/bootstrap.min.js +2919 -0
  73. fnschoo1/static/js/fnschool.js +84 -0
  74. fnschoo1/static/js/jquery.min.js +5413 -0
  75. fnschoo1/static/js/jquery.slim.min.js +4331 -0
  76. fnschoo1/static/js/popper.min.js +1306 -0
  77. fnschoo1/static_collected/admin/css/autocomplete.css +377 -0
  78. fnschoo1/static_collected/admin/css/base.css +1224 -0
  79. fnschoo1/static_collected/admin/css/changelists.css +334 -0
  80. fnschoo1/static_collected/admin/css/dark_mode.css +136 -0
  81. fnschoo1/static_collected/admin/css/dashboard.css +30 -0
  82. fnschoo1/static_collected/admin/css/forms.css +546 -0
  83. fnschoo1/static_collected/admin/css/login.css +62 -0
  84. fnschoo1/static_collected/admin/css/nav_sidebar.css +145 -0
  85. fnschoo1/static_collected/admin/css/responsive.css +1043 -0
  86. fnschoo1/static_collected/admin/css/responsive_rtl.css +84 -0
  87. fnschoo1/static_collected/admin/css/rtl.css +311 -0
  88. fnschoo1/static_collected/admin/css/vendor/select2/select2.css +708 -0
  89. fnschoo1/static_collected/admin/css/vendor/select2/select2.min.css +1 -0
  90. fnschoo1/static_collected/admin/css/widgets.css +639 -0
  91. fnschoo1/static_collected/admin/js/SelectBox.js +128 -0
  92. fnschoo1/static_collected/admin/js/SelectFilter2.js +503 -0
  93. fnschoo1/static_collected/admin/js/actions.js +232 -0
  94. fnschoo1/static_collected/admin/js/admin/DateTimeShortcuts.js +496 -0
  95. fnschoo1/static_collected/admin/js/admin/RelatedObjectLookups.js +276 -0
  96. fnschoo1/static_collected/admin/js/autocomplete.js +33 -0
  97. fnschoo1/static_collected/admin/js/calendar.js +251 -0
  98. fnschoo1/static_collected/admin/js/cancel.js +29 -0
  99. fnschoo1/static_collected/admin/js/change_form.js +21 -0
  100. fnschoo1/static_collected/admin/js/collapse.js +43 -0
  101. fnschoo1/static_collected/admin/js/core.js +174 -0
  102. fnschoo1/static_collected/admin/js/filters.js +37 -0
  103. fnschoo1/static_collected/admin/js/inlines.js +439 -0
  104. fnschoo1/static_collected/admin/js/jquery.init.js +8 -0
  105. fnschoo1/static_collected/admin/js/nav_sidebar.js +81 -0
  106. fnschoo1/static_collected/admin/js/popup_response.js +24 -0
  107. fnschoo1/static_collected/admin/js/prepopulate.js +43 -0
  108. fnschoo1/static_collected/admin/js/prepopulate_init.js +20 -0
  109. fnschoo1/static_collected/admin/js/theme.js +57 -0
  110. fnschoo1/static_collected/admin/js/urlify.js +529 -0
  111. fnschoo1/static_collected/admin/js/vendor/jquery/jquery.js +10913 -0
  112. fnschoo1/static_collected/admin/js/vendor/jquery/jquery.min.js +2 -0
  113. fnschoo1/static_collected/admin/js/vendor/select2/i18n/af.js +43 -0
  114. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ar.js +36 -0
  115. fnschoo1/static_collected/admin/js/vendor/select2/i18n/az.js +33 -0
  116. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bg.js +38 -0
  117. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bn.js +39 -0
  118. fnschoo1/static_collected/admin/js/vendor/select2/i18n/bs.js +48 -0
  119. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ca.js +41 -0
  120. fnschoo1/static_collected/admin/js/vendor/select2/i18n/cs.js +62 -0
  121. fnschoo1/static_collected/admin/js/vendor/select2/i18n/da.js +37 -0
  122. fnschoo1/static_collected/admin/js/vendor/select2/i18n/de.js +41 -0
  123. fnschoo1/static_collected/admin/js/vendor/select2/i18n/dsb.js +51 -0
  124. fnschoo1/static_collected/admin/js/vendor/select2/i18n/el.js +43 -0
  125. fnschoo1/static_collected/admin/js/vendor/select2/i18n/en.js +41 -0
  126. fnschoo1/static_collected/admin/js/vendor/select2/i18n/es.js +41 -0
  127. fnschoo1/static_collected/admin/js/vendor/select2/i18n/et.js +38 -0
  128. fnschoo1/static_collected/admin/js/vendor/select2/i18n/eu.js +45 -0
  129. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fa.js +42 -0
  130. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fi.js +42 -0
  131. fnschoo1/static_collected/admin/js/vendor/select2/i18n/fr.js +43 -0
  132. fnschoo1/static_collected/admin/js/vendor/select2/i18n/gl.js +40 -0
  133. fnschoo1/static_collected/admin/js/vendor/select2/i18n/he.js +44 -0
  134. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hi.js +40 -0
  135. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hr.js +45 -0
  136. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hsb.js +51 -0
  137. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hu.js +44 -0
  138. fnschoo1/static_collected/admin/js/vendor/select2/i18n/hy.js +40 -0
  139. fnschoo1/static_collected/admin/js/vendor/select2/i18n/id.js +36 -0
  140. fnschoo1/static_collected/admin/js/vendor/select2/i18n/is.js +37 -0
  141. fnschoo1/static_collected/admin/js/vendor/select2/i18n/it.js +43 -0
  142. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ja.js +40 -0
  143. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ka.js +42 -0
  144. fnschoo1/static_collected/admin/js/vendor/select2/i18n/km.js +38 -0
  145. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ko.js +42 -0
  146. fnschoo1/static_collected/admin/js/vendor/select2/i18n/lt.js +45 -0
  147. fnschoo1/static_collected/admin/js/vendor/select2/i18n/lv.js +41 -0
  148. fnschoo1/static_collected/admin/js/vendor/select2/i18n/mk.js +42 -0
  149. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ms.js +38 -0
  150. fnschoo1/static_collected/admin/js/vendor/select2/i18n/nb.js +38 -0
  151. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ne.js +44 -0
  152. fnschoo1/static_collected/admin/js/vendor/select2/i18n/nl.js +46 -0
  153. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pl.js +43 -0
  154. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ps.js +41 -0
  155. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt-BR.js +39 -0
  156. fnschoo1/static_collected/admin/js/vendor/select2/i18n/pt.js +41 -0
  157. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ro.js +43 -0
  158. fnschoo1/static_collected/admin/js/vendor/select2/i18n/ru.js +48 -0
  159. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sk.js +61 -0
  160. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sl.js +41 -0
  161. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sq.js +43 -0
  162. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr-Cyrl.js +48 -0
  163. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sr.js +48 -0
  164. fnschoo1/static_collected/admin/js/vendor/select2/i18n/sv.js +40 -0
  165. fnschoo1/static_collected/admin/js/vendor/select2/i18n/th.js +36 -0
  166. fnschoo1/static_collected/admin/js/vendor/select2/i18n/tk.js +36 -0
  167. fnschoo1/static_collected/admin/js/vendor/select2/i18n/tr.js +40 -0
  168. fnschoo1/static_collected/admin/js/vendor/select2/i18n/uk.js +59 -0
  169. fnschoo1/static_collected/admin/js/vendor/select2/i18n/vi.js +37 -0
  170. fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-CN.js +36 -0
  171. fnschoo1/static_collected/admin/js/vendor/select2/i18n/zh-TW.js +33 -0
  172. fnschoo1/static_collected/admin/js/vendor/select2/select2.full.js +7115 -0
  173. fnschoo1/static_collected/admin/js/vendor/select2/select2.full.min.js +2 -0
  174. fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.js +4993 -0
  175. fnschoo1/static_collected/admin/js/vendor/xregexp/xregexp.min.js +160 -0
  176. fnschoo1/static_collected/css/bootstrap.min.css +11776 -0
  177. fnschoo1/static_collected/css/fnschool.css +26 -0
  178. fnschoo1/static_collected/images/favicon.ico +0 -0
  179. fnschoo1/static_collected/js/bootstrap.bundle.min.js +4223 -0
  180. fnschoo1/static_collected/js/bootstrap.min.js +2919 -0
  181. fnschoo1/static_collected/js/fnschool.js +84 -0
  182. fnschoo1/static_collected/js/jquery.min.js +5413 -0
  183. fnschoo1/static_collected/js/jquery.slim.min.js +4331 -0
  184. fnschoo1/static_collected/js/popper.min.js +1306 -0
  185. fnschoo1/templates/base/_css.html +1 -0
  186. fnschoo1/templates/base/_js.html +15 -0
  187. fnschoo1/templates/base/content.html +30 -0
  188. fnschoo1/templates/base/header_content_footer.html +35 -0
  189. fnschoo1/templates/close.html +11 -0
  190. fnschoo1/templates/home.html +51 -0
  191. fnschoo1/templates/includes/_footer.html +39 -0
  192. fnschoo1/templates/includes/_header.html +77 -0
  193. fnschoo1/templates/includes/_navigation.html +0 -0
  194. fnschoo1/templates/includes/_paginator.html +27 -0
  195. fnschoo1/templates/registration/logged_out.html +0 -0
  196. fnschoo1/templates/registration/login.html +0 -0
  197. fnschool-20251011.81638.854.dist-info/METADATA +179 -0
  198. fnschool-20251011.81638.854.dist-info/RECORD +209 -0
  199. {fnschool-20250109.80531.837.dist-info → fnschool-20251011.81638.854.dist-info}/WHEEL +1 -1
  200. fnschool-20251011.81638.854.dist-info/entry_points.txt +2 -0
  201. fnschool-20251011.81638.854.dist-info/top_level.txt +1 -0
  202. fnschool/__init__.py +0 -35
  203. fnschool/__main__.py +0 -16
  204. fnschool/app.py +0 -103
  205. fnschool/canteen/__init__.py +0 -3
  206. fnschool/canteen/__main__.py +0 -3
  207. fnschool/canteen/bill.py +0 -253
  208. fnschool/canteen/canteen.py +0 -1
  209. fnschool/canteen/canteen.toml +0 -61
  210. fnschool/canteen/config.py +0 -10
  211. fnschool/canteen/consuming.py +0 -53
  212. fnschool/canteen/currency.py +0 -17
  213. fnschool/canteen/data/bill.i18n.xlsx +0 -0
  214. fnschool/canteen/data/bill.xlsx +0 -0
  215. fnschool/canteen/data/consuming.xlsx +0 -0
  216. fnschool/canteen/data/purchase_list.xlsx +0 -0
  217. fnschool/canteen/entry.py +0 -40
  218. fnschool/canteen/food.py +0 -206
  219. fnschool/canteen/food_classes.py +0 -33
  220. fnschool/canteen/food_classes.toml +0 -64
  221. fnschool/canteen/operator.py +0 -91
  222. fnschool/canteen/path.py +0 -28
  223. fnschool/canteen/spreadsheet/base.py +0 -213
  224. fnschool/canteen/spreadsheet/consuming.py +0 -310
  225. fnschool/canteen/spreadsheet/consumingsum.py +0 -76
  226. fnschool/canteen/spreadsheet/cover.py +0 -64
  227. fnschool/canteen/spreadsheet/ctspreadsheet.py +0 -351
  228. fnschool/canteen/spreadsheet/food.py +0 -680
  229. fnschool/canteen/spreadsheet/inventory.py +0 -375
  230. fnschool/canteen/spreadsheet/merging.py +0 -340
  231. fnschool/canteen/spreadsheet/preconsuming.py +0 -329
  232. fnschool/canteen/spreadsheet/purchasing.py +0 -885
  233. fnschool/canteen/spreadsheet/purchasingsum.py +0 -110
  234. fnschool/canteen/spreadsheet/spreadsheet.py +0 -363
  235. fnschool/canteen/spreadsheet/translating.py +0 -12
  236. fnschool/canteen/spreadsheet/unwarehousing.py +0 -178
  237. fnschool/canteen/spreadsheet/unwarehousingsum.py +0 -11
  238. fnschool/canteen/spreadsheet/warehousing.py +0 -360
  239. fnschool/canteen/spreadsheet/workbook.py +0 -17
  240. fnschool/canteen/test.py +0 -97
  241. fnschool/config.py +0 -48
  242. fnschool/entry.py +0 -67
  243. fnschool/exam/__init__.py +0 -8
  244. fnschool/exam/data/parental_emails.xlsx +0 -0
  245. fnschool/exam/data/score.xlsx +0 -0
  246. fnschool/exam/email.py +0 -349
  247. fnschool/exam/entry.py +0 -36
  248. fnschool/exam/language.py +0 -19
  249. fnschool/exam/path.py +0 -24
  250. fnschool/exam/score.py +0 -1191
  251. fnschool/exam/subject.py +0 -20
  252. fnschool/exam/teacher.py +0 -54
  253. fnschool/external.py +0 -89
  254. fnschool/games/__init__.py +0 -1
  255. fnschool/games/__main__.py +0 -1
  256. fnschool/games/games.py +0 -1
  257. fnschool/inoutput.py +0 -97
  258. fnschool/language.py +0 -40
  259. fnschool/locales/en_US/LC_MESSAGES/fnschool.mo +0 -0
  260. fnschool/locales/zh_CN/LC_MESSAGES/fnschool.mo +0 -0
  261. fnschool/locales/zh_HK/LC_MESSAGES/fnschool.mo +0 -0
  262. fnschool/locales/zh_SG/LC_MESSAGES/fnschool.mo +0 -0
  263. fnschool/locales/zh_TW/LC_MESSAGES/fnschool.mo +0 -0
  264. fnschool/path.py +0 -45
  265. fnschool/test.py +0 -24
  266. fnschool/user.py +0 -262
  267. fnschool-20250109.80531.837.dist-info/METADATA +0 -342
  268. fnschool-20250109.80531.837.dist-info/RECORD +0 -78
  269. fnschool-20250109.80531.837.dist-info/entry_points.txt +0 -5
  270. fnschool-20250109.80531.837.dist-info/top_level.txt +0 -1
  271. /fnschool/canteen/consume.py → /fnschoo1/canteen/__init__.py +0 -0
  272. /fnschool/canteen/food_recount.toml → /fnschoo1/canteen/migrations/__init__.py +0 -0
  273. {fnschool/canteen/spreadsheet → fnschoo1/canteen/workbook}/__init__.py +0 -0
  274. /fnschool/exam/__main__.py → /fnschoo1/fnschool/templatetags/__init__.py +0 -0
  275. /fnschool/canteen/food_recounts.toml → /fnschoo1/profiles/__init__.py +0 -0
  276. /fnschool/canteen/warehouse.py → /fnschoo1/profiles/migrations/__init__.py +0 -0
  277. /fnschool/canteen/workbook.toml → /fnschoo1/templates/base/_content.html +0 -0
  278. {fnschool-20250109.80531.837.dist-info → fnschool-20251011.81638.854.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,4223 @@
1
+ /*!
2
+ * Bootstrap v5.3.8 (https://getbootstrap.com/)
3
+ * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ !(function (t, e) {
7
+ "object" == typeof exports && "undefined" != typeof module
8
+ ? (module.exports = e())
9
+ : "function" == typeof define && define.amd
10
+ ? define(e)
11
+ : ((t =
12
+ "undefined" != typeof globalThis ? globalThis : t || self).bootstrap =
13
+ e());
14
+ })(this, function () {
15
+ "use strict";
16
+ const t = new Map(),
17
+ e = {
18
+ set(e, i, n) {
19
+ t.has(e) || t.set(e, new Map());
20
+ const s = t.get(e);
21
+ s.has(i) || 0 === s.size
22
+ ? s.set(i, n)
23
+ : console.error(
24
+ `Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`,
25
+ );
26
+ },
27
+ get: (e, i) => (t.has(e) && t.get(e).get(i)) || null,
28
+ remove(e, i) {
29
+ if (!t.has(e)) return;
30
+ const n = t.get(e);
31
+ n.delete(i), 0 === n.size && t.delete(e);
32
+ },
33
+ },
34
+ i = "transitionend",
35
+ n = (t) => (
36
+ t &&
37
+ window.CSS &&
38
+ window.CSS.escape &&
39
+ (t = t.replace(/#([^\s"#']+)/g, (t, e) => `#${CSS.escape(e)}`)),
40
+ t
41
+ ),
42
+ s = (t) =>
43
+ null == t
44
+ ? `${t}`
45
+ : Object.prototype.toString
46
+ .call(t)
47
+ .match(/\s([a-z]+)/i)[1]
48
+ .toLowerCase(),
49
+ o = (t) => {
50
+ t.dispatchEvent(new Event(i));
51
+ },
52
+ r = (t) =>
53
+ !(!t || "object" != typeof t) &&
54
+ (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
55
+ a = (t) =>
56
+ r(t)
57
+ ? t.jquery
58
+ ? t[0]
59
+ : t
60
+ : "string" == typeof t && t.length > 0
61
+ ? document.querySelector(n(t))
62
+ : null,
63
+ l = (t) => {
64
+ if (!r(t) || 0 === t.getClientRects().length) return !1;
65
+ const e =
66
+ "visible" === getComputedStyle(t).getPropertyValue("visibility"),
67
+ i = t.closest("details:not([open])");
68
+ if (!i) return e;
69
+ if (i !== t) {
70
+ const e = t.closest("summary");
71
+ if (e && e.parentNode !== i) return !1;
72
+ if (null === e) return !1;
73
+ }
74
+ return e;
75
+ },
76
+ c = (t) =>
77
+ !t ||
78
+ t.nodeType !== Node.ELEMENT_NODE ||
79
+ !!t.classList.contains("disabled") ||
80
+ (void 0 !== t.disabled
81
+ ? t.disabled
82
+ : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
83
+ h = (t) => {
84
+ if (!document.documentElement.attachShadow) return null;
85
+ if ("function" == typeof t.getRootNode) {
86
+ const e = t.getRootNode();
87
+ return e instanceof ShadowRoot ? e : null;
88
+ }
89
+ return t instanceof ShadowRoot
90
+ ? t
91
+ : t.parentNode
92
+ ? h(t.parentNode)
93
+ : null;
94
+ },
95
+ d = () => {},
96
+ u = (t) => {
97
+ t.offsetHeight;
98
+ },
99
+ f = () =>
100
+ window.jQuery && !document.body.hasAttribute("data-bs-no-jquery")
101
+ ? window.jQuery
102
+ : null,
103
+ p = [],
104
+ m = () => "rtl" === document.documentElement.dir,
105
+ g = (t) => {
106
+ var e;
107
+ (e = () => {
108
+ const e = f();
109
+ if (e) {
110
+ const i = t.NAME,
111
+ n = e.fn[i];
112
+ (e.fn[i] = t.jQueryInterface),
113
+ (e.fn[i].Constructor = t),
114
+ (e.fn[i].noConflict = () => ((e.fn[i] = n), t.jQueryInterface));
115
+ }
116
+ }),
117
+ "loading" === document.readyState
118
+ ? (p.length ||
119
+ document.addEventListener("DOMContentLoaded", () => {
120
+ for (const t of p) t();
121
+ }),
122
+ p.push(e))
123
+ : e();
124
+ },
125
+ _ = (t, e = [], i = t) => ("function" == typeof t ? t.call(...e) : i),
126
+ b = (t, e, n = !0) => {
127
+ if (!n) return void _(t);
128
+ const s =
129
+ ((t) => {
130
+ if (!t) return 0;
131
+ let { transitionDuration: e, transitionDelay: i } =
132
+ window.getComputedStyle(t);
133
+ const n = Number.parseFloat(e),
134
+ s = Number.parseFloat(i);
135
+ return n || s
136
+ ? ((e = e.split(",")[0]),
137
+ (i = i.split(",")[0]),
138
+ 1e3 * (Number.parseFloat(e) + Number.parseFloat(i)))
139
+ : 0;
140
+ })(e) + 5;
141
+ let r = !1;
142
+ const a = ({ target: n }) => {
143
+ n === e && ((r = !0), e.removeEventListener(i, a), _(t));
144
+ };
145
+ e.addEventListener(i, a),
146
+ setTimeout(() => {
147
+ r || o(e);
148
+ }, s);
149
+ },
150
+ v = (t, e, i, n) => {
151
+ const s = t.length;
152
+ let o = t.indexOf(e);
153
+ return -1 === o
154
+ ? !i && n
155
+ ? t[s - 1]
156
+ : t[0]
157
+ : ((o += i ? 1 : -1),
158
+ n && (o = (o + s) % s),
159
+ t[Math.max(0, Math.min(o, s - 1))]);
160
+ },
161
+ y = /[^.]*(?=\..*)\.|.*/,
162
+ w = /\..*/,
163
+ A = /::\d+$/,
164
+ E = {};
165
+ let T = 1;
166
+ const C = { mouseenter: "mouseover", mouseleave: "mouseout" },
167
+ O = new Set([
168
+ "click",
169
+ "dblclick",
170
+ "mouseup",
171
+ "mousedown",
172
+ "contextmenu",
173
+ "mousewheel",
174
+ "DOMMouseScroll",
175
+ "mouseover",
176
+ "mouseout",
177
+ "mousemove",
178
+ "selectstart",
179
+ "selectend",
180
+ "keydown",
181
+ "keypress",
182
+ "keyup",
183
+ "orientationchange",
184
+ "touchstart",
185
+ "touchmove",
186
+ "touchend",
187
+ "touchcancel",
188
+ "pointerdown",
189
+ "pointermove",
190
+ "pointerup",
191
+ "pointerleave",
192
+ "pointercancel",
193
+ "gesturestart",
194
+ "gesturechange",
195
+ "gestureend",
196
+ "focus",
197
+ "blur",
198
+ "change",
199
+ "reset",
200
+ "select",
201
+ "submit",
202
+ "focusin",
203
+ "focusout",
204
+ "load",
205
+ "unload",
206
+ "beforeunload",
207
+ "resize",
208
+ "move",
209
+ "DOMContentLoaded",
210
+ "readystatechange",
211
+ "error",
212
+ "abort",
213
+ "scroll",
214
+ ]);
215
+ function x(t, e) {
216
+ return (e && `${e}::${T++}`) || t.uidEvent || T++;
217
+ }
218
+ function k(t) {
219
+ const e = x(t);
220
+ return (t.uidEvent = e), (E[e] = E[e] || {}), E[e];
221
+ }
222
+ function L(t, e, i = null) {
223
+ return Object.values(t).find(
224
+ (t) => t.callable === e && t.delegationSelector === i,
225
+ );
226
+ }
227
+ function S(t, e, i) {
228
+ const n = "string" == typeof e,
229
+ s = n ? i : e || i;
230
+ let o = N(t);
231
+ return O.has(o) || (o = t), [n, s, o];
232
+ }
233
+ function D(t, e, i, n, s) {
234
+ if ("string" != typeof e || !t) return;
235
+ let [o, r, a] = S(e, i, n);
236
+ if (e in C) {
237
+ const t = (t) =>
238
+ function (e) {
239
+ if (
240
+ !e.relatedTarget ||
241
+ (e.relatedTarget !== e.delegateTarget &&
242
+ !e.delegateTarget.contains(e.relatedTarget))
243
+ )
244
+ return t.call(this, e);
245
+ };
246
+ r = t(r);
247
+ }
248
+ const l = k(t),
249
+ c = l[a] || (l[a] = {}),
250
+ h = L(c, r, o ? i : null);
251
+ if (h) return void (h.oneOff = h.oneOff && s);
252
+ const d = x(r, e.replace(y, "")),
253
+ u = o
254
+ ? (function (t, e, i) {
255
+ return function n(s) {
256
+ const o = t.querySelectorAll(e);
257
+ for (let { target: r } = s; r && r !== this; r = r.parentNode)
258
+ for (const a of o)
259
+ if (a === r)
260
+ return (
261
+ j(s, { delegateTarget: r }),
262
+ n.oneOff && P.off(t, s.type, e, i),
263
+ i.apply(r, [s])
264
+ );
265
+ };
266
+ })(t, i, r)
267
+ : (function (t, e) {
268
+ return function i(n) {
269
+ return (
270
+ j(n, { delegateTarget: t }),
271
+ i.oneOff && P.off(t, n.type, e),
272
+ e.apply(t, [n])
273
+ );
274
+ };
275
+ })(t, r);
276
+ (u.delegationSelector = o ? i : null),
277
+ (u.callable = r),
278
+ (u.oneOff = s),
279
+ (u.uidEvent = d),
280
+ (c[d] = u),
281
+ t.addEventListener(a, u, o);
282
+ }
283
+ function $(t, e, i, n, s) {
284
+ const o = L(e[i], n, s);
285
+ o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]);
286
+ }
287
+ function I(t, e, i, n) {
288
+ const s = e[i] || {};
289
+ for (const [o, r] of Object.entries(s))
290
+ o.includes(n) && $(t, e, i, r.callable, r.delegationSelector);
291
+ }
292
+ function N(t) {
293
+ return (t = t.replace(w, "")), C[t] || t;
294
+ }
295
+ const P = {
296
+ on(t, e, i, n) {
297
+ D(t, e, i, n, !1);
298
+ },
299
+ one(t, e, i, n) {
300
+ D(t, e, i, n, !0);
301
+ },
302
+ off(t, e, i, n) {
303
+ if ("string" != typeof e || !t) return;
304
+ const [s, o, r] = S(e, i, n),
305
+ a = r !== e,
306
+ l = k(t),
307
+ c = l[r] || {},
308
+ h = e.startsWith(".");
309
+ if (void 0 === o) {
310
+ if (h) for (const i of Object.keys(l)) I(t, l, i, e.slice(1));
311
+ for (const [i, n] of Object.entries(c)) {
312
+ const s = i.replace(A, "");
313
+ (a && !e.includes(s)) || $(t, l, r, n.callable, n.delegationSelector);
314
+ }
315
+ } else {
316
+ if (!Object.keys(c).length) return;
317
+ $(t, l, r, o, s ? i : null);
318
+ }
319
+ },
320
+ trigger(t, e, i) {
321
+ if ("string" != typeof e || !t) return null;
322
+ const n = f();
323
+ let s = null,
324
+ o = !0,
325
+ r = !0,
326
+ a = !1;
327
+ e !== N(e) &&
328
+ n &&
329
+ ((s = n.Event(e, i)),
330
+ n(t).trigger(s),
331
+ (o = !s.isPropagationStopped()),
332
+ (r = !s.isImmediatePropagationStopped()),
333
+ (a = s.isDefaultPrevented()));
334
+ const l = j(new Event(e, { bubbles: o, cancelable: !0 }), i);
335
+ return (
336
+ a && l.preventDefault(),
337
+ r && t.dispatchEvent(l),
338
+ l.defaultPrevented && s && s.preventDefault(),
339
+ l
340
+ );
341
+ },
342
+ };
343
+ function j(t, e = {}) {
344
+ for (const [i, n] of Object.entries(e))
345
+ try {
346
+ t[i] = n;
347
+ } catch (e) {
348
+ Object.defineProperty(t, i, { configurable: !0, get: () => n });
349
+ }
350
+ return t;
351
+ }
352
+ function M(t) {
353
+ if ("true" === t) return !0;
354
+ if ("false" === t) return !1;
355
+ if (t === Number(t).toString()) return Number(t);
356
+ if ("" === t || "null" === t) return null;
357
+ if ("string" != typeof t) return t;
358
+ try {
359
+ return JSON.parse(decodeURIComponent(t));
360
+ } catch (e) {
361
+ return t;
362
+ }
363
+ }
364
+ function F(t) {
365
+ return t.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`);
366
+ }
367
+ const H = {
368
+ setDataAttribute(t, e, i) {
369
+ t.setAttribute(`data-bs-${F(e)}`, i);
370
+ },
371
+ removeDataAttribute(t, e) {
372
+ t.removeAttribute(`data-bs-${F(e)}`);
373
+ },
374
+ getDataAttributes(t) {
375
+ if (!t) return {};
376
+ const e = {},
377
+ i = Object.keys(t.dataset).filter(
378
+ (t) => t.startsWith("bs") && !t.startsWith("bsConfig"),
379
+ );
380
+ for (const n of i) {
381
+ let i = n.replace(/^bs/, "");
382
+ (i = i.charAt(0).toLowerCase() + i.slice(1)), (e[i] = M(t.dataset[n]));
383
+ }
384
+ return e;
385
+ },
386
+ getDataAttribute: (t, e) => M(t.getAttribute(`data-bs-${F(e)}`)),
387
+ };
388
+ class W {
389
+ static get Default() {
390
+ return {};
391
+ }
392
+ static get DefaultType() {
393
+ return {};
394
+ }
395
+ static get NAME() {
396
+ throw new Error(
397
+ 'You have to implement the static method "NAME", for each component!',
398
+ );
399
+ }
400
+ _getConfig(t) {
401
+ return (
402
+ (t = this._mergeConfigObj(t)),
403
+ (t = this._configAfterMerge(t)),
404
+ this._typeCheckConfig(t),
405
+ t
406
+ );
407
+ }
408
+ _configAfterMerge(t) {
409
+ return t;
410
+ }
411
+ _mergeConfigObj(t, e) {
412
+ const i = r(e) ? H.getDataAttribute(e, "config") : {};
413
+ return {
414
+ ...this.constructor.Default,
415
+ ...("object" == typeof i ? i : {}),
416
+ ...(r(e) ? H.getDataAttributes(e) : {}),
417
+ ...("object" == typeof t ? t : {}),
418
+ };
419
+ }
420
+ _typeCheckConfig(t, e = this.constructor.DefaultType) {
421
+ for (const [i, n] of Object.entries(e)) {
422
+ const e = t[i],
423
+ o = r(e) ? "element" : s(e);
424
+ if (!new RegExp(n).test(o))
425
+ throw new TypeError(
426
+ `${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`,
427
+ );
428
+ }
429
+ }
430
+ }
431
+ class B extends W {
432
+ constructor(t, i) {
433
+ super(),
434
+ (t = a(t)) &&
435
+ ((this._element = t),
436
+ (this._config = this._getConfig(i)),
437
+ e.set(this._element, this.constructor.DATA_KEY, this));
438
+ }
439
+ dispose() {
440
+ e.remove(this._element, this.constructor.DATA_KEY),
441
+ P.off(this._element, this.constructor.EVENT_KEY);
442
+ for (const t of Object.getOwnPropertyNames(this)) this[t] = null;
443
+ }
444
+ _queueCallback(t, e, i = !0) {
445
+ b(t, e, i);
446
+ }
447
+ _getConfig(t) {
448
+ return (
449
+ (t = this._mergeConfigObj(t, this._element)),
450
+ (t = this._configAfterMerge(t)),
451
+ this._typeCheckConfig(t),
452
+ t
453
+ );
454
+ }
455
+ static getInstance(t) {
456
+ return e.get(a(t), this.DATA_KEY);
457
+ }
458
+ static getOrCreateInstance(t, e = {}) {
459
+ return (
460
+ this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
461
+ );
462
+ }
463
+ static get VERSION() {
464
+ return "5.3.8";
465
+ }
466
+ static get DATA_KEY() {
467
+ return `bs.${this.NAME}`;
468
+ }
469
+ static get EVENT_KEY() {
470
+ return `.${this.DATA_KEY}`;
471
+ }
472
+ static eventName(t) {
473
+ return `${t}${this.EVENT_KEY}`;
474
+ }
475
+ }
476
+ const z = (t) => {
477
+ let e = t.getAttribute("data-bs-target");
478
+ if (!e || "#" === e) {
479
+ let i = t.getAttribute("href");
480
+ if (!i || (!i.includes("#") && !i.startsWith("."))) return null;
481
+ i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`),
482
+ (e = i && "#" !== i ? i.trim() : null);
483
+ }
484
+ return e
485
+ ? e
486
+ .split(",")
487
+ .map((t) => n(t))
488
+ .join(",")
489
+ : null;
490
+ },
491
+ R = {
492
+ find: (t, e = document.documentElement) =>
493
+ [].concat(...Element.prototype.querySelectorAll.call(e, t)),
494
+ findOne: (t, e = document.documentElement) =>
495
+ Element.prototype.querySelector.call(e, t),
496
+ children: (t, e) => [].concat(...t.children).filter((t) => t.matches(e)),
497
+ parents(t, e) {
498
+ const i = [];
499
+ let n = t.parentNode.closest(e);
500
+ for (; n; ) i.push(n), (n = n.parentNode.closest(e));
501
+ return i;
502
+ },
503
+ prev(t, e) {
504
+ let i = t.previousElementSibling;
505
+ for (; i; ) {
506
+ if (i.matches(e)) return [i];
507
+ i = i.previousElementSibling;
508
+ }
509
+ return [];
510
+ },
511
+ next(t, e) {
512
+ let i = t.nextElementSibling;
513
+ for (; i; ) {
514
+ if (i.matches(e)) return [i];
515
+ i = i.nextElementSibling;
516
+ }
517
+ return [];
518
+ },
519
+ focusableChildren(t) {
520
+ const e = [
521
+ "a",
522
+ "button",
523
+ "input",
524
+ "textarea",
525
+ "select",
526
+ "details",
527
+ "[tabindex]",
528
+ '[contenteditable="true"]',
529
+ ]
530
+ .map((t) => `${t}:not([tabindex^="-"])`)
531
+ .join(",");
532
+ return this.find(e, t).filter((t) => !c(t) && l(t));
533
+ },
534
+ getSelectorFromElement(t) {
535
+ const e = z(t);
536
+ return e && R.findOne(e) ? e : null;
537
+ },
538
+ getElementFromSelector(t) {
539
+ const e = z(t);
540
+ return e ? R.findOne(e) : null;
541
+ },
542
+ getMultipleElementsFromSelector(t) {
543
+ const e = z(t);
544
+ return e ? R.find(e) : [];
545
+ },
546
+ },
547
+ q = (t, e = "hide") => {
548
+ const i = `click.dismiss${t.EVENT_KEY}`,
549
+ n = t.NAME;
550
+ P.on(document, i, `[data-bs-dismiss="${n}"]`, function (i) {
551
+ if (
552
+ (["A", "AREA"].includes(this.tagName) && i.preventDefault(), c(this))
553
+ )
554
+ return;
555
+ const s = R.getElementFromSelector(this) || this.closest(`.${n}`);
556
+ t.getOrCreateInstance(s)[e]();
557
+ });
558
+ },
559
+ V = ".bs.alert",
560
+ K = `close${V}`,
561
+ Q = `closed${V}`;
562
+ class X extends B {
563
+ static get NAME() {
564
+ return "alert";
565
+ }
566
+ close() {
567
+ if (P.trigger(this._element, K).defaultPrevented) return;
568
+ this._element.classList.remove("show");
569
+ const t = this._element.classList.contains("fade");
570
+ this._queueCallback(() => this._destroyElement(), this._element, t);
571
+ }
572
+ _destroyElement() {
573
+ this._element.remove(), P.trigger(this._element, Q), this.dispose();
574
+ }
575
+ static jQueryInterface(t) {
576
+ return this.each(function () {
577
+ const e = X.getOrCreateInstance(this);
578
+ if ("string" == typeof t) {
579
+ if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
580
+ throw new TypeError(`No method named "${t}"`);
581
+ e[t](this);
582
+ }
583
+ });
584
+ }
585
+ }
586
+ q(X, "close"), g(X);
587
+ const Y = '[data-bs-toggle="button"]';
588
+ class U extends B {
589
+ static get NAME() {
590
+ return "button";
591
+ }
592
+ toggle() {
593
+ this._element.setAttribute(
594
+ "aria-pressed",
595
+ this._element.classList.toggle("active"),
596
+ );
597
+ }
598
+ static jQueryInterface(t) {
599
+ return this.each(function () {
600
+ const e = U.getOrCreateInstance(this);
601
+ "toggle" === t && e[t]();
602
+ });
603
+ }
604
+ }
605
+ P.on(document, "click.bs.button.data-api", Y, (t) => {
606
+ t.preventDefault();
607
+ const e = t.target.closest(Y);
608
+ U.getOrCreateInstance(e).toggle();
609
+ }),
610
+ g(U);
611
+ const G = ".bs.swipe",
612
+ J = `touchstart${G}`,
613
+ Z = `touchmove${G}`,
614
+ tt = `touchend${G}`,
615
+ et = `pointerdown${G}`,
616
+ it = `pointerup${G}`,
617
+ nt = { endCallback: null, leftCallback: null, rightCallback: null },
618
+ st = {
619
+ endCallback: "(function|null)",
620
+ leftCallback: "(function|null)",
621
+ rightCallback: "(function|null)",
622
+ };
623
+ class ot extends W {
624
+ constructor(t, e) {
625
+ super(),
626
+ (this._element = t),
627
+ t &&
628
+ ot.isSupported() &&
629
+ ((this._config = this._getConfig(e)),
630
+ (this._deltaX = 0),
631
+ (this._supportPointerEvents = Boolean(window.PointerEvent)),
632
+ this._initEvents());
633
+ }
634
+ static get Default() {
635
+ return nt;
636
+ }
637
+ static get DefaultType() {
638
+ return st;
639
+ }
640
+ static get NAME() {
641
+ return "swipe";
642
+ }
643
+ dispose() {
644
+ P.off(this._element, G);
645
+ }
646
+ _start(t) {
647
+ this._supportPointerEvents
648
+ ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX)
649
+ : (this._deltaX = t.touches[0].clientX);
650
+ }
651
+ _end(t) {
652
+ this._eventIsPointerPenTouch(t) &&
653
+ (this._deltaX = t.clientX - this._deltaX),
654
+ this._handleSwipe(),
655
+ _(this._config.endCallback);
656
+ }
657
+ _move(t) {
658
+ this._deltaX =
659
+ t.touches && t.touches.length > 1
660
+ ? 0
661
+ : t.touches[0].clientX - this._deltaX;
662
+ }
663
+ _handleSwipe() {
664
+ const t = Math.abs(this._deltaX);
665
+ if (t <= 40) return;
666
+ const e = t / this._deltaX;
667
+ (this._deltaX = 0),
668
+ e && _(e > 0 ? this._config.rightCallback : this._config.leftCallback);
669
+ }
670
+ _initEvents() {
671
+ this._supportPointerEvents
672
+ ? (P.on(this._element, et, (t) => this._start(t)),
673
+ P.on(this._element, it, (t) => this._end(t)),
674
+ this._element.classList.add("pointer-event"))
675
+ : (P.on(this._element, J, (t) => this._start(t)),
676
+ P.on(this._element, Z, (t) => this._move(t)),
677
+ P.on(this._element, tt, (t) => this._end(t)));
678
+ }
679
+ _eventIsPointerPenTouch(t) {
680
+ return (
681
+ this._supportPointerEvents &&
682
+ ("pen" === t.pointerType || "touch" === t.pointerType)
683
+ );
684
+ }
685
+ static isSupported() {
686
+ return (
687
+ "ontouchstart" in document.documentElement ||
688
+ navigator.maxTouchPoints > 0
689
+ );
690
+ }
691
+ }
692
+ const rt = ".bs.carousel",
693
+ at = ".data-api",
694
+ lt = "ArrowLeft",
695
+ ct = "ArrowRight",
696
+ ht = "next",
697
+ dt = "prev",
698
+ ut = "left",
699
+ ft = "right",
700
+ pt = `slide${rt}`,
701
+ mt = `slid${rt}`,
702
+ gt = `keydown${rt}`,
703
+ _t = `mouseenter${rt}`,
704
+ bt = `mouseleave${rt}`,
705
+ vt = `dragstart${rt}`,
706
+ yt = `load${rt}${at}`,
707
+ wt = `click${rt}${at}`,
708
+ At = "carousel",
709
+ Et = "active",
710
+ Tt = ".active",
711
+ Ct = ".carousel-item",
712
+ Ot = Tt + Ct,
713
+ xt = { [lt]: ft, [ct]: ut },
714
+ kt = {
715
+ interval: 5e3,
716
+ keyboard: !0,
717
+ pause: "hover",
718
+ ride: !1,
719
+ touch: !0,
720
+ wrap: !0,
721
+ },
722
+ Lt = {
723
+ interval: "(number|boolean)",
724
+ keyboard: "boolean",
725
+ pause: "(string|boolean)",
726
+ ride: "(boolean|string)",
727
+ touch: "boolean",
728
+ wrap: "boolean",
729
+ };
730
+ class St extends B {
731
+ constructor(t, e) {
732
+ super(t, e),
733
+ (this._interval = null),
734
+ (this._activeElement = null),
735
+ (this._isSliding = !1),
736
+ (this.touchTimeout = null),
737
+ (this._swipeHelper = null),
738
+ (this._indicatorsElement = R.findOne(
739
+ ".carousel-indicators",
740
+ this._element,
741
+ )),
742
+ this._addEventListeners(),
743
+ this._config.ride === At && this.cycle();
744
+ }
745
+ static get Default() {
746
+ return kt;
747
+ }
748
+ static get DefaultType() {
749
+ return Lt;
750
+ }
751
+ static get NAME() {
752
+ return "carousel";
753
+ }
754
+ next() {
755
+ this._slide(ht);
756
+ }
757
+ nextWhenVisible() {
758
+ !document.hidden && l(this._element) && this.next();
759
+ }
760
+ prev() {
761
+ this._slide(dt);
762
+ }
763
+ pause() {
764
+ this._isSliding && o(this._element), this._clearInterval();
765
+ }
766
+ cycle() {
767
+ this._clearInterval(),
768
+ this._updateInterval(),
769
+ (this._interval = setInterval(
770
+ () => this.nextWhenVisible(),
771
+ this._config.interval,
772
+ ));
773
+ }
774
+ _maybeEnableCycle() {
775
+ this._config.ride &&
776
+ (this._isSliding
777
+ ? P.one(this._element, mt, () => this.cycle())
778
+ : this.cycle());
779
+ }
780
+ to(t) {
781
+ const e = this._getItems();
782
+ if (t > e.length - 1 || t < 0) return;
783
+ if (this._isSliding)
784
+ return void P.one(this._element, mt, () => this.to(t));
785
+ const i = this._getItemIndex(this._getActive());
786
+ if (i === t) return;
787
+ const n = t > i ? ht : dt;
788
+ this._slide(n, e[t]);
789
+ }
790
+ dispose() {
791
+ this._swipeHelper && this._swipeHelper.dispose(), super.dispose();
792
+ }
793
+ _configAfterMerge(t) {
794
+ return (t.defaultInterval = t.interval), t;
795
+ }
796
+ _addEventListeners() {
797
+ this._config.keyboard && P.on(this._element, gt, (t) => this._keydown(t)),
798
+ "hover" === this._config.pause &&
799
+ (P.on(this._element, _t, () => this.pause()),
800
+ P.on(this._element, bt, () => this._maybeEnableCycle())),
801
+ this._config.touch &&
802
+ ot.isSupported() &&
803
+ this._addTouchEventListeners();
804
+ }
805
+ _addTouchEventListeners() {
806
+ for (const t of R.find(".carousel-item img", this._element))
807
+ P.on(t, vt, (t) => t.preventDefault());
808
+ const t = {
809
+ leftCallback: () => this._slide(this._directionToOrder(ut)),
810
+ rightCallback: () => this._slide(this._directionToOrder(ft)),
811
+ endCallback: () => {
812
+ "hover" === this._config.pause &&
813
+ (this.pause(),
814
+ this.touchTimeout && clearTimeout(this.touchTimeout),
815
+ (this.touchTimeout = setTimeout(
816
+ () => this._maybeEnableCycle(),
817
+ 500 + this._config.interval,
818
+ )));
819
+ },
820
+ };
821
+ this._swipeHelper = new ot(this._element, t);
822
+ }
823
+ _keydown(t) {
824
+ if (/input|textarea/i.test(t.target.tagName)) return;
825
+ const e = xt[t.key];
826
+ e && (t.preventDefault(), this._slide(this._directionToOrder(e)));
827
+ }
828
+ _getItemIndex(t) {
829
+ return this._getItems().indexOf(t);
830
+ }
831
+ _setActiveIndicatorElement(t) {
832
+ if (!this._indicatorsElement) return;
833
+ const e = R.findOne(Tt, this._indicatorsElement);
834
+ e.classList.remove(Et), e.removeAttribute("aria-current");
835
+ const i = R.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement);
836
+ i && (i.classList.add(Et), i.setAttribute("aria-current", "true"));
837
+ }
838
+ _updateInterval() {
839
+ const t = this._activeElement || this._getActive();
840
+ if (!t) return;
841
+ const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
842
+ this._config.interval = e || this._config.defaultInterval;
843
+ }
844
+ _slide(t, e = null) {
845
+ if (this._isSliding) return;
846
+ const i = this._getActive(),
847
+ n = t === ht,
848
+ s = e || v(this._getItems(), i, n, this._config.wrap);
849
+ if (s === i) return;
850
+ const o = this._getItemIndex(s),
851
+ r = (e) =>
852
+ P.trigger(this._element, e, {
853
+ relatedTarget: s,
854
+ direction: this._orderToDirection(t),
855
+ from: this._getItemIndex(i),
856
+ to: o,
857
+ });
858
+ if (r(pt).defaultPrevented) return;
859
+ if (!i || !s) return;
860
+ const a = Boolean(this._interval);
861
+ this.pause(),
862
+ (this._isSliding = !0),
863
+ this._setActiveIndicatorElement(o),
864
+ (this._activeElement = s);
865
+ const l = n ? "carousel-item-start" : "carousel-item-end",
866
+ c = n ? "carousel-item-next" : "carousel-item-prev";
867
+ s.classList.add(c),
868
+ u(s),
869
+ i.classList.add(l),
870
+ s.classList.add(l),
871
+ this._queueCallback(
872
+ () => {
873
+ s.classList.remove(l, c),
874
+ s.classList.add(Et),
875
+ i.classList.remove(Et, c, l),
876
+ (this._isSliding = !1),
877
+ r(mt);
878
+ },
879
+ i,
880
+ this._isAnimated(),
881
+ ),
882
+ a && this.cycle();
883
+ }
884
+ _isAnimated() {
885
+ return this._element.classList.contains("slide");
886
+ }
887
+ _getActive() {
888
+ return R.findOne(Ot, this._element);
889
+ }
890
+ _getItems() {
891
+ return R.find(Ct, this._element);
892
+ }
893
+ _clearInterval() {
894
+ this._interval &&
895
+ (clearInterval(this._interval), (this._interval = null));
896
+ }
897
+ _directionToOrder(t) {
898
+ return m() ? (t === ut ? dt : ht) : t === ut ? ht : dt;
899
+ }
900
+ _orderToDirection(t) {
901
+ return m() ? (t === dt ? ut : ft) : t === dt ? ft : ut;
902
+ }
903
+ static jQueryInterface(t) {
904
+ return this.each(function () {
905
+ const e = St.getOrCreateInstance(this, t);
906
+ if ("number" != typeof t) {
907
+ if ("string" == typeof t) {
908
+ if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
909
+ throw new TypeError(`No method named "${t}"`);
910
+ e[t]();
911
+ }
912
+ } else e.to(t);
913
+ });
914
+ }
915
+ }
916
+ P.on(document, wt, "[data-bs-slide], [data-bs-slide-to]", function (t) {
917
+ const e = R.getElementFromSelector(this);
918
+ if (!e || !e.classList.contains(At)) return;
919
+ t.preventDefault();
920
+ const i = St.getOrCreateInstance(e),
921
+ n = this.getAttribute("data-bs-slide-to");
922
+ return n
923
+ ? (i.to(n), void i._maybeEnableCycle())
924
+ : "next" === H.getDataAttribute(this, "slide")
925
+ ? (i.next(), void i._maybeEnableCycle())
926
+ : (i.prev(), void i._maybeEnableCycle());
927
+ }),
928
+ P.on(window, yt, () => {
929
+ const t = R.find('[data-bs-ride="carousel"]');
930
+ for (const e of t) St.getOrCreateInstance(e);
931
+ }),
932
+ g(St);
933
+ const Dt = ".bs.collapse",
934
+ $t = `show${Dt}`,
935
+ It = `shown${Dt}`,
936
+ Nt = `hide${Dt}`,
937
+ Pt = `hidden${Dt}`,
938
+ jt = `click${Dt}.data-api`,
939
+ Mt = "show",
940
+ Ft = "collapse",
941
+ Ht = "collapsing",
942
+ Wt = `:scope .${Ft} .${Ft}`,
943
+ Bt = '[data-bs-toggle="collapse"]',
944
+ zt = { parent: null, toggle: !0 },
945
+ Rt = { parent: "(null|element)", toggle: "boolean" };
946
+ class qt extends B {
947
+ constructor(t, e) {
948
+ super(t, e), (this._isTransitioning = !1), (this._triggerArray = []);
949
+ const i = R.find(Bt);
950
+ for (const t of i) {
951
+ const e = R.getSelectorFromElement(t),
952
+ i = R.find(e).filter((t) => t === this._element);
953
+ null !== e && i.length && this._triggerArray.push(t);
954
+ }
955
+ this._initializeChildren(),
956
+ this._config.parent ||
957
+ this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()),
958
+ this._config.toggle && this.toggle();
959
+ }
960
+ static get Default() {
961
+ return zt;
962
+ }
963
+ static get DefaultType() {
964
+ return Rt;
965
+ }
966
+ static get NAME() {
967
+ return "collapse";
968
+ }
969
+ toggle() {
970
+ this._isShown() ? this.hide() : this.show();
971
+ }
972
+ show() {
973
+ if (this._isTransitioning || this._isShown()) return;
974
+ let t = [];
975
+ if (
976
+ (this._config.parent &&
977
+ (t = this._getFirstLevelChildren(
978
+ ".collapse.show, .collapse.collapsing",
979
+ )
980
+ .filter((t) => t !== this._element)
981
+ .map((t) => qt.getOrCreateInstance(t, { toggle: !1 }))),
982
+ t.length && t[0]._isTransitioning)
983
+ )
984
+ return;
985
+ if (P.trigger(this._element, $t).defaultPrevented) return;
986
+ for (const e of t) e.hide();
987
+ const e = this._getDimension();
988
+ this._element.classList.remove(Ft),
989
+ this._element.classList.add(Ht),
990
+ (this._element.style[e] = 0),
991
+ this._addAriaAndCollapsedClass(this._triggerArray, !0),
992
+ (this._isTransitioning = !0);
993
+ const i = `scroll${e[0].toUpperCase() + e.slice(1)}`;
994
+ this._queueCallback(
995
+ () => {
996
+ (this._isTransitioning = !1),
997
+ this._element.classList.remove(Ht),
998
+ this._element.classList.add(Ft, Mt),
999
+ (this._element.style[e] = ""),
1000
+ P.trigger(this._element, It);
1001
+ },
1002
+ this._element,
1003
+ !0,
1004
+ ),
1005
+ (this._element.style[e] = `${this._element[i]}px`);
1006
+ }
1007
+ hide() {
1008
+ if (this._isTransitioning || !this._isShown()) return;
1009
+ if (P.trigger(this._element, Nt).defaultPrevented) return;
1010
+ const t = this._getDimension();
1011
+ (this._element.style[t] =
1012
+ `${this._element.getBoundingClientRect()[t]}px`),
1013
+ u(this._element),
1014
+ this._element.classList.add(Ht),
1015
+ this._element.classList.remove(Ft, Mt);
1016
+ for (const t of this._triggerArray) {
1017
+ const e = R.getElementFromSelector(t);
1018
+ e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1);
1019
+ }
1020
+ (this._isTransitioning = !0),
1021
+ (this._element.style[t] = ""),
1022
+ this._queueCallback(
1023
+ () => {
1024
+ (this._isTransitioning = !1),
1025
+ this._element.classList.remove(Ht),
1026
+ this._element.classList.add(Ft),
1027
+ P.trigger(this._element, Pt);
1028
+ },
1029
+ this._element,
1030
+ !0,
1031
+ );
1032
+ }
1033
+ _isShown(t = this._element) {
1034
+ return t.classList.contains(Mt);
1035
+ }
1036
+ _configAfterMerge(t) {
1037
+ return (t.toggle = Boolean(t.toggle)), (t.parent = a(t.parent)), t;
1038
+ }
1039
+ _getDimension() {
1040
+ return this._element.classList.contains("collapse-horizontal")
1041
+ ? "width"
1042
+ : "height";
1043
+ }
1044
+ _initializeChildren() {
1045
+ if (!this._config.parent) return;
1046
+ const t = this._getFirstLevelChildren(Bt);
1047
+ for (const e of t) {
1048
+ const t = R.getElementFromSelector(e);
1049
+ t && this._addAriaAndCollapsedClass([e], this._isShown(t));
1050
+ }
1051
+ }
1052
+ _getFirstLevelChildren(t) {
1053
+ const e = R.find(Wt, this._config.parent);
1054
+ return R.find(t, this._config.parent).filter((t) => !e.includes(t));
1055
+ }
1056
+ _addAriaAndCollapsedClass(t, e) {
1057
+ if (t.length)
1058
+ for (const i of t)
1059
+ i.classList.toggle("collapsed", !e),
1060
+ i.setAttribute("aria-expanded", e);
1061
+ }
1062
+ static jQueryInterface(t) {
1063
+ const e = {};
1064
+ return (
1065
+ "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1),
1066
+ this.each(function () {
1067
+ const i = qt.getOrCreateInstance(this, e);
1068
+ if ("string" == typeof t) {
1069
+ if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
1070
+ i[t]();
1071
+ }
1072
+ })
1073
+ );
1074
+ }
1075
+ }
1076
+ P.on(document, jt, Bt, function (t) {
1077
+ ("A" === t.target.tagName ||
1078
+ (t.delegateTarget && "A" === t.delegateTarget.tagName)) &&
1079
+ t.preventDefault();
1080
+ for (const t of R.getMultipleElementsFromSelector(this))
1081
+ qt.getOrCreateInstance(t, { toggle: !1 }).toggle();
1082
+ }),
1083
+ g(qt);
1084
+ var Vt = "top",
1085
+ Kt = "bottom",
1086
+ Qt = "right",
1087
+ Xt = "left",
1088
+ Yt = "auto",
1089
+ Ut = [Vt, Kt, Qt, Xt],
1090
+ Gt = "start",
1091
+ Jt = "end",
1092
+ Zt = "clippingParents",
1093
+ te = "viewport",
1094
+ ee = "popper",
1095
+ ie = "reference",
1096
+ ne = Ut.reduce(function (t, e) {
1097
+ return t.concat([e + "-" + Gt, e + "-" + Jt]);
1098
+ }, []),
1099
+ se = [].concat(Ut, [Yt]).reduce(function (t, e) {
1100
+ return t.concat([e, e + "-" + Gt, e + "-" + Jt]);
1101
+ }, []),
1102
+ oe = "beforeRead",
1103
+ re = "read",
1104
+ ae = "afterRead",
1105
+ le = "beforeMain",
1106
+ ce = "main",
1107
+ he = "afterMain",
1108
+ de = "beforeWrite",
1109
+ ue = "write",
1110
+ fe = "afterWrite",
1111
+ pe = [oe, re, ae, le, ce, he, de, ue, fe];
1112
+ function me(t) {
1113
+ return t ? (t.nodeName || "").toLowerCase() : null;
1114
+ }
1115
+ function ge(t) {
1116
+ if (null == t) return window;
1117
+ if ("[object Window]" !== t.toString()) {
1118
+ var e = t.ownerDocument;
1119
+ return (e && e.defaultView) || window;
1120
+ }
1121
+ return t;
1122
+ }
1123
+ function _e(t) {
1124
+ return t instanceof ge(t).Element || t instanceof Element;
1125
+ }
1126
+ function be(t) {
1127
+ return t instanceof ge(t).HTMLElement || t instanceof HTMLElement;
1128
+ }
1129
+ function ve(t) {
1130
+ return (
1131
+ "undefined" != typeof ShadowRoot &&
1132
+ (t instanceof ge(t).ShadowRoot || t instanceof ShadowRoot)
1133
+ );
1134
+ }
1135
+ const ye = {
1136
+ name: "applyStyles",
1137
+ enabled: !0,
1138
+ phase: "write",
1139
+ fn: function (t) {
1140
+ var e = t.state;
1141
+ Object.keys(e.elements).forEach(function (t) {
1142
+ var i = e.styles[t] || {},
1143
+ n = e.attributes[t] || {},
1144
+ s = e.elements[t];
1145
+ be(s) &&
1146
+ me(s) &&
1147
+ (Object.assign(s.style, i),
1148
+ Object.keys(n).forEach(function (t) {
1149
+ var e = n[t];
1150
+ !1 === e
1151
+ ? s.removeAttribute(t)
1152
+ : s.setAttribute(t, !0 === e ? "" : e);
1153
+ }));
1154
+ });
1155
+ },
1156
+ effect: function (t) {
1157
+ var e = t.state,
1158
+ i = {
1159
+ popper: {
1160
+ position: e.options.strategy,
1161
+ left: "0",
1162
+ top: "0",
1163
+ margin: "0",
1164
+ },
1165
+ arrow: { position: "absolute" },
1166
+ reference: {},
1167
+ };
1168
+ return (
1169
+ Object.assign(e.elements.popper.style, i.popper),
1170
+ (e.styles = i),
1171
+ e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow),
1172
+ function () {
1173
+ Object.keys(e.elements).forEach(function (t) {
1174
+ var n = e.elements[t],
1175
+ s = e.attributes[t] || {},
1176
+ o = Object.keys(
1177
+ e.styles.hasOwnProperty(t) ? e.styles[t] : i[t],
1178
+ ).reduce(function (t, e) {
1179
+ return (t[e] = ""), t;
1180
+ }, {});
1181
+ be(n) &&
1182
+ me(n) &&
1183
+ (Object.assign(n.style, o),
1184
+ Object.keys(s).forEach(function (t) {
1185
+ n.removeAttribute(t);
1186
+ }));
1187
+ });
1188
+ }
1189
+ );
1190
+ },
1191
+ requires: ["computeStyles"],
1192
+ };
1193
+ function we(t) {
1194
+ return t.split("-")[0];
1195
+ }
1196
+ var Ae = Math.max,
1197
+ Ee = Math.min,
1198
+ Te = Math.round;
1199
+ function Ce() {
1200
+ var t = navigator.userAgentData;
1201
+ return null != t && t.brands && Array.isArray(t.brands)
1202
+ ? t.brands
1203
+ .map(function (t) {
1204
+ return t.brand + "/" + t.version;
1205
+ })
1206
+ .join(" ")
1207
+ : navigator.userAgent;
1208
+ }
1209
+ function Oe() {
1210
+ return !/^((?!chrome|android).)*safari/i.test(Ce());
1211
+ }
1212
+ function xe(t, e, i) {
1213
+ void 0 === e && (e = !1), void 0 === i && (i = !1);
1214
+ var n = t.getBoundingClientRect(),
1215
+ s = 1,
1216
+ o = 1;
1217
+ e &&
1218
+ be(t) &&
1219
+ ((s = (t.offsetWidth > 0 && Te(n.width) / t.offsetWidth) || 1),
1220
+ (o = (t.offsetHeight > 0 && Te(n.height) / t.offsetHeight) || 1));
1221
+ var r = (_e(t) ? ge(t) : window).visualViewport,
1222
+ a = !Oe() && i,
1223
+ l = (n.left + (a && r ? r.offsetLeft : 0)) / s,
1224
+ c = (n.top + (a && r ? r.offsetTop : 0)) / o,
1225
+ h = n.width / s,
1226
+ d = n.height / o;
1227
+ return {
1228
+ width: h,
1229
+ height: d,
1230
+ top: c,
1231
+ right: l + h,
1232
+ bottom: c + d,
1233
+ left: l,
1234
+ x: l,
1235
+ y: c,
1236
+ };
1237
+ }
1238
+ function ke(t) {
1239
+ var e = xe(t),
1240
+ i = t.offsetWidth,
1241
+ n = t.offsetHeight;
1242
+ return (
1243
+ Math.abs(e.width - i) <= 1 && (i = e.width),
1244
+ Math.abs(e.height - n) <= 1 && (n = e.height),
1245
+ { x: t.offsetLeft, y: t.offsetTop, width: i, height: n }
1246
+ );
1247
+ }
1248
+ function Le(t, e) {
1249
+ var i = e.getRootNode && e.getRootNode();
1250
+ if (t.contains(e)) return !0;
1251
+ if (i && ve(i)) {
1252
+ var n = e;
1253
+ do {
1254
+ if (n && t.isSameNode(n)) return !0;
1255
+ n = n.parentNode || n.host;
1256
+ } while (n);
1257
+ }
1258
+ return !1;
1259
+ }
1260
+ function Se(t) {
1261
+ return ge(t).getComputedStyle(t);
1262
+ }
1263
+ function De(t) {
1264
+ return ["table", "td", "th"].indexOf(me(t)) >= 0;
1265
+ }
1266
+ function $e(t) {
1267
+ return ((_e(t) ? t.ownerDocument : t.document) || window.document)
1268
+ .documentElement;
1269
+ }
1270
+ function Ie(t) {
1271
+ return "html" === me(t)
1272
+ ? t
1273
+ : t.assignedSlot || t.parentNode || (ve(t) ? t.host : null) || $e(t);
1274
+ }
1275
+ function Ne(t) {
1276
+ return be(t) && "fixed" !== Se(t).position ? t.offsetParent : null;
1277
+ }
1278
+ function Pe(t) {
1279
+ for (var e = ge(t), i = Ne(t); i && De(i) && "static" === Se(i).position; )
1280
+ i = Ne(i);
1281
+ return i &&
1282
+ ("html" === me(i) || ("body" === me(i) && "static" === Se(i).position))
1283
+ ? e
1284
+ : i ||
1285
+ (function (t) {
1286
+ var e = /firefox/i.test(Ce());
1287
+ if (/Trident/i.test(Ce()) && be(t) && "fixed" === Se(t).position)
1288
+ return null;
1289
+ var i = Ie(t);
1290
+ for (
1291
+ ve(i) && (i = i.host);
1292
+ be(i) && ["html", "body"].indexOf(me(i)) < 0;
1293
+
1294
+ ) {
1295
+ var n = Se(i);
1296
+ if (
1297
+ "none" !== n.transform ||
1298
+ "none" !== n.perspective ||
1299
+ "paint" === n.contain ||
1300
+ -1 !== ["transform", "perspective"].indexOf(n.willChange) ||
1301
+ (e && "filter" === n.willChange) ||
1302
+ (e && n.filter && "none" !== n.filter)
1303
+ )
1304
+ return i;
1305
+ i = i.parentNode;
1306
+ }
1307
+ return null;
1308
+ })(t) ||
1309
+ e;
1310
+ }
1311
+ function je(t) {
1312
+ return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y";
1313
+ }
1314
+ function Me(t, e, i) {
1315
+ return Ae(t, Ee(e, i));
1316
+ }
1317
+ function Fe(t) {
1318
+ return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, t);
1319
+ }
1320
+ function He(t, e) {
1321
+ return e.reduce(function (e, i) {
1322
+ return (e[i] = t), e;
1323
+ }, {});
1324
+ }
1325
+ const We = {
1326
+ name: "arrow",
1327
+ enabled: !0,
1328
+ phase: "main",
1329
+ fn: function (t) {
1330
+ var e,
1331
+ i = t.state,
1332
+ n = t.name,
1333
+ s = t.options,
1334
+ o = i.elements.arrow,
1335
+ r = i.modifiersData.popperOffsets,
1336
+ a = we(i.placement),
1337
+ l = je(a),
1338
+ c = [Xt, Qt].indexOf(a) >= 0 ? "height" : "width";
1339
+ if (o && r) {
1340
+ var h = (function (t, e) {
1341
+ return Fe(
1342
+ "number" !=
1343
+ typeof (t =
1344
+ "function" == typeof t
1345
+ ? t(Object.assign({}, e.rects, { placement: e.placement }))
1346
+ : t)
1347
+ ? t
1348
+ : He(t, Ut),
1349
+ );
1350
+ })(s.padding, i),
1351
+ d = ke(o),
1352
+ u = "y" === l ? Vt : Xt,
1353
+ f = "y" === l ? Kt : Qt,
1354
+ p =
1355
+ i.rects.reference[c] +
1356
+ i.rects.reference[l] -
1357
+ r[l] -
1358
+ i.rects.popper[c],
1359
+ m = r[l] - i.rects.reference[l],
1360
+ g = Pe(o),
1361
+ _ = g ? ("y" === l ? g.clientHeight || 0 : g.clientWidth || 0) : 0,
1362
+ b = p / 2 - m / 2,
1363
+ v = h[u],
1364
+ y = _ - d[c] - h[f],
1365
+ w = _ / 2 - d[c] / 2 + b,
1366
+ A = Me(v, w, y),
1367
+ E = l;
1368
+ i.modifiersData[n] = (((e = {})[E] = A), (e.centerOffset = A - w), e);
1369
+ }
1370
+ },
1371
+ effect: function (t) {
1372
+ var e = t.state,
1373
+ i = t.options.element,
1374
+ n = void 0 === i ? "[data-popper-arrow]" : i;
1375
+ null != n &&
1376
+ ("string" != typeof n || (n = e.elements.popper.querySelector(n))) &&
1377
+ Le(e.elements.popper, n) &&
1378
+ (e.elements.arrow = n);
1379
+ },
1380
+ requires: ["popperOffsets"],
1381
+ requiresIfExists: ["preventOverflow"],
1382
+ };
1383
+ function Be(t) {
1384
+ return t.split("-")[1];
1385
+ }
1386
+ var ze = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
1387
+ function Re(t) {
1388
+ var e,
1389
+ i = t.popper,
1390
+ n = t.popperRect,
1391
+ s = t.placement,
1392
+ o = t.variation,
1393
+ r = t.offsets,
1394
+ a = t.position,
1395
+ l = t.gpuAcceleration,
1396
+ c = t.adaptive,
1397
+ h = t.roundOffsets,
1398
+ d = t.isFixed,
1399
+ u = r.x,
1400
+ f = void 0 === u ? 0 : u,
1401
+ p = r.y,
1402
+ m = void 0 === p ? 0 : p,
1403
+ g = "function" == typeof h ? h({ x: f, y: m }) : { x: f, y: m };
1404
+ (f = g.x), (m = g.y);
1405
+ var _ = r.hasOwnProperty("x"),
1406
+ b = r.hasOwnProperty("y"),
1407
+ v = Xt,
1408
+ y = Vt,
1409
+ w = window;
1410
+ if (c) {
1411
+ var A = Pe(i),
1412
+ E = "clientHeight",
1413
+ T = "clientWidth";
1414
+ A === ge(i) &&
1415
+ "static" !== Se((A = $e(i))).position &&
1416
+ "absolute" === a &&
1417
+ ((E = "scrollHeight"), (T = "scrollWidth")),
1418
+ (s === Vt || ((s === Xt || s === Qt) && o === Jt)) &&
1419
+ ((y = Kt),
1420
+ (m -=
1421
+ (d && A === w && w.visualViewport
1422
+ ? w.visualViewport.height
1423
+ : A[E]) - n.height),
1424
+ (m *= l ? 1 : -1)),
1425
+ (s !== Xt && ((s !== Vt && s !== Kt) || o !== Jt)) ||
1426
+ ((v = Qt),
1427
+ (f -=
1428
+ (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) -
1429
+ n.width),
1430
+ (f *= l ? 1 : -1));
1431
+ }
1432
+ var C,
1433
+ O = Object.assign({ position: a }, c && ze),
1434
+ x =
1435
+ !0 === h
1436
+ ? (function (t, e) {
1437
+ var i = t.x,
1438
+ n = t.y,
1439
+ s = e.devicePixelRatio || 1;
1440
+ return { x: Te(i * s) / s || 0, y: Te(n * s) / s || 0 };
1441
+ })({ x: f, y: m }, ge(i))
1442
+ : { x: f, y: m };
1443
+ return (
1444
+ (f = x.x),
1445
+ (m = x.y),
1446
+ l
1447
+ ? Object.assign(
1448
+ {},
1449
+ O,
1450
+ (((C = {})[y] = b ? "0" : ""),
1451
+ (C[v] = _ ? "0" : ""),
1452
+ (C.transform =
1453
+ (w.devicePixelRatio || 1) <= 1
1454
+ ? "translate(" + f + "px, " + m + "px)"
1455
+ : "translate3d(" + f + "px, " + m + "px, 0)"),
1456
+ C),
1457
+ )
1458
+ : Object.assign(
1459
+ {},
1460
+ O,
1461
+ (((e = {})[y] = b ? m + "px" : ""),
1462
+ (e[v] = _ ? f + "px" : ""),
1463
+ (e.transform = ""),
1464
+ e),
1465
+ )
1466
+ );
1467
+ }
1468
+ const qe = {
1469
+ name: "computeStyles",
1470
+ enabled: !0,
1471
+ phase: "beforeWrite",
1472
+ fn: function (t) {
1473
+ var e = t.state,
1474
+ i = t.options,
1475
+ n = i.gpuAcceleration,
1476
+ s = void 0 === n || n,
1477
+ o = i.adaptive,
1478
+ r = void 0 === o || o,
1479
+ a = i.roundOffsets,
1480
+ l = void 0 === a || a,
1481
+ c = {
1482
+ placement: we(e.placement),
1483
+ variation: Be(e.placement),
1484
+ popper: e.elements.popper,
1485
+ popperRect: e.rects.popper,
1486
+ gpuAcceleration: s,
1487
+ isFixed: "fixed" === e.options.strategy,
1488
+ };
1489
+ null != e.modifiersData.popperOffsets &&
1490
+ (e.styles.popper = Object.assign(
1491
+ {},
1492
+ e.styles.popper,
1493
+ Re(
1494
+ Object.assign({}, c, {
1495
+ offsets: e.modifiersData.popperOffsets,
1496
+ position: e.options.strategy,
1497
+ adaptive: r,
1498
+ roundOffsets: l,
1499
+ }),
1500
+ ),
1501
+ )),
1502
+ null != e.modifiersData.arrow &&
1503
+ (e.styles.arrow = Object.assign(
1504
+ {},
1505
+ e.styles.arrow,
1506
+ Re(
1507
+ Object.assign({}, c, {
1508
+ offsets: e.modifiersData.arrow,
1509
+ position: "absolute",
1510
+ adaptive: !1,
1511
+ roundOffsets: l,
1512
+ }),
1513
+ ),
1514
+ )),
1515
+ (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1516
+ "data-popper-placement": e.placement,
1517
+ }));
1518
+ },
1519
+ data: {},
1520
+ };
1521
+ var Ve = { passive: !0 };
1522
+ const Ke = {
1523
+ name: "eventListeners",
1524
+ enabled: !0,
1525
+ phase: "write",
1526
+ fn: function () {},
1527
+ effect: function (t) {
1528
+ var e = t.state,
1529
+ i = t.instance,
1530
+ n = t.options,
1531
+ s = n.scroll,
1532
+ o = void 0 === s || s,
1533
+ r = n.resize,
1534
+ a = void 0 === r || r,
1535
+ l = ge(e.elements.popper),
1536
+ c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
1537
+ return (
1538
+ o &&
1539
+ c.forEach(function (t) {
1540
+ t.addEventListener("scroll", i.update, Ve);
1541
+ }),
1542
+ a && l.addEventListener("resize", i.update, Ve),
1543
+ function () {
1544
+ o &&
1545
+ c.forEach(function (t) {
1546
+ t.removeEventListener("scroll", i.update, Ve);
1547
+ }),
1548
+ a && l.removeEventListener("resize", i.update, Ve);
1549
+ }
1550
+ );
1551
+ },
1552
+ data: {},
1553
+ };
1554
+ var Qe = { left: "right", right: "left", bottom: "top", top: "bottom" };
1555
+ function Xe(t) {
1556
+ return t.replace(/left|right|bottom|top/g, function (t) {
1557
+ return Qe[t];
1558
+ });
1559
+ }
1560
+ var Ye = { start: "end", end: "start" };
1561
+ function Ue(t) {
1562
+ return t.replace(/start|end/g, function (t) {
1563
+ return Ye[t];
1564
+ });
1565
+ }
1566
+ function Ge(t) {
1567
+ var e = ge(t);
1568
+ return { scrollLeft: e.pageXOffset, scrollTop: e.pageYOffset };
1569
+ }
1570
+ function Je(t) {
1571
+ return xe($e(t)).left + Ge(t).scrollLeft;
1572
+ }
1573
+ function Ze(t) {
1574
+ var e = Se(t),
1575
+ i = e.overflow,
1576
+ n = e.overflowX,
1577
+ s = e.overflowY;
1578
+ return /auto|scroll|overlay|hidden/.test(i + s + n);
1579
+ }
1580
+ function ti(t) {
1581
+ return ["html", "body", "#document"].indexOf(me(t)) >= 0
1582
+ ? t.ownerDocument.body
1583
+ : be(t) && Ze(t)
1584
+ ? t
1585
+ : ti(Ie(t));
1586
+ }
1587
+ function ei(t, e) {
1588
+ var i;
1589
+ void 0 === e && (e = []);
1590
+ var n = ti(t),
1591
+ s = n === (null == (i = t.ownerDocument) ? void 0 : i.body),
1592
+ o = ge(n),
1593
+ r = s ? [o].concat(o.visualViewport || [], Ze(n) ? n : []) : n,
1594
+ a = e.concat(r);
1595
+ return s ? a : a.concat(ei(Ie(r)));
1596
+ }
1597
+ function ii(t) {
1598
+ return Object.assign({}, t, {
1599
+ left: t.x,
1600
+ top: t.y,
1601
+ right: t.x + t.width,
1602
+ bottom: t.y + t.height,
1603
+ });
1604
+ }
1605
+ function ni(t, e, i) {
1606
+ return e === te
1607
+ ? ii(
1608
+ (function (t, e) {
1609
+ var i = ge(t),
1610
+ n = $e(t),
1611
+ s = i.visualViewport,
1612
+ o = n.clientWidth,
1613
+ r = n.clientHeight,
1614
+ a = 0,
1615
+ l = 0;
1616
+ if (s) {
1617
+ (o = s.width), (r = s.height);
1618
+ var c = Oe();
1619
+ (c || (!c && "fixed" === e)) &&
1620
+ ((a = s.offsetLeft), (l = s.offsetTop));
1621
+ }
1622
+ return { width: o, height: r, x: a + Je(t), y: l };
1623
+ })(t, i),
1624
+ )
1625
+ : _e(e)
1626
+ ? (function (t, e) {
1627
+ var i = xe(t, !1, "fixed" === e);
1628
+ return (
1629
+ (i.top = i.top + t.clientTop),
1630
+ (i.left = i.left + t.clientLeft),
1631
+ (i.bottom = i.top + t.clientHeight),
1632
+ (i.right = i.left + t.clientWidth),
1633
+ (i.width = t.clientWidth),
1634
+ (i.height = t.clientHeight),
1635
+ (i.x = i.left),
1636
+ (i.y = i.top),
1637
+ i
1638
+ );
1639
+ })(e, i)
1640
+ : ii(
1641
+ (function (t) {
1642
+ var e,
1643
+ i = $e(t),
1644
+ n = Ge(t),
1645
+ s = null == (e = t.ownerDocument) ? void 0 : e.body,
1646
+ o = Ae(
1647
+ i.scrollWidth,
1648
+ i.clientWidth,
1649
+ s ? s.scrollWidth : 0,
1650
+ s ? s.clientWidth : 0,
1651
+ ),
1652
+ r = Ae(
1653
+ i.scrollHeight,
1654
+ i.clientHeight,
1655
+ s ? s.scrollHeight : 0,
1656
+ s ? s.clientHeight : 0,
1657
+ ),
1658
+ a = -n.scrollLeft + Je(t),
1659
+ l = -n.scrollTop;
1660
+ return (
1661
+ "rtl" === Se(s || i).direction &&
1662
+ (a += Ae(i.clientWidth, s ? s.clientWidth : 0) - o),
1663
+ { width: o, height: r, x: a, y: l }
1664
+ );
1665
+ })($e(t)),
1666
+ );
1667
+ }
1668
+ function si(t) {
1669
+ var e,
1670
+ i = t.reference,
1671
+ n = t.element,
1672
+ s = t.placement,
1673
+ o = s ? we(s) : null,
1674
+ r = s ? Be(s) : null,
1675
+ a = i.x + i.width / 2 - n.width / 2,
1676
+ l = i.y + i.height / 2 - n.height / 2;
1677
+ switch (o) {
1678
+ case Vt:
1679
+ e = { x: a, y: i.y - n.height };
1680
+ break;
1681
+ case Kt:
1682
+ e = { x: a, y: i.y + i.height };
1683
+ break;
1684
+ case Qt:
1685
+ e = { x: i.x + i.width, y: l };
1686
+ break;
1687
+ case Xt:
1688
+ e = { x: i.x - n.width, y: l };
1689
+ break;
1690
+ default:
1691
+ e = { x: i.x, y: i.y };
1692
+ }
1693
+ var c = o ? je(o) : null;
1694
+ if (null != c) {
1695
+ var h = "y" === c ? "height" : "width";
1696
+ switch (r) {
1697
+ case Gt:
1698
+ e[c] = e[c] - (i[h] / 2 - n[h] / 2);
1699
+ break;
1700
+ case Jt:
1701
+ e[c] = e[c] + (i[h] / 2 - n[h] / 2);
1702
+ }
1703
+ }
1704
+ return e;
1705
+ }
1706
+ function oi(t, e) {
1707
+ void 0 === e && (e = {});
1708
+ var i = e,
1709
+ n = i.placement,
1710
+ s = void 0 === n ? t.placement : n,
1711
+ o = i.strategy,
1712
+ r = void 0 === o ? t.strategy : o,
1713
+ a = i.boundary,
1714
+ l = void 0 === a ? Zt : a,
1715
+ c = i.rootBoundary,
1716
+ h = void 0 === c ? te : c,
1717
+ d = i.elementContext,
1718
+ u = void 0 === d ? ee : d,
1719
+ f = i.altBoundary,
1720
+ p = void 0 !== f && f,
1721
+ m = i.padding,
1722
+ g = void 0 === m ? 0 : m,
1723
+ _ = Fe("number" != typeof g ? g : He(g, Ut)),
1724
+ b = u === ee ? ie : ee,
1725
+ v = t.rects.popper,
1726
+ y = t.elements[p ? b : u],
1727
+ w = (function (t, e, i, n) {
1728
+ var s =
1729
+ "clippingParents" === e
1730
+ ? (function (t) {
1731
+ var e = ei(Ie(t)),
1732
+ i =
1733
+ ["absolute", "fixed"].indexOf(Se(t).position) >= 0 &&
1734
+ be(t)
1735
+ ? Pe(t)
1736
+ : t;
1737
+ return _e(i)
1738
+ ? e.filter(function (t) {
1739
+ return _e(t) && Le(t, i) && "body" !== me(t);
1740
+ })
1741
+ : [];
1742
+ })(t)
1743
+ : [].concat(e),
1744
+ o = [].concat(s, [i]),
1745
+ r = o[0],
1746
+ a = o.reduce(
1747
+ function (e, i) {
1748
+ var s = ni(t, i, n);
1749
+ return (
1750
+ (e.top = Ae(s.top, e.top)),
1751
+ (e.right = Ee(s.right, e.right)),
1752
+ (e.bottom = Ee(s.bottom, e.bottom)),
1753
+ (e.left = Ae(s.left, e.left)),
1754
+ e
1755
+ );
1756
+ },
1757
+ ni(t, r, n),
1758
+ );
1759
+ return (
1760
+ (a.width = a.right - a.left),
1761
+ (a.height = a.bottom - a.top),
1762
+ (a.x = a.left),
1763
+ (a.y = a.top),
1764
+ a
1765
+ );
1766
+ })(_e(y) ? y : y.contextElement || $e(t.elements.popper), l, h, r),
1767
+ A = xe(t.elements.reference),
1768
+ E = si({ reference: A, element: v, placement: s }),
1769
+ T = ii(Object.assign({}, v, E)),
1770
+ C = u === ee ? T : A,
1771
+ O = {
1772
+ top: w.top - C.top + _.top,
1773
+ bottom: C.bottom - w.bottom + _.bottom,
1774
+ left: w.left - C.left + _.left,
1775
+ right: C.right - w.right + _.right,
1776
+ },
1777
+ x = t.modifiersData.offset;
1778
+ if (u === ee && x) {
1779
+ var k = x[s];
1780
+ Object.keys(O).forEach(function (t) {
1781
+ var e = [Qt, Kt].indexOf(t) >= 0 ? 1 : -1,
1782
+ i = [Vt, Kt].indexOf(t) >= 0 ? "y" : "x";
1783
+ O[t] += k[i] * e;
1784
+ });
1785
+ }
1786
+ return O;
1787
+ }
1788
+ function ri(t, e) {
1789
+ void 0 === e && (e = {});
1790
+ var i = e,
1791
+ n = i.placement,
1792
+ s = i.boundary,
1793
+ o = i.rootBoundary,
1794
+ r = i.padding,
1795
+ a = i.flipVariations,
1796
+ l = i.allowedAutoPlacements,
1797
+ c = void 0 === l ? se : l,
1798
+ h = Be(n),
1799
+ d = h
1800
+ ? a
1801
+ ? ne
1802
+ : ne.filter(function (t) {
1803
+ return Be(t) === h;
1804
+ })
1805
+ : Ut,
1806
+ u = d.filter(function (t) {
1807
+ return c.indexOf(t) >= 0;
1808
+ });
1809
+ 0 === u.length && (u = d);
1810
+ var f = u.reduce(function (e, i) {
1811
+ return (
1812
+ (e[i] = oi(t, {
1813
+ placement: i,
1814
+ boundary: s,
1815
+ rootBoundary: o,
1816
+ padding: r,
1817
+ })[we(i)]),
1818
+ e
1819
+ );
1820
+ }, {});
1821
+ return Object.keys(f).sort(function (t, e) {
1822
+ return f[t] - f[e];
1823
+ });
1824
+ }
1825
+ const ai = {
1826
+ name: "flip",
1827
+ enabled: !0,
1828
+ phase: "main",
1829
+ fn: function (t) {
1830
+ var e = t.state,
1831
+ i = t.options,
1832
+ n = t.name;
1833
+ if (!e.modifiersData[n]._skip) {
1834
+ for (
1835
+ var s = i.mainAxis,
1836
+ o = void 0 === s || s,
1837
+ r = i.altAxis,
1838
+ a = void 0 === r || r,
1839
+ l = i.fallbackPlacements,
1840
+ c = i.padding,
1841
+ h = i.boundary,
1842
+ d = i.rootBoundary,
1843
+ u = i.altBoundary,
1844
+ f = i.flipVariations,
1845
+ p = void 0 === f || f,
1846
+ m = i.allowedAutoPlacements,
1847
+ g = e.options.placement,
1848
+ _ = we(g),
1849
+ b =
1850
+ l ||
1851
+ (_ !== g && p
1852
+ ? (function (t) {
1853
+ if (we(t) === Yt) return [];
1854
+ var e = Xe(t);
1855
+ return [Ue(t), e, Ue(e)];
1856
+ })(g)
1857
+ : [Xe(g)]),
1858
+ v = [g].concat(b).reduce(function (t, i) {
1859
+ return t.concat(
1860
+ we(i) === Yt
1861
+ ? ri(e, {
1862
+ placement: i,
1863
+ boundary: h,
1864
+ rootBoundary: d,
1865
+ padding: c,
1866
+ flipVariations: p,
1867
+ allowedAutoPlacements: m,
1868
+ })
1869
+ : i,
1870
+ );
1871
+ }, []),
1872
+ y = e.rects.reference,
1873
+ w = e.rects.popper,
1874
+ A = new Map(),
1875
+ E = !0,
1876
+ T = v[0],
1877
+ C = 0;
1878
+ C < v.length;
1879
+ C++
1880
+ ) {
1881
+ var O = v[C],
1882
+ x = we(O),
1883
+ k = Be(O) === Gt,
1884
+ L = [Vt, Kt].indexOf(x) >= 0,
1885
+ S = L ? "width" : "height",
1886
+ D = oi(e, {
1887
+ placement: O,
1888
+ boundary: h,
1889
+ rootBoundary: d,
1890
+ altBoundary: u,
1891
+ padding: c,
1892
+ }),
1893
+ $ = L ? (k ? Qt : Xt) : k ? Kt : Vt;
1894
+ y[S] > w[S] && ($ = Xe($));
1895
+ var I = Xe($),
1896
+ N = [];
1897
+ if (
1898
+ (o && N.push(D[x] <= 0),
1899
+ a && N.push(D[$] <= 0, D[I] <= 0),
1900
+ N.every(function (t) {
1901
+ return t;
1902
+ }))
1903
+ ) {
1904
+ (T = O), (E = !1);
1905
+ break;
1906
+ }
1907
+ A.set(O, N);
1908
+ }
1909
+ if (E)
1910
+ for (
1911
+ var P = function (t) {
1912
+ var e = v.find(function (e) {
1913
+ var i = A.get(e);
1914
+ if (i)
1915
+ return i.slice(0, t).every(function (t) {
1916
+ return t;
1917
+ });
1918
+ });
1919
+ if (e) return (T = e), "break";
1920
+ },
1921
+ j = p ? 3 : 1;
1922
+ j > 0 && "break" !== P(j);
1923
+ j--
1924
+ );
1925
+ e.placement !== T &&
1926
+ ((e.modifiersData[n]._skip = !0), (e.placement = T), (e.reset = !0));
1927
+ }
1928
+ },
1929
+ requiresIfExists: ["offset"],
1930
+ data: { _skip: !1 },
1931
+ };
1932
+ function li(t, e, i) {
1933
+ return (
1934
+ void 0 === i && (i = { x: 0, y: 0 }),
1935
+ {
1936
+ top: t.top - e.height - i.y,
1937
+ right: t.right - e.width + i.x,
1938
+ bottom: t.bottom - e.height + i.y,
1939
+ left: t.left - e.width - i.x,
1940
+ }
1941
+ );
1942
+ }
1943
+ function ci(t) {
1944
+ return [Vt, Qt, Kt, Xt].some(function (e) {
1945
+ return t[e] >= 0;
1946
+ });
1947
+ }
1948
+ const hi = {
1949
+ name: "hide",
1950
+ enabled: !0,
1951
+ phase: "main",
1952
+ requiresIfExists: ["preventOverflow"],
1953
+ fn: function (t) {
1954
+ var e = t.state,
1955
+ i = t.name,
1956
+ n = e.rects.reference,
1957
+ s = e.rects.popper,
1958
+ o = e.modifiersData.preventOverflow,
1959
+ r = oi(e, { elementContext: "reference" }),
1960
+ a = oi(e, { altBoundary: !0 }),
1961
+ l = li(r, n),
1962
+ c = li(a, s, o),
1963
+ h = ci(l),
1964
+ d = ci(c);
1965
+ (e.modifiersData[i] = {
1966
+ referenceClippingOffsets: l,
1967
+ popperEscapeOffsets: c,
1968
+ isReferenceHidden: h,
1969
+ hasPopperEscaped: d,
1970
+ }),
1971
+ (e.attributes.popper = Object.assign({}, e.attributes.popper, {
1972
+ "data-popper-reference-hidden": h,
1973
+ "data-popper-escaped": d,
1974
+ }));
1975
+ },
1976
+ },
1977
+ di = {
1978
+ name: "offset",
1979
+ enabled: !0,
1980
+ phase: "main",
1981
+ requires: ["popperOffsets"],
1982
+ fn: function (t) {
1983
+ var e = t.state,
1984
+ i = t.options,
1985
+ n = t.name,
1986
+ s = i.offset,
1987
+ o = void 0 === s ? [0, 0] : s,
1988
+ r = se.reduce(function (t, i) {
1989
+ return (
1990
+ (t[i] = (function (t, e, i) {
1991
+ var n = we(t),
1992
+ s = [Xt, Vt].indexOf(n) >= 0 ? -1 : 1,
1993
+ o =
1994
+ "function" == typeof i
1995
+ ? i(Object.assign({}, e, { placement: t }))
1996
+ : i,
1997
+ r = o[0],
1998
+ a = o[1];
1999
+ return (
2000
+ (r = r || 0),
2001
+ (a = (a || 0) * s),
2002
+ [Xt, Qt].indexOf(n) >= 0 ? { x: a, y: r } : { x: r, y: a }
2003
+ );
2004
+ })(i, e.rects, o)),
2005
+ t
2006
+ );
2007
+ }, {}),
2008
+ a = r[e.placement],
2009
+ l = a.x,
2010
+ c = a.y;
2011
+ null != e.modifiersData.popperOffsets &&
2012
+ ((e.modifiersData.popperOffsets.x += l),
2013
+ (e.modifiersData.popperOffsets.y += c)),
2014
+ (e.modifiersData[n] = r);
2015
+ },
2016
+ },
2017
+ ui = {
2018
+ name: "popperOffsets",
2019
+ enabled: !0,
2020
+ phase: "read",
2021
+ fn: function (t) {
2022
+ var e = t.state,
2023
+ i = t.name;
2024
+ e.modifiersData[i] = si({
2025
+ reference: e.rects.reference,
2026
+ element: e.rects.popper,
2027
+ placement: e.placement,
2028
+ });
2029
+ },
2030
+ data: {},
2031
+ },
2032
+ fi = {
2033
+ name: "preventOverflow",
2034
+ enabled: !0,
2035
+ phase: "main",
2036
+ fn: function (t) {
2037
+ var e = t.state,
2038
+ i = t.options,
2039
+ n = t.name,
2040
+ s = i.mainAxis,
2041
+ o = void 0 === s || s,
2042
+ r = i.altAxis,
2043
+ a = void 0 !== r && r,
2044
+ l = i.boundary,
2045
+ c = i.rootBoundary,
2046
+ h = i.altBoundary,
2047
+ d = i.padding,
2048
+ u = i.tether,
2049
+ f = void 0 === u || u,
2050
+ p = i.tetherOffset,
2051
+ m = void 0 === p ? 0 : p,
2052
+ g = oi(e, {
2053
+ boundary: l,
2054
+ rootBoundary: c,
2055
+ padding: d,
2056
+ altBoundary: h,
2057
+ }),
2058
+ _ = we(e.placement),
2059
+ b = Be(e.placement),
2060
+ v = !b,
2061
+ y = je(_),
2062
+ w = "x" === y ? "y" : "x",
2063
+ A = e.modifiersData.popperOffsets,
2064
+ E = e.rects.reference,
2065
+ T = e.rects.popper,
2066
+ C =
2067
+ "function" == typeof m
2068
+ ? m(Object.assign({}, e.rects, { placement: e.placement }))
2069
+ : m,
2070
+ O =
2071
+ "number" == typeof C
2072
+ ? { mainAxis: C, altAxis: C }
2073
+ : Object.assign({ mainAxis: 0, altAxis: 0 }, C),
2074
+ x = e.modifiersData.offset
2075
+ ? e.modifiersData.offset[e.placement]
2076
+ : null,
2077
+ k = { x: 0, y: 0 };
2078
+ if (A) {
2079
+ if (o) {
2080
+ var L,
2081
+ S = "y" === y ? Vt : Xt,
2082
+ D = "y" === y ? Kt : Qt,
2083
+ $ = "y" === y ? "height" : "width",
2084
+ I = A[y],
2085
+ N = I + g[S],
2086
+ P = I - g[D],
2087
+ j = f ? -T[$] / 2 : 0,
2088
+ M = b === Gt ? E[$] : T[$],
2089
+ F = b === Gt ? -T[$] : -E[$],
2090
+ H = e.elements.arrow,
2091
+ W = f && H ? ke(H) : { width: 0, height: 0 },
2092
+ B = e.modifiersData["arrow#persistent"]
2093
+ ? e.modifiersData["arrow#persistent"].padding
2094
+ : { top: 0, right: 0, bottom: 0, left: 0 },
2095
+ z = B[S],
2096
+ R = B[D],
2097
+ q = Me(0, E[$], W[$]),
2098
+ V = v
2099
+ ? E[$] / 2 - j - q - z - O.mainAxis
2100
+ : M - q - z - O.mainAxis,
2101
+ K = v
2102
+ ? -E[$] / 2 + j + q + R + O.mainAxis
2103
+ : F + q + R + O.mainAxis,
2104
+ Q = e.elements.arrow && Pe(e.elements.arrow),
2105
+ X = Q ? ("y" === y ? Q.clientTop || 0 : Q.clientLeft || 0) : 0,
2106
+ Y = null != (L = null == x ? void 0 : x[y]) ? L : 0,
2107
+ U = I + K - Y,
2108
+ G = Me(f ? Ee(N, I + V - Y - X) : N, I, f ? Ae(P, U) : P);
2109
+ (A[y] = G), (k[y] = G - I);
2110
+ }
2111
+ if (a) {
2112
+ var J,
2113
+ Z = "x" === y ? Vt : Xt,
2114
+ tt = "x" === y ? Kt : Qt,
2115
+ et = A[w],
2116
+ it = "y" === w ? "height" : "width",
2117
+ nt = et + g[Z],
2118
+ st = et - g[tt],
2119
+ ot = -1 !== [Vt, Xt].indexOf(_),
2120
+ rt = null != (J = null == x ? void 0 : x[w]) ? J : 0,
2121
+ at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis,
2122
+ lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st,
2123
+ ct =
2124
+ f && ot
2125
+ ? (function (t, e, i) {
2126
+ var n = Me(t, e, i);
2127
+ return n > i ? i : n;
2128
+ })(at, et, lt)
2129
+ : Me(f ? at : nt, et, f ? lt : st);
2130
+ (A[w] = ct), (k[w] = ct - et);
2131
+ }
2132
+ e.modifiersData[n] = k;
2133
+ }
2134
+ },
2135
+ requiresIfExists: ["offset"],
2136
+ };
2137
+ function pi(t, e, i) {
2138
+ void 0 === i && (i = !1);
2139
+ var n,
2140
+ s,
2141
+ o = be(e),
2142
+ r =
2143
+ be(e) &&
2144
+ (function (t) {
2145
+ var e = t.getBoundingClientRect(),
2146
+ i = Te(e.width) / t.offsetWidth || 1,
2147
+ n = Te(e.height) / t.offsetHeight || 1;
2148
+ return 1 !== i || 1 !== n;
2149
+ })(e),
2150
+ a = $e(e),
2151
+ l = xe(t, r, i),
2152
+ c = { scrollLeft: 0, scrollTop: 0 },
2153
+ h = { x: 0, y: 0 };
2154
+ return (
2155
+ (o || (!o && !i)) &&
2156
+ (("body" !== me(e) || Ze(a)) &&
2157
+ (c =
2158
+ (n = e) !== ge(n) && be(n)
2159
+ ? { scrollLeft: (s = n).scrollLeft, scrollTop: s.scrollTop }
2160
+ : Ge(n)),
2161
+ be(e)
2162
+ ? (((h = xe(e, !0)).x += e.clientLeft), (h.y += e.clientTop))
2163
+ : a && (h.x = Je(a))),
2164
+ {
2165
+ x: l.left + c.scrollLeft - h.x,
2166
+ y: l.top + c.scrollTop - h.y,
2167
+ width: l.width,
2168
+ height: l.height,
2169
+ }
2170
+ );
2171
+ }
2172
+ function mi(t) {
2173
+ var e = new Map(),
2174
+ i = new Set(),
2175
+ n = [];
2176
+ function s(t) {
2177
+ i.add(t.name),
2178
+ []
2179
+ .concat(t.requires || [], t.requiresIfExists || [])
2180
+ .forEach(function (t) {
2181
+ if (!i.has(t)) {
2182
+ var n = e.get(t);
2183
+ n && s(n);
2184
+ }
2185
+ }),
2186
+ n.push(t);
2187
+ }
2188
+ return (
2189
+ t.forEach(function (t) {
2190
+ e.set(t.name, t);
2191
+ }),
2192
+ t.forEach(function (t) {
2193
+ i.has(t.name) || s(t);
2194
+ }),
2195
+ n
2196
+ );
2197
+ }
2198
+ var gi = { placement: "bottom", modifiers: [], strategy: "absolute" };
2199
+ function _i() {
2200
+ for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++)
2201
+ e[i] = arguments[i];
2202
+ return !e.some(function (t) {
2203
+ return !(t && "function" == typeof t.getBoundingClientRect);
2204
+ });
2205
+ }
2206
+ function bi(t) {
2207
+ void 0 === t && (t = {});
2208
+ var e = t,
2209
+ i = e.defaultModifiers,
2210
+ n = void 0 === i ? [] : i,
2211
+ s = e.defaultOptions,
2212
+ o = void 0 === s ? gi : s;
2213
+ return function (t, e, i) {
2214
+ void 0 === i && (i = o);
2215
+ var s,
2216
+ r,
2217
+ a = {
2218
+ placement: "bottom",
2219
+ orderedModifiers: [],
2220
+ options: Object.assign({}, gi, o),
2221
+ modifiersData: {},
2222
+ elements: { reference: t, popper: e },
2223
+ attributes: {},
2224
+ styles: {},
2225
+ },
2226
+ l = [],
2227
+ c = !1,
2228
+ h = {
2229
+ state: a,
2230
+ setOptions: function (i) {
2231
+ var s = "function" == typeof i ? i(a.options) : i;
2232
+ d(),
2233
+ (a.options = Object.assign({}, o, a.options, s)),
2234
+ (a.scrollParents = {
2235
+ reference: _e(t)
2236
+ ? ei(t)
2237
+ : t.contextElement
2238
+ ? ei(t.contextElement)
2239
+ : [],
2240
+ popper: ei(e),
2241
+ });
2242
+ var r,
2243
+ c,
2244
+ u = (function (t) {
2245
+ var e = mi(t);
2246
+ return pe.reduce(function (t, i) {
2247
+ return t.concat(
2248
+ e.filter(function (t) {
2249
+ return t.phase === i;
2250
+ }),
2251
+ );
2252
+ }, []);
2253
+ })(
2254
+ ((r = [].concat(n, a.options.modifiers)),
2255
+ (c = r.reduce(function (t, e) {
2256
+ var i = t[e.name];
2257
+ return (
2258
+ (t[e.name] = i
2259
+ ? Object.assign({}, i, e, {
2260
+ options: Object.assign({}, i.options, e.options),
2261
+ data: Object.assign({}, i.data, e.data),
2262
+ })
2263
+ : e),
2264
+ t
2265
+ );
2266
+ }, {})),
2267
+ Object.keys(c).map(function (t) {
2268
+ return c[t];
2269
+ })),
2270
+ );
2271
+ return (
2272
+ (a.orderedModifiers = u.filter(function (t) {
2273
+ return t.enabled;
2274
+ })),
2275
+ a.orderedModifiers.forEach(function (t) {
2276
+ var e = t.name,
2277
+ i = t.options,
2278
+ n = void 0 === i ? {} : i,
2279
+ s = t.effect;
2280
+ if ("function" == typeof s) {
2281
+ var o = s({ state: a, name: e, instance: h, options: n });
2282
+ l.push(o || function () {});
2283
+ }
2284
+ }),
2285
+ h.update()
2286
+ );
2287
+ },
2288
+ forceUpdate: function () {
2289
+ if (!c) {
2290
+ var t = a.elements,
2291
+ e = t.reference,
2292
+ i = t.popper;
2293
+ if (_i(e, i)) {
2294
+ (a.rects = {
2295
+ reference: pi(e, Pe(i), "fixed" === a.options.strategy),
2296
+ popper: ke(i),
2297
+ }),
2298
+ (a.reset = !1),
2299
+ (a.placement = a.options.placement),
2300
+ a.orderedModifiers.forEach(function (t) {
2301
+ return (a.modifiersData[t.name] = Object.assign(
2302
+ {},
2303
+ t.data,
2304
+ ));
2305
+ });
2306
+ for (var n = 0; n < a.orderedModifiers.length; n++)
2307
+ if (!0 !== a.reset) {
2308
+ var s = a.orderedModifiers[n],
2309
+ o = s.fn,
2310
+ r = s.options,
2311
+ l = void 0 === r ? {} : r,
2312
+ d = s.name;
2313
+ "function" == typeof o &&
2314
+ (a =
2315
+ o({ state: a, options: l, name: d, instance: h }) || a);
2316
+ } else (a.reset = !1), (n = -1);
2317
+ }
2318
+ }
2319
+ },
2320
+ update:
2321
+ ((s = function () {
2322
+ return new Promise(function (t) {
2323
+ h.forceUpdate(), t(a);
2324
+ });
2325
+ }),
2326
+ function () {
2327
+ return (
2328
+ r ||
2329
+ (r = new Promise(function (t) {
2330
+ Promise.resolve().then(function () {
2331
+ (r = void 0), t(s());
2332
+ });
2333
+ })),
2334
+ r
2335
+ );
2336
+ }),
2337
+ destroy: function () {
2338
+ d(), (c = !0);
2339
+ },
2340
+ };
2341
+ if (!_i(t, e)) return h;
2342
+ function d() {
2343
+ l.forEach(function (t) {
2344
+ return t();
2345
+ }),
2346
+ (l = []);
2347
+ }
2348
+ return (
2349
+ h.setOptions(i).then(function (t) {
2350
+ !c && i.onFirstUpdate && i.onFirstUpdate(t);
2351
+ }),
2352
+ h
2353
+ );
2354
+ };
2355
+ }
2356
+ var vi = bi(),
2357
+ yi = bi({ defaultModifiers: [Ke, ui, qe, ye] }),
2358
+ wi = bi({ defaultModifiers: [Ke, ui, qe, ye, di, ai, fi, We, hi] });
2359
+ const Ai = Object.freeze(
2360
+ Object.defineProperty(
2361
+ {
2362
+ __proto__: null,
2363
+ afterMain: he,
2364
+ afterRead: ae,
2365
+ afterWrite: fe,
2366
+ applyStyles: ye,
2367
+ arrow: We,
2368
+ auto: Yt,
2369
+ basePlacements: Ut,
2370
+ beforeMain: le,
2371
+ beforeRead: oe,
2372
+ beforeWrite: de,
2373
+ bottom: Kt,
2374
+ clippingParents: Zt,
2375
+ computeStyles: qe,
2376
+ createPopper: wi,
2377
+ createPopperBase: vi,
2378
+ createPopperLite: yi,
2379
+ detectOverflow: oi,
2380
+ end: Jt,
2381
+ eventListeners: Ke,
2382
+ flip: ai,
2383
+ hide: hi,
2384
+ left: Xt,
2385
+ main: ce,
2386
+ modifierPhases: pe,
2387
+ offset: di,
2388
+ placements: se,
2389
+ popper: ee,
2390
+ popperGenerator: bi,
2391
+ popperOffsets: ui,
2392
+ preventOverflow: fi,
2393
+ read: re,
2394
+ reference: ie,
2395
+ right: Qt,
2396
+ start: Gt,
2397
+ top: Vt,
2398
+ variationPlacements: ne,
2399
+ viewport: te,
2400
+ write: ue,
2401
+ },
2402
+ Symbol.toStringTag,
2403
+ { value: "Module" },
2404
+ ),
2405
+ ),
2406
+ Ei = "dropdown",
2407
+ Ti = ".bs.dropdown",
2408
+ Ci = ".data-api",
2409
+ Oi = "ArrowUp",
2410
+ xi = "ArrowDown",
2411
+ ki = `hide${Ti}`,
2412
+ Li = `hidden${Ti}`,
2413
+ Si = `show${Ti}`,
2414
+ Di = `shown${Ti}`,
2415
+ $i = `click${Ti}${Ci}`,
2416
+ Ii = `keydown${Ti}${Ci}`,
2417
+ Ni = `keyup${Ti}${Ci}`,
2418
+ Pi = "show",
2419
+ ji = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
2420
+ Mi = `${ji}.${Pi}`,
2421
+ Fi = ".dropdown-menu",
2422
+ Hi = m() ? "top-end" : "top-start",
2423
+ Wi = m() ? "top-start" : "top-end",
2424
+ Bi = m() ? "bottom-end" : "bottom-start",
2425
+ zi = m() ? "bottom-start" : "bottom-end",
2426
+ Ri = m() ? "left-start" : "right-start",
2427
+ qi = m() ? "right-start" : "left-start",
2428
+ Vi = {
2429
+ autoClose: !0,
2430
+ boundary: "clippingParents",
2431
+ display: "dynamic",
2432
+ offset: [0, 2],
2433
+ popperConfig: null,
2434
+ reference: "toggle",
2435
+ },
2436
+ Ki = {
2437
+ autoClose: "(boolean|string)",
2438
+ boundary: "(string|element)",
2439
+ display: "string",
2440
+ offset: "(array|string|function)",
2441
+ popperConfig: "(null|object|function)",
2442
+ reference: "(string|element|object)",
2443
+ };
2444
+ class Qi extends B {
2445
+ constructor(t, e) {
2446
+ super(t, e),
2447
+ (this._popper = null),
2448
+ (this._parent = this._element.parentNode),
2449
+ (this._menu =
2450
+ R.next(this._element, Fi)[0] ||
2451
+ R.prev(this._element, Fi)[0] ||
2452
+ R.findOne(Fi, this._parent)),
2453
+ (this._inNavbar = this._detectNavbar());
2454
+ }
2455
+ static get Default() {
2456
+ return Vi;
2457
+ }
2458
+ static get DefaultType() {
2459
+ return Ki;
2460
+ }
2461
+ static get NAME() {
2462
+ return Ei;
2463
+ }
2464
+ toggle() {
2465
+ return this._isShown() ? this.hide() : this.show();
2466
+ }
2467
+ show() {
2468
+ if (c(this._element) || this._isShown()) return;
2469
+ const t = { relatedTarget: this._element };
2470
+ if (!P.trigger(this._element, Si, t).defaultPrevented) {
2471
+ if (
2472
+ (this._createPopper(),
2473
+ "ontouchstart" in document.documentElement &&
2474
+ !this._parent.closest(".navbar-nav"))
2475
+ )
2476
+ for (const t of [].concat(...document.body.children))
2477
+ P.on(t, "mouseover", d);
2478
+ this._element.focus(),
2479
+ this._element.setAttribute("aria-expanded", !0),
2480
+ this._menu.classList.add(Pi),
2481
+ this._element.classList.add(Pi),
2482
+ P.trigger(this._element, Di, t);
2483
+ }
2484
+ }
2485
+ hide() {
2486
+ if (c(this._element) || !this._isShown()) return;
2487
+ const t = { relatedTarget: this._element };
2488
+ this._completeHide(t);
2489
+ }
2490
+ dispose() {
2491
+ this._popper && this._popper.destroy(), super.dispose();
2492
+ }
2493
+ update() {
2494
+ (this._inNavbar = this._detectNavbar()),
2495
+ this._popper && this._popper.update();
2496
+ }
2497
+ _completeHide(t) {
2498
+ if (!P.trigger(this._element, ki, t).defaultPrevented) {
2499
+ if ("ontouchstart" in document.documentElement)
2500
+ for (const t of [].concat(...document.body.children))
2501
+ P.off(t, "mouseover", d);
2502
+ this._popper && this._popper.destroy(),
2503
+ this._menu.classList.remove(Pi),
2504
+ this._element.classList.remove(Pi),
2505
+ this._element.setAttribute("aria-expanded", "false"),
2506
+ H.removeDataAttribute(this._menu, "popper"),
2507
+ P.trigger(this._element, Li, t);
2508
+ }
2509
+ }
2510
+ _getConfig(t) {
2511
+ if (
2512
+ "object" == typeof (t = super._getConfig(t)).reference &&
2513
+ !r(t.reference) &&
2514
+ "function" != typeof t.reference.getBoundingClientRect
2515
+ )
2516
+ throw new TypeError(
2517
+ `${Ei.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`,
2518
+ );
2519
+ return t;
2520
+ }
2521
+ _createPopper() {
2522
+ if (void 0 === Ai)
2523
+ throw new TypeError(
2524
+ "Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)",
2525
+ );
2526
+ let t = this._element;
2527
+ "parent" === this._config.reference
2528
+ ? (t = this._parent)
2529
+ : r(this._config.reference)
2530
+ ? (t = a(this._config.reference))
2531
+ : "object" == typeof this._config.reference &&
2532
+ (t = this._config.reference);
2533
+ const e = this._getPopperConfig();
2534
+ this._popper = wi(t, this._menu, e);
2535
+ }
2536
+ _isShown() {
2537
+ return this._menu.classList.contains(Pi);
2538
+ }
2539
+ _getPlacement() {
2540
+ const t = this._parent;
2541
+ if (t.classList.contains("dropend")) return Ri;
2542
+ if (t.classList.contains("dropstart")) return qi;
2543
+ if (t.classList.contains("dropup-center")) return "top";
2544
+ if (t.classList.contains("dropdown-center")) return "bottom";
2545
+ const e =
2546
+ "end" ===
2547
+ getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
2548
+ return t.classList.contains("dropup") ? (e ? Wi : Hi) : e ? zi : Bi;
2549
+ }
2550
+ _detectNavbar() {
2551
+ return null !== this._element.closest(".navbar");
2552
+ }
2553
+ _getOffset() {
2554
+ const { offset: t } = this._config;
2555
+ return "string" == typeof t
2556
+ ? t.split(",").map((t) => Number.parseInt(t, 10))
2557
+ : "function" == typeof t
2558
+ ? (e) => t(e, this._element)
2559
+ : t;
2560
+ }
2561
+ _getPopperConfig() {
2562
+ const t = {
2563
+ placement: this._getPlacement(),
2564
+ modifiers: [
2565
+ {
2566
+ name: "preventOverflow",
2567
+ options: { boundary: this._config.boundary },
2568
+ },
2569
+ { name: "offset", options: { offset: this._getOffset() } },
2570
+ ],
2571
+ };
2572
+ return (
2573
+ (this._inNavbar || "static" === this._config.display) &&
2574
+ (H.setDataAttribute(this._menu, "popper", "static"),
2575
+ (t.modifiers = [{ name: "applyStyles", enabled: !1 }])),
2576
+ { ...t, ..._(this._config.popperConfig, [void 0, t]) }
2577
+ );
2578
+ }
2579
+ _selectMenuItem({ key: t, target: e }) {
2580
+ const i = R.find(
2581
+ ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",
2582
+ this._menu,
2583
+ ).filter((t) => l(t));
2584
+ i.length && v(i, e, t === xi, !i.includes(e)).focus();
2585
+ }
2586
+ static jQueryInterface(t) {
2587
+ return this.each(function () {
2588
+ const e = Qi.getOrCreateInstance(this, t);
2589
+ if ("string" == typeof t) {
2590
+ if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
2591
+ e[t]();
2592
+ }
2593
+ });
2594
+ }
2595
+ static clearMenus(t) {
2596
+ if (2 === t.button || ("keyup" === t.type && "Tab" !== t.key)) return;
2597
+ const e = R.find(Mi);
2598
+ for (const i of e) {
2599
+ const e = Qi.getInstance(i);
2600
+ if (!e || !1 === e._config.autoClose) continue;
2601
+ const n = t.composedPath(),
2602
+ s = n.includes(e._menu);
2603
+ if (
2604
+ n.includes(e._element) ||
2605
+ ("inside" === e._config.autoClose && !s) ||
2606
+ ("outside" === e._config.autoClose && s)
2607
+ )
2608
+ continue;
2609
+ if (
2610
+ e._menu.contains(t.target) &&
2611
+ (("keyup" === t.type && "Tab" === t.key) ||
2612
+ /input|select|option|textarea|form/i.test(t.target.tagName))
2613
+ )
2614
+ continue;
2615
+ const o = { relatedTarget: e._element };
2616
+ "click" === t.type && (o.clickEvent = t), e._completeHide(o);
2617
+ }
2618
+ }
2619
+ static dataApiKeydownHandler(t) {
2620
+ const e = /input|textarea/i.test(t.target.tagName),
2621
+ i = "Escape" === t.key,
2622
+ n = [Oi, xi].includes(t.key);
2623
+ if (!n && !i) return;
2624
+ if (e && !i) return;
2625
+ t.preventDefault();
2626
+ const s = this.matches(ji)
2627
+ ? this
2628
+ : R.prev(this, ji)[0] ||
2629
+ R.next(this, ji)[0] ||
2630
+ R.findOne(ji, t.delegateTarget.parentNode),
2631
+ o = Qi.getOrCreateInstance(s);
2632
+ if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
2633
+ o._isShown() && (t.stopPropagation(), o.hide(), s.focus());
2634
+ }
2635
+ }
2636
+ P.on(document, Ii, ji, Qi.dataApiKeydownHandler),
2637
+ P.on(document, Ii, Fi, Qi.dataApiKeydownHandler),
2638
+ P.on(document, $i, Qi.clearMenus),
2639
+ P.on(document, Ni, Qi.clearMenus),
2640
+ P.on(document, $i, ji, function (t) {
2641
+ t.preventDefault(), Qi.getOrCreateInstance(this).toggle();
2642
+ }),
2643
+ g(Qi);
2644
+ const Xi = "backdrop",
2645
+ Yi = "show",
2646
+ Ui = `mousedown.bs.${Xi}`,
2647
+ Gi = {
2648
+ className: "modal-backdrop",
2649
+ clickCallback: null,
2650
+ isAnimated: !1,
2651
+ isVisible: !0,
2652
+ rootElement: "body",
2653
+ },
2654
+ Ji = {
2655
+ className: "string",
2656
+ clickCallback: "(function|null)",
2657
+ isAnimated: "boolean",
2658
+ isVisible: "boolean",
2659
+ rootElement: "(element|string)",
2660
+ };
2661
+ class Zi extends W {
2662
+ constructor(t) {
2663
+ super(),
2664
+ (this._config = this._getConfig(t)),
2665
+ (this._isAppended = !1),
2666
+ (this._element = null);
2667
+ }
2668
+ static get Default() {
2669
+ return Gi;
2670
+ }
2671
+ static get DefaultType() {
2672
+ return Ji;
2673
+ }
2674
+ static get NAME() {
2675
+ return Xi;
2676
+ }
2677
+ show(t) {
2678
+ if (!this._config.isVisible) return void _(t);
2679
+ this._append();
2680
+ const e = this._getElement();
2681
+ this._config.isAnimated && u(e),
2682
+ e.classList.add(Yi),
2683
+ this._emulateAnimation(() => {
2684
+ _(t);
2685
+ });
2686
+ }
2687
+ hide(t) {
2688
+ this._config.isVisible
2689
+ ? (this._getElement().classList.remove(Yi),
2690
+ this._emulateAnimation(() => {
2691
+ this.dispose(), _(t);
2692
+ }))
2693
+ : _(t);
2694
+ }
2695
+ dispose() {
2696
+ this._isAppended &&
2697
+ (P.off(this._element, Ui),
2698
+ this._element.remove(),
2699
+ (this._isAppended = !1));
2700
+ }
2701
+ _getElement() {
2702
+ if (!this._element) {
2703
+ const t = document.createElement("div");
2704
+ (t.className = this._config.className),
2705
+ this._config.isAnimated && t.classList.add("fade"),
2706
+ (this._element = t);
2707
+ }
2708
+ return this._element;
2709
+ }
2710
+ _configAfterMerge(t) {
2711
+ return (t.rootElement = a(t.rootElement)), t;
2712
+ }
2713
+ _append() {
2714
+ if (this._isAppended) return;
2715
+ const t = this._getElement();
2716
+ this._config.rootElement.append(t),
2717
+ P.on(t, Ui, () => {
2718
+ _(this._config.clickCallback);
2719
+ }),
2720
+ (this._isAppended = !0);
2721
+ }
2722
+ _emulateAnimation(t) {
2723
+ b(t, this._getElement(), this._config.isAnimated);
2724
+ }
2725
+ }
2726
+ const tn = ".bs.focustrap",
2727
+ en = `focusin${tn}`,
2728
+ nn = `keydown.tab${tn}`,
2729
+ sn = "backward",
2730
+ on = { autofocus: !0, trapElement: null },
2731
+ rn = { autofocus: "boolean", trapElement: "element" };
2732
+ class an extends W {
2733
+ constructor(t) {
2734
+ super(),
2735
+ (this._config = this._getConfig(t)),
2736
+ (this._isActive = !1),
2737
+ (this._lastTabNavDirection = null);
2738
+ }
2739
+ static get Default() {
2740
+ return on;
2741
+ }
2742
+ static get DefaultType() {
2743
+ return rn;
2744
+ }
2745
+ static get NAME() {
2746
+ return "focustrap";
2747
+ }
2748
+ activate() {
2749
+ this._isActive ||
2750
+ (this._config.autofocus && this._config.trapElement.focus(),
2751
+ P.off(document, tn),
2752
+ P.on(document, en, (t) => this._handleFocusin(t)),
2753
+ P.on(document, nn, (t) => this._handleKeydown(t)),
2754
+ (this._isActive = !0));
2755
+ }
2756
+ deactivate() {
2757
+ this._isActive && ((this._isActive = !1), P.off(document, tn));
2758
+ }
2759
+ _handleFocusin(t) {
2760
+ const { trapElement: e } = this._config;
2761
+ if (t.target === document || t.target === e || e.contains(t.target))
2762
+ return;
2763
+ const i = R.focusableChildren(e);
2764
+ 0 === i.length
2765
+ ? e.focus()
2766
+ : this._lastTabNavDirection === sn
2767
+ ? i[i.length - 1].focus()
2768
+ : i[0].focus();
2769
+ }
2770
+ _handleKeydown(t) {
2771
+ "Tab" === t.key &&
2772
+ (this._lastTabNavDirection = t.shiftKey ? sn : "forward");
2773
+ }
2774
+ }
2775
+ const ln = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
2776
+ cn = ".sticky-top",
2777
+ hn = "padding-right",
2778
+ dn = "margin-right";
2779
+ class un {
2780
+ constructor() {
2781
+ this._element = document.body;
2782
+ }
2783
+ getWidth() {
2784
+ const t = document.documentElement.clientWidth;
2785
+ return Math.abs(window.innerWidth - t);
2786
+ }
2787
+ hide() {
2788
+ const t = this.getWidth();
2789
+ this._disableOverFlow(),
2790
+ this._setElementAttributes(this._element, hn, (e) => e + t),
2791
+ this._setElementAttributes(ln, hn, (e) => e + t),
2792
+ this._setElementAttributes(cn, dn, (e) => e - t);
2793
+ }
2794
+ reset() {
2795
+ this._resetElementAttributes(this._element, "overflow"),
2796
+ this._resetElementAttributes(this._element, hn),
2797
+ this._resetElementAttributes(ln, hn),
2798
+ this._resetElementAttributes(cn, dn);
2799
+ }
2800
+ isOverflowing() {
2801
+ return this.getWidth() > 0;
2802
+ }
2803
+ _disableOverFlow() {
2804
+ this._saveInitialAttribute(this._element, "overflow"),
2805
+ (this._element.style.overflow = "hidden");
2806
+ }
2807
+ _setElementAttributes(t, e, i) {
2808
+ const n = this.getWidth();
2809
+ this._applyManipulationCallback(t, (t) => {
2810
+ if (t !== this._element && window.innerWidth > t.clientWidth + n)
2811
+ return;
2812
+ this._saveInitialAttribute(t, e);
2813
+ const s = window.getComputedStyle(t).getPropertyValue(e);
2814
+ t.style.setProperty(e, `${i(Number.parseFloat(s))}px`);
2815
+ });
2816
+ }
2817
+ _saveInitialAttribute(t, e) {
2818
+ const i = t.style.getPropertyValue(e);
2819
+ i && H.setDataAttribute(t, e, i);
2820
+ }
2821
+ _resetElementAttributes(t, e) {
2822
+ this._applyManipulationCallback(t, (t) => {
2823
+ const i = H.getDataAttribute(t, e);
2824
+ null !== i
2825
+ ? (H.removeDataAttribute(t, e), t.style.setProperty(e, i))
2826
+ : t.style.removeProperty(e);
2827
+ });
2828
+ }
2829
+ _applyManipulationCallback(t, e) {
2830
+ if (r(t)) e(t);
2831
+ else for (const i of R.find(t, this._element)) e(i);
2832
+ }
2833
+ }
2834
+ const fn = ".bs.modal",
2835
+ pn = `hide${fn}`,
2836
+ mn = `hidePrevented${fn}`,
2837
+ gn = `hidden${fn}`,
2838
+ _n = `show${fn}`,
2839
+ bn = `shown${fn}`,
2840
+ vn = `resize${fn}`,
2841
+ yn = `click.dismiss${fn}`,
2842
+ wn = `mousedown.dismiss${fn}`,
2843
+ An = `keydown.dismiss${fn}`,
2844
+ En = `click${fn}.data-api`,
2845
+ Tn = "modal-open",
2846
+ Cn = "show",
2847
+ On = "modal-static",
2848
+ xn = { backdrop: !0, focus: !0, keyboard: !0 },
2849
+ kn = {
2850
+ backdrop: "(boolean|string)",
2851
+ focus: "boolean",
2852
+ keyboard: "boolean",
2853
+ };
2854
+ class Ln extends B {
2855
+ constructor(t, e) {
2856
+ super(t, e),
2857
+ (this._dialog = R.findOne(".modal-dialog", this._element)),
2858
+ (this._backdrop = this._initializeBackDrop()),
2859
+ (this._focustrap = this._initializeFocusTrap()),
2860
+ (this._isShown = !1),
2861
+ (this._isTransitioning = !1),
2862
+ (this._scrollBar = new un()),
2863
+ this._addEventListeners();
2864
+ }
2865
+ static get Default() {
2866
+ return xn;
2867
+ }
2868
+ static get DefaultType() {
2869
+ return kn;
2870
+ }
2871
+ static get NAME() {
2872
+ return "modal";
2873
+ }
2874
+ toggle(t) {
2875
+ return this._isShown ? this.hide() : this.show(t);
2876
+ }
2877
+ show(t) {
2878
+ this._isShown ||
2879
+ this._isTransitioning ||
2880
+ P.trigger(this._element, _n, { relatedTarget: t }).defaultPrevented ||
2881
+ ((this._isShown = !0),
2882
+ (this._isTransitioning = !0),
2883
+ this._scrollBar.hide(),
2884
+ document.body.classList.add(Tn),
2885
+ this._adjustDialog(),
2886
+ this._backdrop.show(() => this._showElement(t)));
2887
+ }
2888
+ hide() {
2889
+ this._isShown &&
2890
+ !this._isTransitioning &&
2891
+ (P.trigger(this._element, pn).defaultPrevented ||
2892
+ ((this._isShown = !1),
2893
+ (this._isTransitioning = !0),
2894
+ this._focustrap.deactivate(),
2895
+ this._element.classList.remove(Cn),
2896
+ this._queueCallback(
2897
+ () => this._hideModal(),
2898
+ this._element,
2899
+ this._isAnimated(),
2900
+ )));
2901
+ }
2902
+ dispose() {
2903
+ P.off(window, fn),
2904
+ P.off(this._dialog, fn),
2905
+ this._backdrop.dispose(),
2906
+ this._focustrap.deactivate(),
2907
+ super.dispose();
2908
+ }
2909
+ handleUpdate() {
2910
+ this._adjustDialog();
2911
+ }
2912
+ _initializeBackDrop() {
2913
+ return new Zi({
2914
+ isVisible: Boolean(this._config.backdrop),
2915
+ isAnimated: this._isAnimated(),
2916
+ });
2917
+ }
2918
+ _initializeFocusTrap() {
2919
+ return new an({ trapElement: this._element });
2920
+ }
2921
+ _showElement(t) {
2922
+ document.body.contains(this._element) ||
2923
+ document.body.append(this._element),
2924
+ (this._element.style.display = "block"),
2925
+ this._element.removeAttribute("aria-hidden"),
2926
+ this._element.setAttribute("aria-modal", !0),
2927
+ this._element.setAttribute("role", "dialog"),
2928
+ (this._element.scrollTop = 0);
2929
+ const e = R.findOne(".modal-body", this._dialog);
2930
+ e && (e.scrollTop = 0),
2931
+ u(this._element),
2932
+ this._element.classList.add(Cn),
2933
+ this._queueCallback(
2934
+ () => {
2935
+ this._config.focus && this._focustrap.activate(),
2936
+ (this._isTransitioning = !1),
2937
+ P.trigger(this._element, bn, { relatedTarget: t });
2938
+ },
2939
+ this._dialog,
2940
+ this._isAnimated(),
2941
+ );
2942
+ }
2943
+ _addEventListeners() {
2944
+ P.on(this._element, An, (t) => {
2945
+ "Escape" === t.key &&
2946
+ (this._config.keyboard
2947
+ ? this.hide()
2948
+ : this._triggerBackdropTransition());
2949
+ }),
2950
+ P.on(window, vn, () => {
2951
+ this._isShown && !this._isTransitioning && this._adjustDialog();
2952
+ }),
2953
+ P.on(this._element, wn, (t) => {
2954
+ P.one(this._element, yn, (e) => {
2955
+ this._element === t.target &&
2956
+ this._element === e.target &&
2957
+ ("static" !== this._config.backdrop
2958
+ ? this._config.backdrop && this.hide()
2959
+ : this._triggerBackdropTransition());
2960
+ });
2961
+ });
2962
+ }
2963
+ _hideModal() {
2964
+ (this._element.style.display = "none"),
2965
+ this._element.setAttribute("aria-hidden", !0),
2966
+ this._element.removeAttribute("aria-modal"),
2967
+ this._element.removeAttribute("role"),
2968
+ (this._isTransitioning = !1),
2969
+ this._backdrop.hide(() => {
2970
+ document.body.classList.remove(Tn),
2971
+ this._resetAdjustments(),
2972
+ this._scrollBar.reset(),
2973
+ P.trigger(this._element, gn);
2974
+ });
2975
+ }
2976
+ _isAnimated() {
2977
+ return this._element.classList.contains("fade");
2978
+ }
2979
+ _triggerBackdropTransition() {
2980
+ if (P.trigger(this._element, mn).defaultPrevented) return;
2981
+ const t =
2982
+ this._element.scrollHeight > document.documentElement.clientHeight,
2983
+ e = this._element.style.overflowY;
2984
+ "hidden" === e ||
2985
+ this._element.classList.contains(On) ||
2986
+ (t || (this._element.style.overflowY = "hidden"),
2987
+ this._element.classList.add(On),
2988
+ this._queueCallback(() => {
2989
+ this._element.classList.remove(On),
2990
+ this._queueCallback(() => {
2991
+ this._element.style.overflowY = e;
2992
+ }, this._dialog);
2993
+ }, this._dialog),
2994
+ this._element.focus());
2995
+ }
2996
+ _adjustDialog() {
2997
+ const t =
2998
+ this._element.scrollHeight > document.documentElement.clientHeight,
2999
+ e = this._scrollBar.getWidth(),
3000
+ i = e > 0;
3001
+ if (i && !t) {
3002
+ const t = m() ? "paddingLeft" : "paddingRight";
3003
+ this._element.style[t] = `${e}px`;
3004
+ }
3005
+ if (!i && t) {
3006
+ const t = m() ? "paddingRight" : "paddingLeft";
3007
+ this._element.style[t] = `${e}px`;
3008
+ }
3009
+ }
3010
+ _resetAdjustments() {
3011
+ (this._element.style.paddingLeft = ""),
3012
+ (this._element.style.paddingRight = "");
3013
+ }
3014
+ static jQueryInterface(t, e) {
3015
+ return this.each(function () {
3016
+ const i = Ln.getOrCreateInstance(this, t);
3017
+ if ("string" == typeof t) {
3018
+ if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
3019
+ i[t](e);
3020
+ }
3021
+ });
3022
+ }
3023
+ }
3024
+ P.on(document, En, '[data-bs-toggle="modal"]', function (t) {
3025
+ const e = R.getElementFromSelector(this);
3026
+ ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
3027
+ P.one(e, _n, (t) => {
3028
+ t.defaultPrevented ||
3029
+ P.one(e, gn, () => {
3030
+ l(this) && this.focus();
3031
+ });
3032
+ });
3033
+ const i = R.findOne(".modal.show");
3034
+ i && Ln.getInstance(i).hide(), Ln.getOrCreateInstance(e).toggle(this);
3035
+ }),
3036
+ q(Ln),
3037
+ g(Ln);
3038
+ const Sn = ".bs.offcanvas",
3039
+ Dn = ".data-api",
3040
+ $n = `load${Sn}${Dn}`,
3041
+ In = "show",
3042
+ Nn = "showing",
3043
+ Pn = "hiding",
3044
+ jn = ".offcanvas.show",
3045
+ Mn = `show${Sn}`,
3046
+ Fn = `shown${Sn}`,
3047
+ Hn = `hide${Sn}`,
3048
+ Wn = `hidePrevented${Sn}`,
3049
+ Bn = `hidden${Sn}`,
3050
+ zn = `resize${Sn}`,
3051
+ Rn = `click${Sn}${Dn}`,
3052
+ qn = `keydown.dismiss${Sn}`,
3053
+ Vn = { backdrop: !0, keyboard: !0, scroll: !1 },
3054
+ Kn = {
3055
+ backdrop: "(boolean|string)",
3056
+ keyboard: "boolean",
3057
+ scroll: "boolean",
3058
+ };
3059
+ class Qn extends B {
3060
+ constructor(t, e) {
3061
+ super(t, e),
3062
+ (this._isShown = !1),
3063
+ (this._backdrop = this._initializeBackDrop()),
3064
+ (this._focustrap = this._initializeFocusTrap()),
3065
+ this._addEventListeners();
3066
+ }
3067
+ static get Default() {
3068
+ return Vn;
3069
+ }
3070
+ static get DefaultType() {
3071
+ return Kn;
3072
+ }
3073
+ static get NAME() {
3074
+ return "offcanvas";
3075
+ }
3076
+ toggle(t) {
3077
+ return this._isShown ? this.hide() : this.show(t);
3078
+ }
3079
+ show(t) {
3080
+ this._isShown ||
3081
+ P.trigger(this._element, Mn, { relatedTarget: t }).defaultPrevented ||
3082
+ ((this._isShown = !0),
3083
+ this._backdrop.show(),
3084
+ this._config.scroll || new un().hide(),
3085
+ this._element.setAttribute("aria-modal", !0),
3086
+ this._element.setAttribute("role", "dialog"),
3087
+ this._element.classList.add(Nn),
3088
+ this._queueCallback(
3089
+ () => {
3090
+ (this._config.scroll && !this._config.backdrop) ||
3091
+ this._focustrap.activate(),
3092
+ this._element.classList.add(In),
3093
+ this._element.classList.remove(Nn),
3094
+ P.trigger(this._element, Fn, { relatedTarget: t });
3095
+ },
3096
+ this._element,
3097
+ !0,
3098
+ ));
3099
+ }
3100
+ hide() {
3101
+ this._isShown &&
3102
+ (P.trigger(this._element, Hn).defaultPrevented ||
3103
+ (this._focustrap.deactivate(),
3104
+ this._element.blur(),
3105
+ (this._isShown = !1),
3106
+ this._element.classList.add(Pn),
3107
+ this._backdrop.hide(),
3108
+ this._queueCallback(
3109
+ () => {
3110
+ this._element.classList.remove(In, Pn),
3111
+ this._element.removeAttribute("aria-modal"),
3112
+ this._element.removeAttribute("role"),
3113
+ this._config.scroll || new un().reset(),
3114
+ P.trigger(this._element, Bn);
3115
+ },
3116
+ this._element,
3117
+ !0,
3118
+ )));
3119
+ }
3120
+ dispose() {
3121
+ this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose();
3122
+ }
3123
+ _initializeBackDrop() {
3124
+ const t = Boolean(this._config.backdrop);
3125
+ return new Zi({
3126
+ className: "offcanvas-backdrop",
3127
+ isVisible: t,
3128
+ isAnimated: !0,
3129
+ rootElement: this._element.parentNode,
3130
+ clickCallback: t
3131
+ ? () => {
3132
+ "static" !== this._config.backdrop
3133
+ ? this.hide()
3134
+ : P.trigger(this._element, Wn);
3135
+ }
3136
+ : null,
3137
+ });
3138
+ }
3139
+ _initializeFocusTrap() {
3140
+ return new an({ trapElement: this._element });
3141
+ }
3142
+ _addEventListeners() {
3143
+ P.on(this._element, qn, (t) => {
3144
+ "Escape" === t.key &&
3145
+ (this._config.keyboard ? this.hide() : P.trigger(this._element, Wn));
3146
+ });
3147
+ }
3148
+ static jQueryInterface(t) {
3149
+ return this.each(function () {
3150
+ const e = Qn.getOrCreateInstance(this, t);
3151
+ if ("string" == typeof t) {
3152
+ if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
3153
+ throw new TypeError(`No method named "${t}"`);
3154
+ e[t](this);
3155
+ }
3156
+ });
3157
+ }
3158
+ }
3159
+ P.on(document, Rn, '[data-bs-toggle="offcanvas"]', function (t) {
3160
+ const e = R.getElementFromSelector(this);
3161
+ if ((["A", "AREA"].includes(this.tagName) && t.preventDefault(), c(this)))
3162
+ return;
3163
+ P.one(e, Bn, () => {
3164
+ l(this) && this.focus();
3165
+ });
3166
+ const i = R.findOne(jn);
3167
+ i && i !== e && Qn.getInstance(i).hide(),
3168
+ Qn.getOrCreateInstance(e).toggle(this);
3169
+ }),
3170
+ P.on(window, $n, () => {
3171
+ for (const t of R.find(jn)) Qn.getOrCreateInstance(t).show();
3172
+ }),
3173
+ P.on(window, zn, () => {
3174
+ for (const t of R.find("[aria-modal][class*=show][class*=offcanvas-]"))
3175
+ "fixed" !== getComputedStyle(t).position &&
3176
+ Qn.getOrCreateInstance(t).hide();
3177
+ }),
3178
+ q(Qn),
3179
+ g(Qn);
3180
+ const Xn = {
3181
+ "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
3182
+ a: ["target", "href", "title", "rel"],
3183
+ area: [],
3184
+ b: [],
3185
+ br: [],
3186
+ col: [],
3187
+ code: [],
3188
+ dd: [],
3189
+ div: [],
3190
+ dl: [],
3191
+ dt: [],
3192
+ em: [],
3193
+ hr: [],
3194
+ h1: [],
3195
+ h2: [],
3196
+ h3: [],
3197
+ h4: [],
3198
+ h5: [],
3199
+ h6: [],
3200
+ i: [],
3201
+ img: ["src", "srcset", "alt", "title", "width", "height"],
3202
+ li: [],
3203
+ ol: [],
3204
+ p: [],
3205
+ pre: [],
3206
+ s: [],
3207
+ small: [],
3208
+ span: [],
3209
+ sub: [],
3210
+ sup: [],
3211
+ strong: [],
3212
+ u: [],
3213
+ ul: [],
3214
+ },
3215
+ Yn = new Set([
3216
+ "background",
3217
+ "cite",
3218
+ "href",
3219
+ "itemtype",
3220
+ "longdesc",
3221
+ "poster",
3222
+ "src",
3223
+ "xlink:href",
3224
+ ]),
3225
+ Un = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
3226
+ Gn = (t, e) => {
3227
+ const i = t.nodeName.toLowerCase();
3228
+ return e.includes(i)
3229
+ ? !Yn.has(i) || Boolean(Un.test(t.nodeValue))
3230
+ : e.filter((t) => t instanceof RegExp).some((t) => t.test(i));
3231
+ },
3232
+ Jn = {
3233
+ allowList: Xn,
3234
+ content: {},
3235
+ extraClass: "",
3236
+ html: !1,
3237
+ sanitize: !0,
3238
+ sanitizeFn: null,
3239
+ template: "<div></div>",
3240
+ },
3241
+ Zn = {
3242
+ allowList: "object",
3243
+ content: "object",
3244
+ extraClass: "(string|function)",
3245
+ html: "boolean",
3246
+ sanitize: "boolean",
3247
+ sanitizeFn: "(null|function)",
3248
+ template: "string",
3249
+ },
3250
+ ts = {
3251
+ entry: "(string|element|function|null)",
3252
+ selector: "(string|element)",
3253
+ };
3254
+ class es extends W {
3255
+ constructor(t) {
3256
+ super(), (this._config = this._getConfig(t));
3257
+ }
3258
+ static get Default() {
3259
+ return Jn;
3260
+ }
3261
+ static get DefaultType() {
3262
+ return Zn;
3263
+ }
3264
+ static get NAME() {
3265
+ return "TemplateFactory";
3266
+ }
3267
+ getContent() {
3268
+ return Object.values(this._config.content)
3269
+ .map((t) => this._resolvePossibleFunction(t))
3270
+ .filter(Boolean);
3271
+ }
3272
+ hasContent() {
3273
+ return this.getContent().length > 0;
3274
+ }
3275
+ changeContent(t) {
3276
+ return (
3277
+ this._checkContent(t),
3278
+ (this._config.content = { ...this._config.content, ...t }),
3279
+ this
3280
+ );
3281
+ }
3282
+ toHtml() {
3283
+ const t = document.createElement("div");
3284
+ t.innerHTML = this._maybeSanitize(this._config.template);
3285
+ for (const [e, i] of Object.entries(this._config.content))
3286
+ this._setContent(t, i, e);
3287
+ const e = t.children[0],
3288
+ i = this._resolvePossibleFunction(this._config.extraClass);
3289
+ return i && e.classList.add(...i.split(" ")), e;
3290
+ }
3291
+ _typeCheckConfig(t) {
3292
+ super._typeCheckConfig(t), this._checkContent(t.content);
3293
+ }
3294
+ _checkContent(t) {
3295
+ for (const [e, i] of Object.entries(t))
3296
+ super._typeCheckConfig({ selector: e, entry: i }, ts);
3297
+ }
3298
+ _setContent(t, e, i) {
3299
+ const n = R.findOne(i, t);
3300
+ n &&
3301
+ ((e = this._resolvePossibleFunction(e))
3302
+ ? r(e)
3303
+ ? this._putElementInTemplate(a(e), n)
3304
+ : this._config.html
3305
+ ? (n.innerHTML = this._maybeSanitize(e))
3306
+ : (n.textContent = e)
3307
+ : n.remove());
3308
+ }
3309
+ _maybeSanitize(t) {
3310
+ return this._config.sanitize
3311
+ ? (function (t, e, i) {
3312
+ if (!t.length) return t;
3313
+ if (i && "function" == typeof i) return i(t);
3314
+ const n = new window.DOMParser().parseFromString(t, "text/html"),
3315
+ s = [].concat(...n.body.querySelectorAll("*"));
3316
+ for (const t of s) {
3317
+ const i = t.nodeName.toLowerCase();
3318
+ if (!Object.keys(e).includes(i)) {
3319
+ t.remove();
3320
+ continue;
3321
+ }
3322
+ const n = [].concat(...t.attributes),
3323
+ s = [].concat(e["*"] || [], e[i] || []);
3324
+ for (const e of n) Gn(e, s) || t.removeAttribute(e.nodeName);
3325
+ }
3326
+ return n.body.innerHTML;
3327
+ })(t, this._config.allowList, this._config.sanitizeFn)
3328
+ : t;
3329
+ }
3330
+ _resolvePossibleFunction(t) {
3331
+ return _(t, [void 0, this]);
3332
+ }
3333
+ _putElementInTemplate(t, e) {
3334
+ if (this._config.html) return (e.innerHTML = ""), void e.append(t);
3335
+ e.textContent = t.textContent;
3336
+ }
3337
+ }
3338
+ const is = new Set(["sanitize", "allowList", "sanitizeFn"]),
3339
+ ns = "fade",
3340
+ ss = "show",
3341
+ os = ".tooltip-inner",
3342
+ rs = ".modal",
3343
+ as = "hide.bs.modal",
3344
+ ls = "hover",
3345
+ cs = "focus",
3346
+ hs = "click",
3347
+ ds = {
3348
+ AUTO: "auto",
3349
+ TOP: "top",
3350
+ RIGHT: m() ? "left" : "right",
3351
+ BOTTOM: "bottom",
3352
+ LEFT: m() ? "right" : "left",
3353
+ },
3354
+ us = {
3355
+ allowList: Xn,
3356
+ animation: !0,
3357
+ boundary: "clippingParents",
3358
+ container: !1,
3359
+ customClass: "",
3360
+ delay: 0,
3361
+ fallbackPlacements: ["top", "right", "bottom", "left"],
3362
+ html: !1,
3363
+ offset: [0, 6],
3364
+ placement: "top",
3365
+ popperConfig: null,
3366
+ sanitize: !0,
3367
+ sanitizeFn: null,
3368
+ selector: !1,
3369
+ template:
3370
+ '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
3371
+ title: "",
3372
+ trigger: "hover focus",
3373
+ },
3374
+ fs = {
3375
+ allowList: "object",
3376
+ animation: "boolean",
3377
+ boundary: "(string|element)",
3378
+ container: "(string|element|boolean)",
3379
+ customClass: "(string|function)",
3380
+ delay: "(number|object)",
3381
+ fallbackPlacements: "array",
3382
+ html: "boolean",
3383
+ offset: "(array|string|function)",
3384
+ placement: "(string|function)",
3385
+ popperConfig: "(null|object|function)",
3386
+ sanitize: "boolean",
3387
+ sanitizeFn: "(null|function)",
3388
+ selector: "(string|boolean)",
3389
+ template: "string",
3390
+ title: "(string|element|function)",
3391
+ trigger: "string",
3392
+ };
3393
+ class ps extends B {
3394
+ constructor(t, e) {
3395
+ if (void 0 === Ai)
3396
+ throw new TypeError(
3397
+ "Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)",
3398
+ );
3399
+ super(t, e),
3400
+ (this._isEnabled = !0),
3401
+ (this._timeout = 0),
3402
+ (this._isHovered = null),
3403
+ (this._activeTrigger = {}),
3404
+ (this._popper = null),
3405
+ (this._templateFactory = null),
3406
+ (this._newContent = null),
3407
+ (this.tip = null),
3408
+ this._setListeners(),
3409
+ this._config.selector || this._fixTitle();
3410
+ }
3411
+ static get Default() {
3412
+ return us;
3413
+ }
3414
+ static get DefaultType() {
3415
+ return fs;
3416
+ }
3417
+ static get NAME() {
3418
+ return "tooltip";
3419
+ }
3420
+ enable() {
3421
+ this._isEnabled = !0;
3422
+ }
3423
+ disable() {
3424
+ this._isEnabled = !1;
3425
+ }
3426
+ toggleEnabled() {
3427
+ this._isEnabled = !this._isEnabled;
3428
+ }
3429
+ toggle() {
3430
+ this._isEnabled && (this._isShown() ? this._leave() : this._enter());
3431
+ }
3432
+ dispose() {
3433
+ clearTimeout(this._timeout),
3434
+ P.off(this._element.closest(rs), as, this._hideModalHandler),
3435
+ this._element.getAttribute("data-bs-original-title") &&
3436
+ this._element.setAttribute(
3437
+ "title",
3438
+ this._element.getAttribute("data-bs-original-title"),
3439
+ ),
3440
+ this._disposePopper(),
3441
+ super.dispose();
3442
+ }
3443
+ show() {
3444
+ if ("none" === this._element.style.display)
3445
+ throw new Error("Please use show on visible elements");
3446
+ if (!this._isWithContent() || !this._isEnabled) return;
3447
+ const t = P.trigger(this._element, this.constructor.eventName("show")),
3448
+ e = (
3449
+ h(this._element) || this._element.ownerDocument.documentElement
3450
+ ).contains(this._element);
3451
+ if (t.defaultPrevented || !e) return;
3452
+ this._disposePopper();
3453
+ const i = this._getTipElement();
3454
+ this._element.setAttribute("aria-describedby", i.getAttribute("id"));
3455
+ const { container: n } = this._config;
3456
+ if (
3457
+ (this._element.ownerDocument.documentElement.contains(this.tip) ||
3458
+ (n.append(i),
3459
+ P.trigger(this._element, this.constructor.eventName("inserted"))),
3460
+ (this._popper = this._createPopper(i)),
3461
+ i.classList.add(ss),
3462
+ "ontouchstart" in document.documentElement)
3463
+ )
3464
+ for (const t of [].concat(...document.body.children))
3465
+ P.on(t, "mouseover", d);
3466
+ this._queueCallback(
3467
+ () => {
3468
+ P.trigger(this._element, this.constructor.eventName("shown")),
3469
+ !1 === this._isHovered && this._leave(),
3470
+ (this._isHovered = !1);
3471
+ },
3472
+ this.tip,
3473
+ this._isAnimated(),
3474
+ );
3475
+ }
3476
+ hide() {
3477
+ if (
3478
+ this._isShown() &&
3479
+ !P.trigger(this._element, this.constructor.eventName("hide"))
3480
+ .defaultPrevented
3481
+ ) {
3482
+ if (
3483
+ (this._getTipElement().classList.remove(ss),
3484
+ "ontouchstart" in document.documentElement)
3485
+ )
3486
+ for (const t of [].concat(...document.body.children))
3487
+ P.off(t, "mouseover", d);
3488
+ (this._activeTrigger[hs] = !1),
3489
+ (this._activeTrigger[cs] = !1),
3490
+ (this._activeTrigger[ls] = !1),
3491
+ (this._isHovered = null),
3492
+ this._queueCallback(
3493
+ () => {
3494
+ this._isWithActiveTrigger() ||
3495
+ (this._isHovered || this._disposePopper(),
3496
+ this._element.removeAttribute("aria-describedby"),
3497
+ P.trigger(this._element, this.constructor.eventName("hidden")));
3498
+ },
3499
+ this.tip,
3500
+ this._isAnimated(),
3501
+ );
3502
+ }
3503
+ }
3504
+ update() {
3505
+ this._popper && this._popper.update();
3506
+ }
3507
+ _isWithContent() {
3508
+ return Boolean(this._getTitle());
3509
+ }
3510
+ _getTipElement() {
3511
+ return (
3512
+ this.tip ||
3513
+ (this.tip = this._createTipElement(
3514
+ this._newContent || this._getContentForTemplate(),
3515
+ )),
3516
+ this.tip
3517
+ );
3518
+ }
3519
+ _createTipElement(t) {
3520
+ const e = this._getTemplateFactory(t).toHtml();
3521
+ if (!e) return null;
3522
+ e.classList.remove(ns, ss),
3523
+ e.classList.add(`bs-${this.constructor.NAME}-auto`);
3524
+ const i = ((t) => {
3525
+ do {
3526
+ t += Math.floor(1e6 * Math.random());
3527
+ } while (document.getElementById(t));
3528
+ return t;
3529
+ })(this.constructor.NAME).toString();
3530
+ return (
3531
+ e.setAttribute("id", i), this._isAnimated() && e.classList.add(ns), e
3532
+ );
3533
+ }
3534
+ setContent(t) {
3535
+ (this._newContent = t),
3536
+ this._isShown() && (this._disposePopper(), this.show());
3537
+ }
3538
+ _getTemplateFactory(t) {
3539
+ return (
3540
+ this._templateFactory
3541
+ ? this._templateFactory.changeContent(t)
3542
+ : (this._templateFactory = new es({
3543
+ ...this._config,
3544
+ content: t,
3545
+ extraClass: this._resolvePossibleFunction(
3546
+ this._config.customClass,
3547
+ ),
3548
+ })),
3549
+ this._templateFactory
3550
+ );
3551
+ }
3552
+ _getContentForTemplate() {
3553
+ return { [os]: this._getTitle() };
3554
+ }
3555
+ _getTitle() {
3556
+ return (
3557
+ this._resolvePossibleFunction(this._config.title) ||
3558
+ this._element.getAttribute("data-bs-original-title")
3559
+ );
3560
+ }
3561
+ _initializeOnDelegatedTarget(t) {
3562
+ return this.constructor.getOrCreateInstance(
3563
+ t.delegateTarget,
3564
+ this._getDelegateConfig(),
3565
+ );
3566
+ }
3567
+ _isAnimated() {
3568
+ return (
3569
+ this._config.animation || (this.tip && this.tip.classList.contains(ns))
3570
+ );
3571
+ }
3572
+ _isShown() {
3573
+ return this.tip && this.tip.classList.contains(ss);
3574
+ }
3575
+ _createPopper(t) {
3576
+ const e = _(this._config.placement, [this, t, this._element]),
3577
+ i = ds[e.toUpperCase()];
3578
+ return wi(this._element, t, this._getPopperConfig(i));
3579
+ }
3580
+ _getOffset() {
3581
+ const { offset: t } = this._config;
3582
+ return "string" == typeof t
3583
+ ? t.split(",").map((t) => Number.parseInt(t, 10))
3584
+ : "function" == typeof t
3585
+ ? (e) => t(e, this._element)
3586
+ : t;
3587
+ }
3588
+ _resolvePossibleFunction(t) {
3589
+ return _(t, [this._element, this._element]);
3590
+ }
3591
+ _getPopperConfig(t) {
3592
+ const e = {
3593
+ placement: t,
3594
+ modifiers: [
3595
+ {
3596
+ name: "flip",
3597
+ options: { fallbackPlacements: this._config.fallbackPlacements },
3598
+ },
3599
+ { name: "offset", options: { offset: this._getOffset() } },
3600
+ {
3601
+ name: "preventOverflow",
3602
+ options: { boundary: this._config.boundary },
3603
+ },
3604
+ {
3605
+ name: "arrow",
3606
+ options: { element: `.${this.constructor.NAME}-arrow` },
3607
+ },
3608
+ {
3609
+ name: "preSetPlacement",
3610
+ enabled: !0,
3611
+ phase: "beforeMain",
3612
+ fn: (t) => {
3613
+ this._getTipElement().setAttribute(
3614
+ "data-popper-placement",
3615
+ t.state.placement,
3616
+ );
3617
+ },
3618
+ },
3619
+ ],
3620
+ };
3621
+ return { ...e, ..._(this._config.popperConfig, [void 0, e]) };
3622
+ }
3623
+ _setListeners() {
3624
+ const t = this._config.trigger.split(" ");
3625
+ for (const e of t)
3626
+ if ("click" === e)
3627
+ P.on(
3628
+ this._element,
3629
+ this.constructor.eventName("click"),
3630
+ this._config.selector,
3631
+ (t) => {
3632
+ const e = this._initializeOnDelegatedTarget(t);
3633
+ (e._activeTrigger[hs] = !(e._isShown() && e._activeTrigger[hs])),
3634
+ e.toggle();
3635
+ },
3636
+ );
3637
+ else if ("manual" !== e) {
3638
+ const t =
3639
+ e === ls
3640
+ ? this.constructor.eventName("mouseenter")
3641
+ : this.constructor.eventName("focusin"),
3642
+ i =
3643
+ e === ls
3644
+ ? this.constructor.eventName("mouseleave")
3645
+ : this.constructor.eventName("focusout");
3646
+ P.on(this._element, t, this._config.selector, (t) => {
3647
+ const e = this._initializeOnDelegatedTarget(t);
3648
+ (e._activeTrigger["focusin" === t.type ? cs : ls] = !0), e._enter();
3649
+ }),
3650
+ P.on(this._element, i, this._config.selector, (t) => {
3651
+ const e = this._initializeOnDelegatedTarget(t);
3652
+ (e._activeTrigger["focusout" === t.type ? cs : ls] =
3653
+ e._element.contains(t.relatedTarget)),
3654
+ e._leave();
3655
+ });
3656
+ }
3657
+ (this._hideModalHandler = () => {
3658
+ this._element && this.hide();
3659
+ }),
3660
+ P.on(this._element.closest(rs), as, this._hideModalHandler);
3661
+ }
3662
+ _fixTitle() {
3663
+ const t = this._element.getAttribute("title");
3664
+ t &&
3665
+ (this._element.getAttribute("aria-label") ||
3666
+ this._element.textContent.trim() ||
3667
+ this._element.setAttribute("aria-label", t),
3668
+ this._element.setAttribute("data-bs-original-title", t),
3669
+ this._element.removeAttribute("title"));
3670
+ }
3671
+ _enter() {
3672
+ this._isShown() || this._isHovered
3673
+ ? (this._isHovered = !0)
3674
+ : ((this._isHovered = !0),
3675
+ this._setTimeout(() => {
3676
+ this._isHovered && this.show();
3677
+ }, this._config.delay.show));
3678
+ }
3679
+ _leave() {
3680
+ this._isWithActiveTrigger() ||
3681
+ ((this._isHovered = !1),
3682
+ this._setTimeout(() => {
3683
+ this._isHovered || this.hide();
3684
+ }, this._config.delay.hide));
3685
+ }
3686
+ _setTimeout(t, e) {
3687
+ clearTimeout(this._timeout), (this._timeout = setTimeout(t, e));
3688
+ }
3689
+ _isWithActiveTrigger() {
3690
+ return Object.values(this._activeTrigger).includes(!0);
3691
+ }
3692
+ _getConfig(t) {
3693
+ const e = H.getDataAttributes(this._element);
3694
+ for (const t of Object.keys(e)) is.has(t) && delete e[t];
3695
+ return (
3696
+ (t = { ...e, ...("object" == typeof t && t ? t : {}) }),
3697
+ (t = this._mergeConfigObj(t)),
3698
+ (t = this._configAfterMerge(t)),
3699
+ this._typeCheckConfig(t),
3700
+ t
3701
+ );
3702
+ }
3703
+ _configAfterMerge(t) {
3704
+ return (
3705
+ (t.container = !1 === t.container ? document.body : a(t.container)),
3706
+ "number" == typeof t.delay &&
3707
+ (t.delay = { show: t.delay, hide: t.delay }),
3708
+ "number" == typeof t.title && (t.title = t.title.toString()),
3709
+ "number" == typeof t.content && (t.content = t.content.toString()),
3710
+ t
3711
+ );
3712
+ }
3713
+ _getDelegateConfig() {
3714
+ const t = {};
3715
+ for (const [e, i] of Object.entries(this._config))
3716
+ this.constructor.Default[e] !== i && (t[e] = i);
3717
+ return (t.selector = !1), (t.trigger = "manual"), t;
3718
+ }
3719
+ _disposePopper() {
3720
+ this._popper && (this._popper.destroy(), (this._popper = null)),
3721
+ this.tip && (this.tip.remove(), (this.tip = null));
3722
+ }
3723
+ static jQueryInterface(t) {
3724
+ return this.each(function () {
3725
+ const e = ps.getOrCreateInstance(this, t);
3726
+ if ("string" == typeof t) {
3727
+ if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3728
+ e[t]();
3729
+ }
3730
+ });
3731
+ }
3732
+ }
3733
+ g(ps);
3734
+ const ms = ".popover-header",
3735
+ gs = ".popover-body",
3736
+ _s = {
3737
+ ...ps.Default,
3738
+ content: "",
3739
+ offset: [0, 8],
3740
+ placement: "right",
3741
+ template:
3742
+ '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
3743
+ trigger: "click",
3744
+ },
3745
+ bs = { ...ps.DefaultType, content: "(null|string|element|function)" };
3746
+ class vs extends ps {
3747
+ static get Default() {
3748
+ return _s;
3749
+ }
3750
+ static get DefaultType() {
3751
+ return bs;
3752
+ }
3753
+ static get NAME() {
3754
+ return "popover";
3755
+ }
3756
+ _isWithContent() {
3757
+ return this._getTitle() || this._getContent();
3758
+ }
3759
+ _getContentForTemplate() {
3760
+ return { [ms]: this._getTitle(), [gs]: this._getContent() };
3761
+ }
3762
+ _getContent() {
3763
+ return this._resolvePossibleFunction(this._config.content);
3764
+ }
3765
+ static jQueryInterface(t) {
3766
+ return this.each(function () {
3767
+ const e = vs.getOrCreateInstance(this, t);
3768
+ if ("string" == typeof t) {
3769
+ if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
3770
+ e[t]();
3771
+ }
3772
+ });
3773
+ }
3774
+ }
3775
+ g(vs);
3776
+ const ys = ".bs.scrollspy",
3777
+ ws = `activate${ys}`,
3778
+ As = `click${ys}`,
3779
+ Es = `load${ys}.data-api`,
3780
+ Ts = "active",
3781
+ Cs = "[href]",
3782
+ Os = ".nav-link",
3783
+ xs = `${Os}, .nav-item > ${Os}, .list-group-item`,
3784
+ ks = {
3785
+ offset: null,
3786
+ rootMargin: "0px 0px -25%",
3787
+ smoothScroll: !1,
3788
+ target: null,
3789
+ threshold: [0.1, 0.5, 1],
3790
+ },
3791
+ Ls = {
3792
+ offset: "(number|null)",
3793
+ rootMargin: "string",
3794
+ smoothScroll: "boolean",
3795
+ target: "element",
3796
+ threshold: "array",
3797
+ };
3798
+ class Ss extends B {
3799
+ constructor(t, e) {
3800
+ super(t, e),
3801
+ (this._targetLinks = new Map()),
3802
+ (this._observableSections = new Map()),
3803
+ (this._rootElement =
3804
+ "visible" === getComputedStyle(this._element).overflowY
3805
+ ? null
3806
+ : this._element),
3807
+ (this._activeTarget = null),
3808
+ (this._observer = null),
3809
+ (this._previousScrollData = { visibleEntryTop: 0, parentScrollTop: 0 }),
3810
+ this.refresh();
3811
+ }
3812
+ static get Default() {
3813
+ return ks;
3814
+ }
3815
+ static get DefaultType() {
3816
+ return Ls;
3817
+ }
3818
+ static get NAME() {
3819
+ return "scrollspy";
3820
+ }
3821
+ refresh() {
3822
+ this._initializeTargetsAndObservables(),
3823
+ this._maybeEnableSmoothScroll(),
3824
+ this._observer
3825
+ ? this._observer.disconnect()
3826
+ : (this._observer = this._getNewObserver());
3827
+ for (const t of this._observableSections.values())
3828
+ this._observer.observe(t);
3829
+ }
3830
+ dispose() {
3831
+ this._observer.disconnect(), super.dispose();
3832
+ }
3833
+ _configAfterMerge(t) {
3834
+ return (
3835
+ (t.target = a(t.target) || document.body),
3836
+ (t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin),
3837
+ "string" == typeof t.threshold &&
3838
+ (t.threshold = t.threshold
3839
+ .split(",")
3840
+ .map((t) => Number.parseFloat(t))),
3841
+ t
3842
+ );
3843
+ }
3844
+ _maybeEnableSmoothScroll() {
3845
+ this._config.smoothScroll &&
3846
+ (P.off(this._config.target, As),
3847
+ P.on(this._config.target, As, Cs, (t) => {
3848
+ const e = this._observableSections.get(t.target.hash);
3849
+ if (e) {
3850
+ t.preventDefault();
3851
+ const i = this._rootElement || window,
3852
+ n = e.offsetTop - this._element.offsetTop;
3853
+ if (i.scrollTo)
3854
+ return void i.scrollTo({ top: n, behavior: "smooth" });
3855
+ i.scrollTop = n;
3856
+ }
3857
+ }));
3858
+ }
3859
+ _getNewObserver() {
3860
+ const t = {
3861
+ root: this._rootElement,
3862
+ threshold: this._config.threshold,
3863
+ rootMargin: this._config.rootMargin,
3864
+ };
3865
+ return new IntersectionObserver((t) => this._observerCallback(t), t);
3866
+ }
3867
+ _observerCallback(t) {
3868
+ const e = (t) => this._targetLinks.get(`#${t.target.id}`),
3869
+ i = (t) => {
3870
+ (this._previousScrollData.visibleEntryTop = t.target.offsetTop),
3871
+ this._process(e(t));
3872
+ },
3873
+ n = (this._rootElement || document.documentElement).scrollTop,
3874
+ s = n >= this._previousScrollData.parentScrollTop;
3875
+ this._previousScrollData.parentScrollTop = n;
3876
+ for (const o of t) {
3877
+ if (!o.isIntersecting) {
3878
+ (this._activeTarget = null), this._clearActiveClass(e(o));
3879
+ continue;
3880
+ }
3881
+ const t =
3882
+ o.target.offsetTop >= this._previousScrollData.visibleEntryTop;
3883
+ if (s && t) {
3884
+ if ((i(o), !n)) return;
3885
+ } else s || t || i(o);
3886
+ }
3887
+ }
3888
+ _initializeTargetsAndObservables() {
3889
+ (this._targetLinks = new Map()), (this._observableSections = new Map());
3890
+ const t = R.find(Cs, this._config.target);
3891
+ for (const e of t) {
3892
+ if (!e.hash || c(e)) continue;
3893
+ const t = R.findOne(decodeURI(e.hash), this._element);
3894
+ l(t) &&
3895
+ (this._targetLinks.set(decodeURI(e.hash), e),
3896
+ this._observableSections.set(e.hash, t));
3897
+ }
3898
+ }
3899
+ _process(t) {
3900
+ this._activeTarget !== t &&
3901
+ (this._clearActiveClass(this._config.target),
3902
+ (this._activeTarget = t),
3903
+ t.classList.add(Ts),
3904
+ this._activateParents(t),
3905
+ P.trigger(this._element, ws, { relatedTarget: t }));
3906
+ }
3907
+ _activateParents(t) {
3908
+ if (t.classList.contains("dropdown-item"))
3909
+ R.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(Ts);
3910
+ else
3911
+ for (const e of R.parents(t, ".nav, .list-group"))
3912
+ for (const t of R.prev(e, xs)) t.classList.add(Ts);
3913
+ }
3914
+ _clearActiveClass(t) {
3915
+ t.classList.remove(Ts);
3916
+ const e = R.find(`${Cs}.${Ts}`, t);
3917
+ for (const t of e) t.classList.remove(Ts);
3918
+ }
3919
+ static jQueryInterface(t) {
3920
+ return this.each(function () {
3921
+ const e = Ss.getOrCreateInstance(this, t);
3922
+ if ("string" == typeof t) {
3923
+ if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
3924
+ throw new TypeError(`No method named "${t}"`);
3925
+ e[t]();
3926
+ }
3927
+ });
3928
+ }
3929
+ }
3930
+ P.on(window, Es, () => {
3931
+ for (const t of R.find('[data-bs-spy="scroll"]')) Ss.getOrCreateInstance(t);
3932
+ }),
3933
+ g(Ss);
3934
+ const Ds = ".bs.tab",
3935
+ $s = `hide${Ds}`,
3936
+ Is = `hidden${Ds}`,
3937
+ Ns = `show${Ds}`,
3938
+ Ps = `shown${Ds}`,
3939
+ js = `click${Ds}`,
3940
+ Ms = `keydown${Ds}`,
3941
+ Fs = `load${Ds}`,
3942
+ Hs = "ArrowLeft",
3943
+ Ws = "ArrowRight",
3944
+ Bs = "ArrowUp",
3945
+ zs = "ArrowDown",
3946
+ Rs = "Home",
3947
+ qs = "End",
3948
+ Vs = "active",
3949
+ Ks = "fade",
3950
+ Qs = "show",
3951
+ Xs = ".dropdown-toggle",
3952
+ Ys = `:not(${Xs})`,
3953
+ Us =
3954
+ '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
3955
+ Gs = `.nav-link${Ys}, .list-group-item${Ys}, [role="tab"]${Ys}, ${Us}`,
3956
+ Js = `.${Vs}[data-bs-toggle="tab"], .${Vs}[data-bs-toggle="pill"], .${Vs}[data-bs-toggle="list"]`;
3957
+ class Zs extends B {
3958
+ constructor(t) {
3959
+ super(t),
3960
+ (this._parent = this._element.closest(
3961
+ '.list-group, .nav, [role="tablist"]',
3962
+ )),
3963
+ this._parent &&
3964
+ (this._setInitialAttributes(this._parent, this._getChildren()),
3965
+ P.on(this._element, Ms, (t) => this._keydown(t)));
3966
+ }
3967
+ static get NAME() {
3968
+ return "tab";
3969
+ }
3970
+ show() {
3971
+ const t = this._element;
3972
+ if (this._elemIsActive(t)) return;
3973
+ const e = this._getActiveElem(),
3974
+ i = e ? P.trigger(e, $s, { relatedTarget: t }) : null;
3975
+ P.trigger(t, Ns, { relatedTarget: e }).defaultPrevented ||
3976
+ (i && i.defaultPrevented) ||
3977
+ (this._deactivate(e, t), this._activate(t, e));
3978
+ }
3979
+ _activate(t, e) {
3980
+ t &&
3981
+ (t.classList.add(Vs),
3982
+ this._activate(R.getElementFromSelector(t)),
3983
+ this._queueCallback(
3984
+ () => {
3985
+ "tab" === t.getAttribute("role")
3986
+ ? (t.removeAttribute("tabindex"),
3987
+ t.setAttribute("aria-selected", !0),
3988
+ this._toggleDropDown(t, !0),
3989
+ P.trigger(t, Ps, { relatedTarget: e }))
3990
+ : t.classList.add(Qs);
3991
+ },
3992
+ t,
3993
+ t.classList.contains(Ks),
3994
+ ));
3995
+ }
3996
+ _deactivate(t, e) {
3997
+ t &&
3998
+ (t.classList.remove(Vs),
3999
+ t.blur(),
4000
+ this._deactivate(R.getElementFromSelector(t)),
4001
+ this._queueCallback(
4002
+ () => {
4003
+ "tab" === t.getAttribute("role")
4004
+ ? (t.setAttribute("aria-selected", !1),
4005
+ t.setAttribute("tabindex", "-1"),
4006
+ this._toggleDropDown(t, !1),
4007
+ P.trigger(t, Is, { relatedTarget: e }))
4008
+ : t.classList.remove(Qs);
4009
+ },
4010
+ t,
4011
+ t.classList.contains(Ks),
4012
+ ));
4013
+ }
4014
+ _keydown(t) {
4015
+ if (![Hs, Ws, Bs, zs, Rs, qs].includes(t.key)) return;
4016
+ t.stopPropagation(), t.preventDefault();
4017
+ const e = this._getChildren().filter((t) => !c(t));
4018
+ let i;
4019
+ if ([Rs, qs].includes(t.key)) i = e[t.key === Rs ? 0 : e.length - 1];
4020
+ else {
4021
+ const n = [Ws, zs].includes(t.key);
4022
+ i = v(e, t.target, n, !0);
4023
+ }
4024
+ i && (i.focus({ preventScroll: !0 }), Zs.getOrCreateInstance(i).show());
4025
+ }
4026
+ _getChildren() {
4027
+ return R.find(Gs, this._parent);
4028
+ }
4029
+ _getActiveElem() {
4030
+ return this._getChildren().find((t) => this._elemIsActive(t)) || null;
4031
+ }
4032
+ _setInitialAttributes(t, e) {
4033
+ this._setAttributeIfNotExists(t, "role", "tablist");
4034
+ for (const t of e) this._setInitialAttributesOnChild(t);
4035
+ }
4036
+ _setInitialAttributesOnChild(t) {
4037
+ t = this._getInnerElement(t);
4038
+ const e = this._elemIsActive(t),
4039
+ i = this._getOuterElement(t);
4040
+ t.setAttribute("aria-selected", e),
4041
+ i !== t && this._setAttributeIfNotExists(i, "role", "presentation"),
4042
+ e || t.setAttribute("tabindex", "-1"),
4043
+ this._setAttributeIfNotExists(t, "role", "tab"),
4044
+ this._setInitialAttributesOnTargetPanel(t);
4045
+ }
4046
+ _setInitialAttributesOnTargetPanel(t) {
4047
+ const e = R.getElementFromSelector(t);
4048
+ e &&
4049
+ (this._setAttributeIfNotExists(e, "role", "tabpanel"),
4050
+ t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`));
4051
+ }
4052
+ _toggleDropDown(t, e) {
4053
+ const i = this._getOuterElement(t);
4054
+ if (!i.classList.contains("dropdown")) return;
4055
+ const n = (t, n) => {
4056
+ const s = R.findOne(t, i);
4057
+ s && s.classList.toggle(n, e);
4058
+ };
4059
+ n(Xs, Vs), n(".dropdown-menu", Qs), i.setAttribute("aria-expanded", e);
4060
+ }
4061
+ _setAttributeIfNotExists(t, e, i) {
4062
+ t.hasAttribute(e) || t.setAttribute(e, i);
4063
+ }
4064
+ _elemIsActive(t) {
4065
+ return t.classList.contains(Vs);
4066
+ }
4067
+ _getInnerElement(t) {
4068
+ return t.matches(Gs) ? t : R.findOne(Gs, t);
4069
+ }
4070
+ _getOuterElement(t) {
4071
+ return t.closest(".nav-item, .list-group-item") || t;
4072
+ }
4073
+ static jQueryInterface(t) {
4074
+ return this.each(function () {
4075
+ const e = Zs.getOrCreateInstance(this);
4076
+ if ("string" == typeof t) {
4077
+ if (void 0 === e[t] || t.startsWith("_") || "constructor" === t)
4078
+ throw new TypeError(`No method named "${t}"`);
4079
+ e[t]();
4080
+ }
4081
+ });
4082
+ }
4083
+ }
4084
+ P.on(document, js, Us, function (t) {
4085
+ ["A", "AREA"].includes(this.tagName) && t.preventDefault(),
4086
+ c(this) || Zs.getOrCreateInstance(this).show();
4087
+ }),
4088
+ P.on(window, Fs, () => {
4089
+ for (const t of R.find(Js)) Zs.getOrCreateInstance(t);
4090
+ }),
4091
+ g(Zs);
4092
+ const to = ".bs.toast",
4093
+ eo = `mouseover${to}`,
4094
+ io = `mouseout${to}`,
4095
+ no = `focusin${to}`,
4096
+ so = `focusout${to}`,
4097
+ oo = `hide${to}`,
4098
+ ro = `hidden${to}`,
4099
+ ao = `show${to}`,
4100
+ lo = `shown${to}`,
4101
+ co = "hide",
4102
+ ho = "show",
4103
+ uo = "showing",
4104
+ fo = { animation: "boolean", autohide: "boolean", delay: "number" },
4105
+ po = { animation: !0, autohide: !0, delay: 5e3 };
4106
+ class mo extends B {
4107
+ constructor(t, e) {
4108
+ super(t, e),
4109
+ (this._timeout = null),
4110
+ (this._hasMouseInteraction = !1),
4111
+ (this._hasKeyboardInteraction = !1),
4112
+ this._setListeners();
4113
+ }
4114
+ static get Default() {
4115
+ return po;
4116
+ }
4117
+ static get DefaultType() {
4118
+ return fo;
4119
+ }
4120
+ static get NAME() {
4121
+ return "toast";
4122
+ }
4123
+ show() {
4124
+ P.trigger(this._element, ao).defaultPrevented ||
4125
+ (this._clearTimeout(),
4126
+ this._config.animation && this._element.classList.add("fade"),
4127
+ this._element.classList.remove(co),
4128
+ u(this._element),
4129
+ this._element.classList.add(ho, uo),
4130
+ this._queueCallback(
4131
+ () => {
4132
+ this._element.classList.remove(uo),
4133
+ P.trigger(this._element, lo),
4134
+ this._maybeScheduleHide();
4135
+ },
4136
+ this._element,
4137
+ this._config.animation,
4138
+ ));
4139
+ }
4140
+ hide() {
4141
+ this.isShown() &&
4142
+ (P.trigger(this._element, oo).defaultPrevented ||
4143
+ (this._element.classList.add(uo),
4144
+ this._queueCallback(
4145
+ () => {
4146
+ this._element.classList.add(co),
4147
+ this._element.classList.remove(uo, ho),
4148
+ P.trigger(this._element, ro);
4149
+ },
4150
+ this._element,
4151
+ this._config.animation,
4152
+ )));
4153
+ }
4154
+ dispose() {
4155
+ this._clearTimeout(),
4156
+ this.isShown() && this._element.classList.remove(ho),
4157
+ super.dispose();
4158
+ }
4159
+ isShown() {
4160
+ return this._element.classList.contains(ho);
4161
+ }
4162
+ _maybeScheduleHide() {
4163
+ this._config.autohide &&
4164
+ (this._hasMouseInteraction ||
4165
+ this._hasKeyboardInteraction ||
4166
+ (this._timeout = setTimeout(() => {
4167
+ this.hide();
4168
+ }, this._config.delay)));
4169
+ }
4170
+ _onInteraction(t, e) {
4171
+ switch (t.type) {
4172
+ case "mouseover":
4173
+ case "mouseout":
4174
+ this._hasMouseInteraction = e;
4175
+ break;
4176
+ case "focusin":
4177
+ case "focusout":
4178
+ this._hasKeyboardInteraction = e;
4179
+ }
4180
+ if (e) return void this._clearTimeout();
4181
+ const i = t.relatedTarget;
4182
+ this._element === i ||
4183
+ this._element.contains(i) ||
4184
+ this._maybeScheduleHide();
4185
+ }
4186
+ _setListeners() {
4187
+ P.on(this._element, eo, (t) => this._onInteraction(t, !0)),
4188
+ P.on(this._element, io, (t) => this._onInteraction(t, !1)),
4189
+ P.on(this._element, no, (t) => this._onInteraction(t, !0)),
4190
+ P.on(this._element, so, (t) => this._onInteraction(t, !1));
4191
+ }
4192
+ _clearTimeout() {
4193
+ clearTimeout(this._timeout), (this._timeout = null);
4194
+ }
4195
+ static jQueryInterface(t) {
4196
+ return this.each(function () {
4197
+ const e = mo.getOrCreateInstance(this, t);
4198
+ if ("string" == typeof t) {
4199
+ if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
4200
+ e[t](this);
4201
+ }
4202
+ });
4203
+ }
4204
+ }
4205
+ return (
4206
+ q(mo),
4207
+ g(mo),
4208
+ {
4209
+ Alert: X,
4210
+ Button: U,
4211
+ Carousel: St,
4212
+ Collapse: qt,
4213
+ Dropdown: Qi,
4214
+ Modal: Ln,
4215
+ Offcanvas: Qn,
4216
+ Popover: vs,
4217
+ ScrollSpy: Ss,
4218
+ Tab: Zs,
4219
+ Toast: mo,
4220
+ Tooltip: ps,
4221
+ }
4222
+ );
4223
+ });