@ozdao/martyrs 0.2.527 → 0.2.528
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.
- package/dist/builder.cjs +4 -4
- package/dist/builder.js +4 -4
- package/dist/{main-DFvn9trs.js → main-40cyU_8J.js} +361 -355
- package/dist/{main-BNqX4N59.cjs → main-sq8skoQM.cjs} +4 -4
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs → Dropdown.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.js → Dropdown.vue2.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue.cjs.map → Dropdown.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue2.cjs → Feed.vue.cjs} +3 -3
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js.map → Feed.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Feed/{Feed.vue2.js → Feed.vue.js} +3 -3
- package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -0
- package/dist/martyrs/src/components/Field/{Field.vue2.cjs → Field.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Field/{Field.vue2.js.map → Field.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Field/{Field.vue2.js → Field.vue.js} +2 -2
- package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
- package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.cjs → BlockTags.vue.cjs} +2 -2
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js.map → BlockTags.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/FieldTags/{BlockTags.vue2.js → BlockTags.vue.js} +2 -2
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +1 -0
- package/dist/martyrs/src/components/Media/Media.vue.cjs +20 -3
- package/dist/martyrs/src/components/Media/Media.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Media/Media.vue.js +20 -3
- package/dist/martyrs/src/components/Media/Media.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +11 -7
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +14 -10
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +12 -9
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +17 -14
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +12 -8
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +15 -11
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
- package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs +220 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js +220 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.app.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/store.cjs +47 -49
- package/dist/martyrs/src/modules/globals/views/classes/store.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/classes/store.js +48 -50
- package/dist/martyrs/src/modules/globals/views/classes/store.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -6
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -6
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +1 -1
- package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -2
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +11 -8
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +12 -9
- package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
- package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
- package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +2 -2
- package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -3
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +5 -5
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +4 -4
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.cjs → THC.vue.cjs} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/products/components/elements/{THC.vue2.js → THC.vue.js} +2 -2
- package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +1 -0
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs +198 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js +198 -0
- package/dist/node_modules/.pnpm/@unhead_dom@1.11.20/node_modules/@unhead/dom/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs +304 -0
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js +305 -1
- package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs +31 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js +33 -3
- package/dist/node_modules/.pnpm/@unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js.map +1 -1
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs +209 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js +209 -0
- package/dist/node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs +415 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js +415 -0
- package/dist/node_modules/.pnpm/unhead@1.11.20/node_modules/unhead/dist/index.js.map +1 -1
- package/dist/style.css +5 -5
- package/dist/{web-xomD1Wpp.cjs → web-C68B9mpp.cjs} +1 -1
- package/dist/{web-cWW0_Tbe.js → web-HreCVhdf.js} +1 -1
- package/package.json +1 -1
- package/src/builder/modes/ssr.prod.js +2 -2
- package/src/builder/modes/ssr.rspack.dev.js +1 -1
- package/src/builder/modes/ssr.vite.dev.js +1 -1
- package/src/components/Media/Media.vue +22 -1
- package/src/modules/auth/views/components/pages/ResetPassword.vue +10 -5
- package/src/modules/auth/views/components/pages/SignIn.vue +10 -4
- package/src/modules/auth/views/components/pages/SignUp.vue +10 -6
- package/src/modules/globals/TASK.MD +1 -0
- package/src/modules/globals/globals.client.js +3 -0
- package/src/modules/globals/views/classes/globals.app.js +320 -0
- package/src/modules/globals/views/classes/store.js +52 -55
- package/src/modules/globals/views/utils/vue-app-renderer.js +1 -7
- package/src/modules/landing/components/sections/SectionMobileApp.vue +6 -6
- package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
- package/src/styles/typography.scss +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +0 -1
- package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +0 -1
- package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +0 -1
package/dist/node_modules/.pnpm/@unhead_shared@1.11.20/node_modules/@unhead/shared/dist/index.cjs
CHANGED
|
@@ -2,6 +2,310 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const SelfClosingTags = /* @__PURE__ */ new Set(["meta", "link", "base"]);
|
|
4
4
|
const TagsWithInnerContent = /* @__PURE__ */ new Set(["title", "titleTemplate", "script", "style", "noscript"]);
|
|
5
|
+
const HasElementTags = /* @__PURE__ */ new Set([
|
|
6
|
+
"base",
|
|
7
|
+
"meta",
|
|
8
|
+
"link",
|
|
9
|
+
"style",
|
|
10
|
+
"script",
|
|
11
|
+
"noscript"
|
|
12
|
+
]);
|
|
13
|
+
const ValidHeadTags = /* @__PURE__ */ new Set([
|
|
14
|
+
"title",
|
|
15
|
+
"titleTemplate",
|
|
16
|
+
"templateParams",
|
|
17
|
+
"base",
|
|
18
|
+
"htmlAttrs",
|
|
19
|
+
"bodyAttrs",
|
|
20
|
+
"meta",
|
|
21
|
+
"link",
|
|
22
|
+
"style",
|
|
23
|
+
"script",
|
|
24
|
+
"noscript"
|
|
25
|
+
]);
|
|
26
|
+
const UniqueTags = /* @__PURE__ */ new Set(["base", "title", "titleTemplate", "bodyAttrs", "htmlAttrs", "templateParams"]);
|
|
27
|
+
const TagConfigKeys = /* @__PURE__ */ new Set(["tagPosition", "tagPriority", "tagDuplicateStrategy", "children", "innerHTML", "textContent", "processTemplateParams"]);
|
|
28
|
+
const IsBrowser = typeof window !== "undefined";
|
|
29
|
+
function defineHeadPlugin(plugin) {
|
|
30
|
+
return plugin;
|
|
31
|
+
}
|
|
32
|
+
function hashCode(s) {
|
|
33
|
+
let h = 9;
|
|
34
|
+
for (let i = 0; i < s.length; )
|
|
35
|
+
h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);
|
|
36
|
+
return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();
|
|
37
|
+
}
|
|
38
|
+
function hashTag(tag) {
|
|
39
|
+
if (tag._h) {
|
|
40
|
+
return tag._h;
|
|
41
|
+
}
|
|
42
|
+
if (tag._d) {
|
|
43
|
+
return hashCode(tag._d);
|
|
44
|
+
}
|
|
45
|
+
let content = `${tag.tag}:${tag.textContent || tag.innerHTML || ""}:`;
|
|
46
|
+
for (const key in tag.props) {
|
|
47
|
+
content += `${key}:${String(tag.props[key])},`;
|
|
48
|
+
}
|
|
49
|
+
return hashCode(content);
|
|
50
|
+
}
|
|
51
|
+
function thenable(val, thenFn) {
|
|
52
|
+
if (val instanceof Promise) {
|
|
53
|
+
return val.then(thenFn);
|
|
54
|
+
}
|
|
55
|
+
return thenFn(val);
|
|
56
|
+
}
|
|
57
|
+
function normaliseTag(tagName, input, e, normalizedProps) {
|
|
58
|
+
const props = normalizedProps || normaliseProps(
|
|
59
|
+
// explicitly check for an object
|
|
60
|
+
// @ts-expect-error untyped
|
|
61
|
+
typeof input === "object" && typeof input !== "function" && !(input instanceof Promise) ? { ...input } : { [tagName === "script" || tagName === "noscript" || tagName === "style" ? "innerHTML" : "textContent"]: input },
|
|
62
|
+
tagName === "templateParams" || tagName === "titleTemplate"
|
|
63
|
+
);
|
|
64
|
+
if (props instanceof Promise) {
|
|
65
|
+
return props.then((val) => normaliseTag(tagName, input, e, val));
|
|
66
|
+
}
|
|
67
|
+
const tag = {
|
|
68
|
+
tag: tagName,
|
|
69
|
+
props
|
|
70
|
+
};
|
|
71
|
+
for (const k of TagConfigKeys) {
|
|
72
|
+
const val = tag.props[k] !== void 0 ? tag.props[k] : e[k];
|
|
73
|
+
if (val !== void 0) {
|
|
74
|
+
if (!(k === "innerHTML" || k === "textContent" || k === "children") || TagsWithInnerContent.has(tag.tag)) {
|
|
75
|
+
tag[k === "children" ? "innerHTML" : k] = val;
|
|
76
|
+
}
|
|
77
|
+
delete tag.props[k];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (tag.props.body) {
|
|
81
|
+
tag.tagPosition = "bodyClose";
|
|
82
|
+
delete tag.props.body;
|
|
83
|
+
}
|
|
84
|
+
if (tag.tag === "script") {
|
|
85
|
+
if (typeof tag.innerHTML === "object") {
|
|
86
|
+
tag.innerHTML = JSON.stringify(tag.innerHTML);
|
|
87
|
+
tag.props.type = tag.props.type || "application/json";
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return Array.isArray(tag.props.content) ? tag.props.content.map((v) => ({ ...tag, props: { ...tag.props, content: v } })) : tag;
|
|
91
|
+
}
|
|
92
|
+
function normaliseStyleClassProps(key, v) {
|
|
93
|
+
const sep = key === "class" ? " " : ";";
|
|
94
|
+
if (v && typeof v === "object" && !Array.isArray(v)) {
|
|
95
|
+
v = Object.entries(v).filter(([, v2]) => v2).map(([k, v2]) => key === "style" ? `${k}:${v2}` : k);
|
|
96
|
+
}
|
|
97
|
+
return String(Array.isArray(v) ? v.join(sep) : v)?.split(sep).filter((c) => Boolean(c.trim())).join(sep);
|
|
98
|
+
}
|
|
99
|
+
function nestedNormaliseProps(props, virtual, keys, startIndex) {
|
|
100
|
+
for (let i = startIndex; i < keys.length; i += 1) {
|
|
101
|
+
const k = keys[i];
|
|
102
|
+
if (k === "class" || k === "style") {
|
|
103
|
+
props[k] = normaliseStyleClassProps(k, props[k]);
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (props[k] instanceof Promise) {
|
|
107
|
+
return props[k].then((val) => {
|
|
108
|
+
props[k] = val;
|
|
109
|
+
return nestedNormaliseProps(props, virtual, keys, i);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (!virtual && !TagConfigKeys.has(k)) {
|
|
113
|
+
const v = String(props[k]);
|
|
114
|
+
const isDataKey = k.startsWith("data-");
|
|
115
|
+
if (v === "true" || v === "") {
|
|
116
|
+
props[k] = isDataKey ? "true" : true;
|
|
117
|
+
} else if (!props[k]) {
|
|
118
|
+
if (isDataKey && v === "false")
|
|
119
|
+
props[k] = "false";
|
|
120
|
+
else
|
|
121
|
+
delete props[k];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function normaliseProps(props, virtual = false) {
|
|
127
|
+
const resolvedProps = nestedNormaliseProps(props, virtual, Object.keys(props), 0);
|
|
128
|
+
if (resolvedProps instanceof Promise) {
|
|
129
|
+
return resolvedProps.then(() => props);
|
|
130
|
+
}
|
|
131
|
+
return props;
|
|
132
|
+
}
|
|
133
|
+
const TagEntityBits = 10;
|
|
134
|
+
function nestedNormaliseEntryTags(headTags, tagPromises, startIndex) {
|
|
135
|
+
for (let i = startIndex; i < tagPromises.length; i += 1) {
|
|
136
|
+
const tags = tagPromises[i];
|
|
137
|
+
if (tags instanceof Promise) {
|
|
138
|
+
return tags.then((val) => {
|
|
139
|
+
tagPromises[i] = val;
|
|
140
|
+
return nestedNormaliseEntryTags(headTags, tagPromises, i);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (Array.isArray(tags)) {
|
|
144
|
+
headTags.push(...tags);
|
|
145
|
+
} else {
|
|
146
|
+
headTags.push(tags);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function normaliseEntryTags(e) {
|
|
151
|
+
const tagPromises = [];
|
|
152
|
+
const input = e.resolvedInput;
|
|
153
|
+
for (const k in input) {
|
|
154
|
+
if (!Object.prototype.hasOwnProperty.call(input, k)) {
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
const v = input[k];
|
|
158
|
+
if (v === void 0 || !ValidHeadTags.has(k)) {
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
if (Array.isArray(v)) {
|
|
162
|
+
for (const props of v) {
|
|
163
|
+
tagPromises.push(normaliseTag(k, props, e));
|
|
164
|
+
}
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
tagPromises.push(normaliseTag(k, v, e));
|
|
168
|
+
}
|
|
169
|
+
if (tagPromises.length === 0) {
|
|
170
|
+
return [];
|
|
171
|
+
}
|
|
172
|
+
const headTags = [];
|
|
173
|
+
return thenable(nestedNormaliseEntryTags(headTags, tagPromises, 0), () => headTags.map((t, i) => {
|
|
174
|
+
t._e = e._i;
|
|
175
|
+
e.mode && (t._m = e.mode);
|
|
176
|
+
t._p = (e._i << TagEntityBits) + i;
|
|
177
|
+
return t;
|
|
178
|
+
}));
|
|
179
|
+
}
|
|
180
|
+
const NetworkEvents = /* @__PURE__ */ new Set(["onload", "onerror", "onabort", "onprogress", "onloadstart"]);
|
|
181
|
+
const TAG_WEIGHTS = {
|
|
182
|
+
// tags
|
|
183
|
+
base: -10,
|
|
184
|
+
title: 10
|
|
185
|
+
};
|
|
186
|
+
const TAG_ALIASES = {
|
|
187
|
+
// relative scores to their default values
|
|
188
|
+
critical: -80,
|
|
189
|
+
high: -10,
|
|
190
|
+
low: 20
|
|
191
|
+
};
|
|
192
|
+
function tagWeight(tag) {
|
|
193
|
+
const priority = tag.tagPriority;
|
|
194
|
+
if (typeof priority === "number")
|
|
195
|
+
return priority;
|
|
196
|
+
let weight = 100;
|
|
197
|
+
if (tag.tag === "meta") {
|
|
198
|
+
if (tag.props["http-equiv"] === "content-security-policy")
|
|
199
|
+
weight = -30;
|
|
200
|
+
else if (tag.props.charset)
|
|
201
|
+
weight = -20;
|
|
202
|
+
else if (tag.props.name === "viewport")
|
|
203
|
+
weight = -15;
|
|
204
|
+
} else if (tag.tag === "link" && tag.props.rel === "preconnect") {
|
|
205
|
+
weight = 20;
|
|
206
|
+
} else if (tag.tag in TAG_WEIGHTS) {
|
|
207
|
+
weight = TAG_WEIGHTS[tag.tag];
|
|
208
|
+
}
|
|
209
|
+
if (priority && priority in TAG_ALIASES) {
|
|
210
|
+
return weight + TAG_ALIASES[priority];
|
|
211
|
+
}
|
|
212
|
+
return weight;
|
|
213
|
+
}
|
|
214
|
+
const SortModifiers = [{ prefix: "before:", offset: -1 }, { prefix: "after:", offset: 1 }];
|
|
215
|
+
const allowedMetaProperties = ["name", "property", "http-equiv"];
|
|
216
|
+
function tagDedupeKey(tag) {
|
|
217
|
+
const { props, tag: tagName } = tag;
|
|
218
|
+
if (UniqueTags.has(tagName))
|
|
219
|
+
return tagName;
|
|
220
|
+
if (tagName === "link" && props.rel === "canonical")
|
|
221
|
+
return "canonical";
|
|
222
|
+
if (props.charset)
|
|
223
|
+
return "charset";
|
|
224
|
+
if (props.id) {
|
|
225
|
+
return `${tagName}:id:${props.id}`;
|
|
226
|
+
}
|
|
227
|
+
for (const n of allowedMetaProperties) {
|
|
228
|
+
if (props[n] !== void 0) {
|
|
229
|
+
return `${tagName}:${n}:${props[n]}`;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return false;
|
|
233
|
+
}
|
|
234
|
+
const sepSub = "%separator";
|
|
235
|
+
function sub(p, token, isJson = false) {
|
|
236
|
+
let val;
|
|
237
|
+
if (token === "s" || token === "pageTitle") {
|
|
238
|
+
val = p.pageTitle;
|
|
239
|
+
} else if (token.includes(".")) {
|
|
240
|
+
const dotIndex = token.indexOf(".");
|
|
241
|
+
val = p[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)];
|
|
242
|
+
} else {
|
|
243
|
+
val = p[token];
|
|
244
|
+
}
|
|
245
|
+
if (val !== void 0) {
|
|
246
|
+
return isJson ? (val || "").replace(/"/g, '\\"') : val || "";
|
|
247
|
+
}
|
|
248
|
+
return void 0;
|
|
249
|
+
}
|
|
250
|
+
const sepSubRe = new RegExp(`${sepSub}(?:\\s*${sepSub})*`, "g");
|
|
251
|
+
function processTemplateParams(s, p, sep, isJson = false) {
|
|
252
|
+
if (typeof s !== "string" || !s.includes("%"))
|
|
253
|
+
return s;
|
|
254
|
+
let decoded = s;
|
|
255
|
+
try {
|
|
256
|
+
decoded = decodeURI(s);
|
|
257
|
+
} catch {
|
|
258
|
+
}
|
|
259
|
+
const tokens = decoded.match(/%\w+(?:\.\w+)?/g);
|
|
260
|
+
if (!tokens) {
|
|
261
|
+
return s;
|
|
262
|
+
}
|
|
263
|
+
const hasSepSub = s.includes(sepSub);
|
|
264
|
+
s = s.replace(/%\w+(?:\.\w+)?/g, (token) => {
|
|
265
|
+
if (token === sepSub || !tokens.includes(token)) {
|
|
266
|
+
return token;
|
|
267
|
+
}
|
|
268
|
+
const re = sub(p, token.slice(1), isJson);
|
|
269
|
+
return re !== void 0 ? re : token;
|
|
270
|
+
}).trim();
|
|
271
|
+
if (hasSepSub) {
|
|
272
|
+
if (s.endsWith(sepSub))
|
|
273
|
+
s = s.slice(0, -sepSub.length);
|
|
274
|
+
if (s.startsWith(sepSub))
|
|
275
|
+
s = s.slice(sepSub.length);
|
|
276
|
+
s = s.replace(sepSubRe, sep).trim();
|
|
277
|
+
}
|
|
278
|
+
return s;
|
|
279
|
+
}
|
|
280
|
+
function resolveTitleTemplate(template, title) {
|
|
281
|
+
if (template == null)
|
|
282
|
+
return title || null;
|
|
283
|
+
if (typeof template === "function")
|
|
284
|
+
return template(title);
|
|
285
|
+
return template;
|
|
286
|
+
}
|
|
287
|
+
exports.HasElementTags = HasElementTags;
|
|
288
|
+
exports.IsBrowser = IsBrowser;
|
|
289
|
+
exports.NetworkEvents = NetworkEvents;
|
|
5
290
|
exports.SelfClosingTags = SelfClosingTags;
|
|
291
|
+
exports.SortModifiers = SortModifiers;
|
|
292
|
+
exports.TAG_ALIASES = TAG_ALIASES;
|
|
293
|
+
exports.TAG_WEIGHTS = TAG_WEIGHTS;
|
|
294
|
+
exports.TagConfigKeys = TagConfigKeys;
|
|
295
|
+
exports.TagEntityBits = TagEntityBits;
|
|
6
296
|
exports.TagsWithInnerContent = TagsWithInnerContent;
|
|
297
|
+
exports.UniqueTags = UniqueTags;
|
|
298
|
+
exports.ValidHeadTags = ValidHeadTags;
|
|
299
|
+
exports.defineHeadPlugin = defineHeadPlugin;
|
|
300
|
+
exports.hashCode = hashCode;
|
|
301
|
+
exports.hashTag = hashTag;
|
|
302
|
+
exports.normaliseEntryTags = normaliseEntryTags;
|
|
303
|
+
exports.normaliseProps = normaliseProps;
|
|
304
|
+
exports.normaliseStyleClassProps = normaliseStyleClassProps;
|
|
305
|
+
exports.normaliseTag = normaliseTag;
|
|
306
|
+
exports.processTemplateParams = processTemplateParams;
|
|
307
|
+
exports.resolveTitleTemplate = resolveTitleTemplate;
|
|
308
|
+
exports.tagDedupeKey = tagDedupeKey;
|
|
309
|
+
exports.tagWeight = tagWeight;
|
|
310
|
+
exports.thenable = thenable;
|
|
7
311
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../../../../node_modules/.pnpm/@unhead+shared@1.11.20/node_modules/@unhead/shared/dist/index.mjs"],"sourcesContent":["import { unpackToString, unpackToArray, packArray } from 'packrup';\n\nfunction asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\nconst SelfClosingTags = /* @__PURE__ */ new Set([\"meta\", \"link\", \"base\"]);\nconst TagsWithInnerContent = /* @__PURE__ */ new Set([\"title\", \"titleTemplate\", \"script\", \"style\", \"noscript\"]);\nconst HasElementTags = /* @__PURE__ */ new Set([\n \"base\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n]);\nconst ValidHeadTags = /* @__PURE__ */ new Set([\n \"title\",\n \"titleTemplate\",\n \"templateParams\",\n \"base\",\n \"htmlAttrs\",\n \"bodyAttrs\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n]);\nconst UniqueTags = /* @__PURE__ */ new Set([\"base\", \"title\", \"titleTemplate\", \"bodyAttrs\", \"htmlAttrs\", \"templateParams\"]);\nconst TagConfigKeys = /* @__PURE__ */ new Set([\"tagPosition\", \"tagPriority\", \"tagDuplicateStrategy\", \"children\", \"innerHTML\", \"textContent\", \"processTemplateParams\"]);\nconst IsBrowser = typeof window !== \"undefined\";\nconst composableNames = [\n \"getActiveHead\",\n \"useHead\",\n \"useSeoMeta\",\n \"useHeadSafe\",\n \"useServerHead\",\n \"useServerSeoMeta\",\n \"useServerHeadSafe\"\n];\n\nfunction defineHeadPlugin(plugin) {\n return plugin;\n}\n\nfunction hashCode(s) {\n let h = 9;\n for (let i = 0; i < s.length; )\n h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);\n return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();\n}\nfunction hashTag(tag) {\n if (tag._h) {\n return tag._h;\n }\n if (tag._d) {\n return hashCode(tag._d);\n }\n let content = `${tag.tag}:${tag.textContent || tag.innerHTML || \"\"}:`;\n for (const key in tag.props) {\n content += `${key}:${String(tag.props[key])},`;\n }\n return hashCode(content);\n}\n\nconst p = (p2) => ({ keyValue: p2, metaKey: \"property\" });\nconst k = (p2) => ({ keyValue: p2 });\nconst MetaPackingSchema = {\n appleItunesApp: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)}=${value}`;\n }\n }\n },\n articleExpirationTime: p(\"article:expiration_time\"),\n articleModifiedTime: p(\"article:modified_time\"),\n articlePublishedTime: p(\"article:published_time\"),\n bookReleaseDate: p(\"book:release_date\"),\n charset: {\n metaKey: \"charset\"\n },\n contentSecurityPolicy: {\n unpack: {\n entrySeparator: \"; \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)} ${value}`;\n }\n },\n metaKey: \"http-equiv\"\n },\n contentType: {\n metaKey: \"http-equiv\"\n },\n defaultStyle: {\n metaKey: \"http-equiv\"\n },\n fbAppId: p(\"fb:app_id\"),\n msapplicationConfig: k(\"msapplication-Config\"),\n msapplicationTileColor: k(\"msapplication-TileColor\"),\n msapplicationTileImage: k(\"msapplication-TileImage\"),\n ogAudioSecureUrl: p(\"og:audio:secure_url\"),\n ogAudioUrl: p(\"og:audio\"),\n ogImageSecureUrl: p(\"og:image:secure_url\"),\n ogImageUrl: p(\"og:image\"),\n ogSiteName: p(\"og:site_name\"),\n ogVideoSecureUrl: p(\"og:video:secure_url\"),\n ogVideoUrl: p(\"og:video\"),\n profileFirstName: p(\"profile:first_name\"),\n profileLastName: p(\"profile:last_name\"),\n profileUsername: p(\"profile:username\"),\n refresh: {\n metaKey: \"http-equiv\",\n unpack: {\n entrySeparator: \";\",\n resolve({ key, value }) {\n if (key === \"seconds\")\n return `${value}`;\n }\n }\n },\n robots: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n if (typeof value === \"boolean\")\n return `${fixKeyCase(key)}`;\n else\n return `${fixKeyCase(key)}:${value}`;\n }\n }\n },\n xUaCompatible: {\n metaKey: \"http-equiv\"\n }\n};\nconst openGraphNamespaces = /* @__PURE__ */ new Set([\n \"og\",\n \"book\",\n \"article\",\n \"profile\"\n]);\nfunction resolveMetaKeyType(key) {\n const fKey = fixKeyCase(key);\n const prefixIndex = fKey.indexOf(\":\");\n if (openGraphNamespaces.has(fKey.substring(0, prefixIndex)))\n return \"property\";\n return MetaPackingSchema[key]?.metaKey || \"name\";\n}\nfunction resolveMetaKeyValue(key) {\n return MetaPackingSchema[key]?.keyValue || fixKeyCase(key);\n}\nfunction fixKeyCase(key) {\n const updated = key.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n const prefixIndex = updated.indexOf(\"-\");\n const fKey = updated.substring(0, prefixIndex);\n if (fKey === \"twitter\" || openGraphNamespaces.has(fKey))\n return key.replace(/([A-Z])/g, \":$1\").toLowerCase();\n return updated;\n}\nfunction changeKeyCasingDeep(input) {\n if (Array.isArray(input)) {\n return input.map((entry) => changeKeyCasingDeep(entry));\n }\n if (typeof input !== \"object\" || Array.isArray(input))\n return input;\n const output = {};\n for (const key in input) {\n if (!Object.prototype.hasOwnProperty.call(input, key)) {\n continue;\n }\n output[fixKeyCase(key)] = changeKeyCasingDeep(input[key]);\n }\n return output;\n}\nfunction resolvePackedMetaObjectValue(value, key) {\n const definition = MetaPackingSchema[key];\n if (key === \"refresh\")\n return `${value.seconds};url=${value.url}`;\n return unpackToString(\n changeKeyCasingDeep(value),\n {\n keyValueSeparator: \"=\",\n entrySeparator: \", \",\n resolve({ value: value2, key: key2 }) {\n if (value2 === null)\n return \"\";\n if (typeof value2 === \"boolean\")\n return `${key2}`;\n },\n ...definition?.unpack\n }\n );\n}\nconst ObjectArrayEntries = /* @__PURE__ */ new Set([\"og:image\", \"og:video\", \"og:audio\", \"twitter:image\"]);\nfunction sanitize(input) {\n const out = {};\n for (const k2 in input) {\n if (!Object.prototype.hasOwnProperty.call(input, k2)) {\n continue;\n }\n const v = input[k2];\n if (String(v) !== \"false\" && k2)\n out[k2] = v;\n }\n return out;\n}\nfunction handleObjectEntry(key, v) {\n const value = sanitize(v);\n const fKey = fixKeyCase(key);\n const attr = resolveMetaKeyType(fKey);\n if (ObjectArrayEntries.has(fKey)) {\n const input = {};\n for (const k2 in value) {\n if (!Object.prototype.hasOwnProperty.call(value, k2)) {\n continue;\n }\n input[`${key}${k2 === \"url\" ? \"\" : `${k2[0].toUpperCase()}${k2.slice(1)}`}`] = value[k2];\n }\n return unpackMeta(input).sort((a, b) => (a[attr]?.length || 0) - (b[attr]?.length || 0));\n }\n return [{ [attr]: fKey, ...value }];\n}\nfunction unpackMeta(input) {\n const extras = [];\n const primitives = {};\n for (const key in input) {\n if (!Object.prototype.hasOwnProperty.call(input, key)) {\n continue;\n }\n const value = input[key];\n if (!Array.isArray(value)) {\n if (typeof value === \"object\" && value) {\n if (ObjectArrayEntries.has(fixKeyCase(key))) {\n extras.push(...handleObjectEntry(key, value));\n continue;\n }\n primitives[key] = sanitize(value);\n } else {\n primitives[key] = value;\n }\n continue;\n }\n for (const v of value) {\n extras.push(...typeof v === \"string\" ? unpackMeta({ [key]: v }) : handleObjectEntry(key, v));\n }\n }\n const meta = unpackToArray(primitives, {\n key({ key }) {\n return resolveMetaKeyType(key);\n },\n value({ key }) {\n return key === \"charset\" ? \"charset\" : \"content\";\n },\n resolveKeyData({ key }) {\n return resolveMetaKeyValue(key);\n },\n resolveValueData({ value, key }) {\n if (value === null)\n return \"_null\";\n if (typeof value === \"object\")\n return resolvePackedMetaObjectValue(value, key);\n return typeof value === \"number\" ? value.toString() : value;\n }\n });\n return [...extras, ...meta].map((m) => {\n if (m.content === \"_null\")\n m.content = null;\n return m;\n });\n}\nfunction packMeta(inputs) {\n const mappedPackingSchema = Object.entries(MetaPackingSchema).map(([key, value]) => [key, value.keyValue]);\n return packArray(inputs, {\n key: [\"name\", \"property\", \"httpEquiv\", \"http-equiv\", \"charset\"],\n value: [\"content\", \"charset\"],\n resolveKey(k2) {\n let key = mappedPackingSchema.filter((sk) => sk[1] === k2)?.[0]?.[0] || k2;\n const replacer = (_, letter) => letter?.toUpperCase();\n key = key.replace(/:([a-z])/g, replacer).replace(/-([a-z])/g, replacer);\n return key;\n }\n });\n}\n\nfunction thenable(val, thenFn) {\n if (val instanceof Promise) {\n return val.then(thenFn);\n }\n return thenFn(val);\n}\n\nfunction normaliseTag(tagName, input, e, normalizedProps) {\n const props = normalizedProps || normaliseProps(\n // explicitly check for an object\n // @ts-expect-error untyped\n typeof input === \"object\" && typeof input !== \"function\" && !(input instanceof Promise) ? { ...input } : { [tagName === \"script\" || tagName === \"noscript\" || tagName === \"style\" ? \"innerHTML\" : \"textContent\"]: input },\n tagName === \"templateParams\" || tagName === \"titleTemplate\"\n );\n if (props instanceof Promise) {\n return props.then((val) => normaliseTag(tagName, input, e, val));\n }\n const tag = {\n tag: tagName,\n props\n };\n for (const k of TagConfigKeys) {\n const val = tag.props[k] !== void 0 ? tag.props[k] : e[k];\n if (val !== void 0) {\n if (!(k === \"innerHTML\" || k === \"textContent\" || k === \"children\") || TagsWithInnerContent.has(tag.tag)) {\n tag[k === \"children\" ? \"innerHTML\" : k] = val;\n }\n delete tag.props[k];\n }\n }\n if (tag.props.body) {\n tag.tagPosition = \"bodyClose\";\n delete tag.props.body;\n }\n if (tag.tag === \"script\") {\n if (typeof tag.innerHTML === \"object\") {\n tag.innerHTML = JSON.stringify(tag.innerHTML);\n tag.props.type = tag.props.type || \"application/json\";\n }\n }\n return Array.isArray(tag.props.content) ? tag.props.content.map((v) => ({ ...tag, props: { ...tag.props, content: v } })) : tag;\n}\nfunction normaliseStyleClassProps(key, v) {\n const sep = key === \"class\" ? \" \" : \";\";\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n v = Object.entries(v).filter(([, v2]) => v2).map(([k, v2]) => key === \"style\" ? `${k}:${v2}` : k);\n }\n return String(Array.isArray(v) ? v.join(sep) : v)?.split(sep).filter((c) => Boolean(c.trim())).join(sep);\n}\nfunction nestedNormaliseProps(props, virtual, keys, startIndex) {\n for (let i = startIndex; i < keys.length; i += 1) {\n const k = keys[i];\n if (k === \"class\" || k === \"style\") {\n props[k] = normaliseStyleClassProps(k, props[k]);\n continue;\n }\n if (props[k] instanceof Promise) {\n return props[k].then((val) => {\n props[k] = val;\n return nestedNormaliseProps(props, virtual, keys, i);\n });\n }\n if (!virtual && !TagConfigKeys.has(k)) {\n const v = String(props[k]);\n const isDataKey = k.startsWith(\"data-\");\n if (v === \"true\" || v === \"\") {\n props[k] = isDataKey ? \"true\" : true;\n } else if (!props[k]) {\n if (isDataKey && v === \"false\")\n props[k] = \"false\";\n else\n delete props[k];\n }\n }\n }\n}\nfunction normaliseProps(props, virtual = false) {\n const resolvedProps = nestedNormaliseProps(props, virtual, Object.keys(props), 0);\n if (resolvedProps instanceof Promise) {\n return resolvedProps.then(() => props);\n }\n return props;\n}\nconst TagEntityBits = 10;\nfunction nestedNormaliseEntryTags(headTags, tagPromises, startIndex) {\n for (let i = startIndex; i < tagPromises.length; i += 1) {\n const tags = tagPromises[i];\n if (tags instanceof Promise) {\n return tags.then((val) => {\n tagPromises[i] = val;\n return nestedNormaliseEntryTags(headTags, tagPromises, i);\n });\n }\n if (Array.isArray(tags)) {\n headTags.push(...tags);\n } else {\n headTags.push(tags);\n }\n }\n}\nfunction normaliseEntryTags(e) {\n const tagPromises = [];\n const input = e.resolvedInput;\n for (const k in input) {\n if (!Object.prototype.hasOwnProperty.call(input, k)) {\n continue;\n }\n const v = input[k];\n if (v === void 0 || !ValidHeadTags.has(k)) {\n continue;\n }\n if (Array.isArray(v)) {\n for (const props of v) {\n tagPromises.push(normaliseTag(k, props, e));\n }\n continue;\n }\n tagPromises.push(normaliseTag(k, v, e));\n }\n if (tagPromises.length === 0) {\n return [];\n }\n const headTags = [];\n return thenable(nestedNormaliseEntryTags(headTags, tagPromises, 0), () => headTags.map((t, i) => {\n t._e = e._i;\n e.mode && (t._m = e.mode);\n t._p = (e._i << TagEntityBits) + i;\n return t;\n }));\n}\n\nconst WhitelistAttributes = {\n htmlAttrs: [\"id\", \"class\", \"lang\", \"dir\"],\n bodyAttrs: [\"id\", \"class\"],\n meta: [\"id\", \"name\", \"property\", \"charset\", \"content\"],\n noscript: [\"id\", \"textContent\"],\n script: [\"id\", \"type\", \"textContent\"],\n link: [\"id\", \"color\", \"crossorigin\", \"fetchpriority\", \"href\", \"hreflang\", \"imagesrcset\", \"imagesizes\", \"integrity\", \"media\", \"referrerpolicy\", \"rel\", \"sizes\", \"type\"]\n};\nfunction acceptDataAttrs(value) {\n const filtered = {};\n Object.keys(value || {}).filter((a) => a.startsWith(\"data-\")).forEach((a) => {\n filtered[a] = value[a];\n });\n return filtered;\n}\nfunction whitelistSafeInput(input) {\n const filtered = {};\n Object.keys(input).forEach((key) => {\n const tagValue = input[key];\n if (!tagValue)\n return;\n switch (key) {\n // always safe\n case \"title\":\n case \"titleTemplate\":\n case \"templateParams\":\n filtered[key] = tagValue;\n break;\n case \"htmlAttrs\":\n case \"bodyAttrs\":\n filtered[key] = acceptDataAttrs(tagValue);\n WhitelistAttributes[key].forEach((a) => {\n if (tagValue[a])\n filtered[key][a] = tagValue[a];\n });\n break;\n // meta is safe, except for http-equiv\n case \"meta\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const safeMeta = acceptDataAttrs(meta);\n WhitelistAttributes.meta.forEach((key2) => {\n if (meta[key2])\n safeMeta[key2] = meta[key2];\n });\n return safeMeta;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n // link tags we don't allow stylesheets, scripts, preloading, prerendering, prefetching, etc\n case \"link\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const link = acceptDataAttrs(meta);\n WhitelistAttributes.link.forEach((key2) => {\n const val = meta[key2];\n if (key2 === \"rel\" && (val === \"stylesheet\" || val === \"canonical\" || val === \"modulepreload\" || val === \"prerender\" || val === \"preload\" || val === \"prefetch\"))\n return;\n if (key2 === \"href\") {\n if (val.includes(\"javascript:\") || val.includes(\"data:\"))\n return;\n link[key2] = val;\n } else if (val) {\n link[key2] = val;\n }\n });\n return link;\n }).filter((link) => Object.keys(link).length > 1 && !!link.rel);\n }\n break;\n case \"noscript\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const noscript = acceptDataAttrs(meta);\n WhitelistAttributes.noscript.forEach((key2) => {\n if (meta[key2])\n noscript[key2] = meta[key2];\n });\n return noscript;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n // we only allow JSON in scripts\n case \"script\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((script) => {\n const safeScript = acceptDataAttrs(script);\n WhitelistAttributes.script.forEach((s) => {\n if (script[s]) {\n if (s === \"textContent\") {\n try {\n const jsonVal = typeof script[s] === \"string\" ? JSON.parse(script[s]) : script[s];\n safeScript[s] = JSON.stringify(jsonVal, null, 0);\n } catch (e) {\n }\n } else {\n safeScript[s] = script[s];\n }\n }\n });\n return safeScript;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n }\n });\n return filtered;\n}\n\nconst NetworkEvents = /* @__PURE__ */ new Set([\"onload\", \"onerror\", \"onabort\", \"onprogress\", \"onloadstart\"]);\nconst ScriptNetworkEvents = /* @__PURE__ */ new Set([\"onload\", \"onerror\"]);\n\nconst TAG_WEIGHTS = {\n // tags\n base: -10,\n title: 10\n};\nconst TAG_ALIASES = {\n // relative scores to their default values\n critical: -80,\n high: -10,\n low: 20\n};\nfunction tagWeight(tag) {\n const priority = tag.tagPriority;\n if (typeof priority === \"number\")\n return priority;\n let weight = 100;\n if (tag.tag === \"meta\") {\n if (tag.props[\"http-equiv\"] === \"content-security-policy\")\n weight = -30;\n else if (tag.props.charset)\n weight = -20;\n else if (tag.props.name === \"viewport\")\n weight = -15;\n } else if (tag.tag === \"link\" && tag.props.rel === \"preconnect\") {\n weight = 20;\n } else if (tag.tag in TAG_WEIGHTS) {\n weight = TAG_WEIGHTS[tag.tag];\n }\n if (priority && priority in TAG_ALIASES) {\n return weight + TAG_ALIASES[priority];\n }\n return weight;\n}\nconst SortModifiers = [{ prefix: \"before:\", offset: -1 }, { prefix: \"after:\", offset: 1 }];\n\nconst allowedMetaProperties = [\"name\", \"property\", \"http-equiv\"];\nfunction tagDedupeKey(tag) {\n const { props, tag: tagName } = tag;\n if (UniqueTags.has(tagName))\n return tagName;\n if (tagName === \"link\" && props.rel === \"canonical\")\n return \"canonical\";\n if (props.charset)\n return \"charset\";\n if (props.id) {\n return `${tagName}:id:${props.id}`;\n }\n for (const n of allowedMetaProperties) {\n if (props[n] !== void 0) {\n return `${tagName}:${n}:${props[n]}`;\n }\n }\n return false;\n}\n\nconst sepSub = \"%separator\";\nfunction sub(p, token, isJson = false) {\n let val;\n if (token === \"s\" || token === \"pageTitle\") {\n val = p.pageTitle;\n } else if (token.includes(\".\")) {\n const dotIndex = token.indexOf(\".\");\n val = p[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)];\n } else {\n val = p[token];\n }\n if (val !== void 0) {\n return isJson ? (val || \"\").replace(/\"/g, '\\\\\"') : val || \"\";\n }\n return void 0;\n}\nconst sepSubRe = new RegExp(`${sepSub}(?:\\\\s*${sepSub})*`, \"g\");\nfunction processTemplateParams(s, p, sep, isJson = false) {\n if (typeof s !== \"string\" || !s.includes(\"%\"))\n return s;\n let decoded = s;\n try {\n decoded = decodeURI(s);\n } catch {\n }\n const tokens = decoded.match(/%\\w+(?:\\.\\w+)?/g);\n if (!tokens) {\n return s;\n }\n const hasSepSub = s.includes(sepSub);\n s = s.replace(/%\\w+(?:\\.\\w+)?/g, (token) => {\n if (token === sepSub || !tokens.includes(token)) {\n return token;\n }\n const re = sub(p, token.slice(1), isJson);\n return re !== void 0 ? re : token;\n }).trim();\n if (hasSepSub) {\n if (s.endsWith(sepSub))\n s = s.slice(0, -sepSub.length);\n if (s.startsWith(sepSub))\n s = s.slice(sepSub.length);\n s = s.replace(sepSubRe, sep).trim();\n }\n return s;\n}\n\nfunction resolveTitleTemplate(template, title) {\n if (template == null)\n return title || null;\n if (typeof template === \"function\")\n return template(title);\n return template;\n}\n\nexport { HasElementTags, IsBrowser, NetworkEvents, ScriptNetworkEvents, SelfClosingTags, SortModifiers, TAG_ALIASES, TAG_WEIGHTS, TagConfigKeys, TagEntityBits, TagsWithInnerContent, UniqueTags, ValidHeadTags, asArray, composableNames, defineHeadPlugin, hashCode, hashTag, normaliseEntryTags, normaliseProps, normaliseStyleClassProps, normaliseTag, packMeta, processTemplateParams, resolveMetaKeyType, resolveMetaKeyValue, resolvePackedMetaObjectValue, resolveTitleTemplate, tagDedupeKey, tagWeight, thenable, unpackMeta, whitelistSafeInput };\n"],"names":[],"mappings":";;AAMK,MAAC,kBAAkC,oBAAI,IAAI,CAAC,QAAQ,QAAQ,MAAM,CAAC;AACnE,MAAC,uBAAuC,oBAAI,IAAI,CAAC,SAAS,iBAAiB,UAAU,SAAS,UAAU,CAAC;;;","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../../../../../node_modules/.pnpm/@unhead+shared@1.11.20/node_modules/@unhead/shared/dist/index.mjs"],"sourcesContent":["import { unpackToString, unpackToArray, packArray } from 'packrup';\n\nfunction asArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\nconst SelfClosingTags = /* @__PURE__ */ new Set([\"meta\", \"link\", \"base\"]);\nconst TagsWithInnerContent = /* @__PURE__ */ new Set([\"title\", \"titleTemplate\", \"script\", \"style\", \"noscript\"]);\nconst HasElementTags = /* @__PURE__ */ new Set([\n \"base\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n]);\nconst ValidHeadTags = /* @__PURE__ */ new Set([\n \"title\",\n \"titleTemplate\",\n \"templateParams\",\n \"base\",\n \"htmlAttrs\",\n \"bodyAttrs\",\n \"meta\",\n \"link\",\n \"style\",\n \"script\",\n \"noscript\"\n]);\nconst UniqueTags = /* @__PURE__ */ new Set([\"base\", \"title\", \"titleTemplate\", \"bodyAttrs\", \"htmlAttrs\", \"templateParams\"]);\nconst TagConfigKeys = /* @__PURE__ */ new Set([\"tagPosition\", \"tagPriority\", \"tagDuplicateStrategy\", \"children\", \"innerHTML\", \"textContent\", \"processTemplateParams\"]);\nconst IsBrowser = typeof window !== \"undefined\";\nconst composableNames = [\n \"getActiveHead\",\n \"useHead\",\n \"useSeoMeta\",\n \"useHeadSafe\",\n \"useServerHead\",\n \"useServerSeoMeta\",\n \"useServerHeadSafe\"\n];\n\nfunction defineHeadPlugin(plugin) {\n return plugin;\n}\n\nfunction hashCode(s) {\n let h = 9;\n for (let i = 0; i < s.length; )\n h = Math.imul(h ^ s.charCodeAt(i++), 9 ** 9);\n return ((h ^ h >>> 9) + 65536).toString(16).substring(1, 8).toLowerCase();\n}\nfunction hashTag(tag) {\n if (tag._h) {\n return tag._h;\n }\n if (tag._d) {\n return hashCode(tag._d);\n }\n let content = `${tag.tag}:${tag.textContent || tag.innerHTML || \"\"}:`;\n for (const key in tag.props) {\n content += `${key}:${String(tag.props[key])},`;\n }\n return hashCode(content);\n}\n\nconst p = (p2) => ({ keyValue: p2, metaKey: \"property\" });\nconst k = (p2) => ({ keyValue: p2 });\nconst MetaPackingSchema = {\n appleItunesApp: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)}=${value}`;\n }\n }\n },\n articleExpirationTime: p(\"article:expiration_time\"),\n articleModifiedTime: p(\"article:modified_time\"),\n articlePublishedTime: p(\"article:published_time\"),\n bookReleaseDate: p(\"book:release_date\"),\n charset: {\n metaKey: \"charset\"\n },\n contentSecurityPolicy: {\n unpack: {\n entrySeparator: \"; \",\n resolve({ key, value }) {\n return `${fixKeyCase(key)} ${value}`;\n }\n },\n metaKey: \"http-equiv\"\n },\n contentType: {\n metaKey: \"http-equiv\"\n },\n defaultStyle: {\n metaKey: \"http-equiv\"\n },\n fbAppId: p(\"fb:app_id\"),\n msapplicationConfig: k(\"msapplication-Config\"),\n msapplicationTileColor: k(\"msapplication-TileColor\"),\n msapplicationTileImage: k(\"msapplication-TileImage\"),\n ogAudioSecureUrl: p(\"og:audio:secure_url\"),\n ogAudioUrl: p(\"og:audio\"),\n ogImageSecureUrl: p(\"og:image:secure_url\"),\n ogImageUrl: p(\"og:image\"),\n ogSiteName: p(\"og:site_name\"),\n ogVideoSecureUrl: p(\"og:video:secure_url\"),\n ogVideoUrl: p(\"og:video\"),\n profileFirstName: p(\"profile:first_name\"),\n profileLastName: p(\"profile:last_name\"),\n profileUsername: p(\"profile:username\"),\n refresh: {\n metaKey: \"http-equiv\",\n unpack: {\n entrySeparator: \";\",\n resolve({ key, value }) {\n if (key === \"seconds\")\n return `${value}`;\n }\n }\n },\n robots: {\n unpack: {\n entrySeparator: \", \",\n resolve({ key, value }) {\n if (typeof value === \"boolean\")\n return `${fixKeyCase(key)}`;\n else\n return `${fixKeyCase(key)}:${value}`;\n }\n }\n },\n xUaCompatible: {\n metaKey: \"http-equiv\"\n }\n};\nconst openGraphNamespaces = /* @__PURE__ */ new Set([\n \"og\",\n \"book\",\n \"article\",\n \"profile\"\n]);\nfunction resolveMetaKeyType(key) {\n const fKey = fixKeyCase(key);\n const prefixIndex = fKey.indexOf(\":\");\n if (openGraphNamespaces.has(fKey.substring(0, prefixIndex)))\n return \"property\";\n return MetaPackingSchema[key]?.metaKey || \"name\";\n}\nfunction resolveMetaKeyValue(key) {\n return MetaPackingSchema[key]?.keyValue || fixKeyCase(key);\n}\nfunction fixKeyCase(key) {\n const updated = key.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n const prefixIndex = updated.indexOf(\"-\");\n const fKey = updated.substring(0, prefixIndex);\n if (fKey === \"twitter\" || openGraphNamespaces.has(fKey))\n return key.replace(/([A-Z])/g, \":$1\").toLowerCase();\n return updated;\n}\nfunction changeKeyCasingDeep(input) {\n if (Array.isArray(input)) {\n return input.map((entry) => changeKeyCasingDeep(entry));\n }\n if (typeof input !== \"object\" || Array.isArray(input))\n return input;\n const output = {};\n for (const key in input) {\n if (!Object.prototype.hasOwnProperty.call(input, key)) {\n continue;\n }\n output[fixKeyCase(key)] = changeKeyCasingDeep(input[key]);\n }\n return output;\n}\nfunction resolvePackedMetaObjectValue(value, key) {\n const definition = MetaPackingSchema[key];\n if (key === \"refresh\")\n return `${value.seconds};url=${value.url}`;\n return unpackToString(\n changeKeyCasingDeep(value),\n {\n keyValueSeparator: \"=\",\n entrySeparator: \", \",\n resolve({ value: value2, key: key2 }) {\n if (value2 === null)\n return \"\";\n if (typeof value2 === \"boolean\")\n return `${key2}`;\n },\n ...definition?.unpack\n }\n );\n}\nconst ObjectArrayEntries = /* @__PURE__ */ new Set([\"og:image\", \"og:video\", \"og:audio\", \"twitter:image\"]);\nfunction sanitize(input) {\n const out = {};\n for (const k2 in input) {\n if (!Object.prototype.hasOwnProperty.call(input, k2)) {\n continue;\n }\n const v = input[k2];\n if (String(v) !== \"false\" && k2)\n out[k2] = v;\n }\n return out;\n}\nfunction handleObjectEntry(key, v) {\n const value = sanitize(v);\n const fKey = fixKeyCase(key);\n const attr = resolveMetaKeyType(fKey);\n if (ObjectArrayEntries.has(fKey)) {\n const input = {};\n for (const k2 in value) {\n if (!Object.prototype.hasOwnProperty.call(value, k2)) {\n continue;\n }\n input[`${key}${k2 === \"url\" ? \"\" : `${k2[0].toUpperCase()}${k2.slice(1)}`}`] = value[k2];\n }\n return unpackMeta(input).sort((a, b) => (a[attr]?.length || 0) - (b[attr]?.length || 0));\n }\n return [{ [attr]: fKey, ...value }];\n}\nfunction unpackMeta(input) {\n const extras = [];\n const primitives = {};\n for (const key in input) {\n if (!Object.prototype.hasOwnProperty.call(input, key)) {\n continue;\n }\n const value = input[key];\n if (!Array.isArray(value)) {\n if (typeof value === \"object\" && value) {\n if (ObjectArrayEntries.has(fixKeyCase(key))) {\n extras.push(...handleObjectEntry(key, value));\n continue;\n }\n primitives[key] = sanitize(value);\n } else {\n primitives[key] = value;\n }\n continue;\n }\n for (const v of value) {\n extras.push(...typeof v === \"string\" ? unpackMeta({ [key]: v }) : handleObjectEntry(key, v));\n }\n }\n const meta = unpackToArray(primitives, {\n key({ key }) {\n return resolveMetaKeyType(key);\n },\n value({ key }) {\n return key === \"charset\" ? \"charset\" : \"content\";\n },\n resolveKeyData({ key }) {\n return resolveMetaKeyValue(key);\n },\n resolveValueData({ value, key }) {\n if (value === null)\n return \"_null\";\n if (typeof value === \"object\")\n return resolvePackedMetaObjectValue(value, key);\n return typeof value === \"number\" ? value.toString() : value;\n }\n });\n return [...extras, ...meta].map((m) => {\n if (m.content === \"_null\")\n m.content = null;\n return m;\n });\n}\nfunction packMeta(inputs) {\n const mappedPackingSchema = Object.entries(MetaPackingSchema).map(([key, value]) => [key, value.keyValue]);\n return packArray(inputs, {\n key: [\"name\", \"property\", \"httpEquiv\", \"http-equiv\", \"charset\"],\n value: [\"content\", \"charset\"],\n resolveKey(k2) {\n let key = mappedPackingSchema.filter((sk) => sk[1] === k2)?.[0]?.[0] || k2;\n const replacer = (_, letter) => letter?.toUpperCase();\n key = key.replace(/:([a-z])/g, replacer).replace(/-([a-z])/g, replacer);\n return key;\n }\n });\n}\n\nfunction thenable(val, thenFn) {\n if (val instanceof Promise) {\n return val.then(thenFn);\n }\n return thenFn(val);\n}\n\nfunction normaliseTag(tagName, input, e, normalizedProps) {\n const props = normalizedProps || normaliseProps(\n // explicitly check for an object\n // @ts-expect-error untyped\n typeof input === \"object\" && typeof input !== \"function\" && !(input instanceof Promise) ? { ...input } : { [tagName === \"script\" || tagName === \"noscript\" || tagName === \"style\" ? \"innerHTML\" : \"textContent\"]: input },\n tagName === \"templateParams\" || tagName === \"titleTemplate\"\n );\n if (props instanceof Promise) {\n return props.then((val) => normaliseTag(tagName, input, e, val));\n }\n const tag = {\n tag: tagName,\n props\n };\n for (const k of TagConfigKeys) {\n const val = tag.props[k] !== void 0 ? tag.props[k] : e[k];\n if (val !== void 0) {\n if (!(k === \"innerHTML\" || k === \"textContent\" || k === \"children\") || TagsWithInnerContent.has(tag.tag)) {\n tag[k === \"children\" ? \"innerHTML\" : k] = val;\n }\n delete tag.props[k];\n }\n }\n if (tag.props.body) {\n tag.tagPosition = \"bodyClose\";\n delete tag.props.body;\n }\n if (tag.tag === \"script\") {\n if (typeof tag.innerHTML === \"object\") {\n tag.innerHTML = JSON.stringify(tag.innerHTML);\n tag.props.type = tag.props.type || \"application/json\";\n }\n }\n return Array.isArray(tag.props.content) ? tag.props.content.map((v) => ({ ...tag, props: { ...tag.props, content: v } })) : tag;\n}\nfunction normaliseStyleClassProps(key, v) {\n const sep = key === \"class\" ? \" \" : \";\";\n if (v && typeof v === \"object\" && !Array.isArray(v)) {\n v = Object.entries(v).filter(([, v2]) => v2).map(([k, v2]) => key === \"style\" ? `${k}:${v2}` : k);\n }\n return String(Array.isArray(v) ? v.join(sep) : v)?.split(sep).filter((c) => Boolean(c.trim())).join(sep);\n}\nfunction nestedNormaliseProps(props, virtual, keys, startIndex) {\n for (let i = startIndex; i < keys.length; i += 1) {\n const k = keys[i];\n if (k === \"class\" || k === \"style\") {\n props[k] = normaliseStyleClassProps(k, props[k]);\n continue;\n }\n if (props[k] instanceof Promise) {\n return props[k].then((val) => {\n props[k] = val;\n return nestedNormaliseProps(props, virtual, keys, i);\n });\n }\n if (!virtual && !TagConfigKeys.has(k)) {\n const v = String(props[k]);\n const isDataKey = k.startsWith(\"data-\");\n if (v === \"true\" || v === \"\") {\n props[k] = isDataKey ? \"true\" : true;\n } else if (!props[k]) {\n if (isDataKey && v === \"false\")\n props[k] = \"false\";\n else\n delete props[k];\n }\n }\n }\n}\nfunction normaliseProps(props, virtual = false) {\n const resolvedProps = nestedNormaliseProps(props, virtual, Object.keys(props), 0);\n if (resolvedProps instanceof Promise) {\n return resolvedProps.then(() => props);\n }\n return props;\n}\nconst TagEntityBits = 10;\nfunction nestedNormaliseEntryTags(headTags, tagPromises, startIndex) {\n for (let i = startIndex; i < tagPromises.length; i += 1) {\n const tags = tagPromises[i];\n if (tags instanceof Promise) {\n return tags.then((val) => {\n tagPromises[i] = val;\n return nestedNormaliseEntryTags(headTags, tagPromises, i);\n });\n }\n if (Array.isArray(tags)) {\n headTags.push(...tags);\n } else {\n headTags.push(tags);\n }\n }\n}\nfunction normaliseEntryTags(e) {\n const tagPromises = [];\n const input = e.resolvedInput;\n for (const k in input) {\n if (!Object.prototype.hasOwnProperty.call(input, k)) {\n continue;\n }\n const v = input[k];\n if (v === void 0 || !ValidHeadTags.has(k)) {\n continue;\n }\n if (Array.isArray(v)) {\n for (const props of v) {\n tagPromises.push(normaliseTag(k, props, e));\n }\n continue;\n }\n tagPromises.push(normaliseTag(k, v, e));\n }\n if (tagPromises.length === 0) {\n return [];\n }\n const headTags = [];\n return thenable(nestedNormaliseEntryTags(headTags, tagPromises, 0), () => headTags.map((t, i) => {\n t._e = e._i;\n e.mode && (t._m = e.mode);\n t._p = (e._i << TagEntityBits) + i;\n return t;\n }));\n}\n\nconst WhitelistAttributes = {\n htmlAttrs: [\"id\", \"class\", \"lang\", \"dir\"],\n bodyAttrs: [\"id\", \"class\"],\n meta: [\"id\", \"name\", \"property\", \"charset\", \"content\"],\n noscript: [\"id\", \"textContent\"],\n script: [\"id\", \"type\", \"textContent\"],\n link: [\"id\", \"color\", \"crossorigin\", \"fetchpriority\", \"href\", \"hreflang\", \"imagesrcset\", \"imagesizes\", \"integrity\", \"media\", \"referrerpolicy\", \"rel\", \"sizes\", \"type\"]\n};\nfunction acceptDataAttrs(value) {\n const filtered = {};\n Object.keys(value || {}).filter((a) => a.startsWith(\"data-\")).forEach((a) => {\n filtered[a] = value[a];\n });\n return filtered;\n}\nfunction whitelistSafeInput(input) {\n const filtered = {};\n Object.keys(input).forEach((key) => {\n const tagValue = input[key];\n if (!tagValue)\n return;\n switch (key) {\n // always safe\n case \"title\":\n case \"titleTemplate\":\n case \"templateParams\":\n filtered[key] = tagValue;\n break;\n case \"htmlAttrs\":\n case \"bodyAttrs\":\n filtered[key] = acceptDataAttrs(tagValue);\n WhitelistAttributes[key].forEach((a) => {\n if (tagValue[a])\n filtered[key][a] = tagValue[a];\n });\n break;\n // meta is safe, except for http-equiv\n case \"meta\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const safeMeta = acceptDataAttrs(meta);\n WhitelistAttributes.meta.forEach((key2) => {\n if (meta[key2])\n safeMeta[key2] = meta[key2];\n });\n return safeMeta;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n // link tags we don't allow stylesheets, scripts, preloading, prerendering, prefetching, etc\n case \"link\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const link = acceptDataAttrs(meta);\n WhitelistAttributes.link.forEach((key2) => {\n const val = meta[key2];\n if (key2 === \"rel\" && (val === \"stylesheet\" || val === \"canonical\" || val === \"modulepreload\" || val === \"prerender\" || val === \"preload\" || val === \"prefetch\"))\n return;\n if (key2 === \"href\") {\n if (val.includes(\"javascript:\") || val.includes(\"data:\"))\n return;\n link[key2] = val;\n } else if (val) {\n link[key2] = val;\n }\n });\n return link;\n }).filter((link) => Object.keys(link).length > 1 && !!link.rel);\n }\n break;\n case \"noscript\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((meta) => {\n const noscript = acceptDataAttrs(meta);\n WhitelistAttributes.noscript.forEach((key2) => {\n if (meta[key2])\n noscript[key2] = meta[key2];\n });\n return noscript;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n // we only allow JSON in scripts\n case \"script\":\n if (Array.isArray(tagValue)) {\n filtered[key] = tagValue.map((script) => {\n const safeScript = acceptDataAttrs(script);\n WhitelistAttributes.script.forEach((s) => {\n if (script[s]) {\n if (s === \"textContent\") {\n try {\n const jsonVal = typeof script[s] === \"string\" ? JSON.parse(script[s]) : script[s];\n safeScript[s] = JSON.stringify(jsonVal, null, 0);\n } catch (e) {\n }\n } else {\n safeScript[s] = script[s];\n }\n }\n });\n return safeScript;\n }).filter((meta) => Object.keys(meta).length > 0);\n }\n break;\n }\n });\n return filtered;\n}\n\nconst NetworkEvents = /* @__PURE__ */ new Set([\"onload\", \"onerror\", \"onabort\", \"onprogress\", \"onloadstart\"]);\nconst ScriptNetworkEvents = /* @__PURE__ */ new Set([\"onload\", \"onerror\"]);\n\nconst TAG_WEIGHTS = {\n // tags\n base: -10,\n title: 10\n};\nconst TAG_ALIASES = {\n // relative scores to their default values\n critical: -80,\n high: -10,\n low: 20\n};\nfunction tagWeight(tag) {\n const priority = tag.tagPriority;\n if (typeof priority === \"number\")\n return priority;\n let weight = 100;\n if (tag.tag === \"meta\") {\n if (tag.props[\"http-equiv\"] === \"content-security-policy\")\n weight = -30;\n else if (tag.props.charset)\n weight = -20;\n else if (tag.props.name === \"viewport\")\n weight = -15;\n } else if (tag.tag === \"link\" && tag.props.rel === \"preconnect\") {\n weight = 20;\n } else if (tag.tag in TAG_WEIGHTS) {\n weight = TAG_WEIGHTS[tag.tag];\n }\n if (priority && priority in TAG_ALIASES) {\n return weight + TAG_ALIASES[priority];\n }\n return weight;\n}\nconst SortModifiers = [{ prefix: \"before:\", offset: -1 }, { prefix: \"after:\", offset: 1 }];\n\nconst allowedMetaProperties = [\"name\", \"property\", \"http-equiv\"];\nfunction tagDedupeKey(tag) {\n const { props, tag: tagName } = tag;\n if (UniqueTags.has(tagName))\n return tagName;\n if (tagName === \"link\" && props.rel === \"canonical\")\n return \"canonical\";\n if (props.charset)\n return \"charset\";\n if (props.id) {\n return `${tagName}:id:${props.id}`;\n }\n for (const n of allowedMetaProperties) {\n if (props[n] !== void 0) {\n return `${tagName}:${n}:${props[n]}`;\n }\n }\n return false;\n}\n\nconst sepSub = \"%separator\";\nfunction sub(p, token, isJson = false) {\n let val;\n if (token === \"s\" || token === \"pageTitle\") {\n val = p.pageTitle;\n } else if (token.includes(\".\")) {\n const dotIndex = token.indexOf(\".\");\n val = p[token.substring(0, dotIndex)]?.[token.substring(dotIndex + 1)];\n } else {\n val = p[token];\n }\n if (val !== void 0) {\n return isJson ? (val || \"\").replace(/\"/g, '\\\\\"') : val || \"\";\n }\n return void 0;\n}\nconst sepSubRe = new RegExp(`${sepSub}(?:\\\\s*${sepSub})*`, \"g\");\nfunction processTemplateParams(s, p, sep, isJson = false) {\n if (typeof s !== \"string\" || !s.includes(\"%\"))\n return s;\n let decoded = s;\n try {\n decoded = decodeURI(s);\n } catch {\n }\n const tokens = decoded.match(/%\\w+(?:\\.\\w+)?/g);\n if (!tokens) {\n return s;\n }\n const hasSepSub = s.includes(sepSub);\n s = s.replace(/%\\w+(?:\\.\\w+)?/g, (token) => {\n if (token === sepSub || !tokens.includes(token)) {\n return token;\n }\n const re = sub(p, token.slice(1), isJson);\n return re !== void 0 ? re : token;\n }).trim();\n if (hasSepSub) {\n if (s.endsWith(sepSub))\n s = s.slice(0, -sepSub.length);\n if (s.startsWith(sepSub))\n s = s.slice(sepSub.length);\n s = s.replace(sepSubRe, sep).trim();\n }\n return s;\n}\n\nfunction resolveTitleTemplate(template, title) {\n if (template == null)\n return title || null;\n if (typeof template === \"function\")\n return template(title);\n return template;\n}\n\nexport { HasElementTags, IsBrowser, NetworkEvents, ScriptNetworkEvents, SelfClosingTags, SortModifiers, TAG_ALIASES, TAG_WEIGHTS, TagConfigKeys, TagEntityBits, TagsWithInnerContent, UniqueTags, ValidHeadTags, asArray, composableNames, defineHeadPlugin, hashCode, hashTag, normaliseEntryTags, normaliseProps, normaliseStyleClassProps, normaliseTag, packMeta, processTemplateParams, resolveMetaKeyType, resolveMetaKeyValue, resolvePackedMetaObjectValue, resolveTitleTemplate, tagDedupeKey, tagWeight, thenable, unpackMeta, whitelistSafeInput };\n"],"names":[],"mappings":";;AAMK,MAAC,kBAAkC,oBAAI,IAAI,CAAC,QAAQ,QAAQ,MAAM,CAAC;AACnE,MAAC,uBAAuC,oBAAI,IAAI,CAAC,SAAS,iBAAiB,UAAU,SAAS,UAAU,CAAC;AACzG,MAAC,iBAAiC,oBAAI,IAAI;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,gBAAgC,oBAAI,IAAI;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACI,MAAC,aAA6B,oBAAI,IAAI,CAAC,QAAQ,SAAS,iBAAiB,aAAa,aAAa,gBAAgB,CAAC;AACpH,MAAC,gBAAgC,oBAAI,IAAI,CAAC,eAAe,eAAe,wBAAwB,YAAY,aAAa,eAAe,uBAAuB,CAAC;AAChK,MAAC,YAAY,OAAO,WAAW;AAWpC,SAAS,iBAAiB,QAAQ;AAChC,SAAO;AACT;AAEA,SAAS,SAAS,GAAG;AACnB,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE;AACpB,QAAI,KAAK,KAAK,IAAI,EAAE,WAAW,GAAG,GAAG,KAAK,CAAC;AAC7C,WAAS,IAAI,MAAM,KAAK,OAAO,SAAS,EAAE,EAAE,UAAU,GAAG,CAAC,EAAE,YAAW;AACzE;AACA,SAAS,QAAQ,KAAK;AACpB,MAAI,IAAI,IAAI;AACV,WAAO,IAAI;AAAA,EACb;AACA,MAAI,IAAI,IAAI;AACV,WAAO,SAAS,IAAI,EAAE;AAAA,EACxB;AACA,MAAI,UAAU,GAAG,IAAI,GAAG,IAAI,IAAI,eAAe,IAAI,aAAa,EAAE;AAClE,aAAW,OAAO,IAAI,OAAO;AAC3B,eAAW,GAAG,GAAG,IAAI,OAAO,IAAI,MAAM,GAAG,CAAC,CAAC;AAAA,EAC7C;AACA,SAAO,SAAS,OAAO;AACzB;AA+NA,SAAS,SAAS,KAAK,QAAQ;AAC7B,MAAI,eAAe,SAAS;AAC1B,WAAO,IAAI,KAAK,MAAM;AAAA,EACxB;AACA,SAAO,OAAO,GAAG;AACnB;AAEA,SAAS,aAAa,SAAS,OAAO,GAAG,iBAAiB;AACxD,QAAM,QAAQ,mBAAmB;AAAA;AAAA;AAAA,IAG/B,OAAO,UAAU,YAAY,OAAO,UAAU,cAAc,EAAE,iBAAiB,WAAW,EAAE,GAAG,MAAK,IAAK,EAAE,CAAC,YAAY,YAAY,YAAY,cAAc,YAAY,UAAU,cAAc,aAAa,GAAG,MAAK;AAAA,IACvN,YAAY,oBAAoB,YAAY;AAAA,EAChD;AACE,MAAI,iBAAiB,SAAS;AAC5B,WAAO,MAAM,KAAK,CAAC,QAAQ,aAAa,SAAS,OAAO,GAAG,GAAG,CAAC;AAAA,EACjE;AACA,QAAM,MAAM;AAAA,IACV,KAAK;AAAA,IACL;AAAA,EACJ;AACE,aAAW,KAAK,eAAe;AAC7B,UAAM,MAAM,IAAI,MAAM,CAAC,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AACxD,QAAI,QAAQ,QAAQ;AAClB,UAAI,EAAE,MAAM,eAAe,MAAM,iBAAiB,MAAM,eAAe,qBAAqB,IAAI,IAAI,GAAG,GAAG;AACxG,YAAI,MAAM,aAAa,cAAc,CAAC,IAAI;AAAA,MAC5C;AACA,aAAO,IAAI,MAAM,CAAC;AAAA,IACpB;AAAA,EACF;AACA,MAAI,IAAI,MAAM,MAAM;AAClB,QAAI,cAAc;AAClB,WAAO,IAAI,MAAM;AAAA,EACnB;AACA,MAAI,IAAI,QAAQ,UAAU;AACxB,QAAI,OAAO,IAAI,cAAc,UAAU;AACrC,UAAI,YAAY,KAAK,UAAU,IAAI,SAAS;AAC5C,UAAI,MAAM,OAAO,IAAI,MAAM,QAAQ;AAAA,IACrC;AAAA,EACF;AACA,SAAO,MAAM,QAAQ,IAAI,MAAM,OAAO,IAAI,IAAI,MAAM,QAAQ,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,EAAE,GAAG,IAAI,OAAO,SAAS,EAAC,IAAK,IAAI;AAC9H;AACA,SAAS,yBAAyB,KAAK,GAAG;AACxC,QAAM,MAAM,QAAQ,UAAU,MAAM;AACpC,MAAI,KAAK,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,CAAC,GAAG;AACnD,QAAI,OAAO,QAAQ,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,QAAQ,UAAU,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;AAAA,EAClG;AACA,SAAO,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,EAAE,OAAO,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AACzG;AACA,SAAS,qBAAqB,OAAO,SAAS,MAAM,YAAY;AAC9D,WAAS,IAAI,YAAY,IAAI,KAAK,QAAQ,KAAK,GAAG;AAChD,UAAM,IAAI,KAAK,CAAC;AAChB,QAAI,MAAM,WAAW,MAAM,SAAS;AAClC,YAAM,CAAC,IAAI,yBAAyB,GAAG,MAAM,CAAC,CAAC;AAC/C;AAAA,IACF;AACA,QAAI,MAAM,CAAC,aAAa,SAAS;AAC/B,aAAO,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ;AAC5B,cAAM,CAAC,IAAI;AACX,eAAO,qBAAqB,OAAO,SAAS,MAAM,CAAC;AAAA,MACrD,CAAC;AAAA,IACH;AACA,QAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,GAAG;AACrC,YAAM,IAAI,OAAO,MAAM,CAAC,CAAC;AACzB,YAAM,YAAY,EAAE,WAAW,OAAO;AACtC,UAAI,MAAM,UAAU,MAAM,IAAI;AAC5B,cAAM,CAAC,IAAI,YAAY,SAAS;AAAA,MAClC,WAAW,CAAC,MAAM,CAAC,GAAG;AACpB,YAAI,aAAa,MAAM;AACrB,gBAAM,CAAC,IAAI;AAAA;AAEX,iBAAO,MAAM,CAAC;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AACF;AACA,SAAS,eAAe,OAAO,UAAU,OAAO;AAC9C,QAAM,gBAAgB,qBAAqB,OAAO,SAAS,OAAO,KAAK,KAAK,GAAG,CAAC;AAChF,MAAI,yBAAyB,SAAS;AACpC,WAAO,cAAc,KAAK,MAAM,KAAK;AAAA,EACvC;AACA,SAAO;AACT;AACK,MAAC,gBAAgB;AACtB,SAAS,yBAAyB,UAAU,aAAa,YAAY;AACnE,WAAS,IAAI,YAAY,IAAI,YAAY,QAAQ,KAAK,GAAG;AACvD,UAAM,OAAO,YAAY,CAAC;AAC1B,QAAI,gBAAgB,SAAS;AAC3B,aAAO,KAAK,KAAK,CAAC,QAAQ;AACxB,oBAAY,CAAC,IAAI;AACjB,eAAO,yBAAyB,UAAU,aAAa,CAAC;AAAA,MAC1D,CAAC;AAAA,IACH;AACA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,eAAS,KAAK,GAAG,IAAI;AAAA,IACvB,OAAO;AACL,eAAS,KAAK,IAAI;AAAA,IACpB;AAAA,EACF;AACF;AACA,SAAS,mBAAmB,GAAG;AAC7B,QAAM,cAAc,CAAA;AACpB,QAAM,QAAQ,EAAE;AAChB,aAAW,KAAK,OAAO;AACrB,QAAI,CAAC,OAAO,UAAU,eAAe,KAAK,OAAO,CAAC,GAAG;AACnD;AAAA,IACF;AACA,UAAM,IAAI,MAAM,CAAC;AACjB,QAAI,MAAM,UAAU,CAAC,cAAc,IAAI,CAAC,GAAG;AACzC;AAAA,IACF;AACA,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,iBAAW,SAAS,GAAG;AACrB,oBAAY,KAAK,aAAa,GAAG,OAAO,CAAC,CAAC;AAAA,MAC5C;AACA;AAAA,IACF;AACA,gBAAY,KAAK,aAAa,GAAG,GAAG,CAAC,CAAC;AAAA,EACxC;AACA,MAAI,YAAY,WAAW,GAAG;AAC5B,WAAO,CAAA;AAAA,EACT;AACA,QAAM,WAAW,CAAA;AACjB,SAAO,SAAS,yBAAyB,UAAU,aAAa,CAAC,GAAG,MAAM,SAAS,IAAI,CAAC,GAAG,MAAM;AAC/F,MAAE,KAAK,EAAE;AACT,MAAE,SAAS,EAAE,KAAK,EAAE;AACpB,MAAE,MAAM,EAAE,MAAM,iBAAiB;AACjC,WAAO;AAAA,EACT,CAAC,CAAC;AACJ;AA+GK,MAAC,gBAAgC,oBAAI,IAAI,CAAC,UAAU,WAAW,WAAW,cAAc,aAAa,CAAC;AAGtG,MAAC,cAAc;AAAA;AAAA,EAElB,MAAM;AAAA,EACN,OAAO;AACT;AACK,MAAC,cAAc;AAAA;AAAA,EAElB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,KAAK;AACP;AACA,SAAS,UAAU,KAAK;AACtB,QAAM,WAAW,IAAI;AACrB,MAAI,OAAO,aAAa;AACtB,WAAO;AACT,MAAI,SAAS;AACb,MAAI,IAAI,QAAQ,QAAQ;AACtB,QAAI,IAAI,MAAM,YAAY,MAAM;AAC9B,eAAS;AAAA,aACF,IAAI,MAAM;AACjB,eAAS;AAAA,aACF,IAAI,MAAM,SAAS;AAC1B,eAAS;AAAA,EACb,WAAW,IAAI,QAAQ,UAAU,IAAI,MAAM,QAAQ,cAAc;AAC/D,aAAS;AAAA,EACX,WAAW,IAAI,OAAO,aAAa;AACjC,aAAS,YAAY,IAAI,GAAG;AAAA,EAC9B;AACA,MAAI,YAAY,YAAY,aAAa;AACvC,WAAO,SAAS,YAAY,QAAQ;AAAA,EACtC;AACA,SAAO;AACT;AACK,MAAC,gBAAgB,CAAC,EAAE,QAAQ,WAAW,QAAQ,GAAE,GAAI,EAAE,QAAQ,UAAU,QAAQ,EAAC,CAAE;AAEzF,MAAM,wBAAwB,CAAC,QAAQ,YAAY,YAAY;AAC/D,SAAS,aAAa,KAAK;AACzB,QAAM,EAAE,OAAO,KAAK,QAAO,IAAK;AAChC,MAAI,WAAW,IAAI,OAAO;AACxB,WAAO;AACT,MAAI,YAAY,UAAU,MAAM,QAAQ;AACtC,WAAO;AACT,MAAI,MAAM;AACR,WAAO;AACT,MAAI,MAAM,IAAI;AACZ,WAAO,GAAG,OAAO,OAAO,MAAM,EAAE;AAAA,EAClC;AACA,aAAW,KAAK,uBAAuB;AACrC,QAAI,MAAM,CAAC,MAAM,QAAQ;AACvB,aAAO,GAAG,OAAO,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;AAAA,IACpC;AAAA,EACF;AACA,SAAO;AACT;AAEA,MAAM,SAAS;AACf,SAAS,IAAI,GAAG,OAAO,SAAS,OAAO;AACrC,MAAI;AACJ,MAAI,UAAU,OAAO,UAAU,aAAa;AAC1C,UAAM,EAAE;AAAA,EACV,WAAW,MAAM,SAAS,GAAG,GAAG;AAC9B,UAAM,WAAW,MAAM,QAAQ,GAAG;AAClC,UAAM,EAAE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,MAAM,UAAU,WAAW,CAAC,CAAC;AAAA,EACvE,OAAO;AACL,UAAM,EAAE,KAAK;AAAA,EACf;AACA,MAAI,QAAQ,QAAQ;AAClB,WAAO,UAAU,OAAO,IAAI,QAAQ,MAAM,KAAK,IAAI,OAAO;AAAA,EAC5D;AACA,SAAO;AACT;AACA,MAAM,WAAW,IAAI,OAAO,GAAG,MAAM,UAAU,MAAM,MAAM,GAAG;AAC9D,SAAS,sBAAsB,GAAG,GAAG,KAAK,SAAS,OAAO;AACxD,MAAI,OAAO,MAAM,YAAY,CAAC,EAAE,SAAS,GAAG;AAC1C,WAAO;AACT,MAAI,UAAU;AACd,MAAI;AACF,cAAU,UAAU,CAAC;AAAA,EACvB,QAAQ;AAAA,EACR;AACA,QAAM,SAAS,QAAQ,MAAM,iBAAiB;AAC9C,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA,EACT;AACA,QAAM,YAAY,EAAE,SAAS,MAAM;AACnC,MAAI,EAAE,QAAQ,mBAAmB,CAAC,UAAU;AAC1C,QAAI,UAAU,UAAU,CAAC,OAAO,SAAS,KAAK,GAAG;AAC/C,aAAO;AAAA,IACT;AACA,UAAM,KAAK,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,MAAM;AACxC,WAAO,OAAO,SAAS,KAAK;AAAA,EAC9B,CAAC,EAAE,KAAI;AACP,MAAI,WAAW;AACb,QAAI,EAAE,SAAS,MAAM;AACnB,UAAI,EAAE,MAAM,GAAG,CAAC,OAAO,MAAM;AAC/B,QAAI,EAAE,WAAW,MAAM;AACrB,UAAI,EAAE,MAAM,OAAO,MAAM;AAC3B,QAAI,EAAE,QAAQ,UAAU,GAAG,EAAE,KAAI;AAAA,EACnC;AACA,SAAO;AACT;AAEA,SAAS,qBAAqB,UAAU,OAAO;AAC7C,MAAI,YAAY;AACd,WAAO,SAAS;AAClB,MAAI,OAAO,aAAa;AACtB,WAAO,SAAS,KAAK;AACvB,SAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|