crmbonus-component-wake 2.1.41-ngrok → 2.1.41-shoulder

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 (303) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/app-modal.cjs.entry.js +2 -2
  3. package/dist/cjs/app-modal.cjs.entry.js.map +1 -1
  4. package/dist/cjs/bc-crmbonus.cjs.entry.js +28 -0
  5. package/dist/cjs/bc-crmbonus.cjs.entry.js.map +1 -0
  6. package/dist/cjs/bc-phone-form_2.cjs.entry.js +333 -0
  7. package/dist/cjs/bc-phone-form_2.cjs.entry.js.map +1 -0
  8. package/dist/cjs/bc-wake-crmbonus.cjs.entry.js +18 -0
  9. package/dist/cjs/bc-wake-crmbonus.cjs.entry.js.map +1 -0
  10. package/dist/cjs/cart.helper-d1f02660.js +201 -0
  11. package/dist/cjs/cart.helper-d1f02660.js.map +1 -0
  12. package/dist/cjs/container-empty.cjs.entry.js +2 -2
  13. package/dist/cjs/container-empty.cjs.entry.js.map +1 -1
  14. package/dist/cjs/countdown-timer-v2.cjs.entry.js +2 -2
  15. package/dist/cjs/countdown-timer-v2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/countdown-timer_11.cjs.entry.js +55 -43
  17. package/dist/cjs/countdown-timer_11.cjs.entry.js.map +1 -1
  18. package/dist/cjs/crm-bonus-note.cjs.entry.js +14 -12
  19. package/dist/cjs/crm-bonus-note.cjs.entry.js.map +1 -1
  20. package/dist/cjs/crmbonus-component-wake.cjs.js +2 -2
  21. package/dist/{components/p-0d09c221.js → cjs/crmbonus.service-ef8fe456.js} +30 -117
  22. package/dist/cjs/crmbonus.service-ef8fe456.js.map +1 -0
  23. package/dist/{esm/info.config.helper-e4b8c478.js → cjs/i18n-defaa4f8.js} +3 -30
  24. package/dist/cjs/i18n-defaa4f8.js.map +1 -0
  25. package/dist/cjs/{index-a7537457.js → index-e45b352e.js} +17 -1
  26. package/dist/cjs/index-e45b352e.js.map +1 -0
  27. package/dist/cjs/info.config.helper-52984ab9.js +36 -0
  28. package/dist/cjs/info.config.helper-52984ab9.js.map +1 -0
  29. package/dist/cjs/loader.cjs.js +2 -2
  30. package/dist/cjs/pedido-finalizado.cjs.entry.js +6 -5
  31. package/dist/cjs/pedido-finalizado.cjs.entry.js.map +1 -1
  32. package/dist/cjs/utils-5d59acb1.js.map +1 -1
  33. package/dist/collection/assets/svg/money-dollars-svgrepo-com.svg +5 -5
  34. package/dist/collection/collection-manifest.json +5 -1
  35. package/dist/collection/components/button/crm-button.css +21 -21
  36. package/dist/collection/components/button/index.js +1 -1
  37. package/dist/collection/components/button/index.js.map +1 -1
  38. package/dist/collection/components/countdown-timer/countdown-timer.js +1 -1
  39. package/dist/collection/components/countdown-timer/countdown-timer.js.map +1 -1
  40. package/dist/collection/components/countdown-timer/countdown-timer.v2.js +2 -2
  41. package/dist/collection/components/countdown-timer/countdown-timer.v2.js.map +1 -1
  42. package/dist/collection/components/crm-bonus/assets/logo.svg +17 -17
  43. package/dist/collection/components/crm-bonus/assets/svg/logo.svg +17 -17
  44. package/dist/collection/components/crm-bonus/crm-bonus.css +86 -82
  45. package/dist/collection/components/crm-bonus/crm-bonus.js +16 -7
  46. package/dist/collection/components/crm-bonus/crm-bonus.js.map +1 -1
  47. package/dist/collection/components/crmbonus/crmbonus.js +26 -0
  48. package/dist/collection/components/crmbonus/crmbonus.js.map +1 -0
  49. package/dist/collection/components/crmbonus/subcomponents/phone-form/index.js +95 -0
  50. package/dist/collection/components/crmbonus/subcomponents/phone-form/index.js.map +1 -0
  51. package/dist/collection/components/crmbonus/subcomponents/phone-form/styles.scss +5 -0
  52. package/dist/collection/components/crmbonus/subcomponents/phone-validate/index.js +129 -0
  53. package/dist/collection/components/crmbonus/subcomponents/phone-validate/index.js.map +1 -0
  54. package/dist/collection/components/crmbonus/subcomponents/phone-validate/styles.scss +84 -0
  55. package/dist/collection/components/giftback-form/giftback-form.css +74 -74
  56. package/dist/collection/components/giftback-form/giftback-form.js +5 -5
  57. package/dist/collection/components/giftback-form/giftback-form.js.map +1 -1
  58. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.css +181 -181
  59. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js +6 -6
  60. package/dist/collection/components/giftback-form/subcomponents/giftback-info/giftback-info.js.map +1 -1
  61. package/dist/collection/components/giftback-form/subcomponents/giftback-message/giftback-massage.js.map +1 -1
  62. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js +1 -1
  63. package/dist/collection/components/giftback-form/subcomponents/phone-form/phone-form.js.map +1 -1
  64. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.css +83 -83
  65. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js +1 -1
  66. package/dist/collection/components/giftback-form/subcomponents/pin-form/pin-form.js.map +1 -1
  67. package/dist/collection/components/loading-container/container-empty.js +1 -1
  68. package/dist/collection/components/loading-container/container-empty.js.map +1 -1
  69. package/dist/collection/components/loading-container/loading-container.css +53 -53
  70. package/dist/collection/components/loading-container/loading-container.js +1 -1
  71. package/dist/collection/components/loading-container/loading-container.js.map +1 -1
  72. package/dist/collection/components/loading-spinner/loading-spinner.css +16 -16
  73. package/dist/collection/components/loading-spinner/loading-spinner.js +1 -1
  74. package/dist/collection/components/loading-spinner/loading-spinner.js.map +1 -1
  75. package/dist/collection/components/modal/app-modal.css +44 -44
  76. package/dist/collection/components/modal/app-modal.js +1 -1
  77. package/dist/collection/components/modal/app-modal.js.map +1 -1
  78. package/dist/collection/components/note/crm-bonus-note.css +68 -68
  79. package/dist/collection/components/note/crm-bonus-note.js +2 -2
  80. package/dist/collection/components/note/crm-bonus-note.js.map +1 -1
  81. package/dist/collection/components/pedido/pedido.js +2 -2
  82. package/dist/collection/components/pedido/pedido.js.map +1 -1
  83. package/dist/collection/components/phone/phone-input-mask.css +40 -40
  84. package/dist/collection/components/phone/phone-input-mask.js +1 -1
  85. package/dist/collection/components/phone/phone-input-mask.js.map +1 -1
  86. package/dist/collection/components/tooltip/crm-tooltip.css +48 -48
  87. package/dist/collection/components/tooltip/tooltip.js +1 -1
  88. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  89. package/dist/collection/contants/index.js.map +1 -1
  90. package/dist/collection/contants/mocks.js.map +1 -1
  91. package/dist/collection/dto/checkout.dto.js +2 -0
  92. package/dist/collection/dto/checkout.dto.js.map +1 -0
  93. package/dist/collection/dto/pin.sent.js.map +1 -1
  94. package/dist/collection/dto/reserved-info.dto.js.map +1 -1
  95. package/dist/collection/dto/update.order.dto.js.map +1 -1
  96. package/dist/collection/dto/validate.pin.bonus.js.map +1 -1
  97. package/dist/collection/helpers/build.payload.helper.js +1 -0
  98. package/dist/collection/helpers/build.payload.helper.js.map +1 -1
  99. package/dist/collection/helpers/cart.helper.js +55 -1
  100. package/dist/collection/helpers/cart.helper.js.map +1 -1
  101. package/dist/collection/helpers/info.config.helper.js.map +1 -1
  102. package/dist/collection/helpers/payload.interface.js.map +1 -1
  103. package/dist/collection/helpers/time.helper.js.map +1 -1
  104. package/dist/collection/i18n/i18n.js.map +1 -1
  105. package/dist/collection/index.js.map +1 -1
  106. package/dist/collection/objectvalues/cart.wake.js +33 -8
  107. package/dist/collection/objectvalues/cart.wake.js.map +1 -1
  108. package/dist/collection/platforms/wake/index.js +8 -0
  109. package/dist/collection/platforms/wake/index.js.map +1 -0
  110. package/dist/collection/services/crmbonus.service.js +21 -2
  111. package/dist/collection/services/crmbonus.service.js.map +1 -1
  112. package/dist/collection/utils/keys.storage.js.map +1 -1
  113. package/dist/collection/utils/retry.utils.js.map +1 -1
  114. package/dist/collection/utils/utils.js.map +1 -1
  115. package/dist/components/app-modal.js +2 -2
  116. package/dist/components/app-modal.js.map +1 -1
  117. package/dist/components/bc-crmbonus.d.ts +11 -0
  118. package/dist/components/bc-crmbonus.js +8 -0
  119. package/dist/components/bc-crmbonus.js.map +1 -0
  120. package/dist/components/bc-phone-form.d.ts +11 -0
  121. package/dist/components/bc-phone-form.js +8 -0
  122. package/dist/components/bc-phone-form.js.map +1 -0
  123. package/dist/components/bc-phone-validate-pin-form.d.ts +11 -0
  124. package/dist/components/bc-phone-validate-pin-form.js +8 -0
  125. package/dist/components/bc-phone-validate-pin-form.js.map +1 -0
  126. package/dist/components/bc-wake-crmbonus.d.ts +11 -0
  127. package/dist/components/bc-wake-crmbonus.js +74 -0
  128. package/dist/components/bc-wake-crmbonus.js.map +1 -0
  129. package/dist/components/container-empty.js +2 -2
  130. package/dist/components/container-empty.js.map +1 -1
  131. package/dist/components/countdown-timer-v2.js +2 -2
  132. package/dist/components/countdown-timer-v2.js.map +1 -1
  133. package/dist/components/countdown-timer.js +1 -1
  134. package/dist/components/crm-bonus-note.js +8 -7
  135. package/dist/components/crm-bonus-note.js.map +1 -1
  136. package/dist/components/crm-bonus.js +30 -19
  137. package/dist/components/crm-bonus.js.map +1 -1
  138. package/dist/components/crm-button.js +1 -1
  139. package/dist/components/crm-giftback-form.js +1 -1
  140. package/dist/components/crm-tooltip.js +1 -1
  141. package/dist/components/giftback-info.js +1 -1
  142. package/dist/components/index.js +1 -1
  143. package/dist/components/loading-container.js +1 -1
  144. package/dist/components/loading-spinner.js +1 -1
  145. package/dist/components/p-06d73541.js +80 -0
  146. package/dist/components/p-06d73541.js.map +1 -0
  147. package/dist/components/p-09f86f1d.js +106 -0
  148. package/dist/components/p-09f86f1d.js.map +1 -0
  149. package/dist/components/p-1b441909.js.map +1 -1
  150. package/dist/components/p-2362455d.js +195 -0
  151. package/dist/components/p-2362455d.js.map +1 -0
  152. package/dist/components/p-2fac7f5e.js +78 -0
  153. package/dist/components/p-2fac7f5e.js.map +1 -0
  154. package/dist/components/{p-786485b2.js → p-39bd2459.js} +3 -3
  155. package/dist/components/p-39bd2459.js.map +1 -0
  156. package/dist/components/{p-144c34f6.js → p-496bc4af.js} +17 -16
  157. package/dist/components/p-496bc4af.js.map +1 -0
  158. package/dist/{esm/cart.helper-8c8d4a0a.js → components/p-60787be2.js} +25 -117
  159. package/dist/components/p-60787be2.js.map +1 -0
  160. package/dist/components/{p-0a7ccd8c.js → p-6aa17c2b.js} +6 -6
  161. package/dist/components/p-6aa17c2b.js.map +1 -0
  162. package/dist/components/{p-c250687d.js → p-80a69118.js} +4 -4
  163. package/dist/components/p-80a69118.js.map +1 -0
  164. package/dist/components/p-81e4e697.js +1298 -0
  165. package/dist/components/p-81e4e697.js.map +1 -0
  166. package/dist/components/{p-2cece106.js → p-8f45d088.js} +3 -3
  167. package/dist/components/p-8f45d088.js.map +1 -0
  168. package/dist/components/{p-9b5c07d8.js → p-9231dc5e.js} +4 -4
  169. package/dist/components/p-9231dc5e.js.map +1 -0
  170. package/dist/components/{p-3c8ae82e.js → p-ade5e41e.js} +11 -10
  171. package/dist/components/p-ade5e41e.js.map +1 -0
  172. package/dist/components/p-af3ba015.js.map +1 -1
  173. package/dist/components/{p-e6863cf5.js → p-bf1d624e.js} +6 -6
  174. package/dist/components/p-bf1d624e.js.map +1 -0
  175. package/dist/components/{p-8274e2c4.js → p-c1522ad8.js} +3 -3
  176. package/dist/components/p-c1522ad8.js.map +1 -0
  177. package/dist/components/p-c53241bf.js.map +1 -1
  178. package/dist/components/{p-11520f0f.js → p-eabf185c.js} +3 -3
  179. package/dist/components/p-eabf185c.js.map +1 -0
  180. package/dist/components/p-ecc51430.js.map +1 -1
  181. package/dist/components/{p-9d950d25.js → p-f58c9cb2.js} +2 -2
  182. package/dist/components/p-f58c9cb2.js.map +1 -0
  183. package/dist/components/pedido-finalizado.js +5 -4
  184. package/dist/components/pedido-finalizado.js.map +1 -1
  185. package/dist/components/phone-form.js +1 -1
  186. package/dist/components/phone-input-mask.js +1 -1
  187. package/dist/components/pin-form.js +1 -1
  188. package/dist/crmbonus-component-wake/assets/logo.svg +17 -17
  189. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js +1 -1
  190. package/dist/crmbonus-component-wake/crmbonus-component-wake.esm.js.map +1 -1
  191. package/dist/crmbonus-component-wake/{p-ac027576.entry.js → p-06d494c4.entry.js} +2 -2
  192. package/dist/crmbonus-component-wake/p-06d494c4.entry.js.map +1 -0
  193. package/dist/crmbonus-component-wake/{p-8c362346.js → p-19848de4.js} +2 -2
  194. package/dist/crmbonus-component-wake/p-19848de4.js.map +1 -0
  195. package/dist/crmbonus-component-wake/p-20d0467e.js +2 -0
  196. package/dist/crmbonus-component-wake/p-20d0467e.js.map +1 -0
  197. package/dist/crmbonus-component-wake/p-2362455d.js +2 -0
  198. package/dist/crmbonus-component-wake/p-2362455d.js.map +1 -0
  199. package/dist/crmbonus-component-wake/p-2dd97532.entry.js +2 -0
  200. package/dist/crmbonus-component-wake/p-2dd97532.entry.js.map +1 -0
  201. package/dist/crmbonus-component-wake/p-3e02757c.entry.js +2 -0
  202. package/dist/crmbonus-component-wake/p-3e02757c.entry.js.map +1 -0
  203. package/dist/crmbonus-component-wake/p-4cbebe64.entry.js +2 -0
  204. package/dist/crmbonus-component-wake/p-4cbebe64.entry.js.map +1 -0
  205. package/dist/crmbonus-component-wake/{p-0d09c221.js → p-60787be2.js} +2 -2
  206. package/dist/crmbonus-component-wake/p-60787be2.js.map +1 -0
  207. package/dist/crmbonus-component-wake/p-6e7c09cd.entry.js +2 -0
  208. package/dist/crmbonus-component-wake/p-6e7c09cd.entry.js.map +1 -0
  209. package/dist/crmbonus-component-wake/p-9b556ee6.entry.js +2 -0
  210. package/dist/crmbonus-component-wake/p-9b556ee6.entry.js.map +1 -0
  211. package/dist/crmbonus-component-wake/p-af3ba015.js.map +1 -1
  212. package/dist/crmbonus-component-wake/p-b435da9a.entry.js +2 -0
  213. package/dist/crmbonus-component-wake/p-b435da9a.entry.js.map +1 -0
  214. package/dist/crmbonus-component-wake/p-c53241bf.js +2 -0
  215. package/dist/crmbonus-component-wake/p-c53241bf.js.map +1 -0
  216. package/dist/crmbonus-component-wake/p-c533ea8b.entry.js +2 -0
  217. package/dist/crmbonus-component-wake/p-c533ea8b.entry.js.map +1 -0
  218. package/dist/crmbonus-component-wake/p-c7d03986.entry.js +2 -0
  219. package/dist/crmbonus-component-wake/p-c7d03986.entry.js.map +1 -0
  220. package/dist/env.js +2 -2
  221. package/dist/env.js.map +1 -1
  222. package/dist/esm/app-modal.entry.js +2 -2
  223. package/dist/esm/app-modal.entry.js.map +1 -1
  224. package/dist/esm/bc-crmbonus.entry.js +24 -0
  225. package/dist/esm/bc-crmbonus.entry.js.map +1 -0
  226. package/dist/esm/bc-phone-form_2.entry.js +328 -0
  227. package/dist/esm/bc-phone-form_2.entry.js.map +1 -0
  228. package/dist/esm/bc-wake-crmbonus.entry.js +14 -0
  229. package/dist/esm/bc-wake-crmbonus.entry.js.map +1 -0
  230. package/dist/esm/cart.helper-22ecdec9.js +195 -0
  231. package/dist/esm/cart.helper-22ecdec9.js.map +1 -0
  232. package/dist/esm/container-empty.entry.js +2 -2
  233. package/dist/esm/container-empty.entry.js.map +1 -1
  234. package/dist/esm/countdown-timer-v2.entry.js +2 -2
  235. package/dist/esm/countdown-timer-v2.entry.js.map +1 -1
  236. package/dist/esm/countdown-timer_11.entry.js +41 -29
  237. package/dist/esm/countdown-timer_11.entry.js.map +1 -1
  238. package/dist/esm/crm-bonus-note.entry.js +9 -7
  239. package/dist/esm/crm-bonus-note.entry.js.map +1 -1
  240. package/dist/esm/crmbonus-component-wake.js +3 -3
  241. package/dist/{cjs/cart.helper-31ba8997.js → esm/crmbonus.service-d83e6bb6.js} +25 -125
  242. package/dist/esm/crmbonus.service-d83e6bb6.js.map +1 -0
  243. package/dist/{cjs/info.config.helper-d4b1291b.js → esm/i18n-b9d8b0cc.js} +2 -36
  244. package/dist/esm/i18n-b9d8b0cc.js.map +1 -0
  245. package/dist/esm/{index-bdb70d5a.js → index-09314622.js} +16 -2
  246. package/dist/esm/index-09314622.js.map +1 -0
  247. package/dist/esm/info.config.helper-156cb9b2.js +32 -0
  248. package/dist/esm/info.config.helper-156cb9b2.js.map +1 -0
  249. package/dist/esm/loader.js +3 -3
  250. package/dist/esm/pedido-finalizado.entry.js +5 -4
  251. package/dist/esm/pedido-finalizado.entry.js.map +1 -1
  252. package/dist/esm/utils-dec6df66.js.map +1 -1
  253. package/dist/store.js +25 -0
  254. package/dist/store.js.map +1 -0
  255. package/dist/types/components/crmbonus/crmbonus.d.ts +9 -0
  256. package/dist/types/components/crmbonus/subcomponents/phone-form/index.d.ts +13 -0
  257. package/dist/types/components/crmbonus/subcomponents/phone-validate/index.d.ts +17 -0
  258. package/dist/types/components.d.ts +76 -0
  259. package/dist/types/dto/checkout.dto.d.ts +8 -0
  260. package/dist/types/dto/pin.sent.d.ts +3 -0
  261. package/dist/types/dto/validate.pin.bonus.d.ts +9 -0
  262. package/dist/types/helpers/cart.helper.d.ts +1 -0
  263. package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +2 -0
  264. package/dist/types/home/darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/store.d.ts +11 -0
  265. package/dist/types/objectvalues/cart.wake.d.ts +2 -1
  266. package/dist/types/platforms/wake/index.d.ts +3 -0
  267. package/dist/types/services/crmbonus.service.d.ts +4 -2
  268. package/package.json +59 -58
  269. package/readme.md +114 -114
  270. package/dist/cjs/cart.helper-31ba8997.js.map +0 -1
  271. package/dist/cjs/index-a7537457.js.map +0 -1
  272. package/dist/cjs/info.config.helper-d4b1291b.js.map +0 -1
  273. package/dist/components/p-0a7ccd8c.js.map +0 -1
  274. package/dist/components/p-0d09c221.js.map +0 -1
  275. package/dist/components/p-11520f0f.js.map +0 -1
  276. package/dist/components/p-144c34f6.js.map +0 -1
  277. package/dist/components/p-2cece106.js.map +0 -1
  278. package/dist/components/p-3c8ae82e.js.map +0 -1
  279. package/dist/components/p-786485b2.js.map +0 -1
  280. package/dist/components/p-8274e2c4.js.map +0 -1
  281. package/dist/components/p-9b5c07d8.js.map +0 -1
  282. package/dist/components/p-9d950d25.js.map +0 -1
  283. package/dist/components/p-c250687d.js.map +0 -1
  284. package/dist/components/p-e6863cf5.js.map +0 -1
  285. package/dist/crmbonus-component-wake/p-0d09c221.js.map +0 -1
  286. package/dist/crmbonus-component-wake/p-1644deef.entry.js +0 -2
  287. package/dist/crmbonus-component-wake/p-1644deef.entry.js.map +0 -1
  288. package/dist/crmbonus-component-wake/p-60742512.entry.js +0 -2
  289. package/dist/crmbonus-component-wake/p-60742512.entry.js.map +0 -1
  290. package/dist/crmbonus-component-wake/p-7e52727e.entry.js +0 -2
  291. package/dist/crmbonus-component-wake/p-7e52727e.entry.js.map +0 -1
  292. package/dist/crmbonus-component-wake/p-8c362346.js.map +0 -1
  293. package/dist/crmbonus-component-wake/p-ac027576.entry.js.map +0 -1
  294. package/dist/crmbonus-component-wake/p-ac1e7c32.entry.js +0 -2
  295. package/dist/crmbonus-component-wake/p-ac1e7c32.entry.js.map +0 -1
  296. package/dist/crmbonus-component-wake/p-b4f52f79.js +0 -2
  297. package/dist/crmbonus-component-wake/p-b4f52f79.js.map +0 -1
  298. package/dist/crmbonus-component-wake/p-df80d1b0.entry.js +0 -2
  299. package/dist/crmbonus-component-wake/p-df80d1b0.entry.js.map +0 -1
  300. package/dist/esm/cart.helper-8c8d4a0a.js.map +0 -1
  301. package/dist/esm/index-bdb70d5a.js.map +0 -1
  302. package/dist/esm/info.config.helper-e4b8c478.js.map +0 -1
  303. package/dist/types/Users/Darlison/Projects/Bycoders/crmbonus/crmbonus-component/.stencil/env.d.ts +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CountdownTimer","componentWillLoad","tempoTotal","this","minutos","segundos","data","Date","dataCriacao","agora","tempoPassado","getTime","tempoRestante","onTempoEsgotado","startCountdown","disconnectedCallback","clearInterval","intervalId","setInterval","console","log","downtime","render","Math","floor","tempoFormatado","String","padStart","h","key","AjustesTipoEnum","buildProductsByWake","productsWake","products","pw","hasOriginalPrice","PrecoDe","PrecoPor","hasDiscountInProduct","existsPromotionProduct","Ajustes","filter","adj","PP","includes","Tipo","promotion_product","length","discounts","getDiscount","price","priceOrignal","value","Quantidade","originalValue","discounts_value","push","sku","SKU","productVariantId","ProdutoVarianteId","toString","quantity","discount","ajustes","config_ajustes","P","CC","Valor","crmBonusCss","CrmBonusStyle0","CrmBonus","crmBonusService","CrmBonusService","getInstance","birthDate","document","name","phone","defaultStyles","resetBonus","crmBonusRef","processBonus","buildProducts","err","loading","setStep","StepFormEnum","STEP_PHONE","setloading","loading_reprocess","reprocess","isUse","localStorage","getItem","USED_KEY","cartWake","getCartStoreFront","debug","message","window","addEventListener","async","querySelectorAll","forEach","el","_a","getElementById","setTimeout","observerHandle","i18next","changeLanguage","language","componentDidLoad","loadSession","handleLoad","loadConfigStore","error","elements","getElementsByTagName","event","target","href","id","saveTracking","action","storeName","_c","_b","store","customization","infoBonus","Promise","all","getCustomization","getInfoBonusByCartIdAndStoreName","reservedInfo","keepStoreFrontStyle","styles","fetchCustomer","userId","getCustomer","user","then","customer","amount","canCancel","amountCancel","buildAndGetProducts","cart","CartWake","fromCheckout","JSON","parse","session","getToken","productsString","stringify","setItem","products_in_cache","product_cart","pro","p","Object","assign","sendPin","_phone","replace","Number","sent","STEP_PIN","showModal","response","sendPinName","customerName","handleCloseModal","save","cancel","removeItem","handleSendPin","STEP_NAME","canhidden","text","class","customStyles","style","position","ref","cartId","loadProducts","loadAll","crmButtonCss","CrmButtonStyle0","Button","onClick","handleClick","txtBtn","size","color","giftbackFormCss","CrmGiftbackFormStyle0","STEP_RESERVE","step","hasNewProduct","sucess","_bonus","getKeyReserveByCartId","bonus","storeId","pinInfo","validateBonus","config","getInfoCustomization","phoneAgain","getPhoneNumberAgain","consulta_bonus","hasBonus","convertStringToNumber","pinInfoCache","changePhone","pin","loadingAllComponent","used_or_no","metadata","_d","_f","_e","cellphone","_h","_g","payload","checkoutId","checkoutProducts","_j","validatePinBonus","STEP_NO_BONUS","bonusBalance","updateMetadata","_error","_l","_k","_m","statusCode","isExpired","persisteMetadata","createdAt","now","url","location","handleCancel","reserveApply","reserve","redeemedBonus","ticket","grossValue","totalValue","giftbackTitle","handlerSubmit","resend","validate","t","storename","infoCircleSvgrepoComSvg","crmTooltipCss","CrmTooltipStyle0","Tooltip","src","info","identity","giftbackInfoCss","GiftbackInfoStyle0","GiftbackInfo","totalBonus","minimumPurchase","calculatedValue","firstValidityDate","changedBonus","updateBonus","usedValue","buildPositionSlider","selectedOption","handleSliderChange","input","parseFloat","min","max","_refIinputRange","percentage_init","percentage","sliderPosition","sliderValuePosition","handleOptionChange","option","showTime","expiration","setMinutes","getMinutes","remainingGiftback","translateDescription","toFixed","custom_name","limit","defineLimit","innerHTML","formatDateToBr","left","disabled","type","onInput","background","isComplete","checked","onChange","reload","isBonusProcessed","loadingContainerCss","LoadingContainerStyle0","LoadingContainer","loadingSpinnerCss","LoadingSpinnerStyle0","LoadingSpinner","width","height","borderColor","PhoneFormStyle0","PhoneForm","handlePhone","phoneInputMask","getPhone","Host","initialValue","btnApplyBonusLabel","phoneInputMaskCss","PhoneInputMaskStyle0","PhoneInputMask","formatPhone","cleaned","match","part1","part2","part3","handleInput","validatePhoneNumber","MESSAGE_ERROR_INVALID_NUMBER","phoneRegex","test","placeholder","pinFormCss","PinFormStyle0","PinFormStyle1","GiftbackPin","canResend","index","slice","nextInput","nextElementSibling","focus","validatePin","join","verifyPin","pinCode","isVerified","handleTimeout","handleResend","buildTime","resendDate","date","setSeconds","getSeconds","map","_","maxLength"],"sources":["src/components/countdown-timer/countdown-timer.tsx","src/dto/validate.pin.bonus.ts","src/helpers/build.payload.helper.ts","src/components/crm-bonus/crm-bonus.css?tag=crm-bonus&encapsulation=shadow","src/components/crm-bonus/crm-bonus.tsx","src/components/button/crm-button.css?tag=crm-button","src/components/button/index.tsx","src/components/giftback-form/giftback-form.css?tag=crm-giftback-form","src/components/giftback-form/giftback-form.tsx","src/assets/svg/info-circle-svgrepo-com.svg","src/components/tooltip/crm-tooltip.css?tag=crm-tooltip","src/components/tooltip/tooltip.tsx","src/components/giftback-form/subcomponents/giftback-info/giftback-info.css?tag=giftback-info","src/components/giftback-form/subcomponents/giftback-info/giftback-info.tsx","src/components/loading-container/loading-container.css?tag=loading-container","src/components/loading-container/loading-container.tsx","src/components/loading-spinner/loading-spinner.css?tag=loading-spinner&encapsulation=shadow","src/components/loading-spinner/loading-spinner.tsx","src/components/giftback-form/giftback-form.css?tag=phone-form","src/components/giftback-form/subcomponents/phone-form/phone-form.tsx","src/components/phone/phone-input-mask.css?tag=phone-input-mask&encapsulation=shadow","src/components/phone/phone-input-mask.tsx","src/components/giftback-form/subcomponents/pin-form/pin-form.css?tag=pin-form&encapsulation=shadow","src/components/giftback-form/giftback-form.css?tag=pin-form&encapsulation=shadow","src/components/giftback-form/subcomponents/pin-form/pin-form.tsx"],"sourcesContent":["import { Component, Prop, State, h } from '@stencil/core';\n\n@Component({\n tag: 'countdown-timer',\n})\nexport class CountdownTimer {\n\n @Prop() downtime: () => void;\n @Prop() dataCriacao: string;\n @Prop() minutos: number = 6;\n @Prop() segundos: number = 60;\n\n @State() tempoRestante: number; // em milissegundos\n\n private intervalId: any;\n\n componentWillLoad() {\n const tempoTotal = this.minutos * this.segundos * 1000;\n const data = new Date(this.dataCriacao);\n const agora = new Date();\n const tempoPassado = agora.getTime() - data.getTime();\n\n if (tempoPassado >= tempoTotal) {\n this.tempoRestante = 0;\n this.onTempoEsgotado();\n } else {\n this.tempoRestante = tempoTotal - tempoPassado;\n this.startCountdown();\n }\n }\n\n disconnectedCallback() {\n clearInterval(this.intervalId);\n }\n\n startCountdown() {\n this.intervalId = setInterval(() => {\n this.tempoRestante -= 1000;\n if (this.tempoRestante <= 0) {\n this.tempoRestante = 0;\n clearInterval(this.intervalId);\n this.onTempoEsgotado();\n }\n }, 1000);\n }\n\n onTempoEsgotado() {\n console.log('Tempo esgotado! Executando ação...');\n this.downtime()\n }\n\n render() {\n const minutos = Math.floor(this.tempoRestante / 60000);\n const segundos = Math.floor((this.tempoRestante % 60000) / 1000);\n const tempoFormatado = `${String(minutos).padStart(2, '0')}:${String(segundos).padStart(2, '0')}`;\n\n return (\n <label> {tempoFormatado}</label>\n );\n }\n}\n","export interface IProduct {\n productVariantId: string;\n sku: string;\n value: number;\n originalValue: number;\n quantity: number;\n discount: number;\n promotion_product: boolean;\n}\n\nexport enum AjustesTipoEnum {\n P = \"Promocao\",\n CC = \"ContaCorrente\",\n PP = \"PromocaoProduto\",\n F = \"Formula\"\n}\n\nexport interface IAjustes {\n Tipo: AjustesTipoEnum;\n Valor: number;\n}\n\nexport interface IUser {\n id: number;\n}\n\nexport interface IStore {\n name: string;\n}\n\nexport interface IProductWake {\n ProdutoVarianteId: number;\n SKU: string;\n PrecoPor: number;\n PrecoDe: number;\n Quantidade: number;\n Ajustes: IAjustes[];\n}\n\nexport interface ICustomer {\n birthDate: string;\n document: string;\n name: string;\n phone: string;\n}\n\nexport interface IProccesPinBonusDto {\n storeName: string;\n name: string;\n checkoutId: string;\n checkoutProducts: Array<IProduct>;\n storeId: string;\n userId: string;\n cellphone: number;\n pin: string;\n}\n\nexport interface IProccesPinDto {\n storeName: string;\n name: string;\n checkoutId: string;\n storeId: string;\n userId: string;\n cellphone: number;\n pin: string;\n}\n\nexport interface IBonus {\n hasBonus: boolean;\n bonusBalance: number;\n totalBonus: number;\n minimumPurchase: number;\n bonusIds: string;\n firstValidityDate: string\n history: [\n {\n validityStart: string;\n validityEnd: string;\n value: number\n },\n {\n validityStart: string;\n validityEnd: string\n value: number\n }\n ]\n storeId: number;\n userId: number;\n cartId: string\n calculatedValue: number;\n totalValue: number\n}\n\n\nexport interface IReserveDTO {\n storeName: string;\n cartId: string;\n grossValue: number;\n redeemedBonus: number;\n ticket: string;\n storeId: string;\n userId: number;\n}","import { AjustesTipoEnum, IAjustes, IProduct, IProductWake } from \"../dto/validate.pin.bonus\";\n\nexport function buildProductsByWake(productsWake: Array<IProductWake> = []): Array<IProduct> {\n\n console.log('productsWake', productsWake)\n\n const products: Array<IProduct> = [];\n\n for ( const pw of productsWake ) {\n \n // let discounts_formula = getDiscountFormula(pw.Ajustes);\n\n const hasOriginalPrice = (pw.PrecoDe < pw.PrecoPor);\n const hasDiscountInProduct = (pw.PrecoPor < pw.PrecoDe);\n const existsPromotionProduct = pw.Ajustes.filter(adj => [AjustesTipoEnum.PP].includes(adj.Tipo))\n const promotion_product = (existsPromotionProduct.length > 0)\n\n let discounts = getDiscount(pw.Ajustes, hasOriginalPrice);\n\n let price = hasOriginalPrice ? pw.PrecoPor : pw.PrecoDe;\n const priceOrignal = hasOriginalPrice ? pw.PrecoPor : pw.PrecoDe;\n\n if(!promotion_product && hasDiscountInProduct) {\n price = pw.PrecoPor;\n }\n\n var value = (price * pw.Quantidade);\n var originalValue = (priceOrignal * pw.Quantidade);\n\n var discounts_value = (discounts * -1); \n\n products.push(\n {\n sku: pw.SKU,\n value: value,\n originalValue: originalValue,\n productVariantId: pw.ProdutoVarianteId.toString(),\n quantity: pw.Quantidade,\n discount: value < discounts_value ? value : discounts_value,\n promotion_product,\n }\n )\n }\n\n return products;\n}\n\nfunction getDiscount(ajustes: IAjustes[] = [], hasOriginalPrice: boolean) {\n \n let discounts = 0;\n const config_ajustes = [AjustesTipoEnum.P, AjustesTipoEnum.CC];\n\n if(!hasOriginalPrice) {\n config_ajustes.push(AjustesTipoEnum.PP);\n }\n\n for(const discount of ajustes) {\n if(config_ajustes.includes(discount.Tipo)) {\n discounts += discount.Valor;\n }\n }\n\n return discounts;\n}\n","\n.container-button {\n /* max-width: 100%; */\n cursor: pointer;\n padding: 5px 5px 5px 14px;\n /* display: flex; */\n}\n\n/* padding: 0 15px 15px;\nborder: 1px solid #ddd;\nmargin-bottom: 20px; */\n\n.section-crm {\n border: 1px solid #dbd4d4;\n /* min-height: 50px; */\n text-align: -webkit-center;\n margin-bottom: 20px;\n}\n\n.section-cart-crm {\n margin-top: 10px;\n}\n\n.section-cart-crm p {\n padding: 0;\n margin: 0px 0px 0px 15px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n /* border-radius: 10px; */\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n /* font-size: 20px; */\n cursor: pointer;\n margin-left: 10px;\n height: 70px;\n}\n\n.form-container {\n width: 97%;\n display: flex;\n justify-content: space-around;\n}\n\n\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n /* font-size: 14px; */\n font-weight: 400;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 0px;\n}\n\n.form-container .btnCrm {\n background: #00162e;\n border-color: #00162e;\n width: 30%;\n color: #fff;\n}\n\n.message-alert {\n color: #df4d4d;\n margin-top: 5px;\n}\n\n.empty-container {\n min-height: 150px;\n}","import { Component, Method, Prop, State, h } from '@stencil/core';\nimport { IProduct, IProductWake, ICustomer } from '../../dto/validate.pin.bonus';\nimport { CrmBonusService } from '../../services/crmbonus.service';\nimport { IPinSent } from '../../components';\nimport { defaultStyles, StepFormEnum } from '../../contants';\n\nimport i18next from '../../i18n/i18n'\nimport { buildProductsByWake } from '../../helpers/build.payload.helper';\nimport { getCartStoreFront, getInfoBonusByCartIdAndStoreName } from '../../helpers/cart.helper';\nimport { CartWake } from '../../objectvalues/cart.wake';\nimport { USED_KEY } from '../../utils/keys.storage';\nimport { ReservedInfoDTO } from '../../dto/reserved-info.dto';\n\n@Component({\n tag: 'crm-bonus',\n styleUrl: 'crm-bonus.css',\n assetsDirs: ['assets'],\n // scoped: true\n shadow: true\n})\nexport class CrmBonus {\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n private crmBonusRef: HTMLCrmGiftbackFormElement;\n\n @Prop() cart;\n @Prop() canhidden: boolean = false;\n\n @State() showModal: boolean = false;\n\n @State() cartWake: CartWake;\n\n @State() customer: ICustomer = {\n birthDate: \"\",\n document: \"\",\n name: \"\",\n phone: \"\"\n };\n\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: number;\n @State() canCancel: boolean = false;\n @State() amountCancel: string;\n @State() sent: IPinSent;\n\n @State() session: string;\n @State() loading_reprocess = false;\n @State() styles = defaultStyles;\n @State() reservedInfo: ReservedInfoDTO;\n\n @Method()\n async resetBonus() {\n console.log('[CRMBONUS] - reset bonus');\n\n try {\n await this.crmBonusRef.processBonus(this.buildProducts(), true);\n console.log('[BONUS RESETADO]!!!!!');\n } catch (err) {\n\n this.loading = false;\n console.log('[error ao reprocessar bonous]');\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PHONE);\n } finally {\n this.loading = false;\n }\n }\n\n @Method()\n async setloading() {\n this.loading_reprocess = !this.loading_reprocess;\n }\n\n @Method()\n async reprocess() {\n console.log(\"[CRMBONUS] - reprocess\")\n this.loading_reprocess = true\n\n try {\n\n const isUse = localStorage.getItem(USED_KEY);\n\n if (!isUse) return;\n\n this.cartWake = await getCartStoreFront();\n await this.resetBonus();\n } catch (err) {\n console.debug('[watchProducts]', err.message);\n } finally {\n this.loading_reprocess = false\n }\n }\n\n async componentWillLoad() {\n this.loading_reprocess = true;\n window.addEventListener('productRemovedFromCart', async () => {\n console.log('[CRMBONUS] - productRemovedFromCart');\n await this.reprocess()\n });\n\n window.addEventListener('productAddedToCart', async () => {\n console.log('[CRMBONUS] - productAddedToCart');\n await this.reprocess();\n });\n\n document.querySelectorAll('form').forEach((el) => {\n el.addEventListener(\"submit\", async () => {\n console.log(\"[CRMBONUS] - Formulário está sendo submetido!\");\n await this.reprocess();\n });\n });\n\n document.getElementById('validarCupom')?.addEventListener('click', async () => {\n console.log(\"[CRMBONUS] - cupom sendo submetido!\");\n setTimeout(async () => {\n await this.reprocess();\n }, 2000);\n });\n\n await this.observerHandle();\n\n i18next.changeLanguage(i18next.language);\n }\n\n async componentDidLoad() {\n try {\n await this.loadSession();\n this.handleLoad();\n await this.loadConfigStore();\n } catch (error) {\n console.log('bc:err....')\n } finally {\n this.loading_reprocess = false;\n }\n }\n\n\n\n private async observerHandle() {\n const elements = document.getElementsByTagName('a');\n\n document.addEventListener('click', (event) => {\n //@ts-ignore\n console.log('Clique detectado em:', event.target.href);\n //@ts-ignore\n console.log('Clique detectado em:', event.target.id);\n console.log('Clique detectado em:', event.target);\n\n //@ts-ignore\n if (['validarCupom', 'removerCupomCarrinho'].includes(event.target.id)) {\n setTimeout(async () => {\n await this.reprocess();\n this.observerHandle();\n }, 2000);\n }\n\n //@ts-ignore\n if(['crm_label'].includes(event.target.id)) {\n this.crmBonusService.saveTracking(this.cartWake?.id, { action: 'click_label', storeName: this.cartWake?.store?.name });\n }\n });\n \n\n //@ts-ignore\n for (let el of elements) {\n console.log('[el.href]', el.href);\n if (el.href.includes('Produto/Delete')) {\n el.addEventListener('click', async () => {\n console.log('[CRMBONUS] - Produto removido do carrinho');\n\n setTimeout(async () => {\n await this.reprocess();\n this.observerHandle();\n }, 2000);\n\n });\n }\n\n if (el.href.includes('Produto/Add')) {\n el.addEventListener('click', async () => {\n console.log('[CRMBONUS] - Produto adicionado ao carrinho');\n setTimeout(async () => {\n await this.reprocess();\n this.observerHandle();\n }, 2000);\n });\n }\n }\n }\n\n async loadConfigStore() {\n const [customization, infoBonus] = await Promise.all([\n this.crmBonusService.getCustomization(this.cartWake.store.name),\n getInfoBonusByCartIdAndStoreName(this.cartWake.id, this.cartWake.store.name)\n ]);\n\n this.reservedInfo = infoBonus;\n\n if (customization.keepStoreFrontStyle) {\n this.styles = null;\n }\n }\n\n async fetchCustomer(userId: number, storeName: string) {\n try {\n return await this.crmBonusService.getCustomer(userId, storeName);\n } catch (error) {\n console.error('[fetchCustomer] Error fetching customer:', error);\n return null;\n }\n }\n\n async handleLoad() {\n try {\n if (this.cartWake.user.id) {\n this.fetchCustomer(this.cartWake.user.id, this.cartWake.store.name).then((customer) => {\n if (customer) {\n this.customer = customer;\n }\n });\n }\n\n const amount = localStorage.getItem(this.cartWake.id);\n\n if (amount) {\n this.canCancel = true;\n this.amountCancel = amount;\n }\n\n await this.buildAndGetProducts(this.cartWake.products);\n } catch (error) {\n console.log('info customer')\n }\n }\n\n async loadSession() {\n this.cartWake = this.cart ? CartWake.fromCheckout(JSON.parse(this.cart)) : await getCartStoreFront();\n console.log('[bc:carregou carrinho]', this.cartWake);\n\n this.session = await this.crmBonusService.getToken(this.cartWake.store.name);\n console.log('[bc:carregou session]');\n setTimeout(() => {\n this.loadSession()\n }, 1500000)\n }\n\n async buildAndGetProducts(productsWake: IProductWake[]) {\n\n const key = `bc-products:${this.cartWake.id}`;\n\n const productsString = JSON.stringify(productsWake)\n\n localStorage.setItem(key, productsString);\n\n const products_in_cache = JSON.parse(localStorage.getItem(key));\n\n const products: Array<IProductWake> = []\n\n for (const product_cart of productsWake) {\n\n const [pro] = products_in_cache.filter(p => p.ProdutoVarianteId == product_cart.ProdutoVarianteId)\n\n //const [ajuste = { Valor: 0 }] = pro.Ajustes.filter(aj => aj.Tipo === \"Formula\")\n\n if (pro) {\n products.push({\n ...product_cart,\n PrecoPor: pro.PrecoPor,\n PrecoDe: pro.PrecoDe,\n Quantidade: pro.Quantidade,\n Ajustes: pro.Ajustes\n })\n } else {\n products.push(product_cart)\n }\n\n }\n\n this.cartWake.products = products; //cache_products ? JSON.parse(cache_products) : JSON.parse(this.productsInString);\n\n }\n\n public async sendPin(phone: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);;\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n public async sendPinName(customerName: string) {\n this.loading = true;\n this.message = \"\";\n\n try {\n this.customer.name = customerName;\n\n this.sent = await this.crmBonusService.sendPin(this.phone, this.customer.name, this.cartWake.store.name);\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_PIN);\n\n this.showModal = true;\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n buildProducts(): IProduct[] {\n return buildProductsByWake(this.cartWake?.products || []);\n }\n\n handleCloseModal() {\n this.showModal = false;\n }\n\n save(amount: number) {\n localStorage.setItem(this.cartWake.id, amount.toString());\n this.canCancel = true;\n this.amountCancel = amount.toString()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartWake.id);\n this.canCancel = false;\n\n localStorage.removeItem(this.cartWake.id);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n async handleSendPin(phone: string) {\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.customer.phone = phone;\n const _phone = phone.replace(/\\D/g, '');\n this.phone = Number(_phone);\n\n if (this.customer.name) {\n return this.sendPin(phone)\n }\n\n await this.crmBonusRef.setStep(StepFormEnum.STEP_NAME);\n this.showModal = true;\n }\n\n render() {\n\n if (this.canhidden) {\n return null;\n }\n\n return (\n <loading-container loading={this.loading_reprocess} text='carregando...' >\n { this.loading_reprocess && <div class=\"empty-container\"></div> }\n {\n !this.loading_reprocess && this.cartWake && (\n <crm-giftback-form\n customStyles={this.styles}\n style={{ position: \"relative\" }}\n ref={ref => this.crmBonusRef = ref}\n storeName={this.cartWake?.store?.name}\n products={this.buildProducts()}\n cartId={this.cartWake.id}\n customer={this.customer}\n loadProducts={() => this.buildProducts()}\n loadAll={() => this.handleLoad()}\n reservedInfo={this.reservedInfo}\n />\n )\n }\n </loading-container>\n )\n }\n}\n","input, button {\n margin: 0;\n padding: 10px; /* Ajuste o valor conforme necessário */\n}\n\n.crm-contaner-button {\n height: auto;\n width: auto;\n}\n\n.crm-button {\n height: 48px;\n width: 100%;\n border: 1px solid #000;\n padding: 14px 20px;\n background-color: #000;\n color: #fff;\n /* font-size: 14px; */\n line-height: 20px;\n font-weight: 500;\n cursor: pointer;\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'crm-button',\n styleUrl: 'crm-button.css'\n})\nexport class Button {\n\n @Prop() txtBtn: string;\n @Prop() loading: boolean;\n\n @Prop() handleClick: () => void;\n\n render() {\n return (\n <div class=\"crm-contaner-button\">\n <button class=\"crm-button\" onClick={() => this.handleClick()}>\n {\n !this.loading ? this.txtBtn : <loading-spinner size=\"15px\" color=\"#fff\" />\n }\n </button>\n </div>\n )\n }\n}","* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n /* font-size: var(--crmfont-sizebodymd); */\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n /* font-size: 14px; */\n font-size: .875rem;\n line-height: 1.25rem;\n \n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n /* font-size: 16px; */\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n /* font-size: 12px; */\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n /* font-size: 12px; */\n}","import { Component, Method, Prop, State, h } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { StepFormEnum } from \"../../contants\";\nimport { IPinSent } from '../../dto/pin.sent'\nimport { IBonus, ICustomer, IProccesPinBonusDto, IProduct } from \"../../dto/validate.pin.bonus\";\nimport { IInfoStore, getInfoCustomization } from \"../../helpers/info.config.helper\";\n\nimport i18next from \"../../i18n/i18n\"\nimport { USED_KEY, getKeyReserveByCartId } from \"../../utils/keys.storage\";\nimport { persisteMetadata } from \"../../helpers/cart.helper\";\nimport { ReservedInfoDTO } from \"../../dto/reserved-info.dto\";\n\n@Component({\n tag: 'crm-giftback-form',\n styleUrl: 'giftback-form.css',\n shadow: false\n})\nexport class CrmBonus {\n // private phoneInputMask: HTMLPhoneFormElement;\n\n private crmBonusService: CrmBonusService = CrmBonusService.getInstance();\n\n @Prop({ attribute: 'storename' }) storeName;\n @Prop() cartId;\n @Prop() products: Array<IProduct>;\n @Prop() customer: ICustomer;\n @Prop() loadProducts: () => void;\n @Prop() loadAll: () => void;\n\n @Prop() customStyles;\n @Prop() reservedInfo: ReservedInfoDTO;\n\n @State() value: string;\n @State() loading: boolean = false;\n @State() message: string;\n @State() phone: string;\n @State() pinInfo: IPinSent;\n @State() step: StepFormEnum = StepFormEnum.STEP_RESERVE;\n @State() bonus: IBonus;\n\n @State() sucess: string = \"\";\n @State() error: string = \"\";\n @State() config: IInfoStore;\n @State() hasApplyBonus = false;\n\n @State() loadingAllComponent = false;\n\n @Method()\n async setStep(step: StepFormEnum) {\n this.step = step\n }\n\n @Method()\n async processBonus(products: IProduct[] = [], hasNewProduct = false) {\n await this.loadProducts();\n this.sucess = \"\";\n\n if (hasNewProduct) {\n this.products = products;\n }\n\n const _bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n console.log('[_bonus]', _bonus);\n if (_bonus) {\n\n const bonus = JSON.parse(_bonus)\n \n if(!bonus.storeId || !bonus.userId) {\n return;\n }\n\n this.bonus = bonus;\n\n this.phone = bonus.phone;\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n }\n }\n\n async handleSendPin(phone: string) {\n await this.loadAll()\n this.message = \"\"\n if (!phone) {\n this.message = \"Informe seu telefone\";\n return;\n }\n\n this.phone = phone;\n\n this.sendPin();\n }\n\n async componentWillLoad() {\n this.sucess = \"\";\n this.error = \"\"\n this.config = getInfoCustomization(this.storeName);\n\n const phoneAgain = this.getPhoneNumberAgain();\n\n if (phoneAgain) {\n this.step = StepFormEnum.STEP_PHONE;\n return\n }\n\n await this.processBonus();\n\n }\n\n getPhoneNumberAgain() {\n const consulta_bonus = localStorage.getItem(getKeyReserveByCartId(this.cartId));\n\n if (!consulta_bonus) return true;\n\n const bonus = JSON.parse(consulta_bonus);\n\n return !bonus.hasBonus;\n }\n\n private convertStringToNumber(): number {\n const _phone = this.phone?.replace(/\\D/g, '');\n return Number(_phone);\n }\n\n public async sendPin() {\n this.loading = true;\n this.message = \"\";\n this.sucess = \"\";\n this.error = \"\"\n\n try {\n\n const _phone = this.convertStringToNumber();\n const pinInfoCache = localStorage.getItem(`bc:${this.phone}`);\n\n if (!pinInfoCache) {\n this.pinInfo = await this.crmBonusService.sendPin(_phone, this.customer?.name, this.storeName);\n }\n\n if (pinInfoCache) {\n\n const bonus = JSON.parse(pinInfoCache);\n\n this.pinInfo = {\n storeId: bonus.storeId,\n userId: bonus.userId\n }\n\n await this.validateBonus(\"2018\");\n // this.step = StepFormEnum.STEP_RESERVE;\n } else {\n this.step = StepFormEnum.STEP_PIN;\n }\n\n } catch (error) {\n this.message = error?.response?.data?.message\n } finally {\n this.loading = false\n }\n }\n\n changePhone() {\n this.sucess = \"\";\n this.error = \"\"\n this.step = StepFormEnum.STEP_PHONE;\n }\n\n public async validateBonus(pin: string) {\n this.loadingAllComponent = true;\n await this.loadProducts();\n\n const used_or_no = localStorage.getItem(USED_KEY);\n\n if (used_or_no == \"dontUse\") {\n this.step = StepFormEnum.STEP_RESERVE;\n return\n }\n\n this.loading = true;\n this.sucess = \"\";\n this.error = \"\";\n\n const storeId = this.pinInfo?.storeId || this.reservedInfo?.metadata?.storeId;\n const userId = this.pinInfo?.userId || this.reservedInfo?.metadata?.userId;\n const cellphone = this.reservedInfo?.metadata?.cellphone;\n\n const payload: IProccesPinBonusDto = {\n pin: pin,\n cellphone: cellphone || this.convertStringToNumber(),\n storeId: storeId?.toString(),\n userId: userId?.toString(),\n checkoutId: this.cartId,\n checkoutProducts: this.products,\n name: this.customer?.name,\n storeName: this.storeName\n }\n\n try {\n this.bonus = await this.crmBonusService.validatePinBonus(payload);\n\n if (!this.bonus.hasBonus) {\n\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n\n this.loading = false;\n this.step = StepFormEnum.STEP_NO_BONUS;\n return\n }\n\n this.sucess = \"Código validado com sucesso!\";\n localStorage.setItem(getKeyReserveByCartId(this.cartId), JSON.stringify({ ...this.bonus, phone: this.phone }));\n localStorage.setItem(`bc:${this.phone}`, JSON.stringify(this.bonus));\n\n localStorage.setItem(USED_KEY, \"use\");\n localStorage.setItem(this.cartId, this.bonus.bonusBalance.toString());\n\n this.updateMetadata({ storeId: Number(storeId), userId: Number(userId) }, payload.cellphone);\n\n console.log('RESERVE', this.bonus)\n this.step = StepFormEnum.STEP_RESERVE;\n\n } catch (error) {\n const _error: string = error?.response?.data?.response;\n const response = error?.response?.data;\n\n if (_error && _error.includes(\"Pin\")) {\n this.error = \"Código inválido!\"\n } else if ([403, 500].includes(response.statusCode)) {\n this.error = \"ocorreu um error, atualize a pagina e tente novamente!\"\n } else {\n this.error = _error;\n this.step = StepFormEnum.STEP_NO_BONUS;\n }\n } finally {\n this.loading = false;\n this.loadingAllComponent = false;\n }\n }\n\n private async updateMetadata(pinInfo: IPinSent, cellphone: number) {\n try {\n if (this.reservedInfo.isExpired()) {\n console.log('[CRM:updateMetadata]')\n await persisteMetadata(this.storeName, this.cartId, {\n createdAt: Date.now(),\n url: window.location.href,\n storeId: pinInfo.storeId,\n userId: pinInfo.userId,\n cellphone: cellphone,\n });\n\n localStorage.removeItem(\"bc:time\");\n } else {\n await persisteMetadata(this.storeName, this.cartId, {\n url: window.location.href,\n storeId: pinInfo.storeId,\n userId: pinInfo.userId,\n cellphone: cellphone,\n });\n }\n } catch (error) {\n console.error('[CRMBONUS:updateMetadata]: ', error);\n }\n }\n\n public handleCancel() {\n // this.step = StepFormEnum.STEP_PHONE;\n this.cancel()\n }\n\n async cancel() {\n this.message = \"\";\n this.loading = true;\n try {\n await this.crmBonusService.cancel(this.cartId);\n\n localStorage.setItem(USED_KEY, \"dontUse\");\n // this.save(0)\n await this.updateMetadata({ storeId: null, userId: null }, null);\n } catch (error) {\n this.message = \"Não consegui cancelar o bônus, tente novamente!\"\n } finally {\n this.loading = false;\n }\n }\n\n public async reserveApply(amount: number) {\n this.loading = true;\n this.message = \"\";\n try {\n await this.reserve(amount);\n // this.save(amount);\n\n } catch (error) {\n this.message = \"ocorreu um error ao solicitar a aplicação do bonus! tente novamente\"\n\n this.step = StepFormEnum.STEP_NO_BONUS;\n localStorage.removeItem(this.cartId);\n } finally {\n this.loading = false;\n }\n }\n\n // save(amount: number) {\n // localStorage.setItem(this.cartId, amount.toString());\n // }\n\n public async reserve(amount: number) {\n\n await this.crmBonusService.reserve({\n redeemedBonus: amount,\n cartId: this.cartId,\n ticket: this.cartId,\n grossValue: Number(this.bonus.totalValue),\n storeName: this.storeName,\n storeId: this.bonus.storeId.toString(),\n userId: this.bonus.userId\n });\n }\n\n render() {\n return (\n <div class=\"crm-container-form fbits-responsive-carrinho-desconto\" style={this.customStyles} >\n \n <label class=\"crm-title\">{this.config.giftbackTitle}</label>\n\n {\n this.error && (<label class=\"crm-message-error\">{this.error}</label>)\n }\n\n {this.step === StepFormEnum.STEP_PHONE &&\n <phone-form\n value={this.customer.phone}\n config={this.config}\n loading={this.loading}\n handlerSubmit={(phone) => this.handleSendPin(phone)}\n />}\n {\n this.step === StepFormEnum.STEP_PIN &&\n <pin-form\n config={this.config}\n phone={this.phone}\n cancel={() => this.changePhone()}\n resend={() => this.sendPin()}\n validate={(data) => this.validateBonus(data)}\n loading={this.loading}\n >\n {this.sucess && <p class=\"crm-message-info\">{this.sucess}</p>}\n {this.error && <p class=\"crm-message-error\">{this.error}</p>}\n\n </pin-form>\n }\n\n {\n this.step === StepFormEnum.STEP_RESERVE &&\n <giftback-info\n storeName={this.storeName}\n infoBonus={this.reservedInfo}\n config={this.config}\n loading={this.loading}\n cancel={() => this.handleCancel()}\n bonus={this.bonus}\n reserve={() => this.processBonus()}\n cartId={this.cartId}\n />\n }\n\n {\n this.step === StepFormEnum.STEP_NO_BONUS &&\n (\n <div class=\"container-message\">\n {i18next.t(\"noGiftback\", { storename: this.config.giftbackTitle })}\n </div>\n )\n\n }\n </div>\n )\n }\n}","<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->\r\n<svg width=\"800px\" height=\"800px\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M12 17.75C12.4142 17.75 12.75 17.4142 12.75 17V11C12.75 10.5858 12.4142 10.25 12 10.25C11.5858 10.25 11.25 10.5858 11.25 11V17C11.25 17.4142 11.5858 17.75 12 17.75Z\" fill=\"#1C274C\"/>\r\n<path d=\"M12 7C12.5523 7 13 7.44772 13 8C13 8.55228 12.5523 9 12 9C11.4477 9 11 8.55228 11 8C11 7.44772 11.4477 7 12 7Z\" fill=\"#1C274C\"/>\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.25 12C1.25 6.06294 6.06294 1.25 12 1.25C17.9371 1.25 22.75 6.06294 22.75 12C22.75 17.9371 17.9371 22.75 12 22.75C6.06294 22.75 1.25 17.9371 1.25 12ZM12 2.75C6.89137 2.75 2.75 6.89137 2.75 12C2.75 17.1086 6.89137 21.25 12 21.25C17.1086 21.25 21.25 17.1086 21.25 12C21.25 6.89137 17.1086 2.75 12 2.75Z\" fill=\"#1C274C\"/>\r\n</svg>",".crm-tooltip-container {\n display: flex;\n\n & img {\n width: 16px;\n margin-left: 3px;\n position: relative;\n }\n}\n\n.crm-tooltip {\n position: relative;\n display: inline-block;\n}\n\n.crm-tooltip .tooltiptext {\n visibility: hidden;\n background-color: black;\n color: #fff;\n text-align: center;\n padding: 8px 12px;\n border-radius: 0px;\n position: absolute;\n z-index: 1;\n min-width: 271px;\n top: 100%;\n left: 50%;\n margin-left: -238px;\n}\n\n@container (max-width: 410px) {\n .crm-tooltip .tooltiptext {\n margin-left: -14px;\n }\n\n .crm-tooltip #crm-role-description {\n margin-left: -151px;\n }\n}\n\n@container (max-width: 250px) {\n .crm-tooltip .tooltiptext {\n margin-left: -201px;\n }\n}\n\n.crm-tooltip:hover .tooltiptext {\n visibility: visible;\n}","import { Component, h, Prop } from \"@stencil/core\";\nimport info from '../../assets/svg/info-circle-svgrepo-com.svg';\n\n\n@Component({\n tag: 'crm-tooltip',\n styleUrl: 'crm-tooltip.css'\n})\nexport class Tooltip {\n\n @Prop() text: string;\n @Prop() identity: string;\n\n render() {\n return (\n <div class=\"crm-tooltip-container crm-tooltip\">\n <img src={info} />\n <span id={this.identity} class=\"tooltiptext\">{this.text}</span>\n </div>\n );\n }\n}",":host {\n --text-color: #6D6D5F\n}\n\n.giftback-container {\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\nh3 {\n /* font-size: 1.2rem; */\n margin-bottom: 8px;\n color: #333;\n}\n\n.container-description {\n display: flex;\n align-items: center;\n gap: 5px;\n margin: 0 0 10px 0;\n}\n\n.container-description p {\n /* font-size: 14px; */\n font-weight: 400;\n margin: 0px;\n}\n\n\np {\n /* font-size: 14px; */\n color: #000;\n}\n\n.value-display h2 {\n color: #6D6D5F;\n /* Verde para o valor atual */\n /* font-size: 1.6rem; */\n margin: 16px 0;\n}\n\ninput[type='range'] {\n width: 100%;\n margin: 12px 0;\n -webkit-appearance: none;\n background: #ddd;\n height: 4px;\n border-radius: 4px;\n outline: none;\n padding: 3px 0px 3px 3px;\n}\n\n/* input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 16px;\n height: 16px;\n background: var(--text-color);\n border-radius: 50%;\n cursor: pointer;\n} */\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 20px;\n height: 20px;\n background: rgb(109, 109, 95);\n /* Cor do botão */\n border-radius: 50%;\n cursor: pointer;\n}\n\n.options {\n margin: 0px 0;\n display: flex;\n gap: 10px;\n flex-direction: column;\n}\n\n.options label {\n display: flex;\n margin: 0px 0;\n /* font-size: 0.9rem; */\n color: #333;\n align-items: center;\n}\n\n.options input[type='radio'] {\n margin-right: 8px;\n height: 16px;\n width: 16px;\n}\n\n.options input[type='radio'] {\n appearance: none;\n -webkit-appearance: none;\n margin-right: 8px;\n width: 16px;\n height: 16px;\n border: 2px solid #ddd;\n border-radius: 50%;\n background-color: #fff;\n cursor: pointer;\n transition: all 0.3s;\n padding: 0px;\n}\n\n.options input[type='radio']:checked {\n border-color: #000;\n background-color: #FAFAFA;\n border: 4px solid #000;\n}\n\n.info-box {\n background-color: #f9f9f9;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n padding: 8px;\n /* font-size: 14px; */\n color: #262626;\n line-height: 20px;\n}\n\n.info-icon {\n /* font-size: 0.9rem; */\n cursor: pointer;\n color: #888;\n}\n\nh3 {\n /* font-size: 1.2rem; */\n margin-bottom: 8px;\n color: #333;\n}\n\n.slider-wrapper {\n position: relative;\n margin: 21px 0px 0px 0px;\n}\n\n.slider {\n width: 100%;\n -webkit-appearance: none;\n background: #ddd;\n height: 4px;\n border-radius: 2px;\n outline: none;\n}\n\n.slider::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 16px;\n height: 16px;\n background: var(--text-color);\n /* Azul para o slider */\n border-radius: 50%;\n cursor: pointer;\n}\n\n.slider-value {\n position: absolute;\n top: -30px;\n /* Posição acima do slider */\n /* font-size: 16px; */\n font-weight: 700;\n color: var(--text-color);\n /* Verde para o texto */\n transform: translateX(-50%);\n white-space: nowrap;\n /* margin-left: 23px; */\n}\n\n.options-option {\n display: flex;\n}\n\n\n/* ########################################## */\n","import { Component, Prop, State, Watch, h } from \"@stencil/core\";\nimport { IBonus } from \"../../../../dto/validate.pin.bonus\";\n\nimport i18next from '../../../../i18n/i18n'\nimport { USED_KEY } from \"../../../../utils/keys.storage\";\nimport { defineLimit, formatDateToBr } from \"../../../../utils/utils\";\nimport { IInfoStore } from \"../../../../helpers/info.config.helper\";\nimport { ReservedInfoDTO } from \"../../../../dto/reserved-info.dto\";\nimport { persisteMetadata } from \"../../../../helpers/cart.helper\";\n\n@Component({\n tag: 'giftback-info',\n styleUrls: ['giftback-info.css']\n})\nexport class GiftbackInfo {\n\n private _refIinputRange: HTMLInputElement;\n\n @State() usedValue: number = 0;\n @State() selectedOption: string = 'none';\n\n @Prop() cartId;\n @Prop() loading: boolean = false;\n @Prop() bonus: Partial<IBonus> = {\n totalBonus: 0,\n cartId: \"\",\n minimumPurchase: 0,\n bonusBalance: 0,\n calculatedValue: 0,\n firstValidityDate: \"\",\n totalValue: 0\n };\n @Prop() reserve: (amountRedeemed: number) => void;\n @Prop() cancel: () => void;\n @Prop() config: IInfoStore;\n @Prop() infoBonus: ReservedInfoDTO;\n @Prop() storeName: string\n\n @State() sliderPosition: number = 0;\n @State() sliderValuePosition: number = 0;\n\n @State() loadingTime = false;\n\n @Watch(\"bonus\")\n changedBonus() {\n this.updateBonus()\n }\n\n private updateBonus() {\n this.usedValue = this.bonus.bonusBalance;\n this.buildPositionSlider(0, this.bonus.totalBonus);\n }\n\n componentWillLoad() {\n this.updateBonus();\n this.selectedOption = localStorage.getItem(USED_KEY);\n }\n\n handleSliderChange(event: Event) {\n const input = event.target as HTMLInputElement;\n this.usedValue = parseFloat(input.value);\n\n // Calculando a posição do texto com base no valor do slider\n // const percentage = ((this.usedValue - parseInt(input.min)) / (parseInt(input.max) - parseInt(input.min))) * 100;\n // this.sliderPosition = percentage;\n\n this.buildPositionSlider(parseFloat(input.min), parseFloat(input.max))\n }\n\n componentDidLoad() {\n if (this.bonus) {\n this._refIinputRange.value = this.bonus?.bonusBalance.toString();\n }\n }\n\n private buildPositionSlider(min: number, max: number) {\n\n const percentage_init = max * 0.1;\n\n // Calculando a posição do texto com base no valor do slider\n const percentage = ((this.usedValue - min) / (max - min)) * 100;\n\n this.sliderPosition = percentage;\n this.sliderValuePosition = percentage + (this.usedValue <= percentage_init ? 10 : 0);\n }\n\n async handleOptionChange(option: string) {\n this.selectedOption = option;\n\n localStorage.setItem(USED_KEY, option);\n\n await persisteMetadata(this.storeName, this.cartId, { ...this.infoBonus.metadata, createdAt: null })\n\n switch (this.selectedOption) {\n case 'use':\n await this.reserve(this.usedValue);\n break;\n case 'dontUse':\n await this.cancel();\n break;\n default:\n }\n }\n\n showTime() {\n if (!this.infoBonus) return false;\n\n return !this.infoBonus.isExpired();\n\n // return this.infoBonus.isBonusProcessed\n }\n\n getTime() {\n\n const createdAt = new Date(this.infoBonus?.metadata?.createdAt);\n const expiration = new Date(createdAt);\n expiration.setMinutes(expiration.getMinutes() + 6);\n\n return {\n createdAt,\n expiration\n }\n }\n\n async downtime() {\n await persisteMetadata(this.storeName, this.bonus.cartId, {\n createdAt: null,\n })\n }\n\n render() {\n console.log('this.bonus', this.bonus)\n const remainingGiftback = this.bonus.minimumPurchase - this.bonus.totalValue;\n\n const translateDescription = i18next.t(\"giftDescription\", { amount: `${this.bonus?.totalBonus?.toFixed(2).replace(\".\", \",\")}`, custom_name: \"Giftback\" })\n\n const limit = defineLimit(remainingGiftback);\n\n return (\n\n <div class=\"giftback-container\">\n <div class=\"container-description\">\n <p innerHTML={translateDescription}></p>\n <crm-tooltip identity=\"crm-role-description\" text={i18next.t(\"labelUseGiftback\", { minimumPurchase: this.bonus.minimumPurchase, expírationDate: formatDateToBr(this.bonus.firstValidityDate) })} />\n </div>\n <div class=\"slider-wrapper\">\n <div\n class=\"slider-value\"\n style={{\n left: `calc(${this.sliderValuePosition}% - 20px)`, // Ajuste para centralizar o texto\n\n }}\n >\n R$ {this.usedValue.toFixed(2).replace(\".\", \",\")}\n </div>\n <input\n ref={ref => this._refIinputRange = ref}\n id=\"position_value_id\"\n disabled\n type=\"range\"\n min=\"0\"\n max={this.bonus.totalBonus}\n value={this.usedValue}\n class=\"slider\"\n step=\"0.01\"\n onInput={(event) => this.handleSliderChange(event)}\n style={{\n background: `linear-gradient(to right, #6D6D5F ${this.sliderPosition}%, #ddd ${this.sliderPosition}%)`,\n }}\n />\n </div>\n\n {\n limit.isComplete && (\n <p>\n {i18next.t(\"maxAmount\")}\n </p>\n )\n }\n\n {\n !limit.isComplete && (\n <div class=\"container-description\">\n <p>\n Adicione <strong>R$ {remainingGiftback < 0 ? \"0,00\" : remainingGiftback.toFixed(2).replace(\".\", \",\")}</strong> ao carrinho para atingir o valor\n máximo!\n </p>\n <crm-tooltip identity=\"crm-max-description\" text={i18next.t(\"labelamountPartial\")} />\n </div>\n )\n }\n\n\n <div class=\"options\">\n <div class=\"options-option\">\n <input\n disabled={this.showTime()}\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"use\"\n checked={this.selectedOption === 'use'}\n onChange={() => this.handleOptionChange('use')}\n />\n <p>Usar o meu {this.config?.giftbackTitle}</p>\n </div>\n <div class=\"options-option\">\n <input\n disabled={this.showTime()}\n type=\"radio\"\n name=\"giftbackOption\"\n value=\"dontUse\"\n checked={this.selectedOption === 'dontUse'}\n onChange={() => this.handleOptionChange('dontUse')}\n />\n <p>Não usar o meu {this.config?.giftbackTitle}</p>\n </div>\n </div>\n\n {\n this.showTime() &&\n (\n <div class=\"info-box\">\n Após <countdown-timer dataCriacao={new Date(this.infoBonus?.metadata?.createdAt).toString()} downtime={() => { window.location.reload() }} />, você poderá alterar sua escolha de usar ou não o Giftback.\n </div>\n )\n }\n\n {\n !this?.infoBonus?.isBonusProcessed && (\n <div class=\"info-box\">\n O Giftback será aplicado na próxima etapa.\n </div>\n )\n }\n\n </div>\n );\n }\n}","/* Estilo para centralizar o container do loading */\n.loading-container {\n position: absolute;\n /* Fixa o loading na tela */\n top: 0;\n left: 0;\n width: 100%;\n /* Tamanho total da tela */\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n /* Fundo semitransparente */\n display: flex;\n /* Centraliza o conteúdo */\n justify-content: center;\n align-items: center;\n z-index: 1000;\n flex-direction: column;\n /* Coloca o loading acima de outros elementos */\n}\n\n.loading-container p {\n margin: 6px 0px;\n color: white;\n font-size: large;\n}\n\n/* Estilo do spinner (círculo giratório) */\n.loading-spinner {\n width: 40px;\n height: 40px;\n border: 5px solid rgba(255, 255, 255, 0.3);\n /* Borda semitransparente */\n border-top: 5px solid white;\n /* Borda que será animada */\n border-radius: 50%;\n /* Faz o círculo */\n animation: spin 1s linear infinite;\n /* Gira continuamente */\n}\n\n/* Keyframes para a animação de rotação */\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.relative-xy {\n position: relative;\n}","import { Component, Prop, h } from \"@stencil/core\";\n\n@Component({\n tag: 'loading-container',\n styleUrl: 'loading-container.css'\n})\nexport class LoadingContainer {\n\n @Prop() loading: boolean = true;\n @Prop() text: string = null;\n\n render() {\n return (\n <div class=\"relative-xy\">\n {\n this.loading && (\n <div class=\"loading-container\">\n <div class=\"loading-spinner\"></div>\n {this.text && <p>{this.text}</p>}\n </div>\n )\n }\n <slot></slot>\n </div>\n )\n }\n}",".spinner {\n display: inline-block;\n border: 4px solid transparent;\n border-radius: 50%;\n border-top-color: var(--color, #0078d7);\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}","import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'loading-spinner',\n styleUrl: 'loading-spinner.css',\n shadow: true,\n})\nexport class LoadingSpinner {\n @Prop() size: string = '50px'; // Tamanho do spinner (padrão 50px)\n @Prop() color: string = '#0078d7'; // Cor do spinner (padrão azul)\n\n render() {\n return (\n <div class=\"spinner\" style={{ width: this.size, height: this.size, borderColor: `${this.color} transparent transparent transparent` }}></div>\n );\n }\n}\n","* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n /* font-size: var(--crmfont-sizebodymd); */\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n /* font-size: 14px; */\n font-size: .875rem;\n line-height: 1.25rem;\n \n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n /* font-size: 16px; */\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n /* font-size: 12px; */\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n /* font-size: 12px; */\n}","import { Component, Host, Prop, h } from \"@stencil/core\";\nimport { IInfoStore } from \"../../../../helpers/info.config.helper\";\n\n@Component({\n tag: 'phone-form',\n styleUrl: '../../giftback-form.css',\n shadow: false\n})\nexport class PhoneForm {\n\n private phoneInputMask: HTMLPhoneInputMaskElement;\n\n @Prop() value: string;\n @Prop() loading: boolean;\n @Prop() handlerSubmit: (phone: string) => void;\n\n @Prop() config: IInfoStore;\n\n\n async handlePhone() {\n\n const phone = await this.phoneInputMask.getPhone()\n\n await this.handlerSubmit(phone);\n }\n\n\n render() {\n return (\n <Host class=\"crm-phone-form\">\n <p class=\"crm-subtitle\" >Digite o seu celular para verificar se há desconto disponível nessa compra:</p>\n <phone-input-mask initialValue={this.value} ref={ref => this.phoneInputMask = ref} />\n\n <crm-button txtBtn={this.config?.btnApplyBonusLabel || \"Avançar\"} loading={this.loading} handleClick={() => this.handlePhone() } />\n </Host>\n )\n }\n}","* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n.phone {\n display: block;\n width: 100%;\n height: 24px;\n padding: 6px 12px;\n /* font-size: 14px; */\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 0px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n\n\n.phone-input-form {\n width: 100%;\n height: 48px;\n padding: 13px 16px 13px 16px;\n border: 1px solid #CCCCCC;\n /* font-size: 14px; */\n}\n\n.crm-erro-msg {\n color: #E11D48;\n /* font-size: 12px; */\n font-weight: 500;\n margin-top: 11px;\n}\n","import { Component, h, Method, Prop, State } from '@stencil/core';\nimport { MESSAGE_ERROR_INVALID_NUMBER } from '../../contants';\n\n@Component({\n tag: 'phone-input-mask',\n styleUrl: 'phone-input-mask.css',\n shadow: true,\n})\nexport class PhoneInputMask {\n @State() phone: string = '';\n @State() message: string = \"\";\n\n @Prop() initialValue: string;\n @Prop() disabled: boolean;\n\n componentWillLoad() {\n this.phone = this.initialValue;\n }\n\n private formatPhone(value: string): string {\n\n const cleaned = value.replace(/\\D/g, ''); // Remove tudo que não for número\n const match = cleaned.match(/^(\\d{0,2})(\\d{0,5})(\\d{0,4})$/);\n\n if (!match) return value;\n\n const part1 = match[1] ? `(${match[1]}` : '';\n const part2 = match[2] ? `) ${match[2]}` : '';\n const part3 = match[3] ? ` ${match[3]}` : '';\n\n return `${part1}${part2}${part3}`;\n }\n\n private handleInput(event: Event): void {\n const input = event.target as HTMLInputElement;\n this.phone = this.formatPhone(input.value);\n\n if(!this.validatePhoneNumber(input.value)) {\n this.message = MESSAGE_ERROR_INVALID_NUMBER\n } else {\n this.message = \"\"\n }\n\n console.log('phone', this.phone)\n }\n\n validatePhoneNumber(phone: string): boolean {\n if(phone.length < 15) {\n return true\n }\n const phoneRegex = /^\\(\\d{2}\\) \\d{5} \\d{4}$/; // Valida formato (99) 99999-9999\n return phoneRegex.test(phone);\n }\n\n @Method()\n public async getPhone() {\n return this.phone;\n }\n\n render() {\n return (\n <div>\n <input\n disabled={this.disabled}\n id=\"phone\"\n type=\"text\"\n class=\"phone-input-form\"\n value={this.phone}\n onInput={(event) => this.handleInput(event)}\n placeholder=\"(99) 99999 9999\"\n />\n <p class=\"crm-erro-msg\">{this.message}</p>\n </div>\n\n );\n }\n}\n",":host {\n display: block;\n}\n\n.form-container-pin {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.pin-container {\n display: flex;\n /* margin: 26px 0; */\n justify-content: start;\n gap: 10px;\n}\n\n.pin-container input {\n width: 100%;\n height: 48px;\n /* font-size: 14px; */\n text-align: center;\n border: 1px solid #ccc;\n border-radius: 5px;\n}\n\nbutton {\n padding: 10px 20px;\n background-color: #ddd;\n border: none;\n border-radius: 5px;\n cursor: pointer;\n}\n\n\n.success {\n color: green;\n margin-top: 10px;\n}\n\n.button {\n top: 50%;\n background-color: #6c6c7e;\n color: #fff;\n border: none;\n border-radius: 10px;\n padding: 15px;\n min-height: 30px;\n min-width: 120px;\n /* font-size: 20px; */\n cursor: pointer;\n}\n\n.button-cancel {\n top: 50%;\n background-color: #ffffff;\n color: #1e1c1c;\n border: 1px solid gray;\n border-radius: 10px;\n padding: 10px;\n min-height: 30px;\n min-width: 120px;\n /* font-size: 19px; */\n cursor: pointer;\n}\n\n.crm-description {\n /* font-size: 14px; */\n width: 100%;\n display: flex;\n gap: 9px;\n flex-wrap: wrap;\n}\n\n.crm-description a {\n font-weight: bold;\n cursor: pointer;\n text-decoration: underline;\n}\n\n.crm-description div {\n display: flex;\n gap: 5px;\n}","* {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n}\n\n:host {\n --crmfont-sizebodymd: 14px;\n --crmline-heightbodymd: 20px;\n --crmletter-spacingtitle-md: 0px\n}\n\n.container-message {\n /* font-size: var(--crmfont-sizebodymd); */\n font-weight: 400;\n line-height: var(--crmline-heightbodymd);\n letter-spacing: var(--crmletter-spacingtitle-md);\n text-align: left;\n text-underline-position: from-font;\n text-decoration-skip-ink: none;\n}\n\n.crm-container-form {\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n height: auto;\n padding: 20px 24px 20px 24px;\n border: 1px solid #CCCC;\n writing-mode: horizontal-tb;\n gap: 16px;\n border-top: 1px solid #ccc !important;\n border-bottom: 1px solid #ccc !important;\n}\n\n/* .fbits-responsive-carrinho-desconto {\n overflow: hidden;\n border: 1px solid #ccc;\n border-top: 0;\n border-bottom: 0;\n} */\n\n.crm-phone-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n /* justify-content: space-around; */\n gap: 16px;\n}\n\n.crm-subtitle {\n /* font-size: 14px; */\n font-size: .875rem;\n line-height: 1.25rem;\n \n}\n\n.crm-title {\n font-weight: 700;\n line-height: 20px;\n color: #262626;\n /* font-size: 16px; */\n}\n\n.crm-message-info {\n color: #619013;\n font-weight: 500;\n /* font-size: 12px; */\n}\n\n.crm-message-error {\n color: #E11D48;\n font-weight: 500;\n /* font-size: 12px; */\n}","import { Component, h, Prop, State } from '@stencil/core';\nimport { IPinSent } from '../../../../dto/pin.sent';\nimport i18next from '../../../../i18n/i18n'\nimport { IInfoStore } from '../../../../helpers/info.config.helper';\n\n@Component({\n tag: 'pin-form',\n styleUrls: ['pin-form.css', '../../giftback-form.css'],\n shadow: true,\n})\nexport class GiftbackPin {\n\n @Prop() validate: (pin: string) => void;\n @Prop() cancel: () => void;\n @Prop() resend: () => void;\n\n @Prop() sent: IPinSent;\n @Prop() loading: boolean = false;\n @Prop() phone: string;\n @Prop() config: IInfoStore;\n\n @State() pin: string[] = ['', '', '', ''];\n @State() isVerified: boolean = false;\n @State() canResend: boolean = false;\n\n componentWillLoad() {\n this.canResend = false;\n }\n\n handleInput(event: Event, index: number) {\n const input = event.target as HTMLInputElement;\n const value = input.value.slice(0, 1); // Limitar a um único dígito\n this.pin[index] = value;\n\n // Focar no próximo campo, se possível\n if (value && index < this.pin.length - 1) {\n const nextInput = input.nextElementSibling as HTMLInputElement;\n nextInput?.focus();\n }\n\n this.pin = [...this.pin];\n }\n\n validatePin() {\n localStorage.removeItem(\"bc:resend\")\n this.validate(this.pin.join(\"\"))\n }\n\n verifyPin() {\n const pinCode = this.pin.join('');\n if (pinCode === '9999') {\n this.isVerified = true;\n }\n }\n\n handleTimeout() {\n localStorage.removeItem(\"bc:resend\")\n this.canResend = true;\n }\n\n async handleResend() {\n await this.resend();\n\n this.canResend = false;\n this.pin = ['', '', '', ''];\n localStorage.removeItem(\"bc:resend\")\n }\n\n buildTime() {\n const resendDate = localStorage.getItem(\"bc:resend\");\n\n if(resendDate) {\n return resendDate;\n }\n\n const date = new Date();\n date.setSeconds(date.getSeconds() + 30);\n localStorage.setItem(\"bc:resend\", date.toString());\n\n return date.toString();\n }\n\n render() {\n return (\n <div class=\"crm-phone-form\">\n <label class=\"crm-subtitle\" >{i18next.t('pin-sutitle')} <strong>+55 {this.phone}</strong></label>\n <div class=\"pin-container\">\n {this.pin.map((_, index) => (\n <input\n type=\"text\"\n maxLength={1}\n value={this.pin[index]}\n onInput={(event) => this.handleInput(event, index)}\n />\n ))}\n </div>\n\n <slot></slot>\n\n <p class=\"crm-description\"> Não recebeu?\n {\n !this.canResend && <label> Reenviar em \n <countdown-timer minutos={0} segundos={30} dataCriacao={this.buildTime()} downtime={() => this.handleTimeout()} /> </label>\n }\n {\n this.canResend && (\n <div >\n <a onClick={() => this.handleResend()}>Reenviar</a>\n <a onClick={() => this.cancel()}>Trocar número</a>\n </div>\n )\n }\n </p>\n <crm-button txtBtn={this.config?.btnApplyBonusLabel || \"Avançar\"} loading={this.loading} handleClick={() => this.validatePin()} />\n </div >\n );\n }\n}\n"],"mappings":"2SAKaA,EAAc,M,yFAIG,E,cACC,G,6BAM3B,iBAAAC,GACI,MAAMC,EAAaC,KAAKC,QAAUD,KAAKE,SAAW,IAClD,MAAMC,EAAO,IAAIC,KAAKJ,KAAKK,aAC3B,MAAMC,EAAQ,IAAIF,KAClB,MAAMG,EAAeD,EAAME,UAAYL,EAAKK,UAE5C,GAAID,GAAgBR,EAAY,CAC5BC,KAAKS,cAAgB,EACrBT,KAAKU,iB,KACF,CACHV,KAAKS,cAAgBV,EAAaQ,EAClCP,KAAKW,gB,EAIb,oBAAAC,GACIC,cAAcb,KAAKc,W,CAGvB,cAAAH,GACIX,KAAKc,WAAaC,aAAY,KAC1Bf,KAAKS,eAAiB,IACtB,GAAIT,KAAKS,eAAiB,EAAG,CACzBT,KAAKS,cAAgB,EACrBI,cAAcb,KAAKc,YACnBd,KAAKU,iB,IAEV,I,CAGP,eAAAA,GACIM,QAAQC,IAAI,sCACZjB,KAAKkB,U,CAGT,MAAAC,GACI,MAAMlB,EAAUmB,KAAKC,MAAMrB,KAAKS,cAAgB,KAChD,MAAMP,EAAWkB,KAAKC,MAAOrB,KAAKS,cAAgB,IAAS,KAC3D,MAAMa,EAAiB,GAAGC,OAAOtB,GAASuB,SAAS,EAAG,QAAQD,OAAOrB,GAAUsB,SAAS,EAAG,OAE3F,OACIC,EAAA,SAAAC,IAAA,gDAASJ,E,GC/CrB,IAAYK,GAAZ,SAAYA,GACRA,EAAA,gBACAA,EAAA,sBACAA,EAAA,wBACAA,EAAA,cACH,EALD,CAAYA,MAAe,K,SCRXC,EAAoBC,EAAoC,IAEpEb,QAAQC,IAAI,eAAgBY,GAE5B,MAAMC,EAA4B,GAElC,IAAM,MAAMC,KAAMF,EAAe,CAI7B,MAAMG,EAAoBD,EAAGE,QAAUF,EAAGG,SAC1C,MAAMC,EAAwBJ,EAAGG,SAAWH,EAAGE,QAC/C,MAAMG,EAAyBL,EAAGM,QAAQC,QAAOC,GAAO,CAACZ,EAAgBa,IAAIC,SAASF,EAAIG,QAC1F,MAAMC,EAAqBP,EAAuBQ,OAAS,EAE3D,IAAIC,EAAYC,EAAYf,EAAGM,QAASL,GAExC,IAAIe,EAAQf,EAAmBD,EAAGG,SAAWH,EAAGE,QAChD,MAAMe,EAAehB,EAAmBD,EAAGG,SAAWH,EAAGE,QAEzD,IAAIU,GAAqBR,EAAsB,CAC3CY,EAAQhB,EAAGG,Q,CAGf,IAAIe,EAASF,EAAQhB,EAAGmB,WACxB,IAAIC,EAAiBH,EAAejB,EAAGmB,WAEvC,IAAIE,EAAmBP,GAAa,EAEpCf,EAASuB,KACL,CACIC,IAAKvB,EAAGwB,IACRN,MAAOA,EACPE,cAAeA,EACfK,iBAAkBzB,EAAG0B,kBAAkBC,WACvCC,SAAU5B,EAAGmB,WACbU,SAAUX,EAAQG,EAAkBH,EAAQG,EAC5CT,qB,CAKZ,OAAOb,CACX,CAEA,SAASgB,EAAYe,EAAsB,GAAI7B,GAE3C,IAAIa,EAAY,EAChB,MAAMiB,EAAiB,CAACnC,EAAgBoC,EAAGpC,EAAgBqC,IAE3D,IAAIhC,EAAkB,CAClB8B,EAAeT,KAAK1B,EAAgBa,G,CAGxC,IAAI,MAAMoB,KAAYC,EAAS,CAC3B,GAAGC,EAAerB,SAASmB,EAASlB,MAAO,CACvCG,GAAae,EAASK,K,EAI9B,OAAOpB,CACX,CC/DA,MAAMqB,EAAc,u+BACpB,MAAAC,EAAeD,E,MCmBFE,EAAQ,M,yBAEXpE,KAAAqE,gBAAmCC,EAAgBC,c,mCAK9B,M,eAEC,M,sCAIC,CAC7BC,UAAW,GACXC,SAAU,GACVC,KAAM,GACNC,MAAO,I,aAGmB,M,2DAGE,M,8FAKD,M,YACXC,E,4BAIlB,gBAAMC,GACJ7D,QAAQC,IAAI,4BAEZ,UACQjB,KAAK8E,YAAYC,aAAa/E,KAAKgF,gBAAiB,MAC1DhE,QAAQC,IAAI,wB,CACZ,MAAOgE,GAEPjF,KAAKkF,QAAU,MACflE,QAAQC,IAAI,uCACNjB,KAAK8E,YAAYK,QAAQC,EAAaC,W,SAE5CrF,KAAKkF,QAAU,K,EAKnB,gBAAMI,GACJtF,KAAKuF,mBAAqBvF,KAAKuF,iB,CAIjC,eAAMC,GACJxE,QAAQC,IAAI,0BACZjB,KAAKuF,kBAAoB,KAEzB,IAEE,MAAME,EAAQC,aAAaC,QAAQC,GAEnC,IAAKH,EAAO,OAEZzF,KAAK6F,eAAiBC,UAChB9F,KAAK6E,Y,CACX,MAAOI,GACPjE,QAAQ+E,MAAM,kBAAmBd,EAAIe,Q,SAErChG,KAAKuF,kBAAoB,K,EAI7B,uBAAMzF,G,MACJE,KAAKuF,kBAAoB,KACzBU,OAAOC,iBAAiB,0BAA0BC,UAChDnF,QAAQC,IAAI,6CACNjB,KAAKwF,WAAW,IAGxBS,OAAOC,iBAAiB,sBAAsBC,UAC5CnF,QAAQC,IAAI,yCACNjB,KAAKwF,WAAW,IAGxBf,SAAS2B,iBAAiB,QAAQC,SAASC,IACzCA,EAAGJ,iBAAiB,UAAUC,UAC5BnF,QAAQC,IAAI,uDACNjB,KAAKwF,WAAW,GACtB,KAGJe,EAAA9B,SAAS+B,eAAe,mBAAe,MAAAD,SAAA,SAAAA,EAAEL,iBAAiB,SAASC,UACjEnF,QAAQC,IAAI,uCACZwF,YAAWN,gBACHnG,KAAKwF,WAAW,GACrB,IAAK,UAGJxF,KAAK0G,iBAEXC,EAAQC,eAAeD,EAAQE,S,CAGjC,sBAAMC,GACJ,UACQ9G,KAAK+G,cACX/G,KAAKgH,mBACChH,KAAKiH,iB,CACX,MAAOC,GACPlG,QAAQC,IAAI,a,SAEZjB,KAAKuF,kBAAoB,K,EAMrB,oBAAMmB,GACZ,MAAMS,EAAW1C,SAAS2C,qBAAqB,KAE/C3C,SAASyB,iBAAiB,SAAUmB,I,UAElCrG,QAAQC,IAAI,uBAAwBoG,EAAMC,OAAOC,MAEjDvG,QAAQC,IAAI,uBAAwBoG,EAAMC,OAAOE,IACjDxG,QAAQC,IAAI,uBAAwBoG,EAAMC,QAG1C,GAAI,CAAC,eAAgB,wBAAwB7E,SAAS4E,EAAMC,OAAOE,IAAK,CACtEf,YAAWN,gBACHnG,KAAKwF,YACXxF,KAAK0G,gBAAgB,GACpB,I,CAIL,GAAG,CAAC,aAAajE,SAAS4E,EAAMC,OAAOE,IAAK,CAC1CxH,KAAKqE,gBAAgBoD,cAAalB,EAAAvG,KAAK6F,YAAQ,MAAAU,SAAA,SAAAA,EAAEiB,GAAI,CAAGE,OAAQ,cAAeC,WAAWC,GAAAC,EAAA7H,KAAK6F,YAAQ,MAAAgC,SAAA,SAAAA,EAAEC,SAAK,MAAAF,SAAA,SAAAA,EAAElD,M,KAMpH,IAAK,IAAI4B,KAAMa,EAAU,CACvBnG,QAAQC,IAAI,YAAaqF,EAAGiB,MAC5B,GAAIjB,EAAGiB,KAAK9E,SAAS,kBAAmB,CACtC6D,EAAGJ,iBAAiB,SAASC,UAC3BnF,QAAQC,IAAI,6CAEZwF,YAAWN,gBACHnG,KAAKwF,YACXxF,KAAK0G,gBAAgB,GACpB,IAAK,G,CAKZ,GAAIJ,EAAGiB,KAAK9E,SAAS,eAAgB,CACnC6D,EAAGJ,iBAAiB,SAASC,UAC3BnF,QAAQC,IAAI,+CACZwF,YAAWN,gBACHnG,KAAKwF,YACXxF,KAAK0G,gBAAgB,GACpB,IAAK,G,GAMhB,qBAAMO,GACJ,MAAOc,EAAeC,SAAmBC,QAAQC,IAAI,CACnDlI,KAAKqE,gBAAgB8D,iBAAiBnI,KAAK6F,SAASiC,MAAMpD,MAC1D0D,EAAiCpI,KAAK6F,SAAS2B,GAAIxH,KAAK6F,SAASiC,MAAMpD,QAGzE1E,KAAKqI,aAAeL,EAEpB,GAAID,EAAcO,oBAAqB,CACrCtI,KAAKuI,OAAS,I,EAIlB,mBAAMC,CAAcC,EAAgBd,GAClC,IACE,aAAa3H,KAAKqE,gBAAgBqE,YAAYD,EAAQd,E,CACtD,MAAOT,GACPlG,QAAQkG,MAAM,2CAA4CA,GAC1D,OAAO,I,EAIX,gBAAMF,GACJ,IACE,GAAIhH,KAAK6F,SAAS8C,KAAKnB,GAAI,CACzBxH,KAAKwI,cAAcxI,KAAK6F,SAAS8C,KAAKnB,GAAIxH,KAAK6F,SAASiC,MAAMpD,MAAMkE,MAAMC,IACxE,GAAIA,EAAU,CACZ7I,KAAK6I,SAAWA,C,KAKtB,MAAMC,EAASpD,aAAaC,QAAQ3F,KAAK6F,SAAS2B,IAElD,GAAIsB,EAAQ,CACV9I,KAAK+I,UAAY,KACjB/I,KAAKgJ,aAAeF,C,OAGhB9I,KAAKiJ,oBAAoBjJ,KAAK6F,SAAS/D,S,CAC7C,MAAOoF,GACPlG,QAAQC,IAAI,gB,EAIhB,iBAAM8F,GACJ/G,KAAK6F,SAAW7F,KAAKkJ,KAAOC,EAASC,aAAaC,KAAKC,MAAMtJ,KAAKkJ,aAAepD,IACjF9E,QAAQC,IAAI,yBAA0BjB,KAAK6F,UAE3C7F,KAAKuJ,cAAgBvJ,KAAKqE,gBAAgBmF,SAASxJ,KAAK6F,SAASiC,MAAMpD,MACvE1D,QAAQC,IAAI,yBACZwF,YAAW,KACTzG,KAAK+G,aAAa,GACjB,K,CAGL,yBAAMkC,CAAoBpH,GAExB,MAAMH,EAAM,eAAe1B,KAAK6F,SAAS2B,KAEzC,MAAMiC,EAAiBJ,KAAKK,UAAU7H,GAEtC6D,aAAaiE,QAAQjI,EAAK+H,GAE1B,MAAMG,EAAoBP,KAAKC,MAAM5D,aAAaC,QAAQjE,IAE1D,MAAMI,EAAgC,GAEtC,IAAK,MAAM+H,KAAgBhI,EAAc,CAEvC,MAAOiI,GAAOF,EAAkBtH,QAAOyH,GAAKA,EAAEtG,mBAAqBoG,EAAapG,oBAIhF,GAAIqG,EAAK,CACPhI,EAASuB,KAAI2G,OAAAC,OAAAD,OAAAC,OAAA,GACRJ,GAAY,CACf3H,SAAU4H,EAAI5H,SACdD,QAAS6H,EAAI7H,QACbiB,WAAY4G,EAAI5G,WAChBb,QAASyH,EAAIzH,U,KAEV,CACLP,EAASuB,KAAKwG,E,EAKlB7J,KAAK6F,SAAS/D,SAAWA,C,CAIpB,aAAMoI,CAAQvF,G,QACnB3E,KAAKkF,QAAU,KACflF,KAAKgG,QAAU,GAEf,IAEE,MAAMmE,EAASxF,EAAMyF,QAAQ,MAAO,IACpCpK,KAAK2E,MAAQ0F,OAAOF,GAEpBnK,KAAKsK,WAAatK,KAAKqE,gBAAgB6F,QAAQlK,KAAK2E,MAAO3E,KAAK6I,SAASnE,KAAM1E,KAAK6F,SAASiC,MAAMpD,YAE7F1E,KAAK8E,YAAYK,QAAQC,EAAamF,UAE5CvK,KAAKwK,UAAY,I,CACjB,MAAOtD,GACPlH,KAAKgG,SAAU6B,GAAAtB,EAAAW,IAAK,MAALA,SAAK,SAALA,EAAOuD,YAAQ,MAAAlE,SAAA,SAAAA,EAAEpG,QAAI,MAAA0H,SAAA,SAAAA,EAAE7B,O,SAEtChG,KAAKkF,QAAU,K,EAIZ,iBAAMwF,CAAYC,G,QACvB3K,KAAKkF,QAAU,KACflF,KAAKgG,QAAU,GAEf,IACEhG,KAAK6I,SAASnE,KAAOiG,EAErB3K,KAAKsK,WAAatK,KAAKqE,gBAAgB6F,QAAQlK,KAAK2E,MAAO3E,KAAK6I,SAASnE,KAAM1E,KAAK6F,SAASiC,MAAMpD,YAE7F1E,KAAK8E,YAAYK,QAAQC,EAAamF,UAE5CvK,KAAKwK,UAAY,I,CACjB,MAAOtD,GACPlH,KAAKgG,SAAU6B,GAAAtB,EAAAW,IAAK,MAALA,SAAK,SAALA,EAAOuD,YAAQ,MAAAlE,SAAA,SAAAA,EAAEpG,QAAI,MAAA0H,SAAA,SAAAA,EAAE7B,O,SAEtChG,KAAKkF,QAAU,K,EAInB,aAAAF,G,MACE,OAAOpD,IAAoB2E,EAAAvG,KAAK6F,YAAQ,MAAAU,SAAA,SAAAA,EAAEzE,WAAY,G,CAGxD,gBAAA8I,GACE5K,KAAKwK,UAAY,K,CAGnB,IAAAK,CAAK/B,GACHpD,aAAaiE,QAAQ3J,KAAK6F,SAAS2B,GAAIsB,EAAOpF,YAC9C1D,KAAK+I,UAAY,KACjB/I,KAAKgJ,aAAeF,EAAOpF,U,CAG7B,YAAMoH,GACJ9K,KAAKgG,QAAU,GACfhG,KAAKkF,QAAU,KACf,UACQlF,KAAKqE,gBAAgByG,OAAO9K,KAAK6F,SAAS2B,IAChDxH,KAAK+I,UAAY,MAEjBrD,aAAaqF,WAAW/K,KAAK6F,SAAS2B,G,CACtC,MAAON,GACPlH,KAAKgG,QAAU,iD,SAEfhG,KAAKkF,QAAU,K,EAInB,mBAAM8F,CAAcrG,GAClB3E,KAAKgG,QAAU,GACf,IAAKrB,EAAO,CACV3E,KAAKgG,QAAU,uBACf,M,CAGFhG,KAAK6I,SAASlE,MAAQA,EACtB,MAAMwF,EAASxF,EAAMyF,QAAQ,MAAO,IACpCpK,KAAK2E,MAAQ0F,OAAOF,GAEpB,GAAInK,KAAK6I,SAASnE,KAAM,CACtB,OAAO1E,KAAKkK,QAAQvF,E,OAGhB3E,KAAK8E,YAAYK,QAAQC,EAAa6F,WAC5CjL,KAAKwK,UAAY,I,CAGnB,MAAArJ,G,QAEE,GAAInB,KAAKkL,UAAW,CAClB,OAAO,I,CAGT,OACEzJ,EAAA,qBAAmByD,QAASlF,KAAKuF,kBAAmB4F,KAAK,iBACrDnL,KAAKuF,mBAAqB9D,EAAA,OAAK2J,MAAM,qBAEpCpL,KAAKuF,mBAAqBvF,KAAK6F,UAC9BpE,EAAA,qBACE4J,aAAcrL,KAAKuI,OACnB+C,MAAO,CAAEC,SAAU,YACnBC,IAAKA,GAAOxL,KAAK8E,YAAc0G,EAC/B7D,WAAWE,GAAAtB,EAAAvG,KAAK6F,YAAQ,MAAAU,SAAA,SAAAA,EAAEuB,SAAK,MAAAD,SAAA,SAAAA,EAAEnD,KACjC5C,SAAU9B,KAAKgF,gBACfyG,OAAQzL,KAAK6F,SAAS2B,GACtBqB,SAAU7I,KAAK6I,SACf6C,aAAc,IAAM1L,KAAKgF,gBACzB2G,QAAS,IAAM3L,KAAKgH,aACpBqB,aAAcrI,KAAKqI,e,sDCxYjC,MAAMuD,EAAe,+OACrB,MAAAC,EAAeD,E,MCKFE,EAAM,M,iGAOf,MAAA3K,GACI,OACIM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,uBACP3J,EAAA,UAAAC,IAAA,2CAAQ0J,MAAM,aAAaW,QAAS,IAAM/L,KAAKgM,gBAEtChM,KAAKkF,QAAUlF,KAAKiM,OAASxK,EAAA,mBAAiByK,KAAK,OAAOC,MAAM,U,aClBzF,MAAMC,EAAkB,m3BACxB,MAAAC,EAAeD,E,MCgBFhI,EAAQ,M,yBAGXpE,KAAAqE,gBAAmCC,EAAgBC,c,4OAa/B,M,6EAIEa,EAAakH,a,iCAGjB,G,WACD,G,yCAEA,M,yBAEM,K,CAG/B,aAAMnH,CAAQoH,GACZvM,KAAKuM,KAAOA,C,CAId,kBAAMxH,CAAajD,EAAuB,GAAI0K,EAAgB,aACtDxM,KAAK0L,eACX1L,KAAKyM,OAAS,GAEd,GAAID,EAAe,CACjBxM,KAAK8B,SAAWA,C,CAGlB,MAAM4K,EAAShH,aAAaC,QAAQgH,EAAsB3M,KAAKyL,SAC/DzK,QAAQC,IAAI,WAAYyL,GACxB,GAAIA,EAAQ,CAEV,MAAME,EAAQvD,KAAKC,MAAMoD,GAEzB,IAAIE,EAAMC,UAAYD,EAAMnE,OAAQ,CAClC,M,CAGFzI,KAAK4M,MAAQA,EAEb5M,KAAK2E,MAAQiI,EAAMjI,MACnB3E,KAAK8M,QAAU,CACbD,QAASD,EAAMC,QACfpE,OAAQmE,EAAMnE,cAGVzI,KAAK+M,cAAc,O,EAI7B,mBAAM/B,CAAcrG,SACZ3E,KAAK2L,UACX3L,KAAKgG,QAAU,GACf,IAAKrB,EAAO,CACV3E,KAAKgG,QAAU,uBACf,M,CAGFhG,KAAK2E,MAAQA,EAEb3E,KAAKkK,S,CAGP,uBAAMpK,GACJE,KAAKyM,OAAS,GACdzM,KAAKkH,MAAQ,GACblH,KAAKgN,OAASC,EAAqBjN,KAAK2H,WAExC,MAAMuF,EAAalN,KAAKmN,sBAExB,GAAID,EAAY,CACdlN,KAAKuM,KAAOnH,EAAaC,WACzB,M,OAGIrF,KAAK+E,c,CAIb,mBAAAoI,GACE,MAAMC,EAAiB1H,aAAaC,QAAQgH,EAAsB3M,KAAKyL,SAEvE,IAAK2B,EAAgB,OAAO,KAE5B,MAAMR,EAAQvD,KAAKC,MAAM8D,GAEzB,OAAQR,EAAMS,Q,CAGR,qBAAAC,G,MACN,MAAMnD,GAAS5D,EAAAvG,KAAK2E,SAAK,MAAA4B,SAAA,SAAAA,EAAE6D,QAAQ,MAAO,IAC1C,OAAOC,OAAOF,E,CAGT,aAAMD,G,UACXlK,KAAKkF,QAAU,KACflF,KAAKgG,QAAU,GACfhG,KAAKyM,OAAS,GACdzM,KAAKkH,MAAQ,GAEb,IAEE,MAAMiD,EAASnK,KAAKsN,wBACpB,MAAMC,EAAe7H,aAAaC,QAAQ,MAAM3F,KAAK2E,SAErD,IAAK4I,EAAc,CACjBvN,KAAK8M,cAAgB9M,KAAKqE,gBAAgB6F,QAAQC,GAAQ5D,EAAAvG,KAAK6I,YAAQ,MAAAtC,SAAA,SAAAA,EAAE7B,KAAM1E,KAAK2H,U,CAGtF,GAAI4F,EAAc,CAEhB,MAAMX,EAAQvD,KAAKC,MAAMiE,GAEzBvN,KAAK8M,QAAU,CACbD,QAASD,EAAMC,QACfpE,OAAQmE,EAAMnE,cAGVzI,KAAK+M,cAAc,O,KAEpB,CACL/M,KAAKuM,KAAOnH,EAAamF,Q,EAG3B,MAAOrD,GACPlH,KAAKgG,SAAU4B,GAAAC,EAAAX,IAAK,MAALA,SAAK,SAALA,EAAOuD,YAAQ,MAAA5C,SAAA,SAAAA,EAAE1H,QAAI,MAAAyH,SAAA,SAAAA,EAAE5B,O,SAEtChG,KAAKkF,QAAU,K,EAInB,WAAAsI,GACExN,KAAKyM,OAAS,GACdzM,KAAKkH,MAAQ,GACblH,KAAKuM,KAAOnH,EAAaC,U,CAGpB,mBAAM0H,CAAcU,G,4BACzBzN,KAAK0N,oBAAsB,WACrB1N,KAAK0L,eAEX,MAAMiC,EAAajI,aAAaC,QAAQC,GAExC,GAAI+H,GAAc,UAAW,CAC3B3N,KAAKuM,KAAOnH,EAAakH,aACzB,M,CAGFtM,KAAKkF,QAAU,KACflF,KAAKyM,OAAS,GACdzM,KAAKkH,MAAQ,GAEb,MAAM2F,IAAUtG,EAAAvG,KAAK8M,WAAO,MAAAvG,SAAA,SAAAA,EAAEsG,YAAWjF,GAAAC,EAAA7H,KAAKqI,gBAAY,MAAAR,SAAA,SAAAA,EAAE+F,YAAQ,MAAAhG,SAAA,SAAAA,EAAEiF,SACtE,MAAMpE,IAASoF,EAAA7N,KAAK8M,WAAO,MAAAe,SAAA,SAAAA,EAAEpF,WAAUqF,GAAAC,EAAA/N,KAAKqI,gBAAY,MAAA0F,SAAA,SAAAA,EAAEH,YAAQ,MAAAE,SAAA,SAAAA,EAAErF,QACpE,MAAMuF,GAAYC,GAAAC,EAAAlO,KAAKqI,gBAAY,MAAA6F,SAAA,SAAAA,EAAEN,YAAQ,MAAAK,SAAA,SAAAA,EAAED,UAE/C,MAAMG,EAA+B,CACnCV,IAAKA,EACLO,UAAWA,GAAahO,KAAKsN,wBAC7BT,QAASA,IAAO,MAAPA,SAAO,SAAPA,EAASnJ,WAClB+E,OAAQA,IAAM,MAANA,SAAM,SAANA,EAAQ/E,WAChB0K,WAAYpO,KAAKyL,OACjB4C,iBAAkBrO,KAAK8B,SACvB4C,MAAM4J,EAAAtO,KAAK6I,YAAQ,MAAAyF,SAAA,SAAAA,EAAE5J,KACrBiD,UAAW3H,KAAK2H,WAGlB,IACE3H,KAAK4M,YAAc5M,KAAKqE,gBAAgBkK,iBAAiBJ,GAEzD,IAAKnO,KAAK4M,MAAMS,SAAU,CAExB3H,aAAaiE,QAAQgD,EAAsB3M,KAAKyL,QAASpC,KAAKK,UAASM,OAAAC,OAAAD,OAAAC,OAAA,GAAMjK,KAAK4M,OAAK,CAAEjI,MAAO3E,KAAK2E,UAErG3E,KAAKkF,QAAU,MACflF,KAAKuM,KAAOnH,EAAaoJ,cACzB,M,CAGFxO,KAAKyM,OAAS,+BACd/G,aAAaiE,QAAQgD,EAAsB3M,KAAKyL,QAASpC,KAAKK,UAASM,OAAAC,OAAAD,OAAAC,OAAA,GAAMjK,KAAK4M,OAAK,CAAEjI,MAAO3E,KAAK2E,UACrGe,aAAaiE,QAAQ,MAAM3J,KAAK2E,QAAS0E,KAAKK,UAAU1J,KAAK4M,QAE7DlH,aAAaiE,QAAQ/D,EAAU,OAC/BF,aAAaiE,QAAQ3J,KAAKyL,OAAQzL,KAAK4M,MAAM6B,aAAa/K,YAE1D1D,KAAK0O,eAAe,CAAE7B,QAASxC,OAAOwC,GAAUpE,OAAQ4B,OAAO5B,IAAW0F,EAAQH,WAElFhN,QAAQC,IAAI,UAAWjB,KAAK4M,OAC5B5M,KAAKuM,KAAOnH,EAAakH,Y,CAEzB,MAAOpF,GACP,MAAMyH,GAAiBC,GAAAC,EAAA3H,IAAK,MAALA,SAAK,SAALA,EAAOuD,YAAQ,MAAAoE,SAAA,SAAAA,EAAE1O,QAAI,MAAAyO,SAAA,SAAAA,EAAEnE,SAC9C,MAAMA,GAAWqE,EAAA5H,IAAK,MAALA,SAAK,SAALA,EAAOuD,YAAQ,MAAAqE,SAAA,SAAAA,EAAE3O,KAElC,GAAIwO,GAAUA,EAAOlM,SAAS,OAAQ,CACpCzC,KAAKkH,MAAQ,kB,MACR,GAAI,CAAC,IAAK,KAAKzE,SAASgI,EAASsE,YAAa,CACnD/O,KAAKkH,MAAQ,wD,KACR,CACLlH,KAAKkH,MAAQyH,EACb3O,KAAKuM,KAAOnH,EAAaoJ,a,UAG3BxO,KAAKkF,QAAU,MACflF,KAAK0N,oBAAsB,K,EAIvB,oBAAMgB,CAAe5B,EAAmBkB,GAC9C,IACE,GAAIhO,KAAKqI,aAAa2G,YAAa,CACjChO,QAAQC,IAAI,8BACNgO,EAAiBjP,KAAK2H,UAAW3H,KAAKyL,OAAQ,CAClDyD,UAAW9O,KAAK+O,MAChBC,IAAKnJ,OAAOoJ,SAAS9H,KACrBsF,QAASC,EAAQD,QACjBpE,OAAQqE,EAAQrE,OAChBuF,UAAWA,IAGbtI,aAAaqF,WAAW,U,KACnB,OACCkE,EAAiBjP,KAAK2H,UAAW3H,KAAKyL,OAAQ,CAClD2D,IAAKnJ,OAAOoJ,SAAS9H,KACrBsF,QAASC,EAAQD,QACjBpE,OAAQqE,EAAQrE,OAChBuF,UAAWA,G,EAGf,MAAO9G,GACPlG,QAAQkG,MAAM,8BAA+BA,E,EAI1C,YAAAoI,GAELtP,KAAK8K,Q,CAGP,YAAMA,GACJ9K,KAAKgG,QAAU,GACfhG,KAAKkF,QAAU,KACf,UACQlF,KAAKqE,gBAAgByG,OAAO9K,KAAKyL,QAEvC/F,aAAaiE,QAAQ/D,EAAU,iBAEzB5F,KAAK0O,eAAe,CAAE7B,QAAS,KAAMpE,OAAQ,MAAQ,K,CAC3D,MAAOvB,GACPlH,KAAKgG,QAAU,iD,SAEfhG,KAAKkF,QAAU,K,EAIZ,kBAAMqK,CAAazG,GACxB9I,KAAKkF,QAAU,KACflF,KAAKgG,QAAU,GACf,UACQhG,KAAKwP,QAAQ1G,E,CAGnB,MAAO5B,GACPlH,KAAKgG,QAAU,sEAEfhG,KAAKuM,KAAOnH,EAAaoJ,cACzB9I,aAAaqF,WAAW/K,KAAKyL,O,SAE7BzL,KAAKkF,QAAU,K,EAQZ,aAAMsK,CAAQ1G,SAEb9I,KAAKqE,gBAAgBmL,QAAQ,CACjCC,cAAe3G,EACf2C,OAAQzL,KAAKyL,OACbiE,OAAQ1P,KAAKyL,OACbkE,WAAYtF,OAAOrK,KAAK4M,MAAMgD,YAC9BjI,UAAW3H,KAAK2H,UAChBkF,QAAS7M,KAAK4M,MAAMC,QAAQnJ,WAC5B+E,OAAQzI,KAAK4M,MAAMnE,Q,CAIvB,MAAAtH,GACE,OACEM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,wDAAwDE,MAAOtL,KAAKqL,cAE7E5J,EAAA,SAAAC,IAAA,2CAAO0J,MAAM,aAAapL,KAAKgN,OAAO6C,eAGpC7P,KAAKkH,OAAUzF,EAAA,SAAAC,IAAA,2CAAO0J,MAAM,qBAAqBpL,KAAKkH,OAGvDlH,KAAKuM,OAASnH,EAAaC,YAC1B5D,EAAA,cAAAC,IAAA,2CACEuB,MAAOjD,KAAK6I,SAASlE,MACrBqI,OAAQhN,KAAKgN,OACb9H,QAASlF,KAAKkF,QACd4K,cAAgBnL,GAAU3E,KAAKgL,cAAcrG,KAG/C3E,KAAKuM,OAASnH,EAAamF,UAC3B9I,EAAA,YAAAC,IAAA,2CACEsL,OAAQhN,KAAKgN,OACbrI,MAAO3E,KAAK2E,MACZmG,OAAQ,IAAM9K,KAAKwN,cACnBuC,OAAQ,IAAM/P,KAAKkK,UACnB8F,SAAW7P,GAASH,KAAK+M,cAAc5M,GACvC+E,QAASlF,KAAKkF,SAEblF,KAAKyM,QAAUhL,EAAA,KAAAC,IAAA,2CAAG0J,MAAM,oBAAoBpL,KAAKyM,QACjDzM,KAAKkH,OAASzF,EAAA,KAAAC,IAAA,2CAAG0J,MAAM,qBAAqBpL,KAAKkH,QAMpDlH,KAAKuM,OAASnH,EAAakH,cAC3B7K,EAAA,iBAAAC,IAAA,2CACEiG,UAAW3H,KAAK2H,UAChBK,UAAWhI,KAAKqI,aAChB2E,OAAQhN,KAAKgN,OACb9H,QAASlF,KAAKkF,QACd4F,OAAQ,IAAM9K,KAAKsP,eACnB1C,MAAO5M,KAAK4M,MACZ4C,QAAS,IAAMxP,KAAK+E,eACpB0G,OAAQzL,KAAKyL,SAKfzL,KAAKuM,OAASnH,EAAaoJ,eAEzB/M,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,qBACRzE,EAAQsJ,EAAE,aAAc,CAAEC,UAAWlQ,KAAKgN,OAAO6C,iB,aCtXhE,MAAMM,EAA0B,yvCCAhC,MAAMC,EAAgB,03BACtB,MAAAC,EAAeD,E,MCOFE,EAAO,M,qEAKhB,MAAAnP,GACI,OACIM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,qCACP3J,EAAA,OAAAC,IAAA,2CAAK6O,IAAKC,IACV/O,EAAA,QAAAC,IAAA,2CAAM8F,GAAIxH,KAAKyQ,SAAUrF,MAAM,eAAepL,KAAKmL,M,aCjBnE,MAAMuF,EAAkB,kyDACxB,MAAAC,EAAeD,E,MCaFE,EAAY,M,wCAIQ,E,oBACK,O,mCAGP,M,WACM,CAC7BC,WAAY,EACZpF,OAAQ,GACRqF,gBAAiB,EACjBrC,aAAc,EACdsC,gBAAiB,EACjBC,kBAAmB,GACnBpB,WAAY,G,yIAQkB,E,yBACK,E,iBAEhB,K,CAGvB,YAAAqB,GACIjR,KAAKkR,a,CAGD,WAAAA,GACJlR,KAAKmR,UAAYnR,KAAK4M,MAAM6B,aAC5BzO,KAAKoR,oBAAoB,EAAGpR,KAAK4M,MAAMiE,W,CAG3C,iBAAA/Q,GACIE,KAAKkR,cACLlR,KAAKqR,eAAiB3L,aAAaC,QAAQC,E,CAG/C,kBAAA0L,CAAmBjK,GACf,MAAMkK,EAAQlK,EAAMC,OACpBtH,KAAKmR,UAAYK,WAAWD,EAAMtO,OAMlCjD,KAAKoR,oBAAoBI,WAAWD,EAAME,KAAMD,WAAWD,EAAMG,K,CAGrE,gBAAA5K,G,MACI,GAAI9G,KAAK4M,MAAO,CACZ5M,KAAK2R,gBAAgB1O,OAAQsD,EAAAvG,KAAK4M,SAAK,MAAArG,SAAA,SAAAA,EAAEkI,aAAa/K,U,EAItD,mBAAA0N,CAAoBK,EAAaC,GAErC,MAAME,EAAkBF,EAAM,GAG9B,MAAMG,GAAe7R,KAAKmR,UAAYM,IAAQC,EAAMD,GAAQ,IAE5DzR,KAAK8R,eAAiBD,EACtB7R,KAAK+R,oBAAsBF,GAAc7R,KAAKmR,WAAaS,EAAkB,GAAK,E,CAGtF,wBAAMI,CAAmBC,GACrBjS,KAAKqR,eAAiBY,EAEtBvM,aAAaiE,QAAQ/D,EAAUqM,SAEzBhD,EAAiBjP,KAAK2H,UAAW3H,KAAKyL,OAAMzB,OAAAC,OAAAD,OAAAC,OAAA,GAAOjK,KAAKgI,UAAU4F,UAAQ,CAAEsB,UAAW,QAE7F,OAAQlP,KAAKqR,gBACT,IAAK,YACKrR,KAAKwP,QAAQxP,KAAKmR,WACxB,MACJ,IAAK,gBACKnR,KAAK8K,SACX,M,CAKZ,QAAAoH,GACI,IAAKlS,KAAKgI,UAAW,OAAO,MAE5B,OAAQhI,KAAKgI,UAAUgH,W,CAK3B,OAAAxO,G,QAEI,MAAM0O,EAAY,IAAI9O,MAAKyH,GAAAtB,EAAAvG,KAAKgI,aAAS,MAAAzB,SAAA,SAAAA,EAAEqH,YAAQ,MAAA/F,SAAA,SAAAA,EAAEqH,WACrD,MAAMiD,EAAa,IAAI/R,KAAK8O,GAC5BiD,EAAWC,WAAWD,EAAWE,aAAe,GAEhD,MAAO,CACHnD,YACAiD,a,CAIR,cAAMjR,SACI+N,EAAiBjP,KAAK2H,UAAW3H,KAAK4M,MAAMnB,OAAQ,CACtDyD,UAAW,M,CAInB,MAAA/N,G,kBACIH,QAAQC,IAAI,aAAcjB,KAAK4M,OAC/B,MAAM0F,EAAoBtS,KAAK4M,MAAMkE,gBAAkB9Q,KAAK4M,MAAMgD,WAElE,MAAM2C,EAAuB5L,EAAQsJ,EAAE,kBAAmB,CAAEnH,OAAQ,IAAGjB,GAAAtB,EAAAvG,KAAK4M,SAAK,MAAArG,SAAA,SAAAA,EAAEsK,cAAU,MAAAhJ,SAAA,SAAAA,EAAE2K,QAAQ,GAAGpI,QAAQ,IAAK,OAAQqI,YAAa,aAE5I,MAAMC,EAAQC,EAAYL,GAE1B,OAEI7Q,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,sBACP3J,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,yBACP3J,EAAA,KAAAC,IAAA,2CAAGkR,UAAWL,IACd9Q,EAAA,eAAAC,IAAA,2CAAa+O,SAAS,uBAAuBtF,KAAMxE,EAAQsJ,EAAE,mBAAoB,CAAEa,gBAAiB9Q,KAAK4M,MAAMkE,gBAAiB,eAAgB+B,EAAe7S,KAAK4M,MAAMoE,wBAE9KvP,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,kBACP3J,EAAA,OAAAC,IAAA,2CACI0J,MAAM,eACNE,MAAO,CACHwH,KAAM,QAAQ9S,KAAK+R,iCAEtB,MAEG/R,KAAKmR,UAAUqB,QAAQ,GAAGpI,QAAQ,IAAK,MAE/C3I,EAAA,SAAAC,IAAA,2CACI8J,IAAKA,GAAOxL,KAAK2R,gBAAkBnG,EACnChE,GAAG,oBACHuL,SAAQ,KACRC,KAAK,QACLvB,IAAI,IACJC,IAAK1R,KAAK4M,MAAMiE,WAChB5N,MAAOjD,KAAKmR,UACZ/F,MAAM,SACNmB,KAAK,OACL0G,QAAU5L,GAAUrH,KAAKsR,mBAAmBjK,GAC5CiE,MAAO,CACH4H,WAAY,qCAAqClT,KAAK8R,yBAAyB9R,KAAK8R,uBAM5FY,EAAMS,YACF1R,EAAA,KAAAC,IAAA,4CACKiF,EAAQsJ,EAAE,eAMlByC,EAAMS,YACH1R,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,yBACP3J,EAAA,KAAAC,IAAA,wDACaD,EAAA,UAAAC,IAAA,kDAAY4Q,EAAoB,EAAI,OAASA,EAAkBE,QAAQ,GAAGpI,QAAQ,IAAK,MAAc,6CAGlH3I,EAAA,eAAAC,IAAA,2CAAa+O,SAAS,sBAAsBtF,KAAMxE,EAAQsJ,EAAE,yBAMxExO,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,WACP3J,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,kBACP3J,EAAA,SAAAC,IAAA,2CACIqR,SAAU/S,KAAKkS,WACfc,KAAK,QACLtO,KAAK,iBACLzB,MAAM,MACNmQ,QAASpT,KAAKqR,iBAAmB,MACjCgC,SAAU,IAAMrT,KAAKgS,mBAAmB,SAE5CvQ,EAAA,KAAAC,IAAA,2DAAekG,EAAA5H,KAAKgN,UAAM,MAAApF,SAAA,S,EAAEiI,gBAEhCpO,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,kBACP3J,EAAA,SAAAC,IAAA,2CACIqR,SAAU/S,KAAKkS,WACfc,KAAK,QACLtO,KAAK,iBACLzB,MAAM,UACNmQ,QAASpT,KAAKqR,iBAAmB,UACjCgC,SAAU,IAAMrT,KAAKgS,mBAAmB,aAE5CvQ,EAAA,KAAAC,IAAA,+DAAmBmM,EAAA7N,KAAKgN,UAAM,MAAAa,SAAA,S,EAAEgC,iBAKpC7P,KAAKkS,YAEDzQ,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,YAAU,QACZ3J,EAAA,mBAAAC,IAAA,2CAAiBrB,YAAa,IAAID,MAAK0N,GAAAC,EAAA/N,KAAKgI,aAAS,MAAA+F,SAAA,SAAAA,EAAEH,YAAQ,MAAAE,SAAA,SAAAA,EAAEoB,WAAWxL,WAAYxC,SAAU,KAAQ+E,OAAOoJ,SAASiE,QAAQ,IAAM,mEAMpJpF,EAAAlO,OAAI,MAAJA,YAAI,SAAJA,KAAMgI,aAAS,MAAAkG,SAAA,SAAAA,EAAEqF,mBACd9R,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,YAAU,8C,kECrO7C,MAAMoI,EAAsB,qhBAC5B,MAAAC,EAAeD,E,MCKFE,EAAgB,M,sCAEE,K,UACJ,I,CAEvB,MAAAvS,GACI,OACIM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,eAEHpL,KAAKkF,SACDzD,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,qBACP3J,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,oBACVpL,KAAKmL,MAAQ1J,EAAA,KAAAC,IAAA,4CAAI1B,KAAKmL,OAInC1J,EAAA,QAAAC,IAAA,6C,aCtBhB,MAAMiS,EAAoB,kOAC1B,MAAAC,EAAeD,E,MCMFE,EAAc,M,mCACA,O,WACC,S,CAExB,MAAA1S,GACI,OACIM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,UAAUE,MAAO,CAAEwI,MAAO9T,KAAKkM,KAAM6H,OAAQ/T,KAAKkM,KAAM8H,YAAa,GAAGhU,KAAKmM,8C,aCbpG,MAAMC,EAAkB,m3BACxB,MAAA6H,EAAe7H,E,MCOF8H,EAAS,M,wHAWlB,iBAAMC,GAEF,MAAMxP,QAAc3E,KAAKoU,eAAeC,iBAElCrU,KAAK8P,cAAcnL,E,CAI7B,MAAAxD,G,MACI,OACIM,EAAC6S,EAAI,CAAA5S,IAAA,2CAAC0J,MAAM,kBACR3J,EAAA,KAAAC,IAAA,2CAAG0J,MAAM,gBAAc,+EACvB3J,EAAA,oBAAAC,IAAA,2CAAkB6S,aAAcvU,KAAKiD,MAAOuI,IAAKA,GAAOxL,KAAKoU,eAAiB5I,IAE9E/J,EAAA,cAAAC,IAAA,2CAAYuK,SAAQ1F,EAAAvG,KAAKgN,UAAM,MAAAzG,SAAA,SAAAA,EAAEiO,qBAAsB,UAAWtP,QAASlF,KAAKkF,QAAS8G,YAAa,IAAMhM,KAAKmU,gB,aCjCjI,MAAMM,EAAoB,usBAC1B,MAAAC,EAAeD,E,MCOFE,EAAc,M,oCACE,G,aACE,G,oDAK3B,iBAAA7U,GACIE,KAAK2E,MAAQ3E,KAAKuU,Y,CAGd,WAAAK,CAAY3R,GAEhB,MAAM4R,EAAU5R,EAAMmH,QAAQ,MAAO,IACrC,MAAM0K,EAAQD,EAAQC,MAAM,iCAE5B,IAAKA,EAAO,OAAO7R,EAEnB,MAAM8R,EAAQD,EAAM,GAAK,IAAIA,EAAM,KAAO,GAC1C,MAAME,EAAQF,EAAM,GAAK,KAAKA,EAAM,KAAO,GAC3C,MAAMG,EAAQH,EAAM,GAAK,IAAIA,EAAM,KAAO,GAE1C,MAAO,GAAGC,IAAQC,IAAQC,G,CAGtB,WAAAC,CAAY7N,GAChB,MAAMkK,EAAQlK,EAAMC,OACpBtH,KAAK2E,MAAQ3E,KAAK4U,YAAYrD,EAAMtO,OAEpC,IAAIjD,KAAKmV,oBAAoB5D,EAAMtO,OAAQ,CACvCjD,KAAKgG,QAAUoP,C,KACZ,CACHpV,KAAKgG,QAAU,E,CAGnBhF,QAAQC,IAAI,QAASjB,KAAK2E,M,CAG9B,mBAAAwQ,CAAoBxQ,GAChB,GAAGA,EAAM/B,OAAS,GAAI,CAClB,OAAO,I,CAEX,MAAMyS,EAAa,0BACnB,OAAOA,EAAWC,KAAK3Q,E,CAIpB,cAAM0P,GACT,OAAOrU,KAAK2E,K,CAGhB,MAAAxD,GACI,OACIM,EAAA,OAAAC,IAAA,4CACID,EAAA,SAAAC,IAAA,2CACIqR,SAAU/S,KAAK+S,SACfvL,GAAG,QACHwL,KAAK,OACL5H,MAAM,mBACNnI,MAAOjD,KAAK2E,MACZsO,QAAU5L,GAAUrH,KAAKkV,YAAY7N,GACrCkO,YAAY,oBAEhB9T,EAAA,KAAAC,IAAA,2CAAG0J,MAAM,gBAAgBpL,KAAKgG,S,aCvE9C,MAAMwP,EAAa,42BACnB,MAAAC,EAAeD,ECDf,MAAMpJ,EAAkB,m3BACxB,MAAAsJ,EAAetJ,E,MCSFuJ,EAAW,M,8HAOO,M,oDAIF,CAAC,GAAI,GAAI,GAAI,I,gBACP,M,eACD,K,CAE9B,iBAAA7V,GACIE,KAAK4V,UAAY,K,CAGrB,WAAAV,CAAY7N,EAAcwO,GACtB,MAAMtE,EAAQlK,EAAMC,OACpB,MAAMrE,EAAQsO,EAAMtO,MAAM6S,MAAM,EAAG,GACnC9V,KAAKyN,IAAIoI,GAAS5S,EAGlB,GAAIA,GAAS4S,EAAQ7V,KAAKyN,IAAI7K,OAAS,EAAG,CACtC,MAAMmT,EAAYxE,EAAMyE,mBACxBD,IAAS,MAATA,SAAS,SAATA,EAAWE,O,CAGfjW,KAAKyN,IAAM,IAAIzN,KAAKyN,I,CAGxB,WAAAyI,GACIxQ,aAAaqF,WAAW,aACxB/K,KAAKgQ,SAAShQ,KAAKyN,IAAI0I,KAAK,I,CAGhC,SAAAC,GACI,MAAMC,EAAUrW,KAAKyN,IAAI0I,KAAK,IAC9B,GAAIE,IAAY,OAAQ,CACpBrW,KAAKsW,WAAa,I,EAI1B,aAAAC,GACI7Q,aAAaqF,WAAW,aACxB/K,KAAK4V,UAAY,I,CAGrB,kBAAMY,SACIxW,KAAK+P,SAEX/P,KAAK4V,UAAY,MACjB5V,KAAKyN,IAAM,CAAC,GAAI,GAAI,GAAI,IACxB/H,aAAaqF,WAAW,Y,CAG5B,SAAA0L,GACI,MAAMC,EAAahR,aAAaC,QAAQ,aAExC,GAAG+Q,EAAY,CACX,OAAOA,C,CAGX,MAAMC,EAAO,IAAIvW,KACjBuW,EAAKC,WAAWD,EAAKE,aAAe,IACpCnR,aAAaiE,QAAQ,YAAagN,EAAKjT,YAEvC,OAAOiT,EAAKjT,U,CAGhB,MAAAvC,G,MACI,OACIM,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,kBACP3J,EAAA,SAAAC,IAAA,2CAAO0J,MAAM,gBAAiBzE,EAAQsJ,EAAE,eAAc,IAAExO,EAAA,UAAAC,IAAA,mDAAa1B,KAAK2E,QAC1ElD,EAAA,OAAAC,IAAA,2CAAK0J,MAAM,iBACNpL,KAAKyN,IAAIqJ,KAAI,CAACC,EAAGlB,IACdpU,EAAA,SACIuR,KAAK,OACLgE,UAAW,EACX/T,MAAOjD,KAAKyN,IAAIoI,GAChB5C,QAAU5L,GAAUrH,KAAKkV,YAAY7N,EAAOwO,QAKxDpU,EAAA,QAAAC,IAAA,6CAEAD,EAAA,KAAAC,IAAA,2CAAG0J,MAAM,mBAAiB,iBAEjBpL,KAAK4V,WAAanU,EAAA,SAAAC,IAAA,2DACfD,EAAA,mBAAAC,IAAA,2CAAiBzB,QAAS,EAAGC,SAAU,GAAIG,YAAaL,KAAKyW,YAAavV,SAAU,IAAMlB,KAAKuW,kBAAmB,KAGtHvW,KAAK4V,WACDnU,EAAA,OAAAC,IAAA,4CACID,EAAA,KAAAC,IAAA,2CAAGqK,QAAS,IAAM/L,KAAKwW,gBAAc,YACrC/U,EAAA,KAAAC,IAAA,2CAAGqK,QAAS,IAAM/L,KAAK8K,UAAQ,mBAK/CrJ,EAAA,cAAAC,IAAA,2CAAYuK,SAAQ1F,EAAAvG,KAAKgN,UAAM,MAAAzG,SAAA,SAAAA,EAAEiO,qBAAsB,UAAWtP,QAASlF,KAAKkF,QAAS8G,YAAa,IAAMhM,KAAKkW,gB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as c}from"./p-19848de4.js";const e=class{constructor(c){r(this,c)}render(){return c("bc-crmbonus",{key:"06d56d19fbe0d101409c44517b70ad8281ce8edb"})}};export{e as bc_wake_crmbonus};
2
+ //# sourceMappingURL=p-3e02757c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WakeCrmbonus","render","h","key"],"sources":["src/platforms/wake/index.tsx"],"sourcesContent":["import { Component, h } from \"@stencil/core\";\n\n@Component({\n tag: 'bc-wake-crmbonus'\n})\nexport class WakeCrmbonus {\n\n render() {\n return (\n <bc-crmbonus />\n )\n }\n}"],"mappings":"4CAKaA,EAAY,M,yBAErB,MAAAC,GACI,OACIC,EAAA,eAAAC,IAAA,4C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as d}from"./p-19848de4.js";import{C as r}from"./p-60787be2.js";import{C as o,b as t}from"./p-2362455d.js";const s=class{constructor(d){a(this,d);this.cart=undefined}async componentWillLoad(){await this.handleOrder()}async handleOrder(){const a=this.cart?o.fromCheckout(JSON.parse(this.cart)):await t();if(a.id&&a.orderId){r.getInstance().updateOrder({cartId:a.id,orderId:a.orderId,cartIdCrm:a.middlewareId});const d=`bc-products:${a.id}`;localStorage.removeItem(d);localStorage.removeItem(a.id)}}render(){return d("div",{key:"bd961e738d4af6587673ddea9c57d1645c8dd544"})}};export{s as pedido_finalizado};
2
+ //# sourceMappingURL=p-4cbebe64.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pedido","componentWillLoad","this","handleOrder","cart","CartWake","fromCheckout","JSON","parse","getCart","id","orderId","CrmBonusService","getInstance","updateOrder","cartId","cartIdCrm","middlewareId","key","localStorage","removeItem","render","h"],"sources":["src/components/pedido/pedido.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { CrmBonusService } from \"../../services/crmbonus.service\";\nimport { getCart } from \"../../helpers/cart.helper\";\nimport { CartWake } from \"../../objectvalues/cart.wake\";\n\n@Component({\n tag: \"pedido-finalizado\"\n})\nexport class Pedido {\n\n @Prop() cart;\n\n async componentWillLoad() {\n await this.handleOrder()\n }\n\n async handleOrder() {\n\n const cart = this.cart ? CartWake.fromCheckout(JSON.parse(this.cart)) : await getCart();\n\n if (cart.id && cart.orderId) {\n CrmBonusService.getInstance().updateOrder({\n cartId: cart.id,\n orderId: cart.orderId,\n cartIdCrm: cart.middlewareId\n });\n\n const key = `bc-products:${cart.id}`;\n localStorage.removeItem(key);\n localStorage.removeItem(cart.id);\n }\n }\n\n render() {\n return (\n <div></div>\n )\n }\n}"],"mappings":"gIAQaA,EAAM,M,6CAIf,uBAAMC,SACIC,KAAKC,a,CAGf,iBAAMA,GAEF,MAAMC,EAAOF,KAAKE,KAAOC,EAASC,aAAaC,KAAKC,MAAMN,KAAKE,aAAeK,IAE9E,GAAIL,EAAKM,IAAMN,EAAKO,QAAS,CACzBC,EAAgBC,cAAcC,YAAY,CACtCC,OAAQX,EAAKM,GACbC,QAASP,EAAKO,QACdK,UAAWZ,EAAKa,eAGpB,MAAMC,EAAM,eAAed,EAAKM,KAChCS,aAAaC,WAAWF,GACxBC,aAAaC,WAAWhB,EAAKM,G,EAIrC,MAAAW,GACI,OACIC,EAAA,OAAAJ,IAAA,4C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- function t(t,e){return function n(){return t.apply(e,arguments)}}const{toString:e}=Object.prototype;const{getPrototypeOf:n}=Object;const o=(t=>n=>{const o=e.call(n);return t[o]||(t[o]=o.slice(8,-1).toLowerCase())})(Object.create(null));const r=t=>{t=t.toLowerCase();return e=>o(e)===t};const s=t=>e=>typeof e===t;const{isArray:i}=Array;const c=s("undefined");function a(t){return t!==null&&!c(t)&&t.constructor!==null&&!c(t.constructor)&&d(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const u=r("ArrayBuffer");function l(t){let e;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){e=ArrayBuffer.isView(t)}else{e=t&&t.buffer&&u(t.buffer)}return e}const f=s("string");const d=s("function");const h=s("number");const p=t=>t!==null&&typeof t==="object";const w=t=>t===true||t===false;const m=t=>{if(o(t)!=="object"){return false}const e=n(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)};const y=r("Date");const b=r("File");const g=r("Blob");const R=r("FileList");const S=t=>p(t)&&d(t.pipe);const O=t=>{let e;return t&&(typeof FormData==="function"&&t instanceof FormData||d(t.append)&&((e=o(t))==="formdata"||e==="object"&&d(t.toString)&&t.toString()==="[object FormData]"))};const E=r("URLSearchParams");const[T,v,A,j]=["ReadableStream","Request","Response","Headers"].map(r);const C=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function N(t,e,{allOwnKeys:n=false}={}){if(t===null||typeof t==="undefined"){return}let o;let r;if(typeof t!=="object"){t=[t]}if(i(t)){for(o=0,r=t.length;o<r;o++){e.call(null,t[o],o,t)}}else{const r=n?Object.getOwnPropertyNames(t):Object.keys(t);const s=r.length;let i;for(o=0;o<s;o++){i=r[o];e.call(null,t[i],i,t)}}}function x(t,e){e=e.toLowerCase();const n=Object.keys(t);let o=n.length;let r;while(o-- >0){r=n[o];if(e===r.toLowerCase()){return r}}return null}const B=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const P=t=>!c(t)&&t!==B;function D(){const{caseless:t}=P(this)&&this||{};const e={};const n=(n,o)=>{const r=t&&x(e,o)||o;if(m(e[r])&&m(n)){e[r]=D(e[r],n)}else if(m(n)){e[r]=D({},n)}else if(i(n)){e[r]=n.slice()}else{e[r]=n}};for(let t=0,e=arguments.length;t<e;t++){arguments[t]&&N(arguments[t],n)}return e}const U=(e,n,o,{allOwnKeys:r}={})=>{N(n,((n,r)=>{if(o&&d(n)){e[r]=t(n,o)}else{e[r]=n}}),{allOwnKeys:r});return e};const F=t=>{if(t.charCodeAt(0)===65279){t=t.slice(1)}return t};const _=(t,e,n,o)=>{t.prototype=Object.create(e.prototype,o);t.prototype.constructor=t;Object.defineProperty(t,"super",{value:e.prototype});n&&Object.assign(t.prototype,n)};const k=(t,e,o,r)=>{let s;let i;let c;const a={};e=e||{};if(t==null)return e;do{s=Object.getOwnPropertyNames(t);i=s.length;while(i-- >0){c=s[i];if((!r||r(c,t,e))&&!a[c]){e[c]=t[c];a[c]=true}}t=o!==false&&n(t)}while(t&&(!o||o(t,e))&&t!==Object.prototype);return e};const q=(t,e,n)=>{t=String(t);if(n===undefined||n>t.length){n=t.length}n-=e.length;const o=t.indexOf(e,n);return o!==-1&&o===n};const I=t=>{if(!t)return null;if(i(t))return t;let e=t.length;if(!h(e))return null;const n=new Array(e);while(e-- >0){n[e]=t[e]}return n};const L=(t=>e=>t&&e instanceof t)(typeof Uint8Array!=="undefined"&&n(Uint8Array));const $=(t,e)=>{const n=t&&t[Symbol.iterator];const o=n.call(t);let r;while((r=o.next())&&!r.done){const n=r.value;e.call(t,n[0],n[1])}};const z=(t,e)=>{let n;const o=[];while((n=t.exec(e))!==null){o.push(n)}return o};const M=r("HTMLFormElement");const H=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function t(e,n,o){return n.toUpperCase()+o}));const J=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype);const K=r("RegExp");const Y=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t);const o={};N(n,((n,r)=>{let s;if((s=e(n,r,t))!==false){o[r]=s||n}}));Object.defineProperties(t,o)};const V=t=>{Y(t,((e,n)=>{if(d(t)&&["arguments","caller","callee"].indexOf(n)!==-1){return false}const o=t[n];if(!d(o))return;e.enumerable=false;if("writable"in e){e.writable=false;return}if(!e.set){e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}}}))};const W=(t,e)=>{const n={};const o=t=>{t.forEach((t=>{n[t]=true}))};i(t)?o(t):o(String(t).split(e));return n};const G=()=>{};const X=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;const Z="abcdefghijklmnopqrstuvwxyz";const Q="0123456789";const tt={DIGIT:Q,ALPHA:Z,ALPHA_DIGIT:Z+Z.toUpperCase()+Q};const et=(t=16,e=tt.ALPHA_DIGIT)=>{let n="";const{length:o}=e;while(t--){n+=e[Math.random()*o|0]}return n};function nt(t){return!!(t&&d(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const ot=t=>{const e=new Array(10);const n=(t,o)=>{if(p(t)){if(e.indexOf(t)>=0){return}if(!("toJSON"in t)){e[o]=t;const r=i(t)?[]:{};N(t,((t,e)=>{const s=n(t,o+1);!c(s)&&(r[e]=s)}));e[o]=undefined;return r}}return t};return n(t,0)};const rt=r("AsyncFunction");const st=t=>t&&(p(t)||d(t))&&d(t.then)&&d(t.catch);const it=((t,e)=>{if(t){return setImmediate}return e?((t,e)=>{B.addEventListener("message",(({source:n,data:o})=>{if(n===B&&o===t){e.length&&e.shift()()}}),false);return n=>{e.push(n);B.postMessage(t,"*")}})(`axios@${Math.random()}`,[]):t=>setTimeout(t)})(typeof setImmediate==="function",d(B.postMessage));const ct=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(B):typeof process!=="undefined"&&process.nextTick||it;const at={isArray:i,isArrayBuffer:u,isBuffer:a,isFormData:O,isArrayBufferView:l,isString:f,isNumber:h,isBoolean:w,isObject:p,isPlainObject:m,isReadableStream:T,isRequest:v,isResponse:A,isHeaders:j,isUndefined:c,isDate:y,isFile:b,isBlob:g,isRegExp:K,isFunction:d,isStream:S,isURLSearchParams:E,isTypedArray:L,isFileList:R,forEach:N,merge:D,extend:U,trim:C,stripBOM:F,inherits:_,toFlatObject:k,kindOf:o,kindOfTest:r,endsWith:q,toArray:I,forEachEntry:$,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:Y,freezeMethods:V,toObjectSet:W,toCamelCase:H,noop:G,toFiniteNumber:X,findKey:x,global:B,isContextDefined:P,ALPHABET:tt,generateString:et,isSpecCompliantForm:nt,toJSONObject:ot,isAsyncFn:rt,isThenable:st,setImmediate:it,asap:ct};function ut(t,e,n,o,r){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack}this.message=t;this.name="AxiosError";e&&(this.code=e);n&&(this.config=n);o&&(this.request=o);if(r){this.response=r;this.status=r.status?r.status:null}}at.inherits(ut,Error,{toJSON:function t(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:at.toJSONObject(this.config),code:this.code,status:this.status}}});const lt=ut.prototype;const ft={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{ft[t]={value:t}}));Object.defineProperties(ut,ft);Object.defineProperty(lt,"isAxiosError",{value:true});ut.from=(t,e,n,o,r,s)=>{const i=Object.create(lt);at.toFlatObject(t,i,(function t(e){return e!==Error.prototype}),(t=>t!=="isAxiosError"));ut.call(i,t.message,e,n,o,r);i.cause=t;i.name=t.name;s&&Object.assign(i,s);return i};const dt=null;function ht(t){return at.isPlainObject(t)||at.isArray(t)}function pt(t){return at.endsWith(t,"[]")?t.slice(0,-2):t}function wt(t,e,n){if(!t)return e;return t.concat(e).map((function t(e,o){e=pt(e);return!n&&o?"["+e+"]":e})).join(n?".":"")}function mt(t){return at.isArray(t)&&!t.some(ht)}const yt=at.toFlatObject(at,{},null,(function t(e){return/^is[A-Z]/.test(e)}));function bt(t,e,n){if(!at.isObject(t)){throw new TypeError("target must be an object")}e=e||new FormData;n=at.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,(function t(e,n){return!at.isUndefined(n[e])}));const o=n.metaTokens;const r=n.visitor||l;const s=n.dots;const i=n.indexes;const c=n.Blob||typeof Blob!=="undefined"&&Blob;const a=c&&at.isSpecCompliantForm(e);if(!at.isFunction(r)){throw new TypeError("visitor must be a function")}function u(t){if(t===null)return"";if(at.isDate(t)){return t.toISOString()}if(!a&&at.isBlob(t)){throw new ut("Blob is not supported. Use a Buffer instead.")}if(at.isArrayBuffer(t)||at.isTypedArray(t)){return a&&typeof Blob==="function"?new Blob([t]):Buffer.from(t)}return t}function l(t,n,r){let c=t;if(t&&!r&&typeof t==="object"){if(at.endsWith(n,"{}")){n=o?n:n.slice(0,-2);t=JSON.stringify(t)}else if(at.isArray(t)&&mt(t)||(at.isFileList(t)||at.endsWith(n,"[]"))&&(c=at.toArray(t))){n=pt(n);c.forEach((function t(o,r){!(at.isUndefined(o)||o===null)&&e.append(i===true?wt([n],r,s):i===null?n:n+"[]",u(o))}));return false}}if(ht(t)){return true}e.append(wt(r,n,s),u(t));return false}const f=[];const d=Object.assign(yt,{defaultVisitor:l,convertValue:u,isVisitable:ht});function h(t,n){if(at.isUndefined(t))return;if(f.indexOf(t)!==-1){throw Error("Circular reference detected in "+n.join("."))}f.push(t);at.forEach(t,(function t(o,s){const i=!(at.isUndefined(o)||o===null)&&r.call(e,o,at.isString(s)?s.trim():s,n,d);if(i===true){h(o,n?n.concat(s):[s])}}));f.pop()}if(!at.isObject(t)){throw new TypeError("data must be an object")}h(t);return e}function gt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function t(n){return e[n]}))}function Rt(t,e){this._pairs=[];t&&bt(t,this,e)}const St=Rt.prototype;St.append=function t(e,n){this._pairs.push([e,n])};St.toString=function t(e){const n=e?function(t){return e.call(this,t,gt)}:gt;return this._pairs.map((function t(e){return n(e[0])+"="+n(e[1])}),"").join("&")};function Ot(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Et(t,e,n){if(!e){return t}const o=n&&n.encode||Ot;const r=n&&n.serialize;let s;if(r){s=r(e,n)}else{s=at.isURLSearchParams(e)?e.toString():new Rt(e,n).toString(o)}if(s){const e=t.indexOf("#");if(e!==-1){t=t.slice(0,e)}t+=(t.indexOf("?")===-1?"?":"&")+s}return t}class Tt{constructor(){this.handlers=[]}use(t,e,n){this.handlers.push({fulfilled:t,rejected:e,synchronous:n?n.synchronous:false,runWhen:n?n.runWhen:null});return this.handlers.length-1}eject(t){if(this.handlers[t]){this.handlers[t]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(t){at.forEach(this.handlers,(function e(n){if(n!==null){t(n)}}))}}const vt=Tt;const At={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};const jt=typeof URLSearchParams!=="undefined"?URLSearchParams:Rt;const Ct=typeof FormData!=="undefined"?FormData:null;const Nt=typeof Blob!=="undefined"?Blob:null;const xt={isBrowser:true,classes:{URLSearchParams:jt,FormData:Ct,Blob:Nt},protocols:["http","https","file","blob","url","data"]};const Bt=typeof window!=="undefined"&&typeof document!=="undefined";const Pt=typeof navigator==="object"&&navigator||undefined;const Dt=Bt&&(!Pt||["ReactNative","NativeScript","NS"].indexOf(Pt.product)<0);const Ut=(()=>typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const Ft=Bt&&window.location.href||"http://localhost";const _t=Object.freeze({__proto__:null,hasBrowserEnv:Bt,hasStandardBrowserWebWorkerEnv:Ut,hasStandardBrowserEnv:Dt,navigator:Pt,origin:Ft});const kt={..._t,...xt};function qt(t,e){return bt(t,new kt.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,o){if(kt.isNode&&at.isBuffer(t)){this.append(e,t.toString("base64"));return false}return o.defaultVisitor.apply(this,arguments)}},e))}function It(t){return at.matchAll(/\w+|\[(\w*)]/g,t).map((t=>t[0]==="[]"?"":t[1]||t[0]))}function Lt(t){const e={};const n=Object.keys(t);let o;const r=n.length;let s;for(o=0;o<r;o++){s=n[o];e[s]=t[s]}return e}function $t(t){function e(t,n,o,r){let s=t[r++];if(s==="__proto__")return true;const i=Number.isFinite(+s);const c=r>=t.length;s=!s&&at.isArray(o)?o.length:s;if(c){if(at.hasOwnProp(o,s)){o[s]=[o[s],n]}else{o[s]=n}return!i}if(!o[s]||!at.isObject(o[s])){o[s]=[]}const a=e(t,n,o[s],r);if(a&&at.isArray(o[s])){o[s]=Lt(o[s])}return!i}if(at.isFormData(t)&&at.isFunction(t.entries)){const n={};at.forEachEntry(t,((t,o)=>{e(It(t),o,n,0)}));return n}return null}function zt(t,e,n){if(at.isString(t)){try{(e||JSON.parse)(t);return at.trim(t)}catch(t){if(t.name!=="SyntaxError"){throw t}}}return(n||JSON.stringify)(t)}const Mt={transitional:At,adapter:["xhr","http","fetch"],transformRequest:[function t(e,n){const o=n.getContentType()||"";const r=o.indexOf("application/json")>-1;const s=at.isObject(e);if(s&&at.isHTMLForm(e)){e=new FormData(e)}const i=at.isFormData(e);if(i){return r?JSON.stringify($t(e)):e}if(at.isArrayBuffer(e)||at.isBuffer(e)||at.isStream(e)||at.isFile(e)||at.isBlob(e)||at.isReadableStream(e)){return e}if(at.isArrayBufferView(e)){return e.buffer}if(at.isURLSearchParams(e)){n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return e.toString()}let c;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1){return qt(e,this.formSerializer).toString()}if((c=at.isFileList(e))||o.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return bt(c?{"files[]":e}:e,t&&new t,this.formSerializer)}}if(s||r){n.setContentType("application/json",false);return zt(e)}return e}],transformResponse:[function t(e){const n=this.transitional||Mt.transitional;const o=n&&n.forcedJSONParsing;const r=this.responseType==="json";if(at.isResponse(e)||at.isReadableStream(e)){return e}if(e&&at.isString(e)&&(o&&!this.responseType||r)){const t=n&&n.silentJSONParsing;const o=!t&&r;try{return JSON.parse(e)}catch(t){if(o){if(t.name==="SyntaxError"){throw ut.from(t,ut.ERR_BAD_RESPONSE,this,null,this.response)}throw t}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:kt.classes.FormData,Blob:kt.classes.Blob},validateStatus:function t(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};at.forEach(["delete","get","head","post","put","patch"],(t=>{Mt.headers[t]={}}));const Ht=Mt;const Jt=at.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const Kt=t=>{const e={};let n;let o;let r;t&&t.split("\n").forEach((function t(s){r=s.indexOf(":");n=s.substring(0,r).trim().toLowerCase();o=s.substring(r+1).trim();if(!n||e[n]&&Jt[n]){return}if(n==="set-cookie"){if(e[n]){e[n].push(o)}else{e[n]=[o]}}else{e[n]=e[n]?e[n]+", "+o:o}}));return e};const Yt=Symbol("internals");function Vt(t){return t&&String(t).trim().toLowerCase()}function Wt(t){if(t===false||t==null){return t}return at.isArray(t)?t.map(Wt):String(t)}function Gt(t){const e=Object.create(null);const n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;while(o=n.exec(t)){e[o[1]]=o[2]}return e}const Xt=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Zt(t,e,n,o,r){if(at.isFunction(o)){return o.call(this,e,n)}if(r){e=n}if(!at.isString(e))return;if(at.isString(o)){return e.indexOf(o)!==-1}if(at.isRegExp(o)){return o.test(e)}}function Qt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}function te(t,e){const n=at.toCamelCase(" "+e);["get","set","has"].forEach((o=>{Object.defineProperty(t,o+n,{value:function(t,n,r){return this[o].call(this,e,t,n,r)},configurable:true})}))}class ee{constructor(t){t&&this.set(t)}set(t,e,n){const o=this;function r(t,e,n){const r=Vt(e);if(!r){throw new Error("header name must be a non-empty string")}const s=at.findKey(o,r);if(!s||o[s]===undefined||n===true||n===undefined&&o[s]!==false){o[s||e]=Wt(t)}}const s=(t,e)=>at.forEach(t,((t,n)=>r(t,n,e)));if(at.isPlainObject(t)||t instanceof this.constructor){s(t,e)}else if(at.isString(t)&&(t=t.trim())&&!Xt(t)){s(Kt(t),e)}else if(at.isHeaders(t)){for(const[e,o]of t.entries()){r(o,e,n)}}else{t!=null&&r(e,t,n)}return this}get(t,e){t=Vt(t);if(t){const n=at.findKey(this,t);if(n){const t=this[n];if(!e){return t}if(e===true){return Gt(t)}if(at.isFunction(e)){return e.call(this,t,n)}if(at.isRegExp(e)){return e.exec(t)}throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){t=Vt(t);if(t){const n=at.findKey(this,t);return!!(n&&this[n]!==undefined&&(!e||Zt(this,this[n],n,e)))}return false}delete(t,e){const n=this;let o=false;function r(t){t=Vt(t);if(t){const r=at.findKey(n,t);if(r&&(!e||Zt(n,n[r],r,e))){delete n[r];o=true}}}if(at.isArray(t)){t.forEach(r)}else{r(t)}return o}clear(t){const e=Object.keys(this);let n=e.length;let o=false;while(n--){const r=e[n];if(!t||Zt(this,this[r],r,t,true)){delete this[r];o=true}}return o}normalize(t){const e=this;const n={};at.forEach(this,((o,r)=>{const s=at.findKey(n,r);if(s){e[s]=Wt(o);delete e[r];return}const i=t?Qt(r):String(r).trim();if(i!==r){delete e[r]}e[i]=Wt(o);n[i]=true}));return this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);at.forEach(this,((n,o)=>{n!=null&&n!==false&&(e[o]=t&&at.isArray(n)?n.join(", "):n)}));return e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);e.forEach((t=>n.set(t)));return n}static accessor(t){const e=this[Yt]=this[Yt]={accessors:{}};const n=e.accessors;const o=this.prototype;function r(t){const e=Vt(t);if(!n[e]){te(o,t);n[e]=true}}at.isArray(t)?t.forEach(r):r(t);return this}}ee.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);at.reduceDescriptors(ee.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}}));at.freezeMethods(ee);const ne=ee;function oe(t,e){const n=this||Ht;const o=e||n;const r=ne.from(o.headers);let s=o.data;at.forEach(t,(function t(o){s=o.call(n,s,r.normalize(),e?e.status:undefined)}));r.normalize();return s}function re(t){return!!(t&&t.__CANCEL__)}function se(t,e,n){ut.call(this,t==null?"canceled":t,ut.ERR_CANCELED,e,n);this.name="CanceledError"}at.inherits(se,ut,{__CANCEL__:true});function ie(t,e,n){const o=n.config.validateStatus;if(!n.status||!o||o(n.status)){t(n)}else{e(new ut("Request failed with status code "+n.status,[ut.ERR_BAD_REQUEST,ut.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}}function ce(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function ae(t,e){t=t||10;const n=new Array(t);const o=new Array(t);let r=0;let s=0;let i;e=e!==undefined?e:1e3;return function c(a){const u=Date.now();const l=o[s];if(!i){i=u}n[r]=a;o[r]=u;let f=s;let d=0;while(f!==r){d+=n[f++];f=f%t}r=(r+1)%t;if(r===s){s=(s+1)%t}if(u-i<e){return}const h=l&&u-l;return h?Math.round(d*1e3/h):undefined}}function ue(t,e){let n=0;let o=1e3/e;let r;let s;const i=(e,o=Date.now())=>{n=o;r=null;if(s){clearTimeout(s);s=null}t.apply(null,e)};const c=(...t)=>{const e=Date.now();const c=e-n;if(c>=o){i(t,e)}else{r=t;if(!s){s=setTimeout((()=>{s=null;i(r)}),o-c)}}};const a=()=>r&&i(r);return[c,a]}const le=(t,e,n=3)=>{let o=0;const r=ae(50,250);return ue((n=>{const s=n.loaded;const i=n.lengthComputable?n.total:undefined;const c=s-o;const a=r(c);const u=s<=i;o=s;const l={loaded:s,total:i,progress:i?s/i:undefined,bytes:c,rate:a?a:undefined,estimated:a&&i&&u?(i-s)/a:undefined,event:n,lengthComputable:i!=null,[e?"download":"upload"]:true};t(l)}),n)};const fe=(t,e)=>{const n=t!=null;return[o=>e[0]({lengthComputable:n,total:t,loaded:o}),e[1]]};const de=t=>(...e)=>at.asap((()=>t(...e)));const he=kt.hasStandardBrowserEnv?function t(){const e=kt.navigator&&/(msie|trident)/i.test(kt.navigator.userAgent);const n=document.createElement("a");let o;function r(t){let o=t;if(e){n.setAttribute("href",o);o=n.href}n.setAttribute("href",o);return{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}o=r(window.location.href);return function t(e){const n=at.isString(e)?r(e):e;return n.protocol===o.protocol&&n.host===o.host}}():function t(){return function t(){return true}}();const pe=kt.hasStandardBrowserEnv?{write(t,e,n,o,r,s){const i=[t+"="+encodeURIComponent(e)];at.isNumber(n)&&i.push("expires="+new Date(n).toGMTString());at.isString(o)&&i.push("path="+o);at.isString(r)&&i.push("domain="+r);s===true&&i.push("secure");document.cookie=i.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function we(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function me(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ye(t,e){if(t&&!we(e)){return me(t,e)}return e}const be=t=>t instanceof ne?{...t}:t;function ge(t,e){e=e||{};const n={};function o(t,e,n){if(at.isPlainObject(t)&&at.isPlainObject(e)){return at.merge.call({caseless:n},t,e)}else if(at.isPlainObject(e)){return at.merge({},e)}else if(at.isArray(e)){return e.slice()}return e}function r(t,e,n){if(!at.isUndefined(e)){return o(t,e,n)}else if(!at.isUndefined(t)){return o(undefined,t,n)}}function s(t,e){if(!at.isUndefined(e)){return o(undefined,e)}}function i(t,e){if(!at.isUndefined(e)){return o(undefined,e)}else if(!at.isUndefined(t)){return o(undefined,t)}}function c(n,r,s){if(s in e){return o(n,r)}else if(s in t){return o(undefined,n)}}const a={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(t,e)=>r(be(t),be(e),true)};at.forEach(Object.keys(Object.assign({},t,e)),(function o(s){const i=a[s]||r;const u=i(t[s],e[s],s);at.isUndefined(u)&&i!==c||(n[s]=u)}));return n}const Re=t=>{const e=ge({},t);let{data:n,withXSRFToken:o,xsrfHeaderName:r,xsrfCookieName:s,headers:i,auth:c}=e;e.headers=i=ne.from(i);e.url=Et(ye(e.baseURL,e.url),t.params,t.paramsSerializer);if(c){i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")))}let a;if(at.isFormData(n)){if(kt.hasStandardBrowserEnv||kt.hasStandardBrowserWebWorkerEnv){i.setContentType(undefined)}else if((a=i.getContentType())!==false){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];i.setContentType([t||"multipart/form-data",...e].join("; "))}}if(kt.hasStandardBrowserEnv){o&&at.isFunction(o)&&(o=o(e));if(o||o!==false&&he(e.url)){const t=r&&s&&pe.read(s);if(t){i.set(r,t)}}}return e};const Se=typeof XMLHttpRequest!=="undefined";const Oe=Se&&function(t){return new Promise((function e(n,o){const r=Re(t);let s=r.data;const i=ne.from(r.headers).normalize();let{responseType:c,onUploadProgress:a,onDownloadProgress:u}=r;let l;let f,d;let h,p;function w(){h&&h();p&&p();r.cancelToken&&r.cancelToken.unsubscribe(l);r.signal&&r.signal.removeEventListener("abort",l)}let m=new XMLHttpRequest;m.open(r.method.toUpperCase(),r.url,true);m.timeout=r.timeout;function y(){if(!m){return}const e=ne.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());const r=!c||c==="text"||c==="json"?m.responseText:m.response;const s={data:r,status:m.status,statusText:m.statusText,headers:e,config:t,request:m};ie((function t(e){n(e);w()}),(function t(e){o(e);w()}),s);m=null}if("onloadend"in m){m.onloadend=y}else{m.onreadystatechange=function t(){if(!m||m.readyState!==4){return}if(m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)){return}setTimeout(y)}}m.onabort=function e(){if(!m){return}o(new ut("Request aborted",ut.ECONNABORTED,t,m));m=null};m.onerror=function e(){o(new ut("Network Error",ut.ERR_NETWORK,t,m));m=null};m.ontimeout=function e(){let n=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const s=r.transitional||At;if(r.timeoutErrorMessage){n=r.timeoutErrorMessage}o(new ut(n,s.clarifyTimeoutError?ut.ETIMEDOUT:ut.ECONNABORTED,t,m));m=null};s===undefined&&i.setContentType(null);if("setRequestHeader"in m){at.forEach(i.toJSON(),(function t(e,n){m.setRequestHeader(n,e)}))}if(!at.isUndefined(r.withCredentials)){m.withCredentials=!!r.withCredentials}if(c&&c!=="json"){m.responseType=r.responseType}if(u){[d,p]=le(u,true);m.addEventListener("progress",d)}if(a&&m.upload){[f,h]=le(a);m.upload.addEventListener("progress",f);m.upload.addEventListener("loadend",h)}if(r.cancelToken||r.signal){l=e=>{if(!m){return}o(!e||e.type?new se(null,t,m):e);m.abort();m=null};r.cancelToken&&r.cancelToken.subscribe(l);if(r.signal){r.signal.aborted?l():r.signal.addEventListener("abort",l)}}const b=ce(r.url);if(b&&kt.protocols.indexOf(b)===-1){o(new ut("Unsupported protocol "+b+":",ut.ERR_BAD_REQUEST,t));return}m.send(s||null)}))};const Ee=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let n=new AbortController;let o;const r=function(t){if(!o){o=true;i();const e=t instanceof Error?t:this.reason;n.abort(e instanceof ut?e:new se(e instanceof Error?e.message:e))}};let s=e&&setTimeout((()=>{s=null;r(new ut(`timeout ${e} of ms exceeded`,ut.ETIMEDOUT))}),e);const i=()=>{if(t){s&&clearTimeout(s);s=null;t.forEach((t=>{t.unsubscribe?t.unsubscribe(r):t.removeEventListener("abort",r)}));t=null}};t.forEach((t=>t.addEventListener("abort",r)));const{signal:c}=n;c.unsubscribe=()=>at.asap(i);return c}};const Te=Ee;const ve=function*(t,e){let n=t.byteLength;if(!e||n<e){yield t;return}let o=0;let r;while(o<n){r=o+e;yield t.slice(o,r);o=r}};const Ae=async function*(t,e){for await(const n of je(t)){yield*ve(n,e)}};const je=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t){break}yield n}}finally{await e.cancel()}};const Ce=(t,e,n,o)=>{const r=Ae(t,e);let s=0;let i;let c=t=>{if(!i){i=true;o&&o(t)}};return new ReadableStream({async pull(t){try{const{done:e,value:o}=await r.next();if(e){c();t.close();return}let i=o.byteLength;if(n){let t=s+=i;n(t)}t.enqueue(new Uint8Array(o))}catch(t){c(t);throw t}},cancel(t){c(t);return r.return()}},{highWaterMark:2})};const Ne=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function";const xe=Ne&&typeof ReadableStream==="function";const Be=Ne&&(typeof TextEncoder==="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer()));const Pe=(t,...e)=>{try{return!!t(...e)}catch(t){return false}};const De=xe&&Pe((()=>{let t=false;const e=new Request(kt.origin,{body:new ReadableStream,method:"POST",get duplex(){t=true;return"half"}}).headers.has("Content-Type");return t&&!e}));const Ue=64*1024;const Fe=xe&&Pe((()=>at.isReadableStream(new Response("").body)));const _e={stream:Fe&&(t=>t.body)};Ne&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!_e[e]&&(_e[e]=at.isFunction(t[e])?t=>t[e]():(t,n)=>{throw new ut(`Response type '${e}' is not supported`,ut.ERR_NOT_SUPPORT,n)})}))})(new Response);const ke=async t=>{if(t==null){return 0}if(at.isBlob(t)){return t.size}if(at.isSpecCompliantForm(t)){const e=new Request(kt.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}if(at.isArrayBufferView(t)||at.isArrayBuffer(t)){return t.byteLength}if(at.isURLSearchParams(t)){t=t+""}if(at.isString(t)){return(await Be(t)).byteLength}};const qe=async(t,e)=>{const n=at.toFiniteNumber(t.getContentLength());return n==null?ke(e):n};const Ie=Ne&&(async t=>{let{url:e,method:n,data:o,signal:r,cancelToken:s,timeout:i,onDownloadProgress:c,onUploadProgress:a,responseType:u,headers:l,withCredentials:f="same-origin",fetchOptions:d}=Re(t);u=u?(u+"").toLowerCase():"text";let h=Te([r,s&&s.toAbortSignal()],i);let p;const w=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let m;try{if(a&&De&&n!=="get"&&n!=="head"&&(m=await qe(l,o))!==0){let t=new Request(e,{method:"POST",body:o,duplex:"half"});let n;if(at.isFormData(o)&&(n=t.headers.get("content-type"))){l.setContentType(n)}if(t.body){const[e,n]=fe(m,le(de(a)));o=Ce(t.body,Ue,e,n)}}if(!at.isString(f)){f=f?"include":"omit"}const r="credentials"in Request.prototype;p=new Request(e,{...d,signal:h,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:o,duplex:"half",credentials:r?f:undefined});let s=await fetch(p);const i=Fe&&(u==="stream"||u==="response");if(Fe&&(c||i&&w)){const t={};["status","statusText","headers"].forEach((e=>{t[e]=s[e]}));const e=at.toFiniteNumber(s.headers.get("content-length"));const[n,o]=c&&fe(e,le(de(c),true))||[];s=new Response(Ce(s.body,Ue,n,(()=>{o&&o();w&&w()})),t)}u=u||"text";let y=await _e[at.findKey(_e,u)||"text"](s,t);!i&&w&&w();return await new Promise(((e,n)=>{ie(e,n,{data:y,headers:ne.from(s.headers),status:s.status,statusText:s.statusText,config:t,request:p})}))}catch(e){w&&w();if(e&&e.name==="TypeError"&&/fetch/i.test(e.message)){throw Object.assign(new ut("Network Error",ut.ERR_NETWORK,t,p),{cause:e.cause||e})}throw ut.from(e,e&&e.code,t,p)}});const Le={http:dt,xhr:Oe,fetch:Ie};at.forEach(Le,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const $e=t=>`- ${t}`;const ze=t=>at.isFunction(t)||t===null||t===false;const Me={getAdapter:t=>{t=at.isArray(t)?t:[t];const{length:e}=t;let n;let o;const r={};for(let s=0;s<e;s++){n=t[s];let e;o=n;if(!ze(n)){o=Le[(e=String(n)).toLowerCase()];if(o===undefined){throw new ut(`Unknown adapter '${e}'`)}}if(o){break}r[e||"#"+s]=o}if(!o){const t=Object.entries(r).map((([t,e])=>`adapter ${t} `+(e===false?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map($e).join("\n"):" "+$e(t[0]):"as no adapter specified";throw new ut(`There is no suitable adapter to dispatch the request `+n,"ERR_NOT_SUPPORT")}return o},adapters:Le};function He(t){if(t.cancelToken){t.cancelToken.throwIfRequested()}if(t.signal&&t.signal.aborted){throw new se(null,t)}}function Je(t){He(t);t.headers=ne.from(t.headers);t.data=oe.call(t,t.transformRequest);if(["post","put","patch"].indexOf(t.method)!==-1){t.headers.setContentType("application/x-www-form-urlencoded",false)}const e=Me.getAdapter(t.adapter||Ht.adapter);return e(t).then((function e(n){He(t);n.data=oe.call(t,t.transformResponse,n);n.headers=ne.from(n.headers);return n}),(function e(n){if(!re(n)){He(t);if(n&&n.response){n.response.data=oe.call(t,t.transformResponse,n.response);n.response.headers=ne.from(n.response.headers)}}return Promise.reject(n)}))}const Ke="1.7.7";const Ye={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Ye[t]=function n(o){return typeof o===t||"a"+(e<1?"n ":" ")+t}}));const Ve={};Ye.transitional=function t(e,n,o){function r(t,e){return"[Axios v"+Ke+"] Transitional option '"+t+"'"+e+(o?". "+o:"")}return(t,o,s)=>{if(e===false){throw new ut(r(o," has been removed"+(n?" in "+n:"")),ut.ERR_DEPRECATED)}if(n&&!Ve[o]){Ve[o]=true;console.warn(r(o," has been deprecated since v"+n+" and will be removed in the near future"))}return e?e(t,o,s):true}};function We(t,e,n){if(typeof t!=="object"){throw new ut("options must be an object",ut.ERR_BAD_OPTION_VALUE)}const o=Object.keys(t);let r=o.length;while(r-- >0){const s=o[r];const i=e[s];if(i){const e=t[s];const n=e===undefined||i(e,s,t);if(n!==true){throw new ut("option "+s+" must be "+n,ut.ERR_BAD_OPTION_VALUE)}continue}if(n!==true){throw new ut("Unknown option "+s,ut.ERR_BAD_OPTION)}}}const Ge={assertOptions:We,validators:Ye};const Xe=Ge.validators;class Ze{constructor(t){this.defaults=t;this.interceptors={request:new vt,response:new vt}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";try{if(!t.stack){t.stack=n}else if(n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))){t.stack+="\n"+n}}catch(t){}}throw t}}_request(t,e){if(typeof t==="string"){e=e||{};e.url=t}else{e=t||{}}e=ge(this.defaults,e);const{transitional:n,paramsSerializer:o,headers:r}=e;if(n!==undefined){Ge.assertOptions(n,{silentJSONParsing:Xe.transitional(Xe.boolean),forcedJSONParsing:Xe.transitional(Xe.boolean),clarifyTimeoutError:Xe.transitional(Xe.boolean)},false)}if(o!=null){if(at.isFunction(o)){e.paramsSerializer={serialize:o}}else{Ge.assertOptions(o,{encode:Xe.function,serialize:Xe.function},true)}}e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&at.merge(r.common,r[e.method]);r&&at.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]}));e.headers=ne.concat(s,r);const i=[];let c=true;this.interceptors.request.forEach((function t(n){if(typeof n.runWhen==="function"&&n.runWhen(e)===false){return}c=c&&n.synchronous;i.unshift(n.fulfilled,n.rejected)}));const a=[];this.interceptors.response.forEach((function t(e){a.push(e.fulfilled,e.rejected)}));let u;let l=0;let f;if(!c){const t=[Je.bind(this),undefined];t.unshift.apply(t,i);t.push.apply(t,a);f=t.length;u=Promise.resolve(e);while(l<f){u=u.then(t[l++],t[l++])}return u}f=i.length;let d=e;l=0;while(l<f){const t=i[l++];const e=i[l++];try{d=t(d)}catch(t){e.call(this,t);break}}try{u=Je.call(this,d)}catch(t){return Promise.reject(t)}l=0;f=a.length;while(l<f){u=u.then(a[l++],a[l++])}return u}getUri(t){t=ge(this.defaults,t);const e=ye(t.baseURL,t.url);return Et(e,t.params,t.paramsSerializer)}}at.forEach(["delete","get","head","options"],(function t(e){Ze.prototype[e]=function(t,n){return this.request(ge(n||{},{method:e,url:t,data:(n||{}).data}))}}));at.forEach(["post","put","patch"],(function t(e){function n(t){return function n(o,r,s){return this.request(ge(s||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:o,data:r}))}}Ze.prototype[e]=n();Ze.prototype[e+"Form"]=n(true)}));const Qe=Ze;class tn{constructor(t){if(typeof t!=="function"){throw new TypeError("executor must be a function.")}let e;this.promise=new Promise((function t(n){e=n}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;while(e-- >0){n._listeners[e](t)}n._listeners=null}));this.promise.then=t=>{let e;const o=new Promise((t=>{n.subscribe(t);e=t})).then(t);o.cancel=function t(){n.unsubscribe(e)};return o};t((function t(o,r,s){if(n.reason){return}n.reason=new se(o,r,s);e(n.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(t){if(this.reason){t(this.reason);return}if(this._listeners){this._listeners.push(t)}else{this._listeners=[t]}}unsubscribe(t){if(!this._listeners){return}const e=this._listeners.indexOf(t);if(e!==-1){this._listeners.splice(e,1)}}toAbortSignal(){const t=new AbortController;const e=e=>{t.abort(e)};this.subscribe(e);t.signal.unsubscribe=()=>this.unsubscribe(e);return t.signal}static source(){let t;const e=new tn((function e(n){t=n}));return{token:e,cancel:t}}}const en=tn;function nn(t){return function e(n){return t.apply(null,n)}}function on(t){return at.isObject(t)&&t.isAxiosError===true}const rn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(rn).forEach((([t,e])=>{rn[e]=t}));const sn=rn;function cn(e){const n=new Qe(e);const o=t(Qe.prototype.request,n);at.extend(o,Qe.prototype,n,{allOwnKeys:true});at.extend(o,n,null,{allOwnKeys:true});o.create=function t(n){return cn(ge(e,n))};return o}const an=cn(Ht);an.Axios=Qe;an.CanceledError=se;an.CancelToken=en;an.isCancel=re;an.VERSION=Ke;an.toFormData=bt;an.AxiosError=ut;an.Cancel=an.CanceledError;an.all=function t(e){return Promise.all(e)};an.spread=nn;an.isAxiosError=on;an.mergeConfig=ge;an.AxiosHeaders=ne;an.formToJSON=t=>$t(at.isHTMLForm(t)?new FormData(t):t);an.getAdapter=Me.getAdapter;an.HttpStatusCode=sn;an.default=an;const un=an;const ln="https://typically-workable-perch.ngrok-free.app/api";const fn="http://localhost:3001";const dn=t=>`bc:reserve${t}`;const hn="@BYCODERS_KEY";const pn="bc:used";const wn=t=>`bc:${t}`;class mn{constructor(){this.axiosInstance=un.create({baseURL:ln,headers:{"Content-Type":"application/json",accept:"application/json"}})}static getInstance(){if(this._instance){return this._instance}this._instance=new mn;return this._instance}async getCustomer(t,e){var n,o,r,s;const i=localStorage.getItem("@BYCODERS_KEY");const c={"Content-Type":"application/json",Authorization:`Bearer ${i}`};const a=await this.axiosInstance.get(`/store/${e}/customer/${t}`,{headers:c});if((n=a===null||a===void 0?void 0:a.data)===null||n===void 0?void 0:n.token){this.token=(o=a===null||a===void 0?void 0:a.data)===null||o===void 0?void 0:o.token;localStorage.setItem("@BYCODERS_KEY",(r=a===null||a===void 0?void 0:a.data)===null||r===void 0?void 0:r.token)}return(s=a===null||a===void 0?void 0:a.data)===null||s===void 0?void 0:s.customer}async updateOrder(t){const e=localStorage.getItem("@BYCODERS_KEY");const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};await this.axiosInstance.patch(`/checkouts/${t.cartId}/updateOrder`,{orderId:t.orderId,externalId:t.cartIdCrm},{headers:n});localStorage.removeItem("@BYCODERS_KEY");localStorage.removeItem(pn);localStorage.removeItem(dn(t.cartId))}async sendPin(t,e,n){const o=localStorage.getItem(hn);const r={"Content-Type":"application/json",Authorization:`Bearer ${o}`};const s=await this.axiosInstance.post("/crmbonus/send-pin",{cellphone:t,name:e,storeName:n},{headers:r});return{storeId:s.data.storeId,userId:s.data.userId}}async validatePinBonus(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};const o=await this.axiosInstance.post("/crmbonus/process-pin-bonus",t,{headers:n});return o.data}async reserve(t){const e={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`};const n=await this.axiosInstance.post("/crmbonus/redeem-bonus",t,{headers:e});return n.data}async cancel(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};const o=await this.axiosInstance.post("/crmbonus/cancel-apply-bonus",{ticket:t},{headers:n});return o.data}async getToken(t){var e,n;const o=await this.axiosInstance.post("/wake/requestToken",{storeName:t});this.token=(e=o===null||o===void 0?void 0:o.data)===null||e===void 0?void 0:e.token;localStorage.setItem(hn,this.token);return(n=o===null||o===void 0?void 0:o.data)===null||n===void 0?void 0:n.token}async getCustomization(t){const e={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`};const n=await this.axiosInstance.get(`/stores/${t}/customizations`,{headers:e});localStorage.setItem(wn(t),JSON.stringify(n.data));console.log("getCustomization",n);return n.data}async cancelBonus(t,e){const n=localStorage.getItem(hn);const o={"Content-Type":"application/json",Authorization:`Bearer ${n}`};await this.axiosInstance.post(`/crmbonus/cancel-bonus`,{cartId:t,usedBonus:true,storeName:e},{headers:o});localStorage.setItem(t,"0");localStorage.removeItem(pn)}async getInfoBonus(t,e){const n=localStorage.getItem(hn);const o={"Content-Type":"application/json",Authorization:`Bearer ${n}`};const r=await this.axiosInstance.get(`/crmbonus/order-info/${e}/${t}`,{headers:o});return r.data}async patchInfoBonus(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};await this.axiosInstance.patch(`/checkouts/${t.cartId}`,{metadata:t.metadata},{headers:n})}async getInfoCart(t){const e=await fetch(`${t}/api/carrinho`,{credentials:"include"}).then((t=>t.json()));return e}}mn._instance=null;class yn{constructor(t){var e;this.products=[];this.id=t.Metadados.id||t.Id;this.middlewareId=(e=t.Metadados)===null||e===void 0?void 0:e.id;this.orderId=t.PedidoId;this.buildUserInfo(t);this.buildStoreInfo(t);this.products=t.Produtos}buildUserInfo(t){this.user={id:t.Usuario?t.Usuario.Id:null}}buildStoreInfo(t){var e;this.store={name:(e=t.Loja)===null||e===void 0?void 0:e.Nome}}}class bn{static of(t){const e=new bn;e.bonusBalance=t.bonusBalance;e.bonusIds=t.bonusIds;e.calculatedValue=t.calculatedValue;e.cartId=t.cartId;e.metadata=t.metadata;e.orderId=t.orderId;e.status=t.status;e.totalDiscount=t.totalDiscount;e.totalValue=t.totalValue;e.isBonusProcessed=t.isBonusProcessed;return e}isExpired(){var t;const e=(t=this===null||this===void 0?void 0:this.metadata)===null||t===void 0?void 0:t.createdAt;if(!e)return true;const n=Date.now();const o=n-e;const r=o/(1e3*60);console.log("diffMinutes",r);return r>6}}const gn=mn.getInstance();const Rn=async()=>{const t=En();console.log("[URL STORE]: ",t);const e=await gn.getInfoCart(t);return new yn(e)};const Sn=async(t,e)=>{const n=await gn.getInfoBonus(t,e);return bn.of(n)};const On=async(t,e,n={})=>{console.log("[bc:salvando metadados]");await gn.patchInfoBonus({storeName:t,cartId:e,metadata:n});console.log("[bc:salvo metadados]")};const En=()=>{const t=window.location.origin;if(t.includes("localhost")){return fn}if(t.includes("checkout")){return t}if(t.includes("fbits")){return t}if(t.includes("www.")){return t.replace("www","checkout")}return`${window.location.protocol}//checkout.${window.location.host}`};export{mn as C,pn as U,Sn as a,yn as b,dn as c,Rn as g,On as p};
2
- //# sourceMappingURL=p-0d09c221.js.map
1
+ function t(t,e){return function n(){return t.apply(e,arguments)}}const{toString:e}=Object.prototype;const{getPrototypeOf:n}=Object;const o=(t=>n=>{const o=e.call(n);return t[o]||(t[o]=o.slice(8,-1).toLowerCase())})(Object.create(null));const r=t=>{t=t.toLowerCase();return e=>o(e)===t};const s=t=>e=>typeof e===t;const{isArray:i}=Array;const c=s("undefined");function a(t){return t!==null&&!c(t)&&t.constructor!==null&&!c(t.constructor)&&d(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const u=r("ArrayBuffer");function l(t){let e;if(typeof ArrayBuffer!=="undefined"&&ArrayBuffer.isView){e=ArrayBuffer.isView(t)}else{e=t&&t.buffer&&u(t.buffer)}return e}const f=s("string");const d=s("function");const h=s("number");const p=t=>t!==null&&typeof t==="object";const m=t=>t===true||t===false;const w=t=>{if(o(t)!=="object"){return false}const e=n(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)};const y=r("Date");const b=r("File");const g=r("Blob");const R=r("FileList");const S=t=>p(t)&&d(t.pipe);const O=t=>{let e;return t&&(typeof FormData==="function"&&t instanceof FormData||d(t.append)&&((e=o(t))==="formdata"||e==="object"&&d(t.toString)&&t.toString()==="[object FormData]"))};const E=r("URLSearchParams");const[T,A,j,v]=["ReadableStream","Request","Response","Headers"].map(r);const C=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function x(t,e,{allOwnKeys:n=false}={}){if(t===null||typeof t==="undefined"){return}let o;let r;if(typeof t!=="object"){t=[t]}if(i(t)){for(o=0,r=t.length;o<r;o++){e.call(null,t[o],o,t)}}else{const r=n?Object.getOwnPropertyNames(t):Object.keys(t);const s=r.length;let i;for(o=0;o<s;o++){i=r[o];e.call(null,t[i],i,t)}}}function B(t,e){e=e.toLowerCase();const n=Object.keys(t);let o=n.length;let r;while(o-- >0){r=n[o];if(e===r.toLowerCase()){return r}}return null}const N=(()=>{if(typeof globalThis!=="undefined")return globalThis;return typeof self!=="undefined"?self:typeof window!=="undefined"?window:global})();const P=t=>!c(t)&&t!==N;function D(){const{caseless:t}=P(this)&&this||{};const e={};const n=(n,o)=>{const r=t&&B(e,o)||o;if(w(e[r])&&w(n)){e[r]=D(e[r],n)}else if(w(n)){e[r]=D({},n)}else if(i(n)){e[r]=n.slice()}else{e[r]=n}};for(let t=0,e=arguments.length;t<e;t++){arguments[t]&&x(arguments[t],n)}return e}const F=(e,n,o,{allOwnKeys:r}={})=>{x(n,((n,r)=>{if(o&&d(n)){e[r]=t(n,o)}else{e[r]=n}}),{allOwnKeys:r});return e};const U=t=>{if(t.charCodeAt(0)===65279){t=t.slice(1)}return t};const _=(t,e,n,o)=>{t.prototype=Object.create(e.prototype,o);t.prototype.constructor=t;Object.defineProperty(t,"super",{value:e.prototype});n&&Object.assign(t.prototype,n)};const k=(t,e,o,r)=>{let s;let i;let c;const a={};e=e||{};if(t==null)return e;do{s=Object.getOwnPropertyNames(t);i=s.length;while(i-- >0){c=s[i];if((!r||r(c,t,e))&&!a[c]){e[c]=t[c];a[c]=true}}t=o!==false&&n(t)}while(t&&(!o||o(t,e))&&t!==Object.prototype);return e};const q=(t,e,n)=>{t=String(t);if(n===undefined||n>t.length){n=t.length}n-=e.length;const o=t.indexOf(e,n);return o!==-1&&o===n};const I=t=>{if(!t)return null;if(i(t))return t;let e=t.length;if(!h(e))return null;const n=new Array(e);while(e-- >0){n[e]=t[e]}return n};const $=(t=>e=>t&&e instanceof t)(typeof Uint8Array!=="undefined"&&n(Uint8Array));const L=(t,e)=>{const n=t&&t[Symbol.iterator];const o=n.call(t);let r;while((r=o.next())&&!r.done){const n=r.value;e.call(t,n[0],n[1])}};const z=(t,e)=>{let n;const o=[];while((n=t.exec(e))!==null){o.push(n)}return o};const M=r("HTMLFormElement");const H=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function t(e,n,o){return n.toUpperCase()+o}));const J=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype);const K=r("RegExp");const Y=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t);const o={};x(n,((n,r)=>{let s;if((s=e(n,r,t))!==false){o[r]=s||n}}));Object.defineProperties(t,o)};const V=t=>{Y(t,((e,n)=>{if(d(t)&&["arguments","caller","callee"].indexOf(n)!==-1){return false}const o=t[n];if(!d(o))return;e.enumerable=false;if("writable"in e){e.writable=false;return}if(!e.set){e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}}}))};const W=(t,e)=>{const n={};const o=t=>{t.forEach((t=>{n[t]=true}))};i(t)?o(t):o(String(t).split(e));return n};const G=()=>{};const X=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;const Z="abcdefghijklmnopqrstuvwxyz";const Q="0123456789";const tt={DIGIT:Q,ALPHA:Z,ALPHA_DIGIT:Z+Z.toUpperCase()+Q};const et=(t=16,e=tt.ALPHA_DIGIT)=>{let n="";const{length:o}=e;while(t--){n+=e[Math.random()*o|0]}return n};function nt(t){return!!(t&&d(t.append)&&t[Symbol.toStringTag]==="FormData"&&t[Symbol.iterator])}const ot=t=>{const e=new Array(10);const n=(t,o)=>{if(p(t)){if(e.indexOf(t)>=0){return}if(!("toJSON"in t)){e[o]=t;const r=i(t)?[]:{};x(t,((t,e)=>{const s=n(t,o+1);!c(s)&&(r[e]=s)}));e[o]=undefined;return r}}return t};return n(t,0)};const rt=r("AsyncFunction");const st=t=>t&&(p(t)||d(t))&&d(t.then)&&d(t.catch);const it=((t,e)=>{if(t){return setImmediate}return e?((t,e)=>{N.addEventListener("message",(({source:n,data:o})=>{if(n===N&&o===t){e.length&&e.shift()()}}),false);return n=>{e.push(n);N.postMessage(t,"*")}})(`axios@${Math.random()}`,[]):t=>setTimeout(t)})(typeof setImmediate==="function",d(N.postMessage));const ct=typeof queueMicrotask!=="undefined"?queueMicrotask.bind(N):typeof process!=="undefined"&&process.nextTick||it;const at={isArray:i,isArrayBuffer:u,isBuffer:a,isFormData:O,isArrayBufferView:l,isString:f,isNumber:h,isBoolean:m,isObject:p,isPlainObject:w,isReadableStream:T,isRequest:A,isResponse:j,isHeaders:v,isUndefined:c,isDate:y,isFile:b,isBlob:g,isRegExp:K,isFunction:d,isStream:S,isURLSearchParams:E,isTypedArray:$,isFileList:R,forEach:x,merge:D,extend:F,trim:C,stripBOM:U,inherits:_,toFlatObject:k,kindOf:o,kindOfTest:r,endsWith:q,toArray:I,forEachEntry:L,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:Y,freezeMethods:V,toObjectSet:W,toCamelCase:H,noop:G,toFiniteNumber:X,findKey:B,global:N,isContextDefined:P,ALPHABET:tt,generateString:et,isSpecCompliantForm:nt,toJSONObject:ot,isAsyncFn:rt,isThenable:st,setImmediate:it,asap:ct};function ut(t,e,n,o,r){Error.call(this);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack}this.message=t;this.name="AxiosError";e&&(this.code=e);n&&(this.config=n);o&&(this.request=o);if(r){this.response=r;this.status=r.status?r.status:null}}at.inherits(ut,Error,{toJSON:function t(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:at.toJSONObject(this.config),code:this.code,status:this.status}}});const lt=ut.prototype;const ft={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{ft[t]={value:t}}));Object.defineProperties(ut,ft);Object.defineProperty(lt,"isAxiosError",{value:true});ut.from=(t,e,n,o,r,s)=>{const i=Object.create(lt);at.toFlatObject(t,i,(function t(e){return e!==Error.prototype}),(t=>t!=="isAxiosError"));ut.call(i,t.message,e,n,o,r);i.cause=t;i.name=t.name;s&&Object.assign(i,s);return i};const dt=null;function ht(t){return at.isPlainObject(t)||at.isArray(t)}function pt(t){return at.endsWith(t,"[]")?t.slice(0,-2):t}function mt(t,e,n){if(!t)return e;return t.concat(e).map((function t(e,o){e=pt(e);return!n&&o?"["+e+"]":e})).join(n?".":"")}function wt(t){return at.isArray(t)&&!t.some(ht)}const yt=at.toFlatObject(at,{},null,(function t(e){return/^is[A-Z]/.test(e)}));function bt(t,e,n){if(!at.isObject(t)){throw new TypeError("target must be an object")}e=e||new FormData;n=at.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,(function t(e,n){return!at.isUndefined(n[e])}));const o=n.metaTokens;const r=n.visitor||l;const s=n.dots;const i=n.indexes;const c=n.Blob||typeof Blob!=="undefined"&&Blob;const a=c&&at.isSpecCompliantForm(e);if(!at.isFunction(r)){throw new TypeError("visitor must be a function")}function u(t){if(t===null)return"";if(at.isDate(t)){return t.toISOString()}if(!a&&at.isBlob(t)){throw new ut("Blob is not supported. Use a Buffer instead.")}if(at.isArrayBuffer(t)||at.isTypedArray(t)){return a&&typeof Blob==="function"?new Blob([t]):Buffer.from(t)}return t}function l(t,n,r){let c=t;if(t&&!r&&typeof t==="object"){if(at.endsWith(n,"{}")){n=o?n:n.slice(0,-2);t=JSON.stringify(t)}else if(at.isArray(t)&&wt(t)||(at.isFileList(t)||at.endsWith(n,"[]"))&&(c=at.toArray(t))){n=pt(n);c.forEach((function t(o,r){!(at.isUndefined(o)||o===null)&&e.append(i===true?mt([n],r,s):i===null?n:n+"[]",u(o))}));return false}}if(ht(t)){return true}e.append(mt(r,n,s),u(t));return false}const f=[];const d=Object.assign(yt,{defaultVisitor:l,convertValue:u,isVisitable:ht});function h(t,n){if(at.isUndefined(t))return;if(f.indexOf(t)!==-1){throw Error("Circular reference detected in "+n.join("."))}f.push(t);at.forEach(t,(function t(o,s){const i=!(at.isUndefined(o)||o===null)&&r.call(e,o,at.isString(s)?s.trim():s,n,d);if(i===true){h(o,n?n.concat(s):[s])}}));f.pop()}if(!at.isObject(t)){throw new TypeError("data must be an object")}h(t);return e}function gt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function t(n){return e[n]}))}function Rt(t,e){this._pairs=[];t&&bt(t,this,e)}const St=Rt.prototype;St.append=function t(e,n){this._pairs.push([e,n])};St.toString=function t(e){const n=e?function(t){return e.call(this,t,gt)}:gt;return this._pairs.map((function t(e){return n(e[0])+"="+n(e[1])}),"").join("&")};function Ot(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Et(t,e,n){if(!e){return t}const o=n&&n.encode||Ot;const r=n&&n.serialize;let s;if(r){s=r(e,n)}else{s=at.isURLSearchParams(e)?e.toString():new Rt(e,n).toString(o)}if(s){const e=t.indexOf("#");if(e!==-1){t=t.slice(0,e)}t+=(t.indexOf("?")===-1?"?":"&")+s}return t}class Tt{constructor(){this.handlers=[]}use(t,e,n){this.handlers.push({fulfilled:t,rejected:e,synchronous:n?n.synchronous:false,runWhen:n?n.runWhen:null});return this.handlers.length-1}eject(t){if(this.handlers[t]){this.handlers[t]=null}}clear(){if(this.handlers){this.handlers=[]}}forEach(t){at.forEach(this.handlers,(function e(n){if(n!==null){t(n)}}))}}const At=Tt;const jt={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};const vt=typeof URLSearchParams!=="undefined"?URLSearchParams:Rt;const Ct=typeof FormData!=="undefined"?FormData:null;const xt=typeof Blob!=="undefined"?Blob:null;const Bt={isBrowser:true,classes:{URLSearchParams:vt,FormData:Ct,Blob:xt},protocols:["http","https","file","blob","url","data"]};const Nt=typeof window!=="undefined"&&typeof document!=="undefined";const Pt=typeof navigator==="object"&&navigator||undefined;const Dt=Nt&&(!Pt||["ReactNative","NativeScript","NS"].indexOf(Pt.product)<0);const Ft=(()=>typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope&&typeof self.importScripts==="function")();const Ut=Nt&&window.location.href||"http://localhost";const _t=Object.freeze({__proto__:null,hasBrowserEnv:Nt,hasStandardBrowserWebWorkerEnv:Ft,hasStandardBrowserEnv:Dt,navigator:Pt,origin:Ut});const kt={..._t,...Bt};function qt(t,e){return bt(t,new kt.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,o){if(kt.isNode&&at.isBuffer(t)){this.append(e,t.toString("base64"));return false}return o.defaultVisitor.apply(this,arguments)}},e))}function It(t){return at.matchAll(/\w+|\[(\w*)]/g,t).map((t=>t[0]==="[]"?"":t[1]||t[0]))}function $t(t){const e={};const n=Object.keys(t);let o;const r=n.length;let s;for(o=0;o<r;o++){s=n[o];e[s]=t[s]}return e}function Lt(t){function e(t,n,o,r){let s=t[r++];if(s==="__proto__")return true;const i=Number.isFinite(+s);const c=r>=t.length;s=!s&&at.isArray(o)?o.length:s;if(c){if(at.hasOwnProp(o,s)){o[s]=[o[s],n]}else{o[s]=n}return!i}if(!o[s]||!at.isObject(o[s])){o[s]=[]}const a=e(t,n,o[s],r);if(a&&at.isArray(o[s])){o[s]=$t(o[s])}return!i}if(at.isFormData(t)&&at.isFunction(t.entries)){const n={};at.forEachEntry(t,((t,o)=>{e(It(t),o,n,0)}));return n}return null}function zt(t,e,n){if(at.isString(t)){try{(e||JSON.parse)(t);return at.trim(t)}catch(t){if(t.name!=="SyntaxError"){throw t}}}return(n||JSON.stringify)(t)}const Mt={transitional:jt,adapter:["xhr","http","fetch"],transformRequest:[function t(e,n){const o=n.getContentType()||"";const r=o.indexOf("application/json")>-1;const s=at.isObject(e);if(s&&at.isHTMLForm(e)){e=new FormData(e)}const i=at.isFormData(e);if(i){return r?JSON.stringify(Lt(e)):e}if(at.isArrayBuffer(e)||at.isBuffer(e)||at.isStream(e)||at.isFile(e)||at.isBlob(e)||at.isReadableStream(e)){return e}if(at.isArrayBufferView(e)){return e.buffer}if(at.isURLSearchParams(e)){n.setContentType("application/x-www-form-urlencoded;charset=utf-8",false);return e.toString()}let c;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1){return qt(e,this.formSerializer).toString()}if((c=at.isFileList(e))||o.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return bt(c?{"files[]":e}:e,t&&new t,this.formSerializer)}}if(s||r){n.setContentType("application/json",false);return zt(e)}return e}],transformResponse:[function t(e){const n=this.transitional||Mt.transitional;const o=n&&n.forcedJSONParsing;const r=this.responseType==="json";if(at.isResponse(e)||at.isReadableStream(e)){return e}if(e&&at.isString(e)&&(o&&!this.responseType||r)){const t=n&&n.silentJSONParsing;const o=!t&&r;try{return JSON.parse(e)}catch(t){if(o){if(t.name==="SyntaxError"){throw ut.from(t,ut.ERR_BAD_RESPONSE,this,null,this.response)}throw t}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:kt.classes.FormData,Blob:kt.classes.Blob},validateStatus:function t(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":undefined}}};at.forEach(["delete","get","head","post","put","patch"],(t=>{Mt.headers[t]={}}));const Ht=Mt;const Jt=at.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const Kt=t=>{const e={};let n;let o;let r;t&&t.split("\n").forEach((function t(s){r=s.indexOf(":");n=s.substring(0,r).trim().toLowerCase();o=s.substring(r+1).trim();if(!n||e[n]&&Jt[n]){return}if(n==="set-cookie"){if(e[n]){e[n].push(o)}else{e[n]=[o]}}else{e[n]=e[n]?e[n]+", "+o:o}}));return e};const Yt=Symbol("internals");function Vt(t){return t&&String(t).trim().toLowerCase()}function Wt(t){if(t===false||t==null){return t}return at.isArray(t)?t.map(Wt):String(t)}function Gt(t){const e=Object.create(null);const n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;while(o=n.exec(t)){e[o[1]]=o[2]}return e}const Xt=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Zt(t,e,n,o,r){if(at.isFunction(o)){return o.call(this,e,n)}if(r){e=n}if(!at.isString(e))return;if(at.isString(o)){return e.indexOf(o)!==-1}if(at.isRegExp(o)){return o.test(e)}}function Qt(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}function te(t,e){const n=at.toCamelCase(" "+e);["get","set","has"].forEach((o=>{Object.defineProperty(t,o+n,{value:function(t,n,r){return this[o].call(this,e,t,n,r)},configurable:true})}))}class ee{constructor(t){t&&this.set(t)}set(t,e,n){const o=this;function r(t,e,n){const r=Vt(e);if(!r){throw new Error("header name must be a non-empty string")}const s=at.findKey(o,r);if(!s||o[s]===undefined||n===true||n===undefined&&o[s]!==false){o[s||e]=Wt(t)}}const s=(t,e)=>at.forEach(t,((t,n)=>r(t,n,e)));if(at.isPlainObject(t)||t instanceof this.constructor){s(t,e)}else if(at.isString(t)&&(t=t.trim())&&!Xt(t)){s(Kt(t),e)}else if(at.isHeaders(t)){for(const[e,o]of t.entries()){r(o,e,n)}}else{t!=null&&r(e,t,n)}return this}get(t,e){t=Vt(t);if(t){const n=at.findKey(this,t);if(n){const t=this[n];if(!e){return t}if(e===true){return Gt(t)}if(at.isFunction(e)){return e.call(this,t,n)}if(at.isRegExp(e)){return e.exec(t)}throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){t=Vt(t);if(t){const n=at.findKey(this,t);return!!(n&&this[n]!==undefined&&(!e||Zt(this,this[n],n,e)))}return false}delete(t,e){const n=this;let o=false;function r(t){t=Vt(t);if(t){const r=at.findKey(n,t);if(r&&(!e||Zt(n,n[r],r,e))){delete n[r];o=true}}}if(at.isArray(t)){t.forEach(r)}else{r(t)}return o}clear(t){const e=Object.keys(this);let n=e.length;let o=false;while(n--){const r=e[n];if(!t||Zt(this,this[r],r,t,true)){delete this[r];o=true}}return o}normalize(t){const e=this;const n={};at.forEach(this,((o,r)=>{const s=at.findKey(n,r);if(s){e[s]=Wt(o);delete e[r];return}const i=t?Qt(r):String(r).trim();if(i!==r){delete e[r]}e[i]=Wt(o);n[i]=true}));return this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);at.forEach(this,((n,o)=>{n!=null&&n!==false&&(e[o]=t&&at.isArray(n)?n.join(", "):n)}));return e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);e.forEach((t=>n.set(t)));return n}static accessor(t){const e=this[Yt]=this[Yt]={accessors:{}};const n=e.accessors;const o=this.prototype;function r(t){const e=Vt(t);if(!n[e]){te(o,t);n[e]=true}}at.isArray(t)?t.forEach(r):r(t);return this}}ee.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);at.reduceDescriptors(ee.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}}));at.freezeMethods(ee);const ne=ee;function oe(t,e){const n=this||Ht;const o=e||n;const r=ne.from(o.headers);let s=o.data;at.forEach(t,(function t(o){s=o.call(n,s,r.normalize(),e?e.status:undefined)}));r.normalize();return s}function re(t){return!!(t&&t.__CANCEL__)}function se(t,e,n){ut.call(this,t==null?"canceled":t,ut.ERR_CANCELED,e,n);this.name="CanceledError"}at.inherits(se,ut,{__CANCEL__:true});function ie(t,e,n){const o=n.config.validateStatus;if(!n.status||!o||o(n.status)){t(n)}else{e(new ut("Request failed with status code "+n.status,[ut.ERR_BAD_REQUEST,ut.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}}function ce(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function ae(t,e){t=t||10;const n=new Array(t);const o=new Array(t);let r=0;let s=0;let i;e=e!==undefined?e:1e3;return function c(a){const u=Date.now();const l=o[s];if(!i){i=u}n[r]=a;o[r]=u;let f=s;let d=0;while(f!==r){d+=n[f++];f=f%t}r=(r+1)%t;if(r===s){s=(s+1)%t}if(u-i<e){return}const h=l&&u-l;return h?Math.round(d*1e3/h):undefined}}function ue(t,e){let n=0;let o=1e3/e;let r;let s;const i=(e,o=Date.now())=>{n=o;r=null;if(s){clearTimeout(s);s=null}t.apply(null,e)};const c=(...t)=>{const e=Date.now();const c=e-n;if(c>=o){i(t,e)}else{r=t;if(!s){s=setTimeout((()=>{s=null;i(r)}),o-c)}}};const a=()=>r&&i(r);return[c,a]}const le=(t,e,n=3)=>{let o=0;const r=ae(50,250);return ue((n=>{const s=n.loaded;const i=n.lengthComputable?n.total:undefined;const c=s-o;const a=r(c);const u=s<=i;o=s;const l={loaded:s,total:i,progress:i?s/i:undefined,bytes:c,rate:a?a:undefined,estimated:a&&i&&u?(i-s)/a:undefined,event:n,lengthComputable:i!=null,[e?"download":"upload"]:true};t(l)}),n)};const fe=(t,e)=>{const n=t!=null;return[o=>e[0]({lengthComputable:n,total:t,loaded:o}),e[1]]};const de=t=>(...e)=>at.asap((()=>t(...e)));const he=kt.hasStandardBrowserEnv?function t(){const e=kt.navigator&&/(msie|trident)/i.test(kt.navigator.userAgent);const n=document.createElement("a");let o;function r(t){let o=t;if(e){n.setAttribute("href",o);o=n.href}n.setAttribute("href",o);return{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}o=r(window.location.href);return function t(e){const n=at.isString(e)?r(e):e;return n.protocol===o.protocol&&n.host===o.host}}():function t(){return function t(){return true}}();const pe=kt.hasStandardBrowserEnv?{write(t,e,n,o,r,s){const i=[t+"="+encodeURIComponent(e)];at.isNumber(n)&&i.push("expires="+new Date(n).toGMTString());at.isString(o)&&i.push("path="+o);at.isString(r)&&i.push("domain="+r);s===true&&i.push("secure");document.cookie=i.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function me(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function we(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function ye(t,e){if(t&&!me(e)){return we(t,e)}return e}const be=t=>t instanceof ne?{...t}:t;function ge(t,e){e=e||{};const n={};function o(t,e,n){if(at.isPlainObject(t)&&at.isPlainObject(e)){return at.merge.call({caseless:n},t,e)}else if(at.isPlainObject(e)){return at.merge({},e)}else if(at.isArray(e)){return e.slice()}return e}function r(t,e,n){if(!at.isUndefined(e)){return o(t,e,n)}else if(!at.isUndefined(t)){return o(undefined,t,n)}}function s(t,e){if(!at.isUndefined(e)){return o(undefined,e)}}function i(t,e){if(!at.isUndefined(e)){return o(undefined,e)}else if(!at.isUndefined(t)){return o(undefined,t)}}function c(n,r,s){if(s in e){return o(n,r)}else if(s in t){return o(undefined,n)}}const a={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(t,e)=>r(be(t),be(e),true)};at.forEach(Object.keys(Object.assign({},t,e)),(function o(s){const i=a[s]||r;const u=i(t[s],e[s],s);at.isUndefined(u)&&i!==c||(n[s]=u)}));return n}const Re=t=>{const e=ge({},t);let{data:n,withXSRFToken:o,xsrfHeaderName:r,xsrfCookieName:s,headers:i,auth:c}=e;e.headers=i=ne.from(i);e.url=Et(ye(e.baseURL,e.url),t.params,t.paramsSerializer);if(c){i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")))}let a;if(at.isFormData(n)){if(kt.hasStandardBrowserEnv||kt.hasStandardBrowserWebWorkerEnv){i.setContentType(undefined)}else if((a=i.getContentType())!==false){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];i.setContentType([t||"multipart/form-data",...e].join("; "))}}if(kt.hasStandardBrowserEnv){o&&at.isFunction(o)&&(o=o(e));if(o||o!==false&&he(e.url)){const t=r&&s&&pe.read(s);if(t){i.set(r,t)}}}return e};const Se=typeof XMLHttpRequest!=="undefined";const Oe=Se&&function(t){return new Promise((function e(n,o){const r=Re(t);let s=r.data;const i=ne.from(r.headers).normalize();let{responseType:c,onUploadProgress:a,onDownloadProgress:u}=r;let l;let f,d;let h,p;function m(){h&&h();p&&p();r.cancelToken&&r.cancelToken.unsubscribe(l);r.signal&&r.signal.removeEventListener("abort",l)}let w=new XMLHttpRequest;w.open(r.method.toUpperCase(),r.url,true);w.timeout=r.timeout;function y(){if(!w){return}const e=ne.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders());const r=!c||c==="text"||c==="json"?w.responseText:w.response;const s={data:r,status:w.status,statusText:w.statusText,headers:e,config:t,request:w};ie((function t(e){n(e);m()}),(function t(e){o(e);m()}),s);w=null}if("onloadend"in w){w.onloadend=y}else{w.onreadystatechange=function t(){if(!w||w.readyState!==4){return}if(w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)){return}setTimeout(y)}}w.onabort=function e(){if(!w){return}o(new ut("Request aborted",ut.ECONNABORTED,t,w));w=null};w.onerror=function e(){o(new ut("Network Error",ut.ERR_NETWORK,t,w));w=null};w.ontimeout=function e(){let n=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const s=r.transitional||jt;if(r.timeoutErrorMessage){n=r.timeoutErrorMessage}o(new ut(n,s.clarifyTimeoutError?ut.ETIMEDOUT:ut.ECONNABORTED,t,w));w=null};s===undefined&&i.setContentType(null);if("setRequestHeader"in w){at.forEach(i.toJSON(),(function t(e,n){w.setRequestHeader(n,e)}))}if(!at.isUndefined(r.withCredentials)){w.withCredentials=!!r.withCredentials}if(c&&c!=="json"){w.responseType=r.responseType}if(u){[d,p]=le(u,true);w.addEventListener("progress",d)}if(a&&w.upload){[f,h]=le(a);w.upload.addEventListener("progress",f);w.upload.addEventListener("loadend",h)}if(r.cancelToken||r.signal){l=e=>{if(!w){return}o(!e||e.type?new se(null,t,w):e);w.abort();w=null};r.cancelToken&&r.cancelToken.subscribe(l);if(r.signal){r.signal.aborted?l():r.signal.addEventListener("abort",l)}}const b=ce(r.url);if(b&&kt.protocols.indexOf(b)===-1){o(new ut("Unsupported protocol "+b+":",ut.ERR_BAD_REQUEST,t));return}w.send(s||null)}))};const Ee=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let n=new AbortController;let o;const r=function(t){if(!o){o=true;i();const e=t instanceof Error?t:this.reason;n.abort(e instanceof ut?e:new se(e instanceof Error?e.message:e))}};let s=e&&setTimeout((()=>{s=null;r(new ut(`timeout ${e} of ms exceeded`,ut.ETIMEDOUT))}),e);const i=()=>{if(t){s&&clearTimeout(s);s=null;t.forEach((t=>{t.unsubscribe?t.unsubscribe(r):t.removeEventListener("abort",r)}));t=null}};t.forEach((t=>t.addEventListener("abort",r)));const{signal:c}=n;c.unsubscribe=()=>at.asap(i);return c}};const Te=Ee;const Ae=function*(t,e){let n=t.byteLength;if(!e||n<e){yield t;return}let o=0;let r;while(o<n){r=o+e;yield t.slice(o,r);o=r}};const je=async function*(t,e){for await(const n of ve(t)){yield*Ae(n,e)}};const ve=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}const e=t.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t){break}yield n}}finally{await e.cancel()}};const Ce=(t,e,n,o)=>{const r=je(t,e);let s=0;let i;let c=t=>{if(!i){i=true;o&&o(t)}};return new ReadableStream({async pull(t){try{const{done:e,value:o}=await r.next();if(e){c();t.close();return}let i=o.byteLength;if(n){let t=s+=i;n(t)}t.enqueue(new Uint8Array(o))}catch(t){c(t);throw t}},cancel(t){c(t);return r.return()}},{highWaterMark:2})};const xe=typeof fetch==="function"&&typeof Request==="function"&&typeof Response==="function";const Be=xe&&typeof ReadableStream==="function";const Ne=xe&&(typeof TextEncoder==="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer()));const Pe=(t,...e)=>{try{return!!t(...e)}catch(t){return false}};const De=Be&&Pe((()=>{let t=false;const e=new Request(kt.origin,{body:new ReadableStream,method:"POST",get duplex(){t=true;return"half"}}).headers.has("Content-Type");return t&&!e}));const Fe=64*1024;const Ue=Be&&Pe((()=>at.isReadableStream(new Response("").body)));const _e={stream:Ue&&(t=>t.body)};xe&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!_e[e]&&(_e[e]=at.isFunction(t[e])?t=>t[e]():(t,n)=>{throw new ut(`Response type '${e}' is not supported`,ut.ERR_NOT_SUPPORT,n)})}))})(new Response);const ke=async t=>{if(t==null){return 0}if(at.isBlob(t)){return t.size}if(at.isSpecCompliantForm(t)){const e=new Request(kt.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}if(at.isArrayBufferView(t)||at.isArrayBuffer(t)){return t.byteLength}if(at.isURLSearchParams(t)){t=t+""}if(at.isString(t)){return(await Ne(t)).byteLength}};const qe=async(t,e)=>{const n=at.toFiniteNumber(t.getContentLength());return n==null?ke(e):n};const Ie=xe&&(async t=>{let{url:e,method:n,data:o,signal:r,cancelToken:s,timeout:i,onDownloadProgress:c,onUploadProgress:a,responseType:u,headers:l,withCredentials:f="same-origin",fetchOptions:d}=Re(t);u=u?(u+"").toLowerCase():"text";let h=Te([r,s&&s.toAbortSignal()],i);let p;const m=h&&h.unsubscribe&&(()=>{h.unsubscribe()});let w;try{if(a&&De&&n!=="get"&&n!=="head"&&(w=await qe(l,o))!==0){let t=new Request(e,{method:"POST",body:o,duplex:"half"});let n;if(at.isFormData(o)&&(n=t.headers.get("content-type"))){l.setContentType(n)}if(t.body){const[e,n]=fe(w,le(de(a)));o=Ce(t.body,Fe,e,n)}}if(!at.isString(f)){f=f?"include":"omit"}const r="credentials"in Request.prototype;p=new Request(e,{...d,signal:h,method:n.toUpperCase(),headers:l.normalize().toJSON(),body:o,duplex:"half",credentials:r?f:undefined});let s=await fetch(p);const i=Ue&&(u==="stream"||u==="response");if(Ue&&(c||i&&m)){const t={};["status","statusText","headers"].forEach((e=>{t[e]=s[e]}));const e=at.toFiniteNumber(s.headers.get("content-length"));const[n,o]=c&&fe(e,le(de(c),true))||[];s=new Response(Ce(s.body,Fe,n,(()=>{o&&o();m&&m()})),t)}u=u||"text";let y=await _e[at.findKey(_e,u)||"text"](s,t);!i&&m&&m();return await new Promise(((e,n)=>{ie(e,n,{data:y,headers:ne.from(s.headers),status:s.status,statusText:s.statusText,config:t,request:p})}))}catch(e){m&&m();if(e&&e.name==="TypeError"&&/fetch/i.test(e.message)){throw Object.assign(new ut("Network Error",ut.ERR_NETWORK,t,p),{cause:e.cause||e})}throw ut.from(e,e&&e.code,t,p)}});const $e={http:dt,xhr:Oe,fetch:Ie};at.forEach($e,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const Le=t=>`- ${t}`;const ze=t=>at.isFunction(t)||t===null||t===false;const Me={getAdapter:t=>{t=at.isArray(t)?t:[t];const{length:e}=t;let n;let o;const r={};for(let s=0;s<e;s++){n=t[s];let e;o=n;if(!ze(n)){o=$e[(e=String(n)).toLowerCase()];if(o===undefined){throw new ut(`Unknown adapter '${e}'`)}}if(o){break}r[e||"#"+s]=o}if(!o){const t=Object.entries(r).map((([t,e])=>`adapter ${t} `+(e===false?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(Le).join("\n"):" "+Le(t[0]):"as no adapter specified";throw new ut(`There is no suitable adapter to dispatch the request `+n,"ERR_NOT_SUPPORT")}return o},adapters:$e};function He(t){if(t.cancelToken){t.cancelToken.throwIfRequested()}if(t.signal&&t.signal.aborted){throw new se(null,t)}}function Je(t){He(t);t.headers=ne.from(t.headers);t.data=oe.call(t,t.transformRequest);if(["post","put","patch"].indexOf(t.method)!==-1){t.headers.setContentType("application/x-www-form-urlencoded",false)}const e=Me.getAdapter(t.adapter||Ht.adapter);return e(t).then((function e(n){He(t);n.data=oe.call(t,t.transformResponse,n);n.headers=ne.from(n.headers);return n}),(function e(n){if(!re(n)){He(t);if(n&&n.response){n.response.data=oe.call(t,t.transformResponse,n.response);n.response.headers=ne.from(n.response.headers)}}return Promise.reject(n)}))}const Ke="1.7.7";const Ye={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Ye[t]=function n(o){return typeof o===t||"a"+(e<1?"n ":" ")+t}}));const Ve={};Ye.transitional=function t(e,n,o){function r(t,e){return"[Axios v"+Ke+"] Transitional option '"+t+"'"+e+(o?". "+o:"")}return(t,o,s)=>{if(e===false){throw new ut(r(o," has been removed"+(n?" in "+n:"")),ut.ERR_DEPRECATED)}if(n&&!Ve[o]){Ve[o]=true;console.warn(r(o," has been deprecated since v"+n+" and will be removed in the near future"))}return e?e(t,o,s):true}};function We(t,e,n){if(typeof t!=="object"){throw new ut("options must be an object",ut.ERR_BAD_OPTION_VALUE)}const o=Object.keys(t);let r=o.length;while(r-- >0){const s=o[r];const i=e[s];if(i){const e=t[s];const n=e===undefined||i(e,s,t);if(n!==true){throw new ut("option "+s+" must be "+n,ut.ERR_BAD_OPTION_VALUE)}continue}if(n!==true){throw new ut("Unknown option "+s,ut.ERR_BAD_OPTION)}}}const Ge={assertOptions:We,validators:Ye};const Xe=Ge.validators;class Ze{constructor(t){this.defaults=t;this.interceptors={request:new At,response:new At}}async request(t,e){try{return await this._request(t,e)}catch(t){if(t instanceof Error){let e;Error.captureStackTrace?Error.captureStackTrace(e={}):e=new Error;const n=e.stack?e.stack.replace(/^.+\n/,""):"";try{if(!t.stack){t.stack=n}else if(n&&!String(t.stack).endsWith(n.replace(/^.+\n.+\n/,""))){t.stack+="\n"+n}}catch(t){}}throw t}}_request(t,e){if(typeof t==="string"){e=e||{};e.url=t}else{e=t||{}}e=ge(this.defaults,e);const{transitional:n,paramsSerializer:o,headers:r}=e;if(n!==undefined){Ge.assertOptions(n,{silentJSONParsing:Xe.transitional(Xe.boolean),forcedJSONParsing:Xe.transitional(Xe.boolean),clarifyTimeoutError:Xe.transitional(Xe.boolean)},false)}if(o!=null){if(at.isFunction(o)){e.paramsSerializer={serialize:o}}else{Ge.assertOptions(o,{encode:Xe.function,serialize:Xe.function},true)}}e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=r&&at.merge(r.common,r[e.method]);r&&at.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]}));e.headers=ne.concat(s,r);const i=[];let c=true;this.interceptors.request.forEach((function t(n){if(typeof n.runWhen==="function"&&n.runWhen(e)===false){return}c=c&&n.synchronous;i.unshift(n.fulfilled,n.rejected)}));const a=[];this.interceptors.response.forEach((function t(e){a.push(e.fulfilled,e.rejected)}));let u;let l=0;let f;if(!c){const t=[Je.bind(this),undefined];t.unshift.apply(t,i);t.push.apply(t,a);f=t.length;u=Promise.resolve(e);while(l<f){u=u.then(t[l++],t[l++])}return u}f=i.length;let d=e;l=0;while(l<f){const t=i[l++];const e=i[l++];try{d=t(d)}catch(t){e.call(this,t);break}}try{u=Je.call(this,d)}catch(t){return Promise.reject(t)}l=0;f=a.length;while(l<f){u=u.then(a[l++],a[l++])}return u}getUri(t){t=ge(this.defaults,t);const e=ye(t.baseURL,t.url);return Et(e,t.params,t.paramsSerializer)}}at.forEach(["delete","get","head","options"],(function t(e){Ze.prototype[e]=function(t,n){return this.request(ge(n||{},{method:e,url:t,data:(n||{}).data}))}}));at.forEach(["post","put","patch"],(function t(e){function n(t){return function n(o,r,s){return this.request(ge(s||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:o,data:r}))}}Ze.prototype[e]=n();Ze.prototype[e+"Form"]=n(true)}));const Qe=Ze;class tn{constructor(t){if(typeof t!=="function"){throw new TypeError("executor must be a function.")}let e;this.promise=new Promise((function t(n){e=n}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;while(e-- >0){n._listeners[e](t)}n._listeners=null}));this.promise.then=t=>{let e;const o=new Promise((t=>{n.subscribe(t);e=t})).then(t);o.cancel=function t(){n.unsubscribe(e)};return o};t((function t(o,r,s){if(n.reason){return}n.reason=new se(o,r,s);e(n.reason)}))}throwIfRequested(){if(this.reason){throw this.reason}}subscribe(t){if(this.reason){t(this.reason);return}if(this._listeners){this._listeners.push(t)}else{this._listeners=[t]}}unsubscribe(t){if(!this._listeners){return}const e=this._listeners.indexOf(t);if(e!==-1){this._listeners.splice(e,1)}}toAbortSignal(){const t=new AbortController;const e=e=>{t.abort(e)};this.subscribe(e);t.signal.unsubscribe=()=>this.unsubscribe(e);return t.signal}static source(){let t;const e=new tn((function e(n){t=n}));return{token:e,cancel:t}}}const en=tn;function nn(t){return function e(n){return t.apply(null,n)}}function on(t){return at.isObject(t)&&t.isAxiosError===true}const rn={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(rn).forEach((([t,e])=>{rn[e]=t}));const sn=rn;function cn(e){const n=new Qe(e);const o=t(Qe.prototype.request,n);at.extend(o,Qe.prototype,n,{allOwnKeys:true});at.extend(o,n,null,{allOwnKeys:true});o.create=function t(n){return cn(ge(e,n))};return o}const an=cn(Ht);an.Axios=Qe;an.CanceledError=se;an.CancelToken=en;an.isCancel=re;an.VERSION=Ke;an.toFormData=bt;an.AxiosError=ut;an.Cancel=an.CanceledError;an.all=function t(e){return Promise.all(e)};an.spread=nn;an.isAxiosError=on;an.mergeConfig=ge;an.AxiosHeaders=ne;an.formToJSON=t=>Lt(at.isHTMLForm(t)?new FormData(t):t);an.getAdapter=Me.getAdapter;an.HttpStatusCode=sn;an.default=an;const un=an;const ln="https://wake.crmbonus.com/api";const fn="http://localhost:3001";const dn=t=>`bc:reserve${t}`;const hn="@BYCODERS_KEY";const pn="bc:used";const mn=t=>`bc:${t}`;class wn{constructor(){this.axiosInstance=un.create({baseURL:ln,headers:{"Content-Type":"application/json",accept:"application/json"}})}static getInstance(){if(this._instance){return this._instance}this._instance=new wn;return this._instance}async getCustomer(t,e){var n,o,r,s;const i=localStorage.getItem("@BYCODERS_KEY");const c={"Content-Type":"application/json",Authorization:`Bearer ${i}`};const a=await this.axiosInstance.get(`/store/${e}/customer/${t}`,{headers:c});if((n=a===null||a===void 0?void 0:a.data)===null||n===void 0?void 0:n.token){this.token=(o=a===null||a===void 0?void 0:a.data)===null||o===void 0?void 0:o.token;localStorage.setItem("@BYCODERS_KEY",(r=a===null||a===void 0?void 0:a.data)===null||r===void 0?void 0:r.token)}return(s=a===null||a===void 0?void 0:a.data)===null||s===void 0?void 0:s.customer}async updateOrder(t){const e=localStorage.getItem("@BYCODERS_KEY");const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};await this.axiosInstance.patch(`/checkouts/${t.cartId}/updateOrder`,{orderId:t.orderId,externalId:t.cartIdCrm},{headers:n});localStorage.removeItem("@BYCODERS_KEY");localStorage.removeItem(pn);localStorage.removeItem(dn(t.cartId))}async sendPin(t,e,n){const o=localStorage.getItem(hn);const r={"Content-Type":"application/json",Authorization:`Bearer ${o}`};const s=await this.axiosInstance.post("/crmbonus/send-pin",{cellphone:t,name:e,storeName:n},{headers:r});return{storeId:s.data.storeId,userId:s.data.userId}}async validatePinBonus(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};const o=await this.axiosInstance.post("/crmbonus/process-pin-bonus",t,{headers:n});return o.data}async validatePin(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};const o=await this.axiosInstance.post("/crmbonus/process-pin-bonus",t,{headers:n});return o.data}async reserve(t){const e={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`};const n=await this.axiosInstance.post("/crmbonus/redeem-bonus",t,{headers:e});return n.data}async cancel(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};const o=await this.axiosInstance.post("/crmbonus/cancel-apply-bonus",{ticket:t},{headers:n});return o.data}async getToken(t){var e,n;const o=await this.axiosInstance.post("/wake/requestToken",{storeName:t});this.token=(e=o===null||o===void 0?void 0:o.data)===null||e===void 0?void 0:e.token;localStorage.setItem(hn,this.token);return(n=o===null||o===void 0?void 0:o.data)===null||n===void 0?void 0:n.token}async saveTracking(t,e){try{await this.axiosInstance.post(`/checkouts/traking/${t}`,e)}catch(t){console.warn("[x] Error saving tracking info:",t)}}async getCustomization(t){const e={"Content-Type":"application/json",Authorization:`Bearer ${this.token}`};const n=await this.axiosInstance.get(`/stores/${t}/customizations`,{headers:e});localStorage.setItem(mn(t),JSON.stringify(n.data));console.log("getCustomization",n);return n.data}async cancelBonus(t,e){const n=localStorage.getItem(hn);const o={"Content-Type":"application/json",Authorization:`Bearer ${n}`};await this.axiosInstance.post(`/crmbonus/cancel-bonus`,{cartId:t,usedBonus:true,storeName:e},{headers:o});localStorage.setItem(t,"0");localStorage.removeItem(pn)}async getInfoBonus(t,e){const n=localStorage.getItem(hn);const o={"Content-Type":"application/json",Authorization:`Bearer ${n}`};const r=await this.axiosInstance.get(`/crmbonus/order-info/${e}/${t}`,{headers:o});return r.data}async patchInfoBonus(t){const e=localStorage.getItem(hn);const n={"Content-Type":"application/json",Authorization:`Bearer ${e}`};await this.axiosInstance.patch(`/checkouts/${t.cartId}`,{metadata:t.metadata},{headers:n})}async getInfoCart(t){const e=await fetch(`${t}/api/carrinho`,{credentials:"include"}).then((t=>t.json()));return e}}wn._instance=null;export{wn as C,pn as U,fn as a,dn as g};
2
+ //# sourceMappingURL=p-60787be2.js.map