ghost 6.24.0 → 6.25.0

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 (207) hide show
  1. package/components/{tryghost-i18n-6.24.0.tgz → tryghost-i18n-6.25.0.tgz} +0 -0
  2. package/components/tryghost-parse-email-address-6.25.0.tgz +0 -0
  3. package/core/boot.js +3 -1
  4. package/core/built/admin/assets/{PolarAngleAxis-7TlIQL3R.js → PolarAngleAxis-BNo3yZOE.js} +1 -1
  5. package/core/built/admin/assets/{_baseAssignValue-DJsCJz6y.js → _baseAssignValue-DwWJd_kU.js} +1 -1
  6. package/core/built/admin/assets/{a-large-small-BnBpzYwl.js → a-large-small-DzN0AB7t.js} +1 -1
  7. package/core/built/admin/assets/{at-sign-DC4NtDDM.js → at-sign-vqoOA4VZ.js} +1 -1
  8. package/core/built/admin/assets/{audience-CC5U4UxI.js → audience-CFjVlFTu.js} +1 -1
  9. package/core/built/admin/assets/{avatar-flipboard-_GQfQXQc.js → avatar-flipboard-DuTJ0ty5.js} +1 -1
  10. package/core/built/admin/assets/{bluesky-sharing-BKyzPl9y.js → bluesky-sharing-C1WkXrRJ.js} +1 -1
  11. package/core/built/admin/assets/{chart-BCQFlmhJ.js → chart-Bs2L1q8g.js} +1 -1
  12. package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js → chunk.434.de8a15730373eccfeefe.js} +13 -101
  13. package/core/built/admin/assets/{chunk.524.b5e454aa74df4428420c.js → chunk.524.ed5714f505e821e549f3.js} +5 -5
  14. package/core/built/admin/assets/{chunk.582.20635869be68725e6d5c.js → chunk.582.639cecaca9e77bd7dd4f.js} +7 -7
  15. package/core/built/admin/assets/{chunk.123.1255d9e815f933dfdc57.js → chunk.603.5cb992da88800a9388f3.js} +8 -6
  16. package/core/built/admin/assets/{code-editor-view-BXnjo7qe.js → code-editor-view-DIH4grxv.js} +1 -1
  17. package/core/built/admin/assets/comments-gAnA10dK.js +1 -0
  18. package/core/built/admin/assets/{content-helpers-CQXipRWa.js → content-helpers-Cr_DHEOl.js} +1 -1
  19. package/core/built/admin/assets/{copy-B-MxRWPu.js → copy-w3c9zkaZ.js} +1 -1
  20. package/core/built/admin/assets/{data-list-B2sqn7IE.js → data-list-D-K_XfF3.js} +1 -1
  21. package/core/built/admin/assets/{deleted-feed-item-DQi676Dy.js → deleted-feed-item-DK47iaMV.js} +1 -1
  22. package/core/built/admin/assets/{dropzone-GgOCfK2j.js → dropzone-BHWXAN0m.js} +3 -3
  23. package/core/built/admin/assets/{edit-profile-COx5FmF9.js → edit-profile-DCyHhZgx.js} +1 -1
  24. package/core/built/admin/assets/{empty-indicator-Bf4Dqk72.js → empty-indicator-DjmACVr2.js} +1 -1
  25. package/core/built/admin/assets/{en-BkI47Ou-.js → en-Cl0b7CNW.js} +1 -1
  26. package/core/built/admin/assets/{feed-Dzc-8jwd.js → feed-C5AauoXf.js} +1 -1
  27. package/core/built/admin/assets/filters-DzSJ1ez3.js +1 -0
  28. package/core/built/admin/assets/{gh-chart-Ch6dYUac.js → gh-chart-xjwu2HZo.js} +1 -1
  29. package/core/built/admin/assets/{ghost-69e448feab2cb78aba64f7177fa4d6f0.js → ghost-78b4a517ac907213ab47708eef33bc6f.js} +423 -542
  30. package/core/built/admin/assets/{growth-BIBJdcm6.js → growth-DDyypj0q.js} +1 -1
  31. package/core/built/admin/assets/{hash-BGd7HEsT.js → hash-Bowe71Lt.js} +1 -1
  32. package/core/built/admin/assets/{inbox-CFzKvW3h.js → inbox-DS4qMjUb.js} +1 -1
  33. package/core/built/admin/assets/{index-DDJAHYHQ.js → index-4xuWCs9h.js} +1 -1
  34. package/core/built/admin/assets/{index-DIO8ceib.js → index-6Ag8SK_E.js} +1 -1
  35. package/core/built/admin/assets/{index-Dy8dCc8t.js → index-A6WmqYr6.js} +4 -4
  36. package/core/built/admin/assets/index-B8XuCPIT.js +1 -0
  37. package/core/built/admin/assets/{index-S2DGJkmz.js → index-BCvRITTU.js} +2 -2
  38. package/core/built/admin/assets/{index-BZyG96u1.js → index-B_XhekWb.js} +1 -1
  39. package/core/built/admin/assets/{index-D0gRP4Gp.js → index-C8ssgmjI.js} +1 -1
  40. package/core/built/admin/assets/{index-DM98UB_U.js → index-CFY2MOp4.js} +1 -1
  41. package/core/built/admin/assets/{index-CvX5YYEz.js → index-CVvW6Q-y.js} +1 -1
  42. package/core/built/admin/assets/{index-DpZazR71.js → index-CZK1A375.js} +1 -1
  43. package/core/built/admin/assets/{index-BYXKsmpv.js → index-CfpTfwls.js} +1 -1
  44. package/core/built/admin/assets/index-Chp0ODAU.css +1 -0
  45. package/core/built/admin/assets/{index-7NTHsKgE.js → index-DX6vaEVx.js} +1 -1
  46. package/core/built/admin/assets/{index-CsHjDdYB.js → index-DqlHFtZD.js} +1 -1
  47. package/core/built/admin/assets/{index-ZuWSQ3L6.js → index-JMWMnGGt.js} +93 -93
  48. package/core/built/admin/assets/{index-_WMp37yL.js → index-N61Xkr32.js} +1 -1
  49. package/core/built/admin/assets/{index-n5opb8tL.js → index-SDMWxO5r.js} +1 -1
  50. package/core/built/admin/assets/{koenig-lexical-8qAZ5o1x.js → koenig-lexical-DL3I-AcK.js} +1 -1
  51. package/core/built/admin/assets/{kpis-Cv75oSPY.js → kpis-Bm-hIEkf.js} +1 -1
  52. package/core/built/admin/assets/{label-CofMdj8x.js → label-DBwnwMrX.js} +1 -1
  53. package/core/built/admin/assets/{links-MSlYSad1.js → links-CnjcW0lg.js} +1 -1
  54. package/core/built/admin/assets/{loader-circle-CF5G2g_Z.js → loader-circle-CGDGFypO.js} +1 -1
  55. package/core/built/admin/assets/{lucide-react-DZiAu6PQ.js → lucide-react-BfVLf4Hw.js} +1 -1
  56. package/core/built/admin/assets/{main-layout-DEVUkqt_.js → main-layout-C_UH037j.js} +1 -1
  57. package/core/built/admin/assets/{member-route-mLKS-PsA.js → member-route-CKuE9uDU.js} +1 -1
  58. package/core/built/admin/assets/members-CzztojNk.js +15 -0
  59. package/core/built/admin/assets/{message-square-text-DESy3kSk.js → message-square-text-BDJyLbG2.js} +1 -1
  60. package/core/built/admin/assets/{minus-DVNwSjD6.js → minus-BM0xhFIQ.js} +1 -1
  61. package/core/built/admin/assets/{modals-FYjLOMaQ.js → modals-B6ZySU0x.js} +13 -13
  62. package/core/built/admin/assets/{moderation-u4WS46a-.js → moderation-CQMIGpv1.js} +1 -1
  63. package/core/built/admin/assets/{newsletter-Cj0UCg4J.js → newsletter-Dexg7vU8.js} +1 -1
  64. package/core/built/admin/assets/{newsletters-_UvhdBE3.js → newsletters-CT4k07rm.js} +1 -1
  65. package/core/built/admin/assets/{note-CRnFryTp.js → note-CiemurXq.js} +1 -1
  66. package/core/built/admin/assets/{overview-Cr0dGxEU.js → overview-9TwqfzGq.js} +1 -1
  67. package/core/built/admin/assets/{pagemenu-BqoDENpI.js → pagemenu-Dq744OgH.js} +1 -1
  68. package/core/built/admin/assets/{post-analytics-DIr_rDtL.js → post-analytics-CcRhLDKA.js} +1 -1
  69. package/core/built/admin/assets/{post-analytics-context-WA--pwK5.js → post-analytics-context-COgn3d86.js} +1 -1
  70. package/core/built/admin/assets/{post-analytics-header-D97SoEaV.js → post-analytics-header-DtBp2QSX.js} +1 -1
  71. package/core/built/admin/assets/{post-share-modal-DBxR7WCX.js → post-share-modal-BlOEKX3-.js} +1 -1
  72. package/core/built/admin/assets/posts/comments-C4rwkXWy.mjs +1473 -0
  73. package/core/built/admin/assets/posts/{dialog-67vvNv8e.mjs → dialog-Chkt119L.mjs} +3 -3
  74. package/core/built/admin/assets/posts/{dropdown-menu-BKZfsAPJ.mjs → dropdown-menu-CvSs_ay2.mjs} +5 -5
  75. package/core/built/admin/assets/posts/{empty-indicator-DTmBQa_3.mjs → empty-indicator-GyeO28CG.mjs} +2 -2
  76. package/core/built/admin/assets/posts/filters-BD3A2GlB.mjs +2831 -0
  77. package/core/built/admin/assets/posts/{get-site-timezone-D75cHSJ1.mjs → get-site-timezone-Baeue4hE.mjs} +2 -2
  78. package/core/built/admin/assets/posts/{growth-BqJWjpAp.mjs → growth-kmVbKjBt.mjs} +14 -14
  79. package/core/built/admin/assets/posts/{heading-DXxLDQ96.mjs → heading-DV_WQJh4.mjs} +2 -2
  80. package/core/built/admin/assets/posts/{hooks-pVotzebr.mjs → hooks-DQhsid0U.mjs} +2 -2
  81. package/core/built/admin/assets/posts/{index-By5yPnMZ.mjs → index-Bl1ReYmV.mjs} +10 -10
  82. package/core/built/admin/assets/posts/{index-DZ1HzbGS.mjs → index-CVum5OE6.mjs} +3 -3
  83. package/core/built/admin/assets/posts/{input-DdXe2Fjm.mjs → input-C7qFEkmt.mjs} +2 -2
  84. package/core/built/admin/assets/posts/{kpis-1MXZeSC9.mjs → kpis-DteuJY-D.mjs} +10 -10
  85. package/core/built/admin/assets/posts/{links-DGzzdzsH.mjs → links-eoZr0T0x.mjs} +4 -4
  86. package/core/built/admin/assets/posts/{loading-indicator-CSj2spwS.mjs → loading-indicator-Dj1SCL40.mjs} +3 -3
  87. package/core/built/admin/assets/posts/{main-layout-CGs25JVH.mjs → main-layout-Ct-TA0TH.mjs} +2 -2
  88. package/core/built/admin/assets/posts/{members-BRcED5fL.mjs → members-BY9oPKo4.mjs} +3814 -3378
  89. package/core/built/admin/assets/posts/{newsletter-D706LlgM.mjs → newsletter-BR1tln6E.mjs} +15 -15
  90. package/core/built/admin/assets/posts/{overview-5dG5ypjx.mjs → overview-j1ANMAQ2.mjs} +16 -16
  91. package/core/built/admin/assets/posts/{post-analytics-wvNuOa4c.mjs → post-analytics-DnG-Rolr.mjs} +6 -6
  92. package/core/built/admin/assets/posts/{post-analytics-context-BqnFe05q.mjs → post-analytics-context-hiKFF4yE.mjs} +5 -5
  93. package/core/built/admin/assets/posts/{post-analytics-header-Dsi5l6hb.mjs → post-analytics-header-OqAJ8SUL.mjs} +11 -11
  94. package/core/built/admin/assets/posts/{post-share-modal-DWe35McY.mjs → post-share-modal-BWfujDu2.mjs} +4 -4
  95. package/core/built/admin/assets/posts/posts-CS9tqSJC.mjs +37 -0
  96. package/core/built/admin/assets/posts/posts.js +1 -1
  97. package/core/built/admin/assets/posts/{reply-B4vwBMwj.mjs → reply-CX_EQh9X.mjs} +2 -2
  98. package/core/built/admin/assets/posts/{search-DQuB1WMm.mjs → search-BqzdnPQb.mjs} +2 -2
  99. package/core/built/admin/assets/posts/{select-BMPHyOdQ.mjs → select-CD5WLIrZ.mjs} +8 -8
  100. package/core/built/admin/assets/posts/{separator-DgZ2VF9r.mjs → separator-DFPLsWCc.mjs} +3 -3
  101. package/core/built/admin/assets/posts/{settings-D-wnf7Qg.mjs → settings-lnEt3Kb-.mjs} +2 -2
  102. package/core/built/admin/assets/posts/{sheet-SOdCzxUt.mjs → sheet-CkLfUqdH.mjs} +3 -3
  103. package/core/built/admin/assets/posts/{skeleton-Du7JXZ_1.mjs → skeleton-BZCi-IYy.mjs} +3 -3
  104. package/core/built/admin/assets/posts/{source-icon-DcBtKbCl.mjs → source-icon-C0k2hDC_.mjs} +3 -3
  105. package/core/built/admin/assets/posts/{stats-CeLav-Hu.mjs → stats-AHbSTqzG.mjs} +4 -4
  106. package/core/built/admin/assets/posts/{table-DlaJMBps.mjs → table-DMrf6wp5.mjs} +2 -2
  107. package/core/built/admin/assets/posts/{tabs-BQQbtw2g.mjs → tabs-BH8GNJCe.mjs} +14 -14
  108. package/core/built/admin/assets/posts/tags-C5VV8Gd0.mjs +398 -0
  109. package/core/built/admin/assets/posts/{tags-CLyaNf39.mjs → tags-DucujdYI.mjs} +2 -2
  110. package/core/built/admin/assets/posts/use-scroll-restoration-C7A3TpAz.mjs +517 -0
  111. package/core/built/admin/assets/posts/{use-infinite-virtual-scroll-B_NwiBXK.mjs → virtual-list-window-BIGoc0th.mjs} +322 -244
  112. package/core/built/admin/assets/posts/{web-TEVKbXSI.mjs → web-DczNailO.mjs} +18 -18
  113. package/core/built/admin/assets/posts-Dr3u9yOp.js +1 -0
  114. package/core/built/admin/assets/{referrers-J4vexZCf.js → referrers-6As_USul.js} +1 -1
  115. package/core/built/admin/assets/{repeat-BxOK9zhN.js → repeat-D-Ki-Cg5.js} +1 -1
  116. package/core/built/admin/assets/{reply-BoTN-eE0.js → reply-C4V0xZ2U.js} +1 -1
  117. package/core/built/admin/assets/{select-Bd1zcqox.js → select-Dt579MbD.js} +1 -1
  118. package/core/built/admin/assets/{settings-D72z6T_a.js → settings-BMsoTszq.js} +1 -1
  119. package/core/built/admin/assets/{settings-BGbGoa4s.js → settings-Ck1Hqs1x.js} +19 -19
  120. package/core/built/admin/assets/{sort-button-BOLTpImz.js → sort-button-Bn325H3y.js} +1 -1
  121. package/core/built/admin/assets/{source-icon-BqEM5MvU.js → source-icon-CNqsYZeA.js} +1 -1
  122. package/core/built/admin/assets/{sprout-Bf-wc2Vo.js → sprout-C9DbfYGe.js} +1 -1
  123. package/core/built/admin/assets/{square-Cj_bJ0HZ.js → square-CWrI0H4v.js} +1 -1
  124. package/core/built/admin/assets/stats/{audience-BiHYBUzT.mjs → audience-DBW5Xu1c.mjs} +3 -3
  125. package/core/built/admin/assets/stats/{content-helpers-CIXZiyCm.mjs → content-helpers-BR6DcWwH.mjs} +4 -4
  126. package/core/built/admin/assets/stats/{index-DBB8Oih1.mjs → index-BuS4r1cs.mjs} +5 -5
  127. package/core/built/admin/assets/stats/{index-CkKk-p14.mjs → index-CFvGHbAV.mjs} +8 -8
  128. package/core/built/admin/assets/stats/{index-9zQR4gr0.mjs → index-DKS4mzS-.mjs} +3621 -3512
  129. package/core/built/admin/assets/stats/{index-DMSmQLxG.mjs → index-TeAxlGlY.mjs} +5 -5
  130. package/core/built/admin/assets/stats/{index-DErXBfDM.mjs → index-ZjicrvMA.mjs} +5 -5
  131. package/core/built/admin/assets/stats/{sort-button-BqY7GFaO.mjs → sort-button-DbwzvVKL.mjs} +3 -3
  132. package/core/built/admin/assets/stats/{stats-BeJgKX2G.mjs → stats-BatzfgdA.mjs} +4 -4
  133. package/core/built/admin/assets/stats/stats.js +1 -1
  134. package/core/built/admin/assets/stats/{tabs-CPz357mW.mjs → tabs-B32ptD5t.mjs} +3 -3
  135. package/core/built/admin/assets/stats/{use-growth-stats-WMYXBQE3.mjs → use-growth-stats-DmTT2gKd.mjs} +3 -3
  136. package/core/built/admin/assets/{stats-DWpHtRym.js → stats-G4Ge9ETb.js} +1 -1
  137. package/core/built/admin/assets/stats-view-Bx3oDAIW.js +1 -0
  138. package/core/built/admin/assets/{step-1-Bjya9Gt0.js → step-1-y3anLU0g.js} +1 -1
  139. package/core/built/admin/assets/{step-2-CJ6I8JNc.js → step-2-Dr1lGnHU.js} +1 -1
  140. package/core/built/admin/assets/{step-3-3fs6Y2Kj.js → step-3-C_d2hvMs.js} +2 -2
  141. package/core/built/admin/assets/{table-B4zlzEDP.js → table-CbN_vbUx.js} +1 -1
  142. package/core/built/admin/assets/{tabs-mR5oJGm5.js → tabs-DFJzY5np.js} +1 -1
  143. package/core/built/admin/assets/tags-D5g9tXZU.js +1 -0
  144. package/core/built/admin/assets/{tags-CsgMtkFL.js → tags-Ddg8oG2Y.js} +1 -1
  145. package/core/built/admin/assets/{textarea-CQjEvapR.js → textarea-DikWsYMt.js} +1 -1
  146. package/core/built/admin/assets/{tiers-CQE0v797.js → tiers-B7qV_8mO.js} +1 -1
  147. package/core/built/admin/assets/{toggle-group-CR-Z-bJL.js → toggle-group-tXaaTD7P.js} +1 -1
  148. package/core/built/admin/assets/{topic-filter-_NyD55eH.js → topic-filter-bQtscKE6.js} +1 -1
  149. package/core/built/admin/assets/{trash-BFSLkv0z.js → trash--VS50LgS.js} +1 -1
  150. package/core/built/admin/assets/{upload-BTxT4v2z.js → upload-Dz-DI9rQ.js} +1 -1
  151. package/core/built/admin/assets/{use-growth-stats-BGymNu5O.js → use-growth-stats-DNVioFUq.js} +1 -1
  152. package/core/built/admin/assets/use-scroll-restoration-CxWEiCuS.js +1 -0
  153. package/core/built/admin/assets/{use-simple-pagination-Cq7Afp_c.js → use-simple-pagination-BA6xsVQO.js} +1 -1
  154. package/core/built/admin/assets/{user-plus-DMl69yKl.js → user-plus-B0tpOnLM.js} +1 -1
  155. package/core/built/admin/assets/{user-round-check-CVuZXUPz.js → user-round-check-caJYm0bB.js} +1 -1
  156. package/core/built/admin/assets/virtual-list-window-JdKgHS9L.js +4 -0
  157. package/core/built/admin/assets/{wallet-cards-zHR_y6Sp.js → wallet-cards-DBM65lA_.js} +1 -1
  158. package/core/built/admin/assets/{web-CmFHgeQw.js → web-CSXixG1S.js} +1 -1
  159. package/core/built/admin/index.html +7 -7
  160. package/core/frontend/helpers/ghost_head.js +1 -4
  161. package/core/server/data/migrations/versions/6.25/2026-03-26-15-47-00-insert-default-email-design-settings-row.js +42 -0
  162. package/core/server/data/migrations/versions/6.25/2026-03-30-20-22-25-add-email-design-setting-permissions.js +44 -0
  163. package/core/server/data/migrations/versions/6.25/2026-03-30-22-16-43-add-email-design-setting-id-to-automated-emails.js +8 -0
  164. package/core/server/data/migrations/versions/6.25/2026-03-31-13-12-10-backfill-automated-emails-email-design-setting-id.js +45 -0
  165. package/core/server/data/migrations/versions/6.25/2026-03-31-20-31-19-drop-nullable-on-automated-emails-email-design-setting-id.js +3 -0
  166. package/core/server/data/schema/fixtures/fixtures.json +35 -0
  167. package/core/server/data/schema/schema.js +1 -0
  168. package/core/server/data/seeders/importers/comment-reports-importer.js +1 -3
  169. package/core/server/data/seeders/importers/comments-importer.js +3 -2
  170. package/core/server/data/seeders/importers/email-batches-importer.js +3 -3
  171. package/core/server/data/seeders/importers/email-recipients-importer.js +6 -6
  172. package/core/server/data/seeders/importers/emails-importer.js +4 -3
  173. package/core/server/data/seeders/importers/members-click-events-importer.js +1 -1
  174. package/core/server/data/seeders/importers/members-created-events-importer.js +2 -1
  175. package/core/server/data/seeders/importers/members-feedback-importer.js +3 -4
  176. package/core/server/data/seeders/importers/members-login-events-importer.js +3 -2
  177. package/core/server/data/seeders/importers/members-status-events-importer.js +1 -2
  178. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +2 -1
  179. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +4 -2
  180. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +1 -2
  181. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +3 -1
  182. package/core/server/data/seeders/importers/offer-redemptions-importer.js +3 -3
  183. package/core/server/data/seeders/utils/database-date.js +26 -1
  184. package/core/server/models/automated-email.js +27 -0
  185. package/core/server/models/email-design-setting.js +27 -0
  186. package/core/server/services/stripe/service.js +1 -2
  187. package/core/server/services/webhooks/webhook-trigger.js +1 -1
  188. package/package.json +10 -28
  189. package/tsconfig.tsbuildinfo +1 -1
  190. package/yarn.lock +423 -107
  191. package/components/tryghost-parse-email-address-6.24.0.tgz +0 -0
  192. package/core/built/admin/assets/comments-CteqV7ZN.js +0 -1
  193. package/core/built/admin/assets/filters-DXXaCya7.js +0 -1
  194. package/core/built/admin/assets/index-QB-va_sk.css +0 -1
  195. package/core/built/admin/assets/index-nBUk6L1X.js +0 -1
  196. package/core/built/admin/assets/members-DcElgZ2t.js +0 -15
  197. package/core/built/admin/assets/posts/comments-Bswx2dzs.mjs +0 -1551
  198. package/core/built/admin/assets/posts/filters-Ds_ZaYIU.mjs +0 -2722
  199. package/core/built/admin/assets/posts/posts-DI5YQFp4.mjs +0 -17
  200. package/core/built/admin/assets/posts/tags-CjwolIiT.mjs +0 -395
  201. package/core/built/admin/assets/posts/use-scroll-restoration-YSR5jwQl.mjs +0 -232
  202. package/core/built/admin/assets/posts-CJHEP4C-.js +0 -1
  203. package/core/built/admin/assets/stats-view-CcyaLPwj.js +0 -1
  204. package/core/built/admin/assets/tags-DEFC6GpD.js +0 -1
  205. package/core/built/admin/assets/use-infinite-virtual-scroll-CNqGwgHd.js +0 -4
  206. package/core/built/admin/assets/use-scroll-restoration-BWtb0NrS.js +0 -1
  207. /package/core/built/admin/assets/{chunk.423.dae9a3bbe7845c3a3cfc.js.LICENSE.txt → chunk.434.de8a15730373eccfeefe.js.LICENSE.txt} +0 -0
@@ -1,38 +1,38 @@
1
- import{j as n,r as A,aD as he,t as Ve,dw as kv,aQ as uh,aO as jv,ay as Ev,av as dh,aR as Tv,ax as $i,az as yu,aS as Nv,aA as tu,aw as Cv,aB as Iv,aC as Sv,dx as Ge,dy as Av,dz as Dv,dA as $v,dB as Rv,ae as qr,b4 as Ke,dg as Os,ds as Nr,dC as ot,dD as rt,ci as fh,d1 as ph,dE as hh,dF as jf,dG as Lv,dH as Hn,dI as Ov,dJ as Fv,dK as Pv,dL as mh,dM as _u,dN as Hv,dO as zv,dP as Uv,dQ as Er,dR as Ei,dS as Mu,dT as Bv,dU as Wv,ar as Yv,dV as qv,dv as xi,dW as Gv,dX as Sa,dY as Xv,dZ as Kv,ag as Zv,aV as Vv,d_ as Qv,d$ as gh,e0 as xh,e1 as Ef,dr as Nt,e2 as Ds,e3 as nu,e4 as Jv,e5 as $s,e6 as ey,e7 as ty,e8 as ny,e9 as Ti,ea as ry,eb as sy,ec as ru,ad as ay,ed as oy,ee as iy,ef as ly,eg as cy,eh as _r,ei as Tf,ej as Nf,ek as uy}from"./index-ZuWSQ3L6.js";import{H as ct,a as zn,S as Rs,B as Ie,x as Ri,K as dy,y as Ft,z as fy,A as kt,M as ut,C as Pn,F as py,G as Tr,J as hy,O as Li,Q as me,U as Pe,V as my,W as Oi,X as ze,Y as er,Z as Cr,_ as ht,$ as xt,a0 as Gr,a1 as an,a2 as gy,a3 as Cf,a4 as Be,a5 as ve,a6 as If,a7 as Sf,a8 as Ye,a9 as wh,aa as bh,ab as xy,ac as wy,ad as by,ae as vy,af as Fs,ag as Ps,ah as Un,ai as nr,aj as $a,ak as yy,al as _y,am as My,an as ky,ao as jy,ap as Ni,aq as Ci,ar as Ey,as as Af,at as Df,au as Ty,av as Hs,aw as tr,ax as Jn,ay as vh,az as Ny,aA as ku,aB as Cy,aC as yh,aD as _h,aE as Mh,aF as kh,aG as Iy,aH as Sy,aI as vn,aJ as $f,aK as jh,aL as Eh,aM as Th,aN as su,aO as Ay,aP as Dy,aQ as $y,aR as au,aS as ju,aT as ki,aU as Ry,aV as Ly,aW as Rf,aX as Oy,aY as Fy,aZ as Nh,a_ as Eu,a$ as Tu,b0 as Py,b1 as Hy,b2 as Ch,b3 as zy,b4 as Ih,b5 as Uy,b6 as By,b7 as Wy}from"./settings-BGbGoa4s.js";import{a as Yy,u as Sh,b as Ah}from"./newsletters-_UvhdBE3.js";import{C as qy,a as Gy}from"./index-DM98UB_U.js";import{u as Dh}from"./posts-CJHEP4C-.js";import{r as $h}from"./index-7NTHsKgE.js";import{a as Rh,b as Lh,u as Nu,c as Cu,d as Xy}from"./dropzone-GgOCfK2j.js";import{u as Xr,a as Iu,b as Ky,g as Ba}from"./tiers-CQE0v797.js";import{m as Zy,n as Vy}from"./lucide-react-DZiAu6PQ.js";import"./tabs-mR5oJGm5.js";import"./wallet-cards-zHR_y6Sp.js";import"./referrers-J4vexZCf.js";import"./select-Bd1zcqox.js";import"./loader-circle-CF5G2g_Z.js";import"./toggle-group-CR-Z-bJL.js";import"./textarea-CQjEvapR.js";import"./index-DIO8ceib.js";import"./a-large-small-BnBpzYwl.js";import"./upload-BTxT4v2z.js";import"./at-sign-DC4NtDDM.js";import"./copy-B-MxRWPu.js";import"./message-square-text-DESy3kSk.js";import"./hash-BGd7HEsT.js";import"./inbox-CFzKvW3h.js";import"./user-plus-DMl69yKl.js";import"./minus-DVNwSjD6.js";import"./tags-CsgMtkFL.js";import"./square-Cj_bJ0HZ.js";import"./user-round-check-CVuZXUPz.js";import"./repeat-BxOK9zhN.js";import"./reply-BoTN-eE0.js";import"./sprout-Bf-wc2Vo.js";import"./trash-BFSLkv0z.js";const Oh=({children:t,...a})=>n.jsx("div",{className:"flex size-full flex-col px-8",...a,children:n.jsx("div",{className:"size-full overflow-hidden rounded-t-[4px] shadow-sm",children:t})}),Fh=({children:t,...a})=>n.jsx("div",{className:"flex h-[775px] w-[380px] flex-col rounded-3xl bg-white p-2 shadow-xl dark:bg-grey-900",...a,children:n.jsx("div",{className:"h-100 w-100 grow overflow-auto rounded-2xl border border-grey-100 dark:border-grey-950",children:t})}),Qy=({title:t,label:a,value:s,onChange:i,disabled:u,error:p,hint:w,checked:m,separator:x,testId:g})=>{const h=A.useId(),b=y=>{i(y===!0)};return n.jsxs("div",{children:[n.jsxs("div",{className:`flex flex-col gap-1 ${x&&"pb-2"}`,children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsxs("label",{className:`flex cursor-pointer items-start ${t&&"mt-1 -mb-1"}`,htmlFor:h,children:[n.jsx(qy,{className:"mt-0.5 flex size-4 cursor-pointer appearance-none items-center justify-center rounded-[3px] border border-solid border-grey-500 bg-white outline-hidden data-[state=checked]:border-black data-[state=checked]:bg-black data-[state=indeterminate]:border-black data-[state=indeterminate]:bg-black","data-testid":g,defaultChecked:m,disabled:u,id:h,value:s,onCheckedChange:b,children:n.jsx(Gy,{children:n.jsx("svg",{fill:"none",height:"11",viewBox:"0 0 10 11",width:"10",children:n.jsx("path",{d:"M1 5.88889L4.6 9L9 1",stroke:"white",strokeLinecap:"round",strokeWidth:"2"})})})}),n.jsxs("div",{className:`ml-2 flex flex-col ${w&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-[1.425rem] dark:text-white ${w&&"-mb-1"}`,children:a}),w&&n.jsx(zn,{color:p?"red":"",children:w})]})]})]}),(x||p)&&n.jsx(Rs,{className:p?"border-red":""})]})},ou=({title:t,checkboxes:a,hint:s,error:i})=>n.jsxs("div",{children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsx("div",{className:"mt-2 flex flex-col gap-1",children:a?.map(({key:u,...p})=>n.jsx(Qy,{...p},u))}),n.jsx("div",{className:`flex flex-col ${s&&"mb-2"}`,children:s&&n.jsx(zn,{color:i?"red":"",children:s})})]}),Jy=({hex:t,value:a,title:s,size:i="md",isSelected:u,onSelect:p})=>{const w=A.useRef(null),m=h=>{h.preventDefault(),p(a!==void 0?a:t)},x=t.length===4&&t[3]==="0"||t.length===8&&t.slice(6)==="00";let g="h-5 w-5";switch(i){case"lg":g="w-6 h-6";break}return n.jsx("button",{ref:w,className:he("relative flex shrink-0 cursor-pointer items-center rounded-full border border-grey-300 dark:border-grey-800",g,u&&"outline outline-2 outline-green"),style:{backgroundColor:t},title:s,type:"button",onClick:m,children:x&&n.jsx("div",{className:"absolute top-0 left-0 z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})},Ph=({title:t,value:a,swatches:s,swatchSize:i="md",onSwatchChange:u,onTogglePicker:p,isExpanded:w,picker:m=!0,containerClassName:x})=>{const g=s.find(b=>b.value===a||b.hex===a);x=he("flex flex-col gap-3");const h=w||!m;return n.jsxs("div",{className:x,children:[t&&n.jsx(ct,{useLabelTag:!0,children:t}),n.jsxs("div",{className:"flex gap-1",children:[h&&n.jsx("div",{className:"flex items-center gap-1",children:s.map(({customContent:b,...y})=>b?n.jsx(A.Fragment,{children:b},y.title):n.jsx(Jy,{isSelected:g?.title===y.title,size:i,onSelect:u,...y},y.title))}),m&&n.jsxs("button",{"aria-label":"Pick color",className:"relative size-6 cursor-pointer rounded-full border border-grey-250 dark:border-grey-800",type:"button",onClick:p,children:[n.jsx("div",{className:"absolute inset-0 rounded-full bg-[conic-gradient(hsl(360,100%,50%),hsl(315,100%,50%),hsl(270,100%,50%),hsl(225,100%,50%),hsl(180,100%,50%),hsl(135,100%,50%),hsl(90,100%,50%),hsl(45,100%,50%),hsl(0,100%,50%))]"}),g&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:g.hex},children:g.hex==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})}),!g&&a&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:a},children:a==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})]})]})]})};function zs(){return(zs=Object.assign||function(t){for(var a=1;a<arguments.length;a++){var s=arguments[a];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i])}return t}).apply(this,arguments)}function Fi(t,a){if(t==null)return{};var s,i,u={},p=Object.keys(t);for(i=0;i<p.length;i++)a.indexOf(s=p[i])>=0||(u[s]=t[s]);return u}function Oa(t){var a=A.useRef(t),s=A.useRef(function(i){a.current&&a.current(i)});return a.current=t,s.current}var Fa=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=1),t>s?s:t<a?a:t},Ra=function(t){return"touches"in t},iu=function(t){return t&&t.ownerDocument.defaultView||self},Lf=function(t,a,s){var i=t.getBoundingClientRect(),u=Ra(a)?(function(p,w){for(var m=0;m<p.length;m++)if(p[m].identifier===w)return p[m];return p[0]})(a.touches,s):a;return{left:Fa((u.pageX-(i.left+iu(t).pageXOffset))/i.width),top:Fa((u.pageY-(i.top+iu(t).pageYOffset))/i.height)}},Of=function(t){!Ra(t)&&t.preventDefault()},Hh=Ve.memo(function(t){var a=t.onMove,s=t.onKey,i=Fi(t,["onMove","onKey"]),u=A.useRef(null),p=Oa(a),w=Oa(s),m=A.useRef(null),x=A.useRef(!1),g=A.useMemo(function(){var v=function(j){Of(j),(Ra(j)?j.touches.length>0:j.buttons>0)&&u.current?p(Lf(u.current,j,m.current)):E(!1)},C=function(){return E(!1)};function E(j){var T=x.current,D=iu(u.current),$=j?D.addEventListener:D.removeEventListener;$(T?"touchmove":"mousemove",v),$(T?"touchend":"mouseup",C)}return[function(j){var T=j.nativeEvent,D=u.current;if(D&&(Of(T),!(function(R,O){return O&&!Ra(R)})(T,x.current)&&D)){if(Ra(T)){x.current=!0;var $=T.changedTouches||[];$.length&&(m.current=$[0].identifier)}D.focus(),p(Lf(D,T,m.current)),E(!0)}},function(j){var T=j.which||j.keyCode;T<37||T>40||(j.preventDefault(),w({left:T===39?.05:T===37?-.05:0,top:T===40?.05:T===38?-.05:0}))},E]},[w,p]),h=g[0],b=g[1],y=g[2];return A.useEffect(function(){return y},[y]),Ve.createElement("div",zs({},i,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:u,onKeyDown:b,tabIndex:0,role:"slider"}))}),Su=function(t){return t.filter(Boolean).join(" ")},zh=function(t){var a=t.color,s=t.left,i=t.top,u=i===void 0?.5:i,p=Su(["react-colorful__pointer",t.className]);return Ve.createElement("div",{className:p,style:{top:100*u+"%",left:100*s+"%"}},Ve.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:a}}))},Ot=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=Math.pow(10,a)),Math.round(s*t)/s},e1=function(t){return a1(lu(t))},lu=function(t){return t[0]==="#"&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Ot(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?Ot(parseInt(t.substring(6,8),16)/255,2):1}},t1=function(t){return s1(r1(t))},n1=function(t){var a=t.s,s=t.v,i=t.a,u=(200-a)*s/100;return{h:Ot(t.h),s:Ot(u>0&&u<200?a*s/100/(u<=100?u:200-u)*100:0),l:Ot(u/2),a:Ot(i,2)}},cu=function(t){var a=n1(t);return"hsl("+a.h+", "+a.s+"%, "+a.l+"%)"},r1=function(t){var a=t.h,s=t.s,i=t.v,u=t.a;a=a/360*6,s/=100,i/=100;var p=Math.floor(a),w=i*(1-s),m=i*(1-(a-p)*s),x=i*(1-(1-a+p)*s),g=p%6;return{r:Ot(255*[i,m,w,w,x,i][g]),g:Ot(255*[x,i,i,m,w,w][g]),b:Ot(255*[w,w,x,i,i,m][g]),a:Ot(u,2)}},wi=function(t){var a=t.toString(16);return a.length<2?"0"+a:a},s1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=u<1?wi(Ot(255*u)):"";return"#"+wi(a)+wi(s)+wi(i)+p},a1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=Math.max(a,s,i),w=p-Math.min(a,s,i),m=w?p===a?(s-i)/w:p===s?2+(i-a)/w:4+(a-s)/w:0;return{h:Ot(60*(m<0?m+6:m)),s:Ot(p?w/p*100:0),v:Ot(p/255*100),a:u}},o1=Ve.memo(function(t){var a=t.hue,s=t.onChange,i=Su(["react-colorful__hue",t.className]);return Ve.createElement("div",{className:i},Ve.createElement(Hh,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:Fa(a+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":Ot(a),"aria-valuemax":"360","aria-valuemin":"0"},Ve.createElement(zh,{className:"react-colorful__hue-pointer",left:a/360,color:cu({h:a,s:100,v:100,a:1})})))}),i1=Ve.memo(function(t){var a=t.hsva,s=t.onChange,i={backgroundColor:cu({h:a.h,s:100,v:100,a:1})};return Ve.createElement("div",{className:"react-colorful__saturation",style:i},Ve.createElement(Hh,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:Fa(a.s+100*u.left,0,100),v:Fa(a.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Ot(a.s)+"%, Brightness "+Ot(a.v)+"%"},Ve.createElement(zh,{className:"react-colorful__saturation-pointer",top:1-a.v/100,left:a.s/100,color:cu(a)})))}),Uh=function(t,a){if(t===a)return!0;for(var s in t)if(t[s]!==a[s])return!1;return!0},l1=function(t,a){return t.toLowerCase()===a.toLowerCase()||Uh(lu(t),lu(a))};function c1(t,a,s){var i=Oa(s),u=A.useState(function(){return t.toHsva(a)}),p=u[0],w=u[1],m=A.useRef({color:a,hsva:p});A.useEffect(function(){if(!t.equal(a,m.current.color)){var g=t.toHsva(a);m.current={hsva:g,color:a},w(g)}},[a,t]),A.useEffect(function(){var g;Uh(p,m.current.hsva)||t.equal(g=t.fromHsva(p),m.current.color)||(m.current={hsva:p,color:g},i(g))},[p,t,i]);var x=A.useCallback(function(g){w(function(h){return Object.assign({},h,g)})},[]);return[p,x]}var u1=typeof window<"u"?A.useLayoutEffect:A.useEffect,d1=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Ff=new Map,f1=function(t){u1(function(){var a=t.current?t.current.ownerDocument:document;if(a!==void 0&&!Ff.has(a)){var s=a.createElement("style");s.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Ff.set(a,s);var i=d1();i&&s.setAttribute("nonce",i),a.head.appendChild(s)}},[])},p1=function(t){var a=t.className,s=t.colorModel,i=t.color,u=i===void 0?s.defaultColor:i,p=t.onChange,w=Fi(t,["className","colorModel","color","onChange"]),m=A.useRef(null);f1(m);var x=c1(s,u,p),g=x[0],h=x[1],b=Su(["react-colorful",a]);return Ve.createElement("div",zs({},w,{ref:m,className:b}),Ve.createElement(i1,{hsva:g,onChange:h}),Ve.createElement(o1,{hue:g.h,onChange:h,className:"react-colorful__last-control"}))},h1={defaultColor:"000",toHsva:e1,fromHsva:function(t){return t1({h:t.h,s:t.s,v:t.v,a:1})},equal:l1},m1=function(t){return Ve.createElement(p1,zs({},t,{colorModel:h1}))},g1=/^#?([0-9A-F]{3,8})$/i,x1=function(t){var a=t.color,s=a===void 0?"":a,i=t.onChange,u=t.onBlur,p=t.escape,w=t.validate,m=t.format,x=t.process,g=Fi(t,["color","onChange","onBlur","escape","validate","format","process"]),h=A.useState(function(){return p(s)}),b=h[0],y=h[1],v=Oa(i),C=Oa(u),E=A.useCallback(function(T){var D=p(T.target.value);y(D),w(D)&&v(x?x(D):D)},[p,x,w,v]),j=A.useCallback(function(T){w(T.target.value)||y(p(s)),C(T)},[s,p,w,C]);return A.useEffect(function(){y(p(s))},[s,p]),Ve.createElement("input",zs({},g,{value:m?m(b):b,spellCheck:"false",onChange:E,onBlur:j}))},Pf=function(t){return"#"+t},w1=function(t){var a=t.prefixed,s=t.alpha,i=Fi(t,["prefixed","alpha"]),u=A.useCallback(function(w){return w.replace(/([^0-9A-F]+)/gi,"").substring(0,s?8:6)},[s]),p=A.useCallback(function(w){return(function(m,x){var g=g1.exec(m),h=g?g[1].length:0;return h===3||h===6||!!x&&h===4||!!x&&h===8})(w,s)},[s]);return Ve.createElement(x1,zs({},i,{escape:u,format:a?Pf:void 0,process:Pf,validate:p}))};const b1=({hexValue:t,eyedropper:a,clearButtonValue:s,containerClassName:i,onChange:u})=>{const p=A.useRef(null),w=A.useCallback(y=>{var v,C,E;y.stopPropagation();const j=(v=p.current)==null?void 0:v.querySelector("input");y.target!==j&&((E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus(),y.preventDefault())},[]),m=A.useRef(!1),x=A.useCallback(()=>{var y,v;m.current=!1,(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus(),document.removeEventListener("mouseup",x),document.removeEventListener("touchend",x)},[]),g=A.useCallback(()=>{m.current=!0,document.addEventListener("mouseup",x),document.addEventListener("touchend",x)},[x]),h=A.useCallback(y=>{if(y.preventDefault(),!window.EyeDropper)return;m.current=!0,document.body.style.setProperty("pointer-events","none"),new window.EyeDropper().open().then(C=>u?.(C.sRGBHex)).finally(()=>{var C,E;m.current=!1,document.body.style.removeProperty("pointer-events"),(E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus()})},[u]);A.useEffect(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);const b=A.useCallback(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);return i=he("mt-2",i),n.jsxs("div",{className:i,onMouseDown:w,onTouchStart:w,children:[n.jsx(m1,{className:"w-full",color:t||"#ffffff",onChange:u,onMouseDown:g,onTouchStart:g}),n.jsxs("div",{className:"mt-3 flex gap-2",children:[n.jsxs("div",{ref:p,className:"peer relative order-2 flex h-10 w-full items-center",onClick:b,children:[n.jsx("span",{className:"absolute top-[9px] left-2 z-10 mr-2 ml-1 text-grey-700",children:"#"}),n.jsx(w1,{"aria-label":"Color value",className:"z-[1] w-full rounded-md border border-transparent bg-grey-150 p-2 pl-6 transition-all hover:bg-grey-100 focus:border-green focus:bg-white focus:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:bg-grey-900 dark:text-white dark:focus:bg-grey-925",color:t,onChange:u}),a&&!!window.EyeDropper&&n.jsx("button",{className:"absolute inset-y-0 right-3 z-50 my-auto size-4 p-[1px]",type:"button",onClick:h,children:n.jsx(kv,{className:"size-full"})})]}),s!==void 0&&n.jsx(Ie,{color:"grey",value:"Clear",onClick:()=>u?.(s)})]})]})},v1=A.createContext({colorPickers:[]}),Hf=t=>t.length===4?t.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"):t,Fn=({testId:t,title:a,direction:s,value:i,hint:u,error:p,eyedropper:w,clearButtonValue:m,onChange:x,swatches:g=[],alwaysOpen:h=!1,debounceMs:b})=>{const[y,v]=A.useState(!1),[C,E]=A.useState(i),j=A.useContext(v1),T=A.useId();A.useEffect(()=>{E(P=>Hf(P||"")===i?P:i)},[i]),A.useEffect(()=>(j.colorPickers.push({id:T,setExpanded:v}),()=>{j.colorPickers=j.colorPickers.filter(P=>P.id!==T)}),[j,T]),A.useEffect(()=>{if(y){j.colorPickers.filter(I=>I.id!==T).forEach(I=>I.setExpanded(!1));const P=()=>{v(!1)};return document.addEventListener("click",P),()=>{document.removeEventListener("click",P)}}},[j,T,y]);const D=A.useMemo(()=>x&&b?Ri(x,b):x,[b,x]),$=P=>{E(P),D?.(P?Hf(P):null)};let R=n.jsx(Ph,{isExpanded:y,swatches:g,value:C,onSwatchChange:P=>{$(P),v(!1)},onTogglePicker:()=>!h&&v(!y)});a&&(R=n.jsxs("div",{className:he("flex w-full cursor-pointer items-start first:mt-0 dark:text-white",s==="rtl"&&"flex-row-reverse"),children:[n.jsx("div",{className:"shrink-0",children:R}),n.jsxs("div",{className:he("flex-1",s==="rtl"?"pr-2":"pl-2",u?"mt-[-2px]":"mt-[1px]"),onClick:()=>!h&&v(!y),children:[a,u&&n.jsx("div",{className:`text-xs ${p?"text-red":"text-grey-700"}`,children:u})]})]}));const O=g.find(P=>P.value===C);return n.jsxs("div",{className:"flex-col","data-testid":t,onClick:P=>P.stopPropagation(),children:[R,(h||y)&&n.jsx(b1,{clearButtonValue:m,eyedropper:w,hexValue:O?.hex||C||void 0,onChange:$})]})},y1=({value:t,onChange:a,singleParagraph:s=!0,...i})=>{const u=A.useCallback(p=>{const m=new DOMParser().parseFromString(p,"text/html");m.querySelectorAll("*").forEach(g=>{g.style.removeProperty("white-space"),g.getAttribute("style")||g.removeAttribute("style")}),m.body.innerHTML!==t&&a?.(m.body.innerHTML)},[t,a]);return n.jsx(dy,{...i,singleParagraph:s,children:p=>n.jsx(p.HtmlOutputPlugin,{html:t,setHtml:u})})},Au=({title:t,hideTitle:a,error:s,hint:i,value:u,clearBg:p=!1,className:w="",containerClassName:m="",hintClassName:x="",unstyled:g=!1,...h})=>{const b=g?"":he("flex min-h-[32px] items-center rounded-md border border-transparent py-1.5 md:min-h-[36px]",p?"bg-transparent":"bg-grey-150 px-3 dark:bg-grey-900",s?"border-red":"transition-all hover:bg-grey-100 has-[:focus]:border-green has-[:focus]:bg-white has-[:focus]:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:selection:bg-[rgba(88,101,116,0.99)] dark:hover:bg-grey-925 dark:has-[:focus]:bg-grey-950",t&&!a&&!p&&"mt-2",w);return n.jsxs("div",{className:`flex flex-col ${m}`,children:[t&&n.jsx(ct,{className:a?"sr-only":"",grey:!0,useLabelTag:!0,children:t}),n.jsx("div",{className:b,children:n.jsx(y1,{...h,value:u})}),i&&n.jsx(zn,{className:x,color:s?"red":"",children:i})]})};var Du="Radio",[_1,Bh]=dh(Du),[M1,k1]=_1(Du),Wh=A.forwardRef((t,a)=>{const{__scopeRadio:s,name:i,checked:u=!1,required:p,disabled:w,value:m="on",onCheck:x,form:g,...h}=t,[b,y]=A.useState(null),v=yu(a,j=>y(j)),C=A.useRef(!1),E=b?g||!!b.closest("form"):!0;return n.jsxs(M1,{scope:s,checked:u,disabled:w,children:[n.jsx($i.button,{type:"button",role:"radio","aria-checked":u,"data-state":Xh(u),"data-disabled":w?"":void 0,disabled:w,value:m,...h,ref:v,onClick:tu(t.onClick,j=>{u||x?.(),E&&(C.current=j.isPropagationStopped(),C.current||j.stopPropagation())})}),E&&n.jsx(Gh,{control:b,bubbles:!C.current,name:i,value:m,checked:u,required:p,disabled:w,form:g,style:{transform:"translateX(-100%)"}})]})});Wh.displayName=Du;var Yh="RadioIndicator",qh=A.forwardRef((t,a)=>{const{__scopeRadio:s,forceMount:i,...u}=t,p=k1(Yh,s);return n.jsx(Cv,{present:i||p.checked,children:n.jsx($i.span,{"data-state":Xh(p.checked),"data-disabled":p.disabled?"":void 0,...u,ref:a})})});qh.displayName=Yh;var j1="RadioBubbleInput",Gh=A.forwardRef(({__scopeRadio:t,control:a,checked:s,bubbles:i=!0,...u},p)=>{const w=A.useRef(null),m=yu(w,p),x=Iv(s),g=Sv(a);return A.useEffect(()=>{const h=w.current;if(!h)return;const b=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(b,"checked").set;if(x!==s&&v){const C=new Event("click",{bubbles:i});v.call(h,s),h.dispatchEvent(C)}},[x,s,i]),n.jsx($i.input,{type:"radio","aria-hidden":!0,defaultChecked:s,...u,tabIndex:-1,ref:m,style:{...u.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Gh.displayName=j1;function Xh(t){return t?"checked":"unchecked"}var E1=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Pi="RadioGroup",[T1]=dh(Pi,[uh,Bh]),Kh=uh(),Zh=Bh(),[N1,C1]=T1(Pi),Vh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,name:i,defaultValue:u,value:p,required:w=!1,disabled:m=!1,orientation:x,dir:g,loop:h=!0,onValueChange:b,...y}=t,v=Kh(s),C=jv(g),[E,j]=Ev({prop:p,defaultProp:u??null,onChange:b,caller:Pi});return n.jsx(N1,{scope:s,name:i,required:w,disabled:m,value:E,onValueChange:j,children:n.jsx(Tv,{asChild:!0,...v,orientation:x,dir:C,loop:h,children:n.jsx($i.div,{role:"radiogroup","aria-required":w,"aria-orientation":x,"data-disabled":m?"":void 0,dir:C,...y,ref:a})})})});Vh.displayName=Pi;var Qh="RadioGroupItem",Jh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,disabled:i,...u}=t,p=C1(Qh,s),w=p.disabled||i,m=Kh(s),x=Zh(s),g=A.useRef(null),h=yu(a,g),b=p.value===u.value,y=A.useRef(!1);return A.useEffect(()=>{const v=E=>{E1.includes(E.key)&&(y.current=!0)},C=()=>y.current=!1;return document.addEventListener("keydown",v),document.addEventListener("keyup",C),()=>{document.removeEventListener("keydown",v),document.removeEventListener("keyup",C)}},[]),n.jsx(Nv,{asChild:!0,...m,focusable:!w,active:b,children:n.jsx(Wh,{disabled:w,required:p.required,checked:b,...x,...u,name:p.name,ref:h,onCheck:()=>p.onValueChange(u.value),onKeyDown:tu(v=>{v.key==="Enter"&&v.preventDefault()}),onFocus:tu(u.onFocus,()=>{y.current&&g.current?.click()})})})});Jh.displayName=Qh;var I1="RadioGroupIndicator",em=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,...i}=t,u=Zh(s);return n.jsx(qh,{...u,...i,ref:a})});em.displayName=I1;var S1=Vh,A1=Jh,D1=em;const $1=({id:t,title:a,options:s,onSelect:i,error:u,hint:p,selectedOption:w,separator:m})=>n.jsxs(S1,{defaultValue:w,name:t,onValueChange:i,children:[n.jsxs("div",{className:`flex flex-col gap-2 ${m&&"pb-2"}`,children:[a&&n.jsx(ct,{level:6,children:a}),s.map(x=>n.jsxs("label",{className:`flex cursor-pointer items-start ${a&&"mt-1 -mb-1"}`,htmlFor:x.value,children:[n.jsx(A1,{className:"relative float-left mt-[3px] size-4 min-w-[16px] appearance-none rounded-full border-2 border-solid border-grey-300 hover:cursor-pointer focus:shadow-none focus:ring-0 focus:outline-hidden data-[state=checked]:border-green data-[state=checked]:focus:border-green dark:border-grey-800 dark:text-white dark:data-[state=checked]:border-green dark:data-[state=checked]:focus:border-green",id:x.value,value:x.value,children:n.jsx(D1,{className:"flex size-full items-center justify-center after:block after:size-[6px] after:rounded-full after:border-green after:bg-green after:content-[''] dark:after:border-green dark:after:bg-green"})}),n.jsxs("div",{className:`ml-2 flex flex-col ${x.hint&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-md dark:text-white ${x.hint&&"-mb-1"}`,children:x.label}),x.hint&&n.jsx(zn,{children:x.hint})]})]},x.value)),p&&n.jsx(zn,{color:u?"red":"",children:p})]}),(m||u)&&n.jsx(Rs,{className:u?"border-red":""})]}),Ii=({children:t,gap:a="md",className:s})=>{let i="gap-3";switch(a){case"sm":i="gap-2";break;case"md":i="gap-3";break;case"lg":i="gap-4";break}return s=he("flex flex-col",i,s),n.jsx("div",{className:s,children:t})},$u=({heading:t,children:a,className:s})=>(s=he("w-full p-[8vmin] pt-5",s),n.jsxs("div",{className:s,children:[t&&n.jsx(ct,{className:"mb-8",children:t}),a]})),Ru=({items:t,backIcon:a=!1,snapBackIcon:s=!0,onBack:i,containerClassName:u,itemClassName:p,activeItemClassName:w,separatorClassName:m})=>{const x=t.length;let g=0;return u=he("flex items-center gap-2 text-sm",u),w=he("font-bold",w),p=he("text-sm",p),n.jsxs("div",{className:u,children:[a&&n.jsx(Ie,{className:s?"mr-1":"mr-6",icon:"arrow-left",iconColorClass:"dark:text-white",size:"sm",link:!0,onClick:i}),t.map(h=>{const b=g===x-1?n.jsx("span",{className:w,children:h.label}):n.jsxs(n.Fragment,{children:[n.jsx("button",{className:`${p} ${h.onClick&&"-mx-1 cursor-pointer rounded-sm px-1 py-px hover:bg-grey-100 dark:hover:bg-grey-900"}`,type:"button",onClick:h.onClick,children:h.label},`bc-${g}`),n.jsx("span",{className:m,children:"/"})]});return g=g+1,b})]})},Kr=({testId:t,title:a,titleHeadingLevel:s=4,size:i="full",width:u,height:p,sidebar:w="",preview:m,dirty:x=!1,cancelLabel:g="Cancel",okLabel:h="OK",okColor:b="black",previewToolbar:y=!0,leftToolbar:v=!0,rightToolbar:C=!0,deviceSelector:E=!0,siteLink:j,previewToolbarURLs:T,previewBgColor:D="grey",selectedURL:$,previewToolbarTabs:R,previewToolbarBreadcrumbs:O,buttonsDisabled:P,sidebarButtons:I,sidebarHeader:U,sidebarPadding:Y=!0,sidebarContentClasses:W,enableCMDS:B=!0,backDropClick:ie,onCancel:ge,onOk:Me,afterClose:K,onSelectURL:ee,onSelectDesktopView:ke,onSelectMobileView:ue,onBreadcrumbsBack:ye})=>{const J=Ft(),{setGlobalDirtyState:de}=fy();A.useEffect(()=>{de(x)},[x,de]),A.useEffect(()=>{if(Me){const be=Le=>{(Le.metaKey||Le.ctrlKey)&&Le.key==="s"&&(Le.preventDefault(),Me())};if(B)return window.addEventListener("keydown",be),()=>{window.removeEventListener("keydown",be)}}});const[fe,ce]=A.useState("desktop");if(fe==="mobile"&&E?m=n.jsx(Fh,{"data-testid":"preview-mobile",children:m}):fe==="desktop"&&E&&(m=n.jsx(Oh,{"data-testid":"preview-desktop",children:m})),y){let be=n.jsx(n.Fragment,{});T?be=n.jsx(kt,{options:T,selectedOption:T.find(st=>st.value===$),onSelect:st=>st&&ee?.(st.value)}):R?be=n.jsx(Tr,{border:!1,selectedTab:$,tabs:R,width:"wide",onTabChange:ee}):O&&(be=n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:O,separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:ye}));const Le="text-black dark:text-green",it="text-grey-500 dark:text-grey-600",wt=[{icon:"laptop",label:"Desktop",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="desktop"?Le:it,onClick:ke||(()=>{ce("desktop")})},{icon:"mobile",label:"Mobile",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="mobile"?Le:it,onClick:ue||(()=>{ce("mobile")})}],Pt=E&&n.jsx(Pn,{buttons:wt});let re="";D==="grey"?re="bg-grey-50 dark:bg-black":D==="greygradient"&&(re="bg-gradient-to-tr from-white to-[#f9f9fa] dark:from-grey-950 dark:to-black");const Ze=he("absolute inset-y-0 right-[400px] left-0 flex w-full min-w-100 grow flex-col overflow-y-auto",re);let Ht;j&&(Ht=n.jsx("div",{className:"ml-3 border-l border-grey-400 dark:border-grey-800",children:n.jsxs("a",{className:"ml-3 flex items-center gap-1 text-sm",href:j,rel:"noopener noreferrer",target:"_blank",children:["View site ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]})})),m=n.jsxs("div",{className:Ze,children:[y&&n.jsxs("header",{className:"relative flex h-[80px] shrink-0 items-center justify-center px-8 py-5","data-testid":"design-toolbar",children:[v&&n.jsx("div",{className:"absolute left-8 flex h-full items-center",children:be}),C&&n.jsxs("div",{className:"absolute right-8 flex h-full items-center",children:[Pt,Ht]})]}),n.jsx("div",{className:"flex grow items-center justify-center text-sm text-grey-400",children:m})]})}const V=[];return I||(V.push({key:"cancel-modal",label:g,onClick:ge||(()=>{py(x,()=>{J.remove(),K?.()})}),disabled:P}),V.push({key:"ok-modal",label:h,color:b,onClick:Me,disabled:P})),n.jsx(ut,{afterClose:K,animate:!1,backDropClick:ie,dirty:x,footer:!1,height:p,padding:!1,size:i,testId:t,title:"",width:u,hideXOnMobile:!0,children:n.jsxs("div",{className:"flex h-full grow",children:[n.jsx("div",{className:`relative hidden grow flex-col [@media(min-width:801px)]:!visible [@media(min-width:801px)]:!flex ${D==="grey"?"bg-grey-50":"bg-white dark:bg-black"}`,children:m}),w&&n.jsxs("div",{className:"relative flex size-full flex-col border-l border-grey-100 dark:border-grey-900 [@media(min-width:801px)]:w-auto [@media(min-width:801px)]:basis-[400px]",children:[U||n.jsxs("div",{className:"flex max-h-[82px] items-center justify-between gap-3 px-7 py-6",children:[n.jsx(ct,{level:s,children:a}),I||n.jsx(Pn,{buttons:V})]}),n.jsx("div",{className:`${U?"":"absolute inset-x-0 top-[80px] bottom-0 grow"} ${Y&&"p-7 pt-0"} flex flex-col justify-between overflow-y-auto ${W&&W}`,children:w})]})]})})},R1=({offset:t,onTrigger:a})=>{const s=A.useRef(null);return A.useEffect(()=>{const i=new IntersectionObserver(u=>{u[0].intersectionRatio<=0||a()});return s.current&&i.observe(s.current),()=>i.disconnect()},[a]),n.jsx("div",{ref:s,className:"absolute w-full",style:{bottom:t}})},Lu=({trigger:t,children:a,position:s="start",side:i="bottom",closeOnItemClick:u,open:p,setOpen:w})=>{const[m,x]=A.useState(!1),g=p!==void 0?p:m,h=w||x,b=()=>{u&&h(!1)};return n.jsxs(Av,{open:g,onOpenChange:h,children:[n.jsx(Dv,{asChild:!0,children:n.jsx($v,{asChild:!0,onClick:y=>y.stopPropagation(),children:t})}),n.jsx(Rv,{align:s,className:"z-[9999] origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-hidden dark:bg-grey-900 dark:text-white","data-testid":"popover-content",side:i,sideOffset:8,onClick:b,children:a})]})},tm=({trigger:t,triggerButtonProps:a,items:s,position:i="start",open:u,setOpen:p})=>(t||(t=n.jsx(Ie,{icon:"ellipsis",label:"Menu",hideLabel:!0,...a})),n.jsx(Lu,{open:u,position:i,setOpen:p,trigger:t,closeOnItemClick:!0,children:n.jsx("div",{className:"flex min-w-[160px] flex-col justify-stretch py-1",role:"none",children:s.map(w=>n.jsx("button",{className:`mx-1 block cursor-pointer rounded-[2.5px] px-4 py-1.5 text-left text-sm hover:bg-grey-100 dark:hover:bg-grey-925 ${w.destructive&&" text-red-500"}`,type:"button",onClick:m=>{w.onClick&&w.onClick(m)},children:w.label},w.id))})}));var nm=typeof global=="object"&&global&&global.Object===Object&&global,L1=typeof self=="object"&&self&&self.Object===Object&&self,rr=nm||L1||Function("return this")(),Ls=rr.Symbol,rm=Object.prototype,O1=rm.hasOwnProperty,F1=rm.toString,Aa=Ls?Ls.toStringTag:void 0;function P1(t){var a=O1.call(t,Aa),s=t[Aa];try{t[Aa]=void 0;var i=!0}catch{}var u=F1.call(t);return i&&(a?t[Aa]=s:delete t[Aa]),u}var H1=Object.prototype,z1=H1.toString;function U1(t){return z1.call(t)}var B1="[object Null]",W1="[object Undefined]",zf=Ls?Ls.toStringTag:void 0;function Wa(t){return t==null?t===void 0?W1:B1:zf&&zf in Object(t)?P1(t):U1(t)}function Pa(t){return t!=null&&typeof t=="object"}var Si=Array.isArray;function sm(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var Y1="[object AsyncFunction]",q1="[object Function]",G1="[object GeneratorFunction]",X1="[object Proxy]";function am(t){if(!sm(t))return!1;var a=Wa(t);return a==q1||a==G1||a==Y1||a==X1}var $c=rr["__core-js_shared__"],Uf=(function(){var t=/[^.]+$/.exec($c&&$c.keys&&$c.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function K1(t){return!!Uf&&Uf in t}var Z1=Function.prototype,V1=Z1.toString;function Zr(t){if(t!=null){try{return V1.call(t)}catch{}try{return t+""}catch{}}return""}var Q1=/[\\^$.*+?()[\]{}|]/g,J1=/^\[object .+?Constructor\]$/,e_=Function.prototype,t_=Object.prototype,n_=e_.toString,r_=t_.hasOwnProperty,s_=RegExp("^"+n_.call(r_).replace(Q1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function a_(t){if(!sm(t)||K1(t))return!1;var a=am(t)?s_:J1;return a.test(Zr(t))}function o_(t,a){return t?.[a]}function Us(t,a){var s=o_(t,a);return a_(s)?s:void 0}var uu=Us(rr,"WeakMap"),i_=9007199254740991,l_=/^(?:0|[1-9]\d*)$/;function c_(t,a){var s=typeof t;return a=a??i_,!!a&&(s=="number"||s!="symbol"&&l_.test(t))&&t>-1&&t%1==0&&t<a}function om(t,a){return t===a||t!==t&&a!==a}var u_=9007199254740991;function im(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=u_}function d_(t){return t!=null&&im(t.length)&&!am(t)}var f_=Object.prototype;function p_(t){var a=t&&t.constructor,s=typeof a=="function"&&a.prototype||f_;return t===s}function h_(t,a){for(var s=-1,i=Array(t);++s<t;)i[s]=a(s);return i}var m_="[object Arguments]";function Bf(t){return Pa(t)&&Wa(t)==m_}var lm=Object.prototype,g_=lm.hasOwnProperty,x_=lm.propertyIsEnumerable,w_=Bf((function(){return arguments})())?Bf:function(t){return Pa(t)&&g_.call(t,"callee")&&!x_.call(t,"callee")};function b_(){return!1}var cm=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wf=cm&&typeof module=="object"&&module&&!module.nodeType&&module,v_=Wf&&Wf.exports===cm,Yf=v_?rr.Buffer:void 0,y_=Yf?Yf.isBuffer:void 0,du=y_||b_,__="[object Arguments]",M_="[object Array]",k_="[object Boolean]",j_="[object Date]",E_="[object Error]",T_="[object Function]",N_="[object Map]",C_="[object Number]",I_="[object Object]",S_="[object RegExp]",A_="[object Set]",D_="[object String]",$_="[object WeakMap]",R_="[object ArrayBuffer]",L_="[object DataView]",O_="[object Float32Array]",F_="[object Float64Array]",P_="[object Int8Array]",H_="[object Int16Array]",z_="[object Int32Array]",U_="[object Uint8Array]",B_="[object Uint8ClampedArray]",W_="[object Uint16Array]",Y_="[object Uint32Array]",dt={};dt[O_]=dt[F_]=dt[P_]=dt[H_]=dt[z_]=dt[U_]=dt[B_]=dt[W_]=dt[Y_]=!0;dt[__]=dt[M_]=dt[R_]=dt[k_]=dt[L_]=dt[j_]=dt[E_]=dt[T_]=dt[N_]=dt[C_]=dt[I_]=dt[S_]=dt[A_]=dt[D_]=dt[$_]=!1;function q_(t){return Pa(t)&&im(t.length)&&!!dt[Wa(t)]}function G_(t){return function(a){return t(a)}}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,La=um&&typeof module=="object"&&module&&!module.nodeType&&module,X_=La&&La.exports===um,Rc=X_&&nm.process,qf=(function(){try{var t=La&&La.require&&La.require("util").types;return t||Rc&&Rc.binding&&Rc.binding("util")}catch{}})(),Gf=qf&&qf.isTypedArray,dm=Gf?G_(Gf):q_,K_=Object.prototype,Z_=K_.hasOwnProperty;function V_(t,a){var s=Si(t),i=!s&&w_(t),u=!s&&!i&&du(t),p=!s&&!i&&!u&&dm(t),w=s||i||u||p,m=w?h_(t.length,String):[],x=m.length;for(var g in t)Z_.call(t,g)&&!(w&&(g=="length"||u&&(g=="offset"||g=="parent")||p&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||c_(g,x)))&&m.push(g);return m}function Q_(t,a){return function(s){return t(a(s))}}var J_=Q_(Object.keys,Object),e3=Object.prototype,t3=e3.hasOwnProperty;function n3(t){if(!p_(t))return J_(t);var a=[];for(var s in Object(t))t3.call(t,s)&&s!="constructor"&&a.push(s);return a}function r3(t){return d_(t)?V_(t):n3(t)}var Ha=Us(Object,"create");function s3(){this.__data__=Ha?Ha(null):{},this.size=0}function a3(t){var a=this.has(t)&&delete this.__data__[t];return this.size-=a?1:0,a}var o3="__lodash_hash_undefined__",i3=Object.prototype,l3=i3.hasOwnProperty;function c3(t){var a=this.__data__;if(Ha){var s=a[t];return s===o3?void 0:s}return l3.call(a,t)?a[t]:void 0}var u3=Object.prototype,d3=u3.hasOwnProperty;function f3(t){var a=this.__data__;return Ha?a[t]!==void 0:d3.call(a,t)}var p3="__lodash_hash_undefined__";function h3(t,a){var s=this.__data__;return this.size+=this.has(t)?0:1,s[t]=Ha&&a===void 0?p3:a,this}function Yr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Yr.prototype.clear=s3;Yr.prototype.delete=a3;Yr.prototype.get=c3;Yr.prototype.has=f3;Yr.prototype.set=h3;function m3(){this.__data__=[],this.size=0}function Hi(t,a){for(var s=t.length;s--;)if(om(t[s][0],a))return s;return-1}var g3=Array.prototype,x3=g3.splice;function w3(t){var a=this.__data__,s=Hi(a,t);if(s<0)return!1;var i=a.length-1;return s==i?a.pop():x3.call(a,s,1),--this.size,!0}function b3(t){var a=this.__data__,s=Hi(a,t);return s<0?void 0:a[s][1]}function v3(t){return Hi(this.__data__,t)>-1}function y3(t,a){var s=this.__data__,i=Hi(s,t);return i<0?(++this.size,s.push([t,a])):s[i][1]=a,this}function sr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}sr.prototype.clear=m3;sr.prototype.delete=w3;sr.prototype.get=b3;sr.prototype.has=v3;sr.prototype.set=y3;var za=Us(rr,"Map");function _3(){this.size=0,this.__data__={hash:new Yr,map:new(za||sr),string:new Yr}}function M3(t){var a=typeof t;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?t!=="__proto__":t===null}function zi(t,a){var s=t.__data__;return M3(a)?s[typeof a=="string"?"string":"hash"]:s.map}function k3(t){var a=zi(this,t).delete(t);return this.size-=a?1:0,a}function j3(t){return zi(this,t).get(t)}function E3(t){return zi(this,t).has(t)}function T3(t,a){var s=zi(this,t),i=s.size;return s.set(t,a),this.size+=s.size==i?0:1,this}function Vr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Vr.prototype.clear=_3;Vr.prototype.delete=k3;Vr.prototype.get=j3;Vr.prototype.has=E3;Vr.prototype.set=T3;function N3(t,a){for(var s=-1,i=a.length,u=t.length;++s<i;)t[u+s]=a[s];return t}function C3(){this.__data__=new sr,this.size=0}function I3(t){var a=this.__data__,s=a.delete(t);return this.size=a.size,s}function S3(t){return this.__data__.get(t)}function A3(t){return this.__data__.has(t)}var D3=200;function $3(t,a){var s=this.__data__;if(s instanceof sr){var i=s.__data__;if(!za||i.length<D3-1)return i.push([t,a]),this.size=++s.size,this;s=this.__data__=new Vr(i)}return s.set(t,a),this.size=s.size,this}function jr(t){var a=this.__data__=new sr(t);this.size=a.size}jr.prototype.clear=C3;jr.prototype.delete=I3;jr.prototype.get=S3;jr.prototype.has=A3;jr.prototype.set=$3;function R3(t,a){for(var s=-1,i=t==null?0:t.length,u=0,p=[];++s<i;){var w=t[s];a(w,s,t)&&(p[u++]=w)}return p}function L3(){return[]}var O3=Object.prototype,F3=O3.propertyIsEnumerable,Xf=Object.getOwnPropertySymbols,P3=Xf?function(t){return t==null?[]:(t=Object(t),R3(Xf(t),function(a){return F3.call(t,a)}))}:L3;function H3(t,a,s){var i=a(t);return Si(t)?i:N3(i,s(t))}function Kf(t){return H3(t,r3,P3)}var fu=Us(rr,"DataView"),pu=Us(rr,"Promise"),hu=Us(rr,"Set"),Zf="[object Map]",z3="[object Object]",Vf="[object Promise]",Qf="[object Set]",Jf="[object WeakMap]",ep="[object DataView]",U3=Zr(fu),B3=Zr(za),W3=Zr(pu),Y3=Zr(hu),q3=Zr(uu),kr=Wa;(fu&&kr(new fu(new ArrayBuffer(1)))!=ep||za&&kr(new za)!=Zf||pu&&kr(pu.resolve())!=Vf||hu&&kr(new hu)!=Qf||uu&&kr(new uu)!=Jf)&&(kr=function(t){var a=Wa(t),s=a==z3?t.constructor:void 0,i=s?Zr(s):"";if(i)switch(i){case U3:return ep;case B3:return Zf;case W3:return Vf;case Y3:return Qf;case q3:return Jf}return a});var tp=rr.Uint8Array,G3="__lodash_hash_undefined__";function X3(t){return this.__data__.set(t,G3),this}function K3(t){return this.__data__.has(t)}function Ai(t){var a=-1,s=t==null?0:t.length;for(this.__data__=new Vr;++a<s;)this.add(t[a])}Ai.prototype.add=Ai.prototype.push=X3;Ai.prototype.has=K3;function Z3(t,a){for(var s=-1,i=t==null?0:t.length;++s<i;)if(a(t[s],s,t))return!0;return!1}function V3(t,a){return t.has(a)}var Q3=1,J3=2;function fm(t,a,s,i,u,p){var w=s&Q3,m=t.length,x=a.length;if(m!=x&&!(w&&x>m))return!1;var g=p.get(t),h=p.get(a);if(g&&h)return g==a&&h==t;var b=-1,y=!0,v=s&J3?new Ai:void 0;for(p.set(t,a),p.set(a,t);++b<m;){var C=t[b],E=a[b];if(i)var j=w?i(E,C,b,a,t,p):i(C,E,b,t,a,p);if(j!==void 0){if(j)continue;y=!1;break}if(v){if(!Z3(a,function(T,D){if(!V3(v,D)&&(C===T||u(C,T,s,i,p)))return v.push(D)})){y=!1;break}}else if(!(C===E||u(C,E,s,i,p))){y=!1;break}}return p.delete(t),p.delete(a),y}function eM(t){var a=-1,s=Array(t.size);return t.forEach(function(i,u){s[++a]=[u,i]}),s}function tM(t){var a=-1,s=Array(t.size);return t.forEach(function(i){s[++a]=i}),s}var nM=1,rM=2,sM="[object Boolean]",aM="[object Date]",oM="[object Error]",iM="[object Map]",lM="[object Number]",cM="[object RegExp]",uM="[object Set]",dM="[object String]",fM="[object Symbol]",pM="[object ArrayBuffer]",hM="[object DataView]",np=Ls?Ls.prototype:void 0,Lc=np?np.valueOf:void 0;function mM(t,a,s,i,u,p,w){switch(s){case hM:if(t.byteLength!=a.byteLength||t.byteOffset!=a.byteOffset)return!1;t=t.buffer,a=a.buffer;case pM:return!(t.byteLength!=a.byteLength||!p(new tp(t),new tp(a)));case sM:case aM:case lM:return om(+t,+a);case oM:return t.name==a.name&&t.message==a.message;case cM:case dM:return t==a+"";case iM:var m=eM;case uM:var x=i&nM;if(m||(m=tM),t.size!=a.size&&!x)return!1;var g=w.get(t);if(g)return g==a;i|=rM,w.set(t,a);var h=fm(m(t),m(a),i,u,p,w);return w.delete(t),h;case fM:if(Lc)return Lc.call(t)==Lc.call(a)}return!1}var gM=1,xM=Object.prototype,wM=xM.hasOwnProperty;function bM(t,a,s,i,u,p){var w=s&gM,m=Kf(t),x=m.length,g=Kf(a),h=g.length;if(x!=h&&!w)return!1;for(var b=x;b--;){var y=m[b];if(!(w?y in a:wM.call(a,y)))return!1}var v=p.get(t),C=p.get(a);if(v&&C)return v==a&&C==t;var E=!0;p.set(t,a),p.set(a,t);for(var j=w;++b<x;){y=m[b];var T=t[y],D=a[y];if(i)var $=w?i(D,T,y,a,t,p):i(T,D,y,t,a,p);if(!($===void 0?T===D||u(T,D,s,i,p):$)){E=!1;break}j||(j=y=="constructor")}if(E&&!j){var R=t.constructor,O=a.constructor;R!=O&&"constructor"in t&&"constructor"in a&&!(typeof R=="function"&&R instanceof R&&typeof O=="function"&&O instanceof O)&&(E=!1)}return p.delete(t),p.delete(a),E}var vM=1,rp="[object Arguments]",sp="[object Array]",bi="[object Object]",yM=Object.prototype,ap=yM.hasOwnProperty;function _M(t,a,s,i,u,p){var w=Si(t),m=Si(a),x=w?sp:kr(t),g=m?sp:kr(a);x=x==rp?bi:x,g=g==rp?bi:g;var h=x==bi,b=g==bi,y=x==g;if(y&&du(t)){if(!du(a))return!1;w=!0,h=!1}if(y&&!h)return p||(p=new jr),w||dm(t)?fm(t,a,s,i,u,p):mM(t,a,x,s,i,u,p);if(!(s&vM)){var v=h&&ap.call(t,"__wrapped__"),C=b&&ap.call(a,"__wrapped__");if(v||C){var E=v?t.value():t,j=C?a.value():a;return p||(p=new jr),u(E,j,s,i,p)}}return y?(p||(p=new jr),bM(t,a,s,i,u,p)):!1}function pm(t,a,s,i,u){return t===a?!0:t==null||a==null||!Pa(t)&&!Pa(a)?t!==t&&a!==a:_M(t,a,s,i,pm,u)}function MM(t,a){return pm(t,a)}const op=({className:t,children:a,colSpan:s,sticky:i=!1,...u})=>{const p=he("py-2! pr-6! pl-0! text-left align-top",i&&"sticky top-0 bg-white",u.onClick&&"hover:cursor-pointer",t);return n.jsx("th",{className:p,colSpan:s,...u,children:n.jsx(ct,{className:"whitespace-nowrap",level:6,children:a})})},hm=({left:t,center:a,right:s,sticky:i=!0,containerClassName:u,children:p})=>{const w=he("z-50 h-22 min-h-[92px] p-8",!p&&"flex items-center justify-between gap-3",i&&"sticky top-0",u);if(!p){if(t){const m=he("flex flex-auto items-center",s&&a&&"basis-1/3",!s&&a&&"basis-1/2");t=n.jsx("div",{className:m,children:t})}if(a){const m=he("flex flex-auto items-center justify-center",t&&s&&"basis-1/3",(t&&!s||!t&&s)&&"basis-1/2");a=n.jsx("div",{className:m,children:a})}if(s){const m=he("flex flex-auto items-center justify-end",t&&a&&"basis-1/3",!t&&a&&"basis-1/2");s=n.jsx("div",{className:m,children:s})}}return n.jsx("div",{className:w,children:p||n.jsxs(n.Fragment,{children:[t,a,s]})})},mm=({items:t,setItems:a,blank:s,canAddNewItem:i})=>{const[u,p]=A.useState(t.map((y,v)=>({item:y,id:v.toString()}))),[w,m]=A.useState(s);return A.useEffect(()=>{const y=u.map(({item:v})=>v);i(w)&&y.push(w),MM(JSON.parse(JSON.stringify(y)),JSON.parse(JSON.stringify(t)))||a(y)},[u,w,t,a,i]),{items:u,updateItem:(y,v)=>{const C=u.map(E=>E.id===y?{...E,item:v}:E);p(C),a(C.map(E=>E.item))},addItem:()=>{if(i(w)){const y=u.reduce((C,E)=>Math.max(C,parseInt(E.id)),0),v=u.concat({item:w,id:(y+1).toString()});p(v),a(v.map(C=>C.item)),m(s)}},removeItem:y=>{const v=u.filter(C=>C.id!==y);p(v),a(v.map(C=>C.item))},moveItem:(y,v)=>{if(y!==v){const C=u.findIndex(T=>T.id===y),E=v?u.findIndex(T=>T.id===v):0,j=hy(u,C,E);p(j),a(j.map(T=>T.item))}},newItem:w,setNewItem:m}},kM=({label:t,text:a="",hint:s,onRegenerate:i})=>{const[u,p]=A.useState(!1),w=()=>{navigator.clipboard.writeText(a),p(!0),setTimeout(()=>p(!1),2e3)},m=he("group/api-keys relative -mt-1 mb-1 w-full overflow-hidden border-b border-transparent py-2 hover:border-grey-300 dark:hover:border-grey-600");return n.jsxs("div",{className:"mb-3 grid grid-cols-1",children:[t&&n.jsx(ct,{level:6,grey:!0,children:t}),n.jsxs("div",{className:m,children:[n.jsx("span",{children:a}),s,n.jsxs("div",{className:"visible absolute top-1/2 right-0 flex translate-y-[-50%] gap-1 bg-white pl-1 text-sm group-hover/api-keys:visible md:invisible dark:bg-black",children:[i&&n.jsx(Ie,{color:"outline",label:"Regenerate",size:"sm",onClick:i}),n.jsx(Ie,{color:"outline",label:u?"Copied":"Copy",size:"sm",onClick:w})]})]})]})},Ya=({keys:t})=>n.jsx("div",{"data-testid":"api-keys",children:t.map(a=>n.jsx(kM,{...a},a.label))}),Qr=({icon:t,title:a,detail:s,extra:i})=>n.jsxs("div",{className:"-mx-8 -mt-8 flex flex-col gap-4 bg-grey-75 p-8 md:flex-row dark:bg-grey-950",children:[n.jsx("div",{className:"size-14",children:t}),n.jsxs("div",{className:"mt-1.5 flex min-w-0 flex-1 flex-col",children:[n.jsx("h3",{children:a}),n.jsx("div",{children:s}),i&&n.jsx("div",{className:"mt-4",children:i})]})]}),jM=""+new URL("zapier-logo-D8a11oW_.svg",import.meta.url).href,Ou=qr({method:"POST",path:({integrationId:t,apiKeyId:a})=>`/integrations/${t}/api_key/${a}/refresh/`,body:({integrationId:t})=>({integrations:[{id:t}]}),updateQueries:{emberUpdateType:"createOrUpdate",dataType:Li,update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>t.integrations.find(({id:u})=>u===s.id)||s)}}}),EM=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{zapierTemplates:s}=my(),{data:{integrations:i}={integrations:[]}}=Oi(),{config:u}=ze(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=u.hostSettings?.limits?.customIntegrations?.disabled,h=i.find(({slug:v})=>v==="zapier"),b=h?.api_keys?.find(v=>v.type==="admin");A.useEffect(()=>{g&&a("integrations")},[g,a]);const y=()=>{!h||!b||(x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:'You will need to locate the Ghost App within your Zapier account and click on "Reconnect" to enter the new Admin API Key.',okLabel:"Regenerate Admin API Key",onOk:async v=>{try{await p({integrationId:h.id,apiKeyId:b.id}),x(!0),v?.remove()}catch(C){w(C)}}}))};return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsxs("a",{className:"mt-1 self-baseline text-sm font-bold",href:"https://zapier.com/apps/ghost/integrations?utm_medium=partner_api&utm_source=widget&utm_campaign=Widget",rel:"noopener noreferrer",target:"_blank",children:["View more Ghost integrations powered by ",n.jsx("span",{children:n.jsx("img",{alt:"Zapier",className:"relative top-[-2px] inline-block",src:jM})})]}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{t.remove()}})]}),okColor:"black",okLabel:"Close",testId:"zapier-modal",title:"",stickyFooter:!0,onOk:()=>{a("integrations"),t.remove()},children:[n.jsx(Qr,{detail:"Automation for your favorite apps",extra:n.jsx("div",{className:"mt-1 -mb-4",children:n.jsx(Ya,{keys:[{label:"Admin API key",text:b?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:y},{label:"API URL",text:window.location.origin+Os().subdir}]})}),icon:n.jsx(Ge,{name:"zapier",size:56}),title:"Zapier"}),n.jsx(er,{children:s.map(v=>n.jsx(Cr,{action:n.jsx(Ie,{className:"text-sm font-semibold whitespace-nowrap text-[#FF4A00]",href:v.url,label:"Use this Zap",tag:"a",target:"_blank",link:!0,unstyled:!0}),bgOnHover:!1,className:"flex items-center gap-3 py-2 pl-3",title:n.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center",children:[n.jsxs("div",{className:"flex shrink-0 flex-nowrap items-center gap-2",children:[n.jsx("img",{className:"size-8 object-contain dark:invert",role:"presentation",src:v.ghostImage}),n.jsx(Ge,{name:"arrow-right",size:"xs"}),n.jsx("img",{className:"size-8 object-contain",role:"presentation",src:v.appImage})]}),n.jsx("span",{className:"text-sm",children:v.title})]}),hideActions:!0}))})]})});function gm(t){const a="The URL must be in a format like https://www.threads.net/@yourUsername";if(!t)return"";if(t.startsWith("http")){if(!t.includes("threads.net")&&!t.includes("threads.com"))throw new Error(a);if(t=t.replace("threads.com","threads.net"),t.includes("www.")||(t=t.replace("https://","https://www.")),!xt.isURL(t))throw new Error(a);if(!t.match(/^https:\/\/www\.threads\.net\/@?[a-zA-Z0-9._]+$/))throw new Error(a);return t}if(!t.includes("/")){if(t.startsWith("@")&&(t=t.slice(1)),!t.match(/^[a-zA-Z0-9._]+$/))throw new Error(a);return`https://www.threads.net/@${t}`}throw new Error(a)}const TM=t=>`https://www.threads.net/${t}`,NM=t=>{const a=t.match(/(?:https:\/\/)(?:www\.)?(?:threads\.(?:com|net))(?:\/)?(?:#!\/)?@?([^/]*)/)?.[1];return a?`@${a}`:null},As={INVALID_USERNAME:"Your Username is not a valid Bluesky Username",INVALID_URL:"The URL must be in a format like https://bsky.app/profile/yourUsername"};function xm(t){return[/^did:plc:[a-z2-7]{24}$/,/^[a-zA-Z0-9._]{1,15}$/,/^(?=.{1,191}$)[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$/].some(s=>s.test(t))}function mu(t){let a=t.trim();return a.startsWith("@")&&(a=a.slice(1)),a.startsWith("did:plc:")?a.toLowerCase():a}function wm(t){if(!t)return"";let a;if(t.startsWith("http")||t.startsWith("www.")||t.includes("bsky.app")){if(!t.includes("bsky.app"))throw new Error(As.INVALID_URL);const i=t.match(/bsky\.app\/profile\/@?([^/]+)/);if(!i)throw new Error(As.INVALID_URL);a=mu(i[1])}else a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);const s=`https://bsky.app/profile/${a}`;if(!xt.isURL(s))throw new Error(As.INVALID_URL);return s}const CM=t=>{if(!t)throw new Error(As.INVALID_USERNAME);let a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);return`https://bsky.app/profile/${a}`},IM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?bsky\.app\/profile\/@?([^/]*)/);return a?`${a[1]}`:null},Wr={INVALID_URL:"The URL must be in a format like https://www.linkedin.com/in/yourUsername",INVALID_USERNAME:"Your Username is not a valid LinkedIn Username"},SM=["in","pub","company","school"],AM=/^[a-zA-Z0-9-]{3,100}$/,DM=/^[a-zA-Z0-9-]{3,100}(?:\/[a-zA-Z0-9-]*)*$/,bm=/^(?:https?:\/\/)?(?:www\.)?(?:([a-z]{2})\.)?linkedin\.com\/(in|pub|company|school)\/([^?#]+)/i,gu=t=>t.trim().replace(/^@/,""),vm=t=>{if(/^(https?:\/\/|www\.)/.test(t)||t.includes("linkedin.com")){const i=t.match(bm);if(!i)throw new Error(Wr.INVALID_URL);if(i[0].length!==t.length)throw new Error(Wr.INVALID_USERNAME);const[,u,p,w]=i,m=gu(w);if(u&&!/^[A-Z]{2}$/.test(u.toUpperCase()))throw new Error(Wr.INVALID_URL);return{regional:u,pathType:p,username:m}}const a=gu(t),s=a.indexOf("/");if(s!==-1){const i=a.substring(0,s);if(SM.includes(i))return{pathType:i,username:a.substring(s+1)}}return{username:a}},ym=(t,a)=>(t==="pub"?DM:AM).test(a),_m=({regional:t,pathType:a,username:s})=>{const u=`https://${t?`${t.toLowerCase()}.`:"www."}linkedin.com/${a}/${s}`;if(!xt.isURL(u))throw new Error(Wr.INVALID_URL);return u};function Mm(t){if(!t)return"";const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})}const $M=t=>{if(!t)throw new Error(Wr.INVALID_USERNAME);const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})},RM=t=>{const a=t.match(bm);if(!a)return null;const[,,s,i]=a,u=gu(i);return s==="in"?u:`${s}/${u}`};function km(t){const a="The URL must be in a format like https://www.instagram.com/yourUsername",s="Your Username is not a valid Instagram Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("instagram.com")){if(!t.includes("instagram.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t.startsWith("@")?t.slice(1):t;if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||i.includes("..")||i.length>30)throw new Error(s);const u=`https://www.instagram.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const LM=t=>{const a="Your Username is not a valid Instagram Username";if(!t)throw new Error(a);let s=t;if(s.startsWith("@")&&(s=s.slice(1)),!s.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||s.includes("..")||s.length>30)throw new Error(a);return`https://www.instagram.com/${s}`},OM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]*)/);return a?`${a[1]}`:null};function jm(t){const a="The URL must be in a format like https://www.youtube.com/@yourUsername, https://www.youtube.com/user/yourUsername, or https://www.youtube.com/channel/yourChannelId",s="Your Username is not a valid YouTube Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("youtube.com")){if(!t.includes("youtube.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t;if(i.startsWith("@")){const p=i.slice(1);if(!p.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||p.includes("..")||p.length>30)throw new Error(s)}else if(i.startsWith("user/")){if(!i.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(s)}else if(i.startsWith("channel/")){if(!i.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(s)}else throw new Error(a);const u=`https://www.youtube.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const FM=t=>{const a="Your Username is not a valid YouTube Username";if(!t)throw new Error(a);if(t.startsWith("@")){const s=t.slice(1);if(!s.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||s.includes("..")||s.length>30)throw new Error(a)}else if(t.startsWith("user/")){if(!t.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(a)}else if(t.startsWith("channel/")){if(!t.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(a)}else throw new Error("The handle must be in a format like @yourUsername, user/yourUsername, or channel/yourChannelId");return`https://www.youtube.com/${t}`},PM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]*)/);return a?a[1]:null};function Em(t){const a="The URL must be in a format like https://www.tiktok.com/@yourUsername",s="Your Username is not a valid TikTok Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("tiktok.com")){if(!t.includes("tiktok.com"))throw new Error(a);const w=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]+)/);if(!w)throw new Error(a);i=w[1]}else i=t.startsWith("@")?t:`@${t}`;const u=i.slice(1);if(!u.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||u.includes("..")||u.length<2||u.length>24)throw new Error(s);const p=`https://www.tiktok.com/${i}`;if(!xt.isURL(p))throw new Error(a);return p}const HM=t=>{const a="Your Username is not a valid TikTok Username";if(!t)throw new Error(a);const s=t.startsWith("@")?t:`@${t}`,i=s.slice(1);if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||i.includes("..")||i.length<2||i.length>24)throw new Error(a);return`https://www.tiktok.com/${s}`},zM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]*)/);return a?a[1]:null};function Tm(t){const a="The URL must be in a format like @username@instance.tld or https://instance.tld/@username or https://website.com/@username@instance.tld";if(!t)return"";let s=t;if(s=s.replace(/^https?:\/\//,""),s.match(/^@[^@]+@[^/]+$/)){const[i,u]=s.split("@").slice(1);if(!xt.isFQDN(u))throw new Error(a);return`https://${u}/@${i}`}if(s.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[i,u]=s.split("/@");if(!xt.isFQDN(i))throw new Error(a);if(u.includes("@")){const[,p]=u.split("@");if(!xt.isFQDN(p))throw new Error(a)}return`https://${s}`}throw new Error(a)}const UM=t=>{const a="Your Username is not a valid Mastodon Username";if(!t)throw new Error(a);if(t.match(/^@[^@]+@[^/]+$/)){const[s,i]=t.split("@").slice(1);if(!xt.isFQDN(i))throw new Error(a);return`https://${i}/@${s}`}if(t.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[s,i]=t.split("/@");if(!xt.isFQDN(s))throw new Error(a);if(i.includes("@")){const[,u]=i.split("@");if(!xt.isFQDN(u))throw new Error(a)}return`https://${t}`}throw new Error(a)},BM=t=>t.replace(/^https?:\/\//,""),WM=({tier:t})=>{const a=t?.type==="free",{updateRoute:s}=Pe(),{mutateAsync:i}=Iu(),{mutateAsync:u}=Ky(),{mutateAsync:p}=Nr(),[w,m]=Ve.useState(!!t?.trial_days),x=Ke(),{localSettings:g,siteData:h}=Gr(),[b]=ot(g,["portal_plans"]),y=JSON.parse(b?.toString()||"[]"),v={name:()=>C.name?void 0:"Enter a name for the tier",monthly_price:()=>C.type!=="free"?Cf(C.monthly_price||0,C.currency,{allowZero:!1}):void 0,yearly_price:()=>C.type!=="free"?Cf(C.yearly_price||0,C.currency,{allowZero:!1}):void 0},{formState:C,saveState:E,updateForm:j,handleSave:T,errors:D,clearError:$,okProps:R}=an({initialState:{...t||{},trial_days:t?.trial_days?.toString()||"",currency:t?.currency||gy[0].isoCode,visibility:t?.visibility||"none",welcome_page_url:t?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{const W={};return Object.entries(v).forEach(([B,ie])=>{W[B]=ie?.()}),W},onSave:async()=>{const{trial_days:W,currency:B,...ie}=C,ge=ie;if(ge.benefits=ge.benefits?.filter(Me=>Me),a||(ge.currency=B,ge.trial_days=parseInt(W)),t?.id?await i({...t,...ge}):await u(ge),a){const Me=C.visibility==="public";let K=!1;y.includes("free")&&!Me&&(y.splice(y.indexOf("free"),1),K=!0),!y.includes("free")&&Me&&(y.push("free"),K=!0),K&&await p([{key:"portal_plans",value:JSON.stringify(y)}])}},onSaveError:x}),O=mm({items:C.benefits||[],setItems:W=>j(B=>({...B,benefits:W})),blank:"",canAddNewItem:W=>!!W}),P=W=>{W.target.checked?(m(!0),j(B=>({...B,trial_days:t?.trial_days?t?.trial_days.toString():"7"}))):(m(!1),j(B=>({...B,trial_days:"0"})))},I=A.useRef(!1);A.useEffect(()=>{I.current&&(v.monthly_price?.(),v.yearly_price?.()),I.current=!0},[C.currency]);const U=()=>{if(t){const W=t.active?"Archive tier":"Reactivate tier",B=t.active?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Members will no longer be able to subscribe to ",n.jsx("strong",{children:t.name})," and it will be removed from the list of available tiers in portal."]}),n.jsx("div",{children:"Existing members on this tier will remain unchanged. Offers using this tier will be disabled."})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Reactivating ",n.jsx("strong",{children:t.name})," will re-enable it as an option in portal and allow new members to subscribe to this tier."]}),n.jsx("div",{children:"Existing members will remain unchanged."})]}),ie=t.active?"Archive":"Reactivate";me.show(ht,{title:W,prompt:B,okLabel:ie,cancelLabel:"Cancel",okColor:t.active?"red":"black",onOk:ge=>{i({...t,active:!t.active}),ge?.remove(),rt({type:"success",title:`Tier ${t.active?"archived":"reactivated"}`})}})}};let Y={};return t&&(t.active&&t.type!=="free"?Y={label:"Archive tier",color:"red",link:!0,onClick:U}:t.active||(Y={label:"Reactivate tier",color:"green",link:!0,onClick:U})),n.jsx(ut,{afterClose:()=>{s("tiers")},buttonsDisabled:R.disabled,cancelLabel:"Close",dirty:E==="unsaved",leftButtonProps:Y,okColor:R.color,okLabel:R.label||"Save",size:"lg",testId:"tier-detail-modal",title:t?t.active?"Edit tier":"Edit archived tier":"New tier",stickyFooter:!0,onOk:async()=>{await T({fakeWhenUnchanged:!0})},children:n.jsxs("div",{className:"mt-8 -mb-8 flex items-start gap-8",children:[n.jsxs("div",{className:"flex grow flex-col gap-8",children:[n.jsxs(Be,{marginBottom:!1,title:"Basic",grouped:!0,children:[n.jsx(ve,{autoComplete:"off",error:!!D.name,hint:D.name,maxLength:191,placeholder:a?"Free":"Bronze",title:"Name",value:C.name||"",autoFocus:!0,onChange:W=>j(B=>({...B,name:W.target.value})),onKeyDown:()=>$("name")}),n.jsx(ve,{autoComplete:"off",autoFocus:a,maxLength:191,placeholder:a?"Free preview":"Full access to premium content",title:"Description",value:C.description||"",onChange:W=>j(B=>({...B,description:W.target.value}))}),!a&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"flex flex-col gap-10 md:flex-row",children:[n.jsxs("div",{className:"basis-1/2",children:[n.jsxs("div",{className:"mb-1 flex h-6 items-center justify-between",children:[n.jsx(ct,{level:6,children:"Prices"}),n.jsx("div",{className:"-mr-2 w-[50px]",children:n.jsx(kt,{border:!1,containerClassName:"font-medium",controlClasses:{menu:"w-18"},options:If(),selectedOption:If().flatMap(W=>W.options).find(W=>W.value===C.currency),size:"xs",clearBg:!0,isSearchable:!0,onSelect:W=>j(B=>({...B,currency:W?.value}))})})]}),n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(Sf,{error:!!D.monthly_price,hint:D.monthly_price,placeholder:"5",rightPlaceholder:`${C.currency}/month`,title:"Monthly price",valueInCents:C.monthly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,monthly_price:0})):null,onChange:W=>j(B=>({...B,monthly_price:W})),onKeyDown:()=>$("monthly_price")}),n.jsx(Sf,{error:!!D.yearly_price,hint:D.yearly_price,placeholder:"50",rightPlaceholder:`${C.currency}/year`,title:"Yearly price",valueInCents:C.yearly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,yearly_price:0})):null,onChange:W=>j(B=>({...B,yearly_price:W})),onKeyDown:()=>$("yearly_price")})]})]}),n.jsxs("div",{className:"basis-1/2",children:[n.jsx("div",{className:"mb-1 flex h-6 flex-col justify-center",children:n.jsx(Ye,{checked:w,label:"Add a free trial",labelStyle:"heading",onChange:P})}),n.jsx(ve,{disabled:!w,hint:n.jsxs("div",{className:"mt-1",children:["Members will be subscribed at full price once the trial ends. ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/free-trials/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),placeholder:"0",rightPlaceholder:"days",title:"Trial days",value:C.trial_days,hideTitle:!0,onChange:W=>j(B=>({...B,trial_days:W.target.value.replace(/[^\d]/,"")}))})]})]})}),n.jsx(wh,{baseUrl:h?.url,hint:`Redirect to this URL after signup ${a?"":" for premium membership"}`,maxLength:2e3,placeholder:h?.url,title:"Welcome page",value:C.welcome_page_url||null,nullable:!0,transformPathWithoutSlash:!0,onChange:W=>j(B=>({...B,welcome_page_url:W||null}))})]}),n.jsxs(Be,{gap:"none",title:"Benefits",grouped:!0,children:[n.jsx("div",{className:"-mt-3",children:n.jsx(bh,{items:O.items,itemSeparator:!1,renderItem:({id:W,item:B})=>n.jsxs("div",{className:"relative flex w-full items-center gap-5",children:[n.jsx("div",{className:"absolute top-[7px] left-[-32px] flex size-6 items-center justify-center bg-white group-hover:hidden dark:bg-black",children:n.jsx(Ge,{name:"check",size:"sm"})}),n.jsx(ve,{maxLength:191,value:B,onChange:ie=>O.updateItem(W,ie.target.value)}),n.jsx(Ie,{className:"absolute top-1 right-1 z-10 opacity-0 group-hover:opacity-100",color:"grey",icon:"trash",size:"sm",onClick:()=>O.removeItem(W)})]}),onMove:O.moveItem})}),n.jsxs("div",{className:"relative mt-1 flex items-center gap-3",children:[n.jsx(Ge,{className:"dark:text-white",name:"check",size:"sm"}),n.jsx(ve,{className:"grow",containerClassName:"w-100",maxLength:191,placeholder:"Expert analysis",title:"New benefit",value:O.newItem,hideTitle:!0,onChange:W=>O.setNewItem(W.target.value),onKeyDown:W=>{W.key==="Enter"&&O.addItem()}}),n.jsx(Ie,{className:"absolute top-[5px] right-[5px] z-10",color:"green",icon:"add",iconColorClass:"text-white",label:"Add",size:"sm",hideLabel:!0,onClick:()=>O.addItem()})]})]})]}),n.jsx("div",{className:"sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block",children:n.jsx(xy,{isFreeTier:a,tier:C})})]})})},YM=({params:t})=>{const{data:{tiers:a,isEnd:s}={},fetchNextPage:i}=Xr();let u;return A.useEffect(()=>{t?.id&&!u&&!s&&i()},[i,s,t?.id,u]),t?.id&&(u=a?.find(({id:p})=>p===t?.id),!u)?null:n.jsx(WM,{tier:u})},qM=me.create(YM);var Oc,ip;function Nm(){if(ip)return Oc;ip=1;var t={};return Oc=typeof process=="object"&&t&&t.NODE_DEBUG&&/\bsemver\b/i.test(t.NODE_DEBUG)?(...s)=>console.error("SEMVER",...s):()=>{},Oc}var Fc,lp;function Cm(){if(lp)return Fc;lp=1;const t="2.0.0",a=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,i=16,u=a-6;return Fc={MAX_LENGTH:a,MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:u,MAX_SAFE_INTEGER:s,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Fc}var vi={exports:{}},cp;function GM(){return cp||(cp=1,(function(t,a){const{MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:u}=Cm(),p=Nm();a=t.exports={};const w=a.re=[],m=a.safeRe=[],x=a.src=[],g=a.safeSrc=[],h=a.t={};let b=0;const y="[a-zA-Z0-9-]",v=[["\\s",1],["\\d",u],[y,i]],C=j=>{for(const[T,D]of v)j=j.split(`${T}*`).join(`${T}{0,${D}}`).split(`${T}+`).join(`${T}{1,${D}}`);return j},E=(j,T,D)=>{const $=C(T),R=b++;p(j,R,T),h[j]=R,x[R]=T,g[R]=$,w[R]=new RegExp(T,D?"g":void 0),m[R]=new RegExp($,D?"g":void 0)};E("NUMERICIDENTIFIER","0|[1-9]\\d*"),E("NUMERICIDENTIFIERLOOSE","\\d+"),E("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${y}*`),E("MAINVERSION",`(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})`),E("MAINVERSIONLOOSE",`(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASEIDENTIFIER",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIER]})`),E("PRERELEASEIDENTIFIERLOOSE",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASE",`(?:-(${x[h.PRERELEASEIDENTIFIER]}(?:\\.${x[h.PRERELEASEIDENTIFIER]})*))`),E("PRERELEASELOOSE",`(?:-?(${x[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${x[h.PRERELEASEIDENTIFIERLOOSE]})*))`),E("BUILDIDENTIFIER",`${y}+`),E("BUILD",`(?:\\+(${x[h.BUILDIDENTIFIER]}(?:\\.${x[h.BUILDIDENTIFIER]})*))`),E("FULLPLAIN",`v?${x[h.MAINVERSION]}${x[h.PRERELEASE]}?${x[h.BUILD]}?`),E("FULL",`^${x[h.FULLPLAIN]}$`),E("LOOSEPLAIN",`[v=\\s]*${x[h.MAINVERSIONLOOSE]}${x[h.PRERELEASELOOSE]}?${x[h.BUILD]}?`),E("LOOSE",`^${x[h.LOOSEPLAIN]}$`),E("GTLT","((?:<|>)?=?)"),E("XRANGEIDENTIFIERLOOSE",`${x[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),E("XRANGEIDENTIFIER",`${x[h.NUMERICIDENTIFIER]}|x|X|\\*`),E("XRANGEPLAIN",`[v=\\s]*(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:${x[h.PRERELEASE]})?${x[h.BUILD]}?)?)?`),E("XRANGEPLAINLOOSE",`[v=\\s]*(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:${x[h.PRERELEASELOOSE]})?${x[h.BUILD]}?)?)?`),E("XRANGE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAIN]}$`),E("XRANGELOOSE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAINLOOSE]}$`),E("COERCEPLAIN",`(^|[^\\d])(\\d{1,${s}})(?:\\.(\\d{1,${s}}))?(?:\\.(\\d{1,${s}}))?`),E("COERCE",`${x[h.COERCEPLAIN]}(?:$|[^\\d])`),E("COERCEFULL",x[h.COERCEPLAIN]+`(?:${x[h.PRERELEASE]})?(?:${x[h.BUILD]})?(?:$|[^\\d])`),E("COERCERTL",x[h.COERCE],!0),E("COERCERTLFULL",x[h.COERCEFULL],!0),E("LONETILDE","(?:~>?)"),E("TILDETRIM",`(\\s*)${x[h.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",E("TILDE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAIN]}$`),E("TILDELOOSE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAINLOOSE]}$`),E("LONECARET","(?:\\^)"),E("CARETTRIM",`(\\s*)${x[h.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",E("CARET",`^${x[h.LONECARET]}${x[h.XRANGEPLAIN]}$`),E("CARETLOOSE",`^${x[h.LONECARET]}${x[h.XRANGEPLAINLOOSE]}$`),E("COMPARATORLOOSE",`^${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]})$|^$`),E("COMPARATOR",`^${x[h.GTLT]}\\s*(${x[h.FULLPLAIN]})$|^$`),E("COMPARATORTRIM",`(\\s*)${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]}|${x[h.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",E("HYPHENRANGE",`^\\s*(${x[h.XRANGEPLAIN]})\\s+-\\s+(${x[h.XRANGEPLAIN]})\\s*$`),E("HYPHENRANGELOOSE",`^\\s*(${x[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${x[h.XRANGEPLAINLOOSE]})\\s*$`),E("STAR","(<|>)?=?\\s*\\*"),E("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),E("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(vi,vi.exports)),vi.exports}var Pc,up;function XM(){if(up)return Pc;up=1;const t=Object.freeze({loose:!0}),a=Object.freeze({});return Pc=i=>i?typeof i!="object"?t:i:a,Pc}var Hc,dp;function KM(){if(dp)return Hc;dp=1;const t=/^[0-9]+$/,a=(i,u)=>{if(typeof i=="number"&&typeof u=="number")return i===u?0:i<u?-1:1;const p=t.test(i),w=t.test(u);return p&&w&&(i=+i,u=+u),i===u?0:p&&!w?-1:w&&!p?1:i<u?-1:1};return Hc={compareIdentifiers:a,rcompareIdentifiers:(i,u)=>a(u,i)},Hc}var zc,fp;function ZM(){if(fp)return zc;fp=1;const t=Nm(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=Cm(),{safeRe:i,t:u}=GM(),p=XM(),{compareIdentifiers:w}=KM();class m{constructor(g,h){if(h=p(h),g instanceof m){if(g.loose===!!h.loose&&g.includePrerelease===!!h.includePrerelease)return g;g=g.version}else if(typeof g!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof g}".`);if(g.length>a)throw new TypeError(`version is longer than ${a} characters`);t("SemVer",g,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;const b=g.trim().match(h.loose?i[u.LOOSE]:i[u.FULL]);if(!b)throw new TypeError(`Invalid Version: ${g}`);if(this.raw=g,this.major=+b[1],this.minor=+b[2],this.patch=+b[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");b[4]?this.prerelease=b[4].split(".").map(y=>{if(/^[0-9]+$/.test(y)){const v=+y;if(v>=0&&v<s)return v}return y}):this.prerelease=[],this.build=b[5]?b[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(g){if(t("SemVer.compare",this.version,this.options,g),!(g instanceof m)){if(typeof g=="string"&&g===this.version)return 0;g=new m(g,this.options)}return g.version===this.version?0:this.compareMain(g)||this.comparePre(g)}compareMain(g){return g instanceof m||(g=new m(g,this.options)),this.major<g.major?-1:this.major>g.major?1:this.minor<g.minor?-1:this.minor>g.minor?1:this.patch<g.patch?-1:this.patch>g.patch?1:0}comparePre(g){if(g instanceof m||(g=new m(g,this.options)),this.prerelease.length&&!g.prerelease.length)return-1;if(!this.prerelease.length&&g.prerelease.length)return 1;if(!this.prerelease.length&&!g.prerelease.length)return 0;let h=0;do{const b=this.prerelease[h],y=g.prerelease[h];if(t("prerelease compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}compareBuild(g){g instanceof m||(g=new m(g,this.options));let h=0;do{const b=this.build[h],y=g.build[h];if(t("build compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}inc(g,h,b){if(g.startsWith("pre")){if(!h&&b===!1)throw new Error("invalid increment argument: identifier is empty");if(h){const y=`-${h}`.match(this.options.loose?i[u.PRERELEASELOOSE]:i[u.PRERELEASE]);if(!y||y[1]!==h)throw new Error(`invalid identifier: ${h}`)}}switch(g){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",h,b);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",h,b);break;case"prepatch":this.prerelease.length=0,this.inc("patch",h,b),this.inc("pre",h,b);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",h,b),this.inc("pre",h,b);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const y=Number(b)?1:0;if(this.prerelease.length===0)this.prerelease=[y];else{let v=this.prerelease.length;for(;--v>=0;)typeof this.prerelease[v]=="number"&&(this.prerelease[v]++,v=-2);if(v===-1){if(h===this.prerelease.join(".")&&b===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(y)}}if(h){let v=[h,y];b===!1&&(v=[h]),w(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=v):this.prerelease=v}break}default:throw new Error(`invalid increment argument: ${g}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return zc=m,zc}var Uc,pp;function VM(){if(pp)return Uc;pp=1;const t=ZM();return Uc=(s,i,u=!1)=>{if(s instanceof t)return s;try{return new t(s,i)}catch(p){if(!u)return null;throw p}},Uc}var QM=VM();const JM=fh(QM);function ek(t){if(!t)return"";const a=t.indexOf("+"),s=a!==-1?t.slice(a+1):"",i=a!==-1?t.slice(0,a):t;if(s&&s!=="moya"){const u=s.split("."),p=u[u.length-1];if(p&&/^[0-9a-f]{7,40}$/.test(p))return`https://github.com/TryGhost/Ghost/commit/${p}`}try{const p=JM(i,{includePrerelease:!0})?.prerelease;if(p&&p.length>0){const m=String(p[0]).split("-")[1];return m?.startsWith("g")?`https://github.com/TryGhost/Ghost/commit/${m.slice(1)}`:""}}catch{return""}return`https://github.com/TryGhost/Ghost/releases/tag/v${i}`}function tk(t,a){const s=!!t.match?.(/production/i);return!!(s&&a!=="mysql8"||!s&&a==="mysql5")}function nk({label:t,version:a}){const s=ek(a);return n.jsxs("div",{children:[n.jsxs("strong",{children:[t,":"]})," ",s?n.jsx("a",{className:"text-green",href:s,rel:"noopener noreferrer",target:"_blank",children:a}):a]})}const rk=me.create(({})=>{const{updateRoute:t}=Pe();let s=ze().config;const i=wy();function u(){return new Date().getFullYear()}function p(){return!!s.enableDeveloperExperiments}function w(){return!s.hostSettings?.siteId}return n.jsx(ut,{afterClose:()=>{t("")},cancelLabel:"",footer:n.jsx(n.Fragment,{}),topRightContent:"close",width:540,children:n.jsxs("div",{className:"flex flex-col gap-4 pb-7 text-sm",children:[n.jsx(by,{className:"h-auto w-[120px] dark:invert"}),n.jsxs("div",{className:"mt-3 flex flex-col gap-1.5",children:[i?.message&&n.jsxs("div",{className:"gh-prose-links mb-4 rounded-sm border border-green p-5",children:[n.jsx("strong",{children:"Update available!"}),n.jsx("div",{dangerouslySetInnerHTML:{__html:i.message}})]}),n.jsx(nk,{label:"Version",version:s.version}),w()&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{children:[n.jsx("strong",{children:"Environment:"})," ",s.environment]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Database:"})," ",s.database]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Mail:"})," ",s.mail?s.mail:"Native"]})]}),p()&&n.jsxs("div",{children:[n.jsx("strong",{children:"Developer experiments:"})," Enabled"]}),w()&&tk(s.environment,s.database)&&n.jsxs("div",{className:"text-red-500 dark:text-red-400",children:["You are running an unsupported database in production. Please ",n.jsx("a",{href:"https://ghost.org/docs/faq/supported-databases/",rel:"noopener noreferrer",target:"_blank",children:"upgrade to MySQL 8"}),"."]})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"book-open",size:"sm"})," User documentation"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://forum.ghost.org/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"question-circle",size:"sm"})," Get help with Ghost"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/contributing/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"angle-brackets",size:"sm"})," Get involved"]})]}),n.jsx(Rs,{}),n.jsxs("p",{className:"max-w-[460px] text-xs",children:["Copyright © 2013 – ",u()," Ghost Foundation, released under the ",n.jsx("a",{className:"text-green",href:"https://github.com/TryGhost/Ghost/blob/main/LICENSE",rel:"noopener noreferrer",target:"_blank",children:"MIT license"}),". ",n.jsx("a",{className:"text-green",href:"https://ghost.org/",rel:"noopener noreferrer",target:"_blank",children:"Ghost"})," is a registered trademark of ",n.jsx("a",{className:"text-green",href:"https://ghost.org/trademark/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Foundation Ltd"}),"."]})]})})}),sk=()=>{const t=Ft(),{updateRoute:a}=Pe(),[s,i]=A.useState(""),[u,p]=A.useState({name:""}),{mutateAsync:w}=vy(),m=Fs(),x=Ke();return A.useEffect(()=>{m?.isLimited("customIntegrations")&&m.errorIfWouldGoOverLimit("customIntegrations").catch(g=>{g instanceof Ps&&(me.show(Un,{prompt:g.message||"Your current plan doesn't support more custom integrations.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("integrations"))})},[m,t,a]),n.jsx(ut,{afterClose:()=>{a("integrations")},okColor:"black",okLabel:"Add",size:"sm",testId:"add-integration-modal",title:"Add integration",onOk:async()=>{if(!s){p({name:"Name is required"});return}try{const g=await w({name:s});t.remove(),a({route:`integrations/${g.integrations[0].id}`})}catch(g){x(g)}},children:n.jsx("div",{className:"mt-5",children:n.jsx(Be,{marginBottom:!1,marginTop:!1,children:n.jsx(ve,{autoFocus:!0,error:!!u.name,hint:u.name,maxLength:191,placeholder:"Custom integration",title:"Name",value:s,onChange:g=>i(g.target.value),onInput:()=>{u.name&&p({name:""})}})})})})},ak=me.create(sk),ok=()=>{const t=Ft(),{updateRoute:a}=Pe(),s=Ke(),[i,u]=A.useState(!0),[p,w]=A.useState(null),{data:m}=ph({searchParams:{filter:"newsletters.status:active+email_disabled:0",limit:"1",page:"1",include:"newsletters,labels"}}),{mutateAsync:x}=Yy(),{formState:g,updateForm:h,saveState:b,handleSave:y,errors:v,clearError:C}=an({initialState:{name:"",description:"",optInExistingSubscribers:!0},onSave:async()=>{const T=await x({name:g.name,description:g.description,opt_in_existing:g.optInExistingSubscribers,feedback_enabled:!0});a({route:`newsletters/${T.newsletters[0].id}`})},onSaveError:s,onValidate:()=>{const T={};return g.name||(T.name="A name is required for your newsletter"),T}}),E=Fs();A.useEffect(()=>{if(!E){u(!1);return}E.errorIfWouldGoOverLimit("newsletters").catch(T=>{if(T instanceof Ps)w(T);else throw T}).finally(()=>{u(!1)})},[E]);const j=m?.meta?.pagination.total;return A.useEffect(()=>{p&&(me.show(Un,{prompt:p.message||"Your current plan doesn't support more newsletters.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("newsletters"))},[p,t,a]),i||p?null:n.jsx(ut,{afterClose:()=>{a("newsletters")},backDropClick:!1,okColor:"black",okDisabled:b==="saving",okLabel:"Create",okLoading:b==="saving",size:"sm",testId:"add-newsletter-modal",title:"Create newsletter",onOk:async()=>{await y()&&t.remove()},children:n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{autoFocus:!0,error:!!v.name,hint:v.name,maxLength:191,placeholder:"Weekly roundup",title:"Name",value:g.name,onChange:T=>h(D=>({...D,name:T.target.value})),onKeyDown:()=>C("name")}),n.jsx(nr,{maxLength:2e3,title:"Description",value:g.description,onChange:T=>h(D=>({...D,description:T.target.value}))}),n.jsx(Ye,{checked:g.optInExistingSubscribers,direction:"rtl",hint:g.optInExistingSubscribers?`This newsletter will be available to all members. Your ${j===void 0?"":$a(j)} existing subscriber${m?.meta?.pagination.total===1?"":"s"} will also be opted-in to receive it.`:"The newsletter will be available to all new members. Existing members won’t be subscribed, but may visit their account area to opt-in to future emails.",label:"Opt-in existing subscribers",labelStyle:"heading",onChange:T=>h(D=>({...D,optInExistingSubscribers:T.target.checked}))})]})})},ik=me.create(ok),lk=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{data:{integrations:s}={integrations:[]}}=Oi(),u=s.find(({slug:p})=>p==="ghost-core-content")?.api_keys?.find(p=>p.type==="content");return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsx(Ie,{color:"outline",href:"https://ghost.org/docs/content-api/",label:n.jsxs("span",{className:"flex items-center gap-1",children:["Open docs ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]}),rel:"noopener noreferrer",tag:"a",target:"_blank"}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{a("integrations"),t.remove()}})]}),testId:"content-api-modal",title:"",stickyFooter:!0,children:[n.jsx(Qr,{detail:"Access your content programmatically",icon:n.jsx(Ge,{name:"angle-brackets",size:56}),title:"Content API"}),n.jsxs("div",{className:"mt-7",children:[n.jsx("p",{className:"mb-6 text-sm text-grey-700",children:"This key provides read-only access to your published content. For full read/write access, create a custom integration."}),n.jsx(Ya,{keys:[{label:"Content API key",text:u?.secret},{label:"API URL",text:window.location.origin+Os().subdir}]})]})]})}),ck=({recommendation:t,animate:a})=>{const s=Ft(),{updateRoute:i,route:u}=Pe(),{mutateAsync:p}=yy(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,setErrors:v}=an({initialState:{...t},onSave:async T=>{await p(T),s.remove(),rt({title:"Recommendation added",type:"success"}),My("Recommendation Added",{oneClickSubscribe:T.one_click_subscribe}),i("recommendations")},onSaveError:w,onValidate:T=>_y(T)});let C="Add",E=!1;h==="saving"?E=!0:h==="saved"&&(C="Added");let j={label:"Back",icon:"arrow-left",iconColorClass:"text-black dark:text-white",link:!0,size:"sm",onClick:()=>{h!=="saving"&&(s.remove(),me.show(Im,{pathName:u,animate:!1,recommendation:{...m}}))}};return n.jsx(ut,{afterClose:()=>{i("recommendations")},animate:a??!0,backDropClick:!1,cancelLabel:"Cancel",dirty:!0,leftButtonProps:j,okColor:"black",okLabel:C,okLoading:E,size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",stickyFooter:!0,onCancel:()=>{h!=="saving"&&(s.remove(),i("recommendations"))},onOk:async()=>{if(h!=="saving"){hh();try{await g({force:!0})}catch{rt({type:"error",title:"Something went wrong when adding this recommendation, please try again."})}}},children:n.jsx(ky,{clearError:y,errors:b,formState:m,setErrors:v,showURL:!1,updateForm:x})})},uk=me.create(ck),hp=t=>Ni(t).save||"",dk=function(t,a){try{new URL(a).hostname.includes(".")?delete t.url:t.url="Enter a valid URL"}catch{t.url="Enter a valid URL"}return t},fk=({searchParams:t,recommendation:a,animate:s})=>{const[i,u]=A.useState(!1),p=Ft(),{updateRoute:w}=Pe(),{mutateAsync:m}=jy(),x=a?"":t?.get("url")??"",{save:g}=x?Ni(x):{save:""},h=Ve.useRef(!1),[b,y]=Ve.useState(!!g),{formState:v,updateForm:C,handleSave:E,errors:j,saveState:T,clearError:D}=an({initialState:a??{title:"",url:g||"",description:"",excerpt:null,featured_image:null,favicon:null,one_click_subscribe:!1},onSave:async()=>{let R;R=new URL(v.url);const O=R.hostname.replace("www.",""),P={...v,url:R.toString()},{recommendations:I=[]}=await m(R);if(!I||I.length===0)return;const U=I[0];if(U.id)throw new jf("A recommendation with this URL already exists.");P.title=U.title??O,P.excerpt=U.excerpt??P.excerpt,P.featured_image=U.featured_image??P.featured_image??null,P.favicon=U.favicon??P.favicon??null,P.one_click_subscribe=U.one_click_subscribe??P.one_click_subscribe??!1,P.description=P.excerpt||null,p.remove(),me.show(uk,{animate:!1,recommendation:P})},onValidate:()=>{const R={};return dk(R,v.url),b&&y(Object.keys(R).length===0),R}}),$=Ve.useCallback(async()=>{if(T!=="saving"){hh();try{if(await E({force:!0}))return}catch(R){const O=R instanceof jf?R.message:"Something went wrong while checking this URL, please try again.";rt({type:"error",title:O})}b&&y(!1)}},[E,T,b,y]);return Ve.useEffect(()=>{b&&!h.current&&(h.current=!0,$())},[b,$]),A.useEffect(()=>{i&&($(),u(!1))},[v]),b?n.jsx(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,footer:!1,header:!1,size:"sm",children:n.jsx("div",{className:"flex flex-col items-center justify-center p-8",children:n.jsx(Ci,{})})}):n.jsxs(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,okColor:"black",okLabel:"Next",okLoading:T==="saving",size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",onOk:$,children:[n.jsxs("p",{className:"mt-4",children:["You can recommend ",n.jsx("strong",{children:"any site"})," your audience will find valuable, not just those published on Ghost."]}),n.jsx(Be,{marginBottom:!1,marginTop:!0,children:n.jsx(ve,{autoFocus:!0,error:!!j.url,hint:j.url||n.jsxs(n.Fragment,{children:["Need inspiration? ",n.jsx("a",{className:"text-green",href:"https://www.ghost.org/explore",rel:"noopener noreferrer",target:"_blank",children:"Explore thousands of sites"})," to recommend"]}),maxLength:2e3,placeholder:"https://www.example.com",title:"URL",value:v.url,onBlur:()=>{const R=hp(v.url);C(O=>({...O,url:R}))},onChange:R=>{D?.("url"),C(O=>({...O,url:R.target.value}))},onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),C(O=>({...O,url:hp(v.url)})),u(!0))}})})]})},Im=me.create(fk);function pk(t,a){let s;return function(...u){const p=()=>{clearTimeout(s),t(...u)};clearTimeout(s),s=setTimeout(p,a)}}const Fu=({generateContent:t,className:a,height:s,width:i,parentClassName:u,testId:p,addDelay:w=!1})=>{const[m,x]=A.useState(0),g=[A.useRef(null),A.useRef(null)],[h,b]=A.useState(0);return A.useEffect(()=>{const y=m===0?1:0,v=g[y].current;if(v){t(v);const C=()=>{w?setTimeout(()=>{x(y)},500):x(y)};return v.addEventListener("load",C),()=>{v.removeEventListener("load",C)}}},[t]),A.useEffect(()=>{const y=g[m].current,v=pk(()=>{b(y?.contentWindow?.scrollY||0)},250);return y?.contentWindow?.addEventListener("scroll",v),()=>{y?.contentWindow?.removeEventListener("scroll",v)}},[m,g]),A.useEffect(()=>{const y=g[m].current;if(y)try{y.contentWindow?.scrollTo(0,h)}catch(v){Lv(v)}},[h,m,g]),n.jsxs("div",{className:u,"data-testid":p,children:[n.jsx("iframe",{ref:g[0],className:`${a} ${m!==0?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===0,frameBorder:"0",height:s,title:"Buffered Preview 1",width:i}),n.jsx("iframe",{ref:g[1],className:`${a} ${m!==1?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===1,frameBorder:"0",height:s,title:"Buffered Preview 2",width:i})]})},hk=(t,a,s)=>{const i=new URLSearchParams;return i.append("announcement_bg",t||"accent"),i.append("announcement",a||""),s&&s.length>0&&i.append("announcement_vis",s?.join(",")||""),i.toString()},mk=({announcementBackgroundColor:t,announcementContent:a,url:s,visibility:i})=>{const u=A.useMemo(()=>i,[i?.join(",")]),p=A.useCallback(w=>{s&&fetch(s,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":hk(t,a,u),Accept:"text/plain"},mode:"cors",credentials:"include"}).then(m=>m.text()).then(m=>{const x="html { pointer-events: none; }",h=new DOMParser().parseFromString(m,"text/html"),b=h.querySelector("style"),y=b.innerHTML;b.innerHTML=`${y}
1
+ import{j as n,r as A,aD as he,t as Ve,dv as kv,aL as uh,aJ as jv,ay as Ev,av as dh,aM as Nv,ax as $i,az as yu,aN as Tv,aA as tu,aw as Cv,aB as Iv,aC as Sv,dw as Ge,dx as Av,dy as Dv,dz as $v,dA as Rv,ae as qr,a$ as Ke,dg as Os,ds as Tr,dB as ot,dC as rt,ce as fh,dd as ph,dD as hh,dE as jf,dF as Lv,dG as Hn,dH as Ov,dI as Fv,dJ as Pv,dK as mh,dL as _u,dM as Hv,dN as zv,dO as Uv,dP as Er,dQ as Ei,dR as Mu,dS as Bv,dT as Wv,ar as Yv,dU as qv,du as xi,dV as Gv,dW as Sa,dX as Xv,dY as Kv,ag as Zv,aQ as Vv,dZ as Qv,d_ as gh,d$ as xh,e0 as Ef,dr as Tt,e1 as Ds,e2 as nu,e3 as Jv,e4 as $s,e5 as ey,e6 as ty,e7 as ny,e8 as Ni,e9 as ry,ea as sy,eb as ru,ad as ay,ec as oy,ed as iy,ee as ly,ef as cy,eg as _r,eh as Nf,ei as Tf,ej as uy}from"./index-JMWMnGGt.js";import{H as ct,a as zn,S as Rs,B as Ie,x as Ri,K as dy,y as Ft,z as fy,A as kt,M as ut,C as Pn,F as py,G as Nr,J as hy,O as Li,Q as me,U as Pe,V as my,W as Oi,X as ze,Y as er,Z as Cr,_ as ht,$ as xt,a0 as Gr,a1 as an,a2 as gy,a3 as Cf,a4 as Be,a5 as ve,a6 as If,a7 as Sf,a8 as Ye,a9 as wh,aa as bh,ab as xy,ac as wy,ad as by,ae as vy,af as Fs,ag as Ps,ah as Un,ai as nr,aj as $a,ak as yy,al as _y,am as My,an as ky,ao as jy,ap as Ti,aq as Ci,ar as Ey,as as Af,at as Df,au as Ny,av as Hs,aw as tr,ax as Jn,ay as vh,az as Ty,aA as ku,aB as Cy,aC as yh,aD as _h,aE as Mh,aF as kh,aG as Iy,aH as Sy,aI as vn,aJ as $f,aK as jh,aL as Eh,aM as Nh,aN as su,aO as Ay,aP as Dy,aQ as $y,aR as au,aS as ju,aT as ki,aU as Ry,aV as Ly,aW as Rf,aX as Oy,aY as Fy,aZ as Th,a_ as Eu,a$ as Nu,b0 as Py,b1 as Hy,b2 as Ch,b3 as zy,b4 as Ih,b5 as Uy,b6 as By,b7 as Wy}from"./settings-Ck1Hqs1x.js";import{a as Yy,u as Sh,b as Ah}from"./newsletters-CT4k07rm.js";import{C as qy,a as Gy}from"./index-CFY2MOp4.js";import{u as Dh}from"./posts-Dr3u9yOp.js";import{r as $h}from"./index-DX6vaEVx.js";import{a as Rh,b as Lh,u as Tu,c as Cu,d as Xy}from"./dropzone-BHWXAN0m.js";import{u as Xr,a as Iu,b as Ky,g as Ba}from"./tiers-B7qV_8mO.js";import{m as Zy,n as Vy}from"./lucide-react-BfVLf4Hw.js";import"./tabs-DFJzY5np.js";import"./wallet-cards-DBM65lA_.js";import"./referrers-6As_USul.js";import"./select-Dt579MbD.js";import"./loader-circle-CGDGFypO.js";import"./toggle-group-tXaaTD7P.js";import"./textarea-DikWsYMt.js";import"./index-6Ag8SK_E.js";import"./a-large-small-DzN0AB7t.js";import"./upload-Dz-DI9rQ.js";import"./at-sign-vqoOA4VZ.js";import"./copy-w3c9zkaZ.js";import"./message-square-text-BDJyLbG2.js";import"./hash-Bowe71Lt.js";import"./inbox-DS4qMjUb.js";import"./user-plus-B0tpOnLM.js";import"./minus-BM0xhFIQ.js";import"./tags-Ddg8oG2Y.js";import"./square-CWrI0H4v.js";import"./user-round-check-caJYm0bB.js";import"./repeat-D-Ki-Cg5.js";import"./reply-C4V0xZ2U.js";import"./sprout-C9DbfYGe.js";import"./trash--VS50LgS.js";const Oh=({children:t,...a})=>n.jsx("div",{className:"flex size-full flex-col px-8",...a,children:n.jsx("div",{className:"size-full overflow-hidden rounded-t-[4px] shadow-sm",children:t})}),Fh=({children:t,...a})=>n.jsx("div",{className:"flex h-[775px] w-[380px] flex-col rounded-3xl bg-white p-2 shadow-xl dark:bg-grey-900",...a,children:n.jsx("div",{className:"h-100 w-100 grow overflow-auto rounded-2xl border border-grey-100 dark:border-grey-950",children:t})}),Qy=({title:t,label:a,value:s,onChange:i,disabled:u,error:p,hint:w,checked:m,separator:x,testId:g})=>{const h=A.useId(),b=y=>{i(y===!0)};return n.jsxs("div",{children:[n.jsxs("div",{className:`flex flex-col gap-1 ${x&&"pb-2"}`,children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsxs("label",{className:`flex cursor-pointer items-start ${t&&"mt-1 -mb-1"}`,htmlFor:h,children:[n.jsx(qy,{className:"mt-0.5 flex size-4 cursor-pointer appearance-none items-center justify-center rounded-[3px] border border-solid border-grey-500 bg-white outline-hidden data-[state=checked]:border-black data-[state=checked]:bg-black data-[state=indeterminate]:border-black data-[state=indeterminate]:bg-black","data-testid":g,defaultChecked:m,disabled:u,id:h,value:s,onCheckedChange:b,children:n.jsx(Gy,{children:n.jsx("svg",{fill:"none",height:"11",viewBox:"0 0 10 11",width:"10",children:n.jsx("path",{d:"M1 5.88889L4.6 9L9 1",stroke:"white",strokeLinecap:"round",strokeWidth:"2"})})})}),n.jsxs("div",{className:`ml-2 flex flex-col ${w&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-[1.425rem] dark:text-white ${w&&"-mb-1"}`,children:a}),w&&n.jsx(zn,{color:p?"red":"",children:w})]})]})]}),(x||p)&&n.jsx(Rs,{className:p?"border-red":""})]})},ou=({title:t,checkboxes:a,hint:s,error:i})=>n.jsxs("div",{children:[t&&n.jsx(ct,{grey:!0,level:6,children:t}),n.jsx("div",{className:"mt-2 flex flex-col gap-1",children:a?.map(({key:u,...p})=>n.jsx(Qy,{...p},u))}),n.jsx("div",{className:`flex flex-col ${s&&"mb-2"}`,children:s&&n.jsx(zn,{color:i?"red":"",children:s})})]}),Jy=({hex:t,value:a,title:s,size:i="md",isSelected:u,onSelect:p})=>{const w=A.useRef(null),m=h=>{h.preventDefault(),p(a!==void 0?a:t)},x=t.length===4&&t[3]==="0"||t.length===8&&t.slice(6)==="00";let g="h-5 w-5";switch(i){case"lg":g="w-6 h-6";break}return n.jsx("button",{ref:w,className:he("relative flex shrink-0 cursor-pointer items-center rounded-full border border-grey-300 dark:border-grey-800",g,u&&"outline outline-2 outline-green"),style:{backgroundColor:t},title:s,type:"button",onClick:m,children:x&&n.jsx("div",{className:"absolute top-0 left-0 z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})},Ph=({title:t,value:a,swatches:s,swatchSize:i="md",onSwatchChange:u,onTogglePicker:p,isExpanded:w,picker:m=!0,containerClassName:x})=>{const g=s.find(b=>b.value===a||b.hex===a);x=he("flex flex-col gap-3");const h=w||!m;return n.jsxs("div",{className:x,children:[t&&n.jsx(ct,{useLabelTag:!0,children:t}),n.jsxs("div",{className:"flex gap-1",children:[h&&n.jsx("div",{className:"flex items-center gap-1",children:s.map(({customContent:b,...y})=>b?n.jsx(A.Fragment,{children:b},y.title):n.jsx(Jy,{isSelected:g?.title===y.title,size:i,onSelect:u,...y},y.title))}),m&&n.jsxs("button",{"aria-label":"Pick color",className:"relative size-6 cursor-pointer rounded-full border border-grey-250 dark:border-grey-800",type:"button",onClick:p,children:[n.jsx("div",{className:"absolute inset-0 rounded-full bg-[conic-gradient(hsl(360,100%,50%),hsl(315,100%,50%),hsl(270,100%,50%),hsl(225,100%,50%),hsl(180,100%,50%),hsl(135,100%,50%),hsl(90,100%,50%),hsl(45,100%,50%),hsl(0,100%,50%))]"}),g&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:g.hex},children:g.hex==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})}),!g&&a&&n.jsx("div",{className:"absolute inset-[3px] overflow-hidden rounded-full border border-white dark:border-grey-950",style:{backgroundColor:a},children:a==="transparent"&&n.jsx("div",{className:"absolute top-[3px] left-[3px] z-10 w-[136%] origin-left rotate-45 border-b border-b-red"})})]})]})]})};function zs(){return(zs=Object.assign||function(t){for(var a=1;a<arguments.length;a++){var s=arguments[a];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=s[i])}return t}).apply(this,arguments)}function Fi(t,a){if(t==null)return{};var s,i,u={},p=Object.keys(t);for(i=0;i<p.length;i++)a.indexOf(s=p[i])>=0||(u[s]=t[s]);return u}function Oa(t){var a=A.useRef(t),s=A.useRef(function(i){a.current&&a.current(i)});return a.current=t,s.current}var Fa=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=1),t>s?s:t<a?a:t},Ra=function(t){return"touches"in t},iu=function(t){return t&&t.ownerDocument.defaultView||self},Lf=function(t,a,s){var i=t.getBoundingClientRect(),u=Ra(a)?(function(p,w){for(var m=0;m<p.length;m++)if(p[m].identifier===w)return p[m];return p[0]})(a.touches,s):a;return{left:Fa((u.pageX-(i.left+iu(t).pageXOffset))/i.width),top:Fa((u.pageY-(i.top+iu(t).pageYOffset))/i.height)}},Of=function(t){!Ra(t)&&t.preventDefault()},Hh=Ve.memo(function(t){var a=t.onMove,s=t.onKey,i=Fi(t,["onMove","onKey"]),u=A.useRef(null),p=Oa(a),w=Oa(s),m=A.useRef(null),x=A.useRef(!1),g=A.useMemo(function(){var v=function(j){Of(j),(Ra(j)?j.touches.length>0:j.buttons>0)&&u.current?p(Lf(u.current,j,m.current)):E(!1)},C=function(){return E(!1)};function E(j){var N=x.current,D=iu(u.current),$=j?D.addEventListener:D.removeEventListener;$(N?"touchmove":"mousemove",v),$(N?"touchend":"mouseup",C)}return[function(j){var N=j.nativeEvent,D=u.current;if(D&&(Of(N),!(function(R,O){return O&&!Ra(R)})(N,x.current)&&D)){if(Ra(N)){x.current=!0;var $=N.changedTouches||[];$.length&&(m.current=$[0].identifier)}D.focus(),p(Lf(D,N,m.current)),E(!0)}},function(j){var N=j.which||j.keyCode;N<37||N>40||(j.preventDefault(),w({left:N===39?.05:N===37?-.05:0,top:N===40?.05:N===38?-.05:0}))},E]},[w,p]),h=g[0],b=g[1],y=g[2];return A.useEffect(function(){return y},[y]),Ve.createElement("div",zs({},i,{onTouchStart:h,onMouseDown:h,className:"react-colorful__interactive",ref:u,onKeyDown:b,tabIndex:0,role:"slider"}))}),Su=function(t){return t.filter(Boolean).join(" ")},zh=function(t){var a=t.color,s=t.left,i=t.top,u=i===void 0?.5:i,p=Su(["react-colorful__pointer",t.className]);return Ve.createElement("div",{className:p,style:{top:100*u+"%",left:100*s+"%"}},Ve.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:a}}))},Ot=function(t,a,s){return a===void 0&&(a=0),s===void 0&&(s=Math.pow(10,a)),Math.round(s*t)/s},e1=function(t){return a1(lu(t))},lu=function(t){return t[0]==="#"&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?Ot(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?Ot(parseInt(t.substring(6,8),16)/255,2):1}},t1=function(t){return s1(r1(t))},n1=function(t){var a=t.s,s=t.v,i=t.a,u=(200-a)*s/100;return{h:Ot(t.h),s:Ot(u>0&&u<200?a*s/100/(u<=100?u:200-u)*100:0),l:Ot(u/2),a:Ot(i,2)}},cu=function(t){var a=n1(t);return"hsl("+a.h+", "+a.s+"%, "+a.l+"%)"},r1=function(t){var a=t.h,s=t.s,i=t.v,u=t.a;a=a/360*6,s/=100,i/=100;var p=Math.floor(a),w=i*(1-s),m=i*(1-(a-p)*s),x=i*(1-(1-a+p)*s),g=p%6;return{r:Ot(255*[i,m,w,w,x,i][g]),g:Ot(255*[x,i,i,m,w,w][g]),b:Ot(255*[w,w,x,i,i,m][g]),a:Ot(u,2)}},wi=function(t){var a=t.toString(16);return a.length<2?"0"+a:a},s1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=u<1?wi(Ot(255*u)):"";return"#"+wi(a)+wi(s)+wi(i)+p},a1=function(t){var a=t.r,s=t.g,i=t.b,u=t.a,p=Math.max(a,s,i),w=p-Math.min(a,s,i),m=w?p===a?(s-i)/w:p===s?2+(i-a)/w:4+(a-s)/w:0;return{h:Ot(60*(m<0?m+6:m)),s:Ot(p?w/p*100:0),v:Ot(p/255*100),a:u}},o1=Ve.memo(function(t){var a=t.hue,s=t.onChange,i=Su(["react-colorful__hue",t.className]);return Ve.createElement("div",{className:i},Ve.createElement(Hh,{onMove:function(u){s({h:360*u.left})},onKey:function(u){s({h:Fa(a+360*u.left,0,360)})},"aria-label":"Hue","aria-valuenow":Ot(a),"aria-valuemax":"360","aria-valuemin":"0"},Ve.createElement(zh,{className:"react-colorful__hue-pointer",left:a/360,color:cu({h:a,s:100,v:100,a:1})})))}),i1=Ve.memo(function(t){var a=t.hsva,s=t.onChange,i={backgroundColor:cu({h:a.h,s:100,v:100,a:1})};return Ve.createElement("div",{className:"react-colorful__saturation",style:i},Ve.createElement(Hh,{onMove:function(u){s({s:100*u.left,v:100-100*u.top})},onKey:function(u){s({s:Fa(a.s+100*u.left,0,100),v:Fa(a.v-100*u.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Ot(a.s)+"%, Brightness "+Ot(a.v)+"%"},Ve.createElement(zh,{className:"react-colorful__saturation-pointer",top:1-a.v/100,left:a.s/100,color:cu(a)})))}),Uh=function(t,a){if(t===a)return!0;for(var s in t)if(t[s]!==a[s])return!1;return!0},l1=function(t,a){return t.toLowerCase()===a.toLowerCase()||Uh(lu(t),lu(a))};function c1(t,a,s){var i=Oa(s),u=A.useState(function(){return t.toHsva(a)}),p=u[0],w=u[1],m=A.useRef({color:a,hsva:p});A.useEffect(function(){if(!t.equal(a,m.current.color)){var g=t.toHsva(a);m.current={hsva:g,color:a},w(g)}},[a,t]),A.useEffect(function(){var g;Uh(p,m.current.hsva)||t.equal(g=t.fromHsva(p),m.current.color)||(m.current={hsva:p,color:g},i(g))},[p,t,i]);var x=A.useCallback(function(g){w(function(h){return Object.assign({},h,g)})},[]);return[p,x]}var u1=typeof window<"u"?A.useLayoutEffect:A.useEffect,d1=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},Ff=new Map,f1=function(t){u1(function(){var a=t.current?t.current.ownerDocument:document;if(a!==void 0&&!Ff.has(a)){var s=a.createElement("style");s.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,Ff.set(a,s);var i=d1();i&&s.setAttribute("nonce",i),a.head.appendChild(s)}},[])},p1=function(t){var a=t.className,s=t.colorModel,i=t.color,u=i===void 0?s.defaultColor:i,p=t.onChange,w=Fi(t,["className","colorModel","color","onChange"]),m=A.useRef(null);f1(m);var x=c1(s,u,p),g=x[0],h=x[1],b=Su(["react-colorful",a]);return Ve.createElement("div",zs({},w,{ref:m,className:b}),Ve.createElement(i1,{hsva:g,onChange:h}),Ve.createElement(o1,{hue:g.h,onChange:h,className:"react-colorful__last-control"}))},h1={defaultColor:"000",toHsva:e1,fromHsva:function(t){return t1({h:t.h,s:t.s,v:t.v,a:1})},equal:l1},m1=function(t){return Ve.createElement(p1,zs({},t,{colorModel:h1}))},g1=/^#?([0-9A-F]{3,8})$/i,x1=function(t){var a=t.color,s=a===void 0?"":a,i=t.onChange,u=t.onBlur,p=t.escape,w=t.validate,m=t.format,x=t.process,g=Fi(t,["color","onChange","onBlur","escape","validate","format","process"]),h=A.useState(function(){return p(s)}),b=h[0],y=h[1],v=Oa(i),C=Oa(u),E=A.useCallback(function(N){var D=p(N.target.value);y(D),w(D)&&v(x?x(D):D)},[p,x,w,v]),j=A.useCallback(function(N){w(N.target.value)||y(p(s)),C(N)},[s,p,w,C]);return A.useEffect(function(){y(p(s))},[s,p]),Ve.createElement("input",zs({},g,{value:m?m(b):b,spellCheck:"false",onChange:E,onBlur:j}))},Pf=function(t){return"#"+t},w1=function(t){var a=t.prefixed,s=t.alpha,i=Fi(t,["prefixed","alpha"]),u=A.useCallback(function(w){return w.replace(/([^0-9A-F]+)/gi,"").substring(0,s?8:6)},[s]),p=A.useCallback(function(w){return(function(m,x){var g=g1.exec(m),h=g?g[1].length:0;return h===3||h===6||!!x&&h===4||!!x&&h===8})(w,s)},[s]);return Ve.createElement(x1,zs({},i,{escape:u,format:a?Pf:void 0,process:Pf,validate:p}))};const b1=({hexValue:t,eyedropper:a,clearButtonValue:s,containerClassName:i,onChange:u})=>{const p=A.useRef(null),w=A.useCallback(y=>{var v,C,E;y.stopPropagation();const j=(v=p.current)==null?void 0:v.querySelector("input");y.target!==j&&((E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus(),y.preventDefault())},[]),m=A.useRef(!1),x=A.useCallback(()=>{var y,v;m.current=!1,(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus(),document.removeEventListener("mouseup",x),document.removeEventListener("touchend",x)},[]),g=A.useCallback(()=>{m.current=!0,document.addEventListener("mouseup",x),document.addEventListener("touchend",x)},[x]),h=A.useCallback(y=>{if(y.preventDefault(),!window.EyeDropper)return;m.current=!0,document.body.style.setProperty("pointer-events","none"),new window.EyeDropper().open().then(C=>u?.(C.sRGBHex)).finally(()=>{var C,E;m.current=!1,document.body.style.removeProperty("pointer-events"),(E=(C=p.current)==null?void 0:C.querySelector("input"))==null||E.focus()})},[u]);A.useEffect(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);const b=A.useCallback(()=>{var y,v;(v=(y=p.current)==null?void 0:y.querySelector("input"))==null||v.focus()},[]);return i=he("mt-2",i),n.jsxs("div",{className:i,onMouseDown:w,onTouchStart:w,children:[n.jsx(m1,{className:"w-full",color:t||"#ffffff",onChange:u,onMouseDown:g,onTouchStart:g}),n.jsxs("div",{className:"mt-3 flex gap-2",children:[n.jsxs("div",{ref:p,className:"peer relative order-2 flex h-10 w-full items-center",onClick:b,children:[n.jsx("span",{className:"absolute top-[9px] left-2 z-10 mr-2 ml-1 text-grey-700",children:"#"}),n.jsx(w1,{"aria-label":"Color value",className:"z-[1] w-full rounded-md border border-transparent bg-grey-150 p-2 pl-6 transition-all hover:bg-grey-100 focus:border-green focus:bg-white focus:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:bg-grey-900 dark:text-white dark:focus:bg-grey-925",color:t,onChange:u}),a&&!!window.EyeDropper&&n.jsx("button",{className:"absolute inset-y-0 right-3 z-50 my-auto size-4 p-[1px]",type:"button",onClick:h,children:n.jsx(kv,{className:"size-full"})})]}),s!==void 0&&n.jsx(Ie,{color:"grey",value:"Clear",onClick:()=>u?.(s)})]})]})},v1=A.createContext({colorPickers:[]}),Hf=t=>t.length===4?t.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"):t,Fn=({testId:t,title:a,direction:s,value:i,hint:u,error:p,eyedropper:w,clearButtonValue:m,onChange:x,swatches:g=[],alwaysOpen:h=!1,debounceMs:b})=>{const[y,v]=A.useState(!1),[C,E]=A.useState(i),j=A.useContext(v1),N=A.useId();A.useEffect(()=>{E(P=>Hf(P||"")===i?P:i)},[i]),A.useEffect(()=>(j.colorPickers.push({id:N,setExpanded:v}),()=>{j.colorPickers=j.colorPickers.filter(P=>P.id!==N)}),[j,N]),A.useEffect(()=>{if(y){j.colorPickers.filter(I=>I.id!==N).forEach(I=>I.setExpanded(!1));const P=()=>{v(!1)};return document.addEventListener("click",P),()=>{document.removeEventListener("click",P)}}},[j,N,y]);const D=A.useMemo(()=>x&&b?Ri(x,b):x,[b,x]),$=P=>{E(P),D?.(P?Hf(P):null)};let R=n.jsx(Ph,{isExpanded:y,swatches:g,value:C,onSwatchChange:P=>{$(P),v(!1)},onTogglePicker:()=>!h&&v(!y)});a&&(R=n.jsxs("div",{className:he("flex w-full cursor-pointer items-start first:mt-0 dark:text-white",s==="rtl"&&"flex-row-reverse"),children:[n.jsx("div",{className:"shrink-0",children:R}),n.jsxs("div",{className:he("flex-1",s==="rtl"?"pr-2":"pl-2",u?"mt-[-2px]":"mt-[1px]"),onClick:()=>!h&&v(!y),children:[a,u&&n.jsx("div",{className:`text-xs ${p?"text-red":"text-grey-700"}`,children:u})]})]}));const O=g.find(P=>P.value===C);return n.jsxs("div",{className:"flex-col","data-testid":t,onClick:P=>P.stopPropagation(),children:[R,(h||y)&&n.jsx(b1,{clearButtonValue:m,eyedropper:w,hexValue:O?.hex||C||void 0,onChange:$})]})},y1=({value:t,onChange:a,singleParagraph:s=!0,...i})=>{const u=A.useCallback(p=>{const m=new DOMParser().parseFromString(p,"text/html");m.querySelectorAll("*").forEach(g=>{g.style.removeProperty("white-space"),g.getAttribute("style")||g.removeAttribute("style")}),m.body.innerHTML!==t&&a?.(m.body.innerHTML)},[t,a]);return n.jsx(dy,{...i,singleParagraph:s,children:p=>n.jsx(p.HtmlOutputPlugin,{html:t,setHtml:u})})},Au=({title:t,hideTitle:a,error:s,hint:i,value:u,clearBg:p=!1,className:w="",containerClassName:m="",hintClassName:x="",unstyled:g=!1,...h})=>{const b=g?"":he("flex min-h-[32px] items-center rounded-md border border-transparent py-1.5 md:min-h-[36px]",p?"bg-transparent":"bg-grey-150 px-3 dark:bg-grey-900",s?"border-red":"transition-all hover:bg-grey-100 has-[:focus]:border-green has-[:focus]:bg-white has-[:focus]:shadow-[0_0_0_1px_rgba(48,207,67,1)] dark:selection:bg-[rgba(88,101,116,0.99)] dark:hover:bg-grey-925 dark:has-[:focus]:bg-grey-950",t&&!a&&!p&&"mt-2",w);return n.jsxs("div",{className:`flex flex-col ${m}`,children:[t&&n.jsx(ct,{className:a?"sr-only":"",grey:!0,useLabelTag:!0,children:t}),n.jsx("div",{className:b,children:n.jsx(y1,{...h,value:u})}),i&&n.jsx(zn,{className:x,color:s?"red":"",children:i})]})};var Du="Radio",[_1,Bh]=dh(Du),[M1,k1]=_1(Du),Wh=A.forwardRef((t,a)=>{const{__scopeRadio:s,name:i,checked:u=!1,required:p,disabled:w,value:m="on",onCheck:x,form:g,...h}=t,[b,y]=A.useState(null),v=yu(a,j=>y(j)),C=A.useRef(!1),E=b?g||!!b.closest("form"):!0;return n.jsxs(M1,{scope:s,checked:u,disabled:w,children:[n.jsx($i.button,{type:"button",role:"radio","aria-checked":u,"data-state":Xh(u),"data-disabled":w?"":void 0,disabled:w,value:m,...h,ref:v,onClick:tu(t.onClick,j=>{u||x?.(),E&&(C.current=j.isPropagationStopped(),C.current||j.stopPropagation())})}),E&&n.jsx(Gh,{control:b,bubbles:!C.current,name:i,value:m,checked:u,required:p,disabled:w,form:g,style:{transform:"translateX(-100%)"}})]})});Wh.displayName=Du;var Yh="RadioIndicator",qh=A.forwardRef((t,a)=>{const{__scopeRadio:s,forceMount:i,...u}=t,p=k1(Yh,s);return n.jsx(Cv,{present:i||p.checked,children:n.jsx($i.span,{"data-state":Xh(p.checked),"data-disabled":p.disabled?"":void 0,...u,ref:a})})});qh.displayName=Yh;var j1="RadioBubbleInput",Gh=A.forwardRef(({__scopeRadio:t,control:a,checked:s,bubbles:i=!0,...u},p)=>{const w=A.useRef(null),m=yu(w,p),x=Iv(s),g=Sv(a);return A.useEffect(()=>{const h=w.current;if(!h)return;const b=window.HTMLInputElement.prototype,v=Object.getOwnPropertyDescriptor(b,"checked").set;if(x!==s&&v){const C=new Event("click",{bubbles:i});v.call(h,s),h.dispatchEvent(C)}},[x,s,i]),n.jsx($i.input,{type:"radio","aria-hidden":!0,defaultChecked:s,...u,tabIndex:-1,ref:m,style:{...u.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Gh.displayName=j1;function Xh(t){return t?"checked":"unchecked"}var E1=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],Pi="RadioGroup",[N1]=dh(Pi,[uh,Bh]),Kh=uh(),Zh=Bh(),[T1,C1]=N1(Pi),Vh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,name:i,defaultValue:u,value:p,required:w=!1,disabled:m=!1,orientation:x,dir:g,loop:h=!0,onValueChange:b,...y}=t,v=Kh(s),C=jv(g),[E,j]=Ev({prop:p,defaultProp:u??null,onChange:b,caller:Pi});return n.jsx(T1,{scope:s,name:i,required:w,disabled:m,value:E,onValueChange:j,children:n.jsx(Nv,{asChild:!0,...v,orientation:x,dir:C,loop:h,children:n.jsx($i.div,{role:"radiogroup","aria-required":w,"aria-orientation":x,"data-disabled":m?"":void 0,dir:C,...y,ref:a})})})});Vh.displayName=Pi;var Qh="RadioGroupItem",Jh=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,disabled:i,...u}=t,p=C1(Qh,s),w=p.disabled||i,m=Kh(s),x=Zh(s),g=A.useRef(null),h=yu(a,g),b=p.value===u.value,y=A.useRef(!1);return A.useEffect(()=>{const v=E=>{E1.includes(E.key)&&(y.current=!0)},C=()=>y.current=!1;return document.addEventListener("keydown",v),document.addEventListener("keyup",C),()=>{document.removeEventListener("keydown",v),document.removeEventListener("keyup",C)}},[]),n.jsx(Tv,{asChild:!0,...m,focusable:!w,active:b,children:n.jsx(Wh,{disabled:w,required:p.required,checked:b,...x,...u,name:p.name,ref:h,onCheck:()=>p.onValueChange(u.value),onKeyDown:tu(v=>{v.key==="Enter"&&v.preventDefault()}),onFocus:tu(u.onFocus,()=>{y.current&&g.current?.click()})})})});Jh.displayName=Qh;var I1="RadioGroupIndicator",em=A.forwardRef((t,a)=>{const{__scopeRadioGroup:s,...i}=t,u=Zh(s);return n.jsx(qh,{...u,...i,ref:a})});em.displayName=I1;var S1=Vh,A1=Jh,D1=em;const $1=({id:t,title:a,options:s,onSelect:i,error:u,hint:p,selectedOption:w,separator:m})=>n.jsxs(S1,{defaultValue:w,name:t,onValueChange:i,children:[n.jsxs("div",{className:`flex flex-col gap-2 ${m&&"pb-2"}`,children:[a&&n.jsx(ct,{level:6,children:a}),s.map(x=>n.jsxs("label",{className:`flex cursor-pointer items-start ${a&&"mt-1 -mb-1"}`,htmlFor:x.value,children:[n.jsx(A1,{className:"relative float-left mt-[3px] size-4 min-w-[16px] appearance-none rounded-full border-2 border-solid border-grey-300 hover:cursor-pointer focus:shadow-none focus:ring-0 focus:outline-hidden data-[state=checked]:border-green data-[state=checked]:focus:border-green dark:border-grey-800 dark:text-white dark:data-[state=checked]:border-green dark:data-[state=checked]:focus:border-green",id:x.value,value:x.value,children:n.jsx(D1,{className:"flex size-full items-center justify-center after:block after:size-[6px] after:rounded-full after:border-green after:bg-green after:content-[''] dark:after:border-green dark:after:bg-green"})}),n.jsxs("div",{className:`ml-2 flex flex-col ${x.hint&&"mb-2"}`,children:[n.jsx("span",{className:`inline-block text-md dark:text-white ${x.hint&&"-mb-1"}`,children:x.label}),x.hint&&n.jsx(zn,{children:x.hint})]})]},x.value)),p&&n.jsx(zn,{color:u?"red":"",children:p})]}),(m||u)&&n.jsx(Rs,{className:u?"border-red":""})]}),Ii=({children:t,gap:a="md",className:s})=>{let i="gap-3";switch(a){case"sm":i="gap-2";break;case"md":i="gap-3";break;case"lg":i="gap-4";break}return s=he("flex flex-col",i,s),n.jsx("div",{className:s,children:t})},$u=({heading:t,children:a,className:s})=>(s=he("w-full p-[8vmin] pt-5",s),n.jsxs("div",{className:s,children:[t&&n.jsx(ct,{className:"mb-8",children:t}),a]})),Ru=({items:t,backIcon:a=!1,snapBackIcon:s=!0,onBack:i,containerClassName:u,itemClassName:p,activeItemClassName:w,separatorClassName:m})=>{const x=t.length;let g=0;return u=he("flex items-center gap-2 text-sm",u),w=he("font-bold",w),p=he("text-sm",p),n.jsxs("div",{className:u,children:[a&&n.jsx(Ie,{className:s?"mr-1":"mr-6",icon:"arrow-left",iconColorClass:"dark:text-white",size:"sm",link:!0,onClick:i}),t.map(h=>{const b=g===x-1?n.jsx("span",{className:w,children:h.label}):n.jsxs(n.Fragment,{children:[n.jsx("button",{className:`${p} ${h.onClick&&"-mx-1 cursor-pointer rounded-sm px-1 py-px hover:bg-grey-100 dark:hover:bg-grey-900"}`,type:"button",onClick:h.onClick,children:h.label},`bc-${g}`),n.jsx("span",{className:m,children:"/"})]});return g=g+1,b})]})},Kr=({testId:t,title:a,titleHeadingLevel:s=4,size:i="full",width:u,height:p,sidebar:w="",preview:m,dirty:x=!1,cancelLabel:g="Cancel",okLabel:h="OK",okColor:b="black",previewToolbar:y=!0,leftToolbar:v=!0,rightToolbar:C=!0,deviceSelector:E=!0,siteLink:j,previewToolbarURLs:N,previewBgColor:D="grey",selectedURL:$,previewToolbarTabs:R,previewToolbarBreadcrumbs:O,buttonsDisabled:P,sidebarButtons:I,sidebarHeader:U,sidebarPadding:Y=!0,sidebarContentClasses:W,enableCMDS:B=!0,backDropClick:ie,onCancel:ge,onOk:Me,afterClose:K,onSelectURL:ee,onSelectDesktopView:ke,onSelectMobileView:ue,onBreadcrumbsBack:ye})=>{const J=Ft(),{setGlobalDirtyState:de}=fy();A.useEffect(()=>{de(x)},[x,de]),A.useEffect(()=>{if(Me){const be=Le=>{(Le.metaKey||Le.ctrlKey)&&Le.key==="s"&&(Le.preventDefault(),Me())};if(B)return window.addEventListener("keydown",be),()=>{window.removeEventListener("keydown",be)}}});const[fe,ce]=A.useState("desktop");if(fe==="mobile"&&E?m=n.jsx(Fh,{"data-testid":"preview-mobile",children:m}):fe==="desktop"&&E&&(m=n.jsx(Oh,{"data-testid":"preview-desktop",children:m})),y){let be=n.jsx(n.Fragment,{});N?be=n.jsx(kt,{options:N,selectedOption:N.find(st=>st.value===$),onSelect:st=>st&&ee?.(st.value)}):R?be=n.jsx(Nr,{border:!1,selectedTab:$,tabs:R,width:"wide",onTabChange:ee}):O&&(be=n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:O,separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:ye}));const Le="text-black dark:text-green",it="text-grey-500 dark:text-grey-600",wt=[{icon:"laptop",label:"Desktop",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="desktop"?Le:it,onClick:ke||(()=>{ce("desktop")})},{icon:"mobile",label:"Mobile",hideLabel:!0,link:!0,size:"sm",iconColorClass:fe==="mobile"?Le:it,onClick:ue||(()=>{ce("mobile")})}],Pt=E&&n.jsx(Pn,{buttons:wt});let re="";D==="grey"?re="bg-grey-50 dark:bg-black":D==="greygradient"&&(re="bg-gradient-to-tr from-white to-[#f9f9fa] dark:from-grey-950 dark:to-black");const Ze=he("absolute inset-y-0 right-[400px] left-0 flex w-full min-w-100 grow flex-col overflow-y-auto",re);let Ht;j&&(Ht=n.jsx("div",{className:"ml-3 border-l border-grey-400 dark:border-grey-800",children:n.jsxs("a",{className:"ml-3 flex items-center gap-1 text-sm",href:j,rel:"noopener noreferrer",target:"_blank",children:["View site ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]})})),m=n.jsxs("div",{className:Ze,children:[y&&n.jsxs("header",{className:"relative flex h-[80px] shrink-0 items-center justify-center px-8 py-5","data-testid":"design-toolbar",children:[v&&n.jsx("div",{className:"absolute left-8 flex h-full items-center",children:be}),C&&n.jsxs("div",{className:"absolute right-8 flex h-full items-center",children:[Pt,Ht]})]}),n.jsx("div",{className:"flex grow items-center justify-center text-sm text-grey-400",children:m})]})}const V=[];return I||(V.push({key:"cancel-modal",label:g,onClick:ge||(()=>{py(x,()=>{J.remove(),K?.()})}),disabled:P}),V.push({key:"ok-modal",label:h,color:b,onClick:Me,disabled:P})),n.jsx(ut,{afterClose:K,animate:!1,backDropClick:ie,dirty:x,footer:!1,height:p,padding:!1,size:i,testId:t,title:"",width:u,hideXOnMobile:!0,children:n.jsxs("div",{className:"flex h-full grow",children:[n.jsx("div",{className:`relative hidden grow flex-col [@media(min-width:801px)]:!visible [@media(min-width:801px)]:!flex ${D==="grey"?"bg-grey-50":"bg-white dark:bg-black"}`,children:m}),w&&n.jsxs("div",{className:"relative flex size-full flex-col border-l border-grey-100 dark:border-grey-900 [@media(min-width:801px)]:w-auto [@media(min-width:801px)]:basis-[400px]",children:[U||n.jsxs("div",{className:"flex max-h-[82px] items-center justify-between gap-3 px-7 py-6",children:[n.jsx(ct,{level:s,children:a}),I||n.jsx(Pn,{buttons:V})]}),n.jsx("div",{className:`${U?"":"absolute inset-x-0 top-[80px] bottom-0 grow"} ${Y&&"p-7 pt-0"} flex flex-col justify-between overflow-y-auto ${W&&W}`,children:w})]})]})})},R1=({offset:t,onTrigger:a})=>{const s=A.useRef(null);return A.useEffect(()=>{const i=new IntersectionObserver(u=>{u[0].intersectionRatio<=0||a()});return s.current&&i.observe(s.current),()=>i.disconnect()},[a]),n.jsx("div",{ref:s,className:"absolute w-full",style:{bottom:t}})},Lu=({trigger:t,children:a,position:s="start",side:i="bottom",closeOnItemClick:u,open:p,setOpen:w})=>{const[m,x]=A.useState(!1),g=p!==void 0?p:m,h=w||x,b=()=>{u&&h(!1)};return n.jsxs(Av,{open:g,onOpenChange:h,children:[n.jsx(Dv,{asChild:!0,children:n.jsx($v,{asChild:!0,onClick:y=>y.stopPropagation(),children:t})}),n.jsx(Rv,{align:s,className:"z-[9999] origin-top-right rounded bg-white shadow-md ring-1 ring-[rgba(0,0,0,0.01)] focus:outline-hidden dark:bg-grey-900 dark:text-white","data-testid":"popover-content",side:i,sideOffset:8,onClick:b,children:a})]})},tm=({trigger:t,triggerButtonProps:a,items:s,position:i="start",open:u,setOpen:p})=>(t||(t=n.jsx(Ie,{icon:"ellipsis",label:"Menu",hideLabel:!0,...a})),n.jsx(Lu,{open:u,position:i,setOpen:p,trigger:t,closeOnItemClick:!0,children:n.jsx("div",{className:"flex min-w-[160px] flex-col justify-stretch py-1",role:"none",children:s.map(w=>n.jsx("button",{className:`mx-1 block cursor-pointer rounded-[2.5px] px-4 py-1.5 text-left text-sm hover:bg-grey-100 dark:hover:bg-grey-925 ${w.destructive&&" text-red-500"}`,type:"button",onClick:m=>{w.onClick&&w.onClick(m)},children:w.label},w.id))})}));var nm=typeof global=="object"&&global&&global.Object===Object&&global,L1=typeof self=="object"&&self&&self.Object===Object&&self,rr=nm||L1||Function("return this")(),Ls=rr.Symbol,rm=Object.prototype,O1=rm.hasOwnProperty,F1=rm.toString,Aa=Ls?Ls.toStringTag:void 0;function P1(t){var a=O1.call(t,Aa),s=t[Aa];try{t[Aa]=void 0;var i=!0}catch{}var u=F1.call(t);return i&&(a?t[Aa]=s:delete t[Aa]),u}var H1=Object.prototype,z1=H1.toString;function U1(t){return z1.call(t)}var B1="[object Null]",W1="[object Undefined]",zf=Ls?Ls.toStringTag:void 0;function Wa(t){return t==null?t===void 0?W1:B1:zf&&zf in Object(t)?P1(t):U1(t)}function Pa(t){return t!=null&&typeof t=="object"}var Si=Array.isArray;function sm(t){var a=typeof t;return t!=null&&(a=="object"||a=="function")}var Y1="[object AsyncFunction]",q1="[object Function]",G1="[object GeneratorFunction]",X1="[object Proxy]";function am(t){if(!sm(t))return!1;var a=Wa(t);return a==q1||a==G1||a==Y1||a==X1}var $c=rr["__core-js_shared__"],Uf=(function(){var t=/[^.]+$/.exec($c&&$c.keys&&$c.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function K1(t){return!!Uf&&Uf in t}var Z1=Function.prototype,V1=Z1.toString;function Zr(t){if(t!=null){try{return V1.call(t)}catch{}try{return t+""}catch{}}return""}var Q1=/[\\^$.*+?()[\]{}|]/g,J1=/^\[object .+?Constructor\]$/,e_=Function.prototype,t_=Object.prototype,n_=e_.toString,r_=t_.hasOwnProperty,s_=RegExp("^"+n_.call(r_).replace(Q1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function a_(t){if(!sm(t)||K1(t))return!1;var a=am(t)?s_:J1;return a.test(Zr(t))}function o_(t,a){return t?.[a]}function Us(t,a){var s=o_(t,a);return a_(s)?s:void 0}var uu=Us(rr,"WeakMap"),i_=9007199254740991,l_=/^(?:0|[1-9]\d*)$/;function c_(t,a){var s=typeof t;return a=a??i_,!!a&&(s=="number"||s!="symbol"&&l_.test(t))&&t>-1&&t%1==0&&t<a}function om(t,a){return t===a||t!==t&&a!==a}var u_=9007199254740991;function im(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=u_}function d_(t){return t!=null&&im(t.length)&&!am(t)}var f_=Object.prototype;function p_(t){var a=t&&t.constructor,s=typeof a=="function"&&a.prototype||f_;return t===s}function h_(t,a){for(var s=-1,i=Array(t);++s<t;)i[s]=a(s);return i}var m_="[object Arguments]";function Bf(t){return Pa(t)&&Wa(t)==m_}var lm=Object.prototype,g_=lm.hasOwnProperty,x_=lm.propertyIsEnumerable,w_=Bf((function(){return arguments})())?Bf:function(t){return Pa(t)&&g_.call(t,"callee")&&!x_.call(t,"callee")};function b_(){return!1}var cm=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Wf=cm&&typeof module=="object"&&module&&!module.nodeType&&module,v_=Wf&&Wf.exports===cm,Yf=v_?rr.Buffer:void 0,y_=Yf?Yf.isBuffer:void 0,du=y_||b_,__="[object Arguments]",M_="[object Array]",k_="[object Boolean]",j_="[object Date]",E_="[object Error]",N_="[object Function]",T_="[object Map]",C_="[object Number]",I_="[object Object]",S_="[object RegExp]",A_="[object Set]",D_="[object String]",$_="[object WeakMap]",R_="[object ArrayBuffer]",L_="[object DataView]",O_="[object Float32Array]",F_="[object Float64Array]",P_="[object Int8Array]",H_="[object Int16Array]",z_="[object Int32Array]",U_="[object Uint8Array]",B_="[object Uint8ClampedArray]",W_="[object Uint16Array]",Y_="[object Uint32Array]",dt={};dt[O_]=dt[F_]=dt[P_]=dt[H_]=dt[z_]=dt[U_]=dt[B_]=dt[W_]=dt[Y_]=!0;dt[__]=dt[M_]=dt[R_]=dt[k_]=dt[L_]=dt[j_]=dt[E_]=dt[N_]=dt[T_]=dt[C_]=dt[I_]=dt[S_]=dt[A_]=dt[D_]=dt[$_]=!1;function q_(t){return Pa(t)&&im(t.length)&&!!dt[Wa(t)]}function G_(t){return function(a){return t(a)}}var um=typeof exports=="object"&&exports&&!exports.nodeType&&exports,La=um&&typeof module=="object"&&module&&!module.nodeType&&module,X_=La&&La.exports===um,Rc=X_&&nm.process,qf=(function(){try{var t=La&&La.require&&La.require("util").types;return t||Rc&&Rc.binding&&Rc.binding("util")}catch{}})(),Gf=qf&&qf.isTypedArray,dm=Gf?G_(Gf):q_,K_=Object.prototype,Z_=K_.hasOwnProperty;function V_(t,a){var s=Si(t),i=!s&&w_(t),u=!s&&!i&&du(t),p=!s&&!i&&!u&&dm(t),w=s||i||u||p,m=w?h_(t.length,String):[],x=m.length;for(var g in t)Z_.call(t,g)&&!(w&&(g=="length"||u&&(g=="offset"||g=="parent")||p&&(g=="buffer"||g=="byteLength"||g=="byteOffset")||c_(g,x)))&&m.push(g);return m}function Q_(t,a){return function(s){return t(a(s))}}var J_=Q_(Object.keys,Object),e3=Object.prototype,t3=e3.hasOwnProperty;function n3(t){if(!p_(t))return J_(t);var a=[];for(var s in Object(t))t3.call(t,s)&&s!="constructor"&&a.push(s);return a}function r3(t){return d_(t)?V_(t):n3(t)}var Ha=Us(Object,"create");function s3(){this.__data__=Ha?Ha(null):{},this.size=0}function a3(t){var a=this.has(t)&&delete this.__data__[t];return this.size-=a?1:0,a}var o3="__lodash_hash_undefined__",i3=Object.prototype,l3=i3.hasOwnProperty;function c3(t){var a=this.__data__;if(Ha){var s=a[t];return s===o3?void 0:s}return l3.call(a,t)?a[t]:void 0}var u3=Object.prototype,d3=u3.hasOwnProperty;function f3(t){var a=this.__data__;return Ha?a[t]!==void 0:d3.call(a,t)}var p3="__lodash_hash_undefined__";function h3(t,a){var s=this.__data__;return this.size+=this.has(t)?0:1,s[t]=Ha&&a===void 0?p3:a,this}function Yr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Yr.prototype.clear=s3;Yr.prototype.delete=a3;Yr.prototype.get=c3;Yr.prototype.has=f3;Yr.prototype.set=h3;function m3(){this.__data__=[],this.size=0}function Hi(t,a){for(var s=t.length;s--;)if(om(t[s][0],a))return s;return-1}var g3=Array.prototype,x3=g3.splice;function w3(t){var a=this.__data__,s=Hi(a,t);if(s<0)return!1;var i=a.length-1;return s==i?a.pop():x3.call(a,s,1),--this.size,!0}function b3(t){var a=this.__data__,s=Hi(a,t);return s<0?void 0:a[s][1]}function v3(t){return Hi(this.__data__,t)>-1}function y3(t,a){var s=this.__data__,i=Hi(s,t);return i<0?(++this.size,s.push([t,a])):s[i][1]=a,this}function sr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}sr.prototype.clear=m3;sr.prototype.delete=w3;sr.prototype.get=b3;sr.prototype.has=v3;sr.prototype.set=y3;var za=Us(rr,"Map");function _3(){this.size=0,this.__data__={hash:new Yr,map:new(za||sr),string:new Yr}}function M3(t){var a=typeof t;return a=="string"||a=="number"||a=="symbol"||a=="boolean"?t!=="__proto__":t===null}function zi(t,a){var s=t.__data__;return M3(a)?s[typeof a=="string"?"string":"hash"]:s.map}function k3(t){var a=zi(this,t).delete(t);return this.size-=a?1:0,a}function j3(t){return zi(this,t).get(t)}function E3(t){return zi(this,t).has(t)}function N3(t,a){var s=zi(this,t),i=s.size;return s.set(t,a),this.size+=s.size==i?0:1,this}function Vr(t){var a=-1,s=t==null?0:t.length;for(this.clear();++a<s;){var i=t[a];this.set(i[0],i[1])}}Vr.prototype.clear=_3;Vr.prototype.delete=k3;Vr.prototype.get=j3;Vr.prototype.has=E3;Vr.prototype.set=N3;function T3(t,a){for(var s=-1,i=a.length,u=t.length;++s<i;)t[u+s]=a[s];return t}function C3(){this.__data__=new sr,this.size=0}function I3(t){var a=this.__data__,s=a.delete(t);return this.size=a.size,s}function S3(t){return this.__data__.get(t)}function A3(t){return this.__data__.has(t)}var D3=200;function $3(t,a){var s=this.__data__;if(s instanceof sr){var i=s.__data__;if(!za||i.length<D3-1)return i.push([t,a]),this.size=++s.size,this;s=this.__data__=new Vr(i)}return s.set(t,a),this.size=s.size,this}function jr(t){var a=this.__data__=new sr(t);this.size=a.size}jr.prototype.clear=C3;jr.prototype.delete=I3;jr.prototype.get=S3;jr.prototype.has=A3;jr.prototype.set=$3;function R3(t,a){for(var s=-1,i=t==null?0:t.length,u=0,p=[];++s<i;){var w=t[s];a(w,s,t)&&(p[u++]=w)}return p}function L3(){return[]}var O3=Object.prototype,F3=O3.propertyIsEnumerable,Xf=Object.getOwnPropertySymbols,P3=Xf?function(t){return t==null?[]:(t=Object(t),R3(Xf(t),function(a){return F3.call(t,a)}))}:L3;function H3(t,a,s){var i=a(t);return Si(t)?i:T3(i,s(t))}function Kf(t){return H3(t,r3,P3)}var fu=Us(rr,"DataView"),pu=Us(rr,"Promise"),hu=Us(rr,"Set"),Zf="[object Map]",z3="[object Object]",Vf="[object Promise]",Qf="[object Set]",Jf="[object WeakMap]",ep="[object DataView]",U3=Zr(fu),B3=Zr(za),W3=Zr(pu),Y3=Zr(hu),q3=Zr(uu),kr=Wa;(fu&&kr(new fu(new ArrayBuffer(1)))!=ep||za&&kr(new za)!=Zf||pu&&kr(pu.resolve())!=Vf||hu&&kr(new hu)!=Qf||uu&&kr(new uu)!=Jf)&&(kr=function(t){var a=Wa(t),s=a==z3?t.constructor:void 0,i=s?Zr(s):"";if(i)switch(i){case U3:return ep;case B3:return Zf;case W3:return Vf;case Y3:return Qf;case q3:return Jf}return a});var tp=rr.Uint8Array,G3="__lodash_hash_undefined__";function X3(t){return this.__data__.set(t,G3),this}function K3(t){return this.__data__.has(t)}function Ai(t){var a=-1,s=t==null?0:t.length;for(this.__data__=new Vr;++a<s;)this.add(t[a])}Ai.prototype.add=Ai.prototype.push=X3;Ai.prototype.has=K3;function Z3(t,a){for(var s=-1,i=t==null?0:t.length;++s<i;)if(a(t[s],s,t))return!0;return!1}function V3(t,a){return t.has(a)}var Q3=1,J3=2;function fm(t,a,s,i,u,p){var w=s&Q3,m=t.length,x=a.length;if(m!=x&&!(w&&x>m))return!1;var g=p.get(t),h=p.get(a);if(g&&h)return g==a&&h==t;var b=-1,y=!0,v=s&J3?new Ai:void 0;for(p.set(t,a),p.set(a,t);++b<m;){var C=t[b],E=a[b];if(i)var j=w?i(E,C,b,a,t,p):i(C,E,b,t,a,p);if(j!==void 0){if(j)continue;y=!1;break}if(v){if(!Z3(a,function(N,D){if(!V3(v,D)&&(C===N||u(C,N,s,i,p)))return v.push(D)})){y=!1;break}}else if(!(C===E||u(C,E,s,i,p))){y=!1;break}}return p.delete(t),p.delete(a),y}function eM(t){var a=-1,s=Array(t.size);return t.forEach(function(i,u){s[++a]=[u,i]}),s}function tM(t){var a=-1,s=Array(t.size);return t.forEach(function(i){s[++a]=i}),s}var nM=1,rM=2,sM="[object Boolean]",aM="[object Date]",oM="[object Error]",iM="[object Map]",lM="[object Number]",cM="[object RegExp]",uM="[object Set]",dM="[object String]",fM="[object Symbol]",pM="[object ArrayBuffer]",hM="[object DataView]",np=Ls?Ls.prototype:void 0,Lc=np?np.valueOf:void 0;function mM(t,a,s,i,u,p,w){switch(s){case hM:if(t.byteLength!=a.byteLength||t.byteOffset!=a.byteOffset)return!1;t=t.buffer,a=a.buffer;case pM:return!(t.byteLength!=a.byteLength||!p(new tp(t),new tp(a)));case sM:case aM:case lM:return om(+t,+a);case oM:return t.name==a.name&&t.message==a.message;case cM:case dM:return t==a+"";case iM:var m=eM;case uM:var x=i&nM;if(m||(m=tM),t.size!=a.size&&!x)return!1;var g=w.get(t);if(g)return g==a;i|=rM,w.set(t,a);var h=fm(m(t),m(a),i,u,p,w);return w.delete(t),h;case fM:if(Lc)return Lc.call(t)==Lc.call(a)}return!1}var gM=1,xM=Object.prototype,wM=xM.hasOwnProperty;function bM(t,a,s,i,u,p){var w=s&gM,m=Kf(t),x=m.length,g=Kf(a),h=g.length;if(x!=h&&!w)return!1;for(var b=x;b--;){var y=m[b];if(!(w?y in a:wM.call(a,y)))return!1}var v=p.get(t),C=p.get(a);if(v&&C)return v==a&&C==t;var E=!0;p.set(t,a),p.set(a,t);for(var j=w;++b<x;){y=m[b];var N=t[y],D=a[y];if(i)var $=w?i(D,N,y,a,t,p):i(N,D,y,t,a,p);if(!($===void 0?N===D||u(N,D,s,i,p):$)){E=!1;break}j||(j=y=="constructor")}if(E&&!j){var R=t.constructor,O=a.constructor;R!=O&&"constructor"in t&&"constructor"in a&&!(typeof R=="function"&&R instanceof R&&typeof O=="function"&&O instanceof O)&&(E=!1)}return p.delete(t),p.delete(a),E}var vM=1,rp="[object Arguments]",sp="[object Array]",bi="[object Object]",yM=Object.prototype,ap=yM.hasOwnProperty;function _M(t,a,s,i,u,p){var w=Si(t),m=Si(a),x=w?sp:kr(t),g=m?sp:kr(a);x=x==rp?bi:x,g=g==rp?bi:g;var h=x==bi,b=g==bi,y=x==g;if(y&&du(t)){if(!du(a))return!1;w=!0,h=!1}if(y&&!h)return p||(p=new jr),w||dm(t)?fm(t,a,s,i,u,p):mM(t,a,x,s,i,u,p);if(!(s&vM)){var v=h&&ap.call(t,"__wrapped__"),C=b&&ap.call(a,"__wrapped__");if(v||C){var E=v?t.value():t,j=C?a.value():a;return p||(p=new jr),u(E,j,s,i,p)}}return y?(p||(p=new jr),bM(t,a,s,i,u,p)):!1}function pm(t,a,s,i,u){return t===a?!0:t==null||a==null||!Pa(t)&&!Pa(a)?t!==t&&a!==a:_M(t,a,s,i,pm,u)}function MM(t,a){return pm(t,a)}const op=({className:t,children:a,colSpan:s,sticky:i=!1,...u})=>{const p=he("py-2! pr-6! pl-0! text-left align-top",i&&"sticky top-0 bg-white",u.onClick&&"hover:cursor-pointer",t);return n.jsx("th",{className:p,colSpan:s,...u,children:n.jsx(ct,{className:"whitespace-nowrap",level:6,children:a})})},hm=({left:t,center:a,right:s,sticky:i=!0,containerClassName:u,children:p})=>{const w=he("z-50 h-22 min-h-[92px] p-8",!p&&"flex items-center justify-between gap-3",i&&"sticky top-0",u);if(!p){if(t){const m=he("flex flex-auto items-center",s&&a&&"basis-1/3",!s&&a&&"basis-1/2");t=n.jsx("div",{className:m,children:t})}if(a){const m=he("flex flex-auto items-center justify-center",t&&s&&"basis-1/3",(t&&!s||!t&&s)&&"basis-1/2");a=n.jsx("div",{className:m,children:a})}if(s){const m=he("flex flex-auto items-center justify-end",t&&a&&"basis-1/3",!t&&a&&"basis-1/2");s=n.jsx("div",{className:m,children:s})}}return n.jsx("div",{className:w,children:p||n.jsxs(n.Fragment,{children:[t,a,s]})})},mm=({items:t,setItems:a,blank:s,canAddNewItem:i})=>{const[u,p]=A.useState(t.map((y,v)=>({item:y,id:v.toString()}))),[w,m]=A.useState(s);return A.useEffect(()=>{const y=u.map(({item:v})=>v);i(w)&&y.push(w),MM(JSON.parse(JSON.stringify(y)),JSON.parse(JSON.stringify(t)))||a(y)},[u,w,t,a,i]),{items:u,updateItem:(y,v)=>{const C=u.map(E=>E.id===y?{...E,item:v}:E);p(C),a(C.map(E=>E.item))},addItem:()=>{if(i(w)){const y=u.reduce((C,E)=>Math.max(C,parseInt(E.id)),0),v=u.concat({item:w,id:(y+1).toString()});p(v),a(v.map(C=>C.item)),m(s)}},removeItem:y=>{const v=u.filter(C=>C.id!==y);p(v),a(v.map(C=>C.item))},moveItem:(y,v)=>{if(y!==v){const C=u.findIndex(N=>N.id===y),E=v?u.findIndex(N=>N.id===v):0,j=hy(u,C,E);p(j),a(j.map(N=>N.item))}},newItem:w,setNewItem:m}},kM=({label:t,text:a="",hint:s,onRegenerate:i})=>{const[u,p]=A.useState(!1),w=()=>{navigator.clipboard.writeText(a),p(!0),setTimeout(()=>p(!1),2e3)},m=he("group/api-keys relative -mt-1 mb-1 w-full overflow-hidden border-b border-transparent py-2 hover:border-grey-300 dark:hover:border-grey-600");return n.jsxs("div",{className:"mb-3 grid grid-cols-1",children:[t&&n.jsx(ct,{level:6,grey:!0,children:t}),n.jsxs("div",{className:m,children:[n.jsx("span",{children:a}),s,n.jsxs("div",{className:"visible absolute top-1/2 right-0 flex translate-y-[-50%] gap-1 bg-white pl-1 text-sm group-hover/api-keys:visible md:invisible dark:bg-black",children:[i&&n.jsx(Ie,{color:"outline",label:"Regenerate",size:"sm",onClick:i}),n.jsx(Ie,{color:"outline",label:u?"Copied":"Copy",size:"sm",onClick:w})]})]})]})},Ya=({keys:t})=>n.jsx("div",{"data-testid":"api-keys",children:t.map(a=>n.jsx(kM,{...a},a.label))}),Qr=({icon:t,title:a,detail:s,extra:i})=>n.jsxs("div",{className:"-mx-8 -mt-8 flex flex-col gap-4 bg-grey-75 p-8 md:flex-row dark:bg-grey-950",children:[n.jsx("div",{className:"size-14",children:t}),n.jsxs("div",{className:"mt-1.5 flex min-w-0 flex-1 flex-col",children:[n.jsx("h3",{children:a}),n.jsx("div",{children:s}),i&&n.jsx("div",{className:"mt-4",children:i})]})]}),jM=""+new URL("zapier-logo-D8a11oW_.svg",import.meta.url).href,Ou=qr({method:"POST",path:({integrationId:t,apiKeyId:a})=>`/integrations/${t}/api_key/${a}/refresh/`,body:({integrationId:t})=>({integrations:[{id:t}]}),updateQueries:{emberUpdateType:"createOrUpdate",dataType:Li,update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>t.integrations.find(({id:u})=>u===s.id)||s)}}}),EM=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{zapierTemplates:s}=my(),{data:{integrations:i}={integrations:[]}}=Oi(),{config:u}=ze(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=u.hostSettings?.limits?.customIntegrations?.disabled,h=i.find(({slug:v})=>v==="zapier"),b=h?.api_keys?.find(v=>v.type==="admin");A.useEffect(()=>{g&&a("integrations")},[g,a]);const y=()=>{!h||!b||(x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:'You will need to locate the Ghost App within your Zapier account and click on "Reconnect" to enter the new Admin API Key.',okLabel:"Regenerate Admin API Key",onOk:async v=>{try{await p({integrationId:h.id,apiKeyId:b.id}),x(!0),v?.remove()}catch(C){w(C)}}}))};return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsxs("a",{className:"mt-1 self-baseline text-sm font-bold",href:"https://zapier.com/apps/ghost/integrations?utm_medium=partner_api&utm_source=widget&utm_campaign=Widget",rel:"noopener noreferrer",target:"_blank",children:["View more Ghost integrations powered by ",n.jsx("span",{children:n.jsx("img",{alt:"Zapier",className:"relative top-[-2px] inline-block",src:jM})})]}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{t.remove()}})]}),okColor:"black",okLabel:"Close",testId:"zapier-modal",title:"",stickyFooter:!0,onOk:()=>{a("integrations"),t.remove()},children:[n.jsx(Qr,{detail:"Automation for your favorite apps",extra:n.jsx("div",{className:"mt-1 -mb-4",children:n.jsx(Ya,{keys:[{label:"Admin API key",text:b?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:y},{label:"API URL",text:window.location.origin+Os().subdir}]})}),icon:n.jsx(Ge,{name:"zapier",size:56}),title:"Zapier"}),n.jsx(er,{children:s.map(v=>n.jsx(Cr,{action:n.jsx(Ie,{className:"text-sm font-semibold whitespace-nowrap text-[#FF4A00]",href:v.url,label:"Use this Zap",tag:"a",target:"_blank",link:!0,unstyled:!0}),bgOnHover:!1,className:"flex items-center gap-3 py-2 pl-3",title:n.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center",children:[n.jsxs("div",{className:"flex shrink-0 flex-nowrap items-center gap-2",children:[n.jsx("img",{className:"size-8 object-contain dark:invert",role:"presentation",src:v.ghostImage}),n.jsx(Ge,{name:"arrow-right",size:"xs"}),n.jsx("img",{className:"size-8 object-contain",role:"presentation",src:v.appImage})]}),n.jsx("span",{className:"text-sm",children:v.title})]}),hideActions:!0}))})]})});function gm(t){const a="The URL must be in a format like https://www.threads.net/@yourUsername";if(!t)return"";if(t.startsWith("http")){if(!t.includes("threads.net")&&!t.includes("threads.com"))throw new Error(a);if(t=t.replace("threads.com","threads.net"),t.includes("www.")||(t=t.replace("https://","https://www.")),!xt.isURL(t))throw new Error(a);if(!t.match(/^https:\/\/www\.threads\.net\/@?[a-zA-Z0-9._]+$/))throw new Error(a);return t}if(!t.includes("/")){if(t.startsWith("@")&&(t=t.slice(1)),!t.match(/^[a-zA-Z0-9._]+$/))throw new Error(a);return`https://www.threads.net/@${t}`}throw new Error(a)}const NM=t=>`https://www.threads.net/${t}`,TM=t=>{const a=t.match(/(?:https:\/\/)(?:www\.)?(?:threads\.(?:com|net))(?:\/)?(?:#!\/)?@?([^/]*)/)?.[1];return a?`@${a}`:null},As={INVALID_USERNAME:"Your Username is not a valid Bluesky Username",INVALID_URL:"The URL must be in a format like https://bsky.app/profile/yourUsername"};function xm(t){return[/^did:plc:[a-z2-7]{24}$/,/^[a-zA-Z0-9._]{1,15}$/,/^(?=.{1,191}$)[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$/].some(s=>s.test(t))}function mu(t){let a=t.trim();return a.startsWith("@")&&(a=a.slice(1)),a.startsWith("did:plc:")?a.toLowerCase():a}function wm(t){if(!t)return"";let a;if(t.startsWith("http")||t.startsWith("www.")||t.includes("bsky.app")){if(!t.includes("bsky.app"))throw new Error(As.INVALID_URL);const i=t.match(/bsky\.app\/profile\/@?([^/]+)/);if(!i)throw new Error(As.INVALID_URL);a=mu(i[1])}else a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);const s=`https://bsky.app/profile/${a}`;if(!xt.isURL(s))throw new Error(As.INVALID_URL);return s}const CM=t=>{if(!t)throw new Error(As.INVALID_USERNAME);let a=mu(t);if(!xm(a))throw new Error(As.INVALID_USERNAME);return`https://bsky.app/profile/${a}`},IM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?bsky\.app\/profile\/@?([^/]*)/);return a?`${a[1]}`:null},Wr={INVALID_URL:"The URL must be in a format like https://www.linkedin.com/in/yourUsername",INVALID_USERNAME:"Your Username is not a valid LinkedIn Username"},SM=["in","pub","company","school"],AM=/^[a-zA-Z0-9-]{3,100}$/,DM=/^[a-zA-Z0-9-]{3,100}(?:\/[a-zA-Z0-9-]*)*$/,bm=/^(?:https?:\/\/)?(?:www\.)?(?:([a-z]{2})\.)?linkedin\.com\/(in|pub|company|school)\/([^?#]+)/i,gu=t=>t.trim().replace(/^@/,""),vm=t=>{if(/^(https?:\/\/|www\.)/.test(t)||t.includes("linkedin.com")){const i=t.match(bm);if(!i)throw new Error(Wr.INVALID_URL);if(i[0].length!==t.length)throw new Error(Wr.INVALID_USERNAME);const[,u,p,w]=i,m=gu(w);if(u&&!/^[A-Z]{2}$/.test(u.toUpperCase()))throw new Error(Wr.INVALID_URL);return{regional:u,pathType:p,username:m}}const a=gu(t),s=a.indexOf("/");if(s!==-1){const i=a.substring(0,s);if(SM.includes(i))return{pathType:i,username:a.substring(s+1)}}return{username:a}},ym=(t,a)=>(t==="pub"?DM:AM).test(a),_m=({regional:t,pathType:a,username:s})=>{const u=`https://${t?`${t.toLowerCase()}.`:"www."}linkedin.com/${a}/${s}`;if(!xt.isURL(u))throw new Error(Wr.INVALID_URL);return u};function Mm(t){if(!t)return"";const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})}const $M=t=>{if(!t)throw new Error(Wr.INVALID_USERNAME);const{regional:a,pathType:s="in",username:i}=vm(t);if(!ym(s,i))throw new Error(Wr.INVALID_USERNAME);return _m({regional:a,pathType:s,username:i})},RM=t=>{const a=t.match(bm);if(!a)return null;const[,,s,i]=a,u=gu(i);return s==="in"?u:`${s}/${u}`};function km(t){const a="The URL must be in a format like https://www.instagram.com/yourUsername",s="Your Username is not a valid Instagram Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("instagram.com")){if(!t.includes("instagram.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t.startsWith("@")?t.slice(1):t;if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||i.includes("..")||i.length>30)throw new Error(s);const u=`https://www.instagram.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const LM=t=>{const a="Your Username is not a valid Instagram Username";if(!t)throw new Error(a);let s=t;if(s.startsWith("@")&&(s=s.slice(1)),!s.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,28}[a-zA-Z0-9_]$/)||s.includes("..")||s.length>30)throw new Error(a);return`https://www.instagram.com/${s}`},OM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?instagram\.com\/@?([^/]*)/);return a?`${a[1]}`:null};function jm(t){const a="The URL must be in a format like https://www.youtube.com/@yourUsername, https://www.youtube.com/user/yourUsername, or https://www.youtube.com/channel/yourChannelId",s="Your Username is not a valid YouTube Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("youtube.com")){if(!t.includes("youtube.com"))throw new Error(a);const p=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]+)/);if(!p)throw new Error(a);i=p[1]}else i=t;if(i.startsWith("@")){const p=i.slice(1);if(!p.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||p.includes("..")||p.length>30)throw new Error(s)}else if(i.startsWith("user/")){if(!i.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(s)}else if(i.startsWith("channel/")){if(!i.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(s)}else throw new Error(a);const u=`https://www.youtube.com/${i}`;if(!xt.isURL(u))throw new Error(a);return u}const FM=t=>{const a="Your Username is not a valid YouTube Username";if(!t)throw new Error(a);if(t.startsWith("@")){const s=t.slice(1);if(!s.match(/^[a-zA-Z0-9][a-zA-Z0-9._-]{1,28}[a-zA-Z0-9]$/)||s.includes("..")||s.length>30)throw new Error(a)}else if(t.startsWith("user/")){if(!t.slice(5).match(/^[a-zA-Z0-9._-]{1,50}$/))throw new Error(a)}else if(t.startsWith("channel/")){if(!t.slice(8).match(/^UC[a-zA-Z0-9_-]{22}$/))throw new Error(a)}else throw new Error("The handle must be in a format like @yourUsername, user/yourUsername, or channel/yourChannelId");return`https://www.youtube.com/${t}`},PM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?youtube\.com\/((?:@|user\/|channel\/)[^/]*)/);return a?a[1]:null};function Em(t){const a="The URL must be in a format like https://www.tiktok.com/@yourUsername",s="Your Username is not a valid TikTok Username";if(!t)return"";let i;if(t.startsWith("http")||t.startsWith("www.")||t.includes("tiktok.com")){if(!t.includes("tiktok.com"))throw new Error(a);const w=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]+)/);if(!w)throw new Error(a);i=w[1]}else i=t.startsWith("@")?t:`@${t}`;const u=i.slice(1);if(!u.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||u.includes("..")||u.length<2||u.length>24)throw new Error(s);const p=`https://www.tiktok.com/${i}`;if(!xt.isURL(p))throw new Error(a);return p}const HM=t=>{const a="Your Username is not a valid TikTok Username";if(!t)throw new Error(a);const s=t.startsWith("@")?t:`@${t}`,i=s.slice(1);if(!i.match(/^[a-zA-Z0-9_][a-zA-Z0-9._]{0,22}[a-zA-Z0-9_]$/)||i.includes("..")||i.length<2||i.length>24)throw new Error(a);return`https://www.tiktok.com/${s}`},zM=t=>{const a=t.match(/(?:https?:\/\/)?(?:www\.)?tiktok\.com\/(@[^/]*)/);return a?a[1]:null};function Nm(t){const a="The URL must be in a format like @username@instance.tld or https://instance.tld/@username or https://website.com/@username@instance.tld";if(!t)return"";let s=t;if(s=s.replace(/^https?:\/\//,""),s.match(/^@[^@]+@[^/]+$/)){const[i,u]=s.split("@").slice(1);if(!xt.isFQDN(u))throw new Error(a);return`https://${u}/@${i}`}if(s.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[i,u]=s.split("/@");if(!xt.isFQDN(i))throw new Error(a);if(u.includes("@")){const[,p]=u.split("@");if(!xt.isFQDN(p))throw new Error(a)}return`https://${s}`}throw new Error(a)}const UM=t=>{const a="Your Username is not a valid Mastodon Username";if(!t)throw new Error(a);if(t.match(/^@[^@]+@[^/]+$/)){const[s,i]=t.split("@").slice(1);if(!xt.isFQDN(i))throw new Error(a);return`https://${i}/@${s}`}if(t.match(/^[^/]+\.[^/]+\/@[^/]+(@[^/]+)?$/)){const[s,i]=t.split("/@");if(!xt.isFQDN(s))throw new Error(a);if(i.includes("@")){const[,u]=i.split("@");if(!xt.isFQDN(u))throw new Error(a)}return`https://${t}`}throw new Error(a)},BM=t=>t.replace(/^https?:\/\//,""),WM=({tier:t})=>{const a=t?.type==="free",{updateRoute:s}=Pe(),{mutateAsync:i}=Iu(),{mutateAsync:u}=Ky(),{mutateAsync:p}=Tr(),[w,m]=Ve.useState(!!t?.trial_days),x=Ke(),{localSettings:g,siteData:h}=Gr(),[b]=ot(g,["portal_plans"]),y=JSON.parse(b?.toString()||"[]"),v={name:()=>C.name?void 0:"Enter a name for the tier",monthly_price:()=>C.type!=="free"?Cf(C.monthly_price||0,C.currency,{allowZero:!1}):void 0,yearly_price:()=>C.type!=="free"?Cf(C.yearly_price||0,C.currency,{allowZero:!1}):void 0},{formState:C,saveState:E,updateForm:j,handleSave:N,errors:D,clearError:$,okProps:R}=an({initialState:{...t||{},trial_days:t?.trial_days?.toString()||"",currency:t?.currency||gy[0].isoCode,visibility:t?.visibility||"none",welcome_page_url:t?.welcome_page_url||null},savingDelay:500,savedDelay:500,onValidate:()=>{const W={};return Object.entries(v).forEach(([B,ie])=>{W[B]=ie?.()}),W},onSave:async()=>{const{trial_days:W,currency:B,...ie}=C,ge=ie;if(ge.benefits=ge.benefits?.filter(Me=>Me),a||(ge.currency=B,ge.trial_days=parseInt(W)),t?.id?await i({...t,...ge}):await u(ge),a){const Me=C.visibility==="public";let K=!1;y.includes("free")&&!Me&&(y.splice(y.indexOf("free"),1),K=!0),!y.includes("free")&&Me&&(y.push("free"),K=!0),K&&await p([{key:"portal_plans",value:JSON.stringify(y)}])}},onSaveError:x}),O=mm({items:C.benefits||[],setItems:W=>j(B=>({...B,benefits:W})),blank:"",canAddNewItem:W=>!!W}),P=W=>{W.target.checked?(m(!0),j(B=>({...B,trial_days:t?.trial_days?t?.trial_days.toString():"7"}))):(m(!1),j(B=>({...B,trial_days:"0"})))},I=A.useRef(!1);A.useEffect(()=>{I.current&&(v.monthly_price?.(),v.yearly_price?.()),I.current=!0},[C.currency]);const U=()=>{if(t){const W=t.active?"Archive tier":"Reactivate tier",B=t.active?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Members will no longer be able to subscribe to ",n.jsx("strong",{children:t.name})," and it will be removed from the list of available tiers in portal."]}),n.jsx("div",{children:"Existing members on this tier will remain unchanged. Offers using this tier will be disabled."})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Reactivating ",n.jsx("strong",{children:t.name})," will re-enable it as an option in portal and allow new members to subscribe to this tier."]}),n.jsx("div",{children:"Existing members will remain unchanged."})]}),ie=t.active?"Archive":"Reactivate";me.show(ht,{title:W,prompt:B,okLabel:ie,cancelLabel:"Cancel",okColor:t.active?"red":"black",onOk:ge=>{i({...t,active:!t.active}),ge?.remove(),rt({type:"success",title:`Tier ${t.active?"archived":"reactivated"}`})}})}};let Y={};return t&&(t.active&&t.type!=="free"?Y={label:"Archive tier",color:"red",link:!0,onClick:U}:t.active||(Y={label:"Reactivate tier",color:"green",link:!0,onClick:U})),n.jsx(ut,{afterClose:()=>{s("tiers")},buttonsDisabled:R.disabled,cancelLabel:"Close",dirty:E==="unsaved",leftButtonProps:Y,okColor:R.color,okLabel:R.label||"Save",size:"lg",testId:"tier-detail-modal",title:t?t.active?"Edit tier":"Edit archived tier":"New tier",stickyFooter:!0,onOk:async()=>{await N({fakeWhenUnchanged:!0})},children:n.jsxs("div",{className:"mt-8 -mb-8 flex items-start gap-8",children:[n.jsxs("div",{className:"flex grow flex-col gap-8",children:[n.jsxs(Be,{marginBottom:!1,title:"Basic",grouped:!0,children:[n.jsx(ve,{autoComplete:"off",error:!!D.name,hint:D.name,maxLength:191,placeholder:a?"Free":"Bronze",title:"Name",value:C.name||"",autoFocus:!0,onChange:W=>j(B=>({...B,name:W.target.value})),onKeyDown:()=>$("name")}),n.jsx(ve,{autoComplete:"off",autoFocus:a,maxLength:191,placeholder:a?"Free preview":"Full access to premium content",title:"Description",value:C.description||"",onChange:W=>j(B=>({...B,description:W.target.value}))}),!a&&n.jsx(n.Fragment,{children:n.jsxs("div",{className:"flex flex-col gap-10 md:flex-row",children:[n.jsxs("div",{className:"basis-1/2",children:[n.jsxs("div",{className:"mb-1 flex h-6 items-center justify-between",children:[n.jsx(ct,{level:6,children:"Prices"}),n.jsx("div",{className:"-mr-2 w-[50px]",children:n.jsx(kt,{border:!1,containerClassName:"font-medium",controlClasses:{menu:"w-18"},options:If(),selectedOption:If().flatMap(W=>W.options).find(W=>W.value===C.currency),size:"xs",clearBg:!0,isSearchable:!0,onSelect:W=>j(B=>({...B,currency:W?.value}))})})]}),n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(Sf,{error:!!D.monthly_price,hint:D.monthly_price,placeholder:"5",rightPlaceholder:`${C.currency}/month`,title:"Monthly price",valueInCents:C.monthly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,monthly_price:0})):null,onChange:W=>j(B=>({...B,monthly_price:W})),onKeyDown:()=>$("monthly_price")}),n.jsx(Sf,{error:!!D.yearly_price,hint:D.yearly_price,placeholder:"50",rightPlaceholder:`${C.currency}/year`,title:"Yearly price",valueInCents:C.yearly_price||"",hideTitle:!0,onBlur:W=>W.target.value===""?j(B=>({...B,yearly_price:0})):null,onChange:W=>j(B=>({...B,yearly_price:W})),onKeyDown:()=>$("yearly_price")})]})]}),n.jsxs("div",{className:"basis-1/2",children:[n.jsx("div",{className:"mb-1 flex h-6 flex-col justify-center",children:n.jsx(Ye,{checked:w,label:"Add a free trial",labelStyle:"heading",onChange:P})}),n.jsx(ve,{disabled:!w,hint:n.jsxs("div",{className:"mt-1",children:["Members will be subscribed at full price once the trial ends. ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/free-trials/",rel:"noreferrer",target:"_blank",children:"Learn more"})]}),placeholder:"0",rightPlaceholder:"days",title:"Trial days",value:C.trial_days,hideTitle:!0,onChange:W=>j(B=>({...B,trial_days:W.target.value.replace(/[^\d]/,"")}))})]})]})}),n.jsx(wh,{baseUrl:h?.url,hint:`Redirect to this URL after signup ${a?"":" for premium membership"}`,maxLength:2e3,placeholder:h?.url,title:"Welcome page",value:C.welcome_page_url||null,nullable:!0,transformPathWithoutSlash:!0,onChange:W=>j(B=>({...B,welcome_page_url:W||null}))})]}),n.jsxs(Be,{gap:"none",title:"Benefits",grouped:!0,children:[n.jsx("div",{className:"-mt-3",children:n.jsx(bh,{items:O.items,itemSeparator:!1,renderItem:({id:W,item:B})=>n.jsxs("div",{className:"relative flex w-full items-center gap-5",children:[n.jsx("div",{className:"absolute top-[7px] left-[-32px] flex size-6 items-center justify-center bg-white group-hover:hidden dark:bg-black",children:n.jsx(Ge,{name:"check",size:"sm"})}),n.jsx(ve,{maxLength:191,value:B,onChange:ie=>O.updateItem(W,ie.target.value)}),n.jsx(Ie,{className:"absolute top-1 right-1 z-10 opacity-0 group-hover:opacity-100",color:"grey",icon:"trash",size:"sm",onClick:()=>O.removeItem(W)})]}),onMove:O.moveItem})}),n.jsxs("div",{className:"relative mt-1 flex items-center gap-3",children:[n.jsx(Ge,{className:"dark:text-white",name:"check",size:"sm"}),n.jsx(ve,{className:"grow",containerClassName:"w-100",maxLength:191,placeholder:"Expert analysis",title:"New benefit",value:O.newItem,hideTitle:!0,onChange:W=>O.setNewItem(W.target.value),onKeyDown:W=>{W.key==="Enter"&&O.addItem()}}),n.jsx(Ie,{className:"absolute top-[5px] right-[5px] z-10",color:"green",icon:"add",iconColorClass:"text-white",label:"Add",size:"sm",hideLabel:!0,onClick:()=>O.addItem()})]})]})]}),n.jsx("div",{className:"sticky top-[96px] hidden shrink-0 basis-[380px] min-[920px]:!visible min-[920px]:!block",children:n.jsx(xy,{isFreeTier:a,tier:C})})]})})},YM=({params:t})=>{const{data:{tiers:a,isEnd:s}={},fetchNextPage:i}=Xr();let u;return A.useEffect(()=>{t?.id&&!u&&!s&&i()},[i,s,t?.id,u]),t?.id&&(u=a?.find(({id:p})=>p===t?.id),!u)?null:n.jsx(WM,{tier:u})},qM=me.create(YM);var Oc,ip;function Tm(){if(ip)return Oc;ip=1;var t={};return Oc=typeof process=="object"&&t&&t.NODE_DEBUG&&/\bsemver\b/i.test(t.NODE_DEBUG)?(...s)=>console.error("SEMVER",...s):()=>{},Oc}var Fc,lp;function Cm(){if(lp)return Fc;lp=1;const t="2.0.0",a=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,i=16,u=a-6;return Fc={MAX_LENGTH:a,MAX_SAFE_COMPONENT_LENGTH:i,MAX_SAFE_BUILD_LENGTH:u,MAX_SAFE_INTEGER:s,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Fc}var vi={exports:{}},cp;function GM(){return cp||(cp=1,(function(t,a){const{MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:u}=Cm(),p=Tm();a=t.exports={};const w=a.re=[],m=a.safeRe=[],x=a.src=[],g=a.safeSrc=[],h=a.t={};let b=0;const y="[a-zA-Z0-9-]",v=[["\\s",1],["\\d",u],[y,i]],C=j=>{for(const[N,D]of v)j=j.split(`${N}*`).join(`${N}{0,${D}}`).split(`${N}+`).join(`${N}{1,${D}}`);return j},E=(j,N,D)=>{const $=C(N),R=b++;p(j,R,N),h[j]=R,x[R]=N,g[R]=$,w[R]=new RegExp(N,D?"g":void 0),m[R]=new RegExp($,D?"g":void 0)};E("NUMERICIDENTIFIER","0|[1-9]\\d*"),E("NUMERICIDENTIFIERLOOSE","\\d+"),E("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${y}*`),E("MAINVERSION",`(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})\\.(${x[h.NUMERICIDENTIFIER]})`),E("MAINVERSIONLOOSE",`(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})\\.(${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASEIDENTIFIER",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIER]})`),E("PRERELEASEIDENTIFIERLOOSE",`(?:${x[h.NONNUMERICIDENTIFIER]}|${x[h.NUMERICIDENTIFIERLOOSE]})`),E("PRERELEASE",`(?:-(${x[h.PRERELEASEIDENTIFIER]}(?:\\.${x[h.PRERELEASEIDENTIFIER]})*))`),E("PRERELEASELOOSE",`(?:-?(${x[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${x[h.PRERELEASEIDENTIFIERLOOSE]})*))`),E("BUILDIDENTIFIER",`${y}+`),E("BUILD",`(?:\\+(${x[h.BUILDIDENTIFIER]}(?:\\.${x[h.BUILDIDENTIFIER]})*))`),E("FULLPLAIN",`v?${x[h.MAINVERSION]}${x[h.PRERELEASE]}?${x[h.BUILD]}?`),E("FULL",`^${x[h.FULLPLAIN]}$`),E("LOOSEPLAIN",`[v=\\s]*${x[h.MAINVERSIONLOOSE]}${x[h.PRERELEASELOOSE]}?${x[h.BUILD]}?`),E("LOOSE",`^${x[h.LOOSEPLAIN]}$`),E("GTLT","((?:<|>)?=?)"),E("XRANGEIDENTIFIERLOOSE",`${x[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),E("XRANGEIDENTIFIER",`${x[h.NUMERICIDENTIFIER]}|x|X|\\*`),E("XRANGEPLAIN",`[v=\\s]*(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:\\.(${x[h.XRANGEIDENTIFIER]})(?:${x[h.PRERELEASE]})?${x[h.BUILD]}?)?)?`),E("XRANGEPLAINLOOSE",`[v=\\s]*(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[h.XRANGEIDENTIFIERLOOSE]})(?:${x[h.PRERELEASELOOSE]})?${x[h.BUILD]}?)?)?`),E("XRANGE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAIN]}$`),E("XRANGELOOSE",`^${x[h.GTLT]}\\s*${x[h.XRANGEPLAINLOOSE]}$`),E("COERCEPLAIN",`(^|[^\\d])(\\d{1,${s}})(?:\\.(\\d{1,${s}}))?(?:\\.(\\d{1,${s}}))?`),E("COERCE",`${x[h.COERCEPLAIN]}(?:$|[^\\d])`),E("COERCEFULL",x[h.COERCEPLAIN]+`(?:${x[h.PRERELEASE]})?(?:${x[h.BUILD]})?(?:$|[^\\d])`),E("COERCERTL",x[h.COERCE],!0),E("COERCERTLFULL",x[h.COERCEFULL],!0),E("LONETILDE","(?:~>?)"),E("TILDETRIM",`(\\s*)${x[h.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",E("TILDE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAIN]}$`),E("TILDELOOSE",`^${x[h.LONETILDE]}${x[h.XRANGEPLAINLOOSE]}$`),E("LONECARET","(?:\\^)"),E("CARETTRIM",`(\\s*)${x[h.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",E("CARET",`^${x[h.LONECARET]}${x[h.XRANGEPLAIN]}$`),E("CARETLOOSE",`^${x[h.LONECARET]}${x[h.XRANGEPLAINLOOSE]}$`),E("COMPARATORLOOSE",`^${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]})$|^$`),E("COMPARATOR",`^${x[h.GTLT]}\\s*(${x[h.FULLPLAIN]})$|^$`),E("COMPARATORTRIM",`(\\s*)${x[h.GTLT]}\\s*(${x[h.LOOSEPLAIN]}|${x[h.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",E("HYPHENRANGE",`^\\s*(${x[h.XRANGEPLAIN]})\\s+-\\s+(${x[h.XRANGEPLAIN]})\\s*$`),E("HYPHENRANGELOOSE",`^\\s*(${x[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${x[h.XRANGEPLAINLOOSE]})\\s*$`),E("STAR","(<|>)?=?\\s*\\*"),E("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),E("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(vi,vi.exports)),vi.exports}var Pc,up;function XM(){if(up)return Pc;up=1;const t=Object.freeze({loose:!0}),a=Object.freeze({});return Pc=i=>i?typeof i!="object"?t:i:a,Pc}var Hc,dp;function KM(){if(dp)return Hc;dp=1;const t=/^[0-9]+$/,a=(i,u)=>{if(typeof i=="number"&&typeof u=="number")return i===u?0:i<u?-1:1;const p=t.test(i),w=t.test(u);return p&&w&&(i=+i,u=+u),i===u?0:p&&!w?-1:w&&!p?1:i<u?-1:1};return Hc={compareIdentifiers:a,rcompareIdentifiers:(i,u)=>a(u,i)},Hc}var zc,fp;function ZM(){if(fp)return zc;fp=1;const t=Tm(),{MAX_LENGTH:a,MAX_SAFE_INTEGER:s}=Cm(),{safeRe:i,t:u}=GM(),p=XM(),{compareIdentifiers:w}=KM();class m{constructor(g,h){if(h=p(h),g instanceof m){if(g.loose===!!h.loose&&g.includePrerelease===!!h.includePrerelease)return g;g=g.version}else if(typeof g!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof g}".`);if(g.length>a)throw new TypeError(`version is longer than ${a} characters`);t("SemVer",g,h),this.options=h,this.loose=!!h.loose,this.includePrerelease=!!h.includePrerelease;const b=g.trim().match(h.loose?i[u.LOOSE]:i[u.FULL]);if(!b)throw new TypeError(`Invalid Version: ${g}`);if(this.raw=g,this.major=+b[1],this.minor=+b[2],this.patch=+b[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");b[4]?this.prerelease=b[4].split(".").map(y=>{if(/^[0-9]+$/.test(y)){const v=+y;if(v>=0&&v<s)return v}return y}):this.prerelease=[],this.build=b[5]?b[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(g){if(t("SemVer.compare",this.version,this.options,g),!(g instanceof m)){if(typeof g=="string"&&g===this.version)return 0;g=new m(g,this.options)}return g.version===this.version?0:this.compareMain(g)||this.comparePre(g)}compareMain(g){return g instanceof m||(g=new m(g,this.options)),this.major<g.major?-1:this.major>g.major?1:this.minor<g.minor?-1:this.minor>g.minor?1:this.patch<g.patch?-1:this.patch>g.patch?1:0}comparePre(g){if(g instanceof m||(g=new m(g,this.options)),this.prerelease.length&&!g.prerelease.length)return-1;if(!this.prerelease.length&&g.prerelease.length)return 1;if(!this.prerelease.length&&!g.prerelease.length)return 0;let h=0;do{const b=this.prerelease[h],y=g.prerelease[h];if(t("prerelease compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}compareBuild(g){g instanceof m||(g=new m(g,this.options));let h=0;do{const b=this.build[h],y=g.build[h];if(t("build compare",h,b,y),b===void 0&&y===void 0)return 0;if(y===void 0)return 1;if(b===void 0)return-1;if(b===y)continue;return w(b,y)}while(++h)}inc(g,h,b){if(g.startsWith("pre")){if(!h&&b===!1)throw new Error("invalid increment argument: identifier is empty");if(h){const y=`-${h}`.match(this.options.loose?i[u.PRERELEASELOOSE]:i[u.PRERELEASE]);if(!y||y[1]!==h)throw new Error(`invalid identifier: ${h}`)}}switch(g){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",h,b);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",h,b);break;case"prepatch":this.prerelease.length=0,this.inc("patch",h,b),this.inc("pre",h,b);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",h,b),this.inc("pre",h,b);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const y=Number(b)?1:0;if(this.prerelease.length===0)this.prerelease=[y];else{let v=this.prerelease.length;for(;--v>=0;)typeof this.prerelease[v]=="number"&&(this.prerelease[v]++,v=-2);if(v===-1){if(h===this.prerelease.join(".")&&b===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(y)}}if(h){let v=[h,y];b===!1&&(v=[h]),w(this.prerelease[0],h)===0?isNaN(this.prerelease[1])&&(this.prerelease=v):this.prerelease=v}break}default:throw new Error(`invalid increment argument: ${g}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return zc=m,zc}var Uc,pp;function VM(){if(pp)return Uc;pp=1;const t=ZM();return Uc=(s,i,u=!1)=>{if(s instanceof t)return s;try{return new t(s,i)}catch(p){if(!u)return null;throw p}},Uc}var QM=VM();const JM=fh(QM);function ek(t){if(!t)return"";const a=t.indexOf("+"),s=a!==-1?t.slice(a+1):"",i=a!==-1?t.slice(0,a):t;if(s&&s!=="moya"){const u=s.split("."),p=u[u.length-1];if(p&&/^[0-9a-f]{7,40}$/.test(p))return`https://github.com/TryGhost/Ghost/commit/${p}`}try{const p=JM(i,{includePrerelease:!0})?.prerelease;if(p&&p.length>0){const m=String(p[0]).split("-")[1];return m?.startsWith("g")?`https://github.com/TryGhost/Ghost/commit/${m.slice(1)}`:""}}catch{return""}return`https://github.com/TryGhost/Ghost/releases/tag/v${i}`}function tk(t,a){const s=!!t.match?.(/production/i);return!!(s&&a!=="mysql8"||!s&&a==="mysql5")}function nk({label:t,version:a}){const s=ek(a);return n.jsxs("div",{children:[n.jsxs("strong",{children:[t,":"]})," ",s?n.jsx("a",{className:"text-green",href:s,rel:"noopener noreferrer",target:"_blank",children:a}):a]})}const rk=me.create(({})=>{const{updateRoute:t}=Pe();let s=ze().config;const i=wy();function u(){return new Date().getFullYear()}function p(){return!!s.enableDeveloperExperiments}function w(){return!s.hostSettings?.siteId}return n.jsx(ut,{afterClose:()=>{t("")},cancelLabel:"",footer:n.jsx(n.Fragment,{}),topRightContent:"close",width:540,children:n.jsxs("div",{className:"flex flex-col gap-4 pb-7 text-sm",children:[n.jsx(by,{className:"h-auto w-[120px] dark:invert"}),n.jsxs("div",{className:"mt-3 flex flex-col gap-1.5",children:[i?.message&&n.jsxs("div",{className:"gh-prose-links mb-4 rounded-sm border border-green p-5",children:[n.jsx("strong",{children:"Update available!"}),n.jsx("div",{dangerouslySetInnerHTML:{__html:i.message}})]}),n.jsx(nk,{label:"Version",version:s.version}),w()&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{children:[n.jsx("strong",{children:"Environment:"})," ",s.environment]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Database:"})," ",s.database]}),n.jsxs("div",{children:[n.jsx("strong",{children:"Mail:"})," ",s.mail?s.mail:"Native"]})]}),p()&&n.jsxs("div",{children:[n.jsx("strong",{children:"Developer experiments:"})," Enabled"]}),w()&&tk(s.environment,s.database)&&n.jsxs("div",{className:"text-red-500 dark:text-red-400",children:["You are running an unsupported database in production. Please ",n.jsx("a",{href:"https://ghost.org/docs/faq/supported-databases/",rel:"noopener noreferrer",target:"_blank",children:"upgrade to MySQL 8"}),"."]})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"book-open",size:"sm"})," User documentation"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://forum.ghost.org/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"question-circle",size:"sm"})," Get help with Ghost"]}),n.jsxs("a",{className:"flex items-center gap-2 hover:text-grey-900 dark:hover:text-grey-400",href:"https://ghost.org/docs/contributing/",rel:"noopener noreferrer",target:"_blank",children:[n.jsx(Ge,{name:"angle-brackets",size:"sm"})," Get involved"]})]}),n.jsx(Rs,{}),n.jsxs("p",{className:"max-w-[460px] text-xs",children:["Copyright © 2013 – ",u()," Ghost Foundation, released under the ",n.jsx("a",{className:"text-green",href:"https://github.com/TryGhost/Ghost/blob/main/LICENSE",rel:"noopener noreferrer",target:"_blank",children:"MIT license"}),". ",n.jsx("a",{className:"text-green",href:"https://ghost.org/",rel:"noopener noreferrer",target:"_blank",children:"Ghost"})," is a registered trademark of ",n.jsx("a",{className:"text-green",href:"https://ghost.org/trademark/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Foundation Ltd"}),"."]})]})})}),sk=()=>{const t=Ft(),{updateRoute:a}=Pe(),[s,i]=A.useState(""),[u,p]=A.useState({name:""}),{mutateAsync:w}=vy(),m=Fs(),x=Ke();return A.useEffect(()=>{m?.isLimited("customIntegrations")&&m.errorIfWouldGoOverLimit("customIntegrations").catch(g=>{g instanceof Ps&&(me.show(Un,{prompt:g.message||"Your current plan doesn't support more custom integrations.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("integrations"))})},[m,t,a]),n.jsx(ut,{afterClose:()=>{a("integrations")},okColor:"black",okLabel:"Add",size:"sm",testId:"add-integration-modal",title:"Add integration",onOk:async()=>{if(!s){p({name:"Name is required"});return}try{const g=await w({name:s});t.remove(),a({route:`integrations/${g.integrations[0].id}`})}catch(g){x(g)}},children:n.jsx("div",{className:"mt-5",children:n.jsx(Be,{marginBottom:!1,marginTop:!1,children:n.jsx(ve,{autoFocus:!0,error:!!u.name,hint:u.name,maxLength:191,placeholder:"Custom integration",title:"Name",value:s,onChange:g=>i(g.target.value),onInput:()=>{u.name&&p({name:""})}})})})})},ak=me.create(sk),ok=()=>{const t=Ft(),{updateRoute:a}=Pe(),s=Ke(),[i,u]=A.useState(!0),[p,w]=A.useState(null),{data:m}=ph({searchParams:{filter:"newsletters.status:active+email_disabled:0",limit:"1",page:"1",include:"newsletters,labels"}}),{mutateAsync:x}=Yy(),{formState:g,updateForm:h,saveState:b,handleSave:y,errors:v,clearError:C}=an({initialState:{name:"",description:"",optInExistingSubscribers:!0},onSave:async()=>{const N=await x({name:g.name,description:g.description,opt_in_existing:g.optInExistingSubscribers,feedback_enabled:!0});a({route:`newsletters/${N.newsletters[0].id}`})},onSaveError:s,onValidate:()=>{const N={};return g.name||(N.name="A name is required for your newsletter"),N}}),E=Fs();A.useEffect(()=>{if(!E){u(!1);return}E.errorIfWouldGoOverLimit("newsletters").catch(N=>{if(N instanceof Ps)w(N);else throw N}).finally(()=>{u(!1)})},[E]);const j=m?.meta?.pagination.total;return A.useEffect(()=>{p&&(me.show(Un,{prompt:p.message||"Your current plan doesn't support more newsletters.",onOk:()=>a({route:"/pro",isExternal:!0})}),t.remove(),a("newsletters"))},[p,t,a]),i||p?null:n.jsx(ut,{afterClose:()=>{a("newsletters")},backDropClick:!1,okColor:"black",okDisabled:b==="saving",okLabel:"Create",okLoading:b==="saving",size:"sm",testId:"add-newsletter-modal",title:"Create newsletter",onOk:async()=>{await y()&&t.remove()},children:n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{autoFocus:!0,error:!!v.name,hint:v.name,maxLength:191,placeholder:"Weekly roundup",title:"Name",value:g.name,onChange:N=>h(D=>({...D,name:N.target.value})),onKeyDown:()=>C("name")}),n.jsx(nr,{maxLength:2e3,title:"Description",value:g.description,onChange:N=>h(D=>({...D,description:N.target.value}))}),n.jsx(Ye,{checked:g.optInExistingSubscribers,direction:"rtl",hint:g.optInExistingSubscribers?`This newsletter will be available to all members. Your ${j===void 0?"":$a(j)} existing subscriber${m?.meta?.pagination.total===1?"":"s"} will also be opted-in to receive it.`:"The newsletter will be available to all new members. Existing members won’t be subscribed, but may visit their account area to opt-in to future emails.",label:"Opt-in existing subscribers",labelStyle:"heading",onChange:N=>h(D=>({...D,optInExistingSubscribers:N.target.checked}))})]})})},ik=me.create(ok),lk=me.create(()=>{const t=me.useModal(),{updateRoute:a}=Pe(),{data:{integrations:s}={integrations:[]}}=Oi(),u=s.find(({slug:p})=>p==="ghost-core-content")?.api_keys?.find(p=>p.type==="content");return n.jsxs(ut,{afterClose:()=>{a("integrations")},cancelLabel:"",footer:n.jsxs("div",{className:"mx-8 flex w-full items-center justify-between",children:[n.jsx(Ie,{color:"outline",href:"https://ghost.org/docs/content-api/",label:n.jsxs("span",{className:"flex items-center gap-1",children:["Open docs ",n.jsx(Ge,{name:"arrow-top-right",size:"xs"})]}),rel:"noopener noreferrer",tag:"a",target:"_blank"}),n.jsx(Ie,{color:"black",label:"Close",onClick:()=>{a("integrations"),t.remove()}})]}),testId:"content-api-modal",title:"",stickyFooter:!0,children:[n.jsx(Qr,{detail:"Access your content programmatically",icon:n.jsx(Ge,{name:"angle-brackets",size:56}),title:"Content API"}),n.jsxs("div",{className:"mt-7",children:[n.jsx("p",{className:"mb-6 text-sm text-grey-700",children:"This key provides read-only access to your published content. For full read/write access, create a custom integration."}),n.jsx(Ya,{keys:[{label:"Content API key",text:u?.secret},{label:"API URL",text:window.location.origin+Os().subdir}]})]})]})}),ck=({recommendation:t,animate:a})=>{const s=Ft(),{updateRoute:i,route:u}=Pe(),{mutateAsync:p}=yy(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,setErrors:v}=an({initialState:{...t},onSave:async N=>{await p(N),s.remove(),rt({title:"Recommendation added",type:"success"}),My("Recommendation Added",{oneClickSubscribe:N.one_click_subscribe}),i("recommendations")},onSaveError:w,onValidate:N=>_y(N)});let C="Add",E=!1;h==="saving"?E=!0:h==="saved"&&(C="Added");let j={label:"Back",icon:"arrow-left",iconColorClass:"text-black dark:text-white",link:!0,size:"sm",onClick:()=>{h!=="saving"&&(s.remove(),me.show(Im,{pathName:u,animate:!1,recommendation:{...m}}))}};return n.jsx(ut,{afterClose:()=>{i("recommendations")},animate:a??!0,backDropClick:!1,cancelLabel:"Cancel",dirty:!0,leftButtonProps:j,okColor:"black",okLabel:C,okLoading:E,size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",stickyFooter:!0,onCancel:()=>{h!=="saving"&&(s.remove(),i("recommendations"))},onOk:async()=>{if(h!=="saving"){hh();try{await g({force:!0})}catch{rt({type:"error",title:"Something went wrong when adding this recommendation, please try again."})}}},children:n.jsx(ky,{clearError:y,errors:b,formState:m,setErrors:v,showURL:!1,updateForm:x})})},uk=me.create(ck),hp=t=>Ti(t).save||"",dk=function(t,a){try{new URL(a).hostname.includes(".")?delete t.url:t.url="Enter a valid URL"}catch{t.url="Enter a valid URL"}return t},fk=({searchParams:t,recommendation:a,animate:s})=>{const[i,u]=A.useState(!1),p=Ft(),{updateRoute:w}=Pe(),{mutateAsync:m}=jy(),x=a?"":t?.get("url")??"",{save:g}=x?Ti(x):{save:""},h=Ve.useRef(!1),[b,y]=Ve.useState(!!g),{formState:v,updateForm:C,handleSave:E,errors:j,saveState:N,clearError:D}=an({initialState:a??{title:"",url:g||"",description:"",excerpt:null,featured_image:null,favicon:null,one_click_subscribe:!1},onSave:async()=>{let R;R=new URL(v.url);const O=R.hostname.replace("www.",""),P={...v,url:R.toString()},{recommendations:I=[]}=await m(R);if(!I||I.length===0)return;const U=I[0];if(U.id)throw new jf("A recommendation with this URL already exists.");P.title=U.title??O,P.excerpt=U.excerpt??P.excerpt,P.featured_image=U.featured_image??P.featured_image??null,P.favicon=U.favicon??P.favicon??null,P.one_click_subscribe=U.one_click_subscribe??P.one_click_subscribe??!1,P.description=P.excerpt||null,p.remove(),me.show(uk,{animate:!1,recommendation:P})},onValidate:()=>{const R={};return dk(R,v.url),b&&y(Object.keys(R).length===0),R}}),$=Ve.useCallback(async()=>{if(N!=="saving"){hh();try{if(await E({force:!0}))return}catch(R){const O=R instanceof jf?R.message:"Something went wrong while checking this URL, please try again.";rt({type:"error",title:O})}b&&y(!1)}},[E,N,b,y]);return Ve.useEffect(()=>{b&&!h.current&&(h.current=!0,$())},[b,$]),A.useEffect(()=>{i&&($(),u(!1))},[v]),b?n.jsx(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,footer:!1,header:!1,size:"sm",children:n.jsx("div",{className:"flex flex-col items-center justify-center p-8",children:n.jsx(Ci,{})})}):n.jsxs(ut,{afterClose:()=>{w("recommendations")},animate:s??!0,backDropClick:!1,okColor:"black",okLabel:"Next",okLoading:N==="saving",size:"sm",testId:"add-recommendation-modal",title:"Add recommendation",onOk:$,children:[n.jsxs("p",{className:"mt-4",children:["You can recommend ",n.jsx("strong",{children:"any site"})," your audience will find valuable, not just those published on Ghost."]}),n.jsx(Be,{marginBottom:!1,marginTop:!0,children:n.jsx(ve,{autoFocus:!0,error:!!j.url,hint:j.url||n.jsxs(n.Fragment,{children:["Need inspiration? ",n.jsx("a",{className:"text-green",href:"https://www.ghost.org/explore",rel:"noopener noreferrer",target:"_blank",children:"Explore thousands of sites"})," to recommend"]}),maxLength:2e3,placeholder:"https://www.example.com",title:"URL",value:v.url,onBlur:()=>{const R=hp(v.url);C(O=>({...O,url:R}))},onChange:R=>{D?.("url"),C(O=>({...O,url:R.target.value}))},onKeyDown:R=>{R.key==="Enter"&&(R.preventDefault(),C(O=>({...O,url:hp(v.url)})),u(!0))}})})]})},Im=me.create(fk);function pk(t,a){let s;return function(...u){const p=()=>{clearTimeout(s),t(...u)};clearTimeout(s),s=setTimeout(p,a)}}const Fu=({generateContent:t,className:a,height:s,width:i,parentClassName:u,testId:p,addDelay:w=!1})=>{const[m,x]=A.useState(0),g=[A.useRef(null),A.useRef(null)],[h,b]=A.useState(0);return A.useEffect(()=>{const y=m===0?1:0,v=g[y].current;if(v){t(v);const C=()=>{w?setTimeout(()=>{x(y)},500):x(y)};return v.addEventListener("load",C),()=>{v.removeEventListener("load",C)}}},[t]),A.useEffect(()=>{const y=g[m].current,v=pk(()=>{b(y?.contentWindow?.scrollY||0)},250);return y?.contentWindow?.addEventListener("scroll",v),()=>{y?.contentWindow?.removeEventListener("scroll",v)}},[m,g]),A.useEffect(()=>{const y=g[m].current;if(y)try{y.contentWindow?.scrollTo(0,h)}catch(v){Lv(v)}},[h,m,g]),n.jsxs("div",{className:u,"data-testid":p,children:[n.jsx("iframe",{ref:g[0],className:`${a} ${m!==0?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===0,frameBorder:"0",height:s,title:"Buffered Preview 1",width:i}),n.jsx("iframe",{ref:g[1],className:`${a} ${m!==1?"z-10 opacity-0":"z-20 opacity-100"}`,"data-visible":m===1,frameBorder:"0",height:s,title:"Buffered Preview 2",width:i})]})},hk=(t,a,s)=>{const i=new URLSearchParams;return i.append("announcement_bg",t||"accent"),i.append("announcement",a||""),s&&s.length>0&&i.append("announcement_vis",s?.join(",")||""),i.toString()},mk=({announcementBackgroundColor:t,announcementContent:a,url:s,visibility:i})=>{const u=A.useMemo(()=>i,[i?.join(",")]),p=A.useCallback(w=>{s&&fetch(s,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":hk(t,a,u),Accept:"text/plain"},mode:"cors",credentials:"include"}).then(m=>m.text()).then(m=>{const x="html { pointer-events: none; }",h=new DOMParser().parseFromString(m,"text/html"),b=h.querySelector("style"),y=b.innerHTML;b.innerHTML=`${y}
2
2
 
3
- ${x}`;let C=(h.doctype?new XMLSerializer().serializeToString(h.doctype):"")+h.documentElement.outerHTML;w.contentDocument?.open(),w.contentDocument?.write(C),w.contentDocument?.close()}).catch(()=>{})},[t,a,s,u]);return n.jsx(Fu,{addDelay:!0,className:"absolute size-[110%] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[130%] max-[1600px]:scale-[.76923]",generateContent:p,height:"100%",parentClassName:"relative h-full w-full",testId:"announcement-bar-preview-iframe",width:"100%"})},gk=({announcementContent:t,announcementTextHandler:a,accentColor:s,announcementBackgroundColor:i,toggleColorSwatch:u,toggleVisibility:p,visibility:w=[],paidMembersEnabled:m,onBlur:x})=>{const g=[{label:"Public visitors",onChange:h=>{p("visitors",h)},value:"visitors",checked:w.includes("visitors")},{label:"Free members",onChange:h=>{p("free_members",h)},value:"free_members",checked:w.includes("free_members")},...m?[{label:"Paid members",onChange:h=>{p("paid_members",h)},value:"paid_members",checked:w.includes("paid_members")}]:[]];return n.jsxs(Be,{children:[n.jsx(Au,{nodes:"MINIMAL_NODES",placeholder:"Highlight breaking news, offers or updates",title:"Announcement",value:t,onBlur:x,onChange:a}),n.jsx(Ph,{isExpanded:!1,picker:!1,swatches:[{hex:"#08090c",title:"Dark",value:"dark"},{hex:"#ffffff",title:"Light",value:"light"},{hex:s||"#ffdd00",title:"Accent",value:"accent"}],swatchSize:"lg",title:"Background color",value:i,onSwatchChange:h=>{h!==null&&u(h)},onTogglePicker:()=>{}}),n.jsx(ou,{checkboxes:g,title:"Visibility"})]})},xk=()=>{const{siteData:t}=ze(),{localSettings:a,updateSetting:s,handleSave:i,okProps:u}=Gr({savingDelay:500}),[p]=ot(a,["announcement_content"]),[w]=ot(a,["accent_color"]),[m]=ot(a,["announcement_background"]),[x]=ot(a,["announcement_visibility"]),[g]=ot(a,["paid_members_enabled"]),h=JSON.parse(x?.toString()||"[]"),{updateRoute:b}=Pe(),[y,v]=A.useState("homepage"),C=I=>{s("announcement_background",I)},E=(I,U)=>{const Y=h.indexOf(I);Y===-1&&U?h.push(I):h.splice(Y,1),s("announcement_visibility",JSON.stringify(h))},j=A.useRef(Ri(I=>{s("announcement_content",I)},500)),T=n.jsx(gk,{accentColor:w,announcementBackgroundColor:m,announcementContent:p,announcementTextHandler:I=>{j.current(I)},paidMembersEnabled:g,toggleColorSwatch:C,toggleVisibility:E,visibility:x,onBlur:()=>{}}),{data:{posts:[D]}={posts:[]}}=Dh({searchParams:{filter:"status:published",order:"published_at DESC",limit:"1",fields:"id,url"}});let $=[];D&&($=[{id:"homepage",title:"Homepage"},{id:"post",title:"Post"}]);const R=I=>{$.length&&v(I)};let O=Hn(t);switch(y){case"homepage":O=Hn(t);break;case"post":O=D.url;break}const P=n.jsx(mk,{announcementBackgroundColor:m,announcementContent:p,url:O,visibility:h});return n.jsx(Kr,{afterClose:()=>{b("announcement-bar")},buttonsDisabled:u.disabled,cancelLabel:"Close",deviceSelector:!0,dirty:!1,okColor:u.color,okLabel:u.label||"Save",preview:P,previewBgColor:"greygradient",previewToolbarTabs:$,selectedURL:y,sidebar:T,testId:"announcement-bar-modal",title:"Announcement",titleHeadingLevel:5,onOk:async()=>{await i({fakeWhenUnchanged:!0})||rt({type:"error",message:"An error occurred while saving your changes. Please try again."})},onSelectURL:R})},wk=me.create(xk),xu=[{label:"Global",options:[{value:"site.changed",label:"Site changed (rebuild)"}]},{label:"Posts",options:[{value:"post.added",label:"Post created"},{value:"post.deleted",label:"Post deleted"},{value:"post.edited",label:"Post updated"},{value:"post.published",label:"Post published"},{value:"post.published.edited",label:"Published post updated"},{value:"post.unpublished",label:"Post unpublished"},{value:"post.scheduled",label:"Post scheduled"},{value:"post.unscheduled",label:"Post unscheduled"},{value:"post.tag.attached",label:"Tag added to post"},{value:"post.tag.detached",label:"Tag removed from post"}]},{label:"Pages",options:[{value:"page.added",label:"Page created"},{value:"page.deleted",label:"Page deleted"},{value:"page.edited",label:"Page updated"},{value:"page.published",label:"Page published"},{value:"page.published.edited",label:"Published page updated"},{value:"page.unpublished",label:"Page unpublished"},{value:"page.tag.attached",label:"Tag added to page"},{value:"page.tag.detached",label:"Tag removed from page"}]},{label:"Tags",options:[{value:"tag.added",label:"Tag created"},{value:"tag.edited",label:"Tag updated"},{value:"tag.deleted",label:"Tag deleted"}]},{label:"Members",options:[{value:"member.added",label:"Member added"},{value:"member.edited",label:"Member updated"},{value:"member.deleted",label:"Member deleted"}]}],bk=t=>xu.flatMap(({options:s})=>s).find(s=>s.value===t)?.label,vk=qr({method:"POST",path:()=>"/webhooks/",body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{const i=t.webhooks[0];return i.integration_id===s.id?{...s,webhooks:[...s.webhooks||[],i]}:s})}}}),yk=qr({method:"PUT",path:t=>`/webhooks/${t.id}/`,body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{var i;return{...s,webhooks:(i=s.webhooks)==null?void 0:i.map(u=>u.id===t.webhooks[0].id?t.webhooks[0]:u)}})}}}),_k=qr({method:"DELETE",path:t=>`/webhooks/${t}/`,updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a,s)=>({...a,integrations:a.integrations.map(i=>{var u;return{...i,webhooks:(u=i.webhooks)==null?void 0:u.filter(p=>p.id!==s)}})})}}),Mk=({webhook:t,integrationId:a})=>{const s=Ft(),{mutateAsync:i}=vk(),{mutateAsync:u}=yk(),p=Ke(),{formState:w,updateForm:m,handleSave:x,errors:g,clearError:h}=an({initialState:t||{},onSave:async()=>{w.id?await u(w):await i({...w,integration_id:a})},onSaveError:p,onValidate:()=>{const b={};return w.name||(b.name="Enter a name"),w.event||(b.event="Select an event"),w.target_url||(b.target_url="Enter a target URL"),w.target_url&&!xt.isURL(w.target_url,{require_tld:!1})&&(b.target_url="Enter a valid URL"),b}});return n.jsx(ut,{okColor:"black",okLabel:t?"Update":"Add",size:"sm",testId:"webhook-modal",title:"Add webhook",formSheet:!0,onOk:async()=>{await x()&&s.remove()},children:n.jsx("div",{className:"mt-5",children:n.jsxs(Be,{marginBottom:!1,marginTop:!1,children:[n.jsx(ve,{error:!!g.name,hint:g.name,maxLength:191,placeholder:"Custom webhook",title:"Name",value:w.name,onChange:b=>m(y=>({...y,name:b.target.value})),onKeyDown:()=>h("name")}),n.jsx(kt,{error:!!g.event,hint:g.event,options:xu,prompt:"Select an event",selectedOption:xu.flatMap(b=>b.options).find(b=>b.value===w.event),testId:"event-select",title:"Event",hideTitle:!0,onSelect:b=>{m(y=>({...y,event:b?.value})),h("event")}}),n.jsx(ve,{error:!!g.target_url,hint:g.target_url,maxLength:2e3,placeholder:"https://example.com",title:"Target URL",type:"url",value:w.target_url,onChange:b=>m(y=>({...y,target_url:b.target.value})),onKeyDown:()=>h("target_url")}),n.jsx(ve,{maxLength:191,placeholder:"https://example.com",title:"Secret",value:w.secret||void 0,onChange:b=>m(y=>({...y,secret:b.target.value}))})]})})})},mp=me.create(Mk),kk=({integration:t})=>{const{mutateAsync:a}=_k(),s=Ke(),i=u=>{me.show(ht,{title:"Are you sure?",prompt:"Deleting this webhook may prevent the integration from functioning.",okColor:"red",okLabel:"Delete Webhook",onOk:async p=>{try{await a(u),p?.remove(),rt({message:"Webhook deleted",type:"info"})}catch(w){s(w)}}})};return n.jsxs("div",{children:[n.jsxs(Ey,{children:[n.jsxs(Af,{bgOnHover:!1,children:[n.jsxs(op,{children:[t.webhooks?.length||0," ",t.webhooks?.length===1?"webhook":"webhooks"]}),n.jsx(op,{children:"Last triggered"})]}),t.webhooks?.map(u=>n.jsxs(Af,{action:n.jsx(Ie,{color:"red",label:"Delete",link:!0,onClick:p=>{p?.stopPropagation(),i(u.id)}}),bgOnHover:!1,hideActions:!0,onClick:()=>{me.show(mp,{webhook:u,integrationId:t.id})},children:[n.jsxs(Df,{className:"w-3/4",children:[n.jsx("div",{className:"text-sm font-semibold",children:u.name}),n.jsxs("div",{className:"grid grid-cols-[max-content_1fr] gap-x-1 text-xs leading-snug",children:[n.jsx("span",{className:"text-grey-600",children:"Event:"}),n.jsx("span",{children:bk(u.event)}),n.jsx("span",{className:"text-grey-600",children:"URL:"}),n.jsx("span",{className:"line-clamp-3 break-all",title:u.target_url,children:u.target_url})]})]}),n.jsx(Df,{className:"w-1/4 text-sm",children:u.last_triggered_at&&new Date(u.last_triggered_at).toLocaleString("default",{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})})]}))]}),n.jsx("div",{className:"mt-5",children:n.jsx(Ie,{color:"green",icon:"add",iconColorClass:"text-green",label:"Add webhook",size:"sm",link:!0,onClick:()=>{me.show(mp,{integrationId:t.id})}})})]})},jk=({integration:t})=>{const a=Ft(),{updateRoute:s}=Pe(),{mutateAsync:i}=Ty(),{mutateAsync:u}=Ou(),{mutateAsync:p}=Hs(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,okProps:v}=an({initialState:t,savingDelay:500,savedDelay:500,onSave:async()=>{await i(m)},onSavedStateReset:()=>{s("integrations")},onSaveError:w,onValidate:()=>{const O={};return m.name||(O.name="Enter integration title"),O}}),C=t.api_keys?.find(O=>O.type==="admin"),E=t.api_keys?.find(O=>O.type==="content"),[j,T]=A.useState(!1),[D,$]=A.useState(!1);A.useEffect(()=>{t.type!=="custom"&&(a.remove(),s("integrations"))},[t.type,a,s]);const R=(O,P)=>{P(!1);const I=O.type==="content"?"Content":"Admin";me.show(ht,{title:`Regenerate ${I} API Key`,prompt:`You can regenerate ${I} API Key any time, but any scripts or applications using it will need to be updated.`,okLabel:`Regenerate ${I} API Key`,onOk:async U=>{try{await u({integrationId:t.id,apiKeyId:O.id}),P(!0),U?.remove()}catch(Y){w(Y)}}})};return n.jsxs(ut,{afterClose:()=>{s("integrations")},buttonsDisabled:v.disabled,cancelLabel:"Close",dirty:h==="unsaved",okColor:v.color,okLabel:v.label||"Save",size:"md",testId:"custom-integration-modal",title:m.name||"Custom integration",stickyFooter:!0,onOk:async()=>{await g({fakeWhenUnchanged:!0})},children:[n.jsxs("div",{className:"mt-7 flex w-full flex-col gap-7 md:flex-row",children:[n.jsx("div",{children:n.jsx(tr,{height:"100px",id:"custom-integration-icon",imageURL:m.icon_image||void 0,width:"100px",onDelete:()=>x(O=>({...O,icon_image:null})),onUpload:async O=>{try{const P=Jn(await p({file:O}));x(I=>({...I,icon_image:P}))}catch(P){const I=P;I.response.status===415&&(I.message="Unsupported file type"),w(I)}},children:"Upload icon"})}),n.jsx("div",{className:"flex grow flex-col",children:n.jsxs(Be,{children:[n.jsx(ve,{error:!!b.name,hint:b.name,maxLength:191,title:"Title",value:m.name,onChange:O=>x(P=>({...P,name:O.target.value})),onKeyDown:()=>y("name")}),n.jsx(ve,{maxLength:2e3,title:"Description",value:m.description||"",onChange:O=>x(P=>({...P,description:O.target.value}))}),n.jsx(Ya,{keys:[{label:"Content API key",text:E?.secret,hint:D?n.jsx("div",{className:"text-green",children:"Content API Key was successfully regenerated"}):void 0,onRegenerate:()=>E&&R(E,$)},{label:"Admin API key",text:C?.secret,hint:j?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:()=>C&&R(C,T)},{label:"API URL",text:window.location.origin+Os().subdir}]})]})})]}),n.jsx("div",{children:n.jsx(kk,{integration:t})})]})},Ek=({params:t})=>{const{data:{integrations:a}={}}=Oi(),s=a?.find(({id:i})=>i===t?.id);return s?n.jsx(jk,{integration:s}):null},Tk=me.create(Ek),Nk=({problem:t})=>{const[a,s]=A.useState(!1),i=()=>{s(!a)};return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[t?.fatal?n.jsx("strong",{children:"Fatal: "}):n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>i()})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(u=>n.jsxs("li",{children:[n.jsx("code",{children:u.ref}),u.message?`: ${u.message}`:""]}))})]}):null]}),hideActions:!0,separator:!0})},Ck=({title:t,prompt:a,fatalErrors:s,onRetry:i})=>{let u=null;return s&&(u=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Errors",children:s.map(p=>typeof p.details=="object"&&p.details.errors&&p.details.errors.length>0?p.details.errors.map(w=>n.jsx(Nk,{problem:w})):typeof p.details=="string"?n.jsx(Cr,{title:p.details}):null)})})),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:"Retry",prompt:n.jsxs(n.Fragment,{children:[a,u]}),title:t,onOk:i})},Sm=me.create(Ck),Pu=()=>{const t=Ov(),s=!t.data?.themes[0]?.warnings?.some(u=>u.code==="GS051-CUSTOM-FONTS"),i=A.useCallback(()=>{t.refetch()},[t]);return{supportsCustomFonts:s,refreshActiveThemeData:i}};function Ik(t){let a=t.package?.name||t.name;return Fv(t)?a+=" (default)":Pv(t)?a+=" (legacy)":t.package?.name!==t.name&&(a=n.jsxs("span",{className:"text-sm md:text-base",children:[a," ",n.jsxs("span",{className:"text-grey-600",children:["(",t.name,")"]})]})),mh(t)&&(a=n.jsxs("span",{className:"text-sm font-bold md:text-base",children:[a," — ",n.jsx("span",{className:"text-green",children:" Active"})]})),a}function Sk(t){return t.package?.version||"1.0"}const Ak=({theme:t})=>{const{mutateAsync:a}=_u(),{mutateAsync:s}=Hv(),{refreshActiveThemeData:i}=Pu(),u=Ke(),p=async()=>{try{await a(t.name),i(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:t.name})," is now your active theme"]})})}catch(b){let y=null;b instanceof Er&&b.response?.status===422&&b.data?.errors?y=b.data.errors:u(b);let v="Invalid Theme",C=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});y&&me.show(Sm,{title:v,prompt:C,fatalErrors:y,onRetry:async E=>{E?.remove(),p()}})}},w=async()=>{const{apiRoot:b}=Os();Uv(`${b}/themes/${t.name}/download`)},m=async()=>{me.show(ht,{title:"Are you sure you want to delete this?",prompt:n.jsxs(n.Fragment,{children:["You are about to delete ",n.jsxs("strong",{children:['"',t.name,'".']})," This is permanent! We warned you, k? Maybe download"," ",n.jsx("span",{className:"cursor-pointer text-green-500",onClick:()=>{w()},children:"your theme before continuing"})]}),okLabel:"Delete",okRunningLabel:"Deleting",okColor:"red",onOk:async b=>{try{await s(t.name),b?.remove()}catch(y){u(y)}}})};let x=[];mh(t)||x.push(n.jsx(Ie,{className:"ml-2",color:"green",label:"Activate",link:!0,onClick:p},"activate"));let g=[{id:"download",label:"Download",onClick:w}];zv(t)&&g.push({id:"delete",label:"Delete",onClick:m});const h={iconColorClass:"text-base",size:"sm"};return n.jsxs("div",{className:"-mr-3 flex items-center gap-4",children:[x,n.jsx(tm,{items:g,position:"end",triggerButtonProps:h})]})},Dk=({themes:t})=>(t.sort((a,s)=>a.active&&!s.active?-1:!a.active&&s.active?1:a.package?.name&&s.package?.name?a.package.name.localeCompare(s.package.name):a.name.localeCompare(s.name)),n.jsx(er,{pageTitle:"Installed themes",children:t.map(a=>{const s=Ik(a),i=Sk(a);return n.jsx(Cr,{action:n.jsx(Ak,{theme:a}),detail:i,id:`theme-${a.name}`,separator:!1,testId:"theme-list-item",title:s},a.name)})})),$k=({themes:t})=>n.jsx($u,{children:n.jsx(Dk,{themes:t})}),Rk=""+new URL("footer-marketplace-bg-BpIYEF6z.png",import.meta.url).href,Lk=3e3,gp=t=>t.variants&&t.variants.length>0,Bc=t=>{const a=[{category:t.category,previewUrl:t.previewUrl,image:t.image}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},Ok=({onSelectTheme:t})=>{const a=Ny(),[s,i]=A.useState(null),[u,p]=A.useState(0),w=m=>{i(m),p(m!==null&&gp(m)&&Bc(m).length>1?1:0)};return A.useEffect(()=>{if(s===null)return;const m=setInterval(()=>{p((u+1)%(Bc(s).length||0))},Lk);return()=>clearInterval(m)},[s,u]),n.jsxs($u,{heading:"Themes",children:[n.jsx("div",{className:"mt-[6vmin] grid grid-cols-1 gap-[6vmin] sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4",children:a.map(m=>{const x=gp(m),g=Bc(m),h=s===m;return n.jsxs("button",{className:"flex cursor-pointer flex-col gap-3 text-left",type:"button",onClick:()=>{t?.(m)},children:[n.jsx("div",{className:"relative w-full bg-grey-100 shadow-md transition-all duration-500 hover:scale-[1.05]",onMouseEnter:()=>w(m),onMouseLeave:()=>w(null),children:x?n.jsx(n.Fragment,{children:g.map((b,y)=>n.jsx("img",{alt:`${m.name} Theme - ${b.category}`,className:he("size-full object-contain opacity-0 transition-opacity duration-500",{"opacity-100":y===u&&h||!h&&y===0,relative:y===u,absolute:y!==u,"left-0":y!==u,"top-0":y!==u}),src:b.image},`theme-variant-${b.category.toLowerCase()}`))}):n.jsx("img",{alt:`${m.name} Theme`,className:"size-full object-contain",src:m.image})}),n.jsxs("div",{className:"relative mt-3",children:[n.jsx(ct,{level:4,children:m.name}),x?g.map((b,y)=>n.jsx("span",{className:he("absolute left-0 translate-y-px text-sm text-grey-700 opacity-0",{"opacity-100":y===u&&h||!h&&y===0}),children:b.category})):n.jsx("span",{className:"text-sm text-grey-700",children:m.category})]})]},m.name)})}),n.jsxs("div",{className:"mx-[-8vmin] mt-[8vmin] mb-[-8vmin] bg-black px-[8vmin] py-16 text-center text-lg text-white",style:{background:`#15171a url(${Rk}) 100% 100% / 35vw no-repeat`},children:["Find and buy third-party, premium themes from independent developers in the ",n.jsx("a",{className:"inline-block font-semibold text-lime",href:"https://ghost.org/themes/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Marketplace →"})]})]})},xp=({problem:t})=>{const[a,s]=A.useState(!1);return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>s(!a)})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(i=>n.jsxs("li",{children:[n.jsx("code",{children:i.ref}),i.message?`: ${i.message}`:""]},i.ref))})]}):null]}),hideActions:!0,separator:!0})},Fk=({title:t,prompt:a,installedTheme:s,onActivate:i})=>{const{mutateAsync:u}=_u(),{refreshActiveThemeData:p}=Pu(),w=Ke();let m=null;s&&s.errors&&(m=n.jsx("div",{className:"mt-6",children:n.jsx(er,{hint:n.jsxs(n.Fragment,{children:["Highly recommended to fix, functionality ",n.jsx("strong",{children:"could"})," be restricted"]}),title:"Errors",children:s.errors?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let x=null;s&&s.warnings&&(x=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Warnings",children:s.warnings?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let g=`Activate${s.errors?.length?" with errors":""}`;return s.active&&(g="OK"),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:g,okRunningLabel:"Activating...",prompt:n.jsxs(n.Fragment,{children:[a,m,x]}),title:t,onOk:async h=>{if(!s.active)try{const y=(await u(s.name)).themes[0];p(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:y.name})," is now your active theme."]})})}catch(b){w(b)}i?.(),h?.remove()}})},Am=me.create(Fk),wp=t=>t.variants&&t.variants.length>0,bp=t=>{const a=[{image:t.image,category:t.category,previewUrl:t.previewUrl}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},vp=t=>t.category.toLowerCase(),Pk=({selectedTheme:t,isInstalling:a,installedTheme:s,onBack:i,onInstall:u})=>{const[p,w]=A.useState("desktop"),[m,x]=A.useState(void 0);if(!t)return null;let g=t.previewUrl;const h=bp(t).map(E=>({label:E.category,value:vp(E)}));wp(t)&&(m===void 0&&x(h[0]),g=bp(t).find(E=>vp(E)===m?.value)?.previewUrl||g);let b=`Install ${t.name}`;a?b="Installing...":Ei(t)&&!s?.active?b=`Activate ${t.name}`:s&&(b=`Update ${t.name}`);const y=()=>{u?.()},v=n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:[{label:"Change theme",onClick:i},{label:t.name}],separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:i}),wp(t)?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"hidden md:!visible md:!block",children:"–"}),n.jsx(kt,{border:!1,containerClassName:"text-sm font-bold",controlClasses:{menu:"min-w-max"},fullWidth:!1,options:h,selectedOption:m,clearBg:!0,onSelect:E=>{x(E||void 0)}})]}):null]}),C=n.jsxs("div",{className:"flex justify-end gap-8",children:[n.jsx(Pn,{buttons:[{icon:"laptop",iconColorClass:p==="desktop"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("desktop")}},{icon:"mobile",iconColorClass:p==="mobile"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("mobile")}}]}),n.jsx(Ie,{color:"green",disabled:a,label:a?"Installing...":b,onClick:y})]});return n.jsxs("div",{className:"absolute inset-0 z-[100]",children:[n.jsx(hm,{containerClassName:"bg-grey-50 dark:bg-black z-[100]",left:v,right:C,sticky:!1}),n.jsx("div",{className:"flex h-[calc(100%-92px)] grow flex-col items-center justify-center bg-grey-50 dark:bg-black",children:p==="desktop"?n.jsx(Oh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})}):n.jsx(Fh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})})})]})},Hk=({onUpload:t})=>{const a=Ft();return n.jsx("div",{className:"-mb-6",children:n.jsx(Cy,{id:"theme-upload",onUpload:s=>{a.remove(),t(s)},children:n.jsx("div",{className:"cursor-pointer bg-grey-75 p-10 text-center dark:bg-grey-950",children:"Click to select or drag & drop zip file"})})})},zk=({currentTab:t,setCurrentTab:a,themes:s})=>{const i=Ft(),{updateRoute:u}=Pe(),{mutateAsync:p}=Wv(),{checkThemeLimitError:w,isThemeLimited:m}=ku(),x=Ke(),[g,h]=A.useState(),[b,y]=A.useState(!1);A.useEffect(()=>{(async()=>{if(m){const R=await w(".");h({enabled:!1,error:R||"Your current plan doesn't support uploading custom themes."})}else h({enabled:!0})})()},[w,m]);const v=()=>{i.remove(),u("/")},C=async $=>{const R=$?.name.replace(/\.zip$/,""),O=s.map(P=>P.name);Ei({name:R})?me.show(ht,{title:"Upload failed",cancelLabel:"Cancel",okLabel:"",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("p",{children:["The default ",n.jsx("strong",{children:R})," theme cannot be overwritten."]}),n.jsx("p",{children:"Rename your zip file and try again."})]}),onOk:async P=>{P?.remove()}}):O.includes(R)?me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["The theme ",n.jsx("strong",{children:R})," already exists. Do you want to overwrite it?"]}),okLabel:"Overwrite",cancelLabel:"Cancel",okRunningLabel:"Overwriting...",okColor:"red",onOk:async P=>{y(!0);const I=O.indexOf(R);s.splice(I,1),await E({file:$,onActivate:v}),y(!1),a("installed"),P?.remove()}}):(a("installed"),E({file:$,onActivate:v}))},E=async({file:$,onActivate:R})=>{let O,P=null;try{y(!0),O=await p({file:$}),y(!1)}catch(W){y(!1),W instanceof Er&&W.response?.status===422&&W.data?.errors?P=W.data.errors:x(W)}if(P&&!O){let W="Invalid Theme",B=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});me.show(Sm,{title:W,prompt:B,fatalErrors:P,onRetry:async()=>{i?.remove(),T()}})}if(!O)return;const I=O.themes[0];let U="Upload successful",Y=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:I.name})," uploaded"]});if(I.active||(Y=n.jsxs(n.Fragment,{children:[Y," ","Do you want to activate it now?"]})),I?.errors?.length||I.warnings?.length){const W=I?.errors?.length;U=`Upload successful with ${W?"errors":"warnings"}`,Y=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',I.name,'"']})," was installed but we detected some ",W?"errors":"warnings","."]}),I.active||(Y=n.jsxs(n.Fragment,{children:[Y,"You are still able to activate and use the theme but it is recommended to fix these ",W?"errors":"warnings"," before you do so."]}))}me.show(Am,{title:U,prompt:Y,installedTheme:I,onActivate:R})},j=n.jsx("div",{className:"hidden md:!visible md:!block",children:n.jsx(Tr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})}),T=()=>{g&&(g.enabled?me.show(ht,{title:"Upload theme",prompt:n.jsx(Hk,{onUpload:C}),okLabel:"",formSheet:!1}):me.show(Un,{title:"Upgrade to enable custom themes",prompt:g.error||n.jsxs(n.Fragment,{children:["Your current plan only supports official themes. You can install them from the ",n.jsx("a",{href:"https://ghost.org/marketplace/",children:"Ghost theme marketplace"}),"."]}),onOk:()=>u({route:"/pro",isExternal:!0})}))},D=n.jsx("div",{className:"flex items-center gap-14",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ie,{label:"Close",onClick:()=>{i.remove(),v()}}),n.jsx(Ie,{color:"black",label:"Upload theme",loading:b,onClick:T})]})});return n.jsxs(n.Fragment,{children:[n.jsx(hm,{containerClassName:"bg-white dark:bg-black",left:j,right:D}),n.jsx("div",{className:"px-[8vmin] md:hidden",children:n.jsx(Tr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})})]})},Uk=({currentTab:t,onSelectTheme:a,themes:s})=>{switch(t){case"official":return n.jsx(Ok,{onSelectTheme:a});case"installed":return n.jsx($k,{themes:s})}return null},yp=({source:t,themeRef:a})=>{const[s,i]=A.useState("official"),[u,p]=A.useState(null),[w,m]=A.useState("desktop"),[x,g]=A.useState(!1),[h,b]=A.useState(!1),[y,v]=A.useState(!1),{updateRoute:C}=Pe(),E=Ft(),{data:{themes:j}={}}=Mu(),{mutateAsync:T}=Bv(),{mutateAsync:D}=_u(),{checkThemeLimitError:$}=ku(),R=Ke(),O=U=>{p(U)};if(A.useEffect(()=>{v(!0)},[]),A.useEffect(()=>{(async()=>{if(t&&a&&!h&&y){const Y=a.split("/")[1];if(await $(Y)){E.remove();return}let B="Install Theme";const ie=j?.map(ke=>ke.name)||[];let ge=ie.includes(Y.toLowerCase());const Me=ie.indexOf(Y.toLowerCase()),K=j?.[Me];let ee=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:Y})," will automatically be activated as the theme for your site.",ge&&n.jsxs(n.Fragment,{children:[n.jsx("br",{}),n.jsx("br",{}),"This will overwrite your existing version of ",n.jsx("strong",{children:Y}),K?.active?" which is your active theme":"",". All custom changes will be lost."]})]});me.show(ht,{title:B,prompt:ee,okLabel:"Install",cancelLabel:"Cancel",okRunningLabel:"Installing...",okColor:"black",onOk:async ke=>{let ue;b(!0);try{ge&&j&&j.splice(Me,1),ue=await T(a),ue?.themes[0]&&(await D(ue.themes[0].name),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:ue.themes[0].name})," is now your active theme"]})})),ke?.remove(),C("")}catch(ye){R(ye)}}})}})()},[a,t,T,R,D,C,j,h,$,E,y]),!j)return;let P,I;if(u){P=j.find(Y=>Y.name.toLowerCase()===u.name.toLowerCase()),I=async()=>{const Y=await $(u.name);if(Y){me.show(Un,{prompt:Y,onOk:()=>C({route:"/pro",isExternal:!0})});return}return P&&!Ei(u)?new Promise(W=>{me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["This will overwrite your existing version of ",u.name,P?.active?", which is your active theme":"",". All custom changes will be lost."]}),okLabel:"Overwrite",okRunningLabel:"Installing...",cancelLabel:"Cancel",okColor:"red",onOk:async B=>{B?.remove(),await U(),W()}})}):U()};const U=async()=>{let Y="Success",W=n.jsx(n.Fragment,{});if(Ei(u))Y="Activate theme",W=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:u.name})," will automatically be activated as the theme for your site."]});else{g(!0);let B;try{B=await T(u.ref)}catch(ge){R(ge)}finally{g(!1)}if(!B)return;const ie=B.themes[0];if(Y="Success",W=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:ie.name})," has been successfully installed."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W," ","Do you want to activate it now?"]})),ie.errors?.length||ie.warnings?.length){const ge=ie.errors?.length;Y=`Installed with ${ge?"errors":"warnings"}`,W=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',ie.name,'"']})," was installed successfully but we detected some ",ge?"errors":"warnings","."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W,"You are still able to activate and use the theme but it is recommended to contact the theme developer fix these ",ge?"errors":"warnings"," before you do so."]}))}P=ie}me.show(Am,{title:Y,prompt:W,installedTheme:P,onActivate:()=>{E.remove(),C("")}})}}return n.jsx(ut,{afterClose:()=>{C("")},animate:!1,cancelLabel:"",footer:!1,padding:!1,size:"full",testId:"theme-modal",title:"",scrolling:!0,onCancel:()=>{E.remove(),C("")},children:n.jsx("div",{className:"flex h-full justify-between",children:n.jsxs("div",{className:"grow",children:[u&&n.jsx(Pk,{installedTheme:P,isInstalling:x,selectedTheme:u,onBack:()=>{p(null)},onClose:()=>{C("")},onInstall:I}),n.jsx(zk,{currentTab:s,modal:E,previewMode:w,selectedTheme:u,setCurrentTab:i,setPreviewMode:m,setSelectedTheme:p,themes:j}),!u&&n.jsx(Uk,{currentTab:s,themes:j,onSelectTheme:O})]})})})},Bk=({children:t,to:a,classNames:s})=>{const i=a||document.body;if(!i)return n.jsx(n.Fragment,{children:t});const u=p=>{p.stopPropagation()};return Yv.createPortal(n.jsx("div",{className:s,onMouseDown:u,children:n.jsx("div",{children:t})}),i)};var Wk=class{columnCount;columns=[];columnHeights;constructor(t=3){this.columnCount=t,this.columns=[[]],this.columnHeights=null}reset(){let t=[],a=[];for(let s=0;s<this.columnCount;s+=1)t[s]=[],a[s]=0;this.columns=t,this.columnHeights=a}addColumns(){for(let t=0;t<this.columnCount;t++)this.columns.push([]),this.columnHeights.push(0)}addPhotoToColumns(t){this.columns||this.reset();let a=Math.min(...this.columnHeights),s=this.columnHeights.indexOf(a);this.columnHeights[s]+=300*t.ratio,this.columns[s].push(t)}getColumns(){return this.columns}changeColumnCount(t){t!==this.columnCount&&(this.columnCount=t,this.reset())}},Yk={heart:t=>n.jsx("svg",{viewBox:"0 0 32 32",...t,children:n.jsx("path",{d:"M17.4 29c-.8.8-2 .8-2.8 0L2.3 16.2C-.8 13.1-.8 8 2.3 4.8c3.1-3.1 8.2-3.1 11.3 0L16 7.6l2.3-2.8c3.1-3.1 8.2-3.1 11.3 0 3.1 3.1 3.1 8.2 0 11.4L17.4 29z"})}),download:t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",...t,children:n.jsx("path",{d:"M20 5.5l-8 8-8-8m-3.5 13h23",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10,fill:"none"})})},Wc=({icon:t,label:a,...s})=>{let i=null;return t&&(i=Yk[t]),n.jsxs("a",{className:"text-grey-700 flex h-8 shrink-0 cursor-pointer items-center rounded-md bg-white px-3 py-2 font-sans text-sm font-medium leading-6 opacity-90 transition-all ease-in-out hover:opacity-100",onClick:u=>u.stopPropagation(),...s,children:[t&&i&&n.jsx(i,{className:`size-4 ${t==="heart"?"fill-red":""} stroke-[3px] ${a&&"mr-1"}`}),a&&n.jsx("span",{children:a})]})},Dm=({payload:t,srcUrl:a,links:s,likes:i,user:u,alt:p,urls:w,height:m,width:x,zoomed:g,insertImage:h,selectImg:b})=>{let y=v=>{v.stopPropagation(),b(g?null:t)};return n.jsxs("div",{className:`relative mb-6 block ${g?"h-full w-[max-content] cursor-zoom-out":"w-full cursor-zoom-in"}`,style:{backgroundColor:t.color||"transparent"},"data-kg-unsplash-gallery-item":!0,onClick:y,children:[n.jsx("img",{alt:p,className:`${g?"h-full w-auto object-contain":"block h-auto"}`,height:m,loading:"lazy",src:a,width:x,"data-kg-unsplash-gallery-img":!0}),n.jsxs("div",{className:"absolute inset-0 flex flex-col justify-between bg-gradient-to-b from-black/5 via-black/5 to-black/30 p-5 opacity-0 transition-all ease-in-out hover:opacity-100",children:[n.jsxs("div",{className:"flex items-center justify-end gap-3",children:[n.jsx(Wc,{"data-kg-button":"unsplash-like",href:`${s.html}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit`,icon:"heart",label:i.toString(),rel:"noopener noreferrer",target:"_blank"}),n.jsx(Wc,{"data-kg-button":"unsplash-download",href:`${s.download}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit&amp;force=true`,icon:"download"})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center",children:[n.jsx("img",{alt:"author",className:"mr-2 size-8 rounded-full",src:u.profile_image.medium}),n.jsx("div",{className:"mr-2 truncate font-sans text-sm font-medium text-white",children:u.name})]}),n.jsx(Wc,{label:"Insert image","data-kg-unsplash-insert-button":!0,onClick:v=>{v.stopPropagation(),h({src:w.regular.replace(/&w=1080/,"&w=2000"),caption:`<span>Photo by <a href="${u.links.html}">${u.name}</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></span>`,height:m,width:x,alt:p,links:s})}})]})]})]})},qk=({payload:t,insertImage:a,selectImg:s,zoomed:i})=>n.jsx("div",{className:"flex h-full grow basis-0 justify-center","data-kg-unsplash-zoomed":!0,onClick:()=>s(null),children:n.jsx(Dm,{alt:t.alt_description,height:t.height,insertImage:a,likes:t.likes,links:t.links,payload:t,selectImg:s,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:i})}),Gk=()=>n.jsx("div",{className:"absolute inset-y-0 left-0 flex w-full items-center justify-center overflow-hidden pb-[8vh]","data-kg-loader":!0,children:n.jsx("div",{className:"animate-spin before:bg-grey-800 relative inline-block size-[50px] rounded-full border border-black/10 before:z-10 before:mt-[7px] before:block before:size-[7px] before:rounded-full"})}),Xk=t=>n.jsx("div",{className:"mr-6 flex grow basis-0 flex-col justify-start last-of-type:mr-0",children:t.children}),Kk=t=>t?.columns?t?.columns.map((a,s)=>n.jsx(Xk,{children:a.map(i=>n.jsx(Dm,{alt:i.alt_description,height:i.height,insertImage:t?.insertImage,likes:i.likes,links:i.links,payload:i,selectImg:t?.selectImg,srcUrl:i.urls.regular,urls:i.urls,user:i.user,width:i.width,zoomed:t?.zoomed||null},i.id))},a[0]?.id??`empty-${s}`)):null,Yc=t=>n.jsx("div",{className:"relative h-full overflow-hidden","data-kg-unsplash-gallery":!0,children:n.jsxs("div",{ref:t.galleryRef,className:`flex size-full justify-center overflow-auto px-20 ${t?.zoomed?"pb-10":""}`,"data-kg-unsplash-gallery-scrollref":!0,children:[t.children,t?.isLoading&&n.jsx(Gk,{})]})}),Zk=({zoomed:t,error:a,galleryRef:s,isLoading:i,dataset:u,selectImg:p,insertImage:w})=>t?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsx(qk,{alt:t.alt_description,height:t.height,insertImage:w,likes:t.likes,links:t.links,payload:t,selectImg:p,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:t})}):a?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[n.jsx("h1",{className:"mb-4 text-2xl font-bold",children:"Error"}),n.jsx("p",{className:"text-lg font-medium",children:a})]})}):n.jsx(Yc,{galleryRef:s,isLoading:i,zoomed:t,children:n.jsx(Kk,{columns:u,insertImage:w,selectImg:p,zoomed:t})}),Vk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M.75 23.249l22.5-22.5M23.25 23.249L.75.749"})}),Qk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M1.472 13.357a9.063 9.063 0 1 0 16.682-7.09 9.063 9.063 0 1 0-16.682 7.09Zm14.749 2.863 7.029 7.03"})}),Jk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.43 122.41",...t,children:n.jsx("path",{d:"M83.86 54.15v34.13H38.57V54.15H0v68.26h122.43V54.15H83.86zM38.57 0h45.3v34.13h-45.3z"})}),e2=({closeModal:t,handleSearch:a,children:s})=>n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40 h-[100vh] bg-black opacity-60"}),n.jsxs("div",{className:"not-kg-prose fixed inset-8 z-50 overflow-hidden rounded bg-white shadow-xl","data-kg-modal":"unsplash",children:[n.jsx("button",{className:"absolute right-6 top-6 cursor-pointer",type:"button",children:n.jsx(Vk,{className:"text-grey-400 size-4 stroke-2","data-kg-modal-close-button":!0,onClick:()=>t()})}),n.jsxs("div",{className:"flex h-full flex-col",children:[n.jsxs("header",{className:"flex shrink-0 items-center justify-between px-20 py-10",children:[n.jsxs("h1",{className:"flex items-center gap-2 font-sans text-3xl font-bold text-black",children:[n.jsx(Jk,{className:"mb-1"}),"Unsplash"]}),n.jsxs("div",{className:"relative w-full max-w-sm",children:[n.jsx(Qk,{className:"text-grey-700 absolute left-4 top-1/2 size-4 -translate-y-2"}),n.jsx("input",{className:"border-grey-300 focus:border-grey-400 h-10 w-full rounded-full border border-solid pl-10 pr-8 font-sans text-md font-normal text-black focus-visible:outline-none",placeholder:"Search free high-resolution photos",autoFocus:!0,"data-kg-unsplash-search":!0,onChange:a})]})]}),s]})]})]}),t2=JSON.parse(`[{"id":"TA5hw14Coh4","slug":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","alternative_slugs":{"en":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4"},"created_at":"2024-02-07T22:39:36Z","updated_at":"2024-03-07T23:46:14Z","promoted_at":null,"width":8640,"height":5760,"color":"#8c5940","blur_hash":"LKD]brE2IUr?Lgwci_NaDjR*ofoe","description":"NEOM will be home to one of the world’s largest nature reserves: a 25,000 sq km stretch of wilderness, encompassing two deserts divided by a mountain range. | NEOM, Saudi Arabia","alt_description":"a person standing on a sand dune in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707345512638-997d31a10eaa"},"links":{"self":"https://api.unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","html":"https://unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","download":"https://unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":226,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"UArA9A02Kvk","slug":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","alternative_slugs":{"en":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk"},"created_at":"2024-03-05T15:48:31Z","updated_at":"2024-03-11T06:59:25Z","promoted_at":"2024-03-11T06:59:25Z","width":2160,"height":2700,"color":"#262626","blur_hash":"L78;S$~p00oLD%D%IVay9F9ZIUay","description":null,"alt_description":"a black and white photo of a man with his head in his hands","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709653688483-fc2b356c1f36"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","download":"https://unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"gwWL9kMcm2g","updated_at":"2024-03-11T10:14:07Z","username":"nickandreka","name":"Nick Andréka","first_name":"Nick","last_name":"Andréka","twitter_username":null,"portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/nickandreka","html":"https://unsplash.com/@nickandreka","photos":"https://api.unsplash.com/users/nickandreka/photos","likes":"https://api.unsplash.com/users/nickandreka/likes","portfolio":"https://api.unsplash.com/users/nickandreka/portfolio","following":"https://api.unsplash.com/users/nickandreka/following","followers":"https://api.unsplash.com/users/nickandreka/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"andreka.art","total_collections":0,"total_likes":8,"total_photos":35,"total_promoted_photos":19,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"andreka.art","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"QX_7m4Lh2qg","slug":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","alternative_slugs":{"en":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg"},"created_at":"2024-03-10T16:46:33Z","updated_at":"2024-03-11T06:59:11Z","promoted_at":"2024-03-11T06:59:11Z","width":4000,"height":5751,"color":"#f3f3f3","blur_hash":"LAQJiu~X-;9G-:?cIURj~qD%00xt","description":null,"alt_description":"a black and white photo of a lighthouse","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710088912041-34d1767d376a"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","download":"https://unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":21,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ue6QWAAHoIQ","updated_at":"2024-03-11T08:53:54Z","username":"huzhewseh","name":"Volodymyr M","first_name":"Volodymyr","last_name":"M","twitter_username":"huzhewseh","portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/huzhewseh","html":"https://unsplash.com/@huzhewseh","photos":"https://api.unsplash.com/users/huzhewseh/photos","likes":"https://api.unsplash.com/users/huzhewseh/likes","portfolio":"https://api.unsplash.com/users/huzhewseh/portfolio","following":"https://api.unsplash.com/users/huzhewseh/following","followers":"https://api.unsplash.com/users/huzhewseh/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"huzhewseh","total_collections":0,"total_likes":0,"total_photos":18,"total_promoted_photos":3,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"huzhewseh","portfolio_url":null,"twitter_username":"huzhewseh","paypal_email":null}}},{"id":"fMNP7XVcct0","slug":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","alternative_slugs":{"en":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0"},"created_at":"2024-03-09T08:40:07Z","updated_at":"2024-03-11T06:58:58Z","promoted_at":"2024-03-11T06:58:58Z","width":3264,"height":4928,"color":"#262626","blur_hash":"L35hY|xu00D%-;xuIUD%00j[?bWB","description":null,"alt_description":"a woman standing in a dark room with her eyes closed","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709973540503-77d699279634?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709973540503-77d699279634"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","html":"https://unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","download":"https://unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"lSlibqdw_c8","updated_at":"2024-03-11T08:54:13Z","username":"vitaliyshev89","name":"Vitaliy Shevchenko","first_name":"Vitaliy","last_name":"Shevchenko","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Kharkiv, Ukraine","links":{"self":"https://api.unsplash.com/users/vitaliyshev89","html":"https://unsplash.com/@vitaliyshev89","photos":"https://api.unsplash.com/users/vitaliyshev89/photos","likes":"https://api.unsplash.com/users/vitaliyshev89/likes","portfolio":"https://api.unsplash.com/users/vitaliyshev89/portfolio","following":"https://api.unsplash.com/users/vitaliyshev89/following","followers":"https://api.unsplash.com/users/vitaliyshev89/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":1,"total_photos":205,"total_promoted_photos":29,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"b4kKyX0BQvc","slug":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","alternative_slugs":{"en":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc"},"created_at":"2024-03-08T21:58:28Z","updated_at":"2024-03-11T06:57:35Z","promoted_at":"2024-03-11T06:57:27Z","width":6000,"height":4000,"color":"#0c2626","blur_hash":"LSDJS6kD9Zxu~qkDM|xaS%j]xaV@","description":"Stunning metro train station \\"Elbbrücken\\" in Hamburg, Germany during sunset","alt_description":"a train station with a train on the tracks","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709934645859-f1ed8d3a4954"},"links":{"self":"https://api.unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","html":"https://unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","download":"https://unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"street-photography":{"status":"approved","approved_on":"2024-03-11T06:57:35Z"}},"user":{"id":"TffftDPlBPk","updated_at":"2024-03-11T06:59:04Z","username":"christianlue","name":"Christian Lue","first_name":"Christian","last_name":"Lue","twitter_username":"chrrischii","portfolio_url":null,"bio":null,"location":"Frankfurt / Berlin","links":{"self":"https://api.unsplash.com/users/christianlue","html":"https://unsplash.com/@christianlue","photos":"https://api.unsplash.com/users/christianlue/photos","likes":"https://api.unsplash.com/users/christianlue/likes","portfolio":"https://api.unsplash.com/users/christianlue/portfolio","following":"https://api.unsplash.com/users/christianlue/following","followers":"https://api.unsplash.com/users/christianlue/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":7,"total_likes":15,"total_photos":571,"total_promoted_photos":103,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":"chrrischii","paypal_email":null}}},{"id":"9633dHhioC8","slug":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","alternative_slugs":{"en":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8"},"created_at":"2023-04-28T15:30:26Z","updated_at":"2024-03-10T10:46:58Z","promoted_at":"2023-05-13T12:02:35Z","width":8316,"height":5544,"color":"#734026","blur_hash":"LVHdd89G57-o.9IBsSR-~pD*M{xt","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person walking through a canyon in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682695795255-b236b1f1267d"},"links":{"self":"https://api.unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","html":"https://unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","download":"https://unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":631,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515595&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515798&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"4PmYYBFhwFM","slug":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","alternative_slugs":{"en":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM"},"created_at":"2024-03-09T18:40:37Z","updated_at":"2024-03-11T06:57:23Z","promoted_at":"2024-03-11T06:57:23Z","width":5248,"height":7872,"color":"#a6a6a6","blur_hash":"LHDA40%MbGxu%L?bt7of_N%gIBRj","description":null,"alt_description":"a close up of a car door with the word budder on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710009439657-c0dfdc051a28"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","html":"https://unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","download":"https://unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Xz7_QPPM2So","updated_at":"2024-03-11T08:27:09Z","username":"tiago_f_ferreira","name":"Tiago Ferreira","first_name":"Tiago","last_name":"Ferreira","twitter_username":null,"portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","bio":"Photography - a hobby, a passion.\\r\\nPlanet earth 🌎, a creative space to enjoy.","location":"Lisboa, Portugal","links":{"self":"https://api.unsplash.com/users/tiago_f_ferreira","html":"https://unsplash.com/@tiago_f_ferreira","photos":"https://api.unsplash.com/users/tiago_f_ferreira/photos","likes":"https://api.unsplash.com/users/tiago_f_ferreira/likes","portfolio":"https://api.unsplash.com/users/tiago_f_ferreira/portfolio","following":"https://api.unsplash.com/users/tiago_f_ferreira/following","followers":"https://api.unsplash.com/users/tiago_f_ferreira/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiago_f_ferreira","total_collections":1,"total_likes":144,"total_photos":205,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"tiago_f_ferreira","portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","twitter_username":null,"paypal_email":null}}},{"id":"BUhVFtY-890","slug":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","alternative_slugs":{"en":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890"},"created_at":"2024-03-09T10:03:28Z","updated_at":"2024-03-11T06:57:20Z","promoted_at":"2024-03-11T06:57:20Z","width":3511,"height":2231,"color":"#262626","blur_hash":"L24epEWB0eMx$*t8OEV@RPj]baay","description":null,"alt_description":"a close up of a bird with a red head","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709978601970-036e92662b46?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709978601970-036e92662b46"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","html":"https://unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","download":"https://unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"rejected"},"spring":{"status":"rejected"},"earth-hour":{"status":"approved","approved_on":"2024-03-10T12:31:10Z"},"health":{"status":"unevaluated"},"animals":{"status":"unevaluated"},"film":{"status":"unevaluated"},"travel":{"status":"unevaluated"},"nature":{"status":"unevaluated"},"wallpapers":{"status":"unevaluated"}},"user":{"id":"3SCC0WcF-wA","updated_at":"2024-03-11T09:44:02Z","username":"refargotohp","name":"refargotohp","first_name":"refargotohp","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"Hello 👋🏼 My name is Pavel, and I am a photographer. I enjoy the photo in any of its manifestations. Sequential shooting, street, studio, portraiture - it's all me. Waiting for you on my social networks - @refargotohp","location":null,"links":{"self":"https://api.unsplash.com/users/refargotohp","html":"https://unsplash.com/@refargotohp","photos":"https://api.unsplash.com/users/refargotohp/photos","likes":"https://api.unsplash.com/users/refargotohp/likes","portfolio":"https://api.unsplash.com/users/refargotohp/portfolio","following":"https://api.unsplash.com/users/refargotohp/following","followers":"https://api.unsplash.com/users/refargotohp/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"refargotohp","total_collections":1,"total_likes":86,"total_photos":132,"total_promoted_photos":61,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"refargotohp","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"99clkpyauJI","slug":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","alternative_slugs":{"en":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI"},"created_at":"2024-03-10T00:15:28Z","updated_at":"2024-03-11T06:56:32Z","promoted_at":"2024-03-11T06:56:32Z","width":4299,"height":3448,"color":"#f3f3f3","blur_hash":"LjJuGn?bM{xu~qoKRPM{9FM{t6M_","description":null,"alt_description":"there are bottles of beer on a shelf in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710029721414-9e2125e155c3"},"links":{"self":"https://api.unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","html":"https://unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","download":"https://unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"film":{"status":"approved","approved_on":"2024-03-10T16:39:06Z"}},"user":{"id":"TPCcwPbQzmY","updated_at":"2024-03-11T06:59:01Z","username":"suzm4film","name":"szm 4","first_name":"szm","last_name":"4","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Japan","links":{"self":"https://api.unsplash.com/users/suzm4film","html":"https://unsplash.com/@suzm4film","photos":"https://api.unsplash.com/users/suzm4film/photos","likes":"https://api.unsplash.com/users/suzm4film/likes","portfolio":"https://api.unsplash.com/users/suzm4film/portfolio","following":"https://api.unsplash.com/users/suzm4film/following","followers":"https://api.unsplash.com/users/suzm4film/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":0,"total_photos":189,"total_promoted_photos":19,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"Lbt-cZyOUM4","slug":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","alternative_slugs":{"en":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4"},"created_at":"2024-03-09T16:58:57Z","updated_at":"2024-03-11T06:57:06Z","promoted_at":"2024-03-11T06:55:38Z","width":5783,"height":3848,"color":"#0c2626","blur_hash":"LkG[.y01Ri-:?bM{RjofM{xuRkWB","description":null,"alt_description":"an old fashioned typewriter sitting on a table in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710003364549-de37d4ed3413"},"links":{"self":"https://api.unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","html":"https://unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","download":"https://unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"8D4VFtkiIuw","updated_at":"2024-03-11T07:28:57Z","username":"tama66","name":"Peter Herrmann","first_name":"Peter","last_name":"Herrmann","twitter_username":null,"portfolio_url":null,"bio":"Everything... but not boring! Instagram@Tiefstapler66","location":"Leverkusen/Germany","links":{"self":"https://api.unsplash.com/users/tama66","html":"https://unsplash.com/@tama66","photos":"https://api.unsplash.com/users/tama66/photos","likes":"https://api.unsplash.com/users/tama66/likes","portfolio":"https://api.unsplash.com/users/tama66/portfolio","following":"https://api.unsplash.com/users/tama66/following","followers":"https://api.unsplash.com/users/tama66/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiefstapler66","total_collections":1,"total_likes":149,"total_photos":363,"total_promoted_photos":152,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"tiefstapler66","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"D1jr0Mevs-c","slug":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","alternative_slugs":{"en":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c"},"created_at":"2024-02-07T22:34:15Z","updated_at":"2024-03-10T10:54:36Z","promoted_at":null,"width":5280,"height":2970,"color":"#0c2626","blur_hash":"LH9[JL0i+HM{^}Ezw#R.b@n$nhbb","description":"The Islands of NEOM are home to kaleidoscopic-coloured coral reefs and an abundance of diverse marine life | Islands of NEOM – NEOM, Saudi Arabia","alt_description":"an aerial view of a body of water","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707343843982-f8275f3994c5"},"links":{"self":"https://api.unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","html":"https://unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","download":"https://unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":308,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"0RBEUjWQBBA","slug":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","alternative_slugs":{"en":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA"},"created_at":"2024-03-10T10:15:48Z","updated_at":"2024-03-11T06:55:22Z","promoted_at":"2024-03-11T06:55:22Z","width":4672,"height":7008,"color":"#262626","blur_hash":"LOG8o{t7WBWB~DofR*j@D%NGR%WB","description":null,"alt_description":"a woman standing under a cherry blossom tree","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710065574765-a685385c6d9a"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","html":"https://unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","download":"https://unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ePlndXHeIiM","updated_at":"2024-03-11T09:04:03Z","username":"lwdzl","name":"Jack Dong","first_name":"Jack","last_name":"Dong","twitter_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/lwdzl","html":"https://unsplash.com/@lwdzl","photos":"https://api.unsplash.com/users/lwdzl/photos","likes":"https://api.unsplash.com/users/lwdzl/likes","portfolio":"https://api.unsplash.com/users/lwdzl/portfolio","following":"https://api.unsplash.com/users/lwdzl/following","followers":"https://api.unsplash.com/users/lwdzl/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":101,"total_photos":640,"total_promoted_photos":112,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","twitter_username":null,"paypal_email":null}}},{"id":"2IGDvJa2Bd0","slug":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","alternative_slugs":{"en":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0"},"created_at":"2024-02-21T14:32:53Z","updated_at":"2024-03-11T06:54:06Z","promoted_at":"2024-03-11T06:54:06Z","width":4672,"height":5840,"color":"#f3f3f3","blur_hash":"L#Gv00ofD%ay~qoeM_ay%NafWVj[","description":null,"alt_description":"a path in the middle of a foggy forest","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708525736169-534ee3e24e99"},"links":{"self":"https://api.unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","html":"https://unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","download":"https://unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"zL5HAN1fnJw","updated_at":"2024-03-11T06:58:57Z","username":"viklukphotography","name":"Viktor Mischke","first_name":"Viktor","last_name":"Mischke","twitter_username":null,"portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","bio":null,"location":"Schloss Holte-Stukenbrock","links":{"self":"https://api.unsplash.com/users/viklukphotography","html":"https://unsplash.com/@viklukphotography","photos":"https://api.unsplash.com/users/viklukphotography/photos","likes":"https://api.unsplash.com/users/viklukphotography/likes","portfolio":"https://api.unsplash.com/users/viklukphotography/portfolio","following":"https://api.unsplash.com/users/viklukphotography/following","followers":"https://api.unsplash.com/users/viklukphotography/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"viktormischke","total_collections":0,"total_likes":141,"total_photos":38,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"viktormischke","portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","twitter_username":null,"paypal_email":null}}},{"id":"PZfeP0uwBpQ","slug":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","alternative_slugs":{"en":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ"},"created_at":"2024-02-24T10:57:49Z","updated_at":"2024-03-11T06:53:56Z","promoted_at":"2024-03-11T06:53:56Z","width":2720,"height":4080,"color":"#404026","blur_hash":"LIB:Tx%K56NGORbYxas:0KRj-poe","description":"A woman wearing a traditional coolie hat kneels in a field of green vegetables, carefully harvesting the crops.","alt_description":"a person with a hat on their head in a field","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708771641703-0df3d179cec3"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","html":"https://unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","download":"https://unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"},"experimental":{"status":"rejected"}},"user":{"id":"mWjiXj5vQuQ","updated_at":"2024-03-11T06:58:57Z","username":"chanwei_snap","name":"Chanwei","first_name":"Chanwei","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"👋 Just a snap-happy amateur sharing my photos with you!\\r\\n📍Instagram: @chanwei.snap\\r\\n","location":"Taipei, Taiwan","links":{"self":"https://api.unsplash.com/users/chanwei_snap","html":"https://unsplash.com/@chanwei_snap","photos":"https://api.unsplash.com/users/chanwei_snap/photos","likes":"https://api.unsplash.com/users/chanwei_snap/likes","portfolio":"https://api.unsplash.com/users/chanwei_snap/portfolio","following":"https://api.unsplash.com/users/chanwei_snap/following","followers":"https://api.unsplash.com/users/chanwei_snap/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"chanwei.snap","total_collections":15,"total_likes":63,"total_photos":150,"total_promoted_photos":2,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"chanwei.snap","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"1JwHaWeSK9s","slug":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","alternative_slugs":{"en":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s"},"created_at":"2024-03-10T11:33:51Z","updated_at":"2024-03-11T06:57:09Z","promoted_at":"2024-03-11T06:53:39Z","width":3586,"height":3917,"color":"#f3f3d9","blur_hash":"LIQ0T^j=_4%M%MxbM{M{_4jZITbH","description":"Title: Christmas eve Artist: Callowhill, James Publisher: L. Prang & Co. Name on Item: JC Date: [ca. 1861–1897] https://www.digitalcommonwealth.org/search/commonwealth:7w62f880r","alt_description":"a picture of some white flowers on a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710069455079-2059d3cefe91"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","html":"https://unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","download":"https://unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"piFVWeoWxU8","updated_at":"2024-03-11T07:28:12Z","username":"bostonpubliclibrary","name":"Boston Public Library","first_name":"Boston","last_name":"Public Library","twitter_username":null,"portfolio_url":"https://www.bpl.org/","bio":"Considered a pioneer of public library service in the United States, the Boston Public Library is among the three largest collections in the country and is committed to be ‘Free for All’.","location":"Boston, USA","links":{"self":"https://api.unsplash.com/users/bostonpubliclibrary","html":"https://unsplash.com/@bostonpubliclibrary","photos":"https://api.unsplash.com/users/bostonpubliclibrary/photos","likes":"https://api.unsplash.com/users/bostonpubliclibrary/likes","portfolio":"https://api.unsplash.com/users/bostonpubliclibrary/portfolio","following":"https://api.unsplash.com/users/bostonpubliclibrary/following","followers":"https://api.unsplash.com/users/bostonpubliclibrary/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":6,"total_likes":0,"total_photos":510,"total_promoted_photos":62,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":"https://www.bpl.org/","twitter_username":null,"paypal_email":null}}},{"id":"efzvMAIpfWY","slug":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","alternative_slugs":{"en":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-11T09:48:19Z","promoted_at":null,"width":9504,"height":6336,"color":"#c07359","blur_hash":"LELo7xNHxa~Bz:s9S4nO~VbwoLS~","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a couple of people that are standing in the dirt","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685797742-42c9987a2c34"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","html":"https://unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","download":"https://unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":211,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515544&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515747&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"j39-6Uto9QQ","slug":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","alternative_slugs":{"en":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ"},"created_at":"2024-03-09T22:12:40Z","updated_at":"2024-03-11T07:57:13Z","promoted_at":"2024-03-11T06:51:56Z","width":3759,"height":5639,"color":"#26260c","blur_hash":"L79tDG?H4;IURu%MM{RP~oohIoIo","description":null,"alt_description":"a forest filled with lots of tall trees","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710020339360-ce951881b835?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710020339360-ce951881b835"},"links":{"self":"https://api.unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","html":"https://unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","download":"https://unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":1,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"MarIhx6ztc0","updated_at":"2024-03-11T06:51:56Z","username":"brice_cooper18","name":"Brice Cooper","first_name":"Brice","last_name":"Cooper","twitter_username":null,"portfolio_url":null,"bio":"Always down for an adventure, capturing those adventures one photo at a time. Never stop exploring!","location":"Florida","links":{"self":"https://api.unsplash.com/users/brice_cooper18","html":"https://unsplash.com/@brice_cooper18","photos":"https://api.unsplash.com/users/brice_cooper18/photos","likes":"https://api.unsplash.com/users/brice_cooper18/likes","portfolio":"https://api.unsplash.com/users/brice_cooper18/portfolio","following":"https://api.unsplash.com/users/brice_cooper18/following","followers":"https://api.unsplash.com/users/brice_cooper18/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"brice_cooper18","total_collections":14,"total_likes":0,"total_photos":1467,"total_promoted_photos":51,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"brice_cooper18","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"oTE1p2Awp3I","slug":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","alternative_slugs":{"en":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I"},"created_at":"2024-02-27T22:15:01Z","updated_at":"2024-03-11T06:51:52Z","promoted_at":"2024-03-11T06:51:52Z","width":4000,"height":5333,"color":"#c0c0c0","blur_hash":"LLE:C[u5IooJ_N%gE1ax~ps8Vsoe","description":null,"alt_description":"a couple of people standing on top of a cliff next to the ocean","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709071784840-cf3ecc434749"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","html":"https://unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","download":"https://unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"khtnjqjzcq0","updated_at":"2024-03-11T06:51:53Z","username":"mitchorr","name":"Mitchell Orr","first_name":"Mitchell","last_name":"Orr","twitter_username":null,"portfolio_url":"https://mitchorr.darkroom.tech/","bio":"If you feel you would like to support my work, any donations no matter how small, would be extremely helpful. \\r\\nThanks for looking!","location":"Wirral","links":{"self":"https://api.unsplash.com/users/mitchorr","html":"https://unsplash.com/@mitchorr","photos":"https://api.unsplash.com/users/mitchorr/photos","likes":"https://api.unsplash.com/users/mitchorr/likes","portfolio":"https://api.unsplash.com/users/mitchorr/portfolio","following":"https://api.unsplash.com/users/mitchorr/following","followers":"https://api.unsplash.com/users/mitchorr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mitchorr1","total_collections":0,"total_likes":41,"total_photos":358,"total_promoted_photos":118,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mitchorr1","portfolio_url":"https://mitchorr.darkroom.tech/","twitter_username":null,"paypal_email":null}}},{"id":"ihmo0uRQ3jA","slug":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","alternative_slugs":{"en":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA"},"created_at":"2024-02-24T20:00:04Z","updated_at":"2024-03-11T06:51:48Z","promoted_at":"2024-03-11T06:51:48Z","width":4000,"height":6000,"color":"#260c0c","blur_hash":"L78;b;?I4Xx?tcIUD+xt03oy-.M|","description":null,"alt_description":"a bed sitting in a bedroom next to a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708804309492-5ef3f3458c33"},"links":{"self":"https://api.unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","html":"https://unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","download":"https://unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Og5qBrDjufI","updated_at":"2024-03-11T06:51:49Z","username":"mariailves","name":"Maria Ilves","first_name":"Maria","last_name":"Ilves","twitter_username":null,"portfolio_url":"http://www.mariailves.com","bio":null,"location":"Ambleside","links":{"self":"https://api.unsplash.com/users/mariailves","html":"https://unsplash.com/@mariailves","photos":"https://api.unsplash.com/users/mariailves/photos","likes":"https://api.unsplash.com/users/mariailves/likes","portfolio":"https://api.unsplash.com/users/mariailves/portfolio","following":"https://api.unsplash.com/users/mariailves/following","followers":"https://api.unsplash.com/users/mariailves/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mariailves_","total_collections":0,"total_likes":0,"total_photos":38,"total_promoted_photos":4,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mariailves_","portfolio_url":"http://www.mariailves.com","twitter_username":null,"paypal_email":null}}},{"id":"UvQtTVdFi9I","slug":"UvQtTVdFi9I","alternative_slugs":{"en":"UvQtTVdFi9I"},"created_at":"2016-08-12T16:12:25Z","updated_at":"2024-03-11T06:50:27Z","promoted_at":"2024-03-11T06:50:27Z","width":3648,"height":5472,"color":"#8ca673","blur_hash":"LGG9g4IAVax[.Zxus=kB9HtQ%LRj","description":null,"alt_description":null,"breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1471018289981-5d9f06e2bf45"},"links":{"self":"https://api.unsplash.com/photos/UvQtTVdFi9I","html":"https://unsplash.com/photos/UvQtTVdFi9I","download":"https://unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":60,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"dhG1THiRwtA","updated_at":"2024-03-11T06:50:28Z","username":"clarissemeyer","name":"Clarisse Meyer","first_name":"Clarisse","last_name":"Meyer","twitter_username":"claireymeyer","portfolio_url":"https://www.clarisserae.com","bio":"Photo | Video | Design - Southern California & Beyond\\r\\nInstagram: @clarisse.rae","location":"Orange County, CA","links":{"self":"https://api.unsplash.com/users/clarissemeyer","html":"https://unsplash.com/@clarissemeyer","photos":"https://api.unsplash.com/users/clarissemeyer/photos","likes":"https://api.unsplash.com/users/clarissemeyer/likes","portfolio":"https://api.unsplash.com/users/clarissemeyer/portfolio","following":"https://api.unsplash.com/users/clarissemeyer/following","followers":"https://api.unsplash.com/users/clarissemeyer/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"clarisse.rae","total_collections":2,"total_likes":139,"total_photos":99,"total_promoted_photos":58,"accepted_tos":false,"for_hire":false,"social":{"instagram_username":"clarisse.rae","portfolio_url":"https://www.clarisserae.com","twitter_username":"claireymeyer","paypal_email":null}}},{"id":"iswshBYbTBk","slug":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","alternative_slugs":{"en":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk"},"created_at":"2024-02-27T19:26:10Z","updated_at":"2024-03-11T06:48:50Z","promoted_at":"2024-03-11T06:48:50Z","width":3940,"height":2634,"color":"#73a673","blur_hash":"LEDn~t%{y:WXDPVtH[jt8{o|VGk9","description":null,"alt_description":"a woman riding an escalator down an escalator","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709061965707-9a89ffb23103"},"links":{"self":"https://api.unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","html":"https://unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","download":"https://unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"}},"user":{"id":"d-2o2yQwtxY","updated_at":"2024-03-11T06:48:59Z","username":"vitalymazur","name":"Vitalii Mazur","first_name":"Vitalii","last_name":"Mazur","twitter_username":"@madebyvitalii","portfolio_url":"https://www.behance.net/vitaliimazur","bio":"Life through photography 🌿 \\r\\nFeel free to support me via PayPal (vitaly.mazur@icloud.com) if you like to use my shots. Also I'm available for a photoshoot in Toronto 📸🇨🇦","location":"Toronto, Canada","links":{"self":"https://api.unsplash.com/users/vitalymazur","html":"https://unsplash.com/@vitalymazur","photos":"https://api.unsplash.com/users/vitalymazur/photos","likes":"https://api.unsplash.com/users/vitalymazur/likes","portfolio":"https://api.unsplash.com/users/vitalymazur/portfolio","following":"https://api.unsplash.com/users/vitalymazur/following","followers":"https://api.unsplash.com/users/vitalymazur/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"vitalymazur ","total_collections":14,"total_likes":773,"total_photos":263,"total_promoted_photos":15,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"vitalymazur ","portfolio_url":"https://www.behance.net/vitaliimazur","twitter_username":"@madebyvitalii","paypal_email":null}}},{"id":"uSNuKKh7wpA","slug":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","alternative_slugs":{"en":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA"},"created_at":"2024-03-01T10:58:28Z","updated_at":"2024-03-11T06:48:07Z","promoted_at":"2024-03-11T06:48:07Z","width":9600,"height":5400,"color":"#d9d9d9","blur_hash":"LJLq]_WI_3%eo$xa?cRi~qobITM|","description":"Made in blender 4.0","alt_description":"a picture of a green object with a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709290649154-54c725bd4484"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","html":"https://unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","download":"https://unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":42,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"3d-renders":{"status":"approved","approved_on":"2024-03-06T08:20:20Z"},"experimental":{"status":"approved","approved_on":"2024-03-06T07:38:30Z"}},"user":{"id":"5TCQxdaW0wE","updated_at":"2024-03-11T10:04:04Z","username":"theshubhamdhage","name":"Shubham Dhage","first_name":"Shubham","last_name":"Dhage","twitter_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","bio":"Creating things is my passion.","location":"Pune, India","links":{"self":"https://api.unsplash.com/users/theshubhamdhage","html":"https://unsplash.com/@theshubhamdhage","photos":"https://api.unsplash.com/users/theshubhamdhage/photos","likes":"https://api.unsplash.com/users/theshubhamdhage/likes","portfolio":"https://api.unsplash.com/users/theshubhamdhage/portfolio","following":"https://api.unsplash.com/users/theshubhamdhage/following","followers":"https://api.unsplash.com/users/theshubhamdhage/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"theshubhamdhage","total_collections":2,"total_likes":296,"total_photos":734,"total_promoted_photos":147,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","twitter_username":"theshubhamdhage","paypal_email":null}}},{"id":"7lN8MJPnlXs","slug":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","alternative_slugs":{"en":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs"},"created_at":"2024-03-06T19:31:23Z","updated_at":"2024-03-11T06:47:23Z","promoted_at":"2024-03-11T06:47:23Z","width":6720,"height":4480,"color":"#26260c","blur_hash":"L05OKD},~lR7TJRj%d^$_0E49Is:","description":null,"alt_description":"a close up of a pine tree with lots of needles","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709753422610-39ed7ddf9e08"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","html":"https://unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","download":"https://unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"approved","approved_on":"2024-03-11T06:47:18Z"}},"user":{"id":"gMFqynHNocY","updated_at":"2024-03-11T06:48:57Z","username":"blakecheekk","name":"Blake Cheek","first_name":"Blake","last_name":"Cheek","twitter_username":"blakecheekk","portfolio_url":"http://blakecheek.com","bio":"Photographer and Videographer. Lover of coffee and Jesus. ","location":"Atlanta, Ga","links":{"self":"https://api.unsplash.com/users/blakecheekk","html":"https://unsplash.com/@blakecheekk","photos":"https://api.unsplash.com/users/blakecheekk/photos","likes":"https://api.unsplash.com/users/blakecheekk/likes","portfolio":"https://api.unsplash.com/users/blakecheekk/portfolio","following":"https://api.unsplash.com/users/blakecheekk/following","followers":"https://api.unsplash.com/users/blakecheekk/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"blakecheekk","total_collections":4,"total_likes":0,"total_photos":423,"total_promoted_photos":165,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"blakecheekk","portfolio_url":"http://blakecheek.com","twitter_username":"blakecheekk","paypal_email":null}}},{"id":"Fw8vp9G6FtE","slug":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","alternative_slugs":{"en":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE"},"created_at":"2024-03-10T00:43:31Z","updated_at":"2024-03-11T06:46:50Z","promoted_at":"2024-03-11T06:46:50Z","width":6240,"height":4160,"color":"#262626","blur_hash":"LIINNov{ae}=56I]eToaEmWC^iI;","description":null,"alt_description":"the contents of a backpack laid out on a table","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710031407576-135a680d6e10"},"links":{"self":"https://api.unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","html":"https://unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","download":"https://unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"UmKpkFAcSDE","updated_at":"2024-03-11T06:46:50Z","username":"taylorheeryphoto","name":"Taylor Heery","first_name":"Taylor","last_name":"Heery","twitter_username":"tahegri","portfolio_url":"http://www.taylorheery.com","bio":"VENMO: @taylorheeryphoto\\r\\nFujifilm fanatic.","location":"Hendersonville, NC","links":{"self":"https://api.unsplash.com/users/taylorheeryphoto","html":"https://unsplash.com/@taylorheeryphoto","photos":"https://api.unsplash.com/users/taylorheeryphoto/photos","likes":"https://api.unsplash.com/users/taylorheeryphoto/likes","portfolio":"https://api.unsplash.com/users/taylorheeryphoto/portfolio","following":"https://api.unsplash.com/users/taylorheeryphoto/following","followers":"https://api.unsplash.com/users/taylorheeryphoto/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"taylorheeryphoto","total_collections":0,"total_likes":107,"total_photos":520,"total_promoted_photos":209,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"taylorheeryphoto","portfolio_url":"http://www.taylorheery.com","twitter_username":"tahegri","paypal_email":null}}},{"id":"e75CfMG0Sgo","slug":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","alternative_slugs":{"en":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-10T11:50:20Z","promoted_at":null,"width":5429,"height":3619,"color":"#a6c0d9","blur_hash":"LnHLYm%0IAi_?wn$ngj[OtRjs:f6","description":"Nature Reserve – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person with a backpack looking at mountains","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685796002-e05458d61f07"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","html":"https://unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","download":"https://unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":174,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515577&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515780&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"jSjHcyHFOdQ","slug":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","alternative_slugs":{"en":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ"},"created_at":"2024-02-08T15:36:25Z","updated_at":"2024-03-11T06:46:46Z","promoted_at":"2024-03-11T06:46:46Z","width":8400,"height":5600,"color":"#0c260c","blur_hash":"L44CLsVuD7pF.Po2R7R*-.oyX5My","description":null,"alt_description":"a picture of a green plant in a dark room","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707406543260-ed14bbd0d086"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","html":"https://unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","download":"https://unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":14,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ogQykx6hk_c","updated_at":"2024-03-11T06:46:46Z","username":"pawel_czerwinski","name":"Pawel Czerwinski","first_name":"Pawel","last_name":"Czerwinski","twitter_username":"pm_cze","portfolio_url":"http://paypal.me/pmcze","bio":"Questions about how you can use the photos? help.unsplash.com/en/collections/1463188-unsplash-license 👍","location":"Poland","links":{"self":"https://api.unsplash.com/users/pawel_czerwinski","html":"https://unsplash.com/@pawel_czerwinski","photos":"https://api.unsplash.com/users/pawel_czerwinski/photos","likes":"https://api.unsplash.com/users/pawel_czerwinski/likes","portfolio":"https://api.unsplash.com/users/pawel_czerwinski/portfolio","following":"https://api.unsplash.com/users/pawel_czerwinski/following","followers":"https://api.unsplash.com/users/pawel_czerwinski/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"pmcze","total_collections":7,"total_likes":39154,"total_photos":2137,"total_promoted_photos":1760,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"pmcze","portfolio_url":"http://paypal.me/pmcze","twitter_username":"pm_cze","paypal_email":null}}},{"id":"OfGHUYX0CCg","slug":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","alternative_slugs":{"en":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg"},"created_at":"2024-03-06T14:06:51Z","updated_at":"2024-03-11T08:56:52Z","promoted_at":"2024-03-11T06:45:54Z","width":8192,"height":5460,"color":"#260c0c","blur_hash":"LUF{kg=cj@fQ}XxFS3azxFfjS2WW","description":null,"alt_description":"a body of water that has some waves on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709733167477-25398ca709c0"},"links":{"self":"https://api.unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","html":"https://unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","download":"https://unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":16,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"earth-hour":{"status":"approved","approved_on":"2024-03-07T09:43:45Z"}},"user":{"id":"uFFemR6e1vs","updated_at":"2024-03-11T06:48:56Z","username":"marcospradobr","name":"Marcos Paulo Prado","first_name":"Marcos Paulo","last_name":"Prado","twitter_username":null,"portfolio_url":"https://www.instagram.com/eusoumarcosprado","bio":"People and commercial photographer based in Rio de Janeiro, Brasil","location":"Rio de Janeiro, Brazil","links":{"self":"https://api.unsplash.com/users/marcospradobr","html":"https://unsplash.com/@marcospradobr","photos":"https://api.unsplash.com/users/marcospradobr/photos","likes":"https://api.unsplash.com/users/marcospradobr/likes","portfolio":"https://api.unsplash.com/users/marcospradobr/portfolio","following":"https://api.unsplash.com/users/marcospradobr/following","followers":"https://api.unsplash.com/users/marcospradobr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"eusoumarcosprado","total_collections":0,"total_likes":306,"total_photos":413,"total_promoted_photos":139,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"eusoumarcosprado","portfolio_url":"https://www.instagram.com/eusoumarcosprado","twitter_username":null,"paypal_email":null}}},{"id":"VKQpbzeWbrk","slug":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","alternative_slugs":{"en":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk"},"created_at":"2024-03-09T21:24:04Z","updated_at":"2024-03-11T06:45:51Z","promoted_at":"2024-03-11T06:45:51Z","width":2592,"height":3872,"color":"#8c2626","blur_hash":"LFI2{Exr0gE}Dlo|=_W-5RE3O=xH","description":null,"alt_description":"a bouquet of orange and white tulips on a red door","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710018337941-58197591d55a?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710018337941-58197591d55a"},"links":{"self":"https://api.unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","html":"https://unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","download":"https://unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"H8-Yyg-eX4A","updated_at":"2024-03-11T06:48:56Z","username":"jaelphotos","name":"Jael Coon","first_name":"Jael","last_name":"Coon","twitter_username":null,"portfolio_url":"https://linktr.ee/jaelcoon","bio":"Coffee drinker, photographer, artist and chef/baker","location":"USA","links":{"self":"https://api.unsplash.com/users/jaelphotos","html":"https://unsplash.com/@jaelphotos","photos":"https://api.unsplash.com/users/jaelphotos/photos","likes":"https://api.unsplash.com/users/jaelphotos/likes","portfolio":"https://api.unsplash.com/users/jaelphotos/portfolio","following":"https://api.unsplash.com/users/jaelphotos/following","followers":"https://api.unsplash.com/users/jaelphotos/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"jaelcoon","total_collections":51,"total_likes":0,"total_photos":230,"total_promoted_photos":3,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"jaelcoon","portfolio_url":"https://linktr.ee/jaelcoon","twitter_username":null,"paypal_email":null}}},{"id":"W6AqsLH6HOg","slug":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","alternative_slugs":{"en":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg"},"created_at":"2024-03-06T06:59:15Z","updated_at":"2024-03-11T06:45:45Z","promoted_at":"2024-03-11T06:45:45Z","width":6000,"height":4000,"color":"#595959","blur_hash":"LYE_]gO?}qOsW--Ux]$%RPoeX9oz","description":null,"alt_description":"a license plate on the back of a car","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709708210553-490ba885fcf6"},"links":{"self":"https://api.unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","html":"https://unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","download":"https://unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"VNV70zPYNto","updated_at":"2024-03-11T06:48:56Z","username":"venajeborec","name":"Václav Pechar","first_name":"Václav","last_name":"Pechar","twitter_username":null,"portfolio_url":null,"bio":"Photographer from South Bohemia ✌🏻\\r\\nBe free to contact me to book a shoot 🙏🏻","location":"Czech Republic - Písek","links":{"self":"https://api.unsplash.com/users/venajeborec","html":"https://unsplash.com/@venajeborec","photos":"https://api.unsplash.com/users/venajeborec/photos","likes":"https://api.unsplash.com/users/venajeborec/likes","portfolio":"https://api.unsplash.com/users/venajeborec/portfolio","following":"https://api.unsplash.com/users/venajeborec/following","followers":"https://api.unsplash.com/users/venajeborec/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"amazingvena","total_collections":0,"total_likes":7,"total_photos":324,"total_promoted_photos":30,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"amazingvena","portfolio_url":null,"twitter_username":null,"paypal_email":null}}}]`),n2=class{photos=t2;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";ERROR=null;IS_LOADING=!1;currentPage=1;async fetchPhotos(){this.IS_LOADING=!0;let t=(this.currentPage-1)*30,a=this.currentPage*30;return this.currentPage+=1,this.IS_LOADING=!1,this.photos.slice(t,a)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;let t=await this.fetchPhotos();return t.length>0?t:null}async searchPhotos(t){this.SEARCH_IS_RUNNING=!0;let a=this.photos.filter(s=>s.description&&s.description.toLowerCase().includes(t.toLowerCase())||s.alt_description&&s.alt_description.toLowerCase().includes(t.toLowerCase()));return this.SEARCH_IS_RUNNING=!1,a}searchIsRunning(){return this.SEARCH_IS_RUNNING}triggerDownload(t){}},r2=class{_provider;constructor(t){this._provider=t}async fetchPhotos(){return await this._provider.fetchPhotos()}async searchPhotos(t){return await this._provider.searchPhotos(t)}async triggerDownload(t){this._provider.triggerDownload(t)}async fetchNextPage(){return await this._provider.fetchNextPage()||null}searchIsRunning(){return this._provider.searchIsRunning()}},s2=class{API_URL="https://api.unsplash.com";HEADERS;ERROR=null;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";IS_LOADING=!1;constructor(t){this.HEADERS=t}async makeRequest(t){if(this.REQUEST_IS_RUNNING)return null;this.LAST_REQUEST_URL=t;let a={method:"GET",headers:this.HEADERS};try{this.REQUEST_IS_RUNNING=!0,this.IS_LOADING=!0;let s=await fetch(t,a),i=await this.checkStatus(s);this.extractPagination(i);let u=await i.json();return"results"in u?u.results:u}catch(s){return this.ERROR=s,null}finally{this.REQUEST_IS_RUNNING=!1,this.IS_LOADING=!1}}extractPagination(t){let a=RegExp('<(.*)>; rel="(.*)"'),s=[],i={};for(let u of t.headers.entries())u[0]==="link"&&s.push(u[1]);return s&&s.toString().split(",").forEach(u=>{if(u){let p=a.exec(u);p&&(i[p[2]]=p[1])}}),this.PAGINATION=i,t}async fetchPhotos(){let t=`${this.API_URL}/photos?per_page=30`;return await this.makeRequest(t)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;if(this.PAGINATION.next){let t=`${this.PAGINATION.next}`,a=await this.makeRequest(t);if(a)return a}return null}async searchPhotos(t){let a=`${this.API_URL}/search/photos?query=${t}&per_page=30`;return await this.makeRequest(a)||[]}async triggerDownload(t){t.links.download_location&&await this.makeRequest(t.links.download_location)}async checkStatus(t){if(t.status>=200&&t.status<300)return t;let a="",s,i=t.headers.get("content-type");if(i==="application/json")s=t.json().then(u=>u.errors[0]);else if(i==="text/xml")s=t.text();else throw Error("Unsupported content type");return s.then(u=>{throw t.status===403&&t.headers.get("x-ratelimit-remaining")==="0"&&(a="Unsplash API rate limit reached, please try again later."),a=a||u||`Error ${t.status}: Uh-oh! Trouble reaching the Unsplash API`,this.ERROR=a,Error(a)})}searchIsRunning(){return this.SEARCH_IS_RUNNING}},a2=class{photoUseCases;masonryService;photos=[];constructor(t,a){this.photoUseCases=t,this.masonryService=a}async loadNew(){this.photos=await this.photoUseCases.fetchPhotos(),await this.layoutPhotos()}async layoutPhotos(){this.masonryService.reset(),this.photos&&this.photos.forEach(t=>{t.ratio=t.height/t.width,this.masonryService.addPhotoToColumns(t)})}getColumns(){return this.masonryService.getColumns()}async updateSearch(t){this.photos=await this.photoUseCases.searchPhotos(t),this.layoutPhotos()}async loadNextPage(){let t=await this.photoUseCases.fetchNextPage()||[];this.photos=[...this.photos,...t],this.layoutPhotos()}clearPhotos(){this.photos=[]}triggerDownload(t){this.photoUseCases.triggerDownload(t)}searchIsRunning(){return this.photoUseCases.searchIsRunning()}},o2=({onClose:t,onImageInsert:a,unsplashProviderConfig:s})=>{let i=A.useMemo(()=>s?new s2(s):new n2,[s]),u=A.useMemo(()=>new r2(i),[i]),p=A.useMemo(()=>new Wk(3),[]),w=A.useMemo(()=>new a2(u,p),[u,p]),m=A.useRef(null),[x,g]=A.useState(0),[h,b]=A.useState(0),[y,v]=A.useState(w.searchIsRunning()||!0),C=A.useRef(!1),[E,j]=A.useState(""),[T,D]=A.useState(null),[$,R]=A.useState([]);Ve.useEffect(()=>{m.current&&T===null&&h!==0&&(m.current.scrollTop=h,b(0))},[T,x,h]),Ve.useEffect(()=>{let B=ie=>{ie.key==="Escape"&&t()};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[t]),Ve.useEffect(()=>{let B=m.current;if(!T)return B&&B.addEventListener("scroll",()=>{g(B.scrollTop)}),()=>{B&&B.removeEventListener("scroll",()=>{g(B.scrollTop)})}},[m,T]);let O=Ve.useCallback(async()=>{(C.current===!1||E.length===0)&&(R([]),w.clearPhotos(),await w.loadNew(),R(w.getColumns()||[]),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1))},[w,E]),P=async B=>{let ie=B.target.value;ie.length>2&&(D(null),j(ie)),ie.length===0&&(j(""),C.current=!1,await O())},I=Ve.useCallback(async()=>{if(E){v(!0),R([]),w.clearPhotos(),await w.updateSearch(E);let B=w.getColumns();B&&R(B),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1)}},[E,w]);Ve.useEffect(()=>{let B=setTimeout(async()=>{E.length>2?await I():await O()},300);return()=>{C.current=!0,clearTimeout(B)}},[E,I,O]);let U=Ve.useCallback(async()=>{v(!0),await w.loadNextPage(),R(w.getColumns()||[]),v(!1)},[w]);Ve.useEffect(()=>{let B=m.current;if(B){let ie=async()=>{T===null&&B.scrollTop+B.clientHeight>=B.scrollHeight-1e3&&await U()};return B.addEventListener("scroll",ie),()=>{B.removeEventListener("scroll",ie)}}},[m,U,T]);let Y=B=>{B&&(D(B),b(x)),B===null&&(D(null),m.current&&(m.current.scrollTop=h))};async function W(B){B.src&&(w.triggerDownload(B),a(B))}return n.jsx(e2,{closeModal:t,handleSearch:P,children:n.jsx(Zk,{dataset:$,error:null,galleryRef:m,insertImage:W,isLoading:y,selectImg:Y,zoomed:T})})};const i2=({unsplashProviderConfig:t,onClose:a,onImageInsert:s})=>n.jsx(Bk,{classNames:"admin-x-settings",children:n.jsx(o2,{unsplashProviderConfig:t,onClose:a,onImageInsert:s})}),Ss={heading:[{name:"Cardo",creator:"David Perry"},{name:"Chakra Petch",creator:"Cadson Demak"},{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Libre Baskerville",creator:"Impallari Type"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Old Standard TT",creator:"Alexey Kryukov"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Rufina",creator:"Martin Sommaruga"},{name:"Space Grotesk",creator:"Florian Karsten"},{name:"Space Mono",creator:"Colophon Foundry"},{name:"Tenor Sans",creator:"Denis Masharov"}],body:[{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Space Mono",creator:"Colophon Foundry"}]},Nn="Theme default",_p=({children:t,...a})=>n.jsx(_h.SingleValue,{...a,children:n.jsx("div",{className:"group","data-testid":"select-current-option","data-value":a.data.value,children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-white text-2xl font-bold dark:bg-black",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]})})}),Mp=({children:t,...a})=>n.jsx(_h.Option,{...a,children:n.jsxs("div",{className:a.isSelected?"relative flex w-full items-center justify-between gap-2":"group","data-testid":"select-option","data-value":a.data.value,children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-grey-150 text-2xl font-bold group-hover:bg-grey-250 dark:bg-grey-900 dark:group-hover:bg-grey-800",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]}),a.isSelected&&n.jsx("span",{children:n.jsx(Ge,{name:"check",size:14})})]})}),l2=t=>t.split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "),kp=({values:t,updateSetting:a})=>{const{mutateAsync:s}=Hs(),{settings:i}=ze(),[u]=ot(i,["unsplash"]),[p,w]=A.useState(!1),{unsplashConfig:m}=qv(),x=Ke(),g=yh(),{data:h}=Mu(),b=h?.themes.find(I=>I.active),y=b?`${l2(b.name)} (v${b.package?.version||"1.0"})`:"Loading...",[v,C]=A.useState(Ss.heading.find(I=>I.name===t.headingFont)||{name:Nn,creator:y}),[E,j]=A.useState(Ss.heading.find(I=>I.name===t.bodyFont)||{name:Nn,creator:y}),T=(I,U=!0)=>{let Y="";return I==="Cardo"?Y=he("font-cardo",U&&"font-bold"):I==="Manrope"?Y=he("font-manrope",U&&"font-bold"):I==="Merriweather"?Y=he("font-merriweather",U&&"font-bold"):I==="Nunito"?Y=he("font-nunito",U&&"font-semibold"):I==="Old Standard TT"?Y=he("font-old-standard-tt",U&&"font-bold"):I==="Prata"?Y=he("font-prata",U&&"font-normal"):I==="Roboto"?Y=he("font-roboto",U&&"font-bold"):I==="Rufina"?Y=he("font-rufina",U&&"font-bold"):I==="Tenor Sans"?Y=he("font-tenor-sans",U&&"font-normal"):I==="Chakra Petch"?Y=he("font-chakra-petch",U&&"font-normal"):I==="Fira Mono"?Y=he("font-fira-mono",U&&"font-bold"):I==="Fira Sans"?Y=he("font-fira-sans",U&&"font-bold"):I==="IBM Plex Serif"?Y=he("font-ibm-plex-serif",U&&"font-bold"):I==="Inter"?Y=he("font-inter",U&&"font-bold"):I==="JetBrains Mono"?Y=he("font-jetbrains-mono",U&&"font-bold"):I==="Lora"?Y=he("font-lora",U&&"font-bold"):I==="Noto Sans"?Y=he("font-noto-sans",U&&"font-bold"):I==="Noto Serif"?Y=he("font-noto-serif",U&&"font-bold"):I==="Poppins"?Y=he("font-poppins",U&&"font-bold"):I==="Space Grotesk"?Y=he("font-space-grotesk",U&&"font-bold"):I==="Space Mono"&&(Y=he("font-space-mono",U&&"font-bold")),Y},D=Ss.heading.map(I=>{let U=T(I.name,!0);return{label:I.name,value:I.name,creator:I.creator,className:U}});D.unshift({label:Nn,value:Nn,creator:y,className:"font-sans font-normal"});const $=Ss.body.map(I=>{let U=T(I.name,!1);return{label:I.name,value:I.name,creator:I.creator,className:U}});$.unshift({label:Nn,value:Nn,creator:y,className:"font-sans font-normal"});const R=(I,U)=>I===Nn?"":T(I,U),O={label:v.name,value:v.name,creator:v.creator},P={label:E.name,value:E.name,creator:E.creator};return n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"",children:[n.jsx(Fn,{debounceMs:200,direction:"rtl",testId:"accent-color-picker",title:n.jsx("div",{children:"Accent color"}),value:t.accentColor,onChange:I=>a("accent_color",I)}),n.jsxs("div",{className:"flex items-start justify-between",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication icon"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"A square, social icon, at least 60x60px"})]}),n.jsx("div",{className:"flex gap-3",children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-1!",height:t.icon?"66px":"36px",id:"logo",imageBWCheckedBg:!0,imageURL:t.icon||"",width:t.icon?"66px":"160px",onDelete:()=>a("icon",null),onUpload:async I=>{try{a("icon",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload icon"})})]}),n.jsxs("div",{className:`flex items-start justify-between ${t.icon&&"mt-2"}`,children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication logo"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Appears usually in the main header of your theme"})]}),n.jsx("div",{children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",height:"60px",id:"site-logo",imageBWCheckedBg:!0,imageFit:"contain",imageURL:t.logo||"",width:"160px",onDelete:()=>a("logo",null),onUpload:async I=>{try{a("logo",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload logo"})})]}),n.jsxs("div",{className:"mt-2 flex items-start justify-between","data-testid":"publication-cover",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication cover"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Usually as a large banner image on your index pages"})]}),n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-10!",height:"95px",id:"cover",imageURL:t.coverImage||"",openUnsplash:()=>w(!0),pintura:{isEnabled:g.isEnabled,openEditor:async()=>g.openEditor({image:t.coverImage||"",handleSave:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){x(U)}}})},unsplashButtonClassName:"bg-transparent! h-6! top-1.5! w-6! right-1.5! z-50",unsplashEnabled:u,width:"160px",onDelete:()=>a("cover_image",null),onUpload:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload cover"}),p&&m&&u&&n.jsx(i2,{unsplashProviderConfig:m,onClose:()=>{w(!1)},onImageInsert:I=>{I.src&&a("cover_image",I.src),w(!1)}})]})]}),n.jsxs(Be,{className:"-mt-4",gap:"sm",margins:"lg",title:"Typography",children:[n.jsx(kt,{className:R(O.label,!0),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",menuShouldScrollIntoView:!0,options:D,selectedOption:O,testId:"heading-font-select",title:"Heading font",onSelect:I=>{I?.value===Nn?(C({name:Nn,creator:y}),a("heading_font","")):(C({name:I?.value||"",creator:Ss.heading.find(U=>U.name===I?.value)?.creator||""}),a("heading_font",I?.value||""))}}),n.jsx(kt,{className:R(P.label,!1),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",maxMenuHeight:200,menuPosition:"fixed",menuShouldScrollIntoView:!0,options:$,selectedOption:P,testId:"body-font-select",title:"Body font",onSelect:I=>{I?.value===Nn?(j({name:Nn,creator:y}),a("body_font","")):(j({name:I?.value||"",creator:Ss.body.find(U=>U.name===I?.value)?.creator||""}),a("body_font",I?.value||""))}})]})]})};var yi={exports:{}},ji={exports:{}},c2=ji.exports,jp;function u2(){return jp||(jp=1,(function(t,a){//! mingo.js 2.5.3
3
+ ${x}`;let C=(h.doctype?new XMLSerializer().serializeToString(h.doctype):"")+h.documentElement.outerHTML;w.contentDocument?.open(),w.contentDocument?.write(C),w.contentDocument?.close()}).catch(()=>{})},[t,a,s,u]);return n.jsx(Fu,{addDelay:!0,className:"absolute size-[110%] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[130%] max-[1600px]:scale-[.76923]",generateContent:p,height:"100%",parentClassName:"relative h-full w-full",testId:"announcement-bar-preview-iframe",width:"100%"})},gk=({announcementContent:t,announcementTextHandler:a,accentColor:s,announcementBackgroundColor:i,toggleColorSwatch:u,toggleVisibility:p,visibility:w=[],paidMembersEnabled:m,onBlur:x})=>{const g=[{label:"Public visitors",onChange:h=>{p("visitors",h)},value:"visitors",checked:w.includes("visitors")},{label:"Free members",onChange:h=>{p("free_members",h)},value:"free_members",checked:w.includes("free_members")},...m?[{label:"Paid members",onChange:h=>{p("paid_members",h)},value:"paid_members",checked:w.includes("paid_members")}]:[]];return n.jsxs(Be,{children:[n.jsx(Au,{nodes:"MINIMAL_NODES",placeholder:"Highlight breaking news, offers or updates",title:"Announcement",value:t,onBlur:x,onChange:a}),n.jsx(Ph,{isExpanded:!1,picker:!1,swatches:[{hex:"#08090c",title:"Dark",value:"dark"},{hex:"#ffffff",title:"Light",value:"light"},{hex:s||"#ffdd00",title:"Accent",value:"accent"}],swatchSize:"lg",title:"Background color",value:i,onSwatchChange:h=>{h!==null&&u(h)},onTogglePicker:()=>{}}),n.jsx(ou,{checkboxes:g,title:"Visibility"})]})},xk=()=>{const{siteData:t}=ze(),{localSettings:a,updateSetting:s,handleSave:i,okProps:u}=Gr({savingDelay:500}),[p]=ot(a,["announcement_content"]),[w]=ot(a,["accent_color"]),[m]=ot(a,["announcement_background"]),[x]=ot(a,["announcement_visibility"]),[g]=ot(a,["paid_members_enabled"]),h=JSON.parse(x?.toString()||"[]"),{updateRoute:b}=Pe(),[y,v]=A.useState("homepage"),C=I=>{s("announcement_background",I)},E=(I,U)=>{const Y=h.indexOf(I);Y===-1&&U?h.push(I):h.splice(Y,1),s("announcement_visibility",JSON.stringify(h))},j=A.useRef(Ri(I=>{s("announcement_content",I)},500)),N=n.jsx(gk,{accentColor:w,announcementBackgroundColor:m,announcementContent:p,announcementTextHandler:I=>{j.current(I)},paidMembersEnabled:g,toggleColorSwatch:C,toggleVisibility:E,visibility:x,onBlur:()=>{}}),{data:{posts:[D]}={posts:[]}}=Dh({searchParams:{filter:"status:published",order:"published_at DESC",limit:"1",fields:"id,url"}});let $=[];D&&($=[{id:"homepage",title:"Homepage"},{id:"post",title:"Post"}]);const R=I=>{$.length&&v(I)};let O=Hn(t);switch(y){case"homepage":O=Hn(t);break;case"post":O=D.url;break}const P=n.jsx(mk,{announcementBackgroundColor:m,announcementContent:p,url:O,visibility:h});return n.jsx(Kr,{afterClose:()=>{b("announcement-bar")},buttonsDisabled:u.disabled,cancelLabel:"Close",deviceSelector:!0,dirty:!1,okColor:u.color,okLabel:u.label||"Save",preview:P,previewBgColor:"greygradient",previewToolbarTabs:$,selectedURL:y,sidebar:N,testId:"announcement-bar-modal",title:"Announcement",titleHeadingLevel:5,onOk:async()=>{await i({fakeWhenUnchanged:!0})||rt({type:"error",message:"An error occurred while saving your changes. Please try again."})},onSelectURL:R})},wk=me.create(xk),xu=[{label:"Global",options:[{value:"site.changed",label:"Site changed (rebuild)"}]},{label:"Posts",options:[{value:"post.added",label:"Post created"},{value:"post.deleted",label:"Post deleted"},{value:"post.edited",label:"Post updated"},{value:"post.published",label:"Post published"},{value:"post.published.edited",label:"Published post updated"},{value:"post.unpublished",label:"Post unpublished"},{value:"post.scheduled",label:"Post scheduled"},{value:"post.unscheduled",label:"Post unscheduled"},{value:"post.tag.attached",label:"Tag added to post"},{value:"post.tag.detached",label:"Tag removed from post"}]},{label:"Pages",options:[{value:"page.added",label:"Page created"},{value:"page.deleted",label:"Page deleted"},{value:"page.edited",label:"Page updated"},{value:"page.published",label:"Page published"},{value:"page.published.edited",label:"Published page updated"},{value:"page.unpublished",label:"Page unpublished"},{value:"page.tag.attached",label:"Tag added to page"},{value:"page.tag.detached",label:"Tag removed from page"}]},{label:"Tags",options:[{value:"tag.added",label:"Tag created"},{value:"tag.edited",label:"Tag updated"},{value:"tag.deleted",label:"Tag deleted"}]},{label:"Members",options:[{value:"member.added",label:"Member added"},{value:"member.edited",label:"Member updated"},{value:"member.deleted",label:"Member deleted"}]}],bk=t=>xu.flatMap(({options:s})=>s).find(s=>s.value===t)?.label,vk=qr({method:"POST",path:()=>"/webhooks/",body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{const i=t.webhooks[0];return i.integration_id===s.id?{...s,webhooks:[...s.webhooks||[],i]}:s})}}}),yk=qr({method:"PUT",path:t=>`/webhooks/${t.id}/`,body:t=>({webhooks:[t]}),updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a)=>a&&{...a,integrations:a.integrations.map(s=>{var i;return{...s,webhooks:(i=s.webhooks)==null?void 0:i.map(u=>u.id===t.webhooks[0].id?t.webhooks[0]:u)}})}}}),_k=qr({method:"DELETE",path:t=>`/webhooks/${t}/`,updateQueries:{dataType:Li,emberUpdateType:"createOrUpdate",update:(t,a,s)=>({...a,integrations:a.integrations.map(i=>{var u;return{...i,webhooks:(u=i.webhooks)==null?void 0:u.filter(p=>p.id!==s)}})})}}),Mk=({webhook:t,integrationId:a})=>{const s=Ft(),{mutateAsync:i}=vk(),{mutateAsync:u}=yk(),p=Ke(),{formState:w,updateForm:m,handleSave:x,errors:g,clearError:h}=an({initialState:t||{},onSave:async()=>{w.id?await u(w):await i({...w,integration_id:a})},onSaveError:p,onValidate:()=>{const b={};return w.name||(b.name="Enter a name"),w.event||(b.event="Select an event"),w.target_url||(b.target_url="Enter a target URL"),w.target_url&&!xt.isURL(w.target_url,{require_tld:!1})&&(b.target_url="Enter a valid URL"),b}});return n.jsx(ut,{okColor:"black",okLabel:t?"Update":"Add",size:"sm",testId:"webhook-modal",title:"Add webhook",formSheet:!0,onOk:async()=>{await x()&&s.remove()},children:n.jsx("div",{className:"mt-5",children:n.jsxs(Be,{marginBottom:!1,marginTop:!1,children:[n.jsx(ve,{error:!!g.name,hint:g.name,maxLength:191,placeholder:"Custom webhook",title:"Name",value:w.name,onChange:b=>m(y=>({...y,name:b.target.value})),onKeyDown:()=>h("name")}),n.jsx(kt,{error:!!g.event,hint:g.event,options:xu,prompt:"Select an event",selectedOption:xu.flatMap(b=>b.options).find(b=>b.value===w.event),testId:"event-select",title:"Event",hideTitle:!0,onSelect:b=>{m(y=>({...y,event:b?.value})),h("event")}}),n.jsx(ve,{error:!!g.target_url,hint:g.target_url,maxLength:2e3,placeholder:"https://example.com",title:"Target URL",type:"url",value:w.target_url,onChange:b=>m(y=>({...y,target_url:b.target.value})),onKeyDown:()=>h("target_url")}),n.jsx(ve,{maxLength:191,placeholder:"https://example.com",title:"Secret",value:w.secret||void 0,onChange:b=>m(y=>({...y,secret:b.target.value}))})]})})})},mp=me.create(Mk),kk=({integration:t})=>{const{mutateAsync:a}=_k(),s=Ke(),i=u=>{me.show(ht,{title:"Are you sure?",prompt:"Deleting this webhook may prevent the integration from functioning.",okColor:"red",okLabel:"Delete Webhook",onOk:async p=>{try{await a(u),p?.remove(),rt({message:"Webhook deleted",type:"info"})}catch(w){s(w)}}})};return n.jsxs("div",{children:[n.jsxs(Ey,{children:[n.jsxs(Af,{bgOnHover:!1,children:[n.jsxs(op,{children:[t.webhooks?.length||0," ",t.webhooks?.length===1?"webhook":"webhooks"]}),n.jsx(op,{children:"Last triggered"})]}),t.webhooks?.map(u=>n.jsxs(Af,{action:n.jsx(Ie,{color:"red",label:"Delete",link:!0,onClick:p=>{p?.stopPropagation(),i(u.id)}}),bgOnHover:!1,hideActions:!0,onClick:()=>{me.show(mp,{webhook:u,integrationId:t.id})},children:[n.jsxs(Df,{className:"w-3/4",children:[n.jsx("div",{className:"text-sm font-semibold",children:u.name}),n.jsxs("div",{className:"grid grid-cols-[max-content_1fr] gap-x-1 text-xs leading-snug",children:[n.jsx("span",{className:"text-grey-600",children:"Event:"}),n.jsx("span",{children:bk(u.event)}),n.jsx("span",{className:"text-grey-600",children:"URL:"}),n.jsx("span",{className:"line-clamp-3 break-all",title:u.target_url,children:u.target_url})]})]}),n.jsx(Df,{className:"w-1/4 text-sm",children:u.last_triggered_at&&new Date(u.last_triggered_at).toLocaleString("default",{weekday:"short",month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})})]}))]}),n.jsx("div",{className:"mt-5",children:n.jsx(Ie,{color:"green",icon:"add",iconColorClass:"text-green",label:"Add webhook",size:"sm",link:!0,onClick:()=>{me.show(mp,{integrationId:t.id})}})})]})},jk=({integration:t})=>{const a=Ft(),{updateRoute:s}=Pe(),{mutateAsync:i}=Ny(),{mutateAsync:u}=Ou(),{mutateAsync:p}=Hs(),w=Ke(),{formState:m,updateForm:x,handleSave:g,saveState:h,errors:b,clearError:y,okProps:v}=an({initialState:t,savingDelay:500,savedDelay:500,onSave:async()=>{await i(m)},onSavedStateReset:()=>{s("integrations")},onSaveError:w,onValidate:()=>{const O={};return m.name||(O.name="Enter integration title"),O}}),C=t.api_keys?.find(O=>O.type==="admin"),E=t.api_keys?.find(O=>O.type==="content"),[j,N]=A.useState(!1),[D,$]=A.useState(!1);A.useEffect(()=>{t.type!=="custom"&&(a.remove(),s("integrations"))},[t.type,a,s]);const R=(O,P)=>{P(!1);const I=O.type==="content"?"Content":"Admin";me.show(ht,{title:`Regenerate ${I} API Key`,prompt:`You can regenerate ${I} API Key any time, but any scripts or applications using it will need to be updated.`,okLabel:`Regenerate ${I} API Key`,onOk:async U=>{try{await u({integrationId:t.id,apiKeyId:O.id}),P(!0),U?.remove()}catch(Y){w(Y)}}})};return n.jsxs(ut,{afterClose:()=>{s("integrations")},buttonsDisabled:v.disabled,cancelLabel:"Close",dirty:h==="unsaved",okColor:v.color,okLabel:v.label||"Save",size:"md",testId:"custom-integration-modal",title:m.name||"Custom integration",stickyFooter:!0,onOk:async()=>{await g({fakeWhenUnchanged:!0})},children:[n.jsxs("div",{className:"mt-7 flex w-full flex-col gap-7 md:flex-row",children:[n.jsx("div",{children:n.jsx(tr,{height:"100px",id:"custom-integration-icon",imageURL:m.icon_image||void 0,width:"100px",onDelete:()=>x(O=>({...O,icon_image:null})),onUpload:async O=>{try{const P=Jn(await p({file:O}));x(I=>({...I,icon_image:P}))}catch(P){const I=P;I.response.status===415&&(I.message="Unsupported file type"),w(I)}},children:"Upload icon"})}),n.jsx("div",{className:"flex grow flex-col",children:n.jsxs(Be,{children:[n.jsx(ve,{error:!!b.name,hint:b.name,maxLength:191,title:"Title",value:m.name,onChange:O=>x(P=>({...P,name:O.target.value})),onKeyDown:()=>y("name")}),n.jsx(ve,{maxLength:2e3,title:"Description",value:m.description||"",onChange:O=>x(P=>({...P,description:O.target.value}))}),n.jsx(Ya,{keys:[{label:"Content API key",text:E?.secret,hint:D?n.jsx("div",{className:"text-green",children:"Content API Key was successfully regenerated"}):void 0,onRegenerate:()=>E&&R(E,$)},{label:"Admin API key",text:C?.secret,hint:j?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:()=>C&&R(C,N)},{label:"API URL",text:window.location.origin+Os().subdir}]})]})})]}),n.jsx("div",{children:n.jsx(kk,{integration:t})})]})},Ek=({params:t})=>{const{data:{integrations:a}={}}=Oi(),s=a?.find(({id:i})=>i===t?.id);return s?n.jsx(jk,{integration:s}):null},Nk=me.create(Ek),Tk=({problem:t})=>{const[a,s]=A.useState(!1),i=()=>{s(!a)};return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[t?.fatal?n.jsx("strong",{children:"Fatal: "}):n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>i()})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(u=>n.jsxs("li",{children:[n.jsx("code",{children:u.ref}),u.message?`: ${u.message}`:""]}))})]}):null]}),hideActions:!0,separator:!0})},Ck=({title:t,prompt:a,fatalErrors:s,onRetry:i})=>{let u=null;return s&&(u=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Errors",children:s.map(p=>typeof p.details=="object"&&p.details.errors&&p.details.errors.length>0?p.details.errors.map(w=>n.jsx(Tk,{problem:w})):typeof p.details=="string"?n.jsx(Cr,{title:p.details}):null)})})),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:"Retry",prompt:n.jsxs(n.Fragment,{children:[a,u]}),title:t,onOk:i})},Sm=me.create(Ck),Pu=()=>{const t=Ov(),s=!t.data?.themes[0]?.warnings?.some(u=>u.code==="GS051-CUSTOM-FONTS"),i=A.useCallback(()=>{t.refetch()},[t]);return{supportsCustomFonts:s,refreshActiveThemeData:i}};function Ik(t){let a=t.package?.name||t.name;return Fv(t)?a+=" (default)":Pv(t)?a+=" (legacy)":t.package?.name!==t.name&&(a=n.jsxs("span",{className:"text-sm md:text-base",children:[a," ",n.jsxs("span",{className:"text-grey-600",children:["(",t.name,")"]})]})),mh(t)&&(a=n.jsxs("span",{className:"text-sm font-bold md:text-base",children:[a," — ",n.jsx("span",{className:"text-green",children:" Active"})]})),a}function Sk(t){return t.package?.version||"1.0"}const Ak=({theme:t})=>{const{mutateAsync:a}=_u(),{mutateAsync:s}=Hv(),{refreshActiveThemeData:i}=Pu(),u=Ke(),p=async()=>{try{await a(t.name),i(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:t.name})," is now your active theme"]})})}catch(b){let y=null;b instanceof Er&&b.response?.status===422&&b.data?.errors?y=b.data.errors:u(b);let v="Invalid Theme",C=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});y&&me.show(Sm,{title:v,prompt:C,fatalErrors:y,onRetry:async E=>{E?.remove(),p()}})}},w=async()=>{const{apiRoot:b}=Os();Uv(`${b}/themes/${t.name}/download`)},m=async()=>{me.show(ht,{title:"Are you sure you want to delete this?",prompt:n.jsxs(n.Fragment,{children:["You are about to delete ",n.jsxs("strong",{children:['"',t.name,'".']})," This is permanent! We warned you, k? Maybe download"," ",n.jsx("span",{className:"cursor-pointer text-green-500",onClick:()=>{w()},children:"your theme before continuing"})]}),okLabel:"Delete",okRunningLabel:"Deleting",okColor:"red",onOk:async b=>{try{await s(t.name),b?.remove()}catch(y){u(y)}}})};let x=[];mh(t)||x.push(n.jsx(Ie,{className:"ml-2",color:"green",label:"Activate",link:!0,onClick:p},"activate"));let g=[{id:"download",label:"Download",onClick:w}];zv(t)&&g.push({id:"delete",label:"Delete",onClick:m});const h={iconColorClass:"text-base",size:"sm"};return n.jsxs("div",{className:"-mr-3 flex items-center gap-4",children:[x,n.jsx(tm,{items:g,position:"end",triggerButtonProps:h})]})},Dk=({themes:t})=>(t.sort((a,s)=>a.active&&!s.active?-1:!a.active&&s.active?1:a.package?.name&&s.package?.name?a.package.name.localeCompare(s.package.name):a.name.localeCompare(s.name)),n.jsx(er,{pageTitle:"Installed themes",children:t.map(a=>{const s=Ik(a),i=Sk(a);return n.jsx(Cr,{action:n.jsx(Ak,{theme:a}),detail:i,id:`theme-${a.name}`,separator:!1,testId:"theme-list-item",title:s},a.name)})})),$k=({themes:t})=>n.jsx($u,{children:n.jsx(Dk,{themes:t})}),Rk=""+new URL("footer-marketplace-bg-BpIYEF6z.png",import.meta.url).href,Lk=3e3,gp=t=>t.variants&&t.variants.length>0,Bc=t=>{const a=[{category:t.category,previewUrl:t.previewUrl,image:t.image}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},Ok=({onSelectTheme:t})=>{const a=Ty(),[s,i]=A.useState(null),[u,p]=A.useState(0),w=m=>{i(m),p(m!==null&&gp(m)&&Bc(m).length>1?1:0)};return A.useEffect(()=>{if(s===null)return;const m=setInterval(()=>{p((u+1)%(Bc(s).length||0))},Lk);return()=>clearInterval(m)},[s,u]),n.jsxs($u,{heading:"Themes",children:[n.jsx("div",{className:"mt-[6vmin] grid grid-cols-1 gap-[6vmin] sm:grid-cols-2 md:grid-cols-3 xl:grid-cols-4",children:a.map(m=>{const x=gp(m),g=Bc(m),h=s===m;return n.jsxs("button",{className:"flex cursor-pointer flex-col gap-3 text-left",type:"button",onClick:()=>{t?.(m)},children:[n.jsx("div",{className:"relative w-full bg-grey-100 shadow-md transition-all duration-500 hover:scale-[1.05]",onMouseEnter:()=>w(m),onMouseLeave:()=>w(null),children:x?n.jsx(n.Fragment,{children:g.map((b,y)=>n.jsx("img",{alt:`${m.name} Theme - ${b.category}`,className:he("size-full object-contain opacity-0 transition-opacity duration-500",{"opacity-100":y===u&&h||!h&&y===0,relative:y===u,absolute:y!==u,"left-0":y!==u,"top-0":y!==u}),src:b.image},`theme-variant-${b.category.toLowerCase()}`))}):n.jsx("img",{alt:`${m.name} Theme`,className:"size-full object-contain",src:m.image})}),n.jsxs("div",{className:"relative mt-3",children:[n.jsx(ct,{level:4,children:m.name}),x?g.map((b,y)=>n.jsx("span",{className:he("absolute left-0 translate-y-px text-sm text-grey-700 opacity-0",{"opacity-100":y===u&&h||!h&&y===0}),children:b.category})):n.jsx("span",{className:"text-sm text-grey-700",children:m.category})]})]},m.name)})}),n.jsxs("div",{className:"mx-[-8vmin] mt-[8vmin] mb-[-8vmin] bg-black px-[8vmin] py-16 text-center text-lg text-white",style:{background:`#15171a url(${Rk}) 100% 100% / 35vw no-repeat`},children:["Find and buy third-party, premium themes from independent developers in the ",n.jsx("a",{className:"inline-block font-semibold text-lime",href:"https://ghost.org/themes/",rel:"noopener noreferrer",target:"_blank",children:"Ghost Marketplace →"})]})]})},xp=({problem:t})=>{const[a,s]=A.useState(!1);return n.jsx(Cr,{title:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`${t.level==="error"?"before:bg-red":"before:bg-yellow"} relative px-4 text-sm before:absolute before:top-1.5 before:left-0 before:block before:size-2 before:rounded-full before:content-['']`,children:[n.jsx("strong",{children:t.level==="error"?"Error: ":"Warning: "}),n.jsx("span",{dangerouslySetInnerHTML:{__html:t.rule}}),n.jsx("div",{className:"absolute top-1 -right-4",children:n.jsx(Ie,{color:"green",icon:a?"chevron-down":"chevron-right",iconColorClass:"text-grey-700",size:"sm",link:!0,onClick:()=>s(!a)})})]}),a?n.jsxs("div",{className:"mt-2 px-4 text-[13px]",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:t.details},className:"mb-4"}),n.jsx(ct,{level:6,children:"Affected files:"}),n.jsx("ul",{className:"mt-1",children:t.failures.map(i=>n.jsxs("li",{children:[n.jsx("code",{children:i.ref}),i.message?`: ${i.message}`:""]},i.ref))})]}):null]}),hideActions:!0,separator:!0})},Fk=({title:t,prompt:a,installedTheme:s,onActivate:i})=>{const{mutateAsync:u}=_u(),{refreshActiveThemeData:p}=Pu(),w=Ke();let m=null;s&&s.errors&&(m=n.jsx("div",{className:"mt-6",children:n.jsx(er,{hint:n.jsxs(n.Fragment,{children:["Highly recommended to fix, functionality ",n.jsx("strong",{children:"could"})," be restricted"]}),title:"Errors",children:s.errors?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let x=null;s&&s.warnings&&(x=n.jsx("div",{className:"mt-10",children:n.jsx(er,{title:"Warnings",children:s.warnings?.map((h,b)=>n.jsx(xp,{problem:h},b))})}));let g=`Activate${s.errors?.length?" with errors":""}`;return s.active&&(g="OK"),n.jsx(vh,{cancelLabel:"Close",okColor:"black",okLabel:g,okRunningLabel:"Activating...",prompt:n.jsxs(n.Fragment,{children:[a,m,x]}),title:t,onOk:async h=>{if(!s.active)try{const y=(await u(s.name)).themes[0];p(),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:y.name})," is now your active theme."]})})}catch(b){w(b)}i?.(),h?.remove()}})},Am=me.create(Fk),wp=t=>t.variants&&t.variants.length>0,bp=t=>{const a=[{image:t.image,category:t.category,previewUrl:t.previewUrl}];return t.variants&&t.variants.length>0&&a.push(...t.variants),a},vp=t=>t.category.toLowerCase(),Pk=({selectedTheme:t,isInstalling:a,installedTheme:s,onBack:i,onInstall:u})=>{const[p,w]=A.useState("desktop"),[m,x]=A.useState(void 0);if(!t)return null;let g=t.previewUrl;const h=bp(t).map(E=>({label:E.category,value:vp(E)}));wp(t)&&(m===void 0&&x(h[0]),g=bp(t).find(E=>vp(E)===m?.value)?.previewUrl||g);let b=`Install ${t.name}`;a?b="Installing...":Ei(t)&&!s?.active?b=`Activate ${t.name}`:s&&(b=`Update ${t.name}`);const y=()=>{u?.()},v=n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ru,{activeItemClassName:"hidden md:!block md:!visible",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:!block md:!visible",items:[{label:"Change theme",onClick:i},{label:t.name}],separatorClassName:"hidden md:!block md:!visible",backIcon:!0,onBack:i}),wp(t)?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"hidden md:!visible md:!block",children:"–"}),n.jsx(kt,{border:!1,containerClassName:"text-sm font-bold",controlClasses:{menu:"min-w-max"},fullWidth:!1,options:h,selectedOption:m,clearBg:!0,onSelect:E=>{x(E||void 0)}})]}):null]}),C=n.jsxs("div",{className:"flex justify-end gap-8",children:[n.jsx(Pn,{buttons:[{icon:"laptop",iconColorClass:p==="desktop"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("desktop")}},{icon:"mobile",iconColorClass:p==="mobile"?"text-black dark:text-green":"text-grey-500 dark:text-grey-600",link:!0,size:"sm",onClick:()=>{w("mobile")}}]}),n.jsx(Ie,{color:"green",disabled:a,label:a?"Installing...":b,onClick:y})]});return n.jsxs("div",{className:"absolute inset-0 z-[100]",children:[n.jsx(hm,{containerClassName:"bg-grey-50 dark:bg-black z-[100]",left:v,right:C,sticky:!1}),n.jsx("div",{className:"flex h-[calc(100%-92px)] grow flex-col items-center justify-center bg-grey-50 dark:bg-black",children:p==="desktop"?n.jsx(Oh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})}):n.jsx(Fh,{children:n.jsx("iframe",{className:"size-full",src:g,title:"Theme preview"})})})]})},Hk=({onUpload:t})=>{const a=Ft();return n.jsx("div",{className:"-mb-6",children:n.jsx(Cy,{id:"theme-upload",onUpload:s=>{a.remove(),t(s)},children:n.jsx("div",{className:"cursor-pointer bg-grey-75 p-10 text-center dark:bg-grey-950",children:"Click to select or drag & drop zip file"})})})},zk=({currentTab:t,setCurrentTab:a,themes:s})=>{const i=Ft(),{updateRoute:u}=Pe(),{mutateAsync:p}=Wv(),{checkThemeLimitError:w,isThemeLimited:m}=ku(),x=Ke(),[g,h]=A.useState(),[b,y]=A.useState(!1);A.useEffect(()=>{(async()=>{if(m){const R=await w(".");h({enabled:!1,error:R||"Your current plan doesn't support uploading custom themes."})}else h({enabled:!0})})()},[w,m]);const v=()=>{i.remove(),u("/")},C=async $=>{const R=$?.name.replace(/\.zip$/,""),O=s.map(P=>P.name);Ei({name:R})?me.show(ht,{title:"Upload failed",cancelLabel:"Cancel",okLabel:"",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("p",{children:["The default ",n.jsx("strong",{children:R})," theme cannot be overwritten."]}),n.jsx("p",{children:"Rename your zip file and try again."})]}),onOk:async P=>{P?.remove()}}):O.includes(R)?me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["The theme ",n.jsx("strong",{children:R})," already exists. Do you want to overwrite it?"]}),okLabel:"Overwrite",cancelLabel:"Cancel",okRunningLabel:"Overwriting...",okColor:"red",onOk:async P=>{y(!0);const I=O.indexOf(R);s.splice(I,1),await E({file:$,onActivate:v}),y(!1),a("installed"),P?.remove()}}):(a("installed"),E({file:$,onActivate:v}))},E=async({file:$,onActivate:R})=>{let O,P=null;try{y(!0),O=await p({file:$}),y(!1)}catch(W){y(!1),W instanceof Er&&W.response?.status===422&&W.data?.errors?P=W.data.errors:x(W)}if(P&&!O){let W="Invalid Theme",B=n.jsx(n.Fragment,{children:"This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme"});me.show(Sm,{title:W,prompt:B,fatalErrors:P,onRetry:async()=>{i?.remove(),N()}})}if(!O)return;const I=O.themes[0];let U="Upload successful",Y=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:I.name})," uploaded"]});if(I.active||(Y=n.jsxs(n.Fragment,{children:[Y," ","Do you want to activate it now?"]})),I?.errors?.length||I.warnings?.length){const W=I?.errors?.length;U=`Upload successful with ${W?"errors":"warnings"}`,Y=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',I.name,'"']})," was installed but we detected some ",W?"errors":"warnings","."]}),I.active||(Y=n.jsxs(n.Fragment,{children:[Y,"You are still able to activate and use the theme but it is recommended to fix these ",W?"errors":"warnings"," before you do so."]}))}me.show(Am,{title:U,prompt:Y,installedTheme:I,onActivate:R})},j=n.jsx("div",{className:"hidden md:!visible md:!block",children:n.jsx(Nr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})}),N=()=>{g&&(g.enabled?me.show(ht,{title:"Upload theme",prompt:n.jsx(Hk,{onUpload:C}),okLabel:"",formSheet:!1}):me.show(Un,{title:"Upgrade to enable custom themes",prompt:g.error||n.jsxs(n.Fragment,{children:["Your current plan only supports official themes. You can install them from the ",n.jsx("a",{href:"https://ghost.org/marketplace/",children:"Ghost theme marketplace"}),"."]}),onOk:()=>u({route:"/pro",isExternal:!0})}))},D=n.jsx("div",{className:"flex items-center gap-14",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ie,{label:"Close",onClick:()=>{i.remove(),v()}}),n.jsx(Ie,{color:"black",label:"Upload theme",loading:b,onClick:N})]})});return n.jsxs(n.Fragment,{children:[n.jsx(hm,{containerClassName:"bg-white dark:bg-black",left:j,right:D}),n.jsx("div",{className:"px-[8vmin] md:hidden",children:n.jsx(Nr,{border:!1,selectedTab:t,tabs:[{id:"official",title:"Official themes"},{id:"installed",title:"Installed"}],onTabChange:$=>{a($)}})})]})},Uk=({currentTab:t,onSelectTheme:a,themes:s})=>{switch(t){case"official":return n.jsx(Ok,{onSelectTheme:a});case"installed":return n.jsx($k,{themes:s})}return null},yp=({source:t,themeRef:a})=>{const[s,i]=A.useState("official"),[u,p]=A.useState(null),[w,m]=A.useState("desktop"),[x,g]=A.useState(!1),[h,b]=A.useState(!1),[y,v]=A.useState(!1),{updateRoute:C}=Pe(),E=Ft(),{data:{themes:j}={}}=Mu(),{mutateAsync:N}=Bv(),{mutateAsync:D}=_u(),{checkThemeLimitError:$}=ku(),R=Ke(),O=U=>{p(U)};if(A.useEffect(()=>{v(!0)},[]),A.useEffect(()=>{(async()=>{if(t&&a&&!h&&y){const Y=a.split("/")[1];if(await $(Y)){E.remove();return}let B="Install Theme";const ie=j?.map(ke=>ke.name)||[];let ge=ie.includes(Y.toLowerCase());const Me=ie.indexOf(Y.toLowerCase()),K=j?.[Me];let ee=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:Y})," will automatically be activated as the theme for your site.",ge&&n.jsxs(n.Fragment,{children:[n.jsx("br",{}),n.jsx("br",{}),"This will overwrite your existing version of ",n.jsx("strong",{children:Y}),K?.active?" which is your active theme":"",". All custom changes will be lost."]})]});me.show(ht,{title:B,prompt:ee,okLabel:"Install",cancelLabel:"Cancel",okRunningLabel:"Installing...",okColor:"black",onOk:async ke=>{let ue;b(!0);try{ge&&j&&j.splice(Me,1),ue=await N(a),ue?.themes[0]&&(await D(ue.themes[0].name),rt({title:"Theme activated",type:"success",message:n.jsxs("div",{children:[n.jsx("span",{className:"capitalize",children:ue.themes[0].name})," is now your active theme"]})})),ke?.remove(),C("")}catch(ye){R(ye)}}})}})()},[a,t,N,R,D,C,j,h,$,E,y]),!j)return;let P,I;if(u){P=j.find(Y=>Y.name.toLowerCase()===u.name.toLowerCase()),I=async()=>{const Y=await $(u.name);if(Y){me.show(Un,{prompt:Y,onOk:()=>C({route:"/pro",isExternal:!0})});return}return P&&!Ei(u)?new Promise(W=>{me.show(ht,{title:"Overwrite theme",prompt:n.jsxs(n.Fragment,{children:["This will overwrite your existing version of ",u.name,P?.active?", which is your active theme":"",". All custom changes will be lost."]}),okLabel:"Overwrite",okRunningLabel:"Installing...",cancelLabel:"Cancel",okColor:"red",onOk:async B=>{B?.remove(),await U(),W()}})}):U()};const U=async()=>{let Y="Success",W=n.jsx(n.Fragment,{});if(Ei(u))Y="Activate theme",W=n.jsxs(n.Fragment,{children:["By clicking below, ",n.jsx("strong",{children:u.name})," will automatically be activated as the theme for your site."]});else{g(!0);let B;try{B=await N(u.ref)}catch(ge){R(ge)}finally{g(!1)}if(!B)return;const ie=B.themes[0];if(Y="Success",W=n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:ie.name})," has been successfully installed."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W," ","Do you want to activate it now?"]})),ie.errors?.length||ie.warnings?.length){const ge=ie.errors?.length;Y=`Installed with ${ge?"errors":"warnings"}`,W=n.jsxs(n.Fragment,{children:["The theme ",n.jsxs("strong",{children:['"',ie.name,'"']})," was installed successfully but we detected some ",ge?"errors":"warnings","."]}),ie.active||(W=n.jsxs(n.Fragment,{children:[W,"You are still able to activate and use the theme but it is recommended to contact the theme developer fix these ",ge?"errors":"warnings"," before you do so."]}))}P=ie}me.show(Am,{title:Y,prompt:W,installedTheme:P,onActivate:()=>{E.remove(),C("")}})}}return n.jsx(ut,{afterClose:()=>{C("")},animate:!1,cancelLabel:"",footer:!1,padding:!1,size:"full",testId:"theme-modal",title:"",scrolling:!0,onCancel:()=>{E.remove(),C("")},children:n.jsx("div",{className:"flex h-full justify-between",children:n.jsxs("div",{className:"grow",children:[u&&n.jsx(Pk,{installedTheme:P,isInstalling:x,selectedTheme:u,onBack:()=>{p(null)},onClose:()=>{C("")},onInstall:I}),n.jsx(zk,{currentTab:s,modal:E,previewMode:w,selectedTheme:u,setCurrentTab:i,setPreviewMode:m,setSelectedTheme:p,themes:j}),!u&&n.jsx(Uk,{currentTab:s,themes:j,onSelectTheme:O})]})})})},Bk=({children:t,to:a,classNames:s})=>{const i=a||document.body;if(!i)return n.jsx(n.Fragment,{children:t});const u=p=>{p.stopPropagation()};return Yv.createPortal(n.jsx("div",{className:s,onMouseDown:u,children:n.jsx("div",{children:t})}),i)};var Wk=class{columnCount;columns=[];columnHeights;constructor(t=3){this.columnCount=t,this.columns=[[]],this.columnHeights=null}reset(){let t=[],a=[];for(let s=0;s<this.columnCount;s+=1)t[s]=[],a[s]=0;this.columns=t,this.columnHeights=a}addColumns(){for(let t=0;t<this.columnCount;t++)this.columns.push([]),this.columnHeights.push(0)}addPhotoToColumns(t){this.columns||this.reset();let a=Math.min(...this.columnHeights),s=this.columnHeights.indexOf(a);this.columnHeights[s]+=300*t.ratio,this.columns[s].push(t)}getColumns(){return this.columns}changeColumnCount(t){t!==this.columnCount&&(this.columnCount=t,this.reset())}},Yk={heart:t=>n.jsx("svg",{viewBox:"0 0 32 32",...t,children:n.jsx("path",{d:"M17.4 29c-.8.8-2 .8-2.8 0L2.3 16.2C-.8 13.1-.8 8 2.3 4.8c3.1-3.1 8.2-3.1 11.3 0L16 7.6l2.3-2.8c3.1-3.1 8.2-3.1 11.3 0 3.1 3.1 3.1 8.2 0 11.4L17.4 29z"})}),download:t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",...t,children:n.jsx("path",{d:"M20 5.5l-8 8-8-8m-3.5 13h23",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:10,fill:"none"})})},Wc=({icon:t,label:a,...s})=>{let i=null;return t&&(i=Yk[t]),n.jsxs("a",{className:"text-grey-700 flex h-8 shrink-0 cursor-pointer items-center rounded-md bg-white px-3 py-2 font-sans text-sm font-medium leading-6 opacity-90 transition-all ease-in-out hover:opacity-100",onClick:u=>u.stopPropagation(),...s,children:[t&&i&&n.jsx(i,{className:`size-4 ${t==="heart"?"fill-red":""} stroke-[3px] ${a&&"mr-1"}`}),a&&n.jsx("span",{children:a})]})},Dm=({payload:t,srcUrl:a,links:s,likes:i,user:u,alt:p,urls:w,height:m,width:x,zoomed:g,insertImage:h,selectImg:b})=>{let y=v=>{v.stopPropagation(),b(g?null:t)};return n.jsxs("div",{className:`relative mb-6 block ${g?"h-full w-[max-content] cursor-zoom-out":"w-full cursor-zoom-in"}`,style:{backgroundColor:t.color||"transparent"},"data-kg-unsplash-gallery-item":!0,onClick:y,children:[n.jsx("img",{alt:p,className:`${g?"h-full w-auto object-contain":"block h-auto"}`,height:m,loading:"lazy",src:a,width:x,"data-kg-unsplash-gallery-img":!0}),n.jsxs("div",{className:"absolute inset-0 flex flex-col justify-between bg-gradient-to-b from-black/5 via-black/5 to-black/30 p-5 opacity-0 transition-all ease-in-out hover:opacity-100",children:[n.jsxs("div",{className:"flex items-center justify-end gap-3",children:[n.jsx(Wc,{"data-kg-button":"unsplash-like",href:`${s.html}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit`,icon:"heart",label:i.toString(),rel:"noopener noreferrer",target:"_blank"}),n.jsx(Wc,{"data-kg-button":"unsplash-download",href:`${s.download}/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit&amp;force=true`,icon:"download"})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center",children:[n.jsx("img",{alt:"author",className:"mr-2 size-8 rounded-full",src:u.profile_image.medium}),n.jsx("div",{className:"mr-2 truncate font-sans text-sm font-medium text-white",children:u.name})]}),n.jsx(Wc,{label:"Insert image","data-kg-unsplash-insert-button":!0,onClick:v=>{v.stopPropagation(),h({src:w.regular.replace(/&w=1080/,"&w=2000"),caption:`<span>Photo by <a href="${u.links.html}">${u.name}</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></span>`,height:m,width:x,alt:p,links:s})}})]})]})]})},qk=({payload:t,insertImage:a,selectImg:s,zoomed:i})=>n.jsx("div",{className:"flex h-full grow basis-0 justify-center","data-kg-unsplash-zoomed":!0,onClick:()=>s(null),children:n.jsx(Dm,{alt:t.alt_description,height:t.height,insertImage:a,likes:t.likes,links:t.links,payload:t,selectImg:s,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:i})}),Gk=()=>n.jsx("div",{className:"absolute inset-y-0 left-0 flex w-full items-center justify-center overflow-hidden pb-[8vh]","data-kg-loader":!0,children:n.jsx("div",{className:"animate-spin before:bg-grey-800 relative inline-block size-[50px] rounded-full border border-black/10 before:z-10 before:mt-[7px] before:block before:size-[7px] before:rounded-full"})}),Xk=t=>n.jsx("div",{className:"mr-6 flex grow basis-0 flex-col justify-start last-of-type:mr-0",children:t.children}),Kk=t=>t?.columns?t?.columns.map((a,s)=>n.jsx(Xk,{children:a.map(i=>n.jsx(Dm,{alt:i.alt_description,height:i.height,insertImage:t?.insertImage,likes:i.likes,links:i.links,payload:i,selectImg:t?.selectImg,srcUrl:i.urls.regular,urls:i.urls,user:i.user,width:i.width,zoomed:t?.zoomed||null},i.id))},a[0]?.id??`empty-${s}`)):null,Yc=t=>n.jsx("div",{className:"relative h-full overflow-hidden","data-kg-unsplash-gallery":!0,children:n.jsxs("div",{ref:t.galleryRef,className:`flex size-full justify-center overflow-auto px-20 ${t?.zoomed?"pb-10":""}`,"data-kg-unsplash-gallery-scrollref":!0,children:[t.children,t?.isLoading&&n.jsx(Gk,{})]})}),Zk=({zoomed:t,error:a,galleryRef:s,isLoading:i,dataset:u,selectImg:p,insertImage:w})=>t?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsx(qk,{alt:t.alt_description,height:t.height,insertImage:w,likes:t.likes,links:t.links,payload:t,selectImg:p,srcUrl:t.urls.regular,urls:t.urls,user:t.user,width:t.width,zoomed:t})}):a?n.jsx(Yc,{galleryRef:s,zoomed:t,children:n.jsxs("div",{className:"flex h-full flex-col items-center justify-center",children:[n.jsx("h1",{className:"mb-4 text-2xl font-bold",children:"Error"}),n.jsx("p",{className:"text-lg font-medium",children:a})]})}):n.jsx(Yc,{galleryRef:s,isLoading:i,zoomed:t,children:n.jsx(Kk,{columns:u,insertImage:w,selectImg:p,zoomed:t})}),Vk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M.75 23.249l22.5-22.5M23.25 23.249L.75.749"})}),Qk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",strokeWidth:1.5,viewBox:"0 0 24 24",...t,children:n.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",d:"M1.472 13.357a9.063 9.063 0 1 0 16.682-7.09 9.063 9.063 0 1 0-16.682 7.09Zm14.749 2.863 7.029 7.03"})}),Jk=t=>n.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 122.43 122.41",...t,children:n.jsx("path",{d:"M83.86 54.15v34.13H38.57V54.15H0v68.26h122.43V54.15H83.86zM38.57 0h45.3v34.13h-45.3z"})}),e2=({closeModal:t,handleSearch:a,children:s})=>n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40 h-[100vh] bg-black opacity-60"}),n.jsxs("div",{className:"not-kg-prose fixed inset-8 z-50 overflow-hidden rounded bg-white shadow-xl","data-kg-modal":"unsplash",children:[n.jsx("button",{className:"absolute right-6 top-6 cursor-pointer",type:"button",children:n.jsx(Vk,{className:"text-grey-400 size-4 stroke-2","data-kg-modal-close-button":!0,onClick:()=>t()})}),n.jsxs("div",{className:"flex h-full flex-col",children:[n.jsxs("header",{className:"flex shrink-0 items-center justify-between px-20 py-10",children:[n.jsxs("h1",{className:"flex items-center gap-2 font-sans text-3xl font-bold text-black",children:[n.jsx(Jk,{className:"mb-1"}),"Unsplash"]}),n.jsxs("div",{className:"relative w-full max-w-sm",children:[n.jsx(Qk,{className:"text-grey-700 absolute left-4 top-1/2 size-4 -translate-y-2"}),n.jsx("input",{className:"border-grey-300 focus:border-grey-400 h-10 w-full rounded-full border border-solid pl-10 pr-8 font-sans text-md font-normal text-black focus-visible:outline-none",placeholder:"Search free high-resolution photos",autoFocus:!0,"data-kg-unsplash-search":!0,onChange:a})]})]}),s]})]})]}),t2=JSON.parse(`[{"id":"TA5hw14Coh4","slug":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","alternative_slugs":{"en":"a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4"},"created_at":"2024-02-07T22:39:36Z","updated_at":"2024-03-07T23:46:14Z","promoted_at":null,"width":8640,"height":5760,"color":"#8c5940","blur_hash":"LKD]brE2IUr?Lgwci_NaDjR*ofoe","description":"NEOM will be home to one of the world’s largest nature reserves: a 25,000 sq km stretch of wilderness, encompassing two deserts divided by a mountain range. | NEOM, Saudi Arabia","alt_description":"a person standing on a sand dune in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707345512638-997d31a10eaa?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707345512638-997d31a10eaa"},"links":{"self":"https://api.unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","html":"https://unsplash.com/photos/a-person-standing-on-a-sand-dune-in-the-desert-TA5hw14Coh4","download":"https://unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/TA5hw14Coh4/download?ixid=M3wxMTc3M3wxfDF8YWxsfDF8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":226,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"UArA9A02Kvk","slug":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","alternative_slugs":{"en":"a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk"},"created_at":"2024-03-05T15:48:31Z","updated_at":"2024-03-11T06:59:25Z","promoted_at":"2024-03-11T06:59:25Z","width":2160,"height":2700,"color":"#262626","blur_hash":"L78;S$~p00oLD%D%IVay9F9ZIUay","description":null,"alt_description":"a black and white photo of a man with his head in his hands","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709653688483-fc2b356c1f36?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709653688483-fc2b356c1f36"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-man-with-his-head-in-his-hands-UArA9A02Kvk","download":"https://unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/UArA9A02Kvk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDJ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"gwWL9kMcm2g","updated_at":"2024-03-11T10:14:07Z","username":"nickandreka","name":"Nick Andréka","first_name":"Nick","last_name":"Andréka","twitter_username":null,"portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/nickandreka","html":"https://unsplash.com/@nickandreka","photos":"https://api.unsplash.com/users/nickandreka/photos","likes":"https://api.unsplash.com/users/nickandreka/likes","portfolio":"https://api.unsplash.com/users/nickandreka/portfolio","following":"https://api.unsplash.com/users/nickandreka/following","followers":"https://api.unsplash.com/users/nickandreka/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1698854198608-989031a5ccdeimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"andreka.art","total_collections":0,"total_likes":8,"total_photos":35,"total_promoted_photos":19,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"andreka.art","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"QX_7m4Lh2qg","slug":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","alternative_slugs":{"en":"a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg"},"created_at":"2024-03-10T16:46:33Z","updated_at":"2024-03-11T06:59:11Z","promoted_at":"2024-03-11T06:59:11Z","width":4000,"height":5751,"color":"#f3f3f3","blur_hash":"LAQJiu~X-;9G-:?cIURj~qD%00xt","description":null,"alt_description":"a black and white photo of a lighthouse","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710088912041-34d1767d376a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710088912041-34d1767d376a"},"links":{"self":"https://api.unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","html":"https://unsplash.com/photos/a-black-and-white-photo-of-a-lighthouse-QX_7m4Lh2qg","download":"https://unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/QX_7m4Lh2qg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDN8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":21,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ue6QWAAHoIQ","updated_at":"2024-03-11T08:53:54Z","username":"huzhewseh","name":"Volodymyr M","first_name":"Volodymyr","last_name":"M","twitter_username":"huzhewseh","portfolio_url":null,"bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/huzhewseh","html":"https://unsplash.com/@huzhewseh","photos":"https://api.unsplash.com/users/huzhewseh/photos","likes":"https://api.unsplash.com/users/huzhewseh/likes","portfolio":"https://api.unsplash.com/users/huzhewseh/portfolio","following":"https://api.unsplash.com/users/huzhewseh/following","followers":"https://api.unsplash.com/users/huzhewseh/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1663221970918-58b1620c49c9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"huzhewseh","total_collections":0,"total_likes":0,"total_photos":18,"total_promoted_photos":3,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"huzhewseh","portfolio_url":null,"twitter_username":"huzhewseh","paypal_email":null}}},{"id":"fMNP7XVcct0","slug":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","alternative_slugs":{"en":"a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0"},"created_at":"2024-03-09T08:40:07Z","updated_at":"2024-03-11T06:58:58Z","promoted_at":"2024-03-11T06:58:58Z","width":3264,"height":4928,"color":"#262626","blur_hash":"L35hY|xu00D%-;xuIUD%00j[?bWB","description":null,"alt_description":"a woman standing in a dark room with her eyes closed","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709973540503-77d699279634?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709973540503-77d699279634?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709973540503-77d699279634"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","html":"https://unsplash.com/photos/a-woman-standing-in-a-dark-room-with-her-eyes-closed-fMNP7XVcct0","download":"https://unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/fMNP7XVcct0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDR8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"lSlibqdw_c8","updated_at":"2024-03-11T08:54:13Z","username":"vitaliyshev89","name":"Vitaliy Shevchenko","first_name":"Vitaliy","last_name":"Shevchenko","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Kharkiv, Ukraine","links":{"self":"https://api.unsplash.com/users/vitaliyshev89","html":"https://unsplash.com/@vitaliyshev89","photos":"https://api.unsplash.com/users/vitaliyshev89/photos","likes":"https://api.unsplash.com/users/vitaliyshev89/likes","portfolio":"https://api.unsplash.com/users/vitaliyshev89/portfolio","following":"https://api.unsplash.com/users/vitaliyshev89/following","followers":"https://api.unsplash.com/users/vitaliyshev89/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1652271342920-31eebbc2c3d0image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":1,"total_photos":205,"total_promoted_photos":29,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"b4kKyX0BQvc","slug":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","alternative_slugs":{"en":"a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc"},"created_at":"2024-03-08T21:58:28Z","updated_at":"2024-03-11T06:57:35Z","promoted_at":"2024-03-11T06:57:27Z","width":6000,"height":4000,"color":"#0c2626","blur_hash":"LSDJS6kD9Zxu~qkDM|xaS%j]xaV@","description":"Stunning metro train station \\"Elbbrücken\\" in Hamburg, Germany during sunset","alt_description":"a train station with a train on the tracks","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709934645859-f1ed8d3a4954?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709934645859-f1ed8d3a4954"},"links":{"self":"https://api.unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","html":"https://unsplash.com/photos/a-train-station-with-a-train-on-the-tracks-b4kKyX0BQvc","download":"https://unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/b4kKyX0BQvc/download?ixid=M3wxMTc3M3wwfDF8YWxsfDV8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"street-photography":{"status":"approved","approved_on":"2024-03-11T06:57:35Z"}},"user":{"id":"TffftDPlBPk","updated_at":"2024-03-11T06:59:04Z","username":"christianlue","name":"Christian Lue","first_name":"Christian","last_name":"Lue","twitter_username":"chrrischii","portfolio_url":null,"bio":null,"location":"Frankfurt / Berlin","links":{"self":"https://api.unsplash.com/users/christianlue","html":"https://unsplash.com/@christianlue","photos":"https://api.unsplash.com/users/christianlue/photos","likes":"https://api.unsplash.com/users/christianlue/likes","portfolio":"https://api.unsplash.com/users/christianlue/portfolio","following":"https://api.unsplash.com/users/christianlue/following","followers":"https://api.unsplash.com/users/christianlue/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1581889127238-ea4aa40e8cb4image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":7,"total_likes":15,"total_photos":571,"total_promoted_photos":103,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":"chrrischii","paypal_email":null}}},{"id":"9633dHhioC8","slug":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","alternative_slugs":{"en":"a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8"},"created_at":"2023-04-28T15:30:26Z","updated_at":"2024-03-10T10:46:58Z","promoted_at":"2023-05-13T12:02:35Z","width":8316,"height":5544,"color":"#734026","blur_hash":"LVHdd89G57-o.9IBsSR-~pD*M{xt","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person walking through a canyon in the desert","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682695795255-b236b1f1267d?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682695795255-b236b1f1267d"},"links":{"self":"https://api.unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","html":"https://unsplash.com/photos/a-person-walking-through-a-canyon-in-the-desert-9633dHhioC8","download":"https://unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/9633dHhioC8/download?ixid=M3wxMTc3M3wxfDF8YWxsfDZ8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":631,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515595&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515798&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"4PmYYBFhwFM","slug":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","alternative_slugs":{"en":"a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM"},"created_at":"2024-03-09T18:40:37Z","updated_at":"2024-03-11T06:57:23Z","promoted_at":"2024-03-11T06:57:23Z","width":5248,"height":7872,"color":"#a6a6a6","blur_hash":"LHDA40%MbGxu%L?bt7of_N%gIBRj","description":null,"alt_description":"a close up of a car door with the word budder on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710009439657-c0dfdc051a28?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710009439657-c0dfdc051a28"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","html":"https://unsplash.com/photos/a-close-up-of-a-car-door-with-the-word-budder-on-it-4PmYYBFhwFM","download":"https://unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/4PmYYBFhwFM/download?ixid=M3wxMTc3M3wwfDF8YWxsfDd8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Xz7_QPPM2So","updated_at":"2024-03-11T08:27:09Z","username":"tiago_f_ferreira","name":"Tiago Ferreira","first_name":"Tiago","last_name":"Ferreira","twitter_username":null,"portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","bio":"Photography - a hobby, a passion.\\r\\nPlanet earth 🌎, a creative space to enjoy.","location":"Lisboa, Portugal","links":{"self":"https://api.unsplash.com/users/tiago_f_ferreira","html":"https://unsplash.com/@tiago_f_ferreira","photos":"https://api.unsplash.com/users/tiago_f_ferreira/photos","likes":"https://api.unsplash.com/users/tiago_f_ferreira/likes","portfolio":"https://api.unsplash.com/users/tiago_f_ferreira/portfolio","following":"https://api.unsplash.com/users/tiago_f_ferreira/following","followers":"https://api.unsplash.com/users/tiago_f_ferreira/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1595844391672-cdf854039843image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiago_f_ferreira","total_collections":1,"total_likes":144,"total_photos":205,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"tiago_f_ferreira","portfolio_url":"https://tiagoferreira765.wixsite.com/photographyandmusic","twitter_username":null,"paypal_email":null}}},{"id":"BUhVFtY-890","slug":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","alternative_slugs":{"en":"a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890"},"created_at":"2024-03-09T10:03:28Z","updated_at":"2024-03-11T06:57:20Z","promoted_at":"2024-03-11T06:57:20Z","width":3511,"height":2231,"color":"#262626","blur_hash":"L24epEWB0eMx$*t8OEV@RPj]baay","description":null,"alt_description":"a close up of a bird with a red head","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709978601970-036e92662b46?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709978601970-036e92662b46?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709978601970-036e92662b46"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","html":"https://unsplash.com/photos/a-close-up-of-a-bird-with-a-red-head-BUhVFtY-890","download":"https://unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/BUhVFtY-890/download?ixid=M3wxMTc3M3wwfDF8YWxsfDh8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"rejected"},"spring":{"status":"rejected"},"earth-hour":{"status":"approved","approved_on":"2024-03-10T12:31:10Z"},"health":{"status":"unevaluated"},"animals":{"status":"unevaluated"},"film":{"status":"unevaluated"},"travel":{"status":"unevaluated"},"nature":{"status":"unevaluated"},"wallpapers":{"status":"unevaluated"}},"user":{"id":"3SCC0WcF-wA","updated_at":"2024-03-11T09:44:02Z","username":"refargotohp","name":"refargotohp","first_name":"refargotohp","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"Hello 👋🏼 My name is Pavel, and I am a photographer. I enjoy the photo in any of its manifestations. Sequential shooting, street, studio, portraiture - it's all me. Waiting for you on my social networks - @refargotohp","location":null,"links":{"self":"https://api.unsplash.com/users/refargotohp","html":"https://unsplash.com/@refargotohp","photos":"https://api.unsplash.com/users/refargotohp/photos","likes":"https://api.unsplash.com/users/refargotohp/likes","portfolio":"https://api.unsplash.com/users/refargotohp/portfolio","following":"https://api.unsplash.com/users/refargotohp/following","followers":"https://api.unsplash.com/users/refargotohp/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1653036388874-dab6bdb375bcimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"refargotohp","total_collections":1,"total_likes":86,"total_photos":132,"total_promoted_photos":61,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"refargotohp","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"99clkpyauJI","slug":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","alternative_slugs":{"en":"there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI"},"created_at":"2024-03-10T00:15:28Z","updated_at":"2024-03-11T06:56:32Z","promoted_at":"2024-03-11T06:56:32Z","width":4299,"height":3448,"color":"#f3f3f3","blur_hash":"LjJuGn?bM{xu~qoKRPM{9FM{t6M_","description":null,"alt_description":"there are bottles of beer on a shelf in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710029721414-9e2125e155c3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710029721414-9e2125e155c3"},"links":{"self":"https://api.unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","html":"https://unsplash.com/photos/there-are-bottles-of-beer-on-a-shelf-in-front-of-a-window-99clkpyauJI","download":"https://unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA","download_location":"https://api.unsplash.com/photos/99clkpyauJI/download?ixid=M3wxMTc3M3wwfDF8YWxsfDl8fHx8fHwyfHwxNzEwMTUzMjA1fA"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"film":{"status":"approved","approved_on":"2024-03-10T16:39:06Z"}},"user":{"id":"TPCcwPbQzmY","updated_at":"2024-03-11T06:59:01Z","username":"suzm4film","name":"szm 4","first_name":"szm","last_name":"4","twitter_username":null,"portfolio_url":null,"bio":null,"location":"Japan","links":{"self":"https://api.unsplash.com/users/suzm4film","html":"https://unsplash.com/@suzm4film","photos":"https://api.unsplash.com/users/suzm4film/photos","likes":"https://api.unsplash.com/users/suzm4film/likes","portfolio":"https://api.unsplash.com/users/suzm4film/portfolio","following":"https://api.unsplash.com/users/suzm4film/following","followers":"https://api.unsplash.com/users/suzm4film/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1632890829763-5c518f873dee?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":0,"total_photos":189,"total_promoted_photos":19,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"Lbt-cZyOUM4","slug":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","alternative_slugs":{"en":"an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4"},"created_at":"2024-03-09T16:58:57Z","updated_at":"2024-03-11T06:57:06Z","promoted_at":"2024-03-11T06:55:38Z","width":5783,"height":3848,"color":"#0c2626","blur_hash":"LkG[.y01Ri-:?bM{RjofM{xuRkWB","description":null,"alt_description":"an old fashioned typewriter sitting on a table in front of a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710003364549-de37d4ed3413?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710003364549-de37d4ed3413"},"links":{"self":"https://api.unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","html":"https://unsplash.com/photos/an-old-fashioned-typewriter-sitting-on-a-table-in-front-of-a-window-Lbt-cZyOUM4","download":"https://unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Lbt-cZyOUM4/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"8D4VFtkiIuw","updated_at":"2024-03-11T07:28:57Z","username":"tama66","name":"Peter Herrmann","first_name":"Peter","last_name":"Herrmann","twitter_username":null,"portfolio_url":null,"bio":"Everything... but not boring! Instagram@Tiefstapler66","location":"Leverkusen/Germany","links":{"self":"https://api.unsplash.com/users/tama66","html":"https://unsplash.com/@tama66","photos":"https://api.unsplash.com/users/tama66/photos","likes":"https://api.unsplash.com/users/tama66/likes","portfolio":"https://api.unsplash.com/users/tama66/portfolio","following":"https://api.unsplash.com/users/tama66/following","followers":"https://api.unsplash.com/users/tama66/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1611475141936-383e23c6cc6dimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"tiefstapler66","total_collections":1,"total_likes":149,"total_photos":363,"total_promoted_photos":152,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"tiefstapler66","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"D1jr0Mevs-c","slug":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","alternative_slugs":{"en":"an-aerial-view-of-a-body-of-water-D1jr0Mevs-c"},"created_at":"2024-02-07T22:34:15Z","updated_at":"2024-03-10T10:54:36Z","promoted_at":null,"width":5280,"height":2970,"color":"#0c2626","blur_hash":"LH9[JL0i+HM{^}Ezw#R.b@n$nhbb","description":"The Islands of NEOM are home to kaleidoscopic-coloured coral reefs and an abundance of diverse marine life | Islands of NEOM – NEOM, Saudi Arabia","alt_description":"an aerial view of a body of water","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707343843982-f8275f3994c5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707343843982-f8275f3994c5"},"links":{"self":"https://api.unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","html":"https://unsplash.com/photos/an-aerial-view-of-a-body-of-water-D1jr0Mevs-c","download":"https://unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/D1jr0Mevs-c/download?ixid=M3wxMTc3M3wxfDF8YWxsfDExfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":308,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":[],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"0RBEUjWQBBA","slug":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","alternative_slugs":{"en":"a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA"},"created_at":"2024-03-10T10:15:48Z","updated_at":"2024-03-11T06:55:22Z","promoted_at":"2024-03-11T06:55:22Z","width":4672,"height":7008,"color":"#262626","blur_hash":"LOG8o{t7WBWB~DofR*j@D%NGR%WB","description":null,"alt_description":"a woman standing under a cherry blossom tree","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710065574765-a685385c6d9a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710065574765-a685385c6d9a"},"links":{"self":"https://api.unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","html":"https://unsplash.com/photos/a-woman-standing-under-a-cherry-blossom-tree-0RBEUjWQBBA","download":"https://unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/0RBEUjWQBBA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ePlndXHeIiM","updated_at":"2024-03-11T09:04:03Z","username":"lwdzl","name":"Jack Dong","first_name":"Jack","last_name":"Dong","twitter_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","bio":null,"location":null,"links":{"self":"https://api.unsplash.com/users/lwdzl","html":"https://unsplash.com/@lwdzl","photos":"https://api.unsplash.com/users/lwdzl/photos","likes":"https://api.unsplash.com/users/lwdzl/likes","portfolio":"https://api.unsplash.com/users/lwdzl/portfolio","following":"https://api.unsplash.com/users/lwdzl/following","followers":"https://api.unsplash.com/users/lwdzl/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1696563144074-80a8da44bcd4?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":0,"total_likes":101,"total_photos":640,"total_promoted_photos":112,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":null,"portfolio_url":"https://www.xiaohongshu.com/user/profile/5f11b998000000000101d8d2?xhsshare=CopyLink&appuid=5f11b998000000000101d8d2&apptime=1696562673","twitter_username":null,"paypal_email":null}}},{"id":"2IGDvJa2Bd0","slug":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","alternative_slugs":{"en":"a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0"},"created_at":"2024-02-21T14:32:53Z","updated_at":"2024-03-11T06:54:06Z","promoted_at":"2024-03-11T06:54:06Z","width":4672,"height":5840,"color":"#f3f3f3","blur_hash":"L#Gv00ofD%ay~qoeM_ay%NafWVj[","description":null,"alt_description":"a path in the middle of a foggy forest","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708525736169-534ee3e24e99?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708525736169-534ee3e24e99"},"links":{"self":"https://api.unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","html":"https://unsplash.com/photos/a-path-in-the-middle-of-a-foggy-forest-2IGDvJa2Bd0","download":"https://unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/2IGDvJa2Bd0/download?ixid=M3wxMTc3M3wwfDF8YWxsfDEzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":11,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"zL5HAN1fnJw","updated_at":"2024-03-11T06:58:57Z","username":"viklukphotography","name":"Viktor Mischke","first_name":"Viktor","last_name":"Mischke","twitter_username":null,"portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","bio":null,"location":"Schloss Holte-Stukenbrock","links":{"self":"https://api.unsplash.com/users/viklukphotography","html":"https://unsplash.com/@viklukphotography","photos":"https://api.unsplash.com/users/viklukphotography/photos","likes":"https://api.unsplash.com/users/viklukphotography/likes","portfolio":"https://api.unsplash.com/users/viklukphotography/portfolio","following":"https://api.unsplash.com/users/viklukphotography/following","followers":"https://api.unsplash.com/users/viklukphotography/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1646051425690-ed09fae6858fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"viktormischke","total_collections":0,"total_likes":141,"total_photos":38,"total_promoted_photos":8,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"viktormischke","portfolio_url":"https://www.istockphoto.com/de/portfolio/snoviktor","twitter_username":null,"paypal_email":null}}},{"id":"PZfeP0uwBpQ","slug":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","alternative_slugs":{"en":"a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ"},"created_at":"2024-02-24T10:57:49Z","updated_at":"2024-03-11T06:53:56Z","promoted_at":"2024-03-11T06:53:56Z","width":2720,"height":4080,"color":"#404026","blur_hash":"LIB:Tx%K56NGORbYxas:0KRj-poe","description":"A woman wearing a traditional coolie hat kneels in a field of green vegetables, carefully harvesting the crops.","alt_description":"a person with a hat on their head in a field","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708771641703-0df3d179cec3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708771641703-0df3d179cec3"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","html":"https://unsplash.com/photos/a-person-with-a-hat-on-their-head-in-a-field-PZfeP0uwBpQ","download":"https://unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/PZfeP0uwBpQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":2,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"},"experimental":{"status":"rejected"}},"user":{"id":"mWjiXj5vQuQ","updated_at":"2024-03-11T06:58:57Z","username":"chanwei_snap","name":"Chanwei","first_name":"Chanwei","last_name":null,"twitter_username":null,"portfolio_url":null,"bio":"👋 Just a snap-happy amateur sharing my photos with you!\\r\\n📍Instagram: @chanwei.snap\\r\\n","location":"Taipei, Taiwan","links":{"self":"https://api.unsplash.com/users/chanwei_snap","html":"https://unsplash.com/@chanwei_snap","photos":"https://api.unsplash.com/users/chanwei_snap/photos","likes":"https://api.unsplash.com/users/chanwei_snap/likes","portfolio":"https://api.unsplash.com/users/chanwei_snap/portfolio","following":"https://api.unsplash.com/users/chanwei_snap/following","followers":"https://api.unsplash.com/users/chanwei_snap/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1705518610211-a929b876f4d5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"chanwei.snap","total_collections":15,"total_likes":63,"total_photos":150,"total_promoted_photos":2,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"chanwei.snap","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"1JwHaWeSK9s","slug":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","alternative_slugs":{"en":"a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s"},"created_at":"2024-03-10T11:33:51Z","updated_at":"2024-03-11T06:57:09Z","promoted_at":"2024-03-11T06:53:39Z","width":3586,"height":3917,"color":"#f3f3d9","blur_hash":"LIQ0T^j=_4%M%MxbM{M{_4jZITbH","description":"Title: Christmas eve Artist: Callowhill, James Publisher: L. Prang & Co. Name on Item: JC Date: [ca. 1861–1897] https://www.digitalcommonwealth.org/search/commonwealth:7w62f880r","alt_description":"a picture of some white flowers on a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710069455079-2059d3cefe91?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710069455079-2059d3cefe91"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","html":"https://unsplash.com/photos/a-picture-of-some-white-flowers-on-a-white-background-1JwHaWeSK9s","download":"https://unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/1JwHaWeSK9s/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":7,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"piFVWeoWxU8","updated_at":"2024-03-11T07:28:12Z","username":"bostonpubliclibrary","name":"Boston Public Library","first_name":"Boston","last_name":"Public Library","twitter_username":null,"portfolio_url":"https://www.bpl.org/","bio":"Considered a pioneer of public library service in the United States, the Boston Public Library is among the three largest collections in the country and is committed to be ‘Free for All’.","location":"Boston, USA","links":{"self":"https://api.unsplash.com/users/bostonpubliclibrary","html":"https://unsplash.com/@bostonpubliclibrary","photos":"https://api.unsplash.com/users/bostonpubliclibrary/photos","likes":"https://api.unsplash.com/users/bostonpubliclibrary/likes","portfolio":"https://api.unsplash.com/users/bostonpubliclibrary/portfolio","following":"https://api.unsplash.com/users/bostonpubliclibrary/following","followers":"https://api.unsplash.com/users/bostonpubliclibrary/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1579171056760-0293bb679901image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":null,"total_collections":6,"total_likes":0,"total_photos":510,"total_promoted_photos":62,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":null,"portfolio_url":"https://www.bpl.org/","twitter_username":null,"paypal_email":null}}},{"id":"efzvMAIpfWY","slug":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","alternative_slugs":{"en":"a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-11T09:48:19Z","promoted_at":null,"width":9504,"height":6336,"color":"#c07359","blur_hash":"LELo7xNHxa~Bz:s9S4nO~VbwoLS~","description":"Amongst expansive red sands and spectacular sandstone rock formations, Hisma Desert – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a couple of people that are standing in the dirt","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685797742-42c9987a2c34?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685797742-42c9987a2c34"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","html":"https://unsplash.com/photos/a-couple-of-people-that-are-standing-in-the-dirt-efzvMAIpfWY","download":"https://unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/efzvMAIpfWY/download?ixid=M3wxMTc3M3wxfDF8YWxsfDE2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":211,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515544&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515747&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"j39-6Uto9QQ","slug":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","alternative_slugs":{"en":"a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ"},"created_at":"2024-03-09T22:12:40Z","updated_at":"2024-03-11T07:57:13Z","promoted_at":"2024-03-11T06:51:56Z","width":3759,"height":5639,"color":"#26260c","blur_hash":"L79tDG?H4;IURu%MM{RP~oohIoIo","description":null,"alt_description":"a forest filled with lots of tall trees","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710020339360-ce951881b835?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710020339360-ce951881b835?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710020339360-ce951881b835"},"links":{"self":"https://api.unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","html":"https://unsplash.com/photos/a-forest-filled-with-lots-of-tall-trees-j39-6Uto9QQ","download":"https://unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/j39-6Uto9QQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":1,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"MarIhx6ztc0","updated_at":"2024-03-11T06:51:56Z","username":"brice_cooper18","name":"Brice Cooper","first_name":"Brice","last_name":"Cooper","twitter_username":null,"portfolio_url":null,"bio":"Always down for an adventure, capturing those adventures one photo at a time. Never stop exploring!","location":"Florida","links":{"self":"https://api.unsplash.com/users/brice_cooper18","html":"https://unsplash.com/@brice_cooper18","photos":"https://api.unsplash.com/users/brice_cooper18/photos","likes":"https://api.unsplash.com/users/brice_cooper18/likes","portfolio":"https://api.unsplash.com/users/brice_cooper18/portfolio","following":"https://api.unsplash.com/users/brice_cooper18/following","followers":"https://api.unsplash.com/users/brice_cooper18/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1673045276376-91bb892b6e94image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"brice_cooper18","total_collections":14,"total_likes":0,"total_photos":1467,"total_promoted_photos":51,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"brice_cooper18","portfolio_url":null,"twitter_username":null,"paypal_email":null}}},{"id":"oTE1p2Awp3I","slug":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","alternative_slugs":{"en":"a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I"},"created_at":"2024-02-27T22:15:01Z","updated_at":"2024-03-11T06:51:52Z","promoted_at":"2024-03-11T06:51:52Z","width":4000,"height":5333,"color":"#c0c0c0","blur_hash":"LLE:C[u5IooJ_N%gE1ax~ps8Vsoe","description":null,"alt_description":"a couple of people standing on top of a cliff next to the ocean","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709071784840-cf3ecc434749?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709071784840-cf3ecc434749"},"links":{"self":"https://api.unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","html":"https://unsplash.com/photos/a-couple-of-people-standing-on-top-of-a-cliff-next-to-the-ocean-oTE1p2Awp3I","download":"https://unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/oTE1p2Awp3I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":8,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"khtnjqjzcq0","updated_at":"2024-03-11T06:51:53Z","username":"mitchorr","name":"Mitchell Orr","first_name":"Mitchell","last_name":"Orr","twitter_username":null,"portfolio_url":"https://mitchorr.darkroom.tech/","bio":"If you feel you would like to support my work, any donations no matter how small, would be extremely helpful. \\r\\nThanks for looking!","location":"Wirral","links":{"self":"https://api.unsplash.com/users/mitchorr","html":"https://unsplash.com/@mitchorr","photos":"https://api.unsplash.com/users/mitchorr/photos","likes":"https://api.unsplash.com/users/mitchorr/likes","portfolio":"https://api.unsplash.com/users/mitchorr/portfolio","following":"https://api.unsplash.com/users/mitchorr/following","followers":"https://api.unsplash.com/users/mitchorr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687891061126-8858e815018fimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mitchorr1","total_collections":0,"total_likes":41,"total_photos":358,"total_promoted_photos":118,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mitchorr1","portfolio_url":"https://mitchorr.darkroom.tech/","twitter_username":null,"paypal_email":null}}},{"id":"ihmo0uRQ3jA","slug":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","alternative_slugs":{"en":"a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA"},"created_at":"2024-02-24T20:00:04Z","updated_at":"2024-03-11T06:51:48Z","promoted_at":"2024-03-11T06:51:48Z","width":4000,"height":6000,"color":"#260c0c","blur_hash":"L78;b;?I4Xx?tcIUD+xt03oy-.M|","description":null,"alt_description":"a bed sitting in a bedroom next to a window","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1708804309492-5ef3f3458c33?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1708804309492-5ef3f3458c33"},"links":{"self":"https://api.unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","html":"https://unsplash.com/photos/a-bed-sitting-in-a-bedroom-next-to-a-window-ihmo0uRQ3jA","download":"https://unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/ihmo0uRQ3jA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDE5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":20,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"Og5qBrDjufI","updated_at":"2024-03-11T06:51:49Z","username":"mariailves","name":"Maria Ilves","first_name":"Maria","last_name":"Ilves","twitter_username":null,"portfolio_url":"http://www.mariailves.com","bio":null,"location":"Ambleside","links":{"self":"https://api.unsplash.com/users/mariailves","html":"https://unsplash.com/@mariailves","photos":"https://api.unsplash.com/users/mariailves/photos","likes":"https://api.unsplash.com/users/mariailves/likes","portfolio":"https://api.unsplash.com/users/mariailves/portfolio","following":"https://api.unsplash.com/users/mariailves/following","followers":"https://api.unsplash.com/users/mariailves/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708802611867-ab4ff1564c8cimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"mariailves_","total_collections":0,"total_likes":0,"total_photos":38,"total_promoted_photos":4,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"mariailves_","portfolio_url":"http://www.mariailves.com","twitter_username":null,"paypal_email":null}}},{"id":"UvQtTVdFi9I","slug":"UvQtTVdFi9I","alternative_slugs":{"en":"UvQtTVdFi9I"},"created_at":"2016-08-12T16:12:25Z","updated_at":"2024-03-11T06:50:27Z","promoted_at":"2024-03-11T06:50:27Z","width":3648,"height":5472,"color":"#8ca673","blur_hash":"LGG9g4IAVax[.Zxus=kB9HtQ%LRj","description":null,"alt_description":null,"breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1471018289981-5d9f06e2bf45?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1471018289981-5d9f06e2bf45"},"links":{"self":"https://api.unsplash.com/photos/UvQtTVdFi9I","html":"https://unsplash.com/photos/UvQtTVdFi9I","download":"https://unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/UvQtTVdFi9I/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":60,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"dhG1THiRwtA","updated_at":"2024-03-11T06:50:28Z","username":"clarissemeyer","name":"Clarisse Meyer","first_name":"Clarisse","last_name":"Meyer","twitter_username":"claireymeyer","portfolio_url":"https://www.clarisserae.com","bio":"Photo | Video | Design - Southern California & Beyond\\r\\nInstagram: @clarisse.rae","location":"Orange County, CA","links":{"self":"https://api.unsplash.com/users/clarissemeyer","html":"https://unsplash.com/@clarissemeyer","photos":"https://api.unsplash.com/users/clarissemeyer/photos","likes":"https://api.unsplash.com/users/clarissemeyer/likes","portfolio":"https://api.unsplash.com/users/clarissemeyer/portfolio","following":"https://api.unsplash.com/users/clarissemeyer/following","followers":"https://api.unsplash.com/users/clarissemeyer/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1470948329031-558b487bdf37?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"clarisse.rae","total_collections":2,"total_likes":139,"total_photos":99,"total_promoted_photos":58,"accepted_tos":false,"for_hire":false,"social":{"instagram_username":"clarisse.rae","portfolio_url":"https://www.clarisserae.com","twitter_username":"claireymeyer","paypal_email":null}}},{"id":"iswshBYbTBk","slug":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","alternative_slugs":{"en":"a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk"},"created_at":"2024-02-27T19:26:10Z","updated_at":"2024-03-11T06:48:50Z","promoted_at":"2024-03-11T06:48:50Z","width":3940,"height":2634,"color":"#73a673","blur_hash":"LEDn~t%{y:WXDPVtH[jt8{o|VGk9","description":null,"alt_description":"a woman riding an escalator down an escalator","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709061965707-9a89ffb23103?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709061965707-9a89ffb23103"},"links":{"self":"https://api.unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","html":"https://unsplash.com/photos/a-woman-riding-an-escalator-down-an-escalator-iswshBYbTBk","download":"https://unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/iswshBYbTBk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIyfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"people":{"status":"rejected"}},"user":{"id":"d-2o2yQwtxY","updated_at":"2024-03-11T06:48:59Z","username":"vitalymazur","name":"Vitalii Mazur","first_name":"Vitalii","last_name":"Mazur","twitter_username":"@madebyvitalii","portfolio_url":"https://www.behance.net/vitaliimazur","bio":"Life through photography 🌿 \\r\\nFeel free to support me via PayPal (vitaly.mazur@icloud.com) if you like to use my shots. Also I'm available for a photoshoot in Toronto 📸🇨🇦","location":"Toronto, Canada","links":{"self":"https://api.unsplash.com/users/vitalymazur","html":"https://unsplash.com/@vitalymazur","photos":"https://api.unsplash.com/users/vitalymazur/photos","likes":"https://api.unsplash.com/users/vitalymazur/likes","portfolio":"https://api.unsplash.com/users/vitalymazur/portfolio","following":"https://api.unsplash.com/users/vitalymazur/following","followers":"https://api.unsplash.com/users/vitalymazur/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1708119387274-fad12c7d293b?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"vitalymazur ","total_collections":14,"total_likes":773,"total_photos":263,"total_promoted_photos":15,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"vitalymazur ","portfolio_url":"https://www.behance.net/vitaliimazur","twitter_username":"@madebyvitalii","paypal_email":null}}},{"id":"uSNuKKh7wpA","slug":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","alternative_slugs":{"en":"a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA"},"created_at":"2024-03-01T10:58:28Z","updated_at":"2024-03-11T06:48:07Z","promoted_at":"2024-03-11T06:48:07Z","width":9600,"height":5400,"color":"#d9d9d9","blur_hash":"LJLq]_WI_3%eo$xa?cRi~qobITM|","description":"Made in blender 4.0","alt_description":"a picture of a green object with a white background","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709290649154-54c725bd4484?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709290649154-54c725bd4484"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","html":"https://unsplash.com/photos/a-picture-of-a-green-object-with-a-white-background-uSNuKKh7wpA","download":"https://unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/uSNuKKh7wpA/download?ixid=M3wxMTc3M3wwfDF8YWxsfDIzfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":42,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"3d-renders":{"status":"approved","approved_on":"2024-03-06T08:20:20Z"},"experimental":{"status":"approved","approved_on":"2024-03-06T07:38:30Z"}},"user":{"id":"5TCQxdaW0wE","updated_at":"2024-03-11T10:04:04Z","username":"theshubhamdhage","name":"Shubham Dhage","first_name":"Shubham","last_name":"Dhage","twitter_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","bio":"Creating things is my passion.","location":"Pune, India","links":{"self":"https://api.unsplash.com/users/theshubhamdhage","html":"https://unsplash.com/@theshubhamdhage","photos":"https://api.unsplash.com/users/theshubhamdhage/photos","likes":"https://api.unsplash.com/users/theshubhamdhage/likes","portfolio":"https://api.unsplash.com/users/theshubhamdhage/portfolio","following":"https://api.unsplash.com/users/theshubhamdhage/following","followers":"https://api.unsplash.com/users/theshubhamdhage/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1702918491890-622aa47079a5image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"theshubhamdhage","total_collections":2,"total_likes":296,"total_photos":734,"total_promoted_photos":147,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"theshubhamdhage","portfolio_url":"https://theshubhamdhage.com/","twitter_username":"theshubhamdhage","paypal_email":null}}},{"id":"7lN8MJPnlXs","slug":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","alternative_slugs":{"en":"a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs"},"created_at":"2024-03-06T19:31:23Z","updated_at":"2024-03-11T06:47:23Z","promoted_at":"2024-03-11T06:47:23Z","width":6720,"height":4480,"color":"#26260c","blur_hash":"L05OKD},~lR7TJRj%d^$_0E49Is:","description":null,"alt_description":"a close up of a pine tree with lots of needles","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709753422610-39ed7ddf9e08?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709753422610-39ed7ddf9e08"},"links":{"self":"https://api.unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","html":"https://unsplash.com/photos/a-close-up-of-a-pine-tree-with-lots-of-needles-7lN8MJPnlXs","download":"https://unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/7lN8MJPnlXs/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI0fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":5,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"textures-patterns":{"status":"approved","approved_on":"2024-03-11T06:47:18Z"}},"user":{"id":"gMFqynHNocY","updated_at":"2024-03-11T06:48:57Z","username":"blakecheekk","name":"Blake Cheek","first_name":"Blake","last_name":"Cheek","twitter_username":"blakecheekk","portfolio_url":"http://blakecheek.com","bio":"Photographer and Videographer. Lover of coffee and Jesus. ","location":"Atlanta, Ga","links":{"self":"https://api.unsplash.com/users/blakecheekk","html":"https://unsplash.com/@blakecheekk","photos":"https://api.unsplash.com/users/blakecheekk/photos","likes":"https://api.unsplash.com/users/blakecheekk/likes","portfolio":"https://api.unsplash.com/users/blakecheekk/portfolio","following":"https://api.unsplash.com/users/blakecheekk/following","followers":"https://api.unsplash.com/users/blakecheekk/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1709746841716-156061dd4fe9image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"blakecheekk","total_collections":4,"total_likes":0,"total_photos":423,"total_promoted_photos":165,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"blakecheekk","portfolio_url":"http://blakecheek.com","twitter_username":"blakecheekk","paypal_email":null}}},{"id":"Fw8vp9G6FtE","slug":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","alternative_slugs":{"en":"the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE"},"created_at":"2024-03-10T00:43:31Z","updated_at":"2024-03-11T06:46:50Z","promoted_at":"2024-03-11T06:46:50Z","width":6240,"height":4160,"color":"#262626","blur_hash":"LIINNov{ae}=56I]eToaEmWC^iI;","description":null,"alt_description":"the contents of a backpack laid out on a table","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710031407576-135a680d6e10?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710031407576-135a680d6e10"},"links":{"self":"https://api.unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","html":"https://unsplash.com/photos/the-contents-of-a-backpack-laid-out-on-a-table-Fw8vp9G6FtE","download":"https://unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/Fw8vp9G6FtE/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI1fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":4,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"UmKpkFAcSDE","updated_at":"2024-03-11T06:46:50Z","username":"taylorheeryphoto","name":"Taylor Heery","first_name":"Taylor","last_name":"Heery","twitter_username":"tahegri","portfolio_url":"http://www.taylorheery.com","bio":"VENMO: @taylorheeryphoto\\r\\nFujifilm fanatic.","location":"Hendersonville, NC","links":{"self":"https://api.unsplash.com/users/taylorheeryphoto","html":"https://unsplash.com/@taylorheeryphoto","photos":"https://api.unsplash.com/users/taylorheeryphoto/photos","likes":"https://api.unsplash.com/users/taylorheeryphoto/likes","portfolio":"https://api.unsplash.com/users/taylorheeryphoto/portfolio","following":"https://api.unsplash.com/users/taylorheeryphoto/following","followers":"https://api.unsplash.com/users/taylorheeryphoto/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1710031596049-549d947d2a3a?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"taylorheeryphoto","total_collections":0,"total_likes":107,"total_photos":520,"total_promoted_photos":209,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"taylorheeryphoto","portfolio_url":"http://www.taylorheery.com","twitter_username":"tahegri","paypal_email":null}}},{"id":"e75CfMG0Sgo","slug":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","alternative_slugs":{"en":"a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo"},"created_at":"2023-04-28T12:46:16Z","updated_at":"2024-03-10T11:50:20Z","promoted_at":null,"width":5429,"height":3619,"color":"#a6c0d9","blur_hash":"LnHLYm%0IAi_?wn$ngj[OtRjs:f6","description":"Nature Reserve – NEOM, Saudi Arabia | The NEOM Nature Reserve region is being designed to deliver protection and restoration of biodiversity across 95% of NEOM.","alt_description":"a person with a backpack looking at mountains","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1682685796002-e05458d61f07?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1682685796002-e05458d61f07"},"links":{"self":"https://api.unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","html":"https://unsplash.com/photos/a-person-with-a-backpack-looking-at-mountains-e75CfMG0Sgo","download":"https://unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/e75CfMG0Sgo/download?ixid=M3wxMTc3M3wxfDF8YWxsfDI2fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":174,"liked_by_user":false,"current_user_collections":[],"sponsorship":{"impression_urls":["https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515577&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif","https://secure.insightexpressai.com/adServer/adServerESI.aspx?script=false&bannerID=11515780&rnd=[timestamp]&redir=https://secure.insightexpressai.com/adserver/1pixel.gif"],"tagline":"Made to Change","tagline_url":"https://www.neom.com/en-us?utm_source=unsplash&utm_medium=referral","sponsor":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},"topic_submissions":{},"user":{"id":"mYizSrdJkkU","updated_at":"2024-03-11T08:54:08Z","username":"neom","name":"NEOM","first_name":"NEOM","last_name":null,"twitter_username":"neom","portfolio_url":"http://www.neom.com","bio":"Located in the northwest of Saudi Arabia, NEOM’s diverse climate offers both sun-soaked beaches and snow-capped mountains. NEOM’s unique location will provide residents with enhanced livability while protecting 95% of the natural landscape.","location":"NEOM, Saudi Arabia","links":{"self":"https://api.unsplash.com/users/neom","html":"https://unsplash.com/@neom","photos":"https://api.unsplash.com/users/neom/photos","likes":"https://api.unsplash.com/users/neom/likes","portfolio":"https://api.unsplash.com/users/neom/portfolio","following":"https://api.unsplash.com/users/neom/following","followers":"https://api.unsplash.com/users/neom/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1679489218992-ebe823c797dfimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"discoverneom","total_collections":7,"total_likes":1,"total_photos":222,"total_promoted_photos":72,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"discoverneom","portfolio_url":"http://www.neom.com","twitter_username":"neom","paypal_email":null}}},{"id":"jSjHcyHFOdQ","slug":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","alternative_slugs":{"en":"a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ"},"created_at":"2024-02-08T15:36:25Z","updated_at":"2024-03-11T06:46:46Z","promoted_at":"2024-03-11T06:46:46Z","width":8400,"height":5600,"color":"#0c260c","blur_hash":"L44CLsVuD7pF.Po2R7R*-.oyX5My","description":null,"alt_description":"a picture of a green plant in a dark room","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1707406543260-ed14bbd0d086?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1707406543260-ed14bbd0d086"},"links":{"self":"https://api.unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","html":"https://unsplash.com/photos/a-picture-of-a-green-plant-in-a-dark-room-jSjHcyHFOdQ","download":"https://unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/jSjHcyHFOdQ/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI3fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":14,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"ogQykx6hk_c","updated_at":"2024-03-11T06:46:46Z","username":"pawel_czerwinski","name":"Pawel Czerwinski","first_name":"Pawel","last_name":"Czerwinski","twitter_username":"pm_cze","portfolio_url":"http://paypal.me/pmcze","bio":"Questions about how you can use the photos? help.unsplash.com/en/collections/1463188-unsplash-license 👍","location":"Poland","links":{"self":"https://api.unsplash.com/users/pawel_czerwinski","html":"https://unsplash.com/@pawel_czerwinski","photos":"https://api.unsplash.com/users/pawel_czerwinski/photos","likes":"https://api.unsplash.com/users/pawel_czerwinski/likes","portfolio":"https://api.unsplash.com/users/pawel_czerwinski/portfolio","following":"https://api.unsplash.com/users/pawel_czerwinski/following","followers":"https://api.unsplash.com/users/pawel_czerwinski/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1592328433409-d9ce8a5333eaimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"pmcze","total_collections":7,"total_likes":39154,"total_photos":2137,"total_promoted_photos":1760,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"pmcze","portfolio_url":"http://paypal.me/pmcze","twitter_username":"pm_cze","paypal_email":null}}},{"id":"OfGHUYX0CCg","slug":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","alternative_slugs":{"en":"a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg"},"created_at":"2024-03-06T14:06:51Z","updated_at":"2024-03-11T08:56:52Z","promoted_at":"2024-03-11T06:45:54Z","width":8192,"height":5460,"color":"#260c0c","blur_hash":"LUF{kg=cj@fQ}XxFS3azxFfjS2WW","description":null,"alt_description":"a body of water that has some waves on it","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709733167477-25398ca709c0?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709733167477-25398ca709c0"},"links":{"self":"https://api.unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","html":"https://unsplash.com/photos/a-body-of-water-that-has-some-waves-on-it-OfGHUYX0CCg","download":"https://unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/OfGHUYX0CCg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI4fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":16,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{"earth-hour":{"status":"approved","approved_on":"2024-03-07T09:43:45Z"}},"user":{"id":"uFFemR6e1vs","updated_at":"2024-03-11T06:48:56Z","username":"marcospradobr","name":"Marcos Paulo Prado","first_name":"Marcos Paulo","last_name":"Prado","twitter_username":null,"portfolio_url":"https://www.instagram.com/eusoumarcosprado","bio":"People and commercial photographer based in Rio de Janeiro, Brasil","location":"Rio de Janeiro, Brazil","links":{"self":"https://api.unsplash.com/users/marcospradobr","html":"https://unsplash.com/@marcospradobr","photos":"https://api.unsplash.com/users/marcospradobr/photos","likes":"https://api.unsplash.com/users/marcospradobr/likes","portfolio":"https://api.unsplash.com/users/marcospradobr/portfolio","following":"https://api.unsplash.com/users/marcospradobr/following","followers":"https://api.unsplash.com/users/marcospradobr/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1572910425876-25d44d080554image?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"eusoumarcosprado","total_collections":0,"total_likes":306,"total_photos":413,"total_promoted_photos":139,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"eusoumarcosprado","portfolio_url":"https://www.instagram.com/eusoumarcosprado","twitter_username":null,"paypal_email":null}}},{"id":"VKQpbzeWbrk","slug":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","alternative_slugs":{"en":"a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk"},"created_at":"2024-03-09T21:24:04Z","updated_at":"2024-03-11T06:45:51Z","promoted_at":"2024-03-11T06:45:51Z","width":2592,"height":3872,"color":"#8c2626","blur_hash":"LFI2{Exr0gE}Dlo|=_W-5RE3O=xH","description":null,"alt_description":"a bouquet of orange and white tulips on a red door","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1710018337941-58197591d55a?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1710018337941-58197591d55a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1710018337941-58197591d55a"},"links":{"self":"https://api.unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","html":"https://unsplash.com/photos/a-bouquet-of-orange-and-white-tulips-on-a-red-door-VKQpbzeWbrk","download":"https://unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/VKQpbzeWbrk/download?ixid=M3wxMTc3M3wwfDF8YWxsfDI5fHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"H8-Yyg-eX4A","updated_at":"2024-03-11T06:48:56Z","username":"jaelphotos","name":"Jael Coon","first_name":"Jael","last_name":"Coon","twitter_username":null,"portfolio_url":"https://linktr.ee/jaelcoon","bio":"Coffee drinker, photographer, artist and chef/baker","location":"USA","links":{"self":"https://api.unsplash.com/users/jaelphotos","html":"https://unsplash.com/@jaelphotos","photos":"https://api.unsplash.com/users/jaelphotos/photos","likes":"https://api.unsplash.com/users/jaelphotos/likes","portfolio":"https://api.unsplash.com/users/jaelphotos/portfolio","following":"https://api.unsplash.com/users/jaelphotos/following","followers":"https://api.unsplash.com/users/jaelphotos/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1693432710439-47b22b3f6a9eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"jaelcoon","total_collections":51,"total_likes":0,"total_photos":230,"total_promoted_photos":3,"accepted_tos":true,"for_hire":false,"social":{"instagram_username":"jaelcoon","portfolio_url":"https://linktr.ee/jaelcoon","twitter_username":null,"paypal_email":null}}},{"id":"W6AqsLH6HOg","slug":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","alternative_slugs":{"en":"a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg"},"created_at":"2024-03-06T06:59:15Z","updated_at":"2024-03-11T06:45:45Z","promoted_at":"2024-03-11T06:45:45Z","width":6000,"height":4000,"color":"#595959","blur_hash":"LYE_]gO?}qOsW--Ux]$%RPoeX9oz","description":null,"alt_description":"a license plate on the back of a car","breadcrumbs":[],"urls":{"raw":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3","full":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=srgb&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=85","regular":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=1080","small":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=400","thumb":"https://images.unsplash.com/photo-1709708210553-490ba885fcf6?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw&ixlib=rb-4.0.3&q=80&w=200","small_s3":"https://s3.us-west-2.amazonaws.com/images.unsplash.com/small/photo-1709708210553-490ba885fcf6"},"links":{"self":"https://api.unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","html":"https://unsplash.com/photos/a-license-plate-on-the-back-of-a-car-W6AqsLH6HOg","download":"https://unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw","download_location":"https://api.unsplash.com/photos/W6AqsLH6HOg/download?ixid=M3wxMTc3M3wwfDF8YWxsfDMwfHx8fHx8Mnx8MTcxMDE1MzIwNXw"},"likes":3,"liked_by_user":false,"current_user_collections":[],"sponsorship":null,"topic_submissions":{},"user":{"id":"VNV70zPYNto","updated_at":"2024-03-11T06:48:56Z","username":"venajeborec","name":"Václav Pechar","first_name":"Václav","last_name":"Pechar","twitter_username":null,"portfolio_url":null,"bio":"Photographer from South Bohemia ✌🏻\\r\\nBe free to contact me to book a shoot 🙏🏻","location":"Czech Republic - Písek","links":{"self":"https://api.unsplash.com/users/venajeborec","html":"https://unsplash.com/@venajeborec","photos":"https://api.unsplash.com/users/venajeborec/photos","likes":"https://api.unsplash.com/users/venajeborec/likes","portfolio":"https://api.unsplash.com/users/venajeborec/portfolio","following":"https://api.unsplash.com/users/venajeborec/following","followers":"https://api.unsplash.com/users/venajeborec/followers"},"profile_image":{"small":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=32&h=32","medium":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=64&h=64","large":"https://images.unsplash.com/profile-1687031143105-2420498da92eimage?ixlib=rb-4.0.3&crop=faces&fit=crop&w=128&h=128"},"instagram_username":"amazingvena","total_collections":0,"total_likes":7,"total_photos":324,"total_promoted_photos":30,"accepted_tos":true,"for_hire":true,"social":{"instagram_username":"amazingvena","portfolio_url":null,"twitter_username":null,"paypal_email":null}}}]`),n2=class{photos=t2;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";ERROR=null;IS_LOADING=!1;currentPage=1;async fetchPhotos(){this.IS_LOADING=!0;let t=(this.currentPage-1)*30,a=this.currentPage*30;return this.currentPage+=1,this.IS_LOADING=!1,this.photos.slice(t,a)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;let t=await this.fetchPhotos();return t.length>0?t:null}async searchPhotos(t){this.SEARCH_IS_RUNNING=!0;let a=this.photos.filter(s=>s.description&&s.description.toLowerCase().includes(t.toLowerCase())||s.alt_description&&s.alt_description.toLowerCase().includes(t.toLowerCase()));return this.SEARCH_IS_RUNNING=!1,a}searchIsRunning(){return this.SEARCH_IS_RUNNING}triggerDownload(t){}},r2=class{_provider;constructor(t){this._provider=t}async fetchPhotos(){return await this._provider.fetchPhotos()}async searchPhotos(t){return await this._provider.searchPhotos(t)}async triggerDownload(t){this._provider.triggerDownload(t)}async fetchNextPage(){return await this._provider.fetchNextPage()||null}searchIsRunning(){return this._provider.searchIsRunning()}},s2=class{API_URL="https://api.unsplash.com";HEADERS;ERROR=null;PAGINATION={};REQUEST_IS_RUNNING=!1;SEARCH_IS_RUNNING=!1;LAST_REQUEST_URL="";IS_LOADING=!1;constructor(t){this.HEADERS=t}async makeRequest(t){if(this.REQUEST_IS_RUNNING)return null;this.LAST_REQUEST_URL=t;let a={method:"GET",headers:this.HEADERS};try{this.REQUEST_IS_RUNNING=!0,this.IS_LOADING=!0;let s=await fetch(t,a),i=await this.checkStatus(s);this.extractPagination(i);let u=await i.json();return"results"in u?u.results:u}catch(s){return this.ERROR=s,null}finally{this.REQUEST_IS_RUNNING=!1,this.IS_LOADING=!1}}extractPagination(t){let a=RegExp('<(.*)>; rel="(.*)"'),s=[],i={};for(let u of t.headers.entries())u[0]==="link"&&s.push(u[1]);return s&&s.toString().split(",").forEach(u=>{if(u){let p=a.exec(u);p&&(i[p[2]]=p[1])}}),this.PAGINATION=i,t}async fetchPhotos(){let t=`${this.API_URL}/photos?per_page=30`;return await this.makeRequest(t)}async fetchNextPage(){if(this.REQUEST_IS_RUNNING||this.SEARCH_IS_RUNNING)return null;if(this.PAGINATION.next){let t=`${this.PAGINATION.next}`,a=await this.makeRequest(t);if(a)return a}return null}async searchPhotos(t){let a=`${this.API_URL}/search/photos?query=${t}&per_page=30`;return await this.makeRequest(a)||[]}async triggerDownload(t){t.links.download_location&&await this.makeRequest(t.links.download_location)}async checkStatus(t){if(t.status>=200&&t.status<300)return t;let a="",s,i=t.headers.get("content-type");if(i==="application/json")s=t.json().then(u=>u.errors[0]);else if(i==="text/xml")s=t.text();else throw Error("Unsupported content type");return s.then(u=>{throw t.status===403&&t.headers.get("x-ratelimit-remaining")==="0"&&(a="Unsplash API rate limit reached, please try again later."),a=a||u||`Error ${t.status}: Uh-oh! Trouble reaching the Unsplash API`,this.ERROR=a,Error(a)})}searchIsRunning(){return this.SEARCH_IS_RUNNING}},a2=class{photoUseCases;masonryService;photos=[];constructor(t,a){this.photoUseCases=t,this.masonryService=a}async loadNew(){this.photos=await this.photoUseCases.fetchPhotos(),await this.layoutPhotos()}async layoutPhotos(){this.masonryService.reset(),this.photos&&this.photos.forEach(t=>{t.ratio=t.height/t.width,this.masonryService.addPhotoToColumns(t)})}getColumns(){return this.masonryService.getColumns()}async updateSearch(t){this.photos=await this.photoUseCases.searchPhotos(t),this.layoutPhotos()}async loadNextPage(){let t=await this.photoUseCases.fetchNextPage()||[];this.photos=[...this.photos,...t],this.layoutPhotos()}clearPhotos(){this.photos=[]}triggerDownload(t){this.photoUseCases.triggerDownload(t)}searchIsRunning(){return this.photoUseCases.searchIsRunning()}},o2=({onClose:t,onImageInsert:a,unsplashProviderConfig:s})=>{let i=A.useMemo(()=>s?new s2(s):new n2,[s]),u=A.useMemo(()=>new r2(i),[i]),p=A.useMemo(()=>new Wk(3),[]),w=A.useMemo(()=>new a2(u,p),[u,p]),m=A.useRef(null),[x,g]=A.useState(0),[h,b]=A.useState(0),[y,v]=A.useState(w.searchIsRunning()||!0),C=A.useRef(!1),[E,j]=A.useState(""),[N,D]=A.useState(null),[$,R]=A.useState([]);Ve.useEffect(()=>{m.current&&N===null&&h!==0&&(m.current.scrollTop=h,b(0))},[N,x,h]),Ve.useEffect(()=>{let B=ie=>{ie.key==="Escape"&&t()};return window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}},[t]),Ve.useEffect(()=>{let B=m.current;if(!N)return B&&B.addEventListener("scroll",()=>{g(B.scrollTop)}),()=>{B&&B.removeEventListener("scroll",()=>{g(B.scrollTop)})}},[m,N]);let O=Ve.useCallback(async()=>{(C.current===!1||E.length===0)&&(R([]),w.clearPhotos(),await w.loadNew(),R(w.getColumns()||[]),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1))},[w,E]),P=async B=>{let ie=B.target.value;ie.length>2&&(D(null),j(ie)),ie.length===0&&(j(""),C.current=!1,await O())},I=Ve.useCallback(async()=>{if(E){v(!0),R([]),w.clearPhotos(),await w.updateSearch(E);let B=w.getColumns();B&&R(B),m.current&&m.current.scrollTop!==0&&(m.current.scrollTop=0),v(!1)}},[E,w]);Ve.useEffect(()=>{let B=setTimeout(async()=>{E.length>2?await I():await O()},300);return()=>{C.current=!0,clearTimeout(B)}},[E,I,O]);let U=Ve.useCallback(async()=>{v(!0),await w.loadNextPage(),R(w.getColumns()||[]),v(!1)},[w]);Ve.useEffect(()=>{let B=m.current;if(B){let ie=async()=>{N===null&&B.scrollTop+B.clientHeight>=B.scrollHeight-1e3&&await U()};return B.addEventListener("scroll",ie),()=>{B.removeEventListener("scroll",ie)}}},[m,U,N]);let Y=B=>{B&&(D(B),b(x)),B===null&&(D(null),m.current&&(m.current.scrollTop=h))};async function W(B){B.src&&(w.triggerDownload(B),a(B))}return n.jsx(e2,{closeModal:t,handleSearch:P,children:n.jsx(Zk,{dataset:$,error:null,galleryRef:m,insertImage:W,isLoading:y,selectImg:Y,zoomed:N})})};const i2=({unsplashProviderConfig:t,onClose:a,onImageInsert:s})=>n.jsx(Bk,{classNames:"admin-x-settings",children:n.jsx(o2,{unsplashProviderConfig:t,onClose:a,onImageInsert:s})}),Ss={heading:[{name:"Cardo",creator:"David Perry"},{name:"Chakra Petch",creator:"Cadson Demak"},{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Libre Baskerville",creator:"Impallari Type"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Old Standard TT",creator:"Alexey Kryukov"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Rufina",creator:"Martin Sommaruga"},{name:"Space Grotesk",creator:"Florian Karsten"},{name:"Space Mono",creator:"Colophon Foundry"},{name:"Tenor Sans",creator:"Denis Masharov"}],body:[{name:"Fira Mono",creator:"Carrois Apostrophe"},{name:"Fira Sans",creator:"Carrois Apostrophe"},{name:"IBM Plex Serif",creator:"Mike Abbink"},{name:"Inter",creator:"Rasmus Andersson"},{name:"JetBrains Mono",creator:"JetBrains"},{name:"Lora",creator:"Cyreal"},{name:"Manrope",creator:"Mikhail Sharanda"},{name:"Merriweather",creator:"Sorkin Type"},{name:"Noto Sans",creator:"Google"},{name:"Noto Serif",creator:"Google"},{name:"Nunito",creator:"Vernon Adams"},{name:"Poppins",creator:"Indian Type Foundry"},{name:"Roboto",creator:"Christian Robertson"},{name:"Space Mono",creator:"Colophon Foundry"}]},Tn="Theme default",_p=({children:t,...a})=>n.jsx(_h.SingleValue,{...a,children:n.jsx("div",{className:"group","data-testid":"select-current-option","data-value":a.data.value,children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-white text-2xl font-bold dark:bg-black",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]})})}),Mp=({children:t,...a})=>n.jsx(_h.Option,{...a,children:n.jsxs("div",{className:a.isSelected?"relative flex w-full items-center justify-between gap-2":"group","data-testid":"select-option","data-value":a.data.value,children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"flex size-12 items-center justify-center rounded-md bg-grey-150 text-2xl font-bold group-hover:bg-grey-250 dark:bg-grey-900 dark:group-hover:bg-grey-800",children:"Aa"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsx("span",{className:"text-md",children:t}),n.jsx("span",{className:"font-sans text-xs font-normal text-grey-700 dark:text-grey-600",children:a.data.creator})]})]}),a.isSelected&&n.jsx("span",{children:n.jsx(Ge,{name:"check",size:14})})]})}),l2=t=>t.split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" "),kp=({values:t,updateSetting:a})=>{const{mutateAsync:s}=Hs(),{settings:i}=ze(),[u]=ot(i,["unsplash"]),[p,w]=A.useState(!1),{unsplashConfig:m}=qv(),x=Ke(),g=yh(),{data:h}=Mu(),b=h?.themes.find(I=>I.active),y=b?`${l2(b.name)} (v${b.package?.version||"1.0"})`:"Loading...",[v,C]=A.useState(Ss.heading.find(I=>I.name===t.headingFont)||{name:Tn,creator:y}),[E,j]=A.useState(Ss.heading.find(I=>I.name===t.bodyFont)||{name:Tn,creator:y}),N=(I,U=!0)=>{let Y="";return I==="Cardo"?Y=he("font-cardo",U&&"font-bold"):I==="Manrope"?Y=he("font-manrope",U&&"font-bold"):I==="Merriweather"?Y=he("font-merriweather",U&&"font-bold"):I==="Nunito"?Y=he("font-nunito",U&&"font-semibold"):I==="Old Standard TT"?Y=he("font-old-standard-tt",U&&"font-bold"):I==="Prata"?Y=he("font-prata",U&&"font-normal"):I==="Roboto"?Y=he("font-roboto",U&&"font-bold"):I==="Rufina"?Y=he("font-rufina",U&&"font-bold"):I==="Tenor Sans"?Y=he("font-tenor-sans",U&&"font-normal"):I==="Chakra Petch"?Y=he("font-chakra-petch",U&&"font-normal"):I==="Fira Mono"?Y=he("font-fira-mono",U&&"font-bold"):I==="Fira Sans"?Y=he("font-fira-sans",U&&"font-bold"):I==="IBM Plex Serif"?Y=he("font-ibm-plex-serif",U&&"font-bold"):I==="Inter"?Y=he("font-inter",U&&"font-bold"):I==="JetBrains Mono"?Y=he("font-jetbrains-mono",U&&"font-bold"):I==="Lora"?Y=he("font-lora",U&&"font-bold"):I==="Noto Sans"?Y=he("font-noto-sans",U&&"font-bold"):I==="Noto Serif"?Y=he("font-noto-serif",U&&"font-bold"):I==="Poppins"?Y=he("font-poppins",U&&"font-bold"):I==="Space Grotesk"?Y=he("font-space-grotesk",U&&"font-bold"):I==="Space Mono"&&(Y=he("font-space-mono",U&&"font-bold")),Y},D=Ss.heading.map(I=>{let U=N(I.name,!0);return{label:I.name,value:I.name,creator:I.creator,className:U}});D.unshift({label:Tn,value:Tn,creator:y,className:"font-sans font-normal"});const $=Ss.body.map(I=>{let U=N(I.name,!1);return{label:I.name,value:I.name,creator:I.creator,className:U}});$.unshift({label:Tn,value:Tn,creator:y,className:"font-sans font-normal"});const R=(I,U)=>I===Tn?"":N(I,U),O={label:v.name,value:v.name,creator:v.creator},P={label:E.name,value:E.name,creator:E.creator};return n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"",children:[n.jsx(Fn,{debounceMs:200,direction:"rtl",testId:"accent-color-picker",title:n.jsx("div",{children:"Accent color"}),value:t.accentColor,onChange:I=>a("accent_color",I)}),n.jsxs("div",{className:"flex items-start justify-between",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication icon"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"A square, social icon, at least 60x60px"})]}),n.jsx("div",{className:"flex gap-3",children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-1!",height:t.icon?"66px":"36px",id:"logo",imageBWCheckedBg:!0,imageURL:t.icon||"",width:t.icon?"66px":"160px",onDelete:()=>a("icon",null),onUpload:async I=>{try{a("icon",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload icon"})})]}),n.jsxs("div",{className:`flex items-start justify-between ${t.icon&&"mt-2"}`,children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication logo"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Appears usually in the main header of your theme"})]}),n.jsx("div",{children:n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",height:"60px",id:"site-logo",imageBWCheckedBg:!0,imageFit:"contain",imageURL:t.logo||"",width:"160px",onDelete:()=>a("logo",null),onUpload:async I=>{try{a("logo",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload logo"})})]}),n.jsxs("div",{className:"mt-2 flex items-start justify-between","data-testid":"publication-cover",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Publication cover"}),n.jsx(zn,{className:"mt-0! mr-5 max-w-[160px]",children:"Usually as a large banner image on your index pages"})]}),n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",editButtonClassName:"top-1! right-10!",height:"95px",id:"cover",imageURL:t.coverImage||"",openUnsplash:()=>w(!0),pintura:{isEnabled:g.isEnabled,openEditor:async()=>g.openEditor({image:t.coverImage||"",handleSave:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){x(U)}}})},unsplashButtonClassName:"bg-transparent! h-6! top-1.5! w-6! right-1.5! z-50",unsplashEnabled:u,width:"160px",onDelete:()=>a("cover_image",null),onUpload:async I=>{try{a("cover_image",Jn(await s({file:I})))}catch(U){const Y=U;Y.response.status===415&&(Y.message="Unsupported file type"),x(Y)}},children:"Upload cover"}),p&&m&&u&&n.jsx(i2,{unsplashProviderConfig:m,onClose:()=>{w(!1)},onImageInsert:I=>{I.src&&a("cover_image",I.src),w(!1)}})]})]}),n.jsxs(Be,{className:"-mt-4",gap:"sm",margins:"lg",title:"Typography",children:[n.jsx(kt,{className:R(O.label,!0),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",menuShouldScrollIntoView:!0,options:D,selectedOption:O,testId:"heading-font-select",title:"Heading font",onSelect:I=>{I?.value===Tn?(C({name:Tn,creator:y}),a("heading_font","")):(C({name:I?.value||"",creator:Ss.heading.find(U=>U.name===I?.value)?.creator||""}),a("heading_font",I?.value||""))}}),n.jsx(kt,{className:R(P.label,!1),components:{Option:Mp,SingleValue:_p},controlClasses:{control:"min-h-16! pl-2!",option:"pl-2!"},hint:"",maxMenuHeight:200,menuPosition:"fixed",menuShouldScrollIntoView:!0,options:$,selectedOption:P,testId:"body-font-select",title:"Body font",onSelect:I=>{I?.value===Tn?(j({name:Tn,creator:y}),a("body_font","")):(j({name:I?.value||"",creator:Ss.body.find(U=>U.name===I?.value)?.creator||""}),a("body_font",I?.value||""))}})]})]})};var yi={exports:{}},ji={exports:{}},c2=ji.exports,jp;function u2(){return jp||(jp=1,(function(t,a){//! mingo.js 2.5.3
4
4
  //! Copyright (c) 2020 Francis Asante
5
5
  //! MIT
6
6
  (function(s,i){t.exports=i()})(c2,(function(){function s(l){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?s=function(c){return typeof c}:s=function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},s(l)}function i(l,c){if(!(l instanceof c))throw new TypeError("Cannot call a class as a function")}function u(l,c){for(var d=0;d<c.length;d++){var _=c[d];_.enumerable=_.enumerable||!1,_.configurable=!0,"value"in _&&(_.writable=!0),Object.defineProperty(l,_.key,_)}}function p(l,c,d){return c&&u(l.prototype,c),l}function w(l,c){return m(l)||x(l,c)||g(l,c)||b()}function m(l){if(Array.isArray(l))return l}function x(l,c){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(l)))){var d=[],_=!0,S=!1,F=void 0;try{for(var G=l[Symbol.iterator](),X;!(_=(X=G.next()).done)&&(d.push(X.value),!(c&&d.length===c));_=!0);}catch(le){S=!0,F=le}finally{try{!_&&G.return!=null&&G.return()}finally{if(S)throw F}}return d}}function g(l,c){if(l){if(typeof l=="string")return h(l,c);var d=Object.prototype.toString.call(l).slice(8,-1);if(d==="Object"&&l.constructor&&(d=l.constructor.name),d==="Map"||d==="Set")return Array.from(d);if(d==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(d))return h(l,c)}}function h(l,c){(c==null||c>l.length)&&(c=l.length);for(var d=0,_=new Array(c);d<c;d++)_[d]=l[d];return _}function b(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
7
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var y="null",v="undefined",C="bool",E="boolean",j="number",T="string",D="date",$="regex",R="regexp",O="array",P="object",I="function",U=[y,v,E,j,T,D,R],Y="expression",W="group",B="pipeline",ie="projection",ge="query",Me=function(){};Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(c,d){if(this==null)throw new TypeError('"this" is null or not defined');var _=Object(this),S=_.length>>>0;if(S===0)return!1;var F=d|0,G=Math.max(F>=0?F:S-Math.abs(F),0);function X(le,se){return le===se||typeof le=="number"&&typeof se=="number"&&isNaN(le)&&isNaN(se)}for(;G<S;){if(X(_[G],c))return!0;G++}return!1}});var K=Array.prototype.push;function ee(l,c){l||ar(c)}function ke(l){switch(J(l)){case O:return l.map(ke);case P:return hn(l,ke);default:return l}}function ue(l){switch(J(l)){case O:return zt([],l);case P:return Object.assign({},l);default:return l}}function ye(l){return l===null?"Null":l===void 0?"Undefined":l.constructor.name}function J(l){return ye(l).toLowerCase()}function de(l){return J(l)===E}function fe(l){return J(l)===T}function ce(l){return J(l)===j}var V=Array.isArray||function(l){return!!l&&l.constructor===Array};function be(l){return!!l&&l.constructor===Object}function Le(l){return l===Object(l)}function it(l){return J(l)===D}function wt(l){return J(l)===R}function Pt(l){return J(l)===I}function re(l){return l==null}function Ze(l){return l===null}function Ht(l){return l===void 0}function st(l,c){return l.includes(c)}function mt(l,c){return!st(l,c)}function It(l){return!!l}function St(l){return re(l)||V(l)&&l.length===0||be(l)&&Je(l).length===0||!l}function $t(l){return V(l)?l:[l]}function bt(l,c){return l.hasOwnProperty(c)}function ar(l){throw new Error(l)}var Je=Object.keys;function Se(l,c,d){if(c=c.bind(d),V(l))for(var _=0,S=l.length;_<S&&c(l[_],_,l)!==!1;_++);else for(var F in l)if(l.hasOwnProperty(F)&&c(l[F],F,l)===!1)break}function hn(l,c,d){c=c.bind(d);for(var _={},S=Je(l),F=0;F<S.length;F++){var G=S[F];_[G]=c(l[G],G)}return _}function yn(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(l===Me)return c;if(c===Me)return l;var _=[l,c];if(!(_.every(be)||_.every(V)))throw Error("mismatched types. must both be array or object");if(d.flatten=d.flatten||!1,V(l))if(d.flatten){for(var S=0,F=0;S<l.length&&F<c.length;)l[S]=yn(l[S++],c[F++],d);for(;F<c.length;)l.push(c[F++])}else K.apply(l,c);else Object.keys(c).forEach(function(G){l.hasOwnProperty(G)?l[G]=yn(l[G],c[G],d):l[G]=c[G]});return l}function jt(l,c,d){return V(l)?l.reduce(c,d):(Se(l,function(_,S){return d=c(d,_,S,l)}),d)}function _n(l,c){var d=c.map(mn);return l.filter(function(_){return st(d,mn(_))})}function Ui(l,c){return zt(zt([],l),c.filter(mt.bind(null,l)))}function or(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,d=[];function _(S,F){for(var G=0,X=S.length;G<X;G++)V(S[G])&&(F>0||F<0)?_(S[G],Math.max(-1,F-1)):d.push(S[G])}return _(l,c),d}function ir(l,c){if(c<1)return l;for(;c--&&V(l)&&l.length===1;)l=l[0];return l}function In(l,c){for(var d=[l],_=[c];d.length>0;)if(l=d.pop(),c=_.pop(),l!==c){var S=J(l);if(S!==J(c)||S===I)return!1;switch(S){case O:if(l.length!==c.length)return!1;zt(d,l),zt(_,c);break;case P:var F=Je(l),G=Je(c);if(F.length!==G.length)return!1;F.sort(),G.sort();for(var X=0,le=F.length;X<le;X++){var se=F[X];if(se!==G[X])return!1;d.push(l[se]),_.push(c[se])}break;default:if(Sn(l)!==Sn(c))return!1}}return d.length===0}function Ir(l){var c={},d=[];return Se(l,function(_){var S=mn(_);bt(c,S)||(d.push(_),c[S]=0)}),d}function Sn(l){var c=J(l);switch(c){case E:case j:case R:return l.toString();case T:return JSON.stringify(l);case D:return l.toISOString();case y:case v:return c;case O:return"["+l.map(Sn)+"]";default:var d=c===P?"":"".concat(ye(l)),_=Je(l);return _.sort(),"".concat(d,"{")+_.map(function(S){return"".concat(Sn(S),":").concat(Sn(l[S]))})+"}"}}function mn(l){if(re(l))return null;for(var c=0,d=Sn(l),_=d.length;_;)c=(c<<5)-c^d.charCodeAt(--_);return c>>>0}function Sr(l,c){return l<c?-1:l>c?1:0}function Jr(l,c,d){var _=[],S=[],F={};if(d=d||Sr,St(l))return l;for(var G=0;G<l.length;G++){var X=l[G],le=c(X,G);re(le)?S.push(X):(F[le]?F[le].push(X):F[le]=[X],_.push(le))}_.sort(d);for(var se=0;se<_.length;se++)zt(S,F[_[se]]);return S}function es(l,c){var d={keys:[],groups:[]},_={};return Se(l,function(S){var F=c(S),G=mn(F),X=-1;_[G]===void 0&&(X=d.keys.length,_[G]=X,d.keys.push(F),d.groups.push([])),X=_[G],d.groups[X].push(S)}),d}function zt(l,c){return K.apply(l,c),l}function Bs(l,c){for(var d=0,_=l.length-1;d<=_;){var S=Math.round(d+(_-d)/2);if(c<l[S])_=S-1;else if(c>l[S])d=S+1;else return S}return d}function Bi(l){var c=this;return(function(d){return function(){for(var _=arguments.length,S=new Array(_),F=0;F<_;F++)S[F]=arguments[F];var G=mn(S);return bt(d,G)||(d[G]=l.apply(c,S)),d[G]}})({})}function Ws(l,c){return Le(l)?l[c]:void 0}function on(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},_=0;d.meta=d.meta||!1;function S(F,G){for(var X=F,le=0;le<G.length;le++){var se=G[le],je=se.match(/^\d+$/)===null;if(je&&V(X)){if(le===0&&_>0)break;_+=1,G=G.slice(le),X=jt(X,function(xe,qe){var Oe=S(qe,G);return Oe!==void 0&&xe.push(Oe),xe},[]);break}else X=Ws(X,se);if(X===void 0)break}return X}return l=st(U,J(l))?l:S(l,c.split(".")),d.meta?{result:l,depth:_}:l}function lr(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};d.preserveMissingValues=d.preserveMissingValues||!1;var _=c.split("."),S=_[0],F=_.length===1||_.slice(1).join("."),G=S.match(/^\d+$/)!==null,X=_.length>1,le,se;try{V(l)?G?(le=Ws(l,Number(S)),X&&(le=lr(le,F,d)),le=[le]):(le=[],Se(l,function(je){se=lr(je,c,d),d.preserveMissingValues?(se===void 0&&(se=Me),le.push(se)):se!==void 0&&le.push(se)})):(se=Ws(l,S),X&&(se=lr(se,F,d)),ee(se!==void 0),le={},le[S]=se)}catch{le=void 0}return le}function ts(l){if(V(l))for(var c=l.length-1;c>=0;c--)l[c]===Me?l.splice(c,1):ts(l[c]);else if(be(l))for(var d in l)l.hasOwnProperty(d)&&ts(l[d]);return l}function Ys(l,c,d){var _=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,S=c.split("."),F=S[0],G=S.length===1||S.slice(1).join(".");S.length===1?d(l,F):(_===!0&&re(l[F])&&(l[F]={}),Ys(l[F],G,d,_))}function qs(l,c,d){Ys(l,c,function(_,S){_[S]=d},!0)}function Gs(l,c){Ys(l,c,function(d,_){V(d)&&/^\d+$/.test(_)?d.splice(parseInt(_),1):be(d)&&delete d[_]})}function Xs(l){return!!l&&l[0]==="$"}function Ks(l){if(st(U,J(l)))return wt(l)?{$regex:l}:{$eq:l};if(Le(l)){var c=Je(l);if(!c.some(Xs))return{$eq:l};if(st(c,"$regex")){var d=l.$regex,_=l.$options||"",S="";fe(d)&&(S+=d.ignoreCase||_.indexOf("i")>=0?"i":"",S+=d.multiline||_.indexOf("m")>=0?"m":"",S+=d.global||_.indexOf("g")>=0?"g":"",d=new RegExp(d,S)),l.$regex=d,delete l.$options}}return l}function Zs(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return re(d)?c<0?(c=Math.max(0,l.length+c),d=l.length-c+1):(d=c,c=0):(c<0&&(c=Math.max(0,l.length+c)),ee(d>0,"Invalid argument value for $slice operator. Limit must be a positive number"),d+=c),l.slice(c,d)}function qa(l,c){var d=jt(l,function(G,X){return G+X},0),_=l.length||1,S=c&&1||0,F=d/_;return Math.sqrt(jt(l,function(G,X){return G+Math.pow(X-F,2)},0)/(_-S))}function Wi(){return{assert:ee,clone:ue,cloneDeep:ke,each:Se,err:ar,hashCode:mn,getType:ye,has:bt,includes:st.bind(null),isArray:V,isBoolean:de,isDate:it,isEmpty:St,isEqual:In,isFunction:Pt,isNil:re,isNull:Ze,isNumber:ce,isObject:be,isRegExp:wt,isString:fe,isUndefined:Ht,keys:Je,reduce:jt,resolve:on,resolveObj:lr}}var ns=function(){return Object.assign({computeValue:oe,ops:Qs},Wi())},Ga={key:"_id"};function Vs(l){Object.assign(Ga,l||{})}var Xa={$$ROOT:function(c,d,_){return _.root},$$CURRENT:function(c,d,_){return c},$$REMOVE:function(c,d,_){}},Ka={$$KEEP:function(c){return c},$$PRUNE:function(){},$$DESCEND:function(c,d,_){if(!bt(d,"$cond"))return c;var S;return Se(c,function(F,G){Le(F)&&(V(F)?(S=[],Se(F,function(X){be(X)&&(X=ss(X,d,_)),re(X)||S.push(X)})):S=ss(F,d,_),re(S)?delete c[G]:c[G]=S)}),c}},Za=Je(Xa),Va=Je(Ka);function cr(){return Ga.key}function Qs(){var l=Array.prototype.slice.call(arguments);return jt(l,function(c,d){return zt(c,Je(ft[d]))},[])}function rs(l,c,d){if(bt(ft[W],c))return ft[W][c](l,d);if(be(d)){var _={};return Se(d,function(S,F){if(_[F]=rs(l,F,d[F]),bt(ft[W],F))return _=_[F],ee(Je(d).length===1,"Invalid $group expression '"+JSON.stringify(d)+"'"),!1}),_}}function oe(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,_=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_.root=_.root||l,bt(ft[Y],d))return ft[Y][d](l,c,_);if(bt(ft[W],d))return l=oe(l,c,null,_),ee(V(l),d+" expression must resolve to an array"),ft[W][d](l,null,_);if(fe(c)&&c.length>0&&c[0]==="$"){if(st(Za,c))return Xa[c](l,null,_);if(st(Va,c))return c;var S=Za.filter(function(G){return c.indexOf(G+".")===0});return S.length===1&&(S=S[0],S==="$$ROOT"&&(l=_.root),c=c.substr(S.length)),on(l,c.slice(1))}switch(J(c)){case O:return c.map(function(G){return oe(l,G)});case P:var F={};return Se(c,function(G,X){if(F[X]=oe(l,G,X,_),[Y,W].some(function(le){return bt(ft[le],X)}))return ee(Je(c).length===1,"Invalid aggregation expression '"+JSON.stringify(c)+"'"),F=F[X],!1}),F;default:return c}}function ss(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};d.root=d.root||l;var _=oe(l,c,null,d);return st(Va,_)?Ka[_](l,c,d):_}function Yi(l,c){var d=oe(l,c);return d==null?null:Math.abs(d)}function qi(l,c){var d=oe(l,c),_=!1,S=jt(d,function(F,G){return it(G)&&(ee(!_,"'$add' can only have one date value"),_=!0,G=G.getTime()),F+=G,F},0);return _?new Date(S):S}function Gi(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$ceil expression must resolve to a number."),Math.ceil(d))}function Xi(l,c){var d=oe(l,c);return d[0]/d[1]}function Ki(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$exp expression must resolve to a number."),Math.exp(d))}function Zi(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$floor expression must resolve to a number."),Math.floor(d))}function as(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$ln expression must resolve to a number."),Math.log(d))}function Vi(l,c){var d=oe(l,c),_="$log expression must resolve to array(2) of numbers";return ee(V(d)&&d.length===2,_),d.some(re)?null:(ee(d.some(isNaN)||d.every(ce),_),Math.log10(d[0])/Math.log10(d[1]))}function os(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$log10 expression must resolve to a number."),Math.log10(d))}function Qi(l,c){var d=oe(l,c);return d[0]%d[1]}function Ji(l,c){var d=oe(l,c);return jt(d,function(_,S){return _*S},1)}function el(l,c){var d=oe(l,c);return ee(V(d)&&d.length===2&&d.every(ce),"$pow expression must resolve to array(2) of numbers"),ee(!(d[0]===0&&d[1]<0),"$pow cannot raise 0 to a negative exponent"),Math.pow(d[0],d[1])}function Qa(l,c){var d=oe(l,c),_=d[0],S=d[1];return re(_)||isNaN(_)||Math.abs(_)===1/0?_:(ee(ce(_),"$round expression must resolve to a number."),to(_,S,!0))}function Ja(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)&&d>0||isNaN(d),"$sqrt expression must resolve to non-negative number."),Math.sqrt(d))}function eo(l,c){var d=oe(l,c);return d[0]-d[1]}function tl(l,c){var d=oe(l,c),_=d[0],S=d[1];return re(_)||isNaN(_)||Math.abs(_)===1/0?_:(ee(ce(_),"$trunc expression must resolve to a number."),ee(re(S)||ce(S)&&S>-20&&S<100,"$trunc expression has invalid place"),to(_,S,!1))}function to(l,c,d){c=c||0;var _=Math.abs(l)===l?1:-1;l=Math.abs(l);var S=Math.trunc(l),F=l-S;if(c===0){var G=Math.trunc(10*F);d&&(S&1)===1&&G>=5&&S++}else if(c>0){var X=Math.pow(10,c),le=Math.trunc(F*X),se=Math.trunc(F*X*10)%10;d&&se>5&&(le+=1),S+=le/X}else if(c<0){var je=Math.pow(10,-1*c),xe=S%je;if(S=Math.max(0,S-xe),d&&_===-1){for(;xe>10;)xe-=xe%10;S>0&&xe>=5&&(S+=je)}}return S*_}function nl(l,c){var d=oe(l,c);ee(V(d)&&d.length===2,"$arrayElemAt expression must resolve to array(2)"),ee(V(d[0]),"First operand to $arrayElemAt must resolve to an array"),ee(ce(d[1]),"Second operand to $arrayElemAt must resolve to an integer");var _=d[1];if(d=d[0],_<0&&Math.abs(_)<=d.length)return d[_+d.length];if(_>=0&&_<d.length)return d[_]}function rl(l,c){var d=oe(l,c);return ee(V(d),"$arrayToObject expression must resolve to an array"),jt(d,function(_,S){return V(S)&&S.length==2?_[S[0]]=S[1]:(ee(be(S)&&bt(S,"k")&&bt(S,"v"),"$arrayToObject expression is invalid."),_[S.k]=S.v),_},{})}function no(l,c){var d=oe(l,c,null);return ee(V(d),"$concatArrays must resolve to an array"),d.some(re)?null:d.reduce(function(_,S){return zt(_,S)},[])}function ro(l,c){var d=oe(l,c.input),_=c.as,S=c.cond;return ee(V(d),"$filter 'input' expression must resolve to an array"),d.filter(function(F){var G={};return G["$"+_]=F,oe(G,S)===!0})}function so(l,c){var d=oe(l,c[0]),_=oe(l,c[1]);return ee(V(_),"$in second argument must be an array"),_.some(In.bind(null,d))}function Js(l,c){var d=oe(l,c);if(re(d))return null;var _=d[0],S=d[1];if(re(_))return null;ee(V(_),"$indexOfArray expression must resolve to an array.");var F=d[2]||0,G=d[3];return re(G)&&(G=_.length),F>G?-1:(ee(F>=0&&G>=0,"$indexOfArray expression is invalid"),(F>0||G<_.length)&&(_=_.slice(F,G)),_.findIndex(In.bind(null,S))+F)}function sl(l,c){return V(oe(l,c[0]))}function ao(l,c){var d=oe(l,c.input);ee(V(d),"$map 'input' expression must resolve to an array");var _=c.as,S=c.in,F="$"+_;return d.map(function(G){return l[F]=G,oe(l,S)})}function is(l,c){var d=oe(l,c);ee(be(d),"$objectToArray expression must resolve to an object");var _=[];return Se(d,function(S,F){return _.push({k:F,v:S})}),_}function oo(l,c){for(var d=oe(l,c),_=d[0],S=d[1],F=d[2]||1,G=[];_<S&&F>0||_>S&&F<0;)G.push(_),_+=F;return G}function al(l,c){var d=oe(l,c.input),_=oe(l,c.initialValue),S=c.in;return re(d)?null:(ee(V(d),"$reduce 'input' expression must resolve to an array"),jt(d,function(F,G){return oe({$value:F,$this:G},S)},_))}function io(l,c){var d=oe(l,c);if(re(d))return null;ee(V(d),"$reverseArray expression must resolve to an array");var _=[];return zt(_,d),_.reverse(),_}function lo(l,c){var d=oe(l,c);return V(d)?d.length:void 0}function ea(l,c){var d=oe(l,c);return Zs(d[0],d[1],d[2])}function ol(l,c){var d=oe(l,c.inputs),_=c.useLongestLength||!1;ee(V(d),"'inputs' expression must resolve to an array"),ee(de(_),"'useLongestLength' must be a boolean"),V(c.defaults)&&ee(It(_),"'useLongestLength' must be set to true to use 'defaults'");for(var S=0,F=0,G=d.length;F<G;F++){var X=d[F];if(re(X))return null;ee(V(X),"'inputs' expression values must resolve to an array or null"),S=_?Math.max(S,X.length):Math.min(S||X.length,X.length)}for(var le=[],se=c.defaults||[],je=function(Oe){var nt=d.map(function(Et,en){return re(Et[Oe])?se[en]||null:Et[Oe]});le.push(nt)},xe=0;xe<S;xe++)je(xe);return le}function co(l,c){var d=oe(l,c);return V(d)?jt(d,function(_,S){return Object.assign(_,S)},{}):{}}function ta(l,c){var d=oe(l,c);return It(d)&&d.every(It)}function na(l,c){var d=oe(l,c);return It(d)&&d.some(It)}function ur(l,c){return!oe(l,c[0])}function Wt(l){return l instanceof cs?l:new cs(l)}Wt.isIterator=ra;function ra(l){return!!l&&s(l)==="object"&&sa(l.next)}function sa(l){return!!l&&typeof l=="function"}function uo(l,c){var d=l.slice(c+1);l.splice(c),Array.prototype.push.apply(l,d)}var ls=new Error,aa=1,oa=2,fo=3,po=4;function il(l,c,d){var _=!1,S=-1,F=0;return function(G){G=G===d;try{e:for(;!_;){var X=l();S++;for(var le=-1,se=c.length,je=!1;++le<se;){var xe=c[le],qe=xe.func,Oe=xe.type;switch(Oe){case aa:X=qe(X,S);break;case oa:if(!qe(X,S))continue e;break;case fo:--xe.func,xe.func||(je=!0);break;case po:--xe.func,xe.func||uo(c,le);continue e;default:break e}}if(_=je,G)d[F++]=X;else return{value:X,done:!1}}}catch(nt){if(nt!==ls)throw nt}return _=!0,{done:!0}}}var cs=(function(){function l(c){if(i(this,l),this.__iteratees=[],this.__first=!1,this.__done=!1,this.__buf=[],sa(c)&&(c={next:c}),ra(c)){var d=c;c=function(){var X=d.next();if(X.done)throw ls;return X.value}}else if(Array.isArray(c)){var _=c,S=_.length,F=0;c=function(){if(F<S)return _[F++];throw ls}}else if(!sa(c))throw new Error("Source is not iterable. Must be Array, Function or Object{next:Function}");this.next=il(c,this.__iteratees,this.__buf)}return p(l,[{key:"_validate",value:function(){if(this.__first)throw new Error("Cannot add iteratee/transform after `first()`")}},{key:"_push",value:function(d){return this._validate(),this.__iteratees.push(d),this}},{key:"map",value:function(d){return this._push({type:aa,func:d})}},{key:"filter",value:function(d){return this._push({type:oa,func:d})}},{key:"take",value:function(d){return d>0?this._push({type:fo,func:d}):this}},{key:"drop",value:function(d){return d>0?this._push({type:po,func:d}):this}},{key:"transform",value:function(d){this._validate();var _=this,S;return Wt(function(){return S||(S=Wt(d(_.value()))),S.next()})}},{key:"first",value:function(){return this.take(1),this.__first=!0,this}},{key:"value",value:function(){return this.__done||(this.__done=this.next(this.__buf).done),this.__first?this.__buf[0]:this.__buf}},{key:"each",value:function(d){for(;;){var _=this.next();if(_.done)break;if(d(_.value)===!1)return!1}return!0}},{key:"reduce",value:function(d,_){var S=this.next(),F=0;for(_===void 0&&!S.done&&(_=S.value,S=this.next(),F++);!S.done;)_=d(_,S.value,F++),S=this.next();return _}},{key:"size",value:function(){return this.reduce(function(d,_){return++d},0)}}]),l})();typeof Symbol=="function"&&(cs.prototype[Symbol.iterator]=function(){return this});var us=(function(){function l(c,d){i(this,l),this.__operators=c,this.__options=d}return p(l,[{key:"stream",value:function(d,_){var S=this;d=Wt(d);var F=ft[B];return St(this.__operators)||Se(this.__operators,function(G){var X=Je(G);ee(X.length===1&&st(Qs(B),X[0]),"invalid aggregation operator ".concat(X)),X=X[0],_&&_ instanceof ln?d=F[X].call(_,d,G[X],S.__options):d=F[X](d,G[X],S.__options)}),d}},{key:"run",value:function(d,_){return this.stream(d,_).value()}}]),l})();function ho(l,c,d){return ee(V(c),"Aggregation pipeline must be an array"),new us(c,d).run(l)}var ia=(function(){function l(c,d,_){i(this,l),this.__filterFn=d.test.bind(d),this.__query=d,this.__source=c,this.__projection=_||d.__projection,this.__operators=[],this.__result=null,this.__stack=[],this.__options={}}return p(l,[{key:"_fetch",value:function(){return this.__result?this.__result:(be(this.__projection)&&this.__operators.push({$project:this.__projection}),this.__result=Wt(this.__source).filter(this.__filterFn),this.__operators.length>0&&(this.__result=new us(this.__operators,this.__options).stream(this.__result,this.__query)),this.__result)}},{key:"all",value:function(){return this._fetch().value()}},{key:"count",value:function(){return this.all().length}},{key:"skip",value:function(d){return this.__operators.push({$skip:d}),this}},{key:"limit",value:function(d){return this.__operators.push({$limit:d}),this}},{key:"sort",value:function(d){return this.__operators.push({$sort:d}),this}},{key:"collation",value:function(d){return this.__options.collation=d,this}},{key:"next",value:function(){if(this.__stack){if(this.__stack.length>0)return this.__stack.pop();var d=this._fetch().next();if(!d.done)return d.value;this.__stack=null}}},{key:"hasNext",value:function(){if(!this.__stack)return!1;if(this.__stack.length>0)return!0;var d=this._fetch().next();return d.done?this.__stack=null:this.__stack.push(d.value),!!this.__stack}},{key:"map",value:function(d){return this._fetch().map(d).value()}},{key:"forEach",value:function(d){this._fetch().each(d)}}]),l})();typeof Symbol=="function"&&(ia.prototype[Symbol.iterator]=function(){return this._fetch()});var ln=(function(){function l(c,d){i(this,l),this.__criteria=c,this.__projection=d||{},this.__compiled=[],this._compile()}return p(l,[{key:"_compile",value:function(){var d=this;ee(be(this.__criteria),"query criteria must be an object");var _;Se(this.__criteria,function(S,F){F==="$where"?_={field:F,expr:S}:F==="$expr"||st(["$and","$or","$nor"],F)?d._processOperator(F,F,S):(ee(!Xs(F),"unknown top level operator: ".concat(F)),S=Ks(S),Se(S,function(G,X){d._processOperator(F,X,G)})),be(_)&&d._processOperator(_.field,_.field,_.expr)})}},{key:"_processOperator",value:function(d,_,S){ee(bt(ft[ge],_),"invalid query operator ".concat(_," detected")),this.__compiled.push(ft[ge][_](d,S))}},{key:"test",value:function(d){for(var _=0,S=this.__compiled.length;_<S;_++)if(!this.__compiled[_](d))return!1;return!0}},{key:"find",value:function(d,_){return new ia(d,this,_)}},{key:"remove",value:function(d){var _=this;return jt(d,function(S,F){return _.test(F)||S.push(F),S},[])}}]),l})();function la(l,c,d){return new ln(c).find(l,d)}function ll(l,c){return new ln(c).remove(l)}function ca(l,c){if(In(l,c)||re(l)&&re(c))return!0;if(V(l)){var d=In.bind(null,c);return l.some(d)||or(l,1).some(d)}return!1}function mo(l,c){return!ca(l,c)}function go(l,c){return re(l)?c.some(Ze):_n($t(l),c).length>0}function xo(l,c){return!go(l,c)}function at(l,c){return dr(l,c,function(d,_){return d<_})}function et(l,c){return dr(l,c,function(d,_){return d<=_})}function wo(l,c){return dr(l,c,function(d,_){return d>_})}function bo(l,c){return dr(l,c,function(d,_){return d>=_})}function cl(l,c){return $t(l).some(function(d){return ce(d)&&V(c)&&c.length===2&&d%c[0]===c[1]})}function ul(l,c){l=$t(l);var d=function(S){return fe(S)&&!!S.match(c)};return l.some(d)||or(l,1).some(d)}function dl(l,c){return(c===!1||c===0)&&l===void 0||(c===!0||c===1)&&l!==void 0}function fl(l,c){var d=!1;if(V(l)&&V(c))for(var _=0,S=c.length;_<S;_++)if(be(c[_])&&st(Je(c[_]),"$elemMatch"))d=d||yo(l,c[_].$elemMatch);else return _n(c,l).length===S;return d}function vo(l,c){return V(l)&&ce(c)&&l.length===c}function yo(l,c){if(V(l)&&!St(l)){var d=function(le){return le},_=c;Je(c).every(Xs)&&(_={temp:c},d=function(le){return{temp:le}});for(var S=new ln(_),F=0,G=l.length;F<G;F++)if(S.test(d(l[F])))return!0}return!1}function Ct(l,c){switch(c){case 1:case"double":return ce(l)&&(l+"").indexOf(".")!==-1;case 2:case T:return fe(l);case 3:case P:return be(l);case 4:case O:return V(l);case 6:case v:return re(l);case 8:case C:return de(l);case 9:case D:return it(l);case 10:case y:return Ze(l);case 11:case $:return wt(l);case 16:case"int":return ce(l)&&l<=2147483647&&(l+"").indexOf(".")===-1;case 18:case"long":return ce(l)&&l>2147483647&&l<=9223372036854776e3&&(l+"").indexOf(".")===-1;case 19:case"decimal":return ce(l);default:return!1}}function dr(l,c,d){return $t(l).some(function(_){return ye(_)===ye(c)&&d(_,c)})}function Yt(l){return function(c,d){var _=oe(c,d);return l(_[0],_[1])}}var _o=Yt(ca),ua=Yt(mo),Qt=Yt(wo),Mo=Yt(at),ko=Yt(bo),jo=Yt(et),Eo=Yt(xo);function To(l,c){var d=oe(l,c);return d[0]>d[1]?1:d[0]<d[1]?-1:0}function No(l,c){var d,_,S,F="$cond: invalid arguments";V(c)?(ee(c.length===3,F),d=c[0],_=c[1],S=c[2]):(ee(be(c),F),d=c.if,_=c.then,S=c.else);var G=oe(l,d);return G?oe(l,_):oe(l,S)}function qt(l,c){var d="Invalid arguments for $switch operator";ee(c.branches,d);var _=c.branches.find(function(S){return ee(S.case&&S.then,d),oe(l,S.case)});return _?oe(l,_.then):(ee(c.default,d),oe(l,c.default))}function pl(l,c){ee(V(c)&&c.length===2,"$ifNull expression must resolve to array(2)");var d=oe(l,c);return re(d[0])?d[1]:d[0]}function Gt(l,c){var d=oe(l,c),_=new Date(d.getFullYear(),0,0),S=d-_,F=1e3*60*60*24;return Math.round(S/F)}function Co(l,c){var d=oe(l,c);return d.getDate()}function da(l,c){var d=oe(l,c);return d.getDay()+1}function Mn(l,c){var d=oe(l,c);return d.getFullYear()}function Ar(l,c){var d=oe(l,c);return d.getMonth()+1}function ds(l,c){var d=oe(l,c);d=new Date(+d),d.setHours(0,0,0),d.setDate(d.getDate()+4-(d.getDay()||7));var _=new Date(d.getFullYear(),0,1);return Math.floor(((d-_)/864e5+1)/7)}function lt(l,c){var d=oe(l,c);return d.getUTCHours()}function kn(l,c){var d=oe(l,c);return d.getMinutes()}function fs(l,c){var d=oe(l,c);return d.getSeconds()}function Io(l,c){var d=oe(l,c);return d.getMilliseconds()}var fa={"%Y":[Mn,4],"%m":[Ar,2],"%d":[Co,2],"%H":[lt,2],"%M":[kn,2],"%S":[fs,2],"%L":[Io,3],"%j":[Gt,3],"%w":[da,1],"%U":[ds,2],"%%":"%"};function hl(l,c){for(var d=c.format,_=oe(l,c.date),S=d.match(/(%%|%Y|%m|%d|%H|%M|%S|%L|%j|%w|%U)/g),F=0,G=S.length;F<G;F++){var X=fa[S[F]],le=X;if(V(X)){var se=X[0],je=X[1];le=ml(se(l,_),je)}d=d.replace(S[F],le)}return d}function ml(l,c){return new Array(Math.max(c-String(l).length+1,0)).join("0")+l}function gl(l,c){return c}function So(l,c){var d=oe(l,c),_=Ir(d[0]),S=Ir(d[1]);return _.length===S.length&&_.length===_n(_,S).length}function ps(l,c){var d=oe(l,c);return _n(d[0],d[1])}function fr(l,c){var d=oe(l,c);return d[0].filter(mt.bind(null,d[1]))}function xl(l,c){var d=oe(l,c);return Ui(d[0],d[1])}function Ao(l,c){var d=oe(l,c);return _n(d[0],d[1]).length===d[0].length}function Do(l,c){var d=oe(l,c)[0];return d.some(It)}function pa(l,c){var d=oe(l,c)[0];return d.every(It)}function ha(l,c){var d=oe(l,c);return[null,void 0].some(st.bind(null,d))?null:d.join("")}function $o(l,c){var d=oe(l,c),_="$indexOfBytes expression resolves to invalid an argument";if(re(d[0]))return null;ee(fe(d[0])&&fe(d[1]),_);var S=d[0],F=d[1],G=d[2],X=d[3],le=re(G)||ce(G)&&G>=0&&Math.round(G)===G;if(le=le&&(re(X)||ce(X)&&X>=0&&Math.round(X)===X),ee(le,_),G=G||0,X=X||S.length,G>X)return-1;var se=S.substring(G,X).indexOf(F);return se>-1?se+G:se}function wl(l,c){var d=oe(l,c);return re(d[0])?null:(ee(d.every(fe),"$split expression must result to array(2) of strings"),d[0].split(d[1]))}function ma(l,c){return~-encodeURI(oe(l,c)).split(/%..|./).length}function ga(l,c){return oe(l,c).length}function bl(l,c){var d=oe(l,c),_=d[0],S=d[1];return In(_,S)||d.every(re)?0:(ee(d.every(fe),"$strcasecmp must resolve to array(2) of strings"),_=_.toUpperCase(),S=S.toUpperCase(),_>S&&1||_<S&&-1||0)}function Ro(l,c){var d=oe(l,c),_=d[0],S=d[1],F=d[2];ee(fe(_)&&ce(S)&&S>=0&&ce(F)&&F>=0,"$substrBytes: invalid arguments");for(var G=yl(_),X=[],le=0,se=0;se<G.length;se++)X.push(le),le+=G[se].length;var je=X.indexOf(S),xe=X.indexOf(S+F);return ee(je>-1&&xe>-1,"$substrBytes: invalid range, start or end index is a UTF-8 continuation byte."),_.substring(je,xe)}function Ut(l,c){var d=oe(l,c),_=d[0],S=d[1],F=d[2];return fe(_)?S<0?"":F<0?_.substr(S):_.substr(S,F):""}function xa(l,c){return Ut(l,c)}function Dr(l,c){var d=oe(l,c);return St(d)?"":d.toLowerCase()}function Lo(l,c){var d=oe(l,c);return St(d)?"":d.toUpperCase()}var Oo=[192,224,240];function vl(l){if(l<128)return[l];for(var c=l<2048&&1||l<65536&&2||3,d=Oo[c-1],_=[(l>>6*c)+d];c>0;)_.push(128|l>>6*--c&63);return _}function yl(l){for(var c=[],d=0,_=l.length;d<_;d++)c.push(vl(l.codePointAt(d)));return c}function _l(l,c){var d=c.vars,_=c.in,S=Je(d);return Se(S,function(F){var G=oe(l,d[F]),X="$"+F;l[X]=G}),oe(l,_)}var Ml=Object.freeze({__proto__:null,$abs:Yi,$add:qi,$ceil:Gi,$divide:Xi,$exp:Ki,$floor:Zi,$ln:as,$log:Vi,$log10:os,$mod:Qi,$multiply:Ji,$pow:el,$round:Qa,$sqrt:Ja,$subtract:eo,$trunc:tl,$arrayElemAt:nl,$arrayToObject:rl,$concatArrays:no,$filter:ro,$in:so,$indexOfArray:Js,$isArray:sl,$map:ao,$objectToArray:is,$range:oo,$reduce:al,$reverseArray:io,$size:lo,$slice:ea,$zip:ol,$mergeObjects:co,$and:ta,$or:na,$not:ur,$eq:_o,$ne:ua,$gt:Qt,$lt:Mo,$gte:ko,$lte:jo,$nin:Eo,$cmp:To,$cond:No,$switch:qt,$ifNull:pl,$dayOfYear:Gt,$dayOfMonth:Co,$dayOfWeek:da,$year:Mn,$month:Ar,$week:ds,$hour:lt,$minute:kn,$second:fs,$millisecond:Io,$dateToString:hl,$literal:gl,$setEquals:So,$setIntersection:ps,$setDifference:fr,$setUnion:xl,$setIsSubset:Ao,$anyElementTrue:Do,$allElementsTrue:pa,$concat:ha,$indexOfBytes:$o,$split:wl,$strLenBytes:ma,$strLenCP:ga,$strcasecmp:bl,$substrBytes:Ro,$substr:Ut,$substrCP:xa,$toLower:Dr,$toUpper:Lo,$let:_l});function An(l,c){return re(c)?l:l.map(function(d){return oe(d,c)})}function pr(l,c){return Ir(An(l,c))}function kl(l,c){var d=An(l,c).filter(ce),_=jt(d,function(S,F){return S+F},0);return _/(d.length||1)}function jl(l,c){return l.length>0?oe(l[0],c):void 0}function wa(l,c){return l.length>0?oe(l[l.length-1],c):void 0}function Fo(l,c){return jt(An(l,c),function(d,_){return re(d)||_>d?_:d},void 0)}function Dn(l,c){return jt(l,function(d,_){return Object.assign(d,oe(_,c))},{})}function hs(l,c){return jt(An(l,c),function(d,_){return re(d)||_<d?_:d},void 0)}function El(l,c){return qa(An(l,c).filter(ce),!1)}function Tl(l,c){return qa(An(l,c).filter(ce),!0)}function Nl(l,c){return V(l)?ce(c)?l.length*c:jt(An(l,c).filter(ce),function(d,_){return d+_},0):0}var hr=Object.freeze({__proto__:null,$addToSet:pr,$avg:kl,$first:jl,$last:wa,$max:Fo,$mergeObjects:Dn,$min:hs,$push:An,$stdDevPop:El,$stdDevSamp:Tl,$sum:Nl});function Jt(l,c,d){var _=Je(c);return _.length===0?l:l.map(function(S){var F=ke(S);return Se(_,function(G){var X=oe(S,c[G]);qs(F,G,X)}),F})}var Po=Jt;function Cl(l,c,d){var _=c.boundaries,S=c.default,F=_[0],G=_[_.length-1],X=c.output||{count:{$sum:1}};ee(_.length>2,"$bucket 'boundaries' expression must have at least 3 elements");for(var le=ye(F),se=0,je=_.length-1;se<je;se++)ee(le===ye(_[se+1]),"$bucket 'boundaries' must all be of the same type"),ee(_[se]<_[se+1],"$bucket 'boundaries' must be sorted in ascending order");!re(S)&&ye(c.default)===ye(F)&&ee(F>c.default||G<c.default,"$bucket 'default' expression must be out of boundaries range");var xe={};Se(_,function(Oe){return xe[Oe]=[]}),re(S)||(xe[S]=[]);var qe=!1;return Wt(function(){return qe||(l.each(function(Oe){var nt=oe(Oe,c.groupBy);if(re(nt)||nt<F||nt>=G)ee(!re(S),"$bucket require a default for out of range values"),xe[S].push(Oe);else{ee(nt>=F&&nt<G,"$bucket 'groupBy' expression must resolve to a value in range of boundaries");var Et=Bs(_,nt),en=_[Math.max(0,Et-1)];xe[en].push(Oe)}}),_.pop(),re(S)||_.push(S),qe=Wt(_).map(function(Oe){var nt=rs(xe[Oe],null,X);return Object.assign(nt,{_id:Oe})})),qe.next()})}function Il(l,c,d){var _=c.output||{count:{$sum:1}},S=c.groupBy,F=c.buckets;return ee(F>0,"The $bucketAuto 'buckets' field must be greater than 0, but found: "+F),l.transform(function(G){for(var X=Math.max(1,Math.round(G.length/F)),le=Bi(oe),se={},je=[],xe=Jr(G,function(ya){var Lr=le(ya,S);return re(Lr)?je.push(ya):(se[Lr]||(se[Lr]=[]),se[Lr].push(ya)),Lr}),qe=cr(),Oe=[],nt=0,Et=0,en=xe.length;Et<F&&nt<en;Et++){for(var k={},cn=[],Rr=0;Rr<X&&nt<en;Rr++){var Tt=le(xe[nt],S);if(re(Tt)&&(Tt=null),zt(cn,re(Tt)?je:se[Tt]),nt+=re(Tt)?je.length:se[Tt].length,bt(k,"min")||(k.min=Tt),Oe.length>0){var Fe=Oe[Oe.length-1];Fe[qe].max=k.min}}Et==F-1&&zt(cn,xe.slice(nt)),Oe.push(Object.assign(rs(cn,null,_),{_id:k}))}return Oe.length>0&&(Oe[Oe.length-1][qe].max=le(xe[xe.length-1],S)),Oe})}function Sl(l,c,d){return ee(fe(c)&&c.trim()!==""&&c.indexOf(".")===-1&&c.trim()[0]!=="$","Invalid expression value for $count"),Wt(function(){var _={};return _[c]=l.size(),{value:_,done:!1}}).first()}function Al(l,c,d){return l.transform(function(_){return[hn(c,function(S){return ho(_,S)})]})}function Ho(l,c,d){var _=cr(),S=c[_];return l.transform(function(F){var G=es(F,function(se){return oe(se,S,S)});c=ue(c),delete c[_];var X=-1,le=G.keys.length;return function(){if(++X===le)return{done:!0};var se=G.keys[X],je={};return se!==void 0&&(je[_]=se),Se(c,function(xe,qe){je[qe]=rs(G.groups[X],qe,xe)}),{value:je,done:!1}}})}function mr(l,c,d){return l.take(c)}function z(l,c,d){var _=c.from,S=c.localField,F=c.foreignField,G=c.as;ee(V(_)&&fe(F)&&fe(S)&&fe(G),"$lookup: invalid argument");var X={};return Se(_,function(le){var se=mn(on(le,F));X[se]=X[se]||[],X[se].push(le)}),l.map(function(le){var se=mn(on(le,S)),je=ue(le);return je[G]=X[se]||[],je})}function Q(l,c,d){var _=new ln(c);return l.filter(function(S){return _.test(S)})}function Z(l,c,d){return ee(V(c),"$out expression must be an array"),l.map(function(_){return c.push(_),_})}function we(l,c,d){if(St(c))return l;var _=Je(c),S=!1,F=cr();if(We(c),st(_,F)){var G=c[F];(G===0||G===!1)&&(_=_.filter(mt.bind(null,[F])),ee(mt(_,F),"Must not contain collections id key"),S=St(_))}else _.push(F);return l.map(function(X){return Ce(X,c,_,S)})}function Ce(l,c,d,_){var S=cr(),F={},G=!1,X=!1,le=[];return _&&le.push(S),d.forEach(function(se){var je,xe=c[se];if(se!==S&&st([0,!1],xe)&&(X=!0),se===S&&St(xe))je=l[se];else if(fe(xe))je=oe(l,xe,se);else if(!st([1,!0],xe))if(V(xe))je=xe.map(function(k){var cn=oe(l,k);return re(cn)?null:cn});else if(be(xe)){var qe=Je(xe),Oe=qe.length>1?!1:qe[0];if(st(Qs(ie),Oe)){var nt=ft[ie];Oe==="$slice"?$t(xe[Oe]).every(ce)?(je=nt[Oe](l,xe[Oe],se),G=!0):je=oe(l,xe,se):je=nt[Oe](l,xe[Oe],se)}else if(bt(l,se)){We(xe);var Et=l[se];je=V(Et)?Et.map(function(k){return Ce(k,xe,qe,!1)}):Ce(Et,xe,qe,!1)}else je=oe(l,xe,se)}else{le.push(se);return}var en=lr(l,se,{preserveMissingValues:!0});en!==void 0&&yn(F,en,{flatten:!0}),mt([0,1,!1,!0],xe)&&(je===void 0?Gs(F,se):qs(F,se,je))}),ts(F),(G||X||_)&&(F=Object.assign({},l,F),le.length>0&&(F=ke(F),Se(le,function(se){return Gs(F,se)}))),F}function We(l){var c=cr(),d=[!1,!1];Se(l,function(_,S){S!==c&&(_===0||_===!1?d[0]=!0:(_===1||_===!0)&&(d[1]=!0),ee(!(d[0]&&d[1]),"Projection cannot have a mix of inclusion and exclusion."))})}function vt(l,c,d){return l.map(function(_){return ss(ke(_),c)})}function tt(l,c,d){return l.map(function(_){return _=oe(_,c.newRoot),ee(be(_),"$replaceRoot expression must return an object"),_})}function ba(l,c,d){var _=c.size;return ee(ce(_),"$sample size must be a positive integer"),l.transform(function(S){var F=S.length,G=-1;return function(){if(++G===_)return{done:!0};var X=Math.floor(Math.random()*F);return{value:S[X],done:!1}}})}function Dl(l,c,d){return l.drop(c)}function Xt(l,c,d){if(St(c)||!be(c))return l;d=d||{};var _=Sr,S=d.collation;return be(S)&&fe(S.locale)&&(_=$l(S)),l.transform(function(F){var G=Je(c);return Se(G.reverse(),function(X){var le=es(F,function(xe){return on(xe,X)}),se={},je=Jr(le.keys,function(xe,qe){return se[xe]=qe,xe},_);c[X]===-1&&je.reverse(),F=[],Se(je,function(xe){return zt(F,le.groups[se[xe]])})}),F})}var ms={1:"base",2:"accent",3:"variant"};function $l(l){var c={sensitivity:ms[l.strength||3],caseFirst:l.caseFirst==="off"?"false":l.caseFirst||"false",numeric:l.numericOrdering||!1,ignorePunctuation:l.alternate==="shifted"};(l.caseLevel||!1)===!0&&(c.sensitivity==="base"&&(c.sensitivity="case"),c.sensitivity==="accent"&&(c.sensitivity="variant"));var d=new Intl.Collator(l.locale,c);return function(_,S){if(!fe(_)||!fe(S))return Sr(_,S);var F=d.compare(_,S);return F<0?-1:F>0?1:0}}function gr(l,c,d){var _={count:{$sum:1}};return _[cr()]=c,Xt(Ho(l,_),{count:-1},d)}function gs(l,c,d){fe(c)&&(c={path:c});var _=c.path.substr(1),S=c.includeArrayIndex||!1,F=c.preserveNullAndEmptyArrays||!1,G=function(se,je){return S!==!1&&(se[S]=je),se},X;return Wt(function(){for(var le=function(){if(Wt.isIterator(X)){var xe=X.next();if(!xe.done)return{v:xe}}var qe=l.next();if(qe.done)return{v:qe};if(qe=qe.value,X=on(qe,_),V(X))if(X.length===0&&F===!0){X=null;var Oe=ke(qe);return Gs(Oe,_),{v:{value:G(Oe,null),done:!1}}}else X=Wt(X).map(function(Et,en){var k=ke(qe);return qs(k,_,Et),G(k,en)});else if(!St(X)||F===!0){var nt=ke(qe);return{v:{value:G(nt,null),done:!1}}}};;){var se=le();if(s(se)==="object")return se.v}})}var xs=Object.freeze({__proto__:null,$addFields:Jt,$set:Po,$bucket:Cl,$bucketAuto:Il,$count:Sl,$facet:Al,$group:Ho,$limit:mr,$lookup:z,$match:Q,$out:Z,$project:we,$redact:vt,$replaceRoot:tt,$sample:ba,$skip:Dl,$sort:Xt,$sortByCount:gr,$unwind:gs});function Xe(l,c,d){ar("$ not implemented")}function Rl(l,c,d){var _=on(l,d),S=new ln(c);ee(V(_),"$elemMatch: invalid argument");for(var F=0;F<_.length;F++)if(S.test(_[F]))return[_[F]]}function zo(l,c,d){var _=on(l,d);return V(_)?V(c)?Zs(_,c[0],c[1]):(ee(ce(c),"$slice: invalid arguments for projection"),Zs(_,c)):_}var ws=Object.freeze({__proto__:null,$:Xe,$elemMatch:Rl,$slice:zo});function Rt(l){return function(c,d){return function(_){var S=on(_,c,{meta:!0});return S=ir(S.result,S.depth),l(S,d)}}}var Ll=Rt(fl),Ol=Rt(yo),bs=Rt(ca),$n=Rt(dl),vs=Rt(wo),Uo=Rt(bo),ys=Rt(go),Bo=Rt(at),Wo=Rt(et),_s=Rt(cl),Yo=Rt(mo),$r=Rt(xo),Bn=Rt(ul),Ms=Rt(vo),Fl=Rt(Ct);function Pl(l,c){ee(V(c),"Invalid expression: $and expects value to be an Array");var d=[];return Se(c,function(_){return d.push(new ln(_))}),function(_){for(var S=0;S<d.length;S++)if(!d[S].test(_))return!1;return!0}}function qo(l,c){ee(V(c),"Invalid expression. $or expects value to be an Array");var d=[];return Se(c,function(_){return d.push(new ln(_))}),function(_){for(var S=0;S<d.length;S++)if(d[S].test(_))return!0;return!1}}function ks(l,c){ee(V(c),"Invalid expression. $nor expects value to be an Array");var d=qo("$or",c);return function(_){return!d(_)}}function js(l,c){var d={};d[l]=Ks(c);var _=new ln(d);return function(S){return!_.test(S)}}function va(l,c){return Pt(c)||(c=new Function("return "+c+";")),function(d){return c.call(d)===!0}}function Hl(l,c){return function(d){return oe(d,c)}}var Go=Object.freeze({__proto__:null,$all:Ll,$elemMatch:Ol,$eq:bs,$exists:$n,$gt:vs,$gte:Uo,$in:ys,$lt:Bo,$lte:Wo,$mod:_s,$ne:Yo,$nin:$r,$regex:Bn,$size:Ms,$type:Fl,$and:Pl,$or:qo,$nor:ks,$not:js,$where:va,$expr:Hl}),ft={};ft[Y]={},ft[W]={},ft[B]={},ft[ie]={},ft[ge]={};var zl=[[Y,Ml],[W,hr],[B,xs],[ie,ws],[ge,Go]];function yt(){Se(zl,function(l){var c=w(l,2),d=c[0],_=c[1];Object.assign(ft[d],_)})}function At(l,c){var d=c(ns());ee(bt(ft,l),"Invalid operator class ".concat(l));var _=ft[l];Se(d,function(F,G){ee(/^\$[a-zA-Z0-9_]*$/.test(G),"Invalid operator name ".concat(G)),ee(!bt(_,G),"".concat(G," already exists for '").concat(l,"' operators"))});var S={};switch(l){case ge:Se(d,function(F,G){F=F.bind(d),S[G]=function(X,le){return function(se){var je=on(se,X),xe=F(X,je,le);return ee(de(xe),"".concat(G," must return a boolean")),xe}}});break;case ie:Se(d,function(F,G){F=F.bind(d),S[G]=function(X,le,se){var je=on(X,se);return F(se,je,le)}});break;default:Se(d,function(F,G){S[G]=function(){for(var X=arguments.length,le=new Array(X),se=0;se<X;se++)le[se]=arguments[se];return F.apply(d,le)}})}Object.assign(ft[l],S)}var Ul={query:function(c,d){return new ln(c).find(this.toJSON(),d)},aggregate:function(c){return new us(c).run(this.toJSON())}};yt();var Bl="2.5.3",Xo={_internal:ns,Aggregator:us,CollectionMixin:Ul,Cursor:ia,Lazy:Wt,OP_EXPRESSION:Y,OP_GROUP:W,OP_PIPELINE:B,OP_PROJECTION:ie,OP_QUERY:ge,Query:ln,VERSION:Bl,addOperators:At,aggregate:ho,find:la,remove:ll,setup:Vs};return Xo}))})(ji)),ji.exports}var Da={exports:{}};/**
7
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var y="null",v="undefined",C="bool",E="boolean",j="number",N="string",D="date",$="regex",R="regexp",O="array",P="object",I="function",U=[y,v,E,j,N,D,R],Y="expression",W="group",B="pipeline",ie="projection",ge="query",Me=function(){};Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(c,d){if(this==null)throw new TypeError('"this" is null or not defined');var _=Object(this),S=_.length>>>0;if(S===0)return!1;var F=d|0,G=Math.max(F>=0?F:S-Math.abs(F),0);function X(le,se){return le===se||typeof le=="number"&&typeof se=="number"&&isNaN(le)&&isNaN(se)}for(;G<S;){if(X(_[G],c))return!0;G++}return!1}});var K=Array.prototype.push;function ee(l,c){l||ar(c)}function ke(l){switch(J(l)){case O:return l.map(ke);case P:return hn(l,ke);default:return l}}function ue(l){switch(J(l)){case O:return zt([],l);case P:return Object.assign({},l);default:return l}}function ye(l){return l===null?"Null":l===void 0?"Undefined":l.constructor.name}function J(l){return ye(l).toLowerCase()}function de(l){return J(l)===E}function fe(l){return J(l)===N}function ce(l){return J(l)===j}var V=Array.isArray||function(l){return!!l&&l.constructor===Array};function be(l){return!!l&&l.constructor===Object}function Le(l){return l===Object(l)}function it(l){return J(l)===D}function wt(l){return J(l)===R}function Pt(l){return J(l)===I}function re(l){return l==null}function Ze(l){return l===null}function Ht(l){return l===void 0}function st(l,c){return l.includes(c)}function mt(l,c){return!st(l,c)}function It(l){return!!l}function St(l){return re(l)||V(l)&&l.length===0||be(l)&&Je(l).length===0||!l}function $t(l){return V(l)?l:[l]}function bt(l,c){return l.hasOwnProperty(c)}function ar(l){throw new Error(l)}var Je=Object.keys;function Se(l,c,d){if(c=c.bind(d),V(l))for(var _=0,S=l.length;_<S&&c(l[_],_,l)!==!1;_++);else for(var F in l)if(l.hasOwnProperty(F)&&c(l[F],F,l)===!1)break}function hn(l,c,d){c=c.bind(d);for(var _={},S=Je(l),F=0;F<S.length;F++){var G=S[F];_[G]=c(l[G],G)}return _}function yn(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(l===Me)return c;if(c===Me)return l;var _=[l,c];if(!(_.every(be)||_.every(V)))throw Error("mismatched types. must both be array or object");if(d.flatten=d.flatten||!1,V(l))if(d.flatten){for(var S=0,F=0;S<l.length&&F<c.length;)l[S]=yn(l[S++],c[F++],d);for(;F<c.length;)l.push(c[F++])}else K.apply(l,c);else Object.keys(c).forEach(function(G){l.hasOwnProperty(G)?l[G]=yn(l[G],c[G],d):l[G]=c[G]});return l}function jt(l,c,d){return V(l)?l.reduce(c,d):(Se(l,function(_,S){return d=c(d,_,S,l)}),d)}function _n(l,c){var d=c.map(mn);return l.filter(function(_){return st(d,mn(_))})}function Ui(l,c){return zt(zt([],l),c.filter(mt.bind(null,l)))}function or(l){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,d=[];function _(S,F){for(var G=0,X=S.length;G<X;G++)V(S[G])&&(F>0||F<0)?_(S[G],Math.max(-1,F-1)):d.push(S[G])}return _(l,c),d}function ir(l,c){if(c<1)return l;for(;c--&&V(l)&&l.length===1;)l=l[0];return l}function In(l,c){for(var d=[l],_=[c];d.length>0;)if(l=d.pop(),c=_.pop(),l!==c){var S=J(l);if(S!==J(c)||S===I)return!1;switch(S){case O:if(l.length!==c.length)return!1;zt(d,l),zt(_,c);break;case P:var F=Je(l),G=Je(c);if(F.length!==G.length)return!1;F.sort(),G.sort();for(var X=0,le=F.length;X<le;X++){var se=F[X];if(se!==G[X])return!1;d.push(l[se]),_.push(c[se])}break;default:if(Sn(l)!==Sn(c))return!1}}return d.length===0}function Ir(l){var c={},d=[];return Se(l,function(_){var S=mn(_);bt(c,S)||(d.push(_),c[S]=0)}),d}function Sn(l){var c=J(l);switch(c){case E:case j:case R:return l.toString();case N:return JSON.stringify(l);case D:return l.toISOString();case y:case v:return c;case O:return"["+l.map(Sn)+"]";default:var d=c===P?"":"".concat(ye(l)),_=Je(l);return _.sort(),"".concat(d,"{")+_.map(function(S){return"".concat(Sn(S),":").concat(Sn(l[S]))})+"}"}}function mn(l){if(re(l))return null;for(var c=0,d=Sn(l),_=d.length;_;)c=(c<<5)-c^d.charCodeAt(--_);return c>>>0}function Sr(l,c){return l<c?-1:l>c?1:0}function Jr(l,c,d){var _=[],S=[],F={};if(d=d||Sr,St(l))return l;for(var G=0;G<l.length;G++){var X=l[G],le=c(X,G);re(le)?S.push(X):(F[le]?F[le].push(X):F[le]=[X],_.push(le))}_.sort(d);for(var se=0;se<_.length;se++)zt(S,F[_[se]]);return S}function es(l,c){var d={keys:[],groups:[]},_={};return Se(l,function(S){var F=c(S),G=mn(F),X=-1;_[G]===void 0&&(X=d.keys.length,_[G]=X,d.keys.push(F),d.groups.push([])),X=_[G],d.groups[X].push(S)}),d}function zt(l,c){return K.apply(l,c),l}function Bs(l,c){for(var d=0,_=l.length-1;d<=_;){var S=Math.round(d+(_-d)/2);if(c<l[S])_=S-1;else if(c>l[S])d=S+1;else return S}return d}function Bi(l){var c=this;return(function(d){return function(){for(var _=arguments.length,S=new Array(_),F=0;F<_;F++)S[F]=arguments[F];var G=mn(S);return bt(d,G)||(d[G]=l.apply(c,S)),d[G]}})({})}function Ws(l,c){return Le(l)?l[c]:void 0}function on(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},_=0;d.meta=d.meta||!1;function S(F,G){for(var X=F,le=0;le<G.length;le++){var se=G[le],je=se.match(/^\d+$/)===null;if(je&&V(X)){if(le===0&&_>0)break;_+=1,G=G.slice(le),X=jt(X,function(xe,qe){var Oe=S(qe,G);return Oe!==void 0&&xe.push(Oe),xe},[]);break}else X=Ws(X,se);if(X===void 0)break}return X}return l=st(U,J(l))?l:S(l,c.split(".")),d.meta?{result:l,depth:_}:l}function lr(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};d.preserveMissingValues=d.preserveMissingValues||!1;var _=c.split("."),S=_[0],F=_.length===1||_.slice(1).join("."),G=S.match(/^\d+$/)!==null,X=_.length>1,le,se;try{V(l)?G?(le=Ws(l,Number(S)),X&&(le=lr(le,F,d)),le=[le]):(le=[],Se(l,function(je){se=lr(je,c,d),d.preserveMissingValues?(se===void 0&&(se=Me),le.push(se)):se!==void 0&&le.push(se)})):(se=Ws(l,S),X&&(se=lr(se,F,d)),ee(se!==void 0),le={},le[S]=se)}catch{le=void 0}return le}function ts(l){if(V(l))for(var c=l.length-1;c>=0;c--)l[c]===Me?l.splice(c,1):ts(l[c]);else if(be(l))for(var d in l)l.hasOwnProperty(d)&&ts(l[d]);return l}function Ys(l,c,d){var _=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,S=c.split("."),F=S[0],G=S.length===1||S.slice(1).join(".");S.length===1?d(l,F):(_===!0&&re(l[F])&&(l[F]={}),Ys(l[F],G,d,_))}function qs(l,c,d){Ys(l,c,function(_,S){_[S]=d},!0)}function Gs(l,c){Ys(l,c,function(d,_){V(d)&&/^\d+$/.test(_)?d.splice(parseInt(_),1):be(d)&&delete d[_]})}function Xs(l){return!!l&&l[0]==="$"}function Ks(l){if(st(U,J(l)))return wt(l)?{$regex:l}:{$eq:l};if(Le(l)){var c=Je(l);if(!c.some(Xs))return{$eq:l};if(st(c,"$regex")){var d=l.$regex,_=l.$options||"",S="";fe(d)&&(S+=d.ignoreCase||_.indexOf("i")>=0?"i":"",S+=d.multiline||_.indexOf("m")>=0?"m":"",S+=d.global||_.indexOf("g")>=0?"g":"",d=new RegExp(d,S)),l.$regex=d,delete l.$options}}return l}function Zs(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;return re(d)?c<0?(c=Math.max(0,l.length+c),d=l.length-c+1):(d=c,c=0):(c<0&&(c=Math.max(0,l.length+c)),ee(d>0,"Invalid argument value for $slice operator. Limit must be a positive number"),d+=c),l.slice(c,d)}function qa(l,c){var d=jt(l,function(G,X){return G+X},0),_=l.length||1,S=c&&1||0,F=d/_;return Math.sqrt(jt(l,function(G,X){return G+Math.pow(X-F,2)},0)/(_-S))}function Wi(){return{assert:ee,clone:ue,cloneDeep:ke,each:Se,err:ar,hashCode:mn,getType:ye,has:bt,includes:st.bind(null),isArray:V,isBoolean:de,isDate:it,isEmpty:St,isEqual:In,isFunction:Pt,isNil:re,isNull:Ze,isNumber:ce,isObject:be,isRegExp:wt,isString:fe,isUndefined:Ht,keys:Je,reduce:jt,resolve:on,resolveObj:lr}}var ns=function(){return Object.assign({computeValue:oe,ops:Qs},Wi())},Ga={key:"_id"};function Vs(l){Object.assign(Ga,l||{})}var Xa={$$ROOT:function(c,d,_){return _.root},$$CURRENT:function(c,d,_){return c},$$REMOVE:function(c,d,_){}},Ka={$$KEEP:function(c){return c},$$PRUNE:function(){},$$DESCEND:function(c,d,_){if(!bt(d,"$cond"))return c;var S;return Se(c,function(F,G){Le(F)&&(V(F)?(S=[],Se(F,function(X){be(X)&&(X=ss(X,d,_)),re(X)||S.push(X)})):S=ss(F,d,_),re(S)?delete c[G]:c[G]=S)}),c}},Za=Je(Xa),Va=Je(Ka);function cr(){return Ga.key}function Qs(){var l=Array.prototype.slice.call(arguments);return jt(l,function(c,d){return zt(c,Je(ft[d]))},[])}function rs(l,c,d){if(bt(ft[W],c))return ft[W][c](l,d);if(be(d)){var _={};return Se(d,function(S,F){if(_[F]=rs(l,F,d[F]),bt(ft[W],F))return _=_[F],ee(Je(d).length===1,"Invalid $group expression '"+JSON.stringify(d)+"'"),!1}),_}}function oe(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,_=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};if(_.root=_.root||l,bt(ft[Y],d))return ft[Y][d](l,c,_);if(bt(ft[W],d))return l=oe(l,c,null,_),ee(V(l),d+" expression must resolve to an array"),ft[W][d](l,null,_);if(fe(c)&&c.length>0&&c[0]==="$"){if(st(Za,c))return Xa[c](l,null,_);if(st(Va,c))return c;var S=Za.filter(function(G){return c.indexOf(G+".")===0});return S.length===1&&(S=S[0],S==="$$ROOT"&&(l=_.root),c=c.substr(S.length)),on(l,c.slice(1))}switch(J(c)){case O:return c.map(function(G){return oe(l,G)});case P:var F={};return Se(c,function(G,X){if(F[X]=oe(l,G,X,_),[Y,W].some(function(le){return bt(ft[le],X)}))return ee(Je(c).length===1,"Invalid aggregation expression '"+JSON.stringify(c)+"'"),F=F[X],!1}),F;default:return c}}function ss(l,c){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};d.root=d.root||l;var _=oe(l,c,null,d);return st(Va,_)?Ka[_](l,c,d):_}function Yi(l,c){var d=oe(l,c);return d==null?null:Math.abs(d)}function qi(l,c){var d=oe(l,c),_=!1,S=jt(d,function(F,G){return it(G)&&(ee(!_,"'$add' can only have one date value"),_=!0,G=G.getTime()),F+=G,F},0);return _?new Date(S):S}function Gi(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$ceil expression must resolve to a number."),Math.ceil(d))}function Xi(l,c){var d=oe(l,c);return d[0]/d[1]}function Ki(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$exp expression must resolve to a number."),Math.exp(d))}function Zi(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$floor expression must resolve to a number."),Math.floor(d))}function as(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$ln expression must resolve to a number."),Math.log(d))}function Vi(l,c){var d=oe(l,c),_="$log expression must resolve to array(2) of numbers";return ee(V(d)&&d.length===2,_),d.some(re)?null:(ee(d.some(isNaN)||d.every(ce),_),Math.log10(d[0])/Math.log10(d[1]))}function os(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)||isNaN(d),"$log10 expression must resolve to a number."),Math.log10(d))}function Qi(l,c){var d=oe(l,c);return d[0]%d[1]}function Ji(l,c){var d=oe(l,c);return jt(d,function(_,S){return _*S},1)}function el(l,c){var d=oe(l,c);return ee(V(d)&&d.length===2&&d.every(ce),"$pow expression must resolve to array(2) of numbers"),ee(!(d[0]===0&&d[1]<0),"$pow cannot raise 0 to a negative exponent"),Math.pow(d[0],d[1])}function Qa(l,c){var d=oe(l,c),_=d[0],S=d[1];return re(_)||isNaN(_)||Math.abs(_)===1/0?_:(ee(ce(_),"$round expression must resolve to a number."),to(_,S,!0))}function Ja(l,c){var d=oe(l,c);return re(d)?null:(ee(ce(d)&&d>0||isNaN(d),"$sqrt expression must resolve to non-negative number."),Math.sqrt(d))}function eo(l,c){var d=oe(l,c);return d[0]-d[1]}function tl(l,c){var d=oe(l,c),_=d[0],S=d[1];return re(_)||isNaN(_)||Math.abs(_)===1/0?_:(ee(ce(_),"$trunc expression must resolve to a number."),ee(re(S)||ce(S)&&S>-20&&S<100,"$trunc expression has invalid place"),to(_,S,!1))}function to(l,c,d){c=c||0;var _=Math.abs(l)===l?1:-1;l=Math.abs(l);var S=Math.trunc(l),F=l-S;if(c===0){var G=Math.trunc(10*F);d&&(S&1)===1&&G>=5&&S++}else if(c>0){var X=Math.pow(10,c),le=Math.trunc(F*X),se=Math.trunc(F*X*10)%10;d&&se>5&&(le+=1),S+=le/X}else if(c<0){var je=Math.pow(10,-1*c),xe=S%je;if(S=Math.max(0,S-xe),d&&_===-1){for(;xe>10;)xe-=xe%10;S>0&&xe>=5&&(S+=je)}}return S*_}function nl(l,c){var d=oe(l,c);ee(V(d)&&d.length===2,"$arrayElemAt expression must resolve to array(2)"),ee(V(d[0]),"First operand to $arrayElemAt must resolve to an array"),ee(ce(d[1]),"Second operand to $arrayElemAt must resolve to an integer");var _=d[1];if(d=d[0],_<0&&Math.abs(_)<=d.length)return d[_+d.length];if(_>=0&&_<d.length)return d[_]}function rl(l,c){var d=oe(l,c);return ee(V(d),"$arrayToObject expression must resolve to an array"),jt(d,function(_,S){return V(S)&&S.length==2?_[S[0]]=S[1]:(ee(be(S)&&bt(S,"k")&&bt(S,"v"),"$arrayToObject expression is invalid."),_[S.k]=S.v),_},{})}function no(l,c){var d=oe(l,c,null);return ee(V(d),"$concatArrays must resolve to an array"),d.some(re)?null:d.reduce(function(_,S){return zt(_,S)},[])}function ro(l,c){var d=oe(l,c.input),_=c.as,S=c.cond;return ee(V(d),"$filter 'input' expression must resolve to an array"),d.filter(function(F){var G={};return G["$"+_]=F,oe(G,S)===!0})}function so(l,c){var d=oe(l,c[0]),_=oe(l,c[1]);return ee(V(_),"$in second argument must be an array"),_.some(In.bind(null,d))}function Js(l,c){var d=oe(l,c);if(re(d))return null;var _=d[0],S=d[1];if(re(_))return null;ee(V(_),"$indexOfArray expression must resolve to an array.");var F=d[2]||0,G=d[3];return re(G)&&(G=_.length),F>G?-1:(ee(F>=0&&G>=0,"$indexOfArray expression is invalid"),(F>0||G<_.length)&&(_=_.slice(F,G)),_.findIndex(In.bind(null,S))+F)}function sl(l,c){return V(oe(l,c[0]))}function ao(l,c){var d=oe(l,c.input);ee(V(d),"$map 'input' expression must resolve to an array");var _=c.as,S=c.in,F="$"+_;return d.map(function(G){return l[F]=G,oe(l,S)})}function is(l,c){var d=oe(l,c);ee(be(d),"$objectToArray expression must resolve to an object");var _=[];return Se(d,function(S,F){return _.push({k:F,v:S})}),_}function oo(l,c){for(var d=oe(l,c),_=d[0],S=d[1],F=d[2]||1,G=[];_<S&&F>0||_>S&&F<0;)G.push(_),_+=F;return G}function al(l,c){var d=oe(l,c.input),_=oe(l,c.initialValue),S=c.in;return re(d)?null:(ee(V(d),"$reduce 'input' expression must resolve to an array"),jt(d,function(F,G){return oe({$value:F,$this:G},S)},_))}function io(l,c){var d=oe(l,c);if(re(d))return null;ee(V(d),"$reverseArray expression must resolve to an array");var _=[];return zt(_,d),_.reverse(),_}function lo(l,c){var d=oe(l,c);return V(d)?d.length:void 0}function ea(l,c){var d=oe(l,c);return Zs(d[0],d[1],d[2])}function ol(l,c){var d=oe(l,c.inputs),_=c.useLongestLength||!1;ee(V(d),"'inputs' expression must resolve to an array"),ee(de(_),"'useLongestLength' must be a boolean"),V(c.defaults)&&ee(It(_),"'useLongestLength' must be set to true to use 'defaults'");for(var S=0,F=0,G=d.length;F<G;F++){var X=d[F];if(re(X))return null;ee(V(X),"'inputs' expression values must resolve to an array or null"),S=_?Math.max(S,X.length):Math.min(S||X.length,X.length)}for(var le=[],se=c.defaults||[],je=function(Oe){var nt=d.map(function(Et,en){return re(Et[Oe])?se[en]||null:Et[Oe]});le.push(nt)},xe=0;xe<S;xe++)je(xe);return le}function co(l,c){var d=oe(l,c);return V(d)?jt(d,function(_,S){return Object.assign(_,S)},{}):{}}function ta(l,c){var d=oe(l,c);return It(d)&&d.every(It)}function na(l,c){var d=oe(l,c);return It(d)&&d.some(It)}function ur(l,c){return!oe(l,c[0])}function Wt(l){return l instanceof cs?l:new cs(l)}Wt.isIterator=ra;function ra(l){return!!l&&s(l)==="object"&&sa(l.next)}function sa(l){return!!l&&typeof l=="function"}function uo(l,c){var d=l.slice(c+1);l.splice(c),Array.prototype.push.apply(l,d)}var ls=new Error,aa=1,oa=2,fo=3,po=4;function il(l,c,d){var _=!1,S=-1,F=0;return function(G){G=G===d;try{e:for(;!_;){var X=l();S++;for(var le=-1,se=c.length,je=!1;++le<se;){var xe=c[le],qe=xe.func,Oe=xe.type;switch(Oe){case aa:X=qe(X,S);break;case oa:if(!qe(X,S))continue e;break;case fo:--xe.func,xe.func||(je=!0);break;case po:--xe.func,xe.func||uo(c,le);continue e;default:break e}}if(_=je,G)d[F++]=X;else return{value:X,done:!1}}}catch(nt){if(nt!==ls)throw nt}return _=!0,{done:!0}}}var cs=(function(){function l(c){if(i(this,l),this.__iteratees=[],this.__first=!1,this.__done=!1,this.__buf=[],sa(c)&&(c={next:c}),ra(c)){var d=c;c=function(){var X=d.next();if(X.done)throw ls;return X.value}}else if(Array.isArray(c)){var _=c,S=_.length,F=0;c=function(){if(F<S)return _[F++];throw ls}}else if(!sa(c))throw new Error("Source is not iterable. Must be Array, Function or Object{next:Function}");this.next=il(c,this.__iteratees,this.__buf)}return p(l,[{key:"_validate",value:function(){if(this.__first)throw new Error("Cannot add iteratee/transform after `first()`")}},{key:"_push",value:function(d){return this._validate(),this.__iteratees.push(d),this}},{key:"map",value:function(d){return this._push({type:aa,func:d})}},{key:"filter",value:function(d){return this._push({type:oa,func:d})}},{key:"take",value:function(d){return d>0?this._push({type:fo,func:d}):this}},{key:"drop",value:function(d){return d>0?this._push({type:po,func:d}):this}},{key:"transform",value:function(d){this._validate();var _=this,S;return Wt(function(){return S||(S=Wt(d(_.value()))),S.next()})}},{key:"first",value:function(){return this.take(1),this.__first=!0,this}},{key:"value",value:function(){return this.__done||(this.__done=this.next(this.__buf).done),this.__first?this.__buf[0]:this.__buf}},{key:"each",value:function(d){for(;;){var _=this.next();if(_.done)break;if(d(_.value)===!1)return!1}return!0}},{key:"reduce",value:function(d,_){var S=this.next(),F=0;for(_===void 0&&!S.done&&(_=S.value,S=this.next(),F++);!S.done;)_=d(_,S.value,F++),S=this.next();return _}},{key:"size",value:function(){return this.reduce(function(d,_){return++d},0)}}]),l})();typeof Symbol=="function"&&(cs.prototype[Symbol.iterator]=function(){return this});var us=(function(){function l(c,d){i(this,l),this.__operators=c,this.__options=d}return p(l,[{key:"stream",value:function(d,_){var S=this;d=Wt(d);var F=ft[B];return St(this.__operators)||Se(this.__operators,function(G){var X=Je(G);ee(X.length===1&&st(Qs(B),X[0]),"invalid aggregation operator ".concat(X)),X=X[0],_&&_ instanceof ln?d=F[X].call(_,d,G[X],S.__options):d=F[X](d,G[X],S.__options)}),d}},{key:"run",value:function(d,_){return this.stream(d,_).value()}}]),l})();function ho(l,c,d){return ee(V(c),"Aggregation pipeline must be an array"),new us(c,d).run(l)}var ia=(function(){function l(c,d,_){i(this,l),this.__filterFn=d.test.bind(d),this.__query=d,this.__source=c,this.__projection=_||d.__projection,this.__operators=[],this.__result=null,this.__stack=[],this.__options={}}return p(l,[{key:"_fetch",value:function(){return this.__result?this.__result:(be(this.__projection)&&this.__operators.push({$project:this.__projection}),this.__result=Wt(this.__source).filter(this.__filterFn),this.__operators.length>0&&(this.__result=new us(this.__operators,this.__options).stream(this.__result,this.__query)),this.__result)}},{key:"all",value:function(){return this._fetch().value()}},{key:"count",value:function(){return this.all().length}},{key:"skip",value:function(d){return this.__operators.push({$skip:d}),this}},{key:"limit",value:function(d){return this.__operators.push({$limit:d}),this}},{key:"sort",value:function(d){return this.__operators.push({$sort:d}),this}},{key:"collation",value:function(d){return this.__options.collation=d,this}},{key:"next",value:function(){if(this.__stack){if(this.__stack.length>0)return this.__stack.pop();var d=this._fetch().next();if(!d.done)return d.value;this.__stack=null}}},{key:"hasNext",value:function(){if(!this.__stack)return!1;if(this.__stack.length>0)return!0;var d=this._fetch().next();return d.done?this.__stack=null:this.__stack.push(d.value),!!this.__stack}},{key:"map",value:function(d){return this._fetch().map(d).value()}},{key:"forEach",value:function(d){this._fetch().each(d)}}]),l})();typeof Symbol=="function"&&(ia.prototype[Symbol.iterator]=function(){return this._fetch()});var ln=(function(){function l(c,d){i(this,l),this.__criteria=c,this.__projection=d||{},this.__compiled=[],this._compile()}return p(l,[{key:"_compile",value:function(){var d=this;ee(be(this.__criteria),"query criteria must be an object");var _;Se(this.__criteria,function(S,F){F==="$where"?_={field:F,expr:S}:F==="$expr"||st(["$and","$or","$nor"],F)?d._processOperator(F,F,S):(ee(!Xs(F),"unknown top level operator: ".concat(F)),S=Ks(S),Se(S,function(G,X){d._processOperator(F,X,G)})),be(_)&&d._processOperator(_.field,_.field,_.expr)})}},{key:"_processOperator",value:function(d,_,S){ee(bt(ft[ge],_),"invalid query operator ".concat(_," detected")),this.__compiled.push(ft[ge][_](d,S))}},{key:"test",value:function(d){for(var _=0,S=this.__compiled.length;_<S;_++)if(!this.__compiled[_](d))return!1;return!0}},{key:"find",value:function(d,_){return new ia(d,this,_)}},{key:"remove",value:function(d){var _=this;return jt(d,function(S,F){return _.test(F)||S.push(F),S},[])}}]),l})();function la(l,c,d){return new ln(c).find(l,d)}function ll(l,c){return new ln(c).remove(l)}function ca(l,c){if(In(l,c)||re(l)&&re(c))return!0;if(V(l)){var d=In.bind(null,c);return l.some(d)||or(l,1).some(d)}return!1}function mo(l,c){return!ca(l,c)}function go(l,c){return re(l)?c.some(Ze):_n($t(l),c).length>0}function xo(l,c){return!go(l,c)}function at(l,c){return dr(l,c,function(d,_){return d<_})}function et(l,c){return dr(l,c,function(d,_){return d<=_})}function wo(l,c){return dr(l,c,function(d,_){return d>_})}function bo(l,c){return dr(l,c,function(d,_){return d>=_})}function cl(l,c){return $t(l).some(function(d){return ce(d)&&V(c)&&c.length===2&&d%c[0]===c[1]})}function ul(l,c){l=$t(l);var d=function(S){return fe(S)&&!!S.match(c)};return l.some(d)||or(l,1).some(d)}function dl(l,c){return(c===!1||c===0)&&l===void 0||(c===!0||c===1)&&l!==void 0}function fl(l,c){var d=!1;if(V(l)&&V(c))for(var _=0,S=c.length;_<S;_++)if(be(c[_])&&st(Je(c[_]),"$elemMatch"))d=d||yo(l,c[_].$elemMatch);else return _n(c,l).length===S;return d}function vo(l,c){return V(l)&&ce(c)&&l.length===c}function yo(l,c){if(V(l)&&!St(l)){var d=function(le){return le},_=c;Je(c).every(Xs)&&(_={temp:c},d=function(le){return{temp:le}});for(var S=new ln(_),F=0,G=l.length;F<G;F++)if(S.test(d(l[F])))return!0}return!1}function Ct(l,c){switch(c){case 1:case"double":return ce(l)&&(l+"").indexOf(".")!==-1;case 2:case N:return fe(l);case 3:case P:return be(l);case 4:case O:return V(l);case 6:case v:return re(l);case 8:case C:return de(l);case 9:case D:return it(l);case 10:case y:return Ze(l);case 11:case $:return wt(l);case 16:case"int":return ce(l)&&l<=2147483647&&(l+"").indexOf(".")===-1;case 18:case"long":return ce(l)&&l>2147483647&&l<=9223372036854776e3&&(l+"").indexOf(".")===-1;case 19:case"decimal":return ce(l);default:return!1}}function dr(l,c,d){return $t(l).some(function(_){return ye(_)===ye(c)&&d(_,c)})}function Yt(l){return function(c,d){var _=oe(c,d);return l(_[0],_[1])}}var _o=Yt(ca),ua=Yt(mo),Qt=Yt(wo),Mo=Yt(at),ko=Yt(bo),jo=Yt(et),Eo=Yt(xo);function No(l,c){var d=oe(l,c);return d[0]>d[1]?1:d[0]<d[1]?-1:0}function To(l,c){var d,_,S,F="$cond: invalid arguments";V(c)?(ee(c.length===3,F),d=c[0],_=c[1],S=c[2]):(ee(be(c),F),d=c.if,_=c.then,S=c.else);var G=oe(l,d);return G?oe(l,_):oe(l,S)}function qt(l,c){var d="Invalid arguments for $switch operator";ee(c.branches,d);var _=c.branches.find(function(S){return ee(S.case&&S.then,d),oe(l,S.case)});return _?oe(l,_.then):(ee(c.default,d),oe(l,c.default))}function pl(l,c){ee(V(c)&&c.length===2,"$ifNull expression must resolve to array(2)");var d=oe(l,c);return re(d[0])?d[1]:d[0]}function Gt(l,c){var d=oe(l,c),_=new Date(d.getFullYear(),0,0),S=d-_,F=1e3*60*60*24;return Math.round(S/F)}function Co(l,c){var d=oe(l,c);return d.getDate()}function da(l,c){var d=oe(l,c);return d.getDay()+1}function Mn(l,c){var d=oe(l,c);return d.getFullYear()}function Ar(l,c){var d=oe(l,c);return d.getMonth()+1}function ds(l,c){var d=oe(l,c);d=new Date(+d),d.setHours(0,0,0),d.setDate(d.getDate()+4-(d.getDay()||7));var _=new Date(d.getFullYear(),0,1);return Math.floor(((d-_)/864e5+1)/7)}function lt(l,c){var d=oe(l,c);return d.getUTCHours()}function kn(l,c){var d=oe(l,c);return d.getMinutes()}function fs(l,c){var d=oe(l,c);return d.getSeconds()}function Io(l,c){var d=oe(l,c);return d.getMilliseconds()}var fa={"%Y":[Mn,4],"%m":[Ar,2],"%d":[Co,2],"%H":[lt,2],"%M":[kn,2],"%S":[fs,2],"%L":[Io,3],"%j":[Gt,3],"%w":[da,1],"%U":[ds,2],"%%":"%"};function hl(l,c){for(var d=c.format,_=oe(l,c.date),S=d.match(/(%%|%Y|%m|%d|%H|%M|%S|%L|%j|%w|%U)/g),F=0,G=S.length;F<G;F++){var X=fa[S[F]],le=X;if(V(X)){var se=X[0],je=X[1];le=ml(se(l,_),je)}d=d.replace(S[F],le)}return d}function ml(l,c){return new Array(Math.max(c-String(l).length+1,0)).join("0")+l}function gl(l,c){return c}function So(l,c){var d=oe(l,c),_=Ir(d[0]),S=Ir(d[1]);return _.length===S.length&&_.length===_n(_,S).length}function ps(l,c){var d=oe(l,c);return _n(d[0],d[1])}function fr(l,c){var d=oe(l,c);return d[0].filter(mt.bind(null,d[1]))}function xl(l,c){var d=oe(l,c);return Ui(d[0],d[1])}function Ao(l,c){var d=oe(l,c);return _n(d[0],d[1]).length===d[0].length}function Do(l,c){var d=oe(l,c)[0];return d.some(It)}function pa(l,c){var d=oe(l,c)[0];return d.every(It)}function ha(l,c){var d=oe(l,c);return[null,void 0].some(st.bind(null,d))?null:d.join("")}function $o(l,c){var d=oe(l,c),_="$indexOfBytes expression resolves to invalid an argument";if(re(d[0]))return null;ee(fe(d[0])&&fe(d[1]),_);var S=d[0],F=d[1],G=d[2],X=d[3],le=re(G)||ce(G)&&G>=0&&Math.round(G)===G;if(le=le&&(re(X)||ce(X)&&X>=0&&Math.round(X)===X),ee(le,_),G=G||0,X=X||S.length,G>X)return-1;var se=S.substring(G,X).indexOf(F);return se>-1?se+G:se}function wl(l,c){var d=oe(l,c);return re(d[0])?null:(ee(d.every(fe),"$split expression must result to array(2) of strings"),d[0].split(d[1]))}function ma(l,c){return~-encodeURI(oe(l,c)).split(/%..|./).length}function ga(l,c){return oe(l,c).length}function bl(l,c){var d=oe(l,c),_=d[0],S=d[1];return In(_,S)||d.every(re)?0:(ee(d.every(fe),"$strcasecmp must resolve to array(2) of strings"),_=_.toUpperCase(),S=S.toUpperCase(),_>S&&1||_<S&&-1||0)}function Ro(l,c){var d=oe(l,c),_=d[0],S=d[1],F=d[2];ee(fe(_)&&ce(S)&&S>=0&&ce(F)&&F>=0,"$substrBytes: invalid arguments");for(var G=yl(_),X=[],le=0,se=0;se<G.length;se++)X.push(le),le+=G[se].length;var je=X.indexOf(S),xe=X.indexOf(S+F);return ee(je>-1&&xe>-1,"$substrBytes: invalid range, start or end index is a UTF-8 continuation byte."),_.substring(je,xe)}function Ut(l,c){var d=oe(l,c),_=d[0],S=d[1],F=d[2];return fe(_)?S<0?"":F<0?_.substr(S):_.substr(S,F):""}function xa(l,c){return Ut(l,c)}function Dr(l,c){var d=oe(l,c);return St(d)?"":d.toLowerCase()}function Lo(l,c){var d=oe(l,c);return St(d)?"":d.toUpperCase()}var Oo=[192,224,240];function vl(l){if(l<128)return[l];for(var c=l<2048&&1||l<65536&&2||3,d=Oo[c-1],_=[(l>>6*c)+d];c>0;)_.push(128|l>>6*--c&63);return _}function yl(l){for(var c=[],d=0,_=l.length;d<_;d++)c.push(vl(l.codePointAt(d)));return c}function _l(l,c){var d=c.vars,_=c.in,S=Je(d);return Se(S,function(F){var G=oe(l,d[F]),X="$"+F;l[X]=G}),oe(l,_)}var Ml=Object.freeze({__proto__:null,$abs:Yi,$add:qi,$ceil:Gi,$divide:Xi,$exp:Ki,$floor:Zi,$ln:as,$log:Vi,$log10:os,$mod:Qi,$multiply:Ji,$pow:el,$round:Qa,$sqrt:Ja,$subtract:eo,$trunc:tl,$arrayElemAt:nl,$arrayToObject:rl,$concatArrays:no,$filter:ro,$in:so,$indexOfArray:Js,$isArray:sl,$map:ao,$objectToArray:is,$range:oo,$reduce:al,$reverseArray:io,$size:lo,$slice:ea,$zip:ol,$mergeObjects:co,$and:ta,$or:na,$not:ur,$eq:_o,$ne:ua,$gt:Qt,$lt:Mo,$gte:ko,$lte:jo,$nin:Eo,$cmp:No,$cond:To,$switch:qt,$ifNull:pl,$dayOfYear:Gt,$dayOfMonth:Co,$dayOfWeek:da,$year:Mn,$month:Ar,$week:ds,$hour:lt,$minute:kn,$second:fs,$millisecond:Io,$dateToString:hl,$literal:gl,$setEquals:So,$setIntersection:ps,$setDifference:fr,$setUnion:xl,$setIsSubset:Ao,$anyElementTrue:Do,$allElementsTrue:pa,$concat:ha,$indexOfBytes:$o,$split:wl,$strLenBytes:ma,$strLenCP:ga,$strcasecmp:bl,$substrBytes:Ro,$substr:Ut,$substrCP:xa,$toLower:Dr,$toUpper:Lo,$let:_l});function An(l,c){return re(c)?l:l.map(function(d){return oe(d,c)})}function pr(l,c){return Ir(An(l,c))}function kl(l,c){var d=An(l,c).filter(ce),_=jt(d,function(S,F){return S+F},0);return _/(d.length||1)}function jl(l,c){return l.length>0?oe(l[0],c):void 0}function wa(l,c){return l.length>0?oe(l[l.length-1],c):void 0}function Fo(l,c){return jt(An(l,c),function(d,_){return re(d)||_>d?_:d},void 0)}function Dn(l,c){return jt(l,function(d,_){return Object.assign(d,oe(_,c))},{})}function hs(l,c){return jt(An(l,c),function(d,_){return re(d)||_<d?_:d},void 0)}function El(l,c){return qa(An(l,c).filter(ce),!1)}function Nl(l,c){return qa(An(l,c).filter(ce),!0)}function Tl(l,c){return V(l)?ce(c)?l.length*c:jt(An(l,c).filter(ce),function(d,_){return d+_},0):0}var hr=Object.freeze({__proto__:null,$addToSet:pr,$avg:kl,$first:jl,$last:wa,$max:Fo,$mergeObjects:Dn,$min:hs,$push:An,$stdDevPop:El,$stdDevSamp:Nl,$sum:Tl});function Jt(l,c,d){var _=Je(c);return _.length===0?l:l.map(function(S){var F=ke(S);return Se(_,function(G){var X=oe(S,c[G]);qs(F,G,X)}),F})}var Po=Jt;function Cl(l,c,d){var _=c.boundaries,S=c.default,F=_[0],G=_[_.length-1],X=c.output||{count:{$sum:1}};ee(_.length>2,"$bucket 'boundaries' expression must have at least 3 elements");for(var le=ye(F),se=0,je=_.length-1;se<je;se++)ee(le===ye(_[se+1]),"$bucket 'boundaries' must all be of the same type"),ee(_[se]<_[se+1],"$bucket 'boundaries' must be sorted in ascending order");!re(S)&&ye(c.default)===ye(F)&&ee(F>c.default||G<c.default,"$bucket 'default' expression must be out of boundaries range");var xe={};Se(_,function(Oe){return xe[Oe]=[]}),re(S)||(xe[S]=[]);var qe=!1;return Wt(function(){return qe||(l.each(function(Oe){var nt=oe(Oe,c.groupBy);if(re(nt)||nt<F||nt>=G)ee(!re(S),"$bucket require a default for out of range values"),xe[S].push(Oe);else{ee(nt>=F&&nt<G,"$bucket 'groupBy' expression must resolve to a value in range of boundaries");var Et=Bs(_,nt),en=_[Math.max(0,Et-1)];xe[en].push(Oe)}}),_.pop(),re(S)||_.push(S),qe=Wt(_).map(function(Oe){var nt=rs(xe[Oe],null,X);return Object.assign(nt,{_id:Oe})})),qe.next()})}function Il(l,c,d){var _=c.output||{count:{$sum:1}},S=c.groupBy,F=c.buckets;return ee(F>0,"The $bucketAuto 'buckets' field must be greater than 0, but found: "+F),l.transform(function(G){for(var X=Math.max(1,Math.round(G.length/F)),le=Bi(oe),se={},je=[],xe=Jr(G,function(ya){var Lr=le(ya,S);return re(Lr)?je.push(ya):(se[Lr]||(se[Lr]=[]),se[Lr].push(ya)),Lr}),qe=cr(),Oe=[],nt=0,Et=0,en=xe.length;Et<F&&nt<en;Et++){for(var k={},cn=[],Rr=0;Rr<X&&nt<en;Rr++){var Nt=le(xe[nt],S);if(re(Nt)&&(Nt=null),zt(cn,re(Nt)?je:se[Nt]),nt+=re(Nt)?je.length:se[Nt].length,bt(k,"min")||(k.min=Nt),Oe.length>0){var Fe=Oe[Oe.length-1];Fe[qe].max=k.min}}Et==F-1&&zt(cn,xe.slice(nt)),Oe.push(Object.assign(rs(cn,null,_),{_id:k}))}return Oe.length>0&&(Oe[Oe.length-1][qe].max=le(xe[xe.length-1],S)),Oe})}function Sl(l,c,d){return ee(fe(c)&&c.trim()!==""&&c.indexOf(".")===-1&&c.trim()[0]!=="$","Invalid expression value for $count"),Wt(function(){var _={};return _[c]=l.size(),{value:_,done:!1}}).first()}function Al(l,c,d){return l.transform(function(_){return[hn(c,function(S){return ho(_,S)})]})}function Ho(l,c,d){var _=cr(),S=c[_];return l.transform(function(F){var G=es(F,function(se){return oe(se,S,S)});c=ue(c),delete c[_];var X=-1,le=G.keys.length;return function(){if(++X===le)return{done:!0};var se=G.keys[X],je={};return se!==void 0&&(je[_]=se),Se(c,function(xe,qe){je[qe]=rs(G.groups[X],qe,xe)}),{value:je,done:!1}}})}function mr(l,c,d){return l.take(c)}function z(l,c,d){var _=c.from,S=c.localField,F=c.foreignField,G=c.as;ee(V(_)&&fe(F)&&fe(S)&&fe(G),"$lookup: invalid argument");var X={};return Se(_,function(le){var se=mn(on(le,F));X[se]=X[se]||[],X[se].push(le)}),l.map(function(le){var se=mn(on(le,S)),je=ue(le);return je[G]=X[se]||[],je})}function Q(l,c,d){var _=new ln(c);return l.filter(function(S){return _.test(S)})}function Z(l,c,d){return ee(V(c),"$out expression must be an array"),l.map(function(_){return c.push(_),_})}function we(l,c,d){if(St(c))return l;var _=Je(c),S=!1,F=cr();if(We(c),st(_,F)){var G=c[F];(G===0||G===!1)&&(_=_.filter(mt.bind(null,[F])),ee(mt(_,F),"Must not contain collections id key"),S=St(_))}else _.push(F);return l.map(function(X){return Ce(X,c,_,S)})}function Ce(l,c,d,_){var S=cr(),F={},G=!1,X=!1,le=[];return _&&le.push(S),d.forEach(function(se){var je,xe=c[se];if(se!==S&&st([0,!1],xe)&&(X=!0),se===S&&St(xe))je=l[se];else if(fe(xe))je=oe(l,xe,se);else if(!st([1,!0],xe))if(V(xe))je=xe.map(function(k){var cn=oe(l,k);return re(cn)?null:cn});else if(be(xe)){var qe=Je(xe),Oe=qe.length>1?!1:qe[0];if(st(Qs(ie),Oe)){var nt=ft[ie];Oe==="$slice"?$t(xe[Oe]).every(ce)?(je=nt[Oe](l,xe[Oe],se),G=!0):je=oe(l,xe,se):je=nt[Oe](l,xe[Oe],se)}else if(bt(l,se)){We(xe);var Et=l[se];je=V(Et)?Et.map(function(k){return Ce(k,xe,qe,!1)}):Ce(Et,xe,qe,!1)}else je=oe(l,xe,se)}else{le.push(se);return}var en=lr(l,se,{preserveMissingValues:!0});en!==void 0&&yn(F,en,{flatten:!0}),mt([0,1,!1,!0],xe)&&(je===void 0?Gs(F,se):qs(F,se,je))}),ts(F),(G||X||_)&&(F=Object.assign({},l,F),le.length>0&&(F=ke(F),Se(le,function(se){return Gs(F,se)}))),F}function We(l){var c=cr(),d=[!1,!1];Se(l,function(_,S){S!==c&&(_===0||_===!1?d[0]=!0:(_===1||_===!0)&&(d[1]=!0),ee(!(d[0]&&d[1]),"Projection cannot have a mix of inclusion and exclusion."))})}function vt(l,c,d){return l.map(function(_){return ss(ke(_),c)})}function tt(l,c,d){return l.map(function(_){return _=oe(_,c.newRoot),ee(be(_),"$replaceRoot expression must return an object"),_})}function ba(l,c,d){var _=c.size;return ee(ce(_),"$sample size must be a positive integer"),l.transform(function(S){var F=S.length,G=-1;return function(){if(++G===_)return{done:!0};var X=Math.floor(Math.random()*F);return{value:S[X],done:!1}}})}function Dl(l,c,d){return l.drop(c)}function Xt(l,c,d){if(St(c)||!be(c))return l;d=d||{};var _=Sr,S=d.collation;return be(S)&&fe(S.locale)&&(_=$l(S)),l.transform(function(F){var G=Je(c);return Se(G.reverse(),function(X){var le=es(F,function(xe){return on(xe,X)}),se={},je=Jr(le.keys,function(xe,qe){return se[xe]=qe,xe},_);c[X]===-1&&je.reverse(),F=[],Se(je,function(xe){return zt(F,le.groups[se[xe]])})}),F})}var ms={1:"base",2:"accent",3:"variant"};function $l(l){var c={sensitivity:ms[l.strength||3],caseFirst:l.caseFirst==="off"?"false":l.caseFirst||"false",numeric:l.numericOrdering||!1,ignorePunctuation:l.alternate==="shifted"};(l.caseLevel||!1)===!0&&(c.sensitivity==="base"&&(c.sensitivity="case"),c.sensitivity==="accent"&&(c.sensitivity="variant"));var d=new Intl.Collator(l.locale,c);return function(_,S){if(!fe(_)||!fe(S))return Sr(_,S);var F=d.compare(_,S);return F<0?-1:F>0?1:0}}function gr(l,c,d){var _={count:{$sum:1}};return _[cr()]=c,Xt(Ho(l,_),{count:-1},d)}function gs(l,c,d){fe(c)&&(c={path:c});var _=c.path.substr(1),S=c.includeArrayIndex||!1,F=c.preserveNullAndEmptyArrays||!1,G=function(se,je){return S!==!1&&(se[S]=je),se},X;return Wt(function(){for(var le=function(){if(Wt.isIterator(X)){var xe=X.next();if(!xe.done)return{v:xe}}var qe=l.next();if(qe.done)return{v:qe};if(qe=qe.value,X=on(qe,_),V(X))if(X.length===0&&F===!0){X=null;var Oe=ke(qe);return Gs(Oe,_),{v:{value:G(Oe,null),done:!1}}}else X=Wt(X).map(function(Et,en){var k=ke(qe);return qs(k,_,Et),G(k,en)});else if(!St(X)||F===!0){var nt=ke(qe);return{v:{value:G(nt,null),done:!1}}}};;){var se=le();if(s(se)==="object")return se.v}})}var xs=Object.freeze({__proto__:null,$addFields:Jt,$set:Po,$bucket:Cl,$bucketAuto:Il,$count:Sl,$facet:Al,$group:Ho,$limit:mr,$lookup:z,$match:Q,$out:Z,$project:we,$redact:vt,$replaceRoot:tt,$sample:ba,$skip:Dl,$sort:Xt,$sortByCount:gr,$unwind:gs});function Xe(l,c,d){ar("$ not implemented")}function Rl(l,c,d){var _=on(l,d),S=new ln(c);ee(V(_),"$elemMatch: invalid argument");for(var F=0;F<_.length;F++)if(S.test(_[F]))return[_[F]]}function zo(l,c,d){var _=on(l,d);return V(_)?V(c)?Zs(_,c[0],c[1]):(ee(ce(c),"$slice: invalid arguments for projection"),Zs(_,c)):_}var ws=Object.freeze({__proto__:null,$:Xe,$elemMatch:Rl,$slice:zo});function Rt(l){return function(c,d){return function(_){var S=on(_,c,{meta:!0});return S=ir(S.result,S.depth),l(S,d)}}}var Ll=Rt(fl),Ol=Rt(yo),bs=Rt(ca),$n=Rt(dl),vs=Rt(wo),Uo=Rt(bo),ys=Rt(go),Bo=Rt(at),Wo=Rt(et),_s=Rt(cl),Yo=Rt(mo),$r=Rt(xo),Bn=Rt(ul),Ms=Rt(vo),Fl=Rt(Ct);function Pl(l,c){ee(V(c),"Invalid expression: $and expects value to be an Array");var d=[];return Se(c,function(_){return d.push(new ln(_))}),function(_){for(var S=0;S<d.length;S++)if(!d[S].test(_))return!1;return!0}}function qo(l,c){ee(V(c),"Invalid expression. $or expects value to be an Array");var d=[];return Se(c,function(_){return d.push(new ln(_))}),function(_){for(var S=0;S<d.length;S++)if(d[S].test(_))return!0;return!1}}function ks(l,c){ee(V(c),"Invalid expression. $nor expects value to be an Array");var d=qo("$or",c);return function(_){return!d(_)}}function js(l,c){var d={};d[l]=Ks(c);var _=new ln(d);return function(S){return!_.test(S)}}function va(l,c){return Pt(c)||(c=new Function("return "+c+";")),function(d){return c.call(d)===!0}}function Hl(l,c){return function(d){return oe(d,c)}}var Go=Object.freeze({__proto__:null,$all:Ll,$elemMatch:Ol,$eq:bs,$exists:$n,$gt:vs,$gte:Uo,$in:ys,$lt:Bo,$lte:Wo,$mod:_s,$ne:Yo,$nin:$r,$regex:Bn,$size:Ms,$type:Fl,$and:Pl,$or:qo,$nor:ks,$not:js,$where:va,$expr:Hl}),ft={};ft[Y]={},ft[W]={},ft[B]={},ft[ie]={},ft[ge]={};var zl=[[Y,Ml],[W,hr],[B,xs],[ie,ws],[ge,Go]];function yt(){Se(zl,function(l){var c=w(l,2),d=c[0],_=c[1];Object.assign(ft[d],_)})}function At(l,c){var d=c(ns());ee(bt(ft,l),"Invalid operator class ".concat(l));var _=ft[l];Se(d,function(F,G){ee(/^\$[a-zA-Z0-9_]*$/.test(G),"Invalid operator name ".concat(G)),ee(!bt(_,G),"".concat(G," already exists for '").concat(l,"' operators"))});var S={};switch(l){case ge:Se(d,function(F,G){F=F.bind(d),S[G]=function(X,le){return function(se){var je=on(se,X),xe=F(X,je,le);return ee(de(xe),"".concat(G," must return a boolean")),xe}}});break;case ie:Se(d,function(F,G){F=F.bind(d),S[G]=function(X,le,se){var je=on(X,se);return F(se,je,le)}});break;default:Se(d,function(F,G){S[G]=function(){for(var X=arguments.length,le=new Array(X),se=0;se<X;se++)le[se]=arguments[se];return F.apply(d,le)}})}Object.assign(ft[l],S)}var Ul={query:function(c,d){return new ln(c).find(this.toJSON(),d)},aggregate:function(c){return new us(c).run(this.toJSON())}};yt();var Bl="2.5.3",Xo={_internal:ns,Aggregator:us,CollectionMixin:Ul,Cursor:ia,Lazy:Wt,OP_EXPRESSION:Y,OP_GROUP:W,OP_PIPELINE:B,OP_PROJECTION:ie,OP_QUERY:ge,Query:ln,VERSION:Bl,addOperators:At,aggregate:ho,find:la,remove:ll,setup:Vs};return Xo}))})(ji)),ji.exports}var Da={exports:{}};/**
8
8
  * @license
9
9
  * Lodash <https://lodash.com/>
10
10
  * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
11
11
  * Released under MIT license <https://lodash.com/license>
12
12
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
13
13
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
14
- */var d2=Da.exports,Ep;function Hu(){return Ep||(Ep=1,(function(t,a){(function(){var s,i="4.17.23",u=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",w="Expected a function",m="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",g=500,h="__lodash_placeholder__",b=1,y=2,v=4,C=1,E=2,j=1,T=2,D=4,$=8,R=16,O=32,P=64,I=128,U=256,Y=512,W=30,B="...",ie=800,ge=16,Me=1,K=2,ee=3,ke=1/0,ue=9007199254740991,ye=17976931348623157e292,J=NaN,de=4294967295,fe=de-1,ce=de>>>1,V=[["ary",I],["bind",j],["bindKey",T],["curry",$],["curryRight",R],["flip",Y],["partial",O],["partialRight",P],["rearg",U]],be="[object Arguments]",Le="[object Array]",it="[object AsyncFunction]",wt="[object Boolean]",Pt="[object Date]",re="[object DOMException]",Ze="[object Error]",Ht="[object Function]",st="[object GeneratorFunction]",mt="[object Map]",It="[object Number]",St="[object Null]",$t="[object Object]",bt="[object Promise]",ar="[object Proxy]",Je="[object RegExp]",Se="[object Set]",hn="[object String]",yn="[object Symbol]",jt="[object Undefined]",_n="[object WeakMap]",Ui="[object WeakSet]",or="[object ArrayBuffer]",ir="[object DataView]",In="[object Float32Array]",Ir="[object Float64Array]",Sn="[object Int8Array]",mn="[object Int16Array]",Sr="[object Int32Array]",Jr="[object Uint8Array]",es="[object Uint8ClampedArray]",zt="[object Uint16Array]",Bs="[object Uint32Array]",Bi=/\b__p \+= '';/g,Ws=/\b(__p \+=) '' \+/g,on=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lr=/&(?:amp|lt|gt|quot|#39);/g,ts=/[&<>"']/g,Ys=RegExp(lr.source),qs=RegExp(ts.source),Gs=/<%-([\s\S]+?)%>/g,Xs=/<%([\s\S]+?)%>/g,Ks=/<%=([\s\S]+?)%>/g,Zs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qa=/^\w*$/,Wi=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ns=/[\\^$.*+?()[\]{}|]/g,Ga=RegExp(ns.source),Vs=/^\s+/,Xa=/\s/,Ka=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Za=/\{\n\/\* \[wrapped with (.+)\] \*/,Va=/,? & /,cr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qs=/[()=,{}\[\]\/\s]/,rs=/\\(\\)?/g,oe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ss=/\w*$/,Yi=/^[-+]0x[0-9a-f]+$/i,qi=/^0b[01]+$/i,Gi=/^\[object .+?Constructor\]$/,Xi=/^0o[0-7]+$/i,Ki=/^(?:0|[1-9]\d*)$/,Zi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,as=/($^)/,Vi=/['\n\r\u2028\u2029\\]/g,os="\\ud800-\\udfff",Qi="\\u0300-\\u036f",Ji="\\ufe20-\\ufe2f",el="\\u20d0-\\u20ff",Qa=Qi+Ji+el,Ja="\\u2700-\\u27bf",eo="a-z\\xdf-\\xf6\\xf8-\\xff",tl="\\xac\\xb1\\xd7\\xf7",to="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",nl="\\u2000-\\u206f",rl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",no="A-Z\\xc0-\\xd6\\xd8-\\xde",ro="\\ufe0e\\ufe0f",so=tl+to+nl+rl,Js="['’]",sl="["+os+"]",ao="["+so+"]",is="["+Qa+"]",oo="\\d+",al="["+Ja+"]",io="["+eo+"]",lo="[^"+os+so+oo+Ja+eo+no+"]",ea="\\ud83c[\\udffb-\\udfff]",ol="(?:"+is+"|"+ea+")",co="[^"+os+"]",ta="(?:\\ud83c[\\udde6-\\uddff]){2}",na="[\\ud800-\\udbff][\\udc00-\\udfff]",ur="["+no+"]",Wt="\\u200d",ra="(?:"+io+"|"+lo+")",sa="(?:"+ur+"|"+lo+")",uo="(?:"+Js+"(?:d|ll|m|re|s|t|ve))?",ls="(?:"+Js+"(?:D|LL|M|RE|S|T|VE))?",aa=ol+"?",oa="["+ro+"]?",fo="(?:"+Wt+"(?:"+[co,ta,na].join("|")+")"+oa+aa+")*",po="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",il="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",cs=oa+aa+fo,us="(?:"+[al,ta,na].join("|")+")"+cs,ho="(?:"+[co+is+"?",is,ta,na,sl].join("|")+")",ia=RegExp(Js,"g"),ln=RegExp(is,"g"),la=RegExp(ea+"(?="+ea+")|"+ho+cs,"g"),ll=RegExp([ur+"?"+io+"+"+uo+"(?="+[ao,ur,"$"].join("|")+")",sa+"+"+ls+"(?="+[ao,ur+ra,"$"].join("|")+")",ur+"?"+ra+"+"+uo,ur+"+"+ls,il,po,oo,us].join("|"),"g"),ca=RegExp("["+Wt+os+Qa+ro+"]"),mo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,go=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xo=-1,at={};at[In]=at[Ir]=at[Sn]=at[mn]=at[Sr]=at[Jr]=at[es]=at[zt]=at[Bs]=!0,at[be]=at[Le]=at[or]=at[wt]=at[ir]=at[Pt]=at[Ze]=at[Ht]=at[mt]=at[It]=at[$t]=at[Je]=at[Se]=at[hn]=at[_n]=!1;var et={};et[be]=et[Le]=et[or]=et[ir]=et[wt]=et[Pt]=et[In]=et[Ir]=et[Sn]=et[mn]=et[Sr]=et[mt]=et[It]=et[$t]=et[Je]=et[Se]=et[hn]=et[yn]=et[Jr]=et[es]=et[zt]=et[Bs]=!0,et[Ze]=et[Ht]=et[_n]=!1;var wo={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},bo={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},cl={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},ul={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},dl=parseFloat,fl=parseInt,vo=typeof xi=="object"&&xi&&xi.Object===Object&&xi,yo=typeof self=="object"&&self&&self.Object===Object&&self,Ct=vo||yo||Function("return this")(),dr=a&&!a.nodeType&&a,Yt=dr&&!0&&t&&!t.nodeType&&t,_o=Yt&&Yt.exports===dr,ua=_o&&vo.process,Qt=(function(){try{var z=Yt&&Yt.require&&Yt.require("util").types;return z||ua&&ua.binding&&ua.binding("util")}catch{}})(),Mo=Qt&&Qt.isArrayBuffer,ko=Qt&&Qt.isDate,jo=Qt&&Qt.isMap,Eo=Qt&&Qt.isRegExp,To=Qt&&Qt.isSet,No=Qt&&Qt.isTypedArray;function qt(z,Q,Z){switch(Z.length){case 0:return z.call(Q);case 1:return z.call(Q,Z[0]);case 2:return z.call(Q,Z[0],Z[1]);case 3:return z.call(Q,Z[0],Z[1],Z[2])}return z.apply(Q,Z)}function pl(z,Q,Z,we){for(var Ce=-1,We=z==null?0:z.length;++Ce<We;){var vt=z[Ce];Q(we,vt,Z(vt),z)}return we}function Gt(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we&&Q(z[Z],Z,z)!==!1;);return z}function Co(z,Q){for(var Z=z==null?0:z.length;Z--&&Q(z[Z],Z,z)!==!1;);return z}function da(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we;)if(!Q(z[Z],Z,z))return!1;return!0}function Mn(z,Q){for(var Z=-1,we=z==null?0:z.length,Ce=0,We=[];++Z<we;){var vt=z[Z];Q(vt,Z,z)&&(We[Ce++]=vt)}return We}function Ar(z,Q){var Z=z==null?0:z.length;return!!Z&&fr(z,Q,0)>-1}function ds(z,Q,Z){for(var we=-1,Ce=z==null?0:z.length;++we<Ce;)if(Z(Q,z[we]))return!0;return!1}function lt(z,Q){for(var Z=-1,we=z==null?0:z.length,Ce=Array(we);++Z<we;)Ce[Z]=Q(z[Z],Z,z);return Ce}function kn(z,Q){for(var Z=-1,we=Q.length,Ce=z.length;++Z<we;)z[Ce+Z]=Q[Z];return z}function fs(z,Q,Z,we){var Ce=-1,We=z==null?0:z.length;for(we&&We&&(Z=z[++Ce]);++Ce<We;)Z=Q(Z,z[Ce],Ce,z);return Z}function Io(z,Q,Z,we){var Ce=z==null?0:z.length;for(we&&Ce&&(Z=z[--Ce]);Ce--;)Z=Q(Z,z[Ce],Ce,z);return Z}function fa(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we;)if(Q(z[Z],Z,z))return!0;return!1}var hl=pa("length");function ml(z){return z.split("")}function gl(z){return z.match(cr)||[]}function So(z,Q,Z){var we;return Z(z,function(Ce,We,vt){if(Q(Ce,We,vt))return we=We,!1}),we}function ps(z,Q,Z,we){for(var Ce=z.length,We=Z+(we?1:-1);we?We--:++We<Ce;)if(Q(z[We],We,z))return We;return-1}function fr(z,Q,Z){return Q===Q?Tl(z,Q,Z):ps(z,Ao,Z)}function xl(z,Q,Z,we){for(var Ce=Z-1,We=z.length;++Ce<We;)if(we(z[Ce],Q))return Ce;return-1}function Ao(z){return z!==z}function Do(z,Q){var Z=z==null?0:z.length;return Z?ma(z,Q)/Z:J}function pa(z){return function(Q){return Q==null?s:Q[z]}}function ha(z){return function(Q){return z==null?s:z[Q]}}function $o(z,Q,Z,we,Ce){return Ce(z,function(We,vt,tt){Z=we?(we=!1,We):Q(Z,We,vt,tt)}),Z}function wl(z,Q){var Z=z.length;for(z.sort(Q);Z--;)z[Z]=z[Z].value;return z}function ma(z,Q){for(var Z,we=-1,Ce=z.length;++we<Ce;){var We=Q(z[we]);We!==s&&(Z=Z===s?We:Z+We)}return Z}function ga(z,Q){for(var Z=-1,we=Array(z);++Z<z;)we[Z]=Q(Z);return we}function bl(z,Q){return lt(Q,function(Z){return[Z,z[Z]]})}function Ro(z){return z&&z.slice(0,Po(z)+1).replace(Vs,"")}function Ut(z){return function(Q){return z(Q)}}function xa(z,Q){return lt(Q,function(Z){return z[Z]})}function Dr(z,Q){return z.has(Q)}function Lo(z,Q){for(var Z=-1,we=z.length;++Z<we&&fr(Q,z[Z],0)>-1;);return Z}function Oo(z,Q){for(var Z=z.length;Z--&&fr(Q,z[Z],0)>-1;);return Z}function vl(z,Q){for(var Z=z.length,we=0;Z--;)z[Z]===Q&&++we;return we}var yl=ha(wo),_l=ha(bo);function Ml(z){return"\\"+ul[z]}function An(z,Q){return z==null?s:z[Q]}function pr(z){return ca.test(z)}function kl(z){return mo.test(z)}function jl(z){for(var Q,Z=[];!(Q=z.next()).done;)Z.push(Q.value);return Z}function wa(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we,Ce){Z[++Q]=[Ce,we]}),Z}function Fo(z,Q){return function(Z){return z(Q(Z))}}function Dn(z,Q){for(var Z=-1,we=z.length,Ce=0,We=[];++Z<we;){var vt=z[Z];(vt===Q||vt===h)&&(z[Z]=h,We[Ce++]=Z)}return We}function hs(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we){Z[++Q]=we}),Z}function El(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we){Z[++Q]=[we,we]}),Z}function Tl(z,Q,Z){for(var we=Z-1,Ce=z.length;++we<Ce;)if(z[we]===Q)return we;return-1}function Nl(z,Q,Z){for(var we=Z+1;we--;)if(z[we]===Q)return we;return we}function hr(z){return pr(z)?Il(z):hl(z)}function Jt(z){return pr(z)?Sl(z):ml(z)}function Po(z){for(var Q=z.length;Q--&&Xa.test(z.charAt(Q)););return Q}var Cl=ha(cl);function Il(z){for(var Q=la.lastIndex=0;la.test(z);)++Q;return Q}function Sl(z){return z.match(la)||[]}function Al(z){return z.match(ll)||[]}var Ho=(function z(Q){Q=Q==null?Ct:mr.defaults(Ct.Object(),Q,mr.pick(Ct,go));var Z=Q.Array,we=Q.Date,Ce=Q.Error,We=Q.Function,vt=Q.Math,tt=Q.Object,ba=Q.RegExp,Dl=Q.String,Xt=Q.TypeError,ms=Z.prototype,$l=We.prototype,gr=tt.prototype,gs=Q["__core-js_shared__"],xs=$l.toString,Xe=gr.hasOwnProperty,Rl=0,zo=(function(){var e=/[^.]+$/.exec(gs&&gs.keys&&gs.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})(),ws=gr.toString,Rt=xs.call(tt),Ll=Ct._,Ol=ba("^"+xs.call(Xe).replace(ns,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bs=_o?Q.Buffer:s,$n=Q.Symbol,vs=Q.Uint8Array,Uo=bs?bs.allocUnsafe:s,ys=Fo(tt.getPrototypeOf,tt),Bo=tt.create,Wo=gr.propertyIsEnumerable,_s=ms.splice,Yo=$n?$n.isConcatSpreadable:s,$r=$n?$n.iterator:s,Bn=$n?$n.toStringTag:s,Ms=(function(){try{var e=zr(tt,"defineProperty");return e({},"",{}),e}catch{}})(),Fl=Q.clearTimeout!==Ct.clearTimeout&&Q.clearTimeout,Pl=we&&we.now!==Ct.Date.now&&we.now,qo=Q.setTimeout!==Ct.setTimeout&&Q.setTimeout,ks=vt.ceil,js=vt.floor,va=tt.getOwnPropertySymbols,Hl=bs?bs.isBuffer:s,Go=Q.isFinite,ft=ms.join,zl=Fo(tt.keys,tt),yt=vt.max,At=vt.min,Ul=we.now,Bl=Q.parseInt,Xo=vt.random,l=ms.reverse,c=zr(Q,"DataView"),d=zr(Q,"Map"),_=zr(Q,"Promise"),S=zr(Q,"Set"),F=zr(Q,"WeakMap"),G=zr(tt,"create"),X=F&&new F,le={},se=Ur(c),je=Ur(d),xe=Ur(_),qe=Ur(S),Oe=Ur(F),nt=$n?$n.prototype:s,Et=nt?nt.valueOf:s,en=nt?nt.toString:s;function k(e){if(gt(e)&&!Ae(e)&&!(e instanceof Fe)){if(e instanceof Tt)return e;if(Xe.call(e,"__wrapped__"))return Bd(e)}return new Tt(e)}var cn=(function(){function e(){}return function(r){if(!pt(r))return{};if(Bo)return Bo(r);e.prototype=r;var o=new e;return e.prototype=s,o}})();function Rr(){}function Tt(e,r){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=s}k.templateSettings={escape:Gs,evaluate:Xs,interpolate:Ks,variable:"",imports:{_:k}},k.prototype=Rr.prototype,k.prototype.constructor=k,Tt.prototype=cn(Rr.prototype),Tt.prototype.constructor=Tt;function Fe(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=de,this.__views__=[]}function ya(){var e=new Fe(this.__wrapped__);return e.__actions__=tn(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=tn(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=tn(this.__views__),e}function Lr(){if(this.__filtered__){var e=new Fe(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function Pm(){var e=this.__wrapped__.value(),r=this.__dir__,o=Ae(e),f=r<0,M=o?e.length:0,N=Vg(0,M,this.__views__),L=N.start,H=N.end,q=H-L,te=f?H:L-1,ne=this.__iteratees__,ae=ne.length,pe=0,_e=At(q,this.__takeCount__);if(!o||!f&&M==q&&_e==q)return fd(e,this.__actions__);var Te=[];e:for(;q--&&pe<_e;){te+=r;for(var $e=-1,Ne=e[te];++$e<ae;){var He=ne[$e],Ue=He.iteratee,fn=He.type,Vt=Ue(Ne);if(fn==K)Ne=Vt;else if(!Vt){if(fn==Me)continue e;break e}}Te[pe++]=Ne}return Te}Fe.prototype=cn(Rr.prototype),Fe.prototype.constructor=Fe;function Or(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Hm(){this.__data__=G?G(null):{},this.size=0}function zm(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}function Um(e){var r=this.__data__;if(G){var o=r[e];return o===x?s:o}return Xe.call(r,e)?r[e]:s}function Bm(e){var r=this.__data__;return G?r[e]!==s:Xe.call(r,e)}function Wm(e,r){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=G&&r===s?x:r,this}Or.prototype.clear=Hm,Or.prototype.delete=zm,Or.prototype.get=Um,Or.prototype.has=Bm,Or.prototype.set=Wm;function Wn(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Ym(){this.__data__=[],this.size=0}function qm(e){var r=this.__data__,o=Ko(r,e);if(o<0)return!1;var f=r.length-1;return o==f?r.pop():_s.call(r,o,1),--this.size,!0}function Gm(e){var r=this.__data__,o=Ko(r,e);return o<0?s:r[o][1]}function Xm(e){return Ko(this.__data__,e)>-1}function Km(e,r){var o=this.__data__,f=Ko(o,e);return f<0?(++this.size,o.push([e,r])):o[f][1]=r,this}Wn.prototype.clear=Ym,Wn.prototype.delete=qm,Wn.prototype.get=Gm,Wn.prototype.has=Xm,Wn.prototype.set=Km;function Yn(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Zm(){this.size=0,this.__data__={hash:new Or,map:new(d||Wn),string:new Or}}function Vm(e){var r=ii(this,e).delete(e);return this.size-=r?1:0,r}function Qm(e){return ii(this,e).get(e)}function Jm(e){return ii(this,e).has(e)}function eg(e,r){var o=ii(this,e),f=o.size;return o.set(e,r),this.size+=o.size==f?0:1,this}Yn.prototype.clear=Zm,Yn.prototype.delete=Vm,Yn.prototype.get=Qm,Yn.prototype.has=Jm,Yn.prototype.set=eg;function Fr(e){var r=-1,o=e==null?0:e.length;for(this.__data__=new Yn;++r<o;)this.add(e[r])}function tg(e){return this.__data__.set(e,x),this}function ng(e){return this.__data__.has(e)}Fr.prototype.add=Fr.prototype.push=tg,Fr.prototype.has=ng;function jn(e){var r=this.__data__=new Wn(e);this.size=r.size}function rg(){this.__data__=new Wn,this.size=0}function sg(e){var r=this.__data__,o=r.delete(e);return this.size=r.size,o}function ag(e){return this.__data__.get(e)}function og(e){return this.__data__.has(e)}function ig(e,r){var o=this.__data__;if(o instanceof Wn){var f=o.__data__;if(!d||f.length<u-1)return f.push([e,r]),this.size=++o.size,this;o=this.__data__=new Yn(f)}return o.set(e,r),this.size=o.size,this}jn.prototype.clear=rg,jn.prototype.delete=sg,jn.prototype.get=ag,jn.prototype.has=og,jn.prototype.set=ig;function Bu(e,r){var o=Ae(e),f=!o&&Br(e),M=!o&&!f&&yr(e),N=!o&&!f&&!M&&Cs(e),L=o||f||M||N,H=L?ga(e.length,Dl):[],q=H.length;for(var te in e)(r||Xe.call(e,te))&&!(L&&(te=="length"||M&&(te=="offset"||te=="parent")||N&&(te=="buffer"||te=="byteLength"||te=="byteOffset")||Kn(te,q)))&&H.push(te);return H}function Wu(e){var r=e.length;return r?e[ec(0,r-1)]:s}function lg(e,r){return li(tn(e),Pr(r,0,e.length))}function cg(e){return li(tn(e))}function Wl(e,r,o){(o!==s&&!En(e[r],o)||o===s&&!(r in e))&&qn(e,r,o)}function _a(e,r,o){var f=e[r];(!(Xe.call(e,r)&&En(f,o))||o===s&&!(r in e))&&qn(e,r,o)}function Ko(e,r){for(var o=e.length;o--;)if(En(e[o][0],r))return o;return-1}function ug(e,r,o,f){return xr(e,function(M,N,L){r(f,M,o(M),L)}),f}function Yu(e,r){return e&&Ln(r,Dt(r),e)}function dg(e,r){return e&&Ln(r,rn(r),e)}function qn(e,r,o){r=="__proto__"&&Ms?Ms(e,r,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[r]=o}function Yl(e,r){for(var o=-1,f=r.length,M=Z(f),N=e==null;++o<f;)M[o]=N?s:jc(e,r[o]);return M}function Pr(e,r,o){return e===e&&(o!==s&&(e=e<=o?e:o),r!==s&&(e=e>=r?e:r)),e}function gn(e,r,o,f,M,N){var L,H=r&b,q=r&y,te=r&v;if(o&&(L=M?o(e,f,M,N):o(e)),L!==s)return L;if(!pt(e))return e;var ne=Ae(e);if(ne){if(L=Jg(e),!H)return tn(e,L)}else{var ae=Bt(e),pe=ae==Ht||ae==st;if(yr(e))return md(e,H);if(ae==$t||ae==be||pe&&!M){if(L=q||pe?{}:$d(e),!H)return q?Ug(e,dg(L,e)):zg(e,Yu(L,e))}else{if(!et[ae])return M?e:{};L=ex(e,ae,H)}}N||(N=new jn);var _e=N.get(e);if(_e)return _e;N.set(e,L),uf(e)?e.forEach(function(Ne){L.add(gn(Ne,r,o,Ne,e,N))}):lf(e)&&e.forEach(function(Ne,He){L.set(He,gn(Ne,r,o,He,e,N))});var Te=te?q?dc:uc:q?rn:Dt,$e=ne?s:Te(e);return Gt($e||e,function(Ne,He){$e&&(He=Ne,Ne=e[He]),_a(L,He,gn(Ne,r,o,He,e,N))}),L}function fg(e){var r=Dt(e);return function(o){return qu(o,e,r)}}function qu(e,r,o){var f=o.length;if(e==null)return!f;for(e=tt(e);f--;){var M=o[f],N=r[M],L=e[M];if(L===s&&!(M in e)||!N(L))return!1}return!0}function Gu(e,r,o){if(typeof e!="function")throw new Xt(w);return Ca(function(){e.apply(s,o)},r)}function Ma(e,r,o,f){var M=-1,N=Ar,L=!0,H=e.length,q=[],te=r.length;if(!H)return q;o&&(r=lt(r,Ut(o))),f?(N=ds,L=!1):r.length>=u&&(N=Dr,L=!1,r=new Fr(r));e:for(;++M<H;){var ne=e[M],ae=o==null?ne:o(ne);if(ne=f||ne!==0?ne:0,L&&ae===ae){for(var pe=te;pe--;)if(r[pe]===ae)continue e;q.push(ne)}else N(r,ae,f)||q.push(ne)}return q}var xr=vd(Rn),Xu=vd(Gl,!0);function pg(e,r){var o=!0;return xr(e,function(f,M,N){return o=!!r(f,M,N),o}),o}function Zo(e,r,o){for(var f=-1,M=e.length;++f<M;){var N=e[f],L=r(N);if(L!=null&&(H===s?L===L&&!dn(L):o(L,H)))var H=L,q=N}return q}function hg(e,r,o,f){var M=e.length;for(o=De(o),o<0&&(o=-o>M?0:M+o),f=f===s||f>M?M:De(f),f<0&&(f+=M),f=o>f?0:ff(f);o<f;)e[o++]=r;return e}function Ku(e,r){var o=[];return xr(e,function(f,M,N){r(f,M,N)&&o.push(f)}),o}function Lt(e,r,o,f,M){var N=-1,L=e.length;for(o||(o=nx),M||(M=[]);++N<L;){var H=e[N];r>0&&o(H)?r>1?Lt(H,r-1,o,f,M):kn(M,H):f||(M[M.length]=H)}return M}var ql=yd(),Zu=yd(!0);function Rn(e,r){return e&&ql(e,r,Dt)}function Gl(e,r){return e&&Zu(e,r,Dt)}function Vo(e,r){return Mn(r,function(o){return Zn(e[o])})}function Hr(e,r){r=br(r,e);for(var o=0,f=r.length;e!=null&&o<f;)e=e[On(r[o++])];return o&&o==f?e:s}function Vu(e,r,o){var f=r(e);return Ae(e)?f:kn(f,o(e))}function Kt(e){return e==null?e===s?jt:St:Bn&&Bn in tt(e)?Zg(e):cx(e)}function Xl(e,r){return e>r}function mg(e,r){return e!=null&&Xe.call(e,r)}function gg(e,r){return e!=null&&r in tt(e)}function xg(e,r,o){return e>=At(r,o)&&e<yt(r,o)}function Kl(e,r,o){for(var f=o?ds:Ar,M=e[0].length,N=e.length,L=N,H=Z(N),q=1/0,te=[];L--;){var ne=e[L];L&&r&&(ne=lt(ne,Ut(r))),q=At(ne.length,q),H[L]=!o&&(r||M>=120&&ne.length>=120)?new Fr(L&&ne):s}ne=e[0];var ae=-1,pe=H[0];e:for(;++ae<M&&te.length<q;){var _e=ne[ae],Te=r?r(_e):_e;if(_e=o||_e!==0?_e:0,!(pe?Dr(pe,Te):f(te,Te,o))){for(L=N;--L;){var $e=H[L];if(!($e?Dr($e,Te):f(e[L],Te,o)))continue e}pe&&pe.push(Te),te.push(_e)}}return te}function wg(e,r,o,f){return Rn(e,function(M,N,L){r(f,o(M),N,L)}),f}function ka(e,r,o){r=br(r,e),e=Fd(e,r);var f=e==null?e:e[On(wn(r))];return f==null?s:qt(f,e,o)}function Qu(e){return gt(e)&&Kt(e)==be}function bg(e){return gt(e)&&Kt(e)==or}function vg(e){return gt(e)&&Kt(e)==Pt}function ja(e,r,o,f,M){return e===r?!0:e==null||r==null||!gt(e)&&!gt(r)?e!==e&&r!==r:yg(e,r,o,f,ja,M)}function yg(e,r,o,f,M,N){var L=Ae(e),H=Ae(r),q=L?Le:Bt(e),te=H?Le:Bt(r);q=q==be?$t:q,te=te==be?$t:te;var ne=q==$t,ae=te==$t,pe=q==te;if(pe&&yr(e)){if(!yr(r))return!1;L=!0,ne=!1}if(pe&&!ne)return N||(N=new jn),L||Cs(e)?Sd(e,r,o,f,M,N):Xg(e,r,q,o,f,M,N);if(!(o&C)){var _e=ne&&Xe.call(e,"__wrapped__"),Te=ae&&Xe.call(r,"__wrapped__");if(_e||Te){var $e=_e?e.value():e,Ne=Te?r.value():r;return N||(N=new jn),M($e,Ne,o,f,N)}}return pe?(N||(N=new jn),Kg(e,r,o,f,M,N)):!1}function _g(e){return gt(e)&&Bt(e)==mt}function Zl(e,r,o,f){var M=o.length,N=M,L=!f;if(e==null)return!N;for(e=tt(e);M--;){var H=o[M];if(L&&H[2]?H[1]!==e[H[0]]:!(H[0]in e))return!1}for(;++M<N;){H=o[M];var q=H[0],te=e[q],ne=H[1];if(L&&H[2]){if(te===s&&!(q in e))return!1}else{var ae=new jn;if(f)var pe=f(te,ne,q,e,r,ae);if(!(pe===s?ja(ne,te,C|E,f,ae):pe))return!1}}return!0}function Ju(e){if(!pt(e)||sx(e))return!1;var r=Zn(e)?Ol:Gi;return r.test(Ur(e))}function Mg(e){return gt(e)&&Kt(e)==Je}function kg(e){return gt(e)&&Bt(e)==Se}function jg(e){return gt(e)&&hi(e.length)&&!!at[Kt(e)]}function ed(e){return typeof e=="function"?e:e==null?sn:typeof e=="object"?Ae(e)?rd(e[0],e[1]):nd(e):Mf(e)}function Vl(e){if(!Na(e))return zl(e);var r=[];for(var o in tt(e))Xe.call(e,o)&&o!="constructor"&&r.push(o);return r}function Eg(e){if(!pt(e))return lx(e);var r=Na(e),o=[];for(var f in e)f=="constructor"&&(r||!Xe.call(e,f))||o.push(f);return o}function Ql(e,r){return e<r}function td(e,r){var o=-1,f=nn(e)?Z(e.length):[];return xr(e,function(M,N,L){f[++o]=r(M,N,L)}),f}function nd(e){var r=pc(e);return r.length==1&&r[0][2]?Ld(r[0][0],r[0][1]):function(o){return o===e||Zl(o,e,r)}}function rd(e,r){return mc(e)&&Rd(r)?Ld(On(e),r):function(o){var f=jc(o,e);return f===s&&f===r?Ec(o,e):ja(r,f,C|E)}}function Qo(e,r,o,f,M){e!==r&&ql(r,function(N,L){if(M||(M=new jn),pt(N))Tg(e,r,L,o,Qo,f,M);else{var H=f?f(xc(e,L),N,L+"",e,r,M):s;H===s&&(H=N),Wl(e,L,H)}},rn)}function Tg(e,r,o,f,M,N,L){var H=xc(e,o),q=xc(r,o),te=L.get(q);if(te){Wl(e,o,te);return}var ne=N?N(H,q,o+"",e,r,L):s,ae=ne===s;if(ae){var pe=Ae(q),_e=!pe&&yr(q),Te=!pe&&!_e&&Cs(q);ne=q,pe||_e||Te?Ae(H)?ne=H:_t(H)?ne=tn(H):_e?(ae=!1,ne=md(q,!0)):Te?(ae=!1,ne=gd(q,!0)):ne=[]:Ia(q)||Br(q)?(ne=H,Br(H)?ne=pf(H):(!pt(H)||Zn(H))&&(ne=$d(q))):ae=!1}ae&&(L.set(q,ne),M(ne,q,f,N,L),L.delete(q)),Wl(e,o,ne)}function sd(e,r){var o=e.length;if(o)return r+=r<0?o:0,Kn(r,o)?e[r]:s}function ad(e,r,o){r.length?r=lt(r,function(N){return Ae(N)?function(L){return Hr(L,N.length===1?N[0]:N)}:N}):r=[sn];var f=-1;r=lt(r,Ut(Ee()));var M=td(e,function(N,L,H){var q=lt(r,function(te){return te(N)});return{criteria:q,index:++f,value:N}});return wl(M,function(N,L){return Hg(N,L,o)})}function Ng(e,r){return od(e,r,function(o,f){return Ec(e,f)})}function od(e,r,o){for(var f=-1,M=r.length,N={};++f<M;){var L=r[f],H=Hr(e,L);o(H,L)&&Ea(N,br(L,e),H)}return N}function Cg(e){return function(r){return Hr(r,e)}}function Jl(e,r,o,f){var M=f?xl:fr,N=-1,L=r.length,H=e;for(e===r&&(r=tn(r)),o&&(H=lt(e,Ut(o)));++N<L;)for(var q=0,te=r[N],ne=o?o(te):te;(q=M(H,ne,q,f))>-1;)H!==e&&_s.call(H,q,1),_s.call(e,q,1);return e}function id(e,r){for(var o=e?r.length:0,f=o-1;o--;){var M=r[o];if(o==f||M!==N){var N=M;Kn(M)?_s.call(e,M,1):rc(e,M)}}return e}function ec(e,r){return e+js(Xo()*(r-e+1))}function Ig(e,r,o,f){for(var M=-1,N=yt(ks((r-e)/(o||1)),0),L=Z(N);N--;)L[f?N:++M]=e,e+=o;return L}function tc(e,r){var o="";if(!e||r<1||r>ue)return o;do r%2&&(o+=e),r=js(r/2),r&&(e+=e);while(r);return o}function Re(e,r){return wc(Od(e,r,sn),e+"")}function Sg(e){return Wu(Is(e))}function Ag(e,r){var o=Is(e);return li(o,Pr(r,0,o.length))}function Ea(e,r,o,f){if(!pt(e))return e;r=br(r,e);for(var M=-1,N=r.length,L=N-1,H=e;H!=null&&++M<N;){var q=On(r[M]),te=o;if(q==="__proto__"||q==="constructor"||q==="prototype")return e;if(M!=L){var ne=H[q];te=f?f(ne,q,H):s,te===s&&(te=pt(ne)?ne:Kn(r[M+1])?[]:{})}_a(H,q,te),H=H[q]}return e}var ld=X?function(e,r){return X.set(e,r),e}:sn,Dg=Ms?function(e,r){return Ms(e,"toString",{configurable:!0,enumerable:!1,value:Nc(r),writable:!0})}:sn;function $g(e){return li(Is(e))}function xn(e,r,o){var f=-1,M=e.length;r<0&&(r=-r>M?0:M+r),o=o>M?M:o,o<0&&(o+=M),M=r>o?0:o-r>>>0,r>>>=0;for(var N=Z(M);++f<M;)N[f]=e[f+r];return N}function Rg(e,r){var o;return xr(e,function(f,M,N){return o=r(f,M,N),!o}),!!o}function Jo(e,r,o){var f=0,M=e==null?f:e.length;if(typeof r=="number"&&r===r&&M<=ce){for(;f<M;){var N=f+M>>>1,L=e[N];L!==null&&!dn(L)&&(o?L<=r:L<r)?f=N+1:M=N}return M}return nc(e,r,sn,o)}function nc(e,r,o,f){var M=0,N=e==null?0:e.length;if(N===0)return 0;r=o(r);for(var L=r!==r,H=r===null,q=dn(r),te=r===s;M<N;){var ne=js((M+N)/2),ae=o(e[ne]),pe=ae!==s,_e=ae===null,Te=ae===ae,$e=dn(ae);if(L)var Ne=f||Te;else te?Ne=Te&&(f||pe):H?Ne=Te&&pe&&(f||!_e):q?Ne=Te&&pe&&!_e&&(f||!$e):_e||$e?Ne=!1:Ne=f?ae<=r:ae<r;Ne?M=ne+1:N=ne}return At(N,fe)}function cd(e,r){for(var o=-1,f=e.length,M=0,N=[];++o<f;){var L=e[o],H=r?r(L):L;if(!o||!En(H,q)){var q=H;N[M++]=L===0?0:L}}return N}function ud(e){return typeof e=="number"?e:dn(e)?J:+e}function un(e){if(typeof e=="string")return e;if(Ae(e))return lt(e,un)+"";if(dn(e))return en?en.call(e):"";var r=e+"";return r=="0"&&1/e==-ke?"-0":r}function wr(e,r,o){var f=-1,M=Ar,N=e.length,L=!0,H=[],q=H;if(o)L=!1,M=ds;else if(N>=u){var te=r?null:qg(e);if(te)return hs(te);L=!1,M=Dr,q=new Fr}else q=r?[]:H;e:for(;++f<N;){var ne=e[f],ae=r?r(ne):ne;if(ne=o||ne!==0?ne:0,L&&ae===ae){for(var pe=q.length;pe--;)if(q[pe]===ae)continue e;r&&q.push(ae),H.push(ne)}else M(q,ae,o)||(q!==H&&q.push(ae),H.push(ne))}return H}function rc(e,r){r=br(r,e);var o=-1,f=r.length;if(!f)return!0;for(var M=e==null||typeof e!="object"&&typeof e!="function";++o<f;){var N=r[o];if(typeof N=="string"){if(N==="__proto__"&&!Xe.call(e,"__proto__"))return!1;if(N==="constructor"&&o+1<f&&typeof r[o+1]=="string"&&r[o+1]==="prototype"){if(M&&o===0)continue;return!1}}}var L=Fd(e,r);return L==null||delete L[On(wn(r))]}function dd(e,r,o,f){return Ea(e,r,o(Hr(e,r)),f)}function ei(e,r,o,f){for(var M=e.length,N=f?M:-1;(f?N--:++N<M)&&r(e[N],N,e););return o?xn(e,f?0:N,f?N+1:M):xn(e,f?N+1:0,f?M:N)}function fd(e,r){var o=e;return o instanceof Fe&&(o=o.value()),fs(r,function(f,M){return M.func.apply(M.thisArg,kn([f],M.args))},o)}function sc(e,r,o){var f=e.length;if(f<2)return f?wr(e[0]):[];for(var M=-1,N=Z(f);++M<f;)for(var L=e[M],H=-1;++H<f;)H!=M&&(N[M]=Ma(N[M]||L,e[H],r,o));return wr(Lt(N,1),r,o)}function pd(e,r,o){for(var f=-1,M=e.length,N=r.length,L={};++f<M;){var H=f<N?r[f]:s;o(L,e[f],H)}return L}function ac(e){return _t(e)?e:[]}function oc(e){return typeof e=="function"?e:sn}function br(e,r){return Ae(e)?e:mc(e,r)?[e]:Ud(Qe(e))}var Lg=Re;function vr(e,r,o){var f=e.length;return o=o===s?f:o,!r&&o>=f?e:xn(e,r,o)}var hd=Fl||function(e){return Ct.clearTimeout(e)};function md(e,r){if(r)return e.slice();var o=e.length,f=Uo?Uo(o):new e.constructor(o);return e.copy(f),f}function ic(e){var r=new e.constructor(e.byteLength);return new vs(r).set(new vs(e)),r}function Og(e,r){var o=r?ic(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}function Fg(e){var r=new e.constructor(e.source,ss.exec(e));return r.lastIndex=e.lastIndex,r}function Pg(e){return Et?tt(Et.call(e)):{}}function gd(e,r){var o=r?ic(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}function xd(e,r){if(e!==r){var o=e!==s,f=e===null,M=e===e,N=dn(e),L=r!==s,H=r===null,q=r===r,te=dn(r);if(!H&&!te&&!N&&e>r||N&&L&&q&&!H&&!te||f&&L&&q||!o&&q||!M)return 1;if(!f&&!N&&!te&&e<r||te&&o&&M&&!f&&!N||H&&o&&M||!L&&M||!q)return-1}return 0}function Hg(e,r,o){for(var f=-1,M=e.criteria,N=r.criteria,L=M.length,H=o.length;++f<L;){var q=xd(M[f],N[f]);if(q){if(f>=H)return q;var te=o[f];return q*(te=="desc"?-1:1)}}return e.index-r.index}function wd(e,r,o,f){for(var M=-1,N=e.length,L=o.length,H=-1,q=r.length,te=yt(N-L,0),ne=Z(q+te),ae=!f;++H<q;)ne[H]=r[H];for(;++M<L;)(ae||M<N)&&(ne[o[M]]=e[M]);for(;te--;)ne[H++]=e[M++];return ne}function bd(e,r,o,f){for(var M=-1,N=e.length,L=-1,H=o.length,q=-1,te=r.length,ne=yt(N-H,0),ae=Z(ne+te),pe=!f;++M<ne;)ae[M]=e[M];for(var _e=M;++q<te;)ae[_e+q]=r[q];for(;++L<H;)(pe||M<N)&&(ae[_e+o[L]]=e[M++]);return ae}function tn(e,r){var o=-1,f=e.length;for(r||(r=Z(f));++o<f;)r[o]=e[o];return r}function Ln(e,r,o,f){var M=!o;o||(o={});for(var N=-1,L=r.length;++N<L;){var H=r[N],q=f?f(o[H],e[H],H,o,e):s;q===s&&(q=e[H]),M?qn(o,H,q):_a(o,H,q)}return o}function zg(e,r){return Ln(e,hc(e),r)}function Ug(e,r){return Ln(e,Ad(e),r)}function ti(e,r){return function(o,f){var M=Ae(o)?pl:ug,N=r?r():{};return M(o,e,Ee(f,2),N)}}function Es(e){return Re(function(r,o){var f=-1,M=o.length,N=M>1?o[M-1]:s,L=M>2?o[2]:s;for(N=e.length>3&&typeof N=="function"?(M--,N):s,L&&Zt(o[0],o[1],L)&&(N=M<3?s:N,M=1),r=tt(r);++f<M;){var H=o[f];H&&e(r,H,f,N)}return r})}function vd(e,r){return function(o,f){if(o==null)return o;if(!nn(o))return e(o,f);for(var M=o.length,N=r?M:-1,L=tt(o);(r?N--:++N<M)&&f(L[N],N,L)!==!1;);return o}}function yd(e){return function(r,o,f){for(var M=-1,N=tt(r),L=f(r),H=L.length;H--;){var q=L[e?H:++M];if(o(N[q],q,N)===!1)break}return r}}function Bg(e,r,o){var f=r&j,M=Ta(e);function N(){var L=this&&this!==Ct&&this instanceof N?M:e;return L.apply(f?o:this,arguments)}return N}function _d(e){return function(r){r=Qe(r);var o=pr(r)?Jt(r):s,f=o?o[0]:r.charAt(0),M=o?vr(o,1).join(""):r.slice(1);return f[e]()+M}}function Ts(e){return function(r){return fs(yf(vf(r).replace(ia,"")),e,"")}}function Ta(e){return function(){var r=arguments;switch(r.length){case 0:return new e;case 1:return new e(r[0]);case 2:return new e(r[0],r[1]);case 3:return new e(r[0],r[1],r[2]);case 4:return new e(r[0],r[1],r[2],r[3]);case 5:return new e(r[0],r[1],r[2],r[3],r[4]);case 6:return new e(r[0],r[1],r[2],r[3],r[4],r[5]);case 7:return new e(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}var o=cn(e.prototype),f=e.apply(o,r);return pt(f)?f:o}}function Wg(e,r,o){var f=Ta(e);function M(){for(var N=arguments.length,L=Z(N),H=N,q=Ns(M);H--;)L[H]=arguments[H];var te=N<3&&L[0]!==q&&L[N-1]!==q?[]:Dn(L,q);if(N-=te.length,N<o)return Td(e,r,ni,M.placeholder,s,L,te,s,s,o-N);var ne=this&&this!==Ct&&this instanceof M?f:e;return qt(ne,this,L)}return M}function Md(e){return function(r,o,f){var M=tt(r);if(!nn(r)){var N=Ee(o,3);r=Dt(r),o=function(H){return N(M[H],H,M)}}var L=e(r,o,f);return L>-1?M[N?r[L]:L]:s}}function kd(e){return Xn(function(r){var o=r.length,f=o,M=Tt.prototype.thru;for(e&&r.reverse();f--;){var N=r[f];if(typeof N!="function")throw new Xt(w);if(M&&!L&&oi(N)=="wrapper")var L=new Tt([],!0)}for(f=L?f:o;++f<o;){N=r[f];var H=oi(N),q=H=="wrapper"?fc(N):s;q&&gc(q[0])&&q[1]==(I|$|O|U)&&!q[4].length&&q[9]==1?L=L[oi(q[0])].apply(L,q[3]):L=N.length==1&&gc(N)?L[H]():L.thru(N)}return function(){var te=arguments,ne=te[0];if(L&&te.length==1&&Ae(ne))return L.plant(ne).value();for(var ae=0,pe=o?r[ae].apply(this,te):ne;++ae<o;)pe=r[ae].call(this,pe);return pe}})}function ni(e,r,o,f,M,N,L,H,q,te){var ne=r&I,ae=r&j,pe=r&T,_e=r&($|R),Te=r&Y,$e=pe?s:Ta(e);function Ne(){for(var He=arguments.length,Ue=Z(He),fn=He;fn--;)Ue[fn]=arguments[fn];if(_e)var Vt=Ns(Ne),pn=vl(Ue,Vt);if(f&&(Ue=wd(Ue,f,M,_e)),N&&(Ue=bd(Ue,N,L,_e)),He-=pn,_e&&He<te){var Mt=Dn(Ue,Vt);return Td(e,r,ni,Ne.placeholder,o,Ue,Mt,H,q,te-He)}var Tn=ae?o:this,Qn=pe?Tn[e]:e;return He=Ue.length,H?Ue=ux(Ue,H):Te&&He>1&&Ue.reverse(),ne&&q<He&&(Ue.length=q),this&&this!==Ct&&this instanceof Ne&&(Qn=$e||Ta(Qn)),Qn.apply(Tn,Ue)}return Ne}function jd(e,r){return function(o,f){return wg(o,e,r(f),{})}}function ri(e,r){return function(o,f){var M;if(o===s&&f===s)return r;if(o!==s&&(M=o),f!==s){if(M===s)return f;typeof o=="string"||typeof f=="string"?(o=un(o),f=un(f)):(o=ud(o),f=ud(f)),M=e(o,f)}return M}}function lc(e){return Xn(function(r){return r=lt(r,Ut(Ee())),Re(function(o){var f=this;return e(r,function(M){return qt(M,f,o)})})})}function si(e,r){r=r===s?" ":un(r);var o=r.length;if(o<2)return o?tc(r,e):r;var f=tc(r,ks(e/hr(r)));return pr(r)?vr(Jt(f),0,e).join(""):f.slice(0,e)}function Yg(e,r,o,f){var M=r&j,N=Ta(e);function L(){for(var H=-1,q=arguments.length,te=-1,ne=f.length,ae=Z(ne+q),pe=this&&this!==Ct&&this instanceof L?N:e;++te<ne;)ae[te]=f[te];for(;q--;)ae[te++]=arguments[++H];return qt(pe,M?o:this,ae)}return L}function Ed(e){return function(r,o,f){return f&&typeof f!="number"&&Zt(r,o,f)&&(o=f=s),r=Vn(r),o===s?(o=r,r=0):o=Vn(o),f=f===s?r<o?1:-1:Vn(f),Ig(r,o,f,e)}}function ai(e){return function(r,o){return typeof r=="string"&&typeof o=="string"||(r=bn(r),o=bn(o)),e(r,o)}}function Td(e,r,o,f,M,N,L,H,q,te){var ne=r&$,ae=ne?L:s,pe=ne?s:L,_e=ne?N:s,Te=ne?s:N;r|=ne?O:P,r&=~(ne?P:O),r&D||(r&=-4);var $e=[e,r,M,_e,ae,Te,pe,H,q,te],Ne=o.apply(s,$e);return gc(e)&&Pd(Ne,$e),Ne.placeholder=f,Hd(Ne,e,r)}function cc(e){var r=vt[e];return function(o,f){if(o=bn(o),f=f==null?0:At(De(f),292),f&&Go(o)){var M=(Qe(o)+"e").split("e"),N=r(M[0]+"e"+(+M[1]+f));return M=(Qe(N)+"e").split("e"),+(M[0]+"e"+(+M[1]-f))}return r(o)}}var qg=S&&1/hs(new S([,-0]))[1]==ke?function(e){return new S(e)}:Sc;function Nd(e){return function(r){var o=Bt(r);return o==mt?wa(r):o==Se?El(r):bl(r,e(r))}}function Gn(e,r,o,f,M,N,L,H){var q=r&T;if(!q&&typeof e!="function")throw new Xt(w);var te=f?f.length:0;if(te||(r&=-97,f=M=s),L=L===s?L:yt(De(L),0),H=H===s?H:De(H),te-=M?M.length:0,r&P){var ne=f,ae=M;f=M=s}var pe=q?s:fc(e),_e=[e,r,o,f,M,ne,ae,N,L,H];if(pe&&ix(_e,pe),e=_e[0],r=_e[1],o=_e[2],f=_e[3],M=_e[4],H=_e[9]=_e[9]===s?q?0:e.length:yt(_e[9]-te,0),!H&&r&($|R)&&(r&=-25),!r||r==j)var Te=Bg(e,r,o);else r==$||r==R?Te=Wg(e,r,H):(r==O||r==(j|O))&&!M.length?Te=Yg(e,r,o,f):Te=ni.apply(s,_e);var $e=pe?ld:Pd;return Hd($e(Te,_e),e,r)}function Cd(e,r,o,f){return e===s||En(e,gr[o])&&!Xe.call(f,o)?r:e}function Id(e,r,o,f,M,N){return pt(e)&&pt(r)&&(N.set(r,e),Qo(e,r,s,Id,N),N.delete(r)),e}function Gg(e){return Ia(e)?s:e}function Sd(e,r,o,f,M,N){var L=o&C,H=e.length,q=r.length;if(H!=q&&!(L&&q>H))return!1;var te=N.get(e),ne=N.get(r);if(te&&ne)return te==r&&ne==e;var ae=-1,pe=!0,_e=o&E?new Fr:s;for(N.set(e,r),N.set(r,e);++ae<H;){var Te=e[ae],$e=r[ae];if(f)var Ne=L?f($e,Te,ae,r,e,N):f(Te,$e,ae,e,r,N);if(Ne!==s){if(Ne)continue;pe=!1;break}if(_e){if(!fa(r,function(He,Ue){if(!Dr(_e,Ue)&&(Te===He||M(Te,He,o,f,N)))return _e.push(Ue)})){pe=!1;break}}else if(!(Te===$e||M(Te,$e,o,f,N))){pe=!1;break}}return N.delete(e),N.delete(r),pe}function Xg(e,r,o,f,M,N,L){switch(o){case ir:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case or:return!(e.byteLength!=r.byteLength||!N(new vs(e),new vs(r)));case wt:case Pt:case It:return En(+e,+r);case Ze:return e.name==r.name&&e.message==r.message;case Je:case hn:return e==r+"";case mt:var H=wa;case Se:var q=f&C;if(H||(H=hs),e.size!=r.size&&!q)return!1;var te=L.get(e);if(te)return te==r;f|=E,L.set(e,r);var ne=Sd(H(e),H(r),f,M,N,L);return L.delete(e),ne;case yn:if(Et)return Et.call(e)==Et.call(r)}return!1}function Kg(e,r,o,f,M,N){var L=o&C,H=uc(e),q=H.length,te=uc(r),ne=te.length;if(q!=ne&&!L)return!1;for(var ae=q;ae--;){var pe=H[ae];if(!(L?pe in r:Xe.call(r,pe)))return!1}var _e=N.get(e),Te=N.get(r);if(_e&&Te)return _e==r&&Te==e;var $e=!0;N.set(e,r),N.set(r,e);for(var Ne=L;++ae<q;){pe=H[ae];var He=e[pe],Ue=r[pe];if(f)var fn=L?f(Ue,He,pe,r,e,N):f(He,Ue,pe,e,r,N);if(!(fn===s?He===Ue||M(He,Ue,o,f,N):fn)){$e=!1;break}Ne||(Ne=pe=="constructor")}if($e&&!Ne){var Vt=e.constructor,pn=r.constructor;Vt!=pn&&"constructor"in e&&"constructor"in r&&!(typeof Vt=="function"&&Vt instanceof Vt&&typeof pn=="function"&&pn instanceof pn)&&($e=!1)}return N.delete(e),N.delete(r),$e}function Xn(e){return wc(Od(e,s,qd),e+"")}function uc(e){return Vu(e,Dt,hc)}function dc(e){return Vu(e,rn,Ad)}var fc=X?function(e){return X.get(e)}:Sc;function oi(e){for(var r=e.name+"",o=le[r],f=Xe.call(le,r)?o.length:0;f--;){var M=o[f],N=M.func;if(N==null||N==e)return M.name}return r}function Ns(e){var r=Xe.call(k,"placeholder")?k:e;return r.placeholder}function Ee(){var e=k.iteratee||Cc;return e=e===Cc?ed:e,arguments.length?e(arguments[0],arguments[1]):e}function ii(e,r){var o=e.__data__;return rx(r)?o[typeof r=="string"?"string":"hash"]:o.map}function pc(e){for(var r=Dt(e),o=r.length;o--;){var f=r[o],M=e[f];r[o]=[f,M,Rd(M)]}return r}function zr(e,r){var o=An(e,r);return Ju(o)?o:s}function Zg(e){var r=Xe.call(e,Bn),o=e[Bn];try{e[Bn]=s;var f=!0}catch{}var M=ws.call(e);return f&&(r?e[Bn]=o:delete e[Bn]),M}var hc=va?function(e){return e==null?[]:(e=tt(e),Mn(va(e),function(r){return Wo.call(e,r)}))}:Ac,Ad=va?function(e){for(var r=[];e;)kn(r,hc(e)),e=ys(e);return r}:Ac,Bt=Kt;(c&&Bt(new c(new ArrayBuffer(1)))!=ir||d&&Bt(new d)!=mt||_&&Bt(_.resolve())!=bt||S&&Bt(new S)!=Se||F&&Bt(new F)!=_n)&&(Bt=function(e){var r=Kt(e),o=r==$t?e.constructor:s,f=o?Ur(o):"";if(f)switch(f){case se:return ir;case je:return mt;case xe:return bt;case qe:return Se;case Oe:return _n}return r});function Vg(e,r,o){for(var f=-1,M=o.length;++f<M;){var N=o[f],L=N.size;switch(N.type){case"drop":e+=L;break;case"dropRight":r-=L;break;case"take":r=At(r,e+L);break;case"takeRight":e=yt(e,r-L);break}}return{start:e,end:r}}function Qg(e){var r=e.match(Za);return r?r[1].split(Va):[]}function Dd(e,r,o){r=br(r,e);for(var f=-1,M=r.length,N=!1;++f<M;){var L=On(r[f]);if(!(N=e!=null&&o(e,L)))break;e=e[L]}return N||++f!=M?N:(M=e==null?0:e.length,!!M&&hi(M)&&Kn(L,M)&&(Ae(e)||Br(e)))}function Jg(e){var r=e.length,o=new e.constructor(r);return r&&typeof e[0]=="string"&&Xe.call(e,"index")&&(o.index=e.index,o.input=e.input),o}function $d(e){return typeof e.constructor=="function"&&!Na(e)?cn(ys(e)):{}}function ex(e,r,o){var f=e.constructor;switch(r){case or:return ic(e);case wt:case Pt:return new f(+e);case ir:return Og(e,o);case In:case Ir:case Sn:case mn:case Sr:case Jr:case es:case zt:case Bs:return gd(e,o);case mt:return new f;case It:case hn:return new f(e);case Je:return Fg(e);case Se:return new f;case yn:return Pg(e)}}function tx(e,r){var o=r.length;if(!o)return e;var f=o-1;return r[f]=(o>1?"& ":"")+r[f],r=r.join(o>2?", ":" "),e.replace(Ka,`{
14
+ */var d2=Da.exports,Ep;function Hu(){return Ep||(Ep=1,(function(t,a){(function(){var s,i="4.17.23",u=200,p="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",w="Expected a function",m="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",g=500,h="__lodash_placeholder__",b=1,y=2,v=4,C=1,E=2,j=1,N=2,D=4,$=8,R=16,O=32,P=64,I=128,U=256,Y=512,W=30,B="...",ie=800,ge=16,Me=1,K=2,ee=3,ke=1/0,ue=9007199254740991,ye=17976931348623157e292,J=NaN,de=4294967295,fe=de-1,ce=de>>>1,V=[["ary",I],["bind",j],["bindKey",N],["curry",$],["curryRight",R],["flip",Y],["partial",O],["partialRight",P],["rearg",U]],be="[object Arguments]",Le="[object Array]",it="[object AsyncFunction]",wt="[object Boolean]",Pt="[object Date]",re="[object DOMException]",Ze="[object Error]",Ht="[object Function]",st="[object GeneratorFunction]",mt="[object Map]",It="[object Number]",St="[object Null]",$t="[object Object]",bt="[object Promise]",ar="[object Proxy]",Je="[object RegExp]",Se="[object Set]",hn="[object String]",yn="[object Symbol]",jt="[object Undefined]",_n="[object WeakMap]",Ui="[object WeakSet]",or="[object ArrayBuffer]",ir="[object DataView]",In="[object Float32Array]",Ir="[object Float64Array]",Sn="[object Int8Array]",mn="[object Int16Array]",Sr="[object Int32Array]",Jr="[object Uint8Array]",es="[object Uint8ClampedArray]",zt="[object Uint16Array]",Bs="[object Uint32Array]",Bi=/\b__p \+= '';/g,Ws=/\b(__p \+=) '' \+/g,on=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lr=/&(?:amp|lt|gt|quot|#39);/g,ts=/[&<>"']/g,Ys=RegExp(lr.source),qs=RegExp(ts.source),Gs=/<%-([\s\S]+?)%>/g,Xs=/<%([\s\S]+?)%>/g,Ks=/<%=([\s\S]+?)%>/g,Zs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qa=/^\w*$/,Wi=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ns=/[\\^$.*+?()[\]{}|]/g,Ga=RegExp(ns.source),Vs=/^\s+/,Xa=/\s/,Ka=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Za=/\{\n\/\* \[wrapped with (.+)\] \*/,Va=/,? & /,cr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Qs=/[()=,{}\[\]\/\s]/,rs=/\\(\\)?/g,oe=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ss=/\w*$/,Yi=/^[-+]0x[0-9a-f]+$/i,qi=/^0b[01]+$/i,Gi=/^\[object .+?Constructor\]$/,Xi=/^0o[0-7]+$/i,Ki=/^(?:0|[1-9]\d*)$/,Zi=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,as=/($^)/,Vi=/['\n\r\u2028\u2029\\]/g,os="\\ud800-\\udfff",Qi="\\u0300-\\u036f",Ji="\\ufe20-\\ufe2f",el="\\u20d0-\\u20ff",Qa=Qi+Ji+el,Ja="\\u2700-\\u27bf",eo="a-z\\xdf-\\xf6\\xf8-\\xff",tl="\\xac\\xb1\\xd7\\xf7",to="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",nl="\\u2000-\\u206f",rl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",no="A-Z\\xc0-\\xd6\\xd8-\\xde",ro="\\ufe0e\\ufe0f",so=tl+to+nl+rl,Js="['’]",sl="["+os+"]",ao="["+so+"]",is="["+Qa+"]",oo="\\d+",al="["+Ja+"]",io="["+eo+"]",lo="[^"+os+so+oo+Ja+eo+no+"]",ea="\\ud83c[\\udffb-\\udfff]",ol="(?:"+is+"|"+ea+")",co="[^"+os+"]",ta="(?:\\ud83c[\\udde6-\\uddff]){2}",na="[\\ud800-\\udbff][\\udc00-\\udfff]",ur="["+no+"]",Wt="\\u200d",ra="(?:"+io+"|"+lo+")",sa="(?:"+ur+"|"+lo+")",uo="(?:"+Js+"(?:d|ll|m|re|s|t|ve))?",ls="(?:"+Js+"(?:D|LL|M|RE|S|T|VE))?",aa=ol+"?",oa="["+ro+"]?",fo="(?:"+Wt+"(?:"+[co,ta,na].join("|")+")"+oa+aa+")*",po="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",il="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",cs=oa+aa+fo,us="(?:"+[al,ta,na].join("|")+")"+cs,ho="(?:"+[co+is+"?",is,ta,na,sl].join("|")+")",ia=RegExp(Js,"g"),ln=RegExp(is,"g"),la=RegExp(ea+"(?="+ea+")|"+ho+cs,"g"),ll=RegExp([ur+"?"+io+"+"+uo+"(?="+[ao,ur,"$"].join("|")+")",sa+"+"+ls+"(?="+[ao,ur+ra,"$"].join("|")+")",ur+"?"+ra+"+"+uo,ur+"+"+ls,il,po,oo,us].join("|"),"g"),ca=RegExp("["+Wt+os+Qa+ro+"]"),mo=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,go=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],xo=-1,at={};at[In]=at[Ir]=at[Sn]=at[mn]=at[Sr]=at[Jr]=at[es]=at[zt]=at[Bs]=!0,at[be]=at[Le]=at[or]=at[wt]=at[ir]=at[Pt]=at[Ze]=at[Ht]=at[mt]=at[It]=at[$t]=at[Je]=at[Se]=at[hn]=at[_n]=!1;var et={};et[be]=et[Le]=et[or]=et[ir]=et[wt]=et[Pt]=et[In]=et[Ir]=et[Sn]=et[mn]=et[Sr]=et[mt]=et[It]=et[$t]=et[Je]=et[Se]=et[hn]=et[yn]=et[Jr]=et[es]=et[zt]=et[Bs]=!0,et[Ze]=et[Ht]=et[_n]=!1;var wo={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},bo={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},cl={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},ul={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},dl=parseFloat,fl=parseInt,vo=typeof xi=="object"&&xi&&xi.Object===Object&&xi,yo=typeof self=="object"&&self&&self.Object===Object&&self,Ct=vo||yo||Function("return this")(),dr=a&&!a.nodeType&&a,Yt=dr&&!0&&t&&!t.nodeType&&t,_o=Yt&&Yt.exports===dr,ua=_o&&vo.process,Qt=(function(){try{var z=Yt&&Yt.require&&Yt.require("util").types;return z||ua&&ua.binding&&ua.binding("util")}catch{}})(),Mo=Qt&&Qt.isArrayBuffer,ko=Qt&&Qt.isDate,jo=Qt&&Qt.isMap,Eo=Qt&&Qt.isRegExp,No=Qt&&Qt.isSet,To=Qt&&Qt.isTypedArray;function qt(z,Q,Z){switch(Z.length){case 0:return z.call(Q);case 1:return z.call(Q,Z[0]);case 2:return z.call(Q,Z[0],Z[1]);case 3:return z.call(Q,Z[0],Z[1],Z[2])}return z.apply(Q,Z)}function pl(z,Q,Z,we){for(var Ce=-1,We=z==null?0:z.length;++Ce<We;){var vt=z[Ce];Q(we,vt,Z(vt),z)}return we}function Gt(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we&&Q(z[Z],Z,z)!==!1;);return z}function Co(z,Q){for(var Z=z==null?0:z.length;Z--&&Q(z[Z],Z,z)!==!1;);return z}function da(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we;)if(!Q(z[Z],Z,z))return!1;return!0}function Mn(z,Q){for(var Z=-1,we=z==null?0:z.length,Ce=0,We=[];++Z<we;){var vt=z[Z];Q(vt,Z,z)&&(We[Ce++]=vt)}return We}function Ar(z,Q){var Z=z==null?0:z.length;return!!Z&&fr(z,Q,0)>-1}function ds(z,Q,Z){for(var we=-1,Ce=z==null?0:z.length;++we<Ce;)if(Z(Q,z[we]))return!0;return!1}function lt(z,Q){for(var Z=-1,we=z==null?0:z.length,Ce=Array(we);++Z<we;)Ce[Z]=Q(z[Z],Z,z);return Ce}function kn(z,Q){for(var Z=-1,we=Q.length,Ce=z.length;++Z<we;)z[Ce+Z]=Q[Z];return z}function fs(z,Q,Z,we){var Ce=-1,We=z==null?0:z.length;for(we&&We&&(Z=z[++Ce]);++Ce<We;)Z=Q(Z,z[Ce],Ce,z);return Z}function Io(z,Q,Z,we){var Ce=z==null?0:z.length;for(we&&Ce&&(Z=z[--Ce]);Ce--;)Z=Q(Z,z[Ce],Ce,z);return Z}function fa(z,Q){for(var Z=-1,we=z==null?0:z.length;++Z<we;)if(Q(z[Z],Z,z))return!0;return!1}var hl=pa("length");function ml(z){return z.split("")}function gl(z){return z.match(cr)||[]}function So(z,Q,Z){var we;return Z(z,function(Ce,We,vt){if(Q(Ce,We,vt))return we=We,!1}),we}function ps(z,Q,Z,we){for(var Ce=z.length,We=Z+(we?1:-1);we?We--:++We<Ce;)if(Q(z[We],We,z))return We;return-1}function fr(z,Q,Z){return Q===Q?Nl(z,Q,Z):ps(z,Ao,Z)}function xl(z,Q,Z,we){for(var Ce=Z-1,We=z.length;++Ce<We;)if(we(z[Ce],Q))return Ce;return-1}function Ao(z){return z!==z}function Do(z,Q){var Z=z==null?0:z.length;return Z?ma(z,Q)/Z:J}function pa(z){return function(Q){return Q==null?s:Q[z]}}function ha(z){return function(Q){return z==null?s:z[Q]}}function $o(z,Q,Z,we,Ce){return Ce(z,function(We,vt,tt){Z=we?(we=!1,We):Q(Z,We,vt,tt)}),Z}function wl(z,Q){var Z=z.length;for(z.sort(Q);Z--;)z[Z]=z[Z].value;return z}function ma(z,Q){for(var Z,we=-1,Ce=z.length;++we<Ce;){var We=Q(z[we]);We!==s&&(Z=Z===s?We:Z+We)}return Z}function ga(z,Q){for(var Z=-1,we=Array(z);++Z<z;)we[Z]=Q(Z);return we}function bl(z,Q){return lt(Q,function(Z){return[Z,z[Z]]})}function Ro(z){return z&&z.slice(0,Po(z)+1).replace(Vs,"")}function Ut(z){return function(Q){return z(Q)}}function xa(z,Q){return lt(Q,function(Z){return z[Z]})}function Dr(z,Q){return z.has(Q)}function Lo(z,Q){for(var Z=-1,we=z.length;++Z<we&&fr(Q,z[Z],0)>-1;);return Z}function Oo(z,Q){for(var Z=z.length;Z--&&fr(Q,z[Z],0)>-1;);return Z}function vl(z,Q){for(var Z=z.length,we=0;Z--;)z[Z]===Q&&++we;return we}var yl=ha(wo),_l=ha(bo);function Ml(z){return"\\"+ul[z]}function An(z,Q){return z==null?s:z[Q]}function pr(z){return ca.test(z)}function kl(z){return mo.test(z)}function jl(z){for(var Q,Z=[];!(Q=z.next()).done;)Z.push(Q.value);return Z}function wa(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we,Ce){Z[++Q]=[Ce,we]}),Z}function Fo(z,Q){return function(Z){return z(Q(Z))}}function Dn(z,Q){for(var Z=-1,we=z.length,Ce=0,We=[];++Z<we;){var vt=z[Z];(vt===Q||vt===h)&&(z[Z]=h,We[Ce++]=Z)}return We}function hs(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we){Z[++Q]=we}),Z}function El(z){var Q=-1,Z=Array(z.size);return z.forEach(function(we){Z[++Q]=[we,we]}),Z}function Nl(z,Q,Z){for(var we=Z-1,Ce=z.length;++we<Ce;)if(z[we]===Q)return we;return-1}function Tl(z,Q,Z){for(var we=Z+1;we--;)if(z[we]===Q)return we;return we}function hr(z){return pr(z)?Il(z):hl(z)}function Jt(z){return pr(z)?Sl(z):ml(z)}function Po(z){for(var Q=z.length;Q--&&Xa.test(z.charAt(Q)););return Q}var Cl=ha(cl);function Il(z){for(var Q=la.lastIndex=0;la.test(z);)++Q;return Q}function Sl(z){return z.match(la)||[]}function Al(z){return z.match(ll)||[]}var Ho=(function z(Q){Q=Q==null?Ct:mr.defaults(Ct.Object(),Q,mr.pick(Ct,go));var Z=Q.Array,we=Q.Date,Ce=Q.Error,We=Q.Function,vt=Q.Math,tt=Q.Object,ba=Q.RegExp,Dl=Q.String,Xt=Q.TypeError,ms=Z.prototype,$l=We.prototype,gr=tt.prototype,gs=Q["__core-js_shared__"],xs=$l.toString,Xe=gr.hasOwnProperty,Rl=0,zo=(function(){var e=/[^.]+$/.exec(gs&&gs.keys&&gs.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})(),ws=gr.toString,Rt=xs.call(tt),Ll=Ct._,Ol=ba("^"+xs.call(Xe).replace(ns,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bs=_o?Q.Buffer:s,$n=Q.Symbol,vs=Q.Uint8Array,Uo=bs?bs.allocUnsafe:s,ys=Fo(tt.getPrototypeOf,tt),Bo=tt.create,Wo=gr.propertyIsEnumerable,_s=ms.splice,Yo=$n?$n.isConcatSpreadable:s,$r=$n?$n.iterator:s,Bn=$n?$n.toStringTag:s,Ms=(function(){try{var e=zr(tt,"defineProperty");return e({},"",{}),e}catch{}})(),Fl=Q.clearTimeout!==Ct.clearTimeout&&Q.clearTimeout,Pl=we&&we.now!==Ct.Date.now&&we.now,qo=Q.setTimeout!==Ct.setTimeout&&Q.setTimeout,ks=vt.ceil,js=vt.floor,va=tt.getOwnPropertySymbols,Hl=bs?bs.isBuffer:s,Go=Q.isFinite,ft=ms.join,zl=Fo(tt.keys,tt),yt=vt.max,At=vt.min,Ul=we.now,Bl=Q.parseInt,Xo=vt.random,l=ms.reverse,c=zr(Q,"DataView"),d=zr(Q,"Map"),_=zr(Q,"Promise"),S=zr(Q,"Set"),F=zr(Q,"WeakMap"),G=zr(tt,"create"),X=F&&new F,le={},se=Ur(c),je=Ur(d),xe=Ur(_),qe=Ur(S),Oe=Ur(F),nt=$n?$n.prototype:s,Et=nt?nt.valueOf:s,en=nt?nt.toString:s;function k(e){if(gt(e)&&!Ae(e)&&!(e instanceof Fe)){if(e instanceof Nt)return e;if(Xe.call(e,"__wrapped__"))return Bd(e)}return new Nt(e)}var cn=(function(){function e(){}return function(r){if(!pt(r))return{};if(Bo)return Bo(r);e.prototype=r;var o=new e;return e.prototype=s,o}})();function Rr(){}function Nt(e,r){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=s}k.templateSettings={escape:Gs,evaluate:Xs,interpolate:Ks,variable:"",imports:{_:k}},k.prototype=Rr.prototype,k.prototype.constructor=k,Nt.prototype=cn(Rr.prototype),Nt.prototype.constructor=Nt;function Fe(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=de,this.__views__=[]}function ya(){var e=new Fe(this.__wrapped__);return e.__actions__=tn(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=tn(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=tn(this.__views__),e}function Lr(){if(this.__filtered__){var e=new Fe(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function Pm(){var e=this.__wrapped__.value(),r=this.__dir__,o=Ae(e),f=r<0,M=o?e.length:0,T=Vg(0,M,this.__views__),L=T.start,H=T.end,q=H-L,te=f?H:L-1,ne=this.__iteratees__,ae=ne.length,pe=0,_e=At(q,this.__takeCount__);if(!o||!f&&M==q&&_e==q)return fd(e,this.__actions__);var Ne=[];e:for(;q--&&pe<_e;){te+=r;for(var $e=-1,Te=e[te];++$e<ae;){var He=ne[$e],Ue=He.iteratee,fn=He.type,Vt=Ue(Te);if(fn==K)Te=Vt;else if(!Vt){if(fn==Me)continue e;break e}}Ne[pe++]=Te}return Ne}Fe.prototype=cn(Rr.prototype),Fe.prototype.constructor=Fe;function Or(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Hm(){this.__data__=G?G(null):{},this.size=0}function zm(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}function Um(e){var r=this.__data__;if(G){var o=r[e];return o===x?s:o}return Xe.call(r,e)?r[e]:s}function Bm(e){var r=this.__data__;return G?r[e]!==s:Xe.call(r,e)}function Wm(e,r){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=G&&r===s?x:r,this}Or.prototype.clear=Hm,Or.prototype.delete=zm,Or.prototype.get=Um,Or.prototype.has=Bm,Or.prototype.set=Wm;function Wn(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Ym(){this.__data__=[],this.size=0}function qm(e){var r=this.__data__,o=Ko(r,e);if(o<0)return!1;var f=r.length-1;return o==f?r.pop():_s.call(r,o,1),--this.size,!0}function Gm(e){var r=this.__data__,o=Ko(r,e);return o<0?s:r[o][1]}function Xm(e){return Ko(this.__data__,e)>-1}function Km(e,r){var o=this.__data__,f=Ko(o,e);return f<0?(++this.size,o.push([e,r])):o[f][1]=r,this}Wn.prototype.clear=Ym,Wn.prototype.delete=qm,Wn.prototype.get=Gm,Wn.prototype.has=Xm,Wn.prototype.set=Km;function Yn(e){var r=-1,o=e==null?0:e.length;for(this.clear();++r<o;){var f=e[r];this.set(f[0],f[1])}}function Zm(){this.size=0,this.__data__={hash:new Or,map:new(d||Wn),string:new Or}}function Vm(e){var r=ii(this,e).delete(e);return this.size-=r?1:0,r}function Qm(e){return ii(this,e).get(e)}function Jm(e){return ii(this,e).has(e)}function eg(e,r){var o=ii(this,e),f=o.size;return o.set(e,r),this.size+=o.size==f?0:1,this}Yn.prototype.clear=Zm,Yn.prototype.delete=Vm,Yn.prototype.get=Qm,Yn.prototype.has=Jm,Yn.prototype.set=eg;function Fr(e){var r=-1,o=e==null?0:e.length;for(this.__data__=new Yn;++r<o;)this.add(e[r])}function tg(e){return this.__data__.set(e,x),this}function ng(e){return this.__data__.has(e)}Fr.prototype.add=Fr.prototype.push=tg,Fr.prototype.has=ng;function jn(e){var r=this.__data__=new Wn(e);this.size=r.size}function rg(){this.__data__=new Wn,this.size=0}function sg(e){var r=this.__data__,o=r.delete(e);return this.size=r.size,o}function ag(e){return this.__data__.get(e)}function og(e){return this.__data__.has(e)}function ig(e,r){var o=this.__data__;if(o instanceof Wn){var f=o.__data__;if(!d||f.length<u-1)return f.push([e,r]),this.size=++o.size,this;o=this.__data__=new Yn(f)}return o.set(e,r),this.size=o.size,this}jn.prototype.clear=rg,jn.prototype.delete=sg,jn.prototype.get=ag,jn.prototype.has=og,jn.prototype.set=ig;function Bu(e,r){var o=Ae(e),f=!o&&Br(e),M=!o&&!f&&yr(e),T=!o&&!f&&!M&&Cs(e),L=o||f||M||T,H=L?ga(e.length,Dl):[],q=H.length;for(var te in e)(r||Xe.call(e,te))&&!(L&&(te=="length"||M&&(te=="offset"||te=="parent")||T&&(te=="buffer"||te=="byteLength"||te=="byteOffset")||Kn(te,q)))&&H.push(te);return H}function Wu(e){var r=e.length;return r?e[ec(0,r-1)]:s}function lg(e,r){return li(tn(e),Pr(r,0,e.length))}function cg(e){return li(tn(e))}function Wl(e,r,o){(o!==s&&!En(e[r],o)||o===s&&!(r in e))&&qn(e,r,o)}function _a(e,r,o){var f=e[r];(!(Xe.call(e,r)&&En(f,o))||o===s&&!(r in e))&&qn(e,r,o)}function Ko(e,r){for(var o=e.length;o--;)if(En(e[o][0],r))return o;return-1}function ug(e,r,o,f){return xr(e,function(M,T,L){r(f,M,o(M),L)}),f}function Yu(e,r){return e&&Ln(r,Dt(r),e)}function dg(e,r){return e&&Ln(r,rn(r),e)}function qn(e,r,o){r=="__proto__"&&Ms?Ms(e,r,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[r]=o}function Yl(e,r){for(var o=-1,f=r.length,M=Z(f),T=e==null;++o<f;)M[o]=T?s:jc(e,r[o]);return M}function Pr(e,r,o){return e===e&&(o!==s&&(e=e<=o?e:o),r!==s&&(e=e>=r?e:r)),e}function gn(e,r,o,f,M,T){var L,H=r&b,q=r&y,te=r&v;if(o&&(L=M?o(e,f,M,T):o(e)),L!==s)return L;if(!pt(e))return e;var ne=Ae(e);if(ne){if(L=Jg(e),!H)return tn(e,L)}else{var ae=Bt(e),pe=ae==Ht||ae==st;if(yr(e))return md(e,H);if(ae==$t||ae==be||pe&&!M){if(L=q||pe?{}:$d(e),!H)return q?Ug(e,dg(L,e)):zg(e,Yu(L,e))}else{if(!et[ae])return M?e:{};L=ex(e,ae,H)}}T||(T=new jn);var _e=T.get(e);if(_e)return _e;T.set(e,L),uf(e)?e.forEach(function(Te){L.add(gn(Te,r,o,Te,e,T))}):lf(e)&&e.forEach(function(Te,He){L.set(He,gn(Te,r,o,He,e,T))});var Ne=te?q?dc:uc:q?rn:Dt,$e=ne?s:Ne(e);return Gt($e||e,function(Te,He){$e&&(He=Te,Te=e[He]),_a(L,He,gn(Te,r,o,He,e,T))}),L}function fg(e){var r=Dt(e);return function(o){return qu(o,e,r)}}function qu(e,r,o){var f=o.length;if(e==null)return!f;for(e=tt(e);f--;){var M=o[f],T=r[M],L=e[M];if(L===s&&!(M in e)||!T(L))return!1}return!0}function Gu(e,r,o){if(typeof e!="function")throw new Xt(w);return Ca(function(){e.apply(s,o)},r)}function Ma(e,r,o,f){var M=-1,T=Ar,L=!0,H=e.length,q=[],te=r.length;if(!H)return q;o&&(r=lt(r,Ut(o))),f?(T=ds,L=!1):r.length>=u&&(T=Dr,L=!1,r=new Fr(r));e:for(;++M<H;){var ne=e[M],ae=o==null?ne:o(ne);if(ne=f||ne!==0?ne:0,L&&ae===ae){for(var pe=te;pe--;)if(r[pe]===ae)continue e;q.push(ne)}else T(r,ae,f)||q.push(ne)}return q}var xr=vd(Rn),Xu=vd(Gl,!0);function pg(e,r){var o=!0;return xr(e,function(f,M,T){return o=!!r(f,M,T),o}),o}function Zo(e,r,o){for(var f=-1,M=e.length;++f<M;){var T=e[f],L=r(T);if(L!=null&&(H===s?L===L&&!dn(L):o(L,H)))var H=L,q=T}return q}function hg(e,r,o,f){var M=e.length;for(o=De(o),o<0&&(o=-o>M?0:M+o),f=f===s||f>M?M:De(f),f<0&&(f+=M),f=o>f?0:ff(f);o<f;)e[o++]=r;return e}function Ku(e,r){var o=[];return xr(e,function(f,M,T){r(f,M,T)&&o.push(f)}),o}function Lt(e,r,o,f,M){var T=-1,L=e.length;for(o||(o=nx),M||(M=[]);++T<L;){var H=e[T];r>0&&o(H)?r>1?Lt(H,r-1,o,f,M):kn(M,H):f||(M[M.length]=H)}return M}var ql=yd(),Zu=yd(!0);function Rn(e,r){return e&&ql(e,r,Dt)}function Gl(e,r){return e&&Zu(e,r,Dt)}function Vo(e,r){return Mn(r,function(o){return Zn(e[o])})}function Hr(e,r){r=br(r,e);for(var o=0,f=r.length;e!=null&&o<f;)e=e[On(r[o++])];return o&&o==f?e:s}function Vu(e,r,o){var f=r(e);return Ae(e)?f:kn(f,o(e))}function Kt(e){return e==null?e===s?jt:St:Bn&&Bn in tt(e)?Zg(e):cx(e)}function Xl(e,r){return e>r}function mg(e,r){return e!=null&&Xe.call(e,r)}function gg(e,r){return e!=null&&r in tt(e)}function xg(e,r,o){return e>=At(r,o)&&e<yt(r,o)}function Kl(e,r,o){for(var f=o?ds:Ar,M=e[0].length,T=e.length,L=T,H=Z(T),q=1/0,te=[];L--;){var ne=e[L];L&&r&&(ne=lt(ne,Ut(r))),q=At(ne.length,q),H[L]=!o&&(r||M>=120&&ne.length>=120)?new Fr(L&&ne):s}ne=e[0];var ae=-1,pe=H[0];e:for(;++ae<M&&te.length<q;){var _e=ne[ae],Ne=r?r(_e):_e;if(_e=o||_e!==0?_e:0,!(pe?Dr(pe,Ne):f(te,Ne,o))){for(L=T;--L;){var $e=H[L];if(!($e?Dr($e,Ne):f(e[L],Ne,o)))continue e}pe&&pe.push(Ne),te.push(_e)}}return te}function wg(e,r,o,f){return Rn(e,function(M,T,L){r(f,o(M),T,L)}),f}function ka(e,r,o){r=br(r,e),e=Fd(e,r);var f=e==null?e:e[On(wn(r))];return f==null?s:qt(f,e,o)}function Qu(e){return gt(e)&&Kt(e)==be}function bg(e){return gt(e)&&Kt(e)==or}function vg(e){return gt(e)&&Kt(e)==Pt}function ja(e,r,o,f,M){return e===r?!0:e==null||r==null||!gt(e)&&!gt(r)?e!==e&&r!==r:yg(e,r,o,f,ja,M)}function yg(e,r,o,f,M,T){var L=Ae(e),H=Ae(r),q=L?Le:Bt(e),te=H?Le:Bt(r);q=q==be?$t:q,te=te==be?$t:te;var ne=q==$t,ae=te==$t,pe=q==te;if(pe&&yr(e)){if(!yr(r))return!1;L=!0,ne=!1}if(pe&&!ne)return T||(T=new jn),L||Cs(e)?Sd(e,r,o,f,M,T):Xg(e,r,q,o,f,M,T);if(!(o&C)){var _e=ne&&Xe.call(e,"__wrapped__"),Ne=ae&&Xe.call(r,"__wrapped__");if(_e||Ne){var $e=_e?e.value():e,Te=Ne?r.value():r;return T||(T=new jn),M($e,Te,o,f,T)}}return pe?(T||(T=new jn),Kg(e,r,o,f,M,T)):!1}function _g(e){return gt(e)&&Bt(e)==mt}function Zl(e,r,o,f){var M=o.length,T=M,L=!f;if(e==null)return!T;for(e=tt(e);M--;){var H=o[M];if(L&&H[2]?H[1]!==e[H[0]]:!(H[0]in e))return!1}for(;++M<T;){H=o[M];var q=H[0],te=e[q],ne=H[1];if(L&&H[2]){if(te===s&&!(q in e))return!1}else{var ae=new jn;if(f)var pe=f(te,ne,q,e,r,ae);if(!(pe===s?ja(ne,te,C|E,f,ae):pe))return!1}}return!0}function Ju(e){if(!pt(e)||sx(e))return!1;var r=Zn(e)?Ol:Gi;return r.test(Ur(e))}function Mg(e){return gt(e)&&Kt(e)==Je}function kg(e){return gt(e)&&Bt(e)==Se}function jg(e){return gt(e)&&hi(e.length)&&!!at[Kt(e)]}function ed(e){return typeof e=="function"?e:e==null?sn:typeof e=="object"?Ae(e)?rd(e[0],e[1]):nd(e):Mf(e)}function Vl(e){if(!Ta(e))return zl(e);var r=[];for(var o in tt(e))Xe.call(e,o)&&o!="constructor"&&r.push(o);return r}function Eg(e){if(!pt(e))return lx(e);var r=Ta(e),o=[];for(var f in e)f=="constructor"&&(r||!Xe.call(e,f))||o.push(f);return o}function Ql(e,r){return e<r}function td(e,r){var o=-1,f=nn(e)?Z(e.length):[];return xr(e,function(M,T,L){f[++o]=r(M,T,L)}),f}function nd(e){var r=pc(e);return r.length==1&&r[0][2]?Ld(r[0][0],r[0][1]):function(o){return o===e||Zl(o,e,r)}}function rd(e,r){return mc(e)&&Rd(r)?Ld(On(e),r):function(o){var f=jc(o,e);return f===s&&f===r?Ec(o,e):ja(r,f,C|E)}}function Qo(e,r,o,f,M){e!==r&&ql(r,function(T,L){if(M||(M=new jn),pt(T))Ng(e,r,L,o,Qo,f,M);else{var H=f?f(xc(e,L),T,L+"",e,r,M):s;H===s&&(H=T),Wl(e,L,H)}},rn)}function Ng(e,r,o,f,M,T,L){var H=xc(e,o),q=xc(r,o),te=L.get(q);if(te){Wl(e,o,te);return}var ne=T?T(H,q,o+"",e,r,L):s,ae=ne===s;if(ae){var pe=Ae(q),_e=!pe&&yr(q),Ne=!pe&&!_e&&Cs(q);ne=q,pe||_e||Ne?Ae(H)?ne=H:_t(H)?ne=tn(H):_e?(ae=!1,ne=md(q,!0)):Ne?(ae=!1,ne=gd(q,!0)):ne=[]:Ia(q)||Br(q)?(ne=H,Br(H)?ne=pf(H):(!pt(H)||Zn(H))&&(ne=$d(q))):ae=!1}ae&&(L.set(q,ne),M(ne,q,f,T,L),L.delete(q)),Wl(e,o,ne)}function sd(e,r){var o=e.length;if(o)return r+=r<0?o:0,Kn(r,o)?e[r]:s}function ad(e,r,o){r.length?r=lt(r,function(T){return Ae(T)?function(L){return Hr(L,T.length===1?T[0]:T)}:T}):r=[sn];var f=-1;r=lt(r,Ut(Ee()));var M=td(e,function(T,L,H){var q=lt(r,function(te){return te(T)});return{criteria:q,index:++f,value:T}});return wl(M,function(T,L){return Hg(T,L,o)})}function Tg(e,r){return od(e,r,function(o,f){return Ec(e,f)})}function od(e,r,o){for(var f=-1,M=r.length,T={};++f<M;){var L=r[f],H=Hr(e,L);o(H,L)&&Ea(T,br(L,e),H)}return T}function Cg(e){return function(r){return Hr(r,e)}}function Jl(e,r,o,f){var M=f?xl:fr,T=-1,L=r.length,H=e;for(e===r&&(r=tn(r)),o&&(H=lt(e,Ut(o)));++T<L;)for(var q=0,te=r[T],ne=o?o(te):te;(q=M(H,ne,q,f))>-1;)H!==e&&_s.call(H,q,1),_s.call(e,q,1);return e}function id(e,r){for(var o=e?r.length:0,f=o-1;o--;){var M=r[o];if(o==f||M!==T){var T=M;Kn(M)?_s.call(e,M,1):rc(e,M)}}return e}function ec(e,r){return e+js(Xo()*(r-e+1))}function Ig(e,r,o,f){for(var M=-1,T=yt(ks((r-e)/(o||1)),0),L=Z(T);T--;)L[f?T:++M]=e,e+=o;return L}function tc(e,r){var o="";if(!e||r<1||r>ue)return o;do r%2&&(o+=e),r=js(r/2),r&&(e+=e);while(r);return o}function Re(e,r){return wc(Od(e,r,sn),e+"")}function Sg(e){return Wu(Is(e))}function Ag(e,r){var o=Is(e);return li(o,Pr(r,0,o.length))}function Ea(e,r,o,f){if(!pt(e))return e;r=br(r,e);for(var M=-1,T=r.length,L=T-1,H=e;H!=null&&++M<T;){var q=On(r[M]),te=o;if(q==="__proto__"||q==="constructor"||q==="prototype")return e;if(M!=L){var ne=H[q];te=f?f(ne,q,H):s,te===s&&(te=pt(ne)?ne:Kn(r[M+1])?[]:{})}_a(H,q,te),H=H[q]}return e}var ld=X?function(e,r){return X.set(e,r),e}:sn,Dg=Ms?function(e,r){return Ms(e,"toString",{configurable:!0,enumerable:!1,value:Tc(r),writable:!0})}:sn;function $g(e){return li(Is(e))}function xn(e,r,o){var f=-1,M=e.length;r<0&&(r=-r>M?0:M+r),o=o>M?M:o,o<0&&(o+=M),M=r>o?0:o-r>>>0,r>>>=0;for(var T=Z(M);++f<M;)T[f]=e[f+r];return T}function Rg(e,r){var o;return xr(e,function(f,M,T){return o=r(f,M,T),!o}),!!o}function Jo(e,r,o){var f=0,M=e==null?f:e.length;if(typeof r=="number"&&r===r&&M<=ce){for(;f<M;){var T=f+M>>>1,L=e[T];L!==null&&!dn(L)&&(o?L<=r:L<r)?f=T+1:M=T}return M}return nc(e,r,sn,o)}function nc(e,r,o,f){var M=0,T=e==null?0:e.length;if(T===0)return 0;r=o(r);for(var L=r!==r,H=r===null,q=dn(r),te=r===s;M<T;){var ne=js((M+T)/2),ae=o(e[ne]),pe=ae!==s,_e=ae===null,Ne=ae===ae,$e=dn(ae);if(L)var Te=f||Ne;else te?Te=Ne&&(f||pe):H?Te=Ne&&pe&&(f||!_e):q?Te=Ne&&pe&&!_e&&(f||!$e):_e||$e?Te=!1:Te=f?ae<=r:ae<r;Te?M=ne+1:T=ne}return At(T,fe)}function cd(e,r){for(var o=-1,f=e.length,M=0,T=[];++o<f;){var L=e[o],H=r?r(L):L;if(!o||!En(H,q)){var q=H;T[M++]=L===0?0:L}}return T}function ud(e){return typeof e=="number"?e:dn(e)?J:+e}function un(e){if(typeof e=="string")return e;if(Ae(e))return lt(e,un)+"";if(dn(e))return en?en.call(e):"";var r=e+"";return r=="0"&&1/e==-ke?"-0":r}function wr(e,r,o){var f=-1,M=Ar,T=e.length,L=!0,H=[],q=H;if(o)L=!1,M=ds;else if(T>=u){var te=r?null:qg(e);if(te)return hs(te);L=!1,M=Dr,q=new Fr}else q=r?[]:H;e:for(;++f<T;){var ne=e[f],ae=r?r(ne):ne;if(ne=o||ne!==0?ne:0,L&&ae===ae){for(var pe=q.length;pe--;)if(q[pe]===ae)continue e;r&&q.push(ae),H.push(ne)}else M(q,ae,o)||(q!==H&&q.push(ae),H.push(ne))}return H}function rc(e,r){r=br(r,e);var o=-1,f=r.length;if(!f)return!0;for(var M=e==null||typeof e!="object"&&typeof e!="function";++o<f;){var T=r[o];if(typeof T=="string"){if(T==="__proto__"&&!Xe.call(e,"__proto__"))return!1;if(T==="constructor"&&o+1<f&&typeof r[o+1]=="string"&&r[o+1]==="prototype"){if(M&&o===0)continue;return!1}}}var L=Fd(e,r);return L==null||delete L[On(wn(r))]}function dd(e,r,o,f){return Ea(e,r,o(Hr(e,r)),f)}function ei(e,r,o,f){for(var M=e.length,T=f?M:-1;(f?T--:++T<M)&&r(e[T],T,e););return o?xn(e,f?0:T,f?T+1:M):xn(e,f?T+1:0,f?M:T)}function fd(e,r){var o=e;return o instanceof Fe&&(o=o.value()),fs(r,function(f,M){return M.func.apply(M.thisArg,kn([f],M.args))},o)}function sc(e,r,o){var f=e.length;if(f<2)return f?wr(e[0]):[];for(var M=-1,T=Z(f);++M<f;)for(var L=e[M],H=-1;++H<f;)H!=M&&(T[M]=Ma(T[M]||L,e[H],r,o));return wr(Lt(T,1),r,o)}function pd(e,r,o){for(var f=-1,M=e.length,T=r.length,L={};++f<M;){var H=f<T?r[f]:s;o(L,e[f],H)}return L}function ac(e){return _t(e)?e:[]}function oc(e){return typeof e=="function"?e:sn}function br(e,r){return Ae(e)?e:mc(e,r)?[e]:Ud(Qe(e))}var Lg=Re;function vr(e,r,o){var f=e.length;return o=o===s?f:o,!r&&o>=f?e:xn(e,r,o)}var hd=Fl||function(e){return Ct.clearTimeout(e)};function md(e,r){if(r)return e.slice();var o=e.length,f=Uo?Uo(o):new e.constructor(o);return e.copy(f),f}function ic(e){var r=new e.constructor(e.byteLength);return new vs(r).set(new vs(e)),r}function Og(e,r){var o=r?ic(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}function Fg(e){var r=new e.constructor(e.source,ss.exec(e));return r.lastIndex=e.lastIndex,r}function Pg(e){return Et?tt(Et.call(e)):{}}function gd(e,r){var o=r?ic(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}function xd(e,r){if(e!==r){var o=e!==s,f=e===null,M=e===e,T=dn(e),L=r!==s,H=r===null,q=r===r,te=dn(r);if(!H&&!te&&!T&&e>r||T&&L&&q&&!H&&!te||f&&L&&q||!o&&q||!M)return 1;if(!f&&!T&&!te&&e<r||te&&o&&M&&!f&&!T||H&&o&&M||!L&&M||!q)return-1}return 0}function Hg(e,r,o){for(var f=-1,M=e.criteria,T=r.criteria,L=M.length,H=o.length;++f<L;){var q=xd(M[f],T[f]);if(q){if(f>=H)return q;var te=o[f];return q*(te=="desc"?-1:1)}}return e.index-r.index}function wd(e,r,o,f){for(var M=-1,T=e.length,L=o.length,H=-1,q=r.length,te=yt(T-L,0),ne=Z(q+te),ae=!f;++H<q;)ne[H]=r[H];for(;++M<L;)(ae||M<T)&&(ne[o[M]]=e[M]);for(;te--;)ne[H++]=e[M++];return ne}function bd(e,r,o,f){for(var M=-1,T=e.length,L=-1,H=o.length,q=-1,te=r.length,ne=yt(T-H,0),ae=Z(ne+te),pe=!f;++M<ne;)ae[M]=e[M];for(var _e=M;++q<te;)ae[_e+q]=r[q];for(;++L<H;)(pe||M<T)&&(ae[_e+o[L]]=e[M++]);return ae}function tn(e,r){var o=-1,f=e.length;for(r||(r=Z(f));++o<f;)r[o]=e[o];return r}function Ln(e,r,o,f){var M=!o;o||(o={});for(var T=-1,L=r.length;++T<L;){var H=r[T],q=f?f(o[H],e[H],H,o,e):s;q===s&&(q=e[H]),M?qn(o,H,q):_a(o,H,q)}return o}function zg(e,r){return Ln(e,hc(e),r)}function Ug(e,r){return Ln(e,Ad(e),r)}function ti(e,r){return function(o,f){var M=Ae(o)?pl:ug,T=r?r():{};return M(o,e,Ee(f,2),T)}}function Es(e){return Re(function(r,o){var f=-1,M=o.length,T=M>1?o[M-1]:s,L=M>2?o[2]:s;for(T=e.length>3&&typeof T=="function"?(M--,T):s,L&&Zt(o[0],o[1],L)&&(T=M<3?s:T,M=1),r=tt(r);++f<M;){var H=o[f];H&&e(r,H,f,T)}return r})}function vd(e,r){return function(o,f){if(o==null)return o;if(!nn(o))return e(o,f);for(var M=o.length,T=r?M:-1,L=tt(o);(r?T--:++T<M)&&f(L[T],T,L)!==!1;);return o}}function yd(e){return function(r,o,f){for(var M=-1,T=tt(r),L=f(r),H=L.length;H--;){var q=L[e?H:++M];if(o(T[q],q,T)===!1)break}return r}}function Bg(e,r,o){var f=r&j,M=Na(e);function T(){var L=this&&this!==Ct&&this instanceof T?M:e;return L.apply(f?o:this,arguments)}return T}function _d(e){return function(r){r=Qe(r);var o=pr(r)?Jt(r):s,f=o?o[0]:r.charAt(0),M=o?vr(o,1).join(""):r.slice(1);return f[e]()+M}}function Ns(e){return function(r){return fs(yf(vf(r).replace(ia,"")),e,"")}}function Na(e){return function(){var r=arguments;switch(r.length){case 0:return new e;case 1:return new e(r[0]);case 2:return new e(r[0],r[1]);case 3:return new e(r[0],r[1],r[2]);case 4:return new e(r[0],r[1],r[2],r[3]);case 5:return new e(r[0],r[1],r[2],r[3],r[4]);case 6:return new e(r[0],r[1],r[2],r[3],r[4],r[5]);case 7:return new e(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}var o=cn(e.prototype),f=e.apply(o,r);return pt(f)?f:o}}function Wg(e,r,o){var f=Na(e);function M(){for(var T=arguments.length,L=Z(T),H=T,q=Ts(M);H--;)L[H]=arguments[H];var te=T<3&&L[0]!==q&&L[T-1]!==q?[]:Dn(L,q);if(T-=te.length,T<o)return Nd(e,r,ni,M.placeholder,s,L,te,s,s,o-T);var ne=this&&this!==Ct&&this instanceof M?f:e;return qt(ne,this,L)}return M}function Md(e){return function(r,o,f){var M=tt(r);if(!nn(r)){var T=Ee(o,3);r=Dt(r),o=function(H){return T(M[H],H,M)}}var L=e(r,o,f);return L>-1?M[T?r[L]:L]:s}}function kd(e){return Xn(function(r){var o=r.length,f=o,M=Nt.prototype.thru;for(e&&r.reverse();f--;){var T=r[f];if(typeof T!="function")throw new Xt(w);if(M&&!L&&oi(T)=="wrapper")var L=new Nt([],!0)}for(f=L?f:o;++f<o;){T=r[f];var H=oi(T),q=H=="wrapper"?fc(T):s;q&&gc(q[0])&&q[1]==(I|$|O|U)&&!q[4].length&&q[9]==1?L=L[oi(q[0])].apply(L,q[3]):L=T.length==1&&gc(T)?L[H]():L.thru(T)}return function(){var te=arguments,ne=te[0];if(L&&te.length==1&&Ae(ne))return L.plant(ne).value();for(var ae=0,pe=o?r[ae].apply(this,te):ne;++ae<o;)pe=r[ae].call(this,pe);return pe}})}function ni(e,r,o,f,M,T,L,H,q,te){var ne=r&I,ae=r&j,pe=r&N,_e=r&($|R),Ne=r&Y,$e=pe?s:Na(e);function Te(){for(var He=arguments.length,Ue=Z(He),fn=He;fn--;)Ue[fn]=arguments[fn];if(_e)var Vt=Ts(Te),pn=vl(Ue,Vt);if(f&&(Ue=wd(Ue,f,M,_e)),T&&(Ue=bd(Ue,T,L,_e)),He-=pn,_e&&He<te){var Mt=Dn(Ue,Vt);return Nd(e,r,ni,Te.placeholder,o,Ue,Mt,H,q,te-He)}var Nn=ae?o:this,Qn=pe?Nn[e]:e;return He=Ue.length,H?Ue=ux(Ue,H):Ne&&He>1&&Ue.reverse(),ne&&q<He&&(Ue.length=q),this&&this!==Ct&&this instanceof Te&&(Qn=$e||Na(Qn)),Qn.apply(Nn,Ue)}return Te}function jd(e,r){return function(o,f){return wg(o,e,r(f),{})}}function ri(e,r){return function(o,f){var M;if(o===s&&f===s)return r;if(o!==s&&(M=o),f!==s){if(M===s)return f;typeof o=="string"||typeof f=="string"?(o=un(o),f=un(f)):(o=ud(o),f=ud(f)),M=e(o,f)}return M}}function lc(e){return Xn(function(r){return r=lt(r,Ut(Ee())),Re(function(o){var f=this;return e(r,function(M){return qt(M,f,o)})})})}function si(e,r){r=r===s?" ":un(r);var o=r.length;if(o<2)return o?tc(r,e):r;var f=tc(r,ks(e/hr(r)));return pr(r)?vr(Jt(f),0,e).join(""):f.slice(0,e)}function Yg(e,r,o,f){var M=r&j,T=Na(e);function L(){for(var H=-1,q=arguments.length,te=-1,ne=f.length,ae=Z(ne+q),pe=this&&this!==Ct&&this instanceof L?T:e;++te<ne;)ae[te]=f[te];for(;q--;)ae[te++]=arguments[++H];return qt(pe,M?o:this,ae)}return L}function Ed(e){return function(r,o,f){return f&&typeof f!="number"&&Zt(r,o,f)&&(o=f=s),r=Vn(r),o===s?(o=r,r=0):o=Vn(o),f=f===s?r<o?1:-1:Vn(f),Ig(r,o,f,e)}}function ai(e){return function(r,o){return typeof r=="string"&&typeof o=="string"||(r=bn(r),o=bn(o)),e(r,o)}}function Nd(e,r,o,f,M,T,L,H,q,te){var ne=r&$,ae=ne?L:s,pe=ne?s:L,_e=ne?T:s,Ne=ne?s:T;r|=ne?O:P,r&=~(ne?P:O),r&D||(r&=-4);var $e=[e,r,M,_e,ae,Ne,pe,H,q,te],Te=o.apply(s,$e);return gc(e)&&Pd(Te,$e),Te.placeholder=f,Hd(Te,e,r)}function cc(e){var r=vt[e];return function(o,f){if(o=bn(o),f=f==null?0:At(De(f),292),f&&Go(o)){var M=(Qe(o)+"e").split("e"),T=r(M[0]+"e"+(+M[1]+f));return M=(Qe(T)+"e").split("e"),+(M[0]+"e"+(+M[1]-f))}return r(o)}}var qg=S&&1/hs(new S([,-0]))[1]==ke?function(e){return new S(e)}:Sc;function Td(e){return function(r){var o=Bt(r);return o==mt?wa(r):o==Se?El(r):bl(r,e(r))}}function Gn(e,r,o,f,M,T,L,H){var q=r&N;if(!q&&typeof e!="function")throw new Xt(w);var te=f?f.length:0;if(te||(r&=-97,f=M=s),L=L===s?L:yt(De(L),0),H=H===s?H:De(H),te-=M?M.length:0,r&P){var ne=f,ae=M;f=M=s}var pe=q?s:fc(e),_e=[e,r,o,f,M,ne,ae,T,L,H];if(pe&&ix(_e,pe),e=_e[0],r=_e[1],o=_e[2],f=_e[3],M=_e[4],H=_e[9]=_e[9]===s?q?0:e.length:yt(_e[9]-te,0),!H&&r&($|R)&&(r&=-25),!r||r==j)var Ne=Bg(e,r,o);else r==$||r==R?Ne=Wg(e,r,H):(r==O||r==(j|O))&&!M.length?Ne=Yg(e,r,o,f):Ne=ni.apply(s,_e);var $e=pe?ld:Pd;return Hd($e(Ne,_e),e,r)}function Cd(e,r,o,f){return e===s||En(e,gr[o])&&!Xe.call(f,o)?r:e}function Id(e,r,o,f,M,T){return pt(e)&&pt(r)&&(T.set(r,e),Qo(e,r,s,Id,T),T.delete(r)),e}function Gg(e){return Ia(e)?s:e}function Sd(e,r,o,f,M,T){var L=o&C,H=e.length,q=r.length;if(H!=q&&!(L&&q>H))return!1;var te=T.get(e),ne=T.get(r);if(te&&ne)return te==r&&ne==e;var ae=-1,pe=!0,_e=o&E?new Fr:s;for(T.set(e,r),T.set(r,e);++ae<H;){var Ne=e[ae],$e=r[ae];if(f)var Te=L?f($e,Ne,ae,r,e,T):f(Ne,$e,ae,e,r,T);if(Te!==s){if(Te)continue;pe=!1;break}if(_e){if(!fa(r,function(He,Ue){if(!Dr(_e,Ue)&&(Ne===He||M(Ne,He,o,f,T)))return _e.push(Ue)})){pe=!1;break}}else if(!(Ne===$e||M(Ne,$e,o,f,T))){pe=!1;break}}return T.delete(e),T.delete(r),pe}function Xg(e,r,o,f,M,T,L){switch(o){case ir:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case or:return!(e.byteLength!=r.byteLength||!T(new vs(e),new vs(r)));case wt:case Pt:case It:return En(+e,+r);case Ze:return e.name==r.name&&e.message==r.message;case Je:case hn:return e==r+"";case mt:var H=wa;case Se:var q=f&C;if(H||(H=hs),e.size!=r.size&&!q)return!1;var te=L.get(e);if(te)return te==r;f|=E,L.set(e,r);var ne=Sd(H(e),H(r),f,M,T,L);return L.delete(e),ne;case yn:if(Et)return Et.call(e)==Et.call(r)}return!1}function Kg(e,r,o,f,M,T){var L=o&C,H=uc(e),q=H.length,te=uc(r),ne=te.length;if(q!=ne&&!L)return!1;for(var ae=q;ae--;){var pe=H[ae];if(!(L?pe in r:Xe.call(r,pe)))return!1}var _e=T.get(e),Ne=T.get(r);if(_e&&Ne)return _e==r&&Ne==e;var $e=!0;T.set(e,r),T.set(r,e);for(var Te=L;++ae<q;){pe=H[ae];var He=e[pe],Ue=r[pe];if(f)var fn=L?f(Ue,He,pe,r,e,T):f(He,Ue,pe,e,r,T);if(!(fn===s?He===Ue||M(He,Ue,o,f,T):fn)){$e=!1;break}Te||(Te=pe=="constructor")}if($e&&!Te){var Vt=e.constructor,pn=r.constructor;Vt!=pn&&"constructor"in e&&"constructor"in r&&!(typeof Vt=="function"&&Vt instanceof Vt&&typeof pn=="function"&&pn instanceof pn)&&($e=!1)}return T.delete(e),T.delete(r),$e}function Xn(e){return wc(Od(e,s,qd),e+"")}function uc(e){return Vu(e,Dt,hc)}function dc(e){return Vu(e,rn,Ad)}var fc=X?function(e){return X.get(e)}:Sc;function oi(e){for(var r=e.name+"",o=le[r],f=Xe.call(le,r)?o.length:0;f--;){var M=o[f],T=M.func;if(T==null||T==e)return M.name}return r}function Ts(e){var r=Xe.call(k,"placeholder")?k:e;return r.placeholder}function Ee(){var e=k.iteratee||Cc;return e=e===Cc?ed:e,arguments.length?e(arguments[0],arguments[1]):e}function ii(e,r){var o=e.__data__;return rx(r)?o[typeof r=="string"?"string":"hash"]:o.map}function pc(e){for(var r=Dt(e),o=r.length;o--;){var f=r[o],M=e[f];r[o]=[f,M,Rd(M)]}return r}function zr(e,r){var o=An(e,r);return Ju(o)?o:s}function Zg(e){var r=Xe.call(e,Bn),o=e[Bn];try{e[Bn]=s;var f=!0}catch{}var M=ws.call(e);return f&&(r?e[Bn]=o:delete e[Bn]),M}var hc=va?function(e){return e==null?[]:(e=tt(e),Mn(va(e),function(r){return Wo.call(e,r)}))}:Ac,Ad=va?function(e){for(var r=[];e;)kn(r,hc(e)),e=ys(e);return r}:Ac,Bt=Kt;(c&&Bt(new c(new ArrayBuffer(1)))!=ir||d&&Bt(new d)!=mt||_&&Bt(_.resolve())!=bt||S&&Bt(new S)!=Se||F&&Bt(new F)!=_n)&&(Bt=function(e){var r=Kt(e),o=r==$t?e.constructor:s,f=o?Ur(o):"";if(f)switch(f){case se:return ir;case je:return mt;case xe:return bt;case qe:return Se;case Oe:return _n}return r});function Vg(e,r,o){for(var f=-1,M=o.length;++f<M;){var T=o[f],L=T.size;switch(T.type){case"drop":e+=L;break;case"dropRight":r-=L;break;case"take":r=At(r,e+L);break;case"takeRight":e=yt(e,r-L);break}}return{start:e,end:r}}function Qg(e){var r=e.match(Za);return r?r[1].split(Va):[]}function Dd(e,r,o){r=br(r,e);for(var f=-1,M=r.length,T=!1;++f<M;){var L=On(r[f]);if(!(T=e!=null&&o(e,L)))break;e=e[L]}return T||++f!=M?T:(M=e==null?0:e.length,!!M&&hi(M)&&Kn(L,M)&&(Ae(e)||Br(e)))}function Jg(e){var r=e.length,o=new e.constructor(r);return r&&typeof e[0]=="string"&&Xe.call(e,"index")&&(o.index=e.index,o.input=e.input),o}function $d(e){return typeof e.constructor=="function"&&!Ta(e)?cn(ys(e)):{}}function ex(e,r,o){var f=e.constructor;switch(r){case or:return ic(e);case wt:case Pt:return new f(+e);case ir:return Og(e,o);case In:case Ir:case Sn:case mn:case Sr:case Jr:case es:case zt:case Bs:return gd(e,o);case mt:return new f;case It:case hn:return new f(e);case Je:return Fg(e);case Se:return new f;case yn:return Pg(e)}}function tx(e,r){var o=r.length;if(!o)return e;var f=o-1;return r[f]=(o>1?"& ":"")+r[f],r=r.join(o>2?", ":" "),e.replace(Ka,`{
15
15
  /* [wrapped with `+r+`] */
16
- `)}function nx(e){return Ae(e)||Br(e)||!!(Yo&&e&&e[Yo])}function Kn(e,r){var o=typeof e;return r=r??ue,!!r&&(o=="number"||o!="symbol"&&Ki.test(e))&&e>-1&&e%1==0&&e<r}function Zt(e,r,o){if(!pt(o))return!1;var f=typeof r;return(f=="number"?nn(o)&&Kn(r,o.length):f=="string"&&r in o)?En(o[r],e):!1}function mc(e,r){if(Ae(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||dn(e)?!0:qa.test(e)||!Zs.test(e)||r!=null&&e in tt(r)}function rx(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}function gc(e){var r=oi(e),o=k[r];if(typeof o!="function"||!(r in Fe.prototype))return!1;if(e===o)return!0;var f=fc(o);return!!f&&e===f[0]}function sx(e){return!!zo&&zo in e}var ax=gs?Zn:Dc;function Na(e){var r=e&&e.constructor,o=typeof r=="function"&&r.prototype||gr;return e===o}function Rd(e){return e===e&&!pt(e)}function Ld(e,r){return function(o){return o==null?!1:o[e]===r&&(r!==s||e in tt(o))}}function ox(e){var r=fi(e,function(f){return o.size===g&&o.clear(),f}),o=r.cache;return r}function ix(e,r){var o=e[1],f=r[1],M=o|f,N=M<(j|T|I),L=f==I&&o==$||f==I&&o==U&&e[7].length<=r[8]||f==(I|U)&&r[7].length<=r[8]&&o==$;if(!(N||L))return e;f&j&&(e[2]=r[2],M|=o&j?0:D);var H=r[3];if(H){var q=e[3];e[3]=q?wd(q,H,r[4]):H,e[4]=q?Dn(e[3],h):r[4]}return H=r[5],H&&(q=e[5],e[5]=q?bd(q,H,r[6]):H,e[6]=q?Dn(e[5],h):r[6]),H=r[7],H&&(e[7]=H),f&I&&(e[8]=e[8]==null?r[8]:At(e[8],r[8])),e[9]==null&&(e[9]=r[9]),e[0]=r[0],e[1]=M,e}function lx(e){var r=[];if(e!=null)for(var o in tt(e))r.push(o);return r}function cx(e){return ws.call(e)}function Od(e,r,o){return r=yt(r===s?e.length-1:r,0),function(){for(var f=arguments,M=-1,N=yt(f.length-r,0),L=Z(N);++M<N;)L[M]=f[r+M];M=-1;for(var H=Z(r+1);++M<r;)H[M]=f[M];return H[r]=o(L),qt(e,this,H)}}function Fd(e,r){return r.length<2?e:Hr(e,xn(r,0,-1))}function ux(e,r){for(var o=e.length,f=At(r.length,o),M=tn(e);f--;){var N=r[f];e[f]=Kn(N,o)?M[N]:s}return e}function xc(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}var Pd=zd(ld),Ca=qo||function(e,r){return Ct.setTimeout(e,r)},wc=zd(Dg);function Hd(e,r,o){var f=r+"";return wc(e,tx(f,dx(Qg(f),o)))}function zd(e){var r=0,o=0;return function(){var f=Ul(),M=ge-(f-o);if(o=f,M>0){if(++r>=ie)return arguments[0]}else r=0;return e.apply(s,arguments)}}function li(e,r){var o=-1,f=e.length,M=f-1;for(r=r===s?f:r;++o<r;){var N=ec(o,M),L=e[N];e[N]=e[o],e[o]=L}return e.length=r,e}var Ud=ox(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(Wi,function(o,f,M,N){r.push(M?N.replace(rs,"$1"):f||o)}),r});function On(e){if(typeof e=="string"||dn(e))return e;var r=e+"";return r=="0"&&1/e==-ke?"-0":r}function Ur(e){if(e!=null){try{return xs.call(e)}catch{}try{return e+""}catch{}}return""}function dx(e,r){return Gt(V,function(o){var f="_."+o[0];r&o[1]&&!Ar(e,f)&&e.push(f)}),e.sort()}function Bd(e){if(e instanceof Fe)return e.clone();var r=new Tt(e.__wrapped__,e.__chain__);return r.__actions__=tn(e.__actions__),r.__index__=e.__index__,r.__values__=e.__values__,r}function fx(e,r,o){(o?Zt(e,r,o):r===s)?r=1:r=yt(De(r),0);var f=e==null?0:e.length;if(!f||r<1)return[];for(var M=0,N=0,L=Z(ks(f/r));M<f;)L[N++]=xn(e,M,M+=r);return L}function px(e){for(var r=-1,o=e==null?0:e.length,f=0,M=[];++r<o;){var N=e[r];N&&(M[f++]=N)}return M}function hx(){var e=arguments.length;if(!e)return[];for(var r=Z(e-1),o=arguments[0],f=e;f--;)r[f-1]=arguments[f];return kn(Ae(o)?tn(o):[o],Lt(r,1))}var mx=Re(function(e,r){return _t(e)?Ma(e,Lt(r,1,_t,!0)):[]}),gx=Re(function(e,r){var o=wn(r);return _t(o)&&(o=s),_t(e)?Ma(e,Lt(r,1,_t,!0),Ee(o,2)):[]}),xx=Re(function(e,r){var o=wn(r);return _t(o)&&(o=s),_t(e)?Ma(e,Lt(r,1,_t,!0),s,o):[]});function wx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),xn(e,r<0?0:r,f)):[]}function bx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),r=f-r,xn(e,0,r<0?0:r)):[]}function vx(e,r){return e&&e.length?ei(e,Ee(r,3),!0,!0):[]}function yx(e,r){return e&&e.length?ei(e,Ee(r,3),!0):[]}function _x(e,r,o,f){var M=e==null?0:e.length;return M?(o&&typeof o!="number"&&Zt(e,r,o)&&(o=0,f=M),hg(e,r,o,f)):[]}function Wd(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=o==null?0:De(o);return M<0&&(M=yt(f+M,0)),ps(e,Ee(r,3),M)}function Yd(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=f-1;return o!==s&&(M=De(o),M=o<0?yt(f+M,0):At(M,f-1)),ps(e,Ee(r,3),M,!0)}function qd(e){var r=e==null?0:e.length;return r?Lt(e,1):[]}function Mx(e){var r=e==null?0:e.length;return r?Lt(e,ke):[]}function kx(e,r){var o=e==null?0:e.length;return o?(r=r===s?1:De(r),Lt(e,r)):[]}function jx(e){for(var r=-1,o=e==null?0:e.length,f={};++r<o;){var M=e[r];f[M[0]]=M[1]}return f}function Gd(e){return e&&e.length?e[0]:s}function Ex(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=o==null?0:De(o);return M<0&&(M=yt(f+M,0)),fr(e,r,M)}function Tx(e){var r=e==null?0:e.length;return r?xn(e,0,-1):[]}var Nx=Re(function(e){var r=lt(e,ac);return r.length&&r[0]===e[0]?Kl(r):[]}),Cx=Re(function(e){var r=wn(e),o=lt(e,ac);return r===wn(o)?r=s:o.pop(),o.length&&o[0]===e[0]?Kl(o,Ee(r,2)):[]}),Ix=Re(function(e){var r=wn(e),o=lt(e,ac);return r=typeof r=="function"?r:s,r&&o.pop(),o.length&&o[0]===e[0]?Kl(o,s,r):[]});function Sx(e,r){return e==null?"":ft.call(e,r)}function wn(e){var r=e==null?0:e.length;return r?e[r-1]:s}function Ax(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=f;return o!==s&&(M=De(o),M=M<0?yt(f+M,0):At(M,f-1)),r===r?Nl(e,r,M):ps(e,Ao,M,!0)}function Dx(e,r){return e&&e.length?sd(e,De(r)):s}var $x=Re(Xd);function Xd(e,r){return e&&e.length&&r&&r.length?Jl(e,r):e}function Rx(e,r,o){return e&&e.length&&r&&r.length?Jl(e,r,Ee(o,2)):e}function Lx(e,r,o){return e&&e.length&&r&&r.length?Jl(e,r,s,o):e}var Ox=Xn(function(e,r){var o=e==null?0:e.length,f=Yl(e,r);return id(e,lt(r,function(M){return Kn(M,o)?+M:M}).sort(xd)),f});function Fx(e,r){var o=[];if(!(e&&e.length))return o;var f=-1,M=[],N=e.length;for(r=Ee(r,3);++f<N;){var L=e[f];r(L,f,e)&&(o.push(L),M.push(f))}return id(e,M),o}function bc(e){return e==null?e:l.call(e)}function Px(e,r,o){var f=e==null?0:e.length;return f?(o&&typeof o!="number"&&Zt(e,r,o)?(r=0,o=f):(r=r==null?0:De(r),o=o===s?f:De(o)),xn(e,r,o)):[]}function Hx(e,r){return Jo(e,r)}function zx(e,r,o){return nc(e,r,Ee(o,2))}function Ux(e,r){var o=e==null?0:e.length;if(o){var f=Jo(e,r);if(f<o&&En(e[f],r))return f}return-1}function Bx(e,r){return Jo(e,r,!0)}function Wx(e,r,o){return nc(e,r,Ee(o,2),!0)}function Yx(e,r){var o=e==null?0:e.length;if(o){var f=Jo(e,r,!0)-1;if(En(e[f],r))return f}return-1}function qx(e){return e&&e.length?cd(e):[]}function Gx(e,r){return e&&e.length?cd(e,Ee(r,2)):[]}function Xx(e){var r=e==null?0:e.length;return r?xn(e,1,r):[]}function Kx(e,r,o){return e&&e.length?(r=o||r===s?1:De(r),xn(e,0,r<0?0:r)):[]}function Zx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),r=f-r,xn(e,r<0?0:r,f)):[]}function Vx(e,r){return e&&e.length?ei(e,Ee(r,3),!1,!0):[]}function Qx(e,r){return e&&e.length?ei(e,Ee(r,3)):[]}var Jx=Re(function(e){return wr(Lt(e,1,_t,!0))}),e0=Re(function(e){var r=wn(e);return _t(r)&&(r=s),wr(Lt(e,1,_t,!0),Ee(r,2))}),t0=Re(function(e){var r=wn(e);return r=typeof r=="function"?r:s,wr(Lt(e,1,_t,!0),s,r)});function n0(e){return e&&e.length?wr(e):[]}function r0(e,r){return e&&e.length?wr(e,Ee(r,2)):[]}function s0(e,r){return r=typeof r=="function"?r:s,e&&e.length?wr(e,s,r):[]}function vc(e){if(!(e&&e.length))return[];var r=0;return e=Mn(e,function(o){if(_t(o))return r=yt(o.length,r),!0}),ga(r,function(o){return lt(e,pa(o))})}function Kd(e,r){if(!(e&&e.length))return[];var o=vc(e);return r==null?o:lt(o,function(f){return qt(r,s,f)})}var a0=Re(function(e,r){return _t(e)?Ma(e,r):[]}),o0=Re(function(e){return sc(Mn(e,_t))}),i0=Re(function(e){var r=wn(e);return _t(r)&&(r=s),sc(Mn(e,_t),Ee(r,2))}),l0=Re(function(e){var r=wn(e);return r=typeof r=="function"?r:s,sc(Mn(e,_t),s,r)}),c0=Re(vc);function u0(e,r){return pd(e||[],r||[],_a)}function d0(e,r){return pd(e||[],r||[],Ea)}var f0=Re(function(e){var r=e.length,o=r>1?e[r-1]:s;return o=typeof o=="function"?(e.pop(),o):s,Kd(e,o)});function Zd(e){var r=k(e);return r.__chain__=!0,r}function p0(e,r){return r(e),e}function ci(e,r){return r(e)}var h0=Xn(function(e){var r=e.length,o=r?e[0]:0,f=this.__wrapped__,M=function(N){return Yl(N,e)};return r>1||this.__actions__.length||!(f instanceof Fe)||!Kn(o)?this.thru(M):(f=f.slice(o,+o+(r?1:0)),f.__actions__.push({func:ci,args:[M],thisArg:s}),new Tt(f,this.__chain__).thru(function(N){return r&&!N.length&&N.push(s),N}))});function m0(){return Zd(this)}function g0(){return new Tt(this.value(),this.__chain__)}function x0(){this.__values__===s&&(this.__values__=df(this.value()));var e=this.__index__>=this.__values__.length,r=e?s:this.__values__[this.__index__++];return{done:e,value:r}}function w0(){return this}function b0(e){for(var r,o=this;o instanceof Rr;){var f=Bd(o);f.__index__=0,f.__values__=s,r?M.__wrapped__=f:r=f;var M=f;o=o.__wrapped__}return M.__wrapped__=e,r}function v0(){var e=this.__wrapped__;if(e instanceof Fe){var r=e;return this.__actions__.length&&(r=new Fe(this)),r=r.reverse(),r.__actions__.push({func:ci,args:[bc],thisArg:s}),new Tt(r,this.__chain__)}return this.thru(bc)}function y0(){return fd(this.__wrapped__,this.__actions__)}var _0=ti(function(e,r,o){Xe.call(e,o)?++e[o]:qn(e,o,1)});function M0(e,r,o){var f=Ae(e)?da:pg;return o&&Zt(e,r,o)&&(r=s),f(e,Ee(r,3))}function k0(e,r){var o=Ae(e)?Mn:Ku;return o(e,Ee(r,3))}var j0=Md(Wd),E0=Md(Yd);function T0(e,r){return Lt(ui(e,r),1)}function N0(e,r){return Lt(ui(e,r),ke)}function C0(e,r,o){return o=o===s?1:De(o),Lt(ui(e,r),o)}function Vd(e,r){var o=Ae(e)?Gt:xr;return o(e,Ee(r,3))}function Qd(e,r){var o=Ae(e)?Co:Xu;return o(e,Ee(r,3))}var I0=ti(function(e,r,o){Xe.call(e,o)?e[o].push(r):qn(e,o,[r])});function S0(e,r,o,f){e=nn(e)?e:Is(e),o=o&&!f?De(o):0;var M=e.length;return o<0&&(o=yt(M+o,0)),mi(e)?o<=M&&e.indexOf(r,o)>-1:!!M&&fr(e,r,o)>-1}var A0=Re(function(e,r,o){var f=-1,M=typeof r=="function",N=nn(e)?Z(e.length):[];return xr(e,function(L){N[++f]=M?qt(r,L,o):ka(L,r,o)}),N}),D0=ti(function(e,r,o){qn(e,o,r)});function ui(e,r){var o=Ae(e)?lt:td;return o(e,Ee(r,3))}function $0(e,r,o,f){return e==null?[]:(Ae(r)||(r=r==null?[]:[r]),o=f?s:o,Ae(o)||(o=o==null?[]:[o]),ad(e,r,o))}var R0=ti(function(e,r,o){e[o?0:1].push(r)},function(){return[[],[]]});function L0(e,r,o){var f=Ae(e)?fs:$o,M=arguments.length<3;return f(e,Ee(r,4),o,M,xr)}function O0(e,r,o){var f=Ae(e)?Io:$o,M=arguments.length<3;return f(e,Ee(r,4),o,M,Xu)}function F0(e,r){var o=Ae(e)?Mn:Ku;return o(e,pi(Ee(r,3)))}function P0(e){var r=Ae(e)?Wu:Sg;return r(e)}function H0(e,r,o){(o?Zt(e,r,o):r===s)?r=1:r=De(r);var f=Ae(e)?lg:Ag;return f(e,r)}function z0(e){var r=Ae(e)?cg:$g;return r(e)}function U0(e){if(e==null)return 0;if(nn(e))return mi(e)?hr(e):e.length;var r=Bt(e);return r==mt||r==Se?e.size:Vl(e).length}function B0(e,r,o){var f=Ae(e)?fa:Rg;return o&&Zt(e,r,o)&&(r=s),f(e,Ee(r,3))}var W0=Re(function(e,r){if(e==null)return[];var o=r.length;return o>1&&Zt(e,r[0],r[1])?r=[]:o>2&&Zt(r[0],r[1],r[2])&&(r=[r[0]]),ad(e,Lt(r,1),[])}),di=Pl||function(){return Ct.Date.now()};function Y0(e,r){if(typeof r!="function")throw new Xt(w);return e=De(e),function(){if(--e<1)return r.apply(this,arguments)}}function Jd(e,r,o){return r=o?s:r,r=e&&r==null?e.length:r,Gn(e,I,s,s,s,s,r)}function ef(e,r){var o;if(typeof r!="function")throw new Xt(w);return e=De(e),function(){return--e>0&&(o=r.apply(this,arguments)),e<=1&&(r=s),o}}var yc=Re(function(e,r,o){var f=j;if(o.length){var M=Dn(o,Ns(yc));f|=O}return Gn(e,f,r,o,M)}),tf=Re(function(e,r,o){var f=j|T;if(o.length){var M=Dn(o,Ns(tf));f|=O}return Gn(r,f,e,o,M)});function nf(e,r,o){r=o?s:r;var f=Gn(e,$,s,s,s,s,s,r);return f.placeholder=nf.placeholder,f}function rf(e,r,o){r=o?s:r;var f=Gn(e,R,s,s,s,s,s,r);return f.placeholder=rf.placeholder,f}function sf(e,r,o){var f,M,N,L,H,q,te=0,ne=!1,ae=!1,pe=!0;if(typeof e!="function")throw new Xt(w);r=bn(r)||0,pt(o)&&(ne=!!o.leading,ae="maxWait"in o,N=ae?yt(bn(o.maxWait)||0,r):N,pe="trailing"in o?!!o.trailing:pe);function _e(Mt){var Tn=f,Qn=M;return f=M=s,te=Mt,L=e.apply(Qn,Tn),L}function Te(Mt){return te=Mt,H=Ca(He,r),ne?_e(Mt):L}function $e(Mt){var Tn=Mt-q,Qn=Mt-te,kf=r-Tn;return ae?At(kf,N-Qn):kf}function Ne(Mt){var Tn=Mt-q,Qn=Mt-te;return q===s||Tn>=r||Tn<0||ae&&Qn>=N}function He(){var Mt=di();if(Ne(Mt))return Ue(Mt);H=Ca(He,$e(Mt))}function Ue(Mt){return H=s,pe&&f?_e(Mt):(f=M=s,L)}function fn(){H!==s&&hd(H),te=0,f=q=M=H=s}function Vt(){return H===s?L:Ue(di())}function pn(){var Mt=di(),Tn=Ne(Mt);if(f=arguments,M=this,q=Mt,Tn){if(H===s)return Te(q);if(ae)return hd(H),H=Ca(He,r),_e(q)}return H===s&&(H=Ca(He,r)),L}return pn.cancel=fn,pn.flush=Vt,pn}var q0=Re(function(e,r){return Gu(e,1,r)}),G0=Re(function(e,r,o){return Gu(e,bn(r)||0,o)});function X0(e){return Gn(e,Y)}function fi(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new Xt(w);var o=function(){var f=arguments,M=r?r.apply(this,f):f[0],N=o.cache;if(N.has(M))return N.get(M);var L=e.apply(this,f);return o.cache=N.set(M,L)||N,L};return o.cache=new(fi.Cache||Yn),o}fi.Cache=Yn;function pi(e){if(typeof e!="function")throw new Xt(w);return function(){var r=arguments;switch(r.length){case 0:return!e.call(this);case 1:return!e.call(this,r[0]);case 2:return!e.call(this,r[0],r[1]);case 3:return!e.call(this,r[0],r[1],r[2])}return!e.apply(this,r)}}function K0(e){return ef(2,e)}var Z0=Lg(function(e,r){r=r.length==1&&Ae(r[0])?lt(r[0],Ut(Ee())):lt(Lt(r,1),Ut(Ee()));var o=r.length;return Re(function(f){for(var M=-1,N=At(f.length,o);++M<N;)f[M]=r[M].call(this,f[M]);return qt(e,this,f)})}),_c=Re(function(e,r){var o=Dn(r,Ns(_c));return Gn(e,O,s,r,o)}),af=Re(function(e,r){var o=Dn(r,Ns(af));return Gn(e,P,s,r,o)}),V0=Xn(function(e,r){return Gn(e,U,s,s,s,r)});function Q0(e,r){if(typeof e!="function")throw new Xt(w);return r=r===s?r:De(r),Re(e,r)}function J0(e,r){if(typeof e!="function")throw new Xt(w);return r=r==null?0:yt(De(r),0),Re(function(o){var f=o[r],M=vr(o,0,r);return f&&kn(M,f),qt(e,this,M)})}function ew(e,r,o){var f=!0,M=!0;if(typeof e!="function")throw new Xt(w);return pt(o)&&(f="leading"in o?!!o.leading:f,M="trailing"in o?!!o.trailing:M),sf(e,r,{leading:f,maxWait:r,trailing:M})}function tw(e){return Jd(e,1)}function nw(e,r){return _c(oc(r),e)}function rw(){if(!arguments.length)return[];var e=arguments[0];return Ae(e)?e:[e]}function sw(e){return gn(e,v)}function aw(e,r){return r=typeof r=="function"?r:s,gn(e,v,r)}function ow(e){return gn(e,b|v)}function iw(e,r){return r=typeof r=="function"?r:s,gn(e,b|v,r)}function lw(e,r){return r==null||qu(e,r,Dt(r))}function En(e,r){return e===r||e!==e&&r!==r}var cw=ai(Xl),uw=ai(function(e,r){return e>=r}),Br=Qu((function(){return arguments})())?Qu:function(e){return gt(e)&&Xe.call(e,"callee")&&!Wo.call(e,"callee")},Ae=Z.isArray,dw=Mo?Ut(Mo):bg;function nn(e){return e!=null&&hi(e.length)&&!Zn(e)}function _t(e){return gt(e)&&nn(e)}function fw(e){return e===!0||e===!1||gt(e)&&Kt(e)==wt}var yr=Hl||Dc,pw=ko?Ut(ko):vg;function hw(e){return gt(e)&&e.nodeType===1&&!Ia(e)}function mw(e){if(e==null)return!0;if(nn(e)&&(Ae(e)||typeof e=="string"||typeof e.splice=="function"||yr(e)||Cs(e)||Br(e)))return!e.length;var r=Bt(e);if(r==mt||r==Se)return!e.size;if(Na(e))return!Vl(e).length;for(var o in e)if(Xe.call(e,o))return!1;return!0}function gw(e,r){return ja(e,r)}function xw(e,r,o){o=typeof o=="function"?o:s;var f=o?o(e,r):s;return f===s?ja(e,r,s,o):!!f}function Mc(e){if(!gt(e))return!1;var r=Kt(e);return r==Ze||r==re||typeof e.message=="string"&&typeof e.name=="string"&&!Ia(e)}function ww(e){return typeof e=="number"&&Go(e)}function Zn(e){if(!pt(e))return!1;var r=Kt(e);return r==Ht||r==st||r==it||r==ar}function of(e){return typeof e=="number"&&e==De(e)}function hi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ue}function pt(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}function gt(e){return e!=null&&typeof e=="object"}var lf=jo?Ut(jo):_g;function bw(e,r){return e===r||Zl(e,r,pc(r))}function vw(e,r,o){return o=typeof o=="function"?o:s,Zl(e,r,pc(r),o)}function yw(e){return cf(e)&&e!=+e}function _w(e){if(ax(e))throw new Ce(p);return Ju(e)}function Mw(e){return e===null}function kw(e){return e==null}function cf(e){return typeof e=="number"||gt(e)&&Kt(e)==It}function Ia(e){if(!gt(e)||Kt(e)!=$t)return!1;var r=ys(e);if(r===null)return!0;var o=Xe.call(r,"constructor")&&r.constructor;return typeof o=="function"&&o instanceof o&&xs.call(o)==Rt}var kc=Eo?Ut(Eo):Mg;function jw(e){return of(e)&&e>=-ue&&e<=ue}var uf=To?Ut(To):kg;function mi(e){return typeof e=="string"||!Ae(e)&&gt(e)&&Kt(e)==hn}function dn(e){return typeof e=="symbol"||gt(e)&&Kt(e)==yn}var Cs=No?Ut(No):jg;function Ew(e){return e===s}function Tw(e){return gt(e)&&Bt(e)==_n}function Nw(e){return gt(e)&&Kt(e)==Ui}var Cw=ai(Ql),Iw=ai(function(e,r){return e<=r});function df(e){if(!e)return[];if(nn(e))return mi(e)?Jt(e):tn(e);if($r&&e[$r])return jl(e[$r]());var r=Bt(e),o=r==mt?wa:r==Se?hs:Is;return o(e)}function Vn(e){if(!e)return e===0?e:0;if(e=bn(e),e===ke||e===-ke){var r=e<0?-1:1;return r*ye}return e===e?e:0}function De(e){var r=Vn(e),o=r%1;return r===r?o?r-o:r:0}function ff(e){return e?Pr(De(e),0,de):0}function bn(e){if(typeof e=="number")return e;if(dn(e))return J;if(pt(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=pt(r)?r+"":r}if(typeof e!="string")return e===0?e:+e;e=Ro(e);var o=qi.test(e);return o||Xi.test(e)?fl(e.slice(2),o?2:8):Yi.test(e)?J:+e}function pf(e){return Ln(e,rn(e))}function Sw(e){return e?Pr(De(e),-ue,ue):e===0?e:0}function Qe(e){return e==null?"":un(e)}var Aw=Es(function(e,r){if(Na(r)||nn(r)){Ln(r,Dt(r),e);return}for(var o in r)Xe.call(r,o)&&_a(e,o,r[o])}),hf=Es(function(e,r){Ln(r,rn(r),e)}),gi=Es(function(e,r,o,f){Ln(r,rn(r),e,f)}),Dw=Es(function(e,r,o,f){Ln(r,Dt(r),e,f)}),$w=Xn(Yl);function Rw(e,r){var o=cn(e);return r==null?o:Yu(o,r)}var Lw=Re(function(e,r){e=tt(e);var o=-1,f=r.length,M=f>2?r[2]:s;for(M&&Zt(r[0],r[1],M)&&(f=1);++o<f;)for(var N=r[o],L=rn(N),H=-1,q=L.length;++H<q;){var te=L[H],ne=e[te];(ne===s||En(ne,gr[te])&&!Xe.call(e,te))&&(e[te]=N[te])}return e}),Ow=Re(function(e){return e.push(s,Id),qt(mf,s,e)});function Fw(e,r){return So(e,Ee(r,3),Rn)}function Pw(e,r){return So(e,Ee(r,3),Gl)}function Hw(e,r){return e==null?e:ql(e,Ee(r,3),rn)}function zw(e,r){return e==null?e:Zu(e,Ee(r,3),rn)}function Uw(e,r){return e&&Rn(e,Ee(r,3))}function Bw(e,r){return e&&Gl(e,Ee(r,3))}function Ww(e){return e==null?[]:Vo(e,Dt(e))}function Yw(e){return e==null?[]:Vo(e,rn(e))}function jc(e,r,o){var f=e==null?s:Hr(e,r);return f===s?o:f}function qw(e,r){return e!=null&&Dd(e,r,mg)}function Ec(e,r){return e!=null&&Dd(e,r,gg)}var Gw=jd(function(e,r,o){r!=null&&typeof r.toString!="function"&&(r=ws.call(r)),e[r]=o},Nc(sn)),Xw=jd(function(e,r,o){r!=null&&typeof r.toString!="function"&&(r=ws.call(r)),Xe.call(e,r)?e[r].push(o):e[r]=[o]},Ee),Kw=Re(ka);function Dt(e){return nn(e)?Bu(e):Vl(e)}function rn(e){return nn(e)?Bu(e,!0):Eg(e)}function Zw(e,r){var o={};return r=Ee(r,3),Rn(e,function(f,M,N){qn(o,r(f,M,N),f)}),o}function Vw(e,r){var o={};return r=Ee(r,3),Rn(e,function(f,M,N){qn(o,M,r(f,M,N))}),o}var Qw=Es(function(e,r,o){Qo(e,r,o)}),mf=Es(function(e,r,o,f){Qo(e,r,o,f)}),Jw=Xn(function(e,r){var o={};if(e==null)return o;var f=!1;r=lt(r,function(N){return N=br(N,e),f||(f=N.length>1),N}),Ln(e,dc(e),o),f&&(o=gn(o,b|y|v,Gg));for(var M=r.length;M--;)rc(o,r[M]);return o});function eb(e,r){return gf(e,pi(Ee(r)))}var tb=Xn(function(e,r){return e==null?{}:Ng(e,r)});function gf(e,r){if(e==null)return{};var o=lt(dc(e),function(f){return[f]});return r=Ee(r),od(e,o,function(f,M){return r(f,M[0])})}function nb(e,r,o){r=br(r,e);var f=-1,M=r.length;for(M||(M=1,e=s);++f<M;){var N=e==null?s:e[On(r[f])];N===s&&(f=M,N=o),e=Zn(N)?N.call(e):N}return e}function rb(e,r,o){return e==null?e:Ea(e,r,o)}function sb(e,r,o,f){return f=typeof f=="function"?f:s,e==null?e:Ea(e,r,o,f)}var xf=Nd(Dt),wf=Nd(rn);function ab(e,r,o){var f=Ae(e),M=f||yr(e)||Cs(e);if(r=Ee(r,4),o==null){var N=e&&e.constructor;M?o=f?new N:[]:pt(e)?o=Zn(N)?cn(ys(e)):{}:o={}}return(M?Gt:Rn)(e,function(L,H,q){return r(o,L,H,q)}),o}function ob(e,r){return e==null?!0:rc(e,r)}function ib(e,r,o){return e==null?e:dd(e,r,oc(o))}function lb(e,r,o,f){return f=typeof f=="function"?f:s,e==null?e:dd(e,r,oc(o),f)}function Is(e){return e==null?[]:xa(e,Dt(e))}function cb(e){return e==null?[]:xa(e,rn(e))}function ub(e,r,o){return o===s&&(o=r,r=s),o!==s&&(o=bn(o),o=o===o?o:0),r!==s&&(r=bn(r),r=r===r?r:0),Pr(bn(e),r,o)}function db(e,r,o){return r=Vn(r),o===s?(o=r,r=0):o=Vn(o),e=bn(e),xg(e,r,o)}function fb(e,r,o){if(o&&typeof o!="boolean"&&Zt(e,r,o)&&(r=o=s),o===s&&(typeof r=="boolean"?(o=r,r=s):typeof e=="boolean"&&(o=e,e=s)),e===s&&r===s?(e=0,r=1):(e=Vn(e),r===s?(r=e,e=0):r=Vn(r)),e>r){var f=e;e=r,r=f}if(o||e%1||r%1){var M=Xo();return At(e+M*(r-e+dl("1e-"+((M+"").length-1))),r)}return ec(e,r)}var pb=Ts(function(e,r,o){return r=r.toLowerCase(),e+(o?bf(r):r)});function bf(e){return Tc(Qe(e).toLowerCase())}function vf(e){return e=Qe(e),e&&e.replace(Zi,yl).replace(ln,"")}function hb(e,r,o){e=Qe(e),r=un(r);var f=e.length;o=o===s?f:Pr(De(o),0,f);var M=o;return o-=r.length,o>=0&&e.slice(o,M)==r}function mb(e){return e=Qe(e),e&&qs.test(e)?e.replace(ts,_l):e}function gb(e){return e=Qe(e),e&&Ga.test(e)?e.replace(ns,"\\$&"):e}var xb=Ts(function(e,r,o){return e+(o?"-":"")+r.toLowerCase()}),wb=Ts(function(e,r,o){return e+(o?" ":"")+r.toLowerCase()}),bb=_d("toLowerCase");function vb(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;if(!r||f>=r)return e;var M=(r-f)/2;return si(js(M),o)+e+si(ks(M),o)}function yb(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;return r&&f<r?e+si(r-f,o):e}function _b(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;return r&&f<r?si(r-f,o)+e:e}function Mb(e,r,o){return o||r==null?r=0:r&&(r=+r),Bl(Qe(e).replace(Vs,""),r||0)}function kb(e,r,o){return(o?Zt(e,r,o):r===s)?r=1:r=De(r),tc(Qe(e),r)}function jb(){var e=arguments,r=Qe(e[0]);return e.length<3?r:r.replace(e[1],e[2])}var Eb=Ts(function(e,r,o){return e+(o?"_":"")+r.toLowerCase()});function Tb(e,r,o){return o&&typeof o!="number"&&Zt(e,r,o)&&(r=o=s),o=o===s?de:o>>>0,o?(e=Qe(e),e&&(typeof r=="string"||r!=null&&!kc(r))&&(r=un(r),!r&&pr(e))?vr(Jt(e),0,o):e.split(r,o)):[]}var Nb=Ts(function(e,r,o){return e+(o?" ":"")+Tc(r)});function Cb(e,r,o){return e=Qe(e),o=o==null?0:Pr(De(o),0,e.length),r=un(r),e.slice(o,o+r.length)==r}function Ib(e,r,o){var f=k.templateSettings;o&&Zt(e,r,o)&&(r=s),e=Qe(e),r=gi({},r,f,Cd);var M=gi({},r.imports,f.imports,Cd),N=Dt(M),L=xa(M,N),H,q,te=0,ne=r.interpolate||as,ae="__p += '",pe=ba((r.escape||as).source+"|"+ne.source+"|"+(ne===Ks?oe:as).source+"|"+(r.evaluate||as).source+"|$","g"),_e="//# sourceURL="+(Xe.call(r,"sourceURL")?(r.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++xo+"]")+`
17
- `;e.replace(pe,function(Ne,He,Ue,fn,Vt,pn){return Ue||(Ue=fn),ae+=e.slice(te,pn).replace(Vi,Ml),He&&(H=!0,ae+=`' +
16
+ `)}function nx(e){return Ae(e)||Br(e)||!!(Yo&&e&&e[Yo])}function Kn(e,r){var o=typeof e;return r=r??ue,!!r&&(o=="number"||o!="symbol"&&Ki.test(e))&&e>-1&&e%1==0&&e<r}function Zt(e,r,o){if(!pt(o))return!1;var f=typeof r;return(f=="number"?nn(o)&&Kn(r,o.length):f=="string"&&r in o)?En(o[r],e):!1}function mc(e,r){if(Ae(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||dn(e)?!0:qa.test(e)||!Zs.test(e)||r!=null&&e in tt(r)}function rx(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}function gc(e){var r=oi(e),o=k[r];if(typeof o!="function"||!(r in Fe.prototype))return!1;if(e===o)return!0;var f=fc(o);return!!f&&e===f[0]}function sx(e){return!!zo&&zo in e}var ax=gs?Zn:Dc;function Ta(e){var r=e&&e.constructor,o=typeof r=="function"&&r.prototype||gr;return e===o}function Rd(e){return e===e&&!pt(e)}function Ld(e,r){return function(o){return o==null?!1:o[e]===r&&(r!==s||e in tt(o))}}function ox(e){var r=fi(e,function(f){return o.size===g&&o.clear(),f}),o=r.cache;return r}function ix(e,r){var o=e[1],f=r[1],M=o|f,T=M<(j|N|I),L=f==I&&o==$||f==I&&o==U&&e[7].length<=r[8]||f==(I|U)&&r[7].length<=r[8]&&o==$;if(!(T||L))return e;f&j&&(e[2]=r[2],M|=o&j?0:D);var H=r[3];if(H){var q=e[3];e[3]=q?wd(q,H,r[4]):H,e[4]=q?Dn(e[3],h):r[4]}return H=r[5],H&&(q=e[5],e[5]=q?bd(q,H,r[6]):H,e[6]=q?Dn(e[5],h):r[6]),H=r[7],H&&(e[7]=H),f&I&&(e[8]=e[8]==null?r[8]:At(e[8],r[8])),e[9]==null&&(e[9]=r[9]),e[0]=r[0],e[1]=M,e}function lx(e){var r=[];if(e!=null)for(var o in tt(e))r.push(o);return r}function cx(e){return ws.call(e)}function Od(e,r,o){return r=yt(r===s?e.length-1:r,0),function(){for(var f=arguments,M=-1,T=yt(f.length-r,0),L=Z(T);++M<T;)L[M]=f[r+M];M=-1;for(var H=Z(r+1);++M<r;)H[M]=f[M];return H[r]=o(L),qt(e,this,H)}}function Fd(e,r){return r.length<2?e:Hr(e,xn(r,0,-1))}function ux(e,r){for(var o=e.length,f=At(r.length,o),M=tn(e);f--;){var T=r[f];e[f]=Kn(T,o)?M[T]:s}return e}function xc(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}var Pd=zd(ld),Ca=qo||function(e,r){return Ct.setTimeout(e,r)},wc=zd(Dg);function Hd(e,r,o){var f=r+"";return wc(e,tx(f,dx(Qg(f),o)))}function zd(e){var r=0,o=0;return function(){var f=Ul(),M=ge-(f-o);if(o=f,M>0){if(++r>=ie)return arguments[0]}else r=0;return e.apply(s,arguments)}}function li(e,r){var o=-1,f=e.length,M=f-1;for(r=r===s?f:r;++o<r;){var T=ec(o,M),L=e[T];e[T]=e[o],e[o]=L}return e.length=r,e}var Ud=ox(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(Wi,function(o,f,M,T){r.push(M?T.replace(rs,"$1"):f||o)}),r});function On(e){if(typeof e=="string"||dn(e))return e;var r=e+"";return r=="0"&&1/e==-ke?"-0":r}function Ur(e){if(e!=null){try{return xs.call(e)}catch{}try{return e+""}catch{}}return""}function dx(e,r){return Gt(V,function(o){var f="_."+o[0];r&o[1]&&!Ar(e,f)&&e.push(f)}),e.sort()}function Bd(e){if(e instanceof Fe)return e.clone();var r=new Nt(e.__wrapped__,e.__chain__);return r.__actions__=tn(e.__actions__),r.__index__=e.__index__,r.__values__=e.__values__,r}function fx(e,r,o){(o?Zt(e,r,o):r===s)?r=1:r=yt(De(r),0);var f=e==null?0:e.length;if(!f||r<1)return[];for(var M=0,T=0,L=Z(ks(f/r));M<f;)L[T++]=xn(e,M,M+=r);return L}function px(e){for(var r=-1,o=e==null?0:e.length,f=0,M=[];++r<o;){var T=e[r];T&&(M[f++]=T)}return M}function hx(){var e=arguments.length;if(!e)return[];for(var r=Z(e-1),o=arguments[0],f=e;f--;)r[f-1]=arguments[f];return kn(Ae(o)?tn(o):[o],Lt(r,1))}var mx=Re(function(e,r){return _t(e)?Ma(e,Lt(r,1,_t,!0)):[]}),gx=Re(function(e,r){var o=wn(r);return _t(o)&&(o=s),_t(e)?Ma(e,Lt(r,1,_t,!0),Ee(o,2)):[]}),xx=Re(function(e,r){var o=wn(r);return _t(o)&&(o=s),_t(e)?Ma(e,Lt(r,1,_t,!0),s,o):[]});function wx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),xn(e,r<0?0:r,f)):[]}function bx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),r=f-r,xn(e,0,r<0?0:r)):[]}function vx(e,r){return e&&e.length?ei(e,Ee(r,3),!0,!0):[]}function yx(e,r){return e&&e.length?ei(e,Ee(r,3),!0):[]}function _x(e,r,o,f){var M=e==null?0:e.length;return M?(o&&typeof o!="number"&&Zt(e,r,o)&&(o=0,f=M),hg(e,r,o,f)):[]}function Wd(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=o==null?0:De(o);return M<0&&(M=yt(f+M,0)),ps(e,Ee(r,3),M)}function Yd(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=f-1;return o!==s&&(M=De(o),M=o<0?yt(f+M,0):At(M,f-1)),ps(e,Ee(r,3),M,!0)}function qd(e){var r=e==null?0:e.length;return r?Lt(e,1):[]}function Mx(e){var r=e==null?0:e.length;return r?Lt(e,ke):[]}function kx(e,r){var o=e==null?0:e.length;return o?(r=r===s?1:De(r),Lt(e,r)):[]}function jx(e){for(var r=-1,o=e==null?0:e.length,f={};++r<o;){var M=e[r];f[M[0]]=M[1]}return f}function Gd(e){return e&&e.length?e[0]:s}function Ex(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=o==null?0:De(o);return M<0&&(M=yt(f+M,0)),fr(e,r,M)}function Nx(e){var r=e==null?0:e.length;return r?xn(e,0,-1):[]}var Tx=Re(function(e){var r=lt(e,ac);return r.length&&r[0]===e[0]?Kl(r):[]}),Cx=Re(function(e){var r=wn(e),o=lt(e,ac);return r===wn(o)?r=s:o.pop(),o.length&&o[0]===e[0]?Kl(o,Ee(r,2)):[]}),Ix=Re(function(e){var r=wn(e),o=lt(e,ac);return r=typeof r=="function"?r:s,r&&o.pop(),o.length&&o[0]===e[0]?Kl(o,s,r):[]});function Sx(e,r){return e==null?"":ft.call(e,r)}function wn(e){var r=e==null?0:e.length;return r?e[r-1]:s}function Ax(e,r,o){var f=e==null?0:e.length;if(!f)return-1;var M=f;return o!==s&&(M=De(o),M=M<0?yt(f+M,0):At(M,f-1)),r===r?Tl(e,r,M):ps(e,Ao,M,!0)}function Dx(e,r){return e&&e.length?sd(e,De(r)):s}var $x=Re(Xd);function Xd(e,r){return e&&e.length&&r&&r.length?Jl(e,r):e}function Rx(e,r,o){return e&&e.length&&r&&r.length?Jl(e,r,Ee(o,2)):e}function Lx(e,r,o){return e&&e.length&&r&&r.length?Jl(e,r,s,o):e}var Ox=Xn(function(e,r){var o=e==null?0:e.length,f=Yl(e,r);return id(e,lt(r,function(M){return Kn(M,o)?+M:M}).sort(xd)),f});function Fx(e,r){var o=[];if(!(e&&e.length))return o;var f=-1,M=[],T=e.length;for(r=Ee(r,3);++f<T;){var L=e[f];r(L,f,e)&&(o.push(L),M.push(f))}return id(e,M),o}function bc(e){return e==null?e:l.call(e)}function Px(e,r,o){var f=e==null?0:e.length;return f?(o&&typeof o!="number"&&Zt(e,r,o)?(r=0,o=f):(r=r==null?0:De(r),o=o===s?f:De(o)),xn(e,r,o)):[]}function Hx(e,r){return Jo(e,r)}function zx(e,r,o){return nc(e,r,Ee(o,2))}function Ux(e,r){var o=e==null?0:e.length;if(o){var f=Jo(e,r);if(f<o&&En(e[f],r))return f}return-1}function Bx(e,r){return Jo(e,r,!0)}function Wx(e,r,o){return nc(e,r,Ee(o,2),!0)}function Yx(e,r){var o=e==null?0:e.length;if(o){var f=Jo(e,r,!0)-1;if(En(e[f],r))return f}return-1}function qx(e){return e&&e.length?cd(e):[]}function Gx(e,r){return e&&e.length?cd(e,Ee(r,2)):[]}function Xx(e){var r=e==null?0:e.length;return r?xn(e,1,r):[]}function Kx(e,r,o){return e&&e.length?(r=o||r===s?1:De(r),xn(e,0,r<0?0:r)):[]}function Zx(e,r,o){var f=e==null?0:e.length;return f?(r=o||r===s?1:De(r),r=f-r,xn(e,r<0?0:r,f)):[]}function Vx(e,r){return e&&e.length?ei(e,Ee(r,3),!1,!0):[]}function Qx(e,r){return e&&e.length?ei(e,Ee(r,3)):[]}var Jx=Re(function(e){return wr(Lt(e,1,_t,!0))}),e0=Re(function(e){var r=wn(e);return _t(r)&&(r=s),wr(Lt(e,1,_t,!0),Ee(r,2))}),t0=Re(function(e){var r=wn(e);return r=typeof r=="function"?r:s,wr(Lt(e,1,_t,!0),s,r)});function n0(e){return e&&e.length?wr(e):[]}function r0(e,r){return e&&e.length?wr(e,Ee(r,2)):[]}function s0(e,r){return r=typeof r=="function"?r:s,e&&e.length?wr(e,s,r):[]}function vc(e){if(!(e&&e.length))return[];var r=0;return e=Mn(e,function(o){if(_t(o))return r=yt(o.length,r),!0}),ga(r,function(o){return lt(e,pa(o))})}function Kd(e,r){if(!(e&&e.length))return[];var o=vc(e);return r==null?o:lt(o,function(f){return qt(r,s,f)})}var a0=Re(function(e,r){return _t(e)?Ma(e,r):[]}),o0=Re(function(e){return sc(Mn(e,_t))}),i0=Re(function(e){var r=wn(e);return _t(r)&&(r=s),sc(Mn(e,_t),Ee(r,2))}),l0=Re(function(e){var r=wn(e);return r=typeof r=="function"?r:s,sc(Mn(e,_t),s,r)}),c0=Re(vc);function u0(e,r){return pd(e||[],r||[],_a)}function d0(e,r){return pd(e||[],r||[],Ea)}var f0=Re(function(e){var r=e.length,o=r>1?e[r-1]:s;return o=typeof o=="function"?(e.pop(),o):s,Kd(e,o)});function Zd(e){var r=k(e);return r.__chain__=!0,r}function p0(e,r){return r(e),e}function ci(e,r){return r(e)}var h0=Xn(function(e){var r=e.length,o=r?e[0]:0,f=this.__wrapped__,M=function(T){return Yl(T,e)};return r>1||this.__actions__.length||!(f instanceof Fe)||!Kn(o)?this.thru(M):(f=f.slice(o,+o+(r?1:0)),f.__actions__.push({func:ci,args:[M],thisArg:s}),new Nt(f,this.__chain__).thru(function(T){return r&&!T.length&&T.push(s),T}))});function m0(){return Zd(this)}function g0(){return new Nt(this.value(),this.__chain__)}function x0(){this.__values__===s&&(this.__values__=df(this.value()));var e=this.__index__>=this.__values__.length,r=e?s:this.__values__[this.__index__++];return{done:e,value:r}}function w0(){return this}function b0(e){for(var r,o=this;o instanceof Rr;){var f=Bd(o);f.__index__=0,f.__values__=s,r?M.__wrapped__=f:r=f;var M=f;o=o.__wrapped__}return M.__wrapped__=e,r}function v0(){var e=this.__wrapped__;if(e instanceof Fe){var r=e;return this.__actions__.length&&(r=new Fe(this)),r=r.reverse(),r.__actions__.push({func:ci,args:[bc],thisArg:s}),new Nt(r,this.__chain__)}return this.thru(bc)}function y0(){return fd(this.__wrapped__,this.__actions__)}var _0=ti(function(e,r,o){Xe.call(e,o)?++e[o]:qn(e,o,1)});function M0(e,r,o){var f=Ae(e)?da:pg;return o&&Zt(e,r,o)&&(r=s),f(e,Ee(r,3))}function k0(e,r){var o=Ae(e)?Mn:Ku;return o(e,Ee(r,3))}var j0=Md(Wd),E0=Md(Yd);function N0(e,r){return Lt(ui(e,r),1)}function T0(e,r){return Lt(ui(e,r),ke)}function C0(e,r,o){return o=o===s?1:De(o),Lt(ui(e,r),o)}function Vd(e,r){var o=Ae(e)?Gt:xr;return o(e,Ee(r,3))}function Qd(e,r){var o=Ae(e)?Co:Xu;return o(e,Ee(r,3))}var I0=ti(function(e,r,o){Xe.call(e,o)?e[o].push(r):qn(e,o,[r])});function S0(e,r,o,f){e=nn(e)?e:Is(e),o=o&&!f?De(o):0;var M=e.length;return o<0&&(o=yt(M+o,0)),mi(e)?o<=M&&e.indexOf(r,o)>-1:!!M&&fr(e,r,o)>-1}var A0=Re(function(e,r,o){var f=-1,M=typeof r=="function",T=nn(e)?Z(e.length):[];return xr(e,function(L){T[++f]=M?qt(r,L,o):ka(L,r,o)}),T}),D0=ti(function(e,r,o){qn(e,o,r)});function ui(e,r){var o=Ae(e)?lt:td;return o(e,Ee(r,3))}function $0(e,r,o,f){return e==null?[]:(Ae(r)||(r=r==null?[]:[r]),o=f?s:o,Ae(o)||(o=o==null?[]:[o]),ad(e,r,o))}var R0=ti(function(e,r,o){e[o?0:1].push(r)},function(){return[[],[]]});function L0(e,r,o){var f=Ae(e)?fs:$o,M=arguments.length<3;return f(e,Ee(r,4),o,M,xr)}function O0(e,r,o){var f=Ae(e)?Io:$o,M=arguments.length<3;return f(e,Ee(r,4),o,M,Xu)}function F0(e,r){var o=Ae(e)?Mn:Ku;return o(e,pi(Ee(r,3)))}function P0(e){var r=Ae(e)?Wu:Sg;return r(e)}function H0(e,r,o){(o?Zt(e,r,o):r===s)?r=1:r=De(r);var f=Ae(e)?lg:Ag;return f(e,r)}function z0(e){var r=Ae(e)?cg:$g;return r(e)}function U0(e){if(e==null)return 0;if(nn(e))return mi(e)?hr(e):e.length;var r=Bt(e);return r==mt||r==Se?e.size:Vl(e).length}function B0(e,r,o){var f=Ae(e)?fa:Rg;return o&&Zt(e,r,o)&&(r=s),f(e,Ee(r,3))}var W0=Re(function(e,r){if(e==null)return[];var o=r.length;return o>1&&Zt(e,r[0],r[1])?r=[]:o>2&&Zt(r[0],r[1],r[2])&&(r=[r[0]]),ad(e,Lt(r,1),[])}),di=Pl||function(){return Ct.Date.now()};function Y0(e,r){if(typeof r!="function")throw new Xt(w);return e=De(e),function(){if(--e<1)return r.apply(this,arguments)}}function Jd(e,r,o){return r=o?s:r,r=e&&r==null?e.length:r,Gn(e,I,s,s,s,s,r)}function ef(e,r){var o;if(typeof r!="function")throw new Xt(w);return e=De(e),function(){return--e>0&&(o=r.apply(this,arguments)),e<=1&&(r=s),o}}var yc=Re(function(e,r,o){var f=j;if(o.length){var M=Dn(o,Ts(yc));f|=O}return Gn(e,f,r,o,M)}),tf=Re(function(e,r,o){var f=j|N;if(o.length){var M=Dn(o,Ts(tf));f|=O}return Gn(r,f,e,o,M)});function nf(e,r,o){r=o?s:r;var f=Gn(e,$,s,s,s,s,s,r);return f.placeholder=nf.placeholder,f}function rf(e,r,o){r=o?s:r;var f=Gn(e,R,s,s,s,s,s,r);return f.placeholder=rf.placeholder,f}function sf(e,r,o){var f,M,T,L,H,q,te=0,ne=!1,ae=!1,pe=!0;if(typeof e!="function")throw new Xt(w);r=bn(r)||0,pt(o)&&(ne=!!o.leading,ae="maxWait"in o,T=ae?yt(bn(o.maxWait)||0,r):T,pe="trailing"in o?!!o.trailing:pe);function _e(Mt){var Nn=f,Qn=M;return f=M=s,te=Mt,L=e.apply(Qn,Nn),L}function Ne(Mt){return te=Mt,H=Ca(He,r),ne?_e(Mt):L}function $e(Mt){var Nn=Mt-q,Qn=Mt-te,kf=r-Nn;return ae?At(kf,T-Qn):kf}function Te(Mt){var Nn=Mt-q,Qn=Mt-te;return q===s||Nn>=r||Nn<0||ae&&Qn>=T}function He(){var Mt=di();if(Te(Mt))return Ue(Mt);H=Ca(He,$e(Mt))}function Ue(Mt){return H=s,pe&&f?_e(Mt):(f=M=s,L)}function fn(){H!==s&&hd(H),te=0,f=q=M=H=s}function Vt(){return H===s?L:Ue(di())}function pn(){var Mt=di(),Nn=Te(Mt);if(f=arguments,M=this,q=Mt,Nn){if(H===s)return Ne(q);if(ae)return hd(H),H=Ca(He,r),_e(q)}return H===s&&(H=Ca(He,r)),L}return pn.cancel=fn,pn.flush=Vt,pn}var q0=Re(function(e,r){return Gu(e,1,r)}),G0=Re(function(e,r,o){return Gu(e,bn(r)||0,o)});function X0(e){return Gn(e,Y)}function fi(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new Xt(w);var o=function(){var f=arguments,M=r?r.apply(this,f):f[0],T=o.cache;if(T.has(M))return T.get(M);var L=e.apply(this,f);return o.cache=T.set(M,L)||T,L};return o.cache=new(fi.Cache||Yn),o}fi.Cache=Yn;function pi(e){if(typeof e!="function")throw new Xt(w);return function(){var r=arguments;switch(r.length){case 0:return!e.call(this);case 1:return!e.call(this,r[0]);case 2:return!e.call(this,r[0],r[1]);case 3:return!e.call(this,r[0],r[1],r[2])}return!e.apply(this,r)}}function K0(e){return ef(2,e)}var Z0=Lg(function(e,r){r=r.length==1&&Ae(r[0])?lt(r[0],Ut(Ee())):lt(Lt(r,1),Ut(Ee()));var o=r.length;return Re(function(f){for(var M=-1,T=At(f.length,o);++M<T;)f[M]=r[M].call(this,f[M]);return qt(e,this,f)})}),_c=Re(function(e,r){var o=Dn(r,Ts(_c));return Gn(e,O,s,r,o)}),af=Re(function(e,r){var o=Dn(r,Ts(af));return Gn(e,P,s,r,o)}),V0=Xn(function(e,r){return Gn(e,U,s,s,s,r)});function Q0(e,r){if(typeof e!="function")throw new Xt(w);return r=r===s?r:De(r),Re(e,r)}function J0(e,r){if(typeof e!="function")throw new Xt(w);return r=r==null?0:yt(De(r),0),Re(function(o){var f=o[r],M=vr(o,0,r);return f&&kn(M,f),qt(e,this,M)})}function ew(e,r,o){var f=!0,M=!0;if(typeof e!="function")throw new Xt(w);return pt(o)&&(f="leading"in o?!!o.leading:f,M="trailing"in o?!!o.trailing:M),sf(e,r,{leading:f,maxWait:r,trailing:M})}function tw(e){return Jd(e,1)}function nw(e,r){return _c(oc(r),e)}function rw(){if(!arguments.length)return[];var e=arguments[0];return Ae(e)?e:[e]}function sw(e){return gn(e,v)}function aw(e,r){return r=typeof r=="function"?r:s,gn(e,v,r)}function ow(e){return gn(e,b|v)}function iw(e,r){return r=typeof r=="function"?r:s,gn(e,b|v,r)}function lw(e,r){return r==null||qu(e,r,Dt(r))}function En(e,r){return e===r||e!==e&&r!==r}var cw=ai(Xl),uw=ai(function(e,r){return e>=r}),Br=Qu((function(){return arguments})())?Qu:function(e){return gt(e)&&Xe.call(e,"callee")&&!Wo.call(e,"callee")},Ae=Z.isArray,dw=Mo?Ut(Mo):bg;function nn(e){return e!=null&&hi(e.length)&&!Zn(e)}function _t(e){return gt(e)&&nn(e)}function fw(e){return e===!0||e===!1||gt(e)&&Kt(e)==wt}var yr=Hl||Dc,pw=ko?Ut(ko):vg;function hw(e){return gt(e)&&e.nodeType===1&&!Ia(e)}function mw(e){if(e==null)return!0;if(nn(e)&&(Ae(e)||typeof e=="string"||typeof e.splice=="function"||yr(e)||Cs(e)||Br(e)))return!e.length;var r=Bt(e);if(r==mt||r==Se)return!e.size;if(Ta(e))return!Vl(e).length;for(var o in e)if(Xe.call(e,o))return!1;return!0}function gw(e,r){return ja(e,r)}function xw(e,r,o){o=typeof o=="function"?o:s;var f=o?o(e,r):s;return f===s?ja(e,r,s,o):!!f}function Mc(e){if(!gt(e))return!1;var r=Kt(e);return r==Ze||r==re||typeof e.message=="string"&&typeof e.name=="string"&&!Ia(e)}function ww(e){return typeof e=="number"&&Go(e)}function Zn(e){if(!pt(e))return!1;var r=Kt(e);return r==Ht||r==st||r==it||r==ar}function of(e){return typeof e=="number"&&e==De(e)}function hi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ue}function pt(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}function gt(e){return e!=null&&typeof e=="object"}var lf=jo?Ut(jo):_g;function bw(e,r){return e===r||Zl(e,r,pc(r))}function vw(e,r,o){return o=typeof o=="function"?o:s,Zl(e,r,pc(r),o)}function yw(e){return cf(e)&&e!=+e}function _w(e){if(ax(e))throw new Ce(p);return Ju(e)}function Mw(e){return e===null}function kw(e){return e==null}function cf(e){return typeof e=="number"||gt(e)&&Kt(e)==It}function Ia(e){if(!gt(e)||Kt(e)!=$t)return!1;var r=ys(e);if(r===null)return!0;var o=Xe.call(r,"constructor")&&r.constructor;return typeof o=="function"&&o instanceof o&&xs.call(o)==Rt}var kc=Eo?Ut(Eo):Mg;function jw(e){return of(e)&&e>=-ue&&e<=ue}var uf=No?Ut(No):kg;function mi(e){return typeof e=="string"||!Ae(e)&&gt(e)&&Kt(e)==hn}function dn(e){return typeof e=="symbol"||gt(e)&&Kt(e)==yn}var Cs=To?Ut(To):jg;function Ew(e){return e===s}function Nw(e){return gt(e)&&Bt(e)==_n}function Tw(e){return gt(e)&&Kt(e)==Ui}var Cw=ai(Ql),Iw=ai(function(e,r){return e<=r});function df(e){if(!e)return[];if(nn(e))return mi(e)?Jt(e):tn(e);if($r&&e[$r])return jl(e[$r]());var r=Bt(e),o=r==mt?wa:r==Se?hs:Is;return o(e)}function Vn(e){if(!e)return e===0?e:0;if(e=bn(e),e===ke||e===-ke){var r=e<0?-1:1;return r*ye}return e===e?e:0}function De(e){var r=Vn(e),o=r%1;return r===r?o?r-o:r:0}function ff(e){return e?Pr(De(e),0,de):0}function bn(e){if(typeof e=="number")return e;if(dn(e))return J;if(pt(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=pt(r)?r+"":r}if(typeof e!="string")return e===0?e:+e;e=Ro(e);var o=qi.test(e);return o||Xi.test(e)?fl(e.slice(2),o?2:8):Yi.test(e)?J:+e}function pf(e){return Ln(e,rn(e))}function Sw(e){return e?Pr(De(e),-ue,ue):e===0?e:0}function Qe(e){return e==null?"":un(e)}var Aw=Es(function(e,r){if(Ta(r)||nn(r)){Ln(r,Dt(r),e);return}for(var o in r)Xe.call(r,o)&&_a(e,o,r[o])}),hf=Es(function(e,r){Ln(r,rn(r),e)}),gi=Es(function(e,r,o,f){Ln(r,rn(r),e,f)}),Dw=Es(function(e,r,o,f){Ln(r,Dt(r),e,f)}),$w=Xn(Yl);function Rw(e,r){var o=cn(e);return r==null?o:Yu(o,r)}var Lw=Re(function(e,r){e=tt(e);var o=-1,f=r.length,M=f>2?r[2]:s;for(M&&Zt(r[0],r[1],M)&&(f=1);++o<f;)for(var T=r[o],L=rn(T),H=-1,q=L.length;++H<q;){var te=L[H],ne=e[te];(ne===s||En(ne,gr[te])&&!Xe.call(e,te))&&(e[te]=T[te])}return e}),Ow=Re(function(e){return e.push(s,Id),qt(mf,s,e)});function Fw(e,r){return So(e,Ee(r,3),Rn)}function Pw(e,r){return So(e,Ee(r,3),Gl)}function Hw(e,r){return e==null?e:ql(e,Ee(r,3),rn)}function zw(e,r){return e==null?e:Zu(e,Ee(r,3),rn)}function Uw(e,r){return e&&Rn(e,Ee(r,3))}function Bw(e,r){return e&&Gl(e,Ee(r,3))}function Ww(e){return e==null?[]:Vo(e,Dt(e))}function Yw(e){return e==null?[]:Vo(e,rn(e))}function jc(e,r,o){var f=e==null?s:Hr(e,r);return f===s?o:f}function qw(e,r){return e!=null&&Dd(e,r,mg)}function Ec(e,r){return e!=null&&Dd(e,r,gg)}var Gw=jd(function(e,r,o){r!=null&&typeof r.toString!="function"&&(r=ws.call(r)),e[r]=o},Tc(sn)),Xw=jd(function(e,r,o){r!=null&&typeof r.toString!="function"&&(r=ws.call(r)),Xe.call(e,r)?e[r].push(o):e[r]=[o]},Ee),Kw=Re(ka);function Dt(e){return nn(e)?Bu(e):Vl(e)}function rn(e){return nn(e)?Bu(e,!0):Eg(e)}function Zw(e,r){var o={};return r=Ee(r,3),Rn(e,function(f,M,T){qn(o,r(f,M,T),f)}),o}function Vw(e,r){var o={};return r=Ee(r,3),Rn(e,function(f,M,T){qn(o,M,r(f,M,T))}),o}var Qw=Es(function(e,r,o){Qo(e,r,o)}),mf=Es(function(e,r,o,f){Qo(e,r,o,f)}),Jw=Xn(function(e,r){var o={};if(e==null)return o;var f=!1;r=lt(r,function(T){return T=br(T,e),f||(f=T.length>1),T}),Ln(e,dc(e),o),f&&(o=gn(o,b|y|v,Gg));for(var M=r.length;M--;)rc(o,r[M]);return o});function eb(e,r){return gf(e,pi(Ee(r)))}var tb=Xn(function(e,r){return e==null?{}:Tg(e,r)});function gf(e,r){if(e==null)return{};var o=lt(dc(e),function(f){return[f]});return r=Ee(r),od(e,o,function(f,M){return r(f,M[0])})}function nb(e,r,o){r=br(r,e);var f=-1,M=r.length;for(M||(M=1,e=s);++f<M;){var T=e==null?s:e[On(r[f])];T===s&&(f=M,T=o),e=Zn(T)?T.call(e):T}return e}function rb(e,r,o){return e==null?e:Ea(e,r,o)}function sb(e,r,o,f){return f=typeof f=="function"?f:s,e==null?e:Ea(e,r,o,f)}var xf=Td(Dt),wf=Td(rn);function ab(e,r,o){var f=Ae(e),M=f||yr(e)||Cs(e);if(r=Ee(r,4),o==null){var T=e&&e.constructor;M?o=f?new T:[]:pt(e)?o=Zn(T)?cn(ys(e)):{}:o={}}return(M?Gt:Rn)(e,function(L,H,q){return r(o,L,H,q)}),o}function ob(e,r){return e==null?!0:rc(e,r)}function ib(e,r,o){return e==null?e:dd(e,r,oc(o))}function lb(e,r,o,f){return f=typeof f=="function"?f:s,e==null?e:dd(e,r,oc(o),f)}function Is(e){return e==null?[]:xa(e,Dt(e))}function cb(e){return e==null?[]:xa(e,rn(e))}function ub(e,r,o){return o===s&&(o=r,r=s),o!==s&&(o=bn(o),o=o===o?o:0),r!==s&&(r=bn(r),r=r===r?r:0),Pr(bn(e),r,o)}function db(e,r,o){return r=Vn(r),o===s?(o=r,r=0):o=Vn(o),e=bn(e),xg(e,r,o)}function fb(e,r,o){if(o&&typeof o!="boolean"&&Zt(e,r,o)&&(r=o=s),o===s&&(typeof r=="boolean"?(o=r,r=s):typeof e=="boolean"&&(o=e,e=s)),e===s&&r===s?(e=0,r=1):(e=Vn(e),r===s?(r=e,e=0):r=Vn(r)),e>r){var f=e;e=r,r=f}if(o||e%1||r%1){var M=Xo();return At(e+M*(r-e+dl("1e-"+((M+"").length-1))),r)}return ec(e,r)}var pb=Ns(function(e,r,o){return r=r.toLowerCase(),e+(o?bf(r):r)});function bf(e){return Nc(Qe(e).toLowerCase())}function vf(e){return e=Qe(e),e&&e.replace(Zi,yl).replace(ln,"")}function hb(e,r,o){e=Qe(e),r=un(r);var f=e.length;o=o===s?f:Pr(De(o),0,f);var M=o;return o-=r.length,o>=0&&e.slice(o,M)==r}function mb(e){return e=Qe(e),e&&qs.test(e)?e.replace(ts,_l):e}function gb(e){return e=Qe(e),e&&Ga.test(e)?e.replace(ns,"\\$&"):e}var xb=Ns(function(e,r,o){return e+(o?"-":"")+r.toLowerCase()}),wb=Ns(function(e,r,o){return e+(o?" ":"")+r.toLowerCase()}),bb=_d("toLowerCase");function vb(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;if(!r||f>=r)return e;var M=(r-f)/2;return si(js(M),o)+e+si(ks(M),o)}function yb(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;return r&&f<r?e+si(r-f,o):e}function _b(e,r,o){e=Qe(e),r=De(r);var f=r?hr(e):0;return r&&f<r?si(r-f,o)+e:e}function Mb(e,r,o){return o||r==null?r=0:r&&(r=+r),Bl(Qe(e).replace(Vs,""),r||0)}function kb(e,r,o){return(o?Zt(e,r,o):r===s)?r=1:r=De(r),tc(Qe(e),r)}function jb(){var e=arguments,r=Qe(e[0]);return e.length<3?r:r.replace(e[1],e[2])}var Eb=Ns(function(e,r,o){return e+(o?"_":"")+r.toLowerCase()});function Nb(e,r,o){return o&&typeof o!="number"&&Zt(e,r,o)&&(r=o=s),o=o===s?de:o>>>0,o?(e=Qe(e),e&&(typeof r=="string"||r!=null&&!kc(r))&&(r=un(r),!r&&pr(e))?vr(Jt(e),0,o):e.split(r,o)):[]}var Tb=Ns(function(e,r,o){return e+(o?" ":"")+Nc(r)});function Cb(e,r,o){return e=Qe(e),o=o==null?0:Pr(De(o),0,e.length),r=un(r),e.slice(o,o+r.length)==r}function Ib(e,r,o){var f=k.templateSettings;o&&Zt(e,r,o)&&(r=s),e=Qe(e),r=gi({},r,f,Cd);var M=gi({},r.imports,f.imports,Cd),T=Dt(M),L=xa(M,T),H,q,te=0,ne=r.interpolate||as,ae="__p += '",pe=ba((r.escape||as).source+"|"+ne.source+"|"+(ne===Ks?oe:as).source+"|"+(r.evaluate||as).source+"|$","g"),_e="//# sourceURL="+(Xe.call(r,"sourceURL")?(r.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++xo+"]")+`
17
+ `;e.replace(pe,function(Te,He,Ue,fn,Vt,pn){return Ue||(Ue=fn),ae+=e.slice(te,pn).replace(Vi,Ml),He&&(H=!0,ae+=`' +
18
18
  __e(`+He+`) +
19
19
  '`),Vt&&(q=!0,ae+=`';
20
20
  `+Vt+`;
21
21
  __p += '`),Ue&&(ae+=`' +
22
22
  ((__t = (`+Ue+`)) == null ? '' : __t) +
23
- '`),te=pn+Ne.length,Ne}),ae+=`';
24
- `;var Te=Xe.call(r,"variable")&&r.variable;if(!Te)ae=`with (obj) {
23
+ '`),te=pn+Te.length,Te}),ae+=`';
24
+ `;var Ne=Xe.call(r,"variable")&&r.variable;if(!Ne)ae=`with (obj) {
25
25
  `+ae+`
26
26
  }
27
- `;else if(Qs.test(Te))throw new Ce(m);ae=(q?ae.replace(Bi,""):ae).replace(Ws,"$1").replace(on,"$1;"),ae="function("+(Te||"obj")+`) {
28
- `+(Te?"":`obj || (obj = {});
27
+ `;else if(Qs.test(Ne))throw new Ce(m);ae=(q?ae.replace(Bi,""):ae).replace(Ws,"$1").replace(on,"$1;"),ae="function("+(Ne||"obj")+`) {
28
+ `+(Ne?"":`obj || (obj = {});
29
29
  `)+"var __t, __p = ''"+(H?", __e = _.escape":"")+(q?`, __j = Array.prototype.join;
30
30
  function print() { __p += __j.call(arguments, '') }
31
31
  `:`;
32
32
  `)+ae+`return __p
33
- }`;var $e=_f(function(){return We(N,_e+"return "+ae).apply(s,L)});if($e.source=ae,Mc($e))throw $e;return $e}function Sb(e){return Qe(e).toLowerCase()}function Ab(e){return Qe(e).toUpperCase()}function Db(e,r,o){if(e=Qe(e),e&&(o||r===s))return Ro(e);if(!e||!(r=un(r)))return e;var f=Jt(e),M=Jt(r),N=Lo(f,M),L=Oo(f,M)+1;return vr(f,N,L).join("")}function $b(e,r,o){if(e=Qe(e),e&&(o||r===s))return e.slice(0,Po(e)+1);if(!e||!(r=un(r)))return e;var f=Jt(e),M=Oo(f,Jt(r))+1;return vr(f,0,M).join("")}function Rb(e,r,o){if(e=Qe(e),e&&(o||r===s))return e.replace(Vs,"");if(!e||!(r=un(r)))return e;var f=Jt(e),M=Lo(f,Jt(r));return vr(f,M).join("")}function Lb(e,r){var o=W,f=B;if(pt(r)){var M="separator"in r?r.separator:M;o="length"in r?De(r.length):o,f="omission"in r?un(r.omission):f}e=Qe(e);var N=e.length;if(pr(e)){var L=Jt(e);N=L.length}if(o>=N)return e;var H=o-hr(f);if(H<1)return f;var q=L?vr(L,0,H).join(""):e.slice(0,H);if(M===s)return q+f;if(L&&(H+=q.length-H),kc(M)){if(e.slice(H).search(M)){var te,ne=q;for(M.global||(M=ba(M.source,Qe(ss.exec(M))+"g")),M.lastIndex=0;te=M.exec(ne);)var ae=te.index;q=q.slice(0,ae===s?H:ae)}}else if(e.indexOf(un(M),H)!=H){var pe=q.lastIndexOf(M);pe>-1&&(q=q.slice(0,pe))}return q+f}function Ob(e){return e=Qe(e),e&&Ys.test(e)?e.replace(lr,Cl):e}var Fb=Ts(function(e,r,o){return e+(o?" ":"")+r.toUpperCase()}),Tc=_d("toUpperCase");function yf(e,r,o){return e=Qe(e),r=o?s:r,r===s?kl(e)?Al(e):gl(e):e.match(r)||[]}var _f=Re(function(e,r){try{return qt(e,s,r)}catch(o){return Mc(o)?o:new Ce(o)}}),Pb=Xn(function(e,r){return Gt(r,function(o){o=On(o),qn(e,o,yc(e[o],e))}),e});function Hb(e){var r=e==null?0:e.length,o=Ee();return e=r?lt(e,function(f){if(typeof f[1]!="function")throw new Xt(w);return[o(f[0]),f[1]]}):[],Re(function(f){for(var M=-1;++M<r;){var N=e[M];if(qt(N[0],this,f))return qt(N[1],this,f)}})}function zb(e){return fg(gn(e,b))}function Nc(e){return function(){return e}}function Ub(e,r){return e==null||e!==e?r:e}var Bb=kd(),Wb=kd(!0);function sn(e){return e}function Cc(e){return ed(typeof e=="function"?e:gn(e,b))}function Yb(e){return nd(gn(e,b))}function qb(e,r){return rd(e,gn(r,b))}var Gb=Re(function(e,r){return function(o){return ka(o,e,r)}}),Xb=Re(function(e,r){return function(o){return ka(e,o,r)}});function Ic(e,r,o){var f=Dt(r),M=Vo(r,f);o==null&&!(pt(r)&&(M.length||!f.length))&&(o=r,r=e,e=this,M=Vo(r,Dt(r)));var N=!(pt(o)&&"chain"in o)||!!o.chain,L=Zn(e);return Gt(M,function(H){var q=r[H];e[H]=q,L&&(e.prototype[H]=function(){var te=this.__chain__;if(N||te){var ne=e(this.__wrapped__),ae=ne.__actions__=tn(this.__actions__);return ae.push({func:q,args:arguments,thisArg:e}),ne.__chain__=te,ne}return q.apply(e,kn([this.value()],arguments))})}),e}function Kb(){return Ct._===this&&(Ct._=Ll),this}function Sc(){}function Zb(e){return e=De(e),Re(function(r){return sd(r,e)})}var Vb=lc(lt),Qb=lc(da),Jb=lc(fa);function Mf(e){return mc(e)?pa(On(e)):Cg(e)}function ev(e){return function(r){return e==null?s:Hr(e,r)}}var tv=Ed(),nv=Ed(!0);function Ac(){return[]}function Dc(){return!1}function rv(){return{}}function sv(){return""}function av(){return!0}function ov(e,r){if(e=De(e),e<1||e>ue)return[];var o=de,f=At(e,de);r=Ee(r),e-=de;for(var M=ga(f,r);++o<e;)r(o);return M}function iv(e){return Ae(e)?lt(e,On):dn(e)?[e]:tn(Ud(Qe(e)))}function lv(e){var r=++Rl;return Qe(e)+r}var cv=ri(function(e,r){return e+r},0),uv=cc("ceil"),dv=ri(function(e,r){return e/r},1),fv=cc("floor");function pv(e){return e&&e.length?Zo(e,sn,Xl):s}function hv(e,r){return e&&e.length?Zo(e,Ee(r,2),Xl):s}function mv(e){return Do(e,sn)}function gv(e,r){return Do(e,Ee(r,2))}function xv(e){return e&&e.length?Zo(e,sn,Ql):s}function wv(e,r){return e&&e.length?Zo(e,Ee(r,2),Ql):s}var bv=ri(function(e,r){return e*r},1),vv=cc("round"),yv=ri(function(e,r){return e-r},0);function _v(e){return e&&e.length?ma(e,sn):0}function Mv(e,r){return e&&e.length?ma(e,Ee(r,2)):0}return k.after=Y0,k.ary=Jd,k.assign=Aw,k.assignIn=hf,k.assignInWith=gi,k.assignWith=Dw,k.at=$w,k.before=ef,k.bind=yc,k.bindAll=Pb,k.bindKey=tf,k.castArray=rw,k.chain=Zd,k.chunk=fx,k.compact=px,k.concat=hx,k.cond=Hb,k.conforms=zb,k.constant=Nc,k.countBy=_0,k.create=Rw,k.curry=nf,k.curryRight=rf,k.debounce=sf,k.defaults=Lw,k.defaultsDeep=Ow,k.defer=q0,k.delay=G0,k.difference=mx,k.differenceBy=gx,k.differenceWith=xx,k.drop=wx,k.dropRight=bx,k.dropRightWhile=vx,k.dropWhile=yx,k.fill=_x,k.filter=k0,k.flatMap=T0,k.flatMapDeep=N0,k.flatMapDepth=C0,k.flatten=qd,k.flattenDeep=Mx,k.flattenDepth=kx,k.flip=X0,k.flow=Bb,k.flowRight=Wb,k.fromPairs=jx,k.functions=Ww,k.functionsIn=Yw,k.groupBy=I0,k.initial=Tx,k.intersection=Nx,k.intersectionBy=Cx,k.intersectionWith=Ix,k.invert=Gw,k.invertBy=Xw,k.invokeMap=A0,k.iteratee=Cc,k.keyBy=D0,k.keys=Dt,k.keysIn=rn,k.map=ui,k.mapKeys=Zw,k.mapValues=Vw,k.matches=Yb,k.matchesProperty=qb,k.memoize=fi,k.merge=Qw,k.mergeWith=mf,k.method=Gb,k.methodOf=Xb,k.mixin=Ic,k.negate=pi,k.nthArg=Zb,k.omit=Jw,k.omitBy=eb,k.once=K0,k.orderBy=$0,k.over=Vb,k.overArgs=Z0,k.overEvery=Qb,k.overSome=Jb,k.partial=_c,k.partialRight=af,k.partition=R0,k.pick=tb,k.pickBy=gf,k.property=Mf,k.propertyOf=ev,k.pull=$x,k.pullAll=Xd,k.pullAllBy=Rx,k.pullAllWith=Lx,k.pullAt=Ox,k.range=tv,k.rangeRight=nv,k.rearg=V0,k.reject=F0,k.remove=Fx,k.rest=Q0,k.reverse=bc,k.sampleSize=H0,k.set=rb,k.setWith=sb,k.shuffle=z0,k.slice=Px,k.sortBy=W0,k.sortedUniq=qx,k.sortedUniqBy=Gx,k.split=Tb,k.spread=J0,k.tail=Xx,k.take=Kx,k.takeRight=Zx,k.takeRightWhile=Vx,k.takeWhile=Qx,k.tap=p0,k.throttle=ew,k.thru=ci,k.toArray=df,k.toPairs=xf,k.toPairsIn=wf,k.toPath=iv,k.toPlainObject=pf,k.transform=ab,k.unary=tw,k.union=Jx,k.unionBy=e0,k.unionWith=t0,k.uniq=n0,k.uniqBy=r0,k.uniqWith=s0,k.unset=ob,k.unzip=vc,k.unzipWith=Kd,k.update=ib,k.updateWith=lb,k.values=Is,k.valuesIn=cb,k.without=a0,k.words=yf,k.wrap=nw,k.xor=o0,k.xorBy=i0,k.xorWith=l0,k.zip=c0,k.zipObject=u0,k.zipObjectDeep=d0,k.zipWith=f0,k.entries=xf,k.entriesIn=wf,k.extend=hf,k.extendWith=gi,Ic(k,k),k.add=cv,k.attempt=_f,k.camelCase=pb,k.capitalize=bf,k.ceil=uv,k.clamp=ub,k.clone=sw,k.cloneDeep=ow,k.cloneDeepWith=iw,k.cloneWith=aw,k.conformsTo=lw,k.deburr=vf,k.defaultTo=Ub,k.divide=dv,k.endsWith=hb,k.eq=En,k.escape=mb,k.escapeRegExp=gb,k.every=M0,k.find=j0,k.findIndex=Wd,k.findKey=Fw,k.findLast=E0,k.findLastIndex=Yd,k.findLastKey=Pw,k.floor=fv,k.forEach=Vd,k.forEachRight=Qd,k.forIn=Hw,k.forInRight=zw,k.forOwn=Uw,k.forOwnRight=Bw,k.get=jc,k.gt=cw,k.gte=uw,k.has=qw,k.hasIn=Ec,k.head=Gd,k.identity=sn,k.includes=S0,k.indexOf=Ex,k.inRange=db,k.invoke=Kw,k.isArguments=Br,k.isArray=Ae,k.isArrayBuffer=dw,k.isArrayLike=nn,k.isArrayLikeObject=_t,k.isBoolean=fw,k.isBuffer=yr,k.isDate=pw,k.isElement=hw,k.isEmpty=mw,k.isEqual=gw,k.isEqualWith=xw,k.isError=Mc,k.isFinite=ww,k.isFunction=Zn,k.isInteger=of,k.isLength=hi,k.isMap=lf,k.isMatch=bw,k.isMatchWith=vw,k.isNaN=yw,k.isNative=_w,k.isNil=kw,k.isNull=Mw,k.isNumber=cf,k.isObject=pt,k.isObjectLike=gt,k.isPlainObject=Ia,k.isRegExp=kc,k.isSafeInteger=jw,k.isSet=uf,k.isString=mi,k.isSymbol=dn,k.isTypedArray=Cs,k.isUndefined=Ew,k.isWeakMap=Tw,k.isWeakSet=Nw,k.join=Sx,k.kebabCase=xb,k.last=wn,k.lastIndexOf=Ax,k.lowerCase=wb,k.lowerFirst=bb,k.lt=Cw,k.lte=Iw,k.max=pv,k.maxBy=hv,k.mean=mv,k.meanBy=gv,k.min=xv,k.minBy=wv,k.stubArray=Ac,k.stubFalse=Dc,k.stubObject=rv,k.stubString=sv,k.stubTrue=av,k.multiply=bv,k.nth=Dx,k.noConflict=Kb,k.noop=Sc,k.now=di,k.pad=vb,k.padEnd=yb,k.padStart=_b,k.parseInt=Mb,k.random=fb,k.reduce=L0,k.reduceRight=O0,k.repeat=kb,k.replace=jb,k.result=nb,k.round=vv,k.runInContext=z,k.sample=P0,k.size=U0,k.snakeCase=Eb,k.some=B0,k.sortedIndex=Hx,k.sortedIndexBy=zx,k.sortedIndexOf=Ux,k.sortedLastIndex=Bx,k.sortedLastIndexBy=Wx,k.sortedLastIndexOf=Yx,k.startCase=Nb,k.startsWith=Cb,k.subtract=yv,k.sum=_v,k.sumBy=Mv,k.template=Ib,k.times=ov,k.toFinite=Vn,k.toInteger=De,k.toLength=ff,k.toLower=Sb,k.toNumber=bn,k.toSafeInteger=Sw,k.toString=Qe,k.toUpper=Ab,k.trim=Db,k.trimEnd=$b,k.trimStart=Rb,k.truncate=Lb,k.unescape=Ob,k.uniqueId=lv,k.upperCase=Fb,k.upperFirst=Tc,k.each=Vd,k.eachRight=Qd,k.first=Gd,Ic(k,(function(){var e={};return Rn(k,function(r,o){Xe.call(k.prototype,o)||(e[o]=r)}),e})(),{chain:!1}),k.VERSION=i,Gt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){k[e].placeholder=k}),Gt(["drop","take"],function(e,r){Fe.prototype[e]=function(o){o=o===s?1:yt(De(o),0);var f=this.__filtered__&&!r?new Fe(this):this.clone();return f.__filtered__?f.__takeCount__=At(o,f.__takeCount__):f.__views__.push({size:At(o,de),type:e+(f.__dir__<0?"Right":"")}),f},Fe.prototype[e+"Right"]=function(o){return this.reverse()[e](o).reverse()}}),Gt(["filter","map","takeWhile"],function(e,r){var o=r+1,f=o==Me||o==ee;Fe.prototype[e]=function(M){var N=this.clone();return N.__iteratees__.push({iteratee:Ee(M,3),type:o}),N.__filtered__=N.__filtered__||f,N}}),Gt(["head","last"],function(e,r){var o="take"+(r?"Right":"");Fe.prototype[e]=function(){return this[o](1).value()[0]}}),Gt(["initial","tail"],function(e,r){var o="drop"+(r?"":"Right");Fe.prototype[e]=function(){return this.__filtered__?new Fe(this):this[o](1)}}),Fe.prototype.compact=function(){return this.filter(sn)},Fe.prototype.find=function(e){return this.filter(e).head()},Fe.prototype.findLast=function(e){return this.reverse().find(e)},Fe.prototype.invokeMap=Re(function(e,r){return typeof e=="function"?new Fe(this):this.map(function(o){return ka(o,e,r)})}),Fe.prototype.reject=function(e){return this.filter(pi(Ee(e)))},Fe.prototype.slice=function(e,r){e=De(e);var o=this;return o.__filtered__&&(e>0||r<0)?new Fe(o):(e<0?o=o.takeRight(-e):e&&(o=o.drop(e)),r!==s&&(r=De(r),o=r<0?o.dropRight(-r):o.take(r-e)),o)},Fe.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Fe.prototype.toArray=function(){return this.take(de)},Rn(Fe.prototype,function(e,r){var o=/^(?:filter|find|map|reject)|While$/.test(r),f=/^(?:head|last)$/.test(r),M=k[f?"take"+(r=="last"?"Right":""):r],N=f||/^find/.test(r);M&&(k.prototype[r]=function(){var L=this.__wrapped__,H=f?[1]:arguments,q=L instanceof Fe,te=H[0],ne=q||Ae(L),ae=function(He){var Ue=M.apply(k,kn([He],H));return f&&pe?Ue[0]:Ue};ne&&o&&typeof te=="function"&&te.length!=1&&(q=ne=!1);var pe=this.__chain__,_e=!!this.__actions__.length,Te=N&&!pe,$e=q&&!_e;if(!N&&ne){L=$e?L:new Fe(this);var Ne=e.apply(L,H);return Ne.__actions__.push({func:ci,args:[ae],thisArg:s}),new Tt(Ne,pe)}return Te&&$e?e.apply(this,H):(Ne=this.thru(ae),Te?f?Ne.value()[0]:Ne.value():Ne)})}),Gt(["pop","push","shift","sort","splice","unshift"],function(e){var r=ms[e],o=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",f=/^(?:pop|shift)$/.test(e);k.prototype[e]=function(){var M=arguments;if(f&&!this.__chain__){var N=this.value();return r.apply(Ae(N)?N:[],M)}return this[o](function(L){return r.apply(Ae(L)?L:[],M)})}}),Rn(Fe.prototype,function(e,r){var o=k[r];if(o){var f=o.name+"";Xe.call(le,f)||(le[f]=[]),le[f].push({name:r,func:o})}}),le[ni(s,T).name]=[{name:"wrapper",func:s}],Fe.prototype.clone=ya,Fe.prototype.reverse=Lr,Fe.prototype.value=Pm,k.prototype.at=h0,k.prototype.chain=m0,k.prototype.commit=g0,k.prototype.next=x0,k.prototype.plant=b0,k.prototype.reverse=v0,k.prototype.toJSON=k.prototype.valueOf=k.prototype.value=y0,k.prototype.first=k.prototype.head,$r&&(k.prototype[$r]=w0),k}),mr=Ho();Yt?((Yt.exports=mr)._=mr,dr._=mr):Ct._=mr}).call(d2)})(Da,Da.exports)),Da.exports}var _i={exports:{}},qc,Tp;function f2(){if(Tp)return qc;Tp=1;var t=1e3,a=t*60,s=a*60,i=s*24,u=i*7,p=i*365.25;qc=function(h,b){b=b||{};var y=typeof h;if(y==="string"&&h.length>0)return w(h);if(y==="number"&&isFinite(h))return b.long?x(h):m(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h))};function w(h){if(h=String(h),!(h.length>100)){var b=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(b){var y=parseFloat(b[1]),v=(b[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return y*p;case"weeks":case"week":case"w":return y*u;case"days":case"day":case"d":return y*i;case"hours":case"hour":case"hrs":case"hr":case"h":return y*s;case"minutes":case"minute":case"mins":case"min":case"m":return y*a;case"seconds":case"second":case"secs":case"sec":case"s":return y*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return y;default:return}}}}function m(h){var b=Math.abs(h);return b>=i?Math.round(h/i)+"d":b>=s?Math.round(h/s)+"h":b>=a?Math.round(h/a)+"m":b>=t?Math.round(h/t)+"s":h+"ms"}function x(h){var b=Math.abs(h);return b>=i?g(h,b,i,"day"):b>=s?g(h,b,s,"hour"):b>=a?g(h,b,a,"minute"):b>=t?g(h,b,t,"second"):h+" ms"}function g(h,b,y,v){var C=b>=y*1.5;return Math.round(h/y)+" "+v+(C?"s":"")}return qc}var Gc,Np;function p2(){if(Np)return Gc;Np=1;function t(a){i.debug=i,i.default=i,i.coerce=g,i.disable=m,i.enable=p,i.enabled=x,i.humanize=f2(),i.destroy=h,Object.keys(a).forEach(b=>{i[b]=a[b]}),i.names=[],i.skips=[],i.formatters={};function s(b){let y=0;for(let v=0;v<b.length;v++)y=(y<<5)-y+b.charCodeAt(v),y|=0;return i.colors[Math.abs(y)%i.colors.length]}i.selectColor=s;function i(b){let y,v=null,C,E;function j(...T){if(!j.enabled)return;const D=j,$=Number(new Date),R=$-(y||$);D.diff=R,D.prev=y,D.curr=$,y=$,T[0]=i.coerce(T[0]),typeof T[0]!="string"&&T.unshift("%O");let O=0;T[0]=T[0].replace(/%([a-zA-Z%])/g,(I,U)=>{if(I==="%%")return"%";O++;const Y=i.formatters[U];if(typeof Y=="function"){const W=T[O];I=Y.call(D,W),T.splice(O,1),O--}return I}),i.formatArgs.call(D,T),(D.log||i.log).apply(D,T)}return j.namespace=b,j.useColors=i.useColors(),j.color=i.selectColor(b),j.extend=u,j.destroy=i.destroy,Object.defineProperty(j,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(C!==i.namespaces&&(C=i.namespaces,E=i.enabled(b)),E),set:T=>{v=T}}),typeof i.init=="function"&&i.init(j),j}function u(b,y){const v=i(this.namespace+(typeof y>"u"?":":y)+b);return v.log=this.log,v}function p(b){i.save(b),i.namespaces=b,i.names=[],i.skips=[];const y=(typeof b=="string"?b:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const v of y)v[0]==="-"?i.skips.push(v.slice(1)):i.names.push(v)}function w(b,y){let v=0,C=0,E=-1,j=0;for(;v<b.length;)if(C<y.length&&(y[C]===b[v]||y[C]==="*"))y[C]==="*"?(E=C,j=v,C++):(v++,C++);else if(E!==-1)C=E+1,j++,v=j;else return!1;for(;C<y.length&&y[C]==="*";)C++;return C===y.length}function m(){const b=[...i.names,...i.skips.map(y=>"-"+y)].join(",");return i.enable(""),b}function x(b){for(const y of i.skips)if(w(b,y))return!1;for(const y of i.names)if(w(b,y))return!0;return!1}function g(b){return b instanceof Error?b.stack||b.message:b}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return i.enable(i.load()),i}return Gc=t,Gc}var Cp;function Ip(){return Cp||(Cp=1,(function(t,a){a.formatArgs=i,a.save=u,a.load=p,a.useColors=s,a.storage=w(),a.destroy=(()=>{let x=!1;return()=>{x||(x=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),a.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function s(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let x;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(x=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(x[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function i(x){if(x[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+x[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const g="color: "+this.color;x.splice(1,0,g,"color: inherit");let h=0,b=0;x[0].replace(/%[a-zA-Z%]/g,y=>{y!=="%%"&&(h++,y==="%c"&&(b=h))}),x.splice(b,0,g)}a.log=console.debug||console.log||(()=>{});function u(x){try{x?a.storage.setItem("debug",x):a.storage.removeItem("debug")}catch{}}function p(){let x;try{x=a.storage.getItem("debug")||a.storage.getItem("DEBUG")}catch{}return!x&&typeof process<"u"&&"env"in process&&(x=!1),x}function w(){try{return localStorage}catch{}}t.exports=p2()(a);const{formatters:m}=t.exports;m.j=function(x){try{return JSON.stringify(x)}catch(g){return"[UnexpectedJSONParseError]: "+g.message}}})(_i,_i.exports)),_i.exports}var Xc,Sp;function h2(){if(Sp)return Xc;Sp=1;const t=Hu(),a=Ip()("mongo-knex:converter"),s=Ip()("mongo-knex:converter-extended"),i=["$and","$or"],u={$eq:"=",$ne:"!=",$gt:">",$gte:">=",$lt:"<",$lte:"<=",$in:"in",$nin:"not in",$regex:"like",$not:"not like"},p="*",w=E=>E.charAt(0)==="$",m=E=>w(E)&&t.includes(i,E),x=E=>w(E)&&t.includes(t.keys(u),E),g=E=>w(E)&&t.includes(["$ne","$nin"],E),h=E=>w(E)&&t.includes(["$gt","$gte","$lt","$lte"],E),b=E=>t.includes([u.$in,u.$nin],E),y=E=>JSON.stringify(E,function(j,T){return T instanceof RegExp?T.toString():T}),v=({source:E,ignoreCase:j})=>(E=E.replace(/\\([.*+?^${}()|[\]\\/])/g,"$1"),j&&(E=E.toLowerCase()),E=E.replace(new RegExp(t.escapeRegExp(p),"g"),p+p),E=E.replace(/%/g,p+"%"),E=E.replace(/_/g,p+"_"),E.startsWith("^")?E=E.substring(1)+"%":E.endsWith("$")?E="%"+E.substring(0,E.length-1):E="%"+E+"%",{source:E,ignoreCase:j});class C{constructor(j={},T={}){this.tableName=j.tableName,this.cte=T.cte,this.config={},Object.assign(this.config,{relations:{}},T)}processWhereType(j,T,D){return D===null?(j==="$or"?"orWhere":"where")+(T==="$ne"?"NotNull":"Null"):j==="$or"?"orWhere":"andWhere"}processStatement(j,T,D){const[$,R]=j.split(".");if(R){a($,R);const O=$;let P=this.config.relations[O];return P?{table:$,column:R,operator:T,value:D,config:P,isRelation:!0}:(P=t.find(this.config.relations,I=>I.joinTable===O),P?{joinTable:P.joinTable,table:P.tableName,column:R,operator:T,value:D,config:P,isRelation:!0}:{column:j,operator:T,value:D,isRelation:!1})}return{column:this.cte&&this.cte===!0?`${j}`:`${this.tableName}.${j}`,operator:T,value:D,isRelation:!1}}groupRelationStatements(j,T){const D={},$=T==="$and"?j.filter(R=>!R.joinTable):j;if(t.each($,(R,O)=>{let P=g(R.operator);!P&&D[R.table]&&(P=t.some(D[R.table].innerWhereStatements,U=>!(U.column!==R.column||h(U.operator)&&h(R.operator))));let I=R.table;if(P&&(I=`${R.table}_${O})}`,D[I]))throw new Error("Key collision detected");D[I]||(D[I]={},D[I].innerWhereStatements=[]),D[I].innerWhereStatements.push(R)}),T==="$and"){const R=j.filter(O=>O.joinTable);t.each(Object.keys(D),O=>{D[O].joinFilterStatements=R})}return D}buildRelationQuery(j,T,D){a("(buildRelationQuery)"),s.enabled&&s(`(buildRelationQuery) ${y(T)}`);const $=this.groupRelationStatements(T,D);s.enabled&&s(`(buildRelationQuery) grouped: ${y($)}`),t.each(Object.keys($),R=>{a(`(buildRelationQuery) build relation for ${R}`);const O=$[R].innerWhereStatements,P=O[0];if(P.config.type==="manyToMany")if(t.every(O.map(I=>I.operator),x)){const I=t.every(O.map(W=>W.operator),W=>g(W)),U=I?u.$nin:u.$in,Y=["whereNull","whereNotNull"].includes(P.whereType)?"andWhere":["orWhereNull","orWhereNotNull"].includes(P.whereType)?"orWhere":P.whereType;j[Y](`${this.tableName}.id`,U,function(){const W=$[R].joinFilterStatements;let B=P.config.tableName,ie=`${P.config.tableName}.${P.config.joinToForeign||"id"}`;P.config.tableNameAs&&(B=`${P.config.tableName} as ${P.config.tableNameAs}`,ie=`${P.config.tableNameAs}.${P.config.joinToForeign||"id"}`);const ge=P.config.joinType||"innerJoin",Me=this.select(`${P.config.joinTable}.${P.config.joinFrom}`).from(`${P.config.joinTable}`)[ge](B,function(){this.on(ie,"=",`${P.config.joinTable}.${P.config.joinTo}`),t.each(W,K=>{this.andOn(`${K.joinTable}.${K.column}`,u[K.operator],K.value)})});return s.enabled&&a(`(buildRelationQuery) innerQB sql-pre: ${Me.toSQL().sql}`),t.each(O,(K,ee)=>{a(`(buildRelationQuery) build relation where statements for ${ee}`);const ke=`${K.joinTable||K.table}.${K.column}`;let ue;I?ue=u.$in:g(K.operator)?ue=u.$nin:ue=u[K.operator];let ye=K.value;b(ue)&&(ye=t.isArray(K.value)?K.value:[K.value]),Me[K.whereType](ke,ue,ye)}),s.enabled&&a(`(buildRelationQuery) innerQB sql-post: ${Me.toSQL().sql}`),Me})}else a(`one of ${R} group statements contains unknown operator`);else if(P.config.type==="oneToOne")if(t.every(O.map(I=>I.operator),x)){const I=t.every(O.map(B=>B.operator),B=>g(B)),U=I?u.$nin:u.$in,Y=this.tableName,W=P.whereType==="orWhere"?"orWhere":"where";j[W](`${this.tableName}.id`,U,function(){const B=$[R].joinFilterStatements;let ie=P.config.tableName,ge=`${P.config.tableName}.${P.config.joinFrom}`;P.config.tableNameAs&&(ie=`${P.config.tableName} as ${P.config.tableNameAs}`,ge=`${P.config.tableNameAs}.${P.config.joinFrom}`);const Me=this.select(`${Y}.id`).from(`${Y}`).leftJoin(ie,function(){this.on(ge,"=",`${Y}.id`),t.each(B,K=>{this.andOn(`${K.joinTable}.${K.column}`,u[K.operator],K.value)})});return t.each(O,(K,ee)=>{a(`(buildRelationQuery) build relation where statements for ${ee}`);const ke=`${K.table}.${K.column}`;let ue;I?(ue=u.$in,K.value===null&&(K.whereType=K.whereType==="whereNotNull"?"whereNull":"whereNotNull")):g(K.operator)?ue=u.$nin:ue=u[K.operator];let ye=K.value;b(ue)&&(ye=t.isArray(K.value)?K.value:[K.value]),Me[K.whereType](ke,ue,ye)}),s.enabled&&a(`(buildRelationQuery) innerQB sql-pre: ${Me.toSQL().sql}`),Me})}else a(`one of ${R} group statements contains unknown operator`)})}buildComparison(j,T,D,$,R,O){const P=u[$]||"=",I=this.processStatement(D,$,R);let U=this.processWhereType(T,$,R);if(a(`(buildComparison) mode: ${T}, op: ${$}, isRelation: ${I.isRelation}, group: ${O}`),I.isRelation){if(I.whereType=U,!O){this.buildRelationQuery(j,[I],T);return}Object.prototype.hasOwnProperty.call(j,"relations")||(j.relations=[]),j.relations.push(I);return}const Y=I.column;if($=I.operator,R=I.value,$==="$regex"||$==="$not"){const{source:W,ignoreCase:B}=v(R);if(R=W,B){U+="Raw",a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R} (REGEX/i)`),j[U](`lower(??) ${P} ? ESCAPE ?`,[Y,R,p]);return}U+="Raw",a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R} (REGEX)`),j[U](`?? ${P} ? ESCAPE ?`,[Y,R,p]);return}a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R}`),j[U](Y,P,R)}buildWhereClause(j,T,D,$,R){if(a(`(buildWhereClause) mode: ${T}, statement: ${D}`),s.enabled&&s(`(buildWhereClause) ${y($)}`),!t.isObject($))return this.buildComparison(j,T,D,"$eq",$,R);t.forIn($,(O,P)=>{x(P)?this.buildComparison(j,T,D,P,O,R):a("unknown operator")})}buildWhereGroup(j,T,D,$){const R=this.processWhereType(T);a(`(buildWhereGroup) mode: ${D}, whereType: ${R}`),s.enabled&&s(`(buildWhereGroup) ${y($)}`),j[R](O=>{t.isArray($)?$.forEach(P=>this.buildQuery(O,D,P,!0)):t.isObject($)&&this.buildQuery(O,D,$,!0),Object.prototype.hasOwnProperty.call(O,"relations")&&(this.buildRelationQuery(O,O.relations,D),delete O.relations)})}buildQuery(j,T,D,$){a(`(buildQuery) mode: ${T}`),s.enabled&&s(`(buildQuery) ${y(D)}`),t.forIn(D,(R,O)=>{a(`(buildQuery) key: ${O}`),m(O)?this.buildWhereGroup(j,T,O,R):this.buildWhereClause(j,T,O,R,$)})}processJSON(j,T){a("(processJSON)"),s.enabled&&s(`(processJSON) ${y(T)}`),this.buildQuery(j,"$and",T)}}return Xc=function(j,T,D){return new C({tableName:j._single.table},D).processJSON(j,T),j},Xc}var Kc,Ap;function m2(){return Ap||(Ap=1,Kc=h2()),Kc}var Zc,Dp;function g2(){if(Dp)return Zc;Dp=1;const t=Hu(),a=["$and","$or"],s=(j,T)=>Array.isArray(j)?j.map(D=>s(D,T)).filter(D=>!t.isEmpty(D)):t.reduce(j,(D,$,R)=>{let O;if(a.includes(R)){const P=s($,T);O=t.isEmpty(P)?null:{[R]:P}}else R==="yg"?O={[R]:s($,T)}:O=T($,R);return t.assign({},D,O)},{}),i=(j,T)=>t.isEmpty(j)?T:t.isEmpty(T)?j:{$and:[j,T]},u=(j,T)=>t.some(j,(D,$,R)=>$==="$and"?u(R.$and,T):$==="$or"?u(R.$or,T):$!==T&&t.isObject(D)?u(D,T):$===T),p=(j,T)=>j&&s(j,function(D,$){if(!T($))return{[$]:D}}),w=(...j)=>{let T={};return j.filter(D=>!!D).forEach(D=>{D&&Object.keys(D).length>0&&(D=p(D,$=>u(T,$)),D&&(T=Object.keys(T).length>0?i(T,D):D))}),T},m=(j,T)=>{const D=($,R)=>R.$and?{$and:[$,...R.$and]}:{$and:[$,R]};return s(j,function($,R){const O=t.find(T,{key:R});if(!O)return{[R]:$};let P={[O.replacement]:$};return O.expansion?D(P,O.expansion):P})};function x(j,T){const D=T.find(({from:$})=>$===j);return D?D.to:j}function g(j,T){return Array.isArray(j)?j.map(T):T(j)}function h(j){return function(D){return s(D,function($,R){return R!==j.key.from?{[R]:$}:typeof $!="object"?{[j.key.to]:x($,j.values)}:{[j.key.to]:t.reduce($,(O,P,I)=>Object.assign(O,{[I]:g(P,U=>x(U,j.values))}),{})}})}}const b=(j,T)=>s(j,function(D,$){return Object.keys(T).includes($)?T[$]??{}:{[$]:D}});function y(...j){return function(T){for(const D of j)T=D(T);return T}}function v(j){if(!j)return[];const T=[];if(j.$and)for(const D of j.$and)for(const $ of v(D))T.includes($)||T.push($);else if(j.$or)for(const D of j.$or)for(const $ of v(D))T.includes($)||T.push($);else j.yg?T.push(...v(j.yg)):T.push(...Object.keys(j));return T}function C(j,T){let D,$;if(typeof j!="object")return[D,$];if(j.$and){for(const R of j.$and){const O=v(R);let P=!1;for(const I of O)if(T.includes(I))P=!0;else if(P)throw new Error(`This filter is not supported because you cannot combine ${T.join(", ")} filters with other filters except at the root level in an AND.`);P?D?D.$and.push(R):D={$and:[R]}:$?$.$and.push(R):$={$and:[R]}}D&&D.$and.length===1&&(D=D.$and[0]),$&&$.$and.length===1&&($=$.$and[0])}else if(j.$or){let R=!1;for(const O of j.$or){const P=v(O);for(const I of P)if(T.includes(I)){R=!0;continue}else if(R)throw new Error(`This filter is not supported because you cannot combine ${T.join(", ")} filters with other filters in an OR.`)}R?D=j:$=j}else{if(j.yg)return this.splitFilter(j.yg,T);{const R=Object.keys(j);for(const O of R)T.includes(O)?D?D[O]=j[O]:D={[O]:j[O]}:$?$[O]=j[O]:$={[O]:j[O]}}}return[D,$]}function E(j){const T=[];for(const D of Object.keys(j))j[D]&&T.push({key:{from:D,to:j[D]},values:[]});return T.map(D=>h(D))}return Zc={mapKeyValues:h,combineFilters:i,findStatement:u,rejectStatements:p,mergeFilters:w,expandFilters:m,mapQuery:s,replaceFilters:b,chainTransformers:y,getUsedKeys:v,splitFilter:C,mapKeys:E},Zc}var Vc,$p;function wu(){return $p||($p=1,Vc=g2()),Vc}var Qc,Rp;function x2(){if(Rp)return Qc;Rp=1;const t=wu(),a=$h(),s=Hu(),i=w=>!w||Object.keys(w).length===0?w:w.map(m=>{const x=Object.assign({},m);return x.expansion&&(x.expansion=a.parse(m.expansion)),x}),u=(w,m)=>{const x=i(m);return t.expandFilters(w,x)},p=w=>{if(!w.$and||!t.findStatement(w,"$ne"))return w;const m=w.$and,x=m.filter(b=>t.findStatement(b,"$ne")),g=s.groupBy(x,b=>Object.keys(b)[0]);Object.keys(g).filter(b=>g[b].length>1).forEach(b=>{const y=g[b].map(v=>v[b].$ne).filter(v=>v!==void 0);y.length!==0&&(w[b]={$nin:y},g[b].forEach(v=>{const C=m.indexOf(v);C>-1&&m.splice(C,1)}))}),m.length===0&&delete w.$and;for(const b in w)b==="$and"&&(w[b]=w[b].map(p));return w};return Qc={mergeFilters:t.mergeFilters,parseExpansions:i,expandFilters:u,combineNeFilters:p},Qc}var Lp;function w2(){if(Lp)return yi.exports;Lp=1;const t=u2(),a=$h(),s=m2(),i=x2();return yi.exports=(u,p={})=>{const w={};return w.lex=()=>a.lex(u),w.parse=function(){!this.filter&&u&&(this.filter=a.parse(u),p.transformer&&(this.filter=p.transformer(this.filter)));let m,x;p.overrides&&(m=a.parse(p.overrides)),p.defaults&&(x=a.parse(p.defaults));let g=i.mergeFilters(m,this.filter,x);return g=i.combineNeFilters(g),p.expansions&&(g=i.expandFilters(g,p.expansions)),g},w.queryJSON=function(m){return this.query=this.query||new t.Query(w.parse()),this.query.test(m)},w.querySQL=m=>s(m,w.parse(),p),w.toString=()=>u,w.toJSON=w.parse,w},yi.exports.utils={mapQuery:wu().mapQuery,mapKeyValues:wu().mapKeyValues},yi.exports}var Jc,Op;function b2(){return Op||(Op=1,Jc=w2()),Jc}var v2=b2();const y2=fh(v2);function $m(t,a){return t.visibility?y2(t.visibility).queryJSON(a):!0}function _2({description:t,accentColor:a,icon:s,logo:i,coverImage:u,themeSettings:p,bodyFont:w,headingFont:m}){if(!p)return;const x=p.reduce((b,{key:y,value:v})=>({...b,[y]:v}),{}),g=new URLSearchParams;g.append("c",a),g.append("d",t),g.append("icon",s),g.append("logo",i),g.append("cover",u),g.append("bf",w),g.append("hf",m);const h={};return p.forEach(b=>{h[b.key]=$m(b,x)?b.value:Gv}),g.append("custom",JSON.stringify(h)),g.toString()}const M2=({settings:t,url:a})=>{const s=_2({...t}),i=A.useCallback(u=>{!a||!s||fetch(a,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":s,Accept:"text/plain"},mode:"cors",credentials:"include"}).then(p=>p.text()).then(p=>{const w="html { pointer-events: none; }",x=new DOMParser().parseFromString(p,"text/html"),g=x.querySelector("style"),h=g?.innerHTML;h?g.innerHTML=`${h}
33
+ }`;var $e=_f(function(){return We(T,_e+"return "+ae).apply(s,L)});if($e.source=ae,Mc($e))throw $e;return $e}function Sb(e){return Qe(e).toLowerCase()}function Ab(e){return Qe(e).toUpperCase()}function Db(e,r,o){if(e=Qe(e),e&&(o||r===s))return Ro(e);if(!e||!(r=un(r)))return e;var f=Jt(e),M=Jt(r),T=Lo(f,M),L=Oo(f,M)+1;return vr(f,T,L).join("")}function $b(e,r,o){if(e=Qe(e),e&&(o||r===s))return e.slice(0,Po(e)+1);if(!e||!(r=un(r)))return e;var f=Jt(e),M=Oo(f,Jt(r))+1;return vr(f,0,M).join("")}function Rb(e,r,o){if(e=Qe(e),e&&(o||r===s))return e.replace(Vs,"");if(!e||!(r=un(r)))return e;var f=Jt(e),M=Lo(f,Jt(r));return vr(f,M).join("")}function Lb(e,r){var o=W,f=B;if(pt(r)){var M="separator"in r?r.separator:M;o="length"in r?De(r.length):o,f="omission"in r?un(r.omission):f}e=Qe(e);var T=e.length;if(pr(e)){var L=Jt(e);T=L.length}if(o>=T)return e;var H=o-hr(f);if(H<1)return f;var q=L?vr(L,0,H).join(""):e.slice(0,H);if(M===s)return q+f;if(L&&(H+=q.length-H),kc(M)){if(e.slice(H).search(M)){var te,ne=q;for(M.global||(M=ba(M.source,Qe(ss.exec(M))+"g")),M.lastIndex=0;te=M.exec(ne);)var ae=te.index;q=q.slice(0,ae===s?H:ae)}}else if(e.indexOf(un(M),H)!=H){var pe=q.lastIndexOf(M);pe>-1&&(q=q.slice(0,pe))}return q+f}function Ob(e){return e=Qe(e),e&&Ys.test(e)?e.replace(lr,Cl):e}var Fb=Ns(function(e,r,o){return e+(o?" ":"")+r.toUpperCase()}),Nc=_d("toUpperCase");function yf(e,r,o){return e=Qe(e),r=o?s:r,r===s?kl(e)?Al(e):gl(e):e.match(r)||[]}var _f=Re(function(e,r){try{return qt(e,s,r)}catch(o){return Mc(o)?o:new Ce(o)}}),Pb=Xn(function(e,r){return Gt(r,function(o){o=On(o),qn(e,o,yc(e[o],e))}),e});function Hb(e){var r=e==null?0:e.length,o=Ee();return e=r?lt(e,function(f){if(typeof f[1]!="function")throw new Xt(w);return[o(f[0]),f[1]]}):[],Re(function(f){for(var M=-1;++M<r;){var T=e[M];if(qt(T[0],this,f))return qt(T[1],this,f)}})}function zb(e){return fg(gn(e,b))}function Tc(e){return function(){return e}}function Ub(e,r){return e==null||e!==e?r:e}var Bb=kd(),Wb=kd(!0);function sn(e){return e}function Cc(e){return ed(typeof e=="function"?e:gn(e,b))}function Yb(e){return nd(gn(e,b))}function qb(e,r){return rd(e,gn(r,b))}var Gb=Re(function(e,r){return function(o){return ka(o,e,r)}}),Xb=Re(function(e,r){return function(o){return ka(e,o,r)}});function Ic(e,r,o){var f=Dt(r),M=Vo(r,f);o==null&&!(pt(r)&&(M.length||!f.length))&&(o=r,r=e,e=this,M=Vo(r,Dt(r)));var T=!(pt(o)&&"chain"in o)||!!o.chain,L=Zn(e);return Gt(M,function(H){var q=r[H];e[H]=q,L&&(e.prototype[H]=function(){var te=this.__chain__;if(T||te){var ne=e(this.__wrapped__),ae=ne.__actions__=tn(this.__actions__);return ae.push({func:q,args:arguments,thisArg:e}),ne.__chain__=te,ne}return q.apply(e,kn([this.value()],arguments))})}),e}function Kb(){return Ct._===this&&(Ct._=Ll),this}function Sc(){}function Zb(e){return e=De(e),Re(function(r){return sd(r,e)})}var Vb=lc(lt),Qb=lc(da),Jb=lc(fa);function Mf(e){return mc(e)?pa(On(e)):Cg(e)}function ev(e){return function(r){return e==null?s:Hr(e,r)}}var tv=Ed(),nv=Ed(!0);function Ac(){return[]}function Dc(){return!1}function rv(){return{}}function sv(){return""}function av(){return!0}function ov(e,r){if(e=De(e),e<1||e>ue)return[];var o=de,f=At(e,de);r=Ee(r),e-=de;for(var M=ga(f,r);++o<e;)r(o);return M}function iv(e){return Ae(e)?lt(e,On):dn(e)?[e]:tn(Ud(Qe(e)))}function lv(e){var r=++Rl;return Qe(e)+r}var cv=ri(function(e,r){return e+r},0),uv=cc("ceil"),dv=ri(function(e,r){return e/r},1),fv=cc("floor");function pv(e){return e&&e.length?Zo(e,sn,Xl):s}function hv(e,r){return e&&e.length?Zo(e,Ee(r,2),Xl):s}function mv(e){return Do(e,sn)}function gv(e,r){return Do(e,Ee(r,2))}function xv(e){return e&&e.length?Zo(e,sn,Ql):s}function wv(e,r){return e&&e.length?Zo(e,Ee(r,2),Ql):s}var bv=ri(function(e,r){return e*r},1),vv=cc("round"),yv=ri(function(e,r){return e-r},0);function _v(e){return e&&e.length?ma(e,sn):0}function Mv(e,r){return e&&e.length?ma(e,Ee(r,2)):0}return k.after=Y0,k.ary=Jd,k.assign=Aw,k.assignIn=hf,k.assignInWith=gi,k.assignWith=Dw,k.at=$w,k.before=ef,k.bind=yc,k.bindAll=Pb,k.bindKey=tf,k.castArray=rw,k.chain=Zd,k.chunk=fx,k.compact=px,k.concat=hx,k.cond=Hb,k.conforms=zb,k.constant=Tc,k.countBy=_0,k.create=Rw,k.curry=nf,k.curryRight=rf,k.debounce=sf,k.defaults=Lw,k.defaultsDeep=Ow,k.defer=q0,k.delay=G0,k.difference=mx,k.differenceBy=gx,k.differenceWith=xx,k.drop=wx,k.dropRight=bx,k.dropRightWhile=vx,k.dropWhile=yx,k.fill=_x,k.filter=k0,k.flatMap=N0,k.flatMapDeep=T0,k.flatMapDepth=C0,k.flatten=qd,k.flattenDeep=Mx,k.flattenDepth=kx,k.flip=X0,k.flow=Bb,k.flowRight=Wb,k.fromPairs=jx,k.functions=Ww,k.functionsIn=Yw,k.groupBy=I0,k.initial=Nx,k.intersection=Tx,k.intersectionBy=Cx,k.intersectionWith=Ix,k.invert=Gw,k.invertBy=Xw,k.invokeMap=A0,k.iteratee=Cc,k.keyBy=D0,k.keys=Dt,k.keysIn=rn,k.map=ui,k.mapKeys=Zw,k.mapValues=Vw,k.matches=Yb,k.matchesProperty=qb,k.memoize=fi,k.merge=Qw,k.mergeWith=mf,k.method=Gb,k.methodOf=Xb,k.mixin=Ic,k.negate=pi,k.nthArg=Zb,k.omit=Jw,k.omitBy=eb,k.once=K0,k.orderBy=$0,k.over=Vb,k.overArgs=Z0,k.overEvery=Qb,k.overSome=Jb,k.partial=_c,k.partialRight=af,k.partition=R0,k.pick=tb,k.pickBy=gf,k.property=Mf,k.propertyOf=ev,k.pull=$x,k.pullAll=Xd,k.pullAllBy=Rx,k.pullAllWith=Lx,k.pullAt=Ox,k.range=tv,k.rangeRight=nv,k.rearg=V0,k.reject=F0,k.remove=Fx,k.rest=Q0,k.reverse=bc,k.sampleSize=H0,k.set=rb,k.setWith=sb,k.shuffle=z0,k.slice=Px,k.sortBy=W0,k.sortedUniq=qx,k.sortedUniqBy=Gx,k.split=Nb,k.spread=J0,k.tail=Xx,k.take=Kx,k.takeRight=Zx,k.takeRightWhile=Vx,k.takeWhile=Qx,k.tap=p0,k.throttle=ew,k.thru=ci,k.toArray=df,k.toPairs=xf,k.toPairsIn=wf,k.toPath=iv,k.toPlainObject=pf,k.transform=ab,k.unary=tw,k.union=Jx,k.unionBy=e0,k.unionWith=t0,k.uniq=n0,k.uniqBy=r0,k.uniqWith=s0,k.unset=ob,k.unzip=vc,k.unzipWith=Kd,k.update=ib,k.updateWith=lb,k.values=Is,k.valuesIn=cb,k.without=a0,k.words=yf,k.wrap=nw,k.xor=o0,k.xorBy=i0,k.xorWith=l0,k.zip=c0,k.zipObject=u0,k.zipObjectDeep=d0,k.zipWith=f0,k.entries=xf,k.entriesIn=wf,k.extend=hf,k.extendWith=gi,Ic(k,k),k.add=cv,k.attempt=_f,k.camelCase=pb,k.capitalize=bf,k.ceil=uv,k.clamp=ub,k.clone=sw,k.cloneDeep=ow,k.cloneDeepWith=iw,k.cloneWith=aw,k.conformsTo=lw,k.deburr=vf,k.defaultTo=Ub,k.divide=dv,k.endsWith=hb,k.eq=En,k.escape=mb,k.escapeRegExp=gb,k.every=M0,k.find=j0,k.findIndex=Wd,k.findKey=Fw,k.findLast=E0,k.findLastIndex=Yd,k.findLastKey=Pw,k.floor=fv,k.forEach=Vd,k.forEachRight=Qd,k.forIn=Hw,k.forInRight=zw,k.forOwn=Uw,k.forOwnRight=Bw,k.get=jc,k.gt=cw,k.gte=uw,k.has=qw,k.hasIn=Ec,k.head=Gd,k.identity=sn,k.includes=S0,k.indexOf=Ex,k.inRange=db,k.invoke=Kw,k.isArguments=Br,k.isArray=Ae,k.isArrayBuffer=dw,k.isArrayLike=nn,k.isArrayLikeObject=_t,k.isBoolean=fw,k.isBuffer=yr,k.isDate=pw,k.isElement=hw,k.isEmpty=mw,k.isEqual=gw,k.isEqualWith=xw,k.isError=Mc,k.isFinite=ww,k.isFunction=Zn,k.isInteger=of,k.isLength=hi,k.isMap=lf,k.isMatch=bw,k.isMatchWith=vw,k.isNaN=yw,k.isNative=_w,k.isNil=kw,k.isNull=Mw,k.isNumber=cf,k.isObject=pt,k.isObjectLike=gt,k.isPlainObject=Ia,k.isRegExp=kc,k.isSafeInteger=jw,k.isSet=uf,k.isString=mi,k.isSymbol=dn,k.isTypedArray=Cs,k.isUndefined=Ew,k.isWeakMap=Nw,k.isWeakSet=Tw,k.join=Sx,k.kebabCase=xb,k.last=wn,k.lastIndexOf=Ax,k.lowerCase=wb,k.lowerFirst=bb,k.lt=Cw,k.lte=Iw,k.max=pv,k.maxBy=hv,k.mean=mv,k.meanBy=gv,k.min=xv,k.minBy=wv,k.stubArray=Ac,k.stubFalse=Dc,k.stubObject=rv,k.stubString=sv,k.stubTrue=av,k.multiply=bv,k.nth=Dx,k.noConflict=Kb,k.noop=Sc,k.now=di,k.pad=vb,k.padEnd=yb,k.padStart=_b,k.parseInt=Mb,k.random=fb,k.reduce=L0,k.reduceRight=O0,k.repeat=kb,k.replace=jb,k.result=nb,k.round=vv,k.runInContext=z,k.sample=P0,k.size=U0,k.snakeCase=Eb,k.some=B0,k.sortedIndex=Hx,k.sortedIndexBy=zx,k.sortedIndexOf=Ux,k.sortedLastIndex=Bx,k.sortedLastIndexBy=Wx,k.sortedLastIndexOf=Yx,k.startCase=Tb,k.startsWith=Cb,k.subtract=yv,k.sum=_v,k.sumBy=Mv,k.template=Ib,k.times=ov,k.toFinite=Vn,k.toInteger=De,k.toLength=ff,k.toLower=Sb,k.toNumber=bn,k.toSafeInteger=Sw,k.toString=Qe,k.toUpper=Ab,k.trim=Db,k.trimEnd=$b,k.trimStart=Rb,k.truncate=Lb,k.unescape=Ob,k.uniqueId=lv,k.upperCase=Fb,k.upperFirst=Nc,k.each=Vd,k.eachRight=Qd,k.first=Gd,Ic(k,(function(){var e={};return Rn(k,function(r,o){Xe.call(k.prototype,o)||(e[o]=r)}),e})(),{chain:!1}),k.VERSION=i,Gt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){k[e].placeholder=k}),Gt(["drop","take"],function(e,r){Fe.prototype[e]=function(o){o=o===s?1:yt(De(o),0);var f=this.__filtered__&&!r?new Fe(this):this.clone();return f.__filtered__?f.__takeCount__=At(o,f.__takeCount__):f.__views__.push({size:At(o,de),type:e+(f.__dir__<0?"Right":"")}),f},Fe.prototype[e+"Right"]=function(o){return this.reverse()[e](o).reverse()}}),Gt(["filter","map","takeWhile"],function(e,r){var o=r+1,f=o==Me||o==ee;Fe.prototype[e]=function(M){var T=this.clone();return T.__iteratees__.push({iteratee:Ee(M,3),type:o}),T.__filtered__=T.__filtered__||f,T}}),Gt(["head","last"],function(e,r){var o="take"+(r?"Right":"");Fe.prototype[e]=function(){return this[o](1).value()[0]}}),Gt(["initial","tail"],function(e,r){var o="drop"+(r?"":"Right");Fe.prototype[e]=function(){return this.__filtered__?new Fe(this):this[o](1)}}),Fe.prototype.compact=function(){return this.filter(sn)},Fe.prototype.find=function(e){return this.filter(e).head()},Fe.prototype.findLast=function(e){return this.reverse().find(e)},Fe.prototype.invokeMap=Re(function(e,r){return typeof e=="function"?new Fe(this):this.map(function(o){return ka(o,e,r)})}),Fe.prototype.reject=function(e){return this.filter(pi(Ee(e)))},Fe.prototype.slice=function(e,r){e=De(e);var o=this;return o.__filtered__&&(e>0||r<0)?new Fe(o):(e<0?o=o.takeRight(-e):e&&(o=o.drop(e)),r!==s&&(r=De(r),o=r<0?o.dropRight(-r):o.take(r-e)),o)},Fe.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Fe.prototype.toArray=function(){return this.take(de)},Rn(Fe.prototype,function(e,r){var o=/^(?:filter|find|map|reject)|While$/.test(r),f=/^(?:head|last)$/.test(r),M=k[f?"take"+(r=="last"?"Right":""):r],T=f||/^find/.test(r);M&&(k.prototype[r]=function(){var L=this.__wrapped__,H=f?[1]:arguments,q=L instanceof Fe,te=H[0],ne=q||Ae(L),ae=function(He){var Ue=M.apply(k,kn([He],H));return f&&pe?Ue[0]:Ue};ne&&o&&typeof te=="function"&&te.length!=1&&(q=ne=!1);var pe=this.__chain__,_e=!!this.__actions__.length,Ne=T&&!pe,$e=q&&!_e;if(!T&&ne){L=$e?L:new Fe(this);var Te=e.apply(L,H);return Te.__actions__.push({func:ci,args:[ae],thisArg:s}),new Nt(Te,pe)}return Ne&&$e?e.apply(this,H):(Te=this.thru(ae),Ne?f?Te.value()[0]:Te.value():Te)})}),Gt(["pop","push","shift","sort","splice","unshift"],function(e){var r=ms[e],o=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",f=/^(?:pop|shift)$/.test(e);k.prototype[e]=function(){var M=arguments;if(f&&!this.__chain__){var T=this.value();return r.apply(Ae(T)?T:[],M)}return this[o](function(L){return r.apply(Ae(L)?L:[],M)})}}),Rn(Fe.prototype,function(e,r){var o=k[r];if(o){var f=o.name+"";Xe.call(le,f)||(le[f]=[]),le[f].push({name:r,func:o})}}),le[ni(s,N).name]=[{name:"wrapper",func:s}],Fe.prototype.clone=ya,Fe.prototype.reverse=Lr,Fe.prototype.value=Pm,k.prototype.at=h0,k.prototype.chain=m0,k.prototype.commit=g0,k.prototype.next=x0,k.prototype.plant=b0,k.prototype.reverse=v0,k.prototype.toJSON=k.prototype.valueOf=k.prototype.value=y0,k.prototype.first=k.prototype.head,$r&&(k.prototype[$r]=w0),k}),mr=Ho();Yt?((Yt.exports=mr)._=mr,dr._=mr):Ct._=mr}).call(d2)})(Da,Da.exports)),Da.exports}var _i={exports:{}},qc,Np;function f2(){if(Np)return qc;Np=1;var t=1e3,a=t*60,s=a*60,i=s*24,u=i*7,p=i*365.25;qc=function(h,b){b=b||{};var y=typeof h;if(y==="string"&&h.length>0)return w(h);if(y==="number"&&isFinite(h))return b.long?x(h):m(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h))};function w(h){if(h=String(h),!(h.length>100)){var b=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(b){var y=parseFloat(b[1]),v=(b[2]||"ms").toLowerCase();switch(v){case"years":case"year":case"yrs":case"yr":case"y":return y*p;case"weeks":case"week":case"w":return y*u;case"days":case"day":case"d":return y*i;case"hours":case"hour":case"hrs":case"hr":case"h":return y*s;case"minutes":case"minute":case"mins":case"min":case"m":return y*a;case"seconds":case"second":case"secs":case"sec":case"s":return y*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return y;default:return}}}}function m(h){var b=Math.abs(h);return b>=i?Math.round(h/i)+"d":b>=s?Math.round(h/s)+"h":b>=a?Math.round(h/a)+"m":b>=t?Math.round(h/t)+"s":h+"ms"}function x(h){var b=Math.abs(h);return b>=i?g(h,b,i,"day"):b>=s?g(h,b,s,"hour"):b>=a?g(h,b,a,"minute"):b>=t?g(h,b,t,"second"):h+" ms"}function g(h,b,y,v){var C=b>=y*1.5;return Math.round(h/y)+" "+v+(C?"s":"")}return qc}var Gc,Tp;function p2(){if(Tp)return Gc;Tp=1;function t(a){i.debug=i,i.default=i,i.coerce=g,i.disable=m,i.enable=p,i.enabled=x,i.humanize=f2(),i.destroy=h,Object.keys(a).forEach(b=>{i[b]=a[b]}),i.names=[],i.skips=[],i.formatters={};function s(b){let y=0;for(let v=0;v<b.length;v++)y=(y<<5)-y+b.charCodeAt(v),y|=0;return i.colors[Math.abs(y)%i.colors.length]}i.selectColor=s;function i(b){let y,v=null,C,E;function j(...N){if(!j.enabled)return;const D=j,$=Number(new Date),R=$-(y||$);D.diff=R,D.prev=y,D.curr=$,y=$,N[0]=i.coerce(N[0]),typeof N[0]!="string"&&N.unshift("%O");let O=0;N[0]=N[0].replace(/%([a-zA-Z%])/g,(I,U)=>{if(I==="%%")return"%";O++;const Y=i.formatters[U];if(typeof Y=="function"){const W=N[O];I=Y.call(D,W),N.splice(O,1),O--}return I}),i.formatArgs.call(D,N),(D.log||i.log).apply(D,N)}return j.namespace=b,j.useColors=i.useColors(),j.color=i.selectColor(b),j.extend=u,j.destroy=i.destroy,Object.defineProperty(j,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(C!==i.namespaces&&(C=i.namespaces,E=i.enabled(b)),E),set:N=>{v=N}}),typeof i.init=="function"&&i.init(j),j}function u(b,y){const v=i(this.namespace+(typeof y>"u"?":":y)+b);return v.log=this.log,v}function p(b){i.save(b),i.namespaces=b,i.names=[],i.skips=[];const y=(typeof b=="string"?b:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const v of y)v[0]==="-"?i.skips.push(v.slice(1)):i.names.push(v)}function w(b,y){let v=0,C=0,E=-1,j=0;for(;v<b.length;)if(C<y.length&&(y[C]===b[v]||y[C]==="*"))y[C]==="*"?(E=C,j=v,C++):(v++,C++);else if(E!==-1)C=E+1,j++,v=j;else return!1;for(;C<y.length&&y[C]==="*";)C++;return C===y.length}function m(){const b=[...i.names,...i.skips.map(y=>"-"+y)].join(",");return i.enable(""),b}function x(b){for(const y of i.skips)if(w(b,y))return!1;for(const y of i.names)if(w(b,y))return!0;return!1}function g(b){return b instanceof Error?b.stack||b.message:b}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return i.enable(i.load()),i}return Gc=t,Gc}var Cp;function Ip(){return Cp||(Cp=1,(function(t,a){a.formatArgs=i,a.save=u,a.load=p,a.useColors=s,a.storage=w(),a.destroy=(()=>{let x=!1;return()=>{x||(x=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),a.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function s(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let x;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(x=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(x[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function i(x){if(x[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+x[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const g="color: "+this.color;x.splice(1,0,g,"color: inherit");let h=0,b=0;x[0].replace(/%[a-zA-Z%]/g,y=>{y!=="%%"&&(h++,y==="%c"&&(b=h))}),x.splice(b,0,g)}a.log=console.debug||console.log||(()=>{});function u(x){try{x?a.storage.setItem("debug",x):a.storage.removeItem("debug")}catch{}}function p(){let x;try{x=a.storage.getItem("debug")||a.storage.getItem("DEBUG")}catch{}return!x&&typeof process<"u"&&"env"in process&&(x=!1),x}function w(){try{return localStorage}catch{}}t.exports=p2()(a);const{formatters:m}=t.exports;m.j=function(x){try{return JSON.stringify(x)}catch(g){return"[UnexpectedJSONParseError]: "+g.message}}})(_i,_i.exports)),_i.exports}var Xc,Sp;function h2(){if(Sp)return Xc;Sp=1;const t=Hu(),a=Ip()("mongo-knex:converter"),s=Ip()("mongo-knex:converter-extended"),i=["$and","$or"],u={$eq:"=",$ne:"!=",$gt:">",$gte:">=",$lt:"<",$lte:"<=",$in:"in",$nin:"not in",$regex:"like",$not:"not like"},p="*",w=E=>E.charAt(0)==="$",m=E=>w(E)&&t.includes(i,E),x=E=>w(E)&&t.includes(t.keys(u),E),g=E=>w(E)&&t.includes(["$ne","$nin"],E),h=E=>w(E)&&t.includes(["$gt","$gte","$lt","$lte"],E),b=E=>t.includes([u.$in,u.$nin],E),y=E=>JSON.stringify(E,function(j,N){return N instanceof RegExp?N.toString():N}),v=({source:E,ignoreCase:j})=>(E=E.replace(/\\([.*+?^${}()|[\]\\/])/g,"$1"),j&&(E=E.toLowerCase()),E=E.replace(new RegExp(t.escapeRegExp(p),"g"),p+p),E=E.replace(/%/g,p+"%"),E=E.replace(/_/g,p+"_"),E.startsWith("^")?E=E.substring(1)+"%":E.endsWith("$")?E="%"+E.substring(0,E.length-1):E="%"+E+"%",{source:E,ignoreCase:j});class C{constructor(j={},N={}){this.tableName=j.tableName,this.cte=N.cte,this.config={},Object.assign(this.config,{relations:{}},N)}processWhereType(j,N,D){return D===null?(j==="$or"?"orWhere":"where")+(N==="$ne"?"NotNull":"Null"):j==="$or"?"orWhere":"andWhere"}processStatement(j,N,D){const[$,R]=j.split(".");if(R){a($,R);const O=$;let P=this.config.relations[O];return P?{table:$,column:R,operator:N,value:D,config:P,isRelation:!0}:(P=t.find(this.config.relations,I=>I.joinTable===O),P?{joinTable:P.joinTable,table:P.tableName,column:R,operator:N,value:D,config:P,isRelation:!0}:{column:j,operator:N,value:D,isRelation:!1})}return{column:this.cte&&this.cte===!0?`${j}`:`${this.tableName}.${j}`,operator:N,value:D,isRelation:!1}}groupRelationStatements(j,N){const D={},$=N==="$and"?j.filter(R=>!R.joinTable):j;if(t.each($,(R,O)=>{let P=g(R.operator);!P&&D[R.table]&&(P=t.some(D[R.table].innerWhereStatements,U=>!(U.column!==R.column||h(U.operator)&&h(R.operator))));let I=R.table;if(P&&(I=`${R.table}_${O})}`,D[I]))throw new Error("Key collision detected");D[I]||(D[I]={},D[I].innerWhereStatements=[]),D[I].innerWhereStatements.push(R)}),N==="$and"){const R=j.filter(O=>O.joinTable);t.each(Object.keys(D),O=>{D[O].joinFilterStatements=R})}return D}buildRelationQuery(j,N,D){a("(buildRelationQuery)"),s.enabled&&s(`(buildRelationQuery) ${y(N)}`);const $=this.groupRelationStatements(N,D);s.enabled&&s(`(buildRelationQuery) grouped: ${y($)}`),t.each(Object.keys($),R=>{a(`(buildRelationQuery) build relation for ${R}`);const O=$[R].innerWhereStatements,P=O[0];if(P.config.type==="manyToMany")if(t.every(O.map(I=>I.operator),x)){const I=t.every(O.map(W=>W.operator),W=>g(W)),U=I?u.$nin:u.$in,Y=["whereNull","whereNotNull"].includes(P.whereType)?"andWhere":["orWhereNull","orWhereNotNull"].includes(P.whereType)?"orWhere":P.whereType;j[Y](`${this.tableName}.id`,U,function(){const W=$[R].joinFilterStatements;let B=P.config.tableName,ie=`${P.config.tableName}.${P.config.joinToForeign||"id"}`;P.config.tableNameAs&&(B=`${P.config.tableName} as ${P.config.tableNameAs}`,ie=`${P.config.tableNameAs}.${P.config.joinToForeign||"id"}`);const ge=P.config.joinType||"innerJoin",Me=this.select(`${P.config.joinTable}.${P.config.joinFrom}`).from(`${P.config.joinTable}`)[ge](B,function(){this.on(ie,"=",`${P.config.joinTable}.${P.config.joinTo}`),t.each(W,K=>{this.andOn(`${K.joinTable}.${K.column}`,u[K.operator],K.value)})});return s.enabled&&a(`(buildRelationQuery) innerQB sql-pre: ${Me.toSQL().sql}`),t.each(O,(K,ee)=>{a(`(buildRelationQuery) build relation where statements for ${ee}`);const ke=`${K.joinTable||K.table}.${K.column}`;let ue;I?ue=u.$in:g(K.operator)?ue=u.$nin:ue=u[K.operator];let ye=K.value;b(ue)&&(ye=t.isArray(K.value)?K.value:[K.value]),Me[K.whereType](ke,ue,ye)}),s.enabled&&a(`(buildRelationQuery) innerQB sql-post: ${Me.toSQL().sql}`),Me})}else a(`one of ${R} group statements contains unknown operator`);else if(P.config.type==="oneToOne")if(t.every(O.map(I=>I.operator),x)){const I=t.every(O.map(B=>B.operator),B=>g(B)),U=I?u.$nin:u.$in,Y=this.tableName,W=P.whereType==="orWhere"?"orWhere":"where";j[W](`${this.tableName}.id`,U,function(){const B=$[R].joinFilterStatements;let ie=P.config.tableName,ge=`${P.config.tableName}.${P.config.joinFrom}`;P.config.tableNameAs&&(ie=`${P.config.tableName} as ${P.config.tableNameAs}`,ge=`${P.config.tableNameAs}.${P.config.joinFrom}`);const Me=this.select(`${Y}.id`).from(`${Y}`).leftJoin(ie,function(){this.on(ge,"=",`${Y}.id`),t.each(B,K=>{this.andOn(`${K.joinTable}.${K.column}`,u[K.operator],K.value)})});return t.each(O,(K,ee)=>{a(`(buildRelationQuery) build relation where statements for ${ee}`);const ke=`${K.table}.${K.column}`;let ue;I?(ue=u.$in,K.value===null&&(K.whereType=K.whereType==="whereNotNull"?"whereNull":"whereNotNull")):g(K.operator)?ue=u.$nin:ue=u[K.operator];let ye=K.value;b(ue)&&(ye=t.isArray(K.value)?K.value:[K.value]),Me[K.whereType](ke,ue,ye)}),s.enabled&&a(`(buildRelationQuery) innerQB sql-pre: ${Me.toSQL().sql}`),Me})}else a(`one of ${R} group statements contains unknown operator`)})}buildComparison(j,N,D,$,R,O){const P=u[$]||"=",I=this.processStatement(D,$,R);let U=this.processWhereType(N,$,R);if(a(`(buildComparison) mode: ${N}, op: ${$}, isRelation: ${I.isRelation}, group: ${O}`),I.isRelation){if(I.whereType=U,!O){this.buildRelationQuery(j,[I],N);return}Object.prototype.hasOwnProperty.call(j,"relations")||(j.relations=[]),j.relations.push(I);return}const Y=I.column;if($=I.operator,R=I.value,$==="$regex"||$==="$not"){const{source:W,ignoreCase:B}=v(R);if(R=W,B){U+="Raw",a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R} (REGEX/i)`),j[U](`lower(??) ${P} ? ESCAPE ?`,[Y,R,p]);return}U+="Raw",a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R} (REGEX)`),j[U](`?? ${P} ? ESCAPE ?`,[Y,R,p]);return}a(`(buildComparison) whereType: ${U}, statement: ${D}, op: ${$}, comp: ${P}, value: ${R}`),j[U](Y,P,R)}buildWhereClause(j,N,D,$,R){if(a(`(buildWhereClause) mode: ${N}, statement: ${D}`),s.enabled&&s(`(buildWhereClause) ${y($)}`),!t.isObject($))return this.buildComparison(j,N,D,"$eq",$,R);t.forIn($,(O,P)=>{x(P)?this.buildComparison(j,N,D,P,O,R):a("unknown operator")})}buildWhereGroup(j,N,D,$){const R=this.processWhereType(N);a(`(buildWhereGroup) mode: ${D}, whereType: ${R}`),s.enabled&&s(`(buildWhereGroup) ${y($)}`),j[R](O=>{t.isArray($)?$.forEach(P=>this.buildQuery(O,D,P,!0)):t.isObject($)&&this.buildQuery(O,D,$,!0),Object.prototype.hasOwnProperty.call(O,"relations")&&(this.buildRelationQuery(O,O.relations,D),delete O.relations)})}buildQuery(j,N,D,$){a(`(buildQuery) mode: ${N}`),s.enabled&&s(`(buildQuery) ${y(D)}`),t.forIn(D,(R,O)=>{a(`(buildQuery) key: ${O}`),m(O)?this.buildWhereGroup(j,N,O,R):this.buildWhereClause(j,N,O,R,$)})}processJSON(j,N){a("(processJSON)"),s.enabled&&s(`(processJSON) ${y(N)}`),this.buildQuery(j,"$and",N)}}return Xc=function(j,N,D){return new C({tableName:j._single.table},D).processJSON(j,N),j},Xc}var Kc,Ap;function m2(){return Ap||(Ap=1,Kc=h2()),Kc}var Zc,Dp;function g2(){if(Dp)return Zc;Dp=1;const t=Hu(),a=["$and","$or"],s=(j,N)=>Array.isArray(j)?j.map(D=>s(D,N)).filter(D=>!t.isEmpty(D)):t.reduce(j,(D,$,R)=>{let O;if(a.includes(R)){const P=s($,N);O=t.isEmpty(P)?null:{[R]:P}}else R==="yg"?O={[R]:s($,N)}:O=N($,R);return t.assign({},D,O)},{}),i=(j,N)=>t.isEmpty(j)?N:t.isEmpty(N)?j:{$and:[j,N]},u=(j,N)=>t.some(j,(D,$,R)=>$==="$and"?u(R.$and,N):$==="$or"?u(R.$or,N):$!==N&&t.isObject(D)?u(D,N):$===N),p=(j,N)=>j&&s(j,function(D,$){if(!N($))return{[$]:D}}),w=(...j)=>{let N={};return j.filter(D=>!!D).forEach(D=>{D&&Object.keys(D).length>0&&(D=p(D,$=>u(N,$)),D&&(N=Object.keys(N).length>0?i(N,D):D))}),N},m=(j,N)=>{const D=($,R)=>R.$and?{$and:[$,...R.$and]}:{$and:[$,R]};return s(j,function($,R){const O=t.find(N,{key:R});if(!O)return{[R]:$};let P={[O.replacement]:$};return O.expansion?D(P,O.expansion):P})};function x(j,N){const D=N.find(({from:$})=>$===j);return D?D.to:j}function g(j,N){return Array.isArray(j)?j.map(N):N(j)}function h(j){return function(D){return s(D,function($,R){return R!==j.key.from?{[R]:$}:typeof $!="object"?{[j.key.to]:x($,j.values)}:{[j.key.to]:t.reduce($,(O,P,I)=>Object.assign(O,{[I]:g(P,U=>x(U,j.values))}),{})}})}}const b=(j,N)=>s(j,function(D,$){return Object.keys(N).includes($)?N[$]??{}:{[$]:D}});function y(...j){return function(N){for(const D of j)N=D(N);return N}}function v(j){if(!j)return[];const N=[];if(j.$and)for(const D of j.$and)for(const $ of v(D))N.includes($)||N.push($);else if(j.$or)for(const D of j.$or)for(const $ of v(D))N.includes($)||N.push($);else j.yg?N.push(...v(j.yg)):N.push(...Object.keys(j));return N}function C(j,N){let D,$;if(typeof j!="object")return[D,$];if(j.$and){for(const R of j.$and){const O=v(R);let P=!1;for(const I of O)if(N.includes(I))P=!0;else if(P)throw new Error(`This filter is not supported because you cannot combine ${N.join(", ")} filters with other filters except at the root level in an AND.`);P?D?D.$and.push(R):D={$and:[R]}:$?$.$and.push(R):$={$and:[R]}}D&&D.$and.length===1&&(D=D.$and[0]),$&&$.$and.length===1&&($=$.$and[0])}else if(j.$or){let R=!1;for(const O of j.$or){const P=v(O);for(const I of P)if(N.includes(I)){R=!0;continue}else if(R)throw new Error(`This filter is not supported because you cannot combine ${N.join(", ")} filters with other filters in an OR.`)}R?D=j:$=j}else{if(j.yg)return this.splitFilter(j.yg,N);{const R=Object.keys(j);for(const O of R)N.includes(O)?D?D[O]=j[O]:D={[O]:j[O]}:$?$[O]=j[O]:$={[O]:j[O]}}}return[D,$]}function E(j){const N=[];for(const D of Object.keys(j))j[D]&&N.push({key:{from:D,to:j[D]},values:[]});return N.map(D=>h(D))}return Zc={mapKeyValues:h,combineFilters:i,findStatement:u,rejectStatements:p,mergeFilters:w,expandFilters:m,mapQuery:s,replaceFilters:b,chainTransformers:y,getUsedKeys:v,splitFilter:C,mapKeys:E},Zc}var Vc,$p;function wu(){return $p||($p=1,Vc=g2()),Vc}var Qc,Rp;function x2(){if(Rp)return Qc;Rp=1;const t=wu(),a=$h(),s=Hu(),i=w=>!w||Object.keys(w).length===0?w:w.map(m=>{const x=Object.assign({},m);return x.expansion&&(x.expansion=a.parse(m.expansion)),x}),u=(w,m)=>{const x=i(m);return t.expandFilters(w,x)},p=w=>{if(!w.$and||!t.findStatement(w,"$ne"))return w;const m=w.$and,x=m.filter(b=>t.findStatement(b,"$ne")),g=s.groupBy(x,b=>Object.keys(b)[0]);Object.keys(g).filter(b=>g[b].length>1).forEach(b=>{const y=g[b].map(v=>v[b].$ne).filter(v=>v!==void 0);y.length!==0&&(w[b]={$nin:y},g[b].forEach(v=>{const C=m.indexOf(v);C>-1&&m.splice(C,1)}))}),m.length===0&&delete w.$and;for(const b in w)b==="$and"&&(w[b]=w[b].map(p));return w};return Qc={mergeFilters:t.mergeFilters,parseExpansions:i,expandFilters:u,combineNeFilters:p},Qc}var Lp;function w2(){if(Lp)return yi.exports;Lp=1;const t=u2(),a=$h(),s=m2(),i=x2();return yi.exports=(u,p={})=>{const w={};return w.lex=()=>a.lex(u),w.parse=function(){!this.filter&&u&&(this.filter=a.parse(u),p.transformer&&(this.filter=p.transformer(this.filter)));let m,x;p.overrides&&(m=a.parse(p.overrides)),p.defaults&&(x=a.parse(p.defaults));let g=i.mergeFilters(m,this.filter,x);return g=i.combineNeFilters(g),p.expansions&&(g=i.expandFilters(g,p.expansions)),g},w.queryJSON=function(m){return this.query=this.query||new t.Query(w.parse()),this.query.test(m)},w.querySQL=m=>s(m,w.parse(),p),w.toString=()=>u,w.toJSON=w.parse,w},yi.exports.utils={mapQuery:wu().mapQuery,mapKeyValues:wu().mapKeyValues},yi.exports}var Jc,Op;function b2(){return Op||(Op=1,Jc=w2()),Jc}var v2=b2();const y2=fh(v2);function $m(t,a){return t.visibility?y2(t.visibility).queryJSON(a):!0}function _2({description:t,accentColor:a,icon:s,logo:i,coverImage:u,themeSettings:p,bodyFont:w,headingFont:m}){if(!p)return;const x=p.reduce((b,{key:y,value:v})=>({...b,[y]:v}),{}),g=new URLSearchParams;g.append("c",a),g.append("d",t),g.append("icon",s),g.append("logo",i),g.append("cover",u),g.append("bf",w),g.append("hf",m);const h={};return p.forEach(b=>{h[b.key]=$m(b,x)?b.value:Gv}),g.append("custom",JSON.stringify(h)),g.toString()}const M2=({settings:t,url:a})=>{const s=_2({...t}),i=A.useCallback(u=>{!a||!s||fetch(a,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":s,Accept:"text/plain"},mode:"cors",credentials:"include"}).then(p=>p.text()).then(p=>{const w="html { pointer-events: none; }",x=new DOMParser().parseFromString(p,"text/html"),g=x.querySelector("style"),h=g?.innerHTML;h?g.innerHTML=`${h}
34
34
 
35
- ${w}`:x.head.innerHTML+=`<style>${w}</style>`;let y=(x.doctype?new XMLSerializer().serializeToString(x.doctype):"")+x.documentElement.outerHTML;u.contentDocument?.open(),u.contentDocument?.write(y),u.contentDocument?.close()})},[s,a]);return n.jsx(Fu,{addDelay:!1,className:"absolute size-[110%] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[130%] max-[1600px]:scale-[.76923]",generateContent:i,height:"100%",parentClassName:"relative h-full w-full",testId:"theme-preview",width:"100%"})},k2=({setting:t,setSetting:a})=>{const[s,i]=A.useState({});A.useEffect(()=>{const g=t.value===null?"":String(t.value);i(h=>({...h,[t.key]:g}))},[t]);const u=g=>{s[g]!==void 0&&a(s[g])},p=(g,h)=>{i(b=>({...b,[g]:h}))},{mutateAsync:w}=Hs(),m=Ke(),x=async g=>{try{const h=Jn(await w({file:g}));a(h)}catch(h){m(h)}};switch(t.type){case"text":return n.jsx(ve,{hint:t.description,title:Sa(t.key),value:s[t.key]||"",onBlur:()=>u(t.key),onChange:g=>p(t.key,g.target.value)});case"boolean":return n.jsx(Ye,{checked:t.value,direction:"rtl",hint:t.description,label:Sa(t.key),onChange:g=>a(g.target.checked)});case"select":return n.jsx(kt,{hint:t.description,options:t.options.map(g=>({label:g,value:g})),selectedOption:{label:t.value,value:t.value},testId:`setting-select-${t.key}`,title:Sa(t.key),onSelect:g=>a(g?.value||null)});case"color":return n.jsx(Fn,{debounceMs:200,direction:"rtl",hint:t.description,title:Sa(t.key),value:t.value||"",onChange:g=>a(g)});case"image":return n.jsxs(n.Fragment,{children:[n.jsx(ct,{useLabelTag:!0,children:Sa(t.key)}),n.jsx(tr,{height:t.value?"100px":"32px",id:`custom-${t.key}`,imageURL:t.value||"",onDelete:()=>a(null),onUpload:g=>x(g),children:"Upload image"}),t.description&&n.jsx(zn,{children:t.description})]})}},j2={source:["title_font","body_font"],casper:["title_font","body_font"],alto:["title_font","body_font"],bulletin:["title_font","body_font"],dawn:["title_font","body_font"],digest:["title_font","body_font"],dope:["title_font","body_font"],ease:["title_font","body_font"],edge:["title_font","body_font"],edition:["title_font","body_font"],episode:["typography"],headline:["title_font","body_font"],journal:["title_font","body_font"],london:["title_font","body_font"],ruby:["title_font","body_font"],solo:["typography"],taste:["style"],wave:["title_font","body_font"]},E2=({sections:t,updateSetting:a})=>{const{data:s}=Mu(),i=s?.themes.find(m=>m.active),u=i?.package.name?.toLowerCase()||"",p=i?.package.author?.name||"",{supportsCustomFonts:w}=Pu();return n.jsx(n.Fragment,{children:t.map(m=>{const x=m.settings.filter(h=>$m(h,m.settings.reduce((b,{key:y,value:v})=>({...b,[y]:v}),{})));let g;return n.jsx(Be,{className:"first-of-type:mt-6",gap:"xs",margins:"lg",title:m.title,children:x.map(h=>{let b="";h.type==="boolean"&&g!=="boolean"&&g!==void 0&&(b="mt-3"),(h.type==="text"||h.type==="select")&&(g==="text"||g==="select")&&(b="mt-2");const y=j2[u];return y&&y.includes(h.key)&&p==="Ghost Foundation"&&w&&(b+=" hidden"),g=h.type,n.jsx("div",{className:b,children:n.jsx(k2,{setSetting:v=>a({...h,value:v}),setting:h},h.key)},h.key)})},m.id)})})},T2=({globalSettings:t,themeSettingSections:a,updateGlobalSetting:s,updateThemeSetting:i,onTabChange:u})=>{const[p,w]=A.useState("global"),m=[{id:"global",title:"Brand",contents:n.jsx(kp,{updateSetting:s,values:t})}];a.length>0&&m.push({id:"theme-settings",title:"Theme",contents:n.jsx(E2,{sections:a,updateSetting:i})});const x=g=>{w(g),u(g)};return n.jsx("div",{className:"flex h-full flex-col justify-between",children:n.jsx("div",{className:"grow p-7 pt-0","data-testid":"design-setting-tabs",children:m.length>1?n.jsx(Tr,{selectedTab:p,stickyHeader:!0,tabs:m,onTabChange:x}):n.jsx(kp,{updateSetting:s,values:t})})})},N2=()=>{const{settings:t,siteData:a}=ze(),{mutateAsync:s}=Nr(),{data:{posts:[i]}={posts:[]}}=Dh({searchParams:{filter:"status:published",order:"published_at DESC",limit:"1",fields:"id,url"}}),{data:u}=Xv(),{mutateAsync:p}=Kv(),w=Ke(),[m,x]=A.useState("homepage"),{updateRoute:g}=Pe(),h=Mh().getParam("ref"),{formState:b,saveState:y,handleSave:v,updateForm:C,setFormState:E,okProps:j}=an({initialState:{settings:t,themeSettings:u?u.custom_theme_settings:void 0},savingDelay:500,onSave:async()=>{if(b.themeSettings?.some(ue=>ue.dirty)){const ue=await p(b.themeSettings);E(ye=>({...ye,themeSettings:ue.custom_theme_settings}))}if(b.settings.some(ue=>ue.dirty)){const{settings:ue}=await s(b.settings.filter(ye=>ye.dirty));E(ye=>({...ye,settings:ue}))}},onSaveError:w});A.useEffect(()=>{u&&E(ue=>({...ue,themeSettings:u.custom_theme_settings}))},[E,u]);const T=(ue,ye)=>{C(J=>({...J,settings:J.settings.map(de=>de.key===ue?{...de,value:ye,dirty:!0}:de)}))},D=ue=>{C(ye=>({...ye,themeSettings:ye.themeSettings?.map(J=>J.key===ue.key?{...ue,dirty:!0}:J)}))},[$,R,O,P,I,U,Y]=ot(b.settings,["description","accent_color","icon","logo","cover_image","heading_font","body_font"]),W=(b.themeSettings||[]).reduce((ue,ye)=>{const J=ye.group==="homepage"||ye.group==="post"?ye.group:"site-wide";return{...ue,[J]:(ue[J]||[]).concat(ye)}},{}),B=Object.entries(W).map(([ue,ye])=>({id:ue,settings:ye||[],title:ue==="site-wide"?"Site wide":ue==="homepage"?"Homepage":"Post"}));let ie=[];i&&(ie=[{id:"homepage",title:"Homepage"},{id:"post",title:"Post"}]);const ge=ue=>{ie.length&&x(ue)},Me=ue=>{x(ue==="post"&&i?"post":"homepage")};let K=Hn(a);switch(m){case"homepage":K=Hn(a);break;case"post":K=i.url;break}const ee=n.jsx(M2,{settings:{description:$,accentColor:R,icon:O,logo:P,coverImage:I,themeSettings:b.themeSettings,headingFont:U,bodyFont:Y},url:K}),ke=n.jsx(T2,{globalSettings:{description:$,accentColor:R,icon:O,logo:P,coverImage:I,headingFont:U,bodyFont:Y},handleSave:v,themeSettingSections:B,updateGlobalSetting:T,updateThemeSetting:D,onTabChange:Me});return n.jsx(Kr,{afterClose:()=>{g(h==="setup"?{isExternal:!0,route:"analytics"}:"design")},buttonsDisabled:j.disabled,cancelLabel:"Close",defaultTab:"homepage",dirty:y==="unsaved",okColor:j.color,okLabel:j.label||"Save",preview:ee,previewToolbarTabs:ie,selectedURL:m,sidebar:ke,sidebarPadding:!1,siteLink:Hn(a),size:"full",testId:"design-modal",title:"Design",onOk:async()=>{await v({fakeWhenUnchanged:!0})},onSelectURL:ge})},C2=({pathName:t})=>{const a=Ft(),{updateRoute:s}=Pe(),[i,u]=A.useState(null),[p,w]=A.useState(!1),[m,x]=A.useState(!1),{checkThemeLimitError:g,isThemeLimitCheckReady:h,noThemeChangesAllowed:b,isThemeLimited:y}=ku(),[v,C]=A.useState(null),[E,j]=A.useState(!1);if(A.useEffect(()=>{t==="design/change-theme"&&h?(async()=>{if(!b){w(!1),u(null);return}w(!0);const D=await g();u(D),w(!1),D&&(me.show(Un,{prompt:D,onOk:()=>s({route:"/pro",isExternal:!0})}),a.remove())})():(u(null),w(!1))},[g,h,t,a,s,b]),A.useEffect(()=>{t!=="theme/install"&&(j(!1),C(null),x(!1))},[t]),A.useEffect(()=>{const T=()=>{const P=window.location.href.split("#")[1]?.split("?")[1];return P?new URLSearchParams(P).get("ref"):null},D=R=>{C(!1);const O={prompt:R,onOk:()=>s({route:"/pro",isExternal:!0})};b?(me.show(Un,O),window.history.replaceState({},"",window.location.pathname+window.location.hash.split("?")[0]),a.remove(),s("theme")):(me.show(Un,O),a.remove(),s("theme"))};(async()=>{if(t!=="theme/install"){x(!1);return}if(j(!0),!h){x(!0);return}if(!y){C(!0),x(!1);return}x(!0);const R=T();if(!R){C(!1),x(!1);return}const O=R.split("/")[1]?.toLowerCase(),P=await g(O);if(t!=="theme/install"){x(!1);return}if(P){C(!1),x(!1),D(P);return}C(!0),x(!1)})()},[t,h,g,b,y,a,s]),t==="design/edit")return n.jsx(N2,{});if(t==="design/change-theme")return p||i?null:n.jsx(yp,{});if(t==="theme/install"){if(!E||!h||m||v===null||!v)return null;const $=window.location.href.split("#")[1]?.split("?")[1];let R=null,O=null;if($){const P=new URLSearchParams($);R=P.get("ref"),O=P.get("source")}return n.jsx(yp,{source:O,themeRef:R})}else a.remove()},I2=me.create(C2),S2=({html:t,style:a})=>{const s=i=>{const u=i.contentDocument||i.contentWindow?.document;if(!u)return;const p=`
35
+ ${w}`:x.head.innerHTML+=`<style>${w}</style>`;let y=(x.doctype?new XMLSerializer().serializeToString(x.doctype):"")+x.documentElement.outerHTML;u.contentDocument?.open(),u.contentDocument?.write(y),u.contentDocument?.close()})},[s,a]);return n.jsx(Fu,{addDelay:!1,className:"absolute size-[110%] origin-top-left scale-[.90909] bg-white max-[1600px]:size-[130%] max-[1600px]:scale-[.76923]",generateContent:i,height:"100%",parentClassName:"relative h-full w-full",testId:"theme-preview",width:"100%"})},k2=({setting:t,setSetting:a})=>{const[s,i]=A.useState({});A.useEffect(()=>{const g=t.value===null?"":String(t.value);i(h=>({...h,[t.key]:g}))},[t]);const u=g=>{s[g]!==void 0&&a(s[g])},p=(g,h)=>{i(b=>({...b,[g]:h}))},{mutateAsync:w}=Hs(),m=Ke(),x=async g=>{try{const h=Jn(await w({file:g}));a(h)}catch(h){m(h)}};switch(t.type){case"text":return n.jsx(ve,{hint:t.description,title:Sa(t.key),value:s[t.key]||"",onBlur:()=>u(t.key),onChange:g=>p(t.key,g.target.value)});case"boolean":return n.jsx(Ye,{checked:t.value,direction:"rtl",hint:t.description,label:Sa(t.key),onChange:g=>a(g.target.checked)});case"select":return n.jsx(kt,{hint:t.description,options:t.options.map(g=>({label:g,value:g})),selectedOption:{label:t.value,value:t.value},testId:`setting-select-${t.key}`,title:Sa(t.key),onSelect:g=>a(g?.value||null)});case"color":return n.jsx(Fn,{debounceMs:200,direction:"rtl",hint:t.description,title:Sa(t.key),value:t.value||"",onChange:g=>a(g)});case"image":return n.jsxs(n.Fragment,{children:[n.jsx(ct,{useLabelTag:!0,children:Sa(t.key)}),n.jsx(tr,{height:t.value?"100px":"32px",id:`custom-${t.key}`,imageURL:t.value||"",onDelete:()=>a(null),onUpload:g=>x(g),children:"Upload image"}),t.description&&n.jsx(zn,{children:t.description})]})}},j2={source:["title_font","body_font"],casper:["title_font","body_font"],alto:["title_font","body_font"],bulletin:["title_font","body_font"],dawn:["title_font","body_font"],digest:["title_font","body_font"],dope:["title_font","body_font"],ease:["title_font","body_font"],edge:["title_font","body_font"],edition:["title_font","body_font"],episode:["typography"],headline:["title_font","body_font"],journal:["title_font","body_font"],london:["title_font","body_font"],ruby:["title_font","body_font"],solo:["typography"],taste:["style"],wave:["title_font","body_font"]},E2=({sections:t,updateSetting:a})=>{const{data:s}=Mu(),i=s?.themes.find(m=>m.active),u=i?.package.name?.toLowerCase()||"",p=i?.package.author?.name||"",{supportsCustomFonts:w}=Pu();return n.jsx(n.Fragment,{children:t.map(m=>{const x=m.settings.filter(h=>$m(h,m.settings.reduce((b,{key:y,value:v})=>({...b,[y]:v}),{})));let g;return n.jsx(Be,{className:"first-of-type:mt-6",gap:"xs",margins:"lg",title:m.title,children:x.map(h=>{let b="";h.type==="boolean"&&g!=="boolean"&&g!==void 0&&(b="mt-3"),(h.type==="text"||h.type==="select")&&(g==="text"||g==="select")&&(b="mt-2");const y=j2[u];return y&&y.includes(h.key)&&p==="Ghost Foundation"&&w&&(b+=" hidden"),g=h.type,n.jsx("div",{className:b,children:n.jsx(k2,{setSetting:v=>a({...h,value:v}),setting:h},h.key)},h.key)})},m.id)})})},N2=({globalSettings:t,themeSettingSections:a,updateGlobalSetting:s,updateThemeSetting:i,onTabChange:u})=>{const[p,w]=A.useState("global"),m=[{id:"global",title:"Brand",contents:n.jsx(kp,{updateSetting:s,values:t})}];a.length>0&&m.push({id:"theme-settings",title:"Theme",contents:n.jsx(E2,{sections:a,updateSetting:i})});const x=g=>{w(g),u(g)};return n.jsx("div",{className:"flex h-full flex-col justify-between",children:n.jsx("div",{className:"grow p-7 pt-0","data-testid":"design-setting-tabs",children:m.length>1?n.jsx(Nr,{selectedTab:p,stickyHeader:!0,tabs:m,onTabChange:x}):n.jsx(kp,{updateSetting:s,values:t})})})},T2=()=>{const{settings:t,siteData:a}=ze(),{mutateAsync:s}=Tr(),{data:{posts:[i]}={posts:[]}}=Dh({searchParams:{filter:"status:published",order:"published_at DESC",limit:"1",fields:"id,url"}}),{data:u}=Xv(),{mutateAsync:p}=Kv(),w=Ke(),[m,x]=A.useState("homepage"),{updateRoute:g}=Pe(),h=Mh().getParam("ref"),{formState:b,saveState:y,handleSave:v,updateForm:C,setFormState:E,okProps:j}=an({initialState:{settings:t,themeSettings:u?u.custom_theme_settings:void 0},savingDelay:500,onSave:async()=>{if(b.themeSettings?.some(ue=>ue.dirty)){const ue=await p(b.themeSettings);E(ye=>({...ye,themeSettings:ue.custom_theme_settings}))}if(b.settings.some(ue=>ue.dirty)){const{settings:ue}=await s(b.settings.filter(ye=>ye.dirty));E(ye=>({...ye,settings:ue}))}},onSaveError:w});A.useEffect(()=>{u&&E(ue=>({...ue,themeSettings:u.custom_theme_settings}))},[E,u]);const N=(ue,ye)=>{C(J=>({...J,settings:J.settings.map(de=>de.key===ue?{...de,value:ye,dirty:!0}:de)}))},D=ue=>{C(ye=>({...ye,themeSettings:ye.themeSettings?.map(J=>J.key===ue.key?{...ue,dirty:!0}:J)}))},[$,R,O,P,I,U,Y]=ot(b.settings,["description","accent_color","icon","logo","cover_image","heading_font","body_font"]),W=(b.themeSettings||[]).reduce((ue,ye)=>{const J=ye.group==="homepage"||ye.group==="post"?ye.group:"site-wide";return{...ue,[J]:(ue[J]||[]).concat(ye)}},{}),B=Object.entries(W).map(([ue,ye])=>({id:ue,settings:ye||[],title:ue==="site-wide"?"Site wide":ue==="homepage"?"Homepage":"Post"}));let ie=[];i&&(ie=[{id:"homepage",title:"Homepage"},{id:"post",title:"Post"}]);const ge=ue=>{ie.length&&x(ue)},Me=ue=>{x(ue==="post"&&i?"post":"homepage")};let K=Hn(a);switch(m){case"homepage":K=Hn(a);break;case"post":K=i.url;break}const ee=n.jsx(M2,{settings:{description:$,accentColor:R,icon:O,logo:P,coverImage:I,themeSettings:b.themeSettings,headingFont:U,bodyFont:Y},url:K}),ke=n.jsx(N2,{globalSettings:{description:$,accentColor:R,icon:O,logo:P,coverImage:I,headingFont:U,bodyFont:Y},handleSave:v,themeSettingSections:B,updateGlobalSetting:N,updateThemeSetting:D,onTabChange:Me});return n.jsx(Kr,{afterClose:()=>{g(h==="setup"?{isExternal:!0,route:"analytics"}:"design")},buttonsDisabled:j.disabled,cancelLabel:"Close",defaultTab:"homepage",dirty:y==="unsaved",okColor:j.color,okLabel:j.label||"Save",preview:ee,previewToolbarTabs:ie,selectedURL:m,sidebar:ke,sidebarPadding:!1,siteLink:Hn(a),size:"full",testId:"design-modal",title:"Design",onOk:async()=>{await v({fakeWhenUnchanged:!0})},onSelectURL:ge})},C2=({pathName:t})=>{const a=Ft(),{updateRoute:s}=Pe(),[i,u]=A.useState(null),[p,w]=A.useState(!1),[m,x]=A.useState(!1),{checkThemeLimitError:g,isThemeLimitCheckReady:h,noThemeChangesAllowed:b,isThemeLimited:y}=ku(),[v,C]=A.useState(null),[E,j]=A.useState(!1);if(A.useEffect(()=>{t==="design/change-theme"&&h?(async()=>{if(!b){w(!1),u(null);return}w(!0);const D=await g();u(D),w(!1),D&&(me.show(Un,{prompt:D,onOk:()=>s({route:"/pro",isExternal:!0})}),a.remove())})():(u(null),w(!1))},[g,h,t,a,s,b]),A.useEffect(()=>{t!=="theme/install"&&(j(!1),C(null),x(!1))},[t]),A.useEffect(()=>{const N=()=>{const P=window.location.href.split("#")[1]?.split("?")[1];return P?new URLSearchParams(P).get("ref"):null},D=R=>{C(!1);const O={prompt:R,onOk:()=>s({route:"/pro",isExternal:!0})};b?(me.show(Un,O),window.history.replaceState({},"",window.location.pathname+window.location.hash.split("?")[0]),a.remove(),s("theme")):(me.show(Un,O),a.remove(),s("theme"))};(async()=>{if(t!=="theme/install"){x(!1);return}if(j(!0),!h){x(!0);return}if(!y){C(!0),x(!1);return}x(!0);const R=N();if(!R){C(!1),x(!1);return}const O=R.split("/")[1]?.toLowerCase(),P=await g(O);if(t!=="theme/install"){x(!1);return}if(P){C(!1),x(!1),D(P);return}C(!0),x(!1)})()},[t,h,g,b,y,a,s]),t==="design/edit")return n.jsx(T2,{});if(t==="design/change-theme")return p||i?null:n.jsx(yp,{});if(t==="theme/install"){if(!E||!h||m||v===null||!v)return null;const $=window.location.href.split("#")[1]?.split("?")[1];let R=null,O=null;if($){const P=new URLSearchParams($);R=P.get("ref"),O=P.get("source")}return n.jsx(yp,{source:O,themeRef:R})}else a.remove()},I2=me.create(C2),S2=({html:t,style:a})=>{const s=i=>{const u=i.contentDocument||i.contentWindow?.document;if(!u)return;const p=`
36
36
  <html>
37
37
  <head>
38
38
  <style>body, html {padding: 0; margin: 0; overflow: hidden;}</style>
@@ -40,4 +40,4 @@ ${w}`:x.head.innerHTML+=`<style>${w}</style>`;let y=(x.doctype?new XMLSerializer
40
40
  </head>
41
41
  <body>${t}</body>
42
42
  </html>
43
- `;u.open(),u.write(p),u.close()};return n.jsx(Fu,{className:"absolute size-full overflow-hidden transition-opacity duration-500",generateContent:s,height:"100%",parentClassName:"relative h-full w-full",width:"100%"})},A2=({selectedLayout:t,accentColor:a,handleColorToggle:s,selectedColor:i,selectedLabels:u,handleLabelClick:p,embedScript:w,handleLayoutSelect:m,handleCopyClick:x,isCopied:g})=>{const{loadData:h}=kh({path:"/labels/",filterKey:"name",responseKey:"labels"}),b=async(y,v)=>{const C=await h(y);v(C.map(E=>({label:E.name,value:E.name})))};return n.jsxs("div",{className:"flex h-[calc(100vh-16vmin)] max-h-[645px] flex-col justify-between overflow-y-scroll border-l border-grey-200 p-6 pb-0 dark:border-grey-900",children:[n.jsxs("div",{children:[n.jsx(ct,{className:"mb-8",level:4,children:"Embed signup form"}),n.jsxs(Be,{gap:"sm",children:[n.jsxs("div",{className:"flex w-full items-center justify-between",children:[n.jsx("div",{children:"Layout"}),n.jsx(Pn,{activeKey:t,buttons:[{key:"all-in-one",label:"Branded",size:"md",className:"w-auto px-3!",onClick:()=>m("all-in-one")},{key:"minimal",label:"Minimal",size:"md",className:"w-auto px-3!",onClick:()=>m("minimal")}],clearBg:!1})]}),t==="all-in-one"&&n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{hex:"#08090c",title:"Dark",value:"#08090c"},{hex:"#ffffff",title:"Light",value:"#ffffff"},{hex:a||"#d74780",title:"Accent",value:a||"#d74780"}],title:"Background color",value:i,onChange:y=>{y&&s(y)}}),n.jsx(Iy,{hint:"Will be applied to all members signing up via this form",loadOptions:Ri(b,500),placeholder:"Pick one or more labels (optional)",title:"Labels at signup",values:u||[],async:!0,canCreate:!0,defaultOptions:!0,onChange:p}),n.jsx(nr,{className:"text-grey-800",fontStyle:"mono",hint:"Paste this code onto any website where you'd like your signup to appear.",title:"Embed code",value:`${w}`,onChange:()=>{}})]})]}),n.jsx(Sy,{height:74,children:n.jsx("div",{className:"flex w-full justify-end",children:n.jsx(Ie,{color:g?"green":"black",label:g?"Copied!":"Copy code",onClick:x})})})]})};function Fp(t){return t?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"):""}const Pp=({preview:t,config:a,settings:s,labels:i,backgroundColor:u,layout:p})=>{const w=a.blogUrl,m=a.signupForm.url.replace("{version}",a.signupForm.version);let x={site:w,locale:s.locale,"button-color":s.accentColor,"button-text-color":vn(s.accentColor).hex()};for(const[C,E]of i.entries())x[`label-${C+1}`]=E.name;let g="min-height: 58px;max-width: 440px;margin: 0 auto;width: 100%";p==="all-in-one"&&(s.icon&&s.icon!==""&&(x.icon=s.icon.replace(/\/content\/images\//,"/content/images/size/w192h192/")),x.title=s.title,x.description=s.description,x["background-color"]=u,x["text-color"]=vn(u).hex(),g="height: 40vmin;min-height: 360px"),t&&(p==="minimal"?g="min-height: 58px; max-width: 440px;width: 100%;position: absolute; left: 50%; top:50%; transform: translate(-50%, -50%);":g="height: 100vh");let h="";const b=["background-color","text-color","button-color","button-text-color","title","description","icon","site","locale"],y=Object.keys(x).sort((C,E)=>b.indexOf(C)-b.indexOf(E));for(const C of y){const E=x[C];h+=` data-${C}="${Fp(E)}"`}const v=`<div style="${Fp(g)}"><script src="${encodeURI(m)}"${h} async><\/script></div>`;return t&&p==="minimal"?`<div style="position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 16px 16px;background-position: 0 0, 8px 8px;;"></div>${v}`:v},D2=me.create(()=>{const[t,a]=A.useState("#08090c"),[s,i]=A.useState([]),[u,p]=A.useState("all-in-one"),[w,m]=A.useState(""),[x,g]=A.useState(""),[h,b]=A.useState(!1),{updateRoute:y}=Pe(),{config:v}=ze(),{localSettings:C,siteData:E}=Gr(),[j,T,D,$,R]=ot(C,["accent_color","title","description","locale","icon"]),[O,P]=A.useState({active:!1});A.useEffect(()=>{if(!E)return;const W={config:{blogUrl:E.url,signupForm:{url:v?.signupForm?.url,version:v?.signupForm?.version}},settings:{accentColor:j||"#d74780",title:T||"",locale:$||"en",icon:R||"",description:D||""},labels:s.map(({label:ge})=>({name:ge})),backgroundColor:t||"#08090c",layout:u},B=Pp({preview:!0,...W});m(B);const ie=Pp({preview:!1,...W});g(ie)},[E,j,s,v,T,t,u,$,R,D]);const I=async()=>{try{await navigator.clipboard.writeText(x),b(!0),setTimeout(()=>b(!1),2e3)}catch(W){console.error("Failed to copy text: ",W)}},U=W=>{a(W)},Y=W=>{if(W?.length){const B=W?.map(({value:ie})=>({label:ie,value:ie}));i(B)}else i([])};return n.jsx(ut,{afterClose:()=>{y("embed-signup-form")},cancelLabel:"",footer:!1,height:645,padding:!1,testId:"embed-signup-form",title:"",topRightContent:"close",width:1120,children:n.jsxs("div",{className:"grid grid-cols-[5.2fr_2.8fr]",children:[n.jsx(S2,{html:w,style:u}),n.jsx(A2,{accentColor:j,customColor:O,embedScript:x,handleColorToggle:U,handleCopyClick:I,handleLabelClick:Y,handleLayoutSelect:p,isCopied:h,selectedColor:t,selectedLabels:s,selectedLayout:u,setCustomColor:P})]})})}),$2=me.create(()=>{const{updateRoute:t}=Pe(),{settings:a}=ze(),{mutateAsync:s}=Nr(),i=Ke(),[u,p]=A.useState(""),[w]=ot(a,["firstpromoter"]),[m]=ot(a,["firstpromoter_id"]),[x,g]=A.useState("Save"),[h,b]=A.useState(!!w);A.useEffect(()=>{b(w||!1),p(m||null)},[w,m]);const y=async()=>{const v=[{key:"firstpromoter",value:h},{key:"firstpromoter_id",value:u}];try{g("Saving..."),await Promise.all([s(v),new Promise(C=>{setTimeout(C,1e3)})]),g("Saved")}catch(C){i(C)}finally{setTimeout(()=>g("Save"),1e3)}};return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:h!==w||u!==m,okColor:x==="Saved"?"green":"black",okLabel:x,testId:"firstpromoter-modal",title:"",onOk:async()=>{try{await y()}catch(v){i(v)}},children:[n.jsx(Qr,{detail:"Launch your own member referral program",icon:n.jsx(Ge,{className:"-mt-2",name:"firstpromoter",size:56}),title:"FirstPromoter"}),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{marginBottom:!1,title:"FirstPromoter configuration",grouped:!0,children:[n.jsx(Ye,{checked:h,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://firstpromoter.com/?fpr=ghost&fp_sid=admin",rel:"noopener noreferrer",target:"_blank",children:"FirstPromoter"})," for tracking referrals"]}),label:"Enable FirstPromoter",onChange:v=>{b(v.target.checked)}}),h&&n.jsx(ve,{hint:n.jsxs(n.Fragment,{children:["Affiliate and referral tracking, find your ID ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/firstpromoter-id/",rel:"noopener noreferrer",target:"_blank",children:"here"})]}),placeholder:"XXXXXXXX",title:"FirstPromoter account ID",value:u||"",onChange:v=>{p(v.target.value)}})]})})]})}),R2="ActionsResponseType",L2=Zv({dataType:R2,path:"/actions/",returnData:t=>{const{pages:a}=t;let s=a.flatMap(p=>p.actions.map(({context:w,...m})=>({...m,context:JSON.parse(w)})));s=s.reverse();let i=1;s.forEach((p,w)=>{const m=s[w+1];m&&p.resource_id===m.resource_id&&p.event===m.event?(p.skip=!0,i+=1):i>1&&(p.count=i,i=1)});const u=a[a.length-1].meta;return{actions:s.reverse(),meta:u,isEnd:u?u.pagination.pages===u.pagination.page:!0}}}),O2=t=>{var a,s;let i=t.resource_type;if(t.event!=="deleted")switch(t.resource_type){case"page":case"post":return!t.resource||!t.resource.id?void 0:(i==="post"&&(a=t.context)!=null&&a.type&&(i=(s=t.context)==null?void 0:s.type),{isExternal:!0,route:`editor/${i}/${t.resource.id}`,models:[i,t.resource.id]});case"integration":return!t.resource||!t.resource.id?void 0:{route:`integrations/${t.resource.id}`};case"offer":return!t.resource||!t.resource.id?void 0:{isExternal:!0,route:`offers/${t.resource.id}`,models:[t.resource.id]};case"tag":return!t.resource||!t.resource.slug?void 0:{isExternal:!0,route:"tag",models:[t.resource.slug]};case"product":return{route:"tiers"};case"user":return!t.resource||!t.resource.slug?void 0:{route:`staff/${t.resource.slug}`}}},F2=t=>{var a,s,i,u,p,w,m;let x=t.resource_type;x==="api_key"?x="API key":x==="setting"?x="settings":x==="product"&&(x="tier"),x==="post"&&(a=t.context)!=null&&a.type&&(x=(s=t.context)==null?void 0:s.type);let g=t.event;return t.event==="edited"&&(i=t.context)!=null&&i.action_name&&(g=(u=t.context)==null?void 0:u.action_name),(p=t.context)!=null&&p.count&&((w=t.context)==null?void 0:w.count)>1?`${(m=t.context)==null?void 0:m.count} ${x}s ${g}`:`${x.slice(0,1).toUpperCase()}${x.slice(1)} ${g}`},P2=t=>{var a,s,i,u;if(t.resource_type==="setting"&&(a=t.context)!=null&&a.group&&(s=t.context)!=null&&s.key)return{group:(i=t.context)==null?void 0:i.group,key:(u=t.context)==null?void 0:u.key}},Hp=t=>{var a,s;return typeof((a=t.context)==null?void 0:a.count)=="number"&&((s=t.context)==null?void 0:s.count)>1},H2=({action:t})=>{let a="pen";switch(t.event){case"added":a="add";break;case"deleted":a="trash";break}return n.jsx(Ge,{name:a,size:"xs"})},z2=({action:t})=>n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(jh,{bgColor:Th(t.actor?.name||t.actor?.slug||""),image:t.actor?.image??void 0,label:Eh(t.actor?.name||t.actor?.slug),labelColor:"white",size:"md"}),n.jsx("div",{className:"absolute -right-1 -bottom-1 z-30 flex items-center justify-center rounded-full border border-grey-100 bg-white p-1 shadow-sm dark:border-grey-900 dark:bg-black",children:n.jsx(H2,{action:t})})]}),Mr=({label:t,item:a,excludedItems:s,toggleItem:i})=>n.jsx(Ye,{checked:!s.includes(a),direction:"rtl",label:t,labelClasses:"text-sm",onChange:u=>i(a,u.target.checked)}),U2=({excludedEvents:t,excludedResources:a,toggleEventType:s,toggleResourceType:i})=>{const{updateRoute:u}=Pe(),p=kh({path:"/users/",filterKey:"name",responseKey:"users"}),w=async(h,b)=>{const y=await p.loadData(h);b(y.map(v=>({label:v.name,value:v.id})))},[m,x]=A.useState(),g=()=>{x(null)};return n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx(Lu,{position:"end",trigger:n.jsx(Ie,{color:"outline",label:"Filter"}),children:n.jsxs("div",{className:"flex w-[220px] flex-col gap-8 p-5",children:[n.jsxs(Ii,{children:[n.jsx(Mr,{excludedItems:t,item:"added",label:"Added",toggleItem:s}),n.jsx(Mr,{excludedItems:t,item:"edited",label:"Edited",toggleItem:s}),n.jsx(Mr,{excludedItems:t,item:"deleted",label:"Deleted",toggleItem:s})]}),n.jsxs(Ii,{children:[n.jsx(Mr,{excludedItems:a,item:"post",label:"Posts",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"page",label:"Pages",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"tag",label:"Tags",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"offer,product",label:"Tiers & offers",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"api_key,integration,setting,user,webhook",label:"Settings & staff",toggleItem:i})]})]})}),n.jsx("div",{className:"w-[200px]",children:n.jsx(kt,{loadOptions:Ri(w,500),placeholder:"Search staff",value:m,async:!0,defaultOptions:!0,isClearable:!0,onSelect:h=>{h?(x(h),u(`history/view/${h.value}`)):(g(),u("history/view"))}})})]})},B2=({action:t})=>{const{updateRoute:a}=Pe(),s=P2(t);if(s){const{group:i,key:u}=s;return n.jsxs(n.Fragment,{children:[i.slice(0,1).toUpperCase(),i.slice(1),i!==u&&n.jsxs("span",{className:"text-xs",children:[" ",n.jsxs("code",{className:"mb-1 bg-white text-grey-800 dark:bg-grey-900 dark:text-white",children:["(",u,")"]})]})]})}else if(t.resource?.title||t.resource?.name||t.context?.primary_name){const i=O2(t);return i?n.jsx("a",{className:"cursor-pointer font-bold",onClick:u=>{u.preventDefault(),a(i)},children:t.resource?.title||t.resource?.name}):n.jsx(n.Fragment,{children:t.resource?.title||t.resource?.name||t.context?.primary_name})}else return n.jsx("span",{className:"text-grey-500",children:"(unknown)"})},W2=t=>{const s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).formatToParts(t).reduce((i,{type:u,value:p})=>({...i,[u]:p}),{});return`${s.year}-${s.month}-${s.day} ${s.hour}:${s.minute}:${s.second}`},Y2=200,q2=me.create(({params:t})=>{const a=Ft(),{updateRoute:s}=Pe(),[i,u]=A.useState([]),[p,w]=A.useState(["label"]),{data:m,fetchNextPage:x,isFetchingNextPage:g}=L2({searchParams:{include:"actor,resource",limit:Y2.toString(),filter:[i.length&&`event:-[${i.join(",")}]`,p.length&&`resource_type:-[${p.join(",")}]`,t?.user&&`actor_id:'${t.user}'`].filter(Boolean).join("+")},getNextPageParams:(v,C)=>({...C,filter:[C.filter,v.actions.length&&`created_at:<'${W2(new Date(v.actions[v.actions.length-1].created_at))}'`].join("+")}),keepPreviousData:!0}),h=A.useCallback(()=>{m?.isEnd||x()},[m?.isEnd,x]),b=(v,C,E)=>{v(j=>E?j.concat(C):j.filter(T=>T!==C))},y=i.length>0||p.length>0||t?.user;return n.jsx(ut,{afterClose:()=>{s("history")},cancelLabel:"",okLabel:"Close",scrolling:!0,size:"md",stickyFooter:!0,stickyHeader:!0,testId:"history-modal",title:"History",topRightContent:n.jsx(U2,{excludedEvents:i,excludedResources:p,toggleEventType:(v,C)=>b(u,v,!C),toggleResourceType:(v,C)=>b(w,v,!C),userId:t?.user}),onOk:()=>{a.remove(),s("history")},children:n.jsx("div",{className:"relative mt-6",children:n.jsx(er,{hint:m?.isEnd&&m.actions.length>0?"End of history log":void 0,children:m?.actions?m.actions.length>0?n.jsxs(n.Fragment,{children:[n.jsx(R1,{offset:250,onTrigger:h}),m.actions.map(v=>!v.skip&&n.jsx(Cr,{avatar:n.jsx(z2,{action:v}),detail:[new Date(v.created_at).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"}),new Date(v.created_at).toLocaleTimeString("default",{hour:"2-digit",minute:"2-digit",second:"2-digit"})].join(" | "),title:n.jsxs("div",{className:"text-sm",children:[F2(v),Hp(v)?"":": ",!Hp(v)&&n.jsx(B2,{action:v}),v.count?n.jsxs(n.Fragment,{children:[" ",v.count," times"]}):null,n.jsxs("span",{children:[" — by ",v.actor?.name||v.actor?.slug]})]}),separator:!0})),g&&n.jsx("div",{className:"flex items-center justify-center p-5",children:n.jsx(Ci,{size:"md"})})]}):n.jsx($f,{icon:"time-back",children:y?"No entries match your current filters.":"No history entries found."}):m===void 0?n.jsx("div",{className:"flex items-center justify-center px-5 pt-12 pb-10",children:n.jsx(Ci,{})}):n.jsx($f,{children:"No entries found."})})})})}),G2=me.create(()=>{const t=me.useModal(),a=su(),s=su({searchParams:{limit:"100",permissions:"assign"}}),i=Fs(),{updateRoute:u}=Pe(),{config:p}=ze(),w=p.labs.superEditors,m=A.useRef(null),[x,g]=A.useState(""),[h,b]=A.useState(""),[y,v]=A.useState("contributor"),[C,E]=A.useState({}),{data:{users:j}={}}=Vv(),{data:{invites:T}={}}=Ay(),{mutateAsync:D}=Dy(),$=Ke();if(A.useEffect(()=>{m.current&&m.current.focus()},[]),A.useEffect(()=>{h==="saved"&&setTimeout(()=>{b("")},2e3)},[h]),A.useEffect(()=>{y!=="contributor"&&i?.isLimited("staff")?i.errorIfWouldGoOverLimit("staff").then(()=>{E(W=>({...W,role:void 0}))}).catch(W=>{if(W instanceof Ps){E(B=>({...B,role:W.message}));return}else throw W}):E(W=>({...W,role:void 0}))},[i,y]),!a.data?.roles||!s.data?.roles)return null;const R=a.data.roles,O=s.data.roles;let P="Send invitation";h==="saving"?P="Sending...":h==="saved"?P="Invite sent!":h==="error"&&(P="Retry");const I=async()=>{if(h!=="saving"){if(!xt.isEmail(x)){E({email:"Please enter a valid email address."});return}if(j?.some(({email:W})=>W===x)){E({email:"A user with that email address already exists."});return}if(T?.some(({email:W})=>W===x)){E({email:"A user with that email address was already invited."});return}if(!C.role){b("saving");try{await D({email:x,roleId:R.find(({name:W})=>W.toLowerCase()===y.toLowerCase()).id}),b("saved"),rt({title:"Invitation sent",message:`${x}`,type:"success"}),t.remove(),u("staff?tab=invited")}catch(W){b("error");let B="Failed to send invitation",ie=n.jsxs("span",{children:["If the problem persists, ",n.jsxs("a",{href:"https://ghost.org/contact",children:[n.jsx("u",{children:"contact support"}),"."]}),"."]});W instanceof Qv&&W.data?.errors?.[0]?.type==="EmailError"&&(ie=n.jsx("span",{children:"Check your Mailgun configuration."})),rt({title:B,message:ie,type:"error"}),$(W,{withToast:!1});return}}}},U=[{hint:"Can create and edit their own posts, but cannot publish. An Editor needs to approve and publish for them.",label:"Contributor",value:"contributor"},{hint:"A trusted user who can create, edit and publish their own posts, but can’t modify others.",label:"Author",value:"author"},{hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site.",label:"Editor",value:"editor"},{hint:"Trusted staff user who should be able to manage all content and users, as well as site settings and options.",label:"Administrator",value:"administrator"}];w&&(U[2]={hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site. Can manage members and moderate comments.",label:"Editor (beta mode)",value:"super editor"});const Y=U.filter(W=>O.some(B=>B.name===W.label||B.name==="Super Editor"&&W.label==="Editor (beta mode)"));return C.email&&(P="Retry"),n.jsx(ut,{afterClose:()=>{u("staff")},cancelLabel:"",okColor:h==="error"||C.email?"red":"black",okLabel:P,testId:"invite-user-modal",title:"Invite a new staff user",width:540,onOk:I,children:n.jsxs("div",{className:"flex flex-col gap-6 py-4",children:[n.jsx("p",{children:"Send an invitation for a new person to create a staff account on your site, and select a role that matches what you’d like them to be able to do."}),n.jsx(ve,{error:!!C.email,hint:C.email,inputRef:m,placeholder:"jamie@example.com",title:"Email address",value:x,onChange:W=>{g(W.target.value)},onKeyDown:()=>E(W=>({...W,email:void 0}))}),n.jsx("div",{children:n.jsx($1,{error:!!C.role,hint:C.role,id:"role",options:Y,selectedOption:y,separator:!0,title:"Role",onSelect:W=>{v(W)}})})]})})}),zp=({items:t,setItems:a})=>{const s=y=>!!(y.label&&!y.label.match(/^\s*$/)||y.url!=="/"),i=mm({items:t.map(y=>({...y,errors:{}})),setItems:y=>a(y.map(({url:v,label:C})=>({url:v,label:C}))),blank:{url:"/",label:"",errors:{}},canAddNewItem:s}),u=new RegExp(/^(\/|#|[a-zA-Z0-9-]+:)/),p=y=>{const v={};return(!y.label||y.label.match(/^\s*$/))&&(v.label="You must specify a label"),(!y.url||y.url.match(/\s/)||!xt.isURL(y.url,{require_protocol:!0})&&!y.url.match(u))&&(v.url="You must specify a valid URL or relative path"),v},w=(y,v)=>{const C=i.items.find(E=>E.id===y);i.updateItem(y,{...C.item,...v})},m=()=>{const y=p(i.newItem);Object.values(y).some(v=>v)?i.setNewItem({...i.newItem,errors:y}):i.addItem()},x=y=>{i.removeItem(y)},g=(y,v)=>{i.moveItem(y,v)},h="new",b=(y,v)=>{if(y===h)i.setNewItem({...i.newItem,errors:{...i.newItem.errors,[v]:void 0}});else{const C=i.items.find(E=>E.id===y).item;i.updateItem(y,{...C,errors:{...C.errors,[v]:void 0}})}};return{items:i.items.map(({item:y,id:v})=>({...y,id:v})),updateItem:w,addItem:m,removeItem:x,moveItem:g,newItem:{...i.newItem,id:h},setNewItem:y=>i.setNewItem({...i.newItem,...y}),clearError:b,validate:()=>{let y=!0;if(i.items.forEach(({item:v,id:C})=>{let E=p(v);Object.values(E).some(j=>j)&&(y=!1,i.updateItem(C,{...v,errors:E}))}),s(i.newItem)){const v=p(i.newItem);Object.values(v).some(C=>C)&&(y=!1,i.setNewItem({...i.newItem,errors:v}))}return y}}},Up=({baseUrl:t,item:a,updateItem:s,addItem:i,clearError:u,labelPlaceholder:p,unstyled:w,textFieldClasses:m,action:x,className:g,...h})=>n.jsxs("div",{className:he("flex w-full items-start gap-3",g),"data-testid":"navigation-item-editor",...h,children:[n.jsx("div",{className:"flex flex-1 pt-1",children:n.jsx(ve,{className:m,containerClassName:"grow",error:!!a.errors.label,hint:a.errors.label,placeholder:p,title:"Label",unstyled:w,value:a.label,hideTitle:!0,onChange:b=>s?.({label:b.target.value}),onKeyDown:b=>{s?.({label:b.target.value}),b.key==="Enter"&&(b.preventDefault(),i?.()),a.errors.label&&u?.("label")}})}),n.jsx("div",{className:"flex flex-1 pt-1",children:n.jsx(wh,{baseUrl:t,className:m,containerClassName:"grow",error:!!a.errors.url,hint:a.errors.url,title:"URL",unstyled:w,value:a.url,hideTitle:!0,onChange:b=>s?.({url:b||""}),onKeyDown:b=>{const y=Ni(b.target.value,t,!0);s?.({url:y.save||""})},onKeyUp:b=>{if(b.key==="Enter"){b.preventDefault();const y=Ni(b.target.value,t,!0);s?.({url:y.save||""}),i?.()}a.errors.url&&u?.("url")}})}),x]}),Bp=({baseUrl:t,navigation:a})=>n.jsxs("div",{className:"w-full pt-2",children:[n.jsx(bh,{items:a.items,itemSeparator:!1,renderItem:s=>n.jsx(Up,{action:n.jsx(Ie,{className:"mt-1 self-center",icon:"trash",iconColorClass:"dark:text-white",size:"sm",onClick:()=>a.removeItem(s.id)}),baseUrl:t,clearError:i=>a.clearError(s.id,i),item:s,updateItem:i=>a.updateItem(s.id,i)}),onMove:a.moveItem}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ge,{colorClass:"text-grey-300 dark:text-grey-900 mt-1",name:"add",size:"sm"}),n.jsx(Up,{action:n.jsx(Ie,{className:"mx-2 mt-1 self-center rounded bg-green p-1","data-testid":"add-button",icon:"add",iconColorClass:"text-white",size:"sm",unstyled:!0,onClick:a.addItem}),addItem:a.addItem,baseUrl:t,className:"mt-1",clearError:s=>a.clearError(a.newItem.id,s),"data-testid":"new-navigation-item",item:a.newItem,labelPlaceholder:"New item label",updateItem:a.setNewItem})]})]}),X2=me.create(()=>{const t=Ft(),{updateRoute:a}=Pe(),{localSettings:s,updateSetting:i,saveState:u,handleSave:p,siteData:w}=Gr(),[m,x]=ot(s,["navigation","secondary_navigation"]).map(v=>JSON.parse(v||"[]")),g=zp({items:m,setItems:v=>{i("navigation",JSON.stringify(v))}}),h=zp({items:x,setItems:v=>i("secondary_navigation",JSON.stringify(v))}),[b,y]=A.useState("primary-nav");return n.jsx(ut,{afterClose:()=>{a("navigation")},buttonsDisabled:u==="saving",cancelLabel:"Close",dirty:s.some(v=>v.dirty),okLabel:u==="saving"?"Saving...":"Save",scrolling:!0,size:"lg",stickyFooter:!0,testId:"navigation-modal",title:"Navigation",onOk:async()=>{g.validate()&&h.validate()&&(await p(),t.remove(),a("navigation"))},children:n.jsx("div",{className:"mt-6 mb-1",children:n.jsx(Tr,{selectedTab:b,tabs:[{id:"primary-nav",title:"Primary",contents:n.jsx(Bp,{baseUrl:w.url,navigation:g})},{id:"secondary-nav",title:"Secondary",contents:n.jsx(Bp,{baseUrl:w.url,navigation:h})}],onTabChange:y})})})}),K2=""+new URL("user-cover-yM4cP_Mo.jpg",import.meta.url).href,Z2=""+new URL("latest-posts-1-D7-ilqhR.jpg",import.meta.url).href,V2=""+new URL("latest-posts-2-BPfbGB8B.jpg",import.meta.url).href,Q2=""+new URL("latest-posts-3-D72O3dn8.jpg",import.meta.url).href,J2=({senderName:t,senderEmail:a,senderReplyTo:s,headerImage:i,headerIcon:u,headerTitle:p,headerSubtitle:w,showPostTitleSection:m,showExcerpt:x,titleAlignment:g,titleFontCategory:h,titleFontWeight:b,bodyFontCategory:y,authorPlaceholder:v,showCommentCta:C,showFeatureImage:E,showFeedback:j,showLatestPosts:T,showSubscriptionDetails:D,siteTitle:$,footerContent:R,showBadge:O,backgroundColor:P,headerBackgroundColor:I,accentColor:U,textColor:Y,secondaryTextColor:W,headerTextColor:B,secondaryHeaderTextColor:ie,postTitleColor:ge,sectionTitleColor:Me,dividerColor:K,buttonColor:ee,buttonTextColor:ke,linkColor:ue,buttonCorners:ye,buttonStyle:J,imageCorners:de,linkStyle:fe,dividerStyle:ce})=>{const V=u||p,{config:be}=ze(),Le=new Date().toLocaleDateString("default",{year:"numeric",month:"short",day:"numeric"}),it=new Date().getFullYear(),wt=R?R.replace(/<a/g,'<a target="_blank" rel="noopener noreferrer"'):"";let Pt;gh(be)?Pt=n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"From: "}),n.jsxs("span",{children:[t," (",a,")"]})]}),n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"Reply-to: "}),s||a]})]}):Pt=n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:t}),n.jsxs("span",{children:[" ",a]})]}),n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"To:"})," Jamie Larson jamie@example.com"]})]});let re="mb-5 text-pretty leading-[1.7] text-black";return h==="serif"&&y==="serif"?re=he(re,"mb-8 font-serif text-[2.0rem] leading-tight"):h!=="serif"&&y==="serif"?re=he(re,"mb-8 text-[1.7rem] leading-tight tracking-tight"):h==="serif"&&y!=="serif"?re=he(re,"mb-8 font-serif text-[2.0rem] leading-tight"):re=he(re,"mb-8 text-[1.9rem] leading-tight tracking-tight"),g==="center"&&(re=he(re,"text-center")),n.jsx("div",{className:"relative flex grow flex-col",children:n.jsx("div",{className:"absolute inset-0 m-5 flex items-center justify-center",children:n.jsxs("div",{className:"mx-auto my-0 flex max-h-full w-full max-w-[700px] flex-col overflow-hidden rounded-[4px] text-black shadow-sm",children:[n.jsx("div",{className:"flex-column flex min-h-[77px] justify-center rounded-t-sm border-b border-grey-200 bg-white px-6 text-sm text-grey-700",children:Pt}),n.jsxs("div",{className:"overflow-y-auto text-sm",style:{backgroundColor:P},children:[n.jsxs("div",{className:"px-[7rem]",style:{backgroundColor:I},children:[i&&n.jsx("div",{children:n.jsx("img",{alt:"",className:"mb-4 block pt-6",src:i})}),V&&n.jsxs("div",{className:"py-3",children:[u&&n.jsx("img",{alt:"",className:"mx-auto mb-2 size-10",role:"presentation",src:u}),p&&n.jsx("h4",{className:"mb-1 text-center text-[1.6rem] leading-tight font-bold tracking-tight text-grey-900 uppercase",style:{color:B},children:p}),w&&n.jsx("h5",{className:"mb-1 text-center text-[1.3rem] font-normal text-grey-700",style:{color:ie},children:w})]}),m&&n.jsxs("div",{className:he("flex flex-col py-8",g==="center"?"items-center":"items-start"),children:[n.jsx("h2",{className:he("text-4xl leading-supertight font-bold text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold",g==="center"?"text-center":"text-left",x?"mb-2":"mb-8"),style:{color:ge},children:"Your email newsletter"}),x&&n.jsx("p",{className:re,style:{color:B},children:"A subtitle to highlight key points and engage your readers."}),n.jsxs("div",{className:he("flex w-full justify-between text-center text-md leading-none text-grey-700",g==="center"?"flex-col gap-1":"flex-row"),children:[n.jsxs("p",{className:"pb-1 text-[1.3rem]",style:{color:ie},children:["By ",v,n.jsx("span",{className:"before:pr-1 before:pl-0.5 before:content-['•']",children:Le})]}),n.jsx("p",{className:"pb-1 text-[1.3rem] underline",style:{color:ie},children:n.jsx("span",{children:"View in browser"})})]})]}),E&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:he("h-[unset] w-full max-w-[600px] bg-cover bg-no-repeat",m?"":"pt-6"),children:n.jsx("img",{alt:"Feature",className:he("min-h-full min-w-full shrink-0",de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:K2})}),n.jsx("div",{className:"mt-1 w-full max-w-[600px] pb-8 text-center text-[1.3rem] text-grey-700",style:{color:ie},children:"Feature image caption"})]})]}),n.jsxs("div",{className:he("px-[7rem]",I!=="transparent"&&"pt-10"),children:[n.jsxs("div",{className:he("max-w-[600px] border-b border-grey-200 pb-[52px] leading-[27.2px] text-black",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted",y==="serif"?"font-serif text-[1.8rem]":"text-[1.7rem] tracking-tight",E||m?"":"pt-8"),style:{borderColor:K},children:[n.jsx("p",{className:"mb-6",style:{color:Y},children:"This is what your content will look like when you send one of your posts as an email newsletter to your subscribers."}),n.jsx("p",{className:"mb-6",style:{color:Y},children:"Over there on the right you'll see some settings that allow you to customize the look and feel of this template – from colors and typography to layout and buttons – to make it perfectly suited to your brand."}),n.jsx("p",{className:"mb-[52px]",style:{color:Y},children:"Email templates are exceptionally finnicky to make, but we've spent a long time optimising this one to make it work beautifully across devices, email clients and content types. So, you can trust that every email you send with Ghost will look great and work well. Just like the rest of your site."}),n.jsx("hr",{className:he("my-[52px] border-[#e0e7eb]",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-t-0 border-b-2 border-dotted"),style:{borderColor:K}}),n.jsx("h3",{className:he("mb-[13px] text-[2.6rem] leading-supertight",h==="serif"&&"font-serif",h==="sans_serif"&&"font-sans",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"Need inspiration?"}),n.jsxs("p",{className:"mb-[27px]",style:{color:Y},children:["We've put together a ",n.jsx("a",{className:he(fe==="underline"&&"underline",fe==="bold"&&"font-bold"),href:"https://ghost.org/help/email-design/",rel:"noopener noreferrer",style:{color:ue||U},target:"_blank",children:"quick guide"})," that walks through all of the available settings, along with a few examples of what's possible."]}),n.jsx("a",{className:he("inline-block border px-[18px] py-2 font-sans text-[15px]",ye==="rounded"&&"rounded-[6px]",ye==="pill"&&"rounded-full",ye==="square"&&"rounded-none",J==="outline"?"bg-transparent":"border-transparent text-white",fe==="bold"?"font-bold":"font-semibold"),href:"https://ghost.org/help/email-design/",rel:"noopener noreferrer",style:J==="outline"?{borderColor:ee||U,color:ee||U}:{backgroundColor:ee||U,color:ke},target:"_blank",children:"Learn more"})]}),(j||C)&&n.jsx("div",{className:he("grid gap-5 border-b border-grey-200 px-6 py-5",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:n.jsxs("div",{className:"flex justify-center gap-3",children:[j&&n.jsxs(n.Fragment,{children:[n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"thumbs-up",size:"md"}),n.jsx("span",{children:"More like this"})]})}),n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"thumbs-down"}),n.jsx("span",{children:"Less like this"})]})})]}),C&&n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"comment"}),n.jsx("span",{children:"Comment"})]})})]})}),T&&n.jsxs("div",{className:he("border-b border-grey-200 py-6",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:[n.jsx("h3",{className:"mt-2 mb-4 pb-1 text-[1.2rem] font-semibold tracking-wide text-black uppercase",style:{color:Y},children:"Keep reading"}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"The three latest posts published on your site"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Posts sent as an email only will never be shown here."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:Z2})})]}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"Displayed at the bottom of each newsletter"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Giving your readers one more place to discover your stories."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:V2})})]}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"To keep your work front and center"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Making sure that your audience stays engaged."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:Q2})})]})]}),D&&n.jsxs("div",{className:he("border-b border-grey-200 py-8",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:[n.jsx("h4",{className:"mb-3 text-[1.2rem] tracking-wide text-black uppercase",style:{color:Y},children:"Subscription details"}),n.jsxs("p",{className:"m-0 mb-4 text-base",style:{color:Y},children:["You are receiving this because you are a paid subscriber to ",$,". Your subscription will renew on 17 Jul 2024."]}),n.jsxs("div",{className:"flex",children:[n.jsxs("div",{className:"shrink-0 text-base",children:[n.jsx("p",{style:{color:Y},children:"Name: Jamie Larson"}),n.jsx("p",{style:{color:Y},children:"Email: jamie@example.com"}),n.jsx("p",{style:{color:Y},children:"Member since: 17 July 2023"})]}),n.jsx("span",{className:he("w-full self-end text-right text-base whitespace-nowrap",fe==="underline"&&"underline",fe==="bold"&&"font-bold"),style:{color:ue||U},children:"Manage subscription"})]})]}),n.jsxs("div",{className:"flex flex-col items-center pt-10",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:wt||""},className:"text px-8 py-3 text-center text-[1.3rem] leading-base break-words text-grey-700 [&_a]:underline",style:{color:W}}),n.jsxs("div",{className:"px-8 pt-3 pb-14 text-center text-[1.3rem] text-grey-700",children:[n.jsxs("span",{style:{color:W},children:[$," © ",it," — "]}),n.jsx("span",{className:"pointer-events-none cursor-auto underline",style:{color:W},children:"Unsubscribe"})]}),O&&n.jsx("div",{className:"flex flex-col items-center pt-[10px] pb-[40px]",children:n.jsxs("a",{className:"pointer-events-none inline-flex cursor-auto items-center px-2 py-1 text-[1.25rem] font-semibold tracking-tight text-grey-900",href:"https://ghost.org",style:{color:Y},children:[n.jsx($y,{className:"mr-[6px] size-4"}),n.jsx("span",{children:"Powered by Ghost"})]})})]})]})]})]})})})},e8=({newsletter:t})=>{const{currentUser:a,settings:s,siteData:i,config:u}=ze(),[p,w,m,x,g]=ot(s,["title","icon","comments_enabled","support_email_address","default_email_address"]);let h=null;t.show_header_title?h=p||null:t.show_header_name&&(h=t.name);const b=t.show_header_title&&t.show_header_name?t.name:void 0,y=t.show_comment_cta&&m!=="off",v=t.feedback_enabled,C=()=>{const B=t.background_color;return/#([0-9a-f]{3}){1,2}$/i.test(B)?B:"#ffffff"},E=()=>{const B=t.header_background_color;return!B||B==="transparent"?"transparent":/#([0-9a-f]{3}){1,2}$/i.test(B)?B:"transparent"},j=()=>{const B=t.button_color;if(/#([0-9a-f]{3}){1,2}$/i.test(B||""))return B;if(B===null){const ge=C();return vn(ge).hex()}return i.accent_color},T=()=>{const B=t.button_style,ie=j();if(ie&&B==="fill")return vn(ie).hex()},D=()=>{const B=t.link_color===void 0?"accent":t.link_color,ie=/#([0-9a-f]{3}){1,2}$/i;return B==="accent"?i.accent_color:ie.test(B||"")?B:vn(C()).hex()},$=()=>{const B=t.post_title_color;if(/#([0-9a-f]{3}){1,2}$/i.test(B||""))return B;if(B==="accent")return i.accent_color;const ge=E(),Me=ge==="transparent"?C():ge;return vn(Me).hex()},R=()=>{const B=t.section_title_color;return/#([0-9a-f]{3}){1,2}$/i.test(B||"")?B:B==="accent"?i.accent_color:vn(C()).hex()},O=()=>{const B=t.divider_color;return/#([0-9a-f]{3}){1,2}$/i.test(B||"")?B:B==="accent"?i.accent_color:"#e0e7eb"},P=vn(C()).hex(),I=vn(C()).alpha(.5).toString(),U=E()==="transparent"?P:vn(E()).hex(),Y=E()==="transparent"?I:vn(E()).alpha(.5).toString(),W={backgroundColor:C(),headerBackgroundColor:E(),postTitleColor:$()||void 0,sectionTitleColor:R()||void 0,buttonColor:j()||void 0,buttonTextColor:T()||void 0,linkColor:D()||void 0,dividerColor:O()||void 0,textColor:P,secondaryTextColor:I,headerTextColor:U,secondaryHeaderTextColor:Y};return n.jsx(J2,{accentColor:i.accent_color,authorPlaceholder:a.name||a.email,backgroundColor:W.backgroundColor||"#ffffff",bodyFontCategory:t.body_font_category,buttonCorners:t.button_corners||"rounded",buttonStyle:t.button_style||"fill",dividerStyle:t.divider_style||"solid",footerContent:t.footer_content,headerBackgroundColor:W.headerBackgroundColor||"transparent",headerIcon:t.show_header_icon?w:void 0,headerImage:t.header_image,headerSubtitle:b,headerTitle:h,imageCorners:t.image_corners||"square",linkStyle:t.link_style||"underline",senderEmail:ju(t,u,g),senderName:t.sender_name||p,senderReplyTo:au(t,u,x,g),showBadge:t.show_badge,showCommentCta:y,showExcerpt:t.show_excerpt,showFeatureImage:t.show_feature_image,showFeedback:v,showLatestPosts:t.show_latest_posts,showPostTitleSection:t.show_post_title_section,showSubscriptionDetails:t.show_subscription_details,siteTitle:p,titleAlignment:t.title_alignment,titleFontCategory:t.title_font_category,titleFontWeight:t.title_font_weight||"bold",...W})},t8=({newsletter:t,updateNewsletter:a,errors:s,clearError:i})=>{const{settings:u,config:p}=ze(),[w,m]=ot(u,["default_email_address","support_email_address"]),[x,g]=A.useState(au(t,p,m,w)||"");let h=ju(t,p,w);const b=A.useCallback(v=>{g(v.target.value),a({sender_reply_to:v.target.value||"newsletter"})},[a,g]),y=()=>{const v=au(t,p,m,w)||"";g(v)};return n.jsx(ve,{error:!!s.sender_reply_to,hint:s.sender_reply_to,maxLength:191,placeholder:h||"",title:"Reply-to email",value:x,onBlur:y,onChange:b,onKeyDown:()=>i("sender_reply_to")})},n8=({newsletter:t,onlyOne:a,updateNewsletter:s,validate:i,errors:u,clearError:p})=>{const{updateRoute:w}=Pe(),{mutateAsync:m}=Ah(),x=Fs(),{settings:g,config:h,siteData:b}=ze(),[y,v]=ot(g,["icon","default_email_address"]),{mutateAsync:C}=Hs(),[E,j]=A.useState("generalSettings"),{localSettings:T}=Gr(),[D]=ot(T,["title"]),$=Ke(),{data:{newsletters:R}={}}=Sh(),O=["all","paid"].includes(Nt(g,"comments_enabled")||"");let P=ju(t,h,v);const[I,U]=A.useState(R||[]),Y=I.filter(J=>J.status==="active");A.useEffect(()=>{U(R||[])},[R]);const W=[{value:"serif",label:"Elegant serif",className:"font-serif"},{value:"sans_serif",label:"Clean sans-serif"}],B={sans_serif:{options:[{value:"normal",label:"Regular",className:"font-normal"},{value:"medium",label:"Medium",className:"font-medium"},{value:"semibold",label:"Semi-bold",className:"font-semibold"},{value:"bold",label:"Bold",className:"font-bold"}]},serif:{options:[{value:"normal",label:"Regular",className:"font-normal"},{value:"bold",label:"Bold",className:"font-bold"}],map:{medium:"normal",semibold:"bold"}}},ie=()=>t.background_color==="light"?!1:vn(t.background_color).hex().toLowerCase()==="#ffffff",ge=async()=>{if(t.status==="active")me.show(ht,{title:"Archive newsletter",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Your newsletter ",n.jsx("strong",{children:t.name})," will no longer be visible to members or available as an option when publishing new posts."]}),n.jsx("div",{children:"Existing posts previously sent as this newsletter will remain unchanged."})]}),okLabel:"Archive",okColor:"red",onOk:async J=>{try{await m({...t,status:"archived"}),J?.remove(),rt({type:"success",message:"Newsletter archived"})}catch(de){$(de)}}});else{try{await x?.errorIfWouldGoOverLimit("newsletters")}catch(J){if(J instanceof Ps){me.show(Un,{prompt:J.message||"Your current plan doesn't support more newsletters.",onOk:()=>w({route:"/pro",isExternal:!0})});return}else throw J}me.show(ht,{title:"Reactivate newsletter",prompt:n.jsxs(n.Fragment,{children:["Reactivating ",n.jsx("strong",{children:t.name})," will immediately make it visible to members and re-enable it as an option when publishing new posts."]}),okLabel:"Reactivate",onOk:async J=>{await m({...t,status:"active"}),J?.remove(),rt({type:"success",message:"Newsletter reactivated"})}})}},Me=()=>{if(!gh(h))return n.jsx(ve,{error:!!u.sender_email,hint:u.sender_email,placeholder:P||"",title:"Sender email address",value:t.sender_email||"",onChange:J=>s({sender_email:J.target.value}),onKeyDown:()=>p("sender_email")});if(xh(h))return n.jsx(ve,{error:!!u.sender_email,hint:u.sender_email,maxLength:191,placeholder:v,title:"Sender email address",value:t.sender_email||"",onChange:J=>{s({sender_email:J.target.value})},onKeyDown:()=>p("sender_email")})},K=B[t.title_font_category||"sans_serif"].options,ee=()=>{const J=t.title_font_category||"sans_serif",de=t.title_font_weight,fe=B[J].map,ce=fe&&fe[de]||de;return K.find(be=>be.value===ce)||K[0]},ke=J=>{const de=J?.value||"sans_serif",fe=t.title_font_weight;let ce=fe;return B[de].options.find(V=>V.value===fe)||(ce=B[de].map?.[fe]||"bold"),s({title_font_category:de,title_font_weight:ce})},ue=[{id:"generalSettings",title:"General",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Name and description",children:[n.jsx(ve,{error:!!u.name,hint:u.name,maxLength:191,placeholder:"Weekly Roundup",title:"Name",value:t.name||"",onChange:J=>s({name:J.target.value}),onKeyDown:()=>p("name")}),n.jsx(nr,{maxLength:2e3,rows:2,title:"Description",value:t.description||"",onChange:J=>s({description:J.target.value})})]}),n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Email info",children:[n.jsx(ve,{maxLength:191,placeholder:D,title:"Sender name",value:t.sender_name||"",onChange:J=>s({sender_name:J.target.value})}),Me(),n.jsx(t8,{clearError:p,errors:u,newsletter:t,updateNewsletter:s,validate:i})]}),n.jsx(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Member settings",children:n.jsx(Ye,{checked:t.subscribe_on_signup,direction:"rtl",label:"Subscribe new members on signup",labelStyle:"value",onChange:J=>s({subscribe_on_signup:J.target.checked})})}),n.jsx("div",{className:"mt-10 mb-5",children:t.status==="active"?!a&&n.jsx(Ie,{color:"red",disabled:Y.length===1,label:"Archive newsletter",link:!0,onClick:ge}):n.jsx(Ie,{color:"green",label:"Reactivate newsletter",link:!0,onClick:ge})})]})},{id:"content",title:"Content",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Header",children:[n.jsxs("div",{children:[n.jsx("div",{children:n.jsx(ct,{className:"mb-2",level:6,children:"Header image"})}),n.jsxs("div",{className:"flex-column flex gap-1",children:[n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",height:t.header_image?"66px":"64px",id:"logo",imageURL:t.header_image||void 0,onDelete:()=>{s({header_image:null})},onUpload:async J=>{try{const de=Jn(await C({file:J}));s({header_image:de})}catch(de){$(de)}},children:n.jsx(Ge,{colorClass:"text-grey-700 dark:text-grey-300",name:"picture"})}),n.jsx(zn,{children:"1200×600 recommended. Use a transparent PNG for best results on any background."})]})]}),n.jsxs(Ii,{children:[y&&n.jsx(Ye,{checked:t.show_header_icon,direction:"rtl",label:"Publication icon",onChange:J=>s({show_header_icon:J.target.checked})}),n.jsx(Ye,{checked:t.show_header_title,direction:"rtl",label:"Publication title",onChange:J=>s({show_header_title:J.target.checked})}),n.jsx(Ye,{checked:t.show_header_name,direction:"rtl",label:"Newsletter name",onChange:J=>s({show_header_name:J.target.checked})})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Title section",children:[n.jsx(Ye,{checked:t.show_post_title_section,direction:"rtl",label:"Post title",onChange:J=>s({show_post_title_section:J.target.checked})}),t.show_post_title_section&&n.jsx(Ye,{checked:t.show_excerpt,direction:"rtl",label:"Post excerpt",onChange:J=>s({show_excerpt:J.target.checked})}),n.jsx(Ye,{checked:t.show_feature_image,direction:"rtl",label:"Feature image",onChange:J=>s({show_feature_image:J.target.checked})})]}),n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Footer",children:[n.jsxs(Ii,{gap:"lg",children:[n.jsx(Ye,{checked:t.feedback_enabled,direction:"rtl",label:"Ask your readers for feedback",onChange:J=>s({feedback_enabled:J.target.checked})}),O&&n.jsx(Ye,{checked:t.show_comment_cta,direction:"rtl",label:"Add a link to your comments",onChange:J=>s({show_comment_cta:J.target.checked})}),n.jsx(Ye,{checked:t.show_latest_posts,direction:"rtl",label:"Share your latest posts",onChange:J=>s({show_latest_posts:J.target.checked})}),n.jsx(Ye,{checked:t.show_subscription_details,direction:"rtl",label:"Show subscription details",onChange:J=>s({show_subscription_details:J.target.checked})})]}),n.jsx(Au,{hint:"Any extra information or legal text",nodes:"MINIMAL_NODES",placeholder:" ",title:"Email footer",value:t.footer_content||"",onChange:J=>s({footer_content:J})})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"my-5 flex w-full items-start",children:[n.jsx("span",{children:n.jsx(Ge,{className:"mt-[-1px] mr-2",colorClass:"text-red",name:"heart"})}),n.jsx(Be,{marginBottom:!1,children:n.jsx(Ye,{checked:t.show_badge,direction:"rtl",label:n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("span",{className:"text-sm md:text-base",children:"Promote independent publishing"}),n.jsx("span",{className:"text-[11px] leading-tight text-grey-700 md:text-xs md:leading-tight",children:"Show you're a part of the indie publishing movement with a small badge in the footer"})]}),labelStyle:"value",onChange:J=>s({show_badge:J.target.checked})})})]})]})},{id:"design",title:"Design",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Global",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{hex:"#ffffff",value:"light",title:"White"}],title:"Background color",value:t.background_color||"light",onChange:J=>s({background_color:J})})}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Heading font"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:W,selectedOption:W.find(J=>J.value===t.title_font_category),onSelect:ke})]}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Heading weight"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:K,selectedOption:ee(),onSelect:J=>s({title_font_weight:J?.value})})]}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Body font"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:W,selectedOption:W.find(J=>J.value===t.body_font_category),testId:"body-font-select",onSelect:J=>s({body_font_category:J?.value})})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Header",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"transparent",title:"Transparent",hex:"#00000000"}],title:"Header background color",value:t.header_background_color||"transparent",onChange:J=>s({header_background_color:J})})}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Post title color",value:t.post_title_color,onChange:J=>s({post_title_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Title alignment"}),n.jsx(Pn,{activeKey:t.title_alignment,buttons:[{key:"left",icon:"align-left",iconSize:14,label:"Align left",tooltip:"Left",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({title_alignment:"left"}),disabled:!t.show_post_title_section},{key:"center",icon:"align-center",iconSize:14,label:"Align center",tooltip:"Center",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({title_alignment:"center"}),disabled:!t.show_post_title_section}],clearBg:!1})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Body",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Section title color",value:t.section_title_color,onChange:J=>s({section_title_color:J})})}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"accent",title:"Accent",hex:b.accent_color},{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"}],title:"Button color",value:t.button_color,onChange:J=>s({button_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Button style"}),n.jsx(Pn,{activeKey:t.button_style||"fill",buttons:[{key:"fill",icon:"squircle-fill",iconSize:14,label:"Fill",tooltip:"Fill",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_style:"fill"})},{key:"outline",icon:"squircle",iconSize:14,label:"Outline",tooltip:"Outline",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_style:"outline"})}],clearBg:!1})]}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Button corners"}),n.jsx(Pn,{activeKey:t.button_corners||"rounded",buttons:[{key:"square",icon:"square",iconSize:14,label:"Square",tooltip:"Squared",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"square"})},{key:"rounded",icon:"squircle",iconSize:14,label:"Rounded",tooltip:"Rounded",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"rounded"})},{key:"pill",icon:"circle",iconSize:14,label:"Pill",tooltip:"Pill",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"pill"})}],clearBg:!1})]}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"accent",title:"Accent",hex:b.accent_color},{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"}],title:"Link color",value:t.link_color,onChange:J=>s({link_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Link style"}),n.jsx(Pn,{activeKey:t.link_style||"underline",buttons:[{key:"underline",icon:"text-underline",iconSize:14,label:"Underline",tooltip:"Underline",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"underline"})},{key:"regular",icon:"text-regular",iconSize:14,label:"Regular",tooltip:"Regular",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"regular"})},{key:"bold",icon:"text-bold",iconSize:14,label:"Bold",tooltip:"Bold",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"bold"})}],clearBg:!1})]}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Image corners"}),n.jsx(Pn,{activeKey:t.image_corners||"square",buttons:[{key:"square",icon:"square",iconSize:14,label:"Square",tooltip:"Squared",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({image_corners:"square"})},{key:"rounded",icon:"squircle",iconSize:14,label:"Rounded",tooltip:"Rounded",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({image_corners:"rounded"})}],clearBg:!1})]}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"light",title:"Light",hex:"#e0e7eb"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Divider color",value:t.divider_color||"light",onChange:J=>s({divider_color:J})})})]})]})}],ye=J=>{j(J)};return n.jsx("div",{className:"flex flex-col",children:n.jsx("div",{className:"px-7 pt-0 pb-7",children:n.jsx(Tr,{selectedTab:E,stickyHeader:!0,tabs:ue,onTabChange:ye})})})},r8=({newsletter:t,onlyOne:a})=>{const{config:s}=ze(),{mutateAsync:i}=Ah(),{updateRoute:u}=Pe(),p=Ke(),{formState:w,saveState:m,updateForm:x,setFormState:g,handleSave:h,validate:b,errors:y,clearError:v,okProps:C}=an({initialState:t,savingDelay:500,onSave:async()=>{const{meta:{sent_email_verification:[D]=[]}={}}=await i(w);let $;D&&D==="sender_email"?$=n.jsx("div",{children:"We‘ve sent a confirmation email to the new address."}):D&&D==="sender_reply_to"&&($=n.jsx("div",{children:"We‘ve sent a confirmation email to the new address."})),$&&rt({icon:"email",message:$,type:"info"})},onSaveError:p,onValidate:()=>{const D={};return w.name||(D.name="A name is required for your newsletter"),w.sender_email&&!xt.isEmail(w.sender_email)?D.sender_email="Enter a valid email address":w.sender_email&&xh(s)&&w.sender_email.split("@")[1]!==Ef(s)&&(D.sender_email=`Email address must end with @${Ef(s)}`),w.sender_reply_to&&!xt.isEmail(w.sender_reply_to)&&!["newsletter","support"].includes(w.sender_reply_to)&&(D.sender_reply_to="Enter a valid email address"),D}}),E=D=>{x($=>({...$,...D}))};A.useEffect(()=>{g(()=>t)},[g,t]);const j=n.jsx(e8,{newsletter:w}),T=n.jsx(n8,{clearError:v,errors:y,newsletter:w,onlyOne:a,updateNewsletter:E,validate:b});return n.jsx(Kr,{afterClose:()=>u("newsletters"),buttonsDisabled:C.disabled,cancelLabel:"Close",deviceSelector:!1,dirty:m==="unsaved",okColor:C.color,okLabel:C.label||"Save",preview:j,previewBgColor:"grey",previewToolbar:!1,sidebar:T,sidebarPadding:!1,testId:"newsletter-modal",title:"Newsletter",onOk:async()=>{await h({fakeWhenUnchanged:!0})}})},s8=({params:t})=>{const{data:{newsletters:a,isEnd:s}={},fetchNextPage:i}=Sh(),u=a?.find(({id:p})=>p===t?.id);return A.useEffect(()=>{!u&&!s&&i()},[i,s,u]),u?n.jsx(r8,{newsletter:u,onlyOne:a.length===1}):null},a8=me.create(s8),Rm=({id:t})=>{const{updateRoute:a}=Pe(),{data:{offers:s=[]}={}}=Rh(t||""),[i,u]=A.useState(),[p,w]=A.useState(""),{siteData:m}=ze();A.useEffect(()=>{if(s.length>0){const E=s[0],j=`${Hn(m)}${E?.code}`;w(j),u(E)}},[s,m]);const[x,g]=A.useState(!1),h=()=>{let E="";switch(i?.type){case"percent":E=i?.amount+"% discount";break;case"fixed":E=$a(ki(i?.amount))+" "+i?.currency+" discount";break;case"trial":E=i?.amount+" days free trial";break}return`${encodeURIComponent(i?.name||"")} — Check out ${encodeURIComponent(E)} on:`},b=async()=>{await navigator.clipboard.writeText(p),g(!0),setTimeout(()=>g(!1),2e3)},y=()=>{window.open(`https://twitter.com/intent/tweet?url=${encodeURI(p)}&text=${h()}`,"_blank")},v=()=>{window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURI(p)}`,"_blank")},C=()=>{window.open(`http://www.linkedin.com/shareArticle?mini=true&url=${encodeURI(p)}&title=${h()}`,"_blank")};return n.jsx(ut,{afterClose:()=>{a("offers")},animate:!1,backDropClick:!1,footer:!1,height:"full",size:"lg",testId:"offer-success-modal",topRightContent:"close",width:1140,children:n.jsxs("div",{className:"-mt-6 flex h-full flex-col items-center justify-center text-center",children:[n.jsx("div",{className:"absolute top-5 left-6",children:n.jsx(Ru,{activeItemClassName:"hidden md:block! md:visible!",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:block! md:visible!",items:[{label:"Offers",onClick:()=>{a("offers/edit")}},{label:i?.name||""}],separatorClassName:"hidden md:block! md:visible!",backIcon:!0,onBack:()=>{a("offers/edit")}})}),n.jsx(Ge,{colorClass:"text-grey-700 -mt-4",name:"tags-check",size:"xl"}),n.jsx("h1",{className:"mt-6 text-4xl",children:"Your new offer is live!"}),n.jsx("p",{className:"mt-3 max-w-[510px] text-[1.6rem]",children:"You can share the link anywhere. In your newsletter, social media, a podcast, or in-person. It all just works."}),n.jsxs("div",{className:"mt-8 flex w-full max-w-md flex-col gap-8",children:[n.jsxs("div",{className:"flex flex-col-reverse gap-2",children:[n.jsx(ve,{name:"offer-url",type:"url",value:p,disabled:!0}),n.jsx(Ie,{color:"green",label:x?"Copied!":"Copy link",fullWidth:!0,onClick:b})]}),n.jsx("div",{className:'flex items-center gap-4 text-xs font-medium before:h-px before:grow before:bg-grey-300 before:content-[""] after:h-px after:grow after:bg-grey-300 after:content-[""] dark:before:bg-grey-800 dark:after:bg-grey-800',children:"OR"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"twitter-x",iconColorClass:"w-[14px] h-[14px]",size:"sm",fullWidth:!0,onClick:y}),n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"facebook",size:"sm",fullWidth:!0,onClick:v}),n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"linkedin",size:"sm",fullWidth:!0,onClick:C})]})]})]})})},Ua=({href:t,onDestroyed:a,selectedTab:s,portalParent:i})=>{s||(s="signup");const u=A.useRef(null),[p,w]=A.useState(!1),[m,x]=A.useState(!0),g=A.useCallback(()=>{setTimeout(()=>{u.current&&x(!1)},300)},[u]);if(A.useEffect(()=>{const y=v=>{if(!t)return;new URL(v.origin).origin===new URL(t).origin&&v?.data?.type==="portal-preview-ready"&&g()};return window.addEventListener("message",y,!0),()=>{window.removeEventListener("message",y,!0),a?.()}},[t,a,g,p]),!t)return null;let h="mt-[-7%] flex h-screen items-center justify-center",b="hidden";return i==="preview"?(h="absolute z-50 mt-[-7%] flex h-screen items-center justify-center",b="invisible"):i==="offers"&&(h="absolute z-50 flex w-full h-full items-center justify-center",b="invisible"),n.jsxs(n.Fragment,{children:[m&&n.jsx("div",{className:h,children:n.jsx("span",{children:n.jsx(Ci,{})})}),n.jsx("iframe",{ref:u,className:!m&&p?"":b,"data-testid":"portal-preview",height:"100%",src:t,title:"Portal Preview",width:"100%",onLoad:()=>{w(!0)}})]})},zu=(t,a)=>{const{disableBackground:s=!1,name:i,code:u,displayTitle:p="",displayDescription:w="",type:m,cadence:x,amount:g=0,duration:h,durationInMonths:b,currency:y="usd",status:v,tierId:C,redemptionType:E="signup"}=t;a=a.replace(/\/$/,"");const j="/?v=modal-portal-offer#/portal/preview/offer",T=new URLSearchParams;return T.append("disableBackground","false"),T.append("name",encodeURIComponent(i)),T.append("code",encodeURIComponent(u)),T.append("display_title",encodeURIComponent(p)),T.append("display_description",encodeURIComponent(w)),T.append("type",encodeURIComponent(m)),T.append("cadence",encodeURIComponent(x)),T.append("amount",encodeURIComponent(g)),T.append("duration",encodeURIComponent(h)),T.append("duration_in_months",encodeURIComponent(b)),T.append("currency",encodeURIComponent(y)),T.append("status",encodeURIComponent(v)),T.append("tier_id",encodeURIComponent(C)),T.append("redemption_type",encodeURIComponent(E)),s&&T.append("disableBackground","true"),`${a}${j}?${T.toString()}`},o8=t=>{const a=[];return t.forEach(s=>{a.push({label:`${s.name} - Monthly`,value:`${s.id}-month-${s.currency}`}),a.push({label:`${s.name} - Yearly`,value:`${s.id}-year-${s.currency}`})}),a};function i8(t){return t.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-")}const Wp=191,Di=({type:t,checked:a,onClick:s})=>{const i=a?"bg-black text-white dark:bg-white dark:text-black":"border border-grey-300 dark:border-grey-800";return n.jsx("button",{className:"text-left",type:"button",onClick:s,children:n.jsxs("div",{className:"flex gap-3",children:[n.jsx("div",{className:`mt-0.5 flex size-4 items-center justify-center rounded-full ${i}`,children:a?n.jsx(Ge,{className:"w-[7px] stroke-[4]",name:"check",size:"custom"}):null}),n.jsxs("div",{className:"-mt-px flex flex-col",children:[n.jsx("span",{children:t.title}),n.jsx("span",{className:"text-sm",children:t.description})]})]})})},Yp=t=>{const{fixedAmount:a=0,percentAmount:s=0,trialAmount:i=0,amount:u=0}=t;switch(t.type){case"fixed":return a*100;case"percent":return s;case"trial":return i;default:return u}},l8=({tierOptions:t,handleTierChange:a,selectedTier:s,typeOptions:i,durationOptions:u,handleTypeChange:p,handleDurationChange:w,overrides:m,handleAmountTypeChange:x,handleNameInput:g,handleTextAreaInput:h,handleDisplayTitleInput:b,handleDurationInMonthsInput:y,handleAmountInput:v,handleCodeInput:C,clearError:E,errors:j,testId:T,handleTrialAmountInput:D,amountOptions:$})=>{const R=m.cadence==="year",O=R?u.filter(K=>K.value!=="repeating"):u,[P,I]=A.useState(0),U=P>40?"text-red":"text-green",{siteData:Y}=ze(),[W,B]=A.useState(!1),ie=Hn(Y),ge=`${ie}${m.code.value}`,Me=async()=>{await navigator.clipboard.writeText(ge),B(!0),setTimeout(()=>B(!1),2e3)};return n.jsx("div",{className:"pt-7","data-testId":T,children:n.jsxs(Be,{children:[n.jsxs("section",{children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{error:!!j.name,hint:j.name||n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{children:"Visible to members on Stripe Checkout page"}),n.jsxs("strong",{children:[n.jsx("span",{className:`${U}`,children:P})," / 40"]})]}),maxLength:40,placeholder:"Black Friday",title:"Offer name",onChange:K=>{g(K),I(K.target.value.length)},onKeyDown:()=>E("name")}),n.jsx(ve,{error:!!j.displayTitle,hint:j.displayTitle,maxLength:Wp,placeholder:"Black Friday Special",title:"Display title",value:m.displayTitle.value,onChange:K=>{b(K)},onKeyDown:()=>E("displayTitle")}),n.jsx(nr,{maxLength:Wp,placeholder:"Take advantage of this limited-time offer.",title:"Display description",value:m.displayDescription,onChange:K=>{h(K)}})]})]}),n.jsxs("section",{className:"mt-4",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"Details"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsxs("div",{className:"flex flex-col gap-4 rounded-md border border-grey-200 p-4 dark:border-grey-800",children:[n.jsx(Di,{checked:m.type!=="trial",type:i[0],onClick:()=>{p("percent")}}),n.jsx(Di,{checked:m.type==="trial",type:i[1],onClick:()=>{p("trial")}})]}),n.jsx(kt,{options:t,selectedOption:s,testId:"tier-cadence-select-offers",title:"Tier — Cadence",onSelect:K=>{K&&a(K)}}),m.type!=="trial"&&n.jsxs(n.Fragment,{children:[" ",n.jsxs("div",{className:"relative",children:[n.jsx(ve,{error:!!j.amount,hint:j.amount,title:"Amount off",type:"number",value:m.type==="fixed"?m.fixedAmount===0?"":m.fixedAmount?.toString():m.percentAmount===0?"":m.percentAmount?.toString(),onChange:K=>{v(K)},onKeyDown:()=>E("amount")}),n.jsx("div",{className:"absolute top-6 right-1.5 z-10",children:n.jsx(kt,{clearBg:!0,controlClasses:{menu:"w-20 right-0"},options:$,selectedOption:m.type==="percent"?$[0]:$[1],testId:"amount-type-select-offers",onSelect:K=>{x(K?.value||"")}})})]}),n.jsx(kt,{options:O,selectedOption:O.find(K=>K.value===m.duration),testId:"duration-select-offers",title:"Duration",onSelect:K=>{E("durationInMonths"),w(K?.value||"")}}),m.duration==="repeating"&&!R&&n.jsx("div",{className:"-mt-4",children:n.jsx(ve,{"data-testid":"duration-months-input",error:!!j.durationInMonths,hint:j.durationInMonths,rightPlaceholder:`${m.durationInMonths===1?"month":"months"}`,type:"number",value:m.durationInMonths===0?"":String(m.durationInMonths),onChange:K=>{y(K)},onKeyDown:()=>E("durationInMonths")})})]}),m.type==="trial"&&n.jsx(ve,{error:!!j.amount,hint:j.amount,title:"Trial duration",type:"number",value:m.trialAmount?.toString(),onChange:K=>{D(K)},onKeyDown:()=>E("amount")}),n.jsx(ve,{error:!!j.code,hint:j.code||(m.code.value!==""?n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[ie,n.jsx("span",{className:"font-bold",children:m.code.value})]}),n.jsx("span",{}),n.jsx(Ie,{className:"text-xs",color:"green",label:`${W?"Copied":"Copy"}`,size:"sm",link:!0,onClick:Me})]}):null),placeholder:"black-friday",title:"Offer code",value:m.code.value,onChange:K=>{C(K)},onKeyDown:()=>E("code")})]})]})]})})},Mi=t=>{const[a,s,i]=t.split("-");if(!a||!s||!i)throw new Error("Invalid input format. Expected format is: id-period-currency");return{id:a,period:s,currency:i}},c8=()=>{const{siteData:t}=ze(),a=[{title:"Discount",description:"Offer a special reduced price",value:"percent"},{title:"Free trial",description:"Give free access for a limited time",value:"trial"}],s=[{value:"once",label:"First-payment"},{value:"repeating",label:"Multiple-months"},{value:"forever",label:"Forever"}],[i,u]=A.useState(""),{updateRoute:p}=Pe(),{data:{tiers:w}={}}=Xr(),m=Ba(w||[]),x=o8(m),{mutateAsync:g}=Lh(),[h,b]=A.useState({tier:x[0]||{},dataset:{id:x[0]?.value?Mi(x[0]?.value).id:"",period:x[0]?.value?Mi(x[0]?.value).period:"",currency:x[0]?.value?Mi(x[0]?.value).currency:""}}),{data:{offers:y=[]}={}}=Nu(),{formState:v,updateForm:C,handleSave:E,saveState:j,okProps:T,validate:D,errors:$,clearError:R}=an({initialState:{disableBackground:!1,name:"",code:{isDirty:!1,value:""},displayTitle:{isDirty:!1,value:""},displayDescription:"",type:"percent",cadence:h?.dataset?.period||"",amount:0,duration:"once",durationInMonths:1,currency:h?.dataset?.currency||"USD",status:"active",tierId:h?.dataset?.id||"",trialAmount:7,fixedAmount:0,percentAmount:0},onSave:async()=>{const de=v.type==="trial"?"trial":v.duration,fe={name:v.name,code:v.code.value,display_title:v.displayTitle.value,display_description:v.displayDescription,cadence:v.cadence,amount:Yp(v)||0,duration:de,...de==="repeating"?{duration_in_months:v.durationInMonths}:{},currency:v.currency,status:v.status,redemption_type:"signup",tier:{id:v.tierId},type:v.type,currency_restriction:!1},ce=await g(fe);ce&&ce.offers&&ce.offers.length>0&&p(`offers/success/${ce.offers[0].id}`)},onSaveError:()=>{},onValidate:()=>{const de={};return!v.name&&v.name.length===0&&(de.name="Name is required"),!v.code.value&&v.code.value.length===0&&(de.code="Code is required"),!v.displayTitle.value&&v.displayTitle.value.length===0&&(de.displayTitle="Display title is required"),v.type==="percent"&&v.percentAmount===0&&(de.amount="Enter an amount greater than 0."),v.type==="percent"&&(v.percentAmount<1||v.percentAmount>100)&&(de.amount="Enter an amount between 1 and 100%."),(v.type==="fixed"&&v.fixedAmount===0||v.type==="fixed"&&v.fixedAmount<1)&&(de.amount="Enter an amount greater than 0."),v.type==="trial"&&v.trialAmount===0&&(de.amount="Enter an amount greater than 0."),v.type==="trial"&&v.trialAmount<1&&(de.amount="Free trial must be at least 1 day."),v.type!=="trial"&&v.duration==="repeating"&&(!Number.isInteger(v.durationInMonths)||v.durationInMonths<1)&&(de.durationInMonths="Enter a whole number of months (1 or more)."),de},savingDelay:500}),O=[{value:"percent",label:"%"},{value:"fixed",label:v.currency}],P=de=>{const fe=Mi(de.value),ce=fe.period==="year";b({tier:de,dataset:fe}),C(V=>({...V,cadence:fe.period,currency:fe.currency,tierId:fe.id,duration:ce&&V.duration==="repeating"?"once":V.duration})),ce&&R("durationInMonths")},I=de=>{de==="trial"&&(R("amount"),R("durationInMonths")),C(fe=>({...fe,type:de}))},U=de=>{C(fe=>({...fe,type:de==="percent"?"percent":"fixed"}))},Y=de=>{const fe=de.target;v.type==="fixed"?C(ce=>({...ce,fixedAmount:Number(fe.value)})):v.type==="percent"?C(ce=>({...ce,percentAmount:Number(fe.value)})):C(ce=>({...ce,amount:Number(fe.value)}))},W=de=>{const fe=de.target,ce=Number(fe.value);C(V=>({...V,durationInMonths:Number.isNaN(ce)?0:ce}))},B=de=>{const fe=de.target.value;C(ce=>{let V={...ce};return V.name=fe,ce.code.isDirty||(R("code"),V.code={...ce.code,value:i8(fe)}),ce.displayTitle.isDirty||(R("displayTitle"),V.displayTitle={...ce.displayTitle,value:fe}),V})},ie=de=>{const fe=de.target;C(ce=>({...ce,displayTitle:{...ce.displayTitle,isDirty:!0,value:fe.value}}))},ge=de=>{const fe=de.target;C(ce=>({...ce,displayDescription:fe.value}))},Me=de=>{const fe=de.target;C(ce=>({...ce,trialAmount:Number(fe.value)}))},K=de=>{C(fe=>({...fe,duration:de}))},ee=de=>{const fe=de.target;C(ce=>({...ce,code:{...ce.code,isDirty:!0,value:fe.value}}))},ke=()=>{y.length>0?p("offers/edit"):p("offers")},ue=A.useMemo(()=>({name:v.name||"",code:v.code.value||"",displayTitle:v.displayTitle.value||"",displayDescription:v.displayDescription||"",type:v.type||"percent",cadence:v.cadence||"month",amount:Yp(v)||0,duration:v.type==="trial"?"trial":v.duration||"once",durationInMonths:v.durationInMonths||0,currency:v.currency||"USD",status:v.status||"active",tierId:v.tierId||m[0]?.id,redemptionType:"signup"}),[v,m]);A.useEffect(()=>{const de=zu(ue,t.url);u(de)},[v,t.url,v.type,ue]);const ye=n.jsx(l8,{amountOptions:O,clearError:R,durationOptions:s,errors:$,handleAmountInput:Y,handleAmountTypeChange:U,handleCodeInput:ee,handleDisplayTitleInput:ie,handleDurationChange:K,handleDurationInMonthsInput:W,handleNameInput:B,handleTextAreaInput:ge,handleTierChange:P,handleTrialAmountInput:Me,handleTypeChange:I,overrides:v,selectedTier:h.tier,testId:"add-offer-sidebar",tierOptions:x,typeOptions:a,validate:D}),J=n.jsx(Ua,{href:i||"",portalParent:"offers"});return n.jsx(Kr,{afterClose:()=>{p("offers")},backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:j==="unsaved",height:"full",okColor:T.color,okLabel:"Publish",preview:J,previewToolbar:!1,sidebar:ye,size:"lg",testId:"add-offer-modal",title:"Offer",width:1140,onCancel:ke,onOk:async()=>{if(D(),!Object.values($).every(fe=>!fe)){Ds.remove(),rt({title:"Can't save offer",type:"info",message:"Make sure you filled all required fields"});return}try{if(await E({force:!0}))return}catch(fe){let ce;fe instanceof Er&&fe.data&&fe.data.errors[0]&&(ce=fe.data.errors[0].context||fe.data.errors[0].message),Ds.remove(),ce&&rt({title:"Can't save offer",type:"error",message:ce||"Please try again later"})}}})},qp=40,u8=t=>new Date(t).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"}),Uu=t=>{const a="/ghost/#/members",s=`offer_redemptions:[${t.join(",")}]`;return`${a}?filter=${encodeURIComponent(s)}`},Lm=t=>Uu([t]),d8=({amount:t,duration:a})=>t===100&&a==="repeating",Gp=(t,a)=>`Retention ${t} (${a})`,f8=({amount:t,duration:a,durationInMonths:s})=>d8({amount:t,duration:a})?`${s} ${s===1?"month":"months"} free`:a==="once"?`${t}% off once`:a==="repeating"?`${t}% off for ${s} mo`:`${t}% off forever`,p8=(t,a)=>{const s=a.trim(),i=f8(t),u=Gp(i,s);if(u.length<=qp)return u;const p=u.length-qp,w=Math.max(3,s.length-p);return Gp(i,s.slice(0,w))};function Xp(t){return new Date(t).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"})}const h8=({clearError:t,errors:a,offer:s,updateOffer:i})=>{const{siteData:u}=ze(),[p,w]=A.useState(!1),m=Ke(),{mutateAsync:x}=Cu(),[g,h]=A.useState(s?.name.length||0),b=g>40?"text-red":"text-green",{updateRoute:y}=Pe();A.useEffect(()=>{s?.name&&h(s?.name.length)},[s?.name]);const v=Hn(u),C=`${v}${s?.code}`,E=async()=>{await navigator.clipboard.writeText(C),w(!0),setTimeout(()=>w(!1),2e3)},j=async()=>{s?.status==="active"?me.show(ht,{title:"Archive offer",prompt:n.jsxs(n.Fragment,{children:[n.jsx("p",{children:"New members will no longer be able to subscribe using this offer."}),n.jsxs("p",{children:["All members that previously redeemed ",n.jsx("strong",{children:s?.name})," will remain unchanged."]})]}),okLabel:"Archive",okColor:"red",onOk:async T=>{try{await x({...s,status:"archived"}),T?.remove(),rt({type:"success",title:"Offer archived"}),y("offers/edit")}catch(D){m(D)}}}):me.show(ht,{title:"Reactivate offer",prompt:n.jsx(n.Fragment,{children:n.jsxs("p",{children:["Reactivating ",n.jsx("strong",{children:s?.name})," will allow new members to subscribe using this offer. Existing members will remain unchanged."]})}),okLabel:"Reactivate",onOk:async T=>{try{await x({...s,status:"active"}),T?.remove(),rt({type:"success",title:"Offer reactivated"}),y("offers/edit")}catch(D){m(D)}}})};return n.jsxs("div",{className:"flex grow flex-col pt-2",children:[n.jsxs(Be,{className:" grow",children:[n.jsx("section",{children:n.jsxs("div",{className:"flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Created on"}),n.jsx("span",{children:Xp(s?.created_at?s.created_at:"")})]}),n.jsxs("div",{className:"flex items-end justify-between",children:[n.jsxs("div",{className:"flex flex-col gap-5",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Performance"}),n.jsxs("span",{children:[s?.redemption_count," ",s?.redemption_count===1?"redemption":"redemptions"]})]}),s?.redemption_count>0&&s?.last_redeemed?n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Last redemption"}),n.jsx("span",{children:Xp(s?.last_redeemed)})]}):null]}),s?.redemption_count>0?n.jsx("a",{className:"font-semibold text-green",href:Lm(s?.id),children:"See members →"}):null]})]})}),n.jsxs("section",{className:"mt-2",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{error:!!a.name,hint:a.name||n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{children:"Visible to members on Stripe Checkout page"}),n.jsxs("strong",{children:[n.jsx("span",{className:`${b}`,children:g})," / 40"]})]}),maxLength:40,placeholder:"Black Friday",title:"Offer name",value:s?.name,onChange:T=>{h(T.target.value.length),i({name:T.target.value})},onKeyDown:()=>t("name")}),n.jsx(ve,{containerClassName:"group",error:!!a.code,hint:a.code||(s?.code!==""?n.jsxs("span",{className:"truncate text-grey-700",children:[v,n.jsx("span",{className:"font-bold text-black dark:text-white",children:s?.code})]}):null),placeholder:"black-friday",rightPlaceholder:s?.code!==""?n.jsx(Ie,{className:"mt-1 mr-0.5",color:"green",label:p?"Copied!":"Copy link",size:"sm",onClick:E}):null,title:"Offer code",value:s?.code,onChange:T=>i({code:T.target.value}),onKeyDown:()=>t("code")}),n.jsx(ve,{error:!!a.displayTitle,hint:a.displayTitle,placeholder:"Black Friday Special",title:"Display title",value:s?.display_title,onChange:T=>i({display_title:T.target.value}),onKeyDown:()=>t("displayTitle")}),n.jsx(nr,{placeholder:"Take advantage of this limited-time offer.",title:"Display description",value:s?.display_description,onChange:T=>i({display_description:T.target.value})})]})]})]}),n.jsx("div",{className:"mb-2",children:s?.status==="active"?n.jsx(Ie,{color:"red",label:"Archive offer",link:!0,onClick:j}):n.jsx(Ie,{color:"green",label:"Reactivate offer",link:!0,onClick:j})})]})},m8=({id:t})=>{const{siteData:a}=ze(),{updateRoute:s}=Pe(),i=Ke(),{mutateAsync:u}=Cu(),[p,w]=A.useState(""),{data:{offers:m=[]}={}}=Rh(t||""),{formState:x,saveState:g,updateForm:h,setFormState:b,handleSave:y,validate:v,errors:C,clearError:E,okProps:j}=an({initialState:m[0],savingDelay:500,onSave:async()=>{await u(x)},onSaveError:i,onValidate:()=>{const O={};return x?.name||(O.name="Name is required"),x?.display_title||(O.displayTitle="Display title is required"),x?.code||(O.code="Please enter a code"),O}});A.useEffect(()=>{b(()=>m[0])},[b,m]);const T=O=>{h(P=>({...P,...O}))},D=n.jsx(h8,{clearError:E,errors:C,offer:x,updateOffer:T,validate:v});A.useEffect(()=>{const O={name:x?.name||"",code:x?.code||"",displayTitle:x?.display_title||"",displayDescription:x?.display_description||"",type:x?.type||"",cadence:x?.cadence||"",amount:x?.amount,duration:x?.duration||"",durationInMonths:x?.duration_in_months||0,currency:x?.currency||"",status:x?.status||"",tierId:x?.tier?.id||"",redemptionType:"signup"},P=zu(O,a.url);w(P)},[x,a]);const $=n.jsx(Ua,{href:p||"",portalParent:"offers"}),R=()=>{s("offers/edit")};return m?n.jsx(Kr,{afterClose:()=>{s("offers")},backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:g==="unsaved",height:"full",okColor:j.color,okLabel:j.label||"Save",preview:$,previewToolbarBreadcrumbs:[{label:"Offers",onClick:R},{label:x?.name||"Offer"}],sidebar:D,size:"lg",testId:"offer-update-modal",title:"Offer",width:1140,onBreadcrumbsBack:R,onCancel:R,onOk:async()=>{try{if(await y({force:!0}))return}catch(O){let P;O instanceof Er&&O.data&&O.data.errors[0]&&(P=O.data.errors[0].context||O.data.errors[0].message),Ds.remove(),P&&rt({title:"Can't save offer",type:"error",message:"Please try again later"})}}}):null},Kp=[{title:"Percentage discount",description:"Offer a special reduced price"},{title:"Free month(s)",description:"Give free access for a limited time"}],Zp=[{value:"once",label:"First-payment"},{value:"repeating",label:"Multiple-months"},{value:"forever",label:"Forever"}],Vp=191,Om=99,Qp=`Enter a whole number of months between 1 and ${Om}.`,Jp=t=>{const a=Number.isFinite(t)?Math.trunc(t):0;return Math.max(1,a)},g8=({type:t,percentAmount:a,freeMonths:s,lastPercentAmount:i,lastFreeMonths:u})=>t==="free_months"?s>0?s:u:a>0?a:i,bu=(t="monthly")=>({enabled:!1,displayTitle:"",displayDescription:"",type:t==="yearly"?"percent":"free_months",percentAmount:20,duration:"once",durationInMonths:1,freeMonths:1}),x8=t=>t.type==="percent"&&t.amount===100&&t.duration==="repeating",w8=(t,a="monthly")=>{const s=bu(a);if(!t)return s;const i=x8(t),u=t.type==="percent"&&!i,p=t.duration==="repeating"&&t.duration_in_months?t.duration_in_months:s.durationInMonths;return{enabled:t.status==="active",displayTitle:t.display_title||"",displayDescription:t.display_description||"",type:i?"free_months":"percent",percentAmount:u?t.amount:s.percentAmount,duration:u?t.duration:s.duration,durationInMonths:p,freeMonths:i&&t.duration_in_months||s.freeMonths}},eh=({formState:t,lastPercentAmount:a,lastFreeMonths:s})=>{const i=g8({type:t.type,percentAmount:t.percentAmount,freeMonths:t.freeMonths,lastPercentAmount:a,lastFreeMonths:s});if(t.type==="free_months")return{type:"percent",amount:100,duration:"repeating",durationInMonths:Jp(i)};const u=t.duration,p=u==="repeating"?Jp(t.durationInMonths):0;return{type:"percent",amount:i,duration:u,durationInMonths:p}},b8=t=>{if(!t)return null;const a=t.duration_in_months??0;return{type:"percent",amount:t.amount,duration:t.duration,durationInMonths:a}},th=t=>t?`${t.type}:${t.amount}:${t.duration}:${t.durationInMonths}`:"",nh=t=>Number.isInteger(t)&&t>0&&t<=Om,v8=(t,a)=>t.displayTitle!==a.displayTitle||t.displayDescription!==a.displayDescription||t.type!==a.type||t.percentAmount!==a.percentAmount||t.duration!==a.duration||t.durationInMonths!==a.durationInMonths||t.freeMonths!==a.freeMonths,y8=({formState:t,updateForm:a,clearError:s,errors:i,cadence:u,lastRedeemed:p,membersFilterUrl:w,redemptions:m})=>{const x=u==="yearly"?Zp.filter(g=>g.value!=="repeating"):Zp;return n.jsx("div",{className:"flex grow flex-col pt-2",children:n.jsxs(Be,{className:"grow",children:[n.jsx("section",{children:n.jsx("div",{className:"flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800",children:n.jsx("div",{className:"flex flex-col gap-1.5",children:n.jsxs("div",{className:"flex items-end justify-between",children:[n.jsxs("div",{className:"flex flex-col gap-5",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Performance"}),n.jsxs("span",{children:[m," ",m===1?"redemption":"redemptions"]})]}),m>0&&p?n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Last redemption"}),n.jsx("span",{children:u8(p)})]}):null]}),m>0&&w?n.jsx("a",{className:"font-semibold text-green",href:w,children:"See members →"}):null]})})})}),n.jsx("section",{className:"mt-2",children:n.jsx(Ye,{align:"center",checked:t.enabled,direction:"rtl",hint:u==="monthly"?"Applied to monthly plans":"Applied to annual plans",label:`Enable ${u} retention`,onChange:g=>{a(h=>({...h,enabled:g.target.checked}))}},`retention-toggle-${u}-${t.enabled?"enabled":"disabled"}`)}),t.enabled&&n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"mt-2",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{maxLength:Vp,placeholder:"Before you go",title:"Display title",value:t.displayTitle,onChange:g=>{a(h=>({...h,displayTitle:g.target.value}))}}),n.jsx(nr,{maxLength:Vp,placeholder:"We'd hate to see you leave. How about a special offer to stay?",title:"Display description",value:t.displayDescription,onChange:g=>{a(h=>({...h,displayDescription:g.target.value}))}})]})]}),n.jsxs("section",{className:"mt-4",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"Details"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[u==="monthly"&&n.jsxs("div",{className:"flex flex-col gap-4 rounded-md border border-grey-200 p-4 dark:border-grey-800",children:[n.jsx(Di,{checked:t.type==="percent",type:Kp[0],onClick:()=>{s("amount"),s("durationInMonths"),a(g=>({...g,type:"percent",percentAmount:g.percentAmount}))}}),n.jsx(Di,{checked:t.type==="free_months",type:Kp[1],onClick:()=>{s("amount"),s("durationInMonths"),a(g=>({...g,type:"free_months"}))}})]}),t.type==="percent"&&n.jsxs(n.Fragment,{children:[n.jsx(ve,{error:!!i.amount,hint:i.amount,rightPlaceholder:"%",title:"Amount off",type:"number",value:t.percentAmount===0?"":String(t.percentAmount),onChange:g=>{const h=Number(g.target.value),b=Number.isNaN(h)?0:h;a(y=>({...y,percentAmount:b}))},onKeyDown:()=>s("amount")}),n.jsx(kt,{options:x,selectedOption:x.find(g=>g.value===t.duration),title:"Duration",onSelect:g=>{g&&(s("durationInMonths"),a(h=>({...h,duration:g.value})))}}),t.duration==="repeating"&&n.jsx("div",{className:"-mt-4",children:n.jsx(ve,{"data-testid":"duration-months-input",error:!!i.durationInMonths,hint:i.durationInMonths,rightPlaceholder:`${t.durationInMonths===1?"month":"months"}`,type:"number",value:t.durationInMonths===0?"":String(t.durationInMonths),onChange:g=>{const h=Number(g.target.value);a(b=>({...b,durationInMonths:Number.isNaN(h)?0:h}))},onKeyDown:()=>s("durationInMonths")})})]}),t.type==="free_months"&&n.jsx(ve,{error:!!i.amount,hint:i.amount,rightPlaceholder:`${t.freeMonths===1?"month":"months"}`,title:"Free months",type:"number",value:t.freeMonths===0?"":String(t.freeMonths),onChange:g=>{const h=Number(g.target.value);a(b=>({...b,freeMonths:Number.isNaN(h)?0:h}))},onKeyDown:()=>s("amount")})]})]})]})]})})},_8=({id:t})=>{const{updateRoute:a}=Pe(),{siteData:s}=ze(),{data:{tiers:i=[]}={}}=Xr(),{data:{offers:u=[]}={},isFetched:p,isFetching:w}=Nu(),{mutateAsync:m}=Lh(),{mutateAsync:x}=Cu(),g=Xy(),[h,b]=A.useState(""),y=t==="monthly"?"monthly":"yearly",v=y==="monthly"?"Monthly retention":"Yearly retention",C=y==="monthly"?"month":"year",E=Ba(i||[]),j=A.useMemo(()=>u.filter(re=>re.redemption_type==="retention"&&re.cadence===C).sort((re,Ze)=>{const Ht=re.created_at?new Date(re.created_at).getTime():0;return(Ze.created_at?new Date(Ze.created_at).getTime():0)-Ht}),[u,C]),T=A.useMemo(()=>j.find(re=>re.status==="active")||null,[j]),D=j[0]||null,$=T||D,R=A.useMemo(()=>j.reduce((re,Ze)=>re+(Ze.redemption_count||0),0),[j]),O=A.useMemo(()=>j.map(re=>re.id),[j]),P=A.useMemo(()=>j.map(re=>re.last_redeemed).filter(re=>!!re).sort((re,Ze)=>new Date(Ze).getTime()-new Date(re).getTime())[0]||null,[j]),I=A.useMemo(()=>R===0||O.length===0?null:Uu(O),[O,R]),[U,Y]=A.useState(20),[W,B]=A.useState(1),[ie,ge]=A.useState(null),Me=re=>{let Ze="Please try again later";re instanceof Er&&re.data&&re.data.errors[0]&&(Ze=re.data.errors[0].context||re.data.errors[0].message||Ze),Ds.remove(),rt({title:"Failed to save offer",type:"error",message:Ze})},{formState:K,setFormState:ee,updateForm:ke,handleSave:ue,saveState:ye,okProps:J,errors:de,clearError:fe}=an({initialState:bu(y),savingDelay:500,onSave:async()=>{let re=!1;const Ze=eh({formState:K,lastPercentAmount:U,lastFreeMonths:W}),Ht=b8($),st=th(Ht)!==th(Ze),mt=K.enabled?"active":"archived",It=K.displayTitle||"",St=K.displayDescription||"",$t=$?It!==($.display_title||"")||St!==($.display_description||""):It!==""||St!=="",bt=bu(y),ar=!K.enabled&&!$&&v8(K,bt),Je=async hn=>{const yn=crypto.getRandomValues(new Uint32Array(1))[0].toString(16).padStart(8,"0"),jt=p8(Ze,yn);await m({name:jt,code:yn,display_title:It,display_description:St,cadence:C,amount:Ze.amount,duration:Ze.duration,duration_in_months:Ze.duration==="repeating"?Ze.durationInMonths:null,currency:null,status:hn,redemption_type:"retention",tier:null,type:Ze.type,currency_restriction:!1}),re=!0},Se=async()=>{re&&await g()};if(!(!$&&!K.enabled&&!ar)){if(st){!K.enabled&&T&&(await x({...T,status:"archived"}),re=!0),await Je(mt),await Se();return}if($){const hn=$.status!==mt;($t||hn)&&(await x({...$,display_title:It,display_description:St,status:mt}),re=!0),await Se();return}(K.enabled||ar)&&await Je(mt),await Se()}},onSaveError:Me,onValidate:()=>{const re={};return K.enabled&&(K.type==="percent"&&((K.percentAmount<1||K.percentAmount>100)&&(re.amount="Enter an amount between 1 and 100%."),K.duration==="repeating"&&!nh(K.durationInMonths)&&(re.durationInMonths=Qp)),K.type==="free_months"&&(nh(K.freeMonths)||(re.amount=Qp))),re}}),ce=$?.id||"none",V=`${t}:${ce}`;A.useEffect(()=>{!p||w||ye==="unsaved"||ie===V||(ee(()=>w8($,y)),ge(V))},[y,V,$,p,ie,w,ye,ee]),A.useEffect(()=>{K.percentAmount>0&&Y(K.percentAmount)},[K.percentAmount]),A.useEffect(()=>{K.freeMonths>0&&B(K.freeMonths)},[K.freeMonths]);const be=()=>{a("offers/edit")},Le=n.jsx(y8,{cadence:y,clearError:fe,errors:de,formState:K,lastRedeemed:P,membersFilterUrl:I,redemptions:R,updateForm:ke}),it=async()=>{try{await ue({force:!0})&&be()}catch{}},wt=A.useMemo(()=>{const re=eh({formState:K,lastPercentAmount:U,lastFreeMonths:W}),Ze=E.find(Ht=>C==="month"?Ht.monthly_price:Ht.yearly_price);return{enabled:K.enabled,name:`${y} retention`,code:`${y}-retention`,displayTitle:K.displayTitle||"",displayDescription:K.displayDescription||"",type:re.type,cadence:C,amount:re.amount,duration:re.duration,durationInMonths:re.durationInMonths,currency:"",status:"active",tierId:Ze?.id||"",redemptionType:"retention"}},[E,y,K,W,U,C]);A.useEffect(()=>{if(!s.url){b("");return}const re=zu(wt,s.url);b(re)},[wt,s.url]);const Pt=n.jsx(Ua,{href:h||"",portalParent:"offers"});return n.jsx(Kr,{afterClose:()=>a("offers"),backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:ye==="unsaved",height:"full",okColor:J.color,okLabel:J.label||"Save",preview:Pt,previewToolbarBreadcrumbs:[{label:"Offers",onClick:be},{label:v}],sidebar:Le,size:"lg",testId:"retention-offer-modal",title:"Offer",width:1140,onBreadcrumbsBack:be,onCancel:be,onOk:it})},rh=(t,a)=>t.find(s=>s.redemption_type==="retention"&&s.cadence===a&&s.status==="active")||null,sh=(t,a)=>t.reduce((s,i)=>i.redemption_type!=="retention"||i.cadence!==a?s:s+(i.redemption_count||0),0),ah=(t,a)=>t.filter(s=>s.redemption_type==="retention"&&s.cadence===a).map(s=>s.id),Fm=t=>t.type==="percent"&&t.amount===100&&t.duration==="repeating",oh=t=>{if(!t)return null;if(Fm(t)){const a=t.duration_in_months||0;return`${a} ${a===1?"month":"months"} free`}return t.type==="percent"?`${t.amount}% OFF`:null},ih=t=>{if(!t)return null;if(Fm(t))return"";if(t.duration==="once")return"First payment";if(t.duration==="repeating"&&t.duration_in_months){const a=t.duration_in_months===1?"month":"months";return`For ${t.duration_in_months} ${a}`}return t.duration==="forever"?"Forever":null},M8=t=>{const a=rh(t,"month"),s=rh(t,"year"),i=ah(t,"month"),u=ah(t,"year"),p=sh(t,"month"),w=sh(t,"year");return[{id:"monthly",name:"Monthly retention",description:"Applied to monthly plans",terms:oh(a),termsDetail:ih(a),redemptionOfferIds:i,redemptions:p,status:a?"active":"inactive"},{id:"yearly",name:"Yearly retention",description:"Applied to annual plans",terms:oh(s),termsDetail:ih(s),redemptionOfferIds:u,redemptions:w,status:s?"active":"inactive"}]},k8=t=>t==="month"?"monthly":"yearly",j8=t=>t==="once"?"First payment":t==="repeating"?"Repeating":"Forever",E8=(t,a,s,i,u)=>{let p="",w="";const m=s==="month"?u?.monthly_price??0:u?.yearly_price??0;let x=m;const g=y=>parseFloat(y.toFixed(2));let h=Rf(i)+$a(g(ki(m)));switch(t){case"percent":p="text-green",w=a+"% off",x=m-m*a/100;break;case"fixed":p="text-blue",w=$a(g(ki(a)))+" "+i+" off",x=m-a;break;case"trial":p="text-pink",w=a+" days free",h="";break}x<0&&(x=0);const b=Rf(i)+$a(g(ki(x)));return{discountColor:p,discountOffer:w,originalPriceWithCurrency:h,updatedPriceWithCurrency:b}},T8=({showArchived:t,setShowArchived:a,sortOption:s,sortDirection:i,onSortChange:u,onDirectionChange:p})=>n.jsx(Lu,{position:"end",trigger:n.jsx(Ie,{"aria-label":"Filter options",className:"p-1 hover:text-black dark:hover:text-white",label:n.jsx(Vy,{size:16,strokeWidth:1.5}),unstyled:!0}),children:n.jsxs("div",{className:"flex min-w-[200px] flex-col p-1 normal-case",children:[n.jsx("div",{className:"cursor-default pt-2 pl-3 text-xs font-medium tracking-wide text-grey-700 uppercase select-none",children:"Sort by"}),n.jsx("div",{className:"flex flex-col py-1",children:[{id:"date-added",label:"Date added"},{id:"name",label:"Name"},{id:"redemptions",label:"Redemptions"}].map(w=>n.jsxs("div",{className:"group relative mx-1 flex items-center rounded-[2.5px] hover:bg-grey-100 dark:hover:bg-grey-800",children:[n.jsxs("button",{className:"flex w-full cursor-pointer items-center px-8 py-1.5 pr-12 text-left text-sm text-black dark:text-white",type:"button",onClick:()=>u(w.id),children:[s===w.id&&n.jsx(Ge,{className:"absolute left-2",name:"check",size:"xs"}),w.label]}),s===w.id&&n.jsx("button",{className:"absolute right-1 flex size-6 cursor-pointer items-center justify-center rounded-full hover:bg-grey-300 dark:hover:bg-grey-700",title:i==="asc"?"Ascending":"Descending",type:"button",onClick:()=>p(),children:n.jsx(Ge,{name:i==="asc"?"arrow-up":"arrow-down",size:"xs"})})]},w.id))}),n.jsx("div",{className:"-mx-1 mt-1 border-t border-t-grey-200 dark:border-t-grey-800",children:n.jsx("div",{className:"group relative mx-2 mt-1 flex items-center rounded-[2.5px] py-1",children:n.jsxs("div",{className:"flex w-full items-center px-8 py-1.5 pr-2 text-sm text-black dark:text-white",children:[n.jsx(Zy,{className:"absolute left-2 -mt-0.5 text-black dark:text-white",size:14,strokeWidth:1.5}),n.jsx("div",{className:"grow [&>div]:w-full",children:n.jsx(Ye,{checked:t,direction:"rtl",label:"Show archived",labelClasses:"text-sm text-black dark:text-white",onChange:w=>{a(w.target.checked)}})})]})})})]})}),N8=({offer:t,onClick:a})=>{const s=t.redemptions>0&&t.redemptionOfferIds.length>0?Uu(t.redemptionOfferIds):void 0;return n.jsxs("tr",{className:"group relative border-b border-b-grey-200 dark:border-grey-800","data-testid":"retention-offer-item",children:[n.jsx("td",{className:"sticky left-0 z-10 bg-white p-0 dark:bg-black",children:n.jsxs("button",{className:"block w-full cursor-pointer p-5 pl-0 text-left",type:"button",onClick:a,children:[n.jsx("span",{className:"font-semibold",children:t.name}),n.jsx("br",{}),n.jsx("span",{className:"text-sm text-grey-700",children:t.description})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:t.terms?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-[1.3rem] font-medium uppercase",children:t.terms}),n.jsx("br",{}),n.jsx("span",{className:"text-grey-700",children:t.termsDetail})]}):n.jsx("span",{className:"text-grey-700",children:"–"})})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:n.jsx("span",{className:"text-grey-700",children:"–"})})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:s?n.jsx("a",{className:"block cursor-pointer p-5 hover:underline","data-testid":`retention-redemptions-link-${t.id}`,href:s,children:t.redemptions}):n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left","data-testid":`retention-redemptions-link-${t.id}`,type:"button",onClick:a,children:t.redemptions})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:t.status==="active"?n.jsx("span",{className:"inline-flex items-center rounded-full bg-[rgba(48,207,67,0.15)] px-2 py-0.5 text-2xs font-semibold tracking-wide text-green uppercase",children:"Active"}):n.jsx("span",{className:"inline-flex items-center rounded-full bg-grey-200 px-2 py-0.5 text-2xs font-semibold tracking-wide text-grey-700 uppercase dark:bg-grey-900 dark:text-grey-500",children:"Inactive"})})})]})},lh=()=>{const t=Ft(),{updateRoute:a}=Pe(),{data:{offers:s=[]}={}}=Nu(),{data:{tiers:i}={}}=Xr(),u=s.filter(I=>I.redemption_type==="signup"),p=M8(s),{sortingState:w,setSortingState:m}=Ry(),x=w?.find(I=>I.type==="offers"),{offersShowArchived:g,setOffersShowArchived:h}=Ly(),b=x?.option||"date-added",y=x?.direction||"desc",v=I=>{I&&a(`offers/edit/${I}`)},C=I=>{a(`offers/edit/retention/${I}`)},E=u.sort((I,U)=>{const Y=y==="desc"?-1:1;switch(b){case"name":return Y*I.name.localeCompare(U.name);case"redemptions":return Y*(I.redemption_count-U.redemption_count);default:return Y*((I.created_at?new Date(I.created_at).getTime():0)-(U.created_at?new Date(U.created_at).getTime():0))}}),j=Ba(i||[]),T=E.filter(I=>{const U=i?.find(B=>B.id===I?.tier?.id),Y=I.status==="active"&&U&&U.active===!0,W=I.status==="archived"||U&&U.active===!1;return!!(Y||g&&W)}),D=I=>{m?.([{type:"offers",option:I,direction:y}])},$=()=>{m?.([{type:"offers",option:b,direction:y==="asc"?"desc":"asc"}])},R=I=>{const U=i?.find(Y=>Y.id===I?.tier?.id);return I.status==="archived"||U&&U.active===!1},O=[{key:"cancel-modal",label:"Close",onClick:()=>{t.remove(),a("offers")}},{key:"new-offer",icon:"add",label:"New offer",color:"green",onClick:()=>{j.length===0?rt({type:"info",title:"You must have an active tier to create an offer."}):a("offers/new")}}],P=n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"m-0 min-w-[900px]",children:[n.jsxs("colgroup",{children:[n.jsx("col",{className:"w-[25%]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[220px]"})]}),n.jsx("thead",{children:n.jsxs("tr",{className:"border-b border-b-grey-200 dark:border-grey-800",children:[n.jsx("th",{className:"sticky left-0 z-10 bg-white p-0 pb-2.5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase dark:bg-black",children:"Name"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Terms"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Price"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Redemptions"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:n.jsxs("span",{className:"flex items-center justify-between",children:["Status",n.jsx(T8,{setShowArchived:h,showArchived:g,sortDirection:y,sortOption:b,onDirectionChange:$,onSortChange:D})]})})]})}),n.jsxs("tbody",{children:[p.map(I=>n.jsx(N8,{offer:I,onClick:()=>C(I.id)},I.id)),T.map(I=>{const U=i?.find(ge=>ge.id===I?.tier?.id);if(!U)return null;const Y=R(I),{discountOffer:W,originalPriceWithCurrency:B,updatedPriceWithCurrency:ie}=E8(I.type,I.amount,I.cadence,I.currency||"USD",U);return n.jsxs("tr",{className:`group relative border-b border-b-grey-200 dark:border-grey-800 ${Y?"opacity-60":""}`,"data-testid":"offer-item",children:[n.jsx("td",{className:"sticky left-0 z-10 bg-white p-0 dark:bg-black",children:n.jsxs("a",{className:"block cursor-pointer p-5 pl-0",onClick:()=>v(I.id),children:[n.jsx("span",{className:"font-semibold",children:I?.name}),n.jsx("br",{}),n.jsxs("span",{className:"text-sm text-grey-700",children:[U.name," ",k8(I.cadence)]})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsxs("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:[n.jsx("span",{className:"text-[1.3rem] font-medium uppercase",children:W}),n.jsx("br",{}),n.jsx("span",{className:"text-grey-700",children:I.type!=="trial"?j8(I.duration):"Trial period"})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsxs("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:[n.jsx("span",{className:"font-medium",children:ie})," ",I.type!=="trial"?n.jsx("span",{className:'relative text-xs text-grey-700 before:absolute before:-inset-x-0.5 before:top-1/2 before:rotate-[-20deg] before:border-t before:content-[""]',children:B}):null]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("a",{className:`block cursor-pointer p-5 ${I.redemption_count===0?"":"hover:underline"}`,href:I.redemption_count>0&&I.id?Lm(I.id):void 0,onClick:I.redemption_count===0&&I.id?()=>v(I.id):void 0,children:I.redemption_count})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:Y?n.jsx("span",{className:"inline-flex items-center rounded-full bg-grey-200 px-2 py-0.5 text-2xs font-semibold tracking-wide text-grey-700 uppercase dark:bg-grey-900 dark:text-grey-500",children:"Archived"}):n.jsx("span",{className:"inline-flex items-center rounded-full bg-[rgba(48,207,67,0.15)] px-2 py-0.5 text-2xs font-semibold tracking-wide text-green uppercase",children:"Active"})})})]},I.id)})]})]})});return n.jsx(ut,{afterClose:()=>{a("offers")},animate:!1,backDropClick:!1,cancelLabel:"",footer:!1,height:"full",size:"lg",testId:"offers-modal",title:"Offers",topRightContent:n.jsx(Pn,{buttons:O}),width:1140,children:n.jsx("div",{className:"flex h-full flex-col pt-8",children:P})})},C8=({route:t})=>{if(t==="offers/new")return n.jsx(c8,{});if(t.startsWith("offers/edit/retention/")&&t.length>22){const a=t.split("/").pop();return n.jsx(_8,{id:a||""})}else{if(t==="offers/edit/retention/"||t==="offers/edit/retention")return n.jsx(lh,{});if(t.startsWith("offers/edit/")&&t.length>12){const a=t.split("/").pop();return n.jsx(m8,{id:a||""})}else if(t.startsWith("offers/success/")&&t.length>15){const a=t.split("/").pop();return n.jsx(Rm,{id:a||""})}else if(t==="offers/edit"||t==="offers/edit/")return n.jsx(lh,{})}},I8=()=>{const{route:t}=Pe();return n.jsx(C8,{route:t})},S8=me.create(I8),A8=""+new URL("pintura-screenshot-1gRQGS4m.png",import.meta.url).href,D8=qr({method:"POST",path:()=>"/files/upload/",body:({file:t})=>{const a=new FormData;return a.append("file",t),a}}),$8=me.create(()=>{const{updateRoute:t}=Pe(),[a,s]=A.useState({js:!1,css:!1}),{settings:i,config:u}=ze(),[p]=ot(i,["pintura"]),{mutateAsync:w}=Nr(),{mutateAsync:m}=D8(),x=Ke();A.useEffect(()=>{y(p||!1)},[p]);const[g,h]=A.useState("Save"),[b,y]=A.useState(!!p),v=async()=>{const $=[{key:"pintura",value:b}];try{h("Saving..."),await Promise.all([w($),new Promise(R=>{setTimeout(R,1e3)})]),h("Saved")}catch(R){x(R)}finally{setTimeout(()=>h("Save"),1e3)}},C=A.useRef(null),E=A.useRef(null),j=$=>{$==="js"&&C.current?.click(),$==="css"&&E.current?.click()},T=async($,R)=>{try{s(Y=>({...Y,[R]:!0}));const O=$.target?.files?.[0];if(!O)return;const{files:P}=await m({file:O}),I=P[0].url,U=[{key:`pintura_${R}_url`,value:I}];await w(U),s(Y=>({...Y,[R]:!1})),rt({type:"success",title:`Pintura ${R} uploaded`})}catch(O){s({js:!1,css:!1}),x(O)}},D=b!==p;return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:D,okColor:g==="Saved"?"green":"black",okLabel:g,testId:"pintura-modal",title:"",onOk:v,children:[n.jsx(Qr,{detail:"Advanced image editing",icon:n.jsx(Ge,{name:"pintura",size:48}),title:"Pintura"}),n.jsxs("div",{className:"mt-7",children:[!u.pintura&&n.jsxs("div",{className:"mb-7 flex flex-col items-stretch justify-between gap-4 rounded-sm bg-grey-75 p-4 md:flex-row md:p-7 dark:bg-grey-950",children:[n.jsxs("div",{className:"md:basis-1/2",children:[n.jsx("p",{className:"mb-4 font-bold",children:"Add advanced image editing to Ghost, with Pintura"}),n.jsx("p",{className:"mb-4 text-sm",children:"Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost."}),n.jsx("p",{className:"text-sm",children:"Try a demo, purchase a license, and download the required CSS/JS files from pqina.nl/pintura/ to activate this feature."})]}),n.jsxs("div",{className:"flex grow flex-col items-end justify-between gap-2 md:basis-1/2 md:gap-0",children:[n.jsx("img",{alt:"Pintura screenshot",src:A8}),n.jsx("a",{className:"-mb-1 text-sm font-bold text-green",href:"https://pqina.nl/pintura/ghost/?ref=ghost.org",rel:"noopener noreferrer",target:"_blank",children:"Find out more →"})]})]}),n.jsxs(Be,{marginBottom:!1,title:"Pintura configuration",grouped:!0,children:[n.jsx(Ye,{checked:b,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://pqina.nl/pintura/ghost/?ref=ghost.org",rel:"noopener noreferrer",target:"_blank",children:"Pintura"})," for editing your images in Ghost"]}),label:"Enable Pintura",onChange:$=>{y($.target.checked)}}),b&&!u.pintura&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex flex-col justify-between gap-1 md:flex-row md:items-center",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Upload Pintura script"}),n.jsxs("div",{className:"text-xs text-grey-600",children:["Upload the ",n.jsx("code",{children:"pintura-umd.js"})," file from the Pintura package"]})]}),n.jsx("input",{ref:C,accept:".js",type:"file",hidden:!0,onChange:async $=>{await T($,"js")}}),n.jsx(Ie,{color:"outline",disabled:a.js,label:"Upload",onClick:()=>{j("js")}})]}),n.jsxs("div",{className:"flex flex-col justify-between gap-1 md:flex-row md:items-center",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Upload Pintura styles"}),n.jsxs("div",{className:"text-xs text-grey-600",children:["Upload the ",n.jsx("code",{children:"pintura.css"})," file from the Pintura package"]})]}),n.jsx("input",{ref:E,accept:".css",type:"file",hidden:!0,onChange:async $=>{await T($,"css")}}),n.jsx(Ie,{color:"outline",disabled:a.css,label:"Upload",onClick:()=>{j("css")}})]})]})]})]})]})}),R8=({localSettings:t,updateSetting:a})=>{const[s,i,u,p,w,m]=ot(t,["transistor","transistor_portal_enabled","transistor_portal_heading","transistor_portal_description","transistor_portal_button_text","transistor_portal_url_template"]);if(!(s===!0))return null;const g=i===!0,h=u,b=p,y=w,v=m;return n.jsxs(n.Fragment,{children:[n.jsx(Rs,{}),n.jsx(ct,{level:5,children:"Transistor"}),n.jsx(Ye,{checked:g,direction:"rtl",hint:"Show a section on the account page for members to access private podcasts",label:"Enable Transistor integration",onChange:C=>a("transistor_portal_enabled",C.target.checked)}),g&&n.jsxs(n.Fragment,{children:[n.jsx(ve,{hint:"The heading displayed above the Transistor section",placeholder:"Podcasts",title:"Heading",value:h,onChange:C=>a("transistor_portal_heading",C.target.value)}),n.jsx(ve,{hint:"A short description of what members can do",placeholder:"Access your RSS feeds",title:"Description",value:b,onChange:C=>a("transistor_portal_description",C.target.value)}),n.jsx(ve,{hint:"The text displayed on the button",placeholder:"Manage",title:"Button text",value:y,onChange:C=>a("transistor_portal_button_text",C.target.value)}),n.jsx(ve,{hint:"Use {memberUuid} as a placeholder for the member ID",placeholder:"https://partner.transistor.fm/ghost/{memberUuid}",title:"URL template",value:v,onChange:C=>a("transistor_portal_url_template",C.target.value)})]})]})},L8=({localSettings:t,updateSetting:a,errors:s,setError:i})=>{const{siteData:u,settings:p,config:w}=ze(),m=Oy("transistor"),[x,g]=ot(p,["members_support_address","support_email_address"]),h=g?.toString()||nu(x?.toString()||"",u,w),b=Jv(u,w),[y,v]=A.useState(h),C=E=>{let j=E.target.value;j?xt.isEmail(j)?i("members_support_address",""):i("members_support_address","Enter a valid email address"):i("members_support_address","Enter an email address");let T=b&&j===`noreply@${b}`?"noreply":j;a("members_support_address",T),v(nu(T,u,w))};return A.useEffect(()=>{v(h)},[h]),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(ve,{error:!!s.members_support_address,hint:s.members_support_address,title:"Support email address",value:y,onBlur:C,onChange:E=>v(E.target.value)}),m&&n.jsx(R8,{localSettings:t,updateSetting:a})]})})},eu=[{icon:"portal-icon-1",value:"icon-1"},{icon:"portal-icon-2",value:"icon-2"},{icon:"portal-icon-3",value:"icon-3"},{icon:"portal-icon-4",value:"icon-4"},{icon:"portal-icon-5",value:"icon-5"}],O8=({localSettings:t,updateSetting:a})=>{const{mutateAsync:s}=Hs(),i=Ke(),[u,p,w,m]=ot(t,["portal_button","portal_button_style","portal_button_icon","portal_button_signup_text"]),x=w||eu[0].value,g=eu.map(({value:E})=>E).includes(x),[h,b]=A.useState(g?void 0:x),y=async E=>{try{const j=Jn(await s({file:E}));a("portal_button_icon",j),b(j)}catch(j){const T=j;T.response.status===415&&(T.message="Unsupported file type"),i(T)}},v=()=>{a("portal_button_icon",null),b(void 0)},C=[{value:"icon-and-text",label:"Icon and text"},{value:"icon-only",label:"Icon only"},{value:"text-only",label:"Text only"}];return n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(Ye,{checked:!!u,direction:"rtl",label:"Show portal button",onChange:E=>a("portal_button",E.target.checked)}),u&&n.jsxs(n.Fragment,{children:[n.jsx(kt,{options:C,selectedOption:C.find(E=>E.value===p),title:"Button style",onSelect:E=>a("portal_button_style",E?.value||null)}),p?.toString()?.includes("icon")&&n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(ct,{level:6,grey:!0,children:"Icon"}),n.jsxs("div",{className:"flex justify-between",children:[eu.map(E=>n.jsx("button",{className:he("border p-3",x===E.value?"border-green":"border-transparent"),type:"button",onClick:()=>a("portal_button_icon",E.value),children:n.jsx(Ge,{className:`size-5 ${x===E.value?"text-green":"text-black opacity-70 transition-all hover:opacity-100 dark:text-white"}`,name:E.icon})},E.value)),n.jsx("div",{className:he("relative w-[46px] border",x===h?"border-green":"border-transparent"),children:n.jsx(tr,{deleteButtonClassName:"invisible absolute -right-2 -top-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-[rgba(0,0,0,0.75)] text-white hover:bg-black group-hover:visible!",deleteButtonContent:n.jsx(Ge,{colorClass:"text-white",name:"trash",size:"sm"}),height:"46px",id:"test",imageClassName:"cursor-pointer",imageURL:h,width:"46px",deleteButtonUnstyled:!0,onDelete:v,onImageClick:()=>h&&a("portal_button_icon",h),onUpload:y,children:n.jsx(Ge,{className:"dark:text-white",name:"upload",size:"md"})})})]})]}),p?.toString()?.includes("text")&&n.jsx(ve,{title:"Signup button text",value:m,onChange:E=>a("portal_button_signup_text",E.target.value)})]})]})})},Cn=({name:t,value:a})=>{const s=A.useId();return n.jsx(Cr,{action:n.jsx(Ie,{color:"black",label:"Copy",link:!0,onClick:i=>{navigator.clipboard.writeText(a);const u=i?.target;u.innerText="Copied",setTimeout(()=>{u.innerText="Copy"},1e3)}}),separator:!0,children:n.jsxs("div",{className:"flex w-full grow flex-col py-3 lg:flex-row lg:items-center lg:gap-5",children:[n.jsxs("label",{className:"inline-block whitespace-nowrap lg:w-[180px] lg:min-w-[180px]",htmlFor:s,children:[t,":"]}),n.jsx(ve,{className:"grow border-b-grey-500 bg-transparent py-1 text-grey-700 lg:p-1",id:s,value:a,disabled:!0,unstyled:!0})]})})},F8=()=>{const[t,a]=A.useState(!1),[s,i]=A.useState(""),{siteData:u}=ze(),{data:{tiers:p}={}}=Xr(),w=Ba(p||[]),m=()=>{a(!t)};A.useEffect(()=>{w?.length&&!s&&i(w[0].id)},[w,s]);const x=w?.map(h=>({label:h.name,value:h.id})),g=Hn(u);return n.jsxs($u,{className:"max-w-[920px] text-base text-black dark:text-white",heading:"Links",children:[n.jsxs("p",{className:"-mt-6 mb-16",children:["Use these ",t?"data attributes":"links"," in your theme to show pages of Portal."]}),n.jsxs(er,{actions:n.jsx(Ie,{color:"green",label:t?"Links":"Data attributes",link:!0,onClick:m}),title:"Generic",titleSize:"lg",children:[n.jsx(Cn,{name:"Default",value:t?"data-portal":`${g}#/portal`}),n.jsx(Cn,{name:"Sign in",value:t?'data-portal="signin"':`${g}#/portal/signin`}),n.jsx(Cn,{name:"Sign up",value:t?'data-portal="signup"':`${g}#/portal/signup`})]}),n.jsxs(er,{className:"mt-14",title:"Tiers",titleSize:"lg",children:[n.jsx(Cr,{hideActions:!0,separator:!0,children:n.jsxs("div",{className:"flex w-full items-center gap-2 py-2",children:[n.jsx("span",{className:"inline-block w-[180px] min-w-[180px] shrink-0",children:"Tier:"}),n.jsx(kt,{options:x,selectedOption:x.find(h=>h.value===s),onSelect:h=>{h&&i(h?.value)}})]})}),n.jsx(Cn,{name:"Signup / Monthly",value:t?`data-portal="signup/${s}/monthly"`:`${g}#/portal/signup/${s}/monthly`}),n.jsx(Cn,{name:"Signup / Yearly",value:t?`data-portal="signup/${s}/yearly"`:`${g}#/portal/signup/${s}/yearly`}),n.jsx(Cn,{name:"Signup / Free",value:t?'data-portal="signup/free"':`${g}#/portal/signup/free`})]}),n.jsxs(er,{className:"mt-14",title:"Account",titleSize:"lg",children:[n.jsx(Cn,{name:"Account",value:t?'data-portal="account"':`${g}#/portal/account`}),n.jsx(Cn,{name:"Account / Plans",value:t?'data-portal="account/plans"':`${g}#/portal/account/plans`}),n.jsx(Cn,{name:"Account / Profile",value:t?'data-portal="account/profile"':`${g}#/portal/account/profile`}),n.jsx(Cn,{name:"Account / Newsletters",value:t?'data-portal="account/newsletters"':`${g}#/portal/account/newsletters`}),n.jsx(Cn,{name:"Account / Newsletter help",value:t?'data-portal="account/newsletters/help"':`${g}#/portal/account/newsletters/help`})]})]})},P8=({settings:t,config:a,tiers:s,siteData:i,selectedTab:u})=>{if(!i?.url)return null;let p=s.filter(v=>v.visibility==="public"&&v.type==="paid").map(v=>v.id);const w=i.url.replace(/\/$/,""),m="/?v=modal-portal-settings#/portal/preview",x=JSON.parse(Nt(t,"portal_plans")||""),g=new URLSearchParams;g.append("button",Nt(t,"portal_button")?"true":"false"),g.append("name",Nt(t,"portal_name")?"true":"false"),g.append("isFree",x.includes("free")?"true":"false"),g.append("isMonthly",$s(t,a)&&x.includes("monthly")?"true":"false"),g.append("isYearly",$s(t,a)&&x.includes("yearly")?"true":"false"),g.append("page",u==="account"?"accountHome":"signup"),g.append("buttonIcon",encodeURIComponent(Nt(t,"portal_button_icon")||"icon-1")),g.append("signupButtonText",encodeURIComponent(Nt(t,"portal_button_signup_text")||"")),g.append("membersSignupAccess",Nt(t,"members_signup_access")||"all"),g.append("allowSelfSignup",Nt(t,"allow_self_signup")||"false"),g.append("signupTermsHtml",Nt(t,"portal_signup_terms_html")||""),g.append("signupCheckboxRequired",Nt(t,"portal_signup_checkbox_required")?"true":"false"),g.append("portalProducts",p.join(","));const h=Nt(t,"portal_default_plan");h&&g.append("portalDefaultPlan",h),x&&x.length&&g.append("portalPrices",encodeURIComponent(x.join(",")));const b=Nt(t,"accent_color");b!=null&&g.append("accentColor",encodeURIComponent(b));const y=Nt(t,"portal_button_style");return y&&g.append("buttonStyle",encodeURIComponent(y)),g.append("disableBackground","false"),Nt(t,"transistor")&&g.append("transistorPortalSettings",JSON.stringify({enabled:Nt(t,"transistor_portal_enabled"),heading:Nt(t,"transistor_portal_heading")||"Podcasts",description:Nt(t,"transistor_portal_description")||"Access your RSS feeds",button_text:Nt(t,"transistor_portal_button_text")||"Manage",url_template:Nt(t,"transistor_portal_url_template")||"https://partner.transistor.fm/ghost/{memberUuid}"})),`${w}${m}?${g.toString()}`},H8=({selectedTab:t="signup",localSettings:a,localTiers:s})=>{const{siteData:i,config:u}=ze(),p=P8({settings:a,tiers:s,selectedTab:t,siteData:i,config:u});let w=n.jsx(n.Fragment,{});switch(t){case"account":w=n.jsx(n.Fragment,{children:n.jsx(Ua,{href:p||"",portalParent:"preview",selectedTab:t})});break;case"links":w=n.jsx(F8,{});break;default:w=n.jsx(n.Fragment,{children:n.jsx(Ua,{href:p||"",portalParent:"preview",selectedTab:t})});break}return w},z8=({localSettings:t,updateSetting:a,localTiers:s,updateTier:i,errors:u,setError:p})=>{const{config:w}=ze(),[m,x,g,h,b,y]=ot(t,["members_signup_access","portal_name","portal_signup_terms_html","portal_signup_checkbox_required","portal_plans","portal_default_plan"]),v=JSON.parse(b?.toString()||"[]"),C=115,E=A.useMemo(()=>{const Y=document.createElement("div");return Y.innerHTML=g?.toString()||"",Y.innerText.length},[g]),j=A.useCallback((Y,W)=>{p(Y,W)},[]);A.useEffect(()=>{E>C?j("portal_signup_terms_html","Signup notice is too long"):j("portal_signup_terms_html",void 0)},[E,j]);const T=Y=>{const W=v.indexOf(Y);W===-1?v.push(Y):v.splice(W,1),a("portal_plans",JSON.stringify(v)),y==="yearly"?!v.includes("yearly")&&v.includes("monthly")&&a("portal_default_plan","monthly"):y==="monthly"&&(v.includes("monthly")||a("portal_default_plan","yearly"))},D=m==="all"||m==="paid",$=m==="all",R=$s(t,w);let O=[];s&&s.forEach(Y=>{Y.type==="free"&&$&&O.push({checked:v.includes("free"),disabled:!D,label:Y.name,value:"free",testId:"free-tier-checkbox",onChange:W=>{v.includes("free")&&!W&&v.splice(v.indexOf("free"),1),!v.includes("free")&&W&&v.push("free"),a("portal_plans",JSON.stringify(v)),i({...Y,visibility:W?"public":"none"})}})});const P=Ba(s)||[],I=[{value:"yearly",label:"Yearly"},{value:"monthly",label:"Monthly"}];R&&P.length>0&&P.forEach(Y=>{O.push({checked:Y.visibility==="public",label:Y.name,value:Y.id,onChange:(W=>i({...Y,visibility:W?"public":"none"}))})});const U=R&&P.length>0&&P.some(Y=>Y.visibility==="public");return n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(Ye,{checked:!!x,direction:"rtl",disabled:!D,label:"Display name in signup form",onChange:Y=>a("portal_name",Y.target.checked)}),n.jsx(ou,{checkboxes:O,title:"Available tiers"}),U&&n.jsxs(n.Fragment,{children:[n.jsx(ou,{checkboxes:[{checked:v.includes("monthly"),disabled:!D,label:"Monthly",value:"monthly",onChange:()=>{T("monthly")}},{checked:v.includes("yearly"),disabled:!D,label:"Yearly",value:"yearly",onChange:()=>{T("yearly")}}],title:"Available prices"}),v.includes("yearly")&&v.includes("monthly")&&n.jsx(kt,{options:I,selectedOption:I.find(Y=>Y.value===y),title:"Default price at signup",onSelect:Y=>{a("portal_default_plan",Y?.value??"yearly")}})]}),n.jsx(Au,{error:!!u.portal_signup_terms_html,hint:u.portal_signup_terms_html||n.jsxs(n.Fragment,{children:["Recommended: ",n.jsx("strong",{children:"115"})," characters. You've used ",n.jsx("strong",{className:"text-green",children:E})]}),nodes:"MINIMAL_NODES",placeholder:"By signing up, I agree to receive emails from ...",title:"Display notice at signup",value:g?.toString(),onChange:Y=>a("portal_signup_terms_html",Y)}),g?.toString()&&n.jsx(Ye,{checked:!!h,disabled:!D,label:"Require agreement",labelStyle:"heading",onChange:Y=>a("portal_signup_checkbox_required",Y.target.checked)})]})})},U8="SettingsResponseType",B8=qr({path:()=>"/settings/verifications",method:"PUT",body:({token:t})=>({token:t}),updateQueries:{dataType:U8,emberUpdateType:"createOrUpdate",update:t=>({...t,settings:t.settings})}}),W8=({localSettings:t,updateSetting:a,localTiers:s,updateTier:i,errors:u,setError:p,selectedTab:w,onTabChange:m})=>{const x=[{id:"signupOptions",title:"Signup options",contents:n.jsx(z8,{errors:u,localSettings:t,localTiers:s,setError:p,updateSetting:a,updateTier:i})},{id:"lookAndFeel",title:"Look & feel",contents:n.jsx(O8,{localSettings:t,updateSetting:a})},{id:"accountPage",title:"Account page",contents:n.jsx(L8,{errors:u,localSettings:t,setError:p,updateSetting:a})}];return n.jsx("div",{className:"pt-4",children:n.jsx(Tr,{selectedTab:w,tabs:x,onTabChange:m})})},Y8=()=>{const{updateRoute:t}=Pe(),[a,s]=A.useState("signup"),[i,u]=A.useState("signupOptions"),p=Ke(),{settings:w,siteData:m,config:x}=ze(),{mutateAsync:g}=Nr(),{data:{tiers:h}={}}=Xr(),{mutateAsync:b}=Iu(),{mutateAsync:y}=B8(),{getParam:v}=Mh(),C=v("verifyEmail");A.useEffect(()=>{C&&(async({token:ee})=>{try{let{settings:ke}=await y({token:ee});const[ue]=ot(ke,["members_support_address"]);me.show(ht,{title:"Support address verified",prompt:n.jsxs(n.Fragment,{children:["Your support email address has been changed to ",n.jsx("strong",{children:ue}),"."]}),okLabel:"Close",cancelLabel:"",onOk:ye=>ye?.remove()})}catch(ke){let ue="There was an error verifying your email address. Please try again.";ke?.message==="Token expired"&&(ue="Verification link has expired."),me.show(ht,{title:"Error verifying support address",prompt:ue,okLabel:"Close",cancelLabel:"",onOk:ye=>ye?.remove()}),p(ke,{withToast:!1})}})({token:C})},[p,C,y]);const{formState:E,setFormState:j,saveState:T,handleSave:D,updateForm:$,okProps:R}=an({initialState:{settings:w,tiers:h||[]},savingDelay:500,onSave:async()=>{await Promise.all(E.tiers.filter(({dirty:ue})=>ue).map(ue=>b(ue))),j(ue=>({...ue,tiers:E.tiers.map(ye=>({...ye,dirty:!1}))}));const K=E.settings.filter(ue=>ue.dirty);if(!K.length)return;const{meta:ee,settings:ke}=await g(K);if(j(ue=>({...ue,settings:E.settings.map(ye=>({...ye,dirty:!1}))})),ee?.sent_email_verification){const ue=E.settings.find(J=>J.key==="members_support_address")?.value,ye=ke.find(J=>J.key==="support_email_address")?.value||nu(ke.find(J=>J.key==="members_support_address")?.value?.toString()||"noreply",m,x);me.show(ht,{title:"Confirm email address",prompt:n.jsxs(n.Fragment,{children:["We've sent a confirmation email to ",n.jsx("strong",{children:ue}),". Until verified, your support email address will remain ",ye,"."]}),okLabel:"Close",cancelLabel:"",onOk:J=>J?.remove()})}},onSaveError:p});A.useEffect(()=>{!E.tiers.length&&h?.length&&j(K=>({...K,tiers:h}))},[h,E.tiers,j]);const[O,P]=A.useState({}),I=(K,ee)=>{$(ke=>({...ke,settings:ke.settings.map(ue=>ue.key===K?{...ue,value:ee,dirty:!0}:ue)}))},U=(K,ee)=>{P(ke=>({...ke,[K]:ee}))},Y=K=>{$(ee=>({...ee,tiers:ee.tiers.map(ke=>ke.id===K.id?{...K,dirty:!0}:ke)}))},W=K=>{s(K),K==="signup"?u("signupOptions"):K==="account"&&u("accountPage")},B=K=>{u(K),K==="signupOptions"?s("signup"):K==="accountPage"&&s("account")},ie=n.jsx(W8,{errors:O,localSettings:E.settings,localTiers:E.tiers,selectedTab:i,setError:U,updateSetting:I,updateTier:Y,onTabChange:B}),ge=n.jsx(H8,{localSettings:E.settings,localTiers:E.tiers,selectedTab:a});let Me=[{id:"signup",title:"Signup"},{id:"account",title:"Account page"},{id:"links",title:"Links"}];return n.jsx(Kr,{afterClose:()=>{t("portal")},buttonsDisabled:R.disabled,cancelLabel:"Close",deviceSelector:!1,dirty:T==="unsaved",okColor:R.color,okLabel:R.label||"Save",preview:ge,previewBgColor:a==="links"?"white":"greygradient",previewToolbarTabs:Me,selectedURL:a,sidebar:ie,testId:"portal-modal",title:"Portal",onOk:async()=>{Object.values(O).filter(Boolean).length||await D({force:!0})},onSelectURL:W})},q8=me.create(Y8),G8=me.create(()=>{const{updateRoute:t}=Pe(),{localSettings:a,updateSetting:s,handleSave:i,validate:u,errors:p,clearError:w,okProps:m}=Gr({onValidate:()=>{const v={};return x&&!xt.isURL(x,{require_protocol:!0})&&(v.slackUrl="The URL must be in a format like https://hooks.slack.com/services/<your personal key>"),v},savingDelay:500}),[x,g]=ot(a,["slack_url","slack_username"]),{mutateAsync:h}=ey(),b=async()=>{Ds.remove(),await i()&&(await h(null),rt({title:"Check your Slack channel for the test message",type:"info"}))},y=a.some(v=>v.dirty);return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:y,okColor:m.color,okLabel:m.label||"Save",testId:"slack-modal",title:"",onOk:async()=>{Ds.remove(),await i()},children:[n.jsx(Qr,{detail:"A messaging app for teams",icon:n.jsx(Ge,{name:"slack",size:56}),title:"Slack"}),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{marginBottom:!1,title:"Slack configuration",grouped:!0,children:[n.jsx(ve,{error:!!p.slackUrl,hint:p.slackUrl||n.jsxs(n.Fragment,{children:["Automatically send newly published posts to a channel in Slack or any Slack-compatible service like Discord or Mattermost. Set up a new incoming webhook ",n.jsx("a",{href:"https://my.slack.com/apps/new/A0F7XDUAZ-incoming-webhooks",children:"here"}),", and grab the URL."]}),placeholder:"https://hooks.slack.com/services/...",title:"Webhook URL",value:x,onBlur:u,onChange:v=>s("slack_url",v.target.value),onKeyDown:()=>w("slackUrl")}),n.jsxs("div",{className:"flex w-full flex-col gap-2 md:flex-row md:items-center",children:[n.jsx(ve,{containerClassName:"grow",hint:"The username to display messages from",title:"Username",value:g,onChange:v=>s("slack_username",v.target.value)}),n.jsx(Ie,{color:"outline",label:"Send test notification",onClick:b})]})]})})]})}),X8=""+new URL("stripe-thumb-Cu2h4McY.jpg",import.meta.url).href,K8=""+new URL("orb-squircle-e1heFqOI.png",import.meta.url).href,Z8="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20400'%20style='enable-background:new%200%200%20400%20400'%20xml:space='preserve'%3e%3cpath%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23635bff'%20d='M0%200h400v400H0z'/%3e%3cpath%20d='M184.4%20155.5c0-9.4%207.7-13.1%2020.5-13.1%2018.4%200%2041.6%205.6%2060%2015.5v-56.8C244.8%2093.1%20225%2090%20205%2090c-49.1%200-81.7%2025.6-81.7%2068.4%200%2066.7%2091.9%2056.1%2091.9%2084.9%200%2011.1-9.7%2014.7-23.2%2014.7-20.1%200-45.7-8.2-66-19.3v57.5c22.5%209.7%2045.2%2013.8%2066%2013.8%2050.3%200%2084.9-24.9%2084.9-68.2-.4-72-92.5-59.2-92.5-86.3z'%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23fff'/%3e%3c/svg%3e",V8=""+new URL("stripe-verified-DM7Q8nrY.svg",import.meta.url).href,vu=1e3,Q8=15*vu,J8=({onNext:t})=>n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx(ct,{level:3,children:"Getting paid"}),n.jsx("img",{alt:"Stripe Verified Partner Badge",src:V8})]}),n.jsxs("div",{className:"mt-6 mb-7",children:["Stripe is our exclusive direct payments partner. Ghost collects ",n.jsx("strong",{children:"no fees"})," on any payments! If you don’t have a Stripe account yet, you can ",n.jsx("a",{className:"underline",href:"https://stripe.com",rel:"noopener noreferrer",target:"_blank",children:"sign up here"}),"."]}),n.jsx(Nh,{label:n.jsx(n.Fragment,{children:"I have a Stripe account, let's go →"}),onClick:t})]}),ej=()=>{const[t,a]=A.useState(!1),[s,i]=A.useState(""),[u,p]=A.useState(!1),[w,m]=A.useState(""),{refetch:x}=Xr({searchParams:{filter:"type:paid+active:true"},enabled:!1}),{mutateAsync:g}=Iu(),{mutateAsync:h}=Nr(),b=Ke(),y=T=>{i(T.target.value),a(!!T.target.value)},v=async()=>{const{data:T}=await x(),D=T?.pages[0].tiers[0];if(D){D.monthly_price=500,D.yearly_price=5e3,D.currency="USD";let $=0;for(;$<Q8;){await new Promise(R=>{setTimeout(R,vu)});try{await g(D);break}catch(R){if(R instanceof Er&&R.data?.errors?.[0].code==="STRIPE_NOT_CONFIGURED"){$+=vu;continue}else{b(R);return}}}}},C=async()=>{if(m(""),s)try{await h([{key:"stripe_connect_integration_token",value:s}]),await v(),await h([{key:"portal_plans",value:JSON.stringify(["free","monthly","yearly"])}])}catch(T){if(T instanceof Er&&T.data?.errors){m("Invalid secure key");return}else{b(T);return}}else m("Please enter a secure key")},{apiRoot:E}=Os(),j=`${E}/members/stripe_connect?mode=${u?"test":"live"}`;return n.jsxs("div",{children:[n.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[n.jsx(ct,{level:3,children:"Connect with Stripe"}),n.jsx(Ye,{direction:"rtl",label:"Test mode",labelClasses:`text-sm translate-y-[1px] ${u?"text-[#EC6803]":"text-grey-800"}`,toggleBg:"stripetest",onChange:T=>p(T.target.checked)})]}),n.jsxs(ct,{level:6,grey:!0,children:["Step 1 — ",n.jsx("span",{className:"text-black dark:text-white",children:"Generate secure key"})]}),n.jsxs("div",{className:"mt-2 mb-4",children:["Click on the ",n.jsx("strong",{children:"“Connect with Stripe”"})," button to generate a secure key that connects your Ghost site with Stripe."]}),n.jsx(Nh,{href:j,tag:"a",target:"_blank"}),n.jsxs(ct,{className:"mt-8 mb-2",level:6,grey:!0,children:["Step 2 — ",n.jsx("span",{className:"text-black dark:text-white",children:"Paste secure key"})]}),n.jsx(nr,{error:!!w,hint:w||void 0,placeholder:"Paste your secure key here",onChange:y}),t&&n.jsx(Ie,{className:"mt-5",color:"green",label:"Save Stripe settings",onClick:C})]})},tj=({onClose:t})=>{const{settings:a}=ze(),[s,i]=ot(a,["stripe_connect_display_name","stripe_connect_livemode"]),{refetch:u,isFetching:p}=ph({searchParams:{filter:"status:paid",limit:"0"},enabled:!1}),{mutateAsync:w}=ty(),m=Ke(),x=async()=>{const{data:g}=await u(),h=!!g?.meta?.pagination.total;me.show(ht,{title:"Disconnect Stripe",prompt:h?"Cannot disconnect while there are members with active Stripe subscriptions.":n.jsxs(n.Fragment,{children:["You‘re about to disconnect your Stripe account ",s," from this site. This will automatically turn off paid memberships on this site."]}),okLabel:h?"":"Disconnect",onOk:async b=>{try{await w(null),b?.remove(),t?.()}catch(y){m(y)}}})};return n.jsxs("section",{children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx(Ie,{color:"red",disabled:p,icon:"link-broken",iconColorClass:"text-red",label:"Disconnect",link:!0,onClick:x}),n.jsx(Ie,{icon:"close",iconColorClass:"dark:text-white",label:"Close",size:"sm",hideLabel:!0,link:!0,onClick:t})]}),n.jsxs("div",{className:"my-20 flex flex-col items-center",children:[n.jsxs("div",{className:"relative h-20 w-[200px]",children:[n.jsx("img",{alt:"Ghost Logo",className:"absolute left-10 size-16",src:K8}),n.jsx("img",{alt:"Stripe Logo",className:"absolute right-10 size-16 rounded-2xl shadow-[-1.5px_0_0_1.5px_#fff] dark:shadow-[-1.5px_0_0_1.5px_black]",src:Z8})]}),n.jsxs(ct,{className:"text-center",level:3,children:["You are connected with Stripe!",i?null:" (Test mode)"]}),n.jsxs("div",{className:"mt-1",children:["Connected to ",n.jsx("strong",{children:s||"Test mode"})]})]}),n.jsxs("div",{className:"flex flex-col items-center",children:[n.jsx(ct,{level:6,children:"Read next"}),n.jsxs("a",{className:"mt-5 flex w-100 flex-col items-stretch justify-between rounded-sm border border-grey-200 transition-all hover:border-grey-400 md:flex-row dark:border-grey-900",href:"https://ghost.org/resources/managing-your-stripe-account/?ref=admin",rel:"noopener noreferrer",target:"_blank",children:[n.jsxs("div",{className:"order-2 p-4 md:order-1",children:[n.jsx("div",{className:"font-bold",children:"How to setup and manage your Stripe account"}),n.jsx("div",{className:"mt-1 text-sm text-grey-800 dark:text-grey-500",children:"Learn how to configure your Stripe account to work with Ghost, from custom branding to payment receipt emails."}),n.jsxs("div",{className:"mt-3 flex items-center gap-1 text-sm text-grey-800 dark:text-grey-500",children:[n.jsx("img",{alt:"Ghost Logo",className:"size-4",src:Fy}),n.jsx("strong",{children:"Ghost Resources"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"by Kym Ellis"})]})]}),n.jsx("div",{className:"order-1 hidden w-[200px] shrink-0 items-center justify-center overflow-hidden md:visible! md:order-2 md:flex!",children:n.jsx("img",{alt:"Bookmark Thumb",className:"min-h-full min-w-full shrink-0",src:X8})})]})]})]})},nj=({onClose:t})=>{const{localSettings:a,updateSetting:s,handleSave:i,saveState:u}=Gr(),[p,w]=ot(a,["stripe_publishable_key","stripe_secret_key"]),m=async()=>{try{ny.remove(),await i(),t()}catch(x){if(x instanceof Er){rt({title:"Failed to save settings",type:"error",message:"Check you copied both keys correctly"});return}throw x}};return n.jsxs("div",{children:[n.jsx(ct,{level:3,children:"Connect Stripe"}),n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{title:"Publishable key",value:p?.toString(),onChange:x=>s("stripe_publishable_key",x.target.value)}),n.jsx(ve,{title:"Secure key",value:w?.toString(),onChange:x=>s("stripe_secret_key",x.target.value)}),n.jsx(Ie,{className:"mt-5",color:"green",disabled:u==="saving",label:"Save Stripe settings",onClick:m})]})]})},rj=()=>{const{config:t,settings:a}=ze(),s=Nt(a,"stripe_connect_account_id"),{updateRoute:i}=Pe(),[u,p]=A.useState("start"),w=Ft(),m=Fs(),x=$s(a,t),g=m?.isDisabled("limitStripeConnect");A.useEffect(()=>{(async()=>{if(g&&!x)try{await m?.errorIfWouldGoOverLimit("limitStripeConnect")}catch(C){C instanceof Ps&&(w.remove(),me.show(Un,{prompt:C.message||"Your current plan doesn't support Stripe Connect.",onOk:()=>i({route:"/pro",isExternal:!0})}))}})()},[m,w,i,x,g]);const h=()=>{p("connect")},b=()=>{w.remove(),i("tiers")};let y;return t?.stripeDirect||$s(a||[],t||{})&&!s?y=n.jsx(nj,{onClose:b}):s?y=n.jsx(tj,{onClose:b}):u==="start"?y=n.jsx(J8,{onNext:h}):y=n.jsx(ej,{}),n.jsx(ut,{afterClose:()=>{i("tiers")},cancelLabel:"",footer:n.jsx("div",{className:"mt-8"}),testId:"stripe-modal",title:"",width:s?740:520,hideXOnMobile:!0,children:y})},sj=me.create(rj),aj=""+new URL("ali-abdaal-C_tOLbSs.png",import.meta.url).href,oj=""+new URL("isaac-saul-DhERrV-4.png",import.meta.url).href,ij=""+new URL("joel-warner-CHe_ZipQ.png",import.meta.url).href,lj=me.create(()=>{const{updateRoute:t}=Pe(),a=Ke(),s=Ft(),{settings:i,currentUser:u,siteData:p,config:w}=ze(),m=w.exploreTestimonialsUrl,x=p.site_uuid,[g]=ot(i,["title"]),h=u.name,b=u.email,y=u.roles[0].name,v=u.profile_image,{formState:C,updateForm:E,saveState:j,handleSave:T,errors:D,clearError:$}=an({initialState:{content:"",prev_platform:""},onSave:async()=>{const O=["none","other",""].includes(C.prev_platform)?void 0:C.prev_platform,P={ghost_uuid:x,staff_user_email:b,content:C.content,prev_platform:O};if(!m)throw new Error("Something went wrong, please try again later.");if(!(await fetch(m,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(P)})).ok)throw new Error("Something went wrong, please try again later.");rt({message:"Thank you for your testimonial!",type:"success"}),t("explore"),s.remove()},onSaveError:a,onValidate:()=>{const O={};return C.content.trim()||(O.content="This field is required"),O}}),R=[{value:"none",label:"None - This is a new site"},{value:"substack",label:"Substack"},{value:"beehiiv",label:"BeeHiiv"},{value:"wordpress",label:"WordPress"},{value:"newspack",label:"Newspack"},{value:"medium",label:"Medium"},{value:"squarespace",label:"Squarespace"},{value:"wix",label:"Wix"},{value:"patreon",label:"Patreon"},{value:"memberful",label:"Memberful"},{value:"other",label:"Other"}];return n.jsx(ut,{afterClose:()=>{t("explore")},cancelLabel:"",footer:!1,padding:!1,testId:"explore-testimonials-modal",title:"",topRightContent:"close",width:920,children:n.jsx(Be,{className:"mb-0!",children:n.jsxs("div",{className:"flex items-stretch",children:[n.jsxs("div",{className:"hidden w-full flex-col justify-between bg-gradient-to-tl from-grey-100/50 to-grey-100/80 p-8 dark:from-grey-900/40 dark:to-grey-900/60 [@media(min-width:905px)]:visible! [@media(min-width:905px)]:flex!",children:[n.jsxs("div",{className:"pr-6",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"Moving to Ghost has proven to be one of the best business decisions we’ve made as an independent media outlet."}),n.jsxs("div",{className:"mt-[14px] ml-2 flex items-center gap-2 text-sm",children:[n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${ij})`}}),n.jsxs("div",{children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Joel Warner"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"Lever News"})]})]})]}),n.jsxs("div",{className:"mt-8 ml-6",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:right-5 before:-bottom-1.5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"It has now been one year since I quit my full-time job to go all in on Tangle. Today, we have 50,000+ paying subscribers. That’s roughly $5M in gross yearly revenue ... it’s the best paying job I’ve ever had."}),n.jsxs("div",{className:"mt-[14px] mr-2 flex items-center justify-end gap-2 text-sm",children:[n.jsxs("div",{className:"flex flex-col items-end",children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Isaac Saul"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"Tangle"})]}),n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${oj})`}})]})]}),n.jsxs("div",{className:"mt-8 hidden pr-6 [@media(min-width:940px)]:visible! [@media(min-width:940px)]:block!",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"You should be using Ghost because it’s absolutely amazing and I love it. It’s what I’ve been using for all my sites since 2016."}),n.jsxs("div",{className:"mt-[14px] ml-2 flex items-center gap-2 text-sm",children:[n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${aj})`}}),n.jsxs("div",{children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Ali Abdaal"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"YouTuber"})]})]})]})]}),n.jsxs("div",{className:"flex grow flex-col justify-between gap-6 p-8 [@media(min-width:905px)]:min-w-[520px] [@media(min-width:940px)]:min-w-[460px]",children:[n.jsxs("div",{children:[n.jsx("div",{className:"flex size-[60px] items-center justify-center rounded-full bg-gradient-to-t from-[#CFB0FF] to-[#B27EFF]",children:n.jsx("svg",{fill:"none",height:"26",viewBox:"0 0 32 26",width:"32",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M19.9967 26L18.1562 21.4542C23.4268 19.1176 25.7693 16.5261 26.2712 11.7255C25.5183 12.3627 24.5562 12.7026 23.3431 12.7026C20.1641 12.7026 17.4869 10.1536 17.4869 6.41503C17.4869 2.80392 20.3732 9.72736e-07 24.2634 6.32644e-07C28.2791 2.81581e-07 31.5 3.10131 31.5 8.96405C31.5 17.5458 27.4425 23.0261 19.9967 26ZM3.0098 26L1.12745 21.4543C6.43987 19.1176 8.78235 16.5261 9.24248 11.7255C8.53137 12.3627 7.56928 12.7026 6.35621 12.7026C3.17712 12.7026 0.499999 10.1536 0.499998 6.41504C0.499998 2.80393 3.38627 2.45778e-06 7.23464 2.12135e-06C11.2503 1.77028e-06 14.5131 3.10131 14.5131 8.96405C14.5131 17.5458 10.4556 23.0261 3.0098 26Z",fill:"white"})})}),n.jsxs("div",{className:"mt-6",children:[n.jsx("div",{className:"text-2xl font-semibold tracking-tight",children:"A quote about Ghost"}),n.jsx("div",{className:"mt-2 text-pretty",children:"We feature quotes from publishers to showcase their work, including a logo and a link! If you'd like to be included, share a quote we can use to highlight you."})]}),n.jsx("div",{className:"mt-8",children:n.jsx(nr,{error:!!D.content,hint:D.content,placeholder:"What changed for the better since you switched to Ghost?",rows:7,value:C.content,autoFocus:!0,onChange:O=>E(P=>({...P,content:O.target.value})),onKeyDown:()=>$("content")})}),n.jsx("div",{className:"mt-4 ml-0.5",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(jh,{bgColor:Th(h||b),image:v??void 0,label:Eh(h),labelColor:"white",size:"md"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsxs("span",{className:"text-sm font-medium",children:["By ",h||b]}),n.jsxs("span",{className:"text-xs text-grey-700",children:[y," — ",g]})]})]})})]}),n.jsx("div",{children:n.jsxs("div",{className:"mt-2 flex items-center gap-4",children:[n.jsx("div",{className:"grow",children:n.jsx(kt,{error:!!D.prev_platform,hint:D.prev_platform,options:R,placeholder:"Previous platform",selectedOption:R.find(O=>O.value===C.prev_platform),testId:"migrated-from",onSelect:O=>{E(P=>({...P,prev_platform:O?.value||""})),$("prev_platform")}})}),n.jsx(Ie,{className:"h-[38px]! rounded-lg",color:"black",disabled:j==="saving",label:"Send testimonial",loading:j==="saving",onClick:async()=>{await T()}})]})})]})]})})})}),cj=""+new URL("ghost-transistor-BXCFhTPG.png",import.meta.url).href,uj=me.create(()=>{const{updateRoute:t}=Pe(),{config:a,settings:s}=ze(),{mutateAsync:i}=Nr(),{data:{integrations:u}={integrations:[]}}=Oi(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=a.hostSettings?.limits?.customIntegrations?.disabled,[h]=ot(s,["transistor"]),[b,y]=A.useState(!!h),[v,C]=A.useState("Save");A.useEffect(()=>{y(h||!1)},[h]),A.useEffect(()=>{g&&t("integrations")},[g,t]);const E=u.find(({slug:$})=>$==="transistor"),j=E?.api_keys?.find($=>$.type==="admin"),T=()=>{if(!E||!j)throw new Error("Transistor integration or Admin API key not found");x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:"You will need to update the API key in your Transistor account settings after regenerating.",okLabel:"Regenerate Admin API Key",onOk:async $=>{try{await p({integrationId:E.id,apiKeyId:j.id}),x(!0),$?.remove()}catch(R){w(R)}}})},D=async()=>{const $=[{key:"transistor",value:b}];try{C("Saving..."),await Promise.all([i($),new Promise(R=>{setTimeout(R,1e3)})]),C("Saved")}catch(R){w(R)}finally{setTimeout(()=>C("Save"),1e3)}};return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:b!==h,okColor:v==="Saved"?"green":"black",okLabel:v,testId:"transistor-modal",title:"",onOk:D,children:[n.jsx(Qr,{detail:"Give your members access to private podcasts",icon:n.jsx(Ge,{name:"transistor",size:56}),title:"Transistor.fm"}),n.jsxs("div",{className:"mt-7",children:[n.jsxs(Be,{marginBottom:!1,title:"Transistor configuration",grouped:!0,children:[n.jsx(Ye,{checked:b,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Connect your Ghost site with ",n.jsx("a",{className:"text-green",href:"https://transistor.fm",rel:"noopener noreferrer",target:"_blank",children:"Transistor.fm"})," to offer members private podcasts."]}),label:"Enable Transistor",onChange:$=>{y($.target.checked)}}),b&&n.jsx(Ya,{keys:[{label:"Admin API key",text:j?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:T},{label:"API URL",text:window.location.origin+Os().subdir}]})]}),b&&n.jsx("div",{className:"mt-5 flex flex-col items-center",children:n.jsxs("a",{className:"flex w-100 flex-col items-stretch justify-between overflow-hidden rounded-md bg-grey-75 transition-all hover:border-grey-400 hover:bg-grey-100 md:flex-row dark:bg-grey-925 dark:hover:bg-grey-950",href:"https://ghost.org/integrations/transistor/",rel:"noopener noreferrer",target:"_blank",children:[n.jsxs("div",{className:"order-2 px-7 py-5 md:order-1",children:[n.jsx("div",{className:"font-semibold",children:"How to use Transistor in Ghost"}),n.jsx("div",{className:"mt-1 text-sm text-grey-800 dark:text-grey-500",children:"Learn more about connecting Transistor with Ghost to offer members access to private podcasts in Portal or as an embed in posts and pages with a custom Transistor card."})]}),n.jsx("div",{className:"order-1 hidden w-[200px] shrink-0 items-center justify-center overflow-hidden md:visible! md:order-2 md:flex!",children:n.jsx("img",{alt:"Bookmark Thumb",className:"min-h-full min-w-full shrink-0",src:cj})})]})})]})]})}),dj=me.create(()=>{const{updateRoute:t}=Pe(),{settings:a}=ze(),[s]=ot(a,["unsplash"]),{mutateAsync:i}=Nr(),u=Ke(),[p,w]=A.useState("Save"),[m,x]=A.useState(!!s);A.useEffect(()=>{x(s||!1)},[s]);const g=async()=>{const b=[{key:"unsplash",value:m}];try{w("Saving..."),await Promise.all([i(b),new Promise(y=>{setTimeout(y,1e3)})]),w("Saved")}catch(y){u(y)}finally{setTimeout(()=>w("Save"),1e3)}},h=m!==s;return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:h,okColor:p==="Saved"?"green":"black",okLabel:p,testId:"unsplash-modal",title:"",onOk:g,children:[n.jsx(Qr,{detail:"Beautiful, free photos",icon:n.jsx(Ge,{name:"unsplash",size:48}),title:"Unsplash"}),n.jsx("div",{className:"mt-7",children:n.jsx(Be,{marginBottom:!1,grouped:!0,children:n.jsx(Ye,{checked:m,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://unsplash.com",rel:"noopener noreferrer",target:"_blank",children:"Unsplash"})," image integration for your posts"]}),label:"Enable Unsplash",onChange:b=>{x(b.target.checked)}})})})]})}),fj=({user:t,setUserData:a})=>{const{config:s,settings:i}=ze(),u=$s(i||[],s||{});return n.jsxs(Tu,{children:[n.jsx(Ye,{checked:t.comment_notifications,direction:"rtl",hint:"Every time a member comments on one of your posts",label:"Comments",onChange:p=>{a?.({...t,comment_notifications:p.target.checked})}}),Ti(t)&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{checked:t.recommendation_notifications,direction:"rtl",hint:"Every time another publisher recommends you to their audience",label:"Recommendations",onChange:p=>{a?.({...t,recommendation_notifications:p.target.checked})}}),n.jsx(Ye,{checked:t.free_member_signup_notification,direction:"rtl",hint:"Every time a new free member signs up",label:"New signups",onChange:p=>{a?.({...t,free_member_signup_notification:p.target.checked})}}),u&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{checked:t.paid_subscription_started_notification,direction:"rtl",hint:"Every time a member starts a new paid subscription",label:"New paid members",onChange:p=>{a?.({...t,paid_subscription_started_notification:p.target.checked})}}),n.jsx(Ye,{checked:t.paid_subscription_canceled_notification,direction:"rtl",hint:"Every time a member cancels their paid subscription",label:"Paid member cancellations",onChange:p=>{a?.({...t,paid_subscription_canceled_notification:p.target.checked})}})]}),n.jsx(Ye,{checked:t.milestone_notifications,direction:"rtl",hint:u?"Occasional summaries of your audience & revenue growth":"Occasional summaries of your audience growth",label:"Milestones",onChange:p=>{a?.({...t,milestone_notifications:p.target.checked})}}),u&&n.jsx(Ye,{checked:t.donation_notifications,direction:"rtl",hint:"Every time you receive a one-time payment",label:"Tips & donations",onChange:p=>{a?.({...t,donation_notifications:p.target.checked})}})]})]})},pj=({user:t,setUserData:a})=>n.jsx(Eu,{border:!1,children:n.jsx(fj,{setUserData:a,user:t})}),hj=["1234567890","qwertyuiop","qwertzuiop","asdfghjkl;","abcdefghij","0987654321","1q2w3e4r5t","12345asdfg"],mj=["ghost","password","passw0rd"],gj=t=>{let a={},s,i=!0;s=t.length/2;for(let u=0;u<t.length;u+=1)a[t[u]]?a[t[u]]+=1:a[t[u]]=1;for(let u in a)if(a[u]>=s)return i=!1,i;return i},xj=({user:t})=>{const{currentUser:a,config:s,siteData:i}=ze(),[u,p]=A.useState(!1),[w,m]=A.useState(""),[x,g]=A.useState(""),[h,b]=A.useState(""),[y,v]=A.useState(""),[C,E]=A.useState({}),j=A.useRef(null),T=A.useRef(null),D=A.useRef(null),{mutateAsync:$}=ry(),R=Ke(),O=t.id===a.id,P=({password:B,confirmPassword:ie})=>{if(O&&!w)return{oldPassword:"Your current password is required to set a new one"};if(B!==ie)return{newPassword:"Your new passwords do not match",confirmNewPassword:"Your new passwords do not match"};let ge=s.blogUrl||window.location.host,Me=i.title,K;if(ge=ge.replace(/^http(s?):\/\//,""),K=ge.match(/\/$/)?ge:`${ge}/`,Me=Me&&Me.trim().toLowerCase(),B.length<10)return{newPassword:"Password must be at least 10 characters long."};B=B.toString();for(const ee of hj)if(ee===B)return{newPassword:"Sorry, you cannot use an insecure password."};if(B.toLowerCase()===t.email.toLowerCase())return{newPassword:"Sorry, you cannot use an insecure password."};for(const ee of mj)if(B.toLowerCase().indexOf(ee)>=0)return{newPassword:"Sorry, you cannot use an insecure password."};return B.toLowerCase()===Me?{newPassword:"Sorry, you cannot use an insecure password."}:B.toLowerCase()===ge||B.toLowerCase()===K?{newPassword:"Sorry, you cannot use an insecure password."}:gj(B)?{}:{newPassword:"Sorry, you cannot use an insecure password."}};A.useEffect(()=>{y==="saved"&&setTimeout(()=>{v(""),p(!1)},2500)},[y]),A.useEffect(()=>{u&&setTimeout(()=>{O?D.current?.focus():j.current?.focus()},100)},[u,O]);const I=()=>{p(!0)};let U="Save password";y==="saving"?U="Saving...":y==="saved"&&(U="Saved");const Y=n.jsxs(n.Fragment,{children:[O&&n.jsx(ve,{"data-testid":"old-password",error:!!C.oldPassword,hint:C.oldPassword,inputRef:D,title:"Old password",type:"password",value:w,onChange:B=>{m(B.target.value)}}),n.jsx(ve,{"data-testid":"new-password",error:!!C.newPassword,hint:C.newPassword,inputRef:j,title:"New password",type:"password",value:x,onChange:B=>{g(B.target.value)}}),n.jsx(ve,{"data-testid":"confirm-password",error:!!C.confirmNewPassword,hint:C.confirmNewPassword,inputRef:T,title:"Confirm new password",type:"password",value:h,onChange:B=>{b(B.target.value)}}),n.jsxs("div",{className:"mt-1 flex items-center justify-end gap-3",children:[n.jsx(Ie,{color:"outline",label:"Cancel",onClick:()=>{p(!1),m(""),g(""),b(""),E({})}}),n.jsx(Ie,{color:"green","data-testid":"save-password-button",label:U,onClick:async()=>{v("saving");const B=P({password:x,confirmPassword:h});if(E(B),Object.keys(B).length>0){v("");return}try{await $({newPassword:x,confirmNewPassword:h,oldPassword:w,userId:t?.id}),v("saved")}catch(ie){v(""),rt({type:"error",title:ie instanceof sy?ie.message:"Couldn't update password. Please try again."}),R(ie,{withToast:!1})}}})]})]}),W=n.jsxs("div",{className:"relative flex flex-col",children:[n.jsx(ve,{containerClassName:"grow",disabled:!0,title:"Password",type:"password",value:"••••••••••••"}),n.jsx(Ie,{className:"absolute top-0 right-0",color:"green","data-testid":"change-password-button",label:"Change",link:!0,onClick:I})]});return n.jsx(n.Fragment,{children:u?Y:W})},wj=({user:t,setUserData:a})=>{const{data:{roles:s}={}}=su(),{config:i}=ze(),u=i.labs.superEditors;let p=[{hint:"Can write and edit their own posts, but cannot publish them.",label:"Contributor",value:"contributor"},{hint:"Can create, edit and publish their own posts, but can’t modify others.",label:"Author",value:"author"},{hint:"Can edit and publish any posts, and manage Authors and Contributors.",label:"Editor",value:"editor"},{hint:"Trusted user who has full access to all content, settings, and user management.",label:"Administrator",value:"administrator"}];if(u&&(p=p.map(w=>w.value==="editor"?{...w,label:"Editor (beta mode)",value:"super editor",hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site. Can manage members and moderate comments."}:w)),ru(t)){const w={label:"Owner",value:"owner"};return n.jsx("div",{children:n.jsx(kt,{disabled:!0,hint:n.jsxs(n.Fragment,{children:["This user is the owner of the site. ",n.jsx("a",{className:"font-medium text-grey-800 transition-colors hover:text-grey-900 dark:text-grey-500 dark:hover:text-grey-400",href:"https://ghost.org/help/transfer-publication-ownership/",rel:"noopener noreferrer",target:"_blank",children:"Transfer ownership"})," first to change their role."]}),options:[w],selectedOption:w,title:"Role",onSelect:()=>{}})})}return n.jsx(kt,{options:p,selectedOption:p.find(w=>w.value===t.roles[0].name.toLowerCase()),testId:"role-select",title:"Role",onSelect:w=>{if(w){const m=s?.find(x=>x.name.toLowerCase()===w.value.toLowerCase());m&&a?.({...t,roles:[m]})}}})},bj="StaffTokenResponseType",vj=ay({dataType:bj,path:"/users/me/token/"}),yj=qr({path:()=>"/users/me/token/",method:"PUT"}),_j=()=>{const{refetch:t}=vj({enabled:!1}),a=Ke(),[s,i]=A.useState(""),{mutateAsync:u}=yj();A.useEffect(()=>{(async()=>{const m=await t();m?.data?.apiKey&&i(`${m.data.apiKey.id}:${m.data.apiKey.secret}`)})()},[t]);const p=()=>{me.show(ht,{title:"Regenerate your Staff Access Token",prompt:"You can regenerate your Staff Access Token any time, but any scripts or applications using it will need to be updated.",okLabel:"Regenerate your Staff Access Token",okColor:"red",onOk:async w=>{try{const m=await u([]);i(`${m.apiKey.id}:${m.apiKey.secret}`),w?.remove()}catch(m){a(m)}}})};return n.jsxs("div",{children:[n.jsx(ct,{className:"mb-2",level:6,grey:!0,children:"Staff access token"}),n.jsx(Ya,{hasLabel:!1,keys:[{text:s||"",onRegenerate:p}]})]})},Mj=({errors:t,clearError:a,user:s,setUserData:i})=>{const{currentUser:u,siteData:p}=ze(),w=Hn(p);return n.jsxs(Tu,{children:[n.jsx(ve,{error:!!t?.email,hint:t?.email||"Used for notifications",maxLength:191,title:"Email",value:s.email,onChange:m=>{i({...s,email:m.target.value})},onKeyDown:()=>a("email")}),n.jsx(xj,{user:s}),Ti(u)&&n.jsx(wj,{setUserData:i,user:s}),n.jsx(ve,{error:!!t?.name,hint:t?.name||"Use your real name so people can recognize you",maxLength:191,title:"Full name",value:s.name,onChange:m=>{i({...s,name:m.target.value})},onKeyDown:()=>a("name")}),n.jsx(ve,{hint:`${w}author/${s.slug}`,maxLength:191,title:"Slug",value:s.slug,onChange:m=>{i({...s,slug:m.target.value})}}),n.jsx(ve,{error:!!t?.location,hint:t?.location||"Where in the world do you live?",maxLength:65535,title:"Location",value:s.location||"",onChange:m=>{i({...s,location:m.target.value})},onKeyDown:()=>a("location")}),n.jsx(nr,{error:!!t?.bio,hint:t?.bio||n.jsxs(n.Fragment,{children:["Recommended: 250 characters. You‘ve used ",n.jsx("span",{className:"font-bold",children:s.bio?.length||0})]}),maxLength:65535,title:"Bio",value:s.bio||"",onChange:m=>{i({...s,bio:m.target.value})},onKeyDown:()=>a("bio")}),s.id===u.id&&n.jsx(_j,{})]})},kj=t=>n.jsx(Eu,{border:!1,children:n.jsx(Mj,{...t})}),jj=({errors:t,clearError:a,validateField:s,user:i,setUserData:u})=>{const[p,w]=A.useState(i.facebook?Py(i.facebook):""),[m,x]=A.useState(i.twitter?Hy(i.twitter):""),[g,h]=A.useState(i.threads?TM(i.threads):""),[b,y]=A.useState(i.bluesky?CM(i.bluesky):""),[v,C]=A.useState(i.linkedin?$M(i.linkedin):""),[E,j]=A.useState(i.instagram?LM(i.instagram):""),[T,D]=A.useState(i.youtube?FM(i.youtube):""),[$,R]=A.useState(i.tiktok?HM(i.tiktok):""),[O,P]=A.useState(i.mastodon?UM(i.mastodon):"");return n.jsxs(Tu,{children:[n.jsx(ve,{"data-testid":"website-input",error:!!t?.website,hint:t?.website,maxLength:2e3,placeholder:"https://example.com",title:"Website",value:i.website||"",onChange:I=>{u({...i,website:I.target.value})},onKeyDown:()=>a("url")}),n.jsx(ve,{"data-testid":"x-input",error:!!t?.twitter,hint:t?.twitter,maxLength:2e3,placeholder:"https://x.com/username",title:"X",value:m,onBlur:I=>{if(s("twitter",I.target.value)){const U=Ch(I.target.value);x(U),u({...i,twitter:zy(U)})}},onChange:I=>{x(I.target.value)},onKeyDown:()=>a("twitter")}),n.jsx(ve,{"data-testid":"facebook-input",error:!!t?.facebook,hint:t?.facebook,maxLength:2e3,placeholder:"https://www.facebook.com/username",title:"Facebook",value:p,onBlur:I=>{if(s("facebook",I.target.value)){const U=Ih(I.target.value);w(U),u({...i,facebook:Uy(U)})}},onChange:I=>{w(I.target.value)},onKeyDown:()=>a("facebook")}),n.jsx(ve,{"data-testid":"linkedin-input",error:!!t?.linkedin,hint:t?.linkedin,maxLength:2e3,placeholder:"https://www.linkedin.com/in/username",title:"LinkedIn",value:v,onBlur:I=>{if(s("linkedin",I.target.value)){const U=Mm(I.target.value);C(U),u({...i,linkedin:RM(U)})}},onChange:I=>{C(I.target.value)},onKeyDown:()=>a("linkedin")}),n.jsx(ve,{"data-testid":"bluesky-input",error:!!t?.bluesky,hint:t?.bluesky,maxLength:2e3,placeholder:"https://bsky.app/profile/username",title:"Bluesky",value:b,onBlur:I=>{if(s("bluesky",I.target.value)){const U=wm(I.target.value);y(U),u({...i,bluesky:IM(U)})}},onChange:I=>{y(I.target.value)},onKeyDown:()=>a("bluesky")}),n.jsx(ve,{"data-testid":"threads-input",error:!!t?.threads,hint:t?.threads,maxLength:2e3,placeholder:"https://threads.net/@username",title:"Threads",value:g,onBlur:I=>{if(s("threads",I.target.value)){const U=gm(I.target.value);h(U),u({...i,threads:NM(U)})}},onChange:I=>{h(I.target.value)},onKeyDown:()=>a("threads")}),n.jsx(ve,{"data-testid":"mastodon-input",error:!!t?.mastodon,hint:t?.mastodon,maxLength:2e3,placeholder:"https://mastodon.social/@username",title:"Mastodon",value:O,onBlur:I=>{if(s("mastodon",I.target.value)){const U=Tm(I.target.value);P(U),u({...i,mastodon:BM(U)})}},onChange:I=>{P(I.target.value)},onKeyDown:()=>a("mastodon")}),n.jsx(ve,{"data-testid":"tiktok-input",error:!!t?.tiktok,hint:t?.tiktok,maxLength:2e3,placeholder:"https://www.tiktok.com/@username",title:"TikTok",value:$,onBlur:I=>{if(s("tiktok",I.target.value)){const U=Em(I.target.value);R(U),u({...i,tiktok:zM(U)})}},onChange:I=>{R(I.target.value)},onKeyDown:()=>a("tiktok")}),n.jsx(ve,{"data-testid":"youtube-input",error:!!t?.youtube,hint:t?.youtube,maxLength:2e3,placeholder:"https://www.youtube.com/@channel",title:"YouTube",value:T,onBlur:I=>{if(s("youtube",I.target.value)){const U=jm(I.target.value);D(U),u({...i,youtube:PM(U)})}},onChange:I=>{D(I.target.value)},onKeyDown:()=>a("youtube")}),n.jsx(ve,{"data-testid":"instagram-input",error:!!t?.instagram,hint:t?.instagram,maxLength:2e3,placeholder:"https://www.instagram.com/username",title:"Instagram",value:E,onBlur:I=>{if(s("instagram",I.target.value)){const U=km(I.target.value);j(U),u({...i,instagram:OM(U)})}},onChange:I=>{j(I.target.value)},onKeyDown:()=>a("instagram")})]})},Ej=t=>n.jsx(Eu,{border:!1,children:n.jsx(jj,{...t})}),ch={name:({name:t})=>{let a="";return t||(a="Name is required"),t&&t.length>191&&(a="Name is too long"),a},email:({email:t})=>xt.isEmail(t||"")?"":"Enter a valid email address",url:({url:t})=>!t||xt.isURL(t,{require_tld:!1})?"":"Enter a valid URL",bio:({bio:t})=>!t||t.length<=250?"":"Bio is too long",location:({location:t})=>!t||t.length<=150?"":"Location is too long",website:({website:t})=>!t||xt.isURL(t)&&t.length<=2e3?"":"Enter a valid URL",facebook:({facebook:t})=>{try{return Ih(t||""),""}catch(a){return a instanceof Error?a.message:""}},twitter:({twitter:t})=>{try{return Ch(t||""),""}catch(a){return a instanceof Error?a.message:""}},threads:({threads:t})=>{try{return gm(t||""),""}catch(a){return a instanceof Error?a.message:""}},bluesky:({bluesky:t})=>{try{return wm(t||""),""}catch(a){return a instanceof Error?a.message:""}},linkedin:({linkedin:t})=>{try{return Mm(t||""),""}catch(a){return a instanceof Error?a.message:""}},instagram:({instagram:t})=>{try{return km(t||""),""}catch(a){return a instanceof Error?a.message:""}},youtube:({youtube:t})=>{try{return jm(t||""),""}catch(a){return a instanceof Error?a.message:""}},tiktok:({tiktok:t})=>{try{return Em(t||""),""}catch(a){return a instanceof Error?a.message:""}},mastodon:({mastodon:t})=>{try{return Tm(t||""),""}catch(a){return a instanceof Error?a.message:""}}},Tj=({user:t})=>{const{updateRoute:a,route:s}=Pe(),i=V=>{const be=V.split("/").pop()||"";return be==="social-links"||be==="email-notifications"?be:"profile"},{ownerUser:u}=By(),{currentUser:p}=ze(),w=Ke(),{formState:m,setFormState:x,saveState:g,handleSave:h,updateForm:b,errors:y,setErrors:v,clearError:C,okProps:E}=an({initialState:t,savingDelay:500,savedDelay:500,onValidate:V=>Object.entries(ch).reduce((be,[Le,it])=>{const wt=it(V);return wt&&(be[Le]=wt),be},{}),onSave:async V=>{await R?.(V)},onSaveError:w}),j=V=>b(()=>V),T=(V,be)=>{const Le=ch[V]?.({[V]:be});return Le?(v({...y,[V]:Le}),!1):(C(V),!0)},D=Ft(),{mutateAsync:$}=Hs(),{mutateAsync:R}=iy(),{mutateAsync:O}=ly(),{mutateAsync:P}=cy(),I=Fs(),U=yh(),Y=A.useCallback(()=>{_r(p)?a("staff"):a({isExternal:!0,route:""})},[p,a]),W=async V=>{if(V.status==="inactive"&&V.roles[0].name!=="Contributor")try{await I?.errorIfWouldGoOverLimit("staff")}catch(Le){if(Le instanceof Ps){me.show(Un,{formSheet:!0,prompt:Le.message||"Your current plan doesn't support more users.",onOk:()=>a({route:"/pro",isExternal:!0})});return}else throw Le}let be="This user will no longer be able to log in but their posts will be kept.";V.status==="inactive"&&(be="This user will be able to log in again and will have the same permissions they had previously."),me.show(ht,{title:"Are you sure you want to suspend this user?",prompt:n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:"WARNING:"})," ",be]}),okLabel:V.status==="inactive"?"Un-suspend":"Suspend",okRunningLabel:V.status==="inactive"?"Un-suspending...":"Suspending...",okColor:"red",onOk:async Le=>{const it={...V,status:V.status==="inactive"?"active":"inactive"};try{await R(it),x(()=>it),Le?.remove(),rt({title:V.status==="inactive"?"User un-suspended":"User suspended",type:"success"})}catch(wt){w(wt)}}})},B=(V,{owner:be})=>{me.show(ht,{title:"Are you sure you want to delete this user?",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"mb-3",children:[n.jsx("span",{className:"font-bold",children:V.name||V.email})," will be permanently deleted and all their posts will be automatically assigned to ",n.jsx("span",{className:"font-bold",children:be.name}),"."]}),n.jsxs("p",{children:["To make these easy to find in the future, each post will be given an internal tag of ",n.jsxs("span",{className:"font-bold",children:["#",t.slug]})]})]}),okLabel:"Delete user",okColor:"red",onOk:async Le=>{try{await O(V?.id),Le?.remove(),D?.remove(),Y(),rt({title:"User deleted",type:"success"})}catch(it){w(it)}}})},ie=()=>{me.show(ht,{title:"Transfer Ownership",prompt:"Are you sure you want to transfer the ownership of this blog? You will not be able to undo this action.",okLabel:"Yep — I'm sure",okColor:"red",onOk:async V=>{try{await P(t.id),V?.remove(),rt({title:"Ownership transferred",type:"success"})}catch(be){w(be)}}})},ge=async(V,be)=>{try{const Le=Jn(await $({file:be}));switch(V){case"cover_image":b(it=>({...it,cover_image:Le}));break;case"profile_image":b(it=>({...it,profile_image:Le}));break}}catch(Le){const it=Le;it.response.status===415&&(it.message="Unsupported file type"),w(it)}},Me=V=>{switch(V){case"cover_image":b(be=>({...be,cover_image:""}));break;case"profile_image":b(be=>({...be,profile_image:""}));break}},K=Ti(p)||Tf(p)&&Nf(t);let ee=[];if(ru(p)&&uy(m)&&m.status!=="inactive"&&ee.push({id:"make-owner",label:"Make owner",onClick:ie}),ee.push({id:"view-user-activity",label:"View user activity",onClick:()=>{D.remove(),a(`history/view/${m.id}`)}}),m.id!==p.id&&(Ti(p)&&!ru(t)||Tf(p)&&Nf(t))){let V=m.status==="inactive"?"Un-suspend user":"Suspend user";ee.push({id:"suspend-user",label:V,onClick:()=>{W(m)}},{id:"delete-user",label:"Delete user",destructive:!0,onClick:()=>{B(t,{owner:u})}})}const ke="rounded text-sm flex flex-nowrap items-center justify-center px-3 h-8 transition-all cursor-pointer font-medium border border-grey-300 bg-transparent text-black dark:border-grey-800 dark:text-white",ue="flex flex-nowrap items-center justify-center px-3 h-8 opacity-80 hover:opacity-100 bg-[rgba(0,0,0,0.75)] rounded text-sm text-white transition-all cursor-pointer font-medium nowrap",ye=m.status==="inactive"?" (Suspended)":"",J=i(s),[de,fe]=A.useState(J),ce=V=>{const be=V==="profile"?"":`/${V}`;a(`staff/${t.slug}${be}`),fe(V)};return n.jsx(ut,{afterClose:Y,animate:_r(p),backDrop:_r(p),buttonsDisabled:E.disabled,cancelLabel:"Close",dirty:g==="unsaved",okColor:E.color,okLabel:E.label||"Save",size:_r(p)?"md":"bleed",stickyFooter:!0,testId:"user-detail-modal",width:_r(p)?600:"full",onOk:async()=>{await h({fakeWhenUnchanged:!0})},children:n.jsxs("div",{children:[n.jsx("div",{className:`relative ${_r(p)?"-mx-8 -mt-8 rounded-t":"-mx-10 -mt-10"}`,children:n.jsx("div",{className:`flex flex-wrap items-end justify-between gap-8 p-8 ${m.cover_image?"bg-cover bg-center":""} ${!_r(p)&&"min-h-[30vmin]"}`,style:{backgroundImage:m.cover_image?`url(${m.cover_image})`:"none"},children:n.jsxs("div",{className:"flex w-full flex-col gap-2",children:[n.jsxs("div",{className:"flex flex-nowrap items-start justify-between gap-3",children:[n.jsx("div",{children:n.jsx(tr,{deleteButtonClassName:"md:invisible absolute pr-3 -right-2 -top-2 flex h-8 w-10 cursor-pointer items-center justify-end rounded-full bg-[rgba(0,0,0,0.75)] text-white group-hover:visible!",deleteButtonContent:n.jsx(Ge,{colorClass:"text-white",name:"trash",size:"sm"}),editButtonClassName:"md:invisible absolute right-[22px] -top-2 flex h-8 w-8 cursor-pointer items-center justify-center text-white group-hover:visible! z-20",fileUploadClassName:"rounded-full bg-black flex items-center justify-center opacity-80 transition hover:opacity-100 -ml-2 cursor-pointer h-[80px] w-[80px]",fileUploadProps:{dragIndicatorClassName:"rounded-full"},id:"avatar",imageClassName:"w-full h-full object-cover rounded-full shrink-0",imageContainerClassName:"relative group bg-cover bg-center -ml-1 h-16 w-16 md:h-18 md:w-18 shrink-0",imageURL:m.profile_image??void 0,pintura:{isEnabled:U.isEnabled,openEditor:async()=>U.openEditor({image:m.profile_image||"",handleSave:async V=>{ge("profile_image",V)}})},unstyled:!0,width:"80px",onDelete:()=>{Me("profile_image")},onUpload:V=>{ge("profile_image",V)},children:n.jsx(Ge,{colorClass:"black",name:"user-add",size:"lg"})})}),n.jsxs("div",{className:"flex flex-nowrap items-start gap-3",children:[n.jsx(tr,{buttonContainerClassName:"flex items-end gap-4 justify-end flex-nowrap",deleteButtonClassName:ue,deleteButtonContent:"Delete cover image",editButtonClassName:ue,fileUploadClassName:ke,id:"cover-image",imageClassName:"hidden",imageURL:m.cover_image||"",pintura:{isEnabled:U.isEnabled,openEditor:async()=>U.openEditor({image:m.cover_image||"",handleSave:async V=>{ge("cover_image",V)}})},unstyled:!0,onDelete:()=>{Me("cover_image")},onUpload:V=>{ge("cover_image",V)},children:"Upload cover image"}),K&&n.jsx("div",{className:"z-10",children:n.jsx(tm,{items:ee,position:"end",trigger:n.jsxs("button",{className:he("flex h-8 cursor-pointer items-center justify-center rounded px-3",m.cover_image?"bg-[rgba(0,0,0,0.75)] opacity-80 hover:opacity-100":"border border-grey-300 bg-transparent text-black dark:border-grey-800 dark:text-white"),type:"button",children:[n.jsx("span",{className:"sr-only",children:"Actions"}),n.jsx(Ge,{colorClass:m.cover_image?"text-white":void 0,name:"ellipsis",size:"md"})]})})})]})]}),n.jsxs("div",{children:[n.jsxs(ct,{level:3,styles:he("break-words md:break-normal",m.cover_image?"text-white":"text-black dark:text-white"),children:[t.name,ye]}),n.jsx("span",{className:he("text-md font-medium capitalize",m.cover_image?"text-white":"text-black dark:text-white"),children:t.roles[0].name.toLowerCase()})]})]})})}),n.jsx("div",{className:`${!_r(p)&&"mx-auto max-w-[536px]"} mt-6 flex flex-col`,children:n.jsx(Tr,{selectedTab:de,tabs:[{id:"profile",title:"Profile",contents:n.jsx(kj,{clearError:C,errors:y,setUserData:j,user:m,validateField:T})},{id:"social-links",title:"Social Links",contents:n.jsx(Ej,{clearError:C,errors:y,setUserData:j,user:m,validateField:T})},{id:"email-notifications",title:"Email Notifications",contents:n.jsx(pj,{setUserData:j,user:m})}],onTabChange:ce})})]})})},Nj=({params:t})=>{const{currentUser:a}=ze(),s=a.slug===t?.slug,{data:i}=oy(t?.slug||"",{enabled:!s&&!!t?.slug}),u=s?a:i?.users?.[0];return u?n.jsx(Tj,{user:u}):null},Cj=me.create(Nj),cE={AddIntegrationModal:ak,AddNewsletterModal:ik,ContentApiModal:lk,AddRecommendationModal:Im,CustomIntegrationModal:Tk,DesignAndThemeModal:I2,EditRecommendationModal:Wy,FirstPromoterModal:$2,HistoryModal:q2,InviteUserModal:G2,NavigationModal:X2,NewsletterDetailModal:a8,PinturaModal:$8,PortalModal:q8,SlackModal:G8,StripeConnectModal:sj,TestimonialsModal:lj,TierDetailModal:qM,TransistorModal:uj,UnsplashModal:dj,UserDetailModal:Cj,ZapierModal:EM,AnnouncementBarModal:wk,EmbedSignupFormModal:D2,OffersContainerModal:S8,AboutModal:rk,OfferSuccess:Rm};export{cE as default};
43
+ `;u.open(),u.write(p),u.close()};return n.jsx(Fu,{className:"absolute size-full overflow-hidden transition-opacity duration-500",generateContent:s,height:"100%",parentClassName:"relative h-full w-full",width:"100%"})},A2=({selectedLayout:t,accentColor:a,handleColorToggle:s,selectedColor:i,selectedLabels:u,handleLabelClick:p,embedScript:w,handleLayoutSelect:m,handleCopyClick:x,isCopied:g})=>{const{loadData:h}=kh({path:"/labels/",filterKey:"name",responseKey:"labels"}),b=async(y,v)=>{const C=await h(y);v(C.map(E=>({label:E.name,value:E.name})))};return n.jsxs("div",{className:"flex h-[calc(100vh-16vmin)] max-h-[645px] flex-col justify-between overflow-y-scroll border-l border-grey-200 p-6 pb-0 dark:border-grey-900",children:[n.jsxs("div",{children:[n.jsx(ct,{className:"mb-8",level:4,children:"Embed signup form"}),n.jsxs(Be,{gap:"sm",children:[n.jsxs("div",{className:"flex w-full items-center justify-between",children:[n.jsx("div",{children:"Layout"}),n.jsx(Pn,{activeKey:t,buttons:[{key:"all-in-one",label:"Branded",size:"md",className:"w-auto px-3!",onClick:()=>m("all-in-one")},{key:"minimal",label:"Minimal",size:"md",className:"w-auto px-3!",onClick:()=>m("minimal")}],clearBg:!1})]}),t==="all-in-one"&&n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{hex:"#08090c",title:"Dark",value:"#08090c"},{hex:"#ffffff",title:"Light",value:"#ffffff"},{hex:a||"#d74780",title:"Accent",value:a||"#d74780"}],title:"Background color",value:i,onChange:y=>{y&&s(y)}}),n.jsx(Iy,{hint:"Will be applied to all members signing up via this form",loadOptions:Ri(b,500),placeholder:"Pick one or more labels (optional)",title:"Labels at signup",values:u||[],async:!0,canCreate:!0,defaultOptions:!0,onChange:p}),n.jsx(nr,{className:"text-grey-800",fontStyle:"mono",hint:"Paste this code onto any website where you'd like your signup to appear.",title:"Embed code",value:`${w}`,onChange:()=>{}})]})]}),n.jsx(Sy,{height:74,children:n.jsx("div",{className:"flex w-full justify-end",children:n.jsx(Ie,{color:g?"green":"black",label:g?"Copied!":"Copy code",onClick:x})})})]})};function Fp(t){return t?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;"):""}const Pp=({preview:t,config:a,settings:s,labels:i,backgroundColor:u,layout:p})=>{const w=a.blogUrl,m=a.signupForm.url.replace("{version}",a.signupForm.version);let x={site:w,locale:s.locale,"button-color":s.accentColor,"button-text-color":vn(s.accentColor).hex()};for(const[C,E]of i.entries())x[`label-${C+1}`]=E.name;let g="min-height: 58px;max-width: 440px;margin: 0 auto;width: 100%";p==="all-in-one"&&(s.icon&&s.icon!==""&&(x.icon=s.icon.replace(/\/content\/images\//,"/content/images/size/w192h192/")),x.title=s.title,x.description=s.description,x["background-color"]=u,x["text-color"]=vn(u).hex(),g="height: 40vmin;min-height: 360px"),t&&(p==="minimal"?g="min-height: 58px; max-width: 440px;width: 100%;position: absolute; left: 50%; top:50%; transform: translate(-50%, -50%);":g="height: 100vh");let h="";const b=["background-color","text-color","button-color","button-text-color","title","description","icon","site","locale"],y=Object.keys(x).sort((C,E)=>b.indexOf(C)-b.indexOf(E));for(const C of y){const E=x[C];h+=` data-${C}="${Fp(E)}"`}const v=`<div style="${Fp(g)}"><script src="${encodeURI(m)}"${h} async><\/script></div>`;return t&&p==="minimal"?`<div style="position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%), linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%);background-size: 16px 16px;background-position: 0 0, 8px 8px;;"></div>${v}`:v},D2=me.create(()=>{const[t,a]=A.useState("#08090c"),[s,i]=A.useState([]),[u,p]=A.useState("all-in-one"),[w,m]=A.useState(""),[x,g]=A.useState(""),[h,b]=A.useState(!1),{updateRoute:y}=Pe(),{config:v}=ze(),{localSettings:C,siteData:E}=Gr(),[j,N,D,$,R]=ot(C,["accent_color","title","description","locale","icon"]),[O,P]=A.useState({active:!1});A.useEffect(()=>{if(!E)return;const W={config:{blogUrl:E.url,signupForm:{url:v?.signupForm?.url,version:v?.signupForm?.version}},settings:{accentColor:j||"#d74780",title:N||"",locale:$||"en",icon:R||"",description:D||""},labels:s.map(({label:ge})=>({name:ge})),backgroundColor:t||"#08090c",layout:u},B=Pp({preview:!0,...W});m(B);const ie=Pp({preview:!1,...W});g(ie)},[E,j,s,v,N,t,u,$,R,D]);const I=async()=>{try{await navigator.clipboard.writeText(x),b(!0),setTimeout(()=>b(!1),2e3)}catch(W){console.error("Failed to copy text: ",W)}},U=W=>{a(W)},Y=W=>{if(W?.length){const B=W?.map(({value:ie})=>({label:ie,value:ie}));i(B)}else i([])};return n.jsx(ut,{afterClose:()=>{y("embed-signup-form")},cancelLabel:"",footer:!1,height:645,padding:!1,testId:"embed-signup-form",title:"",topRightContent:"close",width:1120,children:n.jsxs("div",{className:"grid grid-cols-[5.2fr_2.8fr]",children:[n.jsx(S2,{html:w,style:u}),n.jsx(A2,{accentColor:j,customColor:O,embedScript:x,handleColorToggle:U,handleCopyClick:I,handleLabelClick:Y,handleLayoutSelect:p,isCopied:h,selectedColor:t,selectedLabels:s,selectedLayout:u,setCustomColor:P})]})})}),$2=me.create(()=>{const{updateRoute:t}=Pe(),{settings:a}=ze(),{mutateAsync:s}=Tr(),i=Ke(),[u,p]=A.useState(""),[w]=ot(a,["firstpromoter"]),[m]=ot(a,["firstpromoter_id"]),[x,g]=A.useState("Save"),[h,b]=A.useState(!!w);A.useEffect(()=>{b(w||!1),p(m||null)},[w,m]);const y=async()=>{const v=[{key:"firstpromoter",value:h},{key:"firstpromoter_id",value:u}];try{g("Saving..."),await Promise.all([s(v),new Promise(C=>{setTimeout(C,1e3)})]),g("Saved")}catch(C){i(C)}finally{setTimeout(()=>g("Save"),1e3)}};return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:h!==w||u!==m,okColor:x==="Saved"?"green":"black",okLabel:x,testId:"firstpromoter-modal",title:"",onOk:async()=>{try{await y()}catch(v){i(v)}},children:[n.jsx(Qr,{detail:"Launch your own member referral program",icon:n.jsx(Ge,{className:"-mt-2",name:"firstpromoter",size:56}),title:"FirstPromoter"}),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{marginBottom:!1,title:"FirstPromoter configuration",grouped:!0,children:[n.jsx(Ye,{checked:h,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://firstpromoter.com/?fpr=ghost&fp_sid=admin",rel:"noopener noreferrer",target:"_blank",children:"FirstPromoter"})," for tracking referrals"]}),label:"Enable FirstPromoter",onChange:v=>{b(v.target.checked)}}),h&&n.jsx(ve,{hint:n.jsxs(n.Fragment,{children:["Affiliate and referral tracking, find your ID ",n.jsx("a",{className:"text-green",href:"https://ghost.org/help/firstpromoter-id/",rel:"noopener noreferrer",target:"_blank",children:"here"})]}),placeholder:"XXXXXXXX",title:"FirstPromoter account ID",value:u||"",onChange:v=>{p(v.target.value)}})]})})]})}),R2="ActionsResponseType",L2=Zv({dataType:R2,path:"/actions/",returnData:t=>{const{pages:a}=t;let s=a.flatMap(p=>p.actions.map(({context:w,...m})=>({...m,context:JSON.parse(w)})));s=s.reverse();let i=1;s.forEach((p,w)=>{const m=s[w+1];m&&p.resource_id===m.resource_id&&p.event===m.event?(p.skip=!0,i+=1):i>1&&(p.count=i,i=1)});const u=a[a.length-1].meta;return{actions:s.reverse(),meta:u,isEnd:u?u.pagination.pages===u.pagination.page:!0}}}),O2=t=>{var a,s;let i=t.resource_type;if(t.event!=="deleted")switch(t.resource_type){case"page":case"post":return!t.resource||!t.resource.id?void 0:(i==="post"&&(a=t.context)!=null&&a.type&&(i=(s=t.context)==null?void 0:s.type),{isExternal:!0,route:`editor/${i}/${t.resource.id}`,models:[i,t.resource.id]});case"integration":return!t.resource||!t.resource.id?void 0:{route:`integrations/${t.resource.id}`};case"offer":return!t.resource||!t.resource.id?void 0:{isExternal:!0,route:`offers/${t.resource.id}`,models:[t.resource.id]};case"tag":return!t.resource||!t.resource.slug?void 0:{isExternal:!0,route:"tag",models:[t.resource.slug]};case"product":return{route:"tiers"};case"user":return!t.resource||!t.resource.slug?void 0:{route:`staff/${t.resource.slug}`}}},F2=t=>{var a,s,i,u,p,w,m;let x=t.resource_type;x==="api_key"?x="API key":x==="setting"?x="settings":x==="product"&&(x="tier"),x==="post"&&(a=t.context)!=null&&a.type&&(x=(s=t.context)==null?void 0:s.type);let g=t.event;return t.event==="edited"&&(i=t.context)!=null&&i.action_name&&(g=(u=t.context)==null?void 0:u.action_name),(p=t.context)!=null&&p.count&&((w=t.context)==null?void 0:w.count)>1?`${(m=t.context)==null?void 0:m.count} ${x}s ${g}`:`${x.slice(0,1).toUpperCase()}${x.slice(1)} ${g}`},P2=t=>{var a,s,i,u;if(t.resource_type==="setting"&&(a=t.context)!=null&&a.group&&(s=t.context)!=null&&s.key)return{group:(i=t.context)==null?void 0:i.group,key:(u=t.context)==null?void 0:u.key}},Hp=t=>{var a,s;return typeof((a=t.context)==null?void 0:a.count)=="number"&&((s=t.context)==null?void 0:s.count)>1},H2=({action:t})=>{let a="pen";switch(t.event){case"added":a="add";break;case"deleted":a="trash";break}return n.jsx(Ge,{name:a,size:"xs"})},z2=({action:t})=>n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(jh,{bgColor:Nh(t.actor?.name||t.actor?.slug||""),image:t.actor?.image??void 0,label:Eh(t.actor?.name||t.actor?.slug),labelColor:"white",size:"md"}),n.jsx("div",{className:"absolute -right-1 -bottom-1 z-30 flex items-center justify-center rounded-full border border-grey-100 bg-white p-1 shadow-sm dark:border-grey-900 dark:bg-black",children:n.jsx(H2,{action:t})})]}),Mr=({label:t,item:a,excludedItems:s,toggleItem:i})=>n.jsx(Ye,{checked:!s.includes(a),direction:"rtl",label:t,labelClasses:"text-sm",onChange:u=>i(a,u.target.checked)}),U2=({excludedEvents:t,excludedResources:a,toggleEventType:s,toggleResourceType:i})=>{const{updateRoute:u}=Pe(),p=kh({path:"/users/",filterKey:"name",responseKey:"users"}),w=async(h,b)=>{const y=await p.loadData(h);b(y.map(v=>({label:v.name,value:v.id})))},[m,x]=A.useState(),g=()=>{x(null)};return n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx(Lu,{position:"end",trigger:n.jsx(Ie,{color:"outline",label:"Filter"}),children:n.jsxs("div",{className:"flex w-[220px] flex-col gap-8 p-5",children:[n.jsxs(Ii,{children:[n.jsx(Mr,{excludedItems:t,item:"added",label:"Added",toggleItem:s}),n.jsx(Mr,{excludedItems:t,item:"edited",label:"Edited",toggleItem:s}),n.jsx(Mr,{excludedItems:t,item:"deleted",label:"Deleted",toggleItem:s})]}),n.jsxs(Ii,{children:[n.jsx(Mr,{excludedItems:a,item:"post",label:"Posts",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"page",label:"Pages",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"tag",label:"Tags",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"offer,product",label:"Tiers & offers",toggleItem:i}),n.jsx(Mr,{excludedItems:a,item:"api_key,integration,setting,user,webhook",label:"Settings & staff",toggleItem:i})]})]})}),n.jsx("div",{className:"w-[200px]",children:n.jsx(kt,{loadOptions:Ri(w,500),placeholder:"Search staff",value:m,async:!0,defaultOptions:!0,isClearable:!0,onSelect:h=>{h?(x(h),u(`history/view/${h.value}`)):(g(),u("history/view"))}})})]})},B2=({action:t})=>{const{updateRoute:a}=Pe(),s=P2(t);if(s){const{group:i,key:u}=s;return n.jsxs(n.Fragment,{children:[i.slice(0,1).toUpperCase(),i.slice(1),i!==u&&n.jsxs("span",{className:"text-xs",children:[" ",n.jsxs("code",{className:"mb-1 bg-white text-grey-800 dark:bg-grey-900 dark:text-white",children:["(",u,")"]})]})]})}else if(t.resource?.title||t.resource?.name||t.context?.primary_name){const i=O2(t);return i?n.jsx("a",{className:"cursor-pointer font-bold",onClick:u=>{u.preventDefault(),a(i)},children:t.resource?.title||t.resource?.name}):n.jsx(n.Fragment,{children:t.resource?.title||t.resource?.name||t.context?.primary_name})}else return n.jsx("span",{className:"text-grey-500",children:"(unknown)"})},W2=t=>{const s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).formatToParts(t).reduce((i,{type:u,value:p})=>({...i,[u]:p}),{});return`${s.year}-${s.month}-${s.day} ${s.hour}:${s.minute}:${s.second}`},Y2=200,q2=me.create(({params:t})=>{const a=Ft(),{updateRoute:s}=Pe(),[i,u]=A.useState([]),[p,w]=A.useState(["label"]),{data:m,fetchNextPage:x,isFetchingNextPage:g}=L2({searchParams:{include:"actor,resource",limit:Y2.toString(),filter:[i.length&&`event:-[${i.join(",")}]`,p.length&&`resource_type:-[${p.join(",")}]`,t?.user&&`actor_id:'${t.user}'`].filter(Boolean).join("+")},getNextPageParams:(v,C)=>({...C,filter:[C.filter,v.actions.length&&`created_at:<'${W2(new Date(v.actions[v.actions.length-1].created_at))}'`].join("+")}),keepPreviousData:!0}),h=A.useCallback(()=>{m?.isEnd||x()},[m?.isEnd,x]),b=(v,C,E)=>{v(j=>E?j.concat(C):j.filter(N=>N!==C))},y=i.length>0||p.length>0||t?.user;return n.jsx(ut,{afterClose:()=>{s("history")},cancelLabel:"",okLabel:"Close",scrolling:!0,size:"md",stickyFooter:!0,stickyHeader:!0,testId:"history-modal",title:"History",topRightContent:n.jsx(U2,{excludedEvents:i,excludedResources:p,toggleEventType:(v,C)=>b(u,v,!C),toggleResourceType:(v,C)=>b(w,v,!C),userId:t?.user}),onOk:()=>{a.remove(),s("history")},children:n.jsx("div",{className:"relative mt-6",children:n.jsx(er,{hint:m?.isEnd&&m.actions.length>0?"End of history log":void 0,children:m?.actions?m.actions.length>0?n.jsxs(n.Fragment,{children:[n.jsx(R1,{offset:250,onTrigger:h}),m.actions.map(v=>!v.skip&&n.jsx(Cr,{avatar:n.jsx(z2,{action:v}),detail:[new Date(v.created_at).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"}),new Date(v.created_at).toLocaleTimeString("default",{hour:"2-digit",minute:"2-digit",second:"2-digit"})].join(" | "),title:n.jsxs("div",{className:"text-sm",children:[F2(v),Hp(v)?"":": ",!Hp(v)&&n.jsx(B2,{action:v}),v.count?n.jsxs(n.Fragment,{children:[" ",v.count," times"]}):null,n.jsxs("span",{children:[" — by ",v.actor?.name||v.actor?.slug]})]}),separator:!0})),g&&n.jsx("div",{className:"flex items-center justify-center p-5",children:n.jsx(Ci,{size:"md"})})]}):n.jsx($f,{icon:"time-back",children:y?"No entries match your current filters.":"No history entries found."}):m===void 0?n.jsx("div",{className:"flex items-center justify-center px-5 pt-12 pb-10",children:n.jsx(Ci,{})}):n.jsx($f,{children:"No entries found."})})})})}),G2=me.create(()=>{const t=me.useModal(),a=su(),s=su({searchParams:{limit:"100",permissions:"assign"}}),i=Fs(),{updateRoute:u}=Pe(),{config:p}=ze(),w=p.labs.superEditors,m=A.useRef(null),[x,g]=A.useState(""),[h,b]=A.useState(""),[y,v]=A.useState("contributor"),[C,E]=A.useState({}),{data:{users:j}={}}=Vv(),{data:{invites:N}={}}=Ay(),{mutateAsync:D}=Dy(),$=Ke();if(A.useEffect(()=>{m.current&&m.current.focus()},[]),A.useEffect(()=>{h==="saved"&&setTimeout(()=>{b("")},2e3)},[h]),A.useEffect(()=>{y!=="contributor"&&i?.isLimited("staff")?i.errorIfWouldGoOverLimit("staff").then(()=>{E(W=>({...W,role:void 0}))}).catch(W=>{if(W instanceof Ps){E(B=>({...B,role:W.message}));return}else throw W}):E(W=>({...W,role:void 0}))},[i,y]),!a.data?.roles||!s.data?.roles)return null;const R=a.data.roles,O=s.data.roles;let P="Send invitation";h==="saving"?P="Sending...":h==="saved"?P="Invite sent!":h==="error"&&(P="Retry");const I=async()=>{if(h!=="saving"){if(!xt.isEmail(x)){E({email:"Please enter a valid email address."});return}if(j?.some(({email:W})=>W===x)){E({email:"A user with that email address already exists."});return}if(N?.some(({email:W})=>W===x)){E({email:"A user with that email address was already invited."});return}if(!C.role){b("saving");try{await D({email:x,roleId:R.find(({name:W})=>W.toLowerCase()===y.toLowerCase()).id}),b("saved"),rt({title:"Invitation sent",message:`${x}`,type:"success"}),t.remove(),u("staff?tab=invited")}catch(W){b("error");let B="Failed to send invitation",ie=n.jsxs("span",{children:["If the problem persists, ",n.jsxs("a",{href:"https://ghost.org/contact",children:[n.jsx("u",{children:"contact support"}),"."]}),"."]});W instanceof Qv&&W.data?.errors?.[0]?.type==="EmailError"&&(ie=n.jsx("span",{children:"Check your Mailgun configuration."})),rt({title:B,message:ie,type:"error"}),$(W,{withToast:!1});return}}}},U=[{hint:"Can create and edit their own posts, but cannot publish. An Editor needs to approve and publish for them.",label:"Contributor",value:"contributor"},{hint:"A trusted user who can create, edit and publish their own posts, but can’t modify others.",label:"Author",value:"author"},{hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site.",label:"Editor",value:"editor"},{hint:"Trusted staff user who should be able to manage all content and users, as well as site settings and options.",label:"Administrator",value:"administrator"}];w&&(U[2]={hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site. Can manage members and moderate comments.",label:"Editor (beta mode)",value:"super editor"});const Y=U.filter(W=>O.some(B=>B.name===W.label||B.name==="Super Editor"&&W.label==="Editor (beta mode)"));return C.email&&(P="Retry"),n.jsx(ut,{afterClose:()=>{u("staff")},cancelLabel:"",okColor:h==="error"||C.email?"red":"black",okLabel:P,testId:"invite-user-modal",title:"Invite a new staff user",width:540,onOk:I,children:n.jsxs("div",{className:"flex flex-col gap-6 py-4",children:[n.jsx("p",{children:"Send an invitation for a new person to create a staff account on your site, and select a role that matches what you’d like them to be able to do."}),n.jsx(ve,{error:!!C.email,hint:C.email,inputRef:m,placeholder:"jamie@example.com",title:"Email address",value:x,onChange:W=>{g(W.target.value)},onKeyDown:()=>E(W=>({...W,email:void 0}))}),n.jsx("div",{children:n.jsx($1,{error:!!C.role,hint:C.role,id:"role",options:Y,selectedOption:y,separator:!0,title:"Role",onSelect:W=>{v(W)}})})]})})}),zp=({items:t,setItems:a})=>{const s=y=>!!(y.label&&!y.label.match(/^\s*$/)||y.url!=="/"),i=mm({items:t.map(y=>({...y,errors:{}})),setItems:y=>a(y.map(({url:v,label:C})=>({url:v,label:C}))),blank:{url:"/",label:"",errors:{}},canAddNewItem:s}),u=new RegExp(/^(\/|#|[a-zA-Z0-9-]+:)/),p=y=>{const v={};return(!y.label||y.label.match(/^\s*$/))&&(v.label="You must specify a label"),(!y.url||y.url.match(/\s/)||!xt.isURL(y.url,{require_protocol:!0})&&!y.url.match(u))&&(v.url="You must specify a valid URL or relative path"),v},w=(y,v)=>{const C=i.items.find(E=>E.id===y);i.updateItem(y,{...C.item,...v})},m=()=>{const y=p(i.newItem);Object.values(y).some(v=>v)?i.setNewItem({...i.newItem,errors:y}):i.addItem()},x=y=>{i.removeItem(y)},g=(y,v)=>{i.moveItem(y,v)},h="new",b=(y,v)=>{if(y===h)i.setNewItem({...i.newItem,errors:{...i.newItem.errors,[v]:void 0}});else{const C=i.items.find(E=>E.id===y).item;i.updateItem(y,{...C,errors:{...C.errors,[v]:void 0}})}};return{items:i.items.map(({item:y,id:v})=>({...y,id:v})),updateItem:w,addItem:m,removeItem:x,moveItem:g,newItem:{...i.newItem,id:h},setNewItem:y=>i.setNewItem({...i.newItem,...y}),clearError:b,validate:()=>{let y=!0;if(i.items.forEach(({item:v,id:C})=>{let E=p(v);Object.values(E).some(j=>j)&&(y=!1,i.updateItem(C,{...v,errors:E}))}),s(i.newItem)){const v=p(i.newItem);Object.values(v).some(C=>C)&&(y=!1,i.setNewItem({...i.newItem,errors:v}))}return y}}},Up=({baseUrl:t,item:a,updateItem:s,addItem:i,clearError:u,labelPlaceholder:p,unstyled:w,textFieldClasses:m,action:x,className:g,...h})=>n.jsxs("div",{className:he("flex w-full items-start gap-3",g),"data-testid":"navigation-item-editor",...h,children:[n.jsx("div",{className:"flex flex-1 pt-1",children:n.jsx(ve,{className:m,containerClassName:"grow",error:!!a.errors.label,hint:a.errors.label,placeholder:p,title:"Label",unstyled:w,value:a.label,hideTitle:!0,onChange:b=>s?.({label:b.target.value}),onKeyDown:b=>{s?.({label:b.target.value}),b.key==="Enter"&&(b.preventDefault(),i?.()),a.errors.label&&u?.("label")}})}),n.jsx("div",{className:"flex flex-1 pt-1",children:n.jsx(wh,{baseUrl:t,className:m,containerClassName:"grow",error:!!a.errors.url,hint:a.errors.url,title:"URL",unstyled:w,value:a.url,hideTitle:!0,onChange:b=>s?.({url:b||""}),onKeyDown:b=>{const y=Ti(b.target.value,t,!0);s?.({url:y.save||""})},onKeyUp:b=>{if(b.key==="Enter"){b.preventDefault();const y=Ti(b.target.value,t,!0);s?.({url:y.save||""}),i?.()}a.errors.url&&u?.("url")}})}),x]}),Bp=({baseUrl:t,navigation:a})=>n.jsxs("div",{className:"w-full pt-2",children:[n.jsx(bh,{items:a.items,itemSeparator:!1,renderItem:s=>n.jsx(Up,{action:n.jsx(Ie,{className:"mt-1 self-center",icon:"trash",iconColorClass:"dark:text-white",size:"sm",onClick:()=>a.removeItem(s.id)}),baseUrl:t,clearError:i=>a.clearError(s.id,i),item:s,updateItem:i=>a.updateItem(s.id,i)}),onMove:a.moveItem}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Ge,{colorClass:"text-grey-300 dark:text-grey-900 mt-1",name:"add",size:"sm"}),n.jsx(Up,{action:n.jsx(Ie,{className:"mx-2 mt-1 self-center rounded bg-green p-1","data-testid":"add-button",icon:"add",iconColorClass:"text-white",size:"sm",unstyled:!0,onClick:a.addItem}),addItem:a.addItem,baseUrl:t,className:"mt-1",clearError:s=>a.clearError(a.newItem.id,s),"data-testid":"new-navigation-item",item:a.newItem,labelPlaceholder:"New item label",updateItem:a.setNewItem})]})]}),X2=me.create(()=>{const t=Ft(),{updateRoute:a}=Pe(),{localSettings:s,updateSetting:i,saveState:u,handleSave:p,siteData:w}=Gr(),[m,x]=ot(s,["navigation","secondary_navigation"]).map(v=>JSON.parse(v||"[]")),g=zp({items:m,setItems:v=>{i("navigation",JSON.stringify(v))}}),h=zp({items:x,setItems:v=>i("secondary_navigation",JSON.stringify(v))}),[b,y]=A.useState("primary-nav");return n.jsx(ut,{afterClose:()=>{a("navigation")},buttonsDisabled:u==="saving",cancelLabel:"Close",dirty:s.some(v=>v.dirty),okLabel:u==="saving"?"Saving...":"Save",scrolling:!0,size:"lg",stickyFooter:!0,testId:"navigation-modal",title:"Navigation",onOk:async()=>{g.validate()&&h.validate()&&(await p(),t.remove(),a("navigation"))},children:n.jsx("div",{className:"mt-6 mb-1",children:n.jsx(Nr,{selectedTab:b,tabs:[{id:"primary-nav",title:"Primary",contents:n.jsx(Bp,{baseUrl:w.url,navigation:g})},{id:"secondary-nav",title:"Secondary",contents:n.jsx(Bp,{baseUrl:w.url,navigation:h})}],onTabChange:y})})})}),K2=""+new URL("user-cover-yM4cP_Mo.jpg",import.meta.url).href,Z2=""+new URL("latest-posts-1-D7-ilqhR.jpg",import.meta.url).href,V2=""+new URL("latest-posts-2-BPfbGB8B.jpg",import.meta.url).href,Q2=""+new URL("latest-posts-3-D72O3dn8.jpg",import.meta.url).href,J2=({senderName:t,senderEmail:a,senderReplyTo:s,headerImage:i,headerIcon:u,headerTitle:p,headerSubtitle:w,showPostTitleSection:m,showExcerpt:x,titleAlignment:g,titleFontCategory:h,titleFontWeight:b,bodyFontCategory:y,authorPlaceholder:v,showCommentCta:C,showFeatureImage:E,showFeedback:j,showLatestPosts:N,showSubscriptionDetails:D,siteTitle:$,footerContent:R,showBadge:O,backgroundColor:P,headerBackgroundColor:I,accentColor:U,textColor:Y,secondaryTextColor:W,headerTextColor:B,secondaryHeaderTextColor:ie,postTitleColor:ge,sectionTitleColor:Me,dividerColor:K,buttonColor:ee,buttonTextColor:ke,linkColor:ue,buttonCorners:ye,buttonStyle:J,imageCorners:de,linkStyle:fe,dividerStyle:ce})=>{const V=u||p,{config:be}=ze(),Le=new Date().toLocaleDateString("default",{year:"numeric",month:"short",day:"numeric"}),it=new Date().getFullYear(),wt=R?R.replace(/<a/g,'<a target="_blank" rel="noopener noreferrer"'):"";let Pt;gh(be)?Pt=n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"From: "}),n.jsxs("span",{children:[t," (",a,")"]})]}),n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"Reply-to: "}),s||a]})]}):Pt=n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:t}),n.jsxs("span",{children:[" ",a]})]}),n.jsxs("p",{className:"leading-normal",children:[n.jsx("span",{className:"font-semibold text-grey-900",children:"To:"})," Jamie Larson jamie@example.com"]})]});let re="mb-5 text-pretty leading-[1.7] text-black";return h==="serif"&&y==="serif"?re=he(re,"mb-8 font-serif text-[2.0rem] leading-tight"):h!=="serif"&&y==="serif"?re=he(re,"mb-8 text-[1.7rem] leading-tight tracking-tight"):h==="serif"&&y!=="serif"?re=he(re,"mb-8 font-serif text-[2.0rem] leading-tight"):re=he(re,"mb-8 text-[1.9rem] leading-tight tracking-tight"),g==="center"&&(re=he(re,"text-center")),n.jsx("div",{className:"relative flex grow flex-col",children:n.jsx("div",{className:"absolute inset-0 m-5 flex items-center justify-center",children:n.jsxs("div",{className:"mx-auto my-0 flex max-h-full w-full max-w-[700px] flex-col overflow-hidden rounded-[4px] text-black shadow-sm",children:[n.jsx("div",{className:"flex-column flex min-h-[77px] justify-center rounded-t-sm border-b border-grey-200 bg-white px-6 text-sm text-grey-700",children:Pt}),n.jsxs("div",{className:"overflow-y-auto text-sm",style:{backgroundColor:P},children:[n.jsxs("div",{className:"px-[7rem]",style:{backgroundColor:I},children:[i&&n.jsx("div",{children:n.jsx("img",{alt:"",className:"mb-4 block pt-6",src:i})}),V&&n.jsxs("div",{className:"py-3",children:[u&&n.jsx("img",{alt:"",className:"mx-auto mb-2 size-10",role:"presentation",src:u}),p&&n.jsx("h4",{className:"mb-1 text-center text-[1.6rem] leading-tight font-bold tracking-tight text-grey-900 uppercase",style:{color:B},children:p}),w&&n.jsx("h5",{className:"mb-1 text-center text-[1.3rem] font-normal text-grey-700",style:{color:ie},children:w})]}),m&&n.jsxs("div",{className:he("flex flex-col py-8",g==="center"?"items-center":"items-start"),children:[n.jsx("h2",{className:he("text-4xl leading-supertight font-bold text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold",g==="center"?"text-center":"text-left",x?"mb-2":"mb-8"),style:{color:ge},children:"Your email newsletter"}),x&&n.jsx("p",{className:re,style:{color:B},children:"A subtitle to highlight key points and engage your readers."}),n.jsxs("div",{className:he("flex w-full justify-between text-center text-md leading-none text-grey-700",g==="center"?"flex-col gap-1":"flex-row"),children:[n.jsxs("p",{className:"pb-1 text-[1.3rem]",style:{color:ie},children:["By ",v,n.jsx("span",{className:"before:pr-1 before:pl-0.5 before:content-['•']",children:Le})]}),n.jsx("p",{className:"pb-1 text-[1.3rem] underline",style:{color:ie},children:n.jsx("span",{children:"View in browser"})})]})]}),E&&n.jsxs(n.Fragment,{children:[n.jsx("div",{className:he("h-[unset] w-full max-w-[600px] bg-cover bg-no-repeat",m?"":"pt-6"),children:n.jsx("img",{alt:"Feature",className:he("min-h-full min-w-full shrink-0",de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:K2})}),n.jsx("div",{className:"mt-1 w-full max-w-[600px] pb-8 text-center text-[1.3rem] text-grey-700",style:{color:ie},children:"Feature image caption"})]})]}),n.jsxs("div",{className:he("px-[7rem]",I!=="transparent"&&"pt-10"),children:[n.jsxs("div",{className:he("max-w-[600px] border-b border-grey-200 pb-[52px] leading-[27.2px] text-black",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted",y==="serif"?"font-serif text-[1.8rem]":"text-[1.7rem] tracking-tight",E||m?"":"pt-8"),style:{borderColor:K},children:[n.jsx("p",{className:"mb-6",style:{color:Y},children:"This is what your content will look like when you send one of your posts as an email newsletter to your subscribers."}),n.jsx("p",{className:"mb-6",style:{color:Y},children:"Over there on the right you'll see some settings that allow you to customize the look and feel of this template – from colors and typography to layout and buttons – to make it perfectly suited to your brand."}),n.jsx("p",{className:"mb-[52px]",style:{color:Y},children:"Email templates are exceptionally finnicky to make, but we've spent a long time optimising this one to make it work beautifully across devices, email clients and content types. So, you can trust that every email you send with Ghost will look great and work well. Just like the rest of your site."}),n.jsx("hr",{className:he("my-[52px] border-[#e0e7eb]",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-t-0 border-b-2 border-dotted"),style:{borderColor:K}}),n.jsx("h3",{className:he("mb-[13px] text-[2.6rem] leading-supertight",h==="serif"&&"font-serif",h==="sans_serif"&&"font-sans",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"Need inspiration?"}),n.jsxs("p",{className:"mb-[27px]",style:{color:Y},children:["We've put together a ",n.jsx("a",{className:he(fe==="underline"&&"underline",fe==="bold"&&"font-bold"),href:"https://ghost.org/help/email-design/",rel:"noopener noreferrer",style:{color:ue||U},target:"_blank",children:"quick guide"})," that walks through all of the available settings, along with a few examples of what's possible."]}),n.jsx("a",{className:he("inline-block border px-[18px] py-2 font-sans text-[15px]",ye==="rounded"&&"rounded-[6px]",ye==="pill"&&"rounded-full",ye==="square"&&"rounded-none",J==="outline"?"bg-transparent":"border-transparent text-white",fe==="bold"?"font-bold":"font-semibold"),href:"https://ghost.org/help/email-design/",rel:"noopener noreferrer",style:J==="outline"?{borderColor:ee||U,color:ee||U}:{backgroundColor:ee||U,color:ke},target:"_blank",children:"Learn more"})]}),(j||C)&&n.jsx("div",{className:he("grid gap-5 border-b border-grey-200 px-6 py-5",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:n.jsxs("div",{className:"flex justify-center gap-3",children:[j&&n.jsxs(n.Fragment,{children:[n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"thumbs-up",size:"md"}),n.jsx("span",{children:"More like this"})]})}),n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"thumbs-down"}),n.jsx("span",{children:"Less like this"})]})})]}),C&&n.jsx("button",{className:"pointer-events-none cursor-default rounded-[2.2rem] bg-transparent font-semibold whitespace-nowrap",type:"button",children:n.jsxs("span",{className:"inline-flex items-center gap-2 px-[18px] py-[7px]",style:{color:Y},children:[n.jsx(Ge,{colorClass:"",name:"comment"}),n.jsx("span",{children:"Comment"})]})})]})}),N&&n.jsxs("div",{className:he("border-b border-grey-200 py-6",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:[n.jsx("h3",{className:"mt-2 mb-4 pb-1 text-[1.2rem] font-semibold tracking-wide text-black uppercase",style:{color:Y},children:"Keep reading"}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"The three latest posts published on your site"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Posts sent as an email only will never be shown here."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:Z2})})]}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"Displayed at the bottom of each newsletter"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Giving your readers one more place to discover your stories."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:V2})})]}),n.jsxs("div",{className:"flex justify-between gap-4 py-2",children:[n.jsxs("div",{children:[n.jsx("h4",{className:he("mt-0.5 text-[1.9rem] text-black",h==="serif"&&"font-serif",b==="normal"&&"font-normal",b==="medium"&&"font-medium",b==="semibold"&&"font-semibold",b==="bold"&&"font-bold"),style:{color:Me},children:"To keep your work front and center"}),n.jsx("p",{className:"m-0 text-base text-grey-700",style:{color:W},children:"Making sure that your audience stays engaged."})]}),n.jsx("div",{className:"aspect-square h-auto w-full max-w-[100px] bg-cover bg-no-repeat",children:n.jsx("img",{alt:"Latest post",className:he(de==="square"&&"rounded-none",de==="rounded"&&"rounded-md"),src:Q2})})]})]}),D&&n.jsxs("div",{className:he("border-b border-grey-200 py-8",ce==="dashed"&&"border-dashed",ce==="dotted"&&"border-b-2 border-dotted"),style:{borderColor:K},children:[n.jsx("h4",{className:"mb-3 text-[1.2rem] tracking-wide text-black uppercase",style:{color:Y},children:"Subscription details"}),n.jsxs("p",{className:"m-0 mb-4 text-base",style:{color:Y},children:["You are receiving this because you are a paid subscriber to ",$,". Your subscription will renew on 17 Jul 2024."]}),n.jsxs("div",{className:"flex",children:[n.jsxs("div",{className:"shrink-0 text-base",children:[n.jsx("p",{style:{color:Y},children:"Name: Jamie Larson"}),n.jsx("p",{style:{color:Y},children:"Email: jamie@example.com"}),n.jsx("p",{style:{color:Y},children:"Member since: 17 July 2023"})]}),n.jsx("span",{className:he("w-full self-end text-right text-base whitespace-nowrap",fe==="underline"&&"underline",fe==="bold"&&"font-bold"),style:{color:ue||U},children:"Manage subscription"})]})]}),n.jsxs("div",{className:"flex flex-col items-center pt-10",children:[n.jsx("div",{dangerouslySetInnerHTML:{__html:wt||""},className:"text px-8 py-3 text-center text-[1.3rem] leading-base break-words text-grey-700 [&_a]:underline",style:{color:W}}),n.jsxs("div",{className:"px-8 pt-3 pb-14 text-center text-[1.3rem] text-grey-700",children:[n.jsxs("span",{style:{color:W},children:[$," © ",it," — "]}),n.jsx("span",{className:"pointer-events-none cursor-auto underline",style:{color:W},children:"Unsubscribe"})]}),O&&n.jsx("div",{className:"flex flex-col items-center pt-[10px] pb-[40px]",children:n.jsxs("a",{className:"pointer-events-none inline-flex cursor-auto items-center px-2 py-1 text-[1.25rem] font-semibold tracking-tight text-grey-900",href:"https://ghost.org",style:{color:Y},children:[n.jsx($y,{className:"mr-[6px] size-4"}),n.jsx("span",{children:"Powered by Ghost"})]})})]})]})]})]})})})},e8=({newsletter:t})=>{const{currentUser:a,settings:s,siteData:i,config:u}=ze(),[p,w,m,x,g]=ot(s,["title","icon","comments_enabled","support_email_address","default_email_address"]);let h=null;t.show_header_title?h=p||null:t.show_header_name&&(h=t.name);const b=t.show_header_title&&t.show_header_name?t.name:void 0,y=t.show_comment_cta&&m!=="off",v=t.feedback_enabled,C=()=>{const B=t.background_color;return/#([0-9a-f]{3}){1,2}$/i.test(B)?B:"#ffffff"},E=()=>{const B=t.header_background_color;return!B||B==="transparent"?"transparent":/#([0-9a-f]{3}){1,2}$/i.test(B)?B:"transparent"},j=()=>{const B=t.button_color;if(/#([0-9a-f]{3}){1,2}$/i.test(B||""))return B;if(B===null){const ge=C();return vn(ge).hex()}return i.accent_color},N=()=>{const B=t.button_style,ie=j();if(ie&&B==="fill")return vn(ie).hex()},D=()=>{const B=t.link_color===void 0?"accent":t.link_color,ie=/#([0-9a-f]{3}){1,2}$/i;return B==="accent"?i.accent_color:ie.test(B||"")?B:vn(C()).hex()},$=()=>{const B=t.post_title_color;if(/#([0-9a-f]{3}){1,2}$/i.test(B||""))return B;if(B==="accent")return i.accent_color;const ge=E(),Me=ge==="transparent"?C():ge;return vn(Me).hex()},R=()=>{const B=t.section_title_color;return/#([0-9a-f]{3}){1,2}$/i.test(B||"")?B:B==="accent"?i.accent_color:vn(C()).hex()},O=()=>{const B=t.divider_color;return/#([0-9a-f]{3}){1,2}$/i.test(B||"")?B:B==="accent"?i.accent_color:"#e0e7eb"},P=vn(C()).hex(),I=vn(C()).alpha(.5).toString(),U=E()==="transparent"?P:vn(E()).hex(),Y=E()==="transparent"?I:vn(E()).alpha(.5).toString(),W={backgroundColor:C(),headerBackgroundColor:E(),postTitleColor:$()||void 0,sectionTitleColor:R()||void 0,buttonColor:j()||void 0,buttonTextColor:N()||void 0,linkColor:D()||void 0,dividerColor:O()||void 0,textColor:P,secondaryTextColor:I,headerTextColor:U,secondaryHeaderTextColor:Y};return n.jsx(J2,{accentColor:i.accent_color,authorPlaceholder:a.name||a.email,backgroundColor:W.backgroundColor||"#ffffff",bodyFontCategory:t.body_font_category,buttonCorners:t.button_corners||"rounded",buttonStyle:t.button_style||"fill",dividerStyle:t.divider_style||"solid",footerContent:t.footer_content,headerBackgroundColor:W.headerBackgroundColor||"transparent",headerIcon:t.show_header_icon?w:void 0,headerImage:t.header_image,headerSubtitle:b,headerTitle:h,imageCorners:t.image_corners||"square",linkStyle:t.link_style||"underline",senderEmail:ju(t,u,g),senderName:t.sender_name||p,senderReplyTo:au(t,u,x,g),showBadge:t.show_badge,showCommentCta:y,showExcerpt:t.show_excerpt,showFeatureImage:t.show_feature_image,showFeedback:v,showLatestPosts:t.show_latest_posts,showPostTitleSection:t.show_post_title_section,showSubscriptionDetails:t.show_subscription_details,siteTitle:p,titleAlignment:t.title_alignment,titleFontCategory:t.title_font_category,titleFontWeight:t.title_font_weight||"bold",...W})},t8=({newsletter:t,updateNewsletter:a,errors:s,clearError:i})=>{const{settings:u,config:p}=ze(),[w,m]=ot(u,["default_email_address","support_email_address"]),[x,g]=A.useState(au(t,p,m,w)||"");let h=ju(t,p,w);const b=A.useCallback(v=>{g(v.target.value),a({sender_reply_to:v.target.value||"newsletter"})},[a,g]),y=()=>{const v=au(t,p,m,w)||"";g(v)};return n.jsx(ve,{error:!!s.sender_reply_to,hint:s.sender_reply_to,maxLength:191,placeholder:h||"",title:"Reply-to email",value:x,onBlur:y,onChange:b,onKeyDown:()=>i("sender_reply_to")})},n8=({newsletter:t,onlyOne:a,updateNewsletter:s,validate:i,errors:u,clearError:p})=>{const{updateRoute:w}=Pe(),{mutateAsync:m}=Ah(),x=Fs(),{settings:g,config:h,siteData:b}=ze(),[y,v]=ot(g,["icon","default_email_address"]),{mutateAsync:C}=Hs(),[E,j]=A.useState("generalSettings"),{localSettings:N}=Gr(),[D]=ot(N,["title"]),$=Ke(),{data:{newsletters:R}={}}=Sh(),O=["all","paid"].includes(Tt(g,"comments_enabled")||"");let P=ju(t,h,v);const[I,U]=A.useState(R||[]),Y=I.filter(J=>J.status==="active");A.useEffect(()=>{U(R||[])},[R]);const W=[{value:"serif",label:"Elegant serif",className:"font-serif"},{value:"sans_serif",label:"Clean sans-serif"}],B={sans_serif:{options:[{value:"normal",label:"Regular",className:"font-normal"},{value:"medium",label:"Medium",className:"font-medium"},{value:"semibold",label:"Semi-bold",className:"font-semibold"},{value:"bold",label:"Bold",className:"font-bold"}]},serif:{options:[{value:"normal",label:"Regular",className:"font-normal"},{value:"bold",label:"Bold",className:"font-bold"}],map:{medium:"normal",semibold:"bold"}}},ie=()=>t.background_color==="light"?!1:vn(t.background_color).hex().toLowerCase()==="#ffffff",ge=async()=>{if(t.status==="active")me.show(ht,{title:"Archive newsletter",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"mb-6",children:["Your newsletter ",n.jsx("strong",{children:t.name})," will no longer be visible to members or available as an option when publishing new posts."]}),n.jsx("div",{children:"Existing posts previously sent as this newsletter will remain unchanged."})]}),okLabel:"Archive",okColor:"red",onOk:async J=>{try{await m({...t,status:"archived"}),J?.remove(),rt({type:"success",message:"Newsletter archived"})}catch(de){$(de)}}});else{try{await x?.errorIfWouldGoOverLimit("newsletters")}catch(J){if(J instanceof Ps){me.show(Un,{prompt:J.message||"Your current plan doesn't support more newsletters.",onOk:()=>w({route:"/pro",isExternal:!0})});return}else throw J}me.show(ht,{title:"Reactivate newsletter",prompt:n.jsxs(n.Fragment,{children:["Reactivating ",n.jsx("strong",{children:t.name})," will immediately make it visible to members and re-enable it as an option when publishing new posts."]}),okLabel:"Reactivate",onOk:async J=>{await m({...t,status:"active"}),J?.remove(),rt({type:"success",message:"Newsletter reactivated"})}})}},Me=()=>{if(!gh(h))return n.jsx(ve,{error:!!u.sender_email,hint:u.sender_email,placeholder:P||"",title:"Sender email address",value:t.sender_email||"",onChange:J=>s({sender_email:J.target.value}),onKeyDown:()=>p("sender_email")});if(xh(h))return n.jsx(ve,{error:!!u.sender_email,hint:u.sender_email,maxLength:191,placeholder:v,title:"Sender email address",value:t.sender_email||"",onChange:J=>{s({sender_email:J.target.value})},onKeyDown:()=>p("sender_email")})},K=B[t.title_font_category||"sans_serif"].options,ee=()=>{const J=t.title_font_category||"sans_serif",de=t.title_font_weight,fe=B[J].map,ce=fe&&fe[de]||de;return K.find(be=>be.value===ce)||K[0]},ke=J=>{const de=J?.value||"sans_serif",fe=t.title_font_weight;let ce=fe;return B[de].options.find(V=>V.value===fe)||(ce=B[de].map?.[fe]||"bold"),s({title_font_category:de,title_font_weight:ce})},ue=[{id:"generalSettings",title:"General",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Name and description",children:[n.jsx(ve,{error:!!u.name,hint:u.name,maxLength:191,placeholder:"Weekly Roundup",title:"Name",value:t.name||"",onChange:J=>s({name:J.target.value}),onKeyDown:()=>p("name")}),n.jsx(nr,{maxLength:2e3,rows:2,title:"Description",value:t.description||"",onChange:J=>s({description:J.target.value})})]}),n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Email info",children:[n.jsx(ve,{maxLength:191,placeholder:D,title:"Sender name",value:t.sender_name||"",onChange:J=>s({sender_name:J.target.value})}),Me(),n.jsx(t8,{clearError:p,errors:u,newsletter:t,updateNewsletter:s,validate:i})]}),n.jsx(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Member settings",children:n.jsx(Ye,{checked:t.subscribe_on_signup,direction:"rtl",label:"Subscribe new members on signup",labelStyle:"value",onChange:J=>s({subscribe_on_signup:J.target.checked})})}),n.jsx("div",{className:"mt-10 mb-5",children:t.status==="active"?!a&&n.jsx(Ie,{color:"red",disabled:Y.length===1,label:"Archive newsletter",link:!0,onClick:ge}):n.jsx(Ie,{color:"green",label:"Reactivate newsletter",link:!0,onClick:ge})})]})},{id:"content",title:"Content",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Header",children:[n.jsxs("div",{children:[n.jsx("div",{children:n.jsx(ct,{className:"mb-2",level:6,children:"Header image"})}),n.jsxs("div",{className:"flex-column flex gap-1",children:[n.jsx(tr,{deleteButtonClassName:"top-1! right-1!",height:t.header_image?"66px":"64px",id:"logo",imageURL:t.header_image||void 0,onDelete:()=>{s({header_image:null})},onUpload:async J=>{try{const de=Jn(await C({file:J}));s({header_image:de})}catch(de){$(de)}},children:n.jsx(Ge,{colorClass:"text-grey-700 dark:text-grey-300",name:"picture"})}),n.jsx(zn,{children:"1200×600 recommended. Use a transparent PNG for best results on any background."})]})]}),n.jsxs(Ii,{children:[y&&n.jsx(Ye,{checked:t.show_header_icon,direction:"rtl",label:"Publication icon",onChange:J=>s({show_header_icon:J.target.checked})}),n.jsx(Ye,{checked:t.show_header_title,direction:"rtl",label:"Publication title",onChange:J=>s({show_header_title:J.target.checked})}),n.jsx(Ye,{checked:t.show_header_name,direction:"rtl",label:"Newsletter name",onChange:J=>s({show_header_name:J.target.checked})})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Title section",children:[n.jsx(Ye,{checked:t.show_post_title_section,direction:"rtl",label:"Post title",onChange:J=>s({show_post_title_section:J.target.checked})}),t.show_post_title_section&&n.jsx(Ye,{checked:t.show_excerpt,direction:"rtl",label:"Post excerpt",onChange:J=>s({show_excerpt:J.target.checked})}),n.jsx(Ye,{checked:t.show_feature_image,direction:"rtl",label:"Feature image",onChange:J=>s({show_feature_image:J.target.checked})})]}),n.jsxs(Be,{className:"mt-6",gap:"sm",margins:"lg",title:"Footer",children:[n.jsxs(Ii,{gap:"lg",children:[n.jsx(Ye,{checked:t.feedback_enabled,direction:"rtl",label:"Ask your readers for feedback",onChange:J=>s({feedback_enabled:J.target.checked})}),O&&n.jsx(Ye,{checked:t.show_comment_cta,direction:"rtl",label:"Add a link to your comments",onChange:J=>s({show_comment_cta:J.target.checked})}),n.jsx(Ye,{checked:t.show_latest_posts,direction:"rtl",label:"Share your latest posts",onChange:J=>s({show_latest_posts:J.target.checked})}),n.jsx(Ye,{checked:t.show_subscription_details,direction:"rtl",label:"Show subscription details",onChange:J=>s({show_subscription_details:J.target.checked})})]}),n.jsx(Au,{hint:"Any extra information or legal text",nodes:"MINIMAL_NODES",placeholder:" ",title:"Email footer",value:t.footer_content||"",onChange:J=>s({footer_content:J})})]}),n.jsx(Rs,{}),n.jsxs("div",{className:"my-5 flex w-full items-start",children:[n.jsx("span",{children:n.jsx(Ge,{className:"mt-[-1px] mr-2",colorClass:"text-red",name:"heart"})}),n.jsx(Be,{marginBottom:!1,children:n.jsx(Ye,{checked:t.show_badge,direction:"rtl",label:n.jsxs("div",{className:"flex flex-col gap-0.5",children:[n.jsx("span",{className:"text-sm md:text-base",children:"Promote independent publishing"}),n.jsx("span",{className:"text-[11px] leading-tight text-grey-700 md:text-xs md:leading-tight",children:"Show you're a part of the indie publishing movement with a small badge in the footer"})]}),labelStyle:"value",onChange:J=>s({show_badge:J.target.checked})})})]})]})},{id:"design",title:"Design",contents:n.jsxs(n.Fragment,{children:[n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Global",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{hex:"#ffffff",value:"light",title:"White"}],title:"Background color",value:t.background_color||"light",onChange:J=>s({background_color:J})})}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Heading font"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:W,selectedOption:W.find(J=>J.value===t.title_font_category),onSelect:ke})]}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Heading weight"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:K,selectedOption:ee(),onSelect:J=>s({title_font_weight:J?.value})})]}),n.jsxs("div",{className:"flex w-full items-center justify-between gap-2",children:[n.jsx("div",{className:"shrink-0",children:"Body font"}),n.jsx(kt,{containerClassName:"max-w-[200px]",options:W,selectedOption:W.find(J=>J.value===t.body_font_category),testId:"body-font-select",onSelect:J=>s({body_font_category:J?.value})})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Header",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"transparent",title:"Transparent",hex:"#00000000"}],title:"Header background color",value:t.header_background_color||"transparent",onChange:J=>s({header_background_color:J})})}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Post title color",value:t.post_title_color,onChange:J=>s({post_title_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Title alignment"}),n.jsx(Pn,{activeKey:t.title_alignment,buttons:[{key:"left",icon:"align-left",iconSize:14,label:"Align left",tooltip:"Left",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({title_alignment:"left"}),disabled:!t.show_post_title_section},{key:"center",icon:"align-center",iconSize:14,label:"Align center",tooltip:"Center",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({title_alignment:"center"}),disabled:!t.show_post_title_section}],clearBg:!1})]})]}),n.jsxs(Be,{className:"mt-6",gap:"xs",margins:"lg",title:"Body",children:[n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Section title color",value:t.section_title_color,onChange:J=>s({section_title_color:J})})}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"accent",title:"Accent",hex:b.accent_color},{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"}],title:"Button color",value:t.button_color,onChange:J=>s({button_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Button style"}),n.jsx(Pn,{activeKey:t.button_style||"fill",buttons:[{key:"fill",icon:"squircle-fill",iconSize:14,label:"Fill",tooltip:"Fill",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_style:"fill"})},{key:"outline",icon:"squircle",iconSize:14,label:"Outline",tooltip:"Outline",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_style:"outline"})}],clearBg:!1})]}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Button corners"}),n.jsx(Pn,{activeKey:t.button_corners||"rounded",buttons:[{key:"square",icon:"square",iconSize:14,label:"Square",tooltip:"Squared",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"square"})},{key:"rounded",icon:"squircle",iconSize:14,label:"Rounded",tooltip:"Rounded",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"rounded"})},{key:"pill",icon:"circle",iconSize:14,label:"Pill",tooltip:"Pill",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({button_corners:"pill"})}],clearBg:!1})]}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"accent",title:"Accent",hex:b.accent_color},{value:null,title:"Auto",hex:ie()?"#ffffff":"#000000"}],title:"Link color",value:t.link_color,onChange:J=>s({link_color:J})})}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Link style"}),n.jsx(Pn,{activeKey:t.link_style||"underline",buttons:[{key:"underline",icon:"text-underline",iconSize:14,label:"Underline",tooltip:"Underline",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"underline"})},{key:"regular",icon:"text-regular",iconSize:14,label:"Regular",tooltip:"Regular",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"regular"})},{key:"bold",icon:"text-bold",iconSize:14,label:"Bold",tooltip:"Bold",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({link_style:"bold"})}],clearBg:!1})]}),n.jsxs("div",{className:"flex w-full justify-between",children:[n.jsx("div",{children:"Image corners"}),n.jsx(Pn,{activeKey:t.image_corners||"square",buttons:[{key:"square",icon:"square",iconSize:14,label:"Square",tooltip:"Squared",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({image_corners:"square"})},{key:"rounded",icon:"squircle",iconSize:14,label:"Rounded",tooltip:"Rounded",hideLabel:!0,link:!1,size:"sm",onClick:()=>s({image_corners:"rounded"})}],clearBg:!1})]}),n.jsx("div",{className:"mb-1",children:n.jsx(Fn,{direction:"rtl",eyedropper:!0,swatches:[{value:"light",title:"Light",hex:"#e0e7eb"},{value:"accent",title:"Accent",hex:b.accent_color}],title:"Divider color",value:t.divider_color||"light",onChange:J=>s({divider_color:J})})})]})]})}],ye=J=>{j(J)};return n.jsx("div",{className:"flex flex-col",children:n.jsx("div",{className:"px-7 pt-0 pb-7",children:n.jsx(Nr,{selectedTab:E,stickyHeader:!0,tabs:ue,onTabChange:ye})})})},r8=({newsletter:t,onlyOne:a})=>{const{config:s}=ze(),{mutateAsync:i}=Ah(),{updateRoute:u}=Pe(),p=Ke(),{formState:w,saveState:m,updateForm:x,setFormState:g,handleSave:h,validate:b,errors:y,clearError:v,okProps:C}=an({initialState:t,savingDelay:500,onSave:async()=>{const{meta:{sent_email_verification:[D]=[]}={}}=await i(w);let $;D&&D==="sender_email"?$=n.jsx("div",{children:"We‘ve sent a confirmation email to the new address."}):D&&D==="sender_reply_to"&&($=n.jsx("div",{children:"We‘ve sent a confirmation email to the new address."})),$&&rt({icon:"email",message:$,type:"info"})},onSaveError:p,onValidate:()=>{const D={};return w.name||(D.name="A name is required for your newsletter"),w.sender_email&&!xt.isEmail(w.sender_email)?D.sender_email="Enter a valid email address":w.sender_email&&xh(s)&&w.sender_email.split("@")[1]!==Ef(s)&&(D.sender_email=`Email address must end with @${Ef(s)}`),w.sender_reply_to&&!xt.isEmail(w.sender_reply_to)&&!["newsletter","support"].includes(w.sender_reply_to)&&(D.sender_reply_to="Enter a valid email address"),D}}),E=D=>{x($=>({...$,...D}))};A.useEffect(()=>{g(()=>t)},[g,t]);const j=n.jsx(e8,{newsletter:w}),N=n.jsx(n8,{clearError:v,errors:y,newsletter:w,onlyOne:a,updateNewsletter:E,validate:b});return n.jsx(Kr,{afterClose:()=>u("newsletters"),buttonsDisabled:C.disabled,cancelLabel:"Close",deviceSelector:!1,dirty:m==="unsaved",okColor:C.color,okLabel:C.label||"Save",preview:j,previewBgColor:"grey",previewToolbar:!1,sidebar:N,sidebarPadding:!1,testId:"newsletter-modal",title:"Newsletter",onOk:async()=>{await h({fakeWhenUnchanged:!0})}})},s8=({params:t})=>{const{data:{newsletters:a,isEnd:s}={},fetchNextPage:i}=Sh(),u=a?.find(({id:p})=>p===t?.id);return A.useEffect(()=>{!u&&!s&&i()},[i,s,u]),u?n.jsx(r8,{newsletter:u,onlyOne:a.length===1}):null},a8=me.create(s8),Rm=({id:t})=>{const{updateRoute:a}=Pe(),{data:{offers:s=[]}={}}=Rh(t||""),[i,u]=A.useState(),[p,w]=A.useState(""),{siteData:m}=ze();A.useEffect(()=>{if(s.length>0){const E=s[0],j=`${Hn(m)}${E?.code}`;w(j),u(E)}},[s,m]);const[x,g]=A.useState(!1),h=()=>{let E="";switch(i?.type){case"percent":E=i?.amount+"% discount";break;case"fixed":E=$a(ki(i?.amount))+" "+i?.currency+" discount";break;case"trial":E=i?.amount+" days free trial";break}return`${encodeURIComponent(i?.name||"")} — Check out ${encodeURIComponent(E)} on:`},b=async()=>{await navigator.clipboard.writeText(p),g(!0),setTimeout(()=>g(!1),2e3)},y=()=>{window.open(`https://twitter.com/intent/tweet?url=${encodeURI(p)}&text=${h()}`,"_blank")},v=()=>{window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURI(p)}`,"_blank")},C=()=>{window.open(`http://www.linkedin.com/shareArticle?mini=true&url=${encodeURI(p)}&title=${h()}`,"_blank")};return n.jsx(ut,{afterClose:()=>{a("offers")},animate:!1,backDropClick:!1,footer:!1,height:"full",size:"lg",testId:"offer-success-modal",topRightContent:"close",width:1140,children:n.jsxs("div",{className:"-mt-6 flex h-full flex-col items-center justify-center text-center",children:[n.jsx("div",{className:"absolute top-5 left-6",children:n.jsx(Ru,{activeItemClassName:"hidden md:block! md:visible!",containerClassName:"whitespace-nowrap",itemClassName:"hidden md:block! md:visible!",items:[{label:"Offers",onClick:()=>{a("offers/edit")}},{label:i?.name||""}],separatorClassName:"hidden md:block! md:visible!",backIcon:!0,onBack:()=>{a("offers/edit")}})}),n.jsx(Ge,{colorClass:"text-grey-700 -mt-4",name:"tags-check",size:"xl"}),n.jsx("h1",{className:"mt-6 text-4xl",children:"Your new offer is live!"}),n.jsx("p",{className:"mt-3 max-w-[510px] text-[1.6rem]",children:"You can share the link anywhere. In your newsletter, social media, a podcast, or in-person. It all just works."}),n.jsxs("div",{className:"mt-8 flex w-full max-w-md flex-col gap-8",children:[n.jsxs("div",{className:"flex flex-col-reverse gap-2",children:[n.jsx(ve,{name:"offer-url",type:"url",value:p,disabled:!0}),n.jsx(Ie,{color:"green",label:x?"Copied!":"Copy link",fullWidth:!0,onClick:b})]}),n.jsx("div",{className:'flex items-center gap-4 text-xs font-medium before:h-px before:grow before:bg-grey-300 before:content-[""] after:h-px after:grow after:bg-grey-300 after:content-[""] dark:before:bg-grey-800 dark:after:bg-grey-800',children:"OR"}),n.jsxs("div",{className:"flex gap-2",children:[n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"twitter-x",iconColorClass:"w-[14px] h-[14px]",size:"sm",fullWidth:!0,onClick:y}),n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"facebook",size:"sm",fullWidth:!0,onClick:v}),n.jsx(Ie,{className:"h-8 border border-grey-300 dark:border-grey-800",icon:"linkedin",size:"sm",fullWidth:!0,onClick:C})]})]})]})})},Ua=({href:t,onDestroyed:a,selectedTab:s,portalParent:i})=>{s||(s="signup");const u=A.useRef(null),[p,w]=A.useState(!1),[m,x]=A.useState(!0),g=A.useCallback(()=>{setTimeout(()=>{u.current&&x(!1)},300)},[u]);if(A.useEffect(()=>{const y=v=>{if(!t)return;new URL(v.origin).origin===new URL(t).origin&&v?.data?.type==="portal-preview-ready"&&g()};return window.addEventListener("message",y,!0),()=>{window.removeEventListener("message",y,!0),a?.()}},[t,a,g,p]),!t)return null;let h="mt-[-7%] flex h-screen items-center justify-center",b="hidden";return i==="preview"?(h="absolute z-50 mt-[-7%] flex h-screen items-center justify-center",b="invisible"):i==="offers"&&(h="absolute z-50 flex w-full h-full items-center justify-center",b="invisible"),n.jsxs(n.Fragment,{children:[m&&n.jsx("div",{className:h,children:n.jsx("span",{children:n.jsx(Ci,{})})}),n.jsx("iframe",{ref:u,className:!m&&p?"":b,"data-testid":"portal-preview",height:"100%",src:t,title:"Portal Preview",width:"100%",onLoad:()=>{w(!0)}})]})},zu=(t,a)=>{const{disableBackground:s=!1,name:i,code:u,displayTitle:p="",displayDescription:w="",type:m,cadence:x,amount:g=0,duration:h,durationInMonths:b,currency:y="usd",status:v,tierId:C,redemptionType:E="signup"}=t;a=a.replace(/\/$/,"");const j="/?v=modal-portal-offer#/portal/preview/offer",N=new URLSearchParams;return N.append("disableBackground","false"),N.append("name",encodeURIComponent(i)),N.append("code",encodeURIComponent(u)),N.append("display_title",encodeURIComponent(p)),N.append("display_description",encodeURIComponent(w)),N.append("type",encodeURIComponent(m)),N.append("cadence",encodeURIComponent(x)),N.append("amount",encodeURIComponent(g)),N.append("duration",encodeURIComponent(h)),N.append("duration_in_months",encodeURIComponent(b)),N.append("currency",encodeURIComponent(y)),N.append("status",encodeURIComponent(v)),N.append("tier_id",encodeURIComponent(C)),N.append("redemption_type",encodeURIComponent(E)),s&&N.append("disableBackground","true"),`${a}${j}?${N.toString()}`},o8=t=>{const a=[];return t.forEach(s=>{a.push({label:`${s.name} - Monthly`,value:`${s.id}-month-${s.currency}`}),a.push({label:`${s.name} - Yearly`,value:`${s.id}-year-${s.currency}`})}),a};function i8(t){return t.toString().toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-")}const Wp=191,Di=({type:t,checked:a,onClick:s})=>{const i=a?"bg-black text-white dark:bg-white dark:text-black":"border border-grey-300 dark:border-grey-800";return n.jsx("button",{className:"text-left",type:"button",onClick:s,children:n.jsxs("div",{className:"flex gap-3",children:[n.jsx("div",{className:`mt-0.5 flex size-4 items-center justify-center rounded-full ${i}`,children:a?n.jsx(Ge,{className:"w-[7px] stroke-[4]",name:"check",size:"custom"}):null}),n.jsxs("div",{className:"-mt-px flex flex-col",children:[n.jsx("span",{children:t.title}),n.jsx("span",{className:"text-sm",children:t.description})]})]})})},Yp=t=>{const{fixedAmount:a=0,percentAmount:s=0,trialAmount:i=0,amount:u=0}=t;switch(t.type){case"fixed":return a*100;case"percent":return s;case"trial":return i;default:return u}},l8=({tierOptions:t,handleTierChange:a,selectedTier:s,typeOptions:i,durationOptions:u,handleTypeChange:p,handleDurationChange:w,overrides:m,handleAmountTypeChange:x,handleNameInput:g,handleTextAreaInput:h,handleDisplayTitleInput:b,handleDurationInMonthsInput:y,handleAmountInput:v,handleCodeInput:C,clearError:E,errors:j,testId:N,handleTrialAmountInput:D,amountOptions:$})=>{const R=m.cadence==="year",O=R?u.filter(K=>K.value!=="repeating"):u,[P,I]=A.useState(0),U=P>40?"text-red":"text-green",{siteData:Y}=ze(),[W,B]=A.useState(!1),ie=Hn(Y),ge=`${ie}${m.code.value}`,Me=async()=>{await navigator.clipboard.writeText(ge),B(!0),setTimeout(()=>B(!1),2e3)};return n.jsx("div",{className:"pt-7","data-testId":N,children:n.jsxs(Be,{children:[n.jsxs("section",{children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{error:!!j.name,hint:j.name||n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{children:"Visible to members on Stripe Checkout page"}),n.jsxs("strong",{children:[n.jsx("span",{className:`${U}`,children:P})," / 40"]})]}),maxLength:40,placeholder:"Black Friday",title:"Offer name",onChange:K=>{g(K),I(K.target.value.length)},onKeyDown:()=>E("name")}),n.jsx(ve,{error:!!j.displayTitle,hint:j.displayTitle,maxLength:Wp,placeholder:"Black Friday Special",title:"Display title",value:m.displayTitle.value,onChange:K=>{b(K)},onKeyDown:()=>E("displayTitle")}),n.jsx(nr,{maxLength:Wp,placeholder:"Take advantage of this limited-time offer.",title:"Display description",value:m.displayDescription,onChange:K=>{h(K)}})]})]}),n.jsxs("section",{className:"mt-4",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"Details"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsxs("div",{className:"flex flex-col gap-4 rounded-md border border-grey-200 p-4 dark:border-grey-800",children:[n.jsx(Di,{checked:m.type!=="trial",type:i[0],onClick:()=>{p("percent")}}),n.jsx(Di,{checked:m.type==="trial",type:i[1],onClick:()=>{p("trial")}})]}),n.jsx(kt,{options:t,selectedOption:s,testId:"tier-cadence-select-offers",title:"Tier — Cadence",onSelect:K=>{K&&a(K)}}),m.type!=="trial"&&n.jsxs(n.Fragment,{children:[" ",n.jsxs("div",{className:"relative",children:[n.jsx(ve,{error:!!j.amount,hint:j.amount,title:"Amount off",type:"number",value:m.type==="fixed"?m.fixedAmount===0?"":m.fixedAmount?.toString():m.percentAmount===0?"":m.percentAmount?.toString(),onChange:K=>{v(K)},onKeyDown:()=>E("amount")}),n.jsx("div",{className:"absolute top-6 right-1.5 z-10",children:n.jsx(kt,{clearBg:!0,controlClasses:{menu:"w-20 right-0"},options:$,selectedOption:m.type==="percent"?$[0]:$[1],testId:"amount-type-select-offers",onSelect:K=>{x(K?.value||"")}})})]}),n.jsx(kt,{options:O,selectedOption:O.find(K=>K.value===m.duration),testId:"duration-select-offers",title:"Duration",onSelect:K=>{E("durationInMonths"),w(K?.value||"")}}),m.duration==="repeating"&&!R&&n.jsx("div",{className:"-mt-4",children:n.jsx(ve,{"data-testid":"duration-months-input",error:!!j.durationInMonths,hint:j.durationInMonths,rightPlaceholder:`${m.durationInMonths===1?"month":"months"}`,type:"number",value:m.durationInMonths===0?"":String(m.durationInMonths),onChange:K=>{y(K)},onKeyDown:()=>E("durationInMonths")})})]}),m.type==="trial"&&n.jsx(ve,{error:!!j.amount,hint:j.amount,title:"Trial duration",type:"number",value:m.trialAmount?.toString(),onChange:K=>{D(K)},onKeyDown:()=>E("amount")}),n.jsx(ve,{error:!!j.code,hint:j.code||(m.code.value!==""?n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{children:[ie,n.jsx("span",{className:"font-bold",children:m.code.value})]}),n.jsx("span",{}),n.jsx(Ie,{className:"text-xs",color:"green",label:`${W?"Copied":"Copy"}`,size:"sm",link:!0,onClick:Me})]}):null),placeholder:"black-friday",title:"Offer code",value:m.code.value,onChange:K=>{C(K)},onKeyDown:()=>E("code")})]})]})]})})},Mi=t=>{const[a,s,i]=t.split("-");if(!a||!s||!i)throw new Error("Invalid input format. Expected format is: id-period-currency");return{id:a,period:s,currency:i}},c8=()=>{const{siteData:t}=ze(),a=[{title:"Discount",description:"Offer a special reduced price",value:"percent"},{title:"Free trial",description:"Give free access for a limited time",value:"trial"}],s=[{value:"once",label:"First-payment"},{value:"repeating",label:"Multiple-months"},{value:"forever",label:"Forever"}],[i,u]=A.useState(""),{updateRoute:p}=Pe(),{data:{tiers:w}={}}=Xr(),m=Ba(w||[]),x=o8(m),{mutateAsync:g}=Lh(),[h,b]=A.useState({tier:x[0]||{},dataset:{id:x[0]?.value?Mi(x[0]?.value).id:"",period:x[0]?.value?Mi(x[0]?.value).period:"",currency:x[0]?.value?Mi(x[0]?.value).currency:""}}),{data:{offers:y=[]}={}}=Tu(),{formState:v,updateForm:C,handleSave:E,saveState:j,okProps:N,validate:D,errors:$,clearError:R}=an({initialState:{disableBackground:!1,name:"",code:{isDirty:!1,value:""},displayTitle:{isDirty:!1,value:""},displayDescription:"",type:"percent",cadence:h?.dataset?.period||"",amount:0,duration:"once",durationInMonths:1,currency:h?.dataset?.currency||"USD",status:"active",tierId:h?.dataset?.id||"",trialAmount:7,fixedAmount:0,percentAmount:0},onSave:async()=>{const de=v.type==="trial"?"trial":v.duration,fe={name:v.name,code:v.code.value,display_title:v.displayTitle.value,display_description:v.displayDescription,cadence:v.cadence,amount:Yp(v)||0,duration:de,...de==="repeating"?{duration_in_months:v.durationInMonths}:{},currency:v.currency,status:v.status,redemption_type:"signup",tier:{id:v.tierId},type:v.type,currency_restriction:!1},ce=await g(fe);ce&&ce.offers&&ce.offers.length>0&&p(`offers/success/${ce.offers[0].id}`)},onSaveError:()=>{},onValidate:()=>{const de={};return!v.name&&v.name.length===0&&(de.name="Name is required"),!v.code.value&&v.code.value.length===0&&(de.code="Code is required"),!v.displayTitle.value&&v.displayTitle.value.length===0&&(de.displayTitle="Display title is required"),v.type==="percent"&&v.percentAmount===0&&(de.amount="Enter an amount greater than 0."),v.type==="percent"&&(v.percentAmount<1||v.percentAmount>100)&&(de.amount="Enter an amount between 1 and 100%."),(v.type==="fixed"&&v.fixedAmount===0||v.type==="fixed"&&v.fixedAmount<1)&&(de.amount="Enter an amount greater than 0."),v.type==="trial"&&v.trialAmount===0&&(de.amount="Enter an amount greater than 0."),v.type==="trial"&&v.trialAmount<1&&(de.amount="Free trial must be at least 1 day."),v.type!=="trial"&&v.duration==="repeating"&&(!Number.isInteger(v.durationInMonths)||v.durationInMonths<1)&&(de.durationInMonths="Enter a whole number of months (1 or more)."),de},savingDelay:500}),O=[{value:"percent",label:"%"},{value:"fixed",label:v.currency}],P=de=>{const fe=Mi(de.value),ce=fe.period==="year";b({tier:de,dataset:fe}),C(V=>({...V,cadence:fe.period,currency:fe.currency,tierId:fe.id,duration:ce&&V.duration==="repeating"?"once":V.duration})),ce&&R("durationInMonths")},I=de=>{de==="trial"&&(R("amount"),R("durationInMonths")),C(fe=>({...fe,type:de}))},U=de=>{C(fe=>({...fe,type:de==="percent"?"percent":"fixed"}))},Y=de=>{const fe=de.target;v.type==="fixed"?C(ce=>({...ce,fixedAmount:Number(fe.value)})):v.type==="percent"?C(ce=>({...ce,percentAmount:Number(fe.value)})):C(ce=>({...ce,amount:Number(fe.value)}))},W=de=>{const fe=de.target,ce=Number(fe.value);C(V=>({...V,durationInMonths:Number.isNaN(ce)?0:ce}))},B=de=>{const fe=de.target.value;C(ce=>{let V={...ce};return V.name=fe,ce.code.isDirty||(R("code"),V.code={...ce.code,value:i8(fe)}),ce.displayTitle.isDirty||(R("displayTitle"),V.displayTitle={...ce.displayTitle,value:fe}),V})},ie=de=>{const fe=de.target;C(ce=>({...ce,displayTitle:{...ce.displayTitle,isDirty:!0,value:fe.value}}))},ge=de=>{const fe=de.target;C(ce=>({...ce,displayDescription:fe.value}))},Me=de=>{const fe=de.target;C(ce=>({...ce,trialAmount:Number(fe.value)}))},K=de=>{C(fe=>({...fe,duration:de}))},ee=de=>{const fe=de.target;C(ce=>({...ce,code:{...ce.code,isDirty:!0,value:fe.value}}))},ke=()=>{y.length>0?p("offers/edit"):p("offers")},ue=A.useMemo(()=>({name:v.name||"",code:v.code.value||"",displayTitle:v.displayTitle.value||"",displayDescription:v.displayDescription||"",type:v.type||"percent",cadence:v.cadence||"month",amount:Yp(v)||0,duration:v.type==="trial"?"trial":v.duration||"once",durationInMonths:v.durationInMonths||0,currency:v.currency||"USD",status:v.status||"active",tierId:v.tierId||m[0]?.id,redemptionType:"signup"}),[v,m]);A.useEffect(()=>{const de=zu(ue,t.url);u(de)},[v,t.url,v.type,ue]);const ye=n.jsx(l8,{amountOptions:O,clearError:R,durationOptions:s,errors:$,handleAmountInput:Y,handleAmountTypeChange:U,handleCodeInput:ee,handleDisplayTitleInput:ie,handleDurationChange:K,handleDurationInMonthsInput:W,handleNameInput:B,handleTextAreaInput:ge,handleTierChange:P,handleTrialAmountInput:Me,handleTypeChange:I,overrides:v,selectedTier:h.tier,testId:"add-offer-sidebar",tierOptions:x,typeOptions:a,validate:D}),J=n.jsx(Ua,{href:i||"",portalParent:"offers"});return n.jsx(Kr,{afterClose:()=>{p("offers")},backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:j==="unsaved",height:"full",okColor:N.color,okLabel:"Publish",preview:J,previewToolbar:!1,sidebar:ye,size:"lg",testId:"add-offer-modal",title:"Offer",width:1140,onCancel:ke,onOk:async()=>{if(D(),!Object.values($).every(fe=>!fe)){Ds.remove(),rt({title:"Can't save offer",type:"info",message:"Make sure you filled all required fields"});return}try{if(await E({force:!0}))return}catch(fe){let ce;fe instanceof Er&&fe.data&&fe.data.errors[0]&&(ce=fe.data.errors[0].context||fe.data.errors[0].message),Ds.remove(),ce&&rt({title:"Can't save offer",type:"error",message:ce||"Please try again later"})}}})},qp=40,u8=t=>new Date(t).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"}),Uu=t=>{const a="/ghost/#/members",s=`offer_redemptions:[${t.join(",")}]`;return`${a}?filter=${encodeURIComponent(s)}`},Lm=t=>Uu([t]),d8=({amount:t,duration:a})=>t===100&&a==="repeating",Gp=(t,a)=>`Retention ${t} (${a})`,f8=({amount:t,duration:a,durationInMonths:s})=>d8({amount:t,duration:a})?`${s} ${s===1?"month":"months"} free`:a==="once"?`${t}% off once`:a==="repeating"?`${t}% off for ${s} mo`:`${t}% off forever`,p8=(t,a)=>{const s=a.trim(),i=f8(t),u=Gp(i,s);if(u.length<=qp)return u;const p=u.length-qp,w=Math.max(3,s.length-p);return Gp(i,s.slice(0,w))};function Xp(t){return new Date(t).toLocaleDateString("default",{year:"numeric",month:"short",day:"2-digit"})}const h8=({clearError:t,errors:a,offer:s,updateOffer:i})=>{const{siteData:u}=ze(),[p,w]=A.useState(!1),m=Ke(),{mutateAsync:x}=Cu(),[g,h]=A.useState(s?.name.length||0),b=g>40?"text-red":"text-green",{updateRoute:y}=Pe();A.useEffect(()=>{s?.name&&h(s?.name.length)},[s?.name]);const v=Hn(u),C=`${v}${s?.code}`,E=async()=>{await navigator.clipboard.writeText(C),w(!0),setTimeout(()=>w(!1),2e3)},j=async()=>{s?.status==="active"?me.show(ht,{title:"Archive offer",prompt:n.jsxs(n.Fragment,{children:[n.jsx("p",{children:"New members will no longer be able to subscribe using this offer."}),n.jsxs("p",{children:["All members that previously redeemed ",n.jsx("strong",{children:s?.name})," will remain unchanged."]})]}),okLabel:"Archive",okColor:"red",onOk:async N=>{try{await x({...s,status:"archived"}),N?.remove(),rt({type:"success",title:"Offer archived"}),y("offers/edit")}catch(D){m(D)}}}):me.show(ht,{title:"Reactivate offer",prompt:n.jsx(n.Fragment,{children:n.jsxs("p",{children:["Reactivating ",n.jsx("strong",{children:s?.name})," will allow new members to subscribe using this offer. Existing members will remain unchanged."]})}),okLabel:"Reactivate",onOk:async N=>{try{await x({...s,status:"active"}),N?.remove(),rt({type:"success",title:"Offer reactivated"}),y("offers/edit")}catch(D){m(D)}}})};return n.jsxs("div",{className:"flex grow flex-col pt-2",children:[n.jsxs(Be,{className:" grow",children:[n.jsx("section",{children:n.jsxs("div",{className:"flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Created on"}),n.jsx("span",{children:Xp(s?.created_at?s.created_at:"")})]}),n.jsxs("div",{className:"flex items-end justify-between",children:[n.jsxs("div",{className:"flex flex-col gap-5",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Performance"}),n.jsxs("span",{children:[s?.redemption_count," ",s?.redemption_count===1?"redemption":"redemptions"]})]}),s?.redemption_count>0&&s?.last_redeemed?n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Last redemption"}),n.jsx("span",{children:Xp(s?.last_redeemed)})]}):null]}),s?.redemption_count>0?n.jsx("a",{className:"font-semibold text-green",href:Lm(s?.id),children:"See members →"}):null]})]})}),n.jsxs("section",{className:"mt-2",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{error:!!a.name,hint:a.name||n.jsxs("div",{className:"flex justify-between",children:[n.jsx("span",{children:"Visible to members on Stripe Checkout page"}),n.jsxs("strong",{children:[n.jsx("span",{className:`${b}`,children:g})," / 40"]})]}),maxLength:40,placeholder:"Black Friday",title:"Offer name",value:s?.name,onChange:N=>{h(N.target.value.length),i({name:N.target.value})},onKeyDown:()=>t("name")}),n.jsx(ve,{containerClassName:"group",error:!!a.code,hint:a.code||(s?.code!==""?n.jsxs("span",{className:"truncate text-grey-700",children:[v,n.jsx("span",{className:"font-bold text-black dark:text-white",children:s?.code})]}):null),placeholder:"black-friday",rightPlaceholder:s?.code!==""?n.jsx(Ie,{className:"mt-1 mr-0.5",color:"green",label:p?"Copied!":"Copy link",size:"sm",onClick:E}):null,title:"Offer code",value:s?.code,onChange:N=>i({code:N.target.value}),onKeyDown:()=>t("code")}),n.jsx(ve,{error:!!a.displayTitle,hint:a.displayTitle,placeholder:"Black Friday Special",title:"Display title",value:s?.display_title,onChange:N=>i({display_title:N.target.value}),onKeyDown:()=>t("displayTitle")}),n.jsx(nr,{placeholder:"Take advantage of this limited-time offer.",title:"Display description",value:s?.display_description,onChange:N=>i({display_description:N.target.value})})]})]})]}),n.jsx("div",{className:"mb-2",children:s?.status==="active"?n.jsx(Ie,{color:"red",label:"Archive offer",link:!0,onClick:j}):n.jsx(Ie,{color:"green",label:"Reactivate offer",link:!0,onClick:j})})]})},m8=({id:t})=>{const{siteData:a}=ze(),{updateRoute:s}=Pe(),i=Ke(),{mutateAsync:u}=Cu(),[p,w]=A.useState(""),{data:{offers:m=[]}={}}=Rh(t||""),{formState:x,saveState:g,updateForm:h,setFormState:b,handleSave:y,validate:v,errors:C,clearError:E,okProps:j}=an({initialState:m[0],savingDelay:500,onSave:async()=>{await u(x)},onSaveError:i,onValidate:()=>{const O={};return x?.name||(O.name="Name is required"),x?.display_title||(O.displayTitle="Display title is required"),x?.code||(O.code="Please enter a code"),O}});A.useEffect(()=>{b(()=>m[0])},[b,m]);const N=O=>{h(P=>({...P,...O}))},D=n.jsx(h8,{clearError:E,errors:C,offer:x,updateOffer:N,validate:v});A.useEffect(()=>{const O={name:x?.name||"",code:x?.code||"",displayTitle:x?.display_title||"",displayDescription:x?.display_description||"",type:x?.type||"",cadence:x?.cadence||"",amount:x?.amount,duration:x?.duration||"",durationInMonths:x?.duration_in_months||0,currency:x?.currency||"",status:x?.status||"",tierId:x?.tier?.id||"",redemptionType:"signup"},P=zu(O,a.url);w(P)},[x,a]);const $=n.jsx(Ua,{href:p||"",portalParent:"offers"}),R=()=>{s("offers/edit")};return m?n.jsx(Kr,{afterClose:()=>{s("offers")},backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:g==="unsaved",height:"full",okColor:j.color,okLabel:j.label||"Save",preview:$,previewToolbarBreadcrumbs:[{label:"Offers",onClick:R},{label:x?.name||"Offer"}],sidebar:D,size:"lg",testId:"offer-update-modal",title:"Offer",width:1140,onBreadcrumbsBack:R,onCancel:R,onOk:async()=>{try{if(await y({force:!0}))return}catch(O){let P;O instanceof Er&&O.data&&O.data.errors[0]&&(P=O.data.errors[0].context||O.data.errors[0].message),Ds.remove(),P&&rt({title:"Can't save offer",type:"error",message:"Please try again later"})}}}):null},Kp=[{title:"Percentage discount",description:"Offer a special reduced price"},{title:"Free month(s)",description:"Give free access for a limited time"}],Zp=[{value:"once",label:"First-payment"},{value:"repeating",label:"Multiple-months"},{value:"forever",label:"Forever"}],Vp=191,Om=99,Qp=`Enter a whole number of months between 1 and ${Om}.`,Jp=t=>{const a=Number.isFinite(t)?Math.trunc(t):0;return Math.max(1,a)},g8=({type:t,percentAmount:a,freeMonths:s,lastPercentAmount:i,lastFreeMonths:u})=>t==="free_months"?s>0?s:u:a>0?a:i,bu=(t="monthly")=>({enabled:!1,displayTitle:"",displayDescription:"",type:t==="yearly"?"percent":"free_months",percentAmount:20,duration:"once",durationInMonths:1,freeMonths:1}),x8=t=>t.type==="percent"&&t.amount===100&&t.duration==="repeating",w8=(t,a="monthly")=>{const s=bu(a);if(!t)return s;const i=x8(t),u=t.type==="percent"&&!i,p=t.duration==="repeating"&&t.duration_in_months?t.duration_in_months:s.durationInMonths;return{enabled:t.status==="active",displayTitle:t.display_title||"",displayDescription:t.display_description||"",type:i?"free_months":"percent",percentAmount:u?t.amount:s.percentAmount,duration:u?t.duration:s.duration,durationInMonths:p,freeMonths:i&&t.duration_in_months||s.freeMonths}},eh=({formState:t,lastPercentAmount:a,lastFreeMonths:s})=>{const i=g8({type:t.type,percentAmount:t.percentAmount,freeMonths:t.freeMonths,lastPercentAmount:a,lastFreeMonths:s});if(t.type==="free_months")return{type:"percent",amount:100,duration:"repeating",durationInMonths:Jp(i)};const u=t.duration,p=u==="repeating"?Jp(t.durationInMonths):0;return{type:"percent",amount:i,duration:u,durationInMonths:p}},b8=t=>{if(!t)return null;const a=t.duration_in_months??0;return{type:"percent",amount:t.amount,duration:t.duration,durationInMonths:a}},th=t=>t?`${t.type}:${t.amount}:${t.duration}:${t.durationInMonths}`:"",nh=t=>Number.isInteger(t)&&t>0&&t<=Om,v8=(t,a)=>t.displayTitle!==a.displayTitle||t.displayDescription!==a.displayDescription||t.type!==a.type||t.percentAmount!==a.percentAmount||t.duration!==a.duration||t.durationInMonths!==a.durationInMonths||t.freeMonths!==a.freeMonths,y8=({formState:t,updateForm:a,clearError:s,errors:i,cadence:u,lastRedeemed:p,membersFilterUrl:w,redemptions:m})=>{const x=u==="yearly"?Zp.filter(g=>g.value!=="repeating"):Zp;return n.jsx("div",{className:"flex grow flex-col pt-2",children:n.jsxs(Be,{className:"grow",children:[n.jsx("section",{children:n.jsx("div",{className:"flex flex-col gap-5 rounded-md border border-grey-300 p-4 pb-3.5 dark:border-grey-800",children:n.jsx("div",{className:"flex flex-col gap-1.5",children:n.jsxs("div",{className:"flex items-end justify-between",children:[n.jsxs("div",{className:"flex flex-col gap-5",children:[n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Performance"}),n.jsxs("span",{children:[m," ",m===1?"redemption":"redemptions"]})]}),m>0&&p?n.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.jsx("span",{className:"text-xs leading-none font-semibold text-grey-700",children:"Last redemption"}),n.jsx("span",{children:u8(p)})]}):null]}),m>0&&w?n.jsx("a",{className:"font-semibold text-green",href:w,children:"See members →"}):null]})})})}),n.jsx("section",{className:"mt-2",children:n.jsx(Ye,{align:"center",checked:t.enabled,direction:"rtl",hint:u==="monthly"?"Applied to monthly plans":"Applied to annual plans",label:`Enable ${u} retention`,onChange:g=>{a(h=>({...h,enabled:g.target.checked}))}},`retention-toggle-${u}-${t.enabled?"enabled":"disabled"}`)}),t.enabled&&n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"mt-2",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"General"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[n.jsx(ve,{maxLength:Vp,placeholder:"Before you go",title:"Display title",value:t.displayTitle,onChange:g=>{a(h=>({...h,displayTitle:g.target.value}))}}),n.jsx(nr,{maxLength:Vp,placeholder:"We'd hate to see you leave. How about a special offer to stay?",title:"Display description",value:t.displayDescription,onChange:g=>{a(h=>({...h,displayDescription:g.target.value}))}})]})]}),n.jsxs("section",{className:"mt-4",children:[n.jsx("h2",{className:"mb-4 text-lg",children:"Details"}),n.jsxs("div",{className:"flex flex-col gap-6",children:[u==="monthly"&&n.jsxs("div",{className:"flex flex-col gap-4 rounded-md border border-grey-200 p-4 dark:border-grey-800",children:[n.jsx(Di,{checked:t.type==="percent",type:Kp[0],onClick:()=>{s("amount"),s("durationInMonths"),a(g=>({...g,type:"percent",percentAmount:g.percentAmount}))}}),n.jsx(Di,{checked:t.type==="free_months",type:Kp[1],onClick:()=>{s("amount"),s("durationInMonths"),a(g=>({...g,type:"free_months"}))}})]}),t.type==="percent"&&n.jsxs(n.Fragment,{children:[n.jsx(ve,{error:!!i.amount,hint:i.amount,rightPlaceholder:"%",title:"Amount off",type:"number",value:t.percentAmount===0?"":String(t.percentAmount),onChange:g=>{const h=Number(g.target.value),b=Number.isNaN(h)?0:h;a(y=>({...y,percentAmount:b}))},onKeyDown:()=>s("amount")}),n.jsx(kt,{options:x,selectedOption:x.find(g=>g.value===t.duration),title:"Duration",onSelect:g=>{g&&(s("durationInMonths"),a(h=>({...h,duration:g.value})))}}),t.duration==="repeating"&&n.jsx("div",{className:"-mt-4",children:n.jsx(ve,{"data-testid":"duration-months-input",error:!!i.durationInMonths,hint:i.durationInMonths,rightPlaceholder:`${t.durationInMonths===1?"month":"months"}`,type:"number",value:t.durationInMonths===0?"":String(t.durationInMonths),onChange:g=>{const h=Number(g.target.value);a(b=>({...b,durationInMonths:Number.isNaN(h)?0:h}))},onKeyDown:()=>s("durationInMonths")})})]}),t.type==="free_months"&&n.jsx(ve,{error:!!i.amount,hint:i.amount,rightPlaceholder:`${t.freeMonths===1?"month":"months"}`,title:"Free months",type:"number",value:t.freeMonths===0?"":String(t.freeMonths),onChange:g=>{const h=Number(g.target.value);a(b=>({...b,freeMonths:Number.isNaN(h)?0:h}))},onKeyDown:()=>s("amount")})]})]})]})]})})},_8=({id:t})=>{const{updateRoute:a}=Pe(),{siteData:s}=ze(),{data:{tiers:i=[]}={}}=Xr(),{data:{offers:u=[]}={},isFetched:p,isFetching:w}=Tu(),{mutateAsync:m}=Lh(),{mutateAsync:x}=Cu(),g=Xy(),[h,b]=A.useState(""),y=t==="monthly"?"monthly":"yearly",v=y==="monthly"?"Monthly retention":"Yearly retention",C=y==="monthly"?"month":"year",E=Ba(i||[]),j=A.useMemo(()=>u.filter(re=>re.redemption_type==="retention"&&re.cadence===C).sort((re,Ze)=>{const Ht=re.created_at?new Date(re.created_at).getTime():0;return(Ze.created_at?new Date(Ze.created_at).getTime():0)-Ht}),[u,C]),N=A.useMemo(()=>j.find(re=>re.status==="active")||null,[j]),D=j[0]||null,$=N||D,R=A.useMemo(()=>j.reduce((re,Ze)=>re+(Ze.redemption_count||0),0),[j]),O=A.useMemo(()=>j.map(re=>re.id),[j]),P=A.useMemo(()=>j.map(re=>re.last_redeemed).filter(re=>!!re).sort((re,Ze)=>new Date(Ze).getTime()-new Date(re).getTime())[0]||null,[j]),I=A.useMemo(()=>R===0||O.length===0?null:Uu(O),[O,R]),[U,Y]=A.useState(20),[W,B]=A.useState(1),[ie,ge]=A.useState(null),Me=re=>{let Ze="Please try again later";re instanceof Er&&re.data&&re.data.errors[0]&&(Ze=re.data.errors[0].context||re.data.errors[0].message||Ze),Ds.remove(),rt({title:"Failed to save offer",type:"error",message:Ze})},{formState:K,setFormState:ee,updateForm:ke,handleSave:ue,saveState:ye,okProps:J,errors:de,clearError:fe}=an({initialState:bu(y),savingDelay:500,onSave:async()=>{let re=!1;const Ze=eh({formState:K,lastPercentAmount:U,lastFreeMonths:W}),Ht=b8($),st=th(Ht)!==th(Ze),mt=K.enabled?"active":"archived",It=K.displayTitle||"",St=K.displayDescription||"",$t=$?It!==($.display_title||"")||St!==($.display_description||""):It!==""||St!=="",bt=bu(y),ar=!K.enabled&&!$&&v8(K,bt),Je=async hn=>{const yn=crypto.getRandomValues(new Uint32Array(1))[0].toString(16).padStart(8,"0"),jt=p8(Ze,yn);await m({name:jt,code:yn,display_title:It,display_description:St,cadence:C,amount:Ze.amount,duration:Ze.duration,duration_in_months:Ze.duration==="repeating"?Ze.durationInMonths:null,currency:null,status:hn,redemption_type:"retention",tier:null,type:Ze.type,currency_restriction:!1}),re=!0},Se=async()=>{re&&await g()};if(!(!$&&!K.enabled&&!ar)){if(st){!K.enabled&&N&&(await x({...N,status:"archived"}),re=!0),await Je(mt),await Se();return}if($){const hn=$.status!==mt;($t||hn)&&(await x({...$,display_title:It,display_description:St,status:mt}),re=!0),await Se();return}(K.enabled||ar)&&await Je(mt),await Se()}},onSaveError:Me,onValidate:()=>{const re={};return K.enabled&&(K.type==="percent"&&((K.percentAmount<1||K.percentAmount>100)&&(re.amount="Enter an amount between 1 and 100%."),K.duration==="repeating"&&!nh(K.durationInMonths)&&(re.durationInMonths=Qp)),K.type==="free_months"&&(nh(K.freeMonths)||(re.amount=Qp))),re}}),ce=$?.id||"none",V=`${t}:${ce}`;A.useEffect(()=>{!p||w||ye==="unsaved"||ie===V||(ee(()=>w8($,y)),ge(V))},[y,V,$,p,ie,w,ye,ee]),A.useEffect(()=>{K.percentAmount>0&&Y(K.percentAmount)},[K.percentAmount]),A.useEffect(()=>{K.freeMonths>0&&B(K.freeMonths)},[K.freeMonths]);const be=()=>{a("offers/edit")},Le=n.jsx(y8,{cadence:y,clearError:fe,errors:de,formState:K,lastRedeemed:P,membersFilterUrl:I,redemptions:R,updateForm:ke}),it=async()=>{try{await ue({force:!0})&&be()}catch{}},wt=A.useMemo(()=>{const re=eh({formState:K,lastPercentAmount:U,lastFreeMonths:W}),Ze=E.find(Ht=>C==="month"?Ht.monthly_price:Ht.yearly_price);return{enabled:K.enabled,name:`${y} retention`,code:`${y}-retention`,displayTitle:K.displayTitle||"",displayDescription:K.displayDescription||"",type:re.type,cadence:C,amount:re.amount,duration:re.duration,durationInMonths:re.durationInMonths,currency:"",status:"active",tierId:Ze?.id||"",redemptionType:"retention"}},[E,y,K,W,U,C]);A.useEffect(()=>{if(!s.url){b("");return}const re=zu(wt,s.url);b(re)},[wt,s.url]);const Pt=n.jsx(Ua,{href:h||"",portalParent:"offers"});return n.jsx(Kr,{afterClose:()=>a("offers"),backDropClick:!1,cancelLabel:"Cancel",deviceSelector:!1,dirty:ye==="unsaved",height:"full",okColor:J.color,okLabel:J.label||"Save",preview:Pt,previewToolbarBreadcrumbs:[{label:"Offers",onClick:be},{label:v}],sidebar:Le,size:"lg",testId:"retention-offer-modal",title:"Offer",width:1140,onBreadcrumbsBack:be,onCancel:be,onOk:it})},rh=(t,a)=>t.find(s=>s.redemption_type==="retention"&&s.cadence===a&&s.status==="active")||null,sh=(t,a)=>t.reduce((s,i)=>i.redemption_type!=="retention"||i.cadence!==a?s:s+(i.redemption_count||0),0),ah=(t,a)=>t.filter(s=>s.redemption_type==="retention"&&s.cadence===a).map(s=>s.id),Fm=t=>t.type==="percent"&&t.amount===100&&t.duration==="repeating",oh=t=>{if(!t)return null;if(Fm(t)){const a=t.duration_in_months||0;return`${a} ${a===1?"month":"months"} free`}return t.type==="percent"?`${t.amount}% OFF`:null},ih=t=>{if(!t)return null;if(Fm(t))return"";if(t.duration==="once")return"First payment";if(t.duration==="repeating"&&t.duration_in_months){const a=t.duration_in_months===1?"month":"months";return`For ${t.duration_in_months} ${a}`}return t.duration==="forever"?"Forever":null},M8=t=>{const a=rh(t,"month"),s=rh(t,"year"),i=ah(t,"month"),u=ah(t,"year"),p=sh(t,"month"),w=sh(t,"year");return[{id:"monthly",name:"Monthly retention",description:"Applied to monthly plans",terms:oh(a),termsDetail:ih(a),redemptionOfferIds:i,redemptions:p,status:a?"active":"inactive"},{id:"yearly",name:"Yearly retention",description:"Applied to annual plans",terms:oh(s),termsDetail:ih(s),redemptionOfferIds:u,redemptions:w,status:s?"active":"inactive"}]},k8=t=>t==="month"?"monthly":"yearly",j8=t=>t==="once"?"First payment":t==="repeating"?"Repeating":"Forever",E8=(t,a,s,i,u)=>{let p="",w="";const m=s==="month"?u?.monthly_price??0:u?.yearly_price??0;let x=m;const g=y=>parseFloat(y.toFixed(2));let h=Rf(i)+$a(g(ki(m)));switch(t){case"percent":p="text-green",w=a+"% off",x=m-m*a/100;break;case"fixed":p="text-blue",w=$a(g(ki(a)))+" "+i+" off",x=m-a;break;case"trial":p="text-pink",w=a+" days free",h="";break}x<0&&(x=0);const b=Rf(i)+$a(g(ki(x)));return{discountColor:p,discountOffer:w,originalPriceWithCurrency:h,updatedPriceWithCurrency:b}},N8=({showArchived:t,setShowArchived:a,sortOption:s,sortDirection:i,onSortChange:u,onDirectionChange:p})=>n.jsx(Lu,{position:"end",trigger:n.jsx(Ie,{"aria-label":"Filter options",className:"p-1 hover:text-black dark:hover:text-white",label:n.jsx(Vy,{size:16,strokeWidth:1.5}),unstyled:!0}),children:n.jsxs("div",{className:"flex min-w-[200px] flex-col p-1 normal-case",children:[n.jsx("div",{className:"cursor-default pt-2 pl-3 text-xs font-medium tracking-wide text-grey-700 uppercase select-none",children:"Sort by"}),n.jsx("div",{className:"flex flex-col py-1",children:[{id:"date-added",label:"Date added"},{id:"name",label:"Name"},{id:"redemptions",label:"Redemptions"}].map(w=>n.jsxs("div",{className:"group relative mx-1 flex items-center rounded-[2.5px] hover:bg-grey-100 dark:hover:bg-grey-800",children:[n.jsxs("button",{className:"flex w-full cursor-pointer items-center px-8 py-1.5 pr-12 text-left text-sm text-black dark:text-white",type:"button",onClick:()=>u(w.id),children:[s===w.id&&n.jsx(Ge,{className:"absolute left-2",name:"check",size:"xs"}),w.label]}),s===w.id&&n.jsx("button",{className:"absolute right-1 flex size-6 cursor-pointer items-center justify-center rounded-full hover:bg-grey-300 dark:hover:bg-grey-700",title:i==="asc"?"Ascending":"Descending",type:"button",onClick:()=>p(),children:n.jsx(Ge,{name:i==="asc"?"arrow-up":"arrow-down",size:"xs"})})]},w.id))}),n.jsx("div",{className:"-mx-1 mt-1 border-t border-t-grey-200 dark:border-t-grey-800",children:n.jsx("div",{className:"group relative mx-2 mt-1 flex items-center rounded-[2.5px] py-1",children:n.jsxs("div",{className:"flex w-full items-center px-8 py-1.5 pr-2 text-sm text-black dark:text-white",children:[n.jsx(Zy,{className:"absolute left-2 -mt-0.5 text-black dark:text-white",size:14,strokeWidth:1.5}),n.jsx("div",{className:"grow [&>div]:w-full",children:n.jsx(Ye,{checked:t,direction:"rtl",label:"Show archived",labelClasses:"text-sm text-black dark:text-white",onChange:w=>{a(w.target.checked)}})})]})})})]})}),T8=({offer:t,onClick:a})=>{const s=t.redemptions>0&&t.redemptionOfferIds.length>0?Uu(t.redemptionOfferIds):void 0;return n.jsxs("tr",{className:"group relative border-b border-b-grey-200 dark:border-grey-800","data-testid":"retention-offer-item",children:[n.jsx("td",{className:"sticky left-0 z-10 bg-white p-0 dark:bg-black",children:n.jsxs("button",{className:"block w-full cursor-pointer p-5 pl-0 text-left",type:"button",onClick:a,children:[n.jsx("span",{className:"font-semibold",children:t.name}),n.jsx("br",{}),n.jsx("span",{className:"text-sm text-grey-700",children:t.description})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:t.terms?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:"text-[1.3rem] font-medium uppercase",children:t.terms}),n.jsx("br",{}),n.jsx("span",{className:"text-grey-700",children:t.termsDetail})]}):n.jsx("span",{className:"text-grey-700",children:"–"})})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:n.jsx("span",{className:"text-grey-700",children:"–"})})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:s?n.jsx("a",{className:"block cursor-pointer p-5 hover:underline","data-testid":`retention-redemptions-link-${t.id}`,href:s,children:t.redemptions}):n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left","data-testid":`retention-redemptions-link-${t.id}`,type:"button",onClick:a,children:t.redemptions})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("button",{className:"block w-full cursor-pointer p-5 text-left",type:"button",onClick:a,children:t.status==="active"?n.jsx("span",{className:"inline-flex items-center rounded-full bg-[rgba(48,207,67,0.15)] px-2 py-0.5 text-2xs font-semibold tracking-wide text-green uppercase",children:"Active"}):n.jsx("span",{className:"inline-flex items-center rounded-full bg-grey-200 px-2 py-0.5 text-2xs font-semibold tracking-wide text-grey-700 uppercase dark:bg-grey-900 dark:text-grey-500",children:"Inactive"})})})]})},lh=()=>{const t=Ft(),{updateRoute:a}=Pe(),{data:{offers:s=[]}={}}=Tu(),{data:{tiers:i}={}}=Xr(),u=s.filter(I=>I.redemption_type==="signup"),p=M8(s),{sortingState:w,setSortingState:m}=Ry(),x=w?.find(I=>I.type==="offers"),{offersShowArchived:g,setOffersShowArchived:h}=Ly(),b=x?.option||"date-added",y=x?.direction||"desc",v=I=>{I&&a(`offers/edit/${I}`)},C=I=>{a(`offers/edit/retention/${I}`)},E=u.sort((I,U)=>{const Y=y==="desc"?-1:1;switch(b){case"name":return Y*I.name.localeCompare(U.name);case"redemptions":return Y*(I.redemption_count-U.redemption_count);default:return Y*((I.created_at?new Date(I.created_at).getTime():0)-(U.created_at?new Date(U.created_at).getTime():0))}}),j=Ba(i||[]),N=E.filter(I=>{const U=i?.find(B=>B.id===I?.tier?.id),Y=I.status==="active"&&U&&U.active===!0,W=I.status==="archived"||U&&U.active===!1;return!!(Y||g&&W)}),D=I=>{m?.([{type:"offers",option:I,direction:y}])},$=()=>{m?.([{type:"offers",option:b,direction:y==="asc"?"desc":"asc"}])},R=I=>{const U=i?.find(Y=>Y.id===I?.tier?.id);return I.status==="archived"||U&&U.active===!1},O=[{key:"cancel-modal",label:"Close",onClick:()=>{t.remove(),a("offers")}},{key:"new-offer",icon:"add",label:"New offer",color:"green",onClick:()=>{j.length===0?rt({type:"info",title:"You must have an active tier to create an offer."}):a("offers/new")}}],P=n.jsx("div",{className:"overflow-x-auto",children:n.jsxs("table",{className:"m-0 min-w-[900px]",children:[n.jsxs("colgroup",{children:[n.jsx("col",{className:"w-[25%]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[200px]"}),n.jsx("col",{className:"w-[220px]"})]}),n.jsx("thead",{children:n.jsxs("tr",{className:"border-b border-b-grey-200 dark:border-grey-800",children:[n.jsx("th",{className:"sticky left-0 z-10 bg-white p-0 pb-2.5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase dark:bg-black",children:"Name"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Terms"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Price"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:"Redemptions"}),n.jsx("th",{className:"p-0 pb-2.5 pl-5 text-left text-xs font-medium tracking-wide text-grey-700 uppercase",children:n.jsxs("span",{className:"flex items-center justify-between",children:["Status",n.jsx(N8,{setShowArchived:h,showArchived:g,sortDirection:y,sortOption:b,onDirectionChange:$,onSortChange:D})]})})]})}),n.jsxs("tbody",{children:[p.map(I=>n.jsx(T8,{offer:I,onClick:()=>C(I.id)},I.id)),N.map(I=>{const U=i?.find(ge=>ge.id===I?.tier?.id);if(!U)return null;const Y=R(I),{discountOffer:W,originalPriceWithCurrency:B,updatedPriceWithCurrency:ie}=E8(I.type,I.amount,I.cadence,I.currency||"USD",U);return n.jsxs("tr",{className:`group relative border-b border-b-grey-200 dark:border-grey-800 ${Y?"opacity-60":""}`,"data-testid":"offer-item",children:[n.jsx("td",{className:"sticky left-0 z-10 bg-white p-0 dark:bg-black",children:n.jsxs("a",{className:"block cursor-pointer p-5 pl-0",onClick:()=>v(I.id),children:[n.jsx("span",{className:"font-semibold",children:I?.name}),n.jsx("br",{}),n.jsxs("span",{className:"text-sm text-grey-700",children:[U.name," ",k8(I.cadence)]})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsxs("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:[n.jsx("span",{className:"text-[1.3rem] font-medium uppercase",children:W}),n.jsx("br",{}),n.jsx("span",{className:"text-grey-700",children:I.type!=="trial"?j8(I.duration):"Trial period"})]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsxs("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:[n.jsx("span",{className:"font-medium",children:ie})," ",I.type!=="trial"?n.jsx("span",{className:'relative text-xs text-grey-700 before:absolute before:-inset-x-0.5 before:top-1/2 before:rotate-[-20deg] before:border-t before:content-[""]',children:B}):null]})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("a",{className:`block cursor-pointer p-5 ${I.redemption_count===0?"":"hover:underline"}`,href:I.redemption_count>0&&I.id?Lm(I.id):void 0,onClick:I.redemption_count===0&&I.id?()=>v(I.id):void 0,children:I.redemption_count})}),n.jsx("td",{className:"p-0 text-sm whitespace-nowrap",children:n.jsx("a",{className:"block cursor-pointer p-5",onClick:()=>v(I.id),children:Y?n.jsx("span",{className:"inline-flex items-center rounded-full bg-grey-200 px-2 py-0.5 text-2xs font-semibold tracking-wide text-grey-700 uppercase dark:bg-grey-900 dark:text-grey-500",children:"Archived"}):n.jsx("span",{className:"inline-flex items-center rounded-full bg-[rgba(48,207,67,0.15)] px-2 py-0.5 text-2xs font-semibold tracking-wide text-green uppercase",children:"Active"})})})]},I.id)})]})]})});return n.jsx(ut,{afterClose:()=>{a("offers")},animate:!1,backDropClick:!1,cancelLabel:"",footer:!1,height:"full",size:"lg",testId:"offers-modal",title:"Offers",topRightContent:n.jsx(Pn,{buttons:O}),width:1140,children:n.jsx("div",{className:"flex h-full flex-col pt-8",children:P})})},C8=({route:t})=>{if(t==="offers/new")return n.jsx(c8,{});if(t.startsWith("offers/edit/retention/")&&t.length>22){const a=t.split("/").pop();return n.jsx(_8,{id:a||""})}else{if(t==="offers/edit/retention/"||t==="offers/edit/retention")return n.jsx(lh,{});if(t.startsWith("offers/edit/")&&t.length>12){const a=t.split("/").pop();return n.jsx(m8,{id:a||""})}else if(t.startsWith("offers/success/")&&t.length>15){const a=t.split("/").pop();return n.jsx(Rm,{id:a||""})}else if(t==="offers/edit"||t==="offers/edit/")return n.jsx(lh,{})}},I8=()=>{const{route:t}=Pe();return n.jsx(C8,{route:t})},S8=me.create(I8),A8=""+new URL("pintura-screenshot-1gRQGS4m.png",import.meta.url).href,D8=qr({method:"POST",path:()=>"/files/upload/",body:({file:t})=>{const a=new FormData;return a.append("file",t),a}}),$8=me.create(()=>{const{updateRoute:t}=Pe(),[a,s]=A.useState({js:!1,css:!1}),{settings:i,config:u}=ze(),[p]=ot(i,["pintura"]),{mutateAsync:w}=Tr(),{mutateAsync:m}=D8(),x=Ke();A.useEffect(()=>{y(p||!1)},[p]);const[g,h]=A.useState("Save"),[b,y]=A.useState(!!p),v=async()=>{const $=[{key:"pintura",value:b}];try{h("Saving..."),await Promise.all([w($),new Promise(R=>{setTimeout(R,1e3)})]),h("Saved")}catch(R){x(R)}finally{setTimeout(()=>h("Save"),1e3)}},C=A.useRef(null),E=A.useRef(null),j=$=>{$==="js"&&C.current?.click(),$==="css"&&E.current?.click()},N=async($,R)=>{try{s(Y=>({...Y,[R]:!0}));const O=$.target?.files?.[0];if(!O)return;const{files:P}=await m({file:O}),I=P[0].url,U=[{key:`pintura_${R}_url`,value:I}];await w(U),s(Y=>({...Y,[R]:!1})),rt({type:"success",title:`Pintura ${R} uploaded`})}catch(O){s({js:!1,css:!1}),x(O)}},D=b!==p;return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:D,okColor:g==="Saved"?"green":"black",okLabel:g,testId:"pintura-modal",title:"",onOk:v,children:[n.jsx(Qr,{detail:"Advanced image editing",icon:n.jsx(Ge,{name:"pintura",size:48}),title:"Pintura"}),n.jsxs("div",{className:"mt-7",children:[!u.pintura&&n.jsxs("div",{className:"mb-7 flex flex-col items-stretch justify-between gap-4 rounded-sm bg-grey-75 p-4 md:flex-row md:p-7 dark:bg-grey-950",children:[n.jsxs("div",{className:"md:basis-1/2",children:[n.jsx("p",{className:"mb-4 font-bold",children:"Add advanced image editing to Ghost, with Pintura"}),n.jsx("p",{className:"mb-4 text-sm",children:"Pintura is a powerful JavaScript image editor that allows you to crop, rotate, annotate and modify images directly inside Ghost."}),n.jsx("p",{className:"text-sm",children:"Try a demo, purchase a license, and download the required CSS/JS files from pqina.nl/pintura/ to activate this feature."})]}),n.jsxs("div",{className:"flex grow flex-col items-end justify-between gap-2 md:basis-1/2 md:gap-0",children:[n.jsx("img",{alt:"Pintura screenshot",src:A8}),n.jsx("a",{className:"-mb-1 text-sm font-bold text-green",href:"https://pqina.nl/pintura/ghost/?ref=ghost.org",rel:"noopener noreferrer",target:"_blank",children:"Find out more →"})]})]}),n.jsxs(Be,{marginBottom:!1,title:"Pintura configuration",grouped:!0,children:[n.jsx(Ye,{checked:b,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://pqina.nl/pintura/ghost/?ref=ghost.org",rel:"noopener noreferrer",target:"_blank",children:"Pintura"})," for editing your images in Ghost"]}),label:"Enable Pintura",onChange:$=>{y($.target.checked)}}),b&&!u.pintura&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex flex-col justify-between gap-1 md:flex-row md:items-center",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Upload Pintura script"}),n.jsxs("div",{className:"text-xs text-grey-600",children:["Upload the ",n.jsx("code",{children:"pintura-umd.js"})," file from the Pintura package"]})]}),n.jsx("input",{ref:C,accept:".js",type:"file",hidden:!0,onChange:async $=>{await N($,"js")}}),n.jsx(Ie,{color:"outline",disabled:a.js,label:"Upload",onClick:()=>{j("js")}})]}),n.jsxs("div",{className:"flex flex-col justify-between gap-1 md:flex-row md:items-center",children:[n.jsxs("div",{children:[n.jsx("div",{children:"Upload Pintura styles"}),n.jsxs("div",{className:"text-xs text-grey-600",children:["Upload the ",n.jsx("code",{children:"pintura.css"})," file from the Pintura package"]})]}),n.jsx("input",{ref:E,accept:".css",type:"file",hidden:!0,onChange:async $=>{await N($,"css")}}),n.jsx(Ie,{color:"outline",disabled:a.css,label:"Upload",onClick:()=>{j("css")}})]})]})]})]})]})}),R8=({localSettings:t,updateSetting:a})=>{const[s,i,u,p,w,m]=ot(t,["transistor","transistor_portal_enabled","transistor_portal_heading","transistor_portal_description","transistor_portal_button_text","transistor_portal_url_template"]);if(!(s===!0))return null;const g=i===!0,h=u,b=p,y=w,v=m;return n.jsxs(n.Fragment,{children:[n.jsx(Rs,{}),n.jsx(ct,{level:5,children:"Transistor"}),n.jsx(Ye,{checked:g,direction:"rtl",hint:"Show a section on the account page for members to access private podcasts",label:"Enable Transistor integration",onChange:C=>a("transistor_portal_enabled",C.target.checked)}),g&&n.jsxs(n.Fragment,{children:[n.jsx(ve,{hint:"The heading displayed above the Transistor section",placeholder:"Podcasts",title:"Heading",value:h,onChange:C=>a("transistor_portal_heading",C.target.value)}),n.jsx(ve,{hint:"A short description of what members can do",placeholder:"Access your RSS feeds",title:"Description",value:b,onChange:C=>a("transistor_portal_description",C.target.value)}),n.jsx(ve,{hint:"The text displayed on the button",placeholder:"Manage",title:"Button text",value:y,onChange:C=>a("transistor_portal_button_text",C.target.value)}),n.jsx(ve,{hint:"Use {memberUuid} as a placeholder for the member ID",placeholder:"https://partner.transistor.fm/ghost/{memberUuid}",title:"URL template",value:v,onChange:C=>a("transistor_portal_url_template",C.target.value)})]})]})},L8=({localSettings:t,updateSetting:a,errors:s,setError:i})=>{const{siteData:u,settings:p,config:w}=ze(),m=Oy("transistor"),[x,g]=ot(p,["members_support_address","support_email_address"]),h=g?.toString()||nu(x?.toString()||"",u,w),b=Jv(u,w),[y,v]=A.useState(h),C=E=>{let j=E.target.value;j?xt.isEmail(j)?i("members_support_address",""):i("members_support_address","Enter a valid email address"):i("members_support_address","Enter an email address");let N=b&&j===`noreply@${b}`?"noreply":j;a("members_support_address",N),v(nu(N,u,w))};return A.useEffect(()=>{v(h)},[h]),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(ve,{error:!!s.members_support_address,hint:s.members_support_address,title:"Support email address",value:y,onBlur:C,onChange:E=>v(E.target.value)}),m&&n.jsx(R8,{localSettings:t,updateSetting:a})]})})},eu=[{icon:"portal-icon-1",value:"icon-1"},{icon:"portal-icon-2",value:"icon-2"},{icon:"portal-icon-3",value:"icon-3"},{icon:"portal-icon-4",value:"icon-4"},{icon:"portal-icon-5",value:"icon-5"}],O8=({localSettings:t,updateSetting:a})=>{const{mutateAsync:s}=Hs(),i=Ke(),[u,p,w,m]=ot(t,["portal_button","portal_button_style","portal_button_icon","portal_button_signup_text"]),x=w||eu[0].value,g=eu.map(({value:E})=>E).includes(x),[h,b]=A.useState(g?void 0:x),y=async E=>{try{const j=Jn(await s({file:E}));a("portal_button_icon",j),b(j)}catch(j){const N=j;N.response.status===415&&(N.message="Unsupported file type"),i(N)}},v=()=>{a("portal_button_icon",null),b(void 0)},C=[{value:"icon-and-text",label:"Icon and text"},{value:"icon-only",label:"Icon only"},{value:"text-only",label:"Text only"}];return n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(Ye,{checked:!!u,direction:"rtl",label:"Show portal button",onChange:E=>a("portal_button",E.target.checked)}),u&&n.jsxs(n.Fragment,{children:[n.jsx(kt,{options:C,selectedOption:C.find(E=>E.value===p),title:"Button style",onSelect:E=>a("portal_button_style",E?.value||null)}),p?.toString()?.includes("icon")&&n.jsxs("div",{className:"flex flex-col gap-2",children:[n.jsx(ct,{level:6,grey:!0,children:"Icon"}),n.jsxs("div",{className:"flex justify-between",children:[eu.map(E=>n.jsx("button",{className:he("border p-3",x===E.value?"border-green":"border-transparent"),type:"button",onClick:()=>a("portal_button_icon",E.value),children:n.jsx(Ge,{className:`size-5 ${x===E.value?"text-green":"text-black opacity-70 transition-all hover:opacity-100 dark:text-white"}`,name:E.icon})},E.value)),n.jsx("div",{className:he("relative w-[46px] border",x===h?"border-green":"border-transparent"),children:n.jsx(tr,{deleteButtonClassName:"invisible absolute -right-2 -top-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-[rgba(0,0,0,0.75)] text-white hover:bg-black group-hover:visible!",deleteButtonContent:n.jsx(Ge,{colorClass:"text-white",name:"trash",size:"sm"}),height:"46px",id:"test",imageClassName:"cursor-pointer",imageURL:h,width:"46px",deleteButtonUnstyled:!0,onDelete:v,onImageClick:()=>h&&a("portal_button_icon",h),onUpload:y,children:n.jsx(Ge,{className:"dark:text-white",name:"upload",size:"md"})})})]})]}),p?.toString()?.includes("text")&&n.jsx(ve,{title:"Signup button text",value:m,onChange:E=>a("portal_button_signup_text",E.target.value)})]})]})})},Cn=({name:t,value:a})=>{const s=A.useId();return n.jsx(Cr,{action:n.jsx(Ie,{color:"black",label:"Copy",link:!0,onClick:i=>{navigator.clipboard.writeText(a);const u=i?.target;u.innerText="Copied",setTimeout(()=>{u.innerText="Copy"},1e3)}}),separator:!0,children:n.jsxs("div",{className:"flex w-full grow flex-col py-3 lg:flex-row lg:items-center lg:gap-5",children:[n.jsxs("label",{className:"inline-block whitespace-nowrap lg:w-[180px] lg:min-w-[180px]",htmlFor:s,children:[t,":"]}),n.jsx(ve,{className:"grow border-b-grey-500 bg-transparent py-1 text-grey-700 lg:p-1",id:s,value:a,disabled:!0,unstyled:!0})]})})},F8=()=>{const[t,a]=A.useState(!1),[s,i]=A.useState(""),{siteData:u}=ze(),{data:{tiers:p}={}}=Xr(),w=Ba(p||[]),m=()=>{a(!t)};A.useEffect(()=>{w?.length&&!s&&i(w[0].id)},[w,s]);const x=w?.map(h=>({label:h.name,value:h.id})),g=Hn(u);return n.jsxs($u,{className:"max-w-[920px] text-base text-black dark:text-white",heading:"Links",children:[n.jsxs("p",{className:"-mt-6 mb-16",children:["Use these ",t?"data attributes":"links"," in your theme to show pages of Portal."]}),n.jsxs(er,{actions:n.jsx(Ie,{color:"green",label:t?"Links":"Data attributes",link:!0,onClick:m}),title:"Generic",titleSize:"lg",children:[n.jsx(Cn,{name:"Default",value:t?"data-portal":`${g}#/portal`}),n.jsx(Cn,{name:"Sign in",value:t?'data-portal="signin"':`${g}#/portal/signin`}),n.jsx(Cn,{name:"Sign up",value:t?'data-portal="signup"':`${g}#/portal/signup`})]}),n.jsxs(er,{className:"mt-14",title:"Tiers",titleSize:"lg",children:[n.jsx(Cr,{hideActions:!0,separator:!0,children:n.jsxs("div",{className:"flex w-full items-center gap-2 py-2",children:[n.jsx("span",{className:"inline-block w-[180px] min-w-[180px] shrink-0",children:"Tier:"}),n.jsx(kt,{options:x,selectedOption:x.find(h=>h.value===s),onSelect:h=>{h&&i(h?.value)}})]})}),n.jsx(Cn,{name:"Signup / Monthly",value:t?`data-portal="signup/${s}/monthly"`:`${g}#/portal/signup/${s}/monthly`}),n.jsx(Cn,{name:"Signup / Yearly",value:t?`data-portal="signup/${s}/yearly"`:`${g}#/portal/signup/${s}/yearly`}),n.jsx(Cn,{name:"Signup / Free",value:t?'data-portal="signup/free"':`${g}#/portal/signup/free`})]}),n.jsxs(er,{className:"mt-14",title:"Account",titleSize:"lg",children:[n.jsx(Cn,{name:"Account",value:t?'data-portal="account"':`${g}#/portal/account`}),n.jsx(Cn,{name:"Account / Plans",value:t?'data-portal="account/plans"':`${g}#/portal/account/plans`}),n.jsx(Cn,{name:"Account / Profile",value:t?'data-portal="account/profile"':`${g}#/portal/account/profile`}),n.jsx(Cn,{name:"Account / Newsletters",value:t?'data-portal="account/newsletters"':`${g}#/portal/account/newsletters`}),n.jsx(Cn,{name:"Account / Newsletter help",value:t?'data-portal="account/newsletters/help"':`${g}#/portal/account/newsletters/help`})]})]})},P8=({settings:t,config:a,tiers:s,siteData:i,selectedTab:u})=>{if(!i?.url)return null;let p=s.filter(v=>v.visibility==="public"&&v.type==="paid").map(v=>v.id);const w=i.url.replace(/\/$/,""),m="/?v=modal-portal-settings#/portal/preview",x=JSON.parse(Tt(t,"portal_plans")||""),g=new URLSearchParams;g.append("button",Tt(t,"portal_button")?"true":"false"),g.append("name",Tt(t,"portal_name")?"true":"false"),g.append("isFree",x.includes("free")?"true":"false"),g.append("isMonthly",$s(t,a)&&x.includes("monthly")?"true":"false"),g.append("isYearly",$s(t,a)&&x.includes("yearly")?"true":"false"),g.append("page",u==="account"?"accountHome":"signup"),g.append("buttonIcon",encodeURIComponent(Tt(t,"portal_button_icon")||"icon-1")),g.append("signupButtonText",encodeURIComponent(Tt(t,"portal_button_signup_text")||"")),g.append("membersSignupAccess",Tt(t,"members_signup_access")||"all"),g.append("allowSelfSignup",Tt(t,"allow_self_signup")||"false"),g.append("signupTermsHtml",Tt(t,"portal_signup_terms_html")||""),g.append("signupCheckboxRequired",Tt(t,"portal_signup_checkbox_required")?"true":"false"),g.append("portalProducts",p.join(","));const h=Tt(t,"portal_default_plan");h&&g.append("portalDefaultPlan",h),x&&x.length&&g.append("portalPrices",encodeURIComponent(x.join(",")));const b=Tt(t,"accent_color");b!=null&&g.append("accentColor",encodeURIComponent(b));const y=Tt(t,"portal_button_style");return y&&g.append("buttonStyle",encodeURIComponent(y)),g.append("disableBackground","false"),Tt(t,"transistor")&&g.append("transistorPortalSettings",JSON.stringify({enabled:Tt(t,"transistor_portal_enabled"),heading:Tt(t,"transistor_portal_heading")||"Podcasts",description:Tt(t,"transistor_portal_description")||"Access your RSS feeds",button_text:Tt(t,"transistor_portal_button_text")||"Manage",url_template:Tt(t,"transistor_portal_url_template")||"https://partner.transistor.fm/ghost/{memberUuid}"})),`${w}${m}?${g.toString()}`},H8=({selectedTab:t="signup",localSettings:a,localTiers:s})=>{const{siteData:i,config:u}=ze(),p=P8({settings:a,tiers:s,selectedTab:t,siteData:i,config:u});let w=n.jsx(n.Fragment,{});switch(t){case"account":w=n.jsx(n.Fragment,{children:n.jsx(Ua,{href:p||"",portalParent:"preview",selectedTab:t})});break;case"links":w=n.jsx(F8,{});break;default:w=n.jsx(n.Fragment,{children:n.jsx(Ua,{href:p||"",portalParent:"preview",selectedTab:t})});break}return w},z8=({localSettings:t,updateSetting:a,localTiers:s,updateTier:i,errors:u,setError:p})=>{const{config:w}=ze(),[m,x,g,h,b,y]=ot(t,["members_signup_access","portal_name","portal_signup_terms_html","portal_signup_checkbox_required","portal_plans","portal_default_plan"]),v=JSON.parse(b?.toString()||"[]"),C=115,E=A.useMemo(()=>{const Y=document.createElement("div");return Y.innerHTML=g?.toString()||"",Y.innerText.length},[g]),j=A.useCallback((Y,W)=>{p(Y,W)},[]);A.useEffect(()=>{E>C?j("portal_signup_terms_html","Signup notice is too long"):j("portal_signup_terms_html",void 0)},[E,j]);const N=Y=>{const W=v.indexOf(Y);W===-1?v.push(Y):v.splice(W,1),a("portal_plans",JSON.stringify(v)),y==="yearly"?!v.includes("yearly")&&v.includes("monthly")&&a("portal_default_plan","monthly"):y==="monthly"&&(v.includes("monthly")||a("portal_default_plan","yearly"))},D=m==="all"||m==="paid",$=m==="all",R=$s(t,w);let O=[];s&&s.forEach(Y=>{Y.type==="free"&&$&&O.push({checked:v.includes("free"),disabled:!D,label:Y.name,value:"free",testId:"free-tier-checkbox",onChange:W=>{v.includes("free")&&!W&&v.splice(v.indexOf("free"),1),!v.includes("free")&&W&&v.push("free"),a("portal_plans",JSON.stringify(v)),i({...Y,visibility:W?"public":"none"})}})});const P=Ba(s)||[],I=[{value:"yearly",label:"Yearly"},{value:"monthly",label:"Monthly"}];R&&P.length>0&&P.forEach(Y=>{O.push({checked:Y.visibility==="public",label:Y.name,value:Y.id,onChange:(W=>i({...Y,visibility:W?"public":"none"}))})});const U=R&&P.length>0&&P.some(Y=>Y.visibility==="public");return n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{children:[n.jsx(Ye,{checked:!!x,direction:"rtl",disabled:!D,label:"Display name in signup form",onChange:Y=>a("portal_name",Y.target.checked)}),n.jsx(ou,{checkboxes:O,title:"Available tiers"}),U&&n.jsxs(n.Fragment,{children:[n.jsx(ou,{checkboxes:[{checked:v.includes("monthly"),disabled:!D,label:"Monthly",value:"monthly",onChange:()=>{N("monthly")}},{checked:v.includes("yearly"),disabled:!D,label:"Yearly",value:"yearly",onChange:()=>{N("yearly")}}],title:"Available prices"}),v.includes("yearly")&&v.includes("monthly")&&n.jsx(kt,{options:I,selectedOption:I.find(Y=>Y.value===y),title:"Default price at signup",onSelect:Y=>{a("portal_default_plan",Y?.value??"yearly")}})]}),n.jsx(Au,{error:!!u.portal_signup_terms_html,hint:u.portal_signup_terms_html||n.jsxs(n.Fragment,{children:["Recommended: ",n.jsx("strong",{children:"115"})," characters. You've used ",n.jsx("strong",{className:"text-green",children:E})]}),nodes:"MINIMAL_NODES",placeholder:"By signing up, I agree to receive emails from ...",title:"Display notice at signup",value:g?.toString(),onChange:Y=>a("portal_signup_terms_html",Y)}),g?.toString()&&n.jsx(Ye,{checked:!!h,disabled:!D,label:"Require agreement",labelStyle:"heading",onChange:Y=>a("portal_signup_checkbox_required",Y.target.checked)})]})})},U8="SettingsResponseType",B8=qr({path:()=>"/settings/verifications",method:"PUT",body:({token:t})=>({token:t}),updateQueries:{dataType:U8,emberUpdateType:"createOrUpdate",update:t=>({...t,settings:t.settings})}}),W8=({localSettings:t,updateSetting:a,localTiers:s,updateTier:i,errors:u,setError:p,selectedTab:w,onTabChange:m})=>{const x=[{id:"signupOptions",title:"Signup options",contents:n.jsx(z8,{errors:u,localSettings:t,localTiers:s,setError:p,updateSetting:a,updateTier:i})},{id:"lookAndFeel",title:"Look & feel",contents:n.jsx(O8,{localSettings:t,updateSetting:a})},{id:"accountPage",title:"Account page",contents:n.jsx(L8,{errors:u,localSettings:t,setError:p,updateSetting:a})}];return n.jsx("div",{className:"pt-4",children:n.jsx(Nr,{selectedTab:w,tabs:x,onTabChange:m})})},Y8=()=>{const{updateRoute:t}=Pe(),[a,s]=A.useState("signup"),[i,u]=A.useState("signupOptions"),p=Ke(),{settings:w,siteData:m,config:x}=ze(),{mutateAsync:g}=Tr(),{data:{tiers:h}={}}=Xr(),{mutateAsync:b}=Iu(),{mutateAsync:y}=B8(),{getParam:v}=Mh(),C=v("verifyEmail");A.useEffect(()=>{C&&(async({token:ee})=>{try{let{settings:ke}=await y({token:ee});const[ue]=ot(ke,["members_support_address"]);me.show(ht,{title:"Support address verified",prompt:n.jsxs(n.Fragment,{children:["Your support email address has been changed to ",n.jsx("strong",{children:ue}),"."]}),okLabel:"Close",cancelLabel:"",onOk:ye=>ye?.remove()})}catch(ke){let ue="There was an error verifying your email address. Please try again.";ke?.message==="Token expired"&&(ue="Verification link has expired."),me.show(ht,{title:"Error verifying support address",prompt:ue,okLabel:"Close",cancelLabel:"",onOk:ye=>ye?.remove()}),p(ke,{withToast:!1})}})({token:C})},[p,C,y]);const{formState:E,setFormState:j,saveState:N,handleSave:D,updateForm:$,okProps:R}=an({initialState:{settings:w,tiers:h||[]},savingDelay:500,onSave:async()=>{await Promise.all(E.tiers.filter(({dirty:ue})=>ue).map(ue=>b(ue))),j(ue=>({...ue,tiers:E.tiers.map(ye=>({...ye,dirty:!1}))}));const K=E.settings.filter(ue=>ue.dirty);if(!K.length)return;const{meta:ee,settings:ke}=await g(K);if(j(ue=>({...ue,settings:E.settings.map(ye=>({...ye,dirty:!1}))})),ee?.sent_email_verification){const ue=E.settings.find(J=>J.key==="members_support_address")?.value,ye=ke.find(J=>J.key==="support_email_address")?.value||nu(ke.find(J=>J.key==="members_support_address")?.value?.toString()||"noreply",m,x);me.show(ht,{title:"Confirm email address",prompt:n.jsxs(n.Fragment,{children:["We've sent a confirmation email to ",n.jsx("strong",{children:ue}),". Until verified, your support email address will remain ",ye,"."]}),okLabel:"Close",cancelLabel:"",onOk:J=>J?.remove()})}},onSaveError:p});A.useEffect(()=>{!E.tiers.length&&h?.length&&j(K=>({...K,tiers:h}))},[h,E.tiers,j]);const[O,P]=A.useState({}),I=(K,ee)=>{$(ke=>({...ke,settings:ke.settings.map(ue=>ue.key===K?{...ue,value:ee,dirty:!0}:ue)}))},U=(K,ee)=>{P(ke=>({...ke,[K]:ee}))},Y=K=>{$(ee=>({...ee,tiers:ee.tiers.map(ke=>ke.id===K.id?{...K,dirty:!0}:ke)}))},W=K=>{s(K),K==="signup"?u("signupOptions"):K==="account"&&u("accountPage")},B=K=>{u(K),K==="signupOptions"?s("signup"):K==="accountPage"&&s("account")},ie=n.jsx(W8,{errors:O,localSettings:E.settings,localTiers:E.tiers,selectedTab:i,setError:U,updateSetting:I,updateTier:Y,onTabChange:B}),ge=n.jsx(H8,{localSettings:E.settings,localTiers:E.tiers,selectedTab:a});let Me=[{id:"signup",title:"Signup"},{id:"account",title:"Account page"},{id:"links",title:"Links"}];return n.jsx(Kr,{afterClose:()=>{t("portal")},buttonsDisabled:R.disabled,cancelLabel:"Close",deviceSelector:!1,dirty:N==="unsaved",okColor:R.color,okLabel:R.label||"Save",preview:ge,previewBgColor:a==="links"?"white":"greygradient",previewToolbarTabs:Me,selectedURL:a,sidebar:ie,testId:"portal-modal",title:"Portal",onOk:async()=>{Object.values(O).filter(Boolean).length||await D({force:!0})},onSelectURL:W})},q8=me.create(Y8),G8=me.create(()=>{const{updateRoute:t}=Pe(),{localSettings:a,updateSetting:s,handleSave:i,validate:u,errors:p,clearError:w,okProps:m}=Gr({onValidate:()=>{const v={};return x&&!xt.isURL(x,{require_protocol:!0})&&(v.slackUrl="The URL must be in a format like https://hooks.slack.com/services/<your personal key>"),v},savingDelay:500}),[x,g]=ot(a,["slack_url","slack_username"]),{mutateAsync:h}=ey(),b=async()=>{Ds.remove(),await i()&&(await h(null),rt({title:"Check your Slack channel for the test message",type:"info"}))},y=a.some(v=>v.dirty);return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:y,okColor:m.color,okLabel:m.label||"Save",testId:"slack-modal",title:"",onOk:async()=>{Ds.remove(),await i()},children:[n.jsx(Qr,{detail:"A messaging app for teams",icon:n.jsx(Ge,{name:"slack",size:56}),title:"Slack"}),n.jsx("div",{className:"mt-7",children:n.jsxs(Be,{marginBottom:!1,title:"Slack configuration",grouped:!0,children:[n.jsx(ve,{error:!!p.slackUrl,hint:p.slackUrl||n.jsxs(n.Fragment,{children:["Automatically send newly published posts to a channel in Slack or any Slack-compatible service like Discord or Mattermost. Set up a new incoming webhook ",n.jsx("a",{href:"https://my.slack.com/apps/new/A0F7XDUAZ-incoming-webhooks",children:"here"}),", and grab the URL."]}),placeholder:"https://hooks.slack.com/services/...",title:"Webhook URL",value:x,onBlur:u,onChange:v=>s("slack_url",v.target.value),onKeyDown:()=>w("slackUrl")}),n.jsxs("div",{className:"flex w-full flex-col gap-2 md:flex-row md:items-center",children:[n.jsx(ve,{containerClassName:"grow",hint:"The username to display messages from",title:"Username",value:g,onChange:v=>s("slack_username",v.target.value)}),n.jsx(Ie,{color:"outline",label:"Send test notification",onClick:b})]})]})})]})}),X8=""+new URL("stripe-thumb-Cu2h4McY.jpg",import.meta.url).href,K8=""+new URL("orb-squircle-e1heFqOI.png",import.meta.url).href,Z8="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%20400'%20style='enable-background:new%200%200%20400%20400'%20xml:space='preserve'%3e%3cpath%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23635bff'%20d='M0%200h400v400H0z'/%3e%3cpath%20d='M184.4%20155.5c0-9.4%207.7-13.1%2020.5-13.1%2018.4%200%2041.6%205.6%2060%2015.5v-56.8C244.8%2093.1%20225%2090%20205%2090c-49.1%200-81.7%2025.6-81.7%2068.4%200%2066.7%2091.9%2056.1%2091.9%2084.9%200%2011.1-9.7%2014.7-23.2%2014.7-20.1%200-45.7-8.2-66-19.3v57.5c22.5%209.7%2045.2%2013.8%2066%2013.8%2050.3%200%2084.9-24.9%2084.9-68.2-.4-72-92.5-59.2-92.5-86.3z'%20style='fill-rule:evenodd;clip-rule:evenodd;fill:%23fff'/%3e%3c/svg%3e",V8=""+new URL("stripe-verified-DM7Q8nrY.svg",import.meta.url).href,vu=1e3,Q8=15*vu,J8=({onNext:t})=>n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx(ct,{level:3,children:"Getting paid"}),n.jsx("img",{alt:"Stripe Verified Partner Badge",src:V8})]}),n.jsxs("div",{className:"mt-6 mb-7",children:["Stripe is our exclusive direct payments partner. Ghost collects ",n.jsx("strong",{children:"no fees"})," on any payments! If you don’t have a Stripe account yet, you can ",n.jsx("a",{className:"underline",href:"https://stripe.com",rel:"noopener noreferrer",target:"_blank",children:"sign up here"}),"."]}),n.jsx(Th,{label:n.jsx(n.Fragment,{children:"I have a Stripe account, let's go →"}),onClick:t})]}),ej=()=>{const[t,a]=A.useState(!1),[s,i]=A.useState(""),[u,p]=A.useState(!1),[w,m]=A.useState(""),{refetch:x}=Xr({searchParams:{filter:"type:paid+active:true"},enabled:!1}),{mutateAsync:g}=Iu(),{mutateAsync:h}=Tr(),b=Ke(),y=N=>{i(N.target.value),a(!!N.target.value)},v=async()=>{const{data:N}=await x(),D=N?.pages[0].tiers[0];if(D){D.monthly_price=500,D.yearly_price=5e3,D.currency="USD";let $=0;for(;$<Q8;){await new Promise(R=>{setTimeout(R,vu)});try{await g(D);break}catch(R){if(R instanceof Er&&R.data?.errors?.[0].code==="STRIPE_NOT_CONFIGURED"){$+=vu;continue}else{b(R);return}}}}},C=async()=>{if(m(""),s)try{await h([{key:"stripe_connect_integration_token",value:s}]),await v(),await h([{key:"portal_plans",value:JSON.stringify(["free","monthly","yearly"])}])}catch(N){if(N instanceof Er&&N.data?.errors){m("Invalid secure key");return}else{b(N);return}}else m("Please enter a secure key")},{apiRoot:E}=Os(),j=`${E}/members/stripe_connect?mode=${u?"test":"live"}`;return n.jsxs("div",{children:[n.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[n.jsx(ct,{level:3,children:"Connect with Stripe"}),n.jsx(Ye,{direction:"rtl",label:"Test mode",labelClasses:`text-sm translate-y-[1px] ${u?"text-[#EC6803]":"text-grey-800"}`,toggleBg:"stripetest",onChange:N=>p(N.target.checked)})]}),n.jsxs(ct,{level:6,grey:!0,children:["Step 1 — ",n.jsx("span",{className:"text-black dark:text-white",children:"Generate secure key"})]}),n.jsxs("div",{className:"mt-2 mb-4",children:["Click on the ",n.jsx("strong",{children:"“Connect with Stripe”"})," button to generate a secure key that connects your Ghost site with Stripe."]}),n.jsx(Th,{href:j,tag:"a",target:"_blank"}),n.jsxs(ct,{className:"mt-8 mb-2",level:6,grey:!0,children:["Step 2 — ",n.jsx("span",{className:"text-black dark:text-white",children:"Paste secure key"})]}),n.jsx(nr,{error:!!w,hint:w||void 0,placeholder:"Paste your secure key here",onChange:y}),t&&n.jsx(Ie,{className:"mt-5",color:"green",label:"Save Stripe settings",onClick:C})]})},tj=({onClose:t})=>{const{settings:a}=ze(),[s,i]=ot(a,["stripe_connect_display_name","stripe_connect_livemode"]),{refetch:u,isFetching:p}=ph({searchParams:{filter:"status:paid",limit:"0"},enabled:!1}),{mutateAsync:w}=ty(),m=Ke(),x=async()=>{const{data:g}=await u(),h=!!g?.meta?.pagination.total;me.show(ht,{title:"Disconnect Stripe",prompt:h?"Cannot disconnect while there are members with active Stripe subscriptions.":n.jsxs(n.Fragment,{children:["You‘re about to disconnect your Stripe account ",s," from this site. This will automatically turn off paid memberships on this site."]}),okLabel:h?"":"Disconnect",onOk:async b=>{try{await w(null),b?.remove(),t?.()}catch(y){m(y)}}})};return n.jsxs("section",{children:[n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx(Ie,{color:"red",disabled:p,icon:"link-broken",iconColorClass:"text-red",label:"Disconnect",link:!0,onClick:x}),n.jsx(Ie,{icon:"close",iconColorClass:"dark:text-white",label:"Close",size:"sm",hideLabel:!0,link:!0,onClick:t})]}),n.jsxs("div",{className:"my-20 flex flex-col items-center",children:[n.jsxs("div",{className:"relative h-20 w-[200px]",children:[n.jsx("img",{alt:"Ghost Logo",className:"absolute left-10 size-16",src:K8}),n.jsx("img",{alt:"Stripe Logo",className:"absolute right-10 size-16 rounded-2xl shadow-[-1.5px_0_0_1.5px_#fff] dark:shadow-[-1.5px_0_0_1.5px_black]",src:Z8})]}),n.jsxs(ct,{className:"text-center",level:3,children:["You are connected with Stripe!",i?null:" (Test mode)"]}),n.jsxs("div",{className:"mt-1",children:["Connected to ",n.jsx("strong",{children:s||"Test mode"})]})]}),n.jsxs("div",{className:"flex flex-col items-center",children:[n.jsx(ct,{level:6,children:"Read next"}),n.jsxs("a",{className:"mt-5 flex w-100 flex-col items-stretch justify-between rounded-sm border border-grey-200 transition-all hover:border-grey-400 md:flex-row dark:border-grey-900",href:"https://ghost.org/resources/managing-your-stripe-account/?ref=admin",rel:"noopener noreferrer",target:"_blank",children:[n.jsxs("div",{className:"order-2 p-4 md:order-1",children:[n.jsx("div",{className:"font-bold",children:"How to setup and manage your Stripe account"}),n.jsx("div",{className:"mt-1 text-sm text-grey-800 dark:text-grey-500",children:"Learn how to configure your Stripe account to work with Ghost, from custom branding to payment receipt emails."}),n.jsxs("div",{className:"mt-3 flex items-center gap-1 text-sm text-grey-800 dark:text-grey-500",children:[n.jsx("img",{alt:"Ghost Logo",className:"size-4",src:Fy}),n.jsx("strong",{children:"Ghost Resources"}),n.jsx("span",{children:"·"}),n.jsx("span",{children:"by Kym Ellis"})]})]}),n.jsx("div",{className:"order-1 hidden w-[200px] shrink-0 items-center justify-center overflow-hidden md:visible! md:order-2 md:flex!",children:n.jsx("img",{alt:"Bookmark Thumb",className:"min-h-full min-w-full shrink-0",src:X8})})]})]})]})},nj=({onClose:t})=>{const{localSettings:a,updateSetting:s,handleSave:i,saveState:u}=Gr(),[p,w]=ot(a,["stripe_publishable_key","stripe_secret_key"]),m=async()=>{try{ny.remove(),await i(),t()}catch(x){if(x instanceof Er){rt({title:"Failed to save settings",type:"error",message:"Check you copied both keys correctly"});return}throw x}};return n.jsxs("div",{children:[n.jsx(ct,{level:3,children:"Connect Stripe"}),n.jsxs(Be,{marginBottom:!1,marginTop:!0,children:[n.jsx(ve,{title:"Publishable key",value:p?.toString(),onChange:x=>s("stripe_publishable_key",x.target.value)}),n.jsx(ve,{title:"Secure key",value:w?.toString(),onChange:x=>s("stripe_secret_key",x.target.value)}),n.jsx(Ie,{className:"mt-5",color:"green",disabled:u==="saving",label:"Save Stripe settings",onClick:m})]})]})},rj=()=>{const{config:t,settings:a}=ze(),s=Tt(a,"stripe_connect_account_id"),{updateRoute:i}=Pe(),[u,p]=A.useState("start"),w=Ft(),m=Fs(),x=$s(a,t),g=m?.isDisabled("limitStripeConnect");A.useEffect(()=>{(async()=>{if(g&&!x)try{await m?.errorIfWouldGoOverLimit("limitStripeConnect")}catch(C){C instanceof Ps&&(w.remove(),me.show(Un,{prompt:C.message||"Your current plan doesn't support Stripe Connect.",onOk:()=>i({route:"/pro",isExternal:!0})}))}})()},[m,w,i,x,g]);const h=()=>{p("connect")},b=()=>{w.remove(),i("tiers")};let y;return t?.stripeDirect||$s(a||[],t||{})&&!s?y=n.jsx(nj,{onClose:b}):s?y=n.jsx(tj,{onClose:b}):u==="start"?y=n.jsx(J8,{onNext:h}):y=n.jsx(ej,{}),n.jsx(ut,{afterClose:()=>{i("tiers")},cancelLabel:"",footer:n.jsx("div",{className:"mt-8"}),testId:"stripe-modal",title:"",width:s?740:520,hideXOnMobile:!0,children:y})},sj=me.create(rj),aj=""+new URL("ali-abdaal-C_tOLbSs.png",import.meta.url).href,oj=""+new URL("isaac-saul-DhERrV-4.png",import.meta.url).href,ij=""+new URL("joel-warner-CHe_ZipQ.png",import.meta.url).href,lj=me.create(()=>{const{updateRoute:t}=Pe(),a=Ke(),s=Ft(),{settings:i,currentUser:u,siteData:p,config:w}=ze(),m=w.exploreTestimonialsUrl,x=p.site_uuid,[g]=ot(i,["title"]),h=u.name,b=u.email,y=u.roles[0].name,v=u.profile_image,{formState:C,updateForm:E,saveState:j,handleSave:N,errors:D,clearError:$}=an({initialState:{content:"",prev_platform:""},onSave:async()=>{const O=["none","other",""].includes(C.prev_platform)?void 0:C.prev_platform,P={ghost_uuid:x,staff_user_email:b,content:C.content,prev_platform:O};if(!m)throw new Error("Something went wrong, please try again later.");if(!(await fetch(m,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(P)})).ok)throw new Error("Something went wrong, please try again later.");rt({message:"Thank you for your testimonial!",type:"success"}),t("explore"),s.remove()},onSaveError:a,onValidate:()=>{const O={};return C.content.trim()||(O.content="This field is required"),O}}),R=[{value:"none",label:"None - This is a new site"},{value:"substack",label:"Substack"},{value:"beehiiv",label:"BeeHiiv"},{value:"wordpress",label:"WordPress"},{value:"newspack",label:"Newspack"},{value:"medium",label:"Medium"},{value:"squarespace",label:"Squarespace"},{value:"wix",label:"Wix"},{value:"patreon",label:"Patreon"},{value:"memberful",label:"Memberful"},{value:"other",label:"Other"}];return n.jsx(ut,{afterClose:()=>{t("explore")},cancelLabel:"",footer:!1,padding:!1,testId:"explore-testimonials-modal",title:"",topRightContent:"close",width:920,children:n.jsx(Be,{className:"mb-0!",children:n.jsxs("div",{className:"flex items-stretch",children:[n.jsxs("div",{className:"hidden w-full flex-col justify-between bg-gradient-to-tl from-grey-100/50 to-grey-100/80 p-8 dark:from-grey-900/40 dark:to-grey-900/60 [@media(min-width:905px)]:visible! [@media(min-width:905px)]:flex!",children:[n.jsxs("div",{className:"pr-6",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"Moving to Ghost has proven to be one of the best business decisions we’ve made as an independent media outlet."}),n.jsxs("div",{className:"mt-[14px] ml-2 flex items-center gap-2 text-sm",children:[n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${ij})`}}),n.jsxs("div",{children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Joel Warner"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"Lever News"})]})]})]}),n.jsxs("div",{className:"mt-8 ml-6",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:right-5 before:-bottom-1.5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"It has now been one year since I quit my full-time job to go all in on Tangle. Today, we have 50,000+ paying subscribers. That’s roughly $5M in gross yearly revenue ... it’s the best paying job I’ve ever had."}),n.jsxs("div",{className:"mt-[14px] mr-2 flex items-center justify-end gap-2 text-sm",children:[n.jsxs("div",{className:"flex flex-col items-end",children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Isaac Saul"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"Tangle"})]}),n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${oj})`}})]})]}),n.jsxs("div",{className:"mt-8 hidden pr-6 [@media(min-width:940px)]:visible! [@media(min-width:940px)]:block!",children:[n.jsx("div",{className:"relative rounded-xl bg-white px-3 py-2.5 text-grey-700 italic shadow-lg before:absolute before:-bottom-1.5 before:left-5 before:block before:size-3 before:rotate-45 before:bg-white dark:bg-black dark:text-grey-300 before:dark:bg-black",children:"You should be using Ghost because it’s absolutely amazing and I love it. It’s what I’ve been using for all my sites since 2016."}),n.jsxs("div",{className:"mt-[14px] ml-2 flex items-center gap-2 text-sm",children:[n.jsx("div",{className:"size-9 rounded-full bg-white bg-cover bg-center opacity-90 grayscale",style:{backgroundImage:`url(${aj})`}}),n.jsxs("div",{children:[n.jsx("div",{className:"font-medium text-black dark:text-white",children:"Ali Abdaal"}),n.jsx("div",{className:"-mt-0.5 text-grey-700",children:"YouTuber"})]})]})]})]}),n.jsxs("div",{className:"flex grow flex-col justify-between gap-6 p-8 [@media(min-width:905px)]:min-w-[520px] [@media(min-width:940px)]:min-w-[460px]",children:[n.jsxs("div",{children:[n.jsx("div",{className:"flex size-[60px] items-center justify-center rounded-full bg-gradient-to-t from-[#CFB0FF] to-[#B27EFF]",children:n.jsx("svg",{fill:"none",height:"26",viewBox:"0 0 32 26",width:"32",xmlns:"http://www.w3.org/2000/svg",children:n.jsx("path",{d:"M19.9967 26L18.1562 21.4542C23.4268 19.1176 25.7693 16.5261 26.2712 11.7255C25.5183 12.3627 24.5562 12.7026 23.3431 12.7026C20.1641 12.7026 17.4869 10.1536 17.4869 6.41503C17.4869 2.80392 20.3732 9.72736e-07 24.2634 6.32644e-07C28.2791 2.81581e-07 31.5 3.10131 31.5 8.96405C31.5 17.5458 27.4425 23.0261 19.9967 26ZM3.0098 26L1.12745 21.4543C6.43987 19.1176 8.78235 16.5261 9.24248 11.7255C8.53137 12.3627 7.56928 12.7026 6.35621 12.7026C3.17712 12.7026 0.499999 10.1536 0.499998 6.41504C0.499998 2.80393 3.38627 2.45778e-06 7.23464 2.12135e-06C11.2503 1.77028e-06 14.5131 3.10131 14.5131 8.96405C14.5131 17.5458 10.4556 23.0261 3.0098 26Z",fill:"white"})})}),n.jsxs("div",{className:"mt-6",children:[n.jsx("div",{className:"text-2xl font-semibold tracking-tight",children:"A quote about Ghost"}),n.jsx("div",{className:"mt-2 text-pretty",children:"We feature quotes from publishers to showcase their work, including a logo and a link! If you'd like to be included, share a quote we can use to highlight you."})]}),n.jsx("div",{className:"mt-8",children:n.jsx(nr,{error:!!D.content,hint:D.content,placeholder:"What changed for the better since you switched to Ghost?",rows:7,value:C.content,autoFocus:!0,onChange:O=>E(P=>({...P,content:O.target.value})),onKeyDown:()=>$("content")})}),n.jsx("div",{className:"mt-4 ml-0.5",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(jh,{bgColor:Nh(h||b),image:v??void 0,label:Eh(h),labelColor:"white",size:"md"}),n.jsxs("div",{className:"flex flex-col",children:[n.jsxs("span",{className:"text-sm font-medium",children:["By ",h||b]}),n.jsxs("span",{className:"text-xs text-grey-700",children:[y," — ",g]})]})]})})]}),n.jsx("div",{children:n.jsxs("div",{className:"mt-2 flex items-center gap-4",children:[n.jsx("div",{className:"grow",children:n.jsx(kt,{error:!!D.prev_platform,hint:D.prev_platform,options:R,placeholder:"Previous platform",selectedOption:R.find(O=>O.value===C.prev_platform),testId:"migrated-from",onSelect:O=>{E(P=>({...P,prev_platform:O?.value||""})),$("prev_platform")}})}),n.jsx(Ie,{className:"h-[38px]! rounded-lg",color:"black",disabled:j==="saving",label:"Send testimonial",loading:j==="saving",onClick:async()=>{await N()}})]})})]})]})})})}),cj=""+new URL("ghost-transistor-BXCFhTPG.png",import.meta.url).href,uj=me.create(()=>{const{updateRoute:t}=Pe(),{config:a,settings:s}=ze(),{mutateAsync:i}=Tr(),{data:{integrations:u}={integrations:[]}}=Oi(),{mutateAsync:p}=Ou(),w=Ke(),[m,x]=A.useState(!1),g=a.hostSettings?.limits?.customIntegrations?.disabled,[h]=ot(s,["transistor"]),[b,y]=A.useState(!!h),[v,C]=A.useState("Save");A.useEffect(()=>{y(h||!1)},[h]),A.useEffect(()=>{g&&t("integrations")},[g,t]);const E=u.find(({slug:$})=>$==="transistor"),j=E?.api_keys?.find($=>$.type==="admin"),N=()=>{if(!E||!j)throw new Error("Transistor integration or Admin API key not found");x(!1),me.show(ht,{title:"Regenerate Admin API Key",prompt:"You will need to update the API key in your Transistor account settings after regenerating.",okLabel:"Regenerate Admin API Key",onOk:async $=>{try{await p({integrationId:E.id,apiKeyId:j.id}),x(!0),$?.remove()}catch(R){w(R)}}})},D=async()=>{const $=[{key:"transistor",value:b}];try{C("Saving..."),await Promise.all([i($),new Promise(R=>{setTimeout(R,1e3)})]),C("Saved")}catch(R){w(R)}finally{setTimeout(()=>C("Save"),1e3)}};return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:b!==h,okColor:v==="Saved"?"green":"black",okLabel:v,testId:"transistor-modal",title:"",onOk:D,children:[n.jsx(Qr,{detail:"Give your members access to private podcasts",icon:n.jsx(Ge,{name:"transistor",size:56}),title:"Transistor.fm"}),n.jsxs("div",{className:"mt-7",children:[n.jsxs(Be,{marginBottom:!1,title:"Transistor configuration",grouped:!0,children:[n.jsx(Ye,{checked:b,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Connect your Ghost site with ",n.jsx("a",{className:"text-green",href:"https://transistor.fm",rel:"noopener noreferrer",target:"_blank",children:"Transistor.fm"})," to offer members private podcasts."]}),label:"Enable Transistor",onChange:$=>{y($.target.checked)}}),b&&n.jsx(Ya,{keys:[{label:"Admin API key",text:j?.secret,hint:m?n.jsx("div",{className:"text-green",children:"Admin API Key was successfully regenerated"}):void 0,onRegenerate:N},{label:"API URL",text:window.location.origin+Os().subdir}]})]}),b&&n.jsx("div",{className:"mt-5 flex flex-col items-center",children:n.jsxs("a",{className:"flex w-100 flex-col items-stretch justify-between overflow-hidden rounded-md bg-grey-75 transition-all hover:border-grey-400 hover:bg-grey-100 md:flex-row dark:bg-grey-925 dark:hover:bg-grey-950",href:"https://ghost.org/integrations/transistor/",rel:"noopener noreferrer",target:"_blank",children:[n.jsxs("div",{className:"order-2 px-7 py-5 md:order-1",children:[n.jsx("div",{className:"font-semibold",children:"How to use Transistor in Ghost"}),n.jsx("div",{className:"mt-1 text-sm text-grey-800 dark:text-grey-500",children:"Learn more about connecting Transistor with Ghost to offer members access to private podcasts in Portal or as an embed in posts and pages with a custom Transistor card."})]}),n.jsx("div",{className:"order-1 hidden w-[200px] shrink-0 items-center justify-center overflow-hidden md:visible! md:order-2 md:flex!",children:n.jsx("img",{alt:"Bookmark Thumb",className:"min-h-full min-w-full shrink-0",src:cj})})]})})]})]})}),dj=me.create(()=>{const{updateRoute:t}=Pe(),{settings:a}=ze(),[s]=ot(a,["unsplash"]),{mutateAsync:i}=Tr(),u=Ke(),[p,w]=A.useState("Save"),[m,x]=A.useState(!!s);A.useEffect(()=>{x(s||!1)},[s]);const g=async()=>{const b=[{key:"unsplash",value:m}];try{w("Saving..."),await Promise.all([i(b),new Promise(y=>{setTimeout(y,1e3)})]),w("Saved")}catch(y){u(y)}finally{setTimeout(()=>w("Save"),1e3)}},h=m!==s;return n.jsxs(ut,{afterClose:()=>{t("integrations")},cancelLabel:"Close",dirty:h,okColor:p==="Saved"?"green":"black",okLabel:p,testId:"unsplash-modal",title:"",onOk:g,children:[n.jsx(Qr,{detail:"Beautiful, free photos",icon:n.jsx(Ge,{name:"unsplash",size:48}),title:"Unsplash"}),n.jsx("div",{className:"mt-7",children:n.jsx(Be,{marginBottom:!1,grouped:!0,children:n.jsx(Ye,{checked:m,direction:"rtl",hint:n.jsxs(n.Fragment,{children:["Enable ",n.jsx("a",{className:"text-green",href:"https://unsplash.com",rel:"noopener noreferrer",target:"_blank",children:"Unsplash"})," image integration for your posts"]}),label:"Enable Unsplash",onChange:b=>{x(b.target.checked)}})})})]})}),fj=({user:t,setUserData:a})=>{const{config:s,settings:i}=ze(),u=$s(i||[],s||{});return n.jsxs(Nu,{children:[n.jsx(Ye,{checked:t.comment_notifications,direction:"rtl",hint:"Every time a member comments on one of your posts",label:"Comments",onChange:p=>{a?.({...t,comment_notifications:p.target.checked})}}),Ni(t)&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{checked:t.recommendation_notifications,direction:"rtl",hint:"Every time another publisher recommends you to their audience",label:"Recommendations",onChange:p=>{a?.({...t,recommendation_notifications:p.target.checked})}}),n.jsx(Ye,{checked:t.free_member_signup_notification,direction:"rtl",hint:"Every time a new free member signs up",label:"New signups",onChange:p=>{a?.({...t,free_member_signup_notification:p.target.checked})}}),u&&n.jsxs(n.Fragment,{children:[n.jsx(Ye,{checked:t.paid_subscription_started_notification,direction:"rtl",hint:"Every time a member starts a new paid subscription",label:"New paid members",onChange:p=>{a?.({...t,paid_subscription_started_notification:p.target.checked})}}),n.jsx(Ye,{checked:t.paid_subscription_canceled_notification,direction:"rtl",hint:"Every time a member cancels their paid subscription",label:"Paid member cancellations",onChange:p=>{a?.({...t,paid_subscription_canceled_notification:p.target.checked})}})]}),n.jsx(Ye,{checked:t.milestone_notifications,direction:"rtl",hint:u?"Occasional summaries of your audience & revenue growth":"Occasional summaries of your audience growth",label:"Milestones",onChange:p=>{a?.({...t,milestone_notifications:p.target.checked})}}),u&&n.jsx(Ye,{checked:t.donation_notifications,direction:"rtl",hint:"Every time you receive a one-time payment",label:"Tips & donations",onChange:p=>{a?.({...t,donation_notifications:p.target.checked})}})]})]})},pj=({user:t,setUserData:a})=>n.jsx(Eu,{border:!1,children:n.jsx(fj,{setUserData:a,user:t})}),hj=["1234567890","qwertyuiop","qwertzuiop","asdfghjkl;","abcdefghij","0987654321","1q2w3e4r5t","12345asdfg"],mj=["ghost","password","passw0rd"],gj=t=>{let a={},s,i=!0;s=t.length/2;for(let u=0;u<t.length;u+=1)a[t[u]]?a[t[u]]+=1:a[t[u]]=1;for(let u in a)if(a[u]>=s)return i=!1,i;return i},xj=({user:t})=>{const{currentUser:a,config:s,siteData:i}=ze(),[u,p]=A.useState(!1),[w,m]=A.useState(""),[x,g]=A.useState(""),[h,b]=A.useState(""),[y,v]=A.useState(""),[C,E]=A.useState({}),j=A.useRef(null),N=A.useRef(null),D=A.useRef(null),{mutateAsync:$}=ry(),R=Ke(),O=t.id===a.id,P=({password:B,confirmPassword:ie})=>{if(O&&!w)return{oldPassword:"Your current password is required to set a new one"};if(B!==ie)return{newPassword:"Your new passwords do not match",confirmNewPassword:"Your new passwords do not match"};let ge=s.blogUrl||window.location.host,Me=i.title,K;if(ge=ge.replace(/^http(s?):\/\//,""),K=ge.match(/\/$/)?ge:`${ge}/`,Me=Me&&Me.trim().toLowerCase(),B.length<10)return{newPassword:"Password must be at least 10 characters long."};B=B.toString();for(const ee of hj)if(ee===B)return{newPassword:"Sorry, you cannot use an insecure password."};if(B.toLowerCase()===t.email.toLowerCase())return{newPassword:"Sorry, you cannot use an insecure password."};for(const ee of mj)if(B.toLowerCase().indexOf(ee)>=0)return{newPassword:"Sorry, you cannot use an insecure password."};return B.toLowerCase()===Me?{newPassword:"Sorry, you cannot use an insecure password."}:B.toLowerCase()===ge||B.toLowerCase()===K?{newPassword:"Sorry, you cannot use an insecure password."}:gj(B)?{}:{newPassword:"Sorry, you cannot use an insecure password."}};A.useEffect(()=>{y==="saved"&&setTimeout(()=>{v(""),p(!1)},2500)},[y]),A.useEffect(()=>{u&&setTimeout(()=>{O?D.current?.focus():j.current?.focus()},100)},[u,O]);const I=()=>{p(!0)};let U="Save password";y==="saving"?U="Saving...":y==="saved"&&(U="Saved");const Y=n.jsxs(n.Fragment,{children:[O&&n.jsx(ve,{"data-testid":"old-password",error:!!C.oldPassword,hint:C.oldPassword,inputRef:D,title:"Old password",type:"password",value:w,onChange:B=>{m(B.target.value)}}),n.jsx(ve,{"data-testid":"new-password",error:!!C.newPassword,hint:C.newPassword,inputRef:j,title:"New password",type:"password",value:x,onChange:B=>{g(B.target.value)}}),n.jsx(ve,{"data-testid":"confirm-password",error:!!C.confirmNewPassword,hint:C.confirmNewPassword,inputRef:N,title:"Confirm new password",type:"password",value:h,onChange:B=>{b(B.target.value)}}),n.jsxs("div",{className:"mt-1 flex items-center justify-end gap-3",children:[n.jsx(Ie,{color:"outline",label:"Cancel",onClick:()=>{p(!1),m(""),g(""),b(""),E({})}}),n.jsx(Ie,{color:"green","data-testid":"save-password-button",label:U,onClick:async()=>{v("saving");const B=P({password:x,confirmPassword:h});if(E(B),Object.keys(B).length>0){v("");return}try{await $({newPassword:x,confirmNewPassword:h,oldPassword:w,userId:t?.id}),v("saved")}catch(ie){v(""),rt({type:"error",title:ie instanceof sy?ie.message:"Couldn't update password. Please try again."}),R(ie,{withToast:!1})}}})]})]}),W=n.jsxs("div",{className:"relative flex flex-col",children:[n.jsx(ve,{containerClassName:"grow",disabled:!0,title:"Password",type:"password",value:"••••••••••••"}),n.jsx(Ie,{className:"absolute top-0 right-0",color:"green","data-testid":"change-password-button",label:"Change",link:!0,onClick:I})]});return n.jsx(n.Fragment,{children:u?Y:W})},wj=({user:t,setUserData:a})=>{const{data:{roles:s}={}}=su(),{config:i}=ze(),u=i.labs.superEditors;let p=[{hint:"Can write and edit their own posts, but cannot publish them.",label:"Contributor",value:"contributor"},{hint:"Can create, edit and publish their own posts, but can’t modify others.",label:"Author",value:"author"},{hint:"Can edit and publish any posts, and manage Authors and Contributors.",label:"Editor",value:"editor"},{hint:"Trusted user who has full access to all content, settings, and user management.",label:"Administrator",value:"administrator"}];if(u&&(p=p.map(w=>w.value==="editor"?{...w,label:"Editor (beta mode)",value:"super editor",hint:"Can invite and manage other Authors and Contributors, as well as edit and publish any posts on the site. Can manage members and moderate comments."}:w)),ru(t)){const w={label:"Owner",value:"owner"};return n.jsx("div",{children:n.jsx(kt,{disabled:!0,hint:n.jsxs(n.Fragment,{children:["This user is the owner of the site. ",n.jsx("a",{className:"font-medium text-grey-800 transition-colors hover:text-grey-900 dark:text-grey-500 dark:hover:text-grey-400",href:"https://ghost.org/help/transfer-publication-ownership/",rel:"noopener noreferrer",target:"_blank",children:"Transfer ownership"})," first to change their role."]}),options:[w],selectedOption:w,title:"Role",onSelect:()=>{}})})}return n.jsx(kt,{options:p,selectedOption:p.find(w=>w.value===t.roles[0].name.toLowerCase()),testId:"role-select",title:"Role",onSelect:w=>{if(w){const m=s?.find(x=>x.name.toLowerCase()===w.value.toLowerCase());m&&a?.({...t,roles:[m]})}}})},bj="StaffTokenResponseType",vj=ay({dataType:bj,path:"/users/me/token/"}),yj=qr({path:()=>"/users/me/token/",method:"PUT"}),_j=()=>{const{refetch:t}=vj({enabled:!1}),a=Ke(),[s,i]=A.useState(""),{mutateAsync:u}=yj();A.useEffect(()=>{(async()=>{const m=await t();m?.data?.apiKey&&i(`${m.data.apiKey.id}:${m.data.apiKey.secret}`)})()},[t]);const p=()=>{me.show(ht,{title:"Regenerate your Staff Access Token",prompt:"You can regenerate your Staff Access Token any time, but any scripts or applications using it will need to be updated.",okLabel:"Regenerate your Staff Access Token",okColor:"red",onOk:async w=>{try{const m=await u([]);i(`${m.apiKey.id}:${m.apiKey.secret}`),w?.remove()}catch(m){a(m)}}})};return n.jsxs("div",{children:[n.jsx(ct,{className:"mb-2",level:6,grey:!0,children:"Staff access token"}),n.jsx(Ya,{hasLabel:!1,keys:[{text:s||"",onRegenerate:p}]})]})},Mj=({errors:t,clearError:a,user:s,setUserData:i})=>{const{currentUser:u,siteData:p}=ze(),w=Hn(p);return n.jsxs(Nu,{children:[n.jsx(ve,{error:!!t?.email,hint:t?.email||"Used for notifications",maxLength:191,title:"Email",value:s.email,onChange:m=>{i({...s,email:m.target.value})},onKeyDown:()=>a("email")}),n.jsx(xj,{user:s}),Ni(u)&&n.jsx(wj,{setUserData:i,user:s}),n.jsx(ve,{error:!!t?.name,hint:t?.name||"Use your real name so people can recognize you",maxLength:191,title:"Full name",value:s.name,onChange:m=>{i({...s,name:m.target.value})},onKeyDown:()=>a("name")}),n.jsx(ve,{hint:`${w}author/${s.slug}`,maxLength:191,title:"Slug",value:s.slug,onChange:m=>{i({...s,slug:m.target.value})}}),n.jsx(ve,{error:!!t?.location,hint:t?.location||"Where in the world do you live?",maxLength:65535,title:"Location",value:s.location||"",onChange:m=>{i({...s,location:m.target.value})},onKeyDown:()=>a("location")}),n.jsx(nr,{error:!!t?.bio,hint:t?.bio||n.jsxs(n.Fragment,{children:["Recommended: 250 characters. You‘ve used ",n.jsx("span",{className:"font-bold",children:s.bio?.length||0})]}),maxLength:65535,title:"Bio",value:s.bio||"",onChange:m=>{i({...s,bio:m.target.value})},onKeyDown:()=>a("bio")}),s.id===u.id&&n.jsx(_j,{})]})},kj=t=>n.jsx(Eu,{border:!1,children:n.jsx(Mj,{...t})}),jj=({errors:t,clearError:a,validateField:s,user:i,setUserData:u})=>{const[p,w]=A.useState(i.facebook?Py(i.facebook):""),[m,x]=A.useState(i.twitter?Hy(i.twitter):""),[g,h]=A.useState(i.threads?NM(i.threads):""),[b,y]=A.useState(i.bluesky?CM(i.bluesky):""),[v,C]=A.useState(i.linkedin?$M(i.linkedin):""),[E,j]=A.useState(i.instagram?LM(i.instagram):""),[N,D]=A.useState(i.youtube?FM(i.youtube):""),[$,R]=A.useState(i.tiktok?HM(i.tiktok):""),[O,P]=A.useState(i.mastodon?UM(i.mastodon):"");return n.jsxs(Nu,{children:[n.jsx(ve,{"data-testid":"website-input",error:!!t?.website,hint:t?.website,maxLength:2e3,placeholder:"https://example.com",title:"Website",value:i.website||"",onChange:I=>{u({...i,website:I.target.value})},onKeyDown:()=>a("url")}),n.jsx(ve,{"data-testid":"x-input",error:!!t?.twitter,hint:t?.twitter,maxLength:2e3,placeholder:"https://x.com/username",title:"X",value:m,onBlur:I=>{if(s("twitter",I.target.value)){const U=Ch(I.target.value);x(U),u({...i,twitter:zy(U)})}},onChange:I=>{x(I.target.value)},onKeyDown:()=>a("twitter")}),n.jsx(ve,{"data-testid":"facebook-input",error:!!t?.facebook,hint:t?.facebook,maxLength:2e3,placeholder:"https://www.facebook.com/username",title:"Facebook",value:p,onBlur:I=>{if(s("facebook",I.target.value)){const U=Ih(I.target.value);w(U),u({...i,facebook:Uy(U)})}},onChange:I=>{w(I.target.value)},onKeyDown:()=>a("facebook")}),n.jsx(ve,{"data-testid":"linkedin-input",error:!!t?.linkedin,hint:t?.linkedin,maxLength:2e3,placeholder:"https://www.linkedin.com/in/username",title:"LinkedIn",value:v,onBlur:I=>{if(s("linkedin",I.target.value)){const U=Mm(I.target.value);C(U),u({...i,linkedin:RM(U)})}},onChange:I=>{C(I.target.value)},onKeyDown:()=>a("linkedin")}),n.jsx(ve,{"data-testid":"bluesky-input",error:!!t?.bluesky,hint:t?.bluesky,maxLength:2e3,placeholder:"https://bsky.app/profile/username",title:"Bluesky",value:b,onBlur:I=>{if(s("bluesky",I.target.value)){const U=wm(I.target.value);y(U),u({...i,bluesky:IM(U)})}},onChange:I=>{y(I.target.value)},onKeyDown:()=>a("bluesky")}),n.jsx(ve,{"data-testid":"threads-input",error:!!t?.threads,hint:t?.threads,maxLength:2e3,placeholder:"https://threads.net/@username",title:"Threads",value:g,onBlur:I=>{if(s("threads",I.target.value)){const U=gm(I.target.value);h(U),u({...i,threads:TM(U)})}},onChange:I=>{h(I.target.value)},onKeyDown:()=>a("threads")}),n.jsx(ve,{"data-testid":"mastodon-input",error:!!t?.mastodon,hint:t?.mastodon,maxLength:2e3,placeholder:"https://mastodon.social/@username",title:"Mastodon",value:O,onBlur:I=>{if(s("mastodon",I.target.value)){const U=Nm(I.target.value);P(U),u({...i,mastodon:BM(U)})}},onChange:I=>{P(I.target.value)},onKeyDown:()=>a("mastodon")}),n.jsx(ve,{"data-testid":"tiktok-input",error:!!t?.tiktok,hint:t?.tiktok,maxLength:2e3,placeholder:"https://www.tiktok.com/@username",title:"TikTok",value:$,onBlur:I=>{if(s("tiktok",I.target.value)){const U=Em(I.target.value);R(U),u({...i,tiktok:zM(U)})}},onChange:I=>{R(I.target.value)},onKeyDown:()=>a("tiktok")}),n.jsx(ve,{"data-testid":"youtube-input",error:!!t?.youtube,hint:t?.youtube,maxLength:2e3,placeholder:"https://www.youtube.com/@channel",title:"YouTube",value:N,onBlur:I=>{if(s("youtube",I.target.value)){const U=jm(I.target.value);D(U),u({...i,youtube:PM(U)})}},onChange:I=>{D(I.target.value)},onKeyDown:()=>a("youtube")}),n.jsx(ve,{"data-testid":"instagram-input",error:!!t?.instagram,hint:t?.instagram,maxLength:2e3,placeholder:"https://www.instagram.com/username",title:"Instagram",value:E,onBlur:I=>{if(s("instagram",I.target.value)){const U=km(I.target.value);j(U),u({...i,instagram:OM(U)})}},onChange:I=>{j(I.target.value)},onKeyDown:()=>a("instagram")})]})},Ej=t=>n.jsx(Eu,{border:!1,children:n.jsx(jj,{...t})}),ch={name:({name:t})=>{let a="";return t||(a="Name is required"),t&&t.length>191&&(a="Name is too long"),a},email:({email:t})=>xt.isEmail(t||"")?"":"Enter a valid email address",url:({url:t})=>!t||xt.isURL(t,{require_tld:!1})?"":"Enter a valid URL",bio:({bio:t})=>!t||t.length<=250?"":"Bio is too long",location:({location:t})=>!t||t.length<=150?"":"Location is too long",website:({website:t})=>!t||xt.isURL(t)&&t.length<=2e3?"":"Enter a valid URL",facebook:({facebook:t})=>{try{return Ih(t||""),""}catch(a){return a instanceof Error?a.message:""}},twitter:({twitter:t})=>{try{return Ch(t||""),""}catch(a){return a instanceof Error?a.message:""}},threads:({threads:t})=>{try{return gm(t||""),""}catch(a){return a instanceof Error?a.message:""}},bluesky:({bluesky:t})=>{try{return wm(t||""),""}catch(a){return a instanceof Error?a.message:""}},linkedin:({linkedin:t})=>{try{return Mm(t||""),""}catch(a){return a instanceof Error?a.message:""}},instagram:({instagram:t})=>{try{return km(t||""),""}catch(a){return a instanceof Error?a.message:""}},youtube:({youtube:t})=>{try{return jm(t||""),""}catch(a){return a instanceof Error?a.message:""}},tiktok:({tiktok:t})=>{try{return Em(t||""),""}catch(a){return a instanceof Error?a.message:""}},mastodon:({mastodon:t})=>{try{return Nm(t||""),""}catch(a){return a instanceof Error?a.message:""}}},Nj=({user:t})=>{const{updateRoute:a,route:s}=Pe(),i=V=>{const be=V.split("/").pop()||"";return be==="social-links"||be==="email-notifications"?be:"profile"},{ownerUser:u}=By(),{currentUser:p}=ze(),w=Ke(),{formState:m,setFormState:x,saveState:g,handleSave:h,updateForm:b,errors:y,setErrors:v,clearError:C,okProps:E}=an({initialState:t,savingDelay:500,savedDelay:500,onValidate:V=>Object.entries(ch).reduce((be,[Le,it])=>{const wt=it(V);return wt&&(be[Le]=wt),be},{}),onSave:async V=>{await R?.(V)},onSaveError:w}),j=V=>b(()=>V),N=(V,be)=>{const Le=ch[V]?.({[V]:be});return Le?(v({...y,[V]:Le}),!1):(C(V),!0)},D=Ft(),{mutateAsync:$}=Hs(),{mutateAsync:R}=iy(),{mutateAsync:O}=ly(),{mutateAsync:P}=cy(),I=Fs(),U=yh(),Y=A.useCallback(()=>{_r(p)?a("staff"):a({isExternal:!0,route:""})},[p,a]),W=async V=>{if(V.status==="inactive"&&V.roles[0].name!=="Contributor")try{await I?.errorIfWouldGoOverLimit("staff")}catch(Le){if(Le instanceof Ps){me.show(Un,{formSheet:!0,prompt:Le.message||"Your current plan doesn't support more users.",onOk:()=>a({route:"/pro",isExternal:!0})});return}else throw Le}let be="This user will no longer be able to log in but their posts will be kept.";V.status==="inactive"&&(be="This user will be able to log in again and will have the same permissions they had previously."),me.show(ht,{title:"Are you sure you want to suspend this user?",prompt:n.jsxs(n.Fragment,{children:[n.jsx("strong",{children:"WARNING:"})," ",be]}),okLabel:V.status==="inactive"?"Un-suspend":"Suspend",okRunningLabel:V.status==="inactive"?"Un-suspending...":"Suspending...",okColor:"red",onOk:async Le=>{const it={...V,status:V.status==="inactive"?"active":"inactive"};try{await R(it),x(()=>it),Le?.remove(),rt({title:V.status==="inactive"?"User un-suspended":"User suspended",type:"success"})}catch(wt){w(wt)}}})},B=(V,{owner:be})=>{me.show(ht,{title:"Are you sure you want to delete this user?",prompt:n.jsxs(n.Fragment,{children:[n.jsxs("p",{className:"mb-3",children:[n.jsx("span",{className:"font-bold",children:V.name||V.email})," will be permanently deleted and all their posts will be automatically assigned to ",n.jsx("span",{className:"font-bold",children:be.name}),"."]}),n.jsxs("p",{children:["To make these easy to find in the future, each post will be given an internal tag of ",n.jsxs("span",{className:"font-bold",children:["#",t.slug]})]})]}),okLabel:"Delete user",okColor:"red",onOk:async Le=>{try{await O(V?.id),Le?.remove(),D?.remove(),Y(),rt({title:"User deleted",type:"success"})}catch(it){w(it)}}})},ie=()=>{me.show(ht,{title:"Transfer Ownership",prompt:"Are you sure you want to transfer the ownership of this blog? You will not be able to undo this action.",okLabel:"Yep — I'm sure",okColor:"red",onOk:async V=>{try{await P(t.id),V?.remove(),rt({title:"Ownership transferred",type:"success"})}catch(be){w(be)}}})},ge=async(V,be)=>{try{const Le=Jn(await $({file:be}));switch(V){case"cover_image":b(it=>({...it,cover_image:Le}));break;case"profile_image":b(it=>({...it,profile_image:Le}));break}}catch(Le){const it=Le;it.response.status===415&&(it.message="Unsupported file type"),w(it)}},Me=V=>{switch(V){case"cover_image":b(be=>({...be,cover_image:""}));break;case"profile_image":b(be=>({...be,profile_image:""}));break}},K=Ni(p)||Nf(p)&&Tf(t);let ee=[];if(ru(p)&&uy(m)&&m.status!=="inactive"&&ee.push({id:"make-owner",label:"Make owner",onClick:ie}),ee.push({id:"view-user-activity",label:"View user activity",onClick:()=>{D.remove(),a(`history/view/${m.id}`)}}),m.id!==p.id&&(Ni(p)&&!ru(t)||Nf(p)&&Tf(t))){let V=m.status==="inactive"?"Un-suspend user":"Suspend user";ee.push({id:"suspend-user",label:V,onClick:()=>{W(m)}},{id:"delete-user",label:"Delete user",destructive:!0,onClick:()=>{B(t,{owner:u})}})}const ke="rounded text-sm flex flex-nowrap items-center justify-center px-3 h-8 transition-all cursor-pointer font-medium border border-grey-300 bg-transparent text-black dark:border-grey-800 dark:text-white",ue="flex flex-nowrap items-center justify-center px-3 h-8 opacity-80 hover:opacity-100 bg-[rgba(0,0,0,0.75)] rounded text-sm text-white transition-all cursor-pointer font-medium nowrap",ye=m.status==="inactive"?" (Suspended)":"",J=i(s),[de,fe]=A.useState(J),ce=V=>{const be=V==="profile"?"":`/${V}`;a(`staff/${t.slug}${be}`),fe(V)};return n.jsx(ut,{afterClose:Y,animate:_r(p),backDrop:_r(p),buttonsDisabled:E.disabled,cancelLabel:"Close",dirty:g==="unsaved",okColor:E.color,okLabel:E.label||"Save",size:_r(p)?"md":"bleed",stickyFooter:!0,testId:"user-detail-modal",width:_r(p)?600:"full",onOk:async()=>{await h({fakeWhenUnchanged:!0})},children:n.jsxs("div",{children:[n.jsx("div",{className:`relative ${_r(p)?"-mx-8 -mt-8 rounded-t":"-mx-10 -mt-10"}`,children:n.jsx("div",{className:`flex flex-wrap items-end justify-between gap-8 p-8 ${m.cover_image?"bg-cover bg-center":""} ${!_r(p)&&"min-h-[30vmin]"}`,style:{backgroundImage:m.cover_image?`url(${m.cover_image})`:"none"},children:n.jsxs("div",{className:"flex w-full flex-col gap-2",children:[n.jsxs("div",{className:"flex flex-nowrap items-start justify-between gap-3",children:[n.jsx("div",{children:n.jsx(tr,{deleteButtonClassName:"md:invisible absolute pr-3 -right-2 -top-2 flex h-8 w-10 cursor-pointer items-center justify-end rounded-full bg-[rgba(0,0,0,0.75)] text-white group-hover:visible!",deleteButtonContent:n.jsx(Ge,{colorClass:"text-white",name:"trash",size:"sm"}),editButtonClassName:"md:invisible absolute right-[22px] -top-2 flex h-8 w-8 cursor-pointer items-center justify-center text-white group-hover:visible! z-20",fileUploadClassName:"rounded-full bg-black flex items-center justify-center opacity-80 transition hover:opacity-100 -ml-2 cursor-pointer h-[80px] w-[80px]",fileUploadProps:{dragIndicatorClassName:"rounded-full"},id:"avatar",imageClassName:"w-full h-full object-cover rounded-full shrink-0",imageContainerClassName:"relative group bg-cover bg-center -ml-1 h-16 w-16 md:h-18 md:w-18 shrink-0",imageURL:m.profile_image??void 0,pintura:{isEnabled:U.isEnabled,openEditor:async()=>U.openEditor({image:m.profile_image||"",handleSave:async V=>{ge("profile_image",V)}})},unstyled:!0,width:"80px",onDelete:()=>{Me("profile_image")},onUpload:V=>{ge("profile_image",V)},children:n.jsx(Ge,{colorClass:"black",name:"user-add",size:"lg"})})}),n.jsxs("div",{className:"flex flex-nowrap items-start gap-3",children:[n.jsx(tr,{buttonContainerClassName:"flex items-end gap-4 justify-end flex-nowrap",deleteButtonClassName:ue,deleteButtonContent:"Delete cover image",editButtonClassName:ue,fileUploadClassName:ke,id:"cover-image",imageClassName:"hidden",imageURL:m.cover_image||"",pintura:{isEnabled:U.isEnabled,openEditor:async()=>U.openEditor({image:m.cover_image||"",handleSave:async V=>{ge("cover_image",V)}})},unstyled:!0,onDelete:()=>{Me("cover_image")},onUpload:V=>{ge("cover_image",V)},children:"Upload cover image"}),K&&n.jsx("div",{className:"z-10",children:n.jsx(tm,{items:ee,position:"end",trigger:n.jsxs("button",{className:he("flex h-8 cursor-pointer items-center justify-center rounded px-3",m.cover_image?"bg-[rgba(0,0,0,0.75)] opacity-80 hover:opacity-100":"border border-grey-300 bg-transparent text-black dark:border-grey-800 dark:text-white"),type:"button",children:[n.jsx("span",{className:"sr-only",children:"Actions"}),n.jsx(Ge,{colorClass:m.cover_image?"text-white":void 0,name:"ellipsis",size:"md"})]})})})]})]}),n.jsxs("div",{children:[n.jsxs(ct,{level:3,styles:he("break-words md:break-normal",m.cover_image?"text-white":"text-black dark:text-white"),children:[t.name,ye]}),n.jsx("span",{className:he("text-md font-medium capitalize",m.cover_image?"text-white":"text-black dark:text-white"),children:t.roles[0].name.toLowerCase()})]})]})})}),n.jsx("div",{className:`${!_r(p)&&"mx-auto max-w-[536px]"} mt-6 flex flex-col`,children:n.jsx(Nr,{selectedTab:de,tabs:[{id:"profile",title:"Profile",contents:n.jsx(kj,{clearError:C,errors:y,setUserData:j,user:m,validateField:N})},{id:"social-links",title:"Social Links",contents:n.jsx(Ej,{clearError:C,errors:y,setUserData:j,user:m,validateField:N})},{id:"email-notifications",title:"Email Notifications",contents:n.jsx(pj,{setUserData:j,user:m})}],onTabChange:ce})})]})})},Tj=({params:t})=>{const{currentUser:a}=ze(),s=a.slug===t?.slug,{data:i}=oy(t?.slug||"",{enabled:!s&&!!t?.slug}),u=s?a:i?.users?.[0];return u?n.jsx(Nj,{user:u}):null},Cj=me.create(Tj),cE={AddIntegrationModal:ak,AddNewsletterModal:ik,ContentApiModal:lk,AddRecommendationModal:Im,CustomIntegrationModal:Nk,DesignAndThemeModal:I2,EditRecommendationModal:Wy,FirstPromoterModal:$2,HistoryModal:q2,InviteUserModal:G2,NavigationModal:X2,NewsletterDetailModal:a8,PinturaModal:$8,PortalModal:q8,SlackModal:G8,StripeConnectModal:sj,TestimonialsModal:lj,TierDetailModal:qM,TransistorModal:uj,UnsplashModal:dj,UserDetailModal:Cj,ZapierModal:EM,AnnouncementBarModal:wk,EmbedSignupFormModal:D2,OffersContainerModal:S8,AboutModal:rk,OfferSuccess:Rm};export{cE as default};