valtech-components 2.0.982 → 2.0.984

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 (26) hide show
  1. package/esm2022/lib/components/organisms/faq/faq.component.mjs +6 -3
  2. package/esm2022/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.mjs +298 -0
  3. package/esm2022/lib/components/organisms/security-view/security-view.component.mjs +819 -0
  4. package/esm2022/lib/components/organisms/security-view/security-view.i18n.mjs +105 -0
  5. package/esm2022/lib/components/organisms/security-view/security.routes.mjs +29 -0
  6. package/esm2022/lib/components/organisms/security-view/types.mjs +2 -0
  7. package/esm2022/lib/components/organisms/session-list-modal/session-list-modal.component.mjs +206 -0
  8. package/esm2022/lib/components/organisms/session-list-modal/types.mjs +2 -0
  9. package/esm2022/lib/services/content-platform/content.service.mjs +3 -2
  10. package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +3 -3
  11. package/esm2022/lib/version.mjs +2 -2
  12. package/esm2022/public-api.mjs +7 -1
  13. package/fesm2022/valtech-components.mjs +2394 -986
  14. package/fesm2022/valtech-components.mjs.map +1 -1
  15. package/lib/components/organisms/faq/faq.component.d.ts +1 -0
  16. package/lib/components/organisms/login-attempt-modal/login-attempt-modal.component.d.ts +58 -0
  17. package/lib/components/organisms/security-view/security-view.component.d.ts +130 -0
  18. package/lib/components/organisms/security-view/security-view.i18n.d.ts +12 -0
  19. package/lib/components/organisms/security-view/security.routes.d.ts +24 -0
  20. package/lib/components/organisms/security-view/types.d.ts +48 -0
  21. package/lib/components/organisms/session-list-modal/session-list-modal.component.d.ts +56 -0
  22. package/lib/components/organisms/session-list-modal/types.d.ts +27 -0
  23. package/lib/services/markdown-article/markdown-article-parser.service.d.ts +1 -1
  24. package/lib/version.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/public-api.d.ts +6 -0
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Defaults i18n (es/en) embebidos en `val-security-view`. Auto-registrados en el
3
+ * constructor del componente si el consumer no proveyó el namespace
4
+ * (`Settings.Security` por default). Garantiza que nunca haya una key faltante
5
+ * evaluada por cada change-detection (ver nota en valtech-components/CLAUDE.md
6
+ * sobre el storm de CD con `val-debug-console`). El consumer puede override
7
+ * registrando el mismo namespace antes de que el componente monte.
8
+ *
9
+ * SOLO incluye las keys que la vista realmente usa.
10
+ */
11
+ export const SECURITY_VIEW_I18N = {
12
+ es: {
13
+ pageTitle: 'Seguridad',
14
+ pageDescription: 'Contraseñas, MFA y sesiones activas',
15
+ blocked: 'Dispositivo bloqueado',
16
+ tokenActionFailed: 'El enlace del email no es válido o expiró.',
17
+ loginAttemptTitle: 'Confirmar inicio de sesión',
18
+ loginAttemptBody: 'Detectamos un inicio de sesión en este dispositivo. Si fuiste tú, no tienes que hacer nada. Si no lo reconoces, bloquéalo.',
19
+ loginAttemptMine: 'Sí, fui yo',
20
+ loginAttemptBlock: 'No fui yo — bloquear',
21
+ loginAttemptClose: 'Cerrar',
22
+ loginAttemptDone: 'Dispositivo bloqueado. Restablece tu contraseña para reforzar tu cuenta.',
23
+ loginAttemptUnknownDevice: 'Dispositivo desconocido',
24
+ sessionsTitle: 'Sesiones activas',
25
+ sessionsTitleCount: 'Sesiones activas ({n})',
26
+ sessionsLoading: 'Cargando sesiones…',
27
+ sessionsEmpty: 'No hay sesiones activas.',
28
+ sessionsThis: 'Esta sesión',
29
+ sessionsRevoke: 'Cerrar',
30
+ sessionsRevokeAll: 'Cerrar todas las demás',
31
+ sessionsViewAll: 'Ver todas',
32
+ sessionsModalTitle: 'Todas las sesiones activas',
33
+ sessionsRevoked: 'Sesión cerrada.',
34
+ sessionsAllRevoked: 'Todas las demás sesiones fueron cerradas.',
35
+ sessionsError: 'No se pudo completar la operación.',
36
+ revokeAllConfirmTitle: 'Cerrar todas las otras sesiones',
37
+ revokeAllConfirmMessage: 'Vas a cerrar todas tus sesiones excepto la actual. Tendrás que volver a iniciar sesión en los otros dispositivos.',
38
+ revokeAllConfirm: 'Cerrar todas',
39
+ cancel: 'Cancelar',
40
+ quickActionsTitle: 'Otras opciones',
41
+ changePassword: 'Cambiar contraseña',
42
+ changePasswordDesc: 'Actualiza tu contraseña de acceso',
43
+ changeEmail: 'Cambiar email',
44
+ changeEmailDesc: 'Actualiza el correo electrónico de tu cuenta',
45
+ mfa: 'Autenticación de dos pasos (MFA)',
46
+ mfaDesc: 'Agrega un segundo factor a tu inicio de sesión',
47
+ sessions: 'Sesiones activas',
48
+ sessionsDesc: 'Revisa y cierra sesiones en otros dispositivos',
49
+ policiesTitle: 'Políticas relacionadas',
50
+ privacyLink: 'Política de Privacidad',
51
+ cookiesLink: 'Política de Cookies',
52
+ dataUsageLink: 'Uso de Datos',
53
+ termsLink: 'Términos y Condiciones',
54
+ thirdPartyLink: 'Software y Servicios de Terceros',
55
+ legalNoticeLink: 'Aviso Legal',
56
+ soonHint: 'Próximamente',
57
+ },
58
+ en: {
59
+ pageTitle: 'Security',
60
+ pageDescription: 'Passwords, MFA, and active sessions',
61
+ blocked: 'Device blocked',
62
+ tokenActionFailed: 'The email link is invalid or has expired.',
63
+ loginAttemptTitle: 'Confirm sign-in',
64
+ loginAttemptBody: "We detected a sign-in on this device. If it was you, there's nothing to do. If you don't recognize it, block it.",
65
+ loginAttemptMine: 'Yes, it was me',
66
+ loginAttemptBlock: 'Not me — block it',
67
+ loginAttemptClose: 'Close',
68
+ loginAttemptDone: 'Device blocked. Reset your password to secure your account.',
69
+ loginAttemptUnknownDevice: 'Unknown device',
70
+ sessionsTitle: 'Active sessions',
71
+ sessionsTitleCount: 'Active sessions ({n})',
72
+ sessionsLoading: 'Loading sessions…',
73
+ sessionsEmpty: 'No active sessions.',
74
+ sessionsThis: 'This session',
75
+ sessionsRevoke: 'End',
76
+ sessionsRevokeAll: 'End all others',
77
+ sessionsViewAll: 'View all',
78
+ sessionsModalTitle: 'All active sessions',
79
+ sessionsRevoked: 'Session ended.',
80
+ sessionsAllRevoked: 'All other sessions were ended.',
81
+ sessionsError: 'Could not complete the operation.',
82
+ revokeAllConfirmTitle: 'End all other sessions',
83
+ revokeAllConfirmMessage: "You're about to end every session except this one. You'll need to sign in again on the other devices.",
84
+ revokeAllConfirm: 'End all',
85
+ cancel: 'Cancel',
86
+ quickActionsTitle: 'Other options',
87
+ changePassword: 'Change password',
88
+ changePasswordDesc: 'Update your access password',
89
+ changeEmail: 'Change email',
90
+ changeEmailDesc: 'Update the email address on your account',
91
+ mfa: 'Two-step verification (MFA)',
92
+ mfaDesc: 'Add a second factor to your sign-in',
93
+ sessions: 'Active sessions',
94
+ sessionsDesc: 'Review and sign out from other devices',
95
+ policiesTitle: 'Related policies',
96
+ privacyLink: 'Privacy Policy',
97
+ cookiesLink: 'Cookie Policy',
98
+ dataUsageLink: 'Data Usage',
99
+ termsLink: 'Terms and Conditions',
100
+ thirdPartyLink: 'Third-Party Software and Services',
101
+ legalNoticeLink: 'Legal Notice',
102
+ soonHint: 'Coming soon',
103
+ },
104
+ };
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdmlldy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZWN1cml0eS12aWV3L3NlY3VyaXR5LXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBcUI7SUFDbEQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFdBQVc7UUFDdEIsZUFBZSxFQUFFLHFDQUFxQztRQUV0RCxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLGlCQUFpQixFQUFFLDRDQUE0QztRQUUvRCxpQkFBaUIsRUFBRSw0QkFBNEI7UUFDL0MsZ0JBQWdCLEVBQ2QsNEhBQTRIO1FBQzlILGdCQUFnQixFQUFFLFlBQVk7UUFDOUIsaUJBQWlCLEVBQUUsc0JBQXNCO1FBQ3pDLGlCQUFpQixFQUFFLFFBQVE7UUFDM0IsZ0JBQWdCLEVBQUUsMEVBQTBFO1FBQzVGLHlCQUF5QixFQUFFLHlCQUF5QjtRQUVwRCxhQUFhLEVBQUUsa0JBQWtCO1FBQ2pDLGtCQUFrQixFQUFFLHdCQUF3QjtRQUM1QyxlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLGFBQWEsRUFBRSwwQkFBMEI7UUFDekMsWUFBWSxFQUFFLGFBQWE7UUFDM0IsY0FBYyxFQUFFLFFBQVE7UUFDeEIsaUJBQWlCLEVBQUUsd0JBQXdCO1FBQzNDLGVBQWUsRUFBRSxXQUFXO1FBQzVCLGtCQUFrQixFQUFFLDRCQUE0QjtRQUNoRCxlQUFlLEVBQUUsaUJBQWlCO1FBQ2xDLGtCQUFrQixFQUFFLDJDQUEyQztRQUMvRCxhQUFhLEVBQUUsb0NBQW9DO1FBQ25ELHFCQUFxQixFQUFFLGlDQUFpQztRQUN4RCx1QkFBdUIsRUFDckIsbUhBQW1IO1FBQ3JILGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsTUFBTSxFQUFFLFVBQVU7UUFFbEIsaUJBQWlCLEVBQUUsZ0JBQWdCO1FBQ25DLGNBQWMsRUFBRSxvQkFBb0I7UUFDcEMsa0JBQWtCLEVBQUUsbUNBQW1DO1FBQ3ZELFdBQVcsRUFBRSxlQUFlO1FBQzVCLGVBQWUsRUFBRSw4Q0FBOEM7UUFDL0QsR0FBRyxFQUFFLGtDQUFrQztRQUN2QyxPQUFPLEVBQUUsZ0RBQWdEO1FBQ3pELFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLGdEQUFnRDtRQUU5RCxhQUFhLEVBQUUsd0JBQXdCO1FBQ3ZDLFdBQVcsRUFBRSx3QkFBd0I7UUFDckMsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxhQUFhLEVBQUUsY0FBYztRQUM3QixTQUFTLEVBQUUsd0JBQXdCO1FBQ25DLGNBQWMsRUFBRSxrQ0FBa0M7UUFDbEQsZUFBZSxFQUFFLGFBQWE7UUFFOUIsUUFBUSxFQUFFLGNBQWM7S0FDekI7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsVUFBVTtRQUNyQixlQUFlLEVBQUUscUNBQXFDO1FBRXRELE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsaUJBQWlCLEVBQUUsMkNBQTJDO1FBRTlELGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxnQkFBZ0IsRUFDZCxrSEFBa0g7UUFDcEgsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLGlCQUFpQixFQUFFLG1CQUFtQjtRQUN0QyxpQkFBaUIsRUFBRSxPQUFPO1FBQzFCLGdCQUFnQixFQUFFLDZEQUE2RDtRQUMvRSx5QkFBeUIsRUFBRSxnQkFBZ0I7UUFFM0MsYUFBYSxFQUFFLGlCQUFpQjtRQUNoQyxrQkFBa0IsRUFBRSx1QkFBdUI7UUFDM0MsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxhQUFhLEVBQUUscUJBQXFCO1FBQ3BDLFlBQVksRUFBRSxjQUFjO1FBQzVCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGlCQUFpQixFQUFFLGdCQUFnQjtRQUNuQyxlQUFlLEVBQUUsVUFBVTtRQUMzQixrQkFBa0IsRUFBRSxxQkFBcUI7UUFDekMsZUFBZSxFQUFFLGdCQUFnQjtRQUNqQyxrQkFBa0IsRUFBRSxnQ0FBZ0M7UUFDcEQsYUFBYSxFQUFFLG1DQUFtQztRQUNsRCxxQkFBcUIsRUFBRSx3QkFBd0I7UUFDL0MsdUJBQXVCLEVBQ3JCLHVHQUF1RztRQUN6RyxnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLE1BQU0sRUFBRSxRQUFRO1FBRWhCLGlCQUFpQixFQUFFLGVBQWU7UUFDbEMsY0FBYyxFQUFFLGlCQUFpQjtRQUNqQyxrQkFBa0IsRUFBRSw2QkFBNkI7UUFDakQsV0FBVyxFQUFFLGNBQWM7UUFDM0IsZUFBZSxFQUFFLDBDQUEwQztRQUMzRCxHQUFHLEVBQUUsNkJBQTZCO1FBQ2xDLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixZQUFZLEVBQUUsd0NBQXdDO1FBRXRELGFBQWEsRUFBRSxrQkFBa0I7UUFDakMsV0FBVyxFQUFFLGdCQUFnQjtRQUM3QixXQUFXLEVBQUUsZUFBZTtRQUM1QixhQUFhLEVBQUUsWUFBWTtRQUMzQixTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLGNBQWMsRUFBRSxtQ0FBbUM7UUFDbkQsZUFBZSxFQUFFLGNBQWM7UUFFL0IsUUFBUSxFQUFFLGFBQWE7S0FDeEI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGFuZ3VhZ2VzQ29udGVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4vdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHRzIGkxOG4gKGVzL2VuKSBlbWJlYmlkb3MgZW4gYHZhbC1zZWN1cml0eS12aWV3YC4gQXV0by1yZWdpc3RyYWRvcyBlbiBlbFxuICogY29uc3RydWN0b3IgZGVsIGNvbXBvbmVudGUgc2kgZWwgY29uc3VtZXIgbm8gcHJvdmV5w7MgZWwgbmFtZXNwYWNlXG4gKiAoYFNldHRpbmdzLlNlY3VyaXR5YCBwb3IgZGVmYXVsdCkuIEdhcmFudGl6YSBxdWUgbnVuY2EgaGF5YSB1bmEga2V5IGZhbHRhbnRlXG4gKiBldmFsdWFkYSBwb3IgY2FkYSBjaGFuZ2UtZGV0ZWN0aW9uICh2ZXIgbm90YSBlbiB2YWx0ZWNoLWNvbXBvbmVudHMvQ0xBVURFLm1kXG4gKiBzb2JyZSBlbCBzdG9ybSBkZSBDRCBjb24gYHZhbC1kZWJ1Zy1jb25zb2xlYCkuIEVsIGNvbnN1bWVyIHB1ZWRlIG92ZXJyaWRlXG4gKiByZWdpc3RyYW5kbyBlbCBtaXNtbyBuYW1lc3BhY2UgYW50ZXMgZGUgcXVlIGVsIGNvbXBvbmVudGUgbW9udGUuXG4gKlxuICogU09MTyBpbmNsdXllIGxhcyBrZXlzIHF1ZSBsYSB2aXN0YSByZWFsbWVudGUgdXNhLlxuICovXG5leHBvcnQgY29uc3QgU0VDVVJJVFlfVklFV19JMThOOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIHBhZ2VUaXRsZTogJ1NlZ3VyaWRhZCcsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnQ29udHJhc2XDsWFzLCBNRkEgeSBzZXNpb25lcyBhY3RpdmFzJyxcblxuICAgIGJsb2NrZWQ6ICdEaXNwb3NpdGl2byBibG9xdWVhZG8nLFxuICAgIHRva2VuQWN0aW9uRmFpbGVkOiAnRWwgZW5sYWNlIGRlbCBlbWFpbCBubyBlcyB2w6FsaWRvIG8gZXhwaXLDsy4nLFxuXG4gICAgbG9naW5BdHRlbXB0VGl0bGU6ICdDb25maXJtYXIgaW5pY2lvIGRlIHNlc2nDs24nLFxuICAgIGxvZ2luQXR0ZW1wdEJvZHk6XG4gICAgICAnRGV0ZWN0YW1vcyB1biBpbmljaW8gZGUgc2VzacOzbiBlbiBlc3RlIGRpc3Bvc2l0aXZvLiBTaSBmdWlzdGUgdMO6LCBubyB0aWVuZXMgcXVlIGhhY2VyIG5hZGEuIFNpIG5vIGxvIHJlY29ub2NlcywgYmxvcXXDqWFsby4nLFxuICAgIGxvZ2luQXR0ZW1wdE1pbmU6ICdTw60sIGZ1aSB5bycsXG4gICAgbG9naW5BdHRlbXB0QmxvY2s6ICdObyBmdWkgeW8g4oCUIGJsb3F1ZWFyJyxcbiAgICBsb2dpbkF0dGVtcHRDbG9zZTogJ0NlcnJhcicsXG4gICAgbG9naW5BdHRlbXB0RG9uZTogJ0Rpc3Bvc2l0aXZvIGJsb3F1ZWFkby4gUmVzdGFibGVjZSB0dSBjb250cmFzZcOxYSBwYXJhIHJlZm9yemFyIHR1IGN1ZW50YS4nLFxuICAgIGxvZ2luQXR0ZW1wdFVua25vd25EZXZpY2U6ICdEaXNwb3NpdGl2byBkZXNjb25vY2lkbycsXG5cbiAgICBzZXNzaW9uc1RpdGxlOiAnU2VzaW9uZXMgYWN0aXZhcycsXG4gICAgc2Vzc2lvbnNUaXRsZUNvdW50OiAnU2VzaW9uZXMgYWN0aXZhcyAoe259KScsXG4gICAgc2Vzc2lvbnNMb2FkaW5nOiAnQ2FyZ2FuZG8gc2VzaW9uZXPigKYnLFxuICAgIHNlc3Npb25zRW1wdHk6ICdObyBoYXkgc2VzaW9uZXMgYWN0aXZhcy4nLFxuICAgIHNlc3Npb25zVGhpczogJ0VzdGEgc2VzacOzbicsXG4gICAgc2Vzc2lvbnNSZXZva2U6ICdDZXJyYXInLFxuICAgIHNlc3Npb25zUmV2b2tlQWxsOiAnQ2VycmFyIHRvZGFzIGxhcyBkZW3DoXMnLFxuICAgIHNlc3Npb25zVmlld0FsbDogJ1ZlciB0b2RhcycsXG4gICAgc2Vzc2lvbnNNb2RhbFRpdGxlOiAnVG9kYXMgbGFzIHNlc2lvbmVzIGFjdGl2YXMnLFxuICAgIHNlc3Npb25zUmV2b2tlZDogJ1Nlc2nDs24gY2VycmFkYS4nLFxuICAgIHNlc3Npb25zQWxsUmV2b2tlZDogJ1RvZGFzIGxhcyBkZW3DoXMgc2VzaW9uZXMgZnVlcm9uIGNlcnJhZGFzLicsXG4gICAgc2Vzc2lvbnNFcnJvcjogJ05vIHNlIHB1ZG8gY29tcGxldGFyIGxhIG9wZXJhY2nDs24uJyxcbiAgICByZXZva2VBbGxDb25maXJtVGl0bGU6ICdDZXJyYXIgdG9kYXMgbGFzIG90cmFzIHNlc2lvbmVzJyxcbiAgICByZXZva2VBbGxDb25maXJtTWVzc2FnZTpcbiAgICAgICdWYXMgYSBjZXJyYXIgdG9kYXMgdHVzIHNlc2lvbmVzIGV4Y2VwdG8gbGEgYWN0dWFsLiBUZW5kcsOhcyBxdWUgdm9sdmVyIGEgaW5pY2lhciBzZXNpw7NuIGVuIGxvcyBvdHJvcyBkaXNwb3NpdGl2b3MuJyxcbiAgICByZXZva2VBbGxDb25maXJtOiAnQ2VycmFyIHRvZGFzJyxcbiAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG5cbiAgICBxdWlja0FjdGlvbnNUaXRsZTogJ090cmFzIG9wY2lvbmVzJyxcbiAgICBjaGFuZ2VQYXNzd29yZDogJ0NhbWJpYXIgY29udHJhc2XDsWEnLFxuICAgIGNoYW5nZVBhc3N3b3JkRGVzYzogJ0FjdHVhbGl6YSB0dSBjb250cmFzZcOxYSBkZSBhY2Nlc28nLFxuICAgIGNoYW5nZUVtYWlsOiAnQ2FtYmlhciBlbWFpbCcsXG4gICAgY2hhbmdlRW1haWxEZXNjOiAnQWN0dWFsaXphIGVsIGNvcnJlbyBlbGVjdHLDs25pY28gZGUgdHUgY3VlbnRhJyxcbiAgICBtZmE6ICdBdXRlbnRpY2FjacOzbiBkZSBkb3MgcGFzb3MgKE1GQSknLFxuICAgIG1mYURlc2M6ICdBZ3JlZ2EgdW4gc2VndW5kbyBmYWN0b3IgYSB0dSBpbmljaW8gZGUgc2VzacOzbicsXG4gICAgc2Vzc2lvbnM6ICdTZXNpb25lcyBhY3RpdmFzJyxcbiAgICBzZXNzaW9uc0Rlc2M6ICdSZXZpc2EgeSBjaWVycmEgc2VzaW9uZXMgZW4gb3Ryb3MgZGlzcG9zaXRpdm9zJyxcblxuICAgIHBvbGljaWVzVGl0bGU6ICdQb2zDrXRpY2FzIHJlbGFjaW9uYWRhcycsXG4gICAgcHJpdmFjeUxpbms6ICdQb2zDrXRpY2EgZGUgUHJpdmFjaWRhZCcsXG4gICAgY29va2llc0xpbms6ICdQb2zDrXRpY2EgZGUgQ29va2llcycsXG4gICAgZGF0YVVzYWdlTGluazogJ1VzbyBkZSBEYXRvcycsXG4gICAgdGVybXNMaW5rOiAnVMOpcm1pbm9zIHkgQ29uZGljaW9uZXMnLFxuICAgIHRoaXJkUGFydHlMaW5rOiAnU29mdHdhcmUgeSBTZXJ2aWNpb3MgZGUgVGVyY2Vyb3MnLFxuICAgIGxlZ2FsTm90aWNlTGluazogJ0F2aXNvIExlZ2FsJyxcblxuICAgIHNvb25IaW50OiAnUHLDs3hpbWFtZW50ZScsXG4gIH0sXG4gIGVuOiB7XG4gICAgcGFnZVRpdGxlOiAnU2VjdXJpdHknLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ1Bhc3N3b3JkcywgTUZBLCBhbmQgYWN0aXZlIHNlc3Npb25zJyxcblxuICAgIGJsb2NrZWQ6ICdEZXZpY2UgYmxvY2tlZCcsXG4gICAgdG9rZW5BY3Rpb25GYWlsZWQ6ICdUaGUgZW1haWwgbGluayBpcyBpbnZhbGlkIG9yIGhhcyBleHBpcmVkLicsXG5cbiAgICBsb2dpbkF0dGVtcHRUaXRsZTogJ0NvbmZpcm0gc2lnbi1pbicsXG4gICAgbG9naW5BdHRlbXB0Qm9keTpcbiAgICAgIFwiV2UgZGV0ZWN0ZWQgYSBzaWduLWluIG9uIHRoaXMgZGV2aWNlLiBJZiBpdCB3YXMgeW91LCB0aGVyZSdzIG5vdGhpbmcgdG8gZG8uIElmIHlvdSBkb24ndCByZWNvZ25pemUgaXQsIGJsb2NrIGl0LlwiLFxuICAgIGxvZ2luQXR0ZW1wdE1pbmU6ICdZZXMsIGl0IHdhcyBtZScsXG4gICAgbG9naW5BdHRlbXB0QmxvY2s6ICdOb3QgbWUg4oCUIGJsb2NrIGl0JyxcbiAgICBsb2dpbkF0dGVtcHRDbG9zZTogJ0Nsb3NlJyxcbiAgICBsb2dpbkF0dGVtcHREb25lOiAnRGV2aWNlIGJsb2NrZWQuIFJlc2V0IHlvdXIgcGFzc3dvcmQgdG8gc2VjdXJlIHlvdXIgYWNjb3VudC4nLFxuICAgIGxvZ2luQXR0ZW1wdFVua25vd25EZXZpY2U6ICdVbmtub3duIGRldmljZScsXG5cbiAgICBzZXNzaW9uc1RpdGxlOiAnQWN0aXZlIHNlc3Npb25zJyxcbiAgICBzZXNzaW9uc1RpdGxlQ291bnQ6ICdBY3RpdmUgc2Vzc2lvbnMgKHtufSknLFxuICAgIHNlc3Npb25zTG9hZGluZzogJ0xvYWRpbmcgc2Vzc2lvbnPigKYnLFxuICAgIHNlc3Npb25zRW1wdHk6ICdObyBhY3RpdmUgc2Vzc2lvbnMuJyxcbiAgICBzZXNzaW9uc1RoaXM6ICdUaGlzIHNlc3Npb24nLFxuICAgIHNlc3Npb25zUmV2b2tlOiAnRW5kJyxcbiAgICBzZXNzaW9uc1Jldm9rZUFsbDogJ0VuZCBhbGwgb3RoZXJzJyxcbiAgICBzZXNzaW9uc1ZpZXdBbGw6ICdWaWV3IGFsbCcsXG4gICAgc2Vzc2lvbnNNb2RhbFRpdGxlOiAnQWxsIGFjdGl2ZSBzZXNzaW9ucycsXG4gICAgc2Vzc2lvbnNSZXZva2VkOiAnU2Vzc2lvbiBlbmRlZC4nLFxuICAgIHNlc3Npb25zQWxsUmV2b2tlZDogJ0FsbCBvdGhlciBzZXNzaW9ucyB3ZXJlIGVuZGVkLicsXG4gICAgc2Vzc2lvbnNFcnJvcjogJ0NvdWxkIG5vdCBjb21wbGV0ZSB0aGUgb3BlcmF0aW9uLicsXG4gICAgcmV2b2tlQWxsQ29uZmlybVRpdGxlOiAnRW5kIGFsbCBvdGhlciBzZXNzaW9ucycsXG4gICAgcmV2b2tlQWxsQ29uZmlybU1lc3NhZ2U6XG4gICAgICBcIllvdSdyZSBhYm91dCB0byBlbmQgZXZlcnkgc2Vzc2lvbiBleGNlcHQgdGhpcyBvbmUuIFlvdSdsbCBuZWVkIHRvIHNpZ24gaW4gYWdhaW4gb24gdGhlIG90aGVyIGRldmljZXMuXCIsXG4gICAgcmV2b2tlQWxsQ29uZmlybTogJ0VuZCBhbGwnLFxuICAgIGNhbmNlbDogJ0NhbmNlbCcsXG5cbiAgICBxdWlja0FjdGlvbnNUaXRsZTogJ090aGVyIG9wdGlvbnMnLFxuICAgIGNoYW5nZVBhc3N3b3JkOiAnQ2hhbmdlIHBhc3N3b3JkJyxcbiAgICBjaGFuZ2VQYXNzd29yZERlc2M6ICdVcGRhdGUgeW91ciBhY2Nlc3MgcGFzc3dvcmQnLFxuICAgIGNoYW5nZUVtYWlsOiAnQ2hhbmdlIGVtYWlsJyxcbiAgICBjaGFuZ2VFbWFpbERlc2M6ICdVcGRhdGUgdGhlIGVtYWlsIGFkZHJlc3Mgb24geW91ciBhY2NvdW50JyxcbiAgICBtZmE6ICdUd28tc3RlcCB2ZXJpZmljYXRpb24gKE1GQSknLFxuICAgIG1mYURlc2M6ICdBZGQgYSBzZWNvbmQgZmFjdG9yIHRvIHlvdXIgc2lnbi1pbicsXG4gICAgc2Vzc2lvbnM6ICdBY3RpdmUgc2Vzc2lvbnMnLFxuICAgIHNlc3Npb25zRGVzYzogJ1JldmlldyBhbmQgc2lnbiBvdXQgZnJvbSBvdGhlciBkZXZpY2VzJyxcblxuICAgIHBvbGljaWVzVGl0bGU6ICdSZWxhdGVkIHBvbGljaWVzJyxcbiAgICBwcml2YWN5TGluazogJ1ByaXZhY3kgUG9saWN5JyxcbiAgICBjb29raWVzTGluazogJ0Nvb2tpZSBQb2xpY3knLFxuICAgIGRhdGFVc2FnZUxpbms6ICdEYXRhIFVzYWdlJyxcbiAgICB0ZXJtc0xpbms6ICdUZXJtcyBhbmQgQ29uZGl0aW9ucycsXG4gICAgdGhpcmRQYXJ0eUxpbms6ICdUaGlyZC1QYXJ0eSBTb2Z0d2FyZSBhbmQgU2VydmljZXMnLFxuICAgIGxlZ2FsTm90aWNlTGluazogJ0xlZ2FsIE5vdGljZScsXG5cbiAgICBzb29uSGludDogJ0NvbWluZyBzb29uJyxcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { SecurityViewComponent } from './security-view.component';
2
+ /**
3
+ * Helper para montar la vista Seguridad (`val-security-view`) como ruta en una
4
+ * app del factory. El `config` se pasa por route `data` (`securityConfig`) 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
+ * ...provideValtechSecurityRoutes(),
12
+ * { path: 'preferences', loadComponent: () => ... },
13
+ * ];
14
+ *
15
+ * // con config acotada:
16
+ * ...provideValtechSecurityRoutes({ config: { showPolicies: false } }),
17
+ * ...provideValtechSecurityRoutes({ config: { homeRoute: '/app/dashboard' } }),
18
+ * ```
19
+ */
20
+ export function provideValtechSecurityRoutes(opts) {
21
+ return [
22
+ {
23
+ path: opts?.path ?? 'security',
24
+ component: SecurityViewComponent,
25
+ data: { securityConfig: opts?.config },
26
+ },
27
+ ];
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHkucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZWN1cml0eS12aWV3L3NlY3VyaXR5LnJvdXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUdsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFHNUM7SUFDQyxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxVQUFVO1lBQzlCLFNBQVMsRUFBRSxxQkFBcUI7WUFDaEMsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7U0FDdkM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFNlY3VyaXR5Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vc2VjdXJpdHktdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VjdXJpdHlWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSGVscGVyIHBhcmEgbW9udGFyIGxhIHZpc3RhIFNlZ3VyaWRhZCAoYHZhbC1zZWN1cml0eS12aWV3YCkgY29tbyBydXRhIGVuIHVuYVxuICogYXBwIGRlbCBmYWN0b3J5LiBFbCBgY29uZmlnYCBzZSBwYXNhIHBvciByb3V0ZSBgZGF0YWAgKGBzZWN1cml0eUNvbmZpZ2ApIHkgZWxcbiAqIGNvbXBvbmVudGUgbG8gbGVlIGNvbW8gZmFsbGJhY2sgZGUgc3UgYEBJbnB1dCgpIGNvbmZpZ2AuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBzZXR0aW5ncy5yb3V0ZXMudHNcbiAqIGV4cG9ydCBjb25zdCBzZXR0aW5nc1JvdXRlczogUm91dGVzID0gW1xuICogICAuLi5wcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzKCksXG4gKiAgIHsgcGF0aDogJ3ByZWZlcmVuY2VzJywgbG9hZENvbXBvbmVudDogKCkgPT4gLi4uIH0sXG4gKiBdO1xuICpcbiAqIC8vIGNvbiBjb25maWcgYWNvdGFkYTpcbiAqIC4uLnByb3ZpZGVWYWx0ZWNoU2VjdXJpdHlSb3V0ZXMoeyBjb25maWc6IHsgc2hvd1BvbGljaWVzOiBmYWxzZSB9IH0pLFxuICogLi4ucHJvdmlkZVZhbHRlY2hTZWN1cml0eVJvdXRlcyh7IGNvbmZpZzogeyBob21lUm91dGU6ICcvYXBwL2Rhc2hib2FyZCcgfSB9KSxcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hTZWN1cml0eVJvdXRlcyhvcHRzPzoge1xuICBwYXRoPzogc3RyaW5nO1xuICBjb25maWc/OiBTZWN1cml0eVZpZXdDb25maWc7XG59KTogUm91dGVzIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwYXRoOiBvcHRzPy5wYXRoID8/ICdzZWN1cml0eScsXG4gICAgICBjb21wb25lbnQ6IFNlY3VyaXR5Vmlld0NvbXBvbmVudCxcbiAgICAgIGRhdGE6IHsgc2VjdXJpdHlDb25maWc6IG9wdHM/LmNvbmZpZyB9LFxuICAgIH0sXG4gIF07XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3NlY3VyaXR5LXZpZXcvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJhY2nDs24gYWNvdGFkYSBkZSBgdmFsLXNlY3VyaXR5LXZpZXdgIChvYmplY3QtZmlyc3QpLiBUcmVzIGVqZXMgZGVcbiAqIHZhcmlhY2nDs24gcGVybWl0aWRvcyDigJQgKipOQURBIGRlIHNsb3RzIGFyYml0cmFyaW9zKiogKEFEUi0wMjE6IHVuYSB2aXN0YVxuICogZnVsbC1mZWF0dXJlIG5vIGFicmUgc2xvdHM7IHNpIGZhbHRhIGFsZ28sIHNlIHByb211ZXZlIHVuIG51ZXZvIHB1bnRvIGRlXG4gKiBleHRlbnNpw7NuKTpcbiAqXG4gKiAgLSAqKnNlY2Npb25lcyB2aXNpYmxlcyoqIOKAlCBnYXRlYW4gZWwgcmVuZGVyIGRlIGNhZGEgYmxvcXVlIChzZXNpb25lcyxcbiAqICAgIGFjdGlvbi1jYXJkcyBkZSBjYW1iaWFyIGNvbnRyYXNlw7FhIC8gZW1haWwgLyBNRkEsIHBvbMOtdGljYXMgbGVnYWxlcykuXG4gKiAgLSAqKmJyYW5kaW5nKiog4oCUIGBpMThuTmFtZXNwYWNlYCBwYXJhIHJlc29sdmVyIGxvcyB0ZXh0b3MgKGRlZmF1bHRcbiAqICAgIGAnU2V0dGluZ3MuU2VjdXJpdHknYCkuXG4gKiAgLSAqKmNvbXBvcnRhbWllbnRvIC8gY2FsbGJhY2tzKiog4oCUIG1hbmVqbyBkZSBkZWVwLWxpbmtzIGRlbCBlbWFpbFxuICogICAgKGA/dG9rZW5gL2A/YWN0aW9uYC9gP21mYUNvZGVgKSwgcnV0YSBkZSBcImhvbWVcIiB0cmFzIGNvbXBsZXRhciBNRkEgeSB1blxuICogICAgaG9vayBvcGNpb25hbCBgb25NZmFDb21wbGV0ZWRgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5Vmlld0NvbmZpZyB7XG4gIC8qKiBNdWVzdHJhIGxhIHNlY2Npw7NuIGRlIHNlc2lvbmVzIGFjdGl2YXMuIERlZmF1bHQgYHRydWVgLiAqL1xuICBzaG93U2Vzc2lvbnM/OiBib29sZWFuO1xuICAvKiogSW5jbHV5ZSBsYSBhY3Rpb24tY2FyZCBcIkNhbWJpYXIgY29udHJhc2XDsWFcIi4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dDaGFuZ2VQYXNzd29yZD86IGJvb2xlYW47XG4gIC8qKiBJbmNsdXllIGxhIGFjdGlvbi1jYXJkIFwiQ2FtYmlhciBlbWFpbFwiLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hvd0NoYW5nZUVtYWlsPzogYm9vbGVhbjtcbiAgLyoqIEluY2x1eWUgbGEgYWN0aW9uLWNhcmQgXCJBdXRlbnRpY2FjacOzbiBkZSBkb3MgcGFzb3MgKE1GQSlcIi4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIHNob3dNZmE/OiBib29sZWFuO1xuICAvKiogTXVlc3RyYSBsYSBzZWNjacOzbiBkZSBwb2zDrXRpY2FzIGxlZ2FsZXMgcmVsYWNpb25hZGFzLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgc2hvd1BvbGljaWVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTmFtZXNwYWNlIGkxOG4gY29uIGVsIHF1ZSBsYSB2aXN0YSByZXN1ZWx2ZSBzdXMgdGV4dG9zLlxuICAgKiBEZWZhdWx0IGAnU2V0dGluZ3MuU2VjdXJpdHknYC5cbiAgICovXG4gIGkxOG5OYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhhYmlsaXRhIGVsIG1hbmVqbyBkZSBsb3MgZGVlcC1saW5rcyBkZWwgZW1haWxcbiAgICogKGA/dG9rZW5gL2A/YWN0aW9uYC9gP21mYUNvZGVgKS4gRGVmYXVsdCBgdHJ1ZWAuIFJlcXVpZXJlIHF1ZSBsYSB2aXN0YSBlc3TDqVxuICAgKiBtb250YWRhIGNvbW8gcnV0YSAoaGF5IGBBY3RpdmF0ZWRSb3V0ZWApOyBlbiBtb2RvIGVtYmViaWRvIHNpbiBydXRhIGVzIG5vLW9wLlxuICAgKi9cbiAgaGFuZGxlRGVlcExpbmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUnV0YSBhIGxhIHF1ZSBuYXZlZ2FyIHRyYXMgY29tcGxldGFyIE1GQSB2w61hIGRlZXAtbGluay4gRGVmYXVsdCBgJy9hcHAvaG9tZSdgLlxuICAgKiBJZ25vcmFkYSBzaSBzZSBwcm92ZWUgYG9uTWZhQ29tcGxldGVkYC5cbiAgICovXG4gIGhvbWVSb3V0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogSG9vayBpbnZvY2FkbyBjdWFuZG8gZWwgdXN1YXJpbyBjb21wbGV0YSBNRkEgdsOtYSBkZWVwLWxpbmsuIFNpIHNlIHByb3ZlZSwgc2VcbiAgICogbGxhbWEgKiplbiBsdWdhcioqIGRlIG5hdmVnYXIgYSBgaG9tZVJvdXRlYC4gw5p0aWwgcGFyYSBhcHBzIHF1ZSBxdWllcmFuXG4gICAqIGRlY2lkaXIgZWwgZGVzdGlubyBwb3N0LU1GQS5cbiAgICovXG4gIG9uTWZhQ29tcGxldGVkPzogKCkgPT4gdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,206 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, Input, signal } from '@angular/core';
3
+ import { IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonToolbar } from '@ionic/angular/standalone';
4
+ import { ButtonComponent } from '../../atoms/button/button.component';
5
+ import { DisplayComponent } from '../../atoms/display/display.component';
6
+ import { TextComponent } from '../../atoms/text/text.component';
7
+ import { ComponentStates } from '../../types';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * `val-session-list-modal` — modal de "Ver todas las sesiones activas". Organism
11
+ * compartido entre la vista Seguridad y la vista Cuenta del factory.
12
+ *
13
+ * Render reusa el mismo markup de la sección de sesiones inline (mismas clases
14
+ * CSS) pero sin truncar la lista.
15
+ *
16
+ * Inputs (vienen de `componentProps` del ModalService):
17
+ * - `sessions` — snapshot inicial (mostrado al abrir)
18
+ * - `thisLabel` / `revokeLabel` — i18n strings ya resueltas
19
+ * - `onRevoke` — callback async que el parent ejecuta contra el backend; debe
20
+ * retornar la lista actualizada para que el modal refresque en sitio.
21
+ *
22
+ * `@Output` events NO funcionan con `modalController.create()` — por eso usamos
23
+ * callback pasado por props + `_modalRef` para dismiss desde dentro.
24
+ *
25
+ * Header canónico (Regla #5): sin `ion-title`, botón Cerrar texto en `slot=end`,
26
+ * título en el body con `val-display`.
27
+ */
28
+ export class SessionListModalComponent {
29
+ constructor() {
30
+ /** Título del modal (ya traducido). */
31
+ this.title = '';
32
+ /** Label del botón cerrar del header (ya traducido). */
33
+ this.closeLabel = '';
34
+ /** Label "Esta sesión" (en idioma activo). */
35
+ this.thisLabel = '';
36
+ /** Label del botón revoke individual. */
37
+ this.revokeLabel = '';
38
+ /** Lista local mutable — refrescada después de cada revoke confirmado. */
39
+ this.sessionsLocal = signal([]);
40
+ }
41
+ /** Snapshot inicial — el modal mantiene su propia copia y la refresca tras revoke. */
42
+ set sessions(value) {
43
+ this.sessionsLocal.set([...value]);
44
+ }
45
+ close() {
46
+ this._modalRef?.dismiss(undefined, 'close');
47
+ }
48
+ async handleRevoke(sessionId) {
49
+ if (!this.onRevoke)
50
+ return;
51
+ try {
52
+ const updated = await this.onRevoke(sessionId);
53
+ this.sessionsLocal.set([...updated]);
54
+ }
55
+ catch {
56
+ // El parent muestra el toast de error; modal no necesita feedback extra.
57
+ }
58
+ }
59
+ get revokeBtn() {
60
+ return {
61
+ text: this.revokeLabel,
62
+ color: 'dark',
63
+ fill: 'clear',
64
+ size: 'small',
65
+ type: 'button',
66
+ state: ComponentStates.ENABLED,
67
+ };
68
+ }
69
+ deviceIcon(s) {
70
+ const ua = (s.deviceInfo || '').toLowerCase();
71
+ const isMobile = /iphone|ipad|ipod|android|mobile/.test(ua);
72
+ return isMobile ? 'phone-portrait-outline' : 'laptop-outline';
73
+ }
74
+ formatMeta(s) {
75
+ const parts = [];
76
+ if (s.location)
77
+ parts.push(s.location);
78
+ else if (s.ip)
79
+ parts.push(s.ip);
80
+ if (s.createdAt)
81
+ parts.push(new Date(s.createdAt).toLocaleString());
82
+ return parts.join(' · ');
83
+ }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SessionListModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SessionListModalComponent, isStandalone: true, selector: "val-session-list-modal", inputs: { sessions: "sessions", title: "title", closeLabel: "closeLabel", thisLabel: "thisLabel", revokeLabel: "revokeLabel", onRevoke: "onRevoke", _modalRef: "_modalRef" }, ngImport: i0, template: `
86
+ <ion-header>
87
+ <ion-toolbar>
88
+ <ion-buttons slot="end">
89
+ <ion-button fill="clear" color="dark" (click)="close()">
90
+ <strong>{{ closeLabel }}</strong>
91
+ </ion-button>
92
+ </ion-buttons>
93
+ </ion-toolbar>
94
+ </ion-header>
95
+ <ion-content class="ion-padding">
96
+ <val-display [props]="{ content: title, size: 'small', color: 'dark' }" />
97
+ <ul class="sessions">
98
+ @for (s of sessionsLocal(); track s.sessionId) {
99
+ <li class="session" [class.session--current]="s.isCurrent">
100
+ <ion-icon class="session__icon" [name]="deviceIcon(s)" aria-hidden="true" />
101
+ <div class="session__body">
102
+ <val-text
103
+ [props]="{
104
+ content: s.deviceInfo || s.deviceId || '—',
105
+ size: 'medium',
106
+ color: 'dark',
107
+ bold: true,
108
+ }"
109
+ />
110
+ <val-text
111
+ [props]="{
112
+ content: formatMeta(s),
113
+ size: 'small',
114
+ color: 'medium',
115
+ bold: false,
116
+ }"
117
+ />
118
+ </div>
119
+ <div class="session__end">
120
+ @if (s.isCurrent) {
121
+ <span class="session__badge">{{ thisLabel }}</span>
122
+ } @else {
123
+ <val-button [props]="revokeBtn" (click)="handleRevoke(s.sessionId)" />
124
+ }
125
+ </div>
126
+ </li>
127
+ }
128
+ </ul>
129
+ </ion-content>
130
+ `, isInline: true, styles: [":host{display:block;height:100%}.sessions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.session{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--ion-color-light, rgba(0, 0, 0, .04));border:1px solid transparent}.session--current{background:#2dd36f1a;border-color:#2dd36f4d}.session__icon{font-size:26px;color:var(--ion-color-dark, #1a1a1a);flex-shrink:0}.session--current .session__icon{color:var(--ion-color-success-shade, #28ba62)}.session__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.session__end{flex-shrink:0}.session__badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ion-color-success-shade, #28ba62);background:#2dd36f2e;border-radius:999px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }, { kind: "component", type: ButtonComponent, selector: "val-button", inputs: ["preset", "props"], outputs: ["onClick"] }] }); }
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SessionListModalComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ selector: 'val-session-list-modal', standalone: true, imports: [
135
+ CommonModule,
136
+ IonContent,
137
+ IonHeader,
138
+ IonToolbar,
139
+ IonButtons,
140
+ IonButton,
141
+ IonIcon,
142
+ DisplayComponent,
143
+ TextComponent,
144
+ ButtonComponent,
145
+ ], template: `
146
+ <ion-header>
147
+ <ion-toolbar>
148
+ <ion-buttons slot="end">
149
+ <ion-button fill="clear" color="dark" (click)="close()">
150
+ <strong>{{ closeLabel }}</strong>
151
+ </ion-button>
152
+ </ion-buttons>
153
+ </ion-toolbar>
154
+ </ion-header>
155
+ <ion-content class="ion-padding">
156
+ <val-display [props]="{ content: title, size: 'small', color: 'dark' }" />
157
+ <ul class="sessions">
158
+ @for (s of sessionsLocal(); track s.sessionId) {
159
+ <li class="session" [class.session--current]="s.isCurrent">
160
+ <ion-icon class="session__icon" [name]="deviceIcon(s)" aria-hidden="true" />
161
+ <div class="session__body">
162
+ <val-text
163
+ [props]="{
164
+ content: s.deviceInfo || s.deviceId || '—',
165
+ size: 'medium',
166
+ color: 'dark',
167
+ bold: true,
168
+ }"
169
+ />
170
+ <val-text
171
+ [props]="{
172
+ content: formatMeta(s),
173
+ size: 'small',
174
+ color: 'medium',
175
+ bold: false,
176
+ }"
177
+ />
178
+ </div>
179
+ <div class="session__end">
180
+ @if (s.isCurrent) {
181
+ <span class="session__badge">{{ thisLabel }}</span>
182
+ } @else {
183
+ <val-button [props]="revokeBtn" (click)="handleRevoke(s.sessionId)" />
184
+ }
185
+ </div>
186
+ </li>
187
+ }
188
+ </ul>
189
+ </ion-content>
190
+ `, styles: [":host{display:block;height:100%}.sessions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.session{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--ion-color-light, rgba(0, 0, 0, .04));border:1px solid transparent}.session--current{background:#2dd36f1a;border-color:#2dd36f4d}.session__icon{font-size:26px;color:var(--ion-color-dark, #1a1a1a);flex-shrink:0}.session--current .session__icon{color:var(--ion-color-success-shade, #28ba62)}.session__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.session__end{flex-shrink:0}.session__badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ion-color-success-shade, #28ba62);background:#2dd36f2e;border-radius:999px}\n"] }]
191
+ }], propDecorators: { sessions: [{
192
+ type: Input
193
+ }], title: [{
194
+ type: Input
195
+ }], closeLabel: [{
196
+ type: Input
197
+ }], thisLabel: [{
198
+ type: Input
199
+ }], revokeLabel: [{
200
+ type: Input
201
+ }], onRevoke: [{
202
+ type: Input
203
+ }], _modalRef: [{
204
+ type: Input
205
+ }] } });
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1saXN0LW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvc2Vzc2lvbi1saXN0LW1vZGFsL3Nlc3Npb24tbGlzdC1tb2RhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBa0IsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUk5RDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBaUlILE1BQU0sT0FBTyx5QkFBeUI7SUFoSXRDO1FBc0lFLHVDQUF1QztRQUM5QixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCLHdEQUF3RDtRQUMvQyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXpCLDhDQUE4QztRQUNyQyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXhCLHlDQUF5QztRQUNoQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQW1CMUIsMEVBQTBFO1FBQ3ZELGtCQUFhLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztLQW9DOUQ7SUF2RUMsc0ZBQXNGO0lBQ3RGLElBQWEsUUFBUSxDQUFDLEtBQW9CO1FB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c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkJ1dHRvbnMsIElvbkNvbnRlbnQsIElvbkhlYWRlciwgSW9uSWNvbiwgSW9uVG9vbGJhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvdHlwZXMnO1xuXG4vKipcbiAqIGB2YWwtc2Vzc2lvbi1saXN0LW1vZGFsYCDigJQgbW9kYWwgZGUgXCJWZXIgdG9kYXMgbGFzIHNlc2lvbmVzIGFjdGl2YXNcIi4gT3JnYW5pc21cbiAqIGNvbXBhcnRpZG8gZW50cmUgbGEgdmlzdGEgU2VndXJpZGFkIHkgbGEgdmlzdGEgQ3VlbnRhIGRlbCBmYWN0b3J5LlxuICpcbiAqIFJlbmRlciByZXVzYSBlbCBtaXNtbyBtYXJrdXAgZGUgbGEgc2VjY2nDs24gZGUgc2VzaW9uZXMgaW5saW5lIChtaXNtYXMgY2xhc2VzXG4gKiBDU1MpIHBlcm8gc2luIHRydW5jYXIgbGEgbGlzdGEuXG4gKlxuICogSW5wdXRzICh2aWVuZW4gZGUgYGNvbXBvbmVudFByb3BzYCBkZWwgTW9kYWxTZXJ2aWNlKTpcbiAqICAtIGBzZXNzaW9uc2Ag4oCUIHNuYXBzaG90IGluaWNpYWwgKG1vc3RyYWRvIGFsIGFicmlyKVxuICogIC0gYHRoaXNMYWJlbGAgLyBgcmV2b2tlTGFiZWxgIOKAlCBpMThuIHN0cmluZ3MgeWEgcmVzdWVsdGFzXG4gKiAgLSBgb25SZXZva2VgIOKAlCBjYWxsYmFjayBhc3luYyBxdWUgZWwgcGFyZW50IGVqZWN1dGEgY29udHJhIGVsIGJhY2tlbmQ7IGRlYmVcbiAqICAgIHJldG9ybmFyIGxhIGxpc3RhIGFjdHVhbGl6YWRhIHBhcmEgcXVlIGVsIG1vZGFsIHJlZnJlc3F1ZSBlbiBzaXRpby5cbiAqXG4gKiBgQE91dHB1dGAgZXZlbnRzIE5PIGZ1bmNpb25hbiBjb24gYG1vZGFsQ29udHJvbGxlci5jcmVhdGUoKWAg4oCUIHBvciBlc28gdXNhbW9zXG4gKiBjYWxsYmFjayBwYXNhZG8gcG9yIHByb3BzICsgYF9tb2RhbFJlZmAgcGFyYSBkaXNtaXNzIGRlc2RlIGRlbnRyby5cbiAqXG4gKiBIZWFkZXIgY2Fuw7NuaWNvIChSZWdsYSAjNSk6IHNpbiBgaW9uLXRpdGxlYCwgYm90w7NuIENlcnJhciB0ZXh0byBlbiBgc2xvdD1lbmRgLFxuICogdMOtdHVsbyBlbiBlbCBib2R5IGNvbiBgdmFsLWRpc3BsYXlgLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2Vzc2lvbi1saXN0LW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25Db250ZW50LFxuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvbkJ1dHRvbnMsXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkljb24sXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWhlYWRlcj5cbiAgICAgIDxpb24tdG9vbGJhcj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgICAgPHN0cm9uZz57eyBjbG9zZUxhYmVsIH19PC9zdHJvbmc+XG4gICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9pb24tdG9vbGJhcj5cbiAgICA8L2lvbi1oZWFkZXI+XG4gICAgPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgICAgIDx2YWwtZGlzcGxheSBbcHJvcHNdPVwieyBjb250ZW50OiB0aXRsZSwgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJyB9XCIgLz5cbiAgICAgIDx1bCBjbGFzcz1cInNlc3Npb25zXCI+XG4gICAgICAgIEBmb3IgKHMgb2Ygc2Vzc2lvbnNMb2NhbCgpOyB0cmFjayBzLnNlc3Npb25JZCkge1xuICAgICAgICAgIDxsaSBjbGFzcz1cInNlc3Npb25cIiBbY2xhc3Muc2Vzc2lvbi0tY3VycmVudF09XCJzLmlzQ3VycmVudFwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwic2Vzc2lvbl9faWNvblwiIFtuYW1lXT1cImRldmljZUljb24ocylcIiBhcmlhLWhpZGRlbj1cInRydWVcIiAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlc3Npb25fX2JvZHlcIj5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHMuZGV2aWNlSW5mbyB8fCBzLmRldmljZUlkIHx8ICfigJQnLFxuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGZvcm1hdE1ldGEocyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXNzaW9uX19lbmRcIj5cbiAgICAgICAgICAgICAgQGlmIChzLmlzQ3VycmVudCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2Vzc2lvbl9fYmFkZ2VcIj57eyB0aGlzTGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIDx2YWwtYnV0dG9uIFtwcm9wc109XCJyZXZva2VCdG5cIiAoY2xpY2spPVwiaGFuZGxlUmV2b2tlKHMuc2Vzc2lvbklkKVwiIC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9pb24tY29udGVudD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuc2Vzc2lvbnMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLnNlc3Npb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWxpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMDQpKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC5zZXNzaW9uLS1jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg0NSwgMjExLCAxMTEsIDAuMSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg0NSwgMjExLCAxMTEsIDAuMyk7XG4gICAgICB9XG5cbiAgICAgIC5zZXNzaW9uX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICMxYTFhMWEpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLnNlc3Npb24tLWN1cnJlbnQgLnNlc3Npb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgfVxuXG4gICAgICAuc2Vzc2lvbl9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5zZXNzaW9uX19lbmQge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLnNlc3Npb25fX2JhZGdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLXN1Y2Nlc3Mtc2hhZGUsICMyOGJhNjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAyMTEsIDExMSwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlc3Npb25MaXN0TW9kYWxDb21wb25lbnQge1xuICAvKiogU25hcHNob3QgaW5pY2lhbCDigJQgZWwgbW9kYWwgbWFudGllbmUgc3UgcHJvcGlhIGNvcGlhIHkgbGEgcmVmcmVzY2EgdHJhcyByZXZva2UuICovXG4gIEBJbnB1dCgpIHNldCBzZXNzaW9ucyh2YWx1ZTogU2Vzc2lvbkluZm9bXSkge1xuICAgIHRoaXMuc2Vzc2lvbnNMb2NhbC5zZXQoWy4uLnZhbHVlXSk7XG4gIH1cblxuICAvKiogVMOtdHVsbyBkZWwgbW9kYWwgKHlhIHRyYWR1Y2lkbykuICovXG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG5cbiAgLyoqIExhYmVsIGRlbCBib3TDs24gY2VycmFyIGRlbCBoZWFkZXIgKHlhIHRyYWR1Y2lkbykuICovXG4gIEBJbnB1dCgpIGNsb3NlTGFiZWwgPSAnJztcblxuICAvKiogTGFiZWwgXCJFc3RhIHNlc2nDs25cIiAoZW4gaWRpb21hIGFjdGl2bykuICovXG4gIEBJbnB1dCgpIHRoaXNMYWJlbCA9ICcnO1xuXG4gIC8qKiBMYWJlbCBkZWwgYm90w7NuIHJldm9rZSBpbmRpdmlkdWFsLiAqL1xuICBASW5wdXQoKSByZXZva2VMYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBxdWUgZWplY3V0YSBlbCByZXZva2UgY29udHJhIGVsIGJhY2tlbmQgeSByZXRvcm5hIGxhIGxpc3RhXG4gICAqIGFjdHVhbGl6YWRhLiBQYXNhZG8gcG9yIGBjb21wb25lbnRQcm9wc2AgZGVsIE1vZGFsU2VydmljZS5cbiAgICovXG4gIEBJbnB1dCgpIG9uUmV2b2tlPzogKHNlc3Npb25JZDogc3RyaW5nKSA9PiBQcm9taXNlPFNlc3Npb25JbmZvW10+O1xuXG4gIC8qKlxuICAgKiBJbnllY3RhZG8gcG9yIGBNb2RhbFNlcnZpY2Uub3BlbmAg4oCUIHJlZmVyZW5jaWEgcGFyYSBjZXJyYXIgZGVzZGUgZGVudHJvLlxuICAgKiBDdWFscXVpZXIgY29tcG9uZW50ZSBhYmllcnRvIHbDrWEgZWwgc2VydmljZSByZWNpYmUgZXN0ZSBvYmpldG8gZW5cbiAgICogYGNvbXBvbmVudFByb3BzYC5cbiAgICovXG4gIEBJbnB1dCgpIF9tb2RhbFJlZj86IHsgZGlzbWlzczogKGRhdGE/OiB1bmtub3duLCByb2xlPzogc3RyaW5nKSA9PiB2b2lkIH07XG5cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fbW9kYWxSZWY/LmRpc21pc3ModW5kZWZpbmVkLCAnY2xvc2UnKTtcbiAgfVxuXG4gIC8qKiBMaXN0YSBsb2NhbCBtdXRhYmxlIOKAlCByZWZyZXNjYWRhIGRlc3B1w6lzIGRlIGNhZGEgcmV2b2tlIGNvbmZpcm1hZG8uICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzZXNzaW9uc0xvY2FsID0gc2lnbmFsPFNlc3Npb25JbmZvW10+KFtdKTtcblxuICBhc3luYyBoYW5kbGVSZXZva2Uoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMub25SZXZva2UpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IHRoaXMub25SZXZva2Uoc2Vzc2lvbklkKTtcbiAgICAgIHRoaXMuc2Vzc2lvbnNMb2NhbC5zZXQoWy4uLnVwZGF0ZWRdKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEVsIHBhcmVudCBtdWVzdHJhIGVsIHRvYXN0IGRlIGVycm9yOyBtb2RhbCBubyBuZWNlc2l0YSBmZWVkYmFjayBleHRyYS5cbiAgICB9XG4gIH1cblxuICBnZXQgcmV2b2tlQnRuKCk6IFBhcnRpYWw8QnV0dG9uTWV0YWRhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogdGhpcy5yZXZva2VMYWJlbCxcbiAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICBmaWxsOiAnY2xlYXInLFxuICAgICAgc2l6ZTogJ3NtYWxsJyxcbiAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgc3RhdGU6IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIH07XG4gIH1cblxuICBkZXZpY2VJY29uKHM6IFNlc3Npb25JbmZvKTogc3RyaW5nIHtcbiAgICBjb25zdCB1YSA9IChzLmRldmljZUluZm8gfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgaXNNb2JpbGUgPSAvaXBob25lfGlwYWR8aXBvZHxhbmRyb2lkfG1vYmlsZS8udGVzdCh1YSk7XG4gICAgcmV0dXJuIGlzTW9iaWxlID8gJ3Bob25lLXBvcnRyYWl0LW91dGxpbmUnIDogJ2xhcHRvcC1vdXRsaW5lJztcbiAgfVxuXG4gIGZvcm1hdE1ldGEoczogU2Vzc2lvbkluZm8pOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChzLmxvY2F0aW9uKSBwYXJ0cy5wdXNoKHMubG9jYXRpb24pO1xuICAgIGVsc2UgaWYgKHMuaXApIHBhcnRzLnB1c2gocy5pcCk7XG4gICAgaWYgKHMuY3JlYXRlZEF0KSBwYXJ0cy5wdXNoKG5ldyBEYXRlKHMuY3JlYXRlZEF0KS50b0xvY2FsZVN0cmluZygpKTtcbiAgICByZXR1cm4gcGFydHMuam9pbignIMK3ICcpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Nlc3Npb24tbGlzdC1tb2RhbC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoL3R5cGVzJztcblxuLyoqXG4gKiBQcm9wcyBkZSBgdmFsLXNlc3Npb24tbGlzdC1tb2RhbGAgKG9yZ2FuaXNtIGNvbXBhcnRpZG8g4oCUIGxvIHJldXNhbiBsYSB2aXN0YVxuICogU2VndXJpZGFkIHkgbGEgdmlzdGEgQ3VlbnRhKS5cbiAqXG4gKiBTZSBwYXNhbiBwb3IgYGNvbXBvbmVudFByb3BzYCBkZWwgYE1vZGFsU2VydmljZS5vcGVuU2hlZXQoLi4uKWAuIFNvbiBlc2NhbGFyZXNcbiAqICsgdW4gY2FsbGJhY2sgKGBvblJldm9rZWApIOKAlCBOTyBgQE91dHB1dGAsIHBvcnF1ZSBsb3MgZXZlbnRvcyBubyBmdW5jaW9uYW4gY29uXG4gKiBgbW9kYWxDb250cm9sbGVyLmNyZWF0ZSgpYC4gRWwgY29tcG9uZW50ZSBlcyAqKmFnbsOzc3RpY28gYSBpMThuKio6IHJlY2liZSBsb3NcbiAqIGxhYmVscyB5YSB0cmFkdWNpZG9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb25MaXN0TW9kYWxQcm9wcyB7XG4gIC8qKiBTbmFwc2hvdCBpbmljaWFsIGRlIHNlc2lvbmVzIOKAlCBlbCBtb2RhbCBtYW50aWVuZSBzdSBjb3BpYSB5IGxhIHJlZnJlc2NhIHRyYXMgcmV2b2tlLiAqL1xuICBzZXNzaW9uczogU2Vzc2lvbkluZm9bXTtcbiAgLyoqIFTDrXR1bG8gZGVsIG1vZGFsICh5YSB0cmFkdWNpZG8pLiAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKiogTGFiZWwgZGVsIGJvdMOzbiBjZXJyYXIgZGVsIGhlYWRlciAoeWEgdHJhZHVjaWRvKS4gKi9cbiAgY2xvc2VMYWJlbDogc3RyaW5nO1xuICAvKiogTGFiZWwgXCJFc3RhIHNlc2nDs25cIiAoZW4gaWRpb21hIGFjdGl2bykuICovXG4gIHRoaXNMYWJlbDogc3RyaW5nO1xuICAvKiogTGFiZWwgZGVsIGJvdMOzbiByZXZva2UgaW5kaXZpZHVhbC4gKi9cbiAgcmV2b2tlTGFiZWw6IHN0cmluZztcbiAgLyoqXG4gICAqIENhbGxiYWNrIHF1ZSBlamVjdXRhIGVsIHJldm9rZSBjb250cmEgZWwgYmFja2VuZCB5IHJldG9ybmEgbGEgbGlzdGFcbiAgICogYWN0dWFsaXphZGEgcGFyYSByZWZyZXNjYXIgZWwgbW9kYWwgZW4gc2l0aW8uXG4gICAqL1xuICBvblJldm9rZT86IChzZXNzaW9uSWQ6IHN0cmluZykgPT4gUHJvbWlzZTxTZXNzaW9uSW5mb1tdPjtcbn1cbiJdfQ==
@@ -78,7 +78,8 @@ export class ContentService {
78
78
  * @param config - Override parcial de la `ArticleMetadata` resultante.
79
79
  */
80
80
  toArticle(doc, config) {
81
- return this.parser.parse(doc.body, config);
81
+ const locale = (doc.locale ?? 'es');
82
+ return this.parser.parse(doc.body, config, locale);
82
83
  }
83
84
  /** Limpia la cache de fuentes estáticas. Llamar al cambiar de locale en runtime. */
84
85
  invalidate() {
@@ -195,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
195
196
  type: Injectable,
196
197
  args: [{ providedIn: 'root' }]
197
198
  }], ctorParameters: () => [] });
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBWXpCO1FBWGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElB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QUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBdk5VLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB9IGZyb20gJy4uL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0NPTlRFTlRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29udGVudERvY3VtZW50LCBDb250ZW50RG9jdW1lbnRUeXBlLCBDb250ZW50TG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBsYSBwbGF0YWZvcm1hIGRlIGNvbnRlbmlkbyAoQURSLTAyMCDCpzIuNSkuXG4gKlxuICogVW5lIGRvcyBvcsOtZ2VuZXMgKCoqaMOtYnJpZG8qKik6XG4gKiAgLSAqKkVzdMOhdGljbyoqIOKAlCBgc3RhdGljU291cmNlc2AgbGF6eSBwb3IgbG9jYWxlLCBnZW5lcmFkYXMgYnVpbGQtdGltZS5cbiAqICAtICoqQmFja2VuZCoqIOKAlCBEeW5hbW9EQiArIEFQSSAoYC92Mi9jb250ZW50KmApLCBwdWJsaWNhY2nDs24gc2luIHJlZGVwbG95LlxuICpcbiAqIFJlZ2xhcyBkZSBtZXJnZTpcbiAqICAtIGBsaXN0KClgIHVuZSBhbWJvcyBvcsOtZ2VuZXMgcG9yIGB0eXBlYC4gQ29saXNpw7NuIGRlIGBzbHVnYCDihpIgKiplc3TDoXRpY29cbiAqICAgIGdhbmEqKiAoY29udGVuaWRvIGN1cmFkbykuIE9yZGVuYSBwb3IgYHB1Ymxpc2hlZEF0YCBkZXNjIChzaW4gZmVjaGEgYWwgZmluYWwpLlxuICogIC0gYGxvYWQoKWAgcmVzdWVsdmUgZXN0w6F0aWNvIHByaW1lcm8sIGNvbiAqKmZhbGxiYWNrKiogYWwgYmFja2VuZC5cbiAqXG4gKiBSZW5kZXI6IGB0b0FydGljbGUoZG9jKWAgY29udmllcnRlIGBkb2MuYm9keWAgKE1hcmtkb3duKSBhIGBBcnRpY2xlTWV0YWRhdGFgXG4gKiB2w61hIGVsIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlcmAgZXhpc3RlbnRlIOKAlCBsYSBwYWdlIGhhY2UgYDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiLi4uXCI+YC5cbiAqXG4gKiBSZXF1aWVyZSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KHsgYXBpVXJsLCBhcHBJZCwgc3RhdGljU291cmNlcz8gfSlgIGVuIGBtYWluLnRzYC5cbiAqIFNpbiBwcm92aWRlciwgZWwgc2VydmljaW8gcXVlZGEgaW5lcnRlIChgaXNDb25maWd1cmVkKCkgPT09IGZhbHNlYCkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0NPTlRFTlRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VyID0gaW5qZWN0KE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShkb2MuYm9keSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgbG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICAgKlxuICAgKiBSZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSAoYEF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpYCkuIEVsIGludGVyY2VwdG9yIGRlXG4gICAqIGF1dGggYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgYEF1dGhvcml6YXRpb246IEJlYXJlciB7dG9rZW59YCBhIGxhIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvIChgJ2Jsb2cnYCwgYCduZXdzJ2AsIOKApikuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIERvY3VtZW50b3MgZGUgbGEgb3JnIG8gYFtdYCBzaSBubyBoYXkgY29uZmlnL3Nlc2nDs24uXG4gICAqL1xuICBsaXN0Rm9yT3JnKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgb3B0aW9uczogQ29udGVudExvYWRPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBpZiAoIXRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubGlzdEJhY2tlbmRPcmcodHlwZSwgbG9jYWxlKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIHVuIGRvY3VtZW50byBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvIHBvciBgc2x1Z2AuXG4gICAqXG4gICAqIFJlcXVpZXJlIHNlc2nDs24gYWN0aXZhLiBFbCBpbnRlcmNlcHRvciBkZSBhdXRoIGFncmVnYSBlbCBCZWFyZXIgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvLlxuICAgKiBAcGFyYW0gc2x1ZyAgLSBTbHVnIGRlbCBkb2N1bWVudG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIEVsIGRvY3VtZW50byBvIGVycm9yIHNpIG5vIHNlIGVuY3VlbnRyYSAvIG5vIGhheSBzZXNpw7NuLlxuICAgKi9cbiAgbG9hZEZvck9yZyhcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDb250ZW50U2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTZSByZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSBwYXJhIGNhcmdhciBjb250ZW5pZG8gZGUgb3JnLicpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhY2tlbmRPcmcodHlwZSwgc2x1ZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbnRlcm5vc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogVW5lIGVzdMOhdGljbyArIGJhY2tlbmQ6IGVzdMOhdGljbyBnYW5hIHBvciBzbHVnOyBvcmRlbiBwb3IgcHVibGlzaGVkQXQgZGVzYy4gKi9cbiAgcHJpdmF0ZSBtZXJnZShzdGF0aWNEb2NzOiBDb250ZW50RG9jdW1lbnRbXSwgYmFja2VuZERvY3M6IENvbnRlbnREb2N1bWVudFtdKTogQ29udGVudERvY3VtZW50W10ge1xuICAgIGNvbnN0IGJ5U2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBDb250ZW50RG9jdW1lbnQ+KCk7XG4gICAgZm9yIChjb25zdCBkb2Mgb2YgYmFja2VuZERvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgLy8gRXN0w6F0aWNvIGdhbmEg4oCUIHNvYnJlc2NyaWJlIGN1YWxxdWllciBjb2xpc2nDs24gZGVsIGJhY2tlbmQuXG4gICAgZm9yIChjb25zdCBkb2Mgb2Ygc3RhdGljRG9jcykgYnlTbHVnLnNldChkb2Muc2x1ZywgZG9jKTtcbiAgICByZXR1cm4gWy4uLmJ5U2x1Zy52YWx1ZXMoKV0uc29ydCh0aGlzLmJ5UHVibGlzaGVkRGVzYyk7XG4gIH1cblxuICAvKiogQ29tcGFyYWRvcjogbcOhcyByZWNpZW50ZSBwcmltZXJvOyBzaW4gYHB1Ymxpc2hlZEF0YCBhbCBmaW5hbC4gKi9cbiAgcHJpdmF0ZSBieVB1Ymxpc2hlZERlc2MgPSAoYTogQ29udGVudERvY3VtZW50LCBiOiBDb250ZW50RG9jdW1lbnQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHRhID0gYS5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYS5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgdGIgPSBiLnB1Ymxpc2hlZEF0ID8gRGF0ZS5wYXJzZShiLnB1Ymxpc2hlZEF0KSA6IC1JbmZpbml0eTtcbiAgICByZXR1cm4gdGIgLSB0YTtcbiAgfTtcblxuICAvKiogQ2FyZ2EgKHkgY2FjaGVhKSBsb3MgZG9jdW1lbnRvcyBlc3TDoXRpY29zIGRlIHVuIGxvY2FsZSwgc2kgaGF5IGZhY3RvcnkuICovXG4gIHByaXZhdGUgbG9hZFN0YXRpYyhsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWc/LnN0YXRpY1NvdXJjZXM/Lltsb2NhbGVdO1xuICAgIGlmICghZmFjdG9yeSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRpY0NhY2hlLmdldChsb2NhbGUpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gZmFjdG9yeSgpLmNhdGNoKCgpID0+IFtdIGFzIENvbnRlbnREb2N1bWVudFtdKTtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLnNldChsb2NhbGUsIHByb21pc2UpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudD90eXBlPSZsb2NhbGU9YCDigJQgc29sbyBwdWJsaWNhZG9zLiAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdHlwZSwgbG9jYWxlIH0pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hcHBJZCkgcGFyYW1zLnNldCgnYXBwSWQnLCB0aGlzLmNvbmZpZy5hcHBJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2NvbnRlbnQ/JHtwYXJhbXN9YClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBwdWJsaWNhZG8uICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmQoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ29udGVudFNlcnZpY2Ugbm8gZXN0w6EgY29uZmlndXJhZG8uJykpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50LyR7dHlwZX0vJHtsb2NhbGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50RGV0YWlsUmVzcG9uc2U+KHBhdGgpXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbSA/PyAocmVzIGFzIHVua25vd24gYXMgQ29udGVudERvY3VtZW50KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC9vcmc/dHlwZT0mbG9jYWxlPWAg4oCUIHB1YmxpY2Fkb3MgZGUgbGEgb3JnIGFjdGl2YS5cbiAgICogRWwgQmVhcmVyIHRva2VuIGxvIGHDsWFkZSBlbCBpbnRlcmNlcHRvciBkZSBhdXRoIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kT3JnKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB0eXBlLCBsb2NhbGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZyEuYXBpVXJsfS92Mi9jb250ZW50L29yZz8ke3BhcmFtc31gKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW1zID8/IFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogR0VUIGB7YXBpVXJsfS92Mi9jb250ZW50L29yZy97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBkZSBsYSBvcmcgYWN0aXZhLlxuICAgKiBFbCBCZWFyZXIgdG9rZW4gbG8gYcOxYWRlIGVsIGludGVyY2VwdG9yIGRlIGF1dGggYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmRPcmcoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWchLmFwaVVybH0vdjIvY29udGVudC9vcmcvJHt0eXBlfS8ke2xvY2FsZX0vJHtlbmNvZGVVUklDb21wb25lbnQoc2x1Zyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PENvbnRlbnREZXRhaWxSZXNwb25zZT4ocGF0aClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtID8/IChyZXMgYXMgdW5rbm93biBhcyBDb250ZW50RG9jdW1lbnQpKSk7XG4gIH1cbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBsaXN0YWRvIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnRgKS4gKi9cbmludGVyZmFjZSBDb250ZW50TGlzdFJlc3BvbnNlIHtcbiAgaXRlbXM/OiBDb250ZW50RG9jdW1lbnRbXTtcbiAgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTaGFwZSBkZSBsYSByZXNwdWVzdGEgZGUgZGV0YWxsZSBkZWwgYmFja2VuZCAoYC92Mi9jb250ZW50L3t0eXBlfS97bG9jYWxlfS97c2x1Z31gKS4gKi9cbmludGVyZmFjZSBDb250ZW50RGV0YWlsUmVzcG9uc2Uge1xuICBpdGVtPzogQ29udGVudERvY3VtZW50O1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cbiJdfQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBWXpCO1FBWGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElB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Q2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFLLEdBQWtDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBeE5VLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB9IGZyb20gJy4uL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0NPTlRFTlRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29udGVudERvY3VtZW50LCBDb250ZW50RG9jdW1lbnRUeXBlLCBDb250ZW50TG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBsYSBwbGF0YWZvcm1hIGRlIGNvbnRlbmlkbyAoQURSLTAyMCDCpzIuNSkuXG4gKlxuICogVW5lIGRvcyBvcsOtZ2VuZXMgKCoqaMOtYnJpZG8qKik6XG4gKiAgLSAqKkVzdMOhdGljbyoqIOKAlCBgc3RhdGljU291cmNlc2AgbGF6eSBwb3IgbG9jYWxlLCBnZW5lcmFkYXMgYnVpbGQtdGltZS5cbiAqICAtICoqQmFja2VuZCoqIOKAlCBEeW5hbW9EQiArIEFQSSAoYC92Mi9jb250ZW50KmApLCBwdWJsaWNhY2nDs24gc2luIHJlZGVwbG95LlxuICpcbiAqIFJlZ2xhcyBkZSBtZXJnZTpcbiAqICAtIGBsaXN0KClgIHVuZSBhbWJvcyBvcsOtZ2VuZXMgcG9yIGB0eXBlYC4gQ29saXNpw7NuIGRlIGBzbHVnYCDihpIgKiplc3TDoXRpY29cbiAqICAgIGdhbmEqKiAoY29udGVuaWRvIGN1cmFkbykuIE9yZGVuYSBwb3IgYHB1Ymxpc2hlZEF0YCBkZXNjIChzaW4gZmVjaGEgYWwgZmluYWwpLlxuICogIC0gYGxvYWQoKWAgcmVzdWVsdmUgZXN0w6F0aWNvIHByaW1lcm8sIGNvbiAqKmZhbGxiYWNrKiogYWwgYmFja2VuZC5cbiAqXG4gKiBSZW5kZXI6IGB0b0FydGljbGUoZG9jKWAgY29udmllcnRlIGBkb2MuYm9keWAgKE1hcmtkb3duKSBhIGBBcnRpY2xlTWV0YWRhdGFgXG4gKiB2w61hIGVsIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlcmAgZXhpc3RlbnRlIOKAlCBsYSBwYWdlIGhhY2UgYDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiLi4uXCI+YC5cbiAqXG4gKiBSZXF1aWVyZSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KHsgYXBpVXJsLCBhcHBJZCwgc3RhdGljU291cmNlcz8gfSlgIGVuIGBtYWluLnRzYC5cbiAqIFNpbiBwcm92aWRlciwgZWwgc2VydmljaW8gcXVlZGEgaW5lcnRlIChgaXNDb25maWd1cmVkKCkgPT09IGZhbHNlYCkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0NPTlRFTlRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VyID0gaW5qZWN0KE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIGNvbnN0IGxvY2FsZSA9IChkb2MubG9jYWxlID8/ICdlcycpIGFzICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIucGFyc2UoZG9jLmJvZHksIGNvbmZpZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgbG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICAgKlxuICAgKiBSZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSAoYEF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpYCkuIEVsIGludGVyY2VwdG9yIGRlXG4gICAqIGF1dGggYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgYEF1dGhvcml6YXRpb246IEJlYXJlciB7dG9rZW59YCBhIGxhIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvIChgJ2Jsb2cnYCwgYCduZXdzJ2AsIOKApikuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIERvY3VtZW50b3MgZGUgbGEgb3JnIG8gYFtdYCBzaSBubyBoYXkgY29uZmlnL3Nlc2nDs24uXG4gICAqL1xuICBsaXN0Rm9yT3JnKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgb3B0aW9uczogQ29udGVudExvYWRPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBpZiAoIXRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubGlzdEJhY2tlbmRPcmcodHlwZSwgbG9jYWxlKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIHVuIGRvY3VtZW50byBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvIHBvciBgc2x1Z2AuXG4gICAqXG4gICAqIFJlcXVpZXJlIHNlc2nDs24gYWN0aXZhLiBFbCBpbnRlcmNlcHRvciBkZSBhdXRoIGFncmVnYSBlbCBCZWFyZXIgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvLlxuICAgKiBAcGFyYW0gc2x1ZyAgLSBTbHVnIGRlbCBkb2N1bWVudG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIEVsIGRvY3VtZW50byBvIGVycm9yIHNpIG5vIHNlIGVuY3VlbnRyYSAvIG5vIGhheSBzZXNpw7NuLlxuICAgKi9cbiAgbG9hZEZvck9yZyhcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDb250ZW50U2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTZSByZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSBwYXJhIGNhcmdhciBjb250ZW5pZG8gZGUgb3JnLicpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhY2tlbmRPcmcodHlwZSwgc2x1ZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbnRlcm5vc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogVW5lIGVzdMOhdGljbyArIGJhY2tlbmQ6IGVzdMOhdGljbyBnYW5hIHBvciBzbHVnOyBvcmRlbiBwb3IgcHVibGlzaGVkQXQgZGVzYy4gKi9cbiAgcHJpdmF0ZSBtZXJnZShzdGF0aWNEb2NzOiBDb250ZW50RG9jdW1lbnRbXSwgYmFja2VuZERvY3M6IENvbnRlbnREb2N1bWVudFtdKTogQ29udGVudERvY3VtZW50W10ge1xuICAgIGNvbnN0IGJ5U2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBDb250ZW50RG9jdW1lbnQ+KCk7XG4gICAgZm9yIChjb25zdCBkb2Mgb2YgYmFja2VuZERvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgLy8gRXN0w6F0aWNvIGdhbmEg4oCUIHNvYnJlc2NyaWJlIGN1YWxxdWllciBjb2xpc2nDs24gZGVsIGJhY2tlbmQuXG4gICAgZm9yIChjb25zdCBkb2Mgb2Ygc3RhdGljRG9jcykgYnlTbHVnLnNldChkb2Muc2x1ZywgZG9jKTtcbiAgICByZXR1cm4gWy4uLmJ5U2x1Zy52YWx1ZXMoKV0uc29ydCh0aGlzLmJ5UHVibGlzaGVkRGVzYyk7XG4gIH1cblxuICAvKiogQ29tcGFyYWRvcjogbcOhcyByZWNpZW50ZSBwcmltZXJvOyBzaW4gYHB1Ymxpc2hlZEF0YCBhbCBmaW5hbC4gKi9cbiAgcHJpdmF0ZSBieVB1Ymxpc2hlZERlc2MgPSAoYTogQ29udGVudERvY3VtZW50LCBiOiBDb250ZW50RG9jdW1lbnQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHRhID0gYS5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYS5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgdGIgPSBiLnB1Ymxpc2hlZEF0ID8gRGF0ZS5wYXJzZShiLnB1Ymxpc2hlZEF0KSA6IC1JbmZpbml0eTtcbiAgICByZXR1cm4gdGIgLSB0YTtcbiAgfTtcblxuICAvKiogQ2FyZ2EgKHkgY2FjaGVhKSBsb3MgZG9jdW1lbnRvcyBlc3TDoXRpY29zIGRlIHVuIGxvY2FsZSwgc2kgaGF5IGZhY3RvcnkuICovXG4gIHByaXZhdGUgbG9hZFN0YXRpYyhsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWc/LnN0YXRpY1NvdXJjZXM/Lltsb2NhbGVdO1xuICAgIGlmICghZmFjdG9yeSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRpY0NhY2hlLmdldChsb2NhbGUpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gZmFjdG9yeSgpLmNhdGNoKCgpID0+IFtdIGFzIENvbnRlbnREb2N1bWVudFtdKTtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLnNldChsb2NhbGUsIHByb21pc2UpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudD90eXBlPSZsb2NhbGU9YCDigJQgc29sbyBwdWJsaWNhZG9zLiAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdHlwZSwgbG9jYWxlIH0pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hcHBJZCkgcGFyYW1zLnNldCgnYXBwSWQnLCB0aGlzLmNvbmZpZy5hcHBJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2NvbnRlbnQ/JHtwYXJhbXN9YClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBwdWJsaWNhZG8uICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmQoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ29udGVudFNlcnZpY2Ugbm8gZXN0w6EgY29uZmlndXJhZG8uJykpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50LyR7dHlwZX0vJHtsb2NhbGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50RGV0YWlsUmVzcG9uc2U+KHBhdGgpXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbSA/PyAocmVzIGFzIHVua25vd24gYXMgQ29udGVudERvY3VtZW50KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC9vcmc/dHlwZT0mbG9jYWxlPWAg4oCUIHB1YmxpY2Fkb3MgZGUgbGEgb3JnIGFjdGl2YS5cbiAgICogRWwgQmVhcmVyIHRva2VuIGxvIGHDsWFkZSBlbCBpbnRlcmNlcHRvciBkZSBhdXRoIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kT3JnKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB0eXBlLCBsb2NhbGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZyEuYXBpVXJsfS92Mi9jb250ZW50L29yZz8ke3BhcmFtc31gKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW1zID8/IFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogR0VUIGB7YXBpVXJsfS92Mi9jb250ZW50L29yZy97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBkZSBsYSBvcmcgYWN0aXZhLlxuICAgKiBFbCBCZWFyZXIgdG9rZW4gbG8gYcOxYWRlIGVsIGludGVyY2VwdG9yIGRlIGF1dGggYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmRPcmcoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWchLmFwaVVybH0vdjIvY29udGVudC9vcmcvJHt0eXBlfS8ke2xvY2FsZX0vJHtlbmNvZGVVUklDb21wb25lbnQoc2x1Zyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PENvbnRlbnREZXRhaWxSZXNwb25zZT4ocGF0aClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtID8/IChyZXMgYXMgdW5rbm93biBhcyBDb250ZW50RG9jdW1lbnQpKSk7XG4gIH1cbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBsaXN0YWRvIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnRgKS4gKi9cbmludGVyZmFjZSBDb250ZW50TGlzdFJlc3BvbnNlIHtcbiAgaXRlbXM/OiBDb250ZW50RG9jdW1lbnRbXTtcbiAgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTaGFwZSBkZSBsYSByZXNwdWVzdGEgZGUgZGV0YWxsZSBkZWwgYmFja2VuZCAoYC92Mi9jb250ZW50L3t0eXBlfS97bG9jYWxlfS97c2x1Z31gKS4gKi9cbmludGVyZmFjZSBDb250ZW50RGV0YWlsUmVzcG9uc2Uge1xuICBpdGVtPzogQ29udGVudERvY3VtZW50O1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cbiJdfQ==
@@ -7,8 +7,8 @@ import * as i0 from "@angular/core";
7
7
  * `markdown-article-parser.ts` and is also usable from Node scripts (build-time generation).
8
8
  */
9
9
  export class MarkdownArticleParserService {
10
- parse(markdown, config) {
11
- return parseMarkdownArticle(markdown, config);
10
+ parse(markdown, config, locale) {
11
+ return parseMarkdownArticle(markdown, { ...config, locale });
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
14
14
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, providedIn: 'root' }); }
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
17
17
  type: Injectable,
18
18
  args: [{ providedIn: 'root' }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbWFya2Rvd24tYXJ0aWNsZS9tYXJrZG93bi1hcnRpY2xlLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLEtBQUssQ0FBQyxRQUFnQixFQUFFLE1BQWlDO1FBQ3ZELE9BQU8sb0JBQW9CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBSFUsNEJBQTRCO21IQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzs0RkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFydGljbGVNZXRhZGF0YSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvb3JnYW5pc21zL2FydGljbGUvdHlwZXMnO1xuaW1wb3J0IHsgcGFyc2VNYXJrZG93bkFydGljbGUgfSBmcm9tICcuL21hcmtkb3duLWFydGljbGUtcGFyc2VyJztcblxuLyoqXG4gKiBBbmd1bGFyIHNlcnZpY2Ugd3JhcHBlciBmb3IgdGhlIHB1cmUge0BsaW5rIHBhcnNlTWFya2Rvd25BcnRpY2xlfSBmdW5jdGlvbi5cbiAqIFByb3ZpZGVkIGluIHJvb3Qgc28gaXQgY2FuIGJlIGluamVjdGVkIGFueXdoZXJlLiBUaGUgYWN0dWFsIHBhcnNpbmcgbG9naWMgbGl2ZXMgaW5cbiAqIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlci50c2AgYW5kIGlzIGFsc28gdXNhYmxlIGZyb20gTm9kZSBzY3JpcHRzIChidWlsZC10aW1lIGdlbmVyYXRpb24pLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2Uge1xuICBwYXJzZShtYXJrZG93bjogc3RyaW5nLCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiBwYXJzZU1hcmtkb3duQXJ0aWNsZShtYXJrZG93biwgY29uZmlnKTtcbiAgfVxufVxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbWFya2Rvd24tYXJ0aWNsZS9tYXJrZG93bi1hcnRpY2xlLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLEtBQUssQ0FDSCxRQUFnQixFQUNoQixNQUFpQyxFQUNqQyxNQUEyQjtRQUUzQixPQUFPLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0FQVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmdhbmlzbXMvYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBwYXJzZU1hcmtkb3duQXJ0aWNsZSB9IGZyb20gJy4vbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXInO1xuXG4vKipcbiAqIEFuZ3VsYXIgc2VydmljZSB3cmFwcGVyIGZvciB0aGUgcHVyZSB7QGxpbmsgcGFyc2VNYXJrZG93bkFydGljbGV9IGZ1bmN0aW9uLlxuICogUHJvdmlkZWQgaW4gcm9vdCBzbyBpdCBjYW4gYmUgaW5qZWN0ZWQgYW55d2hlcmUuIFRoZSBhY3R1YWwgcGFyc2luZyBsb2dpYyBsaXZlcyBpblxuICogYG1hcmtkb3duLWFydGljbGUtcGFyc2VyLnRzYCBhbmQgaXMgYWxzbyB1c2FibGUgZnJvbSBOb2RlIHNjcmlwdHMgKGJ1aWxkLXRpbWUgZ2VuZXJhdGlvbikuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB7XG4gIHBhcnNlKFxuICAgIG1hcmtkb3duOiBzdHJpbmcsXG4gICAgY29uZmlnPzogUGFydGlhbDxBcnRpY2xlTWV0YWRhdGE+LFxuICAgIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0J1xuICApOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiBwYXJzZU1hcmtkb3duQXJ0aWNsZShtYXJrZG93biwgeyAuLi5jb25maWcsIGxvY2FsZSB9KTtcbiAgfVxufVxuIl19
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '2.0.982';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45ODInO1xuIl19
5
+ export const VERSION = '2.0.984';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45ODQnO1xuIl19