@anoki/fse-ui 1.0.0-beta1.50.16 → 1.0.0-beta1.50.18

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.
Files changed (2080) hide show
  1. package/dist/components/ui/EditorialWidget/EditorialWidget.css +1 -1
  2. package/dist/components/ui/InfoModal/InfoModal.css +1 -1
  3. package/dist/components/ui/Section/Description/description.css +1 -1
  4. package/dist/components/ui/link/Link.css +1 -1
  5. package/dist/index.cjs.js +1 -1
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.cjs10.js +1 -1
  8. package/dist/index.cjs10.js.map +1 -1
  9. package/dist/index.cjs100.js +1 -1
  10. package/dist/index.cjs100.js.map +1 -1
  11. package/dist/index.cjs101.js +1 -1
  12. package/dist/index.cjs101.js.map +1 -1
  13. package/dist/index.cjs102.js +1 -1
  14. package/dist/index.cjs102.js.map +1 -1
  15. package/dist/index.cjs103.js +1 -1
  16. package/dist/index.cjs104.js +1 -1
  17. package/dist/index.cjs105.js +1 -1
  18. package/dist/index.cjs105.js.map +1 -1
  19. package/dist/index.cjs106.js +1 -1
  20. package/dist/index.cjs106.js.map +1 -1
  21. package/dist/index.cjs107.js +1 -1
  22. package/dist/index.cjs107.js.map +1 -1
  23. package/dist/index.cjs108.js +1 -1
  24. package/dist/index.cjs109.js +1 -1
  25. package/dist/index.cjs11.js +1 -1
  26. package/dist/index.cjs11.js.map +1 -1
  27. package/dist/index.cjs110.js +1 -1
  28. package/dist/index.cjs110.js.map +1 -1
  29. package/dist/index.cjs111.js +1 -1
  30. package/dist/index.cjs111.js.map +1 -1
  31. package/dist/index.cjs112.js +1 -1
  32. package/dist/index.cjs112.js.map +1 -1
  33. package/dist/index.cjs113.js +1 -1
  34. package/dist/index.cjs113.js.map +1 -1
  35. package/dist/index.cjs114.js +1 -1
  36. package/dist/index.cjs114.js.map +1 -1
  37. package/dist/index.cjs115.js +1 -1
  38. package/dist/index.cjs115.js.map +1 -1
  39. package/dist/index.cjs116.js +1 -1
  40. package/dist/index.cjs116.js.map +1 -1
  41. package/dist/index.cjs117.js +1 -1
  42. package/dist/index.cjs117.js.map +1 -1
  43. package/dist/index.cjs118.js +1 -1
  44. package/dist/index.cjs119.js +1 -1
  45. package/dist/index.cjs119.js.map +1 -1
  46. package/dist/index.cjs12.js +1 -1
  47. package/dist/index.cjs12.js.map +1 -1
  48. package/dist/index.cjs120.js +1 -1
  49. package/dist/index.cjs120.js.map +1 -1
  50. package/dist/index.cjs121.js +1 -1
  51. package/dist/index.cjs121.js.map +1 -1
  52. package/dist/index.cjs122.js +1 -1
  53. package/dist/index.cjs122.js.map +1 -1
  54. package/dist/index.cjs123.js +1 -1
  55. package/dist/index.cjs123.js.map +1 -1
  56. package/dist/index.cjs124.js +1 -1
  57. package/dist/index.cjs124.js.map +1 -1
  58. package/dist/index.cjs125.js +1 -1
  59. package/dist/index.cjs125.js.map +1 -1
  60. package/dist/index.cjs126.js +1 -1
  61. package/dist/index.cjs126.js.map +1 -1
  62. package/dist/index.cjs127.js +1 -1
  63. package/dist/index.cjs127.js.map +1 -1
  64. package/dist/index.cjs128.js +1 -1
  65. package/dist/index.cjs128.js.map +1 -1
  66. package/dist/index.cjs129.js +1 -1
  67. package/dist/index.cjs129.js.map +1 -1
  68. package/dist/index.cjs13.js +1 -1
  69. package/dist/index.cjs13.js.map +1 -1
  70. package/dist/index.cjs130.js +1 -1
  71. package/dist/index.cjs130.js.map +1 -1
  72. package/dist/index.cjs131.js +1 -1
  73. package/dist/index.cjs131.js.map +1 -1
  74. package/dist/index.cjs132.js +1 -1
  75. package/dist/index.cjs132.js.map +1 -1
  76. package/dist/index.cjs133.js +1 -1
  77. package/dist/index.cjs133.js.map +1 -1
  78. package/dist/index.cjs134.js +1 -1
  79. package/dist/index.cjs134.js.map +1 -1
  80. package/dist/index.cjs135.js +1 -1
  81. package/dist/index.cjs135.js.map +1 -1
  82. package/dist/index.cjs136.js +1 -1
  83. package/dist/index.cjs136.js.map +1 -1
  84. package/dist/index.cjs137.js +1 -1
  85. package/dist/index.cjs137.js.map +1 -1
  86. package/dist/index.cjs138.js +1 -1
  87. package/dist/index.cjs138.js.map +1 -1
  88. package/dist/index.cjs139.js +1 -1
  89. package/dist/index.cjs139.js.map +1 -1
  90. package/dist/index.cjs14.js +1 -1
  91. package/dist/index.cjs14.js.map +1 -1
  92. package/dist/index.cjs140.js +1 -1
  93. package/dist/index.cjs140.js.map +1 -1
  94. package/dist/index.cjs141.js +1 -1
  95. package/dist/index.cjs141.js.map +1 -1
  96. package/dist/index.cjs142.js +1 -1
  97. package/dist/index.cjs142.js.map +1 -1
  98. package/dist/index.cjs143.js +1 -1
  99. package/dist/index.cjs143.js.map +1 -1
  100. package/dist/index.cjs144.js +1 -1
  101. package/dist/index.cjs144.js.map +1 -1
  102. package/dist/index.cjs145.js +1 -1
  103. package/dist/index.cjs145.js.map +1 -1
  104. package/dist/index.cjs146.js +1 -1
  105. package/dist/index.cjs146.js.map +1 -1
  106. package/dist/index.cjs147.js +1 -1
  107. package/dist/index.cjs147.js.map +1 -1
  108. package/dist/index.cjs148.js +1 -1
  109. package/dist/index.cjs148.js.map +1 -1
  110. package/dist/index.cjs149.js +1 -1
  111. package/dist/index.cjs149.js.map +1 -1
  112. package/dist/index.cjs15.js +1 -1
  113. package/dist/index.cjs15.js.map +1 -1
  114. package/dist/index.cjs150.js +1 -1
  115. package/dist/index.cjs150.js.map +1 -1
  116. package/dist/index.cjs151.js +1 -1
  117. package/dist/index.cjs151.js.map +1 -1
  118. package/dist/index.cjs152.js +1 -1
  119. package/dist/index.cjs152.js.map +1 -1
  120. package/dist/index.cjs153.js +1 -1
  121. package/dist/index.cjs153.js.map +1 -1
  122. package/dist/index.cjs154.js +1 -1
  123. package/dist/index.cjs154.js.map +1 -1
  124. package/dist/index.cjs155.js +1 -1
  125. package/dist/index.cjs156.js +1 -1
  126. package/dist/index.cjs157.js +1 -1
  127. package/dist/index.cjs157.js.map +1 -1
  128. package/dist/index.cjs158.js +1 -1
  129. package/dist/index.cjs158.js.map +1 -1
  130. package/dist/index.cjs159.js +1 -1
  131. package/dist/index.cjs159.js.map +1 -1
  132. package/dist/index.cjs16.js +1 -1
  133. package/dist/index.cjs16.js.map +1 -1
  134. package/dist/index.cjs160.js +1 -1
  135. package/dist/index.cjs160.js.map +1 -1
  136. package/dist/index.cjs161.js +1 -1
  137. package/dist/index.cjs161.js.map +1 -1
  138. package/dist/index.cjs162.js +1 -1
  139. package/dist/index.cjs162.js.map +1 -1
  140. package/dist/index.cjs163.js +1 -1
  141. package/dist/index.cjs163.js.map +1 -1
  142. package/dist/index.cjs164.js +1 -1
  143. package/dist/index.cjs164.js.map +1 -1
  144. package/dist/index.cjs165.js +1 -1
  145. package/dist/index.cjs165.js.map +1 -1
  146. package/dist/index.cjs166.js +1 -1
  147. package/dist/index.cjs166.js.map +1 -1
  148. package/dist/index.cjs167.js +1 -1
  149. package/dist/index.cjs167.js.map +1 -1
  150. package/dist/index.cjs168.js +1 -1
  151. package/dist/index.cjs168.js.map +1 -1
  152. package/dist/index.cjs169.js +1 -1
  153. package/dist/index.cjs169.js.map +1 -1
  154. package/dist/index.cjs17.js +1 -1
  155. package/dist/index.cjs170.js +1 -1
  156. package/dist/index.cjs170.js.map +1 -1
  157. package/dist/index.cjs171.js +1 -1
  158. package/dist/index.cjs171.js.map +1 -1
  159. package/dist/index.cjs172.js +1 -1
  160. package/dist/index.cjs172.js.map +1 -1
  161. package/dist/index.cjs173.js +1 -1
  162. package/dist/index.cjs173.js.map +1 -1
  163. package/dist/index.cjs174.js +1 -1
  164. package/dist/index.cjs174.js.map +1 -1
  165. package/dist/index.cjs175.js +1 -1
  166. package/dist/index.cjs175.js.map +1 -1
  167. package/dist/index.cjs176.js +1 -1
  168. package/dist/index.cjs176.js.map +1 -1
  169. package/dist/index.cjs177.js +1 -1
  170. package/dist/index.cjs177.js.map +1 -1
  171. package/dist/index.cjs178.js +1 -1
  172. package/dist/index.cjs178.js.map +1 -1
  173. package/dist/index.cjs179.js +1 -1
  174. package/dist/index.cjs179.js.map +1 -1
  175. package/dist/index.cjs18.js +1 -1
  176. package/dist/index.cjs18.js.map +1 -1
  177. package/dist/index.cjs180.js +1 -1
  178. package/dist/index.cjs180.js.map +1 -1
  179. package/dist/index.cjs181.js +1 -1
  180. package/dist/index.cjs181.js.map +1 -1
  181. package/dist/index.cjs182.js +1 -1
  182. package/dist/index.cjs182.js.map +1 -1
  183. package/dist/index.cjs183.js +1 -1
  184. package/dist/index.cjs183.js.map +1 -1
  185. package/dist/index.cjs184.js +1 -1
  186. package/dist/index.cjs184.js.map +1 -1
  187. package/dist/index.cjs185.js +1 -1
  188. package/dist/index.cjs185.js.map +1 -1
  189. package/dist/index.cjs186.js +1 -1
  190. package/dist/index.cjs186.js.map +1 -1
  191. package/dist/index.cjs187.js +1 -1
  192. package/dist/index.cjs187.js.map +1 -1
  193. package/dist/index.cjs188.js +1 -1
  194. package/dist/index.cjs189.js +1 -1
  195. package/dist/index.cjs19.js +1 -1
  196. package/dist/index.cjs19.js.map +1 -1
  197. package/dist/index.cjs190.js +1 -1
  198. package/dist/index.cjs190.js.map +1 -1
  199. package/dist/index.cjs191.js +1 -1
  200. package/dist/index.cjs191.js.map +1 -1
  201. package/dist/index.cjs192.js +1 -1
  202. package/dist/index.cjs192.js.map +1 -1
  203. package/dist/index.cjs193.js +1 -1
  204. package/dist/index.cjs193.js.map +1 -1
  205. package/dist/index.cjs194.js +1 -1
  206. package/dist/index.cjs194.js.map +1 -1
  207. package/dist/index.cjs195.js +1 -1
  208. package/dist/index.cjs195.js.map +1 -1
  209. package/dist/index.cjs196.js +1 -1
  210. package/dist/index.cjs196.js.map +1 -1
  211. package/dist/index.cjs197.js +1 -1
  212. package/dist/index.cjs198.js +1 -1
  213. package/dist/index.cjs198.js.map +1 -1
  214. package/dist/index.cjs199.js +1 -1
  215. package/dist/index.cjs199.js.map +1 -1
  216. package/dist/index.cjs20.js +1 -1
  217. package/dist/index.cjs200.js +1 -1
  218. package/dist/index.cjs200.js.map +1 -1
  219. package/dist/index.cjs201.js +1 -1
  220. package/dist/index.cjs201.js.map +1 -1
  221. package/dist/index.cjs202.js +1 -1
  222. package/dist/index.cjs202.js.map +1 -1
  223. package/dist/index.cjs203.js +1 -1
  224. package/dist/index.cjs203.js.map +1 -1
  225. package/dist/index.cjs204.js +1 -1
  226. package/dist/index.cjs204.js.map +1 -1
  227. package/dist/index.cjs205.js +1 -1
  228. package/dist/index.cjs205.js.map +1 -1
  229. package/dist/index.cjs206.js +1 -1
  230. package/dist/index.cjs206.js.map +1 -1
  231. package/dist/index.cjs207.js +1 -1
  232. package/dist/index.cjs208.js +1 -1
  233. package/dist/index.cjs209.js +1 -1
  234. package/dist/index.cjs209.js.map +1 -1
  235. package/dist/index.cjs21.js +1 -1
  236. package/dist/index.cjs21.js.map +1 -1
  237. package/dist/index.cjs210.js +1 -1
  238. package/dist/index.cjs210.js.map +1 -1
  239. package/dist/index.cjs211.js +1 -1
  240. package/dist/index.cjs211.js.map +1 -1
  241. package/dist/index.cjs212.js +1 -1
  242. package/dist/index.cjs212.js.map +1 -1
  243. package/dist/index.cjs213.js +1 -1
  244. package/dist/index.cjs213.js.map +1 -1
  245. package/dist/index.cjs214.js +1 -1
  246. package/dist/index.cjs214.js.map +1 -1
  247. package/dist/index.cjs215.js +1 -1
  248. package/dist/index.cjs216.js +1 -1
  249. package/dist/index.cjs216.js.map +1 -1
  250. package/dist/index.cjs217.js +1 -1
  251. package/dist/index.cjs218.js +1 -1
  252. package/dist/index.cjs219.js +1 -1
  253. package/dist/index.cjs22.js +1 -1
  254. package/dist/index.cjs220.js +1 -1
  255. package/dist/index.cjs221.js +1 -1
  256. package/dist/index.cjs222.js +1 -1
  257. package/dist/index.cjs222.js.map +1 -1
  258. package/dist/index.cjs223.js +1 -1
  259. package/dist/index.cjs223.js.map +1 -1
  260. package/dist/index.cjs224.js +1 -1
  261. package/dist/index.cjs224.js.map +1 -1
  262. package/dist/index.cjs225.js +1 -1
  263. package/dist/index.cjs225.js.map +1 -1
  264. package/dist/index.cjs226.js +1 -1
  265. package/dist/index.cjs226.js.map +1 -1
  266. package/dist/index.cjs227.js +1 -1
  267. package/dist/index.cjs227.js.map +1 -1
  268. package/dist/index.cjs228.js +1 -1
  269. package/dist/index.cjs228.js.map +1 -1
  270. package/dist/index.cjs229.js +1 -1
  271. package/dist/index.cjs229.js.map +1 -1
  272. package/dist/index.cjs23.js +1 -1
  273. package/dist/index.cjs23.js.map +1 -1
  274. package/dist/index.cjs230.js +1 -1
  275. package/dist/index.cjs230.js.map +1 -1
  276. package/dist/index.cjs231.js +1 -1
  277. package/dist/index.cjs231.js.map +1 -1
  278. package/dist/index.cjs232.js +1 -1
  279. package/dist/index.cjs232.js.map +1 -1
  280. package/dist/index.cjs233.js +1 -1
  281. package/dist/index.cjs233.js.map +1 -1
  282. package/dist/index.cjs234.js +1 -1
  283. package/dist/index.cjs234.js.map +1 -1
  284. package/dist/index.cjs235.js +1 -1
  285. package/dist/index.cjs235.js.map +1 -1
  286. package/dist/index.cjs236.js +1 -1
  287. package/dist/index.cjs236.js.map +1 -1
  288. package/dist/index.cjs237.js +1 -1
  289. package/dist/index.cjs237.js.map +1 -1
  290. package/dist/index.cjs238.js +1 -1
  291. package/dist/index.cjs238.js.map +1 -1
  292. package/dist/index.cjs239.js +1 -1
  293. package/dist/index.cjs239.js.map +1 -1
  294. package/dist/index.cjs24.js +1 -1
  295. package/dist/index.cjs24.js.map +1 -1
  296. package/dist/index.cjs240.js +1 -1
  297. package/dist/index.cjs240.js.map +1 -1
  298. package/dist/index.cjs241.js +1 -1
  299. package/dist/index.cjs241.js.map +1 -1
  300. package/dist/index.cjs242.js +1 -1
  301. package/dist/index.cjs242.js.map +1 -1
  302. package/dist/index.cjs243.js +1 -1
  303. package/dist/index.cjs243.js.map +1 -1
  304. package/dist/index.cjs244.js +1 -1
  305. package/dist/index.cjs244.js.map +1 -1
  306. package/dist/index.cjs245.js +1 -1
  307. package/dist/index.cjs245.js.map +1 -1
  308. package/dist/index.cjs246.js +1 -1
  309. package/dist/index.cjs246.js.map +1 -1
  310. package/dist/index.cjs248.js +2 -0
  311. package/dist/index.cjs248.js.map +1 -0
  312. package/dist/index.cjs25.js +1 -1
  313. package/dist/index.cjs25.js.map +1 -1
  314. package/dist/index.cjs250.js +1 -1
  315. package/dist/index.cjs257.js +1 -1
  316. package/dist/index.cjs26.js +1 -1
  317. package/dist/index.cjs262.js.map +1 -1
  318. package/dist/index.cjs263.js +1 -1
  319. package/dist/index.cjs264.js +1 -1
  320. package/dist/index.cjs265.js +1 -1
  321. package/dist/index.cjs266.js +1 -1
  322. package/dist/index.cjs27.js +1 -1
  323. package/dist/index.cjs27.js.map +1 -1
  324. package/dist/index.cjs271.js +1 -1
  325. package/dist/index.cjs273.js +1 -1
  326. package/dist/index.cjs277.js +1 -1
  327. package/dist/index.cjs277.js.map +1 -1
  328. package/dist/index.cjs278.js.map +1 -1
  329. package/dist/index.cjs28.js +1 -1
  330. package/dist/index.cjs28.js.map +1 -1
  331. package/dist/index.cjs280.js +1 -1
  332. package/dist/index.cjs280.js.map +1 -1
  333. package/dist/index.cjs281.js +2 -0
  334. package/dist/index.cjs281.js.map +1 -0
  335. package/dist/{index.cjs283.js → index.cjs284.js} +1 -1
  336. package/dist/index.cjs284.js.map +1 -0
  337. package/dist/index.cjs29.js +1 -1
  338. package/dist/{index.cjs290.js → index.cjs291.js} +2 -2
  339. package/dist/index.cjs291.js.map +1 -0
  340. package/dist/{index.cjs295.js → index.cjs296.js} +2 -2
  341. package/dist/{index.cjs295.js.map → index.cjs296.js.map} +1 -1
  342. package/dist/{index.cjs298.js → index.cjs299.js} +2 -2
  343. package/dist/{index.cjs298.js.map → index.cjs299.js.map} +1 -1
  344. package/dist/index.cjs3.js +1 -1
  345. package/dist/index.cjs30.js +1 -1
  346. package/dist/index.cjs30.js.map +1 -1
  347. package/dist/index.cjs301.js +1 -1
  348. package/dist/index.cjs301.js.map +1 -1
  349. package/dist/index.cjs302.js +2 -0
  350. package/dist/index.cjs302.js.map +1 -0
  351. package/dist/index.cjs309.js +1 -1
  352. package/dist/index.cjs309.js.map +1 -1
  353. package/dist/index.cjs31.js +1 -1
  354. package/dist/index.cjs31.js.map +1 -1
  355. package/dist/index.cjs310.js +2 -0
  356. package/dist/index.cjs310.js.map +1 -0
  357. package/dist/{index.cjs315.js → index.cjs316.js} +2 -2
  358. package/dist/index.cjs316.js.map +1 -0
  359. package/dist/index.cjs319.js +1 -1
  360. package/dist/index.cjs319.js.map +1 -1
  361. package/dist/index.cjs32.js +1 -1
  362. package/dist/index.cjs320.js +1 -1
  363. package/dist/index.cjs320.js.map +1 -1
  364. package/dist/index.cjs321.js +1 -1
  365. package/dist/index.cjs321.js.map +1 -1
  366. package/dist/index.cjs322.js +2 -0
  367. package/dist/index.cjs322.js.map +1 -0
  368. package/dist/{index.cjs324.js → index.cjs325.js} +2 -2
  369. package/dist/{index.cjs324.js.map → index.cjs325.js.map} +1 -1
  370. package/dist/index.cjs327.js +5 -1
  371. package/dist/index.cjs327.js.map +1 -1
  372. package/dist/index.cjs328.js +1 -1
  373. package/dist/index.cjs328.js.map +1 -1
  374. package/dist/index.cjs329.js +1 -1
  375. package/dist/index.cjs329.js.map +1 -1
  376. package/dist/index.cjs33.js +1 -1
  377. package/dist/index.cjs33.js.map +1 -1
  378. package/dist/index.cjs330.js +1 -1
  379. package/dist/index.cjs330.js.map +1 -1
  380. package/dist/index.cjs331.js +2 -0
  381. package/dist/index.cjs331.js.map +1 -0
  382. package/dist/index.cjs333.js +1 -1
  383. package/dist/index.cjs333.js.map +1 -1
  384. package/dist/index.cjs334.js +1 -1
  385. package/dist/index.cjs334.js.map +1 -1
  386. package/dist/index.cjs335.js +2 -0
  387. package/dist/index.cjs335.js.map +1 -0
  388. package/dist/index.cjs338.js +1 -1
  389. package/dist/index.cjs338.js.map +1 -1
  390. package/dist/index.cjs339.js +2 -0
  391. package/dist/index.cjs339.js.map +1 -0
  392. package/dist/index.cjs34.js +1 -1
  393. package/dist/{index.cjs342.js → index.cjs343.js} +2 -2
  394. package/dist/index.cjs343.js.map +1 -0
  395. package/dist/index.cjs345.js +1 -1
  396. package/dist/index.cjs345.js.map +1 -1
  397. package/dist/index.cjs346.js +2 -0
  398. package/dist/index.cjs346.js.map +1 -0
  399. package/dist/index.cjs348.js +1 -1
  400. package/dist/index.cjs348.js.map +1 -1
  401. package/dist/index.cjs349.js +1 -1
  402. package/dist/index.cjs349.js.map +1 -1
  403. package/dist/index.cjs35.js +1 -1
  404. package/dist/index.cjs350.js +2 -0
  405. package/dist/index.cjs350.js.map +1 -0
  406. package/dist/index.cjs352.js +1 -1
  407. package/dist/index.cjs352.js.map +1 -1
  408. package/dist/index.cjs353.js +1 -1
  409. package/dist/index.cjs353.js.map +1 -1
  410. package/dist/index.cjs354.js +2 -0
  411. package/dist/index.cjs354.js.map +1 -0
  412. package/dist/index.cjs356.js +1 -1
  413. package/dist/index.cjs356.js.map +1 -1
  414. package/dist/index.cjs357.js +1 -1
  415. package/dist/index.cjs357.js.map +1 -1
  416. package/dist/index.cjs358.js +2 -0
  417. package/dist/index.cjs358.js.map +1 -0
  418. package/dist/index.cjs36.js +1 -1
  419. package/dist/index.cjs36.js.map +1 -1
  420. package/dist/index.cjs368.js +2 -0
  421. package/dist/index.cjs368.js.map +1 -0
  422. package/dist/index.cjs37.js +1 -1
  423. package/dist/index.cjs37.js.map +1 -1
  424. package/dist/index.cjs376.js +1 -1
  425. package/dist/index.cjs376.js.map +1 -1
  426. package/dist/index.cjs377.js +2 -0
  427. package/dist/index.cjs377.js.map +1 -0
  428. package/dist/index.cjs38.js +1 -1
  429. package/dist/index.cjs39.js +1 -1
  430. package/dist/index.cjs39.js.map +1 -1
  431. package/dist/{index.cjs398.js → index.cjs399.js} +2 -2
  432. package/dist/{index.cjs398.js.map → index.cjs399.js.map} +1 -1
  433. package/dist/index.cjs4.js +1 -1
  434. package/dist/index.cjs40.js +1 -1
  435. package/dist/index.cjs40.js.map +1 -1
  436. package/dist/{index.cjs404.js → index.cjs405.js} +2 -2
  437. package/dist/index.cjs405.js.map +1 -0
  438. package/dist/{index.cjs407.js → index.cjs408.js} +2 -2
  439. package/dist/index.cjs408.js.map +1 -0
  440. package/dist/index.cjs41.js +1 -1
  441. package/dist/index.cjs41.js.map +1 -1
  442. package/dist/index.cjs410.js +1 -1
  443. package/dist/index.cjs410.js.map +1 -1
  444. package/dist/index.cjs411.js +1 -1
  445. package/dist/index.cjs411.js.map +1 -1
  446. package/dist/index.cjs412.js +2 -0
  447. package/dist/index.cjs412.js.map +1 -0
  448. package/dist/{index.cjs416.js → index.cjs417.js} +2 -2
  449. package/dist/{index.cjs416.js.map → index.cjs417.js.map} +1 -1
  450. package/dist/index.cjs42.js +1 -1
  451. package/dist/index.cjs42.js.map +1 -1
  452. package/dist/{index.cjs422.js → index.cjs423.js} +2 -2
  453. package/dist/index.cjs423.js.map +1 -0
  454. package/dist/index.cjs425.js +1 -1
  455. package/dist/index.cjs425.js.map +1 -1
  456. package/dist/index.cjs426.js +2 -0
  457. package/dist/index.cjs426.js.map +1 -0
  458. package/dist/index.cjs43.js +1 -1
  459. package/dist/index.cjs43.js.map +1 -1
  460. package/dist/{index.cjs430.js → index.cjs431.js} +2 -2
  461. package/dist/{index.cjs430.js.map → index.cjs431.js.map} +1 -1
  462. package/dist/index.cjs436.js +2 -0
  463. package/dist/index.cjs436.js.map +1 -0
  464. package/dist/index.cjs44.js +1 -1
  465. package/dist/index.cjs44.js.map +1 -1
  466. package/dist/index.cjs440.js +1 -1
  467. package/dist/index.cjs440.js.map +1 -1
  468. package/dist/{index.cjs337.js → index.cjs441.js} +2 -2
  469. package/dist/index.cjs441.js.map +1 -0
  470. package/dist/index.cjs446.js +1 -1
  471. package/dist/index.cjs446.js.map +1 -1
  472. package/dist/index.cjs447.js +1 -1
  473. package/dist/index.cjs447.js.map +1 -1
  474. package/dist/index.cjs448.js +2 -0
  475. package/dist/index.cjs448.js.map +1 -0
  476. package/dist/index.cjs45.js +1 -1
  477. package/dist/index.cjs45.js.map +1 -1
  478. package/dist/{index.cjs449.js → index.cjs450.js} +2 -2
  479. package/dist/{index.cjs449.js.map → index.cjs450.js.map} +1 -1
  480. package/dist/index.cjs456.js +1 -1
  481. package/dist/index.cjs456.js.map +1 -1
  482. package/dist/index.cjs457.js +1 -1
  483. package/dist/index.cjs457.js.map +1 -1
  484. package/dist/index.cjs458.js +1 -9
  485. package/dist/index.cjs458.js.map +1 -1
  486. package/dist/index.cjs459.js +3 -8
  487. package/dist/index.cjs459.js.map +1 -1
  488. package/dist/index.cjs46.js +1 -1
  489. package/dist/index.cjs460.js +14 -1
  490. package/dist/index.cjs460.js.map +1 -1
  491. package/dist/index.cjs461.js +27 -1
  492. package/dist/index.cjs461.js.map +1 -1
  493. package/dist/index.cjs463.js +1 -27
  494. package/dist/index.cjs463.js.map +1 -1
  495. package/dist/index.cjs464.js +1 -1
  496. package/dist/index.cjs464.js.map +1 -1
  497. package/dist/index.cjs465.js +2 -1
  498. package/dist/index.cjs465.js.map +1 -1
  499. package/dist/index.cjs466.js +1 -2
  500. package/dist/index.cjs466.js.map +1 -1
  501. package/dist/index.cjs467.js +1 -1
  502. package/dist/index.cjs467.js.map +1 -1
  503. package/dist/index.cjs468.js +1 -1
  504. package/dist/index.cjs468.js.map +1 -1
  505. package/dist/index.cjs469.js +1 -1
  506. package/dist/index.cjs469.js.map +1 -1
  507. package/dist/index.cjs47.js +1 -1
  508. package/dist/index.cjs47.js.map +1 -1
  509. package/dist/index.cjs470.js +1 -1
  510. package/dist/index.cjs470.js.map +1 -1
  511. package/dist/index.cjs471.js +1 -1
  512. package/dist/index.cjs471.js.map +1 -1
  513. package/dist/index.cjs472.js +1 -1
  514. package/dist/index.cjs472.js.map +1 -1
  515. package/dist/index.cjs473.js +1 -1
  516. package/dist/index.cjs473.js.map +1 -1
  517. package/dist/index.cjs474.js +1 -1
  518. package/dist/index.cjs474.js.map +1 -1
  519. package/dist/index.cjs475.js +1 -1
  520. package/dist/index.cjs475.js.map +1 -1
  521. package/dist/index.cjs476.js +1 -1
  522. package/dist/index.cjs476.js.map +1 -1
  523. package/dist/index.cjs479.js +1 -1
  524. package/dist/index.cjs479.js.map +1 -1
  525. package/dist/index.cjs48.js +1 -1
  526. package/dist/index.cjs48.js.map +1 -1
  527. package/dist/index.cjs480.js +1 -1
  528. package/dist/index.cjs480.js.map +1 -1
  529. package/dist/index.cjs481.js +1 -1
  530. package/dist/index.cjs481.js.map +1 -1
  531. package/dist/{index.cjs507.js → index.cjs482.js} +2 -2
  532. package/dist/{index.cjs507.js.map → index.cjs482.js.map} +1 -1
  533. package/dist/index.cjs488.js +1 -1
  534. package/dist/index.cjs489.js +1 -1
  535. package/dist/index.cjs489.js.map +1 -1
  536. package/dist/index.cjs49.js +1 -1
  537. package/dist/index.cjs49.js.map +1 -1
  538. package/dist/index.cjs490.js +1 -1
  539. package/dist/index.cjs490.js.map +1 -1
  540. package/dist/index.cjs491.js +1 -1
  541. package/dist/index.cjs491.js.map +1 -1
  542. package/dist/index.cjs492.js +1 -1
  543. package/dist/index.cjs492.js.map +1 -1
  544. package/dist/index.cjs493.js +1 -1
  545. package/dist/index.cjs493.js.map +1 -1
  546. package/dist/index.cjs494.js +1 -1
  547. package/dist/index.cjs494.js.map +1 -1
  548. package/dist/index.cjs5.js +1 -1
  549. package/dist/index.cjs50.js +1 -1
  550. package/dist/index.cjs51.js +1 -1
  551. package/dist/index.cjs51.js.map +1 -1
  552. package/dist/index.cjs512.js +2 -0
  553. package/dist/index.cjs512.js.map +1 -0
  554. package/dist/index.cjs513.js +2 -0
  555. package/dist/index.cjs513.js.map +1 -0
  556. package/dist/index.cjs515.js +2 -0
  557. package/dist/index.cjs515.js.map +1 -0
  558. package/dist/index.cjs516.js +2 -0
  559. package/dist/index.cjs516.js.map +1 -0
  560. package/dist/index.cjs517.js +2 -0
  561. package/dist/index.cjs517.js.map +1 -0
  562. package/dist/index.cjs518.js +2 -0
  563. package/dist/index.cjs518.js.map +1 -0
  564. package/dist/index.cjs52.js +1 -1
  565. package/dist/index.cjs52.js.map +1 -1
  566. package/dist/index.cjs523.js +1 -1
  567. package/dist/index.cjs523.js.map +1 -1
  568. package/dist/index.cjs524.js +1 -4
  569. package/dist/index.cjs524.js.map +1 -1
  570. package/dist/index.cjs525.js +1 -1
  571. package/dist/index.cjs525.js.map +1 -1
  572. package/dist/index.cjs526.js +1 -1
  573. package/dist/index.cjs526.js.map +1 -1
  574. package/dist/index.cjs527.js +1 -1
  575. package/dist/index.cjs527.js.map +1 -1
  576. package/dist/index.cjs528.js +1 -1
  577. package/dist/index.cjs528.js.map +1 -1
  578. package/dist/index.cjs529.js +2 -0
  579. package/dist/index.cjs529.js.map +1 -0
  580. package/dist/index.cjs53.js +1 -1
  581. package/dist/index.cjs53.js.map +1 -1
  582. package/dist/{index.cjs484.js → index.cjs530.js} +1 -1
  583. package/dist/{index.cjs484.js.map → index.cjs530.js.map} +1 -1
  584. package/dist/{index.cjs486.js → index.cjs531.js} +2 -2
  585. package/dist/{index.cjs486.js.map → index.cjs531.js.map} +1 -1
  586. package/dist/{index.cjs487.js → index.cjs532.js} +2 -2
  587. package/dist/{index.cjs487.js.map → index.cjs532.js.map} +1 -1
  588. package/dist/index.cjs533.js +2 -0
  589. package/dist/index.cjs533.js.map +1 -0
  590. package/dist/index.cjs534.js +1 -38
  591. package/dist/index.cjs534.js.map +1 -1
  592. package/dist/index.cjs535.js +1 -1
  593. package/dist/index.cjs535.js.map +1 -1
  594. package/dist/index.cjs536.js +1 -1
  595. package/dist/index.cjs536.js.map +1 -1
  596. package/dist/index.cjs537.js +1 -1
  597. package/dist/index.cjs537.js.map +1 -1
  598. package/dist/index.cjs538.js +1 -1
  599. package/dist/index.cjs538.js.map +1 -1
  600. package/dist/index.cjs539.js +1 -1
  601. package/dist/index.cjs539.js.map +1 -1
  602. package/dist/index.cjs54.js +1 -1
  603. package/dist/index.cjs54.js.map +1 -1
  604. package/dist/index.cjs540.js +1 -1
  605. package/dist/index.cjs540.js.map +1 -1
  606. package/dist/index.cjs541.js +1 -1
  607. package/dist/index.cjs541.js.map +1 -1
  608. package/dist/index.cjs542.js +1 -1
  609. package/dist/index.cjs542.js.map +1 -1
  610. package/dist/index.cjs543.js +1 -1
  611. package/dist/index.cjs543.js.map +1 -1
  612. package/dist/index.cjs544.js +1 -1
  613. package/dist/index.cjs544.js.map +1 -1
  614. package/dist/index.cjs545.js +1 -1
  615. package/dist/index.cjs545.js.map +1 -1
  616. package/dist/index.cjs546.js +1 -1
  617. package/dist/index.cjs546.js.map +1 -1
  618. package/dist/index.cjs547.js +1 -1
  619. package/dist/index.cjs547.js.map +1 -1
  620. package/dist/index.cjs548.js +1 -1
  621. package/dist/index.cjs548.js.map +1 -1
  622. package/dist/index.cjs549.js +1 -1
  623. package/dist/index.cjs549.js.map +1 -1
  624. package/dist/index.cjs55.js +1 -1
  625. package/dist/index.cjs550.js +1 -1
  626. package/dist/index.cjs550.js.map +1 -1
  627. package/dist/index.cjs551.js +1 -1
  628. package/dist/index.cjs551.js.map +1 -1
  629. package/dist/index.cjs552.js +1 -1
  630. package/dist/index.cjs552.js.map +1 -1
  631. package/dist/index.cjs553.js +1 -1
  632. package/dist/index.cjs553.js.map +1 -1
  633. package/dist/index.cjs554.js +1 -1
  634. package/dist/index.cjs554.js.map +1 -1
  635. package/dist/index.cjs555.js +1 -1
  636. package/dist/index.cjs555.js.map +1 -1
  637. package/dist/index.cjs556.js +1 -1
  638. package/dist/index.cjs556.js.map +1 -1
  639. package/dist/index.cjs557.js +1 -1
  640. package/dist/index.cjs557.js.map +1 -1
  641. package/dist/index.cjs558.js +1 -1
  642. package/dist/index.cjs558.js.map +1 -1
  643. package/dist/index.cjs559.js +1 -1
  644. package/dist/index.cjs559.js.map +1 -1
  645. package/dist/index.cjs56.js +1 -1
  646. package/dist/index.cjs56.js.map +1 -1
  647. package/dist/index.cjs560.js +1 -1
  648. package/dist/index.cjs560.js.map +1 -1
  649. package/dist/index.cjs561.js +1 -1
  650. package/dist/index.cjs561.js.map +1 -1
  651. package/dist/index.cjs562.js +1 -1
  652. package/dist/index.cjs562.js.map +1 -1
  653. package/dist/index.cjs563.js +1 -1
  654. package/dist/index.cjs563.js.map +1 -1
  655. package/dist/index.cjs564.js +1 -1
  656. package/dist/index.cjs564.js.map +1 -1
  657. package/dist/index.cjs565.js +1 -1
  658. package/dist/index.cjs565.js.map +1 -1
  659. package/dist/index.cjs566.js +1 -1
  660. package/dist/index.cjs566.js.map +1 -1
  661. package/dist/index.cjs567.js +1 -1
  662. package/dist/index.cjs567.js.map +1 -1
  663. package/dist/index.cjs568.js +1 -1
  664. package/dist/index.cjs568.js.map +1 -1
  665. package/dist/index.cjs569.js +1 -1
  666. package/dist/index.cjs569.js.map +1 -1
  667. package/dist/index.cjs57.js +1 -1
  668. package/dist/index.cjs57.js.map +1 -1
  669. package/dist/index.cjs570.js +1 -1
  670. package/dist/index.cjs570.js.map +1 -1
  671. package/dist/index.cjs571.js +1 -5
  672. package/dist/index.cjs571.js.map +1 -1
  673. package/dist/index.cjs572.js +1 -1
  674. package/dist/index.cjs572.js.map +1 -1
  675. package/dist/index.cjs573.js +1 -1
  676. package/dist/index.cjs573.js.map +1 -1
  677. package/dist/index.cjs574.js +1 -1
  678. package/dist/index.cjs574.js.map +1 -1
  679. package/dist/index.cjs575.js +1 -1
  680. package/dist/index.cjs575.js.map +1 -1
  681. package/dist/index.cjs576.js +1 -1
  682. package/dist/index.cjs576.js.map +1 -1
  683. package/dist/index.cjs577.js +1 -1
  684. package/dist/index.cjs577.js.map +1 -1
  685. package/dist/index.cjs578.js +1 -1
  686. package/dist/index.cjs578.js.map +1 -1
  687. package/dist/index.cjs579.js +1 -1
  688. package/dist/index.cjs579.js.map +1 -1
  689. package/dist/index.cjs58.js +1 -1
  690. package/dist/index.cjs580.js +1 -1
  691. package/dist/index.cjs580.js.map +1 -1
  692. package/dist/index.cjs581.js +1 -1
  693. package/dist/index.cjs581.js.map +1 -1
  694. package/dist/index.cjs582.js +1 -1
  695. package/dist/index.cjs582.js.map +1 -1
  696. package/dist/index.cjs583.js +1 -1
  697. package/dist/index.cjs583.js.map +1 -1
  698. package/dist/index.cjs584.js +2 -0
  699. package/dist/index.cjs584.js.map +1 -0
  700. package/dist/index.cjs585.js +2 -0
  701. package/dist/index.cjs585.js.map +1 -0
  702. package/dist/index.cjs586.js +2 -0
  703. package/dist/index.cjs586.js.map +1 -0
  704. package/dist/index.cjs587.js +2 -0
  705. package/dist/index.cjs587.js.map +1 -0
  706. package/dist/index.cjs588.js +2 -0
  707. package/dist/index.cjs588.js.map +1 -0
  708. package/dist/index.cjs589.js +1 -1
  709. package/dist/index.cjs589.js.map +1 -1
  710. package/dist/index.cjs59.js +1 -1
  711. package/dist/index.cjs59.js.map +1 -1
  712. package/dist/index.cjs590.js +1 -1
  713. package/dist/index.cjs591.js +1 -1
  714. package/dist/index.cjs591.js.map +1 -1
  715. package/dist/index.cjs592.js +1 -1
  716. package/dist/index.cjs592.js.map +1 -1
  717. package/dist/index.cjs593.js +1 -1
  718. package/dist/index.cjs593.js.map +1 -1
  719. package/dist/index.cjs594.js +1 -1
  720. package/dist/index.cjs594.js.map +1 -1
  721. package/dist/index.cjs596.js +1 -1
  722. package/dist/index.cjs596.js.map +1 -1
  723. package/dist/index.cjs597.js +1 -1
  724. package/dist/index.cjs597.js.map +1 -1
  725. package/dist/index.cjs598.js +2 -0
  726. package/dist/index.cjs598.js.map +1 -0
  727. package/dist/index.cjs599.js +2 -0
  728. package/dist/index.cjs599.js.map +1 -0
  729. package/dist/index.cjs6.js +1 -1
  730. package/dist/index.cjs60.js +1 -1
  731. package/dist/index.cjs60.js.map +1 -1
  732. package/dist/index.cjs600.js +2 -0
  733. package/dist/index.cjs600.js.map +1 -0
  734. package/dist/index.cjs601.js +2 -0
  735. package/dist/index.cjs601.js.map +1 -0
  736. package/dist/index.cjs602.js +1 -1
  737. package/dist/index.cjs602.js.map +1 -1
  738. package/dist/index.cjs604.js +1 -1
  739. package/dist/index.cjs604.js.map +1 -1
  740. package/dist/index.cjs605.js +1 -1
  741. package/dist/index.cjs605.js.map +1 -1
  742. package/dist/index.cjs606.js +1 -1
  743. package/dist/index.cjs606.js.map +1 -1
  744. package/dist/index.cjs607.js +1 -1
  745. package/dist/index.cjs607.js.map +1 -1
  746. package/dist/index.cjs608.js +1 -1
  747. package/dist/index.cjs608.js.map +1 -1
  748. package/dist/index.cjs609.js +1 -1
  749. package/dist/index.cjs609.js.map +1 -1
  750. package/dist/index.cjs61.js +1 -1
  751. package/dist/index.cjs61.js.map +1 -1
  752. package/dist/index.cjs610.js +1 -1
  753. package/dist/index.cjs610.js.map +1 -1
  754. package/dist/index.cjs611.js +1 -1
  755. package/dist/index.cjs611.js.map +1 -1
  756. package/dist/index.cjs612.js +1 -1
  757. package/dist/index.cjs612.js.map +1 -1
  758. package/dist/index.cjs613.js +1 -1
  759. package/dist/index.cjs613.js.map +1 -1
  760. package/dist/index.cjs614.js +1 -1
  761. package/dist/index.cjs614.js.map +1 -1
  762. package/dist/index.cjs615.js +1 -1
  763. package/dist/index.cjs615.js.map +1 -1
  764. package/dist/index.cjs616.js +1 -1
  765. package/dist/index.cjs616.js.map +1 -1
  766. package/dist/index.cjs617.js +1 -1
  767. package/dist/index.cjs617.js.map +1 -1
  768. package/dist/index.cjs618.js +1 -1
  769. package/dist/index.cjs618.js.map +1 -1
  770. package/dist/index.cjs619.js +1 -1
  771. package/dist/index.cjs619.js.map +1 -1
  772. package/dist/index.cjs62.js +1 -1
  773. package/dist/index.cjs62.js.map +1 -1
  774. package/dist/index.cjs620.js +1 -1
  775. package/dist/index.cjs620.js.map +1 -1
  776. package/dist/index.cjs621.js +1 -1
  777. package/dist/index.cjs621.js.map +1 -1
  778. package/dist/index.cjs622.js +1 -1
  779. package/dist/index.cjs622.js.map +1 -1
  780. package/dist/index.cjs623.js +1 -1
  781. package/dist/index.cjs623.js.map +1 -1
  782. package/dist/index.cjs624.js +1 -1
  783. package/dist/index.cjs624.js.map +1 -1
  784. package/dist/index.cjs625.js +1 -1
  785. package/dist/index.cjs625.js.map +1 -1
  786. package/dist/index.cjs626.js +1 -1
  787. package/dist/index.cjs626.js.map +1 -1
  788. package/dist/index.cjs627.js +1 -1
  789. package/dist/index.cjs627.js.map +1 -1
  790. package/dist/index.cjs628.js +1 -1
  791. package/dist/index.cjs628.js.map +1 -1
  792. package/dist/index.cjs629.js +1 -1
  793. package/dist/index.cjs629.js.map +1 -1
  794. package/dist/index.cjs63.js +1 -1
  795. package/dist/index.cjs630.js +1 -1
  796. package/dist/index.cjs630.js.map +1 -1
  797. package/dist/index.cjs631.js +1 -1
  798. package/dist/index.cjs631.js.map +1 -1
  799. package/dist/index.cjs632.js +1 -1
  800. package/dist/index.cjs632.js.map +1 -1
  801. package/dist/index.cjs633.js +1 -1
  802. package/dist/index.cjs633.js.map +1 -1
  803. package/dist/index.cjs634.js +1 -1
  804. package/dist/index.cjs634.js.map +1 -1
  805. package/dist/index.cjs635.js +1 -1
  806. package/dist/index.cjs635.js.map +1 -1
  807. package/dist/index.cjs636.js +1 -1
  808. package/dist/index.cjs636.js.map +1 -1
  809. package/dist/index.cjs637.js +1 -1
  810. package/dist/index.cjs637.js.map +1 -1
  811. package/dist/index.cjs638.js +1 -1
  812. package/dist/index.cjs638.js.map +1 -1
  813. package/dist/index.cjs639.js +1 -1
  814. package/dist/index.cjs639.js.map +1 -1
  815. package/dist/index.cjs64.js +1 -1
  816. package/dist/index.cjs640.js +1 -1
  817. package/dist/index.cjs640.js.map +1 -1
  818. package/dist/index.cjs641.js +1 -1
  819. package/dist/index.cjs641.js.map +1 -1
  820. package/dist/index.cjs642.js +1 -1
  821. package/dist/index.cjs642.js.map +1 -1
  822. package/dist/index.cjs643.js +1 -1
  823. package/dist/index.cjs643.js.map +1 -1
  824. package/dist/index.cjs644.js +1 -1
  825. package/dist/index.cjs644.js.map +1 -1
  826. package/dist/index.cjs645.js +1 -1
  827. package/dist/index.cjs645.js.map +1 -1
  828. package/dist/index.cjs646.js +4 -1
  829. package/dist/index.cjs646.js.map +1 -1
  830. package/dist/index.cjs647.js +1 -1
  831. package/dist/index.cjs647.js.map +1 -1
  832. package/dist/index.cjs648.js +5 -1
  833. package/dist/index.cjs648.js.map +1 -1
  834. package/dist/index.cjs649.js +1 -1
  835. package/dist/index.cjs65.js +1 -1
  836. package/dist/index.cjs65.js.map +1 -1
  837. package/dist/index.cjs650.js +1 -1
  838. package/dist/index.cjs650.js.map +1 -1
  839. package/dist/index.cjs651.js +1 -1
  840. package/dist/index.cjs651.js.map +1 -1
  841. package/dist/index.cjs652.js +1 -1
  842. package/dist/index.cjs652.js.map +1 -1
  843. package/dist/index.cjs653.js +1 -1
  844. package/dist/index.cjs653.js.map +1 -1
  845. package/dist/index.cjs654.js +1 -1
  846. package/dist/index.cjs654.js.map +1 -1
  847. package/dist/index.cjs655.js +1 -1
  848. package/dist/index.cjs655.js.map +1 -1
  849. package/dist/index.cjs656.js +1 -1
  850. package/dist/index.cjs656.js.map +1 -1
  851. package/dist/index.cjs657.js +1 -1
  852. package/dist/index.cjs657.js.map +1 -1
  853. package/dist/index.cjs658.js +1 -1
  854. package/dist/index.cjs658.js.map +1 -1
  855. package/dist/index.cjs659.js +1 -1
  856. package/dist/index.cjs659.js.map +1 -1
  857. package/dist/index.cjs66.js +1 -1
  858. package/dist/index.cjs660.js +1 -1
  859. package/dist/index.cjs660.js.map +1 -1
  860. package/dist/index.cjs661.js +1 -1
  861. package/dist/index.cjs661.js.map +1 -1
  862. package/dist/index.cjs662.js +1 -1
  863. package/dist/index.cjs662.js.map +1 -1
  864. package/dist/index.cjs663.js +1 -1
  865. package/dist/index.cjs663.js.map +1 -1
  866. package/dist/index.cjs664.js +1 -1
  867. package/dist/index.cjs664.js.map +1 -1
  868. package/dist/index.cjs665.js +38 -1
  869. package/dist/index.cjs665.js.map +1 -1
  870. package/dist/index.cjs666.js +1 -1
  871. package/dist/index.cjs666.js.map +1 -1
  872. package/dist/index.cjs667.js +1 -1
  873. package/dist/index.cjs667.js.map +1 -1
  874. package/dist/index.cjs668.js +1 -1
  875. package/dist/index.cjs668.js.map +1 -1
  876. package/dist/index.cjs669.js +1 -1
  877. package/dist/index.cjs669.js.map +1 -1
  878. package/dist/index.cjs67.js +1 -1
  879. package/dist/index.cjs67.js.map +1 -1
  880. package/dist/index.cjs670.js +1 -1
  881. package/dist/index.cjs670.js.map +1 -1
  882. package/dist/index.cjs671.js +1 -1
  883. package/dist/index.cjs671.js.map +1 -1
  884. package/dist/index.cjs672.js +1 -1
  885. package/dist/index.cjs672.js.map +1 -1
  886. package/dist/index.cjs673.js +1 -1
  887. package/dist/index.cjs673.js.map +1 -1
  888. package/dist/index.cjs674.js +1 -1
  889. package/dist/index.cjs674.js.map +1 -1
  890. package/dist/index.cjs675.js +1 -1
  891. package/dist/index.cjs675.js.map +1 -1
  892. package/dist/index.cjs676.js +1 -1
  893. package/dist/index.cjs676.js.map +1 -1
  894. package/dist/index.cjs677.js +2 -0
  895. package/dist/index.cjs677.js.map +1 -0
  896. package/dist/index.cjs68.js +1 -1
  897. package/dist/index.cjs68.js.map +1 -1
  898. package/dist/index.cjs69.js +1 -1
  899. package/dist/index.cjs69.js.map +1 -1
  900. package/dist/index.cjs7.js +1 -1
  901. package/dist/index.cjs70.js +1 -1
  902. package/dist/index.cjs70.js.map +1 -1
  903. package/dist/index.cjs71.js +1 -1
  904. package/dist/index.cjs72.js +1 -1
  905. package/dist/index.cjs72.js.map +1 -1
  906. package/dist/index.cjs73.js +1 -1
  907. package/dist/index.cjs74.js +1 -1
  908. package/dist/index.cjs74.js.map +1 -1
  909. package/dist/index.cjs75.js +1 -1
  910. package/dist/index.cjs75.js.map +1 -1
  911. package/dist/index.cjs76.js +1 -1
  912. package/dist/index.cjs76.js.map +1 -1
  913. package/dist/index.cjs77.js +1 -1
  914. package/dist/index.cjs77.js.map +1 -1
  915. package/dist/index.cjs78.js +1 -1
  916. package/dist/index.cjs78.js.map +1 -1
  917. package/dist/index.cjs79.js +1 -1
  918. package/dist/index.cjs79.js.map +1 -1
  919. package/dist/index.cjs8.js +1 -1
  920. package/dist/index.cjs8.js.map +1 -1
  921. package/dist/index.cjs80.js +1 -1
  922. package/dist/index.cjs80.js.map +1 -1
  923. package/dist/index.cjs81.js +1 -1
  924. package/dist/index.cjs81.js.map +1 -1
  925. package/dist/index.cjs82.js +1 -1
  926. package/dist/index.cjs82.js.map +1 -1
  927. package/dist/index.cjs83.js +1 -1
  928. package/dist/index.cjs83.js.map +1 -1
  929. package/dist/index.cjs84.js +1 -1
  930. package/dist/index.cjs84.js.map +1 -1
  931. package/dist/index.cjs85.js +1 -1
  932. package/dist/index.cjs85.js.map +1 -1
  933. package/dist/index.cjs86.js +1 -1
  934. package/dist/index.cjs86.js.map +1 -1
  935. package/dist/index.cjs87.js +1 -1
  936. package/dist/index.cjs87.js.map +1 -1
  937. package/dist/index.cjs88.js +1 -1
  938. package/dist/index.cjs88.js.map +1 -1
  939. package/dist/index.cjs89.js +1 -1
  940. package/dist/index.cjs89.js.map +1 -1
  941. package/dist/index.cjs9.js +1 -1
  942. package/dist/index.cjs90.js +1 -1
  943. package/dist/index.cjs90.js.map +1 -1
  944. package/dist/index.cjs91.js +1 -1
  945. package/dist/index.cjs91.js.map +1 -1
  946. package/dist/index.cjs92.js +1 -1
  947. package/dist/index.cjs92.js.map +1 -1
  948. package/dist/index.cjs93.js +1 -1
  949. package/dist/index.cjs93.js.map +1 -1
  950. package/dist/index.cjs94.js +1 -1
  951. package/dist/index.cjs94.js.map +1 -1
  952. package/dist/index.cjs95.js +1 -1
  953. package/dist/index.cjs95.js.map +1 -1
  954. package/dist/index.cjs96.js +1 -1
  955. package/dist/index.cjs96.js.map +1 -1
  956. package/dist/index.cjs97.js +1 -1
  957. package/dist/index.cjs97.js.map +1 -1
  958. package/dist/index.cjs98.js +1 -1
  959. package/dist/index.cjs98.js.map +1 -1
  960. package/dist/index.cjs99.js +1 -1
  961. package/dist/index.cjs99.js.map +1 -1
  962. package/dist/index.d.ts +2 -0
  963. package/dist/index.es.js +22 -20
  964. package/dist/index.es.js.map +1 -1
  965. package/dist/index.es10.js +4 -4
  966. package/dist/index.es10.js.map +1 -1
  967. package/dist/index.es100.js +1 -1
  968. package/dist/index.es100.js.map +1 -1
  969. package/dist/index.es101.js +3 -3
  970. package/dist/index.es101.js.map +1 -1
  971. package/dist/index.es102.js +1 -1
  972. package/dist/index.es102.js.map +1 -1
  973. package/dist/index.es103.js +3 -3
  974. package/dist/index.es104.js +5 -5
  975. package/dist/index.es105.js +2 -2
  976. package/dist/index.es105.js.map +1 -1
  977. package/dist/index.es106.js +2 -2
  978. package/dist/index.es106.js.map +1 -1
  979. package/dist/index.es107.js +1 -1
  980. package/dist/index.es107.js.map +1 -1
  981. package/dist/index.es108.js +2 -2
  982. package/dist/index.es109.js +1 -1
  983. package/dist/index.es11.js +2 -2
  984. package/dist/index.es11.js.map +1 -1
  985. package/dist/index.es110.js +4 -4
  986. package/dist/index.es110.js.map +1 -1
  987. package/dist/index.es111.js +2 -2
  988. package/dist/index.es111.js.map +1 -1
  989. package/dist/index.es112.js +2 -2
  990. package/dist/index.es112.js.map +1 -1
  991. package/dist/index.es113.js +2 -2
  992. package/dist/index.es113.js.map +1 -1
  993. package/dist/index.es114.js +2 -2
  994. package/dist/index.es114.js.map +1 -1
  995. package/dist/index.es115.js +1 -1
  996. package/dist/index.es115.js.map +1 -1
  997. package/dist/index.es116.js +3 -3
  998. package/dist/index.es116.js.map +1 -1
  999. package/dist/index.es117.js +2 -2
  1000. package/dist/index.es117.js.map +1 -1
  1001. package/dist/index.es118.js +2 -2
  1002. package/dist/index.es119.js +1 -1
  1003. package/dist/index.es119.js.map +1 -1
  1004. package/dist/index.es12.js +3 -3
  1005. package/dist/index.es12.js.map +1 -1
  1006. package/dist/index.es120.js +2 -2
  1007. package/dist/index.es120.js.map +1 -1
  1008. package/dist/index.es121.js +1 -1
  1009. package/dist/index.es121.js.map +1 -1
  1010. package/dist/index.es122.js +1 -1
  1011. package/dist/index.es122.js.map +1 -1
  1012. package/dist/index.es123.js +2 -2
  1013. package/dist/index.es123.js.map +1 -1
  1014. package/dist/index.es124.js +3 -3
  1015. package/dist/index.es124.js.map +1 -1
  1016. package/dist/index.es125.js +4 -4
  1017. package/dist/index.es125.js.map +1 -1
  1018. package/dist/index.es126.js +2 -2
  1019. package/dist/index.es126.js.map +1 -1
  1020. package/dist/index.es127.js +4 -4
  1021. package/dist/index.es127.js.map +1 -1
  1022. package/dist/index.es128.js +2 -2
  1023. package/dist/index.es128.js.map +1 -1
  1024. package/dist/index.es129.js +2 -2
  1025. package/dist/index.es129.js.map +1 -1
  1026. package/dist/index.es13.js +2 -2
  1027. package/dist/index.es13.js.map +1 -1
  1028. package/dist/index.es130.js +2 -2
  1029. package/dist/index.es130.js.map +1 -1
  1030. package/dist/index.es131.js +4 -4
  1031. package/dist/index.es131.js.map +1 -1
  1032. package/dist/index.es132.js +2 -2
  1033. package/dist/index.es132.js.map +1 -1
  1034. package/dist/index.es133.js +1 -1
  1035. package/dist/index.es133.js.map +1 -1
  1036. package/dist/index.es134.js +2 -2
  1037. package/dist/index.es134.js.map +1 -1
  1038. package/dist/index.es135.js +2 -2
  1039. package/dist/index.es135.js.map +1 -1
  1040. package/dist/index.es136.js +1 -1
  1041. package/dist/index.es136.js.map +1 -1
  1042. package/dist/index.es137.js +3 -3
  1043. package/dist/index.es137.js.map +1 -1
  1044. package/dist/index.es138.js +1 -1
  1045. package/dist/index.es138.js.map +1 -1
  1046. package/dist/index.es139.js +2 -2
  1047. package/dist/index.es139.js.map +1 -1
  1048. package/dist/index.es14.js +2 -2
  1049. package/dist/index.es14.js.map +1 -1
  1050. package/dist/index.es140.js +2 -2
  1051. package/dist/index.es140.js.map +1 -1
  1052. package/dist/index.es141.js +2 -2
  1053. package/dist/index.es141.js.map +1 -1
  1054. package/dist/index.es142.js +2 -2
  1055. package/dist/index.es142.js.map +1 -1
  1056. package/dist/index.es143.js +2 -2
  1057. package/dist/index.es143.js.map +1 -1
  1058. package/dist/index.es144.js +1 -1
  1059. package/dist/index.es144.js.map +1 -1
  1060. package/dist/index.es145.js +1 -1
  1061. package/dist/index.es145.js.map +1 -1
  1062. package/dist/index.es146.js +1 -1
  1063. package/dist/index.es146.js.map +1 -1
  1064. package/dist/index.es147.js +1 -1
  1065. package/dist/index.es147.js.map +1 -1
  1066. package/dist/index.es148.js +2 -2
  1067. package/dist/index.es148.js.map +1 -1
  1068. package/dist/index.es149.js +1 -1
  1069. package/dist/index.es149.js.map +1 -1
  1070. package/dist/index.es15.js +3 -3
  1071. package/dist/index.es15.js.map +1 -1
  1072. package/dist/index.es150.js +1 -1
  1073. package/dist/index.es150.js.map +1 -1
  1074. package/dist/index.es151.js +2 -2
  1075. package/dist/index.es151.js.map +1 -1
  1076. package/dist/index.es152.js +1 -1
  1077. package/dist/index.es152.js.map +1 -1
  1078. package/dist/index.es153.js +1 -1
  1079. package/dist/index.es153.js.map +1 -1
  1080. package/dist/index.es154.js +1 -1
  1081. package/dist/index.es154.js.map +1 -1
  1082. package/dist/index.es155.js +2 -2
  1083. package/dist/index.es156.js +2 -2
  1084. package/dist/index.es157.js +1 -1
  1085. package/dist/index.es157.js.map +1 -1
  1086. package/dist/index.es158.js +3 -3
  1087. package/dist/index.es158.js.map +1 -1
  1088. package/dist/index.es159.js +3 -3
  1089. package/dist/index.es159.js.map +1 -1
  1090. package/dist/index.es16.js +2 -2
  1091. package/dist/index.es16.js.map +1 -1
  1092. package/dist/index.es160.js +3 -3
  1093. package/dist/index.es160.js.map +1 -1
  1094. package/dist/index.es161.js +3 -3
  1095. package/dist/index.es161.js.map +1 -1
  1096. package/dist/index.es162.js +3 -3
  1097. package/dist/index.es162.js.map +1 -1
  1098. package/dist/index.es163.js +3 -3
  1099. package/dist/index.es163.js.map +1 -1
  1100. package/dist/index.es164.js +3 -3
  1101. package/dist/index.es164.js.map +1 -1
  1102. package/dist/index.es165.js +3 -3
  1103. package/dist/index.es165.js.map +1 -1
  1104. package/dist/index.es166.js +3 -3
  1105. package/dist/index.es166.js.map +1 -1
  1106. package/dist/index.es167.js +3 -3
  1107. package/dist/index.es167.js.map +1 -1
  1108. package/dist/index.es168.js +3 -3
  1109. package/dist/index.es168.js.map +1 -1
  1110. package/dist/index.es169.js +3 -3
  1111. package/dist/index.es169.js.map +1 -1
  1112. package/dist/index.es17.js +2 -2
  1113. package/dist/index.es170.js +3 -3
  1114. package/dist/index.es170.js.map +1 -1
  1115. package/dist/index.es171.js +3 -3
  1116. package/dist/index.es171.js.map +1 -1
  1117. package/dist/index.es172.js +3 -3
  1118. package/dist/index.es172.js.map +1 -1
  1119. package/dist/index.es173.js +3 -3
  1120. package/dist/index.es173.js.map +1 -1
  1121. package/dist/index.es174.js +3 -3
  1122. package/dist/index.es174.js.map +1 -1
  1123. package/dist/index.es175.js +3 -3
  1124. package/dist/index.es175.js.map +1 -1
  1125. package/dist/index.es176.js +3 -3
  1126. package/dist/index.es176.js.map +1 -1
  1127. package/dist/index.es177.js +3 -3
  1128. package/dist/index.es177.js.map +1 -1
  1129. package/dist/index.es178.js +3 -3
  1130. package/dist/index.es178.js.map +1 -1
  1131. package/dist/index.es179.js +3 -3
  1132. package/dist/index.es179.js.map +1 -1
  1133. package/dist/index.es18.js +2 -2
  1134. package/dist/index.es18.js.map +1 -1
  1135. package/dist/index.es180.js +3 -3
  1136. package/dist/index.es180.js.map +1 -1
  1137. package/dist/index.es181.js +2 -2
  1138. package/dist/index.es181.js.map +1 -1
  1139. package/dist/index.es182.js +2 -2
  1140. package/dist/index.es182.js.map +1 -1
  1141. package/dist/index.es183.js +2 -2
  1142. package/dist/index.es183.js.map +1 -1
  1143. package/dist/index.es184.js +3 -3
  1144. package/dist/index.es184.js.map +1 -1
  1145. package/dist/index.es185.js +3 -3
  1146. package/dist/index.es185.js.map +1 -1
  1147. package/dist/index.es186.js +3 -3
  1148. package/dist/index.es186.js.map +1 -1
  1149. package/dist/index.es187.js +1 -1
  1150. package/dist/index.es187.js.map +1 -1
  1151. package/dist/index.es188.js +3 -3
  1152. package/dist/index.es189.js +3 -3
  1153. package/dist/index.es19.js +3 -3
  1154. package/dist/index.es19.js.map +1 -1
  1155. package/dist/index.es190.js +3 -3
  1156. package/dist/index.es190.js.map +1 -1
  1157. package/dist/index.es191.js +3 -3
  1158. package/dist/index.es191.js.map +1 -1
  1159. package/dist/index.es192.js +3 -3
  1160. package/dist/index.es192.js.map +1 -1
  1161. package/dist/index.es193.js +3 -3
  1162. package/dist/index.es193.js.map +1 -1
  1163. package/dist/index.es194.js +3 -3
  1164. package/dist/index.es194.js.map +1 -1
  1165. package/dist/index.es195.js +3 -3
  1166. package/dist/index.es195.js.map +1 -1
  1167. package/dist/index.es196.js +3 -3
  1168. package/dist/index.es196.js.map +1 -1
  1169. package/dist/index.es197.js +2 -2
  1170. package/dist/index.es198.js +3 -3
  1171. package/dist/index.es198.js.map +1 -1
  1172. package/dist/index.es199.js +3 -3
  1173. package/dist/index.es199.js.map +1 -1
  1174. package/dist/index.es20.js +2 -2
  1175. package/dist/index.es200.js +3 -3
  1176. package/dist/index.es200.js.map +1 -1
  1177. package/dist/index.es201.js +3 -3
  1178. package/dist/index.es201.js.map +1 -1
  1179. package/dist/index.es202.js +3 -3
  1180. package/dist/index.es202.js.map +1 -1
  1181. package/dist/index.es203.js +3 -3
  1182. package/dist/index.es203.js.map +1 -1
  1183. package/dist/index.es204.js +3 -3
  1184. package/dist/index.es204.js.map +1 -1
  1185. package/dist/index.es205.js +2 -2
  1186. package/dist/index.es205.js.map +1 -1
  1187. package/dist/index.es206.js +2 -2
  1188. package/dist/index.es206.js.map +1 -1
  1189. package/dist/index.es207.js +3 -3
  1190. package/dist/index.es208.js +3 -3
  1191. package/dist/index.es209.js +3 -3
  1192. package/dist/index.es209.js.map +1 -1
  1193. package/dist/index.es21.js +2 -2
  1194. package/dist/index.es21.js.map +1 -1
  1195. package/dist/index.es210.js +3 -3
  1196. package/dist/index.es210.js.map +1 -1
  1197. package/dist/index.es211.js +3 -3
  1198. package/dist/index.es211.js.map +1 -1
  1199. package/dist/index.es212.js +3 -3
  1200. package/dist/index.es212.js.map +1 -1
  1201. package/dist/index.es213.js +3 -3
  1202. package/dist/index.es213.js.map +1 -1
  1203. package/dist/index.es214.js +3 -3
  1204. package/dist/index.es214.js.map +1 -1
  1205. package/dist/index.es215.js +3 -3
  1206. package/dist/index.es216.js +3 -3
  1207. package/dist/index.es216.js.map +1 -1
  1208. package/dist/index.es217.js +1 -1
  1209. package/dist/index.es218.js +1 -1
  1210. package/dist/index.es219.js +1 -1
  1211. package/dist/index.es22.js +1 -1
  1212. package/dist/index.es220.js +1 -1
  1213. package/dist/index.es221.js +1 -1
  1214. package/dist/index.es222.js +3 -3
  1215. package/dist/index.es222.js.map +1 -1
  1216. package/dist/index.es223.js +1 -1
  1217. package/dist/index.es223.js.map +1 -1
  1218. package/dist/index.es224.js +3 -3
  1219. package/dist/index.es224.js.map +1 -1
  1220. package/dist/index.es225.js +3 -3
  1221. package/dist/index.es225.js.map +1 -1
  1222. package/dist/index.es226.js +26 -1799
  1223. package/dist/index.es226.js.map +1 -1
  1224. package/dist/index.es227.js +1654 -327
  1225. package/dist/index.es227.js.map +1 -1
  1226. package/dist/index.es228.js +430 -134
  1227. package/dist/index.es228.js.map +1 -1
  1228. package/dist/index.es229.js +164 -245
  1229. package/dist/index.es229.js.map +1 -1
  1230. package/dist/index.es23.js +1 -1
  1231. package/dist/index.es23.js.map +1 -1
  1232. package/dist/index.es230.js +245 -109
  1233. package/dist/index.es230.js.map +1 -1
  1234. package/dist/index.es231.js +120 -282
  1235. package/dist/index.es231.js.map +1 -1
  1236. package/dist/index.es232.js +280 -199
  1237. package/dist/index.es232.js.map +1 -1
  1238. package/dist/index.es233.js +203 -16
  1239. package/dist/index.es233.js.map +1 -1
  1240. package/dist/index.es234.js +16 -33
  1241. package/dist/index.es234.js.map +1 -1
  1242. package/dist/index.es235.js +32 -340
  1243. package/dist/index.es235.js.map +1 -1
  1244. package/dist/index.es236.js +335 -83
  1245. package/dist/index.es236.js.map +1 -1
  1246. package/dist/index.es237.js +90 -148
  1247. package/dist/index.es237.js.map +1 -1
  1248. package/dist/index.es238.js +148 -38
  1249. package/dist/index.es238.js.map +1 -1
  1250. package/dist/index.es239.js +35 -6
  1251. package/dist/index.es239.js.map +1 -1
  1252. package/dist/index.es24.js +4 -4
  1253. package/dist/index.es24.js.map +1 -1
  1254. package/dist/index.es240.js +6 -176
  1255. package/dist/index.es240.js.map +1 -1
  1256. package/dist/index.es241.js +127 -34
  1257. package/dist/index.es241.js.map +1 -1
  1258. package/dist/index.es242.js +73 -26
  1259. package/dist/index.es242.js.map +1 -1
  1260. package/dist/index.es243.js +16 -22
  1261. package/dist/index.es243.js.map +1 -1
  1262. package/dist/index.es244.js +44 -74
  1263. package/dist/index.es244.js.map +1 -1
  1264. package/dist/index.es245.js +75 -3
  1265. package/dist/index.es245.js.map +1 -1
  1266. package/dist/index.es246.js +3 -15
  1267. package/dist/index.es246.js.map +1 -1
  1268. package/dist/index.es248.js +18 -0
  1269. package/dist/index.es248.js.map +1 -0
  1270. package/dist/index.es25.js +3 -3
  1271. package/dist/index.es25.js.map +1 -1
  1272. package/dist/index.es250.js +1 -1
  1273. package/dist/index.es257.js +1 -1
  1274. package/dist/index.es26.js +3 -3
  1275. package/dist/index.es262.js.map +1 -1
  1276. package/dist/index.es263.js +3 -3
  1277. package/dist/index.es264.js +2 -2
  1278. package/dist/index.es265.js +3 -3
  1279. package/dist/index.es266.js +3 -3
  1280. package/dist/index.es27.js +4 -4
  1281. package/dist/index.es27.js.map +1 -1
  1282. package/dist/index.es271.js +1 -1
  1283. package/dist/index.es273.js +1 -1
  1284. package/dist/index.es277.js +1 -1
  1285. package/dist/index.es277.js.map +1 -1
  1286. package/dist/index.es278.js.map +1 -1
  1287. package/dist/index.es28.js +3 -3
  1288. package/dist/index.es28.js.map +1 -1
  1289. package/dist/index.es280.js +2 -2
  1290. package/dist/index.es280.js.map +1 -1
  1291. package/dist/index.es281.js +5 -0
  1292. package/dist/index.es281.js.map +1 -0
  1293. package/dist/{index.es283.js → index.es284.js} +1 -1
  1294. package/dist/index.es284.js.map +1 -0
  1295. package/dist/index.es29.js +2 -2
  1296. package/dist/{index.es290.js → index.es291.js} +3 -3
  1297. package/dist/index.es291.js.map +1 -0
  1298. package/dist/{index.es295.js → index.es296.js} +9 -9
  1299. package/dist/{index.es295.js.map → index.es296.js.map} +1 -1
  1300. package/dist/{index.es298.js → index.es299.js} +4 -4
  1301. package/dist/{index.es298.js.map → index.es299.js.map} +1 -1
  1302. package/dist/index.es3.js +6 -6
  1303. package/dist/index.es30.js +2 -2
  1304. package/dist/index.es30.js.map +1 -1
  1305. package/dist/index.es301.js +129 -138
  1306. package/dist/index.es301.js.map +1 -1
  1307. package/dist/index.es302.js +155 -0
  1308. package/dist/index.es302.js.map +1 -0
  1309. package/dist/index.es309.js +132 -19
  1310. package/dist/index.es309.js.map +1 -1
  1311. package/dist/index.es31.js +1 -1
  1312. package/dist/index.es31.js.map +1 -1
  1313. package/dist/index.es310.js +23 -0
  1314. package/dist/index.es310.js.map +1 -0
  1315. package/dist/{index.es315.js → index.es316.js} +2 -2
  1316. package/dist/index.es316.js.map +1 -0
  1317. package/dist/index.es319.js +4 -21
  1318. package/dist/index.es319.js.map +1 -1
  1319. package/dist/index.es32.js +4 -4
  1320. package/dist/index.es320.js +20 -5
  1321. package/dist/index.es320.js.map +1 -1
  1322. package/dist/index.es321.js +6 -5
  1323. package/dist/index.es321.js.map +1 -1
  1324. package/dist/index.es322.js +8 -0
  1325. package/dist/index.es322.js.map +1 -0
  1326. package/dist/{index.es324.js → index.es325.js} +4 -4
  1327. package/dist/{index.es324.js.map → index.es325.js.map} +1 -1
  1328. package/dist/index.es327.js +255 -76
  1329. package/dist/index.es327.js.map +1 -1
  1330. package/dist/index.es328.js +80 -18
  1331. package/dist/index.es328.js.map +1 -1
  1332. package/dist/index.es329.js +15 -12
  1333. package/dist/index.es329.js.map +1 -1
  1334. package/dist/index.es33.js +4 -4
  1335. package/dist/index.es33.js.map +1 -1
  1336. package/dist/index.es330.js +15 -28
  1337. package/dist/index.es330.js.map +1 -1
  1338. package/dist/index.es331.js +31 -0
  1339. package/dist/index.es331.js.map +1 -0
  1340. package/dist/index.es333.js +27 -4
  1341. package/dist/index.es333.js.map +1 -1
  1342. package/dist/index.es334.js +4 -8
  1343. package/dist/index.es334.js.map +1 -1
  1344. package/dist/index.es335.js +11 -0
  1345. package/dist/index.es335.js.map +1 -0
  1346. package/dist/index.es338.js +8 -4
  1347. package/dist/index.es338.js.map +1 -1
  1348. package/dist/index.es339.js +7 -0
  1349. package/dist/index.es339.js.map +1 -0
  1350. package/dist/index.es34.js +2 -2
  1351. package/dist/{index.es342.js → index.es343.js} +3 -3
  1352. package/dist/index.es343.js.map +1 -0
  1353. package/dist/index.es345.js +8 -28
  1354. package/dist/index.es345.js.map +1 -1
  1355. package/dist/index.es346.js +31 -0
  1356. package/dist/index.es346.js.map +1 -0
  1357. package/dist/index.es348.js +8 -26
  1358. package/dist/index.es348.js.map +1 -1
  1359. package/dist/index.es349.js +26 -6
  1360. package/dist/index.es349.js.map +1 -1
  1361. package/dist/index.es35.js +2 -2
  1362. package/dist/{index.es439.js → index.es350.js} +3 -3
  1363. package/dist/index.es350.js.map +1 -0
  1364. package/dist/index.es352.js +26 -8
  1365. package/dist/index.es352.js.map +1 -1
  1366. package/dist/index.es353.js +8 -6
  1367. package/dist/index.es353.js.map +1 -1
  1368. package/dist/index.es354.js +9 -0
  1369. package/dist/index.es354.js.map +1 -0
  1370. package/dist/index.es356.js +20 -21
  1371. package/dist/index.es356.js.map +1 -1
  1372. package/dist/index.es357.js +24 -112
  1373. package/dist/index.es357.js.map +1 -1
  1374. package/dist/index.es358.js +119 -0
  1375. package/dist/index.es358.js.map +1 -0
  1376. package/dist/index.es36.js +3 -3
  1377. package/dist/index.es36.js.map +1 -1
  1378. package/dist/index.es368.js +2 -0
  1379. package/dist/index.es368.js.map +1 -0
  1380. package/dist/index.es37.js +3 -3
  1381. package/dist/index.es37.js.map +1 -1
  1382. package/dist/index.es376.js +25 -6
  1383. package/dist/index.es376.js.map +1 -1
  1384. package/dist/index.es377.js +9 -0
  1385. package/dist/index.es377.js.map +1 -0
  1386. package/dist/index.es38.js +2 -2
  1387. package/dist/index.es39.js +6 -6
  1388. package/dist/index.es39.js.map +1 -1
  1389. package/dist/{index.es398.js → index.es399.js} +7 -7
  1390. package/dist/{index.es398.js.map → index.es399.js.map} +1 -1
  1391. package/dist/index.es4.js +7 -7
  1392. package/dist/index.es40.js +6 -6
  1393. package/dist/index.es40.js.map +1 -1
  1394. package/dist/index.es405.js +6 -0
  1395. package/dist/index.es405.js.map +1 -0
  1396. package/dist/{index.es407.js → index.es408.js} +3 -3
  1397. package/dist/index.es408.js.map +1 -0
  1398. package/dist/index.es41.js +2 -2
  1399. package/dist/index.es41.js.map +1 -1
  1400. package/dist/index.es410.js +26 -17
  1401. package/dist/index.es410.js.map +1 -1
  1402. package/dist/index.es411.js +17 -4
  1403. package/dist/index.es411.js.map +1 -1
  1404. package/dist/index.es412.js +7 -0
  1405. package/dist/index.es412.js.map +1 -0
  1406. package/dist/{index.es416.js → index.es417.js} +9 -9
  1407. package/dist/{index.es416.js.map → index.es417.js.map} +1 -1
  1408. package/dist/index.es42.js +1 -1
  1409. package/dist/index.es42.js.map +1 -1
  1410. package/dist/{index.es422.js → index.es423.js} +4 -4
  1411. package/dist/index.es423.js.map +1 -0
  1412. package/dist/index.es425.js +8 -16
  1413. package/dist/index.es425.js.map +1 -1
  1414. package/dist/index.es426.js +20 -0
  1415. package/dist/index.es426.js.map +1 -0
  1416. package/dist/index.es43.js +2 -2
  1417. package/dist/index.es43.js.map +1 -1
  1418. package/dist/{index.es430.js → index.es431.js} +2 -2
  1419. package/dist/{index.es430.js.map → index.es431.js.map} +1 -1
  1420. package/dist/index.es436.js +6 -0
  1421. package/dist/index.es436.js.map +1 -0
  1422. package/dist/index.es44.js +7 -7
  1423. package/dist/index.es44.js.map +1 -1
  1424. package/dist/index.es440.js +6 -8
  1425. package/dist/index.es440.js.map +1 -1
  1426. package/dist/index.es441.js +11 -0
  1427. package/dist/index.es441.js.map +1 -0
  1428. package/dist/index.es446.js +30 -102
  1429. package/dist/index.es446.js.map +1 -1
  1430. package/dist/index.es447.js +104 -5
  1431. package/dist/index.es447.js.map +1 -1
  1432. package/dist/index.es448.js +8 -0
  1433. package/dist/index.es448.js.map +1 -0
  1434. package/dist/index.es45.js +5 -5
  1435. package/dist/index.es45.js.map +1 -1
  1436. package/dist/{index.es449.js → index.es450.js} +2 -2
  1437. package/dist/{index.es449.js.map → index.es450.js.map} +1 -1
  1438. package/dist/index.es456.js +135 -7
  1439. package/dist/index.es456.js.map +1 -1
  1440. package/dist/index.es457.js +8 -2
  1441. package/dist/index.es457.js.map +1 -1
  1442. package/dist/index.es458.js +2 -33
  1443. package/dist/index.es458.js.map +1 -1
  1444. package/dist/index.es459.js +23 -235
  1445. package/dist/index.es459.js.map +1 -1
  1446. package/dist/index.es46.js +4 -4
  1447. package/dist/index.es460.js +245 -2
  1448. package/dist/index.es460.js.map +1 -1
  1449. package/dist/index.es461.js +3675 -2
  1450. package/dist/index.es461.js.map +1 -1
  1451. package/dist/index.es463.js +2 -3675
  1452. package/dist/index.es463.js.map +1 -1
  1453. package/dist/index.es464.js +6 -2
  1454. package/dist/index.es464.js.map +1 -1
  1455. package/dist/index.es465.js +520 -5
  1456. package/dist/index.es465.js.map +1 -1
  1457. package/dist/index.es466.js +2005 -494
  1458. package/dist/index.es466.js.map +1 -1
  1459. package/dist/index.es467.js +54 -2026
  1460. package/dist/index.es467.js.map +1 -1
  1461. package/dist/index.es468.js +186 -57
  1462. package/dist/index.es468.js.map +1 -1
  1463. package/dist/index.es469.js +5 -187
  1464. package/dist/index.es469.js.map +1 -1
  1465. package/dist/index.es47.js +2 -2
  1466. package/dist/index.es47.js.map +1 -1
  1467. package/dist/index.es470.js +26 -9
  1468. package/dist/index.es470.js.map +1 -1
  1469. package/dist/index.es471.js +64 -174
  1470. package/dist/index.es471.js.map +1 -1
  1471. package/dist/index.es472.js +29 -3
  1472. package/dist/index.es472.js.map +1 -1
  1473. package/dist/index.es473.js +31 -131
  1474. package/dist/index.es473.js.map +1 -1
  1475. package/dist/index.es474.js +621 -6
  1476. package/dist/index.es474.js.map +1 -1
  1477. package/dist/index.es475.js +10 -26
  1478. package/dist/index.es475.js.map +1 -1
  1479. package/dist/index.es476.js +14 -67
  1480. package/dist/index.es476.js.map +1 -1
  1481. package/dist/index.es479.js +5 -621
  1482. package/dist/index.es479.js.map +1 -1
  1483. package/dist/index.es48.js +3 -3
  1484. package/dist/index.es48.js.map +1 -1
  1485. package/dist/index.es480.js +24 -10
  1486. package/dist/index.es480.js.map +1 -1
  1487. package/dist/index.es481.js +68 -14
  1488. package/dist/index.es481.js.map +1 -1
  1489. package/dist/{index.es507.js → index.es482.js} +2 -2
  1490. package/dist/{index.es507.js.map → index.es482.js.map} +1 -1
  1491. package/dist/index.es488.js +6 -6
  1492. package/dist/index.es489.js +134 -14
  1493. package/dist/index.es489.js.map +1 -1
  1494. package/dist/index.es49.js +3 -3
  1495. package/dist/index.es49.js.map +1 -1
  1496. package/dist/index.es490.js +13 -134
  1497. package/dist/index.es490.js.map +1 -1
  1498. package/dist/index.es491.js +13 -216
  1499. package/dist/index.es491.js.map +1 -1
  1500. package/dist/index.es492.js +7 -12
  1501. package/dist/index.es492.js.map +1 -1
  1502. package/dist/index.es493.js +47 -66
  1503. package/dist/index.es493.js.map +1 -1
  1504. package/dist/index.es494.js +51 -173
  1505. package/dist/index.es494.js.map +1 -1
  1506. package/dist/index.es5.js +4 -4
  1507. package/dist/index.es50.js +4 -4
  1508. package/dist/index.es51.js +5 -5
  1509. package/dist/index.es51.js.map +1 -1
  1510. package/dist/index.es512.js +77 -0
  1511. package/dist/index.es512.js.map +1 -0
  1512. package/dist/index.es513.js +5 -0
  1513. package/dist/index.es513.js.map +1 -0
  1514. package/dist/index.es515.js +24 -0
  1515. package/dist/index.es515.js.map +1 -0
  1516. package/dist/index.es516.js +5 -0
  1517. package/dist/index.es516.js.map +1 -0
  1518. package/dist/index.es517.js +57 -0
  1519. package/dist/index.es517.js.map +1 -0
  1520. package/dist/index.es518.js +206 -0
  1521. package/dist/index.es518.js.map +1 -0
  1522. package/dist/index.es52.js +5 -5
  1523. package/dist/index.es52.js.map +1 -1
  1524. package/dist/index.es523.js +4 -23
  1525. package/dist/index.es523.js.map +1 -1
  1526. package/dist/index.es524.js +2 -110
  1527. package/dist/index.es524.js.map +1 -1
  1528. package/dist/index.es525.js +2 -16
  1529. package/dist/index.es525.js.map +1 -1
  1530. package/dist/index.es526.js +8 -521
  1531. package/dist/index.es526.js.map +1 -1
  1532. package/dist/index.es527.js +173 -122
  1533. package/dist/index.es527.js.map +1 -1
  1534. package/dist/index.es528.js +3 -128
  1535. package/dist/index.es528.js.map +1 -1
  1536. package/dist/index.es529.js +136 -0
  1537. package/dist/index.es529.js.map +1 -0
  1538. package/dist/index.es53.js +2 -2
  1539. package/dist/index.es53.js.map +1 -1
  1540. package/dist/{index.es484.js → index.es530.js} +1 -1
  1541. package/dist/{index.es484.js.map → index.es530.js.map} +1 -1
  1542. package/dist/{index.es486.js → index.es531.js} +5 -5
  1543. package/dist/{index.es486.js.map → index.es531.js.map} +1 -1
  1544. package/dist/{index.es487.js → index.es532.js} +2 -2
  1545. package/dist/{index.es487.js.map → index.es532.js.map} +1 -1
  1546. package/dist/index.es533.js +221 -0
  1547. package/dist/index.es533.js.map +1 -0
  1548. package/dist/index.es534.js +176 -67
  1549. package/dist/index.es534.js.map +1 -1
  1550. package/dist/index.es535.js +3 -8
  1551. package/dist/index.es535.js.map +1 -1
  1552. package/dist/index.es536.js +2 -16
  1553. package/dist/index.es536.js.map +1 -1
  1554. package/dist/index.es537.js +12 -62
  1555. package/dist/index.es537.js.map +1 -1
  1556. package/dist/index.es538.js +2 -65
  1557. package/dist/index.es538.js.map +1 -1
  1558. package/dist/index.es539.js +5 -3
  1559. package/dist/index.es539.js.map +1 -1
  1560. package/dist/index.es54.js +3 -3
  1561. package/dist/index.es54.js.map +1 -1
  1562. package/dist/index.es540.js +13 -22
  1563. package/dist/index.es540.js.map +1 -1
  1564. package/dist/index.es541.js +6 -23
  1565. package/dist/index.es541.js.map +1 -1
  1566. package/dist/index.es542.js +6 -13
  1567. package/dist/index.es542.js.map +1 -1
  1568. package/dist/index.es543.js +5 -27
  1569. package/dist/index.es543.js.map +1 -1
  1570. package/dist/index.es544.js +6 -5
  1571. package/dist/index.es544.js.map +1 -1
  1572. package/dist/index.es545.js +6 -5
  1573. package/dist/index.es545.js.map +1 -1
  1574. package/dist/index.es546.js +6 -16
  1575. package/dist/index.es546.js.map +1 -1
  1576. package/dist/index.es547.js +6 -13
  1577. package/dist/index.es547.js.map +1 -1
  1578. package/dist/index.es548.js +5 -35
  1579. package/dist/index.es548.js.map +1 -1
  1580. package/dist/index.es549.js +6 -5
  1581. package/dist/index.es549.js.map +1 -1
  1582. package/dist/index.es55.js +2 -2
  1583. package/dist/index.es550.js +6 -2
  1584. package/dist/index.es550.js.map +1 -1
  1585. package/dist/index.es551.js +6 -3
  1586. package/dist/index.es551.js.map +1 -1
  1587. package/dist/index.es552.js +5 -6
  1588. package/dist/index.es552.js.map +1 -1
  1589. package/dist/index.es553.js +6 -6
  1590. package/dist/index.es553.js.map +1 -1
  1591. package/dist/index.es554.js +6 -5
  1592. package/dist/index.es554.js.map +1 -1
  1593. package/dist/index.es555.js +6 -32
  1594. package/dist/index.es555.js.map +1 -1
  1595. package/dist/index.es556.js +9 -241
  1596. package/dist/index.es556.js.map +1 -1
  1597. package/dist/index.es557.js +6 -4
  1598. package/dist/index.es557.js.map +1 -1
  1599. package/dist/index.es558.js +5 -4
  1600. package/dist/index.es558.js.map +1 -1
  1601. package/dist/index.es559.js +5 -9
  1602. package/dist/index.es559.js.map +1 -1
  1603. package/dist/index.es56.js +3 -3
  1604. package/dist/index.es56.js.map +1 -1
  1605. package/dist/index.es560.js +5 -55
  1606. package/dist/index.es560.js.map +1 -1
  1607. package/dist/index.es561.js +5 -7
  1608. package/dist/index.es561.js.map +1 -1
  1609. package/dist/index.es562.js +10 -5
  1610. package/dist/index.es562.js.map +1 -1
  1611. package/dist/index.es563.js +5 -532
  1612. package/dist/index.es563.js.map +1 -1
  1613. package/dist/index.es564.js +6 -14
  1614. package/dist/index.es564.js.map +1 -1
  1615. package/dist/index.es565.js +6 -2
  1616. package/dist/index.es565.js.map +1 -1
  1617. package/dist/index.es566.js +5 -36
  1618. package/dist/index.es566.js.map +1 -1
  1619. package/dist/index.es567.js +6 -2
  1620. package/dist/index.es567.js.map +1 -1
  1621. package/dist/index.es568.js +5 -272
  1622. package/dist/index.es568.js.map +1 -1
  1623. package/dist/index.es569.js +12 -3
  1624. package/dist/index.es569.js.map +1 -1
  1625. package/dist/index.es57.js +2 -2
  1626. package/dist/index.es57.js.map +1 -1
  1627. package/dist/index.es570.js +6 -30
  1628. package/dist/index.es570.js.map +1 -1
  1629. package/dist/index.es571.js +5 -39
  1630. package/dist/index.es571.js.map +1 -1
  1631. package/dist/index.es572.js +9 -2
  1632. package/dist/index.es572.js.map +1 -1
  1633. package/dist/index.es573.js +16 -4
  1634. package/dist/index.es573.js.map +1 -1
  1635. package/dist/index.es574.js +2 -2
  1636. package/dist/index.es574.js.map +1 -1
  1637. package/dist/index.es575.js +205 -2
  1638. package/dist/index.es575.js.map +1 -1
  1639. package/dist/index.es576.js +22 -2
  1640. package/dist/index.es576.js.map +1 -1
  1641. package/dist/index.es577.js +393 -6
  1642. package/dist/index.es577.js.map +1 -1
  1643. package/dist/index.es578.js +81 -14
  1644. package/dist/index.es578.js.map +1 -1
  1645. package/dist/index.es579.js +25 -2
  1646. package/dist/index.es579.js.map +1 -1
  1647. package/dist/index.es58.js +2 -2
  1648. package/dist/index.es580.js +29 -2
  1649. package/dist/index.es580.js.map +1 -1
  1650. package/dist/index.es581.js +5 -3
  1651. package/dist/index.es581.js.map +1 -1
  1652. package/dist/index.es582.js +2 -2
  1653. package/dist/index.es582.js.map +1 -1
  1654. package/dist/index.es583.js +2 -4
  1655. package/dist/index.es583.js.map +1 -1
  1656. package/dist/index.es584.js +5 -0
  1657. package/dist/index.es584.js.map +1 -0
  1658. package/dist/index.es585.js +5 -0
  1659. package/dist/index.es585.js.map +1 -0
  1660. package/dist/index.es586.js +5 -0
  1661. package/dist/index.es586.js.map +1 -0
  1662. package/dist/index.es587.js +5 -0
  1663. package/dist/index.es587.js.map +1 -0
  1664. package/dist/index.es588.js +5 -0
  1665. package/dist/index.es588.js.map +1 -0
  1666. package/dist/index.es589.js +2 -74
  1667. package/dist/index.es589.js.map +1 -1
  1668. package/dist/index.es59.js +2 -2
  1669. package/dist/index.es59.js.map +1 -1
  1670. package/dist/index.es590.js +2 -2
  1671. package/dist/index.es591.js +2 -4
  1672. package/dist/index.es591.js.map +1 -1
  1673. package/dist/index.es592.js +2 -3
  1674. package/dist/index.es592.js.map +1 -1
  1675. package/dist/index.es593.js +2 -2
  1676. package/dist/index.es593.js.map +1 -1
  1677. package/dist/index.es594.js +2 -21
  1678. package/dist/index.es594.js.map +1 -1
  1679. package/dist/index.es595.js +2 -2
  1680. package/dist/index.es596.js +2 -54
  1681. package/dist/index.es596.js.map +1 -1
  1682. package/dist/index.es597.js +2 -203
  1683. package/dist/index.es597.js.map +1 -1
  1684. package/dist/index.es598.js +5 -0
  1685. package/dist/index.es598.js.map +1 -0
  1686. package/dist/index.es599.js +5 -0
  1687. package/dist/index.es599.js.map +1 -0
  1688. package/dist/index.es6.js +2 -2
  1689. package/dist/index.es60.js +3 -3
  1690. package/dist/index.es60.js.map +1 -1
  1691. package/dist/index.es600.js +5 -0
  1692. package/dist/index.es600.js.map +1 -0
  1693. package/dist/index.es601.js +5 -0
  1694. package/dist/index.es601.js.map +1 -0
  1695. package/dist/index.es602.js +2 -5
  1696. package/dist/index.es602.js.map +1 -1
  1697. package/dist/index.es604.js +2 -6
  1698. package/dist/index.es604.js.map +1 -1
  1699. package/dist/index.es605.js +2 -14
  1700. package/dist/index.es605.js.map +1 -1
  1701. package/dist/index.es606.js +2 -6
  1702. package/dist/index.es606.js.map +1 -1
  1703. package/dist/index.es607.js +2 -6
  1704. package/dist/index.es607.js.map +1 -1
  1705. package/dist/index.es608.js +2 -6
  1706. package/dist/index.es608.js.map +1 -1
  1707. package/dist/index.es609.js +2 -6
  1708. package/dist/index.es609.js.map +1 -1
  1709. package/dist/index.es61.js +2 -2
  1710. package/dist/index.es61.js.map +1 -1
  1711. package/dist/index.es610.js +2 -6
  1712. package/dist/index.es610.js.map +1 -1
  1713. package/dist/index.es611.js +2 -6
  1714. package/dist/index.es611.js.map +1 -1
  1715. package/dist/index.es612.js +2 -6
  1716. package/dist/index.es612.js.map +1 -1
  1717. package/dist/index.es613.js +2 -6
  1718. package/dist/index.es613.js.map +1 -1
  1719. package/dist/index.es614.js +2 -6
  1720. package/dist/index.es614.js.map +1 -1
  1721. package/dist/index.es615.js +2 -6
  1722. package/dist/index.es615.js.map +1 -1
  1723. package/dist/index.es616.js +2 -6
  1724. package/dist/index.es616.js.map +1 -1
  1725. package/dist/index.es617.js +5 -6
  1726. package/dist/index.es617.js.map +1 -1
  1727. package/dist/index.es618.js +16 -6
  1728. package/dist/index.es618.js.map +1 -1
  1729. package/dist/index.es619.js +13 -6
  1730. package/dist/index.es619.js.map +1 -1
  1731. package/dist/index.es62.js +1 -1
  1732. package/dist/index.es62.js.map +1 -1
  1733. package/dist/index.es620.js +35 -5
  1734. package/dist/index.es620.js.map +1 -1
  1735. package/dist/index.es621.js +5 -10
  1736. package/dist/index.es621.js.map +1 -1
  1737. package/dist/index.es622.js +2 -6
  1738. package/dist/index.es622.js.map +1 -1
  1739. package/dist/index.es623.js +3 -6
  1740. package/dist/index.es623.js.map +1 -1
  1741. package/dist/index.es624.js +6 -5
  1742. package/dist/index.es624.js.map +1 -1
  1743. package/dist/index.es625.js +6 -6
  1744. package/dist/index.es625.js.map +1 -1
  1745. package/dist/index.es626.js +5 -6
  1746. package/dist/index.es626.js.map +1 -1
  1747. package/dist/index.es627.js +32 -11
  1748. package/dist/index.es627.js.map +1 -1
  1749. package/dist/index.es628.js +241 -5
  1750. package/dist/index.es628.js.map +1 -1
  1751. package/dist/index.es629.js +4 -6
  1752. package/dist/index.es629.js.map +1 -1
  1753. package/dist/index.es63.js +1 -1
  1754. package/dist/index.es630.js +4 -5
  1755. package/dist/index.es630.js.map +1 -1
  1756. package/dist/index.es631.js +9 -5
  1757. package/dist/index.es631.js.map +1 -1
  1758. package/dist/index.es632.js +55 -5
  1759. package/dist/index.es632.js.map +1 -1
  1760. package/dist/index.es633.js +7 -5
  1761. package/dist/index.es633.js.map +1 -1
  1762. package/dist/index.es634.js +5 -11
  1763. package/dist/index.es634.js.map +1 -1
  1764. package/dist/index.es635.js +532 -5
  1765. package/dist/index.es635.js.map +1 -1
  1766. package/dist/index.es636.js +14 -6
  1767. package/dist/index.es636.js.map +1 -1
  1768. package/dist/index.es637.js +2 -9
  1769. package/dist/index.es637.js.map +1 -1
  1770. package/dist/index.es638.js +36 -16
  1771. package/dist/index.es638.js.map +1 -1
  1772. package/dist/index.es639.js +2 -2
  1773. package/dist/index.es639.js.map +1 -1
  1774. package/dist/index.es64.js +3 -3
  1775. package/dist/index.es640.js +275 -2
  1776. package/dist/index.es640.js.map +1 -1
  1777. package/dist/index.es641.js +3 -2
  1778. package/dist/index.es641.js.map +1 -1
  1779. package/dist/index.es642.js +30 -2
  1780. package/dist/index.es642.js.map +1 -1
  1781. package/dist/index.es643.js +5 -2
  1782. package/dist/index.es643.js.map +1 -1
  1783. package/dist/index.es644.js +3 -2
  1784. package/dist/index.es644.js.map +1 -1
  1785. package/dist/index.es645.js +24 -2
  1786. package/dist/index.es645.js.map +1 -1
  1787. package/dist/index.es646.js +110 -2
  1788. package/dist/index.es646.js.map +1 -1
  1789. package/dist/index.es647.js +16 -2
  1790. package/dist/index.es647.js.map +1 -1
  1791. package/dist/index.es648.js +40 -2
  1792. package/dist/index.es648.js.map +1 -1
  1793. package/dist/index.es649.js +2 -2
  1794. package/dist/index.es65.js +1 -1
  1795. package/dist/index.es65.js.map +1 -1
  1796. package/dist/index.es650.js +5 -2
  1797. package/dist/index.es650.js.map +1 -1
  1798. package/dist/index.es651.js +6 -2
  1799. package/dist/index.es651.js.map +1 -1
  1800. package/dist/index.es652.js +16 -2
  1801. package/dist/index.es652.js.map +1 -1
  1802. package/dist/index.es653.js +2 -2
  1803. package/dist/index.es653.js.map +1 -1
  1804. package/dist/index.es654.js +2 -2
  1805. package/dist/index.es654.js.map +1 -1
  1806. package/dist/index.es655.js +2 -2
  1807. package/dist/index.es655.js.map +1 -1
  1808. package/dist/index.es656.js +2 -2
  1809. package/dist/index.es656.js.map +1 -1
  1810. package/dist/index.es657.js +2 -2
  1811. package/dist/index.es657.js.map +1 -1
  1812. package/dist/index.es658.js +3 -2
  1813. package/dist/index.es658.js.map +1 -1
  1814. package/dist/index.es659.js +2 -2
  1815. package/dist/index.es659.js.map +1 -1
  1816. package/dist/index.es66.js +2 -2
  1817. package/dist/index.es660.js +4 -2
  1818. package/dist/index.es660.js.map +1 -1
  1819. package/dist/index.es661.js +523 -2
  1820. package/dist/index.es661.js.map +1 -1
  1821. package/dist/index.es662.js +127 -2
  1822. package/dist/index.es662.js.map +1 -1
  1823. package/dist/index.es663.js +129 -2
  1824. package/dist/index.es663.js.map +1 -1
  1825. package/dist/index.es664.js +65 -2
  1826. package/dist/index.es664.js.map +1 -1
  1827. package/dist/index.es665.js +69 -2
  1828. package/dist/index.es665.js.map +1 -1
  1829. package/dist/index.es666.js +9 -2
  1830. package/dist/index.es666.js.map +1 -1
  1831. package/dist/index.es667.js +14 -2
  1832. package/dist/index.es667.js.map +1 -1
  1833. package/dist/index.es668.js +62 -2
  1834. package/dist/index.es668.js.map +1 -1
  1835. package/dist/index.es669.js +3 -2
  1836. package/dist/index.es669.js.map +1 -1
  1837. package/dist/index.es67.js +3 -3
  1838. package/dist/index.es67.js.map +1 -1
  1839. package/dist/index.es670.js +2 -2
  1840. package/dist/index.es670.js.map +1 -1
  1841. package/dist/index.es671.js +4 -2
  1842. package/dist/index.es671.js.map +1 -1
  1843. package/dist/index.es672.js +4 -2
  1844. package/dist/index.es672.js.map +1 -1
  1845. package/dist/index.es673.js +23 -2
  1846. package/dist/index.es673.js.map +1 -1
  1847. package/dist/index.es674.js +23 -2
  1848. package/dist/index.es674.js.map +1 -1
  1849. package/dist/index.es675.js +13 -2
  1850. package/dist/index.es675.js.map +1 -1
  1851. package/dist/index.es676.js +27 -82
  1852. package/dist/index.es676.js.map +1 -1
  1853. package/dist/index.es677.js +8 -0
  1854. package/dist/index.es677.js.map +1 -0
  1855. package/dist/index.es68.js +2 -2
  1856. package/dist/index.es68.js.map +1 -1
  1857. package/dist/index.es69.js +3 -3
  1858. package/dist/index.es69.js.map +1 -1
  1859. package/dist/index.es7.js +2 -2
  1860. package/dist/index.es70.js +1 -1
  1861. package/dist/index.es70.js.map +1 -1
  1862. package/dist/index.es71.js +2 -2
  1863. package/dist/index.es72.js +1 -1
  1864. package/dist/index.es72.js.map +1 -1
  1865. package/dist/index.es73.js +2 -2
  1866. package/dist/index.es74.js +2 -2
  1867. package/dist/index.es74.js.map +1 -1
  1868. package/dist/index.es75.js +4 -4
  1869. package/dist/index.es75.js.map +1 -1
  1870. package/dist/index.es76.js +1 -1
  1871. package/dist/index.es76.js.map +1 -1
  1872. package/dist/index.es77.js +3 -3
  1873. package/dist/index.es77.js.map +1 -1
  1874. package/dist/index.es78.js +2 -2
  1875. package/dist/index.es78.js.map +1 -1
  1876. package/dist/index.es79.js +2 -2
  1877. package/dist/index.es79.js.map +1 -1
  1878. package/dist/index.es8.js +2 -2
  1879. package/dist/index.es8.js.map +1 -1
  1880. package/dist/index.es80.js +14 -14
  1881. package/dist/index.es80.js.map +1 -1
  1882. package/dist/index.es81.js +1 -1
  1883. package/dist/index.es81.js.map +1 -1
  1884. package/dist/index.es82.js +1 -1
  1885. package/dist/index.es82.js.map +1 -1
  1886. package/dist/index.es83.js +1 -1
  1887. package/dist/index.es83.js.map +1 -1
  1888. package/dist/index.es84.js +1 -1
  1889. package/dist/index.es84.js.map +1 -1
  1890. package/dist/index.es85.js +1 -1
  1891. package/dist/index.es85.js.map +1 -1
  1892. package/dist/index.es86.js +1 -1
  1893. package/dist/index.es86.js.map +1 -1
  1894. package/dist/index.es87.js +1 -1
  1895. package/dist/index.es87.js.map +1 -1
  1896. package/dist/index.es88.js +1 -1
  1897. package/dist/index.es88.js.map +1 -1
  1898. package/dist/index.es89.js +1 -1
  1899. package/dist/index.es89.js.map +1 -1
  1900. package/dist/index.es9.js +4 -4
  1901. package/dist/index.es90.js +1 -1
  1902. package/dist/index.es90.js.map +1 -1
  1903. package/dist/index.es91.js +1 -1
  1904. package/dist/index.es91.js.map +1 -1
  1905. package/dist/index.es92.js +1 -1
  1906. package/dist/index.es92.js.map +1 -1
  1907. package/dist/index.es93.js +1 -1
  1908. package/dist/index.es93.js.map +1 -1
  1909. package/dist/index.es94.js +1 -1
  1910. package/dist/index.es94.js.map +1 -1
  1911. package/dist/index.es95.js +1 -1
  1912. package/dist/index.es95.js.map +1 -1
  1913. package/dist/index.es96.js +1 -1
  1914. package/dist/index.es96.js.map +1 -1
  1915. package/dist/index.es97.js +1 -1
  1916. package/dist/index.es97.js.map +1 -1
  1917. package/dist/index.es98.js +2 -2
  1918. package/dist/index.es98.js.map +1 -1
  1919. package/dist/index.es99.js +2 -2
  1920. package/dist/index.es99.js.map +1 -1
  1921. package/package.json +115 -115
  1922. package/readme.md +42 -42
  1923. package/dist/index.cjs247.js +0 -2
  1924. package/dist/index.cjs247.js.map +0 -1
  1925. package/dist/index.cjs283.js.map +0 -1
  1926. package/dist/index.cjs290.js.map +0 -1
  1927. package/dist/index.cjs300.js +0 -2
  1928. package/dist/index.cjs300.js.map +0 -1
  1929. package/dist/index.cjs308.js +0 -2
  1930. package/dist/index.cjs308.js.map +0 -1
  1931. package/dist/index.cjs315.js.map +0 -1
  1932. package/dist/index.cjs318.js +0 -2
  1933. package/dist/index.cjs318.js.map +0 -1
  1934. package/dist/index.cjs326.js +0 -6
  1935. package/dist/index.cjs326.js.map +0 -1
  1936. package/dist/index.cjs332.js +0 -2
  1937. package/dist/index.cjs332.js.map +0 -1
  1938. package/dist/index.cjs337.js.map +0 -1
  1939. package/dist/index.cjs342.js.map +0 -1
  1940. package/dist/index.cjs344.js +0 -2
  1941. package/dist/index.cjs344.js.map +0 -1
  1942. package/dist/index.cjs347.js +0 -2
  1943. package/dist/index.cjs347.js.map +0 -1
  1944. package/dist/index.cjs351.js +0 -2
  1945. package/dist/index.cjs351.js.map +0 -1
  1946. package/dist/index.cjs355.js +0 -2
  1947. package/dist/index.cjs355.js.map +0 -1
  1948. package/dist/index.cjs367.js +0 -2
  1949. package/dist/index.cjs367.js.map +0 -1
  1950. package/dist/index.cjs375.js +0 -2
  1951. package/dist/index.cjs375.js.map +0 -1
  1952. package/dist/index.cjs404.js.map +0 -1
  1953. package/dist/index.cjs407.js.map +0 -1
  1954. package/dist/index.cjs409.js +0 -2
  1955. package/dist/index.cjs409.js.map +0 -1
  1956. package/dist/index.cjs422.js.map +0 -1
  1957. package/dist/index.cjs424.js +0 -2
  1958. package/dist/index.cjs424.js.map +0 -1
  1959. package/dist/index.cjs435.js +0 -2
  1960. package/dist/index.cjs435.js.map +0 -1
  1961. package/dist/index.cjs439.js +0 -2
  1962. package/dist/index.cjs439.js.map +0 -1
  1963. package/dist/index.cjs445.js +0 -2
  1964. package/dist/index.cjs445.js.map +0 -1
  1965. package/dist/index.cjs455.js +0 -2
  1966. package/dist/index.cjs455.js.map +0 -1
  1967. package/dist/index.cjs477.js +0 -2
  1968. package/dist/index.cjs477.js.map +0 -1
  1969. package/dist/index.cjs478.js +0 -2
  1970. package/dist/index.cjs478.js.map +0 -1
  1971. package/dist/index.cjs485.js +0 -2
  1972. package/dist/index.cjs485.js.map +0 -1
  1973. package/dist/index.cjs495.js +0 -2
  1974. package/dist/index.cjs495.js.map +0 -1
  1975. package/dist/index.cjs496.js +0 -2
  1976. package/dist/index.cjs496.js.map +0 -1
  1977. package/dist/index.cjs497.js +0 -2
  1978. package/dist/index.cjs497.js.map +0 -1
  1979. package/dist/index.cjs498.js +0 -2
  1980. package/dist/index.cjs498.js.map +0 -1
  1981. package/dist/index.cjs499.js +0 -2
  1982. package/dist/index.cjs499.js.map +0 -1
  1983. package/dist/index.cjs500.js +0 -2
  1984. package/dist/index.cjs500.js.map +0 -1
  1985. package/dist/index.cjs501.js +0 -2
  1986. package/dist/index.cjs501.js.map +0 -1
  1987. package/dist/index.cjs502.js +0 -2
  1988. package/dist/index.cjs502.js.map +0 -1
  1989. package/dist/index.cjs503.js +0 -2
  1990. package/dist/index.cjs503.js.map +0 -1
  1991. package/dist/index.cjs504.js +0 -2
  1992. package/dist/index.cjs504.js.map +0 -1
  1993. package/dist/index.cjs505.js +0 -2
  1994. package/dist/index.cjs505.js.map +0 -1
  1995. package/dist/index.cjs506.js +0 -2
  1996. package/dist/index.cjs506.js.map +0 -1
  1997. package/dist/index.cjs521.js +0 -2
  1998. package/dist/index.cjs521.js.map +0 -1
  1999. package/dist/index.cjs522.js +0 -2
  2000. package/dist/index.cjs522.js.map +0 -1
  2001. package/dist/index.es247.js +0 -5
  2002. package/dist/index.es247.js.map +0 -1
  2003. package/dist/index.es283.js.map +0 -1
  2004. package/dist/index.es290.js.map +0 -1
  2005. package/dist/index.es300.js +0 -146
  2006. package/dist/index.es300.js.map +0 -1
  2007. package/dist/index.es308.js +0 -136
  2008. package/dist/index.es308.js.map +0 -1
  2009. package/dist/index.es315.js.map +0 -1
  2010. package/dist/index.es318.js +0 -7
  2011. package/dist/index.es318.js.map +0 -1
  2012. package/dist/index.es326.js +0 -262
  2013. package/dist/index.es326.js.map +0 -1
  2014. package/dist/index.es332.js +0 -30
  2015. package/dist/index.es332.js.map +0 -1
  2016. package/dist/index.es337.js +0 -11
  2017. package/dist/index.es337.js.map +0 -1
  2018. package/dist/index.es342.js.map +0 -1
  2019. package/dist/index.es344.js +0 -11
  2020. package/dist/index.es344.js.map +0 -1
  2021. package/dist/index.es347.js +0 -11
  2022. package/dist/index.es347.js.map +0 -1
  2023. package/dist/index.es351.js +0 -29
  2024. package/dist/index.es351.js.map +0 -1
  2025. package/dist/index.es355.js +0 -30
  2026. package/dist/index.es355.js.map +0 -1
  2027. package/dist/index.es367.js +0 -2
  2028. package/dist/index.es367.js.map +0 -1
  2029. package/dist/index.es375.js +0 -28
  2030. package/dist/index.es375.js.map +0 -1
  2031. package/dist/index.es404.js +0 -6
  2032. package/dist/index.es404.js.map +0 -1
  2033. package/dist/index.es407.js.map +0 -1
  2034. package/dist/index.es409.js +0 -29
  2035. package/dist/index.es409.js.map +0 -1
  2036. package/dist/index.es422.js.map +0 -1
  2037. package/dist/index.es424.js +0 -12
  2038. package/dist/index.es424.js.map +0 -1
  2039. package/dist/index.es435.js +0 -6
  2040. package/dist/index.es435.js.map +0 -1
  2041. package/dist/index.es439.js.map +0 -1
  2042. package/dist/index.es445.js +0 -46
  2043. package/dist/index.es445.js.map +0 -1
  2044. package/dist/index.es455.js +0 -139
  2045. package/dist/index.es455.js.map +0 -1
  2046. package/dist/index.es477.js +0 -33
  2047. package/dist/index.es477.js.map +0 -1
  2048. package/dist/index.es478.js +0 -36
  2049. package/dist/index.es478.js.map +0 -1
  2050. package/dist/index.es485.js +0 -59
  2051. package/dist/index.es485.js.map +0 -1
  2052. package/dist/index.es495.js +0 -53
  2053. package/dist/index.es495.js.map +0 -1
  2054. package/dist/index.es496.js +0 -12
  2055. package/dist/index.es496.js.map +0 -1
  2056. package/dist/index.es497.js +0 -7
  2057. package/dist/index.es497.js.map +0 -1
  2058. package/dist/index.es498.js +0 -9
  2059. package/dist/index.es498.js.map +0 -1
  2060. package/dist/index.es499.js +0 -28
  2061. package/dist/index.es499.js.map +0 -1
  2062. package/dist/index.es500.js +0 -15
  2063. package/dist/index.es500.js.map +0 -1
  2064. package/dist/index.es501.js +0 -208
  2065. package/dist/index.es501.js.map +0 -1
  2066. package/dist/index.es502.js +0 -25
  2067. package/dist/index.es502.js.map +0 -1
  2068. package/dist/index.es503.js +0 -396
  2069. package/dist/index.es503.js.map +0 -1
  2070. package/dist/index.es504.js +0 -28
  2071. package/dist/index.es504.js.map +0 -1
  2072. package/dist/index.es505.js +0 -32
  2073. package/dist/index.es505.js.map +0 -1
  2074. package/dist/index.es506.js +0 -8
  2075. package/dist/index.es506.js.map +0 -1
  2076. package/dist/index.es521.js +0 -8
  2077. package/dist/index.es521.js.map +0 -1
  2078. package/dist/index.es522.js +0 -6
  2079. package/dist/index.es522.js.map +0 -1
  2080. /package/dist/components/ui/{CardMapDoctor/CardMapDoctor.css → CardMapDoctorV2/CardMapDoctorV2.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es466.js","sources":["../node_modules/dompurify/dist/purify.cjs.js"],"sourcesContent":["/*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */\n\n'use strict';\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.5';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\\w!]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nmodule.exports = purify;\n//# sourceMappingURL=purify.cjs.js.map\n"],"names":["entries","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","apply","construct","x","fun","thisValue","args","Func","arrayForEach","unapply","arrayLastIndexOf","arrayPop","arrayPush","arraySplice","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","func","thisArg","_len","_key","_len2","_key2","addToSet","set","array","transformCaseFunc","l","element","lcElement","cleanArray","index","clone","object","newObject","property","value","lookupGetter","prop","desc","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","suffix","ATTR_NAME","policyName","scriptUrl","_createHooksMap","createDOMPurify","window","DOMPurify","root","document","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","NamedNodeMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","remove","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parent","tagName","parentTagName","_forceRemove","node","_removeAttribute","name","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","body","_createNodeIterator","_isClobbered","_isNode","_executeHooks","currentNode","data","hook","_sanitizeElements","content","_isBasicCustomElement","parentNode","childNodes","childCount","i","childClone","expr","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attributes","hookEvent","attr","namespaceURI","attrValue","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","serializedHTML","tag","entryPoint","hookFunction","purify","purify_cjs"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es466.js","sources":["../node_modules/swiper/shared/swiper-core.mjs"],"sourcesContent":["import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, p as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, q as elementNextAll, r as elementPrevAll, j as getTranslate, t as animateCSSModeScroll, n as nextTick, u as showWarning, c as createElement, v as elementIsChildOf, d as now, w as extend, h as elementIndex, x as deleteProps } from './utils.mjs';\n\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\n\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\n\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\n\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\n\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\n\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\n\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n if (allSlidesSize + offsetSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\n\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\n\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\n\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n }\n toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\n\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\n\nconst toggleSlideClasses = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.find(slideEl => slideEl.column === activeIndex);\n nextSlide = slides.find(slideEl => slideEl.column === activeIndex + 1);\n prevSlide = slides.find(slideEl => slideEl.column === activeIndex - 1);\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n if (!gridEnabled) {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n }\n }\n slides.forEach(slideEl => {\n toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n });\n swiper.emitSlidesClasses();\n}\n\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\n\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.find(slideEl => slideEl.column === activeIndex);\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\n\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\n\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\n\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n swiper.animating = false;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\n\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\n\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\n\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\n\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // initial virtual\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const isInitialVirtual = isVirtual && initial;\n // Update Index\n if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n const browser = getBrowser();\n const isSafari = browser.isSafari;\n if (isVirtual && !initial && isSafari && swiper.isElement) {\n swiper.virtual.update(false, false, slideIndex);\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\n\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n needLoopFix = false;\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex).column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n const isFreeMode = params.freeMode && params.freeMode.enabled;\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && (params.cssMode || isFreeMode)) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = isFreeMode ? snapGrid[prevSnapIndex] : snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\n\nfunction loopCreate(slideRealIndex, initial) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next',\n initial\n });\n}\n\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n initial,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides,\n initialSlide\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides || swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const isInitialOverflow = initial && cols - initialSlide < slidesPerView && !centeredSlides;\n let activeIndex = isInitialOverflow ? initialSlide : swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.find(el => el.classList.contains(params.slideActiveClass)));\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n if (isInitialOverflow) {\n slidesAppended = Math.max(slidesAppended, slidesPerView - cols + initialSlide + 1);\n }\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (swiper.params.effect === 'cards' && slides.length < slidesPerView + loopedSlides * 2) {\n if (appendSlidesIndexes.includes(activeSlideIndex)) {\n appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n if (prependSlidesIndexes.includes(activeSlideIndex)) {\n prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex), 1);\n }\n }\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\n\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || !slidesEl || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\n\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (rtl && (pageX > touches.startX && -swiper.translate <= swiper.maxTranslate() || pageX < touches.startX && -swiper.translate >= swiper.minTranslate())) {\n return;\n } else if (!rtl && (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate())) {\n return;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n document.activeElement.blur();\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true,\n detail: {\n bySwiperTouchMove: true\n }\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (params._loopSwapReset !== false && data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].find(t => t.identifier === data.touchId);\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\n\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\n\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n if (!el || typeof el === 'string') return;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n const document = getDocument();\n\n // Get breakpoint for window/container width and update parameters\n const breakpointsBase = params.breakpointsBase === 'window' || !params.breakpointsBase ? params.breakpointsBase : 'container';\n const breakpointContainer = ['window', 'container'].includes(params.breakpointsBase) || !params.breakpointsBase ? swiper.el : document.querySelector(params.breakpointsBase);\n const breakpoint = swiper.getBreakpoint(breakpoints, breakpointsBase, breakpointContainer);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasGrabCursor = swiper.params.grabCursor;\n const isGrabCursor = breakpointParams.grabCursor;\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n if (wasGrabCursor && !isGrabCursor) {\n swiper.unsetGrabCursor();\n } else if (!wasGrabCursor && isGrabCursor) {\n swiper.setGrabCursor();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\n\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\n\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\n\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n if (!el || typeof el === 'string') return;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\n\nvar classes = {\n addClasses,\n removeClasses\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\n\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.find(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index));\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate(undefined, true);\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n if (el && typeof el !== 'string') {\n el.removeAttribute('style');\n }\n if (wrapperEl) {\n wrapperEl.removeAttribute('style');\n }\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.swiper = null;\n }\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\n\nexport { Swiper as S, defaults as d };\n"],"names":["support","calcSupport","window","getWindow","document","getDocument","getSupport","deviceCached","calcDevice","_temp","userAgent","platform","ua","device","screenWidth","screenHeight","android","ipad","ipod","iphone","windows","macos","iPadScreens","getDevice","overrides","browser","calcBrowser","needPerspectiveFix","isSafari","major","minor","num","isWebView","isSafariBrowser","need3dFix","getBrowser","Resize","_ref","swiper","on","emit","observer","animationFrame","resizeHandler","createObserver","entries","width","height","newWidth","newHeight","_ref2","contentBoxSize","contentRect","target","removeObserver","orientationChangeHandler","Observer","extendParams","observers","attach","options","ObserverFunc","mutations","observerUpdate","init","containerParents","elementParents","i","destroy","eventsEmitter","events","handler","priority","self","method","event","onceHandler","_len","args","_key","index","eventHandler","data","context","_len2","_key2","updateSize","el","elementStyle","updateSlides","getDirectionPropertyValue","node","label","params","wrapperEl","slidesEl","swiperSize","rtl","wrongRTL","isVirtual","previousSlidesLength","slides","elementChildren","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slideEl","setCSSProperty","gridEnabled","slideSize","shouldResetSlideSize","key","slide","slideStyles","currentTransform","currentWebKitTransform","elementOuterSize","paddingLeft","paddingRight","marginLeft","marginRight","boxSizing","clientWidth","offsetWidth","newSlidesGrid","slidesGridItem","size","groups","groupSize","_","slideIndex","allSlidesSize","slideSizeValue","maxSnap","snap","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","backFaceHiddenClass","hasClassBackfaceClassAdded","updateAutoHeight","speed","activeSlides","getSlideByIndex","updateSlidesOffset","minusOffset","toggleSlideClasses$1","condition","className","updateSlidesProgress","translate","offsetCenter","slideOffset","slideProgress","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","updateProgress","multiplier","translatesDiff","progress","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","toggleSlideClasses","updateSlidesClasses","activeIndex","getFilteredSlide","selector","activeSlide","prevSlide","nextSlide","elementNextAll","elementPrevAll","processLazyPreloader","imageEl","slideSelector","lazyEl","unlazy","preload","amount","len","slidesPerView","activeColumn","preloadColumns","slideIndexLastInView","realIndex","getActiveIndexByTranslate","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","skip","firstSlideInColumn","activeSlideIndex","updateClickedSlide","path","pathEl","slideFound","update","getSwiperTranslate","axis","currentTranslate","getTranslate","setTranslate","byController","x","y","z","newProgress","minTranslate","maxTranslate","translateTo","runCallbacks","translateBounds","internal","newTranslate","isH","animateCSSModeScroll","e","setTransition","duration","transitionEmit","direction","step","dir","transitionStart","transitionEnd","transition","slideTo","initial","enabled","normalizedTranslate","normalizedGrid","normalizedGridNext","t","slideToLoop","newIndex","targetSlideIndex","cols","centeredSlides","needLoopFix","slideNext","animating","perGroup","increment","slidePrev","rtlTranslate","normalize","val","normalizedSnapGrid","isFreeMode","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","nextSnap","slideToClickedSlide","slideToIndex","nextTick","loopCreate","slideRealIndex","initSlides","slidesPerGroup","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","createElement","slidesToAdd","showWarning","loopFix","byMousewheel","allowSlidePrev","allowSlideNext","initialSlide","loopedSlides","prependSlidesIndexes","appendSlidesIndexes","isInitialOverflow","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","currentSlideTranslate","diff","shift","loopParams","c","loopDestroy","newSlidesOrder","loop","setGrabCursor","moving","unsetGrabCursor","grabCursor","closestElement","base","__closestFrom","found","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","onTouchStart","touches","targetEl","elementIsChildOf","swipingClassHasValue","eventPath","noSwipingSelector","isTargetShadow","startY","now","preventDefault","shouldPreventDefault","onTouchMove","targetTouch","pageX","pageY","diffX","diffY","touchAngle","touchesDiff","prevTouchesDirection","isLoop","allowLoopFix","evt","disableParentSwiper","resistanceRatio","onTouchEnd","touchEndTime","timeDiff","pathTree","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","onResize","isVirtualLoop","onClick","onScroll","onLoad","onDocumentTouchStart","capture","domMethod","swiperMethod","attachEvents","detachEvents","events$1","isGridEnabled","setBreakpoint","initialized","breakpoints","breakpointsBase","breakpointContainer","breakpoint","breakpointParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","prop","wasModuleEnabled","isModuleEnabled","directionChanged","needsReLoop","wasLoop","extend","isEnabled","hasLoop","getBreakpoint","containerEl","currentHeight","points","point","minRatio","a","b","value","prepareClasses","prefix","resultClasses","item","classNames","addClasses","suffixes","removeClasses","classes","checkOverflow","wasLocked","slidesOffsetBefore","lastSlideRightEdge","checkOverflow$1","defaults","moduleExtendParams","allModulesParams","obj","moduleParamName","moduleParams","prototypes","extendedDefaults","Swiper","swipers","newParams","mod","swiperParams","eventName","property","elementIndex","min","current","cls","updates","view","exact","spv","breakLoop","translateValue","translated","newDirection","needUpdate","currentDirection","element","getWrapperSelector","lazyElements","deleteInstance","cleanStyles","deleteProps","newDefaults","modules","module","m","prototypeGroup","protoMethod"],"mappings":"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","x_google_ignoreList":[0]}