valtech-components 2.0.984 → 2.0.986

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 (35) hide show
  1. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +97 -14
  2. package/esm2022/lib/components/organisms/account-view/account-view.component.mjs +732 -0
  3. package/esm2022/lib/components/organisms/account-view/account-view.i18n.mjs +96 -0
  4. package/esm2022/lib/components/organisms/account-view/account.routes.mjs +29 -0
  5. package/esm2022/lib/components/organisms/account-view/types.mjs +2 -0
  6. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
  7. package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.component.mjs +240 -0
  8. package/esm2022/lib/components/organisms/create-org-modal/create-org-modal.i18n.mjs +46 -0
  9. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.component.mjs +272 -0
  10. package/esm2022/lib/components/organisms/delete-account-modal/delete-account-modal.i18n.mjs +40 -0
  11. package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.component.mjs +205 -0
  12. package/esm2022/lib/components/organisms/org-info-sheet/org-info-sheet.i18n.mjs +35 -0
  13. package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.component.mjs +280 -0
  14. package/esm2022/lib/components/organisms/switch-org-modal/switch-org-modal.i18n.mjs +26 -0
  15. package/esm2022/lib/services/font-size/font-size.service.mjs +3 -1
  16. package/esm2022/lib/version.mjs +2 -2
  17. package/esm2022/public-api.mjs +8 -1
  18. package/fesm2022/valtech-components.mjs +2279 -279
  19. package/fesm2022/valtech-components.mjs.map +1 -1
  20. package/lib/components/molecules/date-input/date-input.component.d.ts +9 -0
  21. package/lib/components/organisms/account-view/account-view.component.d.ts +88 -0
  22. package/lib/components/organisms/account-view/account-view.i18n.d.ts +7 -0
  23. package/lib/components/organisms/account-view/account.routes.d.ts +24 -0
  24. package/lib/components/organisms/account-view/types.d.ts +44 -0
  25. package/lib/components/organisms/create-org-modal/create-org-modal.component.d.ts +45 -0
  26. package/lib/components/organisms/create-org-modal/create-org-modal.i18n.d.ts +7 -0
  27. package/lib/components/organisms/delete-account-modal/delete-account-modal.component.d.ts +50 -0
  28. package/lib/components/organisms/delete-account-modal/delete-account-modal.i18n.d.ts +7 -0
  29. package/lib/components/organisms/org-info-sheet/org-info-sheet.component.d.ts +44 -0
  30. package/lib/components/organisms/org-info-sheet/org-info-sheet.i18n.d.ts +12 -0
  31. package/lib/components/organisms/switch-org-modal/switch-org-modal.component.d.ts +47 -0
  32. package/lib/components/organisms/switch-org-modal/switch-org-modal.i18n.d.ts +7 -0
  33. package/lib/version.d.ts +1 -1
  34. package/package.json +1 -1
  35. package/public-api.d.ts +7 -0
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Defaults i18n (es/en) embebidos en `val-account-view`. Auto-registrados en el
3
+ * constructor del componente si el consumer no proveyó el namespace
4
+ * (`Settings.Account` por default). SOLO incluye las keys que la vista usa.
5
+ */
6
+ export const ACCOUNT_VIEW_I18N = {
7
+ es: {
8
+ pageTitle: 'Cuenta',
9
+ pageDescription: 'Organizaciones y seguridad de la cuenta',
10
+ orgsTitle: 'Tus organizaciones',
11
+ orgsCurrent: 'Actual',
12
+ orgsEmpty: 'Aún no perteneces a otras organizaciones.',
13
+ orgsSwitch: 'Cambiar',
14
+ switchAccountCta: 'Cambiar de cuenta',
15
+ orgsViewAll: 'Ver todas',
16
+ orgsManage: 'Gestionar',
17
+ orgsEmptyHint: 'Aún no perteneces a otras organizaciones.',
18
+ orgsNewCta: 'Nueva organización',
19
+ orgsNewQuestion: '¿Necesitas otra organización?',
20
+ orgsNewHint: 'Crea un espacio separado para otro equipo, empresa o proyecto.',
21
+ orgsMoreInfo: 'Más información',
22
+ orgsInfoTitle: '¿Qué son las organizaciones?',
23
+ orgsInfoSubtitle: 'Todo lo que necesitas saber',
24
+ orgsInfoClose: 'Cerrar',
25
+ orgsInfoContent: 'Las organizaciones te permiten separar tus proyectos y datos por empresa, equipo o contexto. Puedes pertenecer a varias organizaciones y cambiar entre ellas en cualquier momento.\n\nCada organización tiene sus propios miembros, roles y permisos. La organización activa determina qué datos ves y qué acciones puedes realizar.\n\nPuedes crear una organización nueva o unirte a una existente mediante invitación.',
26
+ orgsTypePersonal: 'Personal',
27
+ orgsTypePrivate: 'Privada',
28
+ orgsTypePublic: 'Pública',
29
+ orgsTypeBusiness: 'Empresa',
30
+ orgsLabelType: 'Tipo',
31
+ orgsLabelRole: 'Rol',
32
+ orgsLabelStatus: 'Estado',
33
+ orgsStatusActive: 'Activa',
34
+ logoutTitle: 'Cerrar esta sesión',
35
+ logoutHint: 'Cierra tu sesión en este dispositivo.',
36
+ logout: 'Cerrar sesión',
37
+ dangerTitle: 'Zona peligrosa',
38
+ dangerDeleteTitle: 'Eliminar cuenta',
39
+ dangerDeleteHint: 'Borra tu cuenta y todos los datos asociados. Esta acción no se puede deshacer.',
40
+ dangerDeleteCta: 'Eliminar cuenta',
41
+ inviteAccepted: 'Te has unido a la organización.',
42
+ inviteDeclined: 'Invitación rechazada.',
43
+ accept: 'Aceptar',
44
+ decline: 'Rechazar',
45
+ pendingInvitesTitle: 'Invitaciones pendientes',
46
+ orgsErrorTitle: 'No se pudieron cargar las organizaciones',
47
+ orgsOfflineTitle: 'Sin conexión',
48
+ orgsOfflineHint: 'Verifica tu conexión e intenta de nuevo.',
49
+ orgsRetry: 'Reintentar',
50
+ },
51
+ en: {
52
+ pageTitle: 'Account',
53
+ pageDescription: 'Organizations and account security',
54
+ orgsTitle: 'Your organizations',
55
+ orgsCurrent: 'Active',
56
+ orgsEmpty: "You don't belong to other organizations yet.",
57
+ orgsSwitch: 'Switch',
58
+ switchAccountCta: 'Switch account',
59
+ orgsViewAll: 'View all',
60
+ orgsManage: 'Manage',
61
+ orgsEmptyHint: "You don't belong to other organizations yet.",
62
+ orgsNewCta: 'New organization',
63
+ orgsNewQuestion: 'Need another organization?',
64
+ orgsNewHint: 'Create a separate space for another team, company or project.',
65
+ orgsMoreInfo: 'More information',
66
+ orgsInfoTitle: 'What are organizations?',
67
+ orgsInfoSubtitle: 'Everything you need to know',
68
+ orgsInfoClose: 'Close',
69
+ orgsInfoContent: 'Organizations let you separate your projects and data by company, team, or context. You can belong to multiple organizations and switch between them at any time.\n\nEach organization has its own members, roles, and permissions. The active organization determines what data you see and what actions you can take.\n\nYou can create a new organization or join an existing one via invitation.',
70
+ orgsTypePersonal: 'Personal',
71
+ orgsTypePrivate: 'Private',
72
+ orgsTypePublic: 'Public',
73
+ orgsTypeBusiness: 'Business',
74
+ orgsLabelType: 'Type',
75
+ orgsLabelRole: 'Role',
76
+ orgsLabelStatus: 'Status',
77
+ orgsStatusActive: 'Active',
78
+ logoutTitle: 'Sign out of this device',
79
+ logoutHint: 'End your session on this device.',
80
+ logout: 'Sign out',
81
+ dangerTitle: 'Danger zone',
82
+ dangerDeleteTitle: 'Delete account',
83
+ dangerDeleteHint: 'Delete your account and all related data. This action cannot be undone.',
84
+ dangerDeleteCta: 'Delete account',
85
+ inviteAccepted: 'You have joined the organization.',
86
+ inviteDeclined: 'Invitation declined.',
87
+ accept: 'Accept',
88
+ decline: 'Decline',
89
+ pendingInvitesTitle: 'Pending invitations',
90
+ orgsErrorTitle: 'Could not load organizations',
91
+ orgsOfflineTitle: 'No connection',
92
+ orgsOfflineHint: 'Check your connection and try again.',
93
+ orgsRetry: 'Retry',
94
+ },
95
+ };
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC12aWV3LmkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FjY291bnQtdmlldy9hY2NvdW50LXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXFCO0lBQ2pELEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxRQUFRO1FBQ25CLGVBQWUsRUFBRSx5Q0FBeUM7UUFDMUQsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixXQUFXLEVBQUUsUUFBUTtRQUNyQixTQUFTLEVBQUUsMkNBQTJDO1FBQ3RELFVBQVUsRUFBRSxTQUFTO1FBQ3JCLGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxXQUFXLEVBQUUsV0FBVztRQUN4QixVQUFVLEVBQUUsV0FBVztRQUN2QixhQUFhLEVBQUUsMkNBQTJDO1FBQzFELFVBQVUsRUFBRSxvQkFBb0I7UUFDaEMsZUFBZSxFQUFFLCtCQUErQjtRQUNoRCxXQUFXLEVBQUUsZ0VBQWdFO1FBQzdFLFlBQVksRUFBRSxpQkFBaUI7UUFDL0IsYUFBYSxFQUFFLDhCQUE4QjtRQUM3QyxnQkFBZ0IsRUFBRSw2QkFBNkI7UUFDL0MsYUFBYSxFQUFFLFFBQVE7UUFDdkIsZUFBZSxFQUNiLDJaQUEyWjtRQUM3WixnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsYUFBYSxFQUFFLE1BQU07UUFDckIsYUFBYSxFQUFFLEtBQUs7UUFDcEIsZUFBZSxFQUFFLFFBQVE7UUFDekIsZ0JBQWdCLEVBQUUsUUFBUTtRQUMxQixXQUFXLEVBQUUsb0JBQW9CO1FBQ2pDLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsTUFBTSxFQUFFLGVBQWU7UUFDdkIsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixpQkFBaUIsRUFBRSxpQkFBaUI7UUFDcEMsZ0JBQWdCLEVBQ2QsZ0ZBQWdGO1FBQ2xGLGVBQWUsRUFBRSxpQkFBaUI7UUFDbEMsY0FBYyxFQUFFLGlDQUFpQztRQUNqRCxjQUFjLEVBQUUsdUJBQXVCO1FBQ3ZDLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE9BQU8sRUFBRSxVQUFVO1FBQ25CLG1CQUFtQixFQUFFLHlCQUF5QjtRQUM5QyxjQUFjLEVBQUUsMENBQTBDO1FBQzFELGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZUFBZSxFQUFFLDBDQUEwQztRQUMzRCxTQUFTLEVBQUUsWUFBWTtLQUN4QjtJQUNELEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGVBQWUsRUFBRSxvQ0FBb0M7UUFDckQsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixXQUFXLEVBQUUsUUFBUTtRQUNyQixTQUFTLEVBQUUsOENBQThDO1FBQ3pELFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxXQUFXLEVBQUUsVUFBVTtRQUN2QixVQUFVLEVBQUUsUUFBUTtRQUNwQixhQUFhLEVBQUUsOENBQThDO1FBQzdELFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsZUFBZSxFQUFFLDRCQUE0QjtRQUM3QyxXQUFXLEVBQUUsK0RBQStEO1FBQzVFLFlBQVksRUFBRSxrQkFBa0I7UUFDaEMsYUFBYSxFQUFFLHlCQUF5QjtRQUN4QyxnQkFBZ0IsRUFBRSw2QkFBNkI7UUFDL0MsYUFBYSxFQUFFLE9BQU87UUFDdEIsZUFBZSxFQUNiLHNZQUFzWTtRQUN4WSxnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLGVBQWUsRUFBRSxTQUFTO1FBQzFCLGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGdCQUFnQixFQUFFLFVBQVU7UUFDNUIsYUFBYSxFQUFFLE1BQU07UUFDckIsYUFBYSxFQUFFLE1BQU07UUFDckIsZUFBZSxFQUFFLFFBQVE7UUFDekIsZ0JBQWdCLEVBQUUsUUFBUTtRQUMxQixXQUFXLEVBQUUseUJBQXlCO1FBQ3RDLFVBQVUsRUFBRSxrQ0FBa0M7UUFDOUMsTUFBTSxFQUFFLFVBQVU7UUFDbEIsV0FBVyxFQUFFLGFBQWE7UUFDMUIsaUJBQWlCLEVBQUUsZ0JBQWdCO1FBQ25DLGdCQUFnQixFQUFFLHlFQUF5RTtRQUMzRixlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLGNBQWMsRUFBRSxtQ0FBbUM7UUFDbkQsY0FBYyxFQUFFLHNCQUFzQjtRQUN0QyxNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsU0FBUztRQUNsQixtQkFBbUIsRUFBRSxxQkFBcUI7UUFDMUMsY0FBYyxFQUFFLDhCQUE4QjtRQUM5QyxnQkFBZ0IsRUFBRSxlQUFlO1FBQ2pDLGVBQWUsRUFBRSxzQ0FBc0M7UUFDdkQsU0FBUyxFQUFFLE9BQU87S0FDbkI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4vdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSBlbWJlYmlkb3MgZW4gYHZhbC1hY2NvdW50LXZpZXdgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuIGVsXG4gKiBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgU2V0dGluZ3MuQWNjb3VudGAgcG9yIGRlZmF1bHQpLiBTT0xPIGluY2x1eWUgbGFzIGtleXMgcXVlIGxhIHZpc3RhIHVzYS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDQ09VTlRfVklFV19JMThOOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIHBhZ2VUaXRsZTogJ0N1ZW50YScsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnT3JnYW5pemFjaW9uZXMgeSBzZWd1cmlkYWQgZGUgbGEgY3VlbnRhJyxcbiAgICBvcmdzVGl0bGU6ICdUdXMgb3JnYW5pemFjaW9uZXMnLFxuICAgIG9yZ3NDdXJyZW50OiAnQWN0dWFsJyxcbiAgICBvcmdzRW1wdHk6ICdBw7puIG5vIHBlcnRlbmVjZXMgYSBvdHJhcyBvcmdhbml6YWNpb25lcy4nLFxuICAgIG9yZ3NTd2l0Y2g6ICdDYW1iaWFyJyxcbiAgICBzd2l0Y2hBY2NvdW50Q3RhOiAnQ2FtYmlhciBkZSBjdWVudGEnLFxuICAgIG9yZ3NWaWV3QWxsOiAnVmVyIHRvZGFzJyxcbiAgICBvcmdzTWFuYWdlOiAnR2VzdGlvbmFyJyxcbiAgICBvcmdzRW1wdHlIaW50OiAnQcO6biBubyBwZXJ0ZW5lY2VzIGEgb3RyYXMgb3JnYW5pemFjaW9uZXMuJyxcbiAgICBvcmdzTmV3Q3RhOiAnTnVldmEgb3JnYW5pemFjacOzbicsXG4gICAgb3Jnc05ld1F1ZXN0aW9uOiAnwr9OZWNlc2l0YXMgb3RyYSBvcmdhbml6YWNpw7NuPycsXG4gICAgb3Jnc05ld0hpbnQ6ICdDcmVhIHVuIGVzcGFjaW8gc2VwYXJhZG8gcGFyYSBvdHJvIGVxdWlwbywgZW1wcmVzYSBvIHByb3llY3RvLicsXG4gICAgb3Jnc01vcmVJbmZvOiAnTcOhcyBpbmZvcm1hY2nDs24nLFxuICAgIG9yZ3NJbmZvVGl0bGU6ICfCv1F1w6kgc29uIGxhcyBvcmdhbml6YWNpb25lcz8nLFxuICAgIG9yZ3NJbmZvU3VidGl0bGU6ICdUb2RvIGxvIHF1ZSBuZWNlc2l0YXMgc2FiZXInLFxuICAgIG9yZ3NJbmZvQ2xvc2U6ICdDZXJyYXInLFxuICAgIG9yZ3NJbmZvQ29udGVudDpcbiAgICAgICdMYXMgb3JnYW5pemFjaW9uZXMgdGUgcGVybWl0ZW4gc2VwYXJhciB0dXMgcHJveWVjdG9zIHkgZGF0b3MgcG9yIGVtcHJlc2EsIGVxdWlwbyBvIGNvbnRleHRvLiBQdWVkZXMgcGVydGVuZWNlciBhIHZhcmlhcyBvcmdhbml6YWNpb25lcyB5IGNhbWJpYXIgZW50cmUgZWxsYXMgZW4gY3VhbHF1aWVyIG1vbWVudG8uXFxuXFxuQ2FkYSBvcmdhbml6YWNpw7NuIHRpZW5lIHN1cyBwcm9waW9zIG1pZW1icm9zLCByb2xlcyB5IHBlcm1pc29zLiBMYSBvcmdhbml6YWNpw7NuIGFjdGl2YSBkZXRlcm1pbmEgcXXDqSBkYXRvcyB2ZXMgeSBxdcOpIGFjY2lvbmVzIHB1ZWRlcyByZWFsaXphci5cXG5cXG5QdWVkZXMgY3JlYXIgdW5hIG9yZ2FuaXphY2nDs24gbnVldmEgbyB1bmlydGUgYSB1bmEgZXhpc3RlbnRlIG1lZGlhbnRlIGludml0YWNpw7NuLicsXG4gICAgb3Jnc1R5cGVQZXJzb25hbDogJ1BlcnNvbmFsJyxcbiAgICBvcmdzVHlwZVByaXZhdGU6ICdQcml2YWRhJyxcbiAgICBvcmdzVHlwZVB1YmxpYzogJ1DDumJsaWNhJyxcbiAgICBvcmdzVHlwZUJ1c2luZXNzOiAnRW1wcmVzYScsXG4gICAgb3Jnc0xhYmVsVHlwZTogJ1RpcG8nLFxuICAgIG9yZ3NMYWJlbFJvbGU6ICdSb2wnLFxuICAgIG9yZ3NMYWJlbFN0YXR1czogJ0VzdGFkbycsXG4gICAgb3Jnc1N0YXR1c0FjdGl2ZTogJ0FjdGl2YScsXG4gICAgbG9nb3V0VGl0bGU6ICdDZXJyYXIgZXN0YSBzZXNpw7NuJyxcbiAgICBsb2dvdXRIaW50OiAnQ2llcnJhIHR1IHNlc2nDs24gZW4gZXN0ZSBkaXNwb3NpdGl2by4nLFxuICAgIGxvZ291dDogJ0NlcnJhciBzZXNpw7NuJyxcbiAgICBkYW5nZXJUaXRsZTogJ1pvbmEgcGVsaWdyb3NhJyxcbiAgICBkYW5nZXJEZWxldGVUaXRsZTogJ0VsaW1pbmFyIGN1ZW50YScsXG4gICAgZGFuZ2VyRGVsZXRlSGludDpcbiAgICAgICdCb3JyYSB0dSBjdWVudGEgeSB0b2RvcyBsb3MgZGF0b3MgYXNvY2lhZG9zLiBFc3RhIGFjY2nDs24gbm8gc2UgcHVlZGUgZGVzaGFjZXIuJyxcbiAgICBkYW5nZXJEZWxldGVDdGE6ICdFbGltaW5hciBjdWVudGEnLFxuICAgIGludml0ZUFjY2VwdGVkOiAnVGUgaGFzIHVuaWRvIGEgbGEgb3JnYW5pemFjacOzbi4nLFxuICAgIGludml0ZURlY2xpbmVkOiAnSW52aXRhY2nDs24gcmVjaGF6YWRhLicsXG4gICAgYWNjZXB0OiAnQWNlcHRhcicsXG4gICAgZGVjbGluZTogJ1JlY2hhemFyJyxcbiAgICBwZW5kaW5nSW52aXRlc1RpdGxlOiAnSW52aXRhY2lvbmVzIHBlbmRpZW50ZXMnLFxuICAgIG9yZ3NFcnJvclRpdGxlOiAnTm8gc2UgcHVkaWVyb24gY2FyZ2FyIGxhcyBvcmdhbml6YWNpb25lcycsXG4gICAgb3Jnc09mZmxpbmVUaXRsZTogJ1NpbiBjb25leGnDs24nLFxuICAgIG9yZ3NPZmZsaW5lSGludDogJ1ZlcmlmaWNhIHR1IGNvbmV4acOzbiBlIGludGVudGEgZGUgbnVldm8uJyxcbiAgICBvcmdzUmV0cnk6ICdSZWludGVudGFyJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdBY2NvdW50JyxcbiAgICBwYWdlRGVzY3JpcHRpb246ICdPcmdhbml6YXRpb25zIGFuZCBhY2NvdW50IHNlY3VyaXR5JyxcbiAgICBvcmdzVGl0bGU6ICdZb3VyIG9yZ2FuaXphdGlvbnMnLFxuICAgIG9yZ3NDdXJyZW50OiAnQWN0aXZlJyxcbiAgICBvcmdzRW1wdHk6IFwiWW91IGRvbid0IGJlbG9uZyB0byBvdGhlciBvcmdhbml6YXRpb25zIHlldC5cIixcbiAgICBvcmdzU3dpdGNoOiAnU3dpdGNoJyxcbiAgICBzd2l0Y2hBY2NvdW50Q3RhOiAnU3dpdGNoIGFjY291bnQnLFxuICAgIG9yZ3NWaWV3QWxsOiAnVmlldyBhbGwnLFxuICAgIG9yZ3NNYW5hZ2U6ICdNYW5hZ2UnLFxuICAgIG9yZ3NFbXB0eUhpbnQ6IFwiWW91IGRvbid0IGJlbG9uZyB0byBvdGhlciBvcmdhbml6YXRpb25zIHlldC5cIixcbiAgICBvcmdzTmV3Q3RhOiAnTmV3IG9yZ2FuaXphdGlvbicsXG4gICAgb3Jnc05ld1F1ZXN0aW9uOiAnTmVlZCBhbm90aGVyIG9yZ2FuaXphdGlvbj8nLFxuICAgIG9yZ3NOZXdIaW50OiAnQ3JlYXRlIGEgc2VwYXJhdGUgc3BhY2UgZm9yIGFub3RoZXIgdGVhbSwgY29tcGFueSBvciBwcm9qZWN0LicsXG4gICAgb3Jnc01vcmVJbmZvOiAnTW9yZSBpbmZvcm1hdGlvbicsXG4gICAgb3Jnc0luZm9UaXRsZTogJ1doYXQgYXJlIG9yZ2FuaXphdGlvbnM/JyxcbiAgICBvcmdzSW5mb1N1YnRpdGxlOiAnRXZlcnl0aGluZyB5b3UgbmVlZCB0byBrbm93JyxcbiAgICBvcmdzSW5mb0Nsb3NlOiAnQ2xvc2UnLFxuICAgIG9yZ3NJbmZvQ29udGVudDpcbiAgICAgICdPcmdhbml6YXRpb25zIGxldCB5b3Ugc2VwYXJhdGUgeW91ciBwcm9qZWN0cyBhbmQgZGF0YSBieSBjb21wYW55LCB0ZWFtLCBvciBjb250ZXh0LiBZb3UgY2FuIGJlbG9uZyB0byBtdWx0aXBsZSBvcmdhbml6YXRpb25zIGFuZCBzd2l0Y2ggYmV0d2VlbiB0aGVtIGF0IGFueSB0aW1lLlxcblxcbkVhY2ggb3JnYW5pemF0aW9uIGhhcyBpdHMgb3duIG1lbWJlcnMsIHJvbGVzLCBhbmQgcGVybWlzc2lvbnMuIFRoZSBhY3RpdmUgb3JnYW5pemF0aW9uIGRldGVybWluZXMgd2hhdCBkYXRhIHlvdSBzZWUgYW5kIHdoYXQgYWN0aW9ucyB5b3UgY2FuIHRha2UuXFxuXFxuWW91IGNhbiBjcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIG9yIGpvaW4gYW4gZXhpc3Rpbmcgb25lIHZpYSBpbnZpdGF0aW9uLicsXG4gICAgb3Jnc1R5cGVQZXJzb25hbDogJ1BlcnNvbmFsJyxcbiAgICBvcmdzVHlwZVByaXZhdGU6ICdQcml2YXRlJyxcbiAgICBvcmdzVHlwZVB1YmxpYzogJ1B1YmxpYycsXG4gICAgb3Jnc1R5cGVCdXNpbmVzczogJ0J1c2luZXNzJyxcbiAgICBvcmdzTGFiZWxUeXBlOiAnVHlwZScsXG4gICAgb3Jnc0xhYmVsUm9sZTogJ1JvbGUnLFxuICAgIG9yZ3NMYWJlbFN0YXR1czogJ1N0YXR1cycsXG4gICAgb3Jnc1N0YXR1c0FjdGl2ZTogJ0FjdGl2ZScsXG4gICAgbG9nb3V0VGl0bGU6ICdTaWduIG91dCBvZiB0aGlzIGRldmljZScsXG4gICAgbG9nb3V0SGludDogJ0VuZCB5b3VyIHNlc3Npb24gb24gdGhpcyBkZXZpY2UuJyxcbiAgICBsb2dvdXQ6ICdTaWduIG91dCcsXG4gICAgZGFuZ2VyVGl0bGU6ICdEYW5nZXIgem9uZScsXG4gICAgZGFuZ2VyRGVsZXRlVGl0bGU6ICdEZWxldGUgYWNjb3VudCcsXG4gICAgZGFuZ2VyRGVsZXRlSGludDogJ0RlbGV0ZSB5b3VyIGFjY291bnQgYW5kIGFsbCByZWxhdGVkIGRhdGEuIFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuJyxcbiAgICBkYW5nZXJEZWxldGVDdGE6ICdEZWxldGUgYWNjb3VudCcsXG4gICAgaW52aXRlQWNjZXB0ZWQ6ICdZb3UgaGF2ZSBqb2luZWQgdGhlIG9yZ2FuaXphdGlvbi4nLFxuICAgIGludml0ZURlY2xpbmVkOiAnSW52aXRhdGlvbiBkZWNsaW5lZC4nLFxuICAgIGFjY2VwdDogJ0FjY2VwdCcsXG4gICAgZGVjbGluZTogJ0RlY2xpbmUnLFxuICAgIHBlbmRpbmdJbnZpdGVzVGl0bGU6ICdQZW5kaW5nIGludml0YXRpb25zJyxcbiAgICBvcmdzRXJyb3JUaXRsZTogJ0NvdWxkIG5vdCBsb2FkIG9yZ2FuaXphdGlvbnMnLFxuICAgIG9yZ3NPZmZsaW5lVGl0bGU6ICdObyBjb25uZWN0aW9uJyxcbiAgICBvcmdzT2ZmbGluZUhpbnQ6ICdDaGVjayB5b3VyIGNvbm5lY3Rpb24gYW5kIHRyeSBhZ2Fpbi4nLFxuICAgIG9yZ3NSZXRyeTogJ1JldHJ5JyxcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { AccountViewComponent } from './account-view.component';
2
+ /**
3
+ * Helper para montar la vista Cuenta (`val-account-view`) como ruta en una app
4
+ * del factory. El `config` se pasa por route `data` (`accountConfig`) y el
5
+ * componente lo lee como fallback de su `@Input() config`.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // settings.routes.ts
10
+ * export const settingsRoutes: Routes = [
11
+ * ...provideValtechAccountRoutes(),
12
+ * { path: 'preferences', loadComponent: () => ... },
13
+ * ];
14
+ *
15
+ * // con config acotada:
16
+ * ...provideValtechAccountRoutes({ config: { showDeleteAccount: false } }),
17
+ * ...provideValtechAccountRoutes({ config: { manageOrgRoute: '/app/org' } }),
18
+ * ```
19
+ */
20
+ export function provideValtechAccountRoutes(opts) {
21
+ return [
22
+ {
23
+ path: opts?.path ?? 'account',
24
+ component: AccountViewComponent,
25
+ data: { accountConfig: opts?.config },
26
+ },
27
+ ];
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FjY291bnQtdmlldy9hY2NvdW50LnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsSUFHM0M7SUFDQyxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxTQUFTO1lBQzdCLFNBQVMsRUFBRSxvQkFBb0I7WUFDL0IsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7U0FDdEM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFjY291bnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9hY2NvdW50LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEFjY291bnRWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSGVscGVyIHBhcmEgbW9udGFyIGxhIHZpc3RhIEN1ZW50YSAoYHZhbC1hY2NvdW50LXZpZXdgKSBjb21vIHJ1dGEgZW4gdW5hIGFwcFxuICogZGVsIGZhY3RvcnkuIEVsIGBjb25maWdgIHNlIHBhc2EgcG9yIHJvdXRlIGBkYXRhYCAoYGFjY291bnRDb25maWdgKSB5IGVsXG4gKiBjb21wb25lbnRlIGxvIGxlZSBjb21vIGZhbGxiYWNrIGRlIHN1IGBASW5wdXQoKSBjb25maWdgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gc2V0dGluZ3Mucm91dGVzLnRzXG4gKiBleHBvcnQgY29uc3Qgc2V0dGluZ3NSb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAgLi4ucHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzKCksXG4gKiAgIHsgcGF0aDogJ3ByZWZlcmVuY2VzJywgbG9hZENvbXBvbmVudDogKCkgPT4gLi4uIH0sXG4gKiBdO1xuICpcbiAqIC8vIGNvbiBjb25maWcgYWNvdGFkYTpcbiAqIC4uLnByb3ZpZGVWYWx0ZWNoQWNjb3VudFJvdXRlcyh7IGNvbmZpZzogeyBzaG93RGVsZXRlQWNjb3VudDogZmFsc2UgfSB9KSxcbiAqIC4uLnByb3ZpZGVWYWx0ZWNoQWNjb3VudFJvdXRlcyh7IGNvbmZpZzogeyBtYW5hZ2VPcmdSb3V0ZTogJy9hcHAvb3JnJyB9IH0pLFxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVmFsdGVjaEFjY291bnRSb3V0ZXMob3B0cz86IHtcbiAgcGF0aD86IHN0cmluZztcbiAgY29uZmlnPzogQWNjb3VudFZpZXdDb25maWc7XG59KTogUm91dGVzIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwYXRoOiBvcHRzPy5wYXRoID8/ICdhY2NvdW50JyxcbiAgICAgIGNvbXBvbmVudDogQWNjb3VudFZpZXdDb21wb25lbnQsXG4gICAgICBkYXRhOiB7IGFjY291bnRDb25maWc6IG9wdHM/LmNvbmZpZyB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2FjY291bnQtdmlldy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnYW5pemF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3R5cGVzJztcblxuLyoqXG4gKiBDb25maWd1cmFjacOzbiBhY290YWRhIGRlIGB2YWwtYWNjb3VudC12aWV3YCAob2JqZWN0LWZpcnN0KS4gVHJlcyBlamVzIGRlXG4gKiB2YXJpYWNpw7NuIHBlcm1pdGlkb3Mg4oCUICoqTkFEQSBkZSBzbG90cyBhcmJpdHJhcmlvcyoqIChBRFItMDIxOiB1bmEgdmlzdGFcbiAqIGZ1bGwtZmVhdHVyZSBubyBhYnJlIHNsb3RzOyBzaSBmYWx0YSBhbGdvLCBzZSBwcm9tdWV2ZSB1biBudWV2byBwdW50byBkZVxuICogZXh0ZW5zacOzbik6XG4gKlxuICogIC0gKipzZWNjaW9uZXMgdmlzaWJsZXMqKiDigJQgZ2F0ZWFuIGVsIHJlbmRlciBkZSBjYWRhIGJsb3F1ZSAoaW52aXRhY2lvbmVzXG4gKiAgICBwZW5kaWVudGVzLCBvcmdhbml6YWNpb25lcywgQ1RBIGRlIG51ZXZhIG9yZywgY2VycmFyIHNlc2nDs24sIGVsaW1pbmFyIGN1ZW50YSkuXG4gKiAgLSAqKmJyYW5kaW5nKiog4oCUIGBpMThuTmFtZXNwYWNlYCBwYXJhIHJlc29sdmVyIGxvcyB0ZXh0b3MgKGRlZmF1bHRcbiAqICAgIGAnU2V0dGluZ3MuQWNjb3VudCdgKS5cbiAqICAtICoqY29tcG9ydGFtaWVudG8gLyBjYWxsYmFja3MqKiDigJQgcnV0YSBkZSBnZXN0acOzbiBkZSBvcmcgKGBtYW5hZ2VPcmdSb3V0ZWApIHlcbiAqICAgIGhvb2tzIG9wY2lvbmFsZXMgdHJhcyBzd2l0Y2ggLyBjcmVhdGUgLyBsb2dvdXQgLyBkZWxldGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudFZpZXdDb25maWcge1xuICAvKiogTXVlc3RyYSBsYSBzZWNjacOzbiBkZSBpbnZpdGFjaW9uZXMgcGVuZGllbnRlcy4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dQZW5kaW5nSW52aXRlcz86IGJvb2xlYW47XG4gIC8qKiBNdWVzdHJhIGxhIHNlY2Npw7NuIGRlIG9yZ2FuaXphY2lvbmVzIChvcmcgYWN0aXZhICsgZW1wdHkgKyBDVEEpLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hvd09yZ2FuaXphdGlvbnM/OiBib29sZWFuO1xuICAvKiogTXVlc3RyYSBsYSBjYXJkIENUQSBkZSBcIk51ZXZhIG9yZ2FuaXphY2nDs25cIi4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dOZXdPcmdDdGE/OiBib29sZWFuO1xuICAvKiogTXVlc3RyYSBsYSBzZWNjacOzbiBcIkNlcnJhciBlc3RhIHNlc2nDs25cIi4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dMb2dvdXQ/OiBib29sZWFuO1xuICAvKiogTXVlc3RyYSBsYSBzZWNjacOzbiBcIkVsaW1pbmFyIGN1ZW50YVwiLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hvd0RlbGV0ZUFjY291bnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgaTE4biBjb24gZWwgcXVlIGxhIHZpc3RhIHJlc3VlbHZlIHN1cyB0ZXh0b3MuXG4gICAqIERlZmF1bHQgYCdTZXR0aW5ncy5BY2NvdW50J2AuXG4gICAqL1xuICBpMThuTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSdXRhIGEgbGEgcXVlIG5hdmVnYXIgYWwgZ2VzdGlvbmFyIGxhIG9yZyBhY3RpdmEgKGJvdMOzbiBcIkdlc3Rpb25hclwiKS5cbiAgICogRGVmYXVsdCBgJy9hcHAvc2V0dGluZ3Mvb3JnYW5pemF0aW9uJ2AuXG4gICAqL1xuICBtYW5hZ2VPcmdSb3V0ZT86IHN0cmluZztcblxuICAvKiogSG9vayB0cmFzIGNhbWJpYXIgZGUgb3JnYW5pemFjacOzbiB2w61hIGVsIG1vZGFsIGRlIHN3aXRjaC4gKi9cbiAgb25PcmdTd2l0Y2hlZD86ICgpID0+IHZvaWQ7XG4gIC8qKiBIb29rIHRyYXMgY3JlYXIgdW5hIG9yZ2FuaXphY2nDs24gdsOtYSBlbCBtb2RhbCBkZSBjcmVhY2nDs24uICovXG4gIG9uT3JnQ3JlYXRlZD86IChuZXdPcmc6IE9yZ2FuaXphdGlvbikgPT4gdm9pZDtcbiAgLyoqIEhvb2sgdHJhcyBjZXJyYXIgc2VzacOzbi4gKi9cbiAgb25Mb2dnZWRPdXQ/OiAoKSA9PiB2b2lkO1xuICAvKiogSG9vayB0cmFzIHNvbGljaXRhciBsYSBlbGltaW5hY2nDs24gZGUgY3VlbnRhLiAqL1xuICBvbkFjY291bnREZWxldGVkPzogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -300,7 +300,7 @@ export class BottomNavComponent {
300
300
  }
301
301
  </div>
302
302
  </nav>
303
- `, isInline: true, styles: [":host{display:block;position:fixed;bottom:0;left:0;right:0;z-index:100;pointer-events:none}.bottom-nav{--bottom-nav-bg: var(--ion-background-color);--bottom-nav-active: var(--ion-color-primary);--bottom-nav-inactive: var(--ion-color-medium);--bottom-nav-radius: 16px 16px 0 0;--bottom-nav-height: 56px;--bottom-nav-fab-size: 56px;--bottom-nav-max-width: var(--val-container-md, 720px);--fab-color: var(--ion-color-primary);pointer-events:auto;background:var(--bottom-nav-bg);border-radius:var(--bottom-nav-radius);height:var(--bottom-nav-height);padding:0 8px;max-width:var(--bottom-nav-max-width);margin:0 auto}@media (min-width: 576px){.bottom-nav{--bottom-nav-height: 64px}}.bottom-nav--elevated{box-shadow:0 -4px 20px #00000014}.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.75);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.06)}.bottom-nav--floating{margin:0 auto 8px;width:calc(100% - 32px);border-radius:32px;border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);box-shadow:0 4px 24px #00000014,0 8px 32px #0000000a;--bottom-nav-radius: 32px}.bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.82);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08)}.bottom-nav--floating.bottom-nav--elevated{box-shadow:0 4px 24px #0000001a,0 12px 48px #00000014}.bottom-nav--safe-area{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}.bottom-nav--floating.bottom-nav--safe-area{margin-bottom:calc(8px + env(safe-area-inset-bottom,0));padding-bottom:0;height:var(--bottom-nav-height)}.bottom-nav__container{display:flex;align-items:center;justify-content:space-around;height:var(--bottom-nav-height);max-width:500px;margin:0 auto}.bottom-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;padding:8px 4px;background:transparent;border:none;cursor:pointer;position:relative;overflow:hidden;color:var(--bottom-nav-inactive);transition:color .2s ease;max-width:80px;--ripple-color: var(--bottom-nav-active)}.bottom-nav__tab:focus-visible{outline:2px solid var(--bottom-nav-active);outline-offset:-2px;border-radius:8px}.bottom-nav__tab--active{color:var(--bottom-nav-active)}.bottom-nav__tab--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-nav__tab[data-animation=scale] .bottom-nav__tab-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.bottom-nav__tab[data-animation=scale].bottom-nav__tab--active .bottom-nav__tab-icon{transform:scale(1.15)}.bottom-nav__tab[data-animation=fade]{transition:opacity .2s ease,color .2s ease}.bottom-nav__tab[data-animation=fade]:not(.bottom-nav__tab--active){opacity:.6}.bottom-nav__tab[data-animation=slide] .bottom-nav__tab-label{transition:transform .2s ease,opacity .2s ease;transform:translateY(6px);opacity:0}.bottom-nav__tab[data-animation=slide].bottom-nav__tab--active .bottom-nav__tab-label{transform:translateY(0);opacity:1}.bottom-nav__tab-icon{position:relative;font-size:1.5rem;line-height:1}.bottom-nav__tab-icon ion-icon{display:block}.bottom-nav__tab-label{font-size:.6875rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.01em}.bottom-nav__badge{position:absolute;top:-4px;right:-10px;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background-color:var(--ion-color-danger);border-radius:9px;box-shadow:0 1px 3px #0003}.bottom-nav__badge--dot{min-width:10px;width:10px;height:10px;padding:0;top:-2px;right:-4px;border-radius:50%}.bottom-nav__fab{position:relative;flex-shrink:0;width:var(--bottom-nav-fab-size);height:var(--bottom-nav-fab-size);margin:0 12px;margin-top:calc(var(--bottom-nav-fab-size) * -.35);background:var(--fab-color);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;box-shadow:0 4px 14px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;overflow:hidden;--ripple-color: rgba(255, 255, 255, .3)}.bottom-nav__fab:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.5)}.bottom-nav__fab:active{transform:scale(.95)}.bottom-nav__fab:focus-visible{outline:3px solid white;outline-offset:2px}.bottom-nav__fab--small{--bottom-nav-fab-size: 48px;font-size:1.5rem;margin-top:-14.4px}.bottom-nav__fab ion-icon{display:block}.bottom-nav--hide-labels{--bottom-nav-height: 56px}.bottom-nav--hide-labels .bottom-nav__tab-label{display:none}.bottom-nav--hide-labels .bottom-nav__tab-icon{font-size:1.625rem}:host-context(.dark) .bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--translucent,:host-context(body.dark) .bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.85);border-top-color:#ffffff14}:host-context(.dark) .bottom-nav--elevated,:host-context(.ion-palette-dark) .bottom-nav--elevated,:host-context(html.ion-palette-dark) .bottom-nav--elevated,:host-context(body.dark) .bottom-nav--elevated,:host-context([data-theme=dark]) .bottom-nav--elevated{box-shadow:0 -4px 20px #0000004d}:host-context(.dark) .bottom-nav--floating,:host-context(.ion-palette-dark) .bottom-nav--floating,:host-context(html.ion-palette-dark) .bottom-nav--floating,:host-context(body.dark) .bottom-nav--floating,:host-context([data-theme=dark]) .bottom-nav--floating{border-color:#ffffff1a;box-shadow:0 4px 24px #0003,0 8px 32px #00000026}:host-context(.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(body.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.88);border-color:#ffffff1a}:host-context(.dark) .bottom-nav__fab,:host-context(.ion-palette-dark) .bottom-nav__fab,:host-context(html.ion-palette-dark) .bottom-nav__fab,:host-context(body.dark) .bottom-nav__fab,:host-context([data-theme=dark]) .bottom-nav__fab{box-shadow:0 4px 14px #00000080}:host-context(.dark) .bottom-nav__fab:hover,:host-context(.ion-palette-dark) .bottom-nav__fab:hover,:host-context(html.ion-palette-dark) .bottom-nav__fab:hover,:host-context(body.dark) .bottom-nav__fab:hover,:host-context([data-theme=dark]) .bottom-nav__fab:hover{box-shadow:0 6px 20px #0009}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav--safe-area .bottom-nav__container{height:var(--bottom-nav-height)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
303
+ `, isInline: true, styles: [":host{display:block;position:fixed;bottom:0;left:0;right:0;z-index:100;pointer-events:none}.bottom-nav{--bottom-nav-bg: var(--ion-background-color);--bottom-nav-active: var(--ion-color-primary);--bottom-nav-inactive: var(--ion-color-medium);--bottom-nav-radius: 16px 16px 0 0;--bottom-nav-height: 56px;--bottom-nav-fab-size: 56px;--bottom-nav-max-width: var(--val-container-md, 720px);--fab-color: var(--ion-color-primary);pointer-events:auto;background:var(--bottom-nav-bg);border-radius:var(--bottom-nav-radius);height:var(--bottom-nav-height);padding:0 8px;max-width:var(--bottom-nav-max-width);margin:0 auto}@media (min-width: 576px){.bottom-nav{--bottom-nav-height: 64px}}.bottom-nav--elevated{box-shadow:0 -4px 20px #00000014}.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.75);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.06)}.bottom-nav--floating{margin:0 auto 8px;width:calc(100% - 32px);border-radius:32px;border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);box-shadow:0 4px 24px #00000014,0 8px 32px #0000000a;--bottom-nav-radius: 32px}.bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.82);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08)}.bottom-nav--floating.bottom-nav--elevated{box-shadow:0 4px 24px #0000001a,0 12px 48px #00000014}.bottom-nav--safe-area{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}.bottom-nav--floating.bottom-nav--safe-area{margin-bottom:calc(8px + env(safe-area-inset-bottom,0));padding-bottom:0;height:var(--bottom-nav-height)}.bottom-nav__container{display:flex;align-items:center;justify-content:space-around;height:var(--bottom-nav-height);max-width:500px;margin:0 auto}.bottom-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;padding:8px 4px;background:transparent;border:none;cursor:pointer;position:relative;overflow:hidden;color:var(--bottom-nav-inactive);transition:color .2s ease;max-width:80px;--ripple-color: var(--bottom-nav-active)}.bottom-nav__tab:focus-visible{outline:2px solid var(--bottom-nav-active);outline-offset:-2px;border-radius:8px}.bottom-nav__tab--active{color:var(--bottom-nav-active)}.bottom-nav__tab--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-nav__tab[data-animation=scale] .bottom-nav__tab-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.bottom-nav__tab[data-animation=scale].bottom-nav__tab--active .bottom-nav__tab-icon{transform:scale(1.15)}.bottom-nav__tab[data-animation=fade]{transition:opacity .2s ease,color .2s ease}.bottom-nav__tab[data-animation=fade]:not(.bottom-nav__tab--active){opacity:.6}.bottom-nav__tab[data-animation=slide] .bottom-nav__tab-label{transition:transform .2s ease,opacity .2s ease;transform:translateY(6px);opacity:0}.bottom-nav__tab[data-animation=slide].bottom-nav__tab--active .bottom-nav__tab-label{transform:translateY(0);opacity:1}.bottom-nav__tab-icon{position:relative;font-size:1.5rem;line-height:1}.bottom-nav__tab-icon ion-icon{display:block}.bottom-nav__tab-label{font-size:.6875rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.01em}.bottom-nav__badge{position:absolute;top:-4px;right:-10px;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background-color:var(--ion-color-danger);border-radius:9px;box-shadow:0 1px 3px #0003}.bottom-nav__badge--dot{min-width:10px;width:10px;height:10px;padding:0;top:-2px;right:-4px;border-radius:50%}.bottom-nav__fab{position:relative;flex-shrink:0;width:var(--bottom-nav-fab-size);height:var(--bottom-nav-fab-size);margin:0 12px;margin-top:calc(var(--bottom-nav-fab-size) * -.35);background:var(--fab-color);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;box-shadow:0 4px 14px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;overflow:hidden;--ripple-color: rgba(255, 255, 255, .3)}.bottom-nav__fab:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.5)}.bottom-nav__fab:active{transform:scale(.95)}.bottom-nav__fab:focus-visible{outline:3px solid white;outline-offset:2px}.bottom-nav__fab--small{--bottom-nav-fab-size: 48px;font-size:1.5rem;margin-top:-14.4px}.bottom-nav__fab ion-icon{display:block}.bottom-nav--hide-labels{--bottom-nav-height: 56px}.bottom-nav--hide-labels .bottom-nav__tab-label{display:none}.bottom-nav--hide-labels .bottom-nav__tab-icon{font-size:1.625rem}:host-context(body.font-large) .bottom-nav{--bottom-nav-height: 56px}:host-context(body.font-large) .bottom-nav .bottom-nav__tab-label{display:none}:host-context(body.font-large) .bottom-nav .bottom-nav__tab-icon{font-size:1.625rem}:host-context(.dark) .bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--translucent,:host-context(body.dark) .bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.85);border-top-color:#ffffff14}:host-context(.dark) .bottom-nav--elevated,:host-context(.ion-palette-dark) .bottom-nav--elevated,:host-context(html.ion-palette-dark) .bottom-nav--elevated,:host-context(body.dark) .bottom-nav--elevated,:host-context([data-theme=dark]) .bottom-nav--elevated{box-shadow:0 -4px 20px #0000004d}:host-context(.dark) .bottom-nav--floating,:host-context(.ion-palette-dark) .bottom-nav--floating,:host-context(html.ion-palette-dark) .bottom-nav--floating,:host-context(body.dark) .bottom-nav--floating,:host-context([data-theme=dark]) .bottom-nav--floating{border-color:#ffffff1a;box-shadow:0 4px 24px #0003,0 8px 32px #00000026}:host-context(.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(body.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.88);border-color:#ffffff1a}:host-context(.dark) .bottom-nav__fab,:host-context(.ion-palette-dark) .bottom-nav__fab,:host-context(html.ion-palette-dark) .bottom-nav__fab,:host-context(body.dark) .bottom-nav__fab,:host-context([data-theme=dark]) .bottom-nav__fab{box-shadow:0 4px 14px #00000080}:host-context(.dark) .bottom-nav__fab:hover,:host-context(.ion-palette-dark) .bottom-nav__fab:hover,:host-context(html.ion-palette-dark) .bottom-nav__fab:hover,:host-context(body.dark) .bottom-nav__fab:hover,:host-context([data-theme=dark]) .bottom-nav__fab:hover{box-shadow:0 6px 20px #0009}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav--safe-area .bottom-nav__container{height:var(--bottom-nav-height)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }] }); }
304
304
  }
305
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BottomNavComponent, decorators: [{
306
306
  type: Component,
@@ -374,10 +374,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
374
374
  }
375
375
  </div>
376
376
  </nav>
377
- `, styles: [":host{display:block;position:fixed;bottom:0;left:0;right:0;z-index:100;pointer-events:none}.bottom-nav{--bottom-nav-bg: var(--ion-background-color);--bottom-nav-active: var(--ion-color-primary);--bottom-nav-inactive: var(--ion-color-medium);--bottom-nav-radius: 16px 16px 0 0;--bottom-nav-height: 56px;--bottom-nav-fab-size: 56px;--bottom-nav-max-width: var(--val-container-md, 720px);--fab-color: var(--ion-color-primary);pointer-events:auto;background:var(--bottom-nav-bg);border-radius:var(--bottom-nav-radius);height:var(--bottom-nav-height);padding:0 8px;max-width:var(--bottom-nav-max-width);margin:0 auto}@media (min-width: 576px){.bottom-nav{--bottom-nav-height: 64px}}.bottom-nav--elevated{box-shadow:0 -4px 20px #00000014}.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.75);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.06)}.bottom-nav--floating{margin:0 auto 8px;width:calc(100% - 32px);border-radius:32px;border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);box-shadow:0 4px 24px #00000014,0 8px 32px #0000000a;--bottom-nav-radius: 32px}.bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.82);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08)}.bottom-nav--floating.bottom-nav--elevated{box-shadow:0 4px 24px #0000001a,0 12px 48px #00000014}.bottom-nav--safe-area{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}.bottom-nav--floating.bottom-nav--safe-area{margin-bottom:calc(8px + env(safe-area-inset-bottom,0));padding-bottom:0;height:var(--bottom-nav-height)}.bottom-nav__container{display:flex;align-items:center;justify-content:space-around;height:var(--bottom-nav-height);max-width:500px;margin:0 auto}.bottom-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;padding:8px 4px;background:transparent;border:none;cursor:pointer;position:relative;overflow:hidden;color:var(--bottom-nav-inactive);transition:color .2s ease;max-width:80px;--ripple-color: var(--bottom-nav-active)}.bottom-nav__tab:focus-visible{outline:2px solid var(--bottom-nav-active);outline-offset:-2px;border-radius:8px}.bottom-nav__tab--active{color:var(--bottom-nav-active)}.bottom-nav__tab--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-nav__tab[data-animation=scale] .bottom-nav__tab-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.bottom-nav__tab[data-animation=scale].bottom-nav__tab--active .bottom-nav__tab-icon{transform:scale(1.15)}.bottom-nav__tab[data-animation=fade]{transition:opacity .2s ease,color .2s ease}.bottom-nav__tab[data-animation=fade]:not(.bottom-nav__tab--active){opacity:.6}.bottom-nav__tab[data-animation=slide] .bottom-nav__tab-label{transition:transform .2s ease,opacity .2s ease;transform:translateY(6px);opacity:0}.bottom-nav__tab[data-animation=slide].bottom-nav__tab--active .bottom-nav__tab-label{transform:translateY(0);opacity:1}.bottom-nav__tab-icon{position:relative;font-size:1.5rem;line-height:1}.bottom-nav__tab-icon ion-icon{display:block}.bottom-nav__tab-label{font-size:.6875rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.01em}.bottom-nav__badge{position:absolute;top:-4px;right:-10px;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background-color:var(--ion-color-danger);border-radius:9px;box-shadow:0 1px 3px #0003}.bottom-nav__badge--dot{min-width:10px;width:10px;height:10px;padding:0;top:-2px;right:-4px;border-radius:50%}.bottom-nav__fab{position:relative;flex-shrink:0;width:var(--bottom-nav-fab-size);height:var(--bottom-nav-fab-size);margin:0 12px;margin-top:calc(var(--bottom-nav-fab-size) * -.35);background:var(--fab-color);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;box-shadow:0 4px 14px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;overflow:hidden;--ripple-color: rgba(255, 255, 255, .3)}.bottom-nav__fab:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.5)}.bottom-nav__fab:active{transform:scale(.95)}.bottom-nav__fab:focus-visible{outline:3px solid white;outline-offset:2px}.bottom-nav__fab--small{--bottom-nav-fab-size: 48px;font-size:1.5rem;margin-top:-14.4px}.bottom-nav__fab ion-icon{display:block}.bottom-nav--hide-labels{--bottom-nav-height: 56px}.bottom-nav--hide-labels .bottom-nav__tab-label{display:none}.bottom-nav--hide-labels .bottom-nav__tab-icon{font-size:1.625rem}:host-context(.dark) .bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--translucent,:host-context(body.dark) .bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.85);border-top-color:#ffffff14}:host-context(.dark) .bottom-nav--elevated,:host-context(.ion-palette-dark) .bottom-nav--elevated,:host-context(html.ion-palette-dark) .bottom-nav--elevated,:host-context(body.dark) .bottom-nav--elevated,:host-context([data-theme=dark]) .bottom-nav--elevated{box-shadow:0 -4px 20px #0000004d}:host-context(.dark) .bottom-nav--floating,:host-context(.ion-palette-dark) .bottom-nav--floating,:host-context(html.ion-palette-dark) .bottom-nav--floating,:host-context(body.dark) .bottom-nav--floating,:host-context([data-theme=dark]) .bottom-nav--floating{border-color:#ffffff1a;box-shadow:0 4px 24px #0003,0 8px 32px #00000026}:host-context(.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(body.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.88);border-color:#ffffff1a}:host-context(.dark) .bottom-nav__fab,:host-context(.ion-palette-dark) .bottom-nav__fab,:host-context(html.ion-palette-dark) .bottom-nav__fab,:host-context(body.dark) .bottom-nav__fab,:host-context([data-theme=dark]) .bottom-nav__fab{box-shadow:0 4px 14px #00000080}:host-context(.dark) .bottom-nav__fab:hover,:host-context(.ion-palette-dark) .bottom-nav__fab:hover,:host-context(html.ion-palette-dark) .bottom-nav__fab:hover,:host-context(body.dark) .bottom-nav__fab:hover,:host-context([data-theme=dark]) .bottom-nav__fab:hover{box-shadow:0 6px 20px #0009}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav--safe-area .bottom-nav__container{height:var(--bottom-nav-height)}}\n"] }]
377
+ `, styles: [":host{display:block;position:fixed;bottom:0;left:0;right:0;z-index:100;pointer-events:none}.bottom-nav{--bottom-nav-bg: var(--ion-background-color);--bottom-nav-active: var(--ion-color-primary);--bottom-nav-inactive: var(--ion-color-medium);--bottom-nav-radius: 16px 16px 0 0;--bottom-nav-height: 56px;--bottom-nav-fab-size: 56px;--bottom-nav-max-width: var(--val-container-md, 720px);--fab-color: var(--ion-color-primary);pointer-events:auto;background:var(--bottom-nav-bg);border-radius:var(--bottom-nav-radius);height:var(--bottom-nav-height);padding:0 8px;max-width:var(--bottom-nav-max-width);margin:0 auto}@media (min-width: 576px){.bottom-nav{--bottom-nav-height: 64px}}.bottom-nav--elevated{box-shadow:0 -4px 20px #00000014}.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.75);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.06)}.bottom-nav--floating{margin:0 auto 8px;width:calc(100% - 32px);border-radius:32px;border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08);box-shadow:0 4px 24px #00000014,0 8px 32px #0000000a;--bottom-nav-radius: 32px}.bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 255, 255, 255),.82);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid rgba(var(--ion-text-color-rgb, 0, 0, 0),.08)}.bottom-nav--floating.bottom-nav--elevated{box-shadow:0 4px 24px #0000001a,0 12px 48px #00000014}.bottom-nav--safe-area{padding-bottom:env(safe-area-inset-bottom,0);height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0))}.bottom-nav--floating.bottom-nav--safe-area{margin-bottom:calc(8px + env(safe-area-inset-bottom,0));padding-bottom:0;height:var(--bottom-nav-height)}.bottom-nav__container{display:flex;align-items:center;justify-content:space-around;height:var(--bottom-nav-height);max-width:500px;margin:0 auto}.bottom-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:100%;padding:8px 4px;background:transparent;border:none;cursor:pointer;position:relative;overflow:hidden;color:var(--bottom-nav-inactive);transition:color .2s ease;max-width:80px;--ripple-color: var(--bottom-nav-active)}.bottom-nav__tab:focus-visible{outline:2px solid var(--bottom-nav-active);outline-offset:-2px;border-radius:8px}.bottom-nav__tab--active{color:var(--bottom-nav-active)}.bottom-nav__tab--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-nav__tab[data-animation=scale] .bottom-nav__tab-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.bottom-nav__tab[data-animation=scale].bottom-nav__tab--active .bottom-nav__tab-icon{transform:scale(1.15)}.bottom-nav__tab[data-animation=fade]{transition:opacity .2s ease,color .2s ease}.bottom-nav__tab[data-animation=fade]:not(.bottom-nav__tab--active){opacity:.6}.bottom-nav__tab[data-animation=slide] .bottom-nav__tab-label{transition:transform .2s ease,opacity .2s ease;transform:translateY(6px);opacity:0}.bottom-nav__tab[data-animation=slide].bottom-nav__tab--active .bottom-nav__tab-label{transform:translateY(0);opacity:1}.bottom-nav__tab-icon{position:relative;font-size:1.5rem;line-height:1}.bottom-nav__tab-icon ion-icon{display:block}.bottom-nav__tab-label{font-size:.6875rem;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:.01em}.bottom-nav__badge{position:absolute;top:-4px;right:-10px;min-width:18px;height:18px;padding:0 5px;font-size:.625rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background-color:var(--ion-color-danger);border-radius:9px;box-shadow:0 1px 3px #0003}.bottom-nav__badge--dot{min-width:10px;width:10px;height:10px;padding:0;top:-2px;right:-4px;border-radius:50%}.bottom-nav__fab{position:relative;flex-shrink:0;width:var(--bottom-nav-fab-size);height:var(--bottom-nav-fab-size);margin:0 12px;margin-top:calc(var(--bottom-nav-fab-size) * -.35);background:var(--fab-color);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;box-shadow:0 4px 14px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.4);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s ease;overflow:hidden;--ripple-color: rgba(255, 255, 255, .3)}.bottom-nav__fab:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--ion-color-primary-rgb, 56, 128, 255),.5)}.bottom-nav__fab:active{transform:scale(.95)}.bottom-nav__fab:focus-visible{outline:3px solid white;outline-offset:2px}.bottom-nav__fab--small{--bottom-nav-fab-size: 48px;font-size:1.5rem;margin-top:-14.4px}.bottom-nav__fab ion-icon{display:block}.bottom-nav--hide-labels{--bottom-nav-height: 56px}.bottom-nav--hide-labels .bottom-nav__tab-label{display:none}.bottom-nav--hide-labels .bottom-nav__tab-icon{font-size:1.625rem}:host-context(body.font-large) .bottom-nav{--bottom-nav-height: 56px}:host-context(body.font-large) .bottom-nav .bottom-nav__tab-label{display:none}:host-context(body.font-large) .bottom-nav .bottom-nav__tab-icon{font-size:1.625rem}:host-context(.dark) .bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--translucent,:host-context(body.dark) .bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.85);border-top-color:#ffffff14}:host-context(.dark) .bottom-nav--elevated,:host-context(.ion-palette-dark) .bottom-nav--elevated,:host-context(html.ion-palette-dark) .bottom-nav--elevated,:host-context(body.dark) .bottom-nav--elevated,:host-context([data-theme=dark]) .bottom-nav--elevated{box-shadow:0 -4px 20px #0000004d}:host-context(.dark) .bottom-nav--floating,:host-context(.ion-palette-dark) .bottom-nav--floating,:host-context(html.ion-palette-dark) .bottom-nav--floating,:host-context(body.dark) .bottom-nav--floating,:host-context([data-theme=dark]) .bottom-nav--floating{border-color:#ffffff1a;box-shadow:0 4px 24px #0003,0 8px 32px #00000026}:host-context(.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(html.ion-palette-dark) .bottom-nav--floating.bottom-nav--translucent,:host-context(body.dark) .bottom-nav--floating.bottom-nav--translucent,:host-context([data-theme=dark]) .bottom-nav--floating.bottom-nav--translucent{background:rgba(var(--ion-background-color-rgb, 18, 18, 18),.88);border-color:#ffffff1a}:host-context(.dark) .bottom-nav__fab,:host-context(.ion-palette-dark) .bottom-nav__fab,:host-context(html.ion-palette-dark) .bottom-nav__fab,:host-context(body.dark) .bottom-nav__fab,:host-context([data-theme=dark]) .bottom-nav__fab{box-shadow:0 4px 14px #00000080}:host-context(.dark) .bottom-nav__fab:hover,:host-context(.ion-palette-dark) .bottom-nav__fab:hover,:host-context(html.ion-palette-dark) .bottom-nav__fab:hover,:host-context(body.dark) .bottom-nav__fab:hover,:host-context([data-theme=dark]) .bottom-nav__fab:hover{box-shadow:0 6px 20px #0009}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav--safe-area .bottom-nav__container{height:var(--bottom-nav-height)}}\n"] }]
378
378
  }], propDecorators: { tabClick: [{
379
379
  type: Output
380
380
  }], fabClick: [{
381
381
  type: Output
382
382
  }] } });
383
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2JvdHRvbS1uYXYvYm90dG9tLW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdELG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBHLG1DQUFtQztBQUNuQyxPQUFPLEVBQ0wsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sYUFBYSxFQUNiLE1BQU0sRUFDTixhQUFhLEVBQ2IsUUFBUSxFQUNSLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsT0FBTyxFQUNQLGNBQWMsRUFDZCxJQUFJLEVBQ0osV0FBVyxF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QkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24sIElvblJpcHBsZUVmZmVjdCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBCb3R0b21OYXZNZXRhZGF0YSwgQm90dG9tTmF2VGFiLCBCb3R0b21OYXZDbGlja0V2ZW50LCBCT1RUT01fTkFWX0RFRkFVTFRTIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFJlZ2lzdGVyIGNvbW1vbiBuYXZpZ2F0aW9uIGljb25zXG5pbXBvcnQge1xuICBob21lLFxuICBob21lT3V0bGluZSxcbiAgc2VhcmNoLFxuICBzZWFyY2hPdXRsaW5lLFxuICBwZXJzb24sXG4gIHBlcnNvbk91dGxpbmUsXG4gIHNldHRpbmdzLFxuICBzZXR0aW5nc091dGxpbmUsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICBhZGQsXG4gIGFkZE91dGxpbmUsXG4gIGhlYXJ0LFxuICBoZWFydE91dGxpbmUsXG4gIGNhcnQsXG4gIGNhcnRPdXRsaW5lLFxuICBjaGF0YnViYmxlLFxuICBjaGF0YnViYmxlT3V0bGluZSxcbiAgY29tcGFzcyxcbiAgY29tcGFzc091dGxpbmUsXG4gIGdyaWQsXG4gIGdyaWRPdXRsaW5lLFxuICBsaXN0LFxuICBsaXN0T3V0bGluZSxcbiAgY2FsZW5kYXIsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgZm9sZGVyLFxuICBmb2xkZXJPdXRsaW5lLFxuICBkb2N1bWVudHMsXG4gIGRvY3VtZW50c091dGxpbmUsXG4gIHN0YXRzQ2hhcnQsXG4gIHN0YXRzQ2hhcnRPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmFkZEljb25zKHtcbiAgaG9tZSxcbiAgaG9tZU91dGxpbmUsXG4gIHNlYXJjaCxcbiAgc2VhcmNoT3V0bGluZSxcbiAgcGVyc29uLFxuICBwZXJzb25PdXRsaW5lLFxuICBzZXR0aW5ncyxcbiAgc2V0dGluZ3NPdXRsaW5lLFxuICBub3RpZmljYXRpb25zLFxuICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgYWRkLFxuICBhZGRPdXRsaW5lLFxuICBoZWFydCxcbiAgaGVhcnRPdXRsaW5lLFxuICBjYXJ0LFxuICBjYXJ0T3V0bGluZSxcbiAgY2hhdGJ1YmJsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGNvbXBhc3MsXG4gIGNvbXBhc3NPdXRsaW5lLFxuICBncmlkLFxuICBncmlkT3V0bGluZSxcbiAgbGlzdCxcbiAgbGlzdE91dGxpbmUsXG4gIGNhbGVuZGFyLFxuICBjYWxlbmRhck91dGxpbmUsXG4gIGZvbGRlcixcbiAgZm9sZGVyT3V0bGluZSxcbiAgZG9jdW1lbnRzLFxuICBkb2N1bWVudHNPdXRsaW5lLFxuICBzdGF0c0NoYXJ0LFxuICBzdGF0c0NoYXJ0T3V0bGluZSxcbn0pO1xuXG4vKipcbiAqIHZhbC1ib3R0b20tbmF2XG4gKlxuICogQSBtb2Rlcm4gYm90dG9tIG5hdmlnYXRpb24gYmFyIGNvbXBvbmVudCB3aXRoIHN1cHBvcnQgZm9yIHRhYnMsXG4gKiBvcHRpb25hbCBjZW50cmFsIEZBQiBidXR0b24sIGJhZGdlcywgYW5kIHJvdXRlLWJhc2VkIGFjdGl2ZSBzdGF0ZSBkZXRlY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYm90dG9tLW5hdlxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRhYnM6IFtcbiAqICAgICAgIHsgdG9rZW46ICdob21lJywgaWNvbjogeyBkZWZhdWx0OiAnaG9tZS1vdXRsaW5lJywgYWN0aXZlOiAnaG9tZScgfSwgbGFiZWw6ICdIb21lJywgcm91dGU6ICcvYXBwL2hvbWUnIH0sXG4gKiAgICAgICB7IHRva2VuOiAnc2V0dGluZ3MnLCBpY29uOiB7IGRlZmF1bHQ6ICdzZXR0aW5ncy1vdXRsaW5lJywgYWN0aXZlOiAnc2V0dGluZ3MnIH0sIGxhYmVsOiAnU2V0dGluZ3MnLCByb3V0ZTogJy9hcHAvc2V0dGluZ3MnIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogICAodGFiQ2xpY2spPVwib25UYWJDbGljaygkZXZlbnQpXCJcbiAqIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGkxOG4gYW5kIHRyYW5zbHVjZW50IHRoZW1lXG4gKiBgYGBodG1sXG4gKiA8dmFsLWJvdHRvbS1uYXZcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0YWJzOiBbXG4gKiAgICAgICB7IHRva2VuOiAnaG9tZScsIGljb246IHsgZGVmYXVsdDogJ2hvbWUtb3V0bGluZScgfSwgbGFiZWxLZXk6ICdtZW51SG9tZScsIHJvdXRlOiAnL2FwcC9ob21lJyB9LFxuICogICAgICAgeyB0b2tlbjogJ3NldHRpbmdzJywgaWNvbjogeyBkZWZhdWx0OiAnc2V0dGluZ3Mtb3V0bGluZScgfSwgbGFiZWxLZXk6ICdtZW51U2V0dGluZ3MnLCByb3V0ZTogJy9hcHAvc2V0dGluZ3MnIH1cbiAqICAgICBdLFxuICogICAgIGkxOG5OYW1lc3BhY2U6ICdNZW51JyxcbiAqICAgICB0aGVtZTogeyB0cmFuc2x1Y2VudDogdHJ1ZSB9XG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYm90dG9tLW5hdicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvblJpcHBsZUVmZmVjdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5hdlxuICAgICAgY2xhc3M9XCJib3R0b20tbmF2XCJcbiAgICAgIFtjbGFzcy5ib3R0b20tbmF2LS1lbGV2YXRlZF09XCJjb25maWcoKS50aGVtZS5lbGV2YXRlZFwiXG4gICAgICBbY2xhc3MuYm90dG9tLW5hdi0tdHJhbnNsdWNlbnRdPVwiY29uZmlnKCkudGhlbWUudHJhbnNsdWNlbnRcIlxuICAgICAgW2NsYXNzLmJvdHRvbS1uYXYtLWZsb2F0aW5nXT1cImNvbmZpZygpLnRoZW1lLmZsb2F0aW5nXCJcbiAgICAgIFtjbGFzcy5ib3R0b20tbmF2LS1zYWZlLWFyZWFdPVwiY29uZmlnKCkuc2FmZUFyZWFcIlxuICAgICAgW2NsYXNzLmJvdHRvbS1uYXYtLWhpZGUtbGFiZWxzXT1cImNvbmZpZygpLmhpZGVMYWJlbHNcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0VGhlbWVTdHlsZXMoKVwiXG4gICAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiQm90dG9tIG5hdmlnYXRpb25cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbmF2X19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBkaXNwbGF5VGFicygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICBAaWYgKGl0ZW0gPT09IG51bGwgJiYgY29uZmlnKCkuZmFiKSB7XG4gICAgICAgICAgICA8IS0tIEZBQiBCdXR0b24gLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdl9fZmFiXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1uYXZfX2ZhYi0tc21hbGxdPVwiY29uZmlnKCkuZmFiIS5zaXplID09PSAnc21hbGwnXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tZmFiLWNvbG9yXT1cInJlc29sdmVDb2xvcihjb25maWcoKS5mYWIhLmNvbG9yIHx8ICdwcmltYXJ5JylcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25GYWJDbGljaygpXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcoKS5mYWIhLmFyaWFMYWJlbCB8fCAnQWN0aW9uIGJ1dHRvbidcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJjb25maWcoKS5mYWIhLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbSkge1xuICAgICAgICAgICAgPCEtLSBUYWIgSXRlbSAtLT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2X190YWJcIlxuICAgICAgICAgICAgICBbY2xhc3MuYm90dG9tLW5hdl9fdGFiLS1hY3RpdmVdPVwiaXNBY3RpdmUoaXRlbSlcIlxuICAgICAgICAgICAgICBbY2xhc3MuYm90dG9tLW5hdl9fdGFiLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hbmltYXRpb25dPVwiY29uZmlnKCkuYW5pbWF0aW9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsIHx8IGdldExhYmVsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImlzQWN0aXZlKGl0ZW0pID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24tcmlwcGxlLWVmZmVjdD48L2lvbi1yaXBwbGUtZWZmZWN0PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbmF2X190YWItaWNvblwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJnZXRJY29uKGl0ZW0pXCI+PC9pb24taWNvbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvdHRvbS1uYXZfX2JhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1uYXZfX2JhZGdlLS1kb3RdPVwiaXRlbS5iYWRnZS5kb3RcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaXRlbS5iYWRnZS5jb2xvciA/IHJlc29sdmVDb2xvcihpdGVtLmJhZGdlLmNvbG9yKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJhZGdlLmJhY2tncm91bmRDb2xvciA/IHJlc29sdmVDb2xvcihpdGVtLmJhZGdlLmJhY2tncm91bmRDb2xvcikgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0uYmFkZ2UuZG90ICYmIGl0ZW0uYmFkZ2UudGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uYmFkZ2UudGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICBAaWYgKCFjb25maWcoKS5oaWRlTGFiZWxzICYmIGdldExhYmVsKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib3R0b20tbmF2X190YWItbGFiZWxcIj57eyBnZXRMYWJlbChpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYm90dG9tLW5hdi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCb3R0b21OYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgbmF2aWdhdGlvbiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PEJvdHRvbU5hdk1ldGFkYXRhPih7IHRhYnM6IFtdIH0pO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYSB0YWIgaXMgY2xpY2tlZCAqL1xuICBAT3V0cHV0KCkgdGFiQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEJvdHRvbU5hdkNsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgRkFCIGJ1dHRvbiBpcyBjbGlja2VkICovXG4gIEBPdXRwdXQoKSBmYWJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQ3VycmVudCBhY3RpdmUgcm91dGUgc2lnbmFsIGZvciByZWFjdGl2ZSB1cGRhdGVzICovXG4gIHByaXZhdGUgY3VycmVudFJvdXRlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIC8qKiBNZXJnZWQgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHRzICovXG4gIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgLi4uQk9UVE9NX05BVl9ERUZBVUxUUyxcbiAgICAuLi50aGlzLnByb3BzKCksXG4gICAgdGhlbWU6IHtcbiAgICAgIC4uLkJPVFRPTV9OQVZfREVGQVVMVFMudGhlbWUsXG4gICAgICAuLi50aGlzLnByb3BzKCkudGhlbWUsXG4gICAgfSxcbiAgfSkpO1xuXG4gIC8qKiBDb21wdXRlZCB0YWJzIHdpdGggRkFCIGluc2VydGVkIGlmIHByZXNlbnQgKi9cbiAgZGlzcGxheVRhYnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMuY29uZmlnKCkudGFicztcbiAgICBjb25zdCBmYWIgPSB0aGlzLmNvbmZpZygpLmZhYjtcblxuICAgIGlmICghZmFiKSByZXR1cm4gdGFicztcblxuICAgIC8vIEluc2VydCBwbGFjZWhvbGRlciBhdCBjZW50ZXIgZm9yIEZBQiBwb3NpdGlvbmluZ1xuICAgIGNvbnN0IG1pZHBvaW50ID0gTWF0aC5mbG9vcih0YWJzLmxlbmd0aCAvIDIpO1xuICAgIHJldHVybiBbXG4gICAgICAuLi50YWJzLnNsaWNlKDAsIG1pZHBvaW50KSxcbiAgICAgIG51bGwgYXMgdW5rbm93biBhcyBCb3R0b21OYXZUYWIsIC8vIEZBQiBwbGFjZWhvbGRlclxuICAgICAgLi4udGFicy5zbGljZShtaWRwb2ludCksXG4gICAgXTtcbiAgfSk7XG5cbiAgLyoqIENoZWNrIGlmIGEgdGFiIGlzIGN1cnJlbnRseSBhY3RpdmUgKi9cbiAgaXNBY3RpdmUodGFiOiBCb3R0b21OYXZUYWIpOiBib29sZWFuIHtcbiAgICBjb25zdCByb3V0ZSA9IHRoaXMuY3VycmVudFJvdXRlKCk7XG4gICAgaWYgKCFyb3V0ZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gQ2hlY2sgbWFpbiByb3V0ZVxuICAgIGNvbnN0IHRhYlJvdXRlID0gQXJyYXkuaXNBcnJheSh0YWIucm91dGUpID8gdGFiLnJvdXRlLmpvaW4oJy8nKSA6IHRhYi5yb3V0ZTtcbiAgICBpZiAocm91dGUuc3RhcnRzV2l0aCh0YWJSb3V0ZSkpIHJldHVybiB0cnVlO1xuXG4gICAgLy8gQ2hlY2sgYWRkaXRpb25hbCBhY3RpdmUgcm91dGVzXG4gICAgaWYgKHRhYi5hY3RpdmVSb3V0ZXMpIHtcbiAgICAgIHJldHVybiB0YWIuYWN0aXZlUm91dGVzLnNvbWUociA9PiByb3V0ZS5zdGFydHNXaXRoKHIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogR2V0IHRoZSBhcHByb3ByaWF0ZSBpY29uIGZvciBhIHRhYiBiYXNlZCBvbiBhY3RpdmUgc3RhdGUgKi9cbiAgZ2V0SWNvbih0YWI6IEJvdHRvbU5hdlRhYik6IHN0cmluZyB7XG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSh0YWIpO1xuICAgIGlmIChhY3RpdmUgJiYgdGFiLmljb24uYWN0aXZlKSB7XG4gICAgICByZXR1cm4gdGFiLmljb24uYWN0aXZlO1xuICAgIH1cbiAgICByZXR1cm4gdGFiLmljb24uZGVmYXVsdDtcbiAgfVxuXG4gIC8qKiBHZXQgdHJhbnNsYXRlZCBsYWJlbCBmb3IgYSB0YWIgKi9cbiAgZ2V0TGFiZWwodGFiOiBCb3R0b21OYXZUYWIpOiBzdHJpbmcge1xuICAgIGlmICh0YWIubGFiZWwpIHJldHVybiB0YWIubGFiZWw7XG4gICAgaWYgKHRhYi5sYWJlbEtleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KHRhYi5sYWJlbEtleSwgdGhpcy5jb25maWcoKS5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLyoqIEdldCBDU1MgdmFyaWFibGVzIGZvciB0aGVtaW5nICovXG4gIGdldFRoZW1lU3R5bGVzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy5jb25maWcoKS50aGVtZTtcbiAgICByZXR1cm4ge1xuICAgICAgJy0tYm90dG9tLW5hdi1iZyc6IHRoZW1lLmJhY2tncm91bmQgfHwgJycsXG4gICAgICAnLS1ib3R0b20tbmF2LWFjdGl2ZSc6IHRoaXMucmVzb2x2ZUNvbG9yKHRoZW1lLmFjdGl2ZUNvbG9yKSxcbiAgICAgICctLWJvdHRvbS1uYXYtaW5hY3RpdmUnOiB0aGlzLnJlc29sdmVDb2xvcih0aGVtZS5pbmFjdGl2ZUNvbG9yKSxcbiAgICAgICctLWJvdHRvbS1uYXYtcmFkaXVzJzogdGhlbWUuYm9yZGVyUmFkaXVzIHx8ICcnLFxuICAgICAgJy0tYm90dG9tLW5hdi1tYXgtd2lkdGgnOiB0aGlzLnJlc29sdmVNYXhXaWR0aCh0aGlzLmNvbmZpZygpLm1heFdpZHRoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIFJlc29sdmUgbWF4V2lkdGggdG9rZW4gKHNtfG1kfGxnfHhsfGZ1bGwpIHRvIENTUyB2YXIgb3IgcmF3IHZhbHVlICovXG4gIHJlc29sdmVNYXhXaWR0aCh2Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHYpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICd2YXIoLS12YWwtY29udGFpbmVyLXNtLCA1NDBweCknO1xuICAgICAgY2FzZSAnbWQnOlxuICAgICAgICByZXR1cm4gJ3ZhcigtLXZhbC1jb250YWluZXItbWQsIDcyMHB4KSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAndmFyKC0tdmFsLWNvbnRhaW5lci1sZywgODgwcHgpJztcbiAgICAgIGNhc2UgJ3hsJzpcbiAgICAgICAgcmV0dXJuICd2YXIoLS12YWwtY29udGFpbmVyLXhsLCAxMTAwcHgpJztcbiAgICAgIGNhc2UgJ2Z1bGwnOlxuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICBjYXNlICcnOlxuICAgICAgICByZXR1cm4gJ3ZhcigtLXZhbC1jb250YWluZXItbWQsIDcyMHB4KSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZXQgaW5pdGlhbCByb3V0ZVxuICAgIHRoaXMuY3VycmVudFJvdXRlLnNldCh0aGlzLnJvdXRlci51cmwpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXNcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGUuc2V0KChldmVudCBhcyBOYXZpZ2F0aW9uRW5kKS51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSB0YWIgY2xpY2sgKi9cbiAgb25UYWJDbGljayh0YWI6IEJvdHRvbU5hdlRhYik6IHZvaWQge1xuICAgIGlmICh0YWIuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIC8vIEVtaXQgZXZlbnRcbiAgICB0aGlzLnRhYkNsaWNrLmVtaXQoe1xuICAgICAgdG9rZW46IHRhYi50b2tlbixcbiAgICAgIGlzRmFiOiBmYWxzZSxcbiAgICAgIHJvdXRlOiB0YWIucm91dGUsXG4gICAgfSk7XG5cbiAgICAvLyBOYXZpZ2F0ZVxuICAgIGNvbnN0IHJvdXRlID0gQXJyYXkuaXNBcnJheSh0YWIucm91dGUpID8gdGFiLnJvdXRlIDogW3RhYi5yb3V0ZV07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBGQUIgY2xpY2sgKi9cbiAgb25GYWJDbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCBmYWIgPSB0aGlzLmNvbmZpZygpLmZhYjtcbiAgICBpZiAoIWZhYikgcmV0dXJuO1xuXG4gICAgLy8gRW1pdCBldmVudFxuICAgIHRoaXMuZmFiQ2xpY2suZW1pdCgpO1xuXG4gICAgLy8gTmF2aWdhdGUgaWYgcm91dGUgaXMgZGVmaW5lZCBhbmQgbm90IGFuIGFjdGlvbi1vbmx5IGJ1dHRvblxuICAgIGlmIChmYWIucm91dGUgJiYgIWZhYi5pc0FjdGlvbikge1xuICAgICAgY29uc3Qgcm91dGUgPSBBcnJheS5pc0FycmF5KGZhYi5yb3V0ZSkgPyBmYWIucm91dGUgOiBbZmFiLnJvdXRlXTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHJvdXRlKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVzb2x2ZSBJb25pYyBjb2xvciBuYW1lIHRvIENTUyB2YXJpYWJsZSAqL1xuICByZXNvbHZlQ29sb3IoY29sb3I/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghY29sb3IpIHJldHVybiAnJztcbiAgICBjb25zdCBpb25pY0NvbG9ycyA9IFsncHJpbWFyeScsICdzZWNvbmRhcnknLCAndGVydGlhcnknLCAnc3VjY2VzcycsICd3YXJuaW5nJywgJ2RhbmdlcicsICdsaWdodCcsICdtZWRpdW0nLCAnZGFyayddO1xuICAgIGlmIChpb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvcikpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcjtcbiAgfVxufVxuIl19
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLW5hdi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2JvdHRvbS1uYXYvYm90dG9tLW5hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdELG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBHLG1DQUFtQztBQUNuQyxPQUFPLEVBQ0wsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLEVBQ04sYUFBYSxFQUNiLE1BQU0sRUFDTixhQUFhLEVBQ2IsUUFBUSxFQUNSLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFDSCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFlBQVksRUFDWixJQUFJLEVBQ0osV0FBVyxFQUNYLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsT0FBTyxFQUNQLGNBQWMsRUFDZCxJQUFJLEVBQ0osV0FBVyxF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QkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbkljb24sIElvblJpcHBsZUVmZmVjdCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBmaWx0ZXIsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbic7XG5pbXBvcnQgeyBCb3R0b21OYXZNZXRhZGF0YSwgQm90dG9tTmF2VGFiLCBCb3R0b21OYXZDbGlja0V2ZW50LCBCT1RUT01fTkFWX0RFRkFVTFRTIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFJlZ2lzdGVyIGNvbW1vbiBuYXZpZ2F0aW9uIGljb25zXG5pbXBvcnQge1xuICBob21lLFxuICBob21lT3V0bGluZSxcbiAgc2VhcmNoLFxuICBzZWFyY2hPdXRsaW5lLFxuICBwZXJzb24sXG4gIHBlcnNvbk91dGxpbmUsXG4gIHNldHRpbmdzLFxuICBzZXR0aW5nc091dGxpbmUsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIG5vdGlmaWNhdGlvbnNPdXRsaW5lLFxuICBhZGQsXG4gIGFkZE91dGxpbmUsXG4gIGhlYXJ0LFxuICBoZWFydE91dGxpbmUsXG4gIGNhcnQsXG4gIGNhcnRPdXRsaW5lLFxuICBjaGF0YnViYmxlLFxuICBjaGF0YnViYmxlT3V0bGluZSxcbiAgY29tcGFzcyxcbiAgY29tcGFzc091dGxpbmUsXG4gIGdyaWQsXG4gIGdyaWRPdXRsaW5lLFxuICBsaXN0LFxuICBsaXN0T3V0bGluZSxcbiAgY2FsZW5kYXIsXG4gIGNhbGVuZGFyT3V0bGluZSxcbiAgZm9sZGVyLFxuICBmb2xkZXJPdXRsaW5lLFxuICBkb2N1bWVudHMsXG4gIGRvY3VtZW50c091dGxpbmUsXG4gIHN0YXRzQ2hhcnQsXG4gIHN0YXRzQ2hhcnRPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmFkZEljb25zKHtcbiAgaG9tZSxcbiAgaG9tZU91dGxpbmUsXG4gIHNlYXJjaCxcbiAgc2VhcmNoT3V0bGluZSxcbiAgcGVyc29uLFxuICBwZXJzb25PdXRsaW5lLFxuICBzZXR0aW5ncyxcbiAgc2V0dGluZ3NPdXRsaW5lLFxuICBub3RpZmljYXRpb25zLFxuICBub3RpZmljYXRpb25zT3V0bGluZSxcbiAgYWRkLFxuICBhZGRPdXRsaW5lLFxuICBoZWFydCxcbiAgaGVhcnRPdXRsaW5lLFxuICBjYXJ0LFxuICBjYXJ0T3V0bGluZSxcbiAgY2hhdGJ1YmJsZSxcbiAgY2hhdGJ1YmJsZU91dGxpbmUsXG4gIGNvbXBhc3MsXG4gIGNvbXBhc3NPdXRsaW5lLFxuICBncmlkLFxuICBncmlkT3V0bGluZSxcbiAgbGlzdCxcbiAgbGlzdE91dGxpbmUsXG4gIGNhbGVuZGFyLFxuICBjYWxlbmRhck91dGxpbmUsXG4gIGZvbGRlcixcbiAgZm9sZGVyT3V0bGluZSxcbiAgZG9jdW1lbnRzLFxuICBkb2N1bWVudHNPdXRsaW5lLFxuICBzdGF0c0NoYXJ0LFxuICBzdGF0c0NoYXJ0T3V0bGluZSxcbn0pO1xuXG4vKipcbiAqIHZhbC1ib3R0b20tbmF2XG4gKlxuICogQSBtb2Rlcm4gYm90dG9tIG5hdmlnYXRpb24gYmFyIGNvbXBvbmVudCB3aXRoIHN1cHBvcnQgZm9yIHRhYnMsXG4gKiBvcHRpb25hbCBjZW50cmFsIEZBQiBidXR0b24sIGJhZGdlcywgYW5kIHJvdXRlLWJhc2VkIGFjdGl2ZSBzdGF0ZSBkZXRlY3Rpb24uXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtYm90dG9tLW5hdlxuICogICBbcHJvcHNdPVwie1xuICogICAgIHRhYnM6IFtcbiAqICAgICAgIHsgdG9rZW46ICdob21lJywgaWNvbjogeyBkZWZhdWx0OiAnaG9tZS1vdXRsaW5lJywgYWN0aXZlOiAnaG9tZScgfSwgbGFiZWw6ICdIb21lJywgcm91dGU6ICcvYXBwL2hvbWUnIH0sXG4gKiAgICAgICB7IHRva2VuOiAnc2V0dGluZ3MnLCBpY29uOiB7IGRlZmF1bHQ6ICdzZXR0aW5ncy1vdXRsaW5lJywgYWN0aXZlOiAnc2V0dGluZ3MnIH0sIGxhYmVsOiAnU2V0dGluZ3MnLCByb3V0ZTogJy9hcHAvc2V0dGluZ3MnIH1cbiAqICAgICBdXG4gKiAgIH1cIlxuICogICAodGFiQ2xpY2spPVwib25UYWJDbGljaygkZXZlbnQpXCJcbiAqIC8+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBXaXRoIGkxOG4gYW5kIHRyYW5zbHVjZW50IHRoZW1lXG4gKiBgYGBodG1sXG4gKiA8dmFsLWJvdHRvbS1uYXZcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICB0YWJzOiBbXG4gKiAgICAgICB7IHRva2VuOiAnaG9tZScsIGljb246IHsgZGVmYXVsdDogJ2hvbWUtb3V0bGluZScgfSwgbGFiZWxLZXk6ICdtZW51SG9tZScsIHJvdXRlOiAnL2FwcC9ob21lJyB9LFxuICogICAgICAgeyB0b2tlbjogJ3NldHRpbmdzJywgaWNvbjogeyBkZWZhdWx0OiAnc2V0dGluZ3Mtb3V0bGluZScgfSwgbGFiZWxLZXk6ICdtZW51U2V0dGluZ3MnLCByb3V0ZTogJy9hcHAvc2V0dGluZ3MnIH1cbiAqICAgICBdLFxuICogICAgIGkxOG5OYW1lc3BhY2U6ICdNZW51JyxcbiAqICAgICB0aGVtZTogeyB0cmFuc2x1Y2VudDogdHJ1ZSB9XG4gKiAgIH1cIlxuICogLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYm90dG9tLW5hdicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvblJpcHBsZUVmZmVjdF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5hdlxuICAgICAgY2xhc3M9XCJib3R0b20tbmF2XCJcbiAgICAgIFtjbGFzcy5ib3R0b20tbmF2LS1lbGV2YXRlZF09XCJjb25maWcoKS50aGVtZS5lbGV2YXRlZFwiXG4gICAgICBbY2xhc3MuYm90dG9tLW5hdi0tdHJhbnNsdWNlbnRdPVwiY29uZmlnKCkudGhlbWUudHJhbnNsdWNlbnRcIlxuICAgICAgW2NsYXNzLmJvdHRvbS1uYXYtLWZsb2F0aW5nXT1cImNvbmZpZygpLnRoZW1lLmZsb2F0aW5nXCJcbiAgICAgIFtjbGFzcy5ib3R0b20tbmF2LS1zYWZlLWFyZWFdPVwiY29uZmlnKCkuc2FmZUFyZWFcIlxuICAgICAgW2NsYXNzLmJvdHRvbS1uYXYtLWhpZGUtbGFiZWxzXT1cImNvbmZpZygpLmhpZGVMYWJlbHNcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0VGhlbWVTdHlsZXMoKVwiXG4gICAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgICBhcmlhLWxhYmVsPVwiQm90dG9tIG5hdmlnYXRpb25cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbmF2X19jb250YWluZXJcIj5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBkaXNwbGF5VGFicygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICBAaWYgKGl0ZW0gPT09IG51bGwgJiYgY29uZmlnKCkuZmFiKSB7XG4gICAgICAgICAgICA8IS0tIEZBQiBCdXR0b24gLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYm90dG9tLW5hdl9fZmFiXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1uYXZfX2ZhYi0tc21hbGxdPVwiY29uZmlnKCkuZmFiIS5zaXplID09PSAnc21hbGwnXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tZmFiLWNvbG9yXT1cInJlc29sdmVDb2xvcihjb25maWcoKS5mYWIhLmNvbG9yIHx8ICdwcmltYXJ5JylcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwib25GYWJDbGljaygpXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcoKS5mYWIhLmFyaWFMYWJlbCB8fCAnQWN0aW9uIGJ1dHRvbidcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJjb25maWcoKS5mYWIhLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbSkge1xuICAgICAgICAgICAgPCEtLSBUYWIgSXRlbSAtLT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJib3R0b20tbmF2X190YWJcIlxuICAgICAgICAgICAgICBbY2xhc3MuYm90dG9tLW5hdl9fdGFiLS1hY3RpdmVdPVwiaXNBY3RpdmUoaXRlbSlcIlxuICAgICAgICAgICAgICBbY2xhc3MuYm90dG9tLW5hdl9fdGFiLS1kaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hbmltYXRpb25dPVwiY29uZmlnKCkuYW5pbWF0aW9uXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsIHx8IGdldExhYmVsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImlzQWN0aXZlKGl0ZW0pID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24tcmlwcGxlLWVmZmVjdD48L2lvbi1yaXBwbGUtZWZmZWN0PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tbmF2X190YWItaWNvblwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJnZXRJY29uKGl0ZW0pXCI+PC9pb24taWNvbj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgICAgICAgICAgICAgQGlmIChpdGVtLmJhZGdlKSB7XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJvdHRvbS1uYXZfX2JhZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJvdHRvbS1uYXZfX2JhZGdlLS1kb3RdPVwiaXRlbS5iYWRnZS5kb3RcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiaXRlbS5iYWRnZS5jb2xvciA/IHJlc29sdmVDb2xvcihpdGVtLmJhZGdlLmNvbG9yKSA6IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLmJhZGdlLmJhY2tncm91bmRDb2xvciA/IHJlc29sdmVDb2xvcihpdGVtLmJhZGdlLmJhY2tncm91bmRDb2xvcikgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0uYmFkZ2UuZG90ICYmIGl0ZW0uYmFkZ2UudGV4dCkge1xuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uYmFkZ2UudGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICBAaWYgKCFjb25maWcoKS5oaWRlTGFiZWxzICYmIGdldExhYmVsKGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib3R0b20tbmF2X190YWItbGFiZWxcIj57eyBnZXRMYWJlbChpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L25hdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYm90dG9tLW5hdi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBCb3R0b21OYXZDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgbmF2aWdhdGlvbiA9IGluamVjdChOYXZpZ2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcm91dGVyU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKiBDb21wb25lbnQgY29uZmlndXJhdGlvbiAqL1xuICByZWFkb25seSBwcm9wcyA9IGlucHV0PEJvdHRvbU5hdk1ldGFkYXRhPih7IHRhYnM6IFtdIH0pO1xuXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYSB0YWIgaXMgY2xpY2tlZCAqL1xuICBAT3V0cHV0KCkgdGFiQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEJvdHRvbU5hdkNsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgRkFCIGJ1dHRvbiBpcyBjbGlja2VkICovXG4gIEBPdXRwdXQoKSBmYWJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKiogQ3VycmVudCBhY3RpdmUgcm91dGUgc2lnbmFsIGZvciByZWFjdGl2ZSB1cGRhdGVzICovXG4gIHByaXZhdGUgY3VycmVudFJvdXRlID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIC8qKiBNZXJnZWQgY29uZmlndXJhdGlvbiB3aXRoIGRlZmF1bHRzICovXG4gIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7XG4gICAgLi4uQk9UVE9NX05BVl9ERUZBVUxUUyxcbiAgICAuLi50aGlzLnByb3BzKCksXG4gICAgdGhlbWU6IHtcbiAgICAgIC4uLkJPVFRPTV9OQVZfREVGQVVMVFMudGhlbWUsXG4gICAgICAuLi50aGlzLnByb3BzKCkudGhlbWUsXG4gICAgfSxcbiAgfSkpO1xuXG4gIC8qKiBDb21wdXRlZCB0YWJzIHdpdGggRkFCIGluc2VydGVkIGlmIHByZXNlbnQgKi9cbiAgZGlzcGxheVRhYnMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdGFicyA9IHRoaXMuY29uZmlnKCkudGFicztcbiAgICBjb25zdCBmYWIgPSB0aGlzLmNvbmZpZygpLmZhYjtcblxuICAgIGlmICghZmFiKSByZXR1cm4gdGFicztcblxuICAgIC8vIEluc2VydCBwbGFjZWhvbGRlciBhdCBjZW50ZXIgZm9yIEZBQiBwb3NpdGlvbmluZ1xuICAgIGNvbnN0IG1pZHBvaW50ID0gTWF0aC5mbG9vcih0YWJzLmxlbmd0aCAvIDIpO1xuICAgIHJldHVybiBbXG4gICAgICAuLi50YWJzLnNsaWNlKDAsIG1pZHBvaW50KSxcbiAgICAgIG51bGwgYXMgdW5rbm93biBhcyBCb3R0b21OYXZUYWIsIC8vIEZBQiBwbGFjZWhvbGRlclxuICAgICAgLi4udGFicy5zbGljZShtaWRwb2ludCksXG4gICAgXTtcbiAgfSk7XG5cbiAgLyoqIENoZWNrIGlmIGEgdGFiIGlzIGN1cnJlbnRseSBhY3RpdmUgKi9cbiAgaXNBY3RpdmUodGFiOiBCb3R0b21OYXZUYWIpOiBib29sZWFuIHtcbiAgICBjb25zdCByb3V0ZSA9IHRoaXMuY3VycmVudFJvdXRlKCk7XG4gICAgaWYgKCFyb3V0ZSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gQ2hlY2sgbWFpbiByb3V0ZVxuICAgIGNvbnN0IHRhYlJvdXRlID0gQXJyYXkuaXNBcnJheSh0YWIucm91dGUpID8gdGFiLnJvdXRlLmpvaW4oJy8nKSA6IHRhYi5yb3V0ZTtcbiAgICBpZiAocm91dGUuc3RhcnRzV2l0aCh0YWJSb3V0ZSkpIHJldHVybiB0cnVlO1xuXG4gICAgLy8gQ2hlY2sgYWRkaXRpb25hbCBhY3RpdmUgcm91dGVzXG4gICAgaWYgKHRhYi5hY3RpdmVSb3V0ZXMpIHtcbiAgICAgIHJldHVybiB0YWIuYWN0aXZlUm91dGVzLnNvbWUociA9PiByb3V0ZS5zdGFydHNXaXRoKHIpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogR2V0IHRoZSBhcHByb3ByaWF0ZSBpY29uIGZvciBhIHRhYiBiYXNlZCBvbiBhY3RpdmUgc3RhdGUgKi9cbiAgZ2V0SWNvbih0YWI6IEJvdHRvbU5hdlRhYik6IHN0cmluZyB7XG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSh0YWIpO1xuICAgIGlmIChhY3RpdmUgJiYgdGFiLmljb24uYWN0aXZlKSB7XG4gICAgICByZXR1cm4gdGFiLmljb24uYWN0aXZlO1xuICAgIH1cbiAgICByZXR1cm4gdGFiLmljb24uZGVmYXVsdDtcbiAgfVxuXG4gIC8qKiBHZXQgdHJhbnNsYXRlZCBsYWJlbCBmb3IgYSB0YWIgKi9cbiAgZ2V0TGFiZWwodGFiOiBCb3R0b21OYXZUYWIpOiBzdHJpbmcge1xuICAgIGlmICh0YWIubGFiZWwpIHJldHVybiB0YWIubGFiZWw7XG4gICAgaWYgKHRhYi5sYWJlbEtleSkge1xuICAgICAgdGhpcy5pMThuLmxhbmcoKTsgLy8gVHJhY2sgbGFuZ3VhZ2UgY2hhbmdlcyBmb3IgcmVhY3Rpdml0eVxuICAgICAgcmV0dXJuIHRoaXMuaTE4bi50KHRhYi5sYWJlbEtleSwgdGhpcy5jb25maWcoKS5pMThuTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLyoqIEdldCBDU1MgdmFyaWFibGVzIGZvciB0aGVtaW5nICovXG4gIGdldFRoZW1lU3R5bGVzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy5jb25maWcoKS50aGVtZTtcbiAgICByZXR1cm4ge1xuICAgICAgJy0tYm90dG9tLW5hdi1iZyc6IHRoZW1lLmJhY2tncm91bmQgfHwgJycsXG4gICAgICAnLS1ib3R0b20tbmF2LWFjdGl2ZSc6IHRoaXMucmVzb2x2ZUNvbG9yKHRoZW1lLmFjdGl2ZUNvbG9yKSxcbiAgICAgICctLWJvdHRvbS1uYXYtaW5hY3RpdmUnOiB0aGlzLnJlc29sdmVDb2xvcih0aGVtZS5pbmFjdGl2ZUNvbG9yKSxcbiAgICAgICctLWJvdHRvbS1uYXYtcmFkaXVzJzogdGhlbWUuYm9yZGVyUmFkaXVzIHx8ICcnLFxuICAgICAgJy0tYm90dG9tLW5hdi1tYXgtd2lkdGgnOiB0aGlzLnJlc29sdmVNYXhXaWR0aCh0aGlzLmNvbmZpZygpLm1heFdpZHRoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIFJlc29sdmUgbWF4V2lkdGggdG9rZW4gKHNtfG1kfGxnfHhsfGZ1bGwpIHRvIENTUyB2YXIgb3IgcmF3IHZhbHVlICovXG4gIHJlc29sdmVNYXhXaWR0aCh2Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHYpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICd2YXIoLS12YWwtY29udGFpbmVyLXNtLCA1NDBweCknO1xuICAgICAgY2FzZSAnbWQnOlxuICAgICAgICByZXR1cm4gJ3ZhcigtLXZhbC1jb250YWluZXItbWQsIDcyMHB4KSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAndmFyKC0tdmFsLWNvbnRhaW5lci1sZywgODgwcHgpJztcbiAgICAgIGNhc2UgJ3hsJzpcbiAgICAgICAgcmV0dXJuICd2YXIoLS12YWwtY29udGFpbmVyLXhsLCAxMTAwcHgpJztcbiAgICAgIGNhc2UgJ2Z1bGwnOlxuICAgICAgICByZXR1cm4gJ25vbmUnO1xuICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICBjYXNlICcnOlxuICAgICAgICByZXR1cm4gJ3ZhcigtLXZhbC1jb250YWluZXItbWQsIDcyMHB4KSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdjtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTZXQgaW5pdGlhbCByb3V0ZVxuICAgIHRoaXMuY3VycmVudFJvdXRlLnNldCh0aGlzLnJvdXRlci51cmwpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXNcbiAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Um91dGUuc2V0KChldmVudCBhcyBOYXZpZ2F0aW9uRW5kKS51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSB0YWIgY2xpY2sgKi9cbiAgb25UYWJDbGljayh0YWI6IEJvdHRvbU5hdlRhYik6IHZvaWQge1xuICAgIGlmICh0YWIuZGlzYWJsZWQpIHJldHVybjtcblxuICAgIC8vIEVtaXQgZXZlbnRcbiAgICB0aGlzLnRhYkNsaWNrLmVtaXQoe1xuICAgICAgdG9rZW46IHRhYi50b2tlbixcbiAgICAgIGlzRmFiOiBmYWxzZSxcbiAgICAgIHJvdXRlOiB0YWIucm91dGUsXG4gICAgfSk7XG5cbiAgICAvLyBOYXZpZ2F0ZVxuICAgIGNvbnN0IHJvdXRlID0gQXJyYXkuaXNBcnJheSh0YWIucm91dGUpID8gdGFiLnJvdXRlIDogW3RhYi5yb3V0ZV07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUocm91dGUpO1xuICB9XG5cbiAgLyoqIEhhbmRsZSBGQUIgY2xpY2sgKi9cbiAgb25GYWJDbGljaygpOiB2b2lkIHtcbiAgICBjb25zdCBmYWIgPSB0aGlzLmNvbmZpZygpLmZhYjtcbiAgICBpZiAoIWZhYikgcmV0dXJuO1xuXG4gICAgLy8gRW1pdCBldmVudFxuICAgIHRoaXMuZmFiQ2xpY2suZW1pdCgpO1xuXG4gICAgLy8gTmF2aWdhdGUgaWYgcm91dGUgaXMgZGVmaW5lZCBhbmQgbm90IGFuIGFjdGlvbi1vbmx5IGJ1dHRvblxuICAgIGlmIChmYWIucm91dGUgJiYgIWZhYi5pc0FjdGlvbikge1xuICAgICAgY29uc3Qgcm91dGUgPSBBcnJheS5pc0FycmF5KGZhYi5yb3V0ZSkgPyBmYWIucm91dGUgOiBbZmFiLnJvdXRlXTtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKHJvdXRlKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmVzb2x2ZSBJb25pYyBjb2xvciBuYW1lIHRvIENTUyB2YXJpYWJsZSAqL1xuICByZXNvbHZlQ29sb3IoY29sb3I/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghY29sb3IpIHJldHVybiAnJztcbiAgICBjb25zdCBpb25pY0NvbG9ycyA9IFsncHJpbWFyeScsICdzZWNvbmRhcnknLCAndGVydGlhcnknLCAnc3VjY2VzcycsICd3YXJuaW5nJywgJ2RhbmdlcicsICdsaWdodCcsICdtZWRpdW0nLCAnZGFyayddO1xuICAgIGlmIChpb25pY0NvbG9ycy5pbmNsdWRlcyhjb2xvcikpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gICAgfVxuICAgIHJldHVybiBjb2xvcjtcbiAgfVxufVxuIl19