@baseplate-dev/plugin-auth 4.0.0 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +621 -0
- package/dist/auth/core/common.d.ts +2 -5
- package/dist/auth/core/common.d.ts.map +1 -1
- package/dist/auth/core/common.js +14 -14
- package/dist/auth/core/common.js.map +1 -1
- package/dist/auth/core/node.d.ts +3 -3
- package/dist/auth/core/node.d.ts.map +1 -1
- package/dist/auth/core/node.js +5 -8
- package/dist/auth/core/node.js.map +1 -1
- package/dist/auth/core/web.d.ts +3 -3
- package/dist/auth/core/web.d.ts.map +1 -1
- package/dist/auth/core/web.js +4 -5
- package/dist/auth/core/web.js.map +1 -1
- package/dist/auth0/core/common.d.ts +3 -5
- package/dist/auth0/core/common.d.ts.map +1 -1
- package/dist/auth0/core/common.js +11 -14
- package/dist/auth0/core/common.js.map +1 -1
- package/dist/auth0/core/node.d.ts +3 -3
- package/dist/auth0/core/node.d.ts.map +1 -1
- package/dist/auth0/core/node.js +5 -8
- package/dist/auth0/core/node.js.map +1 -1
- package/dist/auth0/core/schema/plugin-definition.js +1 -1
- package/dist/auth0/core/schema/plugin-definition.js.map +1 -1
- package/dist/auth0/core/web.d.ts +3 -3
- package/dist/auth0/core/web.d.ts.map +1 -1
- package/dist/auth0/core/web.js +4 -5
- package/dist/auth0/core/web.js.map +1 -1
- package/dist/auth0/generators/fastify/auth0-module/templates/module/schema/user-session.queries.ts +1 -1
- package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.js +1 -1
- package/dist/auth0/generators/react/auth0-hooks/auth0-hooks.generator.js.map +1 -1
- package/dist/local-auth/admin/common.d.ts +3 -2
- package/dist/local-auth/admin/common.d.ts.map +1 -1
- package/dist/local-auth/admin/common.js +6 -7
- package/dist/local-auth/admin/common.js.map +1 -1
- package/dist/local-auth/admin/node.d.ts +3 -6
- package/dist/local-auth/admin/node.d.ts.map +1 -1
- package/dist/local-auth/admin/node.js +13 -12
- package/dist/local-auth/admin/node.js.map +1 -1
- package/dist/local-auth/admin/web.d.ts +3 -4
- package/dist/local-auth/admin/web.d.ts.map +1 -1
- package/dist/local-auth/admin/web.js +22 -21
- package/dist/local-auth/admin/web.js.map +1 -1
- package/dist/local-auth/constants/model-names.d.ts +4 -0
- package/dist/local-auth/constants/model-names.d.ts.map +1 -1
- package/dist/local-auth/constants/model-names.js +4 -0
- package/dist/local-auth/constants/model-names.js.map +1 -1
- package/dist/local-auth/core/common.d.ts +3 -5
- package/dist/local-auth/core/common.d.ts.map +1 -1
- package/dist/local-auth/core/common.js +10 -13
- package/dist/local-auth/core/common.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts +49 -0
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js +17 -6
- package/dist/local-auth/core/generators/auth-email-password/auth-email-password.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts +209 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/template-paths.d.ts +5 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/template-paths.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/template-paths.js +5 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/template-paths.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts +47 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js +48 -2
- package/dist/local-auth/core/generators/auth-email-password/generated/template-renderers.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.d.ts +18 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.js +12 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/ts-import-providers.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts +253 -0
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js +102 -4
- package/dist/local-auth/core/generators/auth-email-password/generated/typed-templates.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/constants/password.constants.d.ts +15 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/constants/password.constants.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/constants/password.constants.js +15 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/constants/password.constants.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/constants/password.constants.ts +18 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/email-verification.mutations.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/email-verification.mutations.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/email-verification.mutations.js +24 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/email-verification.mutations.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/email-verification.mutations.ts +35 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js +38 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/schema/password-reset.mutations.ts +54 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/auth-verification.service.d.ts +40 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/auth-verification.service.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/auth-verification.service.js +106 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/auth-verification.service.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/auth-verification.service.ts +146 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.d.ts +24 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.js +88 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/email-verification.service.ts +141 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts +35 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js +157 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/password-reset.service.ts +233 -0
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js +48 -14
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.js.map +1 -1
- package/dist/local-auth/core/generators/auth-email-password/templates/module/services/user-password.service.ts +79 -15
- package/dist/local-auth/core/generators/auth-email-templates/auth-email-templates.generator.d.ts +43 -0
- package/dist/local-auth/core/generators/auth-email-templates/auth-email-templates.generator.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/auth-email-templates.generator.js +48 -0
- package/dist/local-auth/core/generators/auth-email-templates/auth-email-templates.generator.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/index.d.ts +96 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/index.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/index.js +11 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/index.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-paths.d.ts +14 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-paths.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-paths.js +26 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-paths.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-renderers.d.ts +41 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-renderers.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-renderers.js +59 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/template-renderers.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/typed-templates.d.ts +60 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/typed-templates.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/typed-templates.js +42 -0
- package/dist/local-auth/core/generators/auth-email-templates/generated/typed-templates.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/index.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-email-templates/index.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/index.js +2 -0
- package/dist/local-auth/core/generators/auth-email-templates/index.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/account-verification.email.d.ts +3 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/account-verification.email.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/account-verification.email.js +14 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/account-verification.email.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/account-verification.email.tsx +55 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-changed.email.d.ts +3 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-changed.email.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-changed.email.js +12 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-changed.email.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-changed.email.tsx +44 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-reset.email.d.ts +3 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-reset.email.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-reset.email.js +14 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-reset.email.js.map +1 -0
- package/dist/local-auth/core/generators/auth-email-templates/templates/src/emails/auth/password-reset.email.tsx +55 -0
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts +1 -0
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js +1 -1
- package/dist/local-auth/core/generators/auth-module/auth-module.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/generated/index.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-module/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts +1 -0
- package/dist/local-auth/core/generators/auth-module/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts +1 -0
- package/dist/local-auth/core/generators/auth-module/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.mutations.js +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.mutations.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.mutations.ts +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.queries.js +2 -2
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.queries.js.map +1 -1
- package/dist/local-auth/core/generators/auth-module/templates/module/schema/user-session.queries.ts +2 -2
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js +1 -0
- package/dist/local-auth/core/generators/auth-routes/auth-routes.generator.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts +722 -4
- package/dist/local-auth/core/generators/auth-routes/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/index.js +2 -0
- package/dist/local-auth/core/generators/auth-routes/generated/index.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-paths.d.ts +4 -0
- package/dist/local-auth/core/generators/auth-routes/generated/template-paths.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-paths.js +4 -0
- package/dist/local-auth/core/generators/auth-routes/generated/template-paths.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts +4 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.js +14 -0
- package/dist/local-auth/core/generators/auth-routes/generated/template-renderers.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.d.ts +21 -0
- package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.js +30 -0
- package/dist/local-auth/core/generators/auth-routes/generated/ts-import-providers.js.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts +1216 -34
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.js +70 -2
- package/dist/local-auth/core/generators/auth-routes/generated/typed-templates.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/index.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-routes/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/index.js +1 -0
- package/dist/local-auth/core/generators/auth-routes/index.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/-constants.d.ts +10 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/-constants.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/-constants.js +11 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/-constants.js.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/-constants.ts +12 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.d.ts +2 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.js +60 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.js.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/forgot-password.tsx +127 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.d.ts +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js +6 -11
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/login.tsx +20 -19
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.d.ts +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.d.ts.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js +2 -2
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.js.map +1 -1
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/register.tsx +2 -3
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.d.ts +7 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js +131 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.js.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/reset-password.tsx +240 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.d.ts +7 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.d.ts.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.js +106 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.js.map +1 -0
- package/dist/local-auth/core/generators/auth-routes/templates/routes/auth_/verify-email.tsx +206 -0
- package/dist/local-auth/core/generators/index.d.ts +1 -0
- package/dist/local-auth/core/generators/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/index.js +1 -0
- package/dist/local-auth/core/generators/index.js.map +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/generated/index.d.ts +12 -0
- package/dist/local-auth/core/generators/seed-initial-user/generated/index.d.ts.map +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.d.ts +6 -0
- package/dist/local-auth/core/generators/seed-initial-user/generated/template-renderers.d.ts.map +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.d.ts +6 -0
- package/dist/local-auth/core/generators/seed-initial-user/generated/typed-templates.d.ts.map +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.d.ts +6 -0
- package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.d.ts.map +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.js +1 -1
- package/dist/local-auth/core/generators/seed-initial-user/seed-initial-user.generator.js.map +1 -1
- package/dist/local-auth/core/node.d.ts +3 -3
- package/dist/local-auth/core/node.d.ts.map +1 -1
- package/dist/local-auth/core/node.js +16 -9
- package/dist/local-auth/core/node.js.map +1 -1
- package/dist/local-auth/core/schema/models.d.ts.map +1 -1
- package/dist/local-auth/core/schema/models.js +60 -0
- package/dist/local-auth/core/schema/models.js.map +1 -1
- package/dist/local-auth/core/web.d.ts +3 -3
- package/dist/local-auth/core/web.d.ts.map +1 -1
- package/dist/local-auth/core/web.js +4 -5
- package/dist/local-auth/core/web.js.map +1 -1
- package/dist/placeholder-auth/core/common.d.ts +2 -5
- package/dist/placeholder-auth/core/common.d.ts.map +1 -1
- package/dist/placeholder-auth/core/common.js +10 -13
- package/dist/placeholder-auth/core/common.js.map +1 -1
- package/dist/placeholder-auth/core/node.d.ts +3 -3
- package/dist/placeholder-auth/core/node.d.ts.map +1 -1
- package/dist/placeholder-auth/core/node.js +5 -8
- package/dist/placeholder-auth/core/node.js.map +1 -1
- package/dist/placeholder-auth/core/schema/plugin-definition.js +1 -1
- package/dist/placeholder-auth/core/schema/plugin-definition.js.map +1 -1
- package/dist/placeholder-auth/core/web.d.ts +3 -3
- package/dist/placeholder-auth/core/web.d.ts.map +1 -1
- package/dist/placeholder-auth/core/web.js +4 -5
- package/dist/placeholder-auth/core/web.js.map +1 -1
- package/dist/web/assets/__federation_expose_auth0CoreCommon-DKJVe6Rd.js +40 -0
- package/dist/web/assets/__federation_expose_auth0CoreCommon-DKJVe6Rd.js.map +1 -0
- package/dist/web/assets/{__federation_expose_auth0CoreWeb-CZueDXPK.js → __federation_expose_auth0CoreWeb-CfhSWZsK.js} +9 -10
- package/dist/web/assets/{__federation_expose_auth0CoreWeb-CZueDXPK.js.map → __federation_expose_auth0CoreWeb-CfhSWZsK.js.map} +1 -1
- package/dist/web/assets/__federation_expose_authCoreCommon-D3-Gk9mI.js +29 -0
- package/dist/web/assets/__federation_expose_authCoreCommon-D3-Gk9mI.js.map +1 -0
- package/dist/web/assets/{__federation_expose_authCoreWeb-C8rgnA2v.js → __federation_expose_authCoreWeb-DZoAij9e.js} +10 -11
- package/dist/web/assets/{__federation_expose_authCoreWeb-C8rgnA2v.js.map → __federation_expose_authCoreWeb-DZoAij9e.js.map} +1 -1
- package/dist/web/assets/{__federation_expose_local-authAdminCommon-C75-DAzO.js → __federation_expose_local-authAdminCommon-BRHnF0Hn.js} +8 -9
- package/dist/web/assets/__federation_expose_local-authAdminCommon-BRHnF0Hn.js.map +1 -0
- package/dist/web/assets/__federation_expose_local-authAdminWeb-dYAIxuqC.js +41 -0
- package/dist/web/assets/__federation_expose_local-authAdminWeb-dYAIxuqC.js.map +1 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-CIwvOx0d.js +21 -0
- package/dist/web/assets/__federation_expose_local-authCoreCommon-CIwvOx0d.js.map +1 -0
- package/dist/web/assets/{__federation_expose_local-authCoreWeb-ChyvdsRq.js → __federation_expose_local-authCoreWeb-Bwooi2qZ.js} +70 -11
- package/dist/web/assets/__federation_expose_local-authCoreWeb-Bwooi2qZ.js.map +1 -0
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-gFDSzGjB.js +23 -0
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-gFDSzGjB.js.map +1 -0
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-CT8JKYLB.js → __federation_expose_placeholder-authCoreWeb-BZLwIkLk.js} +9 -13
- package/dist/web/assets/{__federation_expose_placeholder-authCoreWeb-CT8JKYLB.js.map → __federation_expose_placeholder-authCoreWeb-BZLwIkLk.js.map} +1 -1
- package/dist/web/assets/{__federation_fn_import-C_QCk5FX.js → __federation_fn_import-pxYUpmb_.js} +2 -2
- package/dist/web/assets/{__federation_fn_import-C_QCk5FX.js.map → __federation_fn_import-pxYUpmb_.js.map} +1 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/{web-DtztAtUw.js → web-BXi2UCP-.js} +39 -120
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-BXi2UCP-.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-O0clDXMb.js +17445 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-O0clDXMb.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-BpuFQk6s.js +52536 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-BpuFQk6s.js.map +1 -0
- package/dist/web/assets/__federation_shared_@baseplate-dev/{utils-Bxy-1ETU.js → utils-UiZ-8JBg.js} +30 -10
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-UiZ-8JBg.js.map +1 -0
- package/dist/web/assets/__federation_shared_@tanstack/{react-router-DooFj-IS.js → react-router-BPEAtEJI.js} +1069 -746
- package/dist/web/assets/__federation_shared_@tanstack/react-router-BPEAtEJI.js.map +1 -0
- package/dist/web/assets/{get-auth-plugin-definition-D2XMaoy7.js → get-auth-plugin-definition-DPsrvQbo.js} +2 -2
- package/dist/web/assets/{get-auth-plugin-definition-D2XMaoy7.js.map → get-auth-plugin-definition-DPsrvQbo.js.map} +1 -1
- package/dist/web/assets/{index-DwJT6_Wn.js → index-CSfs0UAV.js} +2 -2
- package/dist/web/assets/{index-DwJT6_Wn.js.map → index-CSfs0UAV.js.map} +1 -1
- package/dist/web/assets/{index.esm-ChwWPPiL.js → index.esm-BoRQu8mM.js} +2 -2
- package/dist/web/assets/{index.esm-ChwWPPiL.js.map → index.esm-BoRQu8mM.js.map} +1 -1
- package/dist/web/assets/{isEqual-DAXqKRba.js → isEqual-BQtm2LNT.js} +5 -5
- package/dist/web/assets/{isEqual-DAXqKRba.js.map → isEqual-BQtm2LNT.js.map} +1 -1
- package/dist/web/assets/{model-merger-gGkFnyaY.js → model-merger-CdjliK9v.js} +266 -101
- package/dist/web/assets/model-merger-CdjliK9v.js.map +1 -0
- package/dist/web/assets/{model-names-CEoSIalq.js → model-names-DrcaRxt1.js} +6 -2
- package/dist/web/assets/{model-names-CEoSIalq.js.map → model-names-DrcaRxt1.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-rpMj4pr8.js → plugin-definition-BG6tu7Hh.js} +3 -3
- package/dist/web/assets/plugin-definition-BG6tu7Hh.js.map +1 -0
- package/dist/web/assets/{plugin-definition-QRBMcFiG.js → plugin-definition-BMYDEj3f.js} +3 -3
- package/dist/web/assets/plugin-definition-BMYDEj3f.js.map +1 -0
- package/dist/web/assets/{plugin-definition-hAzbWO7b.js → plugin-definition-DRhTuQas.js} +2 -2
- package/dist/web/assets/{plugin-definition-hAzbWO7b.js.map → plugin-definition-DRhTuQas.js.map} +1 -1
- package/dist/web/assets/{plugin-definition-_slrOM0G.js → plugin-definition-j1nJ0FFI.js} +2 -2
- package/dist/web/assets/{plugin-definition-_slrOM0G.js.map → plugin-definition-j1nJ0FFI.js.map} +1 -1
- package/dist/web/assets/{react-DbX1FP85.js → react-CBhSWxr_.js} +2 -2
- package/dist/web/assets/{react-DbX1FP85.js.map → react-CBhSWxr_.js.map} +1 -1
- package/dist/web/assets/remoteEntry.js +20 -20
- package/dist/web/assets/{style-DZ-aOCkd.css → style-DiK_rD1L.css} +1 -1
- package/dist/web/assets/{styles-DqLt1Blm.js → styles-BbHyE-2h.js} +3 -3
- package/dist/web/assets/{styles-DqLt1Blm.js.map → styles-BbHyE-2h.js.map} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +23 -20
- package/dist/web/assets/__federation_expose_auth0CoreCommon-Ga9LD3d6.js +0 -43
- package/dist/web/assets/__federation_expose_auth0CoreCommon-Ga9LD3d6.js.map +0 -1
- package/dist/web/assets/__federation_expose_authCoreCommon-BrTLsuJC.js +0 -29
- package/dist/web/assets/__federation_expose_authCoreCommon-BrTLsuJC.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authAdminCommon-C75-DAzO.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authAdminWeb-D2xGvwyL.js +0 -40
- package/dist/web/assets/__federation_expose_local-authAdminWeb-D2xGvwyL.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BFUbyPYg.js +0 -27
- package/dist/web/assets/__federation_expose_local-authCoreCommon-BFUbyPYg.js.map +0 -1
- package/dist/web/assets/__federation_expose_local-authCoreWeb-ChyvdsRq.js.map +0 -1
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-DrFV9FSW.js +0 -26
- package/dist/web/assets/__federation_expose_placeholder-authCoreCommon-DrFV9FSW.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib/web-DtztAtUw.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CcNtL_U6.js +0 -10507
- package/dist/web/assets/__federation_shared_@baseplate-dev/project-builder-lib-CcNtL_U6.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DA_4I2Vy.js +0 -24082
- package/dist/web/assets/__federation_shared_@baseplate-dev/ui-components-DA_4I2Vy.js.map +0 -1
- package/dist/web/assets/__federation_shared_@baseplate-dev/utils-Bxy-1ETU.js.map +0 -1
- package/dist/web/assets/__federation_shared_@tanstack/react-router-DooFj-IS.js.map +0 -1
- package/dist/web/assets/model-merger-gGkFnyaY.js.map +0 -1
- package/dist/web/assets/plugin-definition-QRBMcFiG.js.map +0 -1
- package/dist/web/assets/plugin-definition-rpMj4pr8.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-router-BPEAtEJI.js","sources":["../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.8.0/node_modules/@tanstack/store/dist/esm/scheduler.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.8.0/node_modules/@tanstack/store/dist/esm/types.js","../../../../../../node_modules/.pnpm/@tanstack+store@0.8.0/node_modules/@tanstack/store/dist/esm/store.js","../../../../../../node_modules/.pnpm/@tanstack+history@1.154.14/node_modules/@tanstack/history/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/isServer/client.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/utils/batch.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/utils.js","../../../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/lru-cache.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/new-process-route-tree.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/path.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/qss.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/searchParams.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/root.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/redirect.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/load-matches.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/rewrite.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/defer.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/config.js","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/searchMiddleware.js","../../../../../../node_modules/.pnpm/seroval@1.5.0/node_modules/seroval/dist/esm/production/index.mjs","../../../../../../node_modules/.pnpm/@tanstack+router-core@1.159.4/node_modules/@tanstack/router-core/dist/esm/ssr/serializer/transformer.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/utils.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/awaited.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/CatchBoundary.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ClientOnly.js","../../../../../../node_modules/.pnpm/tiny-warning@1.0.3/node_modules/tiny-warning/dist/tiny-warning.esm.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/shim/with-selector.js","../../../../../../node_modules/.pnpm/@tanstack+react-store@0.8.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-store/dist/esm/index.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/routerContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouter.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouterState.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/matchContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useMatch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderData.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLoaderDeps.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useParams.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useSearch.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useNavigate.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/link.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/route.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/fileRoute.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/lazyRouteComponent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Transitioner.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/not-found.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/SafeFragment.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/renderRouteNotFound.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScriptOnce.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/scroll-restoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Match.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Matches.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/router.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/RouterProvider.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/ScrollRestoration.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useBlocker.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useRouteContext.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useLocation.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/useCanGoBack.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Asset.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/headContentUtils.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/HeadContent.js","../../../../../../node_modules/.pnpm/@tanstack+react-router@1.159.5_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/@tanstack/react-router/dist/esm/Scripts.js"],"sourcesContent":["/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","const __storeToDerived = /* @__PURE__ */ new WeakMap();\nconst __derivedToStore = /* @__PURE__ */ new WeakMap();\nconst __depsThatHaveWrittenThisTick = {\n current: []\n};\nlet __isFlushing = false;\nlet __batchDepth = 0;\nconst __pendingUpdates = /* @__PURE__ */ new Set();\nconst __initialBatchValues = /* @__PURE__ */ new Map();\nfunction __flush_internals(relatedVals) {\n for (const derived of relatedVals) {\n if (__depsThatHaveWrittenThisTick.current.includes(derived)) {\n continue;\n }\n __depsThatHaveWrittenThisTick.current.push(derived);\n derived.recompute();\n const stores = __derivedToStore.get(derived);\n if (stores) {\n for (const store of stores) {\n const relatedLinkedDerivedVals = __storeToDerived.get(store);\n if (!(relatedLinkedDerivedVals == null ? void 0 : relatedLinkedDerivedVals.length)) continue;\n __flush_internals(relatedLinkedDerivedVals);\n }\n }\n }\n}\nfunction __notifyListeners(store) {\n const value = {\n prevVal: store.prevState,\n currentVal: store.state\n };\n for (const listener of store.listeners) {\n listener(value);\n }\n}\nfunction __notifyDerivedListeners(derived) {\n const value = {\n prevVal: derived.prevState,\n currentVal: derived.state\n };\n for (const listener of derived.listeners) {\n listener(value);\n }\n}\nfunction __flush(store) {\n if (__batchDepth > 0 && !__initialBatchValues.has(store)) {\n __initialBatchValues.set(store, store.prevState);\n }\n __pendingUpdates.add(store);\n if (__batchDepth > 0) return;\n if (__isFlushing) return;\n try {\n __isFlushing = true;\n while (__pendingUpdates.size > 0) {\n const stores = Array.from(__pendingUpdates);\n __pendingUpdates.clear();\n for (const store2 of stores) {\n const prevState = __initialBatchValues.get(store2) ?? store2.prevState;\n store2.prevState = prevState;\n __notifyListeners(store2);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n __depsThatHaveWrittenThisTick.current.push(store2);\n __flush_internals(derivedVals);\n }\n for (const store2 of stores) {\n const derivedVals = __storeToDerived.get(store2);\n if (!derivedVals) continue;\n for (const derived of derivedVals) {\n __notifyDerivedListeners(derived);\n }\n }\n }\n } finally {\n __isFlushing = false;\n __depsThatHaveWrittenThisTick.current = [];\n __initialBatchValues.clear();\n }\n}\nfunction batch(fn) {\n __batchDepth++;\n try {\n fn();\n } finally {\n __batchDepth--;\n if (__batchDepth === 0) {\n const pendingUpdateToFlush = __pendingUpdates.values().next().value;\n if (pendingUpdateToFlush) {\n __flush(pendingUpdateToFlush);\n }\n }\n }\n}\nexport {\n __depsThatHaveWrittenThisTick,\n __derivedToStore,\n __flush,\n __storeToDerived,\n batch\n};\n//# sourceMappingURL=scheduler.js.map\n","function isUpdaterFunction(updater) {\n return typeof updater === \"function\";\n}\nexport {\n isUpdaterFunction\n};\n//# sourceMappingURL=types.js.map\n","import { __flush } from \"./scheduler.js\";\nimport { isUpdaterFunction } from \"./types.js\";\nclass Store {\n constructor(initialState, options) {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = (listener) => {\n var _a, _b;\n this.listeners.add(listener);\n const unsub = (_b = (_a = this.options) == null ? void 0 : _a.onSubscribe) == null ? void 0 : _b.call(_a, listener, this);\n return () => {\n this.listeners.delete(listener);\n unsub == null ? void 0 : unsub();\n };\n };\n this.prevState = initialState;\n this.state = initialState;\n this.options = options;\n }\n setState(updater) {\n var _a, _b, _c;\n this.prevState = this.state;\n if ((_a = this.options) == null ? void 0 : _a.updateFn) {\n this.state = this.options.updateFn(this.prevState)(updater);\n } else {\n if (isUpdaterFunction(updater)) {\n this.state = updater(this.prevState);\n } else {\n this.state = updater;\n }\n }\n (_c = (_b = this.options) == null ? void 0 : _b.onUpdate) == null ? void 0 : _c.call(_b);\n __flush(this);\n }\n}\nexport {\n Store\n};\n//# sourceMappingURL=store.js.map\n","const stateIndexKey = \"__TSR_index\";\nconst popStateEvent = \"popstate\";\nconst beforeUnloadEvent = \"beforeunload\";\nfunction createHistory(opts) {\n let location = opts.getLocation();\n const subscribers = /* @__PURE__ */ new Set();\n const notify = (action) => {\n location = opts.getLocation();\n subscribers.forEach((subscriber) => subscriber({ location, action }));\n };\n const handleIndexChange = (action) => {\n if (opts.notifyOnIndexChange ?? true) notify(action);\n else location = opts.getLocation();\n };\n const tryNavigation = async ({\n task,\n navigateOpts,\n ...actionInfo\n }) => {\n const ignoreBlocker = navigateOpts?.ignoreBlocker ?? false;\n if (ignoreBlocker) {\n task();\n return;\n }\n const blockers = opts.getBlockers?.() ?? [];\n const isPushOrReplace = actionInfo.type === \"PUSH\" || actionInfo.type === \"REPLACE\";\n if (typeof document !== \"undefined\" && blockers.length && isPushOrReplace) {\n for (const blocker of blockers) {\n const nextLocation = parseHref(actionInfo.path, actionInfo.state);\n const isBlocked = await blocker.blockerFn({\n currentLocation: location,\n nextLocation,\n action: actionInfo.type\n });\n if (isBlocked) {\n opts.onBlocked?.();\n return;\n }\n }\n }\n task();\n };\n return {\n get location() {\n return location;\n },\n get length() {\n return opts.getLength();\n },\n subscribers,\n subscribe: (cb) => {\n subscribers.add(cb);\n return () => {\n subscribers.delete(cb);\n };\n },\n push: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex + 1, state);\n tryNavigation({\n task: () => {\n opts.pushState(path, state);\n notify({ type: \"PUSH\" });\n },\n navigateOpts,\n type: \"PUSH\",\n path,\n state\n });\n },\n replace: (path, state, navigateOpts) => {\n const currentIndex = location.state[stateIndexKey];\n state = assignKeyAndIndex(currentIndex, state);\n tryNavigation({\n task: () => {\n opts.replaceState(path, state);\n notify({ type: \"REPLACE\" });\n },\n navigateOpts,\n type: \"REPLACE\",\n path,\n state\n });\n },\n go: (index, navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.go(index);\n handleIndexChange({ type: \"GO\", index });\n },\n navigateOpts,\n type: \"GO\"\n });\n },\n back: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.back(navigateOpts?.ignoreBlocker ?? false);\n handleIndexChange({ type: \"BACK\" });\n },\n navigateOpts,\n type: \"BACK\"\n });\n },\n forward: (navigateOpts) => {\n tryNavigation({\n task: () => {\n opts.forward(navigateOpts?.ignoreBlocker ?? false);\n handleIndexChange({ type: \"FORWARD\" });\n },\n navigateOpts,\n type: \"FORWARD\"\n });\n },\n canGoBack: () => location.state[stateIndexKey] !== 0,\n createHref: (str) => opts.createHref(str),\n block: (blocker) => {\n if (!opts.setBlockers) return () => {\n };\n const blockers = opts.getBlockers?.() ?? [];\n opts.setBlockers([...blockers, blocker]);\n return () => {\n const blockers2 = opts.getBlockers?.() ?? [];\n opts.setBlockers?.(blockers2.filter((b) => b !== blocker));\n };\n },\n flush: () => opts.flush?.(),\n destroy: () => opts.destroy?.(),\n notify\n };\n}\nfunction assignKeyAndIndex(index, state) {\n if (!state) {\n state = {};\n }\n const key = createRandomKey();\n return {\n ...state,\n key,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: key,\n [stateIndexKey]: index\n };\n}\nfunction createBrowserHistory(opts) {\n const win = opts?.window ?? (typeof document !== \"undefined\" ? window : void 0);\n const originalPushState = win.history.pushState;\n const originalReplaceState = win.history.replaceState;\n let blockers = [];\n const _getBlockers = () => blockers;\n const _setBlockers = (newBlockers) => blockers = newBlockers;\n const createHref = opts?.createHref ?? ((path) => path);\n const parseLocation = opts?.parseLocation ?? (() => parseHref(\n `${win.location.pathname}${win.location.search}${win.location.hash}`,\n win.history.state\n ));\n if (!win.history.state?.__TSR_key && !win.history.state?.key) {\n const addedKey = createRandomKey();\n win.history.replaceState(\n {\n [stateIndexKey]: 0,\n key: addedKey,\n // TODO: Remove in v2 - use __TSR_key instead\n __TSR_key: addedKey\n },\n \"\"\n );\n }\n let currentLocation = parseLocation();\n let rollbackLocation;\n let nextPopIsGo = false;\n let ignoreNextPop = false;\n let skipBlockerNextPop = false;\n let ignoreNextBeforeUnload = false;\n const getLocation = () => currentLocation;\n let next;\n let scheduled;\n const flush = () => {\n if (!next) {\n return;\n }\n history._ignoreSubscribers = true;\n (next.isPush ? win.history.pushState : win.history.replaceState)(\n next.state,\n \"\",\n next.href\n );\n history._ignoreSubscribers = false;\n next = void 0;\n scheduled = void 0;\n rollbackLocation = void 0;\n };\n const queueHistoryAction = (type, destHref, state) => {\n const href = createHref(destHref);\n if (!scheduled) {\n rollbackLocation = currentLocation;\n }\n currentLocation = parseHref(destHref, state);\n next = {\n href,\n state,\n isPush: next?.isPush || type === \"push\"\n };\n if (!scheduled) {\n scheduled = Promise.resolve().then(() => flush());\n }\n };\n const onPushPop = (type) => {\n currentLocation = parseLocation();\n history.notify({ type });\n };\n const onPushPopEvent = async () => {\n if (ignoreNextPop) {\n ignoreNextPop = false;\n return;\n }\n const nextLocation = parseLocation();\n const delta = nextLocation.state[stateIndexKey] - currentLocation.state[stateIndexKey];\n const isForward = delta === 1;\n const isBack = delta === -1;\n const isGo = !isForward && !isBack || nextPopIsGo;\n nextPopIsGo = false;\n const action = isGo ? \"GO\" : isBack ? \"BACK\" : \"FORWARD\";\n const notify = isGo ? {\n type: \"GO\",\n index: delta\n } : {\n type: isBack ? \"BACK\" : \"FORWARD\"\n };\n if (skipBlockerNextPop) {\n skipBlockerNextPop = false;\n } else {\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const isBlocked = await blocker.blockerFn({\n currentLocation,\n nextLocation,\n action\n });\n if (isBlocked) {\n ignoreNextPop = true;\n win.history.go(1);\n history.notify(notify);\n return;\n }\n }\n }\n }\n currentLocation = parseLocation();\n history.notify(notify);\n };\n const onBeforeUnload = (e) => {\n if (ignoreNextBeforeUnload) {\n ignoreNextBeforeUnload = false;\n return;\n }\n let shouldBlock = false;\n const blockers2 = _getBlockers();\n if (typeof document !== \"undefined\" && blockers2.length) {\n for (const blocker of blockers2) {\n const shouldHaveBeforeUnload = blocker.enableBeforeUnload ?? true;\n if (shouldHaveBeforeUnload === true) {\n shouldBlock = true;\n break;\n }\n if (typeof shouldHaveBeforeUnload === \"function\" && shouldHaveBeforeUnload() === true) {\n shouldBlock = true;\n break;\n }\n }\n }\n if (shouldBlock) {\n e.preventDefault();\n return e.returnValue = \"\";\n }\n return;\n };\n const history = createHistory({\n getLocation,\n getLength: () => win.history.length,\n pushState: (href, state) => queueHistoryAction(\"push\", href, state),\n replaceState: (href, state) => queueHistoryAction(\"replace\", href, state),\n back: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n return win.history.back();\n },\n forward: (ignoreBlocker) => {\n if (ignoreBlocker) skipBlockerNextPop = true;\n ignoreNextBeforeUnload = true;\n win.history.forward();\n },\n go: (n) => {\n nextPopIsGo = true;\n win.history.go(n);\n },\n createHref: (href) => createHref(href),\n flush,\n destroy: () => {\n win.history.pushState = originalPushState;\n win.history.replaceState = originalReplaceState;\n win.removeEventListener(beforeUnloadEvent, onBeforeUnload, {\n capture: true\n });\n win.removeEventListener(popStateEvent, onPushPopEvent);\n },\n onBlocked: () => {\n if (rollbackLocation && currentLocation !== rollbackLocation) {\n currentLocation = rollbackLocation;\n }\n },\n getBlockers: _getBlockers,\n setBlockers: _setBlockers,\n notifyOnIndexChange: false\n });\n win.addEventListener(beforeUnloadEvent, onBeforeUnload, { capture: true });\n win.addEventListener(popStateEvent, onPushPopEvent);\n win.history.pushState = function(...args) {\n const res = originalPushState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"PUSH\");\n return res;\n };\n win.history.replaceState = function(...args) {\n const res = originalReplaceState.apply(win.history, args);\n if (!history._ignoreSubscribers) onPushPop(\"REPLACE\");\n return res;\n };\n return history;\n}\nfunction createHashHistory(opts) {\n const win = opts?.window ?? (typeof document !== \"undefined\" ? window : void 0);\n return createBrowserHistory({\n window: win,\n parseLocation: () => {\n const hashSplit = win.location.hash.split(\"#\").slice(1);\n const pathPart = hashSplit[0] ?? \"/\";\n const searchPart = win.location.search;\n const hashEntries = hashSplit.slice(1);\n const hashPart = hashEntries.length === 0 ? \"\" : `#${hashEntries.join(\"#\")}`;\n const hashHref = `${pathPart}${searchPart}${hashPart}`;\n return parseHref(hashHref, win.history.state);\n },\n createHref: (href) => `${win.location.pathname}${win.location.search}#${href}`\n });\n}\nfunction createMemoryHistory(opts = {\n initialEntries: [\"/\"]\n}) {\n const entries = opts.initialEntries;\n let index = opts.initialIndex ? Math.min(Math.max(opts.initialIndex, 0), entries.length - 1) : entries.length - 1;\n const states = entries.map(\n (_entry, index2) => assignKeyAndIndex(index2, void 0)\n );\n const getLocation = () => parseHref(entries[index], states[index]);\n let blockers = [];\n const _getBlockers = () => blockers;\n const _setBlockers = (newBlockers) => blockers = newBlockers;\n return createHistory({\n getLocation,\n getLength: () => entries.length,\n pushState: (path, state) => {\n if (index < entries.length - 1) {\n entries.splice(index + 1);\n states.splice(index + 1);\n }\n states.push(state);\n entries.push(path);\n index = Math.max(entries.length - 1, 0);\n },\n replaceState: (path, state) => {\n states[index] = state;\n entries[index] = path;\n },\n back: () => {\n index = Math.max(index - 1, 0);\n },\n forward: () => {\n index = Math.min(index + 1, entries.length - 1);\n },\n go: (n) => {\n index = Math.min(Math.max(index + n, 0), entries.length - 1);\n },\n createHref: (path) => path,\n getBlockers: _getBlockers,\n setBlockers: _setBlockers\n });\n}\nfunction sanitizePath(path) {\n let sanitized = path.replace(/[\\x00-\\x1f\\x7f]/g, \"\");\n if (sanitized.startsWith(\"//\")) {\n sanitized = \"/\" + sanitized.replace(/^\\/+/, \"\");\n }\n return sanitized;\n}\nfunction parseHref(href, state) {\n const sanitizedHref = sanitizePath(href);\n const hashIndex = sanitizedHref.indexOf(\"#\");\n const searchIndex = sanitizedHref.indexOf(\"?\");\n const addedKey = createRandomKey();\n return {\n href: sanitizedHref,\n pathname: sanitizedHref.substring(\n 0,\n hashIndex > 0 ? searchIndex > 0 ? Math.min(hashIndex, searchIndex) : hashIndex : searchIndex > 0 ? searchIndex : sanitizedHref.length\n ),\n hash: hashIndex > -1 ? sanitizedHref.substring(hashIndex) : \"\",\n search: searchIndex > -1 ? sanitizedHref.slice(\n searchIndex,\n hashIndex === -1 ? void 0 : hashIndex\n ) : \"\",\n state: state || { [stateIndexKey]: 0, key: addedKey, __TSR_key: addedKey }\n };\n}\nfunction createRandomKey() {\n return (Math.random() + 1).toString(36).substring(7);\n}\nexport {\n createBrowserHistory,\n createHashHistory,\n createHistory,\n createMemoryHistory,\n parseHref\n};\n//# sourceMappingURL=index.js.map\n","const isServer = false;\nexport {\n isServer\n};\n//# sourceMappingURL=client.js.map\n","import { batch as batch$1 } from \"@tanstack/store\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nfunction batch(fn) {\n if (isServer) {\n return fn();\n }\n let result;\n batch$1(() => {\n result = fn();\n });\n return result;\n}\nexport {\n batch\n};\n//# sourceMappingURL=batch.js.map\n","import { isServer } from \"@tanstack/router-core/isServer\";\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nfunction isFunction(d) {\n return typeof d === \"function\";\n}\nfunction functionalUpdate(updater, previous) {\n if (isFunction(updater)) {\n return updater(previous);\n }\n return updater;\n}\nconst hasOwn = Object.prototype.hasOwnProperty;\nconst isEnumerable = Object.prototype.propertyIsEnumerable;\nfunction replaceEqualDeep(prev, _next, _depth = 0) {\n if (isServer) {\n return _next;\n }\n if (prev === _next) {\n return prev;\n }\n if (_depth > 500) return _next;\n const next = _next;\n const array = isPlainArray(prev) && isPlainArray(next);\n if (!array && !(isPlainObject(prev) && isPlainObject(next))) return next;\n const prevItems = array ? prev : getEnumerableOwnKeys(prev);\n if (!prevItems) return next;\n const nextItems = array ? next : getEnumerableOwnKeys(next);\n if (!nextItems) return next;\n const prevSize = prevItems.length;\n const nextSize = nextItems.length;\n const copy = array ? new Array(nextSize) : {};\n let equalItems = 0;\n for (let i = 0; i < nextSize; i++) {\n const key = array ? i : nextItems[i];\n const p = prev[key];\n const n = next[key];\n if (p === n) {\n copy[key] = p;\n if (array ? i < prevSize : hasOwn.call(prev, key)) equalItems++;\n continue;\n }\n if (p === null || n === null || typeof p !== \"object\" || typeof n !== \"object\") {\n copy[key] = n;\n continue;\n }\n const v = replaceEqualDeep(p, n, _depth + 1);\n copy[key] = v;\n if (v === p) equalItems++;\n }\n return prevSize === nextSize && equalItems === prevSize ? prev : copy;\n}\nfunction getEnumerableOwnKeys(o) {\n const names = Object.getOwnPropertyNames(o);\n for (const name of names) {\n if (!isEnumerable.call(o, name)) return false;\n }\n const symbols = Object.getOwnPropertySymbols(o);\n if (symbols.length === 0) return names;\n const keys = names;\n for (const symbol of symbols) {\n if (!isEnumerable.call(o, symbol)) return false;\n keys.push(symbol);\n }\n return keys;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction deepEqual(a, b, opts) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (Array.isArray(a) && Array.isArray(b)) {\n if (a.length !== b.length) return false;\n for (let i = 0, l = a.length; i < l; i++) {\n if (!deepEqual(a[i], b[i], opts)) return false;\n }\n return true;\n }\n if (isPlainObject(a) && isPlainObject(b)) {\n const ignoreUndefined = opts?.ignoreUndefined ?? true;\n if (opts?.partial) {\n for (const k in b) {\n if (!ignoreUndefined || b[k] !== void 0) {\n if (!deepEqual(a[k], b[k], opts)) return false;\n }\n }\n return true;\n }\n let aCount = 0;\n if (!ignoreUndefined) {\n aCount = Object.keys(a).length;\n } else {\n for (const k in a) {\n if (a[k] !== void 0) aCount++;\n }\n }\n let bCount = 0;\n for (const k in b) {\n if (!ignoreUndefined || b[k] !== void 0) {\n bCount++;\n if (bCount > aCount || !deepEqual(a[k], b[k], opts)) return false;\n }\n }\n return aCount === bCount;\n }\n return false;\n}\nfunction createControlledPromise(onResolve) {\n let resolveLoadPromise;\n let rejectLoadPromise;\n const controlledPromise = new Promise((resolve, reject) => {\n resolveLoadPromise = resolve;\n rejectLoadPromise = reject;\n });\n controlledPromise.status = \"pending\";\n controlledPromise.resolve = (value) => {\n controlledPromise.status = \"resolved\";\n controlledPromise.value = value;\n resolveLoadPromise(value);\n onResolve?.(value);\n };\n controlledPromise.reject = (e) => {\n controlledPromise.status = \"rejected\";\n rejectLoadPromise(e);\n };\n return controlledPromise;\n}\nfunction isModuleNotFoundError(error) {\n if (typeof error?.message !== \"string\") return false;\n return error.message.startsWith(\"Failed to fetch dynamically imported module\") || error.message.startsWith(\"error loading dynamically imported module\") || error.message.startsWith(\"Importing a module script failed\");\n}\nfunction isPromise(value) {\n return Boolean(\n value && typeof value === \"object\" && typeof value.then === \"function\"\n );\n}\nfunction findLast(array, predicate) {\n for (let i = array.length - 1; i >= 0; i--) {\n const item = array[i];\n if (predicate(item)) return item;\n }\n return void 0;\n}\nfunction sanitizePathSegment(segment) {\n return segment.replace(/[\\x00-\\x1f\\x7f]/g, \"\");\n}\nfunction decodeSegment(segment) {\n let decoded;\n try {\n decoded = decodeURI(segment);\n } catch {\n decoded = segment.replaceAll(/%[0-9A-F]{2}/gi, (match) => {\n try {\n return decodeURI(match);\n } catch {\n return match;\n }\n });\n }\n return sanitizePathSegment(decoded);\n}\nconst SAFE_URL_PROTOCOLS = [\"http:\", \"https:\", \"mailto:\", \"tel:\"];\nfunction isDangerousProtocol(url) {\n if (!url) return false;\n try {\n const parsed = new URL(url);\n return !SAFE_URL_PROTOCOLS.includes(parsed.protocol);\n } catch {\n return false;\n }\n}\nconst HTML_ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nconst HTML_ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction escapeHtml(str) {\n return str.replace(HTML_ESCAPE_REGEX, (match) => HTML_ESCAPE_LOOKUP[match]);\n}\nfunction decodePath(path) {\n if (!path) return { path, handledProtocolRelativeURL: false };\n if (!/[%\\\\\\x00-\\x1f\\x7f]/.test(path) && !path.startsWith(\"//\")) {\n return { path, handledProtocolRelativeURL: false };\n }\n const re = /%25|%5C/gi;\n let cursor = 0;\n let result = \"\";\n let match;\n while (null !== (match = re.exec(path))) {\n result += decodeSegment(path.slice(cursor, match.index)) + match[0];\n cursor = re.lastIndex;\n }\n result = result + decodeSegment(cursor ? path.slice(cursor) : path);\n let handledProtocolRelativeURL = false;\n if (result.startsWith(\"//\")) {\n handledProtocolRelativeURL = true;\n result = \"/\" + result.replace(/^\\/+/, \"\");\n }\n return { path: result, handledProtocolRelativeURL };\n}\nfunction encodePathLikeUrl(path) {\n if (!/\\s|[^\\u0000-\\u007F]/.test(path)) return path;\n return path.replace(/\\s|[^\\u0000-\\u007F]/gu, encodeURIComponent);\n}\nfunction buildDevStylesUrl(basepath, routeIds) {\n const trimmedBasepath = basepath.replace(/^\\/+|\\/+$/g, \"\");\n const normalizedBasepath = trimmedBasepath === \"\" ? \"\" : `/${trimmedBasepath}`;\n return `${normalizedBasepath}/@tanstack-start/styles.css?routes=${encodeURIComponent(routeIds.join(\",\"))}`;\n}\nexport {\n SAFE_URL_PROTOCOLS,\n buildDevStylesUrl,\n createControlledPromise,\n decodePath,\n deepEqual,\n encodePathLikeUrl,\n escapeHtml,\n findLast,\n functionalUpdate,\n isDangerousProtocol,\n isModuleNotFoundError,\n isPlainArray,\n isPlainObject,\n isPromise,\n last,\n replaceEqualDeep\n};\n//# sourceMappingURL=utils.js.map\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","function createLRUCache(max) {\n const cache = /* @__PURE__ */ new Map();\n let oldest;\n let newest;\n const touch = (entry) => {\n if (!entry.next) return;\n if (!entry.prev) {\n entry.next.prev = void 0;\n oldest = entry.next;\n entry.next = void 0;\n if (newest) {\n entry.prev = newest;\n newest.next = entry;\n }\n } else {\n entry.prev.next = entry.next;\n entry.next.prev = entry.prev;\n entry.next = void 0;\n if (newest) {\n newest.next = entry;\n entry.prev = newest;\n }\n }\n newest = entry;\n };\n return {\n get(key) {\n const entry = cache.get(key);\n if (!entry) return void 0;\n touch(entry);\n return entry.value;\n },\n set(key, value) {\n if (cache.size >= max && oldest) {\n const toDelete = oldest;\n cache.delete(toDelete.key);\n if (toDelete.next) {\n oldest = toDelete.next;\n toDelete.next.prev = void 0;\n }\n if (toDelete === newest) {\n newest = void 0;\n }\n }\n const existing = cache.get(key);\n if (existing) {\n existing.value = value;\n touch(existing);\n } else {\n const entry = { key, value, prev: newest };\n if (newest) newest.next = entry;\n newest = entry;\n if (!oldest) oldest = entry;\n cache.set(key, entry);\n }\n },\n clear() {\n cache.clear();\n oldest = void 0;\n newest = void 0;\n }\n };\n}\nexport {\n createLRUCache\n};\n//# sourceMappingURL=lru-cache.js.map\n","import invariant from \"tiny-invariant\";\nimport { createLRUCache } from \"./lru-cache.js\";\nimport { last } from \"./utils.js\";\nconst SEGMENT_TYPE_PATHNAME = 0;\nconst SEGMENT_TYPE_PARAM = 1;\nconst SEGMENT_TYPE_WILDCARD = 2;\nconst SEGMENT_TYPE_OPTIONAL_PARAM = 3;\nconst SEGMENT_TYPE_INDEX = 4;\nconst SEGMENT_TYPE_PATHLESS = 5;\nfunction getOpenAndCloseBraces(part) {\n const openBrace = part.indexOf(\"{\");\n if (openBrace === -1) return null;\n const closeBrace = part.indexOf(\"}\", openBrace);\n if (closeBrace === -1) return null;\n const afterOpen = openBrace + 1;\n if (afterOpen >= part.length) return null;\n return [openBrace, closeBrace];\n}\nfunction parseSegment(path, start, output = new Uint16Array(6)) {\n const next = path.indexOf(\"/\", start);\n const end = next === -1 ? path.length : next;\n const part = path.substring(start, end);\n if (!part || !part.includes(\"$\")) {\n output[0] = SEGMENT_TYPE_PATHNAME;\n output[1] = start;\n output[2] = start;\n output[3] = end;\n output[4] = end;\n output[5] = end;\n return output;\n }\n if (part === \"$\") {\n const total = path.length;\n output[0] = SEGMENT_TYPE_WILDCARD;\n output[1] = start;\n output[2] = start;\n output[3] = total;\n output[4] = total;\n output[5] = total;\n return output;\n }\n if (part.charCodeAt(0) === 36) {\n output[0] = SEGMENT_TYPE_PARAM;\n output[1] = start;\n output[2] = start + 1;\n output[3] = end;\n output[4] = end;\n output[5] = end;\n return output;\n }\n const braces = getOpenAndCloseBraces(part);\n if (braces) {\n const [openBrace, closeBrace] = braces;\n const firstChar = part.charCodeAt(openBrace + 1);\n if (firstChar === 45) {\n if (openBrace + 2 < part.length && part.charCodeAt(openBrace + 2) === 36) {\n const paramStart = openBrace + 3;\n const paramEnd = closeBrace;\n if (paramStart < paramEnd) {\n output[0] = SEGMENT_TYPE_OPTIONAL_PARAM;\n output[1] = start + openBrace;\n output[2] = start + paramStart;\n output[3] = start + paramEnd;\n output[4] = start + closeBrace + 1;\n output[5] = end;\n return output;\n }\n }\n } else if (firstChar === 36) {\n const dollarPos = openBrace + 1;\n const afterDollar = openBrace + 2;\n if (afterDollar === closeBrace) {\n output[0] = SEGMENT_TYPE_WILDCARD;\n output[1] = start + openBrace;\n output[2] = start + dollarPos;\n output[3] = start + afterDollar;\n output[4] = start + closeBrace + 1;\n output[5] = path.length;\n return output;\n }\n output[0] = SEGMENT_TYPE_PARAM;\n output[1] = start + openBrace;\n output[2] = start + afterDollar;\n output[3] = start + closeBrace;\n output[4] = start + closeBrace + 1;\n output[5] = end;\n return output;\n }\n }\n output[0] = SEGMENT_TYPE_PATHNAME;\n output[1] = start;\n output[2] = start;\n output[3] = end;\n output[4] = end;\n output[5] = end;\n return output;\n}\nfunction parseSegments(defaultCaseSensitive, data, route, start, node, depth, onRoute) {\n onRoute?.(route);\n let cursor = start;\n {\n const path = route.fullPath ?? route.from;\n const length = path.length;\n const caseSensitive = route.options?.caseSensitive ?? defaultCaseSensitive;\n const skipOnParamError = !!(route.options?.params?.parse && route.options?.skipRouteOnParseError?.params);\n while (cursor < length) {\n const segment = parseSegment(path, cursor, data);\n let nextNode;\n const start2 = cursor;\n const end = segment[5];\n cursor = end + 1;\n depth++;\n const kind = segment[0];\n switch (kind) {\n case SEGMENT_TYPE_PATHNAME: {\n const value = path.substring(segment[2], segment[3]);\n if (caseSensitive) {\n const existingNode = node.static?.get(value);\n if (existingNode) {\n nextNode = existingNode;\n } else {\n node.static ??= /* @__PURE__ */ new Map();\n const next = createStaticNode(\n route.fullPath ?? route.from\n );\n next.parent = node;\n next.depth = depth;\n nextNode = next;\n node.static.set(value, next);\n }\n } else {\n const name = value.toLowerCase();\n const existingNode = node.staticInsensitive?.get(name);\n if (existingNode) {\n nextNode = existingNode;\n } else {\n node.staticInsensitive ??= /* @__PURE__ */ new Map();\n const next = createStaticNode(\n route.fullPath ?? route.from\n );\n next.parent = node;\n next.depth = depth;\n nextNode = next;\n node.staticInsensitive.set(name, next);\n }\n }\n break;\n }\n case SEGMENT_TYPE_PARAM: {\n const prefix_raw = path.substring(start2, segment[1]);\n const suffix_raw = path.substring(segment[4], end);\n const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw);\n const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase();\n const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase();\n const existingNode = !skipOnParamError && node.dynamic?.find(\n (s) => !s.skipOnParamError && s.caseSensitive === actuallyCaseSensitive && s.prefix === prefix && s.suffix === suffix\n );\n if (existingNode) {\n nextNode = existingNode;\n } else {\n const next = createDynamicNode(\n SEGMENT_TYPE_PARAM,\n route.fullPath ?? route.from,\n actuallyCaseSensitive,\n prefix,\n suffix\n );\n nextNode = next;\n next.depth = depth;\n next.parent = node;\n node.dynamic ??= [];\n node.dynamic.push(next);\n }\n break;\n }\n case SEGMENT_TYPE_OPTIONAL_PARAM: {\n const prefix_raw = path.substring(start2, segment[1]);\n const suffix_raw = path.substring(segment[4], end);\n const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw);\n const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase();\n const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase();\n const existingNode = !skipOnParamError && node.optional?.find(\n (s) => !s.skipOnParamError && s.caseSensitive === actuallyCaseSensitive && s.prefix === prefix && s.suffix === suffix\n );\n if (existingNode) {\n nextNode = existingNode;\n } else {\n const next = createDynamicNode(\n SEGMENT_TYPE_OPTIONAL_PARAM,\n route.fullPath ?? route.from,\n actuallyCaseSensitive,\n prefix,\n suffix\n );\n nextNode = next;\n next.parent = node;\n next.depth = depth;\n node.optional ??= [];\n node.optional.push(next);\n }\n break;\n }\n case SEGMENT_TYPE_WILDCARD: {\n const prefix_raw = path.substring(start2, segment[1]);\n const suffix_raw = path.substring(segment[4], end);\n const actuallyCaseSensitive = caseSensitive && !!(prefix_raw || suffix_raw);\n const prefix = !prefix_raw ? void 0 : actuallyCaseSensitive ? prefix_raw : prefix_raw.toLowerCase();\n const suffix = !suffix_raw ? void 0 : actuallyCaseSensitive ? suffix_raw : suffix_raw.toLowerCase();\n const next = createDynamicNode(\n SEGMENT_TYPE_WILDCARD,\n route.fullPath ?? route.from,\n actuallyCaseSensitive,\n prefix,\n suffix\n );\n nextNode = next;\n next.parent = node;\n next.depth = depth;\n node.wildcard ??= [];\n node.wildcard.push(next);\n }\n }\n node = nextNode;\n }\n if (skipOnParamError && route.children && !route.isRoot && route.id && route.id.charCodeAt(route.id.lastIndexOf(\"/\") + 1) === 95) {\n const pathlessNode = createStaticNode(\n route.fullPath ?? route.from\n );\n pathlessNode.kind = SEGMENT_TYPE_PATHLESS;\n pathlessNode.parent = node;\n depth++;\n pathlessNode.depth = depth;\n node.pathless ??= [];\n node.pathless.push(pathlessNode);\n node = pathlessNode;\n }\n const isLeaf = (route.path || !route.children) && !route.isRoot;\n if (isLeaf && path.endsWith(\"/\")) {\n const indexNode = createStaticNode(\n route.fullPath ?? route.from\n );\n indexNode.kind = SEGMENT_TYPE_INDEX;\n indexNode.parent = node;\n depth++;\n indexNode.depth = depth;\n node.index = indexNode;\n node = indexNode;\n }\n node.parse = route.options?.params?.parse ?? null;\n node.skipOnParamError = skipOnParamError;\n node.parsingPriority = route.options?.skipRouteOnParseError?.priority ?? 0;\n if (isLeaf && !node.route) {\n node.route = route;\n node.fullPath = route.fullPath ?? route.from;\n }\n }\n if (route.children)\n for (const child of route.children) {\n parseSegments(\n defaultCaseSensitive,\n data,\n child,\n cursor,\n node,\n depth,\n onRoute\n );\n }\n}\nfunction sortDynamic(a, b) {\n if (a.skipOnParamError && !b.skipOnParamError) return -1;\n if (!a.skipOnParamError && b.skipOnParamError) return 1;\n if (a.skipOnParamError && b.skipOnParamError && (a.parsingPriority || b.parsingPriority))\n return b.parsingPriority - a.parsingPriority;\n if (a.prefix && b.prefix && a.prefix !== b.prefix) {\n if (a.prefix.startsWith(b.prefix)) return -1;\n if (b.prefix.startsWith(a.prefix)) return 1;\n }\n if (a.suffix && b.suffix && a.suffix !== b.suffix) {\n if (a.suffix.endsWith(b.suffix)) return -1;\n if (b.suffix.endsWith(a.suffix)) return 1;\n }\n if (a.prefix && !b.prefix) return -1;\n if (!a.prefix && b.prefix) return 1;\n if (a.suffix && !b.suffix) return -1;\n if (!a.suffix && b.suffix) return 1;\n if (a.caseSensitive && !b.caseSensitive) return -1;\n if (!a.caseSensitive && b.caseSensitive) return 1;\n return 0;\n}\nfunction sortTreeNodes(node) {\n if (node.pathless) {\n for (const child of node.pathless) {\n sortTreeNodes(child);\n }\n }\n if (node.static) {\n for (const child of node.static.values()) {\n sortTreeNodes(child);\n }\n }\n if (node.staticInsensitive) {\n for (const child of node.staticInsensitive.values()) {\n sortTreeNodes(child);\n }\n }\n if (node.dynamic?.length) {\n node.dynamic.sort(sortDynamic);\n for (const child of node.dynamic) {\n sortTreeNodes(child);\n }\n }\n if (node.optional?.length) {\n node.optional.sort(sortDynamic);\n for (const child of node.optional) {\n sortTreeNodes(child);\n }\n }\n if (node.wildcard?.length) {\n node.wildcard.sort(sortDynamic);\n for (const child of node.wildcard) {\n sortTreeNodes(child);\n }\n }\n}\nfunction createStaticNode(fullPath) {\n return {\n kind: SEGMENT_TYPE_PATHNAME,\n depth: 0,\n pathless: null,\n index: null,\n static: null,\n staticInsensitive: null,\n dynamic: null,\n optional: null,\n wildcard: null,\n route: null,\n fullPath,\n parent: null,\n parse: null,\n skipOnParamError: false,\n parsingPriority: 0\n };\n}\nfunction createDynamicNode(kind, fullPath, caseSensitive, prefix, suffix) {\n return {\n kind,\n depth: 0,\n pathless: null,\n index: null,\n static: null,\n staticInsensitive: null,\n dynamic: null,\n optional: null,\n wildcard: null,\n route: null,\n fullPath,\n parent: null,\n parse: null,\n skipOnParamError: false,\n parsingPriority: 0,\n caseSensitive,\n prefix,\n suffix\n };\n}\nfunction processRouteMasks(routeList, processedTree) {\n const segmentTree = createStaticNode(\"/\");\n const data = new Uint16Array(6);\n for (const route of routeList) {\n parseSegments(false, data, route, 1, segmentTree, 0);\n }\n sortTreeNodes(segmentTree);\n processedTree.masksTree = segmentTree;\n processedTree.flatCache = createLRUCache(1e3);\n}\nfunction findFlatMatch(path, processedTree) {\n path ||= \"/\";\n const cached = processedTree.flatCache.get(path);\n if (cached) return cached;\n const result = findMatch(path, processedTree.masksTree);\n processedTree.flatCache.set(path, result);\n return result;\n}\nfunction findSingleMatch(from, caseSensitive, fuzzy, path, processedTree) {\n from ||= \"/\";\n path ||= \"/\";\n const key = caseSensitive ? `case\\0${from}` : from;\n let tree = processedTree.singleCache.get(key);\n if (!tree) {\n tree = createStaticNode(\"/\");\n const data = new Uint16Array(6);\n parseSegments(caseSensitive, data, { from }, 1, tree, 0);\n processedTree.singleCache.set(key, tree);\n }\n return findMatch(path, tree, fuzzy);\n}\nfunction findRouteMatch(path, processedTree, fuzzy = false) {\n const key = fuzzy ? path : `nofuzz\\0${path}`;\n const cached = processedTree.matchCache.get(key);\n if (cached !== void 0) return cached;\n path ||= \"/\";\n let result;\n try {\n result = findMatch(\n path,\n processedTree.segmentTree,\n fuzzy\n );\n } catch (err) {\n if (err instanceof URIError) {\n result = null;\n } else {\n throw err;\n }\n }\n if (result) result.branch = buildRouteBranch(result.route);\n processedTree.matchCache.set(key, result);\n return result;\n}\nfunction trimPathRight(path) {\n return path === \"/\" ? path : path.replace(/\\/{1,}$/, \"\");\n}\nfunction processRouteTree(routeTree, caseSensitive = false, initRoute) {\n const segmentTree = createStaticNode(routeTree.fullPath);\n const data = new Uint16Array(6);\n const routesById = {};\n const routesByPath = {};\n let index = 0;\n parseSegments(caseSensitive, data, routeTree, 1, segmentTree, 0, (route) => {\n initRoute?.(route, index);\n invariant(\n !(route.id in routesById),\n `Duplicate routes found with id: ${String(route.id)}`\n );\n routesById[route.id] = route;\n if (index !== 0 && route.path) {\n const trimmedFullPath = trimPathRight(route.fullPath);\n if (!routesByPath[trimmedFullPath] || route.fullPath.endsWith(\"/\")) {\n routesByPath[trimmedFullPath] = route;\n }\n }\n index++;\n });\n sortTreeNodes(segmentTree);\n const processedTree = {\n segmentTree,\n singleCache: createLRUCache(1e3),\n matchCache: createLRUCache(1e3),\n flatCache: null,\n masksTree: null\n };\n return {\n processedTree,\n routesById,\n routesByPath\n };\n}\nfunction findMatch(path, segmentTree, fuzzy = false) {\n const parts = path.split(\"/\");\n const leaf = getNodeMatch(path, parts, segmentTree, fuzzy);\n if (!leaf) return null;\n const [rawParams] = extractParams(path, parts, leaf);\n return {\n route: leaf.node.route,\n rawParams,\n parsedParams: leaf.parsedParams\n };\n}\nfunction extractParams(path, parts, leaf) {\n const list = buildBranch(leaf.node);\n let nodeParts = null;\n const rawParams = {};\n let partIndex = leaf.extract?.part ?? 0;\n let nodeIndex = leaf.extract?.node ?? 0;\n let pathIndex = leaf.extract?.path ?? 0;\n let segmentCount = leaf.extract?.segment ?? 0;\n for (; nodeIndex < list.length; partIndex++, nodeIndex++, pathIndex++, segmentCount++) {\n const node = list[nodeIndex];\n if (node.kind === SEGMENT_TYPE_INDEX) break;\n if (node.kind === SEGMENT_TYPE_PATHLESS) {\n segmentCount--;\n partIndex--;\n pathIndex--;\n continue;\n }\n const part = parts[partIndex];\n const currentPathIndex = pathIndex;\n if (part) pathIndex += part.length;\n if (node.kind === SEGMENT_TYPE_PARAM) {\n nodeParts ??= leaf.node.fullPath.split(\"/\");\n const nodePart = nodeParts[segmentCount];\n const preLength = node.prefix?.length ?? 0;\n const isCurlyBraced = nodePart.charCodeAt(preLength) === 123;\n if (isCurlyBraced) {\n const sufLength = node.suffix?.length ?? 0;\n const name = nodePart.substring(\n preLength + 2,\n nodePart.length - sufLength - 1\n );\n const value = part.substring(preLength, part.length - sufLength);\n rawParams[name] = decodeURIComponent(value);\n } else {\n const name = nodePart.substring(1);\n rawParams[name] = decodeURIComponent(part);\n }\n } else if (node.kind === SEGMENT_TYPE_OPTIONAL_PARAM) {\n if (leaf.skipped & 1 << nodeIndex) {\n partIndex--;\n pathIndex = currentPathIndex - 1;\n continue;\n }\n nodeParts ??= leaf.node.fullPath.split(\"/\");\n const nodePart = nodeParts[segmentCount];\n const preLength = node.prefix?.length ?? 0;\n const sufLength = node.suffix?.length ?? 0;\n const name = nodePart.substring(\n preLength + 3,\n nodePart.length - sufLength - 1\n );\n const value = node.suffix || node.prefix ? part.substring(preLength, part.length - sufLength) : part;\n if (value) rawParams[name] = decodeURIComponent(value);\n } else if (node.kind === SEGMENT_TYPE_WILDCARD) {\n const n = node;\n const value = path.substring(\n currentPathIndex + (n.prefix?.length ?? 0),\n path.length - (n.suffix?.length ?? 0)\n );\n const splat = decodeURIComponent(value);\n rawParams[\"*\"] = splat;\n rawParams._splat = splat;\n break;\n }\n }\n if (leaf.rawParams) Object.assign(rawParams, leaf.rawParams);\n return [\n rawParams,\n {\n part: partIndex,\n node: nodeIndex,\n path: pathIndex,\n segment: segmentCount\n }\n ];\n}\nfunction buildRouteBranch(route) {\n const list = [route];\n while (route.parentRoute) {\n route = route.parentRoute;\n list.push(route);\n }\n list.reverse();\n return list;\n}\nfunction buildBranch(node) {\n const list = Array(node.depth + 1);\n do {\n list[node.depth] = node;\n node = node.parent;\n } while (node);\n return list;\n}\nfunction getNodeMatch(path, parts, segmentTree, fuzzy) {\n if (path === \"/\" && segmentTree.index)\n return { node: segmentTree.index, skipped: 0 };\n const trailingSlash = !last(parts);\n const pathIsIndex = trailingSlash && path !== \"/\";\n const partsLength = parts.length - (trailingSlash ? 1 : 0);\n const stack = [\n {\n node: segmentTree,\n index: 1,\n skipped: 0,\n depth: 1,\n statics: 1,\n dynamics: 0,\n optionals: 0\n }\n ];\n let wildcardMatch = null;\n let bestFuzzy = null;\n let bestMatch = null;\n while (stack.length) {\n const frame = stack.pop();\n const { node, index, skipped, depth, statics, dynamics, optionals } = frame;\n let { extract, rawParams, parsedParams } = frame;\n if (node.skipOnParamError) {\n const result = validateMatchParams(path, parts, frame);\n if (!result) continue;\n rawParams = frame.rawParams;\n extract = frame.extract;\n parsedParams = frame.parsedParams;\n }\n if (fuzzy && node.route && node.kind !== SEGMENT_TYPE_INDEX && isFrameMoreSpecific(bestFuzzy, frame)) {\n bestFuzzy = frame;\n }\n const isBeyondPath = index === partsLength;\n if (isBeyondPath) {\n if (node.route && !pathIsIndex && isFrameMoreSpecific(bestMatch, frame)) {\n bestMatch = frame;\n }\n if (!node.optional && !node.wildcard && !node.index && !node.pathless)\n continue;\n }\n const part = isBeyondPath ? void 0 : parts[index];\n let lowerPart;\n if (isBeyondPath && node.index) {\n const indexFrame = {\n node: node.index,\n index,\n skipped,\n depth: depth + 1,\n statics,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n };\n let indexValid = true;\n if (node.index.skipOnParamError) {\n const result = validateMatchParams(path, parts, indexFrame);\n if (!result) indexValid = false;\n }\n if (indexValid) {\n if (statics === partsLength && !dynamics && !optionals && !skipped) {\n return indexFrame;\n }\n if (isFrameMoreSpecific(bestMatch, indexFrame)) {\n bestMatch = indexFrame;\n }\n }\n }\n if (node.wildcard && isFrameMoreSpecific(wildcardMatch, frame)) {\n for (const segment of node.wildcard) {\n const { prefix, suffix } = segment;\n if (prefix) {\n if (isBeyondPath) continue;\n const casePart = segment.caseSensitive ? part : lowerPart ??= part.toLowerCase();\n if (!casePart.startsWith(prefix)) continue;\n }\n if (suffix) {\n if (isBeyondPath) continue;\n const end = parts.slice(index).join(\"/\").slice(-suffix.length);\n const casePart = segment.caseSensitive ? end : end.toLowerCase();\n if (casePart !== suffix) continue;\n }\n const frame2 = {\n node: segment,\n index: partsLength,\n skipped,\n depth,\n statics,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n };\n if (segment.skipOnParamError) {\n const result = validateMatchParams(path, parts, frame2);\n if (!result) continue;\n }\n wildcardMatch = frame2;\n break;\n }\n }\n if (node.optional) {\n const nextSkipped = skipped | 1 << depth;\n const nextDepth = depth + 1;\n for (let i = node.optional.length - 1; i >= 0; i--) {\n const segment = node.optional[i];\n stack.push({\n node: segment,\n index,\n skipped: nextSkipped,\n depth: nextDepth,\n statics,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n });\n }\n if (!isBeyondPath) {\n for (let i = node.optional.length - 1; i >= 0; i--) {\n const segment = node.optional[i];\n const { prefix, suffix } = segment;\n if (prefix || suffix) {\n const casePart = segment.caseSensitive ? part : lowerPart ??= part.toLowerCase();\n if (prefix && !casePart.startsWith(prefix)) continue;\n if (suffix && !casePart.endsWith(suffix)) continue;\n }\n stack.push({\n node: segment,\n index: index + 1,\n skipped,\n depth: nextDepth,\n statics,\n dynamics,\n optionals: optionals + 1,\n extract,\n rawParams,\n parsedParams\n });\n }\n }\n }\n if (!isBeyondPath && node.dynamic && part) {\n for (let i = node.dynamic.length - 1; i >= 0; i--) {\n const segment = node.dynamic[i];\n const { prefix, suffix } = segment;\n if (prefix || suffix) {\n const casePart = segment.caseSensitive ? part : lowerPart ??= part.toLowerCase();\n if (prefix && !casePart.startsWith(prefix)) continue;\n if (suffix && !casePart.endsWith(suffix)) continue;\n }\n stack.push({\n node: segment,\n index: index + 1,\n skipped,\n depth: depth + 1,\n statics,\n dynamics: dynamics + 1,\n optionals,\n extract,\n rawParams,\n parsedParams\n });\n }\n }\n if (!isBeyondPath && node.staticInsensitive) {\n const match = node.staticInsensitive.get(\n lowerPart ??= part.toLowerCase()\n );\n if (match) {\n stack.push({\n node: match,\n index: index + 1,\n skipped,\n depth: depth + 1,\n statics: statics + 1,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n });\n }\n }\n if (!isBeyondPath && node.static) {\n const match = node.static.get(part);\n if (match) {\n stack.push({\n node: match,\n index: index + 1,\n skipped,\n depth: depth + 1,\n statics: statics + 1,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n });\n }\n }\n if (node.pathless) {\n const nextDepth = depth + 1;\n for (let i = node.pathless.length - 1; i >= 0; i--) {\n const segment = node.pathless[i];\n stack.push({\n node: segment,\n index,\n skipped,\n depth: nextDepth,\n statics,\n dynamics,\n optionals,\n extract,\n rawParams,\n parsedParams\n });\n }\n }\n }\n if (bestMatch && wildcardMatch) {\n return isFrameMoreSpecific(wildcardMatch, bestMatch) ? bestMatch : wildcardMatch;\n }\n if (bestMatch) return bestMatch;\n if (wildcardMatch) return wildcardMatch;\n if (fuzzy && bestFuzzy) {\n let sliceIndex = bestFuzzy.index;\n for (let i = 0; i < bestFuzzy.index; i++) {\n sliceIndex += parts[i].length;\n }\n const splat = sliceIndex === path.length ? \"/\" : path.slice(sliceIndex);\n bestFuzzy.rawParams ??= {};\n bestFuzzy.rawParams[\"**\"] = decodeURIComponent(splat);\n return bestFuzzy;\n }\n return null;\n}\nfunction validateMatchParams(path, parts, frame) {\n try {\n const [rawParams, state] = extractParams(path, parts, frame);\n frame.rawParams = rawParams;\n frame.extract = state;\n const parsed = frame.node.parse(rawParams);\n frame.parsedParams = Object.assign({}, frame.parsedParams, parsed);\n return true;\n } catch {\n return null;\n }\n}\nfunction isFrameMoreSpecific(prev, next) {\n if (!prev) return true;\n return next.statics > prev.statics || next.statics === prev.statics && (next.dynamics > prev.dynamics || next.dynamics === prev.dynamics && (next.optionals > prev.optionals || next.optionals === prev.optionals && ((next.node.kind === SEGMENT_TYPE_INDEX) > (prev.node.kind === SEGMENT_TYPE_INDEX) || next.node.kind === SEGMENT_TYPE_INDEX === (prev.node.kind === SEGMENT_TYPE_INDEX) && next.depth > prev.depth)));\n}\nexport {\n SEGMENT_TYPE_OPTIONAL_PARAM,\n SEGMENT_TYPE_PARAM,\n SEGMENT_TYPE_PATHNAME,\n SEGMENT_TYPE_WILDCARD,\n findFlatMatch,\n findRouteMatch,\n findSingleMatch,\n parseSegment,\n processRouteMasks,\n processRouteTree,\n trimPathRight\n};\n//# sourceMappingURL=new-process-route-tree.js.map\n","import { isServer } from \"@tanstack/router-core/isServer\";\nimport { last } from \"./utils.js\";\nimport { parseSegment, SEGMENT_TYPE_PATHNAME, SEGMENT_TYPE_WILDCARD, SEGMENT_TYPE_PARAM, SEGMENT_TYPE_OPTIONAL_PARAM } from \"./new-process-route-tree.js\";\nfunction joinPaths(paths) {\n return cleanPath(\n paths.filter((val) => {\n return val !== void 0;\n }).join(\"/\")\n );\n}\nfunction cleanPath(path) {\n return path.replace(/\\/{2,}/g, \"/\");\n}\nfunction trimPathLeft(path) {\n return path === \"/\" ? path : path.replace(/^\\/{1,}/, \"\");\n}\nfunction trimPathRight(path) {\n const len = path.length;\n return len > 1 && path[len - 1] === \"/\" ? path.replace(/\\/{1,}$/, \"\") : path;\n}\nfunction trimPath(path) {\n return trimPathRight(trimPathLeft(path));\n}\nfunction removeTrailingSlash(value, basepath) {\n if (value?.endsWith(\"/\") && value !== \"/\" && value !== `${basepath}/`) {\n return value.slice(0, -1);\n }\n return value;\n}\nfunction exactPathTest(pathName1, pathName2, basepath) {\n return removeTrailingSlash(pathName1, basepath) === removeTrailingSlash(pathName2, basepath);\n}\nfunction resolvePath({\n base,\n to,\n trailingSlash = \"never\",\n cache\n}) {\n const isAbsolute = to.startsWith(\"/\");\n const isBase = !isAbsolute && to === \".\";\n let key;\n if (cache) {\n key = isAbsolute ? to : isBase ? base : base + \"\\0\" + to;\n const cached = cache.get(key);\n if (cached) return cached;\n }\n let baseSegments;\n if (isBase) {\n baseSegments = base.split(\"/\");\n } else if (isAbsolute) {\n baseSegments = to.split(\"/\");\n } else {\n baseSegments = base.split(\"/\");\n while (baseSegments.length > 1 && last(baseSegments) === \"\") {\n baseSegments.pop();\n }\n const toSegments = to.split(\"/\");\n for (let index = 0, length = toSegments.length; index < length; index++) {\n const value = toSegments[index];\n if (value === \"\") {\n if (!index) {\n baseSegments = [value];\n } else if (index === length - 1) {\n baseSegments.push(value);\n } else ;\n } else if (value === \"..\") {\n baseSegments.pop();\n } else if (value === \".\") ;\n else {\n baseSegments.push(value);\n }\n }\n }\n if (baseSegments.length > 1) {\n if (last(baseSegments) === \"\") {\n if (trailingSlash === \"never\") {\n baseSegments.pop();\n }\n } else if (trailingSlash === \"always\") {\n baseSegments.push(\"\");\n }\n }\n let segment;\n let joined = \"\";\n for (let i = 0; i < baseSegments.length; i++) {\n if (i > 0) joined += \"/\";\n const part = baseSegments[i];\n if (!part) continue;\n segment = parseSegment(part, 0, segment);\n const kind = segment[0];\n if (kind === SEGMENT_TYPE_PATHNAME) {\n joined += part;\n continue;\n }\n const end = segment[5];\n const prefix = part.substring(0, segment[1]);\n const suffix = part.substring(segment[4], end);\n const value = part.substring(segment[2], segment[3]);\n if (kind === SEGMENT_TYPE_PARAM) {\n joined += prefix || suffix ? `${prefix}{$${value}}${suffix}` : `$${value}`;\n } else if (kind === SEGMENT_TYPE_WILDCARD) {\n joined += prefix || suffix ? `${prefix}{$}${suffix}` : \"$\";\n } else {\n joined += `${prefix}{-$${value}}${suffix}`;\n }\n }\n joined = cleanPath(joined);\n const result = joined || \"/\";\n if (key && cache) cache.set(key, result);\n return result;\n}\nfunction compileDecodeCharMap(pathParamsAllowedCharacters) {\n const charMap = new Map(\n pathParamsAllowedCharacters.map((char) => [encodeURIComponent(char), char])\n );\n const pattern = Array.from(charMap.keys()).map((key) => key.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")).join(\"|\");\n const regex = new RegExp(pattern, \"g\");\n return (encoded) => encoded.replace(regex, (match) => charMap.get(match) ?? match);\n}\nfunction encodeParam(key, params, decoder) {\n const value = params[key];\n if (typeof value !== \"string\") return value;\n if (key === \"_splat\") {\n if (/^[a-zA-Z0-9\\-._~!/]*$/.test(value)) return value;\n return value.split(\"/\").map((segment) => encodePathParam(segment, decoder)).join(\"/\");\n } else {\n return encodePathParam(value, decoder);\n }\n}\nfunction interpolatePath({\n path,\n params,\n decoder,\n // `server` is marked @internal and stripped from .d.ts by `stripInternal`.\n // We avoid destructuring it in the function signature so the emitted\n // declaration doesn't reference a property that no longer exists.\n ...rest\n}) {\n let isMissingParams = false;\n const usedParams = {};\n if (!path || path === \"/\")\n return { interpolatedPath: \"/\", usedParams, isMissingParams };\n if (!path.includes(\"$\"))\n return { interpolatedPath: path, usedParams, isMissingParams };\n if (isServer ?? rest.server) {\n if (path.indexOf(\"{\") === -1) {\n const length2 = path.length;\n let cursor2 = 0;\n let joined2 = \"\";\n while (cursor2 < length2) {\n while (cursor2 < length2 && path.charCodeAt(cursor2) === 47) cursor2++;\n if (cursor2 >= length2) break;\n const start = cursor2;\n let end = path.indexOf(\"/\", cursor2);\n if (end === -1) end = length2;\n cursor2 = end;\n const part = path.substring(start, end);\n if (!part) continue;\n if (part.charCodeAt(0) === 36) {\n if (part.length === 1) {\n const splat = params._splat;\n usedParams._splat = splat;\n usedParams[\"*\"] = splat;\n if (!splat) {\n isMissingParams = true;\n continue;\n }\n const value = encodeParam(\"_splat\", params, decoder);\n joined2 += \"/\" + value;\n } else {\n const key = part.substring(1);\n if (!isMissingParams && !(key in params)) {\n isMissingParams = true;\n }\n usedParams[key] = params[key];\n const value = encodeParam(key, params, decoder) ?? \"undefined\";\n joined2 += \"/\" + value;\n }\n } else {\n joined2 += \"/\" + part;\n }\n }\n if (path.endsWith(\"/\")) joined2 += \"/\";\n const interpolatedPath2 = joined2 || \"/\";\n return { usedParams, interpolatedPath: interpolatedPath2, isMissingParams };\n }\n }\n const length = path.length;\n let cursor = 0;\n let segment;\n let joined = \"\";\n while (cursor < length) {\n const start = cursor;\n segment = parseSegment(path, start, segment);\n const end = segment[5];\n cursor = end + 1;\n if (start === end) continue;\n const kind = segment[0];\n if (kind === SEGMENT_TYPE_PATHNAME) {\n joined += \"/\" + path.substring(start, end);\n continue;\n }\n if (kind === SEGMENT_TYPE_WILDCARD) {\n const splat = params._splat;\n usedParams._splat = splat;\n usedParams[\"*\"] = splat;\n const prefix = path.substring(start, segment[1]);\n const suffix = path.substring(segment[4], end);\n if (!splat) {\n isMissingParams = true;\n if (prefix || suffix) {\n joined += \"/\" + prefix + suffix;\n }\n continue;\n }\n const value = encodeParam(\"_splat\", params, decoder);\n joined += \"/\" + prefix + value + suffix;\n continue;\n }\n if (kind === SEGMENT_TYPE_PARAM) {\n const key = path.substring(segment[2], segment[3]);\n if (!isMissingParams && !(key in params)) {\n isMissingParams = true;\n }\n usedParams[key] = params[key];\n const prefix = path.substring(start, segment[1]);\n const suffix = path.substring(segment[4], end);\n const value = encodeParam(key, params, decoder) ?? \"undefined\";\n joined += \"/\" + prefix + value + suffix;\n continue;\n }\n if (kind === SEGMENT_TYPE_OPTIONAL_PARAM) {\n const key = path.substring(segment[2], segment[3]);\n const valueRaw = params[key];\n if (valueRaw == null) continue;\n usedParams[key] = valueRaw;\n const prefix = path.substring(start, segment[1]);\n const suffix = path.substring(segment[4], end);\n const value = encodeParam(key, params, decoder) ?? \"\";\n joined += \"/\" + prefix + value + suffix;\n continue;\n }\n }\n if (path.endsWith(\"/\")) joined += \"/\";\n const interpolatedPath = joined || \"/\";\n return { usedParams, interpolatedPath, isMissingParams };\n}\nfunction encodePathParam(value, decoder) {\n const encoded = encodeURIComponent(value);\n return decoder?.(encoded) ?? encoded;\n}\nexport {\n cleanPath,\n compileDecodeCharMap,\n exactPathTest,\n interpolatePath,\n joinPaths,\n removeTrailingSlash,\n resolvePath,\n trimPath,\n trimPathLeft,\n trimPathRight\n};\n//# sourceMappingURL=path.js.map\n","function notFound(options = {}) {\n options.isNotFound = true;\n if (options.throw) throw options;\n return options;\n}\nfunction isNotFound(obj) {\n return !!obj?.isNotFound;\n}\nexport {\n isNotFound,\n notFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { isServer } from \"@tanstack/router-core/isServer\";\nimport { functionalUpdate } from \"./utils.js\";\nfunction getSafeSessionStorage() {\n try {\n if (typeof window !== \"undefined\" && typeof window.sessionStorage === \"object\") {\n return window.sessionStorage;\n }\n } catch {\n }\n return void 0;\n}\nconst storageKey = \"tsr-scroll-restoration-v1_3\";\nconst throttle = (fn, wait) => {\n let timeout;\n return (...args) => {\n if (!timeout) {\n timeout = setTimeout(() => {\n fn(...args);\n timeout = null;\n }, wait);\n }\n };\n};\nfunction createScrollRestorationCache() {\n const safeSessionStorage = getSafeSessionStorage();\n if (!safeSessionStorage) {\n return null;\n }\n const persistedState = safeSessionStorage.getItem(storageKey);\n let state = persistedState ? JSON.parse(persistedState) : {};\n return {\n state,\n // This setter is simply to make sure that we set the sessionStorage right\n // after the state is updated. It doesn't necessarily need to be a functional\n // update.\n set: (updater) => {\n state = functionalUpdate(updater, state) || state;\n try {\n safeSessionStorage.setItem(storageKey, JSON.stringify(state));\n } catch {\n console.warn(\n \"[ts-router] Could not persist scroll restoration state to sessionStorage.\"\n );\n }\n }\n };\n}\nconst scrollRestorationCache = createScrollRestorationCache();\nconst defaultGetScrollRestorationKey = (location) => {\n return location.state.__TSR_key || location.href;\n};\nfunction getCssSelector(el) {\n const path = [];\n let parent;\n while (parent = el.parentNode) {\n path.push(\n `${el.tagName}:nth-child(${Array.prototype.indexOf.call(parent.children, el) + 1})`\n );\n el = parent;\n }\n return `${path.reverse().join(\" > \")}`.toLowerCase();\n}\nlet ignoreScroll = false;\nfunction restoreScroll({\n storageKey: storageKey2,\n key,\n behavior,\n shouldScrollRestoration,\n scrollToTopSelectors,\n location\n}) {\n let byKey;\n try {\n byKey = JSON.parse(sessionStorage.getItem(storageKey2) || \"{}\");\n } catch (error) {\n console.error(error);\n return;\n }\n const resolvedKey = key || window.history.state?.__TSR_key;\n const elementEntries = byKey[resolvedKey];\n ignoreScroll = true;\n scroll: {\n if (shouldScrollRestoration && elementEntries && Object.keys(elementEntries).length > 0) {\n for (const elementSelector in elementEntries) {\n const entry = elementEntries[elementSelector];\n if (elementSelector === \"window\") {\n window.scrollTo({\n top: entry.scrollY,\n left: entry.scrollX,\n behavior\n });\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n element.scrollLeft = entry.scrollX;\n element.scrollTop = entry.scrollY;\n }\n }\n }\n break scroll;\n }\n const hash = (location ?? window.location).hash.split(\"#\", 2)[1];\n if (hash) {\n const hashScrollIntoViewOptions = window.history.state?.__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions) {\n const el = document.getElementById(hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n break scroll;\n }\n const scrollOptions = { top: 0, left: 0, behavior };\n window.scrollTo(scrollOptions);\n if (scrollToTopSelectors) {\n for (const selector of scrollToTopSelectors) {\n if (selector === \"window\") continue;\n const element = typeof selector === \"function\" ? selector() : document.querySelector(selector);\n if (element) element.scrollTo(scrollOptions);\n }\n }\n }\n ignoreScroll = false;\n}\nfunction setupScrollRestoration(router, force) {\n if (!scrollRestorationCache && !(isServer ?? router.isServer)) {\n return;\n }\n const shouldScrollRestoration = force ?? router.options.scrollRestoration ?? false;\n if (shouldScrollRestoration) {\n router.isScrollRestoring = true;\n }\n if ((isServer ?? router.isServer) || router.isScrollRestorationSetup || !scrollRestorationCache) {\n return;\n }\n router.isScrollRestorationSetup = true;\n ignoreScroll = false;\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n window.history.scrollRestoration = \"manual\";\n const onScroll = (event) => {\n if (ignoreScroll || !router.isScrollRestoring) {\n return;\n }\n let elementSelector = \"\";\n if (event.target === document || event.target === window) {\n elementSelector = \"window\";\n } else {\n const attrId = event.target.getAttribute(\n \"data-scroll-restoration-id\"\n );\n if (attrId) {\n elementSelector = `[data-scroll-restoration-id=\"${attrId}\"]`;\n } else {\n elementSelector = getCssSelector(event.target);\n }\n }\n const restoreKey = getKey(router.state.location);\n scrollRestorationCache.set((state) => {\n const keyEntry = state[restoreKey] ||= {};\n const elementEntry = keyEntry[elementSelector] ||= {};\n if (elementSelector === \"window\") {\n elementEntry.scrollX = window.scrollX || 0;\n elementEntry.scrollY = window.scrollY || 0;\n } else if (elementSelector) {\n const element = document.querySelector(elementSelector);\n if (element) {\n elementEntry.scrollX = element.scrollLeft || 0;\n elementEntry.scrollY = element.scrollTop || 0;\n }\n }\n return state;\n });\n };\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"scroll\", throttle(onScroll, 100), true);\n }\n router.subscribe(\"onRendered\", (event) => {\n const cacheKey = getKey(event.toLocation);\n if (!router.resetNextScroll) {\n router.resetNextScroll = true;\n return;\n }\n if (typeof router.options.scrollRestoration === \"function\") {\n const shouldRestore = router.options.scrollRestoration({\n location: router.latestLocation\n });\n if (!shouldRestore) {\n return;\n }\n }\n restoreScroll({\n storageKey,\n key: cacheKey,\n behavior: router.options.scrollRestorationBehavior,\n shouldScrollRestoration: router.isScrollRestoring,\n scrollToTopSelectors: router.options.scrollToTopSelectors,\n location: router.history.location\n });\n if (router.isScrollRestoring) {\n scrollRestorationCache.set((state) => {\n state[cacheKey] ||= {};\n return state;\n });\n }\n });\n}\nfunction handleHashScroll(router) {\n if (typeof document !== \"undefined\" && document.querySelector) {\n const hashScrollIntoViewOptions = router.state.location.state.__hashScrollIntoViewOptions ?? true;\n if (hashScrollIntoViewOptions && router.state.location.hash !== \"\") {\n const el = document.getElementById(router.state.location.hash);\n if (el) {\n el.scrollIntoView(hashScrollIntoViewOptions);\n }\n }\n }\n}\nexport {\n defaultGetScrollRestorationKey,\n getCssSelector,\n handleHashScroll,\n restoreScroll,\n scrollRestorationCache,\n setupScrollRestoration,\n storageKey\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","function encode(obj, stringify = String) {\n const result = new URLSearchParams();\n for (const key in obj) {\n const val = obj[key];\n if (val !== void 0) {\n result.set(key, stringify(val));\n }\n }\n return result.toString();\n}\nfunction toValue(str) {\n if (!str) return \"\";\n if (str === \"false\") return false;\n if (str === \"true\") return true;\n return +str * 0 === 0 && +str + \"\" === str ? +str : str;\n}\nfunction decode(str) {\n const searchParams = new URLSearchParams(str);\n const result = {};\n for (const [key, value] of searchParams.entries()) {\n const previousValue = result[key];\n if (previousValue == null) {\n result[key] = toValue(value);\n } else if (Array.isArray(previousValue)) {\n previousValue.push(toValue(value));\n } else {\n result[key] = [previousValue, toValue(value)];\n }\n }\n return result;\n}\nexport {\n decode,\n encode\n};\n//# sourceMappingURL=qss.js.map\n","import { decode, encode } from \"./qss.js\";\nconst defaultParseSearch = parseSearchWith(JSON.parse);\nconst defaultStringifySearch = stringifySearchWith(\n JSON.stringify,\n JSON.parse\n);\nfunction parseSearchWith(parser) {\n return (searchStr) => {\n if (searchStr[0] === \"?\") {\n searchStr = searchStr.substring(1);\n }\n const query = decode(searchStr);\n for (const key in query) {\n const value = query[key];\n if (typeof value === \"string\") {\n try {\n query[key] = parser(value);\n } catch (_err) {\n }\n }\n }\n return query;\n };\n}\nfunction stringifySearchWith(stringify, parser) {\n const hasParser = typeof parser === \"function\";\n function stringifyValue(val) {\n if (typeof val === \"object\" && val !== null) {\n try {\n return stringify(val);\n } catch (_err) {\n }\n } else if (hasParser && typeof val === \"string\") {\n try {\n parser(val);\n return stringify(val);\n } catch (_err) {\n }\n }\n return val;\n }\n return (search) => {\n const searchStr = encode(search, stringifyValue);\n return searchStr ? `?${searchStr}` : \"\";\n };\n}\nexport {\n defaultParseSearch,\n defaultStringifySearch,\n parseSearchWith,\n stringifySearchWith\n};\n//# sourceMappingURL=searchParams.js.map\n","const rootRouteId = \"__root__\";\nexport {\n rootRouteId\n};\n//# sourceMappingURL=root.js.map\n","import { isDangerousProtocol, SAFE_URL_PROTOCOLS } from \"./utils.js\";\nfunction redirect(opts) {\n opts.statusCode = opts.statusCode || opts.code || 307;\n if (!opts._builtLocation && typeof opts.href === \"string\" && isDangerousProtocol(opts.href)) {\n throw new Error(\n `Redirect blocked: unsafe protocol in href \"${opts.href}\". Only ${SAFE_URL_PROTOCOLS.join(\", \")} protocols are allowed.`\n );\n }\n if (!opts._builtLocation && !opts.reloadDocument && typeof opts.href === \"string\") {\n try {\n new URL(opts.href);\n opts.reloadDocument = true;\n } catch {\n }\n }\n const headers = new Headers(opts.headers);\n if (opts.href && headers.get(\"Location\") === null) {\n headers.set(\"Location\", opts.href);\n }\n const response = new Response(null, {\n status: opts.statusCode,\n headers\n });\n response.options = opts;\n if (opts.throw) {\n throw response;\n }\n return response;\n}\nfunction isRedirect(obj) {\n return obj instanceof Response && !!obj.options;\n}\nfunction isResolvedRedirect(obj) {\n return isRedirect(obj) && !!obj.options.href;\n}\nfunction parseRedirect(obj) {\n if (obj !== null && typeof obj === \"object\" && obj.isSerializedRedirect) {\n return redirect(obj);\n }\n return void 0;\n}\nexport {\n isRedirect,\n isResolvedRedirect,\n parseRedirect,\n redirect\n};\n//# sourceMappingURL=redirect.js.map\n","import invariant from \"tiny-invariant\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { batch } from \"./utils/batch.js\";\nimport { isPromise, createControlledPromise } from \"./utils.js\";\nimport { isNotFound } from \"./not-found.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { isRedirect } from \"./redirect.js\";\nconst triggerOnReady = (inner) => {\n if (!inner.rendered) {\n inner.rendered = true;\n return inner.onReady?.();\n }\n};\nconst resolvePreload = (inner, matchId) => {\n return !!(inner.preload && !inner.router.state.matches.some((d) => d.id === matchId));\n};\nconst buildMatchContext = (inner, index, includeCurrentMatch = true) => {\n const context = {\n ...inner.router.options.context ?? {}\n };\n const end = includeCurrentMatch ? index : index - 1;\n for (let i = 0; i <= end; i++) {\n const innerMatch = inner.matches[i];\n if (!innerMatch) continue;\n const m = inner.router.getMatch(innerMatch.id);\n if (!m) continue;\n Object.assign(context, m.__routeContext, m.__beforeLoadContext);\n }\n return context;\n};\nconst _handleNotFound = (inner, err) => {\n const routeCursor = inner.router.routesById[err.routeId ?? \"\"] ?? inner.router.routeTree;\n if (!routeCursor.options.notFoundComponent && inner.router.options?.defaultNotFoundComponent) {\n routeCursor.options.notFoundComponent = inner.router.options.defaultNotFoundComponent;\n }\n invariant(\n routeCursor.options.notFoundComponent,\n \"No notFoundComponent found. Please set a notFoundComponent on your route or provide a defaultNotFoundComponent to the router.\"\n );\n const matchForRoute = inner.matches.find((m) => m.routeId === routeCursor.id);\n invariant(matchForRoute, \"Could not find match for route: \" + routeCursor.id);\n inner.updateMatch(matchForRoute.id, (prev) => ({\n ...prev,\n status: \"notFound\",\n error: err,\n isFetching: false\n }));\n if (err.routerCode === \"BEFORE_LOAD\" && routeCursor.parentRoute) {\n err.routeId = routeCursor.parentRoute.id;\n _handleNotFound(inner, err);\n }\n};\nconst handleRedirectAndNotFound = (inner, match, err) => {\n if (!isRedirect(err) && !isNotFound(err)) return;\n if (isRedirect(err) && err.redirectHandled && !err.options.reloadDocument) {\n throw err;\n }\n if (match) {\n match._nonReactive.beforeLoadPromise?.resolve();\n match._nonReactive.loaderPromise?.resolve();\n match._nonReactive.beforeLoadPromise = void 0;\n match._nonReactive.loaderPromise = void 0;\n const status = isRedirect(err) ? \"redirected\" : \"notFound\";\n match._nonReactive.error = err;\n inner.updateMatch(match.id, (prev) => ({\n ...prev,\n status,\n context: buildMatchContext(inner, match.index),\n isFetching: false,\n error: err\n }));\n if (isNotFound(err) && !err.routeId) {\n err.routeId = match.routeId;\n }\n match._nonReactive.loadPromise?.resolve();\n }\n if (isRedirect(err)) {\n inner.rendered = true;\n err.options._fromLocation = inner.location;\n err.redirectHandled = true;\n err = inner.router.resolveRedirect(err);\n throw err;\n } else {\n _handleNotFound(inner, err);\n throw err;\n }\n};\nconst shouldSkipLoader = (inner, matchId) => {\n const match = inner.router.getMatch(matchId);\n if (!(isServer ?? inner.router.isServer) && match._nonReactive.dehydrated) {\n return true;\n }\n if ((isServer ?? inner.router.isServer) && match.ssr === false) {\n return true;\n }\n return false;\n};\nconst handleSerialError = (inner, index, err, routerCode) => {\n const { id: matchId, routeId } = inner.matches[index];\n const route = inner.router.looseRoutesById[routeId];\n if (err instanceof Promise) {\n throw err;\n }\n err.routerCode = routerCode;\n inner.firstBadMatchIndex ??= index;\n handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), err);\n try {\n route.options.onError?.(err);\n } catch (errorHandlerErr) {\n err = errorHandlerErr;\n handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), err);\n }\n inner.updateMatch(matchId, (prev) => {\n prev._nonReactive.beforeLoadPromise?.resolve();\n prev._nonReactive.beforeLoadPromise = void 0;\n prev._nonReactive.loadPromise?.resolve();\n return {\n ...prev,\n error: err,\n status: \"error\",\n isFetching: false,\n updatedAt: Date.now(),\n abortController: new AbortController()\n };\n });\n};\nconst isBeforeLoadSsr = (inner, matchId, index, route) => {\n const existingMatch = inner.router.getMatch(matchId);\n const parentMatchId = inner.matches[index - 1]?.id;\n const parentMatch = parentMatchId ? inner.router.getMatch(parentMatchId) : void 0;\n if (inner.router.isShell()) {\n existingMatch.ssr = route.id === rootRouteId;\n return;\n }\n if (parentMatch?.ssr === false) {\n existingMatch.ssr = false;\n return;\n }\n const parentOverride = (tempSsr2) => {\n if (tempSsr2 === true && parentMatch?.ssr === \"data-only\") {\n return \"data-only\";\n }\n return tempSsr2;\n };\n const defaultSsr = inner.router.options.defaultSsr ?? true;\n if (route.options.ssr === void 0) {\n existingMatch.ssr = parentOverride(defaultSsr);\n return;\n }\n if (typeof route.options.ssr !== \"function\") {\n existingMatch.ssr = parentOverride(route.options.ssr);\n return;\n }\n const { search, params } = existingMatch;\n const ssrFnContext = {\n search: makeMaybe(search, existingMatch.searchError),\n params: makeMaybe(params, existingMatch.paramsError),\n location: inner.location,\n matches: inner.matches.map((match) => ({\n index: match.index,\n pathname: match.pathname,\n fullPath: match.fullPath,\n staticData: match.staticData,\n id: match.id,\n routeId: match.routeId,\n search: makeMaybe(match.search, match.searchError),\n params: makeMaybe(match.params, match.paramsError),\n ssr: match.ssr\n }))\n };\n const tempSsr = route.options.ssr(ssrFnContext);\n if (isPromise(tempSsr)) {\n return tempSsr.then((ssr) => {\n existingMatch.ssr = parentOverride(ssr ?? defaultSsr);\n });\n }\n existingMatch.ssr = parentOverride(tempSsr ?? defaultSsr);\n return;\n};\nconst setupPendingTimeout = (inner, matchId, route, match) => {\n if (match._nonReactive.pendingTimeout !== void 0) return;\n const pendingMs = route.options.pendingMs ?? inner.router.options.defaultPendingMs;\n const shouldPending = !!(inner.onReady && !(isServer ?? inner.router.isServer) && !resolvePreload(inner, matchId) && (route.options.loader || route.options.beforeLoad || routeNeedsPreload(route)) && typeof pendingMs === \"number\" && pendingMs !== Infinity && (route.options.pendingComponent ?? inner.router.options?.defaultPendingComponent));\n if (shouldPending) {\n const pendingTimeout = setTimeout(() => {\n triggerOnReady(inner);\n }, pendingMs);\n match._nonReactive.pendingTimeout = pendingTimeout;\n }\n};\nconst preBeforeLoadSetup = (inner, matchId, route) => {\n const existingMatch = inner.router.getMatch(matchId);\n if (!existingMatch._nonReactive.beforeLoadPromise && !existingMatch._nonReactive.loaderPromise)\n return;\n setupPendingTimeout(inner, matchId, route, existingMatch);\n const then = () => {\n const match = inner.router.getMatch(matchId);\n if (match.preload && (match.status === \"redirected\" || match.status === \"notFound\")) {\n handleRedirectAndNotFound(inner, match, match.error);\n }\n };\n return existingMatch._nonReactive.beforeLoadPromise ? existingMatch._nonReactive.beforeLoadPromise.then(then) : then();\n};\nconst executeBeforeLoad = (inner, matchId, index, route) => {\n const match = inner.router.getMatch(matchId);\n const prevLoadPromise = match._nonReactive.loadPromise;\n match._nonReactive.loadPromise = createControlledPromise(() => {\n prevLoadPromise?.resolve();\n });\n const { paramsError, searchError } = match;\n if (paramsError) {\n handleSerialError(inner, index, paramsError, \"PARSE_PARAMS\");\n }\n if (searchError) {\n handleSerialError(inner, index, searchError, \"VALIDATE_SEARCH\");\n }\n setupPendingTimeout(inner, matchId, route, match);\n const abortController = new AbortController();\n let isPending = false;\n const pending = () => {\n if (isPending) return;\n isPending = true;\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"beforeLoad\",\n fetchCount: prev.fetchCount + 1,\n abortController\n // Note: We intentionally don't update context here.\n // Context should only be updated after beforeLoad resolves to avoid\n // components seeing incomplete context during async beforeLoad execution.\n }));\n };\n const resolve = () => {\n match._nonReactive.beforeLoadPromise?.resolve();\n match._nonReactive.beforeLoadPromise = void 0;\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: false\n }));\n };\n if (!route.options.beforeLoad) {\n batch(() => {\n pending();\n resolve();\n });\n return;\n }\n match._nonReactive.beforeLoadPromise = createControlledPromise();\n const context = {\n ...buildMatchContext(inner, index, false),\n ...match.__routeContext\n };\n const { search, params, cause } = match;\n const preload = resolvePreload(inner, matchId);\n const beforeLoadFnContext = {\n search,\n abortController,\n params,\n preload,\n context,\n location: inner.location,\n navigate: (opts) => inner.router.navigate({\n ...opts,\n _fromLocation: inner.location\n }),\n buildLocation: inner.router.buildLocation,\n cause: preload ? \"preload\" : cause,\n matches: inner.matches,\n routeId: route.id,\n ...inner.router.options.additionalContext\n };\n const updateContext = (beforeLoadContext2) => {\n if (beforeLoadContext2 === void 0) {\n batch(() => {\n pending();\n resolve();\n });\n return;\n }\n if (isRedirect(beforeLoadContext2) || isNotFound(beforeLoadContext2)) {\n pending();\n handleSerialError(inner, index, beforeLoadContext2, \"BEFORE_LOAD\");\n }\n batch(() => {\n pending();\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n __beforeLoadContext: beforeLoadContext2\n }));\n resolve();\n });\n };\n let beforeLoadContext;\n try {\n beforeLoadContext = route.options.beforeLoad(beforeLoadFnContext);\n if (isPromise(beforeLoadContext)) {\n pending();\n return beforeLoadContext.catch((err) => {\n handleSerialError(inner, index, err, \"BEFORE_LOAD\");\n }).then(updateContext);\n }\n } catch (err) {\n pending();\n handleSerialError(inner, index, err, \"BEFORE_LOAD\");\n }\n updateContext(beforeLoadContext);\n return;\n};\nconst handleBeforeLoad = (inner, index) => {\n const { id: matchId, routeId } = inner.matches[index];\n const route = inner.router.looseRoutesById[routeId];\n const serverSsr = () => {\n if (isServer ?? inner.router.isServer) {\n const maybePromise = isBeforeLoadSsr(inner, matchId, index, route);\n if (isPromise(maybePromise)) return maybePromise.then(queueExecution);\n }\n return queueExecution();\n };\n const execute = () => executeBeforeLoad(inner, matchId, index, route);\n const queueExecution = () => {\n if (shouldSkipLoader(inner, matchId)) return;\n const result = preBeforeLoadSetup(inner, matchId, route);\n return isPromise(result) ? result.then(execute) : execute();\n };\n return serverSsr();\n};\nconst executeHead = (inner, matchId, route) => {\n const match = inner.router.getMatch(matchId);\n if (!match) {\n return;\n }\n if (!route.options.head && !route.options.scripts && !route.options.headers) {\n return;\n }\n const assetContext = {\n ssr: inner.router.options.ssr,\n matches: inner.matches,\n match,\n params: match.params,\n loaderData: match.loaderData\n };\n return Promise.all([\n route.options.head?.(assetContext),\n route.options.scripts?.(assetContext),\n route.options.headers?.(assetContext)\n ]).then(([headFnContent, scripts, headers]) => {\n const meta = headFnContent?.meta;\n const links = headFnContent?.links;\n const headScripts = headFnContent?.scripts;\n const styles = headFnContent?.styles;\n return {\n meta,\n links,\n headScripts,\n headers,\n scripts,\n styles\n };\n });\n};\nconst getLoaderContext = (inner, matchId, index, route) => {\n const parentMatchPromise = inner.matchPromises[index - 1];\n const { params, loaderDeps, abortController, cause } = inner.router.getMatch(matchId);\n const context = buildMatchContext(inner, index);\n const preload = resolvePreload(inner, matchId);\n return {\n params,\n deps: loaderDeps,\n preload: !!preload,\n parentMatchPromise,\n abortController,\n context,\n location: inner.location,\n navigate: (opts) => inner.router.navigate({\n ...opts,\n _fromLocation: inner.location\n }),\n cause: preload ? \"preload\" : cause,\n route,\n ...inner.router.options.additionalContext\n };\n};\nconst runLoader = async (inner, matchId, index, route) => {\n try {\n const match = inner.router.getMatch(matchId);\n try {\n if (!(isServer ?? inner.router.isServer) || match.ssr === true) {\n loadRouteChunk(route);\n }\n const loaderResult = route.options.loader?.(\n getLoaderContext(inner, matchId, index, route)\n );\n const loaderResultIsPromise = route.options.loader && isPromise(loaderResult);\n const willLoadSomething = !!(loaderResultIsPromise || route._lazyPromise || route._componentsPromise || route.options.head || route.options.scripts || route.options.headers || match._nonReactive.minPendingPromise);\n if (willLoadSomething) {\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: \"loader\"\n }));\n }\n if (route.options.loader) {\n const loaderData = loaderResultIsPromise ? await loaderResult : loaderResult;\n handleRedirectAndNotFound(\n inner,\n inner.router.getMatch(matchId),\n loaderData\n );\n if (loaderData !== void 0) {\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n loaderData\n }));\n }\n }\n if (route._lazyPromise) await route._lazyPromise;\n const pendingPromise = match._nonReactive.minPendingPromise;\n if (pendingPromise) await pendingPromise;\n if (route._componentsPromise) await route._componentsPromise;\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n error: void 0,\n context: buildMatchContext(inner, index),\n status: \"success\",\n isFetching: false,\n updatedAt: Date.now()\n }));\n } catch (e) {\n let error = e;\n if (error?.name === \"AbortError\") {\n if (match.abortController.signal.aborted) {\n match._nonReactive.loaderPromise?.resolve();\n match._nonReactive.loaderPromise = void 0;\n return;\n }\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n status: prev.status === \"pending\" ? \"success\" : prev.status,\n isFetching: false,\n context: buildMatchContext(inner, index)\n }));\n return;\n }\n const pendingPromise = match._nonReactive.minPendingPromise;\n if (pendingPromise) await pendingPromise;\n if (isNotFound(e)) {\n await route.options.notFoundComponent?.preload?.();\n }\n handleRedirectAndNotFound(inner, inner.router.getMatch(matchId), e);\n try {\n route.options.onError?.(e);\n } catch (onErrorError) {\n error = onErrorError;\n handleRedirectAndNotFound(\n inner,\n inner.router.getMatch(matchId),\n onErrorError\n );\n }\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n error,\n context: buildMatchContext(inner, index),\n status: \"error\",\n isFetching: false\n }));\n }\n } catch (err) {\n const match = inner.router.getMatch(matchId);\n if (match) {\n match._nonReactive.loaderPromise = void 0;\n }\n handleRedirectAndNotFound(inner, match, err);\n }\n};\nconst loadRouteMatch = async (inner, index) => {\n async function handleLoader(preload, prevMatch, match2, route2) {\n const age = Date.now() - prevMatch.updatedAt;\n const staleAge = preload ? route2.options.preloadStaleTime ?? inner.router.options.defaultPreloadStaleTime ?? 3e4 : route2.options.staleTime ?? inner.router.options.defaultStaleTime ?? 0;\n const shouldReloadOption = route2.options.shouldReload;\n const shouldReload = typeof shouldReloadOption === \"function\" ? shouldReloadOption(getLoaderContext(inner, matchId, index, route2)) : shouldReloadOption;\n const { status, invalid } = match2;\n loaderShouldRunAsync = status === \"success\" && (invalid || (shouldReload ?? age > staleAge));\n if (preload && route2.options.preload === false) ;\n else if (loaderShouldRunAsync && !inner.sync) {\n loaderIsRunningAsync = true;\n (async () => {\n try {\n await runLoader(inner, matchId, index, route2);\n const match3 = inner.router.getMatch(matchId);\n match3._nonReactive.loaderPromise?.resolve();\n match3._nonReactive.loadPromise?.resolve();\n match3._nonReactive.loaderPromise = void 0;\n } catch (err) {\n if (isRedirect(err)) {\n await inner.router.navigate(err.options);\n }\n }\n })();\n } else if (status !== \"success\" || loaderShouldRunAsync && inner.sync) {\n await runLoader(inner, matchId, index, route2);\n }\n }\n const { id: matchId, routeId } = inner.matches[index];\n let loaderShouldRunAsync = false;\n let loaderIsRunningAsync = false;\n const route = inner.router.looseRoutesById[routeId];\n if (shouldSkipLoader(inner, matchId)) {\n if (isServer ?? inner.router.isServer) {\n return inner.router.getMatch(matchId);\n }\n } else {\n const prevMatch = inner.router.getMatch(matchId);\n const preload = resolvePreload(inner, matchId);\n if (prevMatch._nonReactive.loaderPromise) {\n if (prevMatch.status === \"success\" && !inner.sync && !prevMatch.preload) {\n return prevMatch;\n }\n await prevMatch._nonReactive.loaderPromise;\n const match2 = inner.router.getMatch(matchId);\n const error = match2._nonReactive.error || match2.error;\n if (error) {\n handleRedirectAndNotFound(inner, match2, error);\n }\n if (match2.status === \"pending\") {\n await handleLoader(preload, prevMatch, match2, route);\n }\n } else {\n const nextPreload = preload && !inner.router.state.matches.some((d) => d.id === matchId);\n const match2 = inner.router.getMatch(matchId);\n match2._nonReactive.loaderPromise = createControlledPromise();\n if (nextPreload !== match2.preload) {\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n preload: nextPreload\n }));\n }\n await handleLoader(preload, prevMatch, match2, route);\n }\n }\n const match = inner.router.getMatch(matchId);\n if (!loaderIsRunningAsync) {\n match._nonReactive.loaderPromise?.resolve();\n match._nonReactive.loadPromise?.resolve();\n }\n clearTimeout(match._nonReactive.pendingTimeout);\n match._nonReactive.pendingTimeout = void 0;\n if (!loaderIsRunningAsync) match._nonReactive.loaderPromise = void 0;\n match._nonReactive.dehydrated = void 0;\n const nextIsFetching = loaderIsRunningAsync ? match.isFetching : false;\n if (nextIsFetching !== match.isFetching || match.invalid !== false) {\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n isFetching: nextIsFetching,\n invalid: false\n }));\n return inner.router.getMatch(matchId);\n } else {\n return match;\n }\n};\nasync function loadMatches(arg) {\n const inner = Object.assign(arg, {\n matchPromises: []\n });\n if (!(isServer ?? inner.router.isServer) && inner.router.state.matches.some((d) => d._forcePending)) {\n triggerOnReady(inner);\n }\n try {\n for (let i = 0; i < inner.matches.length; i++) {\n const beforeLoad = handleBeforeLoad(inner, i);\n if (isPromise(beforeLoad)) await beforeLoad;\n }\n const max = inner.firstBadMatchIndex ?? inner.matches.length;\n for (let i = 0; i < max; i++) {\n inner.matchPromises.push(loadRouteMatch(inner, i));\n }\n const results = await Promise.allSettled(inner.matchPromises);\n const failures = results.filter(\n (result) => result.status === \"rejected\"\n ).map((result) => result.reason);\n let firstNotFound;\n for (const err of failures) {\n if (isRedirect(err)) {\n throw err;\n }\n if (!firstNotFound && isNotFound(err)) {\n firstNotFound = err;\n }\n }\n for (const match of inner.matches) {\n const { id: matchId, routeId } = match;\n const route = inner.router.looseRoutesById[routeId];\n try {\n const headResult = executeHead(inner, matchId, route);\n if (headResult) {\n const head = await headResult;\n inner.updateMatch(matchId, (prev) => ({\n ...prev,\n ...head\n }));\n }\n } catch (err) {\n console.error(`Error executing head for route ${routeId}:`, err);\n }\n }\n if (firstNotFound) {\n throw firstNotFound;\n }\n const readyPromise = triggerOnReady(inner);\n if (isPromise(readyPromise)) await readyPromise;\n } catch (err) {\n if (isNotFound(err) && !inner.preload) {\n const readyPromise = triggerOnReady(inner);\n if (isPromise(readyPromise)) await readyPromise;\n throw err;\n }\n if (isRedirect(err)) {\n throw err;\n }\n }\n return inner.matches;\n}\nasync function loadRouteChunk(route) {\n if (!route._lazyLoaded && route._lazyPromise === void 0) {\n if (route.lazyFn) {\n route._lazyPromise = route.lazyFn().then((lazyRoute) => {\n const { id: _id, ...options } = lazyRoute.options;\n Object.assign(route.options, options);\n route._lazyLoaded = true;\n route._lazyPromise = void 0;\n });\n } else {\n route._lazyLoaded = true;\n }\n }\n if (!route._componentsLoaded && route._componentsPromise === void 0) {\n const loadComponents = () => {\n const preloads = [];\n for (const type of componentTypes) {\n const preload = route.options[type]?.preload;\n if (preload) preloads.push(preload());\n }\n if (preloads.length)\n return Promise.all(preloads).then(() => {\n route._componentsLoaded = true;\n route._componentsPromise = void 0;\n });\n route._componentsLoaded = true;\n route._componentsPromise = void 0;\n return;\n };\n route._componentsPromise = route._lazyPromise ? route._lazyPromise.then(loadComponents) : loadComponents();\n }\n return route._componentsPromise;\n}\nfunction makeMaybe(value, error) {\n if (error) {\n return { status: \"error\", error };\n }\n return { status: \"success\", value };\n}\nfunction routeNeedsPreload(route) {\n for (const componentType of componentTypes) {\n if (route.options[componentType]?.preload) {\n return true;\n }\n }\n return false;\n}\nconst componentTypes = [\n \"component\",\n \"errorComponent\",\n \"pendingComponent\",\n \"notFoundComponent\"\n];\nexport {\n componentTypes,\n loadMatches,\n loadRouteChunk,\n routeNeedsPreload\n};\n//# sourceMappingURL=load-matches.js.map\n","import { trimPath, joinPaths } from \"./path.js\";\nfunction composeRewrites(rewrites) {\n return {\n input: ({ url }) => {\n for (const rewrite of rewrites) {\n url = executeRewriteInput(rewrite, url);\n }\n return url;\n },\n output: ({ url }) => {\n for (let i = rewrites.length - 1; i >= 0; i--) {\n url = executeRewriteOutput(rewrites[i], url);\n }\n return url;\n }\n };\n}\nfunction rewriteBasepath(opts) {\n const trimmedBasepath = trimPath(opts.basepath);\n const normalizedBasepath = `/${trimmedBasepath}`;\n const normalizedBasepathWithSlash = `${normalizedBasepath}/`;\n const checkBasepath = opts.caseSensitive ? normalizedBasepath : normalizedBasepath.toLowerCase();\n const checkBasepathWithSlash = opts.caseSensitive ? normalizedBasepathWithSlash : normalizedBasepathWithSlash.toLowerCase();\n return {\n input: ({ url }) => {\n const pathname = opts.caseSensitive ? url.pathname : url.pathname.toLowerCase();\n if (pathname === checkBasepath) {\n url.pathname = \"/\";\n } else if (pathname.startsWith(checkBasepathWithSlash)) {\n url.pathname = url.pathname.slice(normalizedBasepath.length);\n }\n return url;\n },\n output: ({ url }) => {\n url.pathname = joinPaths([\"/\", trimmedBasepath, url.pathname]);\n return url;\n }\n };\n}\nfunction executeRewriteInput(rewrite, url) {\n const res = rewrite?.input?.({ url });\n if (res) {\n if (typeof res === \"string\") {\n return new URL(res);\n } else if (res instanceof URL) {\n return res;\n }\n }\n return url;\n}\nfunction executeRewriteOutput(rewrite, url) {\n const res = rewrite?.output?.({ url });\n if (res) {\n if (typeof res === \"string\") {\n return new URL(res);\n } else if (res instanceof URL) {\n return res;\n }\n }\n return url;\n}\nexport {\n composeRewrites,\n executeRewriteInput,\n executeRewriteOutput,\n rewriteBasepath\n};\n//# sourceMappingURL=rewrite.js.map\n","import { Store } from \"@tanstack/store\";\nimport { createBrowserHistory, parseHref } from \"@tanstack/history\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { batch } from \"./utils/batch.js\";\nimport { createControlledPromise, isDangerousProtocol, deepEqual, replaceEqualDeep, last, decodePath, functionalUpdate, findLast, encodePathLikeUrl } from \"./utils.js\";\nimport { processRouteTree, processRouteMasks, findSingleMatch, findRouteMatch, findFlatMatch } from \"./new-process-route-tree.js\";\nimport { compileDecodeCharMap, trimPath, resolvePath, cleanPath, trimPathRight, interpolatePath } from \"./path.js\";\nimport { createLRUCache } from \"./lru-cache.js\";\nimport { isNotFound } from \"./not-found.js\";\nimport { setupScrollRestoration } from \"./scroll-restoration.js\";\nimport { defaultParseSearch, defaultStringifySearch } from \"./searchParams.js\";\nimport { rootRouteId } from \"./root.js\";\nimport { redirect, isRedirect } from \"./redirect.js\";\nimport { loadMatches, loadRouteChunk, routeNeedsPreload } from \"./load-matches.js\";\nimport { rewriteBasepath, composeRewrites, executeRewriteInput, executeRewriteOutput } from \"./rewrite.js\";\nfunction defaultSerializeError(err) {\n if (err instanceof Error) {\n const obj = {\n name: err.name,\n message: err.message\n };\n if (process.env.NODE_ENV === \"development\") {\n obj.stack = err.stack;\n }\n return obj;\n }\n return {\n data: err\n };\n}\nconst trailingSlashOptions = {\n always: \"always\",\n never: \"never\",\n preserve: \"preserve\"\n};\nfunction getLocationChangeInfo(routerState) {\n const fromLocation = routerState.resolvedLocation;\n const toLocation = routerState.location;\n const pathChanged = fromLocation?.pathname !== toLocation.pathname;\n const hrefChanged = fromLocation?.href !== toLocation.href;\n const hashChanged = fromLocation?.hash !== toLocation.hash;\n return { fromLocation, toLocation, pathChanged, hrefChanged, hashChanged };\n}\nfunction createServerStore(initialState) {\n const store = {\n state: initialState,\n setState: (updater) => {\n store.state = updater(store.state);\n }\n };\n return store;\n}\nclass RouterCore {\n /**\n * @deprecated Use the `createRouter` function instead\n */\n constructor(options) {\n this.tempLocationKey = `${Math.round(\n Math.random() * 1e7\n )}`;\n this.resetNextScroll = true;\n this.shouldViewTransition = void 0;\n this.isViewTransitionTypesSupported = void 0;\n this.subscribers = /* @__PURE__ */ new Set();\n this.isScrollRestoring = false;\n this.isScrollRestorationSetup = false;\n this.startTransition = (fn) => fn();\n this.update = (newOptions) => {\n if (newOptions.notFoundRoute) {\n console.warn(\n \"The notFoundRoute API is deprecated and will be removed in the next major version. See https://tanstack.com/router/v1/docs/framework/react/guide/not-found-errors#migrating-from-notfoundroute for more info.\"\n );\n }\n const prevOptions = this.options;\n const prevBasepath = this.basepath ?? prevOptions?.basepath ?? \"/\";\n const basepathWasUnset = this.basepath === void 0;\n const prevRewriteOption = prevOptions?.rewrite;\n this.options = {\n ...prevOptions,\n ...newOptions\n };\n this.isServer = this.options.isServer ?? typeof document === \"undefined\";\n if (this.options.pathParamsAllowedCharacters)\n this.pathParamsDecoder = compileDecodeCharMap(\n this.options.pathParamsAllowedCharacters\n );\n if (!this.history || this.options.history && this.options.history !== this.history) {\n if (!this.options.history) {\n if (!(isServer ?? this.isServer)) {\n this.history = createBrowserHistory();\n }\n } else {\n this.history = this.options.history;\n }\n }\n this.origin = this.options.origin;\n if (!this.origin) {\n if (!(isServer ?? this.isServer) && window?.origin && window.origin !== \"null\") {\n this.origin = window.origin;\n } else {\n this.origin = \"http://localhost\";\n }\n }\n if (this.history) {\n this.updateLatestLocation();\n }\n if (this.options.routeTree !== this.routeTree) {\n this.routeTree = this.options.routeTree;\n let processRouteTreeResult;\n if ((isServer ?? this.isServer) && globalThis.__TSR_CACHE__ && globalThis.__TSR_CACHE__.routeTree === this.routeTree) {\n const cached = globalThis.__TSR_CACHE__;\n this.resolvePathCache = cached.resolvePathCache;\n processRouteTreeResult = cached.processRouteTreeResult;\n } else {\n this.resolvePathCache = createLRUCache(1e3);\n processRouteTreeResult = this.buildRouteTree();\n if ((isServer ?? this.isServer) && globalThis.__TSR_CACHE__ === void 0) {\n globalThis.__TSR_CACHE__ = {\n routeTree: this.routeTree,\n processRouteTreeResult,\n resolvePathCache: this.resolvePathCache\n };\n }\n }\n this.setRoutes(processRouteTreeResult);\n }\n if (!this.__store && this.latestLocation) {\n if (isServer ?? this.isServer) {\n this.__store = createServerStore(\n getInitialRouterState(this.latestLocation)\n );\n } else {\n this.__store = new Store(getInitialRouterState(this.latestLocation), {\n onUpdate: () => {\n this.__store.state = {\n ...this.state,\n cachedMatches: this.state.cachedMatches.filter(\n (d) => ![\"redirected\"].includes(d.status)\n )\n };\n }\n });\n setupScrollRestoration(this);\n }\n }\n let needsLocationUpdate = false;\n const nextBasepath = this.options.basepath ?? \"/\";\n const nextRewriteOption = this.options.rewrite;\n const basepathChanged = basepathWasUnset || prevBasepath !== nextBasepath;\n const rewriteChanged = prevRewriteOption !== nextRewriteOption;\n if (basepathChanged || rewriteChanged) {\n this.basepath = nextBasepath;\n const rewrites = [];\n const trimmed = trimPath(nextBasepath);\n if (trimmed && trimmed !== \"/\") {\n rewrites.push(\n rewriteBasepath({\n basepath: nextBasepath\n })\n );\n }\n if (nextRewriteOption) {\n rewrites.push(nextRewriteOption);\n }\n this.rewrite = rewrites.length === 0 ? void 0 : rewrites.length === 1 ? rewrites[0] : composeRewrites(rewrites);\n if (this.history) {\n this.updateLatestLocation();\n }\n needsLocationUpdate = true;\n }\n if (needsLocationUpdate && this.__store) {\n this.__store.state = {\n ...this.state,\n location: this.latestLocation\n };\n }\n if (typeof window !== \"undefined\" && \"CSS\" in window && typeof window.CSS?.supports === \"function\") {\n this.isViewTransitionTypesSupported = window.CSS.supports(\n \"selector(:active-view-transition-type(a)\"\n );\n }\n };\n this.updateLatestLocation = () => {\n this.latestLocation = this.parseLocation(\n this.history.location,\n this.latestLocation\n );\n };\n this.buildRouteTree = () => {\n const result = processRouteTree(\n this.routeTree,\n this.options.caseSensitive,\n (route, i) => {\n route.init({\n originalIndex: i\n });\n }\n );\n if (this.options.routeMasks) {\n processRouteMasks(this.options.routeMasks, result.processedTree);\n }\n return result;\n };\n this.subscribe = (eventType, fn) => {\n const listener = {\n eventType,\n fn\n };\n this.subscribers.add(listener);\n return () => {\n this.subscribers.delete(listener);\n };\n };\n this.emit = (routerEvent) => {\n this.subscribers.forEach((listener) => {\n if (listener.eventType === routerEvent.type) {\n listener.fn(routerEvent);\n }\n });\n };\n this.parseLocation = (locationToParse, previousLocation) => {\n const parse = ({\n pathname,\n search,\n hash,\n href,\n state\n }) => {\n if (!this.rewrite && !/[ \\x00-\\x1f\\x7f\\u0080-\\uffff]/.test(pathname)) {\n const parsedSearch2 = this.options.parseSearch(search);\n const searchStr2 = this.options.stringifySearch(parsedSearch2);\n return {\n href: pathname + searchStr2 + hash,\n publicHref: href,\n pathname: decodePath(pathname).path,\n external: false,\n searchStr: searchStr2,\n search: replaceEqualDeep(\n previousLocation?.search,\n parsedSearch2\n ),\n hash: decodePath(hash.slice(1)).path,\n state: replaceEqualDeep(previousLocation?.state, state)\n };\n }\n const fullUrl = new URL(href, this.origin);\n const url = executeRewriteInput(this.rewrite, fullUrl);\n const parsedSearch = this.options.parseSearch(url.search);\n const searchStr = this.options.stringifySearch(parsedSearch);\n url.search = searchStr;\n const fullPath = url.href.replace(url.origin, \"\");\n return {\n href: fullPath,\n publicHref: href,\n pathname: decodePath(url.pathname).path,\n external: !!this.rewrite && url.origin !== this.origin,\n searchStr,\n search: replaceEqualDeep(previousLocation?.search, parsedSearch),\n hash: decodePath(url.hash.slice(1)).path,\n state: replaceEqualDeep(previousLocation?.state, state)\n };\n };\n const location = parse(locationToParse);\n const { __tempLocation, __tempKey } = location.state;\n if (__tempLocation && (!__tempKey || __tempKey === this.tempLocationKey)) {\n const parsedTempLocation = parse(__tempLocation);\n parsedTempLocation.state.key = location.state.key;\n parsedTempLocation.state.__TSR_key = location.state.__TSR_key;\n delete parsedTempLocation.state.__tempLocation;\n return {\n ...parsedTempLocation,\n maskedLocation: location\n };\n }\n return location;\n };\n this.resolvePathWithBase = (from, path) => {\n const resolvedPath = resolvePath({\n base: from,\n to: cleanPath(path),\n trailingSlash: this.options.trailingSlash,\n cache: this.resolvePathCache\n });\n return resolvedPath;\n };\n this.matchRoutes = (pathnameOrNext, locationSearchOrOpts, opts) => {\n if (typeof pathnameOrNext === \"string\") {\n return this.matchRoutesInternal(\n {\n pathname: pathnameOrNext,\n search: locationSearchOrOpts\n },\n opts\n );\n }\n return this.matchRoutesInternal(pathnameOrNext, locationSearchOrOpts);\n };\n this.getMatchedRoutes = (pathname) => {\n return getMatchedRoutes({\n pathname,\n routesById: this.routesById,\n processedTree: this.processedTree\n });\n };\n this.cancelMatch = (id) => {\n const match = this.getMatch(id);\n if (!match) return;\n match.abortController.abort();\n clearTimeout(match._nonReactive.pendingTimeout);\n match._nonReactive.pendingTimeout = void 0;\n };\n this.cancelMatches = () => {\n const currentPendingMatches = this.state.matches.filter(\n (match) => match.status === \"pending\"\n );\n const currentLoadingMatches = this.state.matches.filter(\n (match) => match.isFetching === \"loader\"\n );\n const matchesToCancelArray = /* @__PURE__ */ new Set([\n ...this.state.pendingMatches ?? [],\n ...currentPendingMatches,\n ...currentLoadingMatches\n ]);\n matchesToCancelArray.forEach((match) => {\n this.cancelMatch(match.id);\n });\n };\n this.buildLocation = (opts) => {\n const build = (dest = {}) => {\n const currentLocation = dest._fromLocation || this.pendingBuiltLocation || this.latestLocation;\n const lightweightResult = this.matchRoutesLightweight(currentLocation);\n if (dest.from && process.env.NODE_ENV !== \"production\" && dest._isNavigate) {\n const allFromMatches = this.getMatchedRoutes(dest.from).matchedRoutes;\n const matchedFrom = findLast(lightweightResult.matchedRoutes, (d) => {\n return comparePaths(d.fullPath, dest.from);\n });\n const matchedCurrent = findLast(allFromMatches, (d) => {\n return comparePaths(d.fullPath, lightweightResult.fullPath);\n });\n if (!matchedFrom && !matchedCurrent) {\n console.warn(`Could not find match for from: ${dest.from}`);\n }\n }\n const defaultedFromPath = dest.unsafeRelative === \"path\" ? currentLocation.pathname : dest.from ?? lightweightResult.fullPath;\n const fromPath = this.resolvePathWithBase(defaultedFromPath, \".\");\n const fromSearch = lightweightResult.search;\n const fromParams = { ...lightweightResult.params };\n const nextTo = dest.to ? this.resolvePathWithBase(fromPath, `${dest.to}`) : this.resolvePathWithBase(fromPath, \".\");\n const nextParams = dest.params === false || dest.params === null ? {} : (dest.params ?? true) === true ? fromParams : Object.assign(\n fromParams,\n functionalUpdate(dest.params, fromParams)\n );\n const interpolatedNextTo = interpolatePath({\n path: nextTo,\n params: nextParams,\n decoder: this.pathParamsDecoder,\n server: this.isServer\n }).interpolatedPath;\n const destMatchResult = this.getMatchedRoutes(interpolatedNextTo);\n let destRoutes = destMatchResult.matchedRoutes;\n const isGlobalNotFound = destMatchResult.foundRoute ? destMatchResult.foundRoute.path !== \"/\" && destMatchResult.routeParams[\"**\"] : trimPathRight(interpolatedNextTo);\n if (isGlobalNotFound && this.options.notFoundRoute) {\n destRoutes = [...destRoutes, this.options.notFoundRoute];\n }\n let changedParams = false;\n if (Object.keys(nextParams).length > 0) {\n for (const route of destRoutes) {\n const fn = route.options.params?.stringify ?? route.options.stringifyParams;\n if (fn) {\n changedParams = true;\n Object.assign(nextParams, fn(nextParams));\n }\n }\n }\n const nextPathname = opts.leaveParams ? (\n // Use the original template path for interpolation\n // This preserves the original parameter syntax including optional parameters\n nextTo\n ) : decodePath(\n !changedParams ? interpolatedNextTo : interpolatePath({\n path: nextTo,\n params: nextParams,\n decoder: this.pathParamsDecoder,\n server: this.isServer\n }).interpolatedPath\n ).path;\n let nextSearch = fromSearch;\n if (opts._includeValidateSearch && this.options.search?.strict) {\n const validatedSearch = {};\n destRoutes.forEach((route) => {\n if (route.options.validateSearch) {\n try {\n Object.assign(\n validatedSearch,\n validateSearch(route.options.validateSearch, {\n ...validatedSearch,\n ...nextSearch\n })\n );\n } catch {\n }\n }\n });\n nextSearch = validatedSearch;\n }\n nextSearch = applySearchMiddleware({\n search: nextSearch,\n dest,\n destRoutes,\n _includeValidateSearch: opts._includeValidateSearch\n });\n nextSearch = replaceEqualDeep(fromSearch, nextSearch);\n const searchStr = this.options.stringifySearch(nextSearch);\n const hash = dest.hash === true ? currentLocation.hash : dest.hash ? functionalUpdate(dest.hash, currentLocation.hash) : void 0;\n const hashStr = hash ? `#${hash}` : \"\";\n let nextState = dest.state === true ? currentLocation.state : dest.state ? functionalUpdate(dest.state, currentLocation.state) : {};\n nextState = replaceEqualDeep(currentLocation.state, nextState);\n const fullPath = `${nextPathname}${searchStr}${hashStr}`;\n let href;\n let publicHref;\n let external = false;\n if (this.rewrite) {\n const url = new URL(fullPath, this.origin);\n const rewrittenUrl = executeRewriteOutput(this.rewrite, url);\n href = url.href.replace(url.origin, \"\");\n if (rewrittenUrl.origin !== this.origin) {\n publicHref = rewrittenUrl.href;\n external = true;\n } else {\n publicHref = rewrittenUrl.pathname + rewrittenUrl.search + rewrittenUrl.hash;\n }\n } else {\n href = encodePathLikeUrl(fullPath);\n publicHref = href;\n }\n return {\n publicHref,\n href,\n pathname: nextPathname,\n search: nextSearch,\n searchStr,\n state: nextState,\n hash: hash ?? \"\",\n external,\n unmaskOnReload: dest.unmaskOnReload\n };\n };\n const buildWithMatches = (dest = {}, maskedDest) => {\n const next = build(dest);\n let maskedNext = maskedDest ? build(maskedDest) : void 0;\n if (!maskedNext) {\n const params = {};\n if (this.options.routeMasks) {\n const match = findFlatMatch(\n next.pathname,\n this.processedTree\n );\n if (match) {\n Object.assign(params, match.rawParams);\n const {\n from: _from,\n params: maskParams,\n ...maskProps\n } = match.route;\n const nextParams = maskParams === false || maskParams === null ? {} : (maskParams ?? true) === true ? params : Object.assign(params, functionalUpdate(maskParams, params));\n maskedDest = {\n from: opts.from,\n ...maskProps,\n params: nextParams\n };\n maskedNext = build(maskedDest);\n }\n }\n }\n if (maskedNext) {\n next.maskedLocation = maskedNext;\n }\n return next;\n };\n if (opts.mask) {\n return buildWithMatches(opts, {\n from: opts.from,\n ...opts.mask\n });\n }\n return buildWithMatches(opts);\n };\n this.commitLocation = async ({\n viewTransition,\n ignoreBlocker,\n ...next\n }) => {\n const isSameState = () => {\n const ignoredProps = [\n \"key\",\n // TODO: Remove in v2 - use __TSR_key instead\n \"__TSR_key\",\n \"__TSR_index\",\n \"__hashScrollIntoViewOptions\"\n ];\n ignoredProps.forEach((prop) => {\n next.state[prop] = this.latestLocation.state[prop];\n });\n const isEqual = deepEqual(next.state, this.latestLocation.state);\n ignoredProps.forEach((prop) => {\n delete next.state[prop];\n });\n return isEqual;\n };\n const isSameUrl = trimPathRight(this.latestLocation.href) === trimPathRight(next.href);\n const previousCommitPromise = this.commitLocationPromise;\n this.commitLocationPromise = createControlledPromise(() => {\n previousCommitPromise?.resolve();\n });\n if (isSameUrl && isSameState()) {\n this.load();\n } else {\n let {\n // eslint-disable-next-line prefer-const\n maskedLocation,\n // eslint-disable-next-line prefer-const\n hashScrollIntoView,\n ...nextHistory\n } = next;\n if (maskedLocation) {\n nextHistory = {\n ...maskedLocation,\n state: {\n ...maskedLocation.state,\n __tempKey: void 0,\n __tempLocation: {\n ...nextHistory,\n search: nextHistory.searchStr,\n state: {\n ...nextHistory.state,\n __tempKey: void 0,\n __tempLocation: void 0,\n __TSR_key: void 0,\n key: void 0\n // TODO: Remove in v2 - use __TSR_key instead\n }\n }\n }\n };\n if (nextHistory.unmaskOnReload ?? this.options.unmaskOnReload ?? false) {\n nextHistory.state.__tempKey = this.tempLocationKey;\n }\n }\n nextHistory.state.__hashScrollIntoViewOptions = hashScrollIntoView ?? this.options.defaultHashScrollIntoView ?? true;\n this.shouldViewTransition = viewTransition;\n this.history[next.replace ? \"replace\" : \"push\"](\n nextHistory.publicHref,\n nextHistory.state,\n { ignoreBlocker }\n );\n }\n this.resetNextScroll = next.resetScroll ?? true;\n if (!this.history.subscribers.size) {\n this.load();\n }\n return this.commitLocationPromise;\n };\n this.buildAndCommitLocation = ({\n replace,\n resetScroll,\n hashScrollIntoView,\n viewTransition,\n ignoreBlocker,\n href,\n ...rest\n } = {}) => {\n if (href) {\n const currentIndex = this.history.location.state.__TSR_index;\n const parsed = parseHref(href, {\n __TSR_index: replace ? currentIndex : currentIndex + 1\n });\n const hrefUrl = new URL(parsed.pathname, this.origin);\n const rewrittenUrl = executeRewriteInput(this.rewrite, hrefUrl);\n rest.to = rewrittenUrl.pathname;\n rest.search = this.options.parseSearch(parsed.search);\n rest.hash = parsed.hash.slice(1);\n }\n const location = this.buildLocation({\n ...rest,\n _includeValidateSearch: true\n });\n this.pendingBuiltLocation = location;\n const commitPromise = this.commitLocation({\n ...location,\n viewTransition,\n replace,\n resetScroll,\n hashScrollIntoView,\n ignoreBlocker\n });\n Promise.resolve().then(() => {\n if (this.pendingBuiltLocation === location) {\n this.pendingBuiltLocation = void 0;\n }\n });\n return commitPromise;\n };\n this.navigate = async ({\n to,\n reloadDocument,\n href,\n publicHref,\n ...rest\n }) => {\n let hrefIsUrl = false;\n if (href) {\n try {\n new URL(`${href}`);\n hrefIsUrl = true;\n } catch {\n }\n }\n if (hrefIsUrl && !reloadDocument) {\n reloadDocument = true;\n }\n if (reloadDocument) {\n if (to !== void 0 || !href) {\n const location = this.buildLocation({ to, ...rest });\n href = href ?? location.publicHref;\n publicHref = publicHref ?? location.publicHref;\n }\n const reloadHref = !hrefIsUrl && publicHref ? publicHref : href;\n if (isDangerousProtocol(reloadHref)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `Blocked navigation to dangerous protocol: ${reloadHref}`\n );\n }\n return Promise.resolve();\n }\n if (!rest.ignoreBlocker) {\n const historyWithBlockers = this.history;\n const blockers = historyWithBlockers.getBlockers?.() ?? [];\n for (const blocker of blockers) {\n if (blocker?.blockerFn) {\n const shouldBlock = await blocker.blockerFn({\n currentLocation: this.latestLocation,\n nextLocation: this.latestLocation,\n // External URLs don't have a next location in our router\n action: \"PUSH\"\n });\n if (shouldBlock) {\n return Promise.resolve();\n }\n }\n }\n }\n if (rest.replace) {\n window.location.replace(reloadHref);\n } else {\n window.location.href = reloadHref;\n }\n return Promise.resolve();\n }\n return this.buildAndCommitLocation({\n ...rest,\n href,\n to,\n _isNavigate: true\n });\n };\n this.beforeLoad = () => {\n this.cancelMatches();\n this.updateLatestLocation();\n if (isServer ?? this.isServer) {\n const nextLocation = this.buildLocation({\n to: this.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n if (this.latestLocation.publicHref !== nextLocation.publicHref) {\n const href = this.getParsedLocationHref(nextLocation);\n if (nextLocation.external) {\n throw redirect({ href });\n } else {\n throw redirect({ href, _builtLocation: nextLocation });\n }\n }\n }\n const pendingMatches = this.matchRoutes(this.latestLocation);\n this.__store.setState((s) => ({\n ...s,\n status: \"pending\",\n statusCode: 200,\n isLoading: true,\n location: this.latestLocation,\n pendingMatches,\n // If a cached moved to pendingMatches, remove it from cachedMatches\n cachedMatches: s.cachedMatches.filter(\n (d) => !pendingMatches.some((e) => e.id === d.id)\n )\n }));\n };\n this.load = async (opts) => {\n let redirect2;\n let notFound;\n let loadPromise;\n loadPromise = new Promise((resolve) => {\n this.startTransition(async () => {\n try {\n this.beforeLoad();\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n if (!this.state.redirect) {\n this.emit({\n type: \"onBeforeNavigate\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n }\n this.emit({\n type: \"onBeforeLoad\",\n ...getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n });\n await loadMatches({\n router: this,\n sync: opts?.sync,\n matches: this.state.pendingMatches,\n location: next,\n updateMatch: this.updateMatch,\n // eslint-disable-next-line @typescript-eslint/require-await\n onReady: async () => {\n this.startTransition(() => {\n this.startViewTransition(async () => {\n let exitingMatches = [];\n let enteringMatches = [];\n let stayingMatches = [];\n batch(() => {\n this.__store.setState((s) => {\n const previousMatches = s.matches;\n const newMatches = s.pendingMatches || s.matches;\n exitingMatches = previousMatches.filter(\n (match) => !newMatches.some((d) => d.id === match.id)\n );\n enteringMatches = newMatches.filter(\n (match) => !previousMatches.some((d) => d.id === match.id)\n );\n stayingMatches = newMatches.filter(\n (match) => previousMatches.some((d) => d.id === match.id)\n );\n return {\n ...s,\n isLoading: false,\n loadedAt: Date.now(),\n matches: newMatches,\n pendingMatches: void 0,\n /**\n * When committing new matches, cache any exiting matches that are still usable.\n * Routes that resolved with `status: 'error'` or `status: 'notFound'` are\n * deliberately excluded from `cachedMatches` so that subsequent invalidations\n * or reloads re-run their loaders instead of reusing the failed/not-found data.\n */\n cachedMatches: [\n ...s.cachedMatches,\n ...exitingMatches.filter(\n (d) => d.status !== \"error\" && d.status !== \"notFound\"\n )\n ]\n };\n });\n this.clearExpiredCache();\n });\n [\n [exitingMatches, \"onLeave\"],\n [enteringMatches, \"onEnter\"],\n [stayingMatches, \"onStay\"]\n ].forEach(([matches, hook]) => {\n matches.forEach((match) => {\n this.looseRoutesById[match.routeId].options[hook]?.(\n match\n );\n });\n });\n });\n });\n }\n });\n } catch (err) {\n if (isRedirect(err)) {\n redirect2 = err;\n if (!(isServer ?? this.isServer)) {\n this.navigate({\n ...redirect2.options,\n replace: true,\n ignoreBlocker: true\n });\n }\n } else if (isNotFound(err)) {\n notFound = err;\n }\n this.__store.setState((s) => ({\n ...s,\n statusCode: redirect2 ? redirect2.status : notFound ? 404 : s.matches.some((d) => d.status === \"error\") ? 500 : 200,\n redirect: redirect2\n }));\n }\n if (this.latestLoadPromise === loadPromise) {\n this.commitLocationPromise?.resolve();\n this.latestLoadPromise = void 0;\n this.commitLocationPromise = void 0;\n }\n resolve();\n });\n });\n this.latestLoadPromise = loadPromise;\n await loadPromise;\n while (this.latestLoadPromise && loadPromise !== this.latestLoadPromise) {\n await this.latestLoadPromise;\n }\n let newStatusCode = void 0;\n if (this.hasNotFoundMatch()) {\n newStatusCode = 404;\n } else if (this.__store.state.matches.some((d) => d.status === \"error\")) {\n newStatusCode = 500;\n }\n if (newStatusCode !== void 0) {\n this.__store.setState((s) => ({\n ...s,\n statusCode: newStatusCode\n }));\n }\n };\n this.startViewTransition = (fn) => {\n const shouldViewTransition = this.shouldViewTransition ?? this.options.defaultViewTransition;\n this.shouldViewTransition = void 0;\n if (shouldViewTransition && typeof document !== \"undefined\" && \"startViewTransition\" in document && typeof document.startViewTransition === \"function\") {\n let startViewTransitionParams;\n if (typeof shouldViewTransition === \"object\" && this.isViewTransitionTypesSupported) {\n const next = this.latestLocation;\n const prevLocation = this.state.resolvedLocation;\n const resolvedViewTransitionTypes = typeof shouldViewTransition.types === \"function\" ? shouldViewTransition.types(\n getLocationChangeInfo({\n resolvedLocation: prevLocation,\n location: next\n })\n ) : shouldViewTransition.types;\n if (resolvedViewTransitionTypes === false) {\n fn();\n return;\n }\n startViewTransitionParams = {\n update: fn,\n types: resolvedViewTransitionTypes\n };\n } else {\n startViewTransitionParams = fn;\n }\n document.startViewTransition(startViewTransitionParams);\n } else {\n fn();\n }\n };\n this.updateMatch = (id, updater) => {\n this.startTransition(() => {\n const matchesKey = this.state.pendingMatches?.some((d) => d.id === id) ? \"pendingMatches\" : this.state.matches.some((d) => d.id === id) ? \"matches\" : this.state.cachedMatches.some((d) => d.id === id) ? \"cachedMatches\" : \"\";\n if (matchesKey) {\n this.__store.setState((s) => ({\n ...s,\n [matchesKey]: s[matchesKey]?.map(\n (d) => d.id === id ? updater(d) : d\n )\n }));\n }\n });\n };\n this.getMatch = (matchId) => {\n const findFn = (d) => d.id === matchId;\n return this.state.cachedMatches.find(findFn) ?? this.state.pendingMatches?.find(findFn) ?? this.state.matches.find(findFn);\n };\n this.invalidate = (opts) => {\n const invalidate = (d) => {\n if (opts?.filter?.(d) ?? true) {\n return {\n ...d,\n invalid: true,\n ...opts?.forcePending || d.status === \"error\" || d.status === \"notFound\" ? { status: \"pending\", error: void 0 } : void 0\n };\n }\n return d;\n };\n this.__store.setState((s) => ({\n ...s,\n matches: s.matches.map(invalidate),\n cachedMatches: s.cachedMatches.map(invalidate),\n pendingMatches: s.pendingMatches?.map(invalidate)\n }));\n this.shouldViewTransition = false;\n return this.load({ sync: opts?.sync });\n };\n this.getParsedLocationHref = (location) => {\n return location.publicHref || \"/\";\n };\n this.resolveRedirect = (redirect2) => {\n const locationHeader = redirect2.headers.get(\"Location\");\n if (!redirect2.options.href || redirect2.options._builtLocation) {\n const location = redirect2.options._builtLocation ?? this.buildLocation(redirect2.options);\n const href = this.getParsedLocationHref(location);\n redirect2.options.href = href;\n redirect2.headers.set(\"Location\", href);\n } else if (locationHeader) {\n try {\n const url = new URL(locationHeader);\n if (this.origin && url.origin === this.origin) {\n const href = url.pathname + url.search + url.hash;\n redirect2.options.href = href;\n redirect2.headers.set(\"Location\", href);\n }\n } catch {\n }\n }\n if (!redirect2.headers.get(\"Location\")) {\n redirect2.headers.set(\"Location\", redirect2.options.href);\n }\n return redirect2;\n };\n this.clearCache = (opts) => {\n const filter = opts?.filter;\n if (filter !== void 0) {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: s.cachedMatches.filter(\n (m) => !filter(m)\n )\n };\n });\n } else {\n this.__store.setState((s) => {\n return {\n ...s,\n cachedMatches: []\n };\n });\n }\n };\n this.clearExpiredCache = () => {\n const filter = (d) => {\n const route = this.looseRoutesById[d.routeId];\n if (!route.options.loader) {\n return true;\n }\n const gcTime = (d.preload ? route.options.preloadGcTime ?? this.options.defaultPreloadGcTime : route.options.gcTime ?? this.options.defaultGcTime) ?? 5 * 60 * 1e3;\n const isError = d.status === \"error\";\n if (isError) return true;\n const gcEligible = Date.now() - d.updatedAt >= gcTime;\n return gcEligible;\n };\n this.clearCache({ filter });\n };\n this.loadRouteChunk = loadRouteChunk;\n this.preloadRoute = async (opts) => {\n const next = this.buildLocation(opts);\n let matches = this.matchRoutes(next, {\n throwOnError: true,\n preload: true,\n dest: opts\n });\n const activeMatchIds = new Set(\n [...this.state.matches, ...this.state.pendingMatches ?? []].map(\n (d) => d.id\n )\n );\n const loadedMatchIds = /* @__PURE__ */ new Set([\n ...activeMatchIds,\n ...this.state.cachedMatches.map((d) => d.id)\n ]);\n batch(() => {\n matches.forEach((match) => {\n if (!loadedMatchIds.has(match.id)) {\n this.__store.setState((s) => ({\n ...s,\n cachedMatches: [...s.cachedMatches, match]\n }));\n }\n });\n });\n try {\n matches = await loadMatches({\n router: this,\n matches,\n location: next,\n preload: true,\n updateMatch: (id, updater) => {\n if (activeMatchIds.has(id)) {\n matches = matches.map((d) => d.id === id ? updater(d) : d);\n } else {\n this.updateMatch(id, updater);\n }\n }\n });\n return matches;\n } catch (err) {\n if (isRedirect(err)) {\n if (err.options.reloadDocument) {\n return void 0;\n }\n return await this.preloadRoute({\n ...err.options,\n _fromLocation: next\n });\n }\n if (!isNotFound(err)) {\n console.error(err);\n }\n return void 0;\n }\n };\n this.matchRoute = (location, opts) => {\n const matchLocation = {\n ...location,\n to: location.to ? this.resolvePathWithBase(\n location.from || \"\",\n location.to\n ) : void 0,\n params: location.params || {},\n leaveParams: true\n };\n const next = this.buildLocation(matchLocation);\n if (opts?.pending && this.state.status !== \"pending\") {\n return false;\n }\n const pending = opts?.pending === void 0 ? !this.state.isLoading : opts.pending;\n const baseLocation = pending ? this.latestLocation : this.state.resolvedLocation || this.state.location;\n const match = findSingleMatch(\n next.pathname,\n opts?.caseSensitive ?? false,\n opts?.fuzzy ?? false,\n baseLocation.pathname,\n this.processedTree\n );\n if (!match) {\n return false;\n }\n if (location.params) {\n if (!deepEqual(match.rawParams, location.params, { partial: true })) {\n return false;\n }\n }\n if (opts?.includeSearch ?? true) {\n return deepEqual(baseLocation.search, next.search, { partial: true }) ? match.rawParams : false;\n }\n return match.rawParams;\n };\n this.hasNotFoundMatch = () => {\n return this.__store.state.matches.some(\n (d) => d.status === \"notFound\" || d.globalNotFound\n );\n };\n this.update({\n defaultPreloadDelay: 50,\n defaultPendingMs: 1e3,\n defaultPendingMinMs: 500,\n context: void 0,\n ...options,\n caseSensitive: options.caseSensitive ?? false,\n notFoundMode: options.notFoundMode ?? \"fuzzy\",\n stringifySearch: options.stringifySearch ?? defaultStringifySearch,\n parseSearch: options.parseSearch ?? defaultParseSearch\n });\n if (typeof document !== \"undefined\") {\n self.__TSR_ROUTER__ = this;\n }\n }\n isShell() {\n return !!this.options.isShell;\n }\n isPrerendering() {\n return !!this.options.isPrerendering;\n }\n get state() {\n return this.__store.state;\n }\n setRoutes({\n routesById,\n routesByPath,\n processedTree\n }) {\n this.routesById = routesById;\n this.routesByPath = routesByPath;\n this.processedTree = processedTree;\n const notFoundRoute = this.options.notFoundRoute;\n if (notFoundRoute) {\n notFoundRoute.init({\n originalIndex: 99999999999\n });\n this.routesById[notFoundRoute.id] = notFoundRoute;\n }\n }\n get looseRoutesById() {\n return this.routesById;\n }\n getParentContext(parentMatch) {\n const parentMatchId = parentMatch?.id;\n const parentContext = !parentMatchId ? this.options.context ?? void 0 : parentMatch.context ?? this.options.context ?? void 0;\n return parentContext;\n }\n matchRoutesInternal(next, opts) {\n const matchedRoutesResult = this.getMatchedRoutes(next.pathname);\n const { foundRoute, routeParams, parsedParams } = matchedRoutesResult;\n let { matchedRoutes } = matchedRoutesResult;\n let isGlobalNotFound = false;\n if (\n // If we found a route, and it's not an index route and we have left over path\n foundRoute ? foundRoute.path !== \"/\" && routeParams[\"**\"] : (\n // Or if we didn't find a route and we have left over path\n trimPathRight(next.pathname)\n )\n ) {\n if (this.options.notFoundRoute) {\n matchedRoutes = [...matchedRoutes, this.options.notFoundRoute];\n } else {\n isGlobalNotFound = true;\n }\n }\n const globalNotFoundRouteId = isGlobalNotFound ? findGlobalNotFoundRouteId(this.options.notFoundMode, matchedRoutes) : void 0;\n const matches = new Array(matchedRoutes.length);\n const previousMatchesByRouteId = new Map(\n this.state.matches.map((match) => [match.routeId, match])\n );\n for (let index = 0; index < matchedRoutes.length; index++) {\n const route = matchedRoutes[index];\n const parentMatch = matches[index - 1];\n let preMatchSearch;\n let strictMatchSearch;\n let searchError;\n {\n const parentSearch = parentMatch?.search ?? next.search;\n const parentStrictSearch = parentMatch?._strictSearch ?? void 0;\n try {\n const strictSearch = validateSearch(route.options.validateSearch, { ...parentSearch }) ?? void 0;\n preMatchSearch = {\n ...parentSearch,\n ...strictSearch\n };\n strictMatchSearch = { ...parentStrictSearch, ...strictSearch };\n searchError = void 0;\n } catch (err) {\n let searchParamError = err;\n if (!(err instanceof SearchParamError)) {\n searchParamError = new SearchParamError(err.message, {\n cause: err\n });\n }\n if (opts?.throwOnError) {\n throw searchParamError;\n }\n preMatchSearch = parentSearch;\n strictMatchSearch = {};\n searchError = searchParamError;\n }\n }\n const loaderDeps = route.options.loaderDeps?.({\n search: preMatchSearch\n }) ?? \"\";\n const loaderDepsHash = loaderDeps ? JSON.stringify(loaderDeps) : \"\";\n const { interpolatedPath, usedParams } = interpolatePath({\n path: route.fullPath,\n params: routeParams,\n decoder: this.pathParamsDecoder,\n server: this.isServer\n });\n const matchId = (\n // route.id for disambiguation\n route.id + // interpolatedPath for param changes\n interpolatedPath + // explicit deps\n loaderDepsHash\n );\n const existingMatch = this.getMatch(matchId);\n const previousMatch = previousMatchesByRouteId.get(route.id);\n const strictParams = existingMatch?._strictParams ?? usedParams;\n let paramsError = void 0;\n if (!existingMatch) {\n try {\n extractStrictParams(route, usedParams, parsedParams, strictParams);\n } catch (err) {\n if (isNotFound(err) || isRedirect(err)) {\n paramsError = err;\n } else {\n paramsError = new PathParamError(err.message, {\n cause: err\n });\n }\n if (opts?.throwOnError) {\n throw paramsError;\n }\n }\n }\n Object.assign(routeParams, strictParams);\n const cause = previousMatch ? \"stay\" : \"enter\";\n let match;\n if (existingMatch) {\n match = {\n ...existingMatch,\n cause,\n params: previousMatch?.params ?? routeParams,\n _strictParams: strictParams,\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : replaceEqualDeep(existingMatch.search, preMatchSearch),\n _strictSearch: strictMatchSearch\n };\n } else {\n const status = route.options.loader || route.options.beforeLoad || route.lazyFn || routeNeedsPreload(route) ? \"pending\" : \"success\";\n match = {\n id: matchId,\n ssr: isServer ?? this.isServer ? void 0 : route.options.ssr,\n index,\n routeId: route.id,\n params: previousMatch?.params ?? routeParams,\n _strictParams: strictParams,\n pathname: interpolatedPath,\n updatedAt: Date.now(),\n search: previousMatch ? replaceEqualDeep(previousMatch.search, preMatchSearch) : preMatchSearch,\n _strictSearch: strictMatchSearch,\n searchError: void 0,\n status,\n isFetching: false,\n error: void 0,\n paramsError,\n __routeContext: void 0,\n _nonReactive: {\n loadPromise: createControlledPromise()\n },\n __beforeLoadContext: void 0,\n context: {},\n abortController: new AbortController(),\n fetchCount: 0,\n cause,\n loaderDeps: previousMatch ? replaceEqualDeep(previousMatch.loaderDeps, loaderDeps) : loaderDeps,\n invalid: false,\n preload: false,\n links: void 0,\n scripts: void 0,\n headScripts: void 0,\n meta: void 0,\n staticData: route.options.staticData || {},\n fullPath: route.fullPath\n };\n }\n if (!opts?.preload) {\n match.globalNotFound = globalNotFoundRouteId === route.id;\n }\n match.searchError = searchError;\n const parentContext = this.getParentContext(parentMatch);\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n matches[index] = match;\n }\n for (let index = 0; index < matches.length; index++) {\n const match = matches[index];\n const route = this.looseRoutesById[match.routeId];\n const existingMatch = this.getMatch(match.id);\n const previousMatch = previousMatchesByRouteId.get(match.routeId);\n match.params = previousMatch ? replaceEqualDeep(previousMatch.params, routeParams) : routeParams;\n if (!existingMatch) {\n const parentMatch = matches[index - 1];\n const parentContext = this.getParentContext(parentMatch);\n if (route.options.context) {\n const contextFnContext = {\n deps: match.loaderDeps,\n params: match.params,\n context: parentContext ?? {},\n location: next,\n navigate: (opts2) => this.navigate({ ...opts2, _fromLocation: next }),\n buildLocation: this.buildLocation,\n cause: match.cause,\n abortController: match.abortController,\n preload: !!match.preload,\n matches,\n routeId: route.id\n };\n match.__routeContext = route.options.context(contextFnContext) ?? void 0;\n }\n match.context = {\n ...parentContext,\n ...match.__routeContext,\n ...match.__beforeLoadContext\n };\n }\n }\n return matches;\n }\n /**\n * Lightweight route matching for buildLocation.\n * Only computes fullPath, accumulated search, and params - skipping expensive\n * operations like AbortController, ControlledPromise, loaderDeps, and full match objects.\n */\n matchRoutesLightweight(location) {\n const { matchedRoutes, routeParams, parsedParams } = this.getMatchedRoutes(\n location.pathname\n );\n const lastRoute = last(matchedRoutes);\n const accumulatedSearch = { ...location.search };\n for (const route of matchedRoutes) {\n try {\n Object.assign(\n accumulatedSearch,\n validateSearch(route.options.validateSearch, accumulatedSearch)\n );\n } catch {\n }\n }\n const lastStateMatch = last(this.state.matches);\n const canReuseParams = lastStateMatch && lastStateMatch.routeId === lastRoute.id && location.pathname === this.state.location.pathname;\n let params;\n if (canReuseParams) {\n params = lastStateMatch.params;\n } else {\n const strictParams = { ...routeParams };\n for (const route of matchedRoutes) {\n try {\n extractStrictParams(\n route,\n routeParams,\n parsedParams ?? {},\n strictParams\n );\n } catch {\n }\n }\n params = strictParams;\n }\n return {\n matchedRoutes,\n fullPath: lastRoute.fullPath,\n search: accumulatedSearch,\n params\n };\n }\n}\nclass SearchParamError extends Error {\n}\nclass PathParamError extends Error {\n}\nconst normalize = (str) => str.endsWith(\"/\") && str.length > 1 ? str.slice(0, -1) : str;\nfunction comparePaths(a, b) {\n return normalize(a) === normalize(b);\n}\nfunction lazyFn(fn, key) {\n return async (...args) => {\n const imported = await fn();\n return imported[key || \"default\"](...args);\n };\n}\nfunction getInitialRouterState(location) {\n return {\n loadedAt: 0,\n isLoading: false,\n isTransitioning: false,\n status: \"idle\",\n resolvedLocation: void 0,\n location,\n matches: [],\n pendingMatches: [],\n cachedMatches: [],\n statusCode: 200\n };\n}\nfunction validateSearch(validateSearch2, input) {\n if (validateSearch2 == null) return {};\n if (\"~standard\" in validateSearch2) {\n const result = validateSearch2[\"~standard\"].validate(input);\n if (result instanceof Promise)\n throw new SearchParamError(\"Async validation not supported\");\n if (result.issues)\n throw new SearchParamError(JSON.stringify(result.issues, void 0, 2), {\n cause: result\n });\n return result.value;\n }\n if (\"parse\" in validateSearch2) {\n return validateSearch2.parse(input);\n }\n if (typeof validateSearch2 === \"function\") {\n return validateSearch2(input);\n }\n return {};\n}\nfunction getMatchedRoutes({\n pathname,\n routesById,\n processedTree\n}) {\n const routeParams = {};\n const trimmedPath = trimPathRight(pathname);\n let foundRoute = void 0;\n let parsedParams = void 0;\n const match = findRouteMatch(trimmedPath, processedTree, true);\n if (match) {\n foundRoute = match.route;\n Object.assign(routeParams, match.rawParams);\n parsedParams = Object.assign({}, match.parsedParams);\n }\n const matchedRoutes = match?.branch || [routesById[rootRouteId]];\n return { matchedRoutes, routeParams, foundRoute, parsedParams };\n}\nfunction applySearchMiddleware({\n search,\n dest,\n destRoutes,\n _includeValidateSearch\n}) {\n const middleware = buildMiddlewareChain(destRoutes);\n return middleware(search, dest, _includeValidateSearch ?? false);\n}\nfunction buildMiddlewareChain(destRoutes) {\n const context = {\n dest: null,\n _includeValidateSearch: false,\n middlewares: []\n };\n for (const route of destRoutes) {\n if (\"search\" in route.options) {\n if (route.options.search?.middlewares) {\n context.middlewares.push(...route.options.search.middlewares);\n }\n } else if (route.options.preSearchFilters || route.options.postSearchFilters) {\n const legacyMiddleware = ({ search, next }) => {\n let nextSearch = search;\n if (\"preSearchFilters\" in route.options && route.options.preSearchFilters) {\n nextSearch = route.options.preSearchFilters.reduce(\n (prev, next2) => next2(prev),\n search\n );\n }\n const result = next(nextSearch);\n if (\"postSearchFilters\" in route.options && route.options.postSearchFilters) {\n return route.options.postSearchFilters.reduce(\n (prev, next2) => next2(prev),\n result\n );\n }\n return result;\n };\n context.middlewares.push(legacyMiddleware);\n }\n if (route.options.validateSearch) {\n const validate = ({ search, next }) => {\n const result = next(search);\n if (!context._includeValidateSearch) return result;\n try {\n const validatedSearch = {\n ...result,\n ...validateSearch(route.options.validateSearch, result) ?? void 0\n };\n return validatedSearch;\n } catch {\n return result;\n }\n };\n context.middlewares.push(validate);\n }\n }\n const final = ({ search }) => {\n const dest = context.dest;\n if (!dest.search) {\n return {};\n }\n if (dest.search === true) {\n return search;\n }\n return functionalUpdate(dest.search, search);\n };\n context.middlewares.push(final);\n const applyNext = (index, currentSearch, middlewares) => {\n if (index >= middlewares.length) {\n return currentSearch;\n }\n const middleware = middlewares[index];\n const next = (newSearch) => {\n return applyNext(index + 1, newSearch, middlewares);\n };\n return middleware({ search: currentSearch, next });\n };\n return function middleware(search, dest, _includeValidateSearch) {\n context.dest = dest;\n context._includeValidateSearch = _includeValidateSearch;\n return applyNext(0, search, context.middlewares);\n };\n}\nfunction findGlobalNotFoundRouteId(notFoundMode, routes) {\n if (notFoundMode !== \"root\") {\n for (let i = routes.length - 1; i >= 0; i--) {\n const route = routes[i];\n if (route.children) {\n return route.id;\n }\n }\n }\n return rootRouteId;\n}\nfunction extractStrictParams(route, referenceParams, parsedParams, accumulatedParams) {\n const parseParams = route.options.params?.parse ?? route.options.parseParams;\n if (parseParams) {\n if (route.options.skipRouteOnParseError) {\n for (const key in referenceParams) {\n if (key in parsedParams) {\n accumulatedParams[key] = parsedParams[key];\n }\n }\n } else {\n const result = parseParams(accumulatedParams);\n Object.assign(accumulatedParams, result);\n }\n }\n}\nexport {\n PathParamError,\n RouterCore,\n SearchParamError,\n defaultSerializeError,\n getInitialRouterState,\n getLocationChangeInfo,\n getMatchedRoutes,\n lazyFn,\n trailingSlashOptions\n};\n//# sourceMappingURL=router.js.map\n","import { defaultSerializeError } from \"./router.js\";\nconst TSR_DEFERRED_PROMISE = /* @__PURE__ */ Symbol.for(\"TSR_DEFERRED_PROMISE\");\nfunction defer(_promise, options) {\n const promise = _promise;\n if (promise[TSR_DEFERRED_PROMISE]) {\n return promise;\n }\n promise[TSR_DEFERRED_PROMISE] = { status: \"pending\" };\n promise.then((data) => {\n promise[TSR_DEFERRED_PROMISE].status = \"success\";\n promise[TSR_DEFERRED_PROMISE].data = data;\n }).catch((error) => {\n promise[TSR_DEFERRED_PROMISE].status = \"error\";\n promise[TSR_DEFERRED_PROMISE].error = {\n data: (options?.serializeError ?? defaultSerializeError)(error),\n __isServerError: true\n };\n });\n return promise;\n}\nexport {\n TSR_DEFERRED_PROMISE,\n defer\n};\n//# sourceMappingURL=defer.js.map\n","const preloadWarning = \"Error preloading route! ☝️\";\nexport {\n preloadWarning\n};\n//# sourceMappingURL=link.js.map\n","const isMatch = (match, path) => {\n const parts = path.split(\".\");\n let part;\n let i = 0;\n let value = match;\n while ((part = parts[i++]) != null && value != null) {\n value = value[part];\n }\n return value != null;\n};\nexport {\n isMatch\n};\n//# sourceMappingURL=Matches.js.map\n","import invariant from \"tiny-invariant\";\nimport { trimPathLeft, joinPaths, trimPathRight } from \"./path.js\";\nimport { notFound } from \"./not-found.js\";\nimport { redirect } from \"./redirect.js\";\nimport { rootRouteId } from \"./root.js\";\nclass BaseRoute {\n constructor(options) {\n this.init = (opts) => {\n this.originalIndex = opts.originalIndex;\n const options2 = this.options;\n const isRoot = !options2?.path && !options2?.id;\n this.parentRoute = this.options.getParentRoute?.();\n if (isRoot) {\n this._path = rootRouteId;\n } else if (!this.parentRoute) {\n invariant(\n false,\n `Child Route instances must pass a 'getParentRoute: () => ParentRoute' option that returns a Route instance.`\n );\n }\n let path = isRoot ? rootRouteId : options2?.path;\n if (path && path !== \"/\") {\n path = trimPathLeft(path);\n }\n const customId = options2?.id || path;\n let id = isRoot ? rootRouteId : joinPaths([\n this.parentRoute.id === rootRouteId ? \"\" : this.parentRoute.id,\n customId\n ]);\n if (path === rootRouteId) {\n path = \"/\";\n }\n if (id !== rootRouteId) {\n id = joinPaths([\"/\", id]);\n }\n const fullPath = id === rootRouteId ? \"/\" : joinPaths([this.parentRoute.fullPath, path]);\n this._path = path;\n this._id = id;\n this._fullPath = fullPath;\n this._to = trimPathRight(fullPath);\n };\n this.addChildren = (children) => {\n return this._addFileChildren(children);\n };\n this._addFileChildren = (children) => {\n if (Array.isArray(children)) {\n this.children = children;\n }\n if (typeof children === \"object\" && children !== null) {\n this.children = Object.values(children);\n }\n return this;\n };\n this._addFileTypes = () => {\n return this;\n };\n this.updateLoader = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.update = (options2) => {\n Object.assign(this.options, options2);\n return this;\n };\n this.lazy = (lazyFn) => {\n this.lazyFn = lazyFn;\n return this;\n };\n this.redirect = (opts) => redirect({ from: this.fullPath, ...opts });\n this.options = options || {};\n this.isRoot = !options?.getParentRoute;\n if (options?.id && options?.path) {\n throw new Error(`Route cannot have both an 'id' and a 'path' option.`);\n }\n }\n get to() {\n return this._to;\n }\n get id() {\n return this._id;\n }\n get path() {\n return this._path;\n }\n get fullPath() {\n return this._fullPath;\n }\n}\nclass BaseRouteApi {\n constructor({ id }) {\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.redirect = (opts) => redirect({ from: this.id, ...opts });\n this.id = id;\n }\n}\nclass BaseRootRoute extends BaseRoute {\n constructor(options) {\n super(options);\n }\n}\nexport {\n BaseRootRoute,\n BaseRoute,\n BaseRouteApi\n};\n//# sourceMappingURL=route.js.map\n","const createRouterConfig = (options) => {\n return {\n serializationAdapters: options.serializationAdapters,\n defaultSsr: options.defaultSsr\n };\n};\nexport {\n createRouterConfig\n};\n//# sourceMappingURL=config.js.map\n","import { deepEqual } from \"./utils.js\";\nfunction retainSearchParams(keys) {\n return ({ search, next }) => {\n const result = next(search);\n if (keys === true) {\n return { ...search, ...result };\n }\n const copy = { ...result };\n keys.forEach((key) => {\n if (!(key in copy)) {\n copy[key] = search[key];\n }\n });\n return copy;\n };\n}\nfunction stripSearchParams(input) {\n return ({ search, next }) => {\n if (input === true) {\n return {};\n }\n const result = { ...next(search) };\n if (Array.isArray(input)) {\n input.forEach((key) => {\n delete result[key];\n });\n } else {\n Object.entries(input).forEach(\n ([key, value]) => {\n if (deepEqual(result[key], value)) {\n delete result[key];\n }\n }\n );\n }\n return result;\n };\n}\nexport {\n retainSearchParams,\n stripSearchParams\n};\n//# sourceMappingURL=searchMiddleware.js.map\n","var L=(i=>(i[i.AggregateError=1]=\"AggregateError\",i[i.ArrowFunction=2]=\"ArrowFunction\",i[i.ErrorPrototypeStack=4]=\"ErrorPrototypeStack\",i[i.ObjectAssign=8]=\"ObjectAssign\",i[i.BigIntTypedArray=16]=\"BigIntTypedArray\",i[i.RegExp=32]=\"RegExp\",i))(L||{});var v=Symbol.asyncIterator,mr=Symbol.hasInstance,R=Symbol.isConcatSpreadable,C=Symbol.iterator,pr=Symbol.match,dr=Symbol.matchAll,gr=Symbol.replace,yr=Symbol.search,Nr=Symbol.species,br=Symbol.split,vr=Symbol.toPrimitive,P=Symbol.toStringTag,Cr=Symbol.unscopables;var rt={0:\"Symbol.asyncIterator\",1:\"Symbol.hasInstance\",2:\"Symbol.isConcatSpreadable\",3:\"Symbol.iterator\",4:\"Symbol.match\",5:\"Symbol.matchAll\",6:\"Symbol.replace\",7:\"Symbol.search\",8:\"Symbol.species\",9:\"Symbol.split\",10:\"Symbol.toPrimitive\",11:\"Symbol.toStringTag\",12:\"Symbol.unscopables\"},ve={[v]:0,[mr]:1,[R]:2,[C]:3,[pr]:4,[dr]:5,[gr]:6,[yr]:7,[Nr]:8,[br]:9,[vr]:10,[P]:11,[Cr]:12},tt={0:v,1:mr,2:R,3:C,4:pr,5:dr,6:gr,7:yr,8:Nr,9:br,10:vr,11:P,12:Cr},nt={2:\"!0\",3:\"!1\",1:\"void 0\",0:\"null\",4:\"-0\",5:\"1/0\",6:\"-1/0\",7:\"0/0\"},o=void 0,ot={2:!0,3:!1,1:o,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var Ce={0:\"Error\",1:\"EvalError\",2:\"RangeError\",3:\"ReferenceError\",4:\"SyntaxError\",5:\"TypeError\",6:\"URIError\"},at={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function c(e,r,t,n,a,s,i,u,l,g,S,d){return{t:e,i:r,s:t,c:n,m:a,p:s,e:i,a:u,f:l,b:g,o:S,l:d}}function F(e){return c(2,o,e,o,o,o,o,o,o,o,o,o)}var J=F(2),Z=F(3),Ae=F(1),Ee=F(0),st=F(4),it=F(5),ut=F(6),lt=F(7);function fn(e){switch(e){case'\"':return'\\\\\"';case\"\\\\\":return\"\\\\\\\\\";case`\n`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\b\":return\"\\\\b\";case\"\t\":return\"\\\\t\";case\"\\f\":return\"\\\\f\";case\"<\":return\"\\\\x3C\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:return o}}function y(e){let r=\"\",t=0,n;for(let a=0,s=e.length;a<s;a++)n=fn(e[a]),n&&(r+=e.slice(t,a)+n,t=a+1);return t===0?r=e:r+=e.slice(t),r}function Sn(e){switch(e){case\"\\\\\\\\\":return\"\\\\\";case'\\\\\"':return'\"';case\"\\\\n\":return`\n`;case\"\\\\r\":return\"\\r\";case\"\\\\b\":return\"\\b\";case\"\\\\t\":return\"\t\";case\"\\\\f\":return\"\\f\";case\"\\\\x3C\":return\"<\";case\"\\\\u2028\":return\"\\u2028\";case\"\\\\u2029\":return\"\\u2029\";default:return e}}function B(e){return e.replace(/(\\\\\\\\|\\\\\"|\\\\n|\\\\r|\\\\b|\\\\t|\\\\f|\\\\u2028|\\\\u2029|\\\\x3C)/g,Sn)}var U=\"__SEROVAL_REFS__\",ce=\"$R\",Ie=`self.${ce}`;function mn(e){return e==null?`${Ie}=${Ie}||[]`:`(${Ie}=${Ie}||{})[\"${y(e)}\"]=[]`}var Ar=new Map,j=new Map;function pn(e,r){return Ar.set(r,e),j.set(e,r),r}function Er(e){return Ar.has(e)}function dn(e){return j.has(e)}function ct(e){if(Er(e))return Ar.get(e);throw new Re(e)}function ft(e){if(dn(e))return j.get(e);throw new Pe(e)}typeof globalThis!=\"undefined\"?Object.defineProperty(globalThis,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof window!=\"undefined\"?Object.defineProperty(window,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof self!=\"undefined\"?Object.defineProperty(self,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof global!=\"undefined\"&&Object.defineProperty(global,U,{value:j,configurable:!0,writable:!1,enumerable:!1});function xe(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function gn(e){let r=Ce[xe(e)];return e.name!==r?{name:e.name}:e.constructor.name!==r?{name:e.constructor.name}:{}}function $(e,r){let t=gn(e),n=Object.getOwnPropertyNames(e);for(let a=0,s=n.length,i;a<s;a++)i=n[a],i!==\"name\"&&i!==\"message\"&&(i===\"stack\"?r&4&&(t=t||{},t[i]=e[i]):(t=t||{},t[i]=e[i]));return t}function Oe(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function Te(e){switch(e){case Number.POSITIVE_INFINITY:return it;case Number.NEGATIVE_INFINITY:return ut}return e!==e?lt:Object.is(e,-0)?st:c(0,o,e,o,o,o,o,o,o,o,o,o)}function X(e){return c(1,o,y(e),o,o,o,o,o,o,o,o,o)}function we(e){return c(3,o,\"\"+e,o,o,o,o,o,o,o,o,o)}function mt(e){return c(4,e,o,o,o,o,o,o,o,o,o,o)}function he(e,r){let t=r.valueOf();return c(5,e,t!==t?\"\":r.toISOString(),o,o,o,o,o,o,o,o,o)}function ze(e,r){return c(6,e,o,y(r.source),r.flags,o,o,o,o,o,o,o)}function pt(e,r){return c(17,e,ve[r],o,o,o,o,o,o,o,o,o)}function dt(e,r){return c(18,e,y(ct(r)),o,o,o,o,o,o,o,o,o)}function fe(e,r,t){return c(25,e,t,y(r),o,o,o,o,o,o,o,o)}function _e(e,r,t){return c(9,e,o,o,o,o,o,t,o,o,Oe(r),o)}function ke(e,r){return c(21,e,o,o,o,o,o,o,r,o,o,o)}function De(e,r,t){return c(15,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.length)}function Fe(e,r,t){return c(16,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o,r.byteLength)}function Be(e,r,t){return c(20,e,o,o,o,o,o,o,t,r.byteOffset,o,r.byteLength)}function Ve(e,r,t){return c(13,e,xe(r),o,y(r.message),t,o,o,o,o,o,o)}function Me(e,r,t){return c(14,e,xe(r),o,y(r.message),t,o,o,o,o,o,o)}function Le(e,r){return c(7,e,o,o,o,o,o,r,o,o,o,o)}function Ue(e,r){return c(28,o,o,o,o,o,o,[e,r],o,o,o,o)}function je(e,r){return c(30,o,o,o,o,o,o,[e,r],o,o,o,o)}function Ye(e,r,t){return c(31,e,o,o,o,o,o,t,r,o,o,o)}function qe(e,r){return c(32,e,o,o,o,o,o,o,r,o,o,o)}function We(e,r){return c(33,e,o,o,o,o,o,o,r,o,o,o)}function Ge(e,r){return c(34,e,o,o,o,o,o,o,r,o,o,o)}function Ke(e,r,t,n){return c(35,e,t,o,o,o,o,r,o,o,o,n)}var{toString:ys}=Object.prototype;var yn={parsing:1,serialization:2,deserialization:3};function Nn(e){return`Seroval Error (step: ${yn[e]})`}var bn=(e,r)=>Nn(e),Se=class extends Error{constructor(t,n){super(bn(t,n));this.cause=n}},z=class extends Se{constructor(r){super(\"parsing\",r)}},Ir=class extends Se{constructor(r){super(\"serialization\",r)}},He=class extends Se{constructor(r){super(\"deserialization\",r)}};function _(e){return`Seroval Error (specific: ${e})`}var x=class extends Error{constructor(t){super(_(1));this.value=t}},w=class extends Error{constructor(r){super(_(2))}},Q=class extends Error{constructor(r){super(_(3))}},V=class extends Error{constructor(r){super(_(4))}},Re=class extends Error{constructor(t){super(_(5));this.value=t}},Pe=class extends Error{constructor(r){super(_(6))}},Je=class extends Error{constructor(r){super(_(7))}},h=class extends Error{constructor(r){super(_(8))}},gt=class extends Error{constructor(r){super(_(9))}},ee=class extends Error{constructor(r){super(_(9))}};var Y=class{constructor(r,t){this.value=r;this.replacement=t}};var re=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},vn=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},Cn=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},yt=re.toString(),Nt=vn.toString(),bt=Cn.toString(),Rr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(l,g,S)=>{for(S=0;S<a;S++)r[S]&&r[S][g](l)},i=(l,g,S,d)=>{for(g=0,S=e.length;g<S;g++)d=e[g],!t&&g===S-1?l[n?\"return\":\"throw\"](d):l.next(d)},u=(l,g)=>(t&&(g=a++,r[g]=l),i(l),()=>{t&&(r[g]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:l=>u(l),next:l=>{t&&(e.push(l),s(l,\"next\"))},throw:l=>{t&&(e.push(l),s(l,\"throw\"),t=!1,n=!1,r.length=0)},return:l=>{t&&(e.push(l),s(l,\"return\"),t=!1,n=!0,r.length=0)}}},vt=Rr.toString(),Pr=e=>r=>()=>{let t=0,n={[e]:()=>n,next:()=>{if(t>r.d)return{done:!0,value:void 0};let a=t++,s=r.v[a];if(a===r.t)throw s;return{done:a===r.d,value:s}}};return n},Ct=Pr.toString(),xr=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],u=[],l=(S=0,d=u.length)=>{for(;S<d;S++)u[S].s({done:!0,value:void 0})};t.on({next:S=>{let d=u.shift();d&&d.s({done:!1,value:S}),i.push(S)},throw:S=>{let d=u.shift();d&&d.f(S),l(),a=i.length,s=!0,i.push(S)},return:S=>{let d=u.shift();d&&d.s({done:!0,value:S}),l(),a=i.length,i.push(S)}});let g={[e]:()=>g,next:()=>{if(a===-1){let K=n++;if(K>=i.length){let et=r();return u.push(et),et.p}return{done:!1,value:i[K]}}if(n>a)return{done:!0,value:void 0};let S=n++,d=i[S];if(S!==a)return{done:!1,value:d};if(s)throw d;return{done:!0,value:d}}};return g},At=xr.toString(),Or=e=>{let r=atob(e),t=r.length,n=new Uint8Array(t);for(let a=0;a<t;a++)n[a]=r.charCodeAt(a);return n.buffer},Et=Or.toString();function Ze(e){return\"__SEROVAL_SEQUENCE__\"in e}function Tr(e,r,t){return{__SEROVAL_SEQUENCE__:!0,v:e,t:r,d:t}}function $e(e){let r=[],t=-1,n=-1,a=e[C]();for(;;)try{let s=a.next();if(r.push(s.value),s.done){n=r.length-1;break}}catch(s){t=r.length,r.push(s)}return Tr(r,t,n)}var An=Pr(C);function It(e){return An(e)}var Rt={},Pt={};var xt={0:{},1:{},2:{},3:{},4:{},5:{}},Ot={0:\"[]\",1:yt,2:Nt,3:bt,4:vt,5:Et};function M(e){return\"__SEROVAL_STREAM__\"in e}function te(){return Rr()}function Xe(e){let r=te(),t=e[v]();async function n(){try{let a=await t.next();a.done?r.return(a.value):(r.next(a.value),await n())}catch(a){r.throw(a)}}return n().catch(()=>{}),r}var En=xr(v,re);function Tt(e){return En(e)}async function wr(e){try{return[1,await e]}catch(r){return[0,r]}}function pe(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:63^(r.disabledFeatures||0),refs:r.refs||new Map,depthLimit:r.depthLimit||1e3}}function de(e,r){e.marked.add(r)}function hr(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function Qe(e,r){let t=e.refs.get(r);return t!=null?(de(e,t),{type:1,value:mt(t)}):{type:0,value:hr(e,r)}}function q(e,r){let t=Qe(e,r);return t.type===1?t:Er(r)?{type:2,value:dt(t.value,r)}:t}function I(e,r){let t=q(e,r);if(t.type!==0)return t.value;if(r in ve)return pt(t.value,r);throw new x(r)}function k(e,r){let t=Qe(e,xt[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o,o)}function er(e){let r=Qe(e,Rt);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,I(e,C),o,o,o)}function rr(e){let r=Qe(e,Pt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,[k(e,1),I(e,v)],o,o,o,o)}function tr(e,r,t,n){return c(t?11:10,e,o,o,o,n,o,o,o,o,Oe(r),o)}function nr(e,r,t,n){return c(8,r,o,o,o,o,{k:t,v:n},o,k(e,0),o,o,o)}function ht(e,r,t){return c(22,r,t,o,o,o,o,o,k(e,1),o,o,o)}function or(e,r,t){let n=new Uint8Array(t),a=\"\";for(let s=0,i=n.length;s<i;s++)a+=String.fromCharCode(n[s]);return c(19,r,y(btoa(a)),o,o,o,o,o,k(e,5),o,o,o)}function ne(e,r){return{base:pe(e,r),child:void 0}}var _r=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return N(this._p,this.depth,r)}};async function Rn(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=await N(e,r,t[a]):n[a]=0;return n}async function Pn(e,r,t,n){return _e(t,n,await Rn(e,r,n))}async function kr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(await N(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(Ue(er(e.base),await N(e,r,$e(t))))),v in t&&(a.push(I(e.base,v)),s.push(je(rr(e.base),await N(e,r,Xe(t))))),P in t&&(a.push(I(e.base,P)),s.push(X(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?J:Z)),{k:a,v:s}}async function zr(e,r,t,n,a){return tr(t,n,a,await kr(e,r,n))}async function xn(e,r,t,n){return ke(t,await N(e,r,n.valueOf()))}async function On(e,r,t,n){return De(t,n,await N(e,r,n.buffer))}async function Tn(e,r,t,n){return Fe(t,n,await N(e,r,n.buffer))}async function wn(e,r,t,n){return Be(t,n,await N(e,r,n.buffer))}async function zt(e,r,t,n){let a=$(n,e.base.features);return Ve(t,n,a?await kr(e,r,a):o)}async function hn(e,r,t,n){let a=$(n,e.base.features);return Me(t,n,a?await kr(e,r,a):o)}async function zn(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(await N(e,r,i)),s.push(await N(e,r,u));return nr(e.base,t,a,s)}async function _n(e,r,t,n){let a=[];for(let s of n.keys())a.push(await N(e,r,s));return Le(t,a)}async function _t(e,r,t,n){let a=e.base.plugins;if(a)for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.async&&u.test(n))return fe(t,u.tag,await u.parse.async(n,new _r(e,r),{id:t}))}return o}async function kn(e,r,t,n){let[a,s]=await wr(n);return c(12,t,a,o,o,o,o,o,await N(e,r,s),o,o,o)}function Dn(e,r,t,n,a){let s=[],i=t.on({next:u=>{de(this.base,r),N(this,e,u).then(l=>{s.push(qe(r,l))},l=>{a(l),i()})},throw:u=>{de(this.base,r),N(this,e,u).then(l=>{s.push(We(r,l)),n(s),i()},l=>{a(l),i()})},return:u=>{de(this.base,r),N(this,e,u).then(l=>{s.push(Ge(r,l)),n(s),i()},l=>{a(l),i()})}})}async function Fn(e,r,t,n){return Ye(t,k(e.base,4),await new Promise(Dn.bind(e,r,t,n)))}async function Bn(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=await N(e,r,n.v[s]);return Ke(t,a,n.t,n.d)}async function Vn(e,r,t,n){if(Array.isArray(n))return Pn(e,r,t,n);if(M(n))return Fn(e,r,t,n);if(Ze(n))return Bn(e,r,t,n);let a=n.constructor;if(a===Y)return N(e,r,n.replacement);let s=await _t(e,r,t,n);if(s)return s;switch(a){case Object:return zr(e,r,t,n,!1);case o:return zr(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return zt(e,r,t,n);case Number:case Boolean:case String:case BigInt:return xn(e,r,t,n);case ArrayBuffer:return or(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return On(e,r,t,n);case DataView:return wn(e,r,t,n);case Map:return zn(e,r,t,n);case Set:return _n(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return kn(e,r,t,n);let i=e.base.features;if(i&32&&a===RegExp)return ze(t,n);if(i&16)switch(a){case BigInt64Array:case BigUint64Array:return Tn(e,r,t,n);default:break}if(i&1&&typeof AggregateError!=\"undefined\"&&(a===AggregateError||n instanceof AggregateError))return hn(e,r,t,n);if(n instanceof Error)return zt(e,r,t,n);if(C in n||v in n)return zr(e,r,t,n,!!a);throw new x(n)}async function Mn(e,r,t){let n=q(e.base,t);if(n.type!==0)return n.value;let a=await _t(e,r,n.value,t);if(a)return a;throw new x(t)}async function N(e,r,t){switch(typeof t){case\"boolean\":return t?J:Z;case\"undefined\":return Ae;case\"string\":return X(t);case\"number\":return Te(t);case\"bigint\":return we(t);case\"object\":{if(t){let n=q(e.base,t);return n.type===0?await Vn(e,r+1,n.value,t):n.value}return Ee}case\"symbol\":return I(e.base,t);case\"function\":return Mn(e,r,t);default:throw new x(t)}}async function oe(e,r){try{return await N(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}var ae=(t=>(t[t.Vanilla=1]=\"Vanilla\",t[t.Cross=2]=\"Cross\",t))(ae||{});function ni(e){return e}function kt(e,r){for(let t=0,n=r.length;t<n;t++){let a=r[t];e.has(a)||(e.add(a),a.extends&&kt(e,a.extends))}}function A(e){if(e){let r=new Set;return kt(r,e),[...r]}}function Dt(e){switch(e){case\"Int8Array\":return Int8Array;case\"Int16Array\":return Int16Array;case\"Int32Array\":return Int32Array;case\"Uint8Array\":return Uint8Array;case\"Uint16Array\":return Uint16Array;case\"Uint32Array\":return Uint32Array;case\"Uint8ClampedArray\":return Uint8ClampedArray;case\"Float32Array\":return Float32Array;case\"Float64Array\":return Float64Array;case\"BigInt64Array\":return BigInt64Array;case\"BigUint64Array\":return BigUint64Array;default:throw new Je(e)}}var Ln=1e6,Un=1e4,jn=2e4;function Bt(e,r){switch(r){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}var Yn=1e3;function Vt(e,r){var t;return{mode:e,plugins:r.plugins,refs:r.refs||new Map,features:(t=r.features)!=null?t:63^(r.disabledFeatures||0),depthLimit:r.depthLimit||Yn}}function Mt(e){return{mode:1,base:Vt(1,e),child:o,state:{marked:new Set(e.markedRefs)}}}function Lt(e){return{mode:2,base:Vt(2,e),child:o}}var Dr=class{constructor(r,t){this._p=r;this.depth=t}deserialize(r){return p(this._p,this.depth,r)}};function Ut(e,r){if(r<0||!Number.isFinite(r)||!Number.isInteger(r))throw new h({t:4,i:r});if(e.refs.has(r))throw new Error(\"Conflicted ref id: \"+r)}function qn(e,r,t){return Ut(e.base,r),e.state.marked.has(r)&&e.base.refs.set(r,t),t}function Wn(e,r,t){return Ut(e.base,r),e.base.refs.set(r,t),t}function b(e,r,t){return e.mode===1?qn(e,r,t):Wn(e,r,t)}function Fr(e,r,t){if(Object.hasOwn(r,t))return r[t];throw new h(e)}function Gn(e,r){return b(e,r.i,ft(B(r.s)))}function Kn(e,r,t){let n=t.a,a=n.length,s=b(e,t.i,new Array(a));for(let i=0,u;i<a;i++)u=n[i],u&&(s[i]=p(e,r,u));return Bt(s,t.o),s}function Hn(e){switch(e){case\"constructor\":case\"__proto__\":case\"prototype\":case\"__defineGetter__\":case\"__defineSetter__\":case\"__lookupGetter__\":case\"__lookupSetter__\":return!1;default:return!0}}function Jn(e){switch(e){case v:case R:case P:case C:return!0;default:return!1}}function Ft(e,r,t){Hn(r)?e[r]=t:Object.defineProperty(e,r,{value:t,configurable:!0,enumerable:!0,writable:!0})}function Zn(e,r,t,n,a){if(typeof n==\"string\")Ft(t,n,p(e,r,a));else{let s=p(e,r,n);switch(typeof s){case\"string\":Ft(t,s,p(e,r,a));break;case\"symbol\":Jn(s)&&(t[s]=p(e,r,a));break;default:throw new h(n)}}}function jt(e,r,t,n){let a=t.k;if(a.length>0)for(let i=0,u=t.v,l=a.length;i<l;i++)Zn(e,r,n,a[i],u[i]);return n}function $n(e,r,t){let n=b(e,t.i,t.t===10?{}:Object.create(null));return jt(e,r,t.p,n),Bt(n,t.o),n}function Xn(e,r){return b(e,r.i,new Date(r.s))}function Qn(e,r){if(e.base.features&32){let t=B(r.c);if(t.length>jn)throw new h(r);return b(e,r.i,new RegExp(t,r.m))}throw new w(r)}function eo(e,r,t){let n=b(e,t.i,new Set);for(let a=0,s=t.a,i=s.length;a<i;a++)n.add(p(e,r,s[a]));return n}function ro(e,r,t){let n=b(e,t.i,new Map);for(let a=0,s=t.e.k,i=t.e.v,u=s.length;a<u;a++)n.set(p(e,r,s[a]),p(e,r,i[a]));return n}function to(e,r){if(r.s.length>Ln)throw new h(r);return b(e,r.i,Or(B(r.s)))}function no(e,r,t){var u;let n=Dt(t.c),a=p(e,r,t.f),s=(u=t.b)!=null?u:0;if(s<0||s>a.byteLength)throw new h(t);return b(e,t.i,new n(a,s,t.l))}function oo(e,r,t){var i;let n=p(e,r,t.f),a=(i=t.b)!=null?i:0;if(a<0||a>n.byteLength)throw new h(t);return b(e,t.i,new DataView(n,a,t.l))}function Yt(e,r,t,n){if(t.p){let a=jt(e,r,t.p,{});Object.defineProperties(n,Object.getOwnPropertyDescriptors(a))}return n}function ao(e,r,t){let n=b(e,t.i,new AggregateError([],B(t.m)));return Yt(e,r,t,n)}function so(e,r,t){let n=Fr(t,at,t.s),a=b(e,t.i,new n(B(t.m)));return Yt(e,r,t,a)}function io(e,r,t){let n=re(),a=b(e,t.i,n.p),s=p(e,r,t.f);return t.s?n.s(s):n.f(s),a}function uo(e,r,t){return b(e,t.i,Object(p(e,r,t.f)))}function lo(e,r,t){let n=e.base.plugins;if(n){let a=B(t.c);for(let s=0,i=n.length;s<i;s++){let u=n[s];if(u.tag===a)return b(e,t.i,u.deserialize(t.s,new Dr(e,r),{id:t.i}))}}throw new Q(t.c)}function co(e,r){return b(e,r.i,b(e,r.s,re()).p)}function fo(e,r,t){let n=e.base.refs.get(t.i);if(n)return n.s(p(e,r,t.a[1])),o;throw new V(\"Promise\")}function So(e,r,t){let n=e.base.refs.get(t.i);if(n)return n.f(p(e,r,t.a[1])),o;throw new V(\"Promise\")}function mo(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return It(n)}function po(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return Tt(n)}function go(e,r,t){let n=b(e,t.i,te()),a=t.a,s=a.length;if(s)for(let i=0;i<s;i++)p(e,r,a[i]);return n}function yo(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.next(p(e,r,t.f)),o;throw new V(\"Stream\")}function No(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.throw(p(e,r,t.f)),o;throw new V(\"Stream\")}function bo(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.return(p(e,r,t.f)),o;throw new V(\"Stream\")}function vo(e,r,t){return p(e,r,t.f),o}function Co(e,r,t){return p(e,r,t.a[1]),o}function Ao(e,r,t){let n=b(e,t.i,Tr([],t.s,t.l));for(let a=0,s=t.a.length;a<s;a++)n.v[a]=p(e,r,t.a[a]);return n}function p(e,r,t){if(r>e.base.depthLimit)throw new ee(e.base.depthLimit);switch(r+=1,t.t){case 2:return Fr(t,ot,t.s);case 0:return Number(t.s);case 1:return B(String(t.s));case 3:if(String(t.s).length>Un)throw new h(t);return BigInt(t.s);case 4:return e.base.refs.get(t.i);case 18:return Gn(e,t);case 9:return Kn(e,r,t);case 10:case 11:return $n(e,r,t);case 5:return Xn(e,t);case 6:return Qn(e,t);case 7:return eo(e,r,t);case 8:return ro(e,r,t);case 19:return to(e,t);case 16:case 15:return no(e,r,t);case 20:return oo(e,r,t);case 14:return ao(e,r,t);case 13:return so(e,r,t);case 12:return io(e,r,t);case 17:return Fr(t,tt,t.s);case 21:return uo(e,r,t);case 25:return lo(e,r,t);case 22:return co(e,t);case 23:return fo(e,r,t);case 24:return So(e,r,t);case 28:return mo(e,r,t);case 30:return po(e,r,t);case 31:return go(e,r,t);case 32:return yo(e,r,t);case 33:return No(e,r,t);case 34:return bo(e,r,t);case 27:return vo(e,r,t);case 29:return Co(e,r,t);case 35:return Ao(e,r,t);default:throw new w(t)}}function ar(e,r){try{return p(e,0,r)}catch(t){throw new He(t)}}var Eo=()=>T,Io=Eo.toString(),qt=/=>/.test(Io);function sr(e,r){return qt?(e.length===1?e[0]:\"(\"+e.join(\",\")+\")\")+\"=>\"+(r.startsWith(\"{\")?\"(\"+r+\")\":r):\"function(\"+e.join(\",\")+\"){return \"+r+\"}\"}function Wt(e,r){return qt?(e.length===1?e[0]:\"(\"+e.join(\",\")+\")\")+\"=>{\"+r+\"}\":\"function(\"+e.join(\",\")+\"){\"+r+\"}\"}var Ht=\"hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_\",Gt=Ht.length,Jt=\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_\",Kt=Jt.length;function Br(e){let r=e%Gt,t=Ht[r];for(e=(e-r)/Gt;e>0;)r=e%Kt,t+=Jt[r],e=(e-r)/Kt;return t}var Ro=/^[$A-Z_][0-9A-Z_$]*$/i;function Vr(e){let r=e[0];return(r===\"$\"||r===\"_\"||r>=\"A\"&&r<=\"Z\"||r>=\"a\"&&r<=\"z\")&&Ro.test(e)}function ye(e){switch(e.t){case 0:return e.s+\"=\"+e.v;case 2:return e.s+\".set(\"+e.k+\",\"+e.v+\")\";case 1:return e.s+\".add(\"+e.v+\")\";case 3:return e.s+\".delete(\"+e.k+\")\"}}function Po(e){let r=[],t=e[0];for(let n=1,a=e.length,s,i=t;n<a;n++)s=e[n],s.t===0&&s.v===i.v?t={t:0,s:s.s,k:o,v:ye(t)}:s.t===2&&s.s===i.s?t={t:2,s:ye(t),k:s.k,v:s.v}:s.t===1&&s.s===i.s?t={t:1,s:ye(t),k:o,v:s.v}:s.t===3&&s.s===i.s?t={t:3,s:ye(t),k:s.k,v:o}:(r.push(t),t=s),i=s;return r.push(t),r}function tn(e){if(e.length){let r=\"\",t=Po(e);for(let n=0,a=t.length;n<a;n++)r+=ye(t[n])+\",\";return r}return o}var xo=\"Object.create(null)\",Oo=\"new Set\",To=\"new Map\",wo=\"Promise.resolve\",ho=\"Promise.reject\",zo={3:\"Object.freeze\",2:\"Object.seal\",1:\"Object.preventExtensions\",0:o};function nn(e,r){return{mode:e,plugins:r.plugins,features:r.features,marked:new Set(r.markedRefs),stack:[],flags:[],assignments:[]}}function _o(){return{valid:new Map,vars:[]}}function ir(e){return{mode:1,base:nn(1,e),state:_o(),child:o}}function ur(e){return{mode:2,base:nn(2,e),state:e,child:o}}var Mr=class{constructor(r){this._p=r}serialize(r){return f(this._p,r)}};function ko(e,r){let t=e.valid.get(r);t==null&&(t=e.valid.size,e.valid.set(r,t));let n=e.vars[t];return n==null&&(n=Br(t),e.vars[t]=n),n}function Do(e){return ce+\"[\"+e+\"]\"}function m(e,r){return e.mode===1?ko(e.state,r):Do(r)}function O(e,r){e.marked.add(r)}function Lr(e,r){return e.marked.has(r)}function jr(e,r,t){r!==0&&(O(e.base,t),e.base.flags.push({type:r,value:m(e,t)}))}function Fo(e){let r=\"\";for(let t=0,n=e.flags,a=n.length;t<a;t++){let s=n[t];r+=zo[s.type]+\"(\"+s.value+\"),\"}return r}function on(e){let r=tn(e.assignments),t=Fo(e);return r?t?r+t:r:t}function Yr(e,r,t){e.assignments.push({t:0,s:r,k:o,v:t})}function Bo(e,r,t){e.base.assignments.push({t:1,s:m(e,r),k:o,v:t})}function ge(e,r,t,n){e.base.assignments.push({t:2,s:m(e,r),k:t,v:n})}function Zt(e,r,t){e.base.assignments.push({t:3,s:m(e,r),k:t,v:o})}function Ne(e,r,t,n){Yr(e.base,m(e,r)+\"[\"+t+\"]\",n)}function Ur(e,r,t,n){Yr(e.base,m(e,r)+\".\"+t,n)}function Vo(e,r,t,n){Yr(e.base,m(e,r)+\".v[\"+t+\"]\",n)}function D(e,r){return r.t===4&&e.stack.includes(r.i)}function se(e,r,t){return e.mode===1&&!Lr(e.base,r)?t:m(e,r)+\"=\"+t}function Mo(e){return U+'.get(\"'+e.s+'\")'}function $t(e,r,t,n){return t?D(e.base,t)?(O(e.base,r),Ne(e,r,n,m(e,t.i)),\"\"):f(e,t):\"\"}function Lo(e,r){let t=r.i,n=r.a,a=n.length;if(a>0){e.base.stack.push(t);let s=$t(e,t,n[0],0),i=s===\"\";for(let u=1,l;u<a;u++)l=$t(e,t,n[u],u),s+=\",\"+l,i=l===\"\";return e.base.stack.pop(),jr(e,r.o,r.i),\"[\"+s+(i?\",]\":\"]\")}return\"[]\"}function Xt(e,r,t,n){if(typeof t==\"string\"){let a=Number(t),s=a>=0&&a.toString()===t||Vr(t);if(D(e.base,n)){let i=m(e,n.i);return O(e.base,r.i),s&&a!==a?Ur(e,r.i,t,i):Ne(e,r.i,s?t:'\"'+t+'\"',i),\"\"}return(s?t:'\"'+t+'\"')+\":\"+f(e,n)}return\"[\"+f(e,t)+\"]:\"+f(e,n)}function an(e,r,t){let n=t.k,a=n.length;if(a>0){let s=t.v;e.base.stack.push(r.i);let i=Xt(e,r,n[0],s[0]);for(let u=1,l=i;u<a;u++)l=Xt(e,r,n[u],s[u]),i+=(l&&i&&\",\")+l;return e.base.stack.pop(),\"{\"+i+\"}\"}return\"{}\"}function Uo(e,r){return jr(e,r.o,r.i),an(e,r,r.p)}function jo(e,r,t,n){let a=an(e,r,t);return a!==\"{}\"?\"Object.assign(\"+n+\",\"+a+\")\":n}function Yo(e,r,t,n,a){let s=e.base,i=f(e,a),u=Number(n),l=u>=0&&u.toString()===n||Vr(n);if(D(s,a))l&&u!==u?Ur(e,r.i,n,i):Ne(e,r.i,l?n:'\"'+n+'\"',i);else{let g=s.assignments;s.assignments=t,l&&u!==u?Ur(e,r.i,n,i):Ne(e,r.i,l?n:'\"'+n+'\"',i),s.assignments=g}}function qo(e,r,t,n,a){if(typeof n==\"string\")Yo(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let u=f(e,a);s.stack=i;let l=s.assignments;s.assignments=t,Ne(e,r.i,f(e,n),u),s.assignments=l}}function Wo(e,r,t){let n=t.k,a=n.length;if(a>0){let s=[],i=t.v;e.base.stack.push(r.i);for(let u=0;u<a;u++)qo(e,r,s,n[u],i[u]);return e.base.stack.pop(),tn(s)}return o}function qr(e,r,t){if(r.p){let n=e.base;if(n.features&8)t=jo(e,r,r.p,t);else{O(n,r.i);let a=Wo(e,r,r.p);if(a)return\"(\"+se(e,r.i,t)+\",\"+a+m(e,r.i)+\")\"}}return t}function Go(e,r){return jr(e,r.o,r.i),qr(e,r,xo)}function Ko(e){return'new Date(\"'+e.s+'\")'}function Ho(e,r){if(e.base.features&32)return\"/\"+r.c+\"/\"+r.m;throw new w(r)}function Qt(e,r,t){let n=e.base;return D(n,t)?(O(n,r),Bo(e,r,m(e,t.i)),\"\"):f(e,t)}function Jo(e,r){let t=Oo,n=r.a,a=n.length,s=r.i;if(a>0){e.base.stack.push(s);let i=Qt(e,s,n[0]);for(let u=1,l=i;u<a;u++)l=Qt(e,s,n[u]),i+=(l&&i&&\",\")+l;e.base.stack.pop(),i&&(t+=\"([\"+i+\"])\")}return t}function en(e,r,t,n,a){let s=e.base;if(D(s,t)){let i=m(e,t.i);if(O(s,r),D(s,n)){let l=m(e,n.i);return ge(e,r,i,l),\"\"}if(n.t!==4&&n.i!=null&&Lr(s,n.i)){let l=\"(\"+f(e,n)+\",[\"+a+\",\"+a+\"])\";return ge(e,r,i,m(e,n.i)),Zt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,i,f(e,n)),s.stack=u,\"\"}if(D(s,n)){let i=m(e,n.i);if(O(s,r),t.t!==4&&t.i!=null&&Lr(s,t.i)){let l=\"(\"+f(e,t)+\",[\"+a+\",\"+a+\"])\";return ge(e,r,m(e,t.i),i),Zt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,f(e,t),i),s.stack=u,\"\"}return\"[\"+f(e,t)+\",\"+f(e,n)+\"]\"}function Zo(e,r){let t=To,n=r.e.k,a=n.length,s=r.i,i=r.f,u=m(e,i.i),l=e.base;if(a>0){let g=r.e.v;l.stack.push(s);let S=en(e,s,n[0],g[0],u);for(let d=1,K=S;d<a;d++)K=en(e,s,n[d],g[d],u),S+=(K&&S&&\",\")+K;l.stack.pop(),S&&(t+=\"([\"+S+\"])\")}return i.t===26&&(O(l,i.i),t=\"(\"+f(e,i)+\",\"+t+\")\"),t}function $o(e,r){return W(e,r.f)+'(\"'+r.s+'\")'}function Xo(e,r){return\"new \"+r.c+\"(\"+f(e,r.f)+\",\"+r.b+\",\"+r.l+\")\"}function Qo(e,r){return\"new DataView(\"+f(e,r.f)+\",\"+r.b+\",\"+r.l+\")\"}function ea(e,r){let t=r.i;e.base.stack.push(t);let n=qr(e,r,'new AggregateError([],\"'+r.m+'\")');return e.base.stack.pop(),n}function ra(e,r){return qr(e,r,\"new \"+Ce[r.s]+'(\"'+r.m+'\")')}function ta(e,r){let t,n=r.f,a=r.i,s=r.s?wo:ho,i=e.base;if(D(i,n)){let u=m(e,n.i);t=s+(r.s?\"().then(\"+sr([],u)+\")\":\"().catch(\"+Wt([],\"throw \"+u)+\")\")}else{i.stack.push(a);let u=f(e,n);i.stack.pop(),t=s+\"(\"+u+\")\"}return t}function na(e,r){return\"Object(\"+f(e,r.f)+\")\"}function W(e,r){let t=f(e,r);return r.t===4?t:\"(\"+t+\")\"}function oa(e,r){if(e.mode===1)throw new w(r);return\"(\"+se(e,r.s,W(e,r.f)+\"()\")+\").p\"}function aa(e,r){if(e.mode===1)throw new w(r);return W(e,r.a[0])+\"(\"+m(e,r.i)+\",\"+f(e,r.a[1])+\")\"}function sa(e,r){if(e.mode===1)throw new w(r);return W(e,r.a[0])+\"(\"+m(e,r.i)+\",\"+f(e,r.a[1])+\")\"}function ia(e,r){let t=e.base.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let s=t[n];if(s.tag===r.c)return e.child==null&&(e.child=new Mr(e)),s.serialize(r.s,e.child,{id:r.i})}throw new Q(r.c)}function ua(e,r){let t=\"\",n=!1;return r.f.t!==4&&(O(e.base,r.f.i),t=\"(\"+f(e,r.f)+\",\",n=!0),t+=se(e,r.i,\"(\"+Ct+\")(\"+m(e,r.f.i)+\")\"),n&&(t+=\")\"),t}function la(e,r){return W(e,r.a[0])+\"(\"+f(e,r.a[1])+\")\"}function ca(e,r){let t=r.a[0],n=r.a[1],a=e.base,s=\"\";t.t!==4&&(O(a,t.i),s+=\"(\"+f(e,t)),n.t!==4&&(O(a,n.i),s+=(s?\",\":\"(\")+f(e,n)),s&&(s+=\",\");let i=se(e,r.i,\"(\"+At+\")(\"+m(e,n.i)+\",\"+m(e,t.i)+\")\");return s?s+i+\")\":i}function fa(e,r){return W(e,r.a[0])+\"(\"+f(e,r.a[1])+\")\"}function Sa(e,r){let t=se(e,r.i,W(e,r.f)+\"()\"),n=r.a.length;if(n){let a=f(e,r.a[0]);for(let s=1;s<n;s++)a+=\",\"+f(e,r.a[s]);return\"(\"+t+\",\"+a+\",\"+m(e,r.i)+\")\"}return t}function ma(e,r){return m(e,r.i)+\".next(\"+f(e,r.f)+\")\"}function pa(e,r){return m(e,r.i)+\".throw(\"+f(e,r.f)+\")\"}function da(e,r){return m(e,r.i)+\".return(\"+f(e,r.f)+\")\"}function rn(e,r,t,n){let a=e.base;return D(a,n)?(O(a,r),Vo(e,r,t,m(e,n.i)),\"\"):f(e,n)}function ga(e,r){let t=r.a,n=t.length,a=r.i;if(n>0){e.base.stack.push(a);let s=rn(e,a,0,t[0]);for(let i=1,u=s;i<n;i++)u=rn(e,a,i,t[i]),s+=(u&&s&&\",\")+u;if(e.base.stack.pop(),s)return\"{__SEROVAL_SEQUENCE__:!0,v:[\"+s+\"],t:\"+r.s+\",d:\"+r.l+\"}\"}return\"{__SEROVAL_SEQUENCE__:!0,v:[],t:-1,d:0}\"}function ya(e,r){switch(r.t){case 17:return rt[r.s];case 18:return Mo(r);case 9:return Lo(e,r);case 10:return Uo(e,r);case 11:return Go(e,r);case 5:return Ko(r);case 6:return Ho(e,r);case 7:return Jo(e,r);case 8:return Zo(e,r);case 19:return $o(e,r);case 16:case 15:return Xo(e,r);case 20:return Qo(e,r);case 14:return ea(e,r);case 13:return ra(e,r);case 12:return ta(e,r);case 21:return na(e,r);case 22:return oa(e,r);case 25:return ia(e,r);case 26:return Ot[r.s];case 35:return ga(e,r);default:throw new w(r)}}function f(e,r){switch(r.t){case 2:return nt[r.s];case 0:return\"\"+r.s;case 1:return'\"'+r.s+'\"';case 3:return r.s+\"n\";case 4:return m(e,r.i);case 23:return aa(e,r);case 24:return sa(e,r);case 27:return ua(e,r);case 28:return la(e,r);case 29:return ca(e,r);case 30:return fa(e,r);case 31:return Sa(e,r);case 32:return ma(e,r);case 33:return pa(e,r);case 34:return da(e,r);default:return se(e,r.i,ya(e,r))}}function lr(e,r){let t=f(e,r);if(r.i!=null&&e.state.vars.length){let n=on(e.base),a=t;if(n){let s=m(e,r.i);a=t+\",\"+n+s,t.startsWith(s+\"=\")||(a=s+\"=\"+a),a=\"(\"+a+\")\"}return\"(\"+sr(e.state.vars,a)+\")()\"}return r.t===10?\"(\"+t+\")\":t}function cr(e,r){let t=f(e,r),n=r.i;if(n==null)return t;let a=on(e.base),s=m(e,n),i=e.state.scopeId,u=i==null?\"\":ce,l=a?\"(\"+t+\",\"+a+s+\")\":t;if(u===\"\")return r.t===10&&!a?\"(\"+l+\")\":l;let g=i==null?\"()\":\"(\"+ce+'[\"'+y(i)+'\"])';return\"(\"+sr([u],l)+\")\"+g}function ue(e,r){return{type:1,base:pe(e,r),child:o}}var Gr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}},Kr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return E(this._p,this.depth,r)}parseWithError(r){return G(this._p,this.depth,r)}isAlive(){return this._p.state.alive}pushPendingState(){Xr(this._p)}popPendingState(){be(this._p)}onParse(r){ie(this._p,r)}onError(r){Zr(this._p,r)}};function Na(e){return{alive:!0,pending:0,initial:!0,buffer:[],onParse:e.onParse,onError:e.onError,onDone:e.onDone}}function Hr(e){return{type:2,base:pe(2,e),state:Na(e)}}function ba(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=E(e,r,t[a]):n[a]=0;return n}function va(e,r,t,n){return _e(t,n,ba(e,r,n))}function Jr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(E(e,r,n[i][1]));return C in t&&(a.push(I(e.base,C)),s.push(Ue(er(e.base),E(e,r,$e(t))))),v in t&&(a.push(I(e.base,v)),s.push(je(rr(e.base),E(e,r,e.type===1?te():Xe(t))))),P in t&&(a.push(I(e.base,P)),s.push(X(t[P]))),R in t&&(a.push(I(e.base,R)),s.push(t[R]?J:Z)),{k:a,v:s}}function Wr(e,r,t,n,a){return tr(t,n,a,Jr(e,r,n))}function Ca(e,r,t,n){return ke(t,E(e,r,n.valueOf()))}function Aa(e,r,t,n){return De(t,n,E(e,r,n.buffer))}function Ea(e,r,t,n){return Fe(t,n,E(e,r,n.buffer))}function Ia(e,r,t,n){return Be(t,n,E(e,r,n.buffer))}function sn(e,r,t,n){let a=$(n,e.base.features);return Ve(t,n,a?Jr(e,r,a):o)}function Ra(e,r,t,n){let a=$(n,e.base.features);return Me(t,n,a?Jr(e,r,a):o)}function Pa(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(E(e,r,i)),s.push(E(e,r,u));return nr(e.base,t,a,s)}function xa(e,r,t,n){let a=[];for(let s of n.keys())a.push(E(e,r,s));return Le(t,a)}function Oa(e,r,t,n){let a=Ye(t,k(e.base,4),[]);return e.type===1||(Xr(e),n.on({next:s=>{if(e.state.alive){let i=G(e,r,s);i&&ie(e,qe(t,i))}},throw:s=>{if(e.state.alive){let i=G(e,r,s);i&&ie(e,We(t,i))}be(e)},return:s=>{if(e.state.alive){let i=G(e,r,s);i&&ie(e,Ge(t,i))}be(e)}})),a}function Ta(e,r,t){if(this.state.alive){let n=G(this,r,t);n&&ie(this,c(23,e,o,o,o,o,o,[k(this.base,2),n],o,o,o,o)),be(this)}}function wa(e,r,t){if(this.state.alive){let n=G(this,r,t);n&&ie(this,c(24,e,o,o,o,o,o,[k(this.base,3),n],o,o,o,o))}be(this)}function ha(e,r,t,n){let a=hr(e.base,{});return e.type===2&&(Xr(e),n.then(Ta.bind(e,a,r),wa.bind(e,a,r))),ht(e.base,t,a)}function za(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.sync&&u.test(n))return fe(t,u.tag,u.parse.sync(n,new Gr(e,r),{id:t}))}return o}function _a(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.stream&&u.test(n))return fe(t,u.tag,u.parse.stream(n,new Kr(e,r),{id:t}))}return o}function un(e,r,t,n){let a=e.base.plugins;return a?e.type===1?za(e,r,t,n,a):_a(e,r,t,n,a):o}function ka(e,r,t,n){let a=[];for(let s=0,i=n.v.length;s<i;s++)a[s]=E(e,r,n.v[s]);return Ke(t,a,n.t,n.d)}function Da(e,r,t,n,a){switch(a){case Object:return Wr(e,r,t,n,!1);case o:return Wr(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return sn(e,r,t,n);case Number:case Boolean:case String:case BigInt:return Ca(e,r,t,n);case ArrayBuffer:return or(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Aa(e,r,t,n);case DataView:return Ia(e,r,t,n);case Map:return Pa(e,r,t,n);case Set:return xa(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return ha(e,r,t,n);let s=e.base.features;if(s&32&&a===RegExp)return ze(t,n);if(s&16)switch(a){case BigInt64Array:case BigUint64Array:return Ea(e,r,t,n);default:break}if(s&1&&typeof AggregateError!=\"undefined\"&&(a===AggregateError||n instanceof AggregateError))return Ra(e,r,t,n);if(n instanceof Error)return sn(e,r,t,n);if(C in n||v in n)return Wr(e,r,t,n,!!a);throw new x(n)}function Fa(e,r,t,n){if(Array.isArray(n))return va(e,r,t,n);if(M(n))return Oa(e,r,t,n);if(Ze(n))return ka(e,r,t,n);let a=n.constructor;if(a===Y)return E(e,r,n.replacement);let s=un(e,r,t,n);return s||Da(e,r,t,n,a)}function Ba(e,r,t){let n=q(e.base,t);if(n.type!==0)return n.value;let a=un(e,r,n.value,t);if(a)return a;throw new x(t)}function E(e,r,t){if(r>=e.base.depthLimit)throw new ee(e.base.depthLimit);switch(typeof t){case\"boolean\":return t?J:Z;case\"undefined\":return Ae;case\"string\":return X(t);case\"number\":return Te(t);case\"bigint\":return we(t);case\"object\":{if(t){let n=q(e.base,t);return n.type===0?Fa(e,r+1,n.value,t):n.value}return Ee}case\"symbol\":return I(e.base,t);case\"function\":return Ba(e,r,t);default:throw new x(t)}}function le(e,r){try{return E(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}function ie(e,r){e.state.initial?e.state.buffer.push(r):$r(e,r,!1)}function Zr(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof z?r:new z(r)}function ln(e){e.state.onDone&&e.state.onDone()}function $r(e,r,t){try{e.state.onParse(r,t)}catch(n){Zr(e,n)}}function Xr(e){e.state.pending++}function be(e){--e.state.pending<=0&&ln(e)}function G(e,r,t){try{return E(e,r,t)}catch(n){return Zr(e,n),o}}function Qr(e,r){let t=G(e,0,r);t&&($r(e,t,!0),e.state.initial=!1,Va(e,e.state),e.state.pending<=0&&fr(e))}function Va(e,r){for(let t=0,n=r.buffer.length;t<n;t++)$r(e,r.buffer[t],!1)}function fr(e){e.state.alive&&(ln(e),e.state.alive=!1)}function ru(e,r={}){let t=A(r.plugins),n=ue(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=le(n,e),s=ur({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return cr(s,a)}async function tu(e,r={}){let t=A(r.plugins),n=ne(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=await oe(n,e),s=ur({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return cr(s,a)}function nu(e,r={}){let t=A(r.plugins),n=ue(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return le(n,e)}async function ou(e,r={}){let t=A(r.plugins),n=ne(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return await oe(n,e)}function cn(e,r){let t=A(r.plugins),n=Hr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse(a,s){let i=ur({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked}),u;try{u=cr(i,a)}catch(l){r.onError&&r.onError(l);return}r.onSerialize(u,s)},onError:r.onError,onDone:r.onDone});return Qr(n,e),fr.bind(null,n)}function au(e,r){let t=A(r.plugins),n=Hr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse:r.onParse,onError:r.onError,onDone:r.onDone});return Qr(n,e),fr.bind(null,n)}function su(e,r){let t=A(r.plugins),n=Lt({plugins:t,refs:r.refs,features:r.features,disabledFeatures:r.disabledFeatures});return ar(n,e)}var Sr=class{constructor(r){this.options=r;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=A(r.plugins)}write(r,t){this.alive&&!this.flushed&&(this.pending++,this.keys.add(r),this.cleanups.push(cn(t,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(n,a)=>{this.alive&&this.options.onData(a?this.options.globalIdentifier+'[\"'+y(r)+'\"]='+n:n)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(\"\"+this.ids);)this.ids++;return\"\"+this.ids}push(r){let t=this.getNextID();return this.write(t,r),t}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let r=0,t=this.cleanups.length;r<t;r++)this.cleanups[r]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};function Nu(e,r={}){let t=A(r.plugins),n=ue(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=le(n,e),s=ir({plugins:t,features:n.base.features,markedRefs:n.base.marked});return lr(s,a)}async function bu(e,r={}){let t=A(r.plugins),n=ne(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=await oe(n,e),s=ir({plugins:t,features:n.base.features,markedRefs:n.base.marked});return lr(s,a)}function vu(e){return(0,eval)(e)}function Cu(e,r={}){let t=A(r.plugins),n=ue(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:le(n,e),f:n.base.features,m:Array.from(n.base.marked)}}async function Au(e,r={}){let t=A(r.plugins),n=ne(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:await oe(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function Eu(e,r={}){let t=A(r.plugins),n=ir({plugins:t,features:e.f,markedRefs:e.m});return lr(n,e.t)}function Iu(e,r={}){var i;let t=A(r.plugins),n=r.disabledFeatures||0,a=(i=e.f)!=null?i:63,s=Mt({plugins:t,markedRefs:e.m,features:a&~n,disabledFeatures:n});return ar(s,e.t)}export{L as Feature,Y as OpaqueReference,Sr as Serializer,gt as SerovalConflictedNodeIdError,ee as SerovalDepthLimitError,He as SerovalDeserializationError,Se as SerovalError,h as SerovalMalformedNodeError,V as SerovalMissingInstanceError,Q as SerovalMissingPluginError,Re as SerovalMissingReferenceError,Pe as SerovalMissingReferenceForIdError,ae as SerovalMode,z as SerovalParserError,Ir as SerovalSerializationError,Je as SerovalUnknownTypedArrayError,w as SerovalUnsupportedNodeError,x as SerovalUnsupportedTypeError,Eu as compileJSON,ni as createPlugin,pn as createReference,te as createStream,ru as crossSerialize,tu as crossSerializeAsync,cn as crossSerializeStream,vu as deserialize,su as fromCrossJSON,Iu as fromJSON,mn as getCrossReferenceHeader,A as resolvePlugins,Nu as serialize,bu as serializeAsync,nu as toCrossJSON,ou as toCrossJSONAsync,au as toCrossJSONStream,Cu as toJSON,Au as toJSONAsync};\n","import { createPlugin } from \"seroval\";\nimport { GLOBAL_TSR } from \"../constants.js\";\nfunction createSerializationAdapter(opts) {\n return opts;\n}\nfunction makeSsrSerovalPlugin(serializationAdapter, options) {\n return createPlugin({\n tag: \"$TSR/t/\" + serializationAdapter.key,\n test: serializationAdapter.test,\n parse: {\n stream(value, ctx) {\n return ctx.parse(serializationAdapter.toSerializable(value));\n }\n },\n serialize(node, ctx) {\n options.didRun = true;\n return GLOBAL_TSR + '.t.get(\"' + serializationAdapter.key + '\")(' + ctx.serialize(node) + \")\";\n },\n // we never deserialize on the server during SSR\n deserialize: void 0\n });\n}\nfunction makeSerovalPlugin(serializationAdapter) {\n return createPlugin({\n tag: \"$TSR/t/\" + serializationAdapter.key,\n test: serializationAdapter.test,\n parse: {\n sync(value, ctx) {\n return ctx.parse(serializationAdapter.toSerializable(value));\n },\n async async(value, ctx) {\n return await ctx.parse(serializationAdapter.toSerializable(value));\n },\n stream(value, ctx) {\n return ctx.parse(serializationAdapter.toSerializable(value));\n }\n },\n // we don't generate JS code outside of SSR (for now)\n serialize: void 0,\n deserialize(node, ctx) {\n return serializationAdapter.fromSerializable(ctx.deserialize(node));\n }\n });\n}\nexport {\n createSerializationAdapter,\n makeSerovalPlugin,\n makeSsrSerovalPlugin\n};\n//# sourceMappingURL=transformer.js.map\n","import * as React from \"react\";\nconst REACT_USE = \"use\";\nconst reactUse = React[REACT_USE];\nfunction useStableCallback(fn) {\n const fnRef = React.useRef(fn);\n fnRef.current = fn;\n const ref = React.useRef((...args) => fnRef.current(...args));\n return ref.current;\n}\nconst useLayoutEffect = typeof window !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction usePrevious(value) {\n const ref = React.useRef({\n value,\n prev: null\n });\n const current = ref.current.value;\n if (value !== current) {\n ref.current = {\n value,\n prev: current\n };\n }\n return ref.current.prev;\n}\nfunction useIntersectionObserver(ref, callback, intersectionObserverOptions = {}, options = {}) {\n React.useEffect(() => {\n if (!ref.current || options.disabled || typeof IntersectionObserver !== \"function\") {\n return;\n }\n const observer = new IntersectionObserver(([entry]) => {\n callback(entry);\n }, intersectionObserverOptions);\n observer.observe(ref.current);\n return () => {\n observer.disconnect();\n };\n }, [callback, intersectionObserverOptions, options.disabled, ref]);\n}\nfunction useForwardedRef(ref) {\n const innerRef = React.useRef(null);\n React.useImperativeHandle(ref, () => innerRef.current, []);\n return innerRef;\n}\nexport {\n reactUse,\n useForwardedRef,\n useIntersectionObserver,\n useLayoutEffect,\n usePrevious,\n useStableCallback\n};\n//# sourceMappingURL=utils.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { defer, TSR_DEFERRED_PROMISE } from \"@tanstack/router-core\";\nimport { reactUse } from \"./utils.js\";\nfunction useAwaited({ promise: _promise }) {\n if (reactUse) {\n const data = reactUse(_promise);\n return data;\n }\n const promise = defer(_promise);\n if (promise[TSR_DEFERRED_PROMISE].status === \"pending\") {\n throw promise;\n }\n if (promise[TSR_DEFERRED_PROMISE].status === \"error\") {\n throw promise[TSR_DEFERRED_PROMISE].error;\n }\n return promise[TSR_DEFERRED_PROMISE].data;\n}\nfunction Await(props) {\n const inner = /* @__PURE__ */ jsx(AwaitInner, { ...props });\n if (props.fallback) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: props.fallback, children: inner });\n }\n return inner;\n}\nfunction AwaitInner(props) {\n const data = useAwaited(props);\n return props.children(data);\n}\nexport {\n Await,\n useAwaited\n};\n//# sourceMappingURL=awaited.js.map\n","import { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nfunction CatchBoundary(props) {\n const errorComponent = props.errorComponent ?? ErrorComponent;\n return /* @__PURE__ */ jsx(\n CatchBoundaryImpl,\n {\n getResetKey: props.getResetKey,\n onCatch: props.onCatch,\n children: ({ error, reset }) => {\n if (error) {\n return React.createElement(errorComponent, {\n error,\n reset\n });\n }\n return props.children;\n }\n }\n );\n}\nclass CatchBoundaryImpl extends React.Component {\n constructor() {\n super(...arguments);\n this.state = { error: null };\n }\n static getDerivedStateFromProps(props) {\n return { resetKey: props.getResetKey() };\n }\n static getDerivedStateFromError(error) {\n return { error };\n }\n reset() {\n this.setState({ error: null });\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.error && prevState.resetKey !== this.state.resetKey) {\n this.reset();\n }\n }\n componentDidCatch(error, errorInfo) {\n if (this.props.onCatch) {\n this.props.onCatch(error, errorInfo);\n }\n }\n render() {\n return this.props.children({\n error: this.state.resetKey !== this.props.getResetKey() ? null : this.state.error,\n reset: () => {\n this.reset();\n }\n });\n }\n}\nfunction ErrorComponent({ error }) {\n const [show, setShow] = React.useState(process.env.NODE_ENV !== \"production\");\n return /* @__PURE__ */ jsxs(\"div\", { style: { padding: \".5rem\", maxWidth: \"100%\" }, children: [\n /* @__PURE__ */ jsxs(\"div\", { style: { display: \"flex\", alignItems: \"center\", gap: \".5rem\" }, children: [\n /* @__PURE__ */ jsx(\"strong\", { style: { fontSize: \"1rem\" }, children: \"Something went wrong!\" }),\n /* @__PURE__ */ jsx(\n \"button\",\n {\n style: {\n appearance: \"none\",\n fontSize: \".6em\",\n border: \"1px solid currentColor\",\n padding: \".1rem .2rem\",\n fontWeight: \"bold\",\n borderRadius: \".25rem\"\n },\n onClick: () => setShow((d) => !d),\n children: show ? \"Hide Error\" : \"Show Error\"\n }\n )\n ] }),\n /* @__PURE__ */ jsx(\"div\", { style: { height: \".25rem\" } }),\n show ? /* @__PURE__ */ jsx(\"div\", { children: /* @__PURE__ */ jsx(\n \"pre\",\n {\n style: {\n fontSize: \".7em\",\n border: \"1px solid red\",\n borderRadius: \".25rem\",\n padding: \".3rem\",\n color: \"red\",\n overflow: \"auto\"\n },\n children: error.message ? /* @__PURE__ */ jsx(\"code\", { children: error.message }) : null\n }\n ) }) : null\n ] });\n}\nexport {\n CatchBoundary,\n ErrorComponent\n};\n//# sourceMappingURL=CatchBoundary.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport React__default from \"react\";\nfunction ClientOnly({ children, fallback = null }) {\n return useHydrated() ? /* @__PURE__ */ jsx(React__default.Fragment, { children }) : /* @__PURE__ */ jsx(React__default.Fragment, { children: fallback });\n}\nfunction useHydrated() {\n return React__default.useSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\nfunction subscribe() {\n return () => {\n };\n}\nexport {\n ClientOnly,\n useHydrated\n};\n//# sourceMappingURL=ClientOnly.js.map\n","var isProduction = process.env.NODE_ENV === 'production';\nfunction warning(condition, message) {\n if (!isProduction) {\n if (condition) {\n return;\n }\n\n var text = \"Warning: \" + message;\n\n if (typeof console !== 'undefined') {\n console.warn(text);\n }\n\n try {\n throw Error(text);\n } catch (x) {}\n }\n}\n\nexport default warning;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","import { useSyncExternalStoreWithSelector } from \"use-sync-external-store/shim/with-selector.js\";\nexport * from \"@tanstack/store\";\nfunction useStore(store, selector = (d) => d, options = {}) {\n const equal = options.equal ?? shallow;\n const slice = useSyncExternalStoreWithSelector(\n store.subscribe,\n () => store.state,\n () => store.state,\n selector,\n equal\n );\n return slice;\n}\nfunction shallow(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [k, v] of objA) {\n if (!objB.has(k) || !Object.is(v, objB.get(k))) return false;\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const v of objA) {\n if (!objB.has(v)) return false;\n }\n return true;\n }\n if (objA instanceof Date && objB instanceof Date) {\n if (objA.getTime() !== objB.getTime()) return false;\n return true;\n }\n const keysA = getOwnKeys(objA);\n if (keysA.length !== getOwnKeys(objB).length) {\n return false;\n }\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !Object.is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n return true;\n}\nfunction getOwnKeys(obj) {\n return Object.keys(obj).concat(\n Object.getOwnPropertySymbols(obj)\n );\n}\nexport {\n shallow,\n useStore\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nconst routerContext = React.createContext(null);\nfunction getRouterContext() {\n if (typeof document === \"undefined\") {\n return routerContext;\n }\n if (window.__TSR_ROUTER_CONTEXT__) {\n return window.__TSR_ROUTER_CONTEXT__;\n }\n window.__TSR_ROUTER_CONTEXT__ = routerContext;\n return routerContext;\n}\nexport {\n getRouterContext\n};\n//# sourceMappingURL=routerContext.js.map\n","import * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction useRouter(opts) {\n const value = React.useContext(getRouterContext());\n warning(\n !((opts?.warn ?? true) && !value),\n \"useRouter must be used inside a <RouterProvider> component!\"\n );\n return value;\n}\nexport {\n useRouter\n};\n//# sourceMappingURL=useRouter.js.map\n","import { useStore } from \"@tanstack/react-store\";\nimport { useRef } from \"react\";\nimport { replaceEqualDeep } from \"@tanstack/router-core\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useRouterState(opts) {\n const contextRouter = useRouter({\n warn: opts?.router === void 0\n });\n const router = opts?.router || contextRouter;\n const _isServer = isServer ?? router.isServer;\n if (_isServer) {\n const state = router.state;\n return opts?.select ? opts.select(state) : state;\n }\n const previousResult = (\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef(void 0)\n );\n return useStore(router.__store, (state) => {\n if (opts?.select) {\n if (opts.structuralSharing ?? router.options.defaultStructuralSharing) {\n const newSlice = replaceEqualDeep(\n previousResult.current,\n opts.select(state)\n );\n previousResult.current = newSlice;\n return newSlice;\n }\n return opts.select(state);\n }\n return state;\n });\n}\nexport {\n useRouterState\n};\n//# sourceMappingURL=useRouterState.js.map\n","import * as React from \"react\";\nconst matchContext = React.createContext(void 0);\nconst dummyMatchContext = React.createContext(\n void 0\n);\nexport {\n dummyMatchContext,\n matchContext\n};\n//# sourceMappingURL=matchContext.js.map\n","import * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { dummyMatchContext, matchContext } from \"./matchContext.js\";\nfunction useMatch(opts) {\n const nearestMatchId = React.useContext(\n opts.from ? dummyMatchContext : matchContext\n );\n const matchSelection = useRouterState({\n select: (state) => {\n const match = state.matches.find(\n (d) => opts.from ? opts.from === d.routeId : d.id === nearestMatchId\n );\n invariant(\n !((opts.shouldThrow ?? true) && !match),\n `Could not find ${opts.from ? `an active match from \"${opts.from}\"` : \"a nearest match!\"}`\n );\n if (match === void 0) {\n return void 0;\n }\n return opts.select ? opts.select(match) : match;\n },\n structuralSharing: opts.structuralSharing\n });\n return matchSelection;\n}\nexport {\n useMatch\n};\n//# sourceMappingURL=useMatch.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderData(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n structuralSharing: opts.structuralSharing,\n select: (s) => {\n return opts.select ? opts.select(s.loaderData) : s.loaderData;\n }\n });\n}\nexport {\n useLoaderData\n};\n//# sourceMappingURL=useLoaderData.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useLoaderDeps(opts) {\n const { select, ...rest } = opts;\n return useMatch({\n ...rest,\n select: (s) => {\n return select ? select(s.loaderDeps) : s.loaderDeps;\n }\n });\n}\nexport {\n useLoaderDeps\n};\n//# sourceMappingURL=useLoaderDeps.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useParams(opts) {\n return useMatch({\n from: opts.from,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n strict: opts.strict,\n select: (match) => {\n const params = opts.strict === false ? match.params : match._strictParams;\n return opts.select ? opts.select(params) : params;\n }\n });\n}\nexport {\n useParams\n};\n//# sourceMappingURL=useParams.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useSearch(opts) {\n return useMatch({\n from: opts.from,\n strict: opts.strict,\n shouldThrow: opts.shouldThrow,\n structuralSharing: opts.structuralSharing,\n select: (match) => {\n return opts.select ? opts.select(match.search) : match.search;\n }\n });\n}\nexport {\n useSearch\n};\n//# sourceMappingURL=useSearch.js.map\n","import * as React from \"react\";\nimport { useLayoutEffect } from \"./utils.js\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useNavigate(_defaultOpts) {\n const router = useRouter();\n return React.useCallback(\n (options) => {\n return router.navigate({\n ...options,\n from: options.from ?? _defaultOpts?.from\n });\n },\n [_defaultOpts?.from, router]\n );\n}\nfunction Navigate(props) {\n const router = useRouter();\n const navigate = useNavigate();\n const previousPropsRef = React.useRef(null);\n useLayoutEffect(() => {\n if (previousPropsRef.current !== props) {\n navigate(props);\n previousPropsRef.current = props;\n }\n }, [router, props, navigate]);\n return null;\n}\nexport {\n Navigate,\n useNavigate\n};\n//# sourceMappingURL=useNavigate.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { isDangerousProtocol, exactPathTest, removeTrailingSlash, deepEqual, functionalUpdate, preloadWarning } from \"@tanstack/router-core\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useForwardedRef, useIntersectionObserver } from \"./utils.js\";\nimport { useHydrated } from \"./ClientOnly.js\";\nfunction useLinkProps(options, forwardedRef) {\n const router = useRouter();\n const innerRef = useForwardedRef(forwardedRef);\n const _isServer = isServer ?? router.isServer;\n const {\n // custom props\n activeProps,\n inactiveProps,\n activeOptions,\n to,\n preload: userPreload,\n preloadDelay: userPreloadDelay,\n hashScrollIntoView,\n replace,\n startTransition,\n resetScroll,\n viewTransition,\n // element props\n children,\n target,\n disabled,\n style,\n className,\n onClick,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n onTouchStart,\n ignoreBlocker,\n // prevent these from being returned\n params: _params,\n search: _search,\n hash: _hash,\n state: _state,\n mask: _mask,\n reloadDocument: _reloadDocument,\n unsafeRelative: _unsafeRelative,\n from: _from,\n _fromLocation,\n ...propsSafeToSpread\n } = options;\n if (_isServer) {\n const safeInternal = isSafeInternal(to);\n if (typeof to === \"string\" && !safeInternal && // Quick checks to avoid `new URL` in common internal-like cases\n to.indexOf(\":\") > -1) {\n try {\n new URL(to);\n if (isDangerousProtocol(to)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`Blocked Link with dangerous protocol: ${to}`);\n }\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n href: void 0,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className }\n };\n }\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n href: to,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className }\n };\n } catch {\n }\n }\n const next2 = router.buildLocation({ ...options, from: options.from });\n const hrefOptionPublicHref2 = next2.maskedLocation ? next2.maskedLocation.publicHref : next2.publicHref;\n const hrefOptionExternal2 = next2.maskedLocation ? next2.maskedLocation.external : next2.external;\n const hrefOption2 = getHrefOption(\n hrefOptionPublicHref2,\n hrefOptionExternal2,\n router.history,\n disabled\n );\n const externalLink2 = (() => {\n if (hrefOption2?.external) {\n if (isDangerousProtocol(hrefOption2.href)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `Blocked Link with dangerous protocol: ${hrefOption2.href}`\n );\n }\n return void 0;\n }\n return hrefOption2.href;\n }\n if (safeInternal) return void 0;\n if (typeof to === \"string\" && to.indexOf(\":\") > -1) {\n try {\n new URL(to);\n if (isDangerousProtocol(to)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`Blocked Link with dangerous protocol: ${to}`);\n }\n return void 0;\n }\n return to;\n } catch {\n }\n }\n return void 0;\n })();\n const isActive2 = (() => {\n if (externalLink2) return false;\n const currentLocation = router.state.location;\n const exact = activeOptions?.exact ?? false;\n if (exact) {\n const testExact = exactPathTest(\n currentLocation.pathname,\n next2.pathname,\n router.basepath\n );\n if (!testExact) {\n return false;\n }\n } else {\n const currentPathSplit = removeTrailingSlash(\n currentLocation.pathname,\n router.basepath\n );\n const nextPathSplit = removeTrailingSlash(\n next2.pathname,\n router.basepath\n );\n const pathIsFuzzyEqual = currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === \"/\");\n if (!pathIsFuzzyEqual) {\n return false;\n }\n }\n const includeSearch = activeOptions?.includeSearch ?? true;\n if (includeSearch) {\n if (currentLocation.search !== next2.search) {\n const currentSearchEmpty = !currentLocation.search || typeof currentLocation.search === \"object\" && Object.keys(currentLocation.search).length === 0;\n const nextSearchEmpty = !next2.search || typeof next2.search === \"object\" && Object.keys(next2.search).length === 0;\n if (!(currentSearchEmpty && nextSearchEmpty)) {\n const searchTest = deepEqual(currentLocation.search, next2.search, {\n partial: !exact,\n ignoreUndefined: !activeOptions?.explicitUndefined\n });\n if (!searchTest) {\n return false;\n }\n }\n }\n }\n if (activeOptions?.includeHash) {\n return false;\n }\n return true;\n })();\n if (externalLink2) {\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n href: externalLink2,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className }\n };\n }\n const resolvedActiveProps2 = isActive2 ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT;\n const resolvedInactiveProps2 = isActive2 ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT;\n const resolvedStyle2 = (() => {\n const baseStyle = style;\n const activeStyle = resolvedActiveProps2.style;\n const inactiveStyle = resolvedInactiveProps2.style;\n if (!baseStyle && !activeStyle && !inactiveStyle) {\n return void 0;\n }\n if (baseStyle && !activeStyle && !inactiveStyle) {\n return baseStyle;\n }\n if (!baseStyle && activeStyle && !inactiveStyle) {\n return activeStyle;\n }\n if (!baseStyle && !activeStyle && inactiveStyle) {\n return inactiveStyle;\n }\n return {\n ...baseStyle,\n ...activeStyle,\n ...inactiveStyle\n };\n })();\n const resolvedClassName2 = (() => {\n const baseClassName = className;\n const activeClassName = resolvedActiveProps2.className;\n const inactiveClassName = resolvedInactiveProps2.className;\n if (!baseClassName && !activeClassName && !inactiveClassName) {\n return \"\";\n }\n let out = \"\";\n if (baseClassName) {\n out = baseClassName;\n }\n if (activeClassName) {\n out = out ? `${out} ${activeClassName}` : activeClassName;\n }\n if (inactiveClassName) {\n out = out ? `${out} ${inactiveClassName}` : inactiveClassName;\n }\n return out;\n })();\n return {\n ...propsSafeToSpread,\n ...resolvedActiveProps2,\n ...resolvedInactiveProps2,\n href: hrefOption2?.href,\n ref: innerRef,\n disabled: !!disabled,\n target,\n ...resolvedStyle2 && { style: resolvedStyle2 },\n ...resolvedClassName2 && { className: resolvedClassName2 },\n ...disabled && STATIC_DISABLED_PROPS,\n ...isActive2 && STATIC_ACTIVE_PROPS\n };\n }\n const isHydrated = useHydrated();\n const currentSearch = useRouterState({\n select: (s) => s.location.search,\n structuralSharing: true\n });\n const from = options.from;\n const _options = React.useMemo(\n () => {\n return { ...options, from };\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n router,\n currentSearch,\n from,\n options._fromLocation,\n options.hash,\n options.to,\n options.search,\n options.params,\n options.state,\n options.mask,\n options.unsafeRelative\n ]\n );\n const next = React.useMemo(\n () => router.buildLocation({ ..._options }),\n [router, _options]\n );\n const hrefOptionPublicHref = next.maskedLocation ? next.maskedLocation.publicHref : next.publicHref;\n const hrefOptionExternal = next.maskedLocation ? next.maskedLocation.external : next.external;\n const hrefOption = React.useMemo(\n () => getHrefOption(\n hrefOptionPublicHref,\n hrefOptionExternal,\n router.history,\n disabled\n ),\n [disabled, hrefOptionExternal, hrefOptionPublicHref, router.history]\n );\n const externalLink = React.useMemo(() => {\n if (hrefOption?.external) {\n if (isDangerousProtocol(hrefOption.href)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `Blocked Link with dangerous protocol: ${hrefOption.href}`\n );\n }\n return void 0;\n }\n return hrefOption.href;\n }\n const safeInternal = isSafeInternal(to);\n if (safeInternal) return void 0;\n if (typeof to !== \"string\" || to.indexOf(\":\") === -1) return void 0;\n try {\n new URL(to);\n if (isDangerousProtocol(to)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(`Blocked Link with dangerous protocol: ${to}`);\n }\n return void 0;\n }\n return to;\n } catch {\n }\n return void 0;\n }, [to, hrefOption]);\n const isActive = useRouterState({\n select: (s) => {\n if (externalLink) return false;\n if (activeOptions?.exact) {\n const testExact = exactPathTest(\n s.location.pathname,\n next.pathname,\n router.basepath\n );\n if (!testExact) {\n return false;\n }\n } else {\n const currentPathSplit = removeTrailingSlash(\n s.location.pathname,\n router.basepath\n );\n const nextPathSplit = removeTrailingSlash(\n next.pathname,\n router.basepath\n );\n const pathIsFuzzyEqual = currentPathSplit.startsWith(nextPathSplit) && (currentPathSplit.length === nextPathSplit.length || currentPathSplit[nextPathSplit.length] === \"/\");\n if (!pathIsFuzzyEqual) {\n return false;\n }\n }\n if (activeOptions?.includeSearch ?? true) {\n const searchTest = deepEqual(s.location.search, next.search, {\n partial: !activeOptions?.exact,\n ignoreUndefined: !activeOptions?.explicitUndefined\n });\n if (!searchTest) {\n return false;\n }\n }\n if (activeOptions?.includeHash) {\n return isHydrated && s.location.hash === next.hash;\n }\n return true;\n }\n });\n const resolvedActiveProps = isActive ? functionalUpdate(activeProps, {}) ?? STATIC_ACTIVE_OBJECT : STATIC_EMPTY_OBJECT;\n const resolvedInactiveProps = isActive ? STATIC_EMPTY_OBJECT : functionalUpdate(inactiveProps, {}) ?? STATIC_EMPTY_OBJECT;\n const resolvedClassName = [\n className,\n resolvedActiveProps.className,\n resolvedInactiveProps.className\n ].filter(Boolean).join(\" \");\n const resolvedStyle = (style || resolvedActiveProps.style || resolvedInactiveProps.style) && {\n ...style,\n ...resolvedActiveProps.style,\n ...resolvedInactiveProps.style\n };\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const hasRenderFetched = React.useRef(false);\n const preload = options.reloadDocument || externalLink ? false : userPreload ?? router.options.defaultPreload;\n const preloadDelay = userPreloadDelay ?? router.options.defaultPreloadDelay ?? 0;\n const doPreload = React.useCallback(() => {\n router.preloadRoute({ ..._options }).catch((err) => {\n console.warn(err);\n console.warn(preloadWarning);\n });\n }, [router, _options]);\n const preloadViewportIoCallback = React.useCallback(\n (entry) => {\n if (entry?.isIntersecting) {\n doPreload();\n }\n },\n [doPreload]\n );\n useIntersectionObserver(\n innerRef,\n preloadViewportIoCallback,\n intersectionObserverOptions,\n { disabled: !!disabled || !(preload === \"viewport\") }\n );\n React.useEffect(() => {\n if (hasRenderFetched.current) {\n return;\n }\n if (!disabled && preload === \"render\") {\n doPreload();\n hasRenderFetched.current = true;\n }\n }, [disabled, doPreload, preload]);\n const handleClick = (e) => {\n const elementTarget = e.currentTarget.getAttribute(\"target\");\n const effectiveTarget = target !== void 0 ? target : elementTarget;\n if (!disabled && !isCtrlEvent(e) && !e.defaultPrevented && (!effectiveTarget || effectiveTarget === \"_self\") && e.button === 0) {\n e.preventDefault();\n flushSync(() => {\n setIsTransitioning(true);\n });\n const unsub = router.subscribe(\"onResolved\", () => {\n unsub();\n setIsTransitioning(false);\n });\n router.navigate({\n ..._options,\n replace,\n resetScroll,\n hashScrollIntoView,\n startTransition,\n viewTransition,\n ignoreBlocker\n });\n }\n };\n if (externalLink) {\n return {\n ...propsSafeToSpread,\n ref: innerRef,\n href: externalLink,\n ...children && { children },\n ...target && { target },\n ...disabled && { disabled },\n ...style && { style },\n ...className && { className },\n ...onClick && { onClick },\n ...onFocus && { onFocus },\n ...onMouseEnter && { onMouseEnter },\n ...onMouseLeave && { onMouseLeave },\n ...onTouchStart && { onTouchStart }\n };\n }\n const handleFocus = (_) => {\n if (disabled) return;\n if (preload) {\n doPreload();\n }\n };\n const handleTouchStart = handleFocus;\n const handleEnter = (e) => {\n if (disabled || !preload) return;\n if (!preloadDelay) {\n doPreload();\n } else {\n const eventTarget = e.target;\n if (timeoutMap.has(eventTarget)) {\n return;\n }\n const id = setTimeout(() => {\n timeoutMap.delete(eventTarget);\n doPreload();\n }, preloadDelay);\n timeoutMap.set(eventTarget, id);\n }\n };\n const handleLeave = (e) => {\n if (disabled || !preload || !preloadDelay) return;\n const eventTarget = e.target;\n const id = timeoutMap.get(eventTarget);\n if (id) {\n clearTimeout(id);\n timeoutMap.delete(eventTarget);\n }\n };\n return {\n ...propsSafeToSpread,\n ...resolvedActiveProps,\n ...resolvedInactiveProps,\n href: hrefOption?.href,\n ref: innerRef,\n onClick: composeHandlers([onClick, handleClick]),\n onFocus: composeHandlers([onFocus, handleFocus]),\n onMouseEnter: composeHandlers([onMouseEnter, handleEnter]),\n onMouseLeave: composeHandlers([onMouseLeave, handleLeave]),\n onTouchStart: composeHandlers([onTouchStart, handleTouchStart]),\n disabled: !!disabled,\n target,\n ...resolvedStyle && { style: resolvedStyle },\n ...resolvedClassName && { className: resolvedClassName },\n ...disabled && STATIC_DISABLED_PROPS,\n ...isActive && STATIC_ACTIVE_PROPS,\n ...isHydrated && isTransitioning && STATIC_TRANSITIONING_PROPS\n };\n}\nconst STATIC_EMPTY_OBJECT = {};\nconst STATIC_ACTIVE_OBJECT = { className: \"active\" };\nconst STATIC_DISABLED_PROPS = { role: \"link\", \"aria-disabled\": true };\nconst STATIC_ACTIVE_PROPS = { \"data-status\": \"active\", \"aria-current\": \"page\" };\nconst STATIC_TRANSITIONING_PROPS = { \"data-transitioning\": \"transitioning\" };\nconst timeoutMap = /* @__PURE__ */ new WeakMap();\nconst intersectionObserverOptions = {\n rootMargin: \"100px\"\n};\nconst composeHandlers = (handlers) => (e) => {\n for (const handler of handlers) {\n if (!handler) continue;\n if (e.defaultPrevented) return;\n handler(e);\n }\n};\nfunction getHrefOption(publicHref, external, history, disabled) {\n if (disabled) return void 0;\n if (external) {\n return { href: publicHref, external: true };\n }\n return {\n href: history.createHref(publicHref) || \"/\",\n external: false\n };\n}\nfunction isSafeInternal(to) {\n if (typeof to !== \"string\") return false;\n const zero = to.charCodeAt(0);\n if (zero === 47) return to.charCodeAt(1) !== 47;\n return zero === 46;\n}\nfunction createLink(Comp) {\n return React.forwardRef(function CreatedLink(props, ref) {\n return /* @__PURE__ */ jsx(Link, { ...props, _asChild: Comp, ref });\n });\n}\nconst Link = React.forwardRef(\n (props, ref) => {\n const { _asChild, ...rest } = props;\n const { type: _type, ...linkProps } = useLinkProps(rest, ref);\n const children = typeof rest.children === \"function\" ? rest.children({\n isActive: linkProps[\"data-status\"] === \"active\"\n }) : rest.children;\n if (!_asChild) {\n const { disabled: _, ...rest2 } = linkProps;\n return React.createElement(\"a\", rest2, children);\n }\n return React.createElement(_asChild, linkProps, children);\n }\n);\nfunction isCtrlEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey);\n}\nconst linkOptions = (options) => {\n return options;\n};\nexport {\n Link,\n createLink,\n linkOptions,\n useLinkProps\n};\n//# sourceMappingURL=link.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { BaseRouteApi, notFound, BaseRoute, BaseRootRoute } from \"@tanstack/router-core\";\nimport React__default from \"react\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Link } from \"./link.js\";\nfunction getRouteApi(id) {\n return new RouteApi({ id });\n}\nclass RouteApi extends BaseRouteApi {\n /**\n * @deprecated Use the `getRouteApi` function instead.\n */\n constructor({ id }) {\n super({ id });\n this.useMatch = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n structuralSharing: opts?.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n from: this.id,\n select: (d) => opts?.select ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id, strict: false });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id, strict: false });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.id].fullPath });\n };\n this.notFound = (opts) => {\n return notFound({ routeId: this.id, ...opts });\n };\n this.Link = React__default.forwardRef((props, ref) => {\n const router = useRouter();\n const fullPath = router.routesById[this.id].fullPath;\n return /* @__PURE__ */ jsx(Link, { ref, from: fullPath, ...props });\n });\n }\n}\nclass Route extends BaseRoute {\n /**\n * @deprecated Use the `createRoute` function instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n structuralSharing: opts?.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => opts?.select ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = /* @__PURE__ */ Symbol.for(\"react.memo\");\n }\n}\nfunction createRoute(options) {\n return new Route(\n // TODO: Help us TypeChris, you're our only hope!\n options\n );\n}\nfunction createRootRouteWithContext() {\n return (options) => {\n return createRootRoute(options);\n };\n}\nconst rootRouteWithContext = createRootRouteWithContext;\nclass RootRoute extends BaseRootRoute {\n /**\n * @deprecated `RootRoute` is now an internal implementation detail. Use `createRootRoute()` instead.\n */\n constructor(options) {\n super(options);\n this.useMatch = (opts) => {\n return useMatch({\n select: opts?.select,\n from: this.id,\n structuralSharing: opts?.structuralSharing\n });\n };\n this.useRouteContext = (opts) => {\n return useMatch({\n ...opts,\n from: this.id,\n select: (d) => opts?.select ? opts.select(d.context) : d.context\n });\n };\n this.useSearch = (opts) => {\n return useSearch({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useParams = (opts) => {\n return useParams({\n select: opts?.select,\n structuralSharing: opts?.structuralSharing,\n from: this.id\n });\n };\n this.useLoaderDeps = (opts) => {\n return useLoaderDeps({ ...opts, from: this.id });\n };\n this.useLoaderData = (opts) => {\n return useLoaderData({ ...opts, from: this.id });\n };\n this.useNavigate = () => {\n return useNavigate({ from: this.fullPath });\n };\n this.Link = React__default.forwardRef(\n (props, ref) => {\n return /* @__PURE__ */ jsx(Link, { ref, from: this.fullPath, ...props });\n }\n );\n this.$$typeof = /* @__PURE__ */ Symbol.for(\"react.memo\");\n }\n}\nfunction createRootRoute(options) {\n return new RootRoute(options);\n}\nfunction createRouteMask(opts) {\n return opts;\n}\nclass NotFoundRoute extends Route {\n constructor(options) {\n super({\n ...options,\n id: \"404\"\n });\n }\n}\nexport {\n NotFoundRoute,\n RootRoute,\n Route,\n RouteApi,\n createRootRoute,\n createRootRouteWithContext,\n createRoute,\n createRouteMask,\n getRouteApi,\n rootRouteWithContext\n};\n//# sourceMappingURL=route.js.map\n","import warning from \"tiny-warning\";\nimport { createRoute } from \"./route.js\";\nimport { useMatch } from \"./useMatch.js\";\nimport { useLoaderDeps } from \"./useLoaderDeps.js\";\nimport { useLoaderData } from \"./useLoaderData.js\";\nimport { useSearch } from \"./useSearch.js\";\nimport { useParams } from \"./useParams.js\";\nimport { useNavigate } from \"./useNavigate.js\";\nimport { useRouter } from \"./useRouter.js\";\nfunction createFileRoute(path) {\n if (typeof path === \"object\") {\n return new FileRoute(path, {\n silent: true\n }).createRoute(path);\n }\n return new FileRoute(path, {\n silent: true\n }).createRoute;\n}\nclass FileRoute {\n constructor(path, _opts) {\n this.path = path;\n this.createRoute = (options) => {\n warning(\n this.silent,\n \"FileRoute is deprecated and will be removed in the next major version. Use the createFileRoute(path)(options) function instead.\"\n );\n const route = createRoute(options);\n route.isRoot = false;\n return route;\n };\n this.silent = _opts?.silent;\n }\n}\nfunction FileRouteLoader(_path) {\n warning(\n false,\n `FileRouteLoader is deprecated and will be removed in the next major version. Please place the loader function in the the main route file, inside the \\`createFileRoute('/path/to/file')(options)\\` options`\n );\n return (loaderFn) => loaderFn;\n}\nclass LazyRoute {\n constructor(opts) {\n this.useMatch = (opts2) => {\n return useMatch({\n select: opts2?.select,\n from: this.options.id,\n structuralSharing: opts2?.structuralSharing\n });\n };\n this.useRouteContext = (opts2) => {\n return useMatch({\n from: this.options.id,\n select: (d) => opts2?.select ? opts2.select(d.context) : d.context\n });\n };\n this.useSearch = (opts2) => {\n return useSearch({\n select: opts2?.select,\n structuralSharing: opts2?.structuralSharing,\n from: this.options.id\n });\n };\n this.useParams = (opts2) => {\n return useParams({\n select: opts2?.select,\n structuralSharing: opts2?.structuralSharing,\n from: this.options.id\n });\n };\n this.useLoaderDeps = (opts2) => {\n return useLoaderDeps({ ...opts2, from: this.options.id });\n };\n this.useLoaderData = (opts2) => {\n return useLoaderData({ ...opts2, from: this.options.id });\n };\n this.useNavigate = () => {\n const router = useRouter();\n return useNavigate({ from: router.routesById[this.options.id].fullPath });\n };\n this.options = opts;\n this.$$typeof = /* @__PURE__ */ Symbol.for(\"react.memo\");\n }\n}\nfunction createLazyRoute(id) {\n return (opts) => {\n return new LazyRoute({\n id,\n ...opts\n });\n };\n}\nfunction createLazyFileRoute(id) {\n if (typeof id === \"object\") {\n return new LazyRoute(id);\n }\n return (opts) => new LazyRoute({ id, ...opts });\n}\nexport {\n FileRoute,\n FileRouteLoader,\n LazyRoute,\n createFileRoute,\n createLazyFileRoute,\n createLazyRoute\n};\n//# sourceMappingURL=fileRoute.js.map\n","import * as React from \"react\";\nimport { isModuleNotFoundError } from \"@tanstack/router-core\";\nimport { reactUse } from \"./utils.js\";\nfunction lazyRouteComponent(importer, exportName) {\n let loadPromise;\n let comp;\n let error;\n let reload;\n const load = () => {\n if (!loadPromise) {\n loadPromise = importer().then((res) => {\n loadPromise = void 0;\n comp = res[exportName ?? \"default\"];\n }).catch((err) => {\n error = err;\n if (isModuleNotFoundError(error)) {\n if (error instanceof Error && typeof window !== \"undefined\" && typeof sessionStorage !== \"undefined\") {\n const storageKey = `tanstack_router_reload:${error.message}`;\n if (!sessionStorage.getItem(storageKey)) {\n sessionStorage.setItem(storageKey, \"1\");\n reload = true;\n }\n }\n }\n });\n }\n return loadPromise;\n };\n const lazyComp = function Lazy(props) {\n if (reload) {\n window.location.reload();\n throw new Promise(() => {\n });\n }\n if (error) {\n throw error;\n }\n if (!comp) {\n if (reactUse) {\n reactUse(load());\n } else {\n throw load();\n }\n }\n return React.createElement(comp, props);\n };\n lazyComp.preload = load;\n return lazyComp;\n}\nexport {\n lazyRouteComponent\n};\n//# sourceMappingURL=lazyRouteComponent.js.map\n","import * as React from \"react\";\nimport { trimPathRight, getLocationChangeInfo, handleHashScroll } from \"@tanstack/router-core\";\nimport { usePrevious, useLayoutEffect } from \"./utils.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction Transitioner() {\n const router = useRouter();\n const mountLoadForRouter = React.useRef({ router, mounted: false });\n const [isTransitioning, setIsTransitioning] = React.useState(false);\n const { hasPendingMatches, isLoading } = useRouterState({\n select: (s) => ({\n isLoading: s.isLoading,\n hasPendingMatches: s.matches.some((d) => d.status === \"pending\")\n }),\n structuralSharing: true\n });\n const previousIsLoading = usePrevious(isLoading);\n const isAnyPending = isLoading || isTransitioning || hasPendingMatches;\n const previousIsAnyPending = usePrevious(isAnyPending);\n const isPagePending = isLoading || hasPendingMatches;\n const previousIsPagePending = usePrevious(isPagePending);\n router.startTransition = (fn) => {\n setIsTransitioning(true);\n React.startTransition(() => {\n fn();\n setIsTransitioning(false);\n });\n };\n React.useEffect(() => {\n const unsub = router.history.subscribe(router.load);\n const nextLocation = router.buildLocation({\n to: router.latestLocation.pathname,\n search: true,\n params: true,\n hash: true,\n state: true,\n _includeValidateSearch: true\n });\n if (trimPathRight(router.latestLocation.publicHref) !== trimPathRight(nextLocation.publicHref)) {\n router.commitLocation({ ...nextLocation, replace: true });\n }\n return () => {\n unsub();\n };\n }, [router, router.history]);\n useLayoutEffect(() => {\n if (\n // if we are hydrating from SSR, loading is triggered in ssr-client\n typeof window !== \"undefined\" && router.ssr || mountLoadForRouter.current.router === router && mountLoadForRouter.current.mounted\n ) {\n return;\n }\n mountLoadForRouter.current = { router, mounted: true };\n const tryLoad = async () => {\n try {\n await router.load();\n } catch (err) {\n console.error(err);\n }\n };\n tryLoad();\n }, [router]);\n useLayoutEffect(() => {\n if (previousIsLoading && !isLoading) {\n router.emit({\n type: \"onLoad\",\n // When the new URL has committed, when the new matches have been loaded into state.matches\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [previousIsLoading, router, isLoading]);\n useLayoutEffect(() => {\n if (previousIsPagePending && !isPagePending) {\n router.emit({\n type: \"onBeforeRouteMount\",\n ...getLocationChangeInfo(router.state)\n });\n }\n }, [isPagePending, previousIsPagePending, router]);\n useLayoutEffect(() => {\n if (previousIsAnyPending && !isAnyPending) {\n const changeInfo = getLocationChangeInfo(router.state);\n router.emit({\n type: \"onResolved\",\n ...changeInfo\n });\n router.__store.setState((s) => ({\n ...s,\n status: \"idle\",\n resolvedLocation: s.location\n }));\n if (changeInfo.hrefChanged) {\n handleHashScroll(router);\n }\n }\n }, [isAnyPending, previousIsAnyPending, router]);\n return null;\n}\nexport {\n Transitioner\n};\n//# sourceMappingURL=Transitioner.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { isNotFound } from \"@tanstack/router-core\";\nimport { CatchBoundary } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nfunction CatchNotFound(props) {\n const resetKey = useRouterState({\n select: (s) => `not-found-${s.location.pathname}-${s.status}`\n });\n return /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n onCatch: (error, errorInfo) => {\n if (isNotFound(error)) {\n props.onCatch?.(error, errorInfo);\n } else {\n throw error;\n }\n },\n errorComponent: ({ error }) => {\n if (isNotFound(error)) {\n return props.fallback?.(error);\n } else {\n throw error;\n }\n },\n children: props.children\n }\n );\n}\nfunction DefaultGlobalNotFound() {\n return /* @__PURE__ */ jsx(\"p\", { children: \"Not Found\" });\n}\nexport {\n CatchNotFound,\n DefaultGlobalNotFound\n};\n//# sourceMappingURL=not-found.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nfunction SafeFragment(props) {\n return /* @__PURE__ */ jsx(Fragment, { children: props.children });\n}\nexport {\n SafeFragment\n};\n//# sourceMappingURL=SafeFragment.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport warning from \"tiny-warning\";\nimport { DefaultGlobalNotFound } from \"./not-found.js\";\nfunction renderRouteNotFound(router, route, data) {\n if (!route.options.notFoundComponent) {\n if (router.options.defaultNotFoundComponent) {\n return /* @__PURE__ */ jsx(router.options.defaultNotFoundComponent, { ...data });\n }\n if (process.env.NODE_ENV === \"development\") {\n warning(\n route.options.notFoundComponent,\n `A notFoundError was encountered on the route with ID \"${route.id}\", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<p>Not Found</p>)`\n );\n }\n return /* @__PURE__ */ jsx(DefaultGlobalNotFound, {});\n }\n return /* @__PURE__ */ jsx(route.options.notFoundComponent, { ...data });\n}\nexport {\n renderRouteNotFound\n};\n//# sourceMappingURL=renderRouteNotFound.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { useRouter } from \"./useRouter.js\";\nfunction ScriptOnce({ children }) {\n const router = useRouter();\n if (!(isServer ?? router.isServer)) {\n return null;\n }\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n nonce: router.options.ssr?.nonce,\n dangerouslySetInnerHTML: {\n __html: children + \";document.currentScript.remove()\"\n }\n }\n );\n}\nexport {\n ScriptOnce\n};\n//# sourceMappingURL=ScriptOnce.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { defaultGetScrollRestorationKey, restoreScroll, escapeHtml, storageKey } from \"@tanstack/router-core\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { useRouter } from \"./useRouter.js\";\nimport { ScriptOnce } from \"./ScriptOnce.js\";\nfunction ScrollRestoration() {\n const router = useRouter();\n if (!router.isScrollRestoring || !(isServer ?? router.isServer)) {\n return null;\n }\n if (typeof router.options.scrollRestoration === \"function\") {\n const shouldRestore = router.options.scrollRestoration({\n location: router.latestLocation\n });\n if (!shouldRestore) {\n return null;\n }\n }\n const getKey = router.options.getScrollRestorationKey || defaultGetScrollRestorationKey;\n const userKey = getKey(router.latestLocation);\n const resolvedKey = userKey !== defaultGetScrollRestorationKey(router.latestLocation) ? userKey : void 0;\n const restoreScrollOptions = {\n storageKey,\n shouldScrollRestoration: true\n };\n if (resolvedKey) {\n restoreScrollOptions.key = resolvedKey;\n }\n return /* @__PURE__ */ jsx(\n ScriptOnce,\n {\n children: `(${restoreScroll.toString()})(${escapeHtml(JSON.stringify(restoreScrollOptions))})`\n }\n );\n}\nexport {\n ScrollRestoration\n};\n//# sourceMappingURL=scroll-restoration.js.map\n","import { jsxs, jsx, Fragment } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\nimport { isNotFound, rootRouteId, createControlledPromise, isRedirect, getLocationChangeInfo } from \"@tanstack/router-core\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { CatchNotFound } from \"./not-found.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nimport { renderRouteNotFound } from \"./renderRouteNotFound.js\";\nimport { ScrollRestoration } from \"./scroll-restoration.js\";\nimport { ClientOnly } from \"./ClientOnly.js\";\nconst Match = React.memo(function MatchImpl({\n matchId\n}) {\n const router = useRouter();\n const matchState = useRouterState({\n select: (s) => {\n const matchIndex = s.matches.findIndex((d) => d.id === matchId);\n const match = s.matches[matchIndex];\n invariant(\n match,\n `Could not find match for matchId \"${matchId}\". Please file an issue!`\n );\n return {\n routeId: match.routeId,\n ssr: match.ssr,\n _displayPending: match._displayPending,\n resetKey: s.loadedAt,\n parentRouteId: s.matches[matchIndex - 1]?.routeId\n };\n },\n structuralSharing: true\n });\n const route = router.routesById[matchState.routeId];\n const PendingComponent = route.options.pendingComponent ?? router.options.defaultPendingComponent;\n const pendingElement = PendingComponent ? /* @__PURE__ */ jsx(PendingComponent, {}) : null;\n const routeErrorComponent = route.options.errorComponent ?? router.options.defaultErrorComponent;\n const routeOnCatch = route.options.onCatch ?? router.options.defaultOnCatch;\n const routeNotFoundComponent = route.isRoot ? (\n // If it's the root route, use the globalNotFound option, with fallback to the notFoundRoute's component\n route.options.notFoundComponent ?? router.options.notFoundRoute?.options.component\n ) : route.options.notFoundComponent;\n const resolvedNoSsr = matchState.ssr === false || matchState.ssr === \"data-only\";\n const ResolvedSuspenseBoundary = (\n // If we're on the root route, allow forcefully wrapping in suspense\n (!route.isRoot || route.options.wrapInSuspense || resolvedNoSsr) && (route.options.wrapInSuspense ?? PendingComponent ?? (route.options.errorComponent?.preload || resolvedNoSsr)) ? React.Suspense : SafeFragment\n );\n const ResolvedCatchBoundary = routeErrorComponent ? CatchBoundary : SafeFragment;\n const ResolvedNotFoundBoundary = routeNotFoundComponent ? CatchNotFound : SafeFragment;\n const ShellComponent = route.isRoot ? route.options.shellComponent ?? SafeFragment : SafeFragment;\n return /* @__PURE__ */ jsxs(ShellComponent, { children: [\n /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: /* @__PURE__ */ jsx(ResolvedSuspenseBoundary, { fallback: pendingElement, children: /* @__PURE__ */ jsx(\n ResolvedCatchBoundary,\n {\n getResetKey: () => matchState.resetKey,\n errorComponent: routeErrorComponent || ErrorComponent,\n onCatch: (error, errorInfo) => {\n if (isNotFound(error)) throw error;\n warning(false, `Error in route match: ${matchId}`);\n routeOnCatch?.(error, errorInfo);\n },\n children: /* @__PURE__ */ jsx(\n ResolvedNotFoundBoundary,\n {\n fallback: (error) => {\n if (!routeNotFoundComponent || error.routeId && error.routeId !== matchState.routeId || !error.routeId && !route.isRoot)\n throw error;\n return React.createElement(routeNotFoundComponent, error);\n },\n children: resolvedNoSsr || matchState._displayPending ? /* @__PURE__ */ jsx(ClientOnly, { fallback: pendingElement, children: /* @__PURE__ */ jsx(MatchInner, { matchId }) }) : /* @__PURE__ */ jsx(MatchInner, { matchId })\n }\n )\n }\n ) }) }),\n matchState.parentRouteId === rootRouteId && router.options.scrollRestoration ? /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(OnRendered, {}),\n /* @__PURE__ */ jsx(ScrollRestoration, {})\n ] }) : null\n ] });\n});\nfunction OnRendered() {\n const router = useRouter();\n const prevLocationRef = React.useRef(\n void 0\n );\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n suppressHydrationWarning: true,\n ref: (el) => {\n if (el && (prevLocationRef.current === void 0 || prevLocationRef.current.href !== router.latestLocation.href)) {\n router.emit({\n type: \"onRendered\",\n ...getLocationChangeInfo(router.state)\n });\n prevLocationRef.current = router.latestLocation;\n }\n }\n },\n router.latestLocation.state.__TSR_key\n );\n}\nconst MatchInner = React.memo(function MatchInnerImpl({\n matchId\n}) {\n const router = useRouter();\n const { match, key, routeId } = useRouterState({\n select: (s) => {\n const match2 = s.matches.find((d) => d.id === matchId);\n const routeId2 = match2.routeId;\n const remountFn = router.routesById[routeId2].options.remountDeps ?? router.options.defaultRemountDeps;\n const remountDeps = remountFn?.({\n routeId: routeId2,\n loaderDeps: match2.loaderDeps,\n params: match2._strictParams,\n search: match2._strictSearch\n });\n const key2 = remountDeps ? JSON.stringify(remountDeps) : void 0;\n return {\n key: key2,\n routeId: routeId2,\n match: {\n id: match2.id,\n status: match2.status,\n error: match2.error,\n invalid: match2.invalid,\n _forcePending: match2._forcePending,\n _displayPending: match2._displayPending\n }\n };\n },\n structuralSharing: true\n });\n const route = router.routesById[routeId];\n const out = React.useMemo(() => {\n const Comp = route.options.component ?? router.options.defaultComponent;\n if (Comp) {\n return /* @__PURE__ */ jsx(Comp, {}, key);\n }\n return /* @__PURE__ */ jsx(Outlet, {});\n }, [key, route.options.component, router.options.defaultComponent]);\n if (match._displayPending) {\n throw router.getMatch(match.id)?._nonReactive.displayPendingPromise;\n }\n if (match._forcePending) {\n throw router.getMatch(match.id)?._nonReactive.minPendingPromise;\n }\n if (match.status === \"pending\") {\n const pendingMinMs = route.options.pendingMinMs ?? router.options.defaultPendingMinMs;\n if (pendingMinMs) {\n const routerMatch = router.getMatch(match.id);\n if (routerMatch && !routerMatch._nonReactive.minPendingPromise) {\n if (!(isServer ?? router.isServer)) {\n const minPendingPromise = createControlledPromise();\n routerMatch._nonReactive.minPendingPromise = minPendingPromise;\n setTimeout(() => {\n minPendingPromise.resolve();\n routerMatch._nonReactive.minPendingPromise = void 0;\n }, pendingMinMs);\n }\n }\n }\n throw router.getMatch(match.id)?._nonReactive.loadPromise;\n }\n if (match.status === \"notFound\") {\n invariant(isNotFound(match.error), \"Expected a notFound error\");\n return renderRouteNotFound(router, route, match.error);\n }\n if (match.status === \"redirected\") {\n invariant(isRedirect(match.error), \"Expected a redirect error\");\n throw router.getMatch(match.id)?._nonReactive.loadPromise;\n }\n if (match.status === \"error\") {\n if (isServer ?? router.isServer) {\n const RouteErrorComponent = (route.options.errorComponent ?? router.options.defaultErrorComponent) || ErrorComponent;\n return /* @__PURE__ */ jsx(\n RouteErrorComponent,\n {\n error: match.error,\n reset: void 0,\n info: {\n componentStack: \"\"\n }\n }\n );\n }\n throw match.error;\n }\n return out;\n});\nconst Outlet = React.memo(function OutletImpl() {\n const router = useRouter();\n const matchId = React.useContext(matchContext);\n const routeId = useRouterState({\n select: (s) => s.matches.find((d) => d.id === matchId)?.routeId\n });\n const route = router.routesById[routeId];\n const parentGlobalNotFound = useRouterState({\n select: (s) => {\n const matches = s.matches;\n const parentMatch = matches.find((d) => d.id === matchId);\n invariant(\n parentMatch,\n `Could not find parent match for matchId \"${matchId}\"`\n );\n return parentMatch.globalNotFound;\n }\n });\n const childMatchId = useRouterState({\n select: (s) => {\n const matches = s.matches;\n const index = matches.findIndex((d) => d.id === matchId);\n return matches[index + 1]?.id;\n }\n });\n const pendingElement = router.options.defaultPendingComponent ? /* @__PURE__ */ jsx(router.options.defaultPendingComponent, {}) : null;\n if (parentGlobalNotFound) {\n return renderRouteNotFound(router, route, void 0);\n }\n if (!childMatchId) {\n return null;\n }\n const nextMatch = /* @__PURE__ */ jsx(Match, { matchId: childMatchId });\n if (routeId === rootRouteId) {\n return /* @__PURE__ */ jsx(React.Suspense, { fallback: pendingElement, children: nextMatch });\n }\n return nextMatch;\n});\nexport {\n Match,\n MatchInner,\n Outlet\n};\n//# sourceMappingURL=Match.js.map\n","import { jsxs, jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport warning from \"tiny-warning\";\nimport { rootRouteId } from \"@tanstack/router-core\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { CatchBoundary, ErrorComponent } from \"./CatchBoundary.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { Transitioner } from \"./Transitioner.js\";\nimport { matchContext } from \"./matchContext.js\";\nimport { Match } from \"./Match.js\";\nimport { SafeFragment } from \"./SafeFragment.js\";\nfunction Matches() {\n const router = useRouter();\n const rootRoute = router.routesById[rootRouteId];\n const PendingComponent = rootRoute.options.pendingComponent ?? router.options.defaultPendingComponent;\n const pendingElement = PendingComponent ? /* @__PURE__ */ jsx(PendingComponent, {}) : null;\n const ResolvedSuspense = (isServer ?? router.isServer) || typeof document !== \"undefined\" && router.ssr ? SafeFragment : React.Suspense;\n const inner = /* @__PURE__ */ jsxs(ResolvedSuspense, { fallback: pendingElement, children: [\n !(isServer ?? router.isServer) && /* @__PURE__ */ jsx(Transitioner, {}),\n /* @__PURE__ */ jsx(MatchesInner, {})\n ] });\n return router.options.InnerWrap ? /* @__PURE__ */ jsx(router.options.InnerWrap, { children: inner }) : inner;\n}\nfunction MatchesInner() {\n const router = useRouter();\n const matchId = useRouterState({\n select: (s) => {\n return s.matches[0]?.id;\n }\n });\n const resetKey = useRouterState({\n select: (s) => s.loadedAt\n });\n const matchComponent = matchId ? /* @__PURE__ */ jsx(Match, { matchId }) : null;\n return /* @__PURE__ */ jsx(matchContext.Provider, { value: matchId, children: router.options.disableGlobalCatchBoundary ? matchComponent : /* @__PURE__ */ jsx(\n CatchBoundary,\n {\n getResetKey: () => resetKey,\n errorComponent: ErrorComponent,\n onCatch: (error) => {\n warning(\n false,\n `The following error wasn't caught by any route! At the very least, consider setting an 'errorComponent' in your RootRoute!`\n );\n warning(false, error.message || error.toString());\n },\n children: matchComponent\n }\n ) });\n}\nfunction useMatchRoute() {\n const router = useRouter();\n useRouterState({\n select: (s) => [s.location.href, s.resolvedLocation?.href, s.status],\n structuralSharing: true\n });\n return React.useCallback(\n (opts) => {\n const { pending, caseSensitive, fuzzy, includeSearch, ...rest } = opts;\n return router.matchRoute(rest, {\n pending,\n caseSensitive,\n fuzzy,\n includeSearch\n });\n },\n [router]\n );\n}\nfunction MatchRoute(props) {\n const matchRoute = useMatchRoute();\n const params = matchRoute(props);\n if (typeof props.children === \"function\") {\n return props.children(params);\n }\n return params ? props.children : null;\n}\nfunction useMatches(opts) {\n return useRouterState({\n select: (state) => {\n const matches = state.matches;\n return opts?.select ? opts.select(matches) : matches;\n },\n structuralSharing: opts?.structuralSharing\n });\n}\nfunction useParentMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n 0,\n matches.findIndex((d) => d.id === contextMatchId)\n );\n return opts?.select ? opts.select(matches) : matches;\n },\n structuralSharing: opts?.structuralSharing\n });\n}\nfunction useChildMatches(opts) {\n const contextMatchId = React.useContext(matchContext);\n return useMatches({\n select: (matches) => {\n matches = matches.slice(\n matches.findIndex((d) => d.id === contextMatchId) + 1\n );\n return opts?.select ? opts.select(matches) : matches;\n },\n structuralSharing: opts?.structuralSharing\n });\n}\nexport {\n MatchRoute,\n Matches,\n useChildMatches,\n useMatchRoute,\n useMatches,\n useParentMatches\n};\n//# sourceMappingURL=Matches.js.map\n","import { RouterCore } from \"@tanstack/router-core\";\nimport { createFileRoute, createLazyFileRoute } from \"./fileRoute.js\";\nconst createRouter = (options) => {\n return new Router(options);\n};\nclass Router extends RouterCore {\n constructor(options) {\n super(options);\n }\n}\nif (typeof globalThis !== \"undefined\") {\n globalThis.createFileRoute = createFileRoute;\n globalThis.createLazyFileRoute = createLazyFileRoute;\n} else if (typeof window !== \"undefined\") {\n window.createFileRoute = createFileRoute;\n window.createLazyFileRoute = createLazyFileRoute;\n}\nexport {\n Router,\n createRouter\n};\n//# sourceMappingURL=router.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport { Matches } from \"./Matches.js\";\nimport { getRouterContext } from \"./routerContext.js\";\nfunction RouterContextProvider({\n router,\n children,\n ...rest\n}) {\n if (Object.keys(rest).length > 0) {\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context\n }\n });\n }\n const routerContext = getRouterContext();\n const provider = /* @__PURE__ */ jsx(routerContext.Provider, { value: router, children });\n if (router.options.Wrap) {\n return /* @__PURE__ */ jsx(router.options.Wrap, { children: provider });\n }\n return provider;\n}\nfunction RouterProvider({ router, ...rest }) {\n return /* @__PURE__ */ jsx(RouterContextProvider, { router, ...rest, children: /* @__PURE__ */ jsx(Matches, {}) });\n}\nexport {\n RouterContextProvider,\n RouterProvider\n};\n//# sourceMappingURL=RouterProvider.js.map\n","import { defaultGetScrollRestorationKey, getCssSelector, scrollRestorationCache, setupScrollRestoration } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nfunction useScrollRestoration() {\n const router = useRouter();\n setupScrollRestoration(router, true);\n}\nfunction ScrollRestoration(_props) {\n useScrollRestoration();\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.\"\n );\n }\n return null;\n}\nfunction useElementScrollRestoration(options) {\n useScrollRestoration();\n const router = useRouter();\n const getKey = options.getKey || defaultGetScrollRestorationKey;\n let elementSelector = \"\";\n if (options.id) {\n elementSelector = `[data-scroll-restoration-id=\"${options.id}\"]`;\n } else {\n const element = options.getElement?.();\n if (!element) {\n return;\n }\n elementSelector = element instanceof Window ? \"window\" : getCssSelector(element);\n }\n const restoreKey = getKey(router.latestLocation);\n const byKey = scrollRestorationCache?.state[restoreKey];\n return byKey?.[elementSelector];\n}\nexport {\n ScrollRestoration,\n useElementScrollRestoration\n};\n//# sourceMappingURL=ScrollRestoration.js.map\n","import * as React from \"react\";\nimport { useRouter } from \"./useRouter.js\";\nfunction _resolveBlockerOpts(opts, condition) {\n if (opts === void 0) {\n return {\n shouldBlockFn: () => true,\n withResolver: false\n };\n }\n if (\"shouldBlockFn\" in opts) {\n return opts;\n }\n if (typeof opts === \"function\") {\n const shouldBlock2 = Boolean(condition ?? true);\n const _customBlockerFn2 = async () => {\n if (shouldBlock2) return await opts();\n return false;\n };\n return {\n shouldBlockFn: _customBlockerFn2,\n enableBeforeUnload: shouldBlock2,\n withResolver: false\n };\n }\n const shouldBlock = Boolean(opts.condition ?? true);\n const fn = opts.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n}\nfunction useBlocker(opts, condition) {\n const {\n shouldBlockFn,\n enableBeforeUnload = true,\n disabled = false,\n withResolver = false\n } = _resolveBlockerOpts(opts, condition);\n const router = useRouter();\n const { history } = router;\n const [resolver, setResolver] = React.useState({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n React.useEffect(() => {\n const blockerFnComposed = async (blockerFnArgs) => {\n function getLocation(location) {\n const parsedLocation = router.parseLocation(location);\n const matchedRoutes = router.getMatchedRoutes(parsedLocation.pathname);\n if (matchedRoutes.foundRoute === void 0) {\n return {\n routeId: \"__notFound__\",\n fullPath: parsedLocation.pathname,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: router.options.parseSearch(location.search)\n };\n }\n return {\n routeId: matchedRoutes.foundRoute.id,\n fullPath: matchedRoutes.foundRoute.fullPath,\n pathname: parsedLocation.pathname,\n params: matchedRoutes.routeParams,\n search: router.options.parseSearch(location.search)\n };\n }\n const current = getLocation(blockerFnArgs.currentLocation);\n const next = getLocation(blockerFnArgs.nextLocation);\n if (current.routeId === \"__notFound__\" && next.routeId !== \"__notFound__\") {\n return false;\n }\n const shouldBlock = await shouldBlockFn({\n action: blockerFnArgs.action,\n current,\n next\n });\n if (!withResolver) {\n return shouldBlock;\n }\n if (!shouldBlock) {\n return false;\n }\n const promise = new Promise((resolve) => {\n setResolver({\n status: \"blocked\",\n current,\n next,\n action: blockerFnArgs.action,\n proceed: () => resolve(false),\n reset: () => resolve(true)\n });\n });\n const canNavigateAsync = await promise;\n setResolver({\n status: \"idle\",\n current: void 0,\n next: void 0,\n action: void 0,\n proceed: void 0,\n reset: void 0\n });\n return canNavigateAsync;\n };\n return disabled ? void 0 : history.block({ blockerFn: blockerFnComposed, enableBeforeUnload });\n }, [\n shouldBlockFn,\n enableBeforeUnload,\n disabled,\n withResolver,\n history,\n router\n ]);\n return resolver;\n}\nconst _resolvePromptBlockerArgs = (props) => {\n if (\"shouldBlockFn\" in props) {\n return { ...props };\n }\n const shouldBlock = Boolean(props.condition ?? true);\n const fn = props.blockerFn;\n const _customBlockerFn = async () => {\n if (shouldBlock && fn !== void 0) {\n return await fn();\n }\n return shouldBlock;\n };\n return {\n shouldBlockFn: _customBlockerFn,\n enableBeforeUnload: shouldBlock,\n withResolver: fn === void 0\n };\n};\nfunction Block(opts) {\n const { children, ...rest } = opts;\n const args = _resolvePromptBlockerArgs(rest);\n const resolver = useBlocker(args);\n return children ? typeof children === \"function\" ? children(resolver) : children : null;\n}\nexport {\n Block,\n useBlocker\n};\n//# sourceMappingURL=useBlocker.js.map\n","import { useMatch } from \"./useMatch.js\";\nfunction useRouteContext(opts) {\n return useMatch({\n ...opts,\n select: (match) => opts.select ? opts.select(match.context) : match.context\n });\n}\nexport {\n useRouteContext\n};\n//# sourceMappingURL=useRouteContext.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useLocation(opts) {\n return useRouterState({\n select: (state) => opts?.select ? opts.select(state.location) : state.location\n });\n}\nexport {\n useLocation\n};\n//# sourceMappingURL=useLocation.js.map\n","import { useRouterState } from \"./useRouterState.js\";\nfunction useCanGoBack() {\n return useRouterState({ select: (s) => s.location.state.__TSR_index !== 0 });\n}\nexport {\n useCanGoBack\n};\n//# sourceMappingURL=useCanGoBack.js.map\n","import { jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { isServer } from \"@tanstack/router-core/isServer\";\nimport { useRouter } from \"./useRouter.js\";\nfunction Asset({\n tag,\n attrs,\n children,\n nonce\n}) {\n switch (tag) {\n case \"title\":\n return /* @__PURE__ */ jsx(\"title\", { ...attrs, suppressHydrationWarning: true, children });\n case \"meta\":\n return /* @__PURE__ */ jsx(\"meta\", { ...attrs, suppressHydrationWarning: true });\n case \"link\":\n return /* @__PURE__ */ jsx(\"link\", { ...attrs, nonce, suppressHydrationWarning: true });\n case \"style\":\n return /* @__PURE__ */ jsx(\n \"style\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children },\n nonce\n }\n );\n case \"script\":\n return /* @__PURE__ */ jsx(Script, { attrs, children });\n default:\n return null;\n }\n}\nfunction Script({\n attrs,\n children\n}) {\n const router = useRouter();\n React.useEffect(() => {\n if (attrs?.src) {\n const normSrc = (() => {\n try {\n const base = document.baseURI || window.location.href;\n return new URL(attrs.src, base).href;\n } catch {\n return attrs.src;\n }\n })();\n const existingScript = Array.from(\n document.querySelectorAll(\"script[src]\")\n ).find((el) => el.src === normSrc);\n if (existingScript) {\n return;\n }\n const script = document.createElement(\"script\");\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n if (typeof children === \"string\") {\n const typeAttr = typeof attrs?.type === \"string\" ? attrs.type : \"text/javascript\";\n const nonceAttr = typeof attrs?.nonce === \"string\" ? attrs.nonce : void 0;\n const existingScript = Array.from(\n document.querySelectorAll(\"script:not([src])\")\n ).find((el) => {\n if (!(el instanceof HTMLScriptElement)) return false;\n const sType = el.getAttribute(\"type\") ?? \"text/javascript\";\n const sNonce = el.getAttribute(\"nonce\") ?? void 0;\n return el.textContent === children && sType === typeAttr && sNonce === nonceAttr;\n });\n if (existingScript) {\n return;\n }\n const script = document.createElement(\"script\");\n script.textContent = children;\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (key !== \"suppressHydrationWarning\" && value !== void 0 && value !== false) {\n script.setAttribute(\n key,\n typeof value === \"boolean\" ? \"\" : String(value)\n );\n }\n }\n }\n document.head.appendChild(script);\n return () => {\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n };\n }\n return void 0;\n }, [attrs, children]);\n if (!(isServer ?? router.isServer)) {\n const { src, ...rest } = attrs || {};\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: { __html: \"\" },\n ...rest\n }\n );\n }\n if (attrs?.src && typeof attrs.src === \"string\") {\n return /* @__PURE__ */ jsx(\"script\", { ...attrs, suppressHydrationWarning: true });\n }\n if (typeof children === \"string\") {\n return /* @__PURE__ */ jsx(\n \"script\",\n {\n ...attrs,\n dangerouslySetInnerHTML: { __html: children },\n suppressHydrationWarning: true\n }\n );\n }\n return null;\n}\nexport {\n Asset\n};\n//# sourceMappingURL=Asset.js.map\n","import * as React from \"react\";\nimport { escapeHtml } from \"@tanstack/router-core\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nconst useTags = () => {\n const router = useRouter();\n const nonce = router.options.ssr?.nonce;\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta).filter(Boolean);\n }\n });\n const meta = React.useMemo(() => {\n const resultMeta = [];\n const metaByAttribute = {};\n let title;\n for (let i = routeMeta.length - 1; i >= 0; i--) {\n const metas = routeMeta[i];\n for (let j = metas.length - 1; j >= 0; j--) {\n const m = metas[j];\n if (!m) continue;\n if (m.title) {\n if (!title) {\n title = {\n tag: \"title\",\n children: m.title\n };\n }\n } else if (\"script:ld+json\" in m) {\n try {\n const json = JSON.stringify(m[\"script:ld+json\"]);\n resultMeta.push({\n tag: \"script\",\n attrs: {\n type: \"application/ld+json\"\n },\n children: escapeHtml(json)\n });\n } catch {\n }\n } else {\n const attribute = m.name ?? m.property;\n if (attribute) {\n if (metaByAttribute[attribute]) {\n continue;\n } else {\n metaByAttribute[attribute] = true;\n }\n }\n resultMeta.push({\n tag: \"meta\",\n attrs: {\n ...m,\n nonce\n }\n });\n }\n }\n }\n if (title) {\n resultMeta.push(title);\n }\n if (nonce) {\n resultMeta.push({\n tag: \"meta\",\n attrs: {\n property: \"csp-nonce\",\n content: nonce\n }\n });\n }\n resultMeta.reverse();\n return resultMeta;\n }, [routeMeta, nonce]);\n const links = useRouterState({\n select: (state) => {\n const constructed = state.matches.map((match) => match.links).filter(Boolean).flat(1).map((link) => ({\n tag: \"link\",\n attrs: {\n ...link,\n nonce\n }\n }));\n const manifest = router.ssr?.manifest;\n const assets = state.matches.map((match) => manifest?.routes[match.routeId]?.assets ?? []).filter(Boolean).flat(1).filter((asset) => asset.tag === \"link\").map(\n (asset) => ({\n tag: \"link\",\n attrs: {\n ...asset.attrs,\n suppressHydrationWarning: true,\n nonce\n }\n })\n );\n return [...constructed, ...assets];\n },\n structuralSharing: true\n });\n const preloadLinks = useRouterState({\n select: (state) => {\n const preloadLinks2 = [];\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => router.ssr?.manifest?.routes[route.id]?.preloads?.filter(Boolean).forEach((preload) => {\n preloadLinks2.push({\n tag: \"link\",\n attrs: {\n rel: \"modulepreload\",\n href: preload,\n nonce\n }\n });\n })\n );\n return preloadLinks2;\n },\n structuralSharing: true\n });\n const styles = useRouterState({\n select: (state) => state.matches.map((match) => match.styles).flat(1).filter(Boolean).map(({ children, ...attrs }) => ({\n tag: \"style\",\n attrs: {\n ...attrs,\n nonce\n },\n children\n })),\n structuralSharing: true\n });\n const headScripts = useRouterState({\n select: (state) => state.matches.map((match) => match.headScripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script,\n nonce\n },\n children\n })),\n structuralSharing: true\n });\n return uniqBy(\n [\n ...meta,\n ...preloadLinks,\n ...links,\n ...styles,\n ...headScripts\n ],\n (d) => {\n return JSON.stringify(d);\n }\n );\n};\nfunction uniqBy(arr, fn) {\n const seen = /* @__PURE__ */ new Set();\n return arr.filter((item) => {\n const key = fn(item);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n}\nexport {\n uniqBy,\n useTags\n};\n//# sourceMappingURL=headContentUtils.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouter } from \"./useRouter.js\";\nimport { useTags } from \"./headContentUtils.js\";\nfunction HeadContent() {\n const tags = useTags();\n const router = useRouter();\n const nonce = router.options.ssr?.nonce;\n return /* @__PURE__ */ jsx(Fragment, { children: tags.map((tag) => /* @__PURE__ */ createElement(Asset, { ...tag, key: `tsr-meta-${JSON.stringify(tag)}`, nonce })) });\n}\nexport {\n HeadContent\n};\n//# sourceMappingURL=HeadContent.js.map\n","import { jsx, Fragment } from \"react/jsx-runtime\";\nimport { createElement } from \"react\";\nimport { Asset } from \"./Asset.js\";\nimport { useRouterState } from \"./useRouterState.js\";\nimport { useRouter } from \"./useRouter.js\";\nconst Scripts = () => {\n const router = useRouter();\n const nonce = router.options.ssr?.nonce;\n const assetScripts = useRouterState({\n select: (state) => {\n const assetScripts2 = [];\n const manifest = router.ssr?.manifest;\n if (!manifest) {\n return [];\n }\n state.matches.map((match) => router.looseRoutesById[match.routeId]).forEach(\n (route) => manifest.routes[route.id]?.assets?.filter((d) => d.tag === \"script\").forEach((asset) => {\n assetScripts2.push({\n tag: \"script\",\n attrs: { ...asset.attrs, nonce },\n children: asset.children\n });\n })\n );\n return assetScripts2;\n },\n structuralSharing: true\n });\n const { scripts } = useRouterState({\n select: (state) => ({\n scripts: state.matches.map((match) => match.scripts).flat(1).filter(Boolean).map(({ children, ...script }) => ({\n tag: \"script\",\n attrs: {\n ...script,\n suppressHydrationWarning: true,\n nonce\n },\n children\n }))\n }),\n structuralSharing: true\n });\n let serverBufferedScript = void 0;\n if (router.serverSsr) {\n serverBufferedScript = router.serverSsr.takeBufferedScripts();\n }\n const allScripts = [...scripts, ...assetScripts];\n if (serverBufferedScript) {\n allScripts.unshift(serverBufferedScript);\n }\n return /* @__PURE__ */ jsx(Fragment, { children: allScripts.map((asset, i) => /* @__PURE__ */ createElement(Asset, { ...asset, key: `tsr-scripts-${asset.tag}-${i}` })) });\n};\nexport {\n Scripts\n};\n//# sourceMappingURL=Scripts.js.map\n"],"names":["require$$0","shimModule","batch","trimPathRight","React","jsx","jsxs","React__default","require$$1","withSelectorModule","useSyncExternalStoreWithSelector","Fragment","ScrollRestoration","createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;CAWA,IAAI,KAAK,GAAGA,YAAA,EAAgB;AAC5B,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAA;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC3B,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,eAAe,GAAG,KAAK,CAAC,eAAe;AACzC,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;AACxD,GAAE,IAAI,KAAK,GAAG,WAAW,EAAE;AAC3B,KAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC;AAC9E,KAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;AAC5B,KAAI,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC;AAC9B,GAAE,eAAe;AACjB,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;AACxB,OAAM,IAAI,CAAC,WAAW,GAAG,WAAW;AACpC,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACjE,CAAK;AACL,KAAI,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW;IAC/B;AACH,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OAC3D,OAAO,SAAS,CAAC,YAAY;AACnC,SAAQ,sBAAsB,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnE,OAAA,CAAO,CAAC;KACR,CAAK;AACL,KAAI,CAAC,SAAS;IACX;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;AACd,CAAA;CACA,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,GAAE,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW;AAC1C,GAAE,IAAI,GAAG,IAAI,CAAC,KAAK;AACnB,GAAE,IAAI;AACN,KAAI,IAAI,SAAS,GAAG,iBAAiB,EAAE;AACvC,KAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;GACrC,CAAG,CAAC,OAAO,KAAK,EAAE;KACd,OAAO,IAAE;AACb,GAAA;AACA,CAAA;AACA,CAAA,SAAS,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE;GACtD,OAAO,WAAW,EAAE;AACtB,CAAA;AACA,CAAA,IAAI,IAAI;GACN,WAAW,KAAK,OAAO,MAAM;AAC/B,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ;AACxC,GAAE,WAAW,KAAK,OAAO,MAAM,CAAC,QAAQ,CAAC;OACnC;AACN,OAAM,sBAAsB;AAC5B,CAAA,mCAAA,CAAA,oBAA4B;GAC1B,MAAM,KAAK,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,GAAG,IAAI;;;;;;;;;AC/D3E,CAA2C;GACzCC,IAAA,CAAA,OAAO,GAAUD,0CAAA,EAA2D;CAC9E;;;;ACJA,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,gBAAgB,mBAAmB,IAAI,OAAO,EAAE;AACtD,MAAM,6BAA6B,GAAG;AACtC,EAAE,OAAO,EAAE;AACX,CAAC;AACD,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,YAAY,GAAG,CAAC;AACpB,MAAM,gBAAgB,mBAAmB,IAAI,GAAG,EAAE;AAClD,MAAM,oBAAoB,mBAAmB,IAAI,GAAG,EAAE;AACtD,SAAS,iBAAiB,CAAC,WAAW,EAAE;AACxC,EAAE,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AACrC,IAAI,IAAI,6BAA6B,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACjE,MAAM;AACN,IAAI;AACJ,IAAI,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACvD,IAAI,OAAO,CAAC,SAAS,EAAE;AACvB,IAAI,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;AAClC,QAAQ,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AACpE,QAAQ,IAAI,EAAE,wBAAwB,IAAI,IAAI,GAAG,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,EAAE;AAC5F,QAAQ,iBAAiB,CAAC,wBAAwB,CAAC;AACnD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS;AAC5B,IAAI,UAAU,EAAE,KAAK,CAAC;AACtB,GAAG;AACH,EAAE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE;AAC1C,IAAI,QAAQ,CAAC,KAAK,CAAC;AACnB,EAAE;AACF;AACA,SAAS,wBAAwB,CAAC,OAAO,EAAE;AAC3C,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,OAAO,EAAE,OAAO,CAAC,SAAS;AAC9B,IAAI,UAAU,EAAE,OAAO,CAAC;AACxB,GAAG;AACH,EAAE,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE;AAC5C,IAAI,QAAQ,CAAC,KAAK,CAAC;AACnB,EAAE;AACF;AACA,SAAS,OAAO,CAAC,KAAK,EAAE;AACxB,EAAE,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC5D,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;AACpD,EAAE;AACF,EAAE,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,EAAE,IAAI,YAAY,GAAG,CAAC,EAAE;AACxB,EAAE,IAAI,YAAY,EAAE;AACpB,EAAE,IAAI;AACN,IAAI,YAAY,GAAG,IAAI;AACvB,IAAI,OAAO,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;AACtC,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACjD,MAAM,gBAAgB,CAAC,KAAK,EAAE;AAC9B,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS;AAC9E,QAAQ,MAAM,CAAC,SAAS,GAAG,SAAS;AACpC,QAAQ,iBAAiB,CAAC,MAAM,CAAC;AACjC,MAAM;AACN,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1D,QAAQ,iBAAiB,CAAC,WAAW,CAAC;AACtC,MAAM;AACN,MAAM,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;AACnC,QAAQ,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;AACxD,QAAQ,IAAI,CAAC,WAAW,EAAE;AAC1B,QAAQ,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AAC3C,UAAU,wBAAwB,CAAC,OAAO,CAAC;AAC3C,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,GAAG,KAAK;AACxB,IAAI,6BAA6B,CAAC,OAAO,GAAG,EAAE;AAC9C,IAAI,oBAAoB,CAAC,KAAK,EAAE;AAChC,EAAE;AACF;AACA,SAASE,OAAK,CAAC,EAAE,EAAE;AACnB,EAAE,YAAY,EAAE;AAChB,EAAE,IAAI;AACN,IAAI,EAAE,EAAE;AACR,EAAE,CAAC,SAAS;AACZ,IAAI,YAAY,EAAE;AAClB,IAAI,IAAI,YAAY,KAAK,CAAC,EAAE;AAC5B,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;AACzE,MAAM,IAAI,oBAAoB,EAAE;AAChC,QAAQ,OAAO,CAAC,oBAAoB,CAAC;AACrC,MAAM;AACN,IAAI;AACJ,EAAE;AACF;;AC9FA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,EAAE,OAAO,OAAO,OAAO,KAAK,UAAU;AACtC;;ACAA,MAAM,KAAK,CAAC;AACZ,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,EAAE;AACrC,IAAI,IAAI,CAAC,SAAS,mBAAmB,IAAI,GAAG,EAAE;AAC9C,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,KAAK;AACnC,MAAM,IAAI,EAAE,EAAE,EAAE;AAChB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,WAAW,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC/H,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACvC,QAAQ,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,KAAK,EAAE;AACxC,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,YAAY;AACjC,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY;AAC7B,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO;AAC1B,EAAE;AACF,EAAE,QAAQ,CAAC,OAAO,EAAE;AACpB,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;AAClB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;AAC/B,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC5D,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;AACjE,IAAI,CAAC,MAAM;AACX,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;AACtC,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM;AACb,QAAQ,IAAI,CAAC,KAAK,GAAG,OAAO;AAC5B,MAAM;AACN,IAAI;AACJ,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC5F,IAAI,OAAO,CAAC,IAAI,CAAC;AACjB,EAAE;AACF;;ACjCA,MAAM,aAAa,GAAG,aAAa;AACnC,MAAM,aAAa,GAAG,UAAU;AAChC,MAAM,iBAAiB,GAAG,cAAc;AACxC,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACnC,EAAE,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK;AAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AACzE,EAAE,CAAC;AACH,EAAE,MAAM,iBAAiB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;AACxD,SAAS,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,EAAE,CAAC;AACH,EAAE,MAAM,aAAa,GAAG,OAAO;AAC/B,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,GAAG;AACP,GAAG,KAAK;AACR,IAAI,MAAM,aAAa,GAAG,YAAY,EAAE,aAAa,IAAI,KAAK;AAC9D,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,IAAI,EAAE;AACZ,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AAC/C,IAAI,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;AACvF,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE;AAC/E,MAAM,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AACtC,QAAQ,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;AACzE,QAAQ,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AAClD,UAAU,eAAe,EAAE,QAAQ;AACnC,UAAU,YAAY;AACtB,UAAU,MAAM,EAAE,UAAU,CAAC;AAC7B,SAAS,CAAC;AACV,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,IAAI,CAAC,SAAS,IAAI;AAC5B,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,EAAE;AACV,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,IAAI,QAAQ,GAAG;AACnB,MAAM,OAAO,QAAQ;AACrB,IAAI,CAAC;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE;AAC7B,IAAI,CAAC;AACL,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,CAAC,EAAE,KAAK;AACvB,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AACzB,MAAM,OAAO,MAAM;AACnB,QAAQ,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9B,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AACzC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,GAAG,CAAC,EAAE,KAAK,CAAC;AACxD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;AACrC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClC,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,KAAK;AAC5C,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;AACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC;AACpD,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AACxC,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACrC,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE,SAAS;AACvB,QAAQ,IAAI;AACZ,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK;AACjC,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClD,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,CAAC,YAAY,KAAK;AAC5B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,IAAI,KAAK,CAAC;AACzD,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7C,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK;AAC/B,MAAM,aAAa,CAAC;AACpB,QAAQ,IAAI,EAAE,MAAM;AACpB,UAAU,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,IAAI,KAAK,CAAC;AAC5D,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAChD,QAAQ,CAAC;AACT,QAAQ,YAAY;AACpB,QAAQ,IAAI,EAAE;AACd,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACxD,IAAI,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7C,IAAI,KAAK,EAAE,CAAC,OAAO,KAAK;AACxB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,MAAM;AAC1C,MAAM,CAAC;AACP,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AACjD,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC9C,MAAM,OAAO,MAAM;AACnB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AACpD,QAAQ,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC;AAClE,MAAM,CAAC;AACP,IAAI,CAAC;AACL,IAAI,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI;AAC/B,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,IAAI;AACnC,IAAI;AACJ,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE;AACzC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,KAAK,GAAG,EAAE;AACd,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,eAAe,EAAE;AAC/B,EAAE,OAAO;AACT,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG;AACP;AACA,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,CAAC,aAAa,GAAG;AACrB,GAAG;AACH;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,EAAE,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AACjF,EAAE,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS;AACjD,EAAE,MAAM,oBAAoB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACvD,EAAE,IAAI,QAAQ,GAAG,EAAE;AACnB,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ;AACrC,EAAE,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,QAAQ,GAAG,WAAW;AAC9D,EAAE,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;AACzD,EAAE,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,KAAK,MAAM,SAAS;AAC/D,IAAI,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxE,IAAI,GAAG,CAAC,OAAO,CAAC;AAChB,GAAG,CAAC;AACJ,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE;AAChE,IAAI,MAAM,QAAQ,GAAG,eAAe,EAAE;AACtC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY;AAC5B,MAAM;AACN,QAAQ,CAAC,aAAa,GAAG,CAAC;AAC1B,QAAQ,GAAG,EAAE,QAAQ;AACrB;AACA,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,MAAM;AACN,KAAK;AACL,EAAE;AACF,EAAE,IAAI,eAAe,GAAG,aAAa,EAAE;AACvC,EAAE,IAAI,gBAAgB;AACtB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,aAAa,GAAG,KAAK;AAC3B,EAAE,IAAI,kBAAkB,GAAG,KAAK;AAChC,EAAE,IAAI,sBAAsB,GAAG,KAAK;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM,eAAe;AAC3C,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,SAAS;AACf,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI;AACrC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY;AACnE,MAAM,IAAI,CAAC,KAAK;AAChB,MAAM,EAAE;AACR,MAAM,IAAI,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,kBAAkB,GAAG,KAAK;AACtC,IAAI,IAAI,GAAG,MAAM;AACjB,IAAI,SAAS,GAAG,MAAM;AACtB,IAAI,gBAAgB,GAAG,MAAM;AAC7B,EAAE,CAAC;AACH,EAAE,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,KAAK;AACxD,IAAI,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,gBAAgB,GAAG,eAAe;AACxC,IAAI;AACJ,IAAI,eAAe,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;AAChD,IAAI,IAAI,GAAG;AACX,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI,KAAK;AACvC,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC;AACvD,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,SAAS,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;AAC5B,EAAE,CAAC;AACH,EAAE,MAAM,cAAc,GAAG,YAAY;AACrC,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,aAAa,GAAG,KAAK;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,aAAa,EAAE;AACxC,IAAI,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;AAC1F,IAAI,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC;AACjC,IAAI,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE;AAC/B,IAAI,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,WAAW;AACrD,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;AAC5D,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG;AAC1B,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE;AACb,KAAK,GAAG;AACR,MAAM,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG;AAC9B,KAAK;AACL,IAAI,IAAI,kBAAkB,EAAE;AAC5B,MAAM,kBAAkB,GAAG,KAAK;AAChC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,SAAS,GAAG,YAAY,EAAE;AACtC,MAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC/D,QAAQ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACzC,UAAU,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;AACpD,YAAY,eAAe;AAC3B,YAAY,YAAY;AACxB,YAAY;AACZ,WAAW,CAAC;AACZ,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,aAAa,GAAG,IAAI;AAChC,YAAY,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7B,YAAY,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAClC,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,eAAe,GAAG,aAAa,EAAE;AACrC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1B,EAAE,CAAC;AACH,EAAE,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK;AAChC,IAAI,IAAI,sBAAsB,EAAE;AAChC,MAAM,sBAAsB,GAAG,KAAK;AACpC,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG,KAAK;AAC3B,IAAI,MAAM,SAAS,GAAG,YAAY,EAAE;AACpC,IAAI,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,SAAS,CAAC,MAAM,EAAE;AAC7D,MAAM,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;AACvC,QAAQ,MAAM,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI;AACzE,QAAQ,IAAI,sBAAsB,KAAK,IAAI,EAAE;AAC7C,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,OAAO,sBAAsB,KAAK,UAAU,IAAI,sBAAsB,EAAE,KAAK,IAAI,EAAE;AAC/F,UAAU,WAAW,GAAG,IAAI;AAC5B,UAAU;AACV,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,WAAW,EAAE;AACrB,MAAM,CAAC,CAAC,cAAc,EAAE;AACxB,MAAM,OAAO,CAAC,CAAC,WAAW,GAAG,EAAE;AAC/B,IAAI;AACJ,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC;AAChC,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM;AACvC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;AACvE,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC;AAC7E,IAAI,IAAI,EAAE,CAAC,aAAa,KAAK;AAC7B,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK;AAChC,MAAM,IAAI,aAAa,EAAE,kBAAkB,GAAG,IAAI;AAClD,MAAM,sBAAsB,GAAG,IAAI;AACnC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE;AAC3B,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,WAAW,GAAG,IAAI;AACxB,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AACvB,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;AAC1C,IAAI,KAAK;AACT,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,iBAAiB;AAC/C,MAAM,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB;AACrD,MAAM,GAAG,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,cAAc,EAAE;AACjE,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC;AACR,MAAM,GAAG,CAAC,mBAAmB,CAAC,aAAa,EAAE,cAAc,CAAC;AAC5D,IAAI,CAAC;AACL,IAAI,SAAS,EAAE,MAAM;AACrB,MAAM,IAAI,gBAAgB,IAAI,eAAe,KAAK,gBAAgB,EAAE;AACpE,QAAQ,eAAe,GAAG,gBAAgB;AAC1C,MAAM;AACN,IAAI,CAAC;AACL,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,mBAAmB,EAAE;AACzB,GAAG,CAAC;AACJ,EAAE,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC5E,EAAE,GAAG,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC;AACrD,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,EAAE;AAC5C,IAAI,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC1D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC;AACtD,IAAI,OAAO,GAAG;AACd,EAAE,CAAC;AACH,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,EAAE;AAC/C,IAAI,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC;AACzD,IAAI,OAAO,GAAG;AACd,EAAE,CAAC;AACH,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AACjF,EAAE,OAAO,oBAAoB,CAAC;AAC9B,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,aAAa,EAAE,MAAM;AACzB,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG;AAC1C,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,QAAQ,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC5D,MAAM,OAAO,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;AACnD,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;AACjF,GAAG,CAAC;AACJ;AACA,SAAS,mBAAmB,CAAC,IAAI,GAAG;AACpC,EAAE,cAAc,EAAE,CAAC,GAAG;AACtB,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;AACrC,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;AACnH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;AAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,MAAM;AACxD,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,EAAE,IAAI,QAAQ,GAAG,EAAE;AACnB,EAAE,MAAM,YAAY,GAAG,MAAM,QAAQ;AACrC,EAAE,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,QAAQ,GAAG,WAAW;AAC9D,EAAE,OAAO,aAAa,CAAC;AACvB,IAAI,WAAW;AACf,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM;AACnC,IAAI,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AAChC,MAAM,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,QAAQ,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAChC,MAAM;AACN,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;AAC7C,IAAI,CAAC;AACL,IAAI,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK;AACnC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AAC3B,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI;AAC3B,IAAI,CAAC;AACL,IAAI,IAAI,EAAE,MAAM;AAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACpC,IAAI,CAAC;AACL,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrD,IAAI,CAAC;AACL,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK;AACf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,IAAI,CAAC;AACL,IAAI,UAAU,EAAE,CAAC,IAAI,KAAK,IAAI;AAC9B,IAAI,WAAW,EAAE,YAAY;AAC7B,IAAI,WAAW,EAAE;AACjB,GAAG,CAAC;AACJ;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AACtD,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAClC,IAAI,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACnD,EAAE;AACF,EAAE,OAAO,SAAS;AAClB;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;AAChC,EAAE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC;AAC1C,EAAE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;AAC9C,EAAE,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;AAChD,EAAE,MAAM,QAAQ,GAAG,eAAe,EAAE;AACpC,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,aAAa;AACvB,IAAI,QAAQ,EAAE,aAAa,CAAC,SAAS;AACrC,MAAM,CAAC;AACP,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,SAAS,GAAG,WAAW,GAAG,CAAC,GAAG,WAAW,GAAG,aAAa,CAAC;AACrI,KAAK;AACL,IAAI,IAAI,EAAE,SAAS,GAAG,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;AAClE,IAAI,MAAM,EAAE,WAAW,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK;AAClD,MAAM,WAAW;AACjB,MAAM,SAAS,KAAK,EAAE,GAAG,MAAM,GAAG;AAClC,KAAK,GAAG,EAAE;AACV,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;AAC5E,GAAG;AACH;AACA,SAAS,eAAe,GAAG;AAC3B,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD;;AChaA,MAAM,QAAQ,GAAG,KAAK;;ACEtB,SAAS,KAAK,CAAC,EAAE,EAAE;AAInB,EAAE,IAAI,MAAM;AACZ,EAAE,OAAO,CAAC,MAAM;AAChB,IAAI,MAAM,GAAG,EAAE,EAAE;AACjB,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,MAAM;AACf;;ACVA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5B;AACA,SAAS,UAAU,CAAC,CAAC,EAAE;AACvB,EAAE,OAAO,OAAO,CAAC,KAAK,UAAU;AAChC;AACA,SAAS,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE;AAC7C,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;AAC3B,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC5B,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc;AAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB;AAC1D,SAAS,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAInD,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE;AACtB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,MAAM,GAAG,GAAG,EAAE,OAAO,KAAK;AAChC,EAAE,MAAM,IAAI,GAAG,KAAK;AACpB,EAAE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AAC1E,EAAE,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;AAC7D,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI;AAC7B,EAAE,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;AAC7D,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI;AAC7B,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACnC,EAAE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM;AACnC,EAAE,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;AAC/C,EAAE,IAAI,UAAU,GAAG,CAAC;AACpB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACrC,IAAI,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AACxC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AACjB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACnB,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE;AACrE,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACpF,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACnB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE;AAC7B,EAAE;AACF,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI;AACvE;AACA,SAAS,oBAAoB,CAAC,CAAC,EAAE;AACjC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC7C,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK;AACjD,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACjD,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AACxC,EAAE,MAAM,IAAI,GAAG,KAAK;AACpB,EAAE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAChC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK;AACnD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACrB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,aAAa,CAAC,CAAC,EAAE;AAC1B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;AAC9B,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW;AAC5B,EAAE,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACnC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;AAC7B,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACjC,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;AAC7C,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,kBAAkB,CAAC,CAAC,EAAE;AAC/B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;AAChE;AACA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM;AAC3E;AACA,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;AAC/B,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACf,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE;AAC7B,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK;AAC3C,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK;AACpD,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;AAC5C,IAAI,MAAM,eAAe,GAAG,IAAI,EAAE,eAAe,IAAI,IAAI;AACzD,IAAI,IAAI,IAAI,EAAE,OAAO,EAAE;AACvB,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACjD,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK;AACxD,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG,CAAC;AAClB,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;AACpC,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,MAAM,EAAE;AACrC,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG,CAAC;AAClB,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;AACvB,MAAM,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AAC/C,QAAQ,MAAM,EAAE;AAChB,QAAQ,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK;AACzE,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,MAAM,KAAK,MAAM;AAC5B,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,uBAAuB,CAAC,SAAS,EAAE;AAC5C,EAAE,IAAI,kBAAkB;AACxB,EAAE,IAAI,iBAAiB;AACvB,EAAE,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC7D,IAAI,kBAAkB,GAAG,OAAO;AAChC,IAAI,iBAAiB,GAAG,MAAM;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,iBAAiB,CAAC,MAAM,GAAG,SAAS;AACtC,EAAE,iBAAiB,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK;AACzC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,KAAK,GAAG,KAAK;AACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC;AAC7B,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,EAAE,CAAC;AACH,EAAE,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;AACpC,IAAI,iBAAiB,CAAC,MAAM,GAAG,UAAU;AACzC,IAAI,iBAAiB,CAAC,CAAC,CAAC;AACxB,EAAE,CAAC;AACH,EAAE,OAAO,iBAAiB;AAC1B;AACA,SAAS,qBAAqB,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,EAAE,OAAO,KAAK;AACtD,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,6CAA6C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,2CAA2C,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,kCAAkC,CAAC;AACzN;AACA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,OAAO;AAChB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK;AAChE,GAAG;AACH;AAQA,SAAS,mBAAmB,CAAC,OAAO,EAAE;AACtC,EAAE,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAChD;AACA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,IAAI,OAAO;AACb,EAAE,IAAI;AACN,IAAI,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;AAChC,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,KAAK,KAAK;AAC9D,MAAM,IAAI;AACV,QAAQ,OAAO,SAAS,CAAC,KAAK,CAAC;AAC/B,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,KAAK;AACpB,MAAM;AACN,IAAI,CAAC,CAAC;AACN,EAAE;AACF,EAAE,OAAO,mBAAmB,CAAC,OAAO,CAAC;AACrC;AACA,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;AACjE,SAAS,mBAAmB,CAAC,GAAG,EAAE;AAClC,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;AAC/B,IAAI,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;AACxD,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,KAAK;AAChB,EAAE;AACF;AACA,MAAM,kBAAkB,GAAG;AAC3B,EAAE,GAAG,EAAE,SAAS;AAChB,EAAE,GAAG,EAAE,SAAS;AAChB,EAAE,GAAG,EAAE,SAAS;AAChB,EAAE,QAAQ,EAAE,SAAS;AACrB,EAAE,QAAQ,EAAE;AACZ,CAAC;AACD,MAAM,iBAAiB,GAAG,oBAAoB;AAC9C,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC7E;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE;AAC/D,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAClE,IAAI,OAAO,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE;AACtD,EAAE;AACF,EAAE,MAAM,EAAE,GAAG,WAAW;AACxB,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,IAAI,KAAK;AACX,EAAE,OAAO,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAC3C,IAAI,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvE,IAAI,MAAM,GAAG,EAAE,CAAC,SAAS;AACzB,EAAE;AACF,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AACrE,EAAE,IAAI,0BAA0B,GAAG,KAAK;AACxC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC/B,IAAI,0BAA0B,GAAG,IAAI;AACrC,IAAI,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC7C,EAAE;AACF,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,0BAA0B,EAAE;AACrD;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACjC,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,IAAI;AACpD,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;AAClE;;ACvOA,IAAI,MAAA,GAAS,kBAAA;AACb,SAAS,SAAA,CAAU,WAAW,OAAA,EAAS;AACnC,EAAA,IAAI,SAAA,EAAW;AACX,IAAA;AAAA,EACJ;AACA,EAAkB;AACd,IAAA,MAAM,IAAI,MAAM,MAAM,CAAA;AAAA,EAC1B;AAIJ;;ACZA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AACzC,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,KAAK,GAAG,CAAC,KAAK,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACrB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI;AACzB,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI;AAClC,MAAM,KAAK,CAAC,IAAI,GAAG,MAAM;AACzB,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,MAAM,CAAC,IAAI,GAAG,KAAK;AAC3B,QAAQ,KAAK,CAAC,IAAI,GAAG,MAAM;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,GAAG,KAAK;AAClB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,GAAG,EAAE;AACb,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AAClC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,MAAM;AAC/B,MAAM,KAAK,CAAC,KAAK,CAAC;AAClB,MAAM,OAAO,KAAK,CAAC,KAAK;AACxB,IAAI,CAAC;AACL,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE;AACpB,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,MAAM,EAAE;AACvC,QAAQ,MAAM,QAAQ,GAAG,MAAM;AAC/B,QAAQ,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,UAAU,MAAM,GAAG,QAAQ,CAAC,IAAI;AAChC,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM;AACrC,QAAQ;AACR,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE;AACjC,UAAU,MAAM,GAAG,MAAM;AACzB,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACrC,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,QAAQ,CAAC,KAAK,GAAG,KAAK;AAC9B,QAAQ,KAAK,CAAC,QAAQ,CAAC;AACvB,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,KAAK;AACvC,QAAQ,MAAM,GAAG,KAAK;AACtB,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;AACnC,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AAC7B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,KAAK,GAAG;AACZ,MAAM,KAAK,CAAC,KAAK,EAAE;AACnB,MAAM,MAAM,GAAG,MAAM;AACrB,MAAM,MAAM,GAAG,MAAM;AACrB,IAAI;AACJ,GAAG;AACH;;AC3DA,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC;AAC5B,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,2BAA2B,GAAG,CAAC;AACrC,MAAM,kBAAkB,GAAG,CAAC;AAC5B,MAAM,qBAAqB,GAAG,CAAC;AAC/B,SAAS,qBAAqB,CAAC,IAAI,EAAE;AACrC,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACrC,EAAE,IAAI,SAAS,KAAK,EAAE,EAAE,OAAO,IAAI;AACnC,EAAE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC;AACjD,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE,OAAO,IAAI;AACpC,EAAE,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC;AACjC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI;AAC3C,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;AAChC;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;AAChE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;AACvC,EAAE,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;AAC9C,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;AACzC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,qBAAqB;AACrC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE;AACpB,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;AAC7B,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,qBAAqB;AACrC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;AACjC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;AAClC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACrB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACzB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACnB,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAC5C,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,MAAM;AAC1C,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;AACpD,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE;AAC1B,MAAM,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;AAChF,QAAQ,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC;AACxC,QAAQ,MAAM,QAAQ,GAAG,UAAU;AACnC,QAAQ,IAAI,UAAU,GAAG,QAAQ,EAAE;AACnC,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,2BAA2B;AACjD,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS;AACvC,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU;AACxC,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,QAAQ;AACtC,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC;AAC5C,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACzB,UAAU,OAAO,MAAM;AACvB,QAAQ;AACR,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,EAAE,EAAE;AACjC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC;AACrC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC;AACvC,MAAM,IAAI,WAAW,KAAK,UAAU,EAAE;AACtC,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,qBAAqB;AACzC,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS;AACrC,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS;AACrC,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW;AACvC,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC;AAC1C,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM;AAC/B,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB;AACpC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS;AACnC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW;AACrC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU;AACpC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC;AACxC,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACrB,MAAM,OAAO,MAAM;AACnB,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,qBAAqB;AACnC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACnB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;AACnB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACjB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACjB,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AACjB,EAAE,OAAO,MAAM;AACf;AACA,SAAS,aAAa,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;AACvF,EAAE,OAAO,GAAG,KAAK,CAAC;AAClB,EAAE,IAAI,MAAM,GAAG,KAAK;AACpB,EAAE;AACF,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;AAC7C,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAC9B,IAAI,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,EAAE,aAAa,IAAI,oBAAoB;AAC9E,IAAI,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC;AAC7G,IAAI,OAAO,MAAM,GAAG,MAAM,EAAE;AAC5B,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACtD,MAAM,IAAI,QAAQ;AAClB,MAAM,MAAM,MAAM,GAAG,MAAM;AAC3B,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;AAC5B,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC;AACtB,MAAM,KAAK,EAAE;AACb,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;AAC7B,MAAM,QAAQ,IAAI;AAClB,QAAQ,KAAK,qBAAqB,EAAE;AACpC,UAAU,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9D,UAAU,IAAI,aAAa,EAAE;AAC7B,YAAY,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AACxD,YAAY,IAAI,YAAY,EAAE;AAC9B,cAAc,QAAQ,GAAG,YAAY;AACrC,YAAY,CAAC,MAAM;AACnB,cAAc,IAAI,CAAC,MAAM,qBAAqB,IAAI,GAAG,EAAE;AACvD,cAAc,MAAM,IAAI,GAAG,gBAAgB;AAC3C,gBAAgB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AACxC,eAAe;AACf,cAAc,IAAI,CAAC,MAAM,GAAG,IAAI;AAChC,cAAc,IAAI,CAAC,KAAK,GAAG,KAAK;AAChC,cAAc,QAAQ,GAAG,IAAI;AAC7B,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC;AAC1C,YAAY;AACZ,UAAU,CAAC,MAAM;AACjB,YAAY,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE;AAC5C,YAAY,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,CAAC;AAClE,YAAY,IAAI,YAAY,EAAE;AAC9B,cAAc,QAAQ,GAAG,YAAY;AACrC,YAAY,CAAC,MAAM;AACnB,cAAc,IAAI,CAAC,iBAAiB,qBAAqB,IAAI,GAAG,EAAE;AAClE,cAAc,MAAM,IAAI,GAAG,gBAAgB;AAC3C,gBAAgB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AACxC,eAAe;AACf,cAAc,IAAI,CAAC,MAAM,GAAG,IAAI;AAChC,cAAc,IAAI,CAAC,KAAK,GAAG,KAAK;AAChC,cAAc,QAAQ,GAAG,IAAI;AAC7B,cAAc,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AACpD,YAAY;AACZ,UAAU;AACV,UAAU;AACV,QAAQ;AACR,QAAQ,KAAK,kBAAkB,EAAE;AACjC,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/D,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC5D,UAAU,MAAM,qBAAqB,GAAG,aAAa,IAAI,CAAC,EAAE,UAAU,IAAI,UAAU,CAAC;AACrF,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,YAAY,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI;AACtE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,KAAK,qBAAqB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK;AAC3H,WAAW;AACX,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,QAAQ,GAAG,YAAY;AACnC,UAAU,CAAC,MAAM;AACjB,YAAY,MAAM,IAAI,GAAG,iBAAiB;AAC1C,cAAc,kBAAkB;AAChC,cAAc,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;AAC1C,cAAc,qBAAqB;AACnC,cAAc,MAAM;AACpB,cAAc;AACd,aAAa;AACb,YAAY,QAAQ,GAAG,IAAI;AAC3B,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK;AAC9B,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI;AAC9B,YAAY,IAAI,CAAC,OAAO,KAAK,EAAE;AAC/B,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,UAAU;AACV,UAAU;AACV,QAAQ;AACR,QAAQ,KAAK,2BAA2B,EAAE;AAC1C,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/D,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC5D,UAAU,MAAM,qBAAqB,GAAG,aAAa,IAAI,CAAC,EAAE,UAAU,IAAI,UAAU,CAAC;AACrF,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,YAAY,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI;AACvE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,KAAK,qBAAqB,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK;AAC3H,WAAW;AACX,UAAU,IAAI,YAAY,EAAE;AAC5B,YAAY,QAAQ,GAAG,YAAY;AACnC,UAAU,CAAC,MAAM;AACjB,YAAY,MAAM,IAAI,GAAG,iBAAiB;AAC1C,cAAc,2BAA2B;AACzC,cAAc,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;AAC1C,cAAc,qBAAqB;AACnC,cAAc,MAAM;AACpB,cAAc;AACd,aAAa;AACb,YAAY,QAAQ,GAAG,IAAI;AAC3B,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI;AAC9B,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK;AAC9B,YAAY,IAAI,CAAC,QAAQ,KAAK,EAAE;AAChC,YAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACpC,UAAU;AACV,UAAU;AACV,QAAQ;AACR,QAAQ,KAAK,qBAAqB,EAAE;AACpC,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/D,UAAU,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAC5D,UAAU,MAAM,qBAAqB,GAAG,aAAa,IAAI,CAAC,EAAE,UAAU,IAAI,UAAU,CAAC;AACrF,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,MAAM,GAAG,CAAC,UAAU,GAAG,MAAM,GAAG,qBAAqB,GAAG,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE;AAC7G,UAAU,MAAM,IAAI,GAAG,iBAAiB;AACxC,YAAY,qBAAqB;AACjC,YAAY,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;AACxC,YAAY,qBAAqB;AACjC,YAAY,MAAM;AAClB,YAAY;AACZ,WAAW;AACX,UAAU,QAAQ,GAAG,IAAI;AACzB,UAAU,IAAI,CAAC,MAAM,GAAG,IAAI;AAC5B,UAAU,IAAI,CAAC,KAAK,GAAG,KAAK;AAC5B,UAAU,IAAI,CAAC,QAAQ,KAAK,EAAE;AAC9B,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,QAAQ;AACR;AACA,MAAM,IAAI,GAAG,QAAQ;AACrB,IAAI;AACJ,IAAI,IAAI,gBAAgB,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;AACtI,MAAM,MAAM,YAAY,GAAG,gBAAgB;AAC3C,QAAQ,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AAChC,OAAO;AACP,MAAM,YAAY,CAAC,IAAI,GAAG,qBAAqB;AAC/C,MAAM,YAAY,CAAC,MAAM,GAAG,IAAI;AAChC,MAAM,KAAK,EAAE;AACb,MAAM,YAAY,CAAC,KAAK,GAAG,KAAK;AAChC,MAAM,IAAI,CAAC,QAAQ,KAAK,EAAE;AAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM,IAAI,GAAG,YAAY;AACzB,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM;AACnE,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACtC,MAAM,MAAM,SAAS,GAAG,gBAAgB;AACxC,QAAQ,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;AAChC,OAAO;AACP,MAAM,SAAS,CAAC,IAAI,GAAG,kBAAkB;AACzC,MAAM,SAAS,CAAC,MAAM,GAAG,IAAI;AAC7B,MAAM,KAAK,EAAE;AACb,MAAM,SAAS,CAAC,KAAK,GAAG,KAAK;AAC7B,MAAM,IAAI,CAAC,KAAK,GAAG,SAAS;AAC5B,MAAM,IAAI,GAAG,SAAS;AACtB,IAAI;AACJ,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;AACrD,IAAI,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AAC5C,IAAI,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,IAAI,CAAC;AAC9E,IAAI,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AAC/B,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK;AACxB,MAAM,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI;AAClD,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,QAAQ;AACpB,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;AACxC,MAAM,aAAa;AACnB,QAAQ,oBAAoB;AAC5B,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ,MAAM;AACd,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO;AACP,IAAI;AACJ;AACA,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;AAC3B,EAAE,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE;AAC1D,EAAE,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,CAAC;AACzD,EAAE,IAAI,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,eAAe,CAAC;AAC1F,IAAI,OAAO,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe;AAChD,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;AACrD,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;AAC/C,EAAE;AACF,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;AACrD,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE;AAC9C,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;AAC7C,EAAE;AACF,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;AACrC,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE;AACtC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;AACrC,EAAE,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE;AACpD,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC;AACnD,EAAE,OAAO,CAAC;AACV;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;AACrB,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvC,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;AACnB,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE;AAC9C,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9B,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;AACzD,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AACtC,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvC,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvC,MAAM,aAAa,CAAC,KAAK,CAAC;AAC1B,IAAI;AACJ,EAAE;AACF;AACA,SAAS,gBAAgB,CAAC,QAAQ,EAAE;AACpC,EAAE,OAAO;AACT,IAAI,IAAI,EAAE,qBAAqB;AAC/B,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ;AACZ,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,gBAAgB,EAAE,KAAK;AAC3B,IAAI,eAAe,EAAE;AACrB,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;AAC1E,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,iBAAiB,EAAE,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI;AACjB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,QAAQ;AACZ,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,gBAAgB,EAAE,KAAK;AAC3B,IAAI,eAAe,EAAE,CAAC;AACtB,IAAI,aAAa;AACjB,IAAI,MAAM;AACV,IAAI;AACJ,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrD,EAAE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC;AAC3C,EAAE,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AACjC,EAAE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;AACjC,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;AACxD,EAAE;AACF,EAAE,aAAa,CAAC,WAAW,CAAC;AAC5B,EAAE,aAAa,CAAC,SAAS,GAAG,WAAW;AACvC,EAAE,aAAa,CAAC,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC;AAC/C;AACA,SAAS,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE;AAC5C,EAAE,IAAI,KAAK,GAAG;AACd,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AAClD,EAAE,IAAI,MAAM,EAAE,OAAO,MAAM;AAC3B,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC;AACzD,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AAC3C,EAAE,OAAO,MAAM;AACf;AACA,SAAS,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE;AAC1E,EAAE,IAAI,KAAK,GAAG;AACd,EAAE,IAAI,KAAK,GAAG;AACd,EAAE,MAAM,GAAG,GAAG,aAAa,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;AACpD,EAAE,IAAI,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/C,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC;AAChC,IAAI,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AACnC,IAAI,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,IAAI,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;AAC5C,EAAE;AACF,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACrC;AACA,SAAS,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,GAAG,KAAK,EAAE;AAC5D,EAAE,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9C,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AAClD,EAAE,IAAI,MAAM,KAAK,MAAM,EAAE,OAAO,MAAM;AACtC,EAAE,IAAI,KAAK,GAAG;AACd,EAAE,IAAI,MAAM;AACZ,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,SAAS;AACtB,MAAM,IAAI;AACV,MAAM,aAAa,CAAC,WAAW;AAC/B,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,GAAG,YAAY,QAAQ,EAAE;AACjC,MAAM,MAAM,GAAG,IAAI;AACnB,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AAC3C,EAAE,OAAO,MAAM;AACf;AACA,SAASC,eAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,KAAK,EAAE,SAAS,EAAE;AACvE,EAAE,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC1D,EAAE,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;AACjC,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,YAAY,GAAG,EAAE;AACzB,EAAE,IAAI,KAAK,GAAG,CAAC;AACf,EAAE,aAAa,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK;AAC9E,IAAI,SAAS,GAAG,KAAK,EAAE,KAAK,CAAC;AAC7B,IAAI,SAAS;AACb,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,UAAU,CAAC;AAC/B,MAAM,CAAC,gCAAgC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1D,KAAK;AACL,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK;AAChC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;AACnC,MAAM,MAAM,eAAe,GAAGA,eAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC3D,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC1E,QAAQ,YAAY,CAAC,eAAe,CAAC,GAAG,KAAK;AAC7C,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,EAAE;AACX,EAAE,CAAC,CAAC;AACJ,EAAE,aAAa,CAAC,WAAW,CAAC;AAC5B,EAAE,MAAM,aAAa,GAAG;AACxB,IAAI,WAAW;AACf,IAAI,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC;AACpC,IAAI,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC;AACnC,IAAI,SAAS,EAAE,IAAI;AACnB,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,OAAO;AACT,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI;AACJ,GAAG;AACH;AACA,SAAS,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,KAAK,EAAE;AACrD,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC;AAC5D,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI;AACxB,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;AACtD,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;AAC1B,IAAI,SAAS;AACb,IAAI,YAAY,EAAE,IAAI,CAAC;AACvB,GAAG;AACH;AACA,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1C,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AACrC,EAAE,IAAI,SAAS,GAAG,IAAI;AACtB,EAAE,MAAM,SAAS,GAAG,EAAE;AACtB,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;AACzC,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;AACzC,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;AACzC,EAAE,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,CAAC;AAC/C,EAAE,OAAO,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE;AACzF,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;AAChC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;AAC1C,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;AAC7C,MAAM,YAAY,EAAE;AACpB,MAAM,SAAS,EAAE;AACjB,MAAM,SAAS,EAAE;AACjB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;AACjC,IAAI,MAAM,gBAAgB,GAAG,SAAS;AACtC,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM;AACtC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE;AAC1C,MAAM,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG;AAClE,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AAClD,QAAQ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS;AACvC,UAAU,SAAS,GAAG,CAAC;AACvB,UAAU,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG;AACxC,SAAS;AACT,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;AACxE,QAAQ,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACnD,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1C,QAAQ,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAClD,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,2BAA2B,EAAE;AAC1D,MAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,SAAS,EAAE;AACzC,QAAQ,SAAS,EAAE;AACnB,QAAQ,SAAS,GAAG,gBAAgB,GAAG,CAAC;AACxC,QAAQ;AACR,MAAM;AACN,MAAM,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AAChD,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS;AACrC,QAAQ,SAAS,GAAG,CAAC;AACrB,QAAQ,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG;AACtC,OAAO;AACP,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI;AAC1G,MAAM,IAAI,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC5D,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,EAAE;AACpD,MAAM,MAAM,CAAC,GAAG,IAAI;AACpB,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS;AAClC,QAAQ,gBAAgB,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO;AACP,MAAM,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC7C,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK;AAC5B,MAAM,SAAS,CAAC,MAAM,GAAG,KAAK;AAC9B,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;AAC9D,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI;AACJ,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,OAAO,EAAE;AACf;AACA,GAAG;AACH;AACA,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACjC,EAAE,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC;AACtB,EAAE,OAAO,KAAK,CAAC,WAAW,EAAE;AAC5B,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW;AAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AACpB,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,EAAE,OAAO,IAAI;AACb;AACA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACpC,EAAE,GAAG;AACL,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI;AAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM;AACtB,EAAE,CAAC,QAAQ,IAAI;AACf,EAAE,OAAO,IAAI;AACb;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;AACvD,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK;AACvC,IAAI,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE;AAClD,EAAE,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,aAAa,IAAI,IAAI,KAAK,GAAG;AACnD,EAAE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5D,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI;AACJ,MAAM,IAAI,EAAE,WAAW;AACvB,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,KAAK,EAAE,CAAC;AACd,MAAM,OAAO,EAAE,CAAC;AAChB,MAAM,QAAQ,EAAE,CAAC;AACjB,MAAM,SAAS,EAAE;AACjB;AACA,GAAG;AACH,EAAE,IAAI,aAAa,GAAG,IAAI;AAC1B,EAAE,IAAI,SAAS,GAAG,IAAI;AACtB,EAAE,IAAI,SAAS,GAAG,IAAI;AACtB,EAAE,OAAO,KAAK,CAAC,MAAM,EAAE;AACvB,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE;AAC7B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK;AAC/E,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK;AACpD,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC/B,MAAM,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5D,MAAM,IAAI,CAAC,MAAM,EAAE;AACnB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS;AACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY;AACvC,IAAI;AACJ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;AAC1G,MAAM,SAAS,GAAG,KAAK;AACvB,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,KAAK,KAAK,WAAW;AAC9C,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;AAC/E,QAAQ,SAAS,GAAG,KAAK;AACzB,MAAM;AACN,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ;AAC3E,QAAQ;AACR,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AACrD,IAAI,IAAI,SAAS;AACjB,IAAI,IAAI,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AACpC,MAAM,MAAM,UAAU,GAAG;AACzB,QAAQ,IAAI,EAAE,IAAI,CAAC,KAAK;AACxB,QAAQ,KAAK;AACb,QAAQ,OAAO;AACf,QAAQ,KAAK,EAAE,KAAK,GAAG,CAAC;AACxB,QAAQ,OAAO;AACf,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,OAAO;AACf,QAAQ,SAAS;AACjB,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,UAAU,GAAG,IAAI;AAC3B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACvC,QAAQ,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC;AACnE,QAAQ,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK;AACvC,MAAM;AACN,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE;AAC5E,UAAU,OAAO,UAAU;AAC3B,QAAQ;AACR,QAAQ,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE;AACxD,UAAU,SAAS,GAAG,UAAU;AAChC,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;AACpE,MAAM,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3C,QAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;AAC1C,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,YAAY,EAAE;AAC5B,UAAU,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE;AAC1F,UAAU,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC5C,QAAQ;AACR,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,YAAY,EAAE;AAC5B,UAAU,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACxE,UAAU,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE;AAC1E,UAAU,IAAI,QAAQ,KAAK,MAAM,EAAE;AACnC,QAAQ;AACR,QAAQ,MAAM,MAAM,GAAG;AACvB,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,KAAK,EAAE,WAAW;AAC5B,UAAU,OAAO;AACjB,UAAU,KAAK;AACf,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,gBAAgB,EAAE;AACtC,UAAU,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;AACjE,UAAU,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ;AACR,QAAQ,aAAa,GAAG,MAAM;AAC9B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK;AAC9C,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC;AACjC,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1D,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,QAAQ,KAAK,CAAC,IAAI,CAAC;AACnB,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,KAAK;AACf,UAAU,OAAO,EAAE,WAAW;AAC9B,UAAU,KAAK,EAAE,SAAS;AAC1B,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5D,UAAU,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,UAAU,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;AAC5C,UAAU,IAAI,MAAM,IAAI,MAAM,EAAE;AAChC,YAAY,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE;AAC5F,YAAY,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACxD,YAAY,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACtD,UAAU;AACV,UAAU,KAAK,CAAC,IAAI,CAAC;AACrB,YAAY,IAAI,EAAE,OAAO;AACzB,YAAY,KAAK,EAAE,KAAK,GAAG,CAAC;AAC5B,YAAY,OAAO;AACnB,YAAY,KAAK,EAAE,SAAS;AAC5B,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY,SAAS,EAAE,SAAS,GAAG,CAAC;AACpC,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,YAAY;AACZ,WAAW,CAAC;AACZ,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;AAC/C,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACzD,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,QAAQ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO;AAC1C,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE;AAC9B,UAAU,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,WAAW,EAAE;AAC1F,UAAU,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACtD,UAAU,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACpD,QAAQ;AACR,QAAQ,KAAK,CAAC,IAAI,CAAC;AACnB,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO;AACjB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO;AACjB,UAAU,QAAQ,EAAE,QAAQ,GAAG,CAAC;AAChC,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACjD,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG;AAC9C,QAAQ,SAAS,KAAK,IAAI,CAAC,WAAW;AACtC,OAAO;AACP,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,CAAC,IAAI,CAAC;AACnB,UAAU,IAAI,EAAE,KAAK;AACrB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO;AACjB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO,EAAE,OAAO,GAAG,CAAC;AAC9B,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE;AACtC,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;AACzC,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,CAAC,IAAI,CAAC;AACnB,UAAU,IAAI,EAAE,KAAK;AACrB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO;AACjB,UAAU,KAAK,EAAE,KAAK,GAAG,CAAC;AAC1B,UAAU,OAAO,EAAE,OAAO,GAAG,CAAC;AAC9B,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC;AACjC,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1D,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxC,QAAQ,KAAK,CAAC,IAAI,CAAC;AACnB,UAAU,IAAI,EAAE,OAAO;AACvB,UAAU,KAAK;AACf,UAAU,OAAO;AACjB,UAAU,KAAK,EAAE,SAAS;AAC1B,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,SAAS;AACnB,UAAU,OAAO;AACjB,UAAU,SAAS;AACnB,UAAU;AACV,SAAS,CAAC;AACV,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,SAAS,IAAI,aAAa,EAAE;AAClC,IAAI,OAAO,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,SAAS,GAAG,aAAa;AACpF,EAAE;AACF,EAAE,IAAI,SAAS,EAAE,OAAO,SAAS;AACjC,EAAE,IAAI,aAAa,EAAE,OAAO,aAAa;AACzC,EAAE,IAAI,KAAK,IAAI,SAAS,EAAE;AAC1B,IAAI,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK;AACpC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9C,MAAM,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;AACnC,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AAC3E,IAAI,SAAS,CAAC,SAAS,KAAK,EAAE;AAC9B,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACzD,IAAI,OAAO,SAAS;AACpB,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;AACjD,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAChE,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS;AAC/B,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK;AACzB,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AAC9C,IAAI,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC;AACtE,IAAI,OAAO,IAAI;AACf,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI;AACf,EAAE;AACF;AACA,SAAS,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE;AACzC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI;AACxB,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5Z;;AChzBA,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,EAAE,OAAO,SAAS;AAClB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,OAAO,GAAG,KAAK,MAAM;AAC3B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;AACf,GAAG;AACH;AACA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;AACrC;AACA,SAAS,YAAY,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;AAC1D;AACA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM;AACzB,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI;AAC9E;AACA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC1C;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE;AAC9C,EAAE,IAAI,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE;AACzE,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7B,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;AACvD,EAAE,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC;AAC9F;AACA,SAAS,WAAW,CAAC;AACrB,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,aAAa,GAAG,OAAO;AACzB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;AACvC,EAAE,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,EAAE,KAAK,GAAG;AAC1C,EAAE,IAAI,GAAG;AACT,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,GAAG,GAAG,UAAU,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;AAC5D,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,IAAI,IAAI,MAAM,EAAE,OAAO,MAAM;AAC7B,EAAE;AACF,EAAE,IAAI,YAAY;AAClB,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,EAAE,CAAC,MAAM,IAAI,UAAU,EAAE;AACzB,IAAI,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,EAAE,CAAC,MAAM;AACT,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,IAAI,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE;AACjE,MAAM,YAAY,CAAC,GAAG,EAAE;AACxB,IAAI;AACJ,IAAI,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AACpC,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE;AAC7E,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AACrC,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AACxB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,UAAU,YAAY,GAAG,CAAC,KAAK,CAAC;AAChC,QAAQ,CAAC,MAAM,IAAI,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE;AACzC,UAAU,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AAClC,QAAQ,CAAC,MAAM;AACf,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE;AACjC,QAAQ,YAAY,CAAC,GAAG,EAAE;AAC1B,MAAM,CAAC,MAAM,IAAI,KAAK,KAAK,GAAG,EAAE;AAChC,WAAW;AACX,QAAQ,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE;AACnC,MAAM,IAAI,aAAa,KAAK,OAAO,EAAE;AACrC,QAAQ,YAAY,CAAC,GAAG,EAAE;AAC1B,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,aAAa,KAAK,QAAQ,EAAE;AAC3C,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG;AAC5B,IAAI,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC;AAChC,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;AAC5C,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;AAC3B,IAAI,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACxC,MAAM,MAAM,IAAI,IAAI;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;AAC1B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAChD,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AAClD,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxD,IAAI,IAAI,IAAI,KAAK,kBAAkB,EAAE;AACrC,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChF,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,qBAAqB,EAAE;AAC/C,MAAM,MAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG;AAChE,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;AAC5B,EAAE,MAAM,MAAM,GAAG,MAAM,IAAI,GAAG;AAC9B,EAAE,IAAI,GAAG,IAAI,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;AAC1C,EAAE,OAAO,MAAM;AACf;AACA,SAAS,oBAAoB,CAAC,2BAA2B,EAAE;AAC3D,EAAE,MAAM,OAAO,GAAG,IAAI,GAAG;AACzB,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AAC9E,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/G,EAAE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC;AACxC,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AACpF;AACA,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE;AAC3C,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC;AAC3B,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC7C,EAAE,IAAI,GAAG,KAAK,QAAQ,EAAE;AACxB,IAAI,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK;AACzD,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzF,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC;AAC1C,EAAE;AACF;AACA,SAAS,eAAe,CAAC;AACzB,EAAE,IAAI;AACN,EAAE,MAAM;AACR,EAAE,OAAO;AACT;AACA;AACA;AACA,EAAE,GAAG;AACL,CAAC,EAAE;AACH,EAAE,IAAI,eAAe,GAAG,KAAK;AAC7B,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;AAC3B,IAAI,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE;AACjE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,IAAI,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE;AA4ClE,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;AAC5B,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,IAAI,OAAO;AACb,EAAE,IAAI,MAAM,GAAG,EAAE;AACjB,EAAE,OAAO,MAAM,GAAG,MAAM,EAAE;AAC1B,IAAI,MAAM,KAAK,GAAG,MAAM;AACxB,IAAI,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;AAChD,IAAI,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;AAC1B,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC;AACpB,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE;AACvB,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;AAC3B,IAAI,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACxC,MAAM,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;AAChD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,KAAK,qBAAqB,EAAE;AACxC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;AACjC,MAAM,UAAU,CAAC,MAAM,GAAG,KAAK;AAC/B,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK;AAC7B,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACpD,MAAM,IAAI,CAAC,KAAK,EAAE;AAClB,QAAQ,eAAe,GAAG,IAAI;AAC9B,QAAQ,IAAI,MAAM,IAAI,MAAM,EAAE;AAC9B,UAAU,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,MAAM;AACzC,QAAQ;AACR,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM;AAC7C,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,KAAK,kBAAkB,EAAE;AACrC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,IAAI,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE;AAChD,QAAQ,eAAe,GAAG,IAAI;AAC9B,MAAM;AACN,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACnC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACpD,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,WAAW;AACpE,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM;AAC7C,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,IAAI,KAAK,2BAA2B,EAAE;AAC9C,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACxD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AAClC,MAAM,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC5B,MAAM,UAAU,CAAC,GAAG,CAAC,GAAG,QAAQ;AAChC,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACpD,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE;AAC3D,MAAM,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM;AAC7C,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG;AACvC,EAAE,MAAM,gBAAgB,GAAG,MAAM,IAAI,GAAG;AACxC,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE;AAC1D;AACA,SAAS,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE;AACzC,EAAE,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC;AAC3C,EAAE,OAAO,OAAO,GAAG,OAAO,CAAC,IAAI,OAAO;AACtC;;AC1PA,SAAS,QAAQ,CAAC,OAAO,GAAG,EAAE,EAAE;AAChC,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI;AAC3B,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,OAAO;AAClC,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,UAAU;AAC1B;;ACLA,SAAS,qBAAqB,GAAG;AACjC,EAAE,IAAI;AACN,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpF,MAAM,OAAO,MAAM,CAAC,cAAc;AAClC,IAAI;AACJ,EAAE,CAAC,CAAC,MAAM;AACV,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,MAAM,UAAU,GAAG,6BAA6B;AAChD,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,IAAI,KAAK;AAC/B,EAAE,IAAI,OAAO;AACb,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;AACtB,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM;AACjC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;AACnB,QAAQ,OAAO,GAAG,IAAI;AACtB,MAAM,CAAC,EAAE,IAAI,CAAC;AACd,IAAI;AACJ,EAAE,CAAC;AACH,CAAC;AACD,SAAS,4BAA4B,GAAG;AACxC,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,EAAE;AACpD,EAAE,IAAI,CAAC,kBAAkB,EAAE;AAC3B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;AAC/D,EAAE,IAAI,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE;AAC9D,EAAE,OAAO;AACT,IAAI,KAAK;AACT;AACA;AACA;AACA,IAAI,GAAG,EAAE,CAAC,OAAO,KAAK;AACtB,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK;AACvD,MAAM,IAAI;AACV,QAAQ,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACrE,MAAM,CAAC,CAAC,MAAM;AACd,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU;AACV,SAAS;AACT,MAAM;AACN,IAAI;AACJ,GAAG;AACH;AACA,MAAM,sBAAsB,GAAG,4BAA4B,EAAE;AAC7D,MAAM,8BAA8B,GAAG,CAAC,QAAQ,KAAK;AACrD,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,QAAQ,CAAC,IAAI;AAClD,CAAC;AACD,SAAS,cAAc,CAAC,EAAE,EAAE;AAC5B,EAAE,MAAM,IAAI,GAAG,EAAE;AACjB,EAAE,IAAI,MAAM;AACZ,EAAE,OAAO,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE;AACjC,IAAI,IAAI,CAAC,IAAI;AACb,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACxF,KAAK;AACL,IAAI,EAAE,GAAG,MAAM;AACf,EAAE;AACF,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;AACtD;AACA,IAAI,YAAY,GAAG,KAAK;AACxB,SAAS,aAAa,CAAC;AACvB,EAAE,UAAU,EAAE,WAAW;AACzB,EAAE,GAAG;AACL,EAAE,QAAQ;AACV,EAAE,uBAAuB;AACzB,EAAE,oBAAoB;AACtB,EAAE;AACF,CAAC,EAAE;AACH,EAAE,IAAI,KAAK;AACX,EAAE,IAAI;AACN,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACnE,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AACxB,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS;AAC5D,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;AAC3C,EAAE,YAAY,GAAG,IAAI;AACrB,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,uBAAuB,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,MAAM,KAAK,MAAM,eAAe,IAAI,cAAc,EAAE;AACpD,QAAQ,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC;AACrD,QAAQ,IAAI,eAAe,KAAK,QAAQ,EAAE;AAC1C,UAAU,MAAM,CAAC,QAAQ,CAAC;AAC1B,YAAY,GAAG,EAAE,KAAK,CAAC,OAAO;AAC9B,YAAY,IAAI,EAAE,KAAK,CAAC,OAAO;AAC/B,YAAY;AACZ,WAAW,CAAC;AACZ,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE;AACpC,UAAU,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AACjE,UAAU,IAAI,OAAO,EAAE;AACvB,YAAY,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO;AAC9C,YAAY,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO;AAC7C,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,MAAM;AAClB,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,2BAA2B,IAAI,IAAI;AACjG,MAAM,IAAI,yBAAyB,EAAE;AACrC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AAChD,QAAQ,IAAI,EAAE,EAAE;AAChB,UAAU,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACtD,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,MAAM;AAClB,IAAI;AACJ,IAAI,MAAM,aAAa,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE;AACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;AAClC,IAAI,IAAI,oBAAoB,EAAE;AAC9B,MAAM,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE;AACnD,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE;AACnC,QAAQ,MAAM,OAAO,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACtG,QAAQ,IAAI,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;AACpD,MAAM;AACN,IAAI;AACJ,EAAE;AACF,EAAE,YAAY,GAAG,KAAK;AACtB;AACA,SAAS,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE;AAC/C,EAAE,IAAI,CAAC,sBAAsB,IAAI,IAA8B,EAAE;AACjE,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,uBAAuB,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK;AACpF,EAAE,IAAI,uBAAuB,EAAE;AAC/B,IAAI,MAAM,CAAC,iBAAiB,GAAG,IAAI;AACnC,EAAE;AACF,EAAE,IAAqC,MAAM,CAAC,wBAAwB,IAAI,CAAC,sBAAsB,EAAE;AACnG,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,CAAC,wBAAwB,GAAG,IAAI;AACxC,EAAE,YAAY,GAAG,KAAK;AACtB,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,8BAA8B;AACzF,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,QAAQ;AAC7C,EAAE,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC9B,IAAI,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;AACnD,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,eAAe,GAAG,EAAE;AAC5B,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9D,MAAM,eAAe,GAAG,QAAQ;AAChC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY;AAC9C,QAAQ;AACR,OAAO;AACP,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,eAAe,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,CAAC;AACpE,MAAM,CAAC,MAAM;AACb,QAAQ,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;AACtD,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AACpD,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC1C,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;AAC/C,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE;AAC3D,MAAM,IAAI,eAAe,KAAK,QAAQ,EAAE;AACxC,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC;AAClD,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE;AAClC,QAAQ,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AAC/D,QAAQ,IAAI,OAAO,EAAE;AACrB,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC;AACxD,UAAU,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC;AACvD,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC;AACtE,EAAE;AACF,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,KAAK,KAAK;AAC5C,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;AAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;AACjC,MAAM,MAAM,CAAC,eAAe,GAAG,IAAI;AACnC,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE;AAChE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAC7D,QAAQ,QAAQ,EAAE,MAAM,CAAC;AACzB,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,aAAa,EAAE;AAC1B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,aAAa,CAAC;AAClB,MAAM,UAAU;AAChB,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAyB;AACxD,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB;AACvD,MAAM,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB;AAC/D,MAAM,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;AAC/B,KAAK,CAAC;AACN,IAAI,IAAI,MAAM,CAAC,iBAAiB,EAAE;AAClC,MAAM,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AAC5C,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE;AAC9B,QAAQ,OAAO,KAAK;AACpB,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,MAAM,EAAE;AAClC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE;AACjE,IAAI,MAAM,yBAAyB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,2BAA2B,IAAI,IAAI;AACrG,IAAI,IAAI,yBAAyB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AACxE,MAAM,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpE,MAAM,IAAI,EAAE,EAAE;AACd,QAAQ,EAAE,CAAC,cAAc,CAAC,yBAAyB,CAAC;AACpD,MAAM;AACN,IAAI;AACJ,EAAE;AACF;;ACxNA,SAAS,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,EAAE;AACzC,EAAE,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE;AACtC,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACzB,IAAI,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AACxB,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE;AACxB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AACrC,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM,CAAC,QAAQ,EAAE;AAC1B;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AACrB,EAAE,IAAI,GAAG,KAAK,OAAO,EAAE,OAAO,KAAK;AACnC,EAAE,IAAI,GAAG,KAAK,MAAM,EAAE,OAAO,IAAI;AACjC,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG;AACzD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC;AAC/C,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE;AACrD,IAAI,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC;AACrC,IAAI,IAAI,aAAa,IAAI,IAAI,EAAE;AAC/B,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;AAClC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAC7C,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxC,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACnD,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,MAAM;AACf;;AC7BK,MAAC,kBAAkB,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK;AAChD,MAAC,sBAAsB,GAAG,mBAAmB;AAClD,EAAE,IAAI,CAAC,SAAS;AAChB,EAAE,IAAI,CAAC;AACP;AACA,SAAS,eAAe,CAAC,MAAM,EAAE;AACjC,EAAE,OAAO,CAAC,SAAS,KAAK;AACxB,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AACxC,IAAI;AACJ,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;AACnC,IAAI,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AAC7B,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;AAC9B,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,IAAI;AACZ,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACpC,QAAQ,CAAC,CAAC,OAAO,IAAI,EAAE;AACvB,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC;AACH;AACA,SAAS,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE;AAChD,EAAE,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU;AAChD,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE;AACjD,MAAM,IAAI;AACV,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,MAAM,CAAC,CAAC,OAAO,IAAI,EAAE;AACrB,MAAM;AACN,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACrD,MAAM,IAAI;AACV,QAAQ,MAAM,CAAC,GAAG,CAAC;AACnB,QAAQ,OAAO,SAAS,CAAC,GAAG,CAAC;AAC7B,MAAM,CAAC,CAAC,OAAO,IAAI,EAAE;AACrB,MAAM;AACN,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,EAAE;AACF,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;AACpD,IAAI,OAAO,SAAS,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE;AAC3C,EAAE,CAAC;AACH;;AC7CK,MAAC,WAAW,GAAG;;ACCpB,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG;AACvD,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC/F,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,2CAA2C,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,uBAAuB;AAC7H,KAAK;AACL,EAAE;AACF,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AACrF,IAAI,IAAI;AACR,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,MAAM,IAAI,CAAC,cAAc,GAAG,IAAI;AAChC,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AAC3C,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AACrD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC;AACtC,EAAE;AACF,EAAE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;AACtC,IAAI,MAAM,EAAE,IAAI,CAAC,UAAU;AAC3B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;AAClB,IAAI,MAAM,QAAQ;AAClB,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,GAAG,YAAY,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO;AACjD;;ACxBA,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AAClC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AACvB,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI;AACzB,IAAI,OAAO,KAAK,CAAC,OAAO,IAAI;AAC5B,EAAE;AACF,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AAC3C,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;AACvF,CAAC;AACD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,KAAK;AACxE,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI;AACvC,GAAG;AACH,EAAE,MAAM,GAAG,GAAG,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC;AACrD,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,IAAI,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,IAAI,IAAI,CAAC,UAAU,EAAE;AACrB,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;AAClD,IAAI,IAAI,CAAC,CAAC,EAAE;AACZ,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,mBAAmB,CAAC;AACnE,EAAE;AACF,EAAE,OAAO,OAAO;AAChB,CAAC;AACD,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK;AACxC,EAAE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS;AAC1F,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,EAAE;AAChG,IAAI,WAAW,CAAC,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB;AACzF,EAAE;AACF,EAAE,SAAS;AACX,IAAI,WAAW,CAAC,OAAO,CAAC,iBAEtB,CAAC;AACH,EAAE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,EAAE,CAAC;AAC/E,EAAE,SAAS,CAAC,aAAa,EAAE,kCAAkC,GAAG,WAAW,CAAC,EAAE,CAAC;AAC/E,EAAE,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AACjD,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,UAAU;AACtB,IAAI,KAAK,EAAE,GAAG;AACd,IAAI,UAAU,EAAE;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,GAAG,CAAC,UAAU,KAAK,aAAa,IAAI,WAAW,CAAC,WAAW,EAAE;AACnE,IAAI,GAAG,CAAC,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,EAAE;AAC5C,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC;AAC/B,EAAE;AACF,CAAC;AACD,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK;AACzD,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5C,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE;AAC7E,IAAI,MAAM,GAAG;AACb,EAAE;AACF,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,EAAE;AACnD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AAC/C,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,MAAM;AACjD,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM;AAC7C,IAAI,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU;AAC9D,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG;AAClC,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;AAC3C,MAAM,GAAG,IAAI;AACb,MAAM,MAAM;AACZ,MAAM,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AACpD,MAAM,UAAU,EAAE,KAAK;AACvB,MAAM,KAAK,EAAE;AACb,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;AACzC,MAAM,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;AACjC,IAAI;AACJ,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE;AAC7C,EAAE;AACF,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACvB,IAAI,KAAK,CAAC,QAAQ,GAAG,IAAI;AACzB,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ;AAC9C,IAAI,GAAG,CAAC,eAAe,GAAG,IAAI;AAC9B,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AAC3C,IAAI,MAAM,GAAG;AACb,EAAE,CAAC,MAAM;AACT,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC;AAC/B,IAAI,MAAM,GAAG;AACb,EAAE;AACF,CAAC;AACD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AAC7C,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9C,EAAE,IAA4C,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;AAC7E,IAAI,OAAO,IAAI;AACf,EAAE;AAIF,EAAE,OAAO,KAAK;AACd,CAAC;AACD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,KAAK;AAC7D,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;AACrD,EAAE,IAAI,GAAG,YAAY,OAAO,EAAE;AAC9B,IAAI,MAAM,GAAG;AACb,EAAE;AACF,EAAE,GAAG,CAAC,UAAU,GAAG,UAAU;AAC7B,EAAE,KAAK,CAAC,kBAAkB,KAAK,KAAK;AACpC,EAAE,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;AACvE,EAAE,IAAI;AACN,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AAChC,EAAE,CAAC,CAAC,OAAO,eAAe,EAAE;AAC5B,IAAI,GAAG,GAAG,eAAe;AACzB,IAAI,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;AACzE,EAAE;AACF,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK;AACvC,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,EAAE;AAClD,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,MAAM;AAChD,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE;AAC5C,IAAI,OAAO;AACX,MAAM,GAAG,IAAI;AACb,MAAM,KAAK,EAAE,GAAG;AAChB,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,UAAU,EAAE,KAAK;AACvB,MAAM,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AAC3B,MAAM,eAAe,EAAE,IAAI,eAAe;AAC1C,KAAK;AACL,EAAE,CAAC,CAAC;AACJ,CAAC;AAsDD,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK;AAC9D,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,KAAK,MAAM,EAAE;AACpD,EAAE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB;AACpF,EAAE,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,IAAoC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACtV,EAAE,IAAI,aAAa,EAAE;AACrB,IAAI,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM;AAC5C,MAAM,cAAc,CAAC,KAAK,CAAC;AAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;AACjB,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,GAAG,cAAc;AACtD,EAAE;AACF,CAAC;AACD,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK;AACtD,EAAE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACtD,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,aAAa;AAChG,IAAI;AACJ,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC;AAC3D,EAAE,MAAM,IAAI,GAAG,MAAM;AACrB,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE;AACzF,MAAM,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AAC1D,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC,iBAAiB,GAAG,aAAa,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE;AACxH,CAAC;AACD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK;AAC5D,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9C,EAAE,MAAM,eAAe,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW;AACxD,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,GAAG,uBAAuB,CAAC,MAAM;AACjE,IAAI,eAAe,EAAE,OAAO,EAAE;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,KAAK;AAC5C,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC;AAChE,EAAE;AACF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,CAAC;AACnE,EAAE;AACF,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;AACnD,EAAE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE;AAC/C,EAAE,IAAI,SAAS,GAAG,KAAK;AACvB,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,IAAI,SAAS,EAAE;AACnB,IAAI,SAAS,GAAG,IAAI;AACpB,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC1C,MAAM,GAAG,IAAI;AACb,MAAM,UAAU,EAAE,YAAY;AAC9B,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC;AACrC,MAAM;AACN;AACA;AACA;AACA,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,EAAE;AACnD,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,MAAM;AACjD,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC1C,MAAM,GAAG,IAAI;AACb,MAAM,UAAU,EAAE;AAClB,KAAK,CAAC,CAAC;AACP,EAAE,CAAC;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;AACjC,IAAI,KAAK,CAAC,MAAM;AAChB,MAAM,OAAO,EAAE;AACf,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,CAAC;AACN,IAAI;AACJ,EAAE;AACF,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,GAAG,uBAAuB,EAAE;AAClE,EAAE,MAAM,OAAO,GAAG;AAClB,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAC7C,IAAI,GAAG,KAAK,CAAC;AACb,GAAG;AACH,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK;AACzC,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;AAChD,EAAE,MAAM,mBAAmB,GAAG;AAC9B,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B,IAAI,QAAQ,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9C,MAAM,GAAG,IAAI;AACb,MAAM,aAAa,EAAE,KAAK,CAAC;AAC3B,KAAK,CAAC;AACN,IAAI,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;AAC7C,IAAI,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK;AACtC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO;AAC1B,IAAI,OAAO,EAAE,KAAK,CAAC,EAAE;AACrB,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,CAAC,kBAAkB,KAAK;AAChD,IAAI,IAAI,kBAAkB,KAAK,MAAM,EAAE;AACvC,MAAM,KAAK,CAAC,MAAM;AAClB,QAAQ,OAAO,EAAE;AACjB,QAAQ,OAAO,EAAE;AACjB,MAAM,CAAC,CAAC;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,kBAAkB,CAAC,EAAE;AAC1E,MAAM,OAAO,EAAE;AACf,MAAM,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,CAAC;AACxE,IAAI;AACJ,IAAI,KAAK,CAAC,MAAM;AAChB,MAAM,OAAO,EAAE;AACf,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC5C,QAAQ,GAAG,IAAI;AACf,QAAQ,mBAAmB,EAAE;AAC7B,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;AACH,EAAE,IAAI,iBAAiB;AACvB,EAAE,IAAI;AACN,IAAI,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;AACrE,IAAI,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE;AACtC,MAAM,OAAO,EAAE;AACf,MAAM,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AAC9C,QAAQ,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC;AAC3D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5B,IAAI;AACJ,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,OAAO,EAAE;AACb,IAAI,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC;AACvD,EAAE;AACF,EAAE,aAAa,CAAC,iBAAiB,CAAC;AAClC,EAAE;AACF,CAAC;AACD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;AACrD,EAAE,MAAM,SAAS,GAAG,MAAM;AAK1B,IAAI,OAAO,cAAc,EAAE;AAC3B,EAAE,CAAC;AACH,EAAE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;AACvE,EAAE,MAAM,cAAc,GAAG,MAAM;AAC/B,IAAI,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;AAC1C,IAAI,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC5D,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE;AAC/D,EAAE,CAAC;AACH,EAAE,OAAO,SAAS,EAAE;AACpB,CAAC;AACD,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,KAAK;AAC/C,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9C,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;AAC/E,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,YAAY,GAAG;AACvB,IAAI,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG;AACjC,IAAI,OAAO,EAAE,KAAK,CAAC,OAAO;AAC1B,IAAI,KAAK;AACT,IAAI,MAAM,EAAE,KAAK,CAAC,MAAM;AACxB,IAAI,UAAU,EAAE,KAAK,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;AACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;AACtC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;AACzC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,YAAY;AACxC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK;AACjD,IAAI,MAAM,IAAI,GAAG,aAAa,EAAE,IAAI;AACpC,IAAI,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK;AACtC,IAAI,MAAM,WAAW,GAAG,aAAa,EAAE,OAAO;AAC9C,IAAI,MAAM,MAAM,GAAG,aAAa,EAAE,MAAM;AACxC,IAAI,OAAO;AACX,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM;AACN,KAAK;AACL,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK;AAC3D,EAAE,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;AAC3D,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvF,EAAE,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;AACjD,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;AAChD,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,IAAI,EAAE,UAAU;AACpB,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO;AACtB,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,OAAO;AACX,IAAI,QAAQ,EAAE,KAAK,CAAC,QAAQ;AAC5B,IAAI,QAAQ,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9C,MAAM,GAAG,IAAI;AACb,MAAM,aAAa,EAAE,KAAK,CAAC;AAC3B,KAAK,CAAC;AACN,IAAI,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK;AACtC,IAAI,KAAK;AACT,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,GAAG;AACH,CAAC;AACD,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK;AAC1D,EAAE,IAAI;AACN,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI;AACR,MAAM,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE;AACtE,QAAQ,cAAc,CAAC,KAAK,CAAC;AAC7B,MAAM;AACN,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AAC/C,QAAQ,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;AACrD,OAAO;AACP,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC;AACnF,MAAM,MAAM,iBAAiB,GAAG,CAAC,EAAE,qBAAqB,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC;AAC3N,MAAM,IAAI,iBAAiB,EAAE;AAC7B,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC9C,UAAU,GAAG,IAAI;AACjB,UAAU,UAAU,EAAE;AACtB,SAAS,CAAC,CAAC;AACX,MAAM;AACN,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;AAChC,QAAQ,MAAM,UAAU,GAAG,qBAAqB,GAAG,MAAM,YAAY,GAAG,YAAY;AACpF,QAAQ,yBAAyB;AACjC,UAAU,KAAK;AACf,UAAU,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,UAAU;AACV,SAAS;AACT,QAAQ,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE;AACnC,UAAU,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAChD,YAAY,GAAG,IAAI;AACnB,YAAY;AACZ,WAAW,CAAC,CAAC;AACb,QAAQ;AACR,MAAM;AACN,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,KAAK,CAAC,YAAY;AACtD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,iBAAiB;AACjE,MAAM,IAAI,cAAc,EAAE,MAAM,cAAc;AAC9C,MAAM,IAAI,KAAK,CAAC,kBAAkB,EAAE,MAAM,KAAK,CAAC,kBAAkB;AAClE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC5C,QAAQ,GAAG,IAAI;AACf,QAAQ,KAAK,EAAE,KAAK,CAAC;AACrB,QAAQ,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;AAChD,QAAQ,MAAM,EAAE,SAAS;AACzB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,SAAS,EAAE,IAAI,CAAC,GAAG;AAC3B,OAAO,CAAC,CAAC;AACT,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;AAChB,MAAM,IAAI,KAAK,GAAG,CAAC;AACnB,MAAM,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE;AACxC,QAAQ,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE;AAClD,UAAU,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AACrD,UAAU,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;AACnD,UAAU;AACV,QAAQ;AACR,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC9C,UAAU,GAAG,IAAI;AACjB,UAAU,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM;AACrE,UAAU,UAAU,EAAE,KAAK;AAC3B,UAAU,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK;AACjD,SAAS,CAAC,CAAC;AACX,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,iBAAiB;AACjE,MAAM,IAAI,cAAc,EAAE,MAAM,cAAc;AAC9C,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACzB,QAAQ,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,IAAI;AAC1D,MAAM;AACN,MAAM,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzE,MAAM,IAAI;AACV,QAAQ,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,CAAC,OAAO,YAAY,EAAE;AAC7B,QAAQ,KAAK,GAAG,YAAY;AAC5B,QAAQ,yBAAyB;AACjC,UAAU,KAAK;AACf,UAAU,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,UAAU;AACV,SAAS;AACT,MAAM;AACN,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC5C,QAAQ,GAAG,IAAI;AACf,QAAQ,KAAK;AACb,QAAQ,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;AAChD,QAAQ,MAAM,EAAE,OAAO;AACvB,QAAQ,UAAU,EAAE;AACpB,OAAO,CAAC,CAAC;AACT,IAAI;AACJ,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAChD,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM;AAC/C,IAAI;AACJ,IAAI,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC;AAChD,EAAE;AACF,CAAC;AACD,MAAM,cAAc,GAAG,OAAO,KAAK,EAAE,KAAK,KAAK;AAC/C,EAAE,eAAe,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE;AAClE,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,SAAS;AAChD,IAAI,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC;AAC9L,IAAI,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY;AAC1D,IAAI,MAAM,YAAY,GAAG,OAAO,kBAAkB,KAAK,UAAU,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG,kBAAkB;AAC5J,IAAI,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AACtC,IAAI,oBAAoB,GAAG,MAAM,KAAK,SAAS,KAAK,OAAO,KAAK,YAAY,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC;AAChG,IAAI,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;AACrD,SAAS,IAAI,oBAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AAClD,MAAM,oBAAoB,GAAG,IAAI;AACjC,MAAM,CAAC,YAAY;AACnB,QAAQ,IAAI;AACZ,UAAU,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;AACxD,UAAU,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACvD,UAAU,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AACtD,UAAU,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE;AACpD,UAAU,MAAM,CAAC,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;AACpD,QAAQ,CAAC,CAAC,OAAO,GAAG,EAAE;AACtB,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AAC/B,YAAY,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;AACpD,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,GAAG;AACV,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE;AAC3E,MAAM,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;AACpD,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACvD,EAAE,IAAI,oBAAoB,GAAG,KAAK;AAClC,EAAE,IAAI,oBAAoB,GAAG,KAAK;AAClC,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;AACrD,EAAE,IAAI,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAIrC,MAAM;AACT,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACpD,IAAI,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;AAClD,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE;AAC9C,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;AAC/E,QAAQ,OAAO,SAAS;AACxB,MAAM;AACN,MAAM,MAAM,SAAS,CAAC,YAAY,CAAC,aAAa;AAChD,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;AAC7D,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;AACvD,MAAM;AACN,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE;AACvC,QAAQ,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;AAC7D,MAAM;AACN,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC9F,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnD,MAAM,MAAM,CAAC,YAAY,CAAC,aAAa,GAAG,uBAAuB,EAAE;AACnE,MAAM,IAAI,WAAW,KAAK,MAAM,CAAC,OAAO,EAAE;AAC1C,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC9C,UAAU,GAAG,IAAI;AACjB,UAAU,OAAO,EAAE;AACnB,SAAS,CAAC,CAAC;AACX,MAAM;AACN,MAAM,MAAM,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC;AAC3D,IAAI;AACJ,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC9C,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAC7B,IAAI,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AAC/C,IAAI,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE;AAC7C,EAAE;AACF,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;AACjD,EAAE,KAAK,CAAC,YAAY,CAAC,cAAc,GAAG,MAAM;AAC5C,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,GAAG,MAAM;AACtE,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM;AACxC,EAAE,MAAM,cAAc,GAAG,oBAAoB,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK;AACxE,EAAE,IAAI,cAAc,KAAK,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;AACtE,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAC1C,MAAM,GAAG,IAAI;AACb,MAAM,UAAU,EAAE,cAAc;AAChC,MAAM,OAAO,EAAE;AACf,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;AACzC,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,CAAC;AACD,eAAe,WAAW,CAAC,GAAG,EAAE;AAChC,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;AACnC,IAAI,aAAa,EAAE;AACnB,GAAG,CAAC;AACJ,EAAE,IAA4C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,EAAE;AACvG,IAAI,cAAc,CAAC,KAAK,CAAC;AACzB,EAAE;AACF,EAAE,IAAI;AACN,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;AACnD,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,UAAU;AACjD,IAAI;AACJ,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM;AAChE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAClC,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxD,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;AACjE,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;AACnC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,KAAK;AACpC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;AACpC,IAAI,IAAI,aAAa;AACrB,IAAI,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AAChC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AAC3B,QAAQ,MAAM,GAAG;AACjB,MAAM;AACN,MAAM,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AAC7C,QAAQ,aAAa,GAAG,GAAG;AAC3B,MAAM;AACN,IAAI;AACJ,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;AACvC,MAAM,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK;AAC5C,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;AACzD,MAAM,IAAI;AACV,QAAQ,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC7D,QAAQ,IAAI,UAAU,EAAE;AACxB,UAAU,MAAM,IAAI,GAAG,MAAM,UAAU;AACvC,UAAU,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM;AAChD,YAAY,GAAG,IAAI;AACnB,YAAY,GAAG;AACf,WAAW,CAAC,CAAC;AACb,QAAQ;AACR,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACxE,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,aAAa,EAAE;AACvB,MAAM,MAAM,aAAa;AACzB,IAAI;AACJ,IAAI,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC;AAC9C,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,YAAY;AACnD,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAC3C,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC;AAChD,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,YAAY;AACrD,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE;AACzB,MAAM,MAAM,GAAG;AACf,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,KAAK,CAAC,OAAO;AACtB;AACA,eAAe,cAAc,CAAC,KAAK,EAAE;AACrC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;AAC3D,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE;AACtB,MAAM,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK;AAC9D,QAAQ,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO;AACzD,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC;AAC7C,QAAQ,KAAK,CAAC,WAAW,GAAG,IAAI;AAChC,QAAQ,KAAK,CAAC,YAAY,GAAG,MAAM;AACnC,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,CAAC,WAAW,GAAG,IAAI;AAC9B,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,kBAAkB,KAAK,MAAM,EAAE;AACvE,IAAI,MAAM,cAAc,GAAG,MAAM;AACjC,MAAM,MAAM,QAAQ,GAAG,EAAE;AACzB,MAAM,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;AACzC,QAAQ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO;AACpD,QAAQ,IAAI,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAC7C,MAAM;AACN,MAAM,IAAI,QAAQ,CAAC,MAAM;AACzB,QAAQ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM;AAChD,UAAU,KAAK,CAAC,iBAAiB,GAAG,IAAI;AACxC,UAAU,KAAK,CAAC,kBAAkB,GAAG,MAAM;AAC3C,QAAQ,CAAC,CAAC;AACV,MAAM,KAAK,CAAC,iBAAiB,GAAG,IAAI;AACpC,MAAM,KAAK,CAAC,kBAAkB,GAAG,MAAM;AACvC,MAAM;AACN,IAAI,CAAC;AACL,IAAI,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,cAAc,EAAE;AAC9G,EAAE;AACF,EAAE,OAAO,KAAK,CAAC,kBAAkB;AACjC;AAOA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;AAC9C,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE;AAC/C,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACK,MAAC,cAAc,GAAG;AACvB,EAAE,WAAW;AACb,EAAE,gBAAgB;AAClB,EAAE,kBAAkB;AACpB,EAAE;AACF;;ACjqBA,SAAS,eAAe,CAAC,QAAQ,EAAE;AACnC,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;AACxB,MAAM,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AACtC,QAAQ,GAAG,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC;AACL,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;AACzB,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACrD,QAAQ,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;AACpD,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,GAAG;AACH;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;AACjD,EAAE,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAClD,EAAE,MAAM,2BAA2B,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9D,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,WAAW,EAAE;AAClG,EAAE,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,GAAG,2BAA2B,GAAG,2BAA2B,CAAC,WAAW,EAAE;AAC7H,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;AACxB,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;AACrF,MAAM,IAAI,QAAQ,KAAK,aAAa,EAAE;AACtC,QAAQ,GAAG,CAAC,QAAQ,GAAG,GAAG;AAC1B,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE;AAC9D,QAAQ,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;AACpE,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC;AACL,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK;AACzB,MAAM,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpE,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,GAAG;AACH;AACA,SAAS,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE;AAC3C,EAAE,MAAM,GAAG,GAAG,OAAO,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC;AACvC,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,MAAM,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC;AACzB,IAAI,CAAC,MAAM,IAAI,GAAG,YAAY,GAAG,EAAE;AACnC,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE;AAC5C,EAAE,MAAM,GAAG,GAAG,OAAO,EAAE,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,EAAE,IAAI,GAAG,EAAE;AACX,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,MAAM,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC;AACzB,IAAI,CAAC,MAAM,IAAI,GAAG,YAAY,GAAG,EAAE;AACnC,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,GAAG;AACZ;;AC7CA,SAAS,sBAAsB,GAAA,EAAK;AAClC,EAAA,IAAI,eAAe,KAAA,EAAO;AACxB,IAAA,MAAM,GAAA,GAAM;AAAA,MACV,MAAM,GAAA,CAAI,IAAA;AAAA,MACV,SAAS,GAAA,CAAI;AAAA,KACf;AAIA,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM;AAAA,GACR;AACF;AAMA,SAAS,sBAAsB,WAAA,EAAa;AAC1C,EAAA,MAAM,eAAe,WAAA,CAAY,gBAAA;AACjC,EAAA,MAAM,aAAa,WAAA,CAAY,QAAA;AAC/B,EAAA,MAAM,WAAA,GAAc,YAAA,EAAc,QAAA,KAAa,UAAA,CAAW,QAAA;AAC1D,EAAA,MAAM,WAAA,GAAc,YAAA,EAAc,IAAA,KAAS,UAAA,CAAW,IAAA;AACtD,EAAA,MAAM,WAAA,GAAc,YAAA,EAAc,IAAA,KAAS,UAAA,CAAW,IAAA;AACtD,EAAA,OAAO,EAAE,YAAA,EAAc,UAAA,EAAY,WAAA,EAAa,aAAa,WAAA,EAAY;AAC3E;AAUA,MAAM,UAAA,CAAW;AAAA;AAAA;AAAA;AAAA,EAIf,YAAY,OAAA,EAAS;AACnB,IAAA,IAAA,CAAK,eAAA,GAAkB,GAAG,IAAA,CAAK,KAAA;AAAA,MAC7B,IAAA,CAAK,QAAO,GAAI;AAAA,KACjB,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAA;AACvB,IAAA,IAAA,CAAK,oBAAA,GAAuB,MAAA;AAC5B,IAAA,IAAA,CAAK,8BAAA,GAAiC,MAAA;AACtC,IAAA,IAAA,CAAK,WAAA,uBAAkC,GAAA,EAAI;AAC3C,IAAA,IAAA,CAAK,iBAAA,GAAoB,KAAA;AACzB,IAAA,IAAA,CAAK,wBAAA,GAA2B,KAAA;AAChC,IAAA,IAAA,CAAK,eAAA,GAAkB,CAAC,EAAA,KAAO,EAAA,EAAG;AAClC,IAAA,IAAA,CAAK,MAAA,GAAS,CAAC,UAAA,KAAe;AAC5B,MAAA,IAAI,WAAW,aAAA,EAAe;AAC5B,QAAA,OAAA,CAAQ,IAAA;AAAA,UACN;AAAA,SACF;AAAA,MACF;AACA,MAAA,MAAM,cAAc,IAAA,CAAK,OAAA;AACzB,MAAA,MAAM,YAAA,GAAe,IAAA,CAAK,QAAA,IAAY,WAAA,EAAa,QAAA,IAAY,GAAA;AAC/D,MAAA,MAAM,gBAAA,GAAmB,KAAK,QAAA,KAAa,MAAA;AAC3C,MAAA,MAAM,oBAAoB,WAAA,EAAa,OAAA;AACvC,MAAA,IAAA,CAAK,OAAA,GAAU;AAAA,QACb,GAAG,WAAA;AAAA,QACH,GAAG;AAAA,OACL;AACA,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA,CAAK,OAAA,CAAQ,QAAA,IAAY,OAAO,QAAA,KAAa,WAAA;AAC7D,MAAA,IAAI,KAAK,OAAA,CAAQ,2BAAA;AACf,QAAA,IAAA,CAAK,iBAAA,GAAoB,oBAAA;AAAA,UACvB,KAAK,OAAA,CAAQ;AAAA,SACf;AACF,MAAA,IAAI,CAAC,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,WAAW,IAAA,CAAK,OAAA,CAAQ,OAAA,KAAY,IAAA,CAAK,OAAA,EAAS;AAClF,QAAA,IAAI,CAAC,IAAA,CAAK,OAAA,CAAQ,OAAA,EAAS;AACzB,UAAkC;AAChC,YAAA,IAAA,CAAK,UAAU,oBAAA,EAAqB;AAAA,UACtC;AAAA,QACF,CAAA,MAAO;AACL,UAAA,IAAA,CAAK,OAAA,GAAU,KAAK,OAAA,CAAQ,OAAA;AAAA,QAC9B;AAAA,MACF;AACA,MAAA,IAAA,CAAK,MAAA,GAAS,KAAK,OAAA,CAAQ,MAAA;AAC3B,MAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AAChB,QAAA,IAAoC,QAAQ,MAAA,IAAU,MAAA,CAAO,WAAW,MAAA,EAAQ;AAC9E,UAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AAAA,QACvB,CAAA,MAAO;AACL,UAAA,IAAA,CAAK,MAAA,GAAS,kBAAA;AAAA,QAChB;AAAA,MACF;AACA,MAAA,IAAI,KAAK,OAAA,EAAS;AAChB,QAAA,IAAA,CAAK,oBAAA,EAAqB;AAAA,MAC5B;AACA,MAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,SAAA,KAAc,IAAA,CAAK,SAAA,EAAW;AAC7C,QAAA,IAAA,CAAK,SAAA,GAAY,KAAK,OAAA,CAAQ,SAAA;AAC9B,QAAA,IAAI,sBAAA;AACJ,QAIO;AACL,UAAA,IAAA,CAAK,gBAAA,GAAmB,eAAe,GAAG,CAAA;AAC1C,UAAA,sBAAA,GAAyB,KAAK,cAAA,EAAe;AAO7C,QACF;AACA,QAAA,IAAA,CAAK,UAAU,sBAAsB,CAAA;AAAA,MACvC;AACA,MAAA,IAAI,CAAC,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,cAAA,EAAgB;AACxC,QAIO;AACL,UAAA,IAAA,CAAK,UAAU,IAAI,KAAA,CAAM,qBAAA,CAAsB,IAAA,CAAK,cAAc,CAAA,EAAG;AAAA,YACnE,UAAU,MAAM;AACd,cAAA,IAAA,CAAK,QAAQ,KAAA,GAAQ;AAAA,gBACnB,GAAG,IAAA,CAAK,KAAA;AAAA,gBACR,aAAA,EAAe,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,MAAA;AAAA,kBACtC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAA,CAAE,QAAA,CAAS,EAAE,MAAM;AAAA;AAC1C,eACF;AAAA,YACF;AAAA,WACD,CAAA;AACD,UAAA,sBAAA,CAAuB,IAAI,CAAA;AAAA,QAC7B;AAAA,MACF;AACA,MAAA,IAAI,mBAAA,GAAsB,KAAA;AAC1B,MAAA,MAAM,YAAA,GAAe,IAAA,CAAK,OAAA,CAAQ,QAAA,IAAY,GAAA;AAC9C,MAAA,MAAM,iBAAA,GAAoB,KAAK,OAAA,CAAQ,OAAA;AACvC,MAAA,MAAM,eAAA,GAAkB,oBAAoB,YAAA,KAAiB,YAAA;AAC7D,MAAA,MAAM,iBAAiB,iBAAA,KAAsB,iBAAA;AAC7C,MAAA,IAAI,mBAAmB,cAAA,EAAgB;AACrC,QAAA,IAAA,CAAK,QAAA,GAAW,YAAA;AAChB,QAAA,MAAM,WAAW,EAAC;AAClB,QAAA,MAAM,OAAA,GAAU,SAAS,YAAY,CAAA;AACrC,QAAA,IAAI,OAAA,IAAW,YAAY,GAAA,EAAK;AAC9B,UAAA,QAAA,CAAS,IAAA;AAAA,YACP,eAAA,CAAgB;AAAA,cACd,QAAA,EAAU;AAAA,aACX;AAAA,WACH;AAAA,QACF;AACA,QAAA,IAAI,iBAAA,EAAmB;AACrB,UAAA,QAAA,CAAS,KAAK,iBAAiB,CAAA;AAAA,QACjC;AACA,QAAA,IAAA,CAAK,OAAA,GAAU,QAAA,CAAS,MAAA,KAAW,CAAA,GAAI,MAAA,GAAS,QAAA,CAAS,MAAA,KAAW,CAAA,GAAI,QAAA,CAAS,CAAC,CAAA,GAAI,eAAA,CAAgB,QAAQ,CAAA;AAC9G,QAAA,IAAI,KAAK,OAAA,EAAS;AAChB,UAAA,IAAA,CAAK,oBAAA,EAAqB;AAAA,QAC5B;AACA,QAAA,mBAAA,GAAsB,IAAA;AAAA,MACxB;AACA,MAAA,IAAI,mBAAA,IAAuB,KAAK,OAAA,EAAS;AACvC,QAAA,IAAA,CAAK,QAAQ,KAAA,GAAQ;AAAA,UACnB,GAAG,IAAA,CAAK,KAAA;AAAA,UACR,UAAU,IAAA,CAAK;AAAA,SACjB;AAAA,MACF;AACA,MAAA,IAAI,OAAO,WAAW,WAAA,IAAe,KAAA,IAAS,UAAU,OAAO,MAAA,CAAO,GAAA,EAAK,QAAA,KAAa,UAAA,EAAY;AAClG,QAAA,IAAA,CAAK,8BAAA,GAAiC,OAAO,GAAA,CAAI,QAAA;AAAA,UAC/C;AAAA,SACF;AAAA,MACF;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,uBAAuB,MAAM;AAChC,MAAA,IAAA,CAAK,iBAAiB,IAAA,CAAK,aAAA;AAAA,QACzB,KAAK,OAAA,CAAQ,QAAA;AAAA,QACb,IAAA,CAAK;AAAA,OACP;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,iBAAiB,MAAM;AAC1B,MAAA,MAAM,MAAA,GAAS,gBAAA;AAAA,QACb,IAAA,CAAK,SAAA;AAAA,QACL,KAAK,OAAA,CAAQ,aAAA;AAAA,QACb,CAAC,OAAO,CAAA,KAAM;AACZ,UAAA,KAAA,CAAM,IAAA,CAAK;AAAA,YACT,aAAA,EAAe;AAAA,WAChB,CAAA;AAAA,QACH;AAAA,OACF;AACA,MAAA,IAAI,IAAA,CAAK,QAAQ,UAAA,EAAY;AAC3B,QAAA,iBAAA,CAAkB,IAAA,CAAK,OAAA,CAAQ,UAAA,EAAY,MAAA,CAAO,aAAa,CAAA;AAAA,MACjE;AACA,MAAA,OAAO,MAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,SAAA,GAAY,CAAC,SAAA,EAAW,EAAA,KAAO;AAClC,MAAA,MAAM,QAAA,GAAW;AAAA,QACf,SAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,IAAA,CAAK,WAAA,CAAY,IAAI,QAAQ,CAAA;AAC7B,MAAA,OAAO,MAAM;AACX,QAAA,IAAA,CAAK,WAAA,CAAY,OAAO,QAAQ,CAAA;AAAA,MAClC,CAAA;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,IAAA,GAAO,CAAC,WAAA,KAAgB;AAC3B,MAAA,IAAA,CAAK,WAAA,CAAY,OAAA,CAAQ,CAAC,QAAA,KAAa;AACrC,QAAA,IAAI,QAAA,CAAS,SAAA,KAAc,WAAA,CAAY,IAAA,EAAM;AAC3C,UAAA,QAAA,CAAS,GAAG,WAAW,CAAA;AAAA,QACzB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAA,GAAgB,CAAC,eAAA,EAAiB,gBAAA,KAAqB;AAC1D,MAAA,MAAM,QAAQ,CAAC;AAAA,QACb,QAAA;AAAA,QACA,MAAA;AAAA,QACA,IAAA;AAAA,QACA,IAAA;AAAA,QACA;AAAA,OACF,KAAM;AACJ,QAAA,IAAI,CAAC,IAAA,CAAK,OAAA,IAAW,CAAC,+BAAA,CAAgC,IAAA,CAAK,QAAQ,CAAA,EAAG;AACpE,UAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,MAAM,CAAA;AACrD,UAAA,MAAM,UAAA,GAAa,IAAA,CAAK,OAAA,CAAQ,eAAA,CAAgB,aAAa,CAAA;AAC7D,UAAA,OAAO;AAAA,YACL,IAAA,EAAM,WAAW,UAAA,GAAa,IAAA;AAAA,YAC9B,UAAA,EAAY,IAAA;AAAA,YACZ,QAAA,EAAU,UAAA,CAAW,QAAQ,CAAA,CAAE,IAAA;AAAA,YAC/B,QAAA,EAAU,KAAA;AAAA,YACV,SAAA,EAAW,UAAA;AAAA,YACX,MAAA,EAAQ,gBAAA;AAAA,cACN,gBAAA,EAAkB,MAAA;AAAA,cAClB;AAAA,aACF;AAAA,YACA,MAAM,UAAA,CAAW,IAAA,CAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAE,IAAA;AAAA,YAChC,KAAA,EAAO,gBAAA,CAAiB,gBAAA,EAAkB,KAAA,EAAO,KAAK;AAAA,WACxD;AAAA,QACF;AACA,QAAA,MAAM,OAAA,GAAU,IAAI,GAAA,CAAI,IAAA,EAAM,KAAK,MAAM,CAAA;AACzC,QAAA,MAAM,GAAA,GAAM,mBAAA,CAAoB,IAAA,CAAK,OAAA,EAAS,OAAO,CAAA;AACrD,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,IAAI,MAAM,CAAA;AACxD,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,eAAA,CAAgB,YAAY,CAAA;AAC3D,QAAA,GAAA,CAAI,MAAA,GAAS,SAAA;AACb,QAAA,MAAM,WAAW,GAAA,CAAI,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,QAAQ,EAAE,CAAA;AAChD,QAAA,OAAO;AAAA,UACL,IAAA,EAAM,QAAA;AAAA,UACN,UAAA,EAAY,IAAA;AAAA,UACZ,QAAA,EAAU,UAAA,CAAW,GAAA,CAAI,QAAQ,CAAA,CAAE,IAAA;AAAA,UACnC,UAAU,CAAC,CAAC,KAAK,OAAA,IAAW,GAAA,CAAI,WAAW,IAAA,CAAK,MAAA;AAAA,UAChD,SAAA;AAAA,UACA,MAAA,EAAQ,gBAAA,CAAiB,gBAAA,EAAkB,MAAA,EAAQ,YAAY,CAAA;AAAA,UAC/D,MAAM,UAAA,CAAW,GAAA,CAAI,KAAK,KAAA,CAAM,CAAC,CAAC,CAAA,CAAE,IAAA;AAAA,UACpC,KAAA,EAAO,gBAAA,CAAiB,gBAAA,EAAkB,KAAA,EAAO,KAAK;AAAA,SACxD;AAAA,MACF,CAAA;AACA,MAAA,MAAM,QAAA,GAAW,MAAM,eAAe,CAAA;AACtC,MAAA,MAAM,EAAE,cAAA,EAAgB,SAAA,EAAU,GAAI,QAAA,CAAS,KAAA;AAC/C,MAAA,IAAI,cAAA,KAAmB,CAAC,SAAA,IAAa,SAAA,KAAc,KAAK,eAAA,CAAA,EAAkB;AACxE,QAAA,MAAM,kBAAA,GAAqB,MAAM,cAAc,CAAA;AAC/C,QAAA,kBAAA,CAAmB,KAAA,CAAM,GAAA,GAAM,QAAA,CAAS,KAAA,CAAM,GAAA;AAC9C,QAAA,kBAAA,CAAmB,KAAA,CAAM,SAAA,GAAY,QAAA,CAAS,KAAA,CAAM,SAAA;AACpD,QAAA,OAAO,mBAAmB,KAAA,CAAM,cAAA;AAChC,QAAA,OAAO;AAAA,UACL,GAAG,kBAAA;AAAA,UACH,cAAA,EAAgB;AAAA,SAClB;AAAA,MACF;AACA,MAAA,OAAO,QAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,mBAAA,GAAsB,CAAC,IAAA,EAAM,IAAA,KAAS;AACzC,MAAA,MAAM,eAAe,WAAA,CAAY;AAAA,QAC/B,IAAA,EAAM,IAAA;AAAA,QACN,EAAA,EAAI,UAAU,IAAI,CAAA;AAAA,QAClB,aAAA,EAAe,KAAK,OAAA,CAAQ,aAAA;AAAA,QAC5B,OAAO,IAAA,CAAK;AAAA,OACb,CAAA;AACD,MAAA,OAAO,YAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,cAAA,EAAgB,oBAAA,EAAsB,IAAA,KAAS;AACjE,MAAA,IAAI,OAAO,mBAAmB,QAAA,EAAU;AACtC,QAAA,OAAO,IAAA,CAAK,mBAAA;AAAA,UACV;AAAA,YACE,QAAA,EAAU,cAAA;AAAA,YACV,MAAA,EAAQ;AAAA,WACV;AAAA,UACA;AAAA,SACF;AAAA,MACF;AACA,MAAA,OAAO,IAAA,CAAK,mBAAA,CAAoB,cAAA,EAAgB,oBAAoB,CAAA;AAAA,IACtE,CAAA;AACA,IAAA,IAAA,CAAK,gBAAA,GAAmB,CAAC,QAAA,KAAa;AACpC,MAAA,OAAO,gBAAA,CAAiB;AAAA,QACtB,QAAA;AAAA,QACA,YAAY,IAAA,CAAK,UAAA;AAAA,QACjB,eAAe,IAAA,CAAK;AAAA,OACrB,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,EAAA,KAAO;AACzB,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,CAAS,EAAE,CAAA;AAC9B,MAAA,IAAI,CAAC,KAAA,EAAO;AACZ,MAAA,KAAA,CAAM,gBAAgB,KAAA,EAAM;AAC5B,MAAA,YAAA,CAAa,KAAA,CAAM,aAAa,cAAc,CAAA;AAC9C,MAAA,KAAA,CAAM,aAAa,cAAA,GAAiB,MAAA;AAAA,IACtC,CAAA;AACA,IAAA,IAAA,CAAK,gBAAgB,MAAM;AACzB,MAAA,MAAM,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,MAAA;AAAA,QAC/C,CAAC,KAAA,KAAU,KAAA,CAAM,MAAA,KAAW;AAAA,OAC9B;AACA,MAAA,MAAM,qBAAA,GAAwB,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,MAAA;AAAA,QAC/C,CAAC,KAAA,KAAU,KAAA,CAAM,UAAA,KAAe;AAAA,OAClC;AACA,MAAA,MAAM,oBAAA,uBAA2C,GAAA,CAAI;AAAA,QACnD,GAAG,IAAA,CAAK,KAAA,CAAM,cAAA,IAAkB,EAAC;AAAA,QACjC,GAAG,qBAAA;AAAA,QACH,GAAG;AAAA,OACJ,CAAA;AACD,MAAA,oBAAA,CAAqB,OAAA,CAAQ,CAAC,KAAA,KAAU;AACtC,QAAA,IAAA,CAAK,WAAA,CAAY,MAAM,EAAE,CAAA;AAAA,MAC3B,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAA,GAAgB,CAAC,IAAA,KAAS;AAC7B,MAAA,MAAM,KAAA,GAAQ,CAAC,IAAA,GAAO,EAAC,KAAM;AAC3B,QAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,aAAA,IAAiB,IAAA,CAAK,wBAAwB,IAAA,CAAK,cAAA;AAChF,QAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,sBAAA,CAAuB,eAAe,CAAA;AACrE,QAAA,IAAI,IAAA,CAAK,QAAQ,KAAA,EAA2D;AAY5E,QAAA,MAAM,iBAAA,GAAoB,KAAK,cAAA,KAAmB,MAAA,GAAS,gBAAgB,QAAA,GAAW,IAAA,CAAK,QAAQ,iBAAA,CAAkB,QAAA;AACrH,QAAA,MAAM,QAAA,GAAW,IAAA,CAAK,mBAAA,CAAoB,iBAAA,EAAmB,GAAG,CAAA;AAChE,QAAA,MAAM,aAAa,iBAAA,CAAkB,MAAA;AACrC,QAAA,MAAM,UAAA,GAAa,EAAE,GAAG,iBAAA,CAAkB,MAAA,EAAO;AACjD,QAAA,MAAM,MAAA,GAAS,IAAA,CAAK,EAAA,GAAK,IAAA,CAAK,oBAAoB,QAAA,EAAU,CAAA,EAAG,IAAA,CAAK,EAAE,CAAA,CAAE,CAAA,GAAI,IAAA,CAAK,mBAAA,CAAoB,UAAU,GAAG,CAAA;AAClH,QAAA,MAAM,UAAA,GAAa,IAAA,CAAK,MAAA,KAAW,KAAA,IAAS,KAAK,MAAA,KAAW,IAAA,GAAO,EAAC,GAAA,CAAK,IAAA,CAAK,MAAA,IAAU,IAAA,MAAU,IAAA,GAAO,aAAa,MAAA,CAAO,MAAA;AAAA,UAC3H,UAAA;AAAA,UACA,gBAAA,CAAiB,IAAA,CAAK,MAAA,EAAQ,UAAU;AAAA,SAC1C;AACA,QAAA,MAAM,qBAAqB,eAAA,CAAgB;AAAA,UACzC,IAAA,EAAM,MAAA;AAAA,UACN,MAAA,EAAQ,UAAA;AAAA,UACR,SAAS,IAAA,CAAK,iBAAA;AAAA,UACd,QAAQ,IAAA,CAAK;AAAA,SACd,CAAA,CAAE,gBAAA;AACH,QAAA,MAAM,eAAA,GAAkB,IAAA,CAAK,gBAAA,CAAiB,kBAAkB,CAAA;AAChE,QAAA,IAAI,aAAa,eAAA,CAAgB,aAAA;AACjC,QAAA,MAAM,gBAAA,GAAmB,eAAA,CAAgB,UAAA,GAAa,eAAA,CAAgB,UAAA,CAAW,IAAA,KAAS,GAAA,IAAO,eAAA,CAAgB,WAAA,CAAY,IAAI,CAAA,GAAI,aAAA,CAAc,kBAAkB,CAAA;AACrK,QAAA,IAAI,gBAAA,IAAoB,IAAA,CAAK,OAAA,CAAQ,aAAA,EAAe;AAClD,UAAA,UAAA,GAAa,CAAC,GAAG,UAAA,EAAY,IAAA,CAAK,QAAQ,aAAa,CAAA;AAAA,QACzD;AACA,QAAA,IAAI,aAAA,GAAgB,KAAA;AACpB,QAAA,IAAI,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA,CAAE,SAAS,CAAA,EAAG;AACtC,UAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,YAAA,MAAM,KAAK,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ,SAAA,IAAa,MAAM,OAAA,CAAQ,eAAA;AAC5D,YAAA,IAAI,EAAA,EAAI;AACN,cAAA,aAAA,GAAgB,IAAA;AAChB,cAAA,MAAA,CAAO,MAAA,CAAO,UAAA,EAAY,EAAA,CAAG,UAAU,CAAC,CAAA;AAAA,YAC1C;AAAA,UACF;AAAA,QACF;AACA,QAAA,MAAM,eAAe,IAAA,CAAK,WAAA;AAAA;AAAA;AAAA,UAGxB;AAAA,YACE,UAAA;AAAA,UACF,CAAC,aAAA,GAAgB,kBAAA,GAAqB,eAAA,CAAgB;AAAA,YACpD,IAAA,EAAM,MAAA;AAAA,YACN,MAAA,EAAQ,UAAA;AAAA,YACR,SAAS,IAAA,CAAK,iBAAA;AAAA,YACd,QAAQ,IAAA,CAAK;AAAA,WACd,CAAA,CAAE;AAAA,SACL,CAAE,IAAA;AACF,QAAA,IAAI,UAAA,GAAa,UAAA;AACjB,QAAA,IAAI,IAAA,CAAK,sBAAA,IAA0B,IAAA,CAAK,OAAA,CAAQ,QAAQ,MAAA,EAAQ;AAC9D,UAAA,MAAM,kBAAkB,EAAC;AACzB,UAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,KAAA,KAAU;AAC5B,YAAA,IAAI,KAAA,CAAM,QAAQ,cAAA,EAAgB;AAChC,cAAA,IAAI;AACF,gBAAA,MAAA,CAAO,MAAA;AAAA,kBACL,eAAA;AAAA,kBACA,cAAA,CAAe,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB;AAAA,oBAC3C,GAAG,eAAA;AAAA,oBACH,GAAG;AAAA,mBACJ;AAAA,iBACH;AAAA,cACF,CAAA,CAAA,MAAQ;AAAA,cACR;AAAA,YACF;AAAA,UACF,CAAC,CAAA;AACD,UAAA,UAAA,GAAa,eAAA;AAAA,QACf;AACA,QAAA,UAAA,GAAa,qBAAA,CAAsB;AAAA,UACjC,MAAA,EAAQ,UAAA;AAAA,UACR,IAAA;AAAA,UACA,UAAA;AAAA,UACA,wBAAwB,IAAA,CAAK;AAAA,SAC9B,CAAA;AACD,QAAA,UAAA,GAAa,gBAAA,CAAiB,YAAY,UAAU,CAAA;AACpD,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,OAAA,CAAQ,eAAA,CAAgB,UAAU,CAAA;AACzD,QAAA,MAAM,IAAA,GAAO,IAAA,CAAK,IAAA,KAAS,IAAA,GAAO,eAAA,CAAgB,IAAA,GAAO,IAAA,CAAK,IAAA,GAAO,gBAAA,CAAiB,IAAA,CAAK,IAAA,EAAM,eAAA,CAAgB,IAAI,CAAA,GAAI,MAAA;AACzH,QAAA,MAAM,OAAA,GAAU,IAAA,GAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,EAAA;AACpC,QAAA,IAAI,SAAA,GAAY,IAAA,CAAK,KAAA,KAAU,IAAA,GAAO,gBAAgB,KAAA,GAAQ,IAAA,CAAK,KAAA,GAAQ,gBAAA,CAAiB,IAAA,CAAK,KAAA,EAAO,eAAA,CAAgB,KAAK,IAAI,EAAC;AAClI,QAAA,SAAA,GAAY,gBAAA,CAAiB,eAAA,CAAgB,KAAA,EAAO,SAAS,CAAA;AAC7D,QAAA,MAAM,WAAW,CAAA,EAAG,YAAY,CAAA,EAAG,SAAS,GAAG,OAAO,CAAA,CAAA;AACtD,QAAA,IAAI,IAAA;AACJ,QAAA,IAAI,UAAA;AACJ,QAAA,IAAI,QAAA,GAAW,KAAA;AACf,QAAA,IAAI,KAAK,OAAA,EAAS;AAChB,UAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,QAAA,EAAU,KAAK,MAAM,CAAA;AACzC,UAAA,MAAM,YAAA,GAAe,oBAAA,CAAqB,IAAA,CAAK,OAAA,EAAS,GAAG,CAAA;AAC3D,UAAA,IAAA,GAAO,GAAA,CAAI,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,QAAQ,EAAE,CAAA;AACtC,UAAA,IAAI,YAAA,CAAa,MAAA,KAAW,IAAA,CAAK,MAAA,EAAQ;AACvC,YAAA,UAAA,GAAa,YAAA,CAAa,IAAA;AAC1B,YAAA,QAAA,GAAW,IAAA;AAAA,UACb,CAAA,MAAO;AACL,YAAA,UAAA,GAAa,YAAA,CAAa,QAAA,GAAW,YAAA,CAAa,MAAA,GAAS,YAAA,CAAa,IAAA;AAAA,UAC1E;AAAA,QACF,CAAA,MAAO;AACL,UAAA,IAAA,GAAO,kBAAkB,QAAQ,CAAA;AACjC,UAAA,UAAA,GAAa,IAAA;AAAA,QACf;AACA,QAAA,OAAO;AAAA,UACL,UAAA;AAAA,UACA,IAAA;AAAA,UACA,QAAA,EAAU,YAAA;AAAA,UACV,MAAA,EAAQ,UAAA;AAAA,UACR,SAAA;AAAA,UACA,KAAA,EAAO,SAAA;AAAA,UACP,MAAM,IAAA,IAAQ,EAAA;AAAA,UACd,QAAA;AAAA,UACA,gBAAgB,IAAA,CAAK;AAAA,SACvB;AAAA,MACF,CAAA;AACA,MAAA,MAAM,gBAAA,GAAmB,CAAC,IAAA,GAAO,IAAI,UAAA,KAAe;AAClD,QAAA,MAAM,IAAA,GAAO,MAAM,IAAI,CAAA;AACvB,QAAA,IAAI,UAAA,GAAa,UAAA,GAAa,KAAA,CAAM,UAAU,CAAA,GAAI,MAAA;AAClD,QAAA,IAAI,CAAC,UAAA,EAAY;AACf,UAAA,MAAM,SAAS,EAAC;AAChB,UAAA,IAAI,IAAA,CAAK,QAAQ,UAAA,EAAY;AAC3B,YAAA,MAAM,KAAA,GAAQ,aAAA;AAAA,cACZ,IAAA,CAAK,QAAA;AAAA,cACL,IAAA,CAAK;AAAA,aACP;AACA,YAAA,IAAI,KAAA,EAAO;AACT,cAAA,MAAA,CAAO,MAAA,CAAO,MAAA,EAAQ,KAAA,CAAM,SAAS,CAAA;AACrC,cAAA,MAAM;AAAA,gBACJ,IAAA,EAAM,KAAA;AAAA,gBACN,MAAA,EAAQ,UAAA;AAAA,gBACR,GAAG;AAAA,kBACD,KAAA,CAAM,KAAA;AACV,cAAA,MAAM,aAAa,UAAA,KAAe,KAAA,IAAS,UAAA,KAAe,IAAA,GAAO,EAAC,GAAA,CAAK,UAAA,IAAc,IAAA,MAAU,IAAA,GAAO,SAAS,MAAA,CAAO,MAAA,CAAO,QAAQ,gBAAA,CAAiB,UAAA,EAAY,MAAM,CAAC,CAAA;AACzK,cAAA,UAAA,GAAa;AAAA,gBACX,MAAM,IAAA,CAAK,IAAA;AAAA,gBACX,GAAG,SAAA;AAAA,gBACH,MAAA,EAAQ;AAAA,eACV;AACA,cAAA,UAAA,GAAa,MAAM,UAAU,CAAA;AAAA,YAC/B;AAAA,UACF;AAAA,QACF;AACA,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,IAAA,CAAK,cAAA,GAAiB,UAAA;AAAA,QACxB;AACA,QAAA,OAAO,IAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAI,KAAK,IAAA,EAAM;AACb,QAAA,OAAO,iBAAiB,IAAA,EAAM;AAAA,UAC5B,MAAM,IAAA,CAAK,IAAA;AAAA,UACX,GAAG,IAAA,CAAK;AAAA,SACT,CAAA;AAAA,MACH;AACA,MAAA,OAAO,iBAAiB,IAAI,CAAA;AAAA,IAC9B,CAAA;AACA,IAAA,IAAA,CAAK,iBAAiB,OAAO;AAAA,MAC3B,cAAA;AAAA,MACA,aAAA;AAAA,MACA,GAAG;AAAA,KACL,KAAM;AACJ,MAAA,MAAM,cAAc,MAAM;AACxB,QAAA,MAAM,YAAA,GAAe;AAAA,UACnB,KAAA;AAAA;AAAA,UAEA,WAAA;AAAA,UACA,aAAA;AAAA,UACA;AAAA,SACF;AACA,QAAA,YAAA,CAAa,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC7B,UAAA,IAAA,CAAK,MAAM,IAAI,CAAA,GAAI,IAAA,CAAK,cAAA,CAAe,MAAM,IAAI,CAAA;AAAA,QACnD,CAAC,CAAA;AACD,QAAA,MAAM,UAAU,SAAA,CAAU,IAAA,CAAK,KAAA,EAAO,IAAA,CAAK,eAAe,KAAK,CAAA;AAC/D,QAAA,YAAA,CAAa,OAAA,CAAQ,CAAC,IAAA,KAAS;AAC7B,UAAA,OAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,QACxB,CAAC,CAAA;AACD,QAAA,OAAO,OAAA;AAAA,MACT,CAAA;AACA,MAAA,MAAM,SAAA,GAAY,cAAc,IAAA,CAAK,cAAA,CAAe,IAAI,CAAA,KAAM,aAAA,CAAc,KAAK,IAAI,CAAA;AACrF,MAAA,MAAM,wBAAwB,IAAA,CAAK,qBAAA;AACnC,MAAA,IAAA,CAAK,qBAAA,GAAwB,wBAAwB,MAAM;AACzD,QAAA,qBAAA,EAAuB,OAAA,EAAQ;AAAA,MACjC,CAAC,CAAA;AACD,MAAA,IAAI,SAAA,IAAa,aAAY,EAAG;AAC9B,QAAA,IAAA,CAAK,IAAA,EAAK;AAAA,MACZ,CAAA,MAAO;AACL,QAAA,IAAI;AAAA;AAAA,UAEF,cAAA;AAAA;AAAA,UAEA,kBAAA;AAAA,UACA,GAAG;AAAA,SACL,GAAI,IAAA;AACJ,QAAA,IAAI,cAAA,EAAgB;AAClB,UAAA,WAAA,GAAc;AAAA,YACZ,GAAG,cAAA;AAAA,YACH,KAAA,EAAO;AAAA,cACL,GAAG,cAAA,CAAe,KAAA;AAAA,cAClB,SAAA,EAAW,MAAA;AAAA,cACX,cAAA,EAAgB;AAAA,gBACd,GAAG,WAAA;AAAA,gBACH,QAAQ,WAAA,CAAY,SAAA;AAAA,gBACpB,KAAA,EAAO;AAAA,kBACL,GAAG,WAAA,CAAY,KAAA;AAAA,kBACf,SAAA,EAAW,MAAA;AAAA,kBACX,cAAA,EAAgB,MAAA;AAAA,kBAChB,SAAA,EAAW,MAAA;AAAA,kBACX,GAAA,EAAK;AAAA;AAAA;AAEP;AACF;AACF,WACF;AACA,UAAA,IAAI,WAAA,CAAY,cAAA,IAAkB,IAAA,CAAK,OAAA,CAAQ,kBAAkB,KAAA,EAAO;AACtE,YAAA,WAAA,CAAY,KAAA,CAAM,YAAY,IAAA,CAAK,eAAA;AAAA,UACrC;AAAA,QACF;AACA,QAAA,WAAA,CAAY,KAAA,CAAM,2BAAA,GAA8B,kBAAA,IAAsB,IAAA,CAAK,QAAQ,yBAAA,IAA6B,IAAA;AAChH,QAAA,IAAA,CAAK,oBAAA,GAAuB,cAAA;AAC5B,QAAA,IAAA,CAAK,OAAA,CAAQ,IAAA,CAAK,OAAA,GAAU,SAAA,GAAY,MAAM,CAAA;AAAA,UAC5C,WAAA,CAAY,UAAA;AAAA,UACZ,WAAA,CAAY,KAAA;AAAA,UACZ,EAAE,aAAA;AAAc,SAClB;AAAA,MACF;AACA,MAAA,IAAA,CAAK,eAAA,GAAkB,KAAK,WAAA,IAAe,IAAA;AAC3C,MAAA,IAAI,CAAC,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,IAAA,EAAM;AAClC,QAAA,IAAA,CAAK,IAAA,EAAK;AAAA,MACZ;AACA,MAAA,OAAO,IAAA,CAAK,qBAAA;AAAA,IACd,CAAA;AACA,IAAA,IAAA,CAAK,yBAAyB,CAAC;AAAA,MAC7B,OAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAG;AAAA,KACL,GAAI,EAAC,KAAM;AACT,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,MAAM,YAAA,GAAe,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,KAAA,CAAM,WAAA;AACjD,QAAA,MAAM,MAAA,GAAS,UAAU,IAAA,EAAM;AAAA,UAC7B,WAAA,EAAa,OAAA,GAAU,YAAA,GAAe,YAAA,GAAe;AAAA,SACtD,CAAA;AACD,QAAA,MAAM,UAAU,IAAI,GAAA,CAAI,MAAA,CAAO,QAAA,EAAU,KAAK,MAAM,CAAA;AACpD,QAAA,MAAM,YAAA,GAAe,mBAAA,CAAoB,IAAA,CAAK,OAAA,EAAS,OAAO,CAAA;AAC9D,QAAA,IAAA,CAAK,KAAK,YAAA,CAAa,QAAA;AACvB,QAAA,IAAA,CAAK,MAAA,GAAS,IAAA,CAAK,OAAA,CAAQ,WAAA,CAAY,OAAO,MAAM,CAAA;AACpD,QAAA,IAAA,CAAK,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA;AAAA,MACjC;AACA,MAAA,MAAM,QAAA,GAAW,KAAK,aAAA,CAAc;AAAA,QAClC,GAAG,IAAA;AAAA,QACH,sBAAA,EAAwB;AAAA,OACzB,CAAA;AACD,MAAA,IAAA,CAAK,oBAAA,GAAuB,QAAA;AAC5B,MAAA,MAAM,aAAA,GAAgB,KAAK,cAAA,CAAe;AAAA,QACxC,GAAG,QAAA;AAAA,QACH,cAAA;AAAA,QACA,OAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA;AAAA,OACD,CAAA;AACD,MAAA,OAAA,CAAQ,OAAA,EAAQ,CAAE,IAAA,CAAK,MAAM;AAC3B,QAAA,IAAI,IAAA,CAAK,yBAAyB,QAAA,EAAU;AAC1C,UAAA,IAAA,CAAK,oBAAA,GAAuB,MAAA;AAAA,QAC9B;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO,aAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,WAAW,OAAO;AAAA,MACrB,EAAA;AAAA,MACA,cAAA;AAAA,MACA,IAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAG;AAAA,KACL,KAAM;AACJ,MAAA,IAAI,SAAA,GAAY,KAAA;AAChB,MAAA,IAAI,IAAA,EAAM;AACR,QAAA,IAAI;AACF,UAAA,IAAI,GAAA,CAAI,CAAA,EAAG,IAAI,CAAA,CAAE,CAAA;AACjB,UAAA,SAAA,GAAY,IAAA;AAAA,QACd,CAAA,CAAA,MAAQ;AAAA,QACR;AAAA,MACF;AACA,MAAA,IAAI,SAAA,IAAa,CAAC,cAAA,EAAgB;AAChC,QAAA,cAAA,GAAiB,IAAA;AAAA,MACnB;AACA,MAAA,IAAI,cAAA,EAAgB;AAClB,QAAA,IAAI,EAAA,KAAO,MAAA,IAAU,CAAC,IAAA,EAAM;AAC1B,UAAA,MAAM,WAAW,IAAA,CAAK,aAAA,CAAc,EAAE,EAAA,EAAI,GAAG,MAAM,CAAA;AACnD,UAAA,IAAA,GAAO,QAAQ,QAAA,CAAS,UAAA;AACxB,UAAA,UAAA,GAAa,cAAc,QAAA,CAAS,UAAA;AAAA,QACtC;AACA,QAAA,MAAM,UAAA,GAAa,CAAC,SAAA,IAAa,UAAA,GAAa,UAAA,GAAa,IAAA;AAC3D,QAAA,IAAI,mBAAA,CAAoB,UAAU,CAAA,EAAG;AAMnC,UAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,QACzB;AACA,QAAA,IAAI,CAAC,KAAK,aAAA,EAAe;AACvB,UAAA,MAAM,sBAAsB,IAAA,CAAK,OAAA;AACjC,UAAA,MAAM,QAAA,GAAW,mBAAA,CAAoB,WAAA,IAAc,IAAK,EAAC;AACzD,UAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,YAAA,IAAI,SAAS,SAAA,EAAW;AACtB,cAAA,MAAM,WAAA,GAAc,MAAM,OAAA,CAAQ,SAAA,CAAU;AAAA,gBAC1C,iBAAiB,IAAA,CAAK,cAAA;AAAA,gBACtB,cAAc,IAAA,CAAK,cAAA;AAAA;AAAA,gBAEnB,MAAA,EAAQ;AAAA,eACT,CAAA;AACD,cAAA,IAAI,WAAA,EAAa;AACf,gBAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,cACzB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,QAAA,IAAI,KAAK,OAAA,EAAS;AAChB,UAAA,MAAA,CAAO,QAAA,CAAS,QAAQ,UAAU,CAAA;AAAA,QACpC,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,SAAS,IAAA,GAAO,UAAA;AAAA,QACzB;AACA,QAAA,OAAO,QAAQ,OAAA,EAAQ;AAAA,MACzB;AACA,MAAA,OAAO,KAAK,sBAAA,CAAuB;AAAA,QACjC,GAAG,IAAA;AAAA,QACH,IAAA;AAAA,QACA,EAAA;AAAA,QACA,WAAA,EAAa;AAAA,OACd,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,aAAa,MAAM;AACtB,MAAA,IAAA,CAAK,aAAA,EAAc;AACnB,MAAA,IAAA,CAAK,oBAAA,EAAqB;AAmB1B,MAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,WAAA,CAAY,IAAA,CAAK,cAAc,CAAA;AAC3D,MAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,QAC5B,GAAG,CAAA;AAAA,QACH,MAAA,EAAQ,SAAA;AAAA,QACR,UAAA,EAAY,GAAA;AAAA,QACZ,SAAA,EAAW,IAAA;AAAA,QACX,UAAU,IAAA,CAAK,cAAA;AAAA,QACf,cAAA;AAAA;AAAA,QAEA,aAAA,EAAe,EAAE,aAAA,CAAc,MAAA;AAAA,UAC7B,CAAC,CAAA,KAAM,CAAC,cAAA,CAAe,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,CAAA,CAAE,EAAE;AAAA;AAClD,OACF,CAAE,CAAA;AAAA,IACJ,CAAA;AACA,IAAA,IAAA,CAAK,IAAA,GAAO,OAAO,IAAA,KAAS;AAC1B,MAAA,IAAI,SAAA;AACJ,MAAA,IAAI,QAAA;AACJ,MAAA,IAAI,WAAA;AACJ,MAAA,WAAA,GAAc,IAAI,OAAA,CAAQ,CAAC,OAAA,KAAY;AACrC,QAAA,IAAA,CAAK,gBAAgB,YAAY;AAC/B,UAAA,IAAI;AACF,YAAA,IAAA,CAAK,UAAA,EAAW;AAChB,YAAA,MAAM,OAAO,IAAA,CAAK,cAAA;AAClB,YAAA,MAAM,YAAA,GAAe,KAAK,KAAA,CAAM,gBAAA;AAChC,YAAA,IAAI,CAAC,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU;AACxB,cAAA,IAAA,CAAK,IAAA,CAAK;AAAA,gBACR,IAAA,EAAM,kBAAA;AAAA,gBACN,GAAG,qBAAA,CAAsB;AAAA,kBACvB,gBAAA,EAAkB,YAAA;AAAA,kBAClB,QAAA,EAAU;AAAA,iBACX;AAAA,eACF,CAAA;AAAA,YACH;AACA,YAAA,IAAA,CAAK,IAAA,CAAK;AAAA,cACR,IAAA,EAAM,cAAA;AAAA,cACN,GAAG,qBAAA,CAAsB;AAAA,gBACvB,gBAAA,EAAkB,YAAA;AAAA,gBAClB,QAAA,EAAU;AAAA,eACX;AAAA,aACF,CAAA;AACD,YAAA,MAAM,WAAA,CAAY;AAAA,cAChB,MAAA,EAAQ,IAAA;AAAA,cACR,MAAM,IAAA,EAAM,IAAA;AAAA,cACZ,OAAA,EAAS,KAAK,KAAA,CAAM,cAAA;AAAA,cACpB,QAAA,EAAU,IAAA;AAAA,cACV,aAAa,IAAA,CAAK,WAAA;AAAA;AAAA,cAElB,SAAS,YAAY;AACnB,gBAAA,IAAA,CAAK,gBAAgB,MAAM;AACzB,kBAAA,IAAA,CAAK,oBAAoB,YAAY;AACnC,oBAAA,IAAI,iBAAiB,EAAC;AACtB,oBAAA,IAAI,kBAAkB,EAAC;AACvB,oBAAA,IAAI,iBAAiB,EAAC;AACtB,oBAAA,KAAA,CAAM,MAAM;AACV,sBAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,wBAAA,MAAM,kBAAkB,CAAA,CAAE,OAAA;AAC1B,wBAAA,MAAM,UAAA,GAAa,CAAA,CAAE,cAAA,IAAkB,CAAA,CAAE,OAAA;AACzC,wBAAA,cAAA,GAAiB,eAAA,CAAgB,MAAA;AAAA,0BAC/B,CAAC,KAAA,KAAU,CAAC,UAAA,CAAW,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,yBACtD;AACA,wBAAA,eAAA,GAAkB,UAAA,CAAW,MAAA;AAAA,0BAC3B,CAAC,KAAA,KAAU,CAAC,eAAA,CAAgB,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,yBAC3D;AACA,wBAAA,cAAA,GAAiB,UAAA,CAAW,MAAA;AAAA,0BAC1B,CAAC,UAAU,eAAA,CAAgB,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,KAAA,CAAM,EAAE;AAAA,yBAC1D;AACA,wBAAA,OAAO;AAAA,0BACL,GAAG,CAAA;AAAA,0BACH,SAAA,EAAW,KAAA;AAAA,0BACX,QAAA,EAAU,KAAK,GAAA,EAAI;AAAA,0BACnB,OAAA,EAAS,UAAA;AAAA,0BACT,cAAA,EAAgB,KAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAOhB,aAAA,EAAe;AAAA,4BACb,GAAG,CAAA,CAAE,aAAA;AAAA,4BACL,GAAG,cAAA,CAAe,MAAA;AAAA,8BAChB,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,OAAA,IAAW,EAAE,MAAA,KAAW;AAAA;AAC9C;AACF,yBACF;AAAA,sBACF,CAAC,CAAA;AACD,sBAAA,IAAA,CAAK,iBAAA,EAAkB;AAAA,oBACzB,CAAC,CAAA;AACD,oBAAA;AAAA,sBACE,CAAC,gBAAgB,SAAS,CAAA;AAAA,sBAC1B,CAAC,iBAAiB,SAAS,CAAA;AAAA,sBAC3B,CAAC,gBAAgB,QAAQ;AAAA,sBACzB,OAAA,CAAQ,CAAC,CAAC,OAAA,EAAS,IAAI,CAAA,KAAM;AAC7B,sBAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAU;AACzB,wBAAA,IAAA,CAAK,eAAA,CAAgB,KAAA,CAAM,OAAO,CAAA,CAAE,QAAQ,IAAI,CAAA;AAAA,0BAC9C;AAAA,yBACF;AAAA,sBACF,CAAC,CAAA;AAAA,oBACH,CAAC,CAAA;AAAA,kBACH,CAAC,CAAA;AAAA,gBACH,CAAC,CAAA;AAAA,cACH;AAAA,aACD,CAAA;AAAA,UACH,SAAS,GAAA,EAAK;AACZ,YAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,cAAA,SAAA,GAAY,GAAA;AACZ,cAAkC;AAChC,gBAAA,IAAA,CAAK,QAAA,CAAS;AAAA,kBACZ,GAAG,SAAA,CAAU,OAAA;AAAA,kBACb,OAAA,EAAS,IAAA;AAAA,kBACT,aAAA,EAAe;AAAA,iBAChB,CAAA;AAAA,cACH;AAAA,YACF,CAAA,MAAA,IAAW,UAAA,CAAW,GAAG,CAAA,EAAG;AAC1B,cAAA,QAAA,GAAW,GAAA;AAAA,YACb;AACA,YAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,UAAA,EAAY,SAAA,GAAY,SAAA,CAAU,MAAA,GAAS,WAAW,GAAA,GAAM,CAAA,CAAE,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,OAAO,IAAI,GAAA,GAAM,GAAA;AAAA,cAChH,QAAA,EAAU;AAAA,aACZ,CAAE,CAAA;AAAA,UACJ;AACA,UAAA,IAAI,IAAA,CAAK,sBAAsB,WAAA,EAAa;AAC1C,YAAA,IAAA,CAAK,uBAAuB,OAAA,EAAQ;AACpC,YAAA,IAAA,CAAK,iBAAA,GAAoB,MAAA;AACzB,YAAA,IAAA,CAAK,qBAAA,GAAwB,MAAA;AAAA,UAC/B;AACA,UAAA,OAAA,EAAQ;AAAA,QACV,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AACD,MAAA,IAAA,CAAK,iBAAA,GAAoB,WAAA;AACzB,MAAA,MAAM,WAAA;AACN,MAAA,OAAO,IAAA,CAAK,iBAAA,IAAqB,WAAA,KAAgB,IAAA,CAAK,iBAAA,EAAmB;AACvE,QAAA,MAAM,IAAA,CAAK,iBAAA;AAAA,MACb;AACA,MAAA,IAAI,aAAA,GAAgB,MAAA;AACpB,MAAA,IAAI,IAAA,CAAK,kBAAiB,EAAG;AAC3B,QAAA,aAAA,GAAgB,GAAA;AAAA,MAClB,CAAA,MAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,OAAO,CAAA,EAAG;AACvE,QAAA,aAAA,GAAgB,GAAA;AAAA,MAClB;AACA,MAAA,IAAI,kBAAkB,MAAA,EAAQ;AAC5B,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,UAC5B,GAAG,CAAA;AAAA,UACH,UAAA,EAAY;AAAA,SACd,CAAE,CAAA;AAAA,MACJ;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,mBAAA,GAAsB,CAAC,EAAA,KAAO;AACjC,MAAA,MAAM,oBAAA,GAAuB,IAAA,CAAK,oBAAA,IAAwB,IAAA,CAAK,OAAA,CAAQ,qBAAA;AACvE,MAAA,IAAA,CAAK,oBAAA,GAAuB,MAAA;AAC5B,MAAA,IAAI,oBAAA,IAAwB,OAAO,QAAA,KAAa,WAAA,IAAe,yBAAyB,QAAA,IAAY,OAAO,QAAA,CAAS,mBAAA,KAAwB,UAAA,EAAY;AACtJ,QAAA,IAAI,yBAAA;AACJ,QAAA,IAAI,OAAO,oBAAA,KAAyB,QAAA,IAAY,IAAA,CAAK,8BAAA,EAAgC;AACnF,UAAA,MAAM,OAAO,IAAA,CAAK,cAAA;AAClB,UAAA,MAAM,YAAA,GAAe,KAAK,KAAA,CAAM,gBAAA;AAChC,UAAA,MAAM,2BAAA,GAA8B,OAAO,oBAAA,CAAqB,KAAA,KAAU,aAAa,oBAAA,CAAqB,KAAA;AAAA,YAC1G,qBAAA,CAAsB;AAAA,cACpB,gBAAA,EAAkB,YAAA;AAAA,cAClB,QAAA,EAAU;AAAA,aACX;AAAA,cACC,oBAAA,CAAqB,KAAA;AACzB,UAAA,IAAI,gCAAgC,KAAA,EAAO;AACzC,YAAA,EAAA,EAAG;AACH,YAAA;AAAA,UACF;AACA,UAAA,yBAAA,GAA4B;AAAA,YAC1B,MAAA,EAAQ,EAAA;AAAA,YACR,KAAA,EAAO;AAAA,WACT;AAAA,QACF,CAAA,MAAO;AACL,UAAA,yBAAA,GAA4B,EAAA;AAAA,QAC9B;AACA,QAAA,QAAA,CAAS,oBAAoB,yBAAyB,CAAA;AAAA,MACxD,CAAA,MAAO;AACL,QAAA,EAAA,EAAG;AAAA,MACL;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,WAAA,GAAc,CAAC,EAAA,EAAI,OAAA,KAAY;AAClC,MAAA,IAAA,CAAK,gBAAgB,MAAM;AACzB,QAAA,MAAM,UAAA,GAAa,IAAA,CAAK,KAAA,CAAM,cAAA,EAAgB,KAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,EAAE,CAAA,GAAI,gBAAA,GAAmB,IAAA,CAAK,MAAM,OAAA,CAAQ,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,EAAE,CAAA,GAAI,YAAY,IAAA,CAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,EAAE,IAAI,eAAA,GAAkB,EAAA;AAC5N,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,YAC5B,GAAG,CAAA;AAAA,YACH,CAAC,UAAU,GAAG,CAAA,CAAE,UAAU,CAAA,EAAG,GAAA;AAAA,cAC3B,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAA,GAAK,OAAA,CAAQ,CAAC,CAAA,GAAI;AAAA;AACpC,WACF,CAAE,CAAA;AAAA,QACJ;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,IAAA,CAAK,QAAA,GAAW,CAAC,OAAA,KAAY;AAC3B,MAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KAAM,CAAA,CAAE,EAAA,KAAO,OAAA;AAC/B,MAAA,OAAO,KAAK,KAAA,CAAM,aAAA,CAAc,IAAA,CAAK,MAAM,KAAK,IAAA,CAAK,KAAA,CAAM,cAAA,EAAgB,IAAA,CAAK,MAAM,CAAA,IAAK,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,KAAK,MAAM,CAAA;AAAA,IAC3H,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,IAAA,KAAS;AAC1B,MAAA,MAAM,UAAA,GAAa,CAAC,CAAA,KAAM;AACxB,QAAA,IAAI,IAAA,EAAM,MAAA,GAAS,CAAC,CAAA,IAAK,IAAA,EAAM;AAC7B,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,OAAA,EAAS,IAAA;AAAA,YACT,GAAG,IAAA,EAAM,YAAA,IAAgB,CAAA,CAAE,WAAW,OAAA,IAAW,CAAA,CAAE,MAAA,KAAW,UAAA,GAAa,EAAE,MAAA,EAAQ,SAAA,EAAW,KAAA,EAAO,QAAO,GAAI;AAAA,WACpH;AAAA,QACF;AACA,QAAA,OAAO,CAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,QAC5B,GAAG,CAAA;AAAA,QACH,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA;AAAA,QACjC,aAAA,EAAe,CAAA,CAAE,aAAA,CAAc,GAAA,CAAI,UAAU,CAAA;AAAA,QAC7C,cAAA,EAAgB,CAAA,CAAE,cAAA,EAAgB,GAAA,CAAI,UAAU;AAAA,OAClD,CAAE,CAAA;AACF,MAAA,IAAA,CAAK,oBAAA,GAAuB,KAAA;AAC5B,MAAA,OAAO,KAAK,IAAA,CAAK,EAAE,IAAA,EAAM,IAAA,EAAM,MAAM,CAAA;AAAA,IACvC,CAAA;AACA,IAAA,IAAA,CAAK,qBAAA,GAAwB,CAAC,QAAA,KAAa;AACzC,MAAA,OAAO,SAAS,UAAA,IAAc,GAAA;AAAA,IAChC,CAAA;AACA,IAAA,IAAA,CAAK,eAAA,GAAkB,CAAC,SAAA,KAAc;AACpC,MAAA,MAAM,cAAA,GAAiB,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA;AACvD,MAAA,IAAI,CAAC,SAAA,CAAU,OAAA,CAAQ,IAAA,IAAQ,SAAA,CAAU,QAAQ,cAAA,EAAgB;AAC/D,QAAA,MAAM,WAAW,SAAA,CAAU,OAAA,CAAQ,kBAAkB,IAAA,CAAK,aAAA,CAAc,UAAU,OAAO,CAAA;AACzF,QAAA,MAAM,IAAA,GAAO,IAAA,CAAK,qBAAA,CAAsB,QAAQ,CAAA;AAChD,QAAA,SAAA,CAAU,QAAQ,IAAA,GAAO,IAAA;AACzB,QAAA,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,IAAI,CAAA;AAAA,MACxC,WAAW,cAAA,EAAgB;AACzB,QAAA,IAAI;AACF,UAAA,MAAM,GAAA,GAAM,IAAI,GAAA,CAAI,cAAc,CAAA;AAClC,UAAA,IAAI,IAAA,CAAK,MAAA,IAAU,GAAA,CAAI,MAAA,KAAW,KAAK,MAAA,EAAQ;AAC7C,YAAA,MAAM,IAAA,GAAO,GAAA,CAAI,QAAA,GAAW,GAAA,CAAI,SAAS,GAAA,CAAI,IAAA;AAC7C,YAAA,SAAA,CAAU,QAAQ,IAAA,GAAO,IAAA;AACzB,YAAA,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,IAAI,CAAA;AAAA,UACxC;AAAA,QACF,CAAA,CAAA,MAAQ;AAAA,QACR;AAAA,MACF;AACA,MAAA,IAAI,CAAC,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAU,CAAA,EAAG;AACtC,QAAA,SAAA,CAAU,OAAA,CAAQ,GAAA,CAAI,UAAA,EAAY,SAAA,CAAU,QAAQ,IAAI,CAAA;AAAA,MAC1D;AACA,MAAA,OAAO,SAAA;AAAA,IACT,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,IAAA,KAAS;AAC1B,MAAA,MAAM,SAAS,IAAA,EAAM,MAAA;AACrB,MAAA,IAAI,WAAW,MAAA,EAAQ;AACrB,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,aAAA,EAAe,EAAE,aAAA,CAAc,MAAA;AAAA,cAC7B,CAAC,CAAA,KAAM,CAAC,MAAA,CAAO,CAAC;AAAA;AAClB,WACF;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,KAAM;AAC3B,UAAA,OAAO;AAAA,YACL,GAAG,CAAA;AAAA,YACH,eAAe;AAAC,WAClB;AAAA,QACF,CAAC,CAAA;AAAA,MACH;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,oBAAoB,MAAM;AAC7B,MAAA,MAAM,MAAA,GAAS,CAAC,CAAA,KAAM;AACpB,QAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,CAAA,CAAE,OAAO,CAAA;AAC5C,QAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ;AACzB,UAAA,OAAO,IAAA;AAAA,QACT;AACA,QAAA,MAAM,UAAU,CAAA,CAAE,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,iBAAiB,IAAA,CAAK,OAAA,CAAQ,oBAAA,GAAuB,KAAA,CAAM,QAAQ,MAAA,IAAU,IAAA,CAAK,OAAA,CAAQ,aAAA,KAAkB,IAAI,EAAA,GAAK,GAAA;AAC/J,QAAA,MAAM,OAAA,GAAU,EAAE,MAAA,KAAW,OAAA;AAC7B,QAAA,IAAI,SAAS,OAAO,IAAA;AACpB,QAAA,MAAM,UAAA,GAAa,IAAA,CAAK,GAAA,EAAI,GAAI,EAAE,SAAA,IAAa,MAAA;AAC/C,QAAA,OAAO,UAAA;AAAA,MACT,CAAA;AACA,MAAA,IAAA,CAAK,UAAA,CAAW,EAAE,MAAA,EAAQ,CAAA;AAAA,IAC5B,CAAA;AACA,IAAA,IAAA,CAAK,cAAA,GAAiB,cAAA;AACtB,IAAA,IAAA,CAAK,YAAA,GAAe,OAAO,IAAA,KAAS;AAClC,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,IAAI,CAAA;AACpC,MAAA,IAAI,OAAA,GAAU,IAAA,CAAK,WAAA,CAAY,IAAA,EAAM;AAAA,QACnC,YAAA,EAAc,IAAA;AAAA,QACd,OAAA,EAAS,IAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACP,CAAA;AACD,MAAA,MAAM,iBAAiB,IAAI,GAAA;AAAA,QACzB,CAAC,GAAG,IAAA,CAAK,KAAA,CAAM,OAAA,EAAS,GAAG,IAAA,CAAK,KAAA,CAAM,cAAA,IAAkB,EAAE,CAAA,CAAE,GAAA;AAAA,UAC1D,CAAC,MAAM,CAAA,CAAE;AAAA;AACX,OACF;AACA,MAAA,MAAM,cAAA,uBAAqC,GAAA,CAAI;AAAA,QAC7C,GAAG,cAAA;AAAA,QACH,GAAG,KAAK,KAAA,CAAM,aAAA,CAAc,IAAI,CAAC,CAAA,KAAM,EAAE,EAAE;AAAA,OAC5C,CAAA;AACD,MAAA,KAAA,CAAM,MAAM;AACV,QAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,KAAA,KAAU;AACzB,UAAA,IAAI,CAAC,cAAA,CAAe,GAAA,CAAI,KAAA,CAAM,EAAE,CAAA,EAAG;AACjC,YAAA,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,CAAC,CAAA,MAAO;AAAA,cAC5B,GAAG,CAAA;AAAA,cACH,aAAA,EAAe,CAAC,GAAG,CAAA,CAAE,eAAe,KAAK;AAAA,aAC3C,CAAE,CAAA;AAAA,UACJ;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAC,CAAA;AACD,MAAA,IAAI;AACF,QAAA,OAAA,GAAU,MAAM,WAAA,CAAY;AAAA,UAC1B,MAAA,EAAQ,IAAA;AAAA,UACR,OAAA;AAAA,UACA,QAAA,EAAU,IAAA;AAAA,UACV,OAAA,EAAS,IAAA;AAAA,UACT,WAAA,EAAa,CAAC,EAAA,EAAI,OAAA,KAAY;AAC5B,YAAA,IAAI,cAAA,CAAe,GAAA,CAAI,EAAE,CAAA,EAAG;AAC1B,cAAA,OAAA,GAAU,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAA,GAAK,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAC,CAAA;AAAA,YAC3D,CAAA,MAAO;AACL,cAAA,IAAA,CAAK,WAAA,CAAY,IAAI,OAAO,CAAA;AAAA,YAC9B;AAAA,UACF;AAAA,SACD,CAAA;AACD,QAAA,OAAO,OAAA;AAAA,MACT,SAAS,GAAA,EAAK;AACZ,QAAA,IAAI,UAAA,CAAW,GAAG,CAAA,EAAG;AACnB,UAAA,IAAI,GAAA,CAAI,QAAQ,cAAA,EAAgB;AAC9B,YAAA,OAAO,MAAA;AAAA,UACT;AACA,UAAA,OAAO,MAAM,KAAK,YAAA,CAAa;AAAA,YAC7B,GAAG,GAAA,CAAI,OAAA;AAAA,YACP,aAAA,EAAe;AAAA,WAChB,CAAA;AAAA,QACH;AACA,QAAA,IAAI,CAAC,UAAA,CAAW,GAAG,CAAA,EAAG;AACpB,UAAA,OAAA,CAAQ,MAAM,GAAG,CAAA;AAAA,QACnB;AACA,QAAA,OAAO,MAAA;AAAA,MACT;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,UAAA,GAAa,CAAC,QAAA,EAAU,IAAA,KAAS;AACpC,MAAA,MAAM,aAAA,GAAgB;AAAA,QACpB,GAAG,QAAA;AAAA,QACH,EAAA,EAAI,QAAA,CAAS,EAAA,GAAK,IAAA,CAAK,mBAAA;AAAA,UACrB,SAAS,IAAA,IAAQ,EAAA;AAAA,UACjB,QAAA,CAAS;AAAA,SACX,GAAI,MAAA;AAAA,QACJ,MAAA,EAAQ,QAAA,CAAS,MAAA,IAAU,EAAC;AAAA,QAC5B,WAAA,EAAa;AAAA,OACf;AACA,MAAA,MAAM,IAAA,GAAO,IAAA,CAAK,aAAA,CAAc,aAAa,CAAA;AAC7C,MAAA,IAAI,IAAA,EAAM,OAAA,IAAW,IAAA,CAAK,KAAA,CAAM,WAAW,SAAA,EAAW;AACpD,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,MAAM,OAAA,GAAU,MAAM,OAAA,KAAY,MAAA,GAAS,CAAC,IAAA,CAAK,KAAA,CAAM,YAAY,IAAA,CAAK,OAAA;AACxE,MAAA,MAAM,YAAA,GAAe,UAAU,IAAA,CAAK,cAAA,GAAiB,KAAK,KAAA,CAAM,gBAAA,IAAoB,KAAK,KAAA,CAAM,QAAA;AAC/F,MAAA,MAAM,KAAA,GAAQ,eAAA;AAAA,QACZ,IAAA,CAAK,QAAA;AAAA,QACL,MAAM,aAAA,IAAiB,KAAA;AAAA,QACvB,MAAM,KAAA,IAAS,KAAA;AAAA,QACf,YAAA,CAAa,QAAA;AAAA,QACb,IAAA,CAAK;AAAA,OACP;AACA,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,IAAI,SAAS,MAAA,EAAQ;AACnB,QAAA,IAAI,CAAC,SAAA,CAAU,KAAA,CAAM,SAAA,EAAW,QAAA,CAAS,QAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA,EAAG;AACnE,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,IAAI,IAAA,EAAM,iBAAiB,IAAA,EAAM;AAC/B,QAAA,OAAO,SAAA,CAAU,YAAA,CAAa,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,EAAE,OAAA,EAAS,IAAA,EAAM,CAAA,GAAI,KAAA,CAAM,SAAA,GAAY,KAAA;AAAA,MAC5F;AACA,MAAA,OAAO,KAAA,CAAM,SAAA;AAAA,IACf,CAAA;AACA,IAAA,IAAA,CAAK,mBAAmB,MAAM;AAC5B,MAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,OAAA,CAAQ,IAAA;AAAA,QAChC,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,cAAc,CAAA,CAAE;AAAA,OACtC;AAAA,IACF,CAAA;AACA,IAAA,IAAA,CAAK,MAAA,CAAO;AAAA,MACV,mBAAA,EAAqB,EAAA;AAAA,MACrB,gBAAA,EAAkB,GAAA;AAAA,MAClB,mBAAA,EAAqB,GAAA;AAAA,MACrB,OAAA,EAAS,MAAA;AAAA,MACT,GAAG,OAAA;AAAA,MACH,aAAA,EAAe,QAAQ,aAAA,IAAiB,KAAA;AAAA,MACxC,YAAA,EAAc,QAAQ,YAAA,IAAgB,OAAA;AAAA,MACtC,eAAA,EAAiB,QAAQ,eAAA,IAAmB,sBAAA;AAAA,MAC5C,WAAA,EAAa,QAAQ,WAAA,IAAe;AAAA,KACrC,CAAA;AACD,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACnC,MAAA,IAAA,CAAK,cAAA,GAAiB,IAAA;AAAA,IACxB;AAAA,EACF;AAAA,EACA,OAAA,GAAU;AACR,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,OAAA,CAAQ,OAAA;AAAA,EACxB;AAAA,EACA,cAAA,GAAiB;AACf,IAAA,OAAO,CAAC,CAAC,IAAA,CAAK,OAAA,CAAQ,cAAA;AAAA,EACxB;AAAA,EACA,IAAI,KAAA,GAAQ;AACV,IAAA,OAAO,KAAK,OAAA,CAAQ,KAAA;AAAA,EACtB;AAAA,EACA,SAAA,CAAU;AAAA,IACR,UAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF,EAAG;AACD,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAClB,IAAA,IAAA,CAAK,YAAA,GAAe,YAAA;AACpB,IAAA,IAAA,CAAK,aAAA,GAAgB,aAAA;AACrB,IAAA,MAAM,aAAA,GAAgB,KAAK,OAAA,CAAQ,aAAA;AACnC,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,aAAA,CAAc,IAAA,CAAK;AAAA,QACjB,aAAA,EAAe;AAAA,OAChB,CAAA;AACD,MAAA,IAAA,CAAK,UAAA,CAAW,aAAA,CAAc,EAAE,CAAA,GAAI,aAAA;AAAA,IACtC;AAAA,EACF;AAAA,EACA,IAAI,eAAA,GAAkB;AACpB,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA,EACA,iBAAiB,WAAA,EAAa;AAC5B,IAAA,MAAM,gBAAgB,WAAA,EAAa,EAAA;AACnC,IAAA,MAAM,aAAA,GAAgB,CAAC,aAAA,GAAgB,IAAA,CAAK,OAAA,CAAQ,OAAA,IAAW,MAAA,GAAS,WAAA,CAAY,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,OAAA,IAAW,MAAA;AACvH,IAAA,OAAO,aAAA;AAAA,EACT;AAAA,EACA,mBAAA,CAAoB,MAAM,IAAA,EAAM;AAC9B,IAAA,MAAM,mBAAA,GAAsB,IAAA,CAAK,gBAAA,CAAiB,IAAA,CAAK,QAAQ,CAAA;AAC/D,IAAA,MAAM,EAAE,UAAA,EAAY,WAAA,EAAa,YAAA,EAAa,GAAI,mBAAA;AAClD,IAAA,IAAI,EAAE,eAAc,GAAI,mBAAA;AACxB,IAAA,IAAI,gBAAA,GAAmB,KAAA;AACvB,IAAA;AAAA;AAAA,MAEE,UAAA,GAAa,UAAA,CAAW,IAAA,KAAS,GAAA,IAAO,YAAY,IAAI,CAAA;AAAA;AAAA,QAEtD,aAAA,CAAc,KAAK,QAAQ;AAAA;AAAA,MAE7B;AACA,MAAA,IAAI,IAAA,CAAK,QAAQ,aAAA,EAAe;AAC9B,QAAA,aAAA,GAAgB,CAAC,GAAG,aAAA,EAAe,IAAA,CAAK,QAAQ,aAAa,CAAA;AAAA,MAC/D,CAAA,MAAO;AACL,QAAA,gBAAA,GAAmB,IAAA;AAAA,MACrB;AAAA,IACF;AACA,IAAA,MAAM,wBAAwB,gBAAA,GAAmB,yBAAA,CAA0B,KAAK,OAAA,CAAQ,YAAA,EAAc,aAAa,CAAA,GAAI,MAAA;AACvH,IAAA,MAAM,OAAA,GAAU,IAAI,KAAA,CAAM,aAAA,CAAc,MAAM,CAAA;AAC9C,IAAA,MAAM,2BAA2B,IAAI,GAAA;AAAA,MACnC,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,GAAA,CAAI,CAAC,UAAU,CAAC,KAAA,CAAM,OAAA,EAAS,KAAK,CAAC;AAAA,KAC1D;AACA,IAAA,KAAA,IAAS,KAAA,GAAQ,CAAA,EAAG,KAAA,GAAQ,aAAA,CAAc,QAAQ,KAAA,EAAA,EAAS;AACzD,MAAA,MAAM,KAAA,GAAQ,cAAc,KAAK,CAAA;AACjC,MAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA;AACrC,MAAA,IAAI,cAAA;AACJ,MAAA,IAAI,iBAAA;AACJ,MAAA,IAAI,WAAA;AACJ,MAAA;AACE,QAAA,MAAM,YAAA,GAAe,WAAA,EAAa,MAAA,IAAU,IAAA,CAAK,MAAA;AACjD,QAAA,MAAM,kBAAA,GAAqB,aAAa,aAAA,IAAiB,MAAA;AACzD,QAAA,IAAI;AACF,UAAA,MAAM,YAAA,GAAe,eAAe,KAAA,CAAM,OAAA,CAAQ,gBAAgB,EAAE,GAAG,YAAA,EAAc,CAAA,IAAK,KAAA,CAAA;AAC1F,UAAA,cAAA,GAAiB;AAAA,YACf,GAAG,YAAA;AAAA,YACH,GAAG;AAAA,WACL;AACA,UAAA,iBAAA,GAAoB,EAAE,GAAG,kBAAA,EAAoB,GAAG,YAAA,EAAa;AAC7D,UAAA,WAAA,GAAc,KAAA,CAAA;AAAA,QAChB,SAAS,GAAA,EAAK;AACZ,UAAA,IAAI,gBAAA,GAAmB,GAAA;AACvB,UAAA,IAAI,EAAE,eAAe,gBAAA,CAAA,EAAmB;AACtC,YAAA,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,GAAA,CAAI,OAAA,EAAS;AAAA,cACnD,KAAA,EAAO;AAAA,aACR,CAAA;AAAA,UACH;AACA,UAAA,IAAI,MAAM,YAAA,EAAc;AACtB,YAAA,MAAM,gBAAA;AAAA,UACR;AACA,UAAA,cAAA,GAAiB,YAAA;AACjB,UAAA,iBAAA,GAAoB,EAAC;AACrB,UAAA,WAAA,GAAc,gBAAA;AAAA,QAChB;AAAA,MACF;AACA,MAAA,MAAM,UAAA,GAAa,KAAA,CAAM,OAAA,CAAQ,UAAA,GAAa;AAAA,QAC5C,MAAA,EAAQ;AAAA,OACT,CAAA,IAAK,EAAA;AACN,MAAA,MAAM,cAAA,GAAiB,UAAA,GAAa,IAAA,CAAK,SAAA,CAAU,UAAU,CAAA,GAAI,EAAA;AACjE,MAAA,MAAM,EAAE,gBAAA,EAAkB,UAAA,EAAW,GAAI,eAAA,CAAgB;AAAA,QACvD,MAAM,KAAA,CAAM,QAAA;AAAA,QACZ,MAAA,EAAQ,WAAA;AAAA,QACR,SAAS,IAAA,CAAK,iBAAA;AAAA,QACd,QAAQ,IAAA,CAAK;AAAA,OACd,CAAA;AACD,MAAA,MAAM,OAAA;AAAA;AAAA,QAEJ,KAAA,CAAM,EAAA;AAAA,QACN,gBAAA;AAAA,QACA;AAAA,OAAA;AAEF,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,OAAO,CAAA;AAC3C,MAAA,MAAM,aAAA,GAAgB,wBAAA,CAAyB,GAAA,CAAI,KAAA,CAAM,EAAE,CAAA;AAC3D,MAAA,MAAM,YAAA,GAAe,eAAe,aAAA,IAAiB,UAAA;AACrD,MAAA,IAAI,WAAA,GAAc,MAAA;AAClB,MAAA,IAAI,CAAC,aAAA,EAAe;AAClB,QAAA,IAAI;AACF,UAAA,mBAAA,CAAoB,KAAA,EAAO,UAAA,EAAY,YAAA,EAAc,YAAY,CAAA;AAAA,QACnE,SAAS,GAAA,EAAK;AACZ,UAAA,IAAI,UAAA,CAAW,GAAG,CAAA,IAAK,UAAA,CAAW,GAAG,CAAA,EAAG;AACtC,YAAA,WAAA,GAAc,GAAA;AAAA,UAChB,CAAA,MAAO;AACL,YAAA,WAAA,GAAc,IAAI,cAAA,CAAe,GAAA,CAAI,OAAA,EAAS;AAAA,cAC5C,KAAA,EAAO;AAAA,aACR,CAAA;AAAA,UACH;AACA,UAAA,IAAI,MAAM,YAAA,EAAc;AACtB,YAAA,MAAM,WAAA;AAAA,UACR;AAAA,QACF;AAAA,MACF;AACA,MAAA,MAAA,CAAO,MAAA,CAAO,aAAa,YAAY,CAAA;AACvC,MAAA,MAAM,KAAA,GAAQ,gBAAgB,MAAA,GAAS,OAAA;AACvC,MAAA,IAAI,KAAA;AACJ,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,KAAA,GAAQ;AAAA,UACN,GAAG,aAAA;AAAA,UACH,KAAA;AAAA,UACA,MAAA,EAAQ,eAAe,MAAA,IAAU,WAAA;AAAA,UACjC,aAAA,EAAe,YAAA;AAAA,UACf,MAAA,EAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA,GAAI,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA;AAAA,UACtI,aAAA,EAAe;AAAA,SACjB;AAAA,MACF,CAAA,MAAO;AACL,QAAA,MAAM,MAAA,GAAS,KAAA,CAAM,OAAA,CAAQ,MAAA,IAAU,KAAA,CAAM,OAAA,CAAQ,UAAA,IAAc,KAAA,CAAM,MAAA,IAAU,iBAAA,CAAkB,KAAK,CAAA,GAAI,SAAA,GAAY,SAAA;AAC1H,QAAA,KAAA,GAAQ;AAAA,UACN,EAAA,EAAI,OAAA;AAAA,UACJ,KAA0C,MAAM,OAAA,CAAQ,GAAA;AAAA,UACxD,KAAA;AAAA,UACA,SAAS,KAAA,CAAM,EAAA;AAAA,UACf,MAAA,EAAQ,eAAe,MAAA,IAAU,WAAA;AAAA,UACjC,aAAA,EAAe,YAAA;AAAA,UACf,QAAA,EAAU,gBAAA;AAAA,UACV,SAAA,EAAW,KAAK,GAAA,EAAI;AAAA,UACpB,QAAQ,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,cAAc,CAAA,GAAI,cAAA;AAAA,UACjF,aAAA,EAAe,iBAAA;AAAA,UACf,WAAA,EAAa,MAAA;AAAA,UACb,MAAA;AAAA,UACA,UAAA,EAAY,KAAA;AAAA,UACZ,KAAA,EAAO,MAAA;AAAA,UACP,WAAA;AAAA,UACA,cAAA,EAAgB,MAAA;AAAA,UAChB,YAAA,EAAc;AAAA,YACZ,aAAa,uBAAA;AAAwB,WACvC;AAAA,UACA,mBAAA,EAAqB,MAAA;AAAA,UACrB,SAAS,EAAC;AAAA,UACV,eAAA,EAAiB,IAAI,eAAA,EAAgB;AAAA,UACrC,UAAA,EAAY,CAAA;AAAA,UACZ,KAAA;AAAA,UACA,YAAY,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,UAAA,EAAY,UAAU,CAAA,GAAI,UAAA;AAAA,UACrF,OAAA,EAAS,KAAA;AAAA,UACT,OAAA,EAAS,KAAA;AAAA,UACT,KAAA,EAAO,MAAA;AAAA,UACP,OAAA,EAAS,MAAA;AAAA,UACT,WAAA,EAAa,MAAA;AAAA,UACb,IAAA,EAAM,MAAA;AAAA,UACN,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,UAAA,IAAc,EAAC;AAAA,UACzC,UAAU,KAAA,CAAM;AAAA,SAClB;AAAA,MACF;AACA,MAAA,IAAI,CAAC,MAAM,OAAA,EAAS;AAClB,QAAA,KAAA,CAAM,cAAA,GAAiB,0BAA0B,KAAA,CAAM,EAAA;AAAA,MACzD;AACA,MAAA,KAAA,CAAM,WAAA,GAAc,WAAA;AACpB,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,gBAAA,CAAiB,WAAW,CAAA;AACvD,MAAA,KAAA,CAAM,OAAA,GAAU;AAAA,QACd,GAAG,aAAA;AAAA,QACH,GAAG,KAAA,CAAM,cAAA;AAAA,QACT,GAAG,KAAA,CAAM;AAAA,OACX;AACA,MAAA,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA;AAAA,IACnB;AACA,IAAA,KAAA,IAAS,KAAA,GAAQ,CAAA,EAAG,KAAA,GAAQ,OAAA,CAAQ,QAAQ,KAAA,EAAA,EAAS;AACnD,MAAA,MAAM,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAC3B,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,eAAA,CAAgB,KAAA,CAAM,OAAO,CAAA;AAChD,MAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,QAAA,CAAS,KAAA,CAAM,EAAE,CAAA;AAC5C,MAAA,MAAM,aAAA,GAAgB,wBAAA,CAAyB,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA;AAChE,MAAA,KAAA,CAAM,SAAS,aAAA,GAAgB,gBAAA,CAAiB,aAAA,CAAc,MAAA,EAAQ,WAAW,CAAA,GAAI,WAAA;AACrF,MAAA,IAAI,CAAC,aAAA,EAAe;AAClB,QAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,KAAA,GAAQ,CAAC,CAAA;AACrC,QAAA,MAAM,aAAA,GAAgB,IAAA,CAAK,gBAAA,CAAiB,WAAW,CAAA;AACvD,QAAA,IAAI,KAAA,CAAM,QAAQ,OAAA,EAAS;AACzB,UAAA,MAAM,gBAAA,GAAmB;AAAA,YACvB,MAAM,KAAA,CAAM,UAAA;AAAA,YACZ,QAAQ,KAAA,CAAM,MAAA;AAAA,YACd,OAAA,EAAS,iBAAiB,EAAC;AAAA,YAC3B,QAAA,EAAU,IAAA;AAAA,YACV,QAAA,EAAU,CAAC,KAAA,KAAU,IAAA,CAAK,QAAA,CAAS,EAAE,GAAG,KAAA,EAAO,aAAA,EAAe,IAAA,EAAM,CAAA;AAAA,YACpE,eAAe,IAAA,CAAK,aAAA;AAAA,YACpB,OAAO,KAAA,CAAM,KAAA;AAAA,YACb,iBAAiB,KAAA,CAAM,eAAA;AAAA,YACvB,OAAA,EAAS,CAAC,CAAC,KAAA,CAAM,OAAA;AAAA,YACjB,OAAA;AAAA,YACA,SAAS,KAAA,CAAM;AAAA,WACjB;AACA,UAAA,KAAA,CAAM,cAAA,GAAiB,KAAA,CAAM,OAAA,CAAQ,OAAA,CAAQ,gBAAgB,CAAA,IAAK,MAAA;AAAA,QACpE;AACA,QAAA,KAAA,CAAM,OAAA,GAAU;AAAA,UACd,GAAG,aAAA;AAAA,UACH,GAAG,KAAA,CAAM,cAAA;AAAA,UACT,GAAG,KAAA,CAAM;AAAA,SACX;AAAA,MACF;AAAA,IACF;AACA,IAAA,OAAO,OAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,uBAAuB,QAAA,EAAU;AAC/B,IAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAa,YAAA,KAAiB,IAAA,CAAK,gBAAA;AAAA,MACxD,QAAA,CAAS;AAAA,KACX;AACA,IAAA,MAAM,SAAA,GAAY,KAAK,aAAa,CAAA;AACpC,IAAA,MAAM,iBAAA,GAAoB,EAAE,GAAG,QAAA,CAAS,MAAA,EAAO;AAC/C,IAAA,KAAA,MAAW,SAAS,aAAA,EAAe;AACjC,MAAA,IAAI;AACF,QAAA,MAAA,CAAO,MAAA;AAAA,UACL,iBAAA;AAAA,UACA,cAAA,CAAe,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB,iBAAiB;AAAA,SAChE;AAAA,MACF,CAAA,CAAA,MAAQ;AAAA,MACR;AAAA,IACF;AACA,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AAC9C,IAAA,MAAM,cAAA,GAAiB,cAAA,IAAkB,cAAA,CAAe,OAAA,KAAY,SAAA,CAAU,MAAM,QAAA,CAAS,QAAA,KAAa,IAAA,CAAK,KAAA,CAAM,QAAA,CAAS,QAAA;AAC9H,IAAA,IAAI,MAAA;AACJ,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,MAAA,GAAS,cAAA,CAAe,MAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,EAAE,GAAG,WAAA,EAAY;AACtC,MAAA,KAAA,MAAW,SAAS,aAAA,EAAe;AACjC,QAAA,IAAI;AACF,UAAA,mBAAA;AAAA,YACE,KAAA;AAAA,YACA,WAAA;AAAA,YACA,gBAAgB,EAAC;AAAA,YACjB;AAAA,WACF;AAAA,QACF,CAAA,CAAA,MAAQ;AAAA,QACR;AAAA,MACF;AACA,MAAA,MAAA,GAAS,YAAA;AAAA,IACX;AACA,IAAA,OAAO;AAAA,MACL,aAAA;AAAA,MACA,UAAU,SAAA,CAAU,QAAA;AAAA,MACpB,MAAA,EAAQ,iBAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AACF;AACA,MAAM,yBAAyB,KAAA,CAAM;AACrC;AACA,MAAM,uBAAuB,KAAA,CAAM;AACnC;AAKA,SAAS,MAAA,CAAO,IAAI,GAAA,EAAK;AACvB,EAAA,OAAO,UAAU,IAAA,KAAS;AACxB,IAAA,MAAM,QAAA,GAAW,MAAM,EAAA,EAAG;AAC1B,IAAA,OAAO,QAAA,CAAS,GAAA,IAAO,SAAS,CAAA,CAAE,GAAG,IAAI,CAAA;AAAA,EAC3C,CAAA;AACF;AACA,SAAS,sBAAsB,QAAA,EAAU;AACvC,EAAA,OAAO;AAAA,IACL,QAAA,EAAU,CAAA;AAAA,IACV,SAAA,EAAW,KAAA;AAAA,IACX,eAAA,EAAiB,KAAA;AAAA,IACjB,MAAA,EAAQ,MAAA;AAAA,IACR,gBAAA,EAAkB,MAAA;AAAA,IAClB,QAAA;AAAA,IACA,SAAS,EAAC;AAAA,IACV,gBAAgB,EAAC;AAAA,IACjB,eAAe,EAAC;AAAA,IAChB,UAAA,EAAY;AAAA,GACd;AACF;AACA,SAAS,cAAA,CAAe,iBAAiB,KAAA,EAAO;AAC9C,EAAA,IAAI,eAAA,IAAmB,IAAA,EAAM,OAAO,EAAC;AACrC,EAAA,IAAI,eAAe,eAAA,EAAiB;AAClC,IAAA,MAAM,MAAA,GAAS,eAAA,CAAgB,WAAW,CAAA,CAAE,SAAS,KAAK,CAAA;AAC1D,IAAA,IAAI,MAAA,YAAkB,OAAA;AACpB,MAAA,MAAM,IAAI,iBAAiB,gCAAgC,CAAA;AAC7D,IAAA,IAAI,MAAA,CAAO,MAAA;AACT,MAAA,MAAM,IAAI,iBAAiB,IAAA,CAAK,SAAA,CAAU,OAAO,MAAA,EAAQ,MAAA,EAAQ,CAAC,CAAA,EAAG;AAAA,QACnE,KAAA,EAAO;AAAA,OACR,CAAA;AACH,IAAA,OAAO,MAAA,CAAO,KAAA;AAAA,EAChB;AACA,EAAA,IAAI,WAAW,eAAA,EAAiB;AAC9B,IAAA,OAAO,eAAA,CAAgB,MAAM,KAAK,CAAA;AAAA,EACpC;AACA,EAAA,IAAI,OAAO,oBAAoB,UAAA,EAAY;AACzC,IAAA,OAAO,gBAAgB,KAAK,CAAA;AAAA,EAC9B;AACA,EAAA,OAAO,EAAC;AACV;AACA,SAAS,gBAAA,CAAiB;AAAA,EACxB,QAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,cAAc,EAAC;AACrB,EAAA,MAAM,WAAA,GAAc,cAAc,QAAQ,CAAA;AAC1C,EAAA,IAAI,UAAA,GAAa,MAAA;AACjB,EAAA,IAAI,YAAA,GAAe,MAAA;AACnB,EAAA,MAAM,KAAA,GAAQ,cAAA,CAAe,WAAA,EAAa,aAAA,EAAe,IAAI,CAAA;AAC7D,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,UAAA,GAAa,KAAA,CAAM,KAAA;AACnB,IAAA,MAAA,CAAO,MAAA,CAAO,WAAA,EAAa,KAAA,CAAM,SAAS,CAAA;AAC1C,IAAA,YAAA,GAAe,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,MAAM,YAAY,CAAA;AAAA,EACrD;AACA,EAAA,MAAM,gBAAgB,KAAA,EAAO,MAAA,IAAU,CAAC,UAAA,CAAW,WAAW,CAAC,CAAA;AAC/D,EAAA,OAAO,EAAE,aAAA,EAAe,WAAA,EAAa,UAAA,EAAY,YAAA,EAAa;AAChE;AACA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,MAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAG;AACD,EAAA,MAAM,UAAA,GAAa,qBAAqB,UAAU,CAAA;AAClD,EAAA,OAAO,UAAA,CAAW,MAAA,EAAQ,IAAA,EAAM,sBAAA,IAA0B,KAAK,CAAA;AACjE;AACA,SAAS,qBAAqB,UAAA,EAAY;AACxC,EAAA,MAAM,OAAA,GAAU;AAAA,IACd,IAAA,EAAM,IAAA;AAAA,IACN,sBAAA,EAAwB,KAAA;AAAA,IACxB,aAAa;AAAC,GAChB;AACA,EAAA,KAAA,MAAW,SAAS,UAAA,EAAY;AAC9B,IAAA,IAAI,QAAA,IAAY,MAAM,OAAA,EAAS;AAC7B,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ,WAAA,EAAa;AACrC,QAAA,OAAA,CAAQ,YAAY,IAAA,CAAK,GAAG,KAAA,CAAM,OAAA,CAAQ,OAAO,WAAW,CAAA;AAAA,MAC9D;AAAA,IACF,WAAW,KAAA,CAAM,OAAA,CAAQ,gBAAA,IAAoB,KAAA,CAAM,QAAQ,iBAAA,EAAmB;AAC5E,MAAA,MAAM,gBAAA,GAAmB,CAAC,EAAE,MAAA,EAAQ,MAAK,KAAM;AAC7C,QAAA,IAAI,UAAA,GAAa,MAAA;AACjB,QAAA,IAAI,kBAAA,IAAsB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAQ,gBAAA,EAAkB;AACzE,UAAA,UAAA,GAAa,KAAA,CAAM,QAAQ,gBAAA,CAAiB,MAAA;AAAA,YAC1C,CAAC,IAAA,EAAM,KAAA,KAAU,KAAA,CAAM,IAAI,CAAA;AAAA,YAC3B;AAAA,WACF;AAAA,QACF;AACA,QAAA,MAAM,MAAA,GAAS,KAAK,UAAU,CAAA;AAC9B,QAAA,IAAI,mBAAA,IAAuB,KAAA,CAAM,OAAA,IAAW,KAAA,CAAM,QAAQ,iBAAA,EAAmB;AAC3E,UAAA,OAAO,KAAA,CAAM,QAAQ,iBAAA,CAAkB,MAAA;AAAA,YACrC,CAAC,IAAA,EAAM,KAAA,KAAU,KAAA,CAAM,IAAI,CAAA;AAAA,YAC3B;AAAA,WACF;AAAA,QACF;AACA,QAAA,OAAO,MAAA;AAAA,MACT,CAAA;AACA,MAAA,OAAA,CAAQ,WAAA,CAAY,KAAK,gBAAgB,CAAA;AAAA,IAC3C;AACA,IAAA,IAAI,KAAA,CAAM,QAAQ,cAAA,EAAgB;AAChC,MAAA,MAAM,QAAA,GAAW,CAAC,EAAE,MAAA,EAAQ,MAAK,KAAM;AACrC,QAAA,MAAM,MAAA,GAAS,KAAK,MAAM,CAAA;AAC1B,QAAA,IAAI,CAAC,OAAA,CAAQ,sBAAA,EAAwB,OAAO,MAAA;AAC5C,QAAA,IAAI;AACF,UAAA,MAAM,eAAA,GAAkB;AAAA,YACtB,GAAG,MAAA;AAAA,YACH,GAAG,cAAA,CAAe,KAAA,CAAM,OAAA,CAAQ,cAAA,EAAgB,MAAM,CAAA,IAAK,KAAA;AAAA,WAC7D;AACA,UAAA,OAAO,eAAA;AAAA,QACT,CAAA,CAAA,MAAQ;AACN,UAAA,OAAO,MAAA;AAAA,QACT;AAAA,MACF,CAAA;AACA,MAAA,OAAA,CAAQ,WAAA,CAAY,KAAK,QAAQ,CAAA;AAAA,IACnC;AAAA,EACF;AACA,EAAA,MAAM,KAAA,GAAQ,CAAC,EAAE,MAAA,EAAO,KAAM;AAC5B,IAAA,MAAM,OAAO,OAAA,CAAQ,IAAA;AACrB,IAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AAChB,MAAA,OAAO,EAAC;AAAA,IACV;AACA,IAAA,IAAI,IAAA,CAAK,WAAW,IAAA,EAAM;AACxB,MAAA,OAAO,MAAA;AAAA,IACT;AACA,IAAA,OAAO,gBAAA,CAAiB,IAAA,CAAK,MAAA,EAAQ,MAAM,CAAA;AAAA,EAC7C,CAAA;AACA,EAAA,OAAA,CAAQ,WAAA,CAAY,KAAK,KAAK,CAAA;AAC9B,EAAA,MAAM,SAAA,GAAY,CAAC,KAAA,EAAO,aAAA,EAAe,WAAA,KAAgB;AACvD,IAAA,IAAI,KAAA,IAAS,YAAY,MAAA,EAAQ;AAC/B,MAAA,OAAO,aAAA;AAAA,IACT;AACA,IAAA,MAAM,UAAA,GAAa,YAAY,KAAK,CAAA;AACpC,IAAA,MAAM,IAAA,GAAO,CAAC,SAAA,KAAc;AAC1B,MAAA,OAAO,SAAA,CAAU,KAAA,GAAQ,CAAA,EAAG,SAAA,EAAW,WAAW,CAAA;AAAA,IACpD,CAAA;AACA,IAAA,OAAO,UAAA,CAAW,EAAE,MAAA,EAAQ,aAAA,EAAe,MAAM,CAAA;AAAA,EACnD,CAAA;AACA,EAAA,OAAO,SAAS,UAAA,CAAW,MAAA,EAAQ,IAAA,EAAM,sBAAA,EAAwB;AAC/D,IAAA,OAAA,CAAQ,IAAA,GAAO,IAAA;AACf,IAAA,OAAA,CAAQ,sBAAA,GAAyB,sBAAA;AACjC,IAAA,OAAO,SAAA,CAAU,CAAA,EAAG,MAAA,EAAQ,OAAA,CAAQ,WAAW,CAAA;AAAA,EACjD,CAAA;AACF;AACA,SAAS,yBAAA,CAA0B,cAAc,MAAA,EAAQ;AACvD,EAAA,IAAI,iBAAiB,MAAA,EAAQ;AAC3B,IAAA,KAAA,IAAS,IAAI,MAAA,CAAO,MAAA,GAAS,CAAA,EAAG,CAAA,IAAK,GAAG,CAAA,EAAA,EAAK;AAC3C,MAAA,MAAM,KAAA,GAAQ,OAAO,CAAC,CAAA;AACtB,MAAA,IAAI,MAAM,QAAA,EAAU;AAClB,QAAA,OAAO,KAAA,CAAM,EAAA;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,WAAA;AACT;AACA,SAAS,mBAAA,CAAoB,KAAA,EAAO,eAAA,EAAiB,YAAA,EAAc,iBAAA,EAAmB;AACpF,EAAA,MAAM,cAAc,KAAA,CAAM,OAAA,CAAQ,MAAA,EAAQ,KAAA,IAAS,MAAM,OAAA,CAAQ,WAAA;AACjE,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,IAAI,KAAA,CAAM,QAAQ,qBAAA,EAAuB;AACvC,MAAA,KAAA,MAAW,OAAO,eAAA,EAAiB;AACjC,QAAA,IAAI,OAAO,YAAA,EAAc;AACvB,UAAA,iBAAA,CAAkB,GAAG,CAAA,GAAI,YAAA,CAAa,GAAG,CAAA;AAAA,QAC3C;AAAA,MACF;AAAA,IACF,CAAA,MAAO;AACL,MAAA,MAAM,MAAA,GAAS,YAAY,iBAAiB,CAAA;AAC5C,MAAA,MAAA,CAAO,MAAA,CAAO,mBAAmB,MAAM,CAAA;AAAA,IACzC;AAAA,EACF;AACF;;AC9+CK,MAAC,oBAAoB,mBAAmB,MAAM,CAAC,GAAG,CAAC,sBAAsB;AAC9E,SAAS,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE;AAClC,EAAE,MAAM,OAAO,GAAG,QAAQ;AAC1B,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,EAAE;AACrC,IAAI,OAAO,OAAO;AAClB,EAAE;AACF,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE;AACvD,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACzB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,SAAS;AACpD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI,GAAG,IAAI;AAC7C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AACtB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,OAAO;AAClD,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,GAAG;AAC1C,MAAM,IAAI,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,KAAK,CAAC;AACrE,MAAM,eAAe,EAAE;AACvB,KAAK;AACL,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,OAAO;AAChB;;ACnBA,MAAM,cAAc,GAAG,4BAA4B;;ACA9C,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACjC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,CAAC,GAAG,CAAC;AACX,EAAE,IAAI,KAAK,GAAG,KAAK;AACnB,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;AACvD,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB,EAAE;AACF,EAAE,OAAO,KAAK,IAAI,IAAI;AACtB;;ACJA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK;AAC1B,MAAM,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;AAC7C,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO;AACnC,MAAM,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACrD,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI;AACxD,MAAM,IAAI,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,GAAG,WAAW;AAChC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACpC,QAAQ,SAAS;AACjB,UAAU,KAEF,CAAC;AACT,MAAM;AACN,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,EAAE,IAAI;AACtD,MAAM,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE;AAChC,QAAQ,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;AACjC,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,QAAQ,EAAE,EAAE,IAAI,IAAI;AAC3C,MAAM,IAAI,EAAE,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE;AACtE,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,IAAI,KAAK,WAAW,EAAE;AAChC,QAAQ,IAAI,GAAG,GAAG;AAClB,MAAM;AACN,MAAM,IAAI,EAAE,KAAK,WAAW,EAAE;AAC9B,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,MAAM;AACN,MAAM,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9F,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI;AACvB,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE;AACnB,MAAM,IAAI,CAAC,SAAS,GAAG,QAAQ;AAC/B,MAAM,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC;AACxC,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,KAAK;AACrC,MAAM,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;AAC5C,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AAC1C,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,MAAM;AACN,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC7D,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,MAAM;AAC/B,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,KAAK;AACtC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,KAAK;AAChC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3C,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK;AAC5B,MAAM,IAAI,CAAC,MAAM,GAAG,MAAM;AAC1B,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;AACxE,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE;AAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,cAAc;AAC1C,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,OAAO,EAAE,IAAI,EAAE;AACtC,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC5E,IAAI;AACJ,EAAE;AACF,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB,EAAE;AACF,EAAE,IAAI,EAAE,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,GAAG;AACnB,EAAE;AACF,EAAE,IAAI,IAAI,GAAG;AACb,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB,EAAE;AACF,EAAE,IAAI,QAAQ,GAAG;AACjB,IAAI,OAAO,IAAI,CAAC,SAAS;AACzB,EAAE;AACF;AACA,MAAM,YAAY,CAAC;AACnB,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AAClE,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE;AAChB,EAAE;AACF;AACA,MAAM,aAAa,SAAS,SAAS,CAAC;AACtC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,EAAE;AACF;;ACrGK,MAAC,kBAAkB,GAAG,CAAC,OAAO,KAAK;AACxC,EAAE,OAAO;AACT,IAAI,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;AACxD,IAAI,UAAU,EAAE,OAAO,CAAC;AACxB,GAAG;AACH;;ACJA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/B,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE;AACrC,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE;AAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1B,MAAM,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,EAAE;AAC1B,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AAC/B,MAAM;AACN,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,IAAI;AACf,EAAE,CAAC;AACH;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;AAC/B,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,OAAO,EAAE;AACf,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE;AACtC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC7B,QAAQ,OAAO,MAAM,CAAC,GAAG,CAAC;AAC1B,MAAM,CAAC,CAAC;AACR,IAAI,CAAC,MAAM;AACX,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO;AACnC,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AAC1B,UAAU,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE;AAC7C,YAAY,OAAO,MAAM,CAAC,GAAG,CAAC;AAC9B,UAAU;AACV,QAAQ;AACR,OAAO;AACP,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC;AACH;;ACrCA,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAE4B,IAAC,CAAC,CAAC,kBAAkB,CAA8G,IAAY,CAAC,CAAC,IAAI,IAAqO,OAAO,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,QAAQ,CAAC,KAAE,CAAC,UAAU,CAAC,KAAE,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,QAAQ,CAAC,KAAE,CAAC,UAAU,CAAC,KAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,QAAQ,CAAC,KAAE,CAAC,UAAU,CAAC,KAAE,CAAC,CAAC,CAAC,OAAO,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAE,CAAC,QAAQ,CAAC,KAAE,CAAC,UAAU,CAAC,KAAE,CAAC,CAAC,CAA2qG,IAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAI,EAAE,CAAC,QAAQ,EAAE,CAAI,EAAE,CAAC,QAAQ,EAAE,CAAI,EAAE,CAAC,QAAQ,EAAE,KAAkuC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAI,EAAE,CAAC,QAAQ,GAAu3L,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAk9L,IAAC,EAAE,CAAC,IAAI,CAAC,CAAI,EAAE,CAAC,QAAQ,EAAE;;ACArsjB,SAAS,0BAA0B,CAAC,IAAI,EAAE;AAC1C,EAAE,OAAO,IAAI;AACb;;ACJA,MAAAC,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAM,SAAS,GAAG,KAAK;AACvB,MAAM,QAAQ,GAAGA,OAAK,CAAC,SAAS,CAAC;AACjC,SAAS,iBAAiB,CAAC,EAAE,EAAE;AAC/B,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,EAAE,KAAK,CAAC,OAAO,GAAG,EAAE;AACpB,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/D,EAAE,OAAO,GAAG,CAAC,OAAO;AACpB;AACK,MAAC,eAAe,GAAG,OAAO,MAAM,KAAK,WAAW,GAAGA,OAAK,CAAC,eAAe,GAAGA,OAAK,CAAC;AACtF,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,MAAM,CAAC;AAC3B,IAAI,KAAK;AACT,IAAI,IAAI,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK;AACnC,EAAE,IAAI,KAAK,KAAK,OAAO,EAAE;AACzB,IAAI,GAAG,CAAC,OAAO,GAAG;AAClB,MAAM,KAAK;AACX,MAAM,IAAI,EAAE;AACZ,KAAK;AACL,EAAE;AACF,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI;AACzB;AACA,SAAS,uBAAuB,CAAC,GAAG,EAAE,QAAQ,EAAE,2BAA2B,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE;AAChG,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE;AACxF,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;AAC3D,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,IAAI,CAAC,EAAE,2BAA2B,CAAC;AACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;AACjC,IAAI,OAAO,MAAM;AACjB,MAAM,QAAQ,CAAC,UAAU,EAAE;AAC3B,IAAI,CAAC;AACL,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACpE;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AACrC,EAAEA,OAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAC5D,EAAE,OAAO,QAAQ;AACjB;;ACzCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;AAC3C,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACnC,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;AACjC,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE;AAC1D,IAAI,MAAM,OAAO;AACjB,EAAE;AACF,EAAE,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE;AACxD,IAAI,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK;AAC7C,EAAE;AACF,EAAE,OAAO,OAAO,CAAC,oBAAoB,CAAC,CAAC,IAAI;AAC3C;AACA,SAAS,KAAK,CAAC,KAAK,EAAE;AACtB,EAAE,MAAM,KAAK,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;AAC7D,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE;AACtB,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7F,EAAE;AACF,EAAE,OAAO,KAAK;AACd;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;AAChC,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B;;AC3BA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,cAAc,KAAA,EAAO;AAC5B,EAAA,MAAM,cAAA,GAAiB,MAAM,cAAA,IAAkB,cAAA;AAC/C,EAAA,uBAAuBC,qBAAA;AAAA,IACrB,iBAAA;AAAA,IACA;AAAA,MACE,aAAa,KAAA,CAAM,WAAA;AAAA,MACnB,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,QAAA,EAAU,CAAC,EAAE,KAAA,EAAO,OAAM,KAAM;AAC9B,QAAA,IAAI,KAAA,EAAO;AACT,UAAA,OAAOD,OAAA,CAAM,cAAc,cAAA,EAAgB;AAAA,YACzC,KAAA;AAAA,YACA;AAAA,WACD,CAAA;AAAA,QACH;AACA,QAAA,OAAO,KAAA,CAAM,QAAA;AAAA,MACf;AAAA;AACF,GACF;AACF;AACA,MAAM,iBAAA,SAA0BA,QAAM,SAAA,CAAU;AAAA,EAC9C,WAAA,GAAc;AACZ,IAAA,KAAA,CAAM,GAAG,SAAS,CAAA;AAClB,IAAA,IAAA,CAAK,KAAA,GAAQ,EAAE,KAAA,EAAO,IAAA,EAAK;AAAA,EAC7B;AAAA,EACA,OAAO,yBAAyB,KAAA,EAAO;AACrC,IAAA,OAAO,EAAE,QAAA,EAAU,KAAA,CAAM,WAAA,EAAY,EAAE;AAAA,EACzC;AAAA,EACA,OAAO,yBAAyB,KAAA,EAAO;AACrC,IAAA,OAAO,EAAE,KAAA,EAAM;AAAA,EACjB;AAAA,EACA,KAAA,GAAQ;AACN,IAAA,IAAA,CAAK,QAAA,CAAS,EAAE,KAAA,EAAO,IAAA,EAAM,CAAA;AAAA,EAC/B;AAAA,EACA,kBAAA,CAAmB,WAAW,SAAA,EAAW;AACvC,IAAA,IAAI,UAAU,KAAA,IAAS,SAAA,CAAU,QAAA,KAAa,IAAA,CAAK,MAAM,QAAA,EAAU;AACjE,MAAA,IAAA,CAAK,KAAA,EAAM;AAAA,IACb;AAAA,EACF;AAAA,EACA,iBAAA,CAAkB,OAAO,SAAA,EAAW;AAClC,IAAA,IAAI,IAAA,CAAK,MAAM,OAAA,EAAS;AACtB,MAAA,IAAA,CAAK,KAAA,CAAM,OAAA,CAAQ,KAAA,EAAO,SAAS,CAAA;AAAA,IACrC;AAAA,EACF;AAAA,EACA,MAAA,GAAS;AACP,IAAA,OAAO,IAAA,CAAK,MAAM,QAAA,CAAS;AAAA,MACzB,KAAA,EAAO,IAAA,CAAK,KAAA,CAAM,QAAA,KAAa,IAAA,CAAK,MAAM,WAAA,EAAY,GAAI,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,KAAA;AAAA,MAC5E,OAAO,MAAM;AACX,QAAA,IAAA,CAAK,KAAA,EAAM;AAAA,MACb;AAAA,KACD,CAAA;AAAA,EACH;AACF;AACA,SAAS,cAAA,CAAe,EAAE,KAAA,EAAM,EAAG;AACjC,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,OAAA,CAAM,SAAS,KAAqC,CAAA;AAC5E,EAAA,uBAAuBE,sBAAA,CAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,SAAS,OAAA,EAAS,QAAA,EAAU,MAAA,EAAO,EAAG,QAAA,EAAU;AAAA,oBAC5EA,sBAAA,CAAK,KAAA,EAAO,EAAE,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAU,GAAA,EAAK,OAAA,EAAQ,EAAG,QAAA,EAAU;AAAA,sBACtFD,qBAAA,CAAI,QAAA,EAAU,EAAE,KAAA,EAAO,EAAE,UAAU,MAAA,EAAO,EAAG,QAAA,EAAU,uBAAA,EAAyB,CAAA;AAAA,sBAChFA,qBAAA;AAAA,QACd,QAAA;AAAA,QACA;AAAA,UACE,KAAA,EAAO;AAAA,YACL,UAAA,EAAY,MAAA;AAAA,YACZ,QAAA,EAAU,MAAA;AAAA,YACV,MAAA,EAAQ,wBAAA;AAAA,YACR,OAAA,EAAS,aAAA;AAAA,YACT,UAAA,EAAY,MAAA;AAAA,YACZ,YAAA,EAAc;AAAA,WAChB;AAAA,UACA,SAAS,MAAM,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAC,CAAC,CAAA;AAAA,UAChC,QAAA,EAAU,OAAO,YAAA,GAAe;AAAA;AAClC;AACF,OACC,CAAA;AAAA,oBACaA,qBAAA,CAAI,OAAO,EAAE,KAAA,EAAO,EAAE,MAAA,EAAQ,QAAA,IAAY,CAAA;AAAA,IAC1D,IAAA,mBAAuBA,qBAAA,CAAI,KAAA,EAAO,EAAE,QAAA,kBAA0BA,qBAAA;AAAA,MAC5D,KAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO;AAAA,UACL,QAAA,EAAU,MAAA;AAAA,UACV,MAAA,EAAQ,eAAA;AAAA,UACR,YAAA,EAAc,QAAA;AAAA,UACd,OAAA,EAAS,OAAA;AAAA,UACT,KAAA,EAAO,KAAA;AAAA,UACP,QAAA,EAAU;AAAA,SACZ;AAAA,QACA,QAAA,EAAU,KAAA,CAAM,OAAA,mBAA0BA,qBAAA,CAAI,MAAA,EAAQ,EAAE,QAAA,EAAU,KAAA,CAAM,OAAA,EAAS,CAAA,GAAI;AAAA;AACvF,KACF,EAAG,CAAA,GAAI;AAAA,KACN,CAAA;AACL;;AC1FA,MAAAE,gBAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,EAAE;AACnD,EAAE,OAAO,WAAW,EAAE,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,mBAAmBF,qBAAG,CAACE,gBAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC1J;AACA,SAAS,WAAW,GAAG;AACvB,EAAE,OAAOA,gBAAc,CAAC,oBAAoB;AAC5C,IAAI,SAAS;AACb,IAAI,MAAM,IAAI;AACd,IAAI,MAAM;AACV,GAAG;AACH;AACA,SAAS,SAAS,GAAG;AACrB,EAAE,OAAO,MAAM;AACf,EAAE,CAAC;AACH;;ACdA,SAAS,OAAA,CAAQ,WAAW,OAAA,EAAS;AAgBrC;;;;;;;;;;;;;;;;;;;;;CCNA,IAAI,KAAK,GAAGP,YAAA,EAAgB;GAC1B,IAAI,GAAGQ,WAAA,EAAuC;AAChD,CAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;GAChB,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAA;AACA,CAAA,IAAI,QAAQ,GAAG,UAAU,KAAK,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE;AAC/D,GAAE,oBAAoB,GAAG,IAAI,CAAC,oBAAoB;AAClD,GAAE,MAAM,GAAG,KAAK,CAAC,MAAM;AACvB,GAAE,SAAS,GAAG,KAAK,CAAC,SAAS;AAC7B,GAAE,OAAO,GAAG,KAAK,CAAC,OAAO;AACzB,GAAE,aAAa,GAAG,KAAK,CAAC,aAAa;AACrC,CAAA,uBAAA,CAAA,gCAAwC,GAAG;AAC3C,GAAE,SAAS;AACX,GAAE,WAAW;AACb,GAAE,iBAAiB;AACnB,GAAE,QAAQ;GACR;GACA;AACF,GAAE,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAC5B,GAAE,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE;AAChC,KAAI,IAAI,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5C,KAAI,OAAO,CAAC,OAAO,GAAG,IAAI;AAC1B,GAAA,CAAG,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO;GAC7B,OAAO,GAAG,OAAO;AACnB,KAAI,YAAY;AAChB,OAAM,SAAS,gBAAgB,CAAC,YAAY,EAAE;SACtC,IAAI,CAAC,OAAO,EAAE;WACZ,OAAO,GAAG,IAAE;WACZ,gBAAgB,GAAG,YAAY;AACzC,WAAU,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;WACrC,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;AACnD,aAAY,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK;AAC7C,aAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC;eACzC,QAAQ,iBAAiB,GAAG,gBAAgB;AAC1D,WAAA;WACU,QAAQ,iBAAiB,GAAG,YAAY;AAClD,SAAA;SACQ,gBAAgB,GAAG,iBAAiB;SACpC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO,gBAAgB;AAC7E,SAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;SAC1C,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;AAC1E,WAAU,OAAO,CAAC,gBAAgB,GAAG,YAAY,GAAG,gBAAgB;SAC5D,gBAAgB,GAAG,YAAY;SAC/B,QAAQ,iBAAiB,GAAG,aAAa;AACjD,OAAA;AACA,OAAM,IAAI,OAAO,GAAG,KAAE;AACtB,SAAQ,gBAAgB;AACxB,SAAQ,iBAAiB;AACzB,SAAQ,sBAAsB;AAC9B,WAAU,MAAM,KAAK,iBAAiB,GAAG,IAAI,GAAG,iBAAiB;AACjE,OAAM,OAAO;AACb,SAAQ,YAAY;AACpB,WAAU,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;SAChD,CAAS;AACT,SAAQ,IAAI,KAAK;AACjB,aAAY;AACZ,aAAY,YAAY;AACxB,eAAc,OAAO,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;AAC/D,aAAA;QACO;KACP,CAAK;AACL,KAAI,CAAC,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,OAAO;IACnD;AACH,GAAE,IAAI,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACrE,GAAE,SAAS;AACX,KAAI,YAAY;AAChB,OAAM,IAAI,CAAC,QAAQ,GAAG,IAAE;AACxB,OAAM,IAAI,CAAC,KAAK,GAAG,KAAK;KACxB,CAAK;AACL,KAAI,CAAC,KAAK;IACP;GACD,aAAa,CAAC,KAAK,CAAC;AACtB,GAAE,OAAO,KAAK;CACd,CAAC;;;;;;;;;AClFD,CAA2C;GACzCC,YAAA,CAAA,OAAO,GAAUT,8BAAA,EAAyE;CAC5F;;;;;;ACFA,SAAS,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE;AAC5D,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO;AACxC,EAAE,MAAM,KAAK,GAAGU,oDAAgC;AAChD,IAAI,KAAK,CAAC,SAAS;AACnB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,IAAI,QAAQ;AACZ,IAAI;AACJ,GAAG;AACH,EAAE,OAAO,KAAK;AACd;AACA,SAAS,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE;AAC7B,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;AAC7B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC9F,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;AAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AAClE,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,GAAG,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK;AAC7C,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;AAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACpC,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE;AACpD,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,KAAK;AACvD,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;AAChC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;AAChD,IAAI,OAAO,KAAK;AAChB,EAAE;AACF,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAC7G,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,IAAI;AACb;AACA,SAAS,UAAU,CAAC,GAAG,EAAE;AACzB,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM;AAChC,IAAI,MAAM,CAAC,qBAAqB,CAAC,GAAG;AACpC,GAAG;AACH;;ACrDA,MAAAN,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAM,aAAa,GAAGA,OAAK,CAAC,aAAa,CAAC,IAAI,CAAC;AAC/C,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,OAAO,aAAa;AACxB,EAAE;AACF,EAAE,IAAI,MAAM,CAAC,sBAAsB,EAAE;AACrC,IAAI,OAAO,MAAM,CAAC,sBAAsB;AACxC,EAAE;AACF,EAAE,MAAM,CAAC,sBAAsB,GAAG,aAAa;AAC/C,EAAE,OAAO,aAAa;AACtB;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,MAAM,KAAK,GAAGA,OAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;AACpD,EAAE,OAAO;AACT,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAElC,CAAC;AACH,EAAE,OAAO,KAAK;AACd;;ACTA,MAAA,CAAA,MAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,EAAE,MAAM,aAAa,GAAG,SAAS,CAAC;AAClC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,KAAK;AAC3B,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,aAAa;AAM9C,EAAE,MAAM,cAAc;AACtB;AACA,IAAI,MAAM,CAAC,MAAM;AACjB,GAAG;AACH,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AAC7C,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE;AACtB,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;AAC7E,QAAQ,MAAM,QAAQ,GAAG,gBAAgB;AACzC,UAAU,cAAc,CAAC,OAAO;AAChC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK;AAC3B,SAAS;AACT,QAAQ,cAAc,CAAC,OAAO,GAAG,QAAQ;AACzC,QAAQ,OAAO,QAAQ;AACvB,MAAM;AACN,MAAM,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,IAAI;AACJ,IAAI,OAAO,KAAK;AAChB,EAAE,CAAC,CAAC;AACJ;;ACjCA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACK,MAAC,YAAY,GAAGA,OAAK,CAAC,aAAa,CAAC,MAAM;AAC/C,MAAM,iBAAiB,GAAGA,OAAK,CAAC,aAAa;AAC7C,EAAE;AACF,CAAC;;ACJD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,SAAS,QAAQ,CAAC,IAAI,EAAE;AACxB,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU;AACzC,IAAI,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG;AACpC,GAAG;AACH,EAAE,MAAM,cAAc,GAAG,cAAc,CAAC;AACxC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI;AACtC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK;AAC9D,OAAO;AACP,MAAM,SAAS;AACf,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;AAC/C,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AACjG,OAAO;AACP,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE;AAC5B,QAAQ,OAAO,MAAM;AACrB,MAAM;AACN,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK;AACrD,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,CAAC;AAC5B,GAAG,CAAC;AACJ,EAAE,OAAO,cAAc;AACvB;;ACxBA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACnE,IAAI;AACJ,GAAG,CAAC;AACJ;;ACTA,SAAS,aAAa,CAAC,IAAI,EAAE;AAC7B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAClC,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU;AACzD,IAAI;AACJ,GAAG,CAAC;AACJ;;ACRA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa;AAC/E,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM;AACvD,IAAI;AACJ,GAAG,CAAC;AACJ;;ACXA,SAAS,SAAS,CAAC,IAAI,EAAE;AACzB,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;AACnB,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM;AACvB,IAAI,WAAW,EAAE,IAAI,CAAC,WAAW;AACjC,IAAI,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;AAC7C,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM;AACnE,IAAI;AACJ,GAAG,CAAC;AACJ;;ACXA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,WAAW,CAAC,YAAY,EAAE;AACnC,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,OAAOA,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,OAAO,KAAK;AACjB,MAAM,OAAO,MAAM,CAAC,QAAQ,CAAC;AAC7B,QAAQ,GAAG,OAAO;AAClB,QAAQ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,YAAY,EAAE;AAC5C,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM;AAC/B,GAAG;AACH;AACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,QAAQ,GAAG,WAAW,EAAE;AAChC,EAAE,MAAM,gBAAgB,GAAGA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC;AAC7C,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE;AAC5C,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,MAAM,gBAAgB,CAAC,OAAO,GAAG,KAAK;AACtC,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/B,EAAE,OAAO,IAAI;AACb;;ACzBA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;;AACA,MAAA,CAAA,SAAA,CAAA,GAAA,MAAA,YAAA,CAAA,WAAA,CAAA;AAOA,SAAS,YAAA,CAAa,SAAS,YAAA,EAAc;AAC3C,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,MAAM,QAAA,GAAW,gBAAgB,YAAY,CAAA;AAE7C,EAAA,MAAM;AAAA;AAAA,IAEJ,WAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,EAAA;AAAA,IACA,OAAA,EAAS,WAAA;AAAA,IACT,YAAA,EAAc,gBAAA;AAAA,IACd,kBAAA;AAAA,IACA,OAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA;AAAA,IAEA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA;AAAA,IAEA,MAAA,EAAQ,OAAA;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,IAAA,EAAM,KAAA;AAAA,IACN,KAAA,EAAO,MAAA;AAAA,IACP,IAAA,EAAM,KAAA;AAAA,IACN,cAAA,EAAgB,eAAA;AAAA,IAChB,cAAA,EAAgB,eAAA;AAAA,IAChB,IAAA,EAAM,KAAA;AAAA,IACN,aAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,OAAA;AA6LJ,EAAA,MAAM,aAAa,WAAA,EAAY;AAC/B,EAAA,MAAM,gBAAgB,cAAA,CAAe;AAAA,IACnC,MAAA,EAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,QAAA,CAAS,MAAA;AAAA,IAC1B,iBAAA,EAAmB;AAAA,GACpB,CAAA;AACD,EAAA,MAAM,OAAO,OAAA,CAAQ,IAAA;AACrB,EAAA,MAAM,WAAWA,OAAA,CAAM,OAAA;AAAA,IACrB,MAAM;AACJ,MAAA,OAAO,EAAE,GAAG,OAAA,EAAS,IAAA,EAAK;AAAA,IAC5B,CAAA;AAAA;AAAA,IAEA;AAAA,MACE,MAAA;AAAA,MACA,aAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA,CAAQ,aAAA;AAAA,MACR,OAAA,CAAQ,IAAA;AAAA,MACR,OAAA,CAAQ,EAAA;AAAA,MACR,OAAA,CAAQ,MAAA;AAAA,MACR,OAAA,CAAQ,MAAA;AAAA,MACR,OAAA,CAAQ,KAAA;AAAA,MACR,OAAA,CAAQ,IAAA;AAAA,MACR,OAAA,CAAQ;AAAA;AACV,GACF;AACA,EAAA,MAAM,OAAOA,OAAA,CAAM,OAAA;AAAA,IACjB,MAAM,MAAA,CAAO,aAAA,CAAc,EAAE,GAAG,UAAU,CAAA;AAAA,IAC1C,CAAC,QAAQ,QAAQ;AAAA,GACnB;AACA,EAAA,MAAM,uBAAuB,IAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,cAAA,CAAe,aAAa,IAAA,CAAK,UAAA;AACzF,EAAA,MAAM,qBAAqB,IAAA,CAAK,cAAA,GAAiB,IAAA,CAAK,cAAA,CAAe,WAAW,IAAA,CAAK,QAAA;AACrF,EAAA,MAAM,aAAaA,OAAA,CAAM,OAAA;AAAA,IACvB,MAAM,aAAA;AAAA,MACJ,oBAAA;AAAA,MACA,kBAAA;AAAA,MACA,MAAA,CAAO,OAAA;AAAA,MACP;AAAA,KACF;AAAA,IACA,CAAC,QAAA,EAAU,kBAAA,EAAoB,oBAAA,EAAsB,OAAO,OAAO;AAAA,GACrE;AACA,EAAA,MAAM,YAAA,GAAeA,OAAA,CAAM,OAAA,CAAQ,MAAM;AACvC,IAAA,IAAI,YAAY,QAAA,EAAU;AACxB,MAAA,IAAI,mBAAA,CAAoB,UAAA,CAAW,IAAI,CAAA,EAAG;AAMxC,QAAA,OAAO,MAAA;AAAA,MACT;AACA,MAAA,OAAO,UAAA,CAAW,IAAA;AAAA,IACpB;AACA,IAAA,MAAM,YAAA,GAAe,eAAe,EAAE,CAAA;AACtC,IAAA,IAAI,cAAc,OAAO,MAAA;AACzB,IAAA,IAAI,OAAO,OAAO,QAAA,IAAY,EAAA,CAAG,QAAQ,GAAG,CAAA,KAAM,IAAI,OAAO,MAAA;AAC7D,IAAA,IAAI;AACF,MAAA,IAAI,IAAI,EAAE,CAAA;AACV,MAAA,IAAI,mBAAA,CAAoB,EAAE,CAAA,EAAG;AAC3B,QAAA,IAAI,KAAA,EAAuC;AAG3C,QAAA,OAAO,KAAA,CAAA;AAAA,MACT;AACA,MAAA,OAAO,EAAA;AAAA,IACT,CAAA,CAAA,MAAQ;AAAA,IACR;AACA,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,EAAG,CAAC,EAAA,EAAI,UAAU,CAAC,CAAA;AACnB,EAAA,MAAM,WAAW,cAAA,CAAe;AAAA,IAC9B,MAAA,EAAQ,CAAC,CAAA,KAAM;AACb,MAAA,IAAI,cAAc,OAAO,KAAA;AACzB,MAAA,IAAI,eAAe,KAAA,EAAO;AACxB,QAAA,MAAM,SAAA,GAAY,aAAA;AAAA,UAChB,EAAE,QAAA,CAAS,QAAA;AAAA,UACX,IAAA,CAAK,QAAA;AAAA,UACL,MAAA,CAAO;AAAA,SACT;AACA,QAAA,IAAI,CAAC,SAAA,EAAW;AACd,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF,CAAA,MAAO;AACL,QAAA,MAAM,gBAAA,GAAmB,mBAAA;AAAA,UACvB,EAAE,QAAA,CAAS,QAAA;AAAA,UACX,MAAA,CAAO;AAAA,SACT;AACA,QAAA,MAAM,aAAA,GAAgB,mBAAA;AAAA,UACpB,IAAA,CAAK,QAAA;AAAA,UACL,MAAA,CAAO;AAAA,SACT;AACA,QAAA,MAAM,gBAAA,GAAmB,gBAAA,CAAiB,UAAA,CAAW,aAAa,CAAA,KAAM,gBAAA,CAAiB,MAAA,KAAW,aAAA,CAAc,MAAA,IAAU,gBAAA,CAAiB,aAAA,CAAc,MAAM,CAAA,KAAM,GAAA,CAAA;AACvK,QAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,IAAI,aAAA,EAAe,iBAAiB,IAAA,EAAM;AACxC,QAAA,MAAM,aAAa,SAAA,CAAU,CAAA,CAAE,QAAA,CAAS,MAAA,EAAQ,KAAK,MAAA,EAAQ;AAAA,UAC3D,OAAA,EAAS,CAAC,aAAA,EAAe,KAAA;AAAA,UACzB,eAAA,EAAiB,CAAC,aAAA,EAAe;AAAA,SAClC,CAAA;AACD,QAAA,IAAI,CAAC,UAAA,EAAY;AACf,UAAA,OAAO,KAAA;AAAA,QACT;AAAA,MACF;AACA,MAAA,IAAI,eAAe,WAAA,EAAa;AAC9B,QAAA,OAAO,UAAA,IAAc,CAAA,CAAE,QAAA,CAAS,IAAA,KAAS,IAAA,CAAK,IAAA;AAAA,MAChD;AACA,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,GACD,CAAA;AACD,EAAA,MAAM,sBAAsB,QAAA,GAAW,gBAAA,CAAiB,aAAa,EAAE,KAAK,oBAAA,GAAuB,mBAAA;AACnG,EAAA,MAAM,wBAAwB,QAAA,GAAW,mBAAA,GAAsB,iBAAiB,aAAA,EAAe,EAAE,CAAA,IAAK,mBAAA;AACtG,EAAA,MAAM,iBAAA,GAAoB;AAAA,IACxB,SAAA;AAAA,IACA,mBAAA,CAAoB,SAAA;AAAA,IACpB,qBAAA,CAAsB;AAAA,GACxB,CAAE,MAAA,CAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAC1B,EAAA,MAAM,aAAA,GAAA,CAAiB,KAAA,IAAS,mBAAA,CAAoB,KAAA,IAAS,sBAAsB,KAAA,KAAU;AAAA,IAC3F,GAAG,KAAA;AAAA,IACH,GAAG,mBAAA,CAAoB,KAAA;AAAA,IACvB,GAAG,qBAAA,CAAsB;AAAA,GAC3B;AACA,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,OAAA,CAAM,SAAS,KAAK,CAAA;AAClE,EAAA,MAAM,gBAAA,GAAmBA,OAAA,CAAM,MAAA,CAAO,KAAK,CAAA;AAC3C,EAAA,MAAM,UAAU,OAAA,CAAQ,cAAA,IAAkB,eAAe,KAAA,GAAQ,WAAA,IAAe,OAAO,OAAA,CAAQ,cAAA;AAC/F,EAAA,MAAM,YAAA,GAAe,gBAAA,IAAoB,MAAA,CAAO,OAAA,CAAQ,mBAAA,IAAuB,CAAA;AAC/E,EAAA,MAAM,SAAA,GAAYA,OAAA,CAAM,WAAA,CAAY,MAAM;AACxC,IAAA,MAAA,CAAO,YAAA,CAAa,EAAE,GAAG,QAAA,EAAU,CAAA,CAAE,KAAA,CAAM,CAAC,GAAA,KAAQ;AAClD,MAAA,OAAA,CAAQ,KAAK,GAAG,CAAA;AAChB,MAAA,OAAA,CAAQ,KAAK,cAAc,CAAA;AAAA,IAC7B,CAAC,CAAA;AAAA,EACH,CAAA,EAAG,CAAC,MAAA,EAAQ,QAAQ,CAAC,CAAA;AACrB,EAAA,MAAM,4BAA4BA,OAAA,CAAM,WAAA;AAAA,IACtC,CAAC,KAAA,KAAU;AACT,MAAA,IAAI,OAAO,cAAA,EAAgB;AACzB,QAAA,SAAA,EAAU;AAAA,MACZ;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAS;AAAA,GACZ;AACA,EAAA,uBAAA;AAAA,IACE,QAAA;AAAA,IACA,yBAAA;AAAA,IACA,2BAAA;AAAA,IACA,EAAE,QAAA,EAAU,CAAC,CAAC,QAAA,IAAY,EAAE,YAAY,UAAA,CAAA;AAAY,GACtD;AACA,EAAAA,OAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,iBAAiB,OAAA,EAAS;AAC5B,MAAA;AAAA,IACF;AACA,IAAA,IAAI,CAAC,QAAA,IAAY,OAAA,KAAY,QAAA,EAAU;AACrC,MAAA,SAAA,EAAU;AACV,MAAA,gBAAA,CAAiB,OAAA,GAAU,IAAA;AAAA,IAC7B;AAAA,EACF,CAAA,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,OAAO,CAAC,CAAA;AACjC,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAM;AACzB,IAAA,MAAM,aAAA,GAAgB,CAAA,CAAE,aAAA,CAAc,YAAA,CAAa,QAAQ,CAAA;AAC3D,IAAA,MAAM,eAAA,GAAkB,MAAA,KAAW,MAAA,GAAS,MAAA,GAAS,aAAA;AACrD,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,WAAA,CAAY,CAAC,CAAA,IAAK,CAAC,CAAA,CAAE,gBAAA,KAAqB,CAAC,eAAA,IAAmB,eAAA,KAAoB,OAAA,CAAA,IAAY,CAAA,CAAE,WAAW,CAAA,EAAG;AAC9H,MAAA,CAAA,CAAE,cAAA,EAAe;AACjB,MAAA,SAAA,CAAU,MAAM;AACd,QAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,MACzB,CAAC,CAAA;AACD,MAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,SAAA,CAAU,YAAA,EAAc,MAAM;AACjD,QAAA,KAAA,EAAM;AACN,QAAA,kBAAA,CAAmB,KAAK,CAAA;AAAA,MAC1B,CAAC,CAAA;AACD,MAAA,MAAA,CAAO,QAAA,CAAS;AAAA,QACd,GAAG,QAAA;AAAA,QACH,OAAA;AAAA,QACA,WAAA;AAAA,QACA,kBAAA;AAAA,QACA,eAAA;AAAA,QACA,cAAA;AAAA,QACA;AAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF,CAAA;AACA,EAAA,IAAI,YAAA,EAAc;AAChB,IAAA,OAAO;AAAA,MACL,GAAG,iBAAA;AAAA,MACH,GAAA,EAAK,QAAA;AAAA,MACL,IAAA,EAAM,YAAA;AAAA,MACN,GAAG,QAAA,IAAY,EAAE,QAAA,EAAS;AAAA,MAC1B,GAAG,MAAA,IAAU,EAAE,MAAA,EAAO;AAAA,MACtB,GAAG,QAAA,IAAY,EAAE,QAAA,EAAS;AAAA,MAC1B,GAAG,KAAA,IAAS,EAAE,KAAA,EAAM;AAAA,MACpB,GAAG,SAAA,IAAa,EAAE,SAAA,EAAU;AAAA,MAC5B,GAAG,OAAA,IAAW,EAAE,OAAA,EAAQ;AAAA,MACxB,GAAG,OAAA,IAAW,EAAE,OAAA,EAAQ;AAAA,MACxB,GAAG,YAAA,IAAgB,EAAE,YAAA,EAAa;AAAA,MAClC,GAAG,YAAA,IAAgB,EAAE,YAAA,EAAa;AAAA,MAClC,GAAG,YAAA,IAAgB,EAAE,YAAA;AAAa,KACpC;AAAA,EACF;AACA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAM;AACzB,IAAA,IAAI,QAAA,EAAU;AACd,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,SAAA,EAAU;AAAA,IACZ;AAAA,EACF,CAAA;AACA,EAAA,MAAM,gBAAA,GAAmB,WAAA;AACzB,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAM;AACzB,IAAA,IAAI,QAAA,IAAY,CAAC,OAAA,EAAS;AAC1B,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,SAAA,EAAU;AAAA,IACZ,CAAA,MAAO;AACL,MAAA,MAAM,cAAc,CAAA,CAAE,MAAA;AACtB,MAAA,IAAI,UAAA,CAAW,GAAA,CAAI,WAAW,CAAA,EAAG;AAC/B,QAAA;AAAA,MACF;AACA,MAAA,MAAM,EAAA,GAAK,WAAW,MAAM;AAC1B,QAAA,UAAA,CAAW,OAAO,WAAW,CAAA;AAC7B,QAAA,SAAA,EAAU;AAAA,MACZ,GAAG,YAAY,CAAA;AACf,MAAA,UAAA,CAAW,GAAA,CAAI,aAAa,EAAE,CAAA;AAAA,IAChC;AAAA,EACF,CAAA;AACA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAM;AACzB,IAAA,IAAI,QAAA,IAAY,CAAC,OAAA,IAAW,CAAC,YAAA,EAAc;AAC3C,IAAA,MAAM,cAAc,CAAA,CAAE,MAAA;AACtB,IAAA,MAAM,EAAA,GAAK,UAAA,CAAW,GAAA,CAAI,WAAW,CAAA;AACrC,IAAA,IAAI,EAAA,EAAI;AACN,MAAA,YAAA,CAAa,EAAE,CAAA;AACf,MAAA,UAAA,CAAW,OAAO,WAAW,CAAA;AAAA,IAC/B;AAAA,EACF,CAAA;AACA,EAAA,OAAO;AAAA,IACL,GAAG,iBAAA;AAAA,IACH,GAAG,mBAAA;AAAA,IACH,GAAG,qBAAA;AAAA,IACH,MAAM,UAAA,EAAY,IAAA;AAAA,IAClB,GAAA,EAAK,QAAA;AAAA,IACL,OAAA,EAAS,eAAA,CAAgB,CAAC,OAAA,EAAS,WAAW,CAAC,CAAA;AAAA,IAC/C,OAAA,EAAS,eAAA,CAAgB,CAAC,OAAA,EAAS,WAAW,CAAC,CAAA;AAAA,IAC/C,YAAA,EAAc,eAAA,CAAgB,CAAC,YAAA,EAAc,WAAW,CAAC,CAAA;AAAA,IACzD,YAAA,EAAc,eAAA,CAAgB,CAAC,YAAA,EAAc,WAAW,CAAC,CAAA;AAAA,IACzD,YAAA,EAAc,eAAA,CAAgB,CAAC,YAAA,EAAc,gBAAgB,CAAC,CAAA;AAAA,IAC9D,QAAA,EAAU,CAAC,CAAC,QAAA;AAAA,IACZ,MAAA;AAAA,IACA,GAAG,aAAA,IAAiB,EAAE,KAAA,EAAO,aAAA,EAAc;AAAA,IAC3C,GAAG,iBAAA,IAAqB,EAAE,SAAA,EAAW,iBAAA,EAAkB;AAAA,IACvD,GAAG,QAAA,IAAY,qBAAA;AAAA,IACf,GAAG,QAAA,IAAY,mBAAA;AAAA,IACf,GAAG,cAAc,eAAA,IAAmB;AAAA,GACtC;AACF;AACA,MAAM,sBAAsB,EAAC;AAC7B,MAAM,oBAAA,GAAuB,EAAE,SAAA,EAAW,QAAA,EAAS;AACnD,MAAM,qBAAA,GAAwB,EAAE,IAAA,EAAM,MAAA,EAAQ,iBAAiB,IAAA,EAAK;AACpE,MAAM,mBAAA,GAAsB,EAAE,aAAA,EAAe,QAAA,EAAU,gBAAgB,MAAA,EAAO;AAC9E,MAAM,0BAAA,GAA6B,EAAE,oBAAA,EAAsB,eAAA,EAAgB;AAC3E,MAAM,UAAA,uBAAiC,OAAA,EAAQ;AAC/C,MAAM,2BAAA,GAA8B;AAAA,EAClC,UAAA,EAAY;AACd,CAAA;AACA,MAAM,eAAA,GAAkB,CAAC,QAAA,KAAa,CAAC,CAAA,KAAM;AAC3C,EAAA,KAAA,MAAW,WAAW,QAAA,EAAU;AAC9B,IAAA,IAAI,CAAC,OAAA,EAAS;AACd,IAAA,IAAI,EAAE,gBAAA,EAAkB;AACxB,IAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,EACX;AACF,CAAA;AACA,SAAS,aAAA,CAAc,UAAA,EAAY,QAAA,EAAU,OAAA,EAAS,QAAA,EAAU;AAC9D,EAAA,IAAI,UAAU,OAAO,MAAA;AACrB,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,IAAA,EAAK;AAAA,EAC5C;AACA,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,OAAA,CAAQ,UAAA,CAAW,UAAU,CAAA,IAAK,GAAA;AAAA,IACxC,QAAA,EAAU;AAAA,GACZ;AACF;AACA,SAAS,eAAe,EAAA,EAAI;AAC1B,EAAA,IAAI,OAAO,EAAA,KAAO,QAAA,EAAU,OAAO,KAAA;AACnC,EAAA,MAAM,IAAA,GAAO,EAAA,CAAG,UAAA,CAAW,CAAC,CAAA;AAC5B,EAAA,IAAI,SAAS,EAAA,EAAI,OAAO,EAAA,CAAG,UAAA,CAAW,CAAC,CAAA,KAAM,EAAA;AAC7C,EAAA,OAAO,IAAA,KAAS,EAAA;AAClB;AACA,SAAS,WAAW,IAAA,EAAM;AACxB,EAAA,OAAOA,OAAA,CAAM,UAAA,CAAW,SAAS,WAAA,CAAY,OAAO,GAAA,EAAK;AACvD,IAAA,uBAAuBC,qBAAA,CAAI,MAAM,EAAE,GAAG,OAAO,QAAA,EAAU,IAAA,EAAM,KAAK,CAAA;AAAA,EACpE,CAAC,CAAA;AACH;AACA,MAAM,OAAOD,OAAA,CAAM,UAAA;AAAA,EACjB,CAAC,OAAO,GAAA,KAAQ;AACd,IAAA,MAAM,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,GAAI,KAAA;AAC9B,IAAA,MAAM,EAAE,MAAM,KAAA,EAAO,GAAG,WAAU,GAAI,YAAA,CAAa,MAAM,GAAG,CAAA;AAC5D,IAAA,MAAM,WAAW,OAAO,IAAA,CAAK,QAAA,KAAa,UAAA,GAAa,KAAK,QAAA,CAAS;AAAA,MACnE,QAAA,EAAU,SAAA,CAAU,aAAa,CAAA,KAAM;AAAA,KACxC,IAAI,IAAA,CAAK,QAAA;AACV,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,MAAM,EAAE,QAAA,EAAU,CAAA,EAAG,GAAG,OAAM,GAAI,SAAA;AAClC,MAAA,OAAOA,OAAA,CAAM,aAAA,CAAc,GAAA,EAAK,KAAA,EAAO,QAAQ,CAAA;AAAA,IACjD;AACA,IAAA,OAAOA,OAAA,CAAM,aAAA,CAAc,QAAA,EAAU,SAAA,EAAW,QAAQ,CAAA;AAAA,EAC1D;AACF;AACA,SAAS,YAAY,CAAA,EAAG;AACtB,EAAA,OAAO,CAAC,EAAE,CAAA,CAAE,OAAA,IAAW,EAAE,MAAA,IAAU,CAAA,CAAE,WAAW,CAAA,CAAE,QAAA,CAAA;AACpD;AACA,MAAM,WAAA,GAAc,CAAC,OAAA,KAAY;AAC/B,EAAA,OAAO,OAAA;AACT;;AC1hBA,MAAA,cAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AASA,SAAS,WAAW,CAAC,EAAE,EAAE;AACzB,EAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7B;AACA,MAAM,QAAQ,SAAS,YAAY,CAAC;AACpC;AACA;AACA;AACA,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE;AACtB,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;AACjB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,EAAE;AACjC,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjE,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACrE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACpD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ;AAC1D,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACzE,IAAI,CAAC,CAAC;AACN,EAAE;AACF;AACA,MAAM,KAAK,SAAS,SAAS,CAAC;AAC9B;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,EAAE;AACjC,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjE,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF,MAAM;AACN,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,mBAAmB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5D,EAAE;AACF;AACA,SAAS,WAAW,CAAC,OAAO,EAAE;AAC9B,EAAE,OAAO,IAAI,KAAK;AAClB;AACA,IAAI;AACJ,GAAG;AACH;AACA,SAAS,0BAA0B,GAAG;AACtC,EAAE,OAAO,CAAC,OAAO,KAAK;AACtB,IAAI,OAAO,eAAe,CAAC,OAAO,CAAC;AACnC,EAAE,CAAC;AACH;AACK,MAAC,oBAAoB,GAAG;AAC7B,MAAM,SAAS,SAAS,aAAa,CAAC;AACtC;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,iBAAiB,EAAE,IAAI,EAAE;AACjC,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK;AACrC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,GAAG,IAAI;AACf,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAE;AACrB,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjE,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,KAAK;AAC/B,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,IAAI,EAAE,MAAM;AAC5B,QAAQ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;AAClD,QAAQ,IAAI,EAAE,IAAI,CAAC;AACnB,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,KAAK;AACnC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjD,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU;AACzC,MAAM,CAAC,KAAK,EAAE,GAAG,KAAK;AACtB,QAAQ,uBAAuBA,qBAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AAChF,MAAM;AACN,KAAK;AACL,IAAI,IAAI,CAAC,QAAQ,mBAAmB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5D,EAAE;AACF;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;AAC/B;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,IAAI;AACb;AACA,MAAM,aAAa,SAAS,KAAK,CAAC;AAClC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC;AACV,MAAM,GAAG,OAAO;AAChB,MAAM,EAAE,EAAE;AACV,KAAK,CAAC;AACN,EAAE;AACF;;ACzLA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC/B,MAAM,MAAM,EAAE;AACd,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AACxB,EAAE;AACF,EAAE,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE;AAC7B,IAAI,MAAM,EAAE;AACZ,GAAG,CAAC,CAAC,WAAW;AAChB;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE;AAC3B,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,OAAO,KAAK;AACpC,MAAM,OAAO;AACb,QAAQ,IAAI,CAAC,MAEP,CAAC;AACP,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;AACxC,MAAM,KAAK,CAAC,MAAM,GAAG,KAAK;AAC1B,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,MAAM;AAC/B,EAAE;AACF;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAKhC,EAAE,OAAO,CAAC,QAAQ,KAAK,QAAQ;AAC/B;AACA,MAAM,SAAS,CAAC;AAChB,EAAE,WAAW,CAAC,IAAI,EAAE;AACpB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC/B,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,MAAM,EAAE,KAAK,EAAE,MAAM;AAC7B,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,iBAAiB,EAAE,KAAK,EAAE;AAClC,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,KAAK;AACtC,MAAM,OAAO,QAAQ,CAAC;AACtB,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AAC7B,QAAQ,MAAM,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACnE,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,EAAE,MAAM;AAC7B,QAAQ,iBAAiB,EAAE,KAAK,EAAE,iBAAiB;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK;AAChC,MAAM,OAAO,SAAS,CAAC;AACvB,QAAQ,MAAM,EAAE,KAAK,EAAE,MAAM;AAC7B,QAAQ,iBAAiB,EAAE,KAAK,EAAE,iBAAiB;AACnD,QAAQ,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;AAC3B,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC/D,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM;AAC7B,MAAM,MAAM,MAAM,GAAG,SAAS,EAAE;AAChC,MAAM,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/E,IAAI,CAAC;AACL,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,IAAI,IAAI,CAAC,QAAQ,mBAAmB,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;AAC5D,EAAE;AACF;AACA,SAAS,eAAe,CAAC,EAAE,EAAE;AAC7B,EAAE,OAAO,CAAC,IAAI,KAAK;AACnB,IAAI,OAAO,IAAI,SAAS,CAAC;AACzB,MAAM,EAAE;AACR,MAAM,GAAG;AACT,KAAK,CAAC;AACN,EAAE,CAAC;AACH;AACA,SAAS,mBAAmB,CAAC,EAAE,EAAE;AACjC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AAC9B,IAAI,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC;AAC5B,EAAE;AACF,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;AACjD;;ACjGA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE;AAClD,EAAE,IAAI,WAAW;AACjB,EAAE,IAAI,IAAI;AACV,EAAE,IAAI,KAAK;AACX,EAAE,IAAI,MAAM;AACZ,EAAE,MAAM,IAAI,GAAG,MAAM;AACrB,IAAI,IAAI,CAAC,WAAW,EAAE;AACtB,MAAM,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK;AAC7C,QAAQ,WAAW,GAAG,MAAM;AAC5B,QAAQ,IAAI,GAAG,GAAG,CAAC,UAAU,IAAI,SAAS,CAAC;AAC3C,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;AACxB,QAAQ,KAAK,GAAG,GAAG;AACnB,QAAQ,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAC1C,UAAU,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;AAChH,YAAY,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACrD,cAAc,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;AACrD,cAAc,MAAM,GAAG,IAAI;AAC3B,YAAY;AACZ,UAAU;AACV,QAAQ;AACR,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE;AACxC,IAAI,IAAI,MAAM,EAAE;AAChB,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC9B,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM;AAC9B,MAAM,CAAC,CAAC;AACR,IAAI;AACJ,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,KAAK;AACjB,IAAI;AACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACf,MAAM,IAAI,QAAQ,EAAE;AACpB,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;AACxB,MAAM,CAAC,MAAM;AACb,QAAQ,MAAM,IAAI,EAAE;AACpB,MAAM;AACN,IAAI;AACJ,IAAI,OAAOA,OAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC;AAC3C,EAAE,CAAC;AACH,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI;AACzB,EAAE,OAAO,QAAQ;AACjB;;AChDA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAKA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,kBAAkB,GAAGA,OAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrE,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrE,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC;AAC1D,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM;AACpB,MAAM,SAAS,EAAE,CAAC,CAAC,SAAS;AAC5B,MAAM,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,SAAS;AACrE,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,iBAAiB,GAAG,WAAW,CAAC,SAAS,CAAC;AAClD,EAAE,MAAM,YAAY,GAAG,SAAS,IAAI,eAAe,IAAI,iBAAiB;AACxE,EAAE,MAAM,oBAAoB,GAAG,WAAW,CAAC,YAAY,CAAC;AACxD,EAAE,MAAM,aAAa,GAAG,SAAS,IAAI,iBAAiB;AACtD,EAAE,MAAM,qBAAqB,GAAG,WAAW,CAAC,aAAa,CAAC;AAC1D,EAAE,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK;AACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC;AAC5B,IAAIA,OAAK,CAAC,eAAe,CAAC,MAAM;AAChC,MAAM,EAAE,EAAE;AACV,MAAM,kBAAkB,CAAC,KAAK,CAAC;AAC/B,IAAI,CAAC,CAAC;AACN,EAAE,CAAC;AACH,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACvD,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9C,MAAM,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ;AACxC,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,sBAAsB,EAAE;AAC9B,KAAK,CAAC;AACN,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;AACpG,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/D,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,MAAM,KAAK,EAAE;AACb,IAAI,CAAC;AACL,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI;AACJ;AACA,MAAM,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC;AAChI,MAAM;AACN,MAAM;AACN,IAAI;AACJ,IAAI,kBAAkB,CAAC,OAAO,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1D,IAAI,MAAM,OAAO,GAAG,YAAY;AAChC,MAAM,IAAI;AACV,QAAQ,MAAM,MAAM,CAAC,IAAI,EAAE;AAC3B,MAAM,CAAC,CAAC,OAAO,GAAG,EAAE;AACpB,QAAQ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1B,MAAM;AACN,IAAI,CAAC;AACL,IAAI,OAAO,EAAE;AACb,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACd,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,iBAAiB,IAAI,CAAC,SAAS,EAAE;AACzC,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,QAAQ;AACtB;AACA,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,qBAAqB,IAAI,CAAC,aAAa,EAAE;AACjD,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,oBAAoB;AAClC,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AAC7C,OAAO,CAAC;AACR,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,IAAI,oBAAoB,IAAI,CAAC,YAAY,EAAE;AAC/C,MAAM,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC;AAC5D,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,IAAI,EAAE,YAAY;AAC1B,QAAQ,GAAG;AACX,OAAO,CAAC;AACR,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;AACtC,QAAQ,GAAG,CAAC;AACZ,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,gBAAgB,EAAE,CAAC,CAAC;AAC5B,OAAO,CAAC,CAAC;AACT,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE;AAClC,QAAQ,gBAAgB,CAAC,MAAM,CAAC;AAChC,MAAM;AACN,IAAI;AACJ,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAClD,EAAE,OAAO,IAAI;AACb;;AC7FA,SAAS,aAAa,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAChE,GAAG,CAAC;AACJ,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACrC,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,SAAS,CAAC;AAC3C,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,KAAK;AACrB,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;AACrC,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AAC/B,UAAU,OAAO,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxC,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,KAAK;AACrB,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,QAAQ,EAAE,KAAK,CAAC;AACtB;AACA,GAAG;AACH;AACA,SAAS,qBAAqB,GAAG;AACjC,EAAE,uBAAuBA,qBAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC5D;;AC/BA,SAAS,YAAY,CAAC,KAAK,EAAE;AAC7B,EAAE,uBAAuBA,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;AACpE;;ACAA,SAAS,mBAAA,CAAoB,MAAA,EAAQ,KAAA,EAAO,IAAA,EAAM;AAChD,EAAA,IAAI,CAAC,KAAA,CAAM,OAAA,CAAQ,iBAAA,EAAmB;AACpC,IAAA,IAAI,MAAA,CAAO,QAAQ,wBAAA,EAA0B;AAC3C,MAAA,6CAA2B,MAAA,CAAO,OAAA,CAAQ,0BAA0B,EAAE,GAAG,MAAM,CAAA;AAAA,IACjF;AAOA,IAAA,uBAAuBN,qBAAA,CAAI,qBAAA,EAAuB,EAAE,CAAA;AAAA,EACtD;AACA,EAAA,6CAA2B,KAAA,CAAM,OAAA,CAAQ,mBAAmB,EAAE,GAAG,MAAM,CAAA;AACzE;;ACdA,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE;AAClC,EAAiB,SAAS;AAC1B,EAAsC;AACtC,IAAI,OAAO,IAAI;AACf,EAAE;AAUF;;ACZA,SAASO,mBAAiB,GAAG;AAC7B,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAA8B,EAAE;AACnE,IAAI,OAAO,IAAI;AACf,EAAE;AAyBF;;ACjCA,MAAAR,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAcK,MAAC,KAAK,GAAGA,OAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC;AAC5C,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC;AACpC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AACrE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;AACzC,MAAM,SAAS;AACf,QAAQ,KAEF,CAAC;AACP,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;AAC9B,QAAQ,GAAG,EAAE,KAAK,CAAC,GAAG;AACtB,QAAQ,eAAe,EAAE,KAAK,CAAC,eAAe;AAC9C,QAAQ,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAC5B,QAAQ,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;AAClD,OAAO;AACP,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;AACrD,EAAE,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB;AACnG,EAAE,MAAM,cAAc,GAAG,gBAAgB,mBAAmBC,qBAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,IAAI;AAC5F,EAAE,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB;AAClG,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;AAC7E,EAAE,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM;AAC7C;AACA,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;AAC7E,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB;AACrC,EAAE,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,KAAK,WAAW;AAClF,EAAE,MAAM,wBAAwB;AAChC;AACA,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,aAAa,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,gBAAgB,KAAK,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,IAAI,aAAa,CAAC,CAAC,GAAGD,OAAK,CAAC,QAAQ,GAAG;AAC1M,GAAG;AACH,EAAE,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,aAAa,GAAG,YAAY;AAClF,EAAE,MAAM,wBAAwB,GAAG,sBAAsB,GAAG,aAAa,GAAG,YAAY;AACxF,EAAE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,YAAY,GAAG,YAAY;AACnG,EAAE,uBAAuBE,sBAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE;AAC1D,oBAAoBD,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG;AAClL,MAAM,qBAAqB;AAC3B,MAAM;AACN,QAAQ,WAAW,EAAE,MAAM,UAAU,CAAC,QAAQ;AAC9C,QAAQ,cAAc,EAAE,mBAAmB,IAAI,cAAc;AAC7D,QAAQ,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK;AACvC,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK;AAE5C,UAAU,YAAY,GAAG,KAAK,EAAE,SAAS,CAAC;AAC1C,QAAQ,CAAC;AACT,QAAQ,QAAQ,kBAAkBA,qBAAG;AACrC,UAAU,wBAAwB;AAClC,UAAU;AACV,YAAY,QAAQ,EAAE,CAAC,KAAK,KAAK;AACjC,cAAc,IAAI,CAAC,sBAAsB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;AACrI,gBAAgB,MAAM,KAAK;AAC3B,cAAc,OAAOD,OAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,KAAK,CAAC;AACvE,YAAY,CAAC;AACb,YAAY,QAAQ,EAAE,aAAa,IAAI,UAAU,CAAC,eAAe,mBAAmBC,qBAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,mBAAmBA,qBAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE;AACvO;AACA;AACA;AACA,KAAK,EAAE,CAAC,EAAE,CAAC;AACX,IAAI,UAAU,CAAC,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,mBAAmBC,sBAAI,CAACK,0BAAQ,EAAE,EAAE,QAAQ,EAAE;AAC9H,sBAAsBN,qBAAG,CAAC,UAAU,EAAE,EAAE,CAAC;AACzC,sBAAsBA,qBAAG,CAACO,mBAAiB,EAAE,EAAE;AAC/C,KAAK,EAAE,CAAC,GAAG;AACX,GAAG,EAAE,CAAC;AACN,CAAC;AACD,SAAS,UAAU,GAAG;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,eAAe,GAAGR,OAAK,CAAC,MAAM;AACtC,IAAI;AACJ,GAAG;AACH,EAAE,uBAAuBC,qBAAG;AAC5B,IAAI,QAAQ;AACZ,IAAI;AACJ,MAAM,wBAAwB,EAAE,IAAI;AACpC,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK;AACnB,QAAQ,IAAI,EAAE,KAAK,eAAe,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AACvH,UAAU,MAAM,CAAC,IAAI,CAAC;AACtB,YAAY,IAAI,EAAE,YAAY;AAC9B,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK;AACjD,WAAW,CAAC;AACZ,UAAU,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,cAAc;AACzD,QAAQ;AACR,MAAM;AACN,KAAK;AACL,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AAChC,GAAG;AACH;AACA,MAAM,UAAU,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC;AACtD,EAAE;AACF,CAAC,EAAE;AACH,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACjD,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO;AACrC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB;AAC5G,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;AACtC,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,UAAU,EAAE,MAAM,CAAC,UAAU;AACrC,QAAQ,MAAM,EAAE,MAAM,CAAC,aAAa;AACpC,QAAQ,MAAM,EAAE,MAAM,CAAC;AACvB,OAAO,CAAC;AACR,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM;AACrE,MAAM,OAAO;AACb,QAAQ,GAAG,EAAE,IAAI;AACjB,QAAQ,OAAO,EAAE,QAAQ;AACzB,QAAQ,KAAK,EAAE;AACf,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE;AACvB,UAAU,MAAM,EAAE,MAAM,CAAC,MAAM;AAC/B,UAAU,KAAK,EAAE,MAAM,CAAC,KAAK;AAC7B,UAAU,OAAO,EAAE,MAAM,CAAC,OAAO;AACjC,UAAU,aAAa,EAAE,MAAM,CAAC,aAAa;AAC7C,UAAU,eAAe,EAAE,MAAM,CAAC;AAClC;AACA,OAAO;AACP,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,GAAG,GAAGA,OAAK,CAAC,OAAO,CAAC,MAAM;AAClC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB;AAC3E,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,uBAAuBC,qBAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC;AAC/C,IAAI;AACJ,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AACrE,EAAE,IAAI,KAAK,CAAC,eAAe,EAAE;AAC7B,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,qBAAqB;AACvE,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE;AAC3B,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,iBAAiB;AACnE,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB;AACzF,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACnD,MAAM,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE;AACtE,QAA4C;AAC5C,UAAU,MAAM,iBAAiB,GAAG,uBAAuB,EAAE;AAC7D,UAAU,WAAW,CAAC,YAAY,CAAC,iBAAiB,GAAG,iBAAiB;AACxE,UAAU,UAAU,CAAC,MAAM;AAC3B,YAAY,iBAAiB,CAAC,OAAO,EAAE;AACvC,YAAY,WAAW,CAAC,YAAY,CAAC,iBAAiB,GAAG,MAAM;AAC/D,UAAU,CAAC,EAAE,YAAY,CAAC;AAC1B,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,WAAW;AAC7D,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;AACnC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;AAC1D,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE;AACrC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAC;AACnE,IAAI,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,WAAW;AAC7D,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE;AAchC,IAAI,MAAM,KAAK,CAAC,KAAK;AACrB,EAAE;AACF,EAAE,OAAO,GAAG;AACZ,CAAC,CAAC;AACG,MAAC,MAAM,GAAGD,OAAK,CAAC,IAAI,CAAC,SAAS,UAAU,GAAG;AAChD,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;AAC5D,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;AAC1C,EAAE,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAC9C,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC/D,MAAM,SAAS;AACf,QAAQ,WAEF,CAAC;AACP,MAAM,OAAO,WAAW,CAAC,cAAc;AACvC,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO;AAC/B,MAAM,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;AAC9D,MAAM,OAAO,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE;AACnC,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,mBAAmBC,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,GAAG,IAAI;AACxI,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,OAAO,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;AACrD,EAAE;AACF,EAAE,IAAI,CAAC,YAAY,EAAE;AACrB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,SAAS,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACzE,EAAE,IAAI,OAAO,KAAK,WAAW,EAAE;AAC/B,IAAI,uBAAuBA,qBAAG,CAACD,OAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjG,EAAE;AACF,EAAE,OAAO,SAAS;AAClB,CAAC;;ACtOD,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAWA,SAAS,OAAO,GAAG;AACnB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;AAClD,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB;AACvG,EAAE,MAAM,cAAc,GAAG,gBAAgB,mBAAmBC,qBAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,IAAI;AAC5F,EAAE,MAAM,gBAAgB,GAAoC,OAAO,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,GAAGD,OAAK,CAAC,QAAQ;AACzI,EAAE,MAAM,KAAK,mBAAmBE,sBAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE;AAC7F,IAAsC,gBAAgBD,qBAAG,CAAC,YAAY,EAAE,EAAE,CAAC;AAC3E,oBAAoBA,qBAAG,CAAC,YAAY,EAAE,EAAE;AACxC,GAAG,EAAE,CAAC;AACN,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,mBAAmBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK;AAC9G;AACA,SAAS,YAAY,GAAG;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,OAAO,GAAG,cAAc,CAAC;AACjC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK;AACnB,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;AAC7B,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,cAAc,CAAC;AAClC,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,OAAO,mBAAmBA,qBAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;AACjF,EAAE,uBAAuBA,qBAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,0BAA0B,GAAG,cAAc,mBAAmBA,qBAAG;AAChK,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,WAAW,EAAE,MAAM,QAAQ;AACjC,MAAM,cAAc,EAAE,cAAc;AACpC,MAAM,OAAO,EAAE,CAAC,KAAK,KAAK;AAK1B,QAAQ,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzD,MAAM,CAAC;AACP,MAAM,QAAQ,EAAE;AAChB;AACA,GAAG,EAAE,CAAC;AACN;AACA,SAAS,aAAa,GAAG;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,cAAc,CAAC;AACjB,IAAI,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AACxE,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAOD,OAAK,CAAC,WAAW;AAC1B,IAAI,CAAC,IAAI,KAAK;AACd,MAAM,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AAC5E,MAAM,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;AACrC,QAAQ,OAAO;AACf,QAAQ,aAAa;AACrB,QAAQ,KAAK;AACb,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC;AACL,IAAI,CAAC,MAAM;AACX,GAAG;AACH;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,MAAM,UAAU,GAAG,aAAa,EAAE;AACpC,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAC5C,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AACjC,EAAE;AACF,EAAE,OAAO,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI;AACvC;AACA,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO;AACnC,MAAM,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AAC1D,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,EAAE;AAC7B,GAAG,CAAC;AACJ;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,CAAC;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc;AACxD,OAAO;AACP,MAAM,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AAC1D,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,EAAE;AAC7B,GAAG,CAAC;AACJ;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,MAAM,cAAc,GAAGA,OAAK,CAAC,UAAU,CAAC,YAAY,CAAC;AACvD,EAAE,OAAO,UAAU,CAAC;AACpB,IAAI,MAAM,EAAE,CAAC,OAAO,KAAK;AACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK;AAC7B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,GAAG;AAC5D,OAAO;AACP,MAAM,OAAO,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO;AAC1D,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE,IAAI,EAAE;AAC7B,GAAG,CAAC;AACJ;;AC7GK,MAAC,YAAY,GAAG,CAAC,OAAO,KAAK;AAClC,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;AAC5B;AACA,MAAM,MAAM,SAAS,UAAU,CAAC;AAChC,EAAE,WAAW,CAAC,OAAO,EAAE;AACvB,IAAI,KAAK,CAAC,OAAO,CAAC;AAClB,EAAE;AACF;AACA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACvC,EAAE,UAAU,CAAC,eAAe,GAAG,eAAe;AAC9C,EAAE,UAAU,CAAC,mBAAmB,GAAG,mBAAmB;AACtD,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC1C,EAAE,MAAM,CAAC,eAAe,GAAG,eAAe;AAC1C,EAAE,MAAM,CAAC,mBAAmB,GAAG,mBAAmB;AAClD;;ACbA,SAAS,qBAAqB,CAAC;AAC/B,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,GAAG;AACL,CAAC,EAAE;AACH,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACpC,IAAI,MAAM,CAAC,MAAM,CAAC;AAClB,MAAM,GAAG,MAAM,CAAC,OAAO;AACvB,MAAM,GAAG,IAAI;AACb,MAAM,OAAO,EAAE;AACf,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO;AACjC,QAAQ,GAAG,IAAI,CAAC;AAChB;AACA,KAAK,CAAC;AACN,EAAE;AACF,EAAE,MAAM,aAAa,GAAG,gBAAgB,EAAE;AAC1C,EAAE,MAAM,QAAQ,mBAAmBC,qBAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3F,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;AAC3B,IAAI,uBAAuBA,qBAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3E,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;AAC7C,EAAE,uBAAuBA,qBAAG,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,kBAAkBA,qBAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;AACpH;;ACzBA,SAAS,oBAAA,GAAuB;AAC9B,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,sBAAA,CAAuB,QAAQ,IAAI,CAAA;AACrC;AACA,SAAS,kBAAkB,MAAA,EAAQ;AACjC,EAAA,oBAAA,EAAqB;AAMrB,EAAA,OAAO,IAAA;AACT;AACA,SAAS,4BAA4B,OAAA,EAAS;AAC5C,EAAA,oBAAA,EAAqB;AACrB,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAA,IAAU,8BAAA;AACjC,EAAA,IAAI,eAAA,GAAkB,EAAA;AACtB,EAAA,IAAI,QAAQ,EAAA,EAAI;AACd,IAAA,eAAA,GAAkB,CAAA,6BAAA,EAAgC,QAAQ,EAAE,CAAA,EAAA,CAAA;AAAA,EAC9D,CAAA,MAAO;AACL,IAAA,MAAM,OAAA,GAAU,QAAQ,UAAA,IAAa;AACrC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA;AAAA,IACF;AACA,IAAA,eAAA,GAAkB,OAAA,YAAmB,MAAA,GAAS,QAAA,GAAW,cAAA,CAAe,OAAO,CAAA;AAAA,EACjF;AACA,EAAA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,cAAc,CAAA;AAC/C,EAAA,MAAM,KAAA,GAAQ,sBAAA,EAAwB,KAAA,CAAM,UAAU,CAAA;AACtD,EAAA,OAAO,QAAQ,eAAe,CAAA;AAChC;;AChCA,MAAAD,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAEA,SAAS,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC9C,EAAE,IAAI,IAAI,KAAK,MAAM,EAAE;AACvB,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,MAAM,IAAI;AAC/B,MAAM,YAAY,EAAE;AACpB,KAAK;AACL,EAAE;AACF,EAAE,IAAI,eAAe,IAAI,IAAI,EAAE;AAC/B,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AAClC,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;AACnD,IAAI,MAAM,iBAAiB,GAAG,YAAY;AAC1C,MAAM,IAAI,YAAY,EAAE,OAAO,MAAM,IAAI,EAAE;AAC3C,MAAM,OAAO,KAAK;AAClB,IAAI,CAAC;AACL,IAAI,OAAO;AACX,MAAM,aAAa,EAAE,iBAAiB;AACtC,MAAM,kBAAkB,EAAE,YAAY;AACtC,MAAM,YAAY,EAAE;AACpB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;AACrD,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS;AAC3B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE;AACrC,EAAE,MAAM;AACR,IAAI,aAAa;AACjB,IAAI,kBAAkB,GAAG,IAAI;AAC7B,IAAI,QAAQ,GAAG,KAAK;AACpB,IAAI,YAAY,GAAG;AACnB,GAAG,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAGA,OAAK,CAAC,QAAQ,CAAC;AACjD,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,KAAK,EAAE;AACX,GAAG,CAAC;AACJ,EAAEA,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK;AACvD,MAAM,SAAS,WAAW,CAAC,QAAQ,EAAE;AACrC,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC7D,QAAQ,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC9E,QAAQ,IAAI,aAAa,CAAC,UAAU,KAAK,MAAM,EAAE;AACjD,UAAU,OAAO;AACjB,YAAY,OAAO,EAAE,cAAc;AACnC,YAAY,QAAQ,EAAE,cAAc,CAAC,QAAQ;AAC7C,YAAY,QAAQ,EAAE,cAAc,CAAC,QAAQ;AAC7C,YAAY,MAAM,EAAE,aAAa,CAAC,WAAW;AAC7C,YAAY,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM;AAC9D,WAAW;AACX,QAAQ;AACR,QAAQ,OAAO;AACf,UAAU,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE;AAC9C,UAAU,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ;AACrD,UAAU,QAAQ,EAAE,cAAc,CAAC,QAAQ;AAC3C,UAAU,MAAM,EAAE,aAAa,CAAC,WAAW;AAC3C,UAAU,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM;AAC5D,SAAS;AACT,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC;AAChE,MAAM,MAAM,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;AAC1D,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,EAAE;AACjF,QAAQ,OAAO,KAAK;AACpB,MAAM;AACN,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC;AAC9C,QAAQ,MAAM,EAAE,aAAa,CAAC,MAAM;AACpC,QAAQ,OAAO;AACf,QAAQ;AACR,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,YAAY,EAAE;AACzB,QAAQ,OAAO,WAAW;AAC1B,MAAM;AACN,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,OAAO,KAAK;AACpB,MAAM;AACN,MAAM,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK;AAC/C,QAAQ,WAAW,CAAC;AACpB,UAAU,MAAM,EAAE,SAAS;AAC3B,UAAU,OAAO;AACjB,UAAU,IAAI;AACd,UAAU,MAAM,EAAE,aAAa,CAAC,MAAM;AACtC,UAAU,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;AACvC,UAAU,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI;AACnC,SAAS,CAAC;AACV,MAAM,CAAC,CAAC;AACR,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO;AAC5C,MAAM,WAAW,CAAC;AAClB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,IAAI,EAAE,MAAM;AACpB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,MAAM,OAAO,gBAAgB;AAC7B,IAAI,CAAC;AACL,IAAI,OAAO,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC;AAClG,EAAE,CAAC,EAAE;AACL,IAAI,aAAa;AACjB,IAAI,kBAAkB;AACtB,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,OAAO;AACX,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,MAAM,yBAAyB,GAAG,CAAC,KAAK,KAAK;AAC7C,EAAE,IAAI,eAAe,IAAI,KAAK,EAAE;AAChC,IAAI,OAAO,EAAE,GAAG,KAAK,EAAE;AACvB,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACtD,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS;AAC5B,EAAE,MAAM,gBAAgB,GAAG,YAAY;AACvC,IAAI,IAAI,WAAW,IAAI,EAAE,KAAK,MAAM,EAAE;AACtC,MAAM,OAAO,MAAM,EAAE,EAAE;AACvB,IAAI;AACJ,IAAI,OAAO,WAAW;AACtB,EAAE,CAAC;AACH,EAAE,OAAO;AACT,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,kBAAkB,EAAE,WAAW;AACnC,IAAI,YAAY,EAAE,EAAE,KAAK;AACzB,GAAG;AACH,CAAC;AACD,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI;AACpC,EAAE,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC;AAC9C,EAAE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;AACnC,EAAE,OAAO,QAAQ,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,IAAI;AACzF;;ACnJA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,EAAE,OAAO,QAAQ,CAAC;AAClB,IAAI,GAAG,IAAI;AACX,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;AACxE,GAAG,CAAC;AACJ;;ACLA,SAAS,WAAW,CAAC,IAAI,EAAE;AAC3B,EAAE,OAAO,cAAc,CAAC;AACxB,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC1E,GAAG,CAAC;AACJ;;ACJA,SAAS,YAAY,GAAG;AACxB,EAAE,OAAO,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;AAC9E;;ACFA,MAAAA,OAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAGA,SAAS,KAAK,CAAC;AACf,EAAE,GAAG;AACL,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE;AACF,CAAC,EAAE;AACH,EAAE,QAAQ,GAAG;AACb,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBC,qBAAG,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjG,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AACtF,IAAI,KAAK,MAAM;AACf,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;AAC7F,IAAI,KAAK,OAAO;AAChB,MAAM,uBAAuBA,qBAAG;AAChC,QAAQ,OAAO;AACf,QAAQ;AACR,UAAU,GAAG,KAAK;AAClB,UAAU,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACvD,UAAU;AACV;AACA,OAAO;AACP,IAAI,KAAK,QAAQ;AACjB,MAAM,uBAAuBA,qBAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7D,IAAI;AACJ,MAAM,OAAO,IAAI;AACjB;AACA;AACA,SAAS,MAAM,CAAC;AAChB,EAAE,KAAK;AACP,EAAE;AACF,CAAC,EAAE;AACH,EAAiB,SAAS;AAC1B,EAAED,OAAK,CAAC,SAAS,CAAC,MAAM;AACxB,IAAI,IAAI,KAAK,EAAE,GAAG,EAAE;AACpB,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM;AAC7B,QAAQ,IAAI;AACZ,UAAU,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI;AAC/D,UAAU,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI;AAC9C,QAAQ,CAAC,CAAC,MAAM;AAChB,UAAU,OAAO,KAAK,CAAC,GAAG;AAC1B,QAAQ;AACR,MAAM,CAAC,GAAG;AACV,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI;AACvC,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,aAAa;AAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,OAAO,CAAC;AACxC,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxD,QAAQ,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACvF,UAAU,MAAM,CAAC,YAAY;AAC7B,YAAY,GAAG;AACf,YAAY,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC1D,WAAW;AACX,QAAQ;AACR,MAAM;AACN,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C,QAAQ;AACR,MAAM,CAAC;AACP,IAAI;AACJ,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACtC,MAAM,MAAM,QAAQ,GAAG,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,GAAG,iBAAiB;AACvF,MAAM,MAAM,SAAS,GAAG,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;AAC/E,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI;AACvC,QAAQ,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB;AACrD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK;AACrB,QAAQ,IAAI,EAAE,EAAE,YAAY,iBAAiB,CAAC,EAAE,OAAO,KAAK;AAC5D,QAAQ,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,iBAAiB;AAClE,QAAQ,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,MAAM;AACzD,QAAQ,OAAO,EAAE,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS;AACxF,MAAM,CAAC,CAAC;AACR,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ;AACR,MAAM;AACN,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,MAAM,MAAM,CAAC,WAAW,GAAG,QAAQ;AACnC,MAAM,IAAI,KAAK,EAAE;AACjB,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1D,UAAU,IAAI,GAAG,KAAK,0BAA0B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;AACzF,YAAY,MAAM,CAAC,YAAY;AAC/B,cAAc,GAAG;AACjB,cAAc,OAAO,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK;AAC5D,aAAa;AACb,UAAU;AACV,QAAQ;AACR,MAAM;AACN,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AACvC,MAAM,OAAO,MAAM;AACnB,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AAC/B,UAAU,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;AAC/C,QAAQ;AACR,MAAM,CAAC;AACP,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvB,EAAsC;AACtC,IAAI,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE;AACxC,IAAI,uBAAuBC,qBAAG;AAC9B,MAAM,QAAQ;AACd,MAAM;AACN,QAAQ,wBAAwB,EAAE,IAAI;AACtC,QAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AAC/C,QAAQ,GAAG;AACX;AACA,KAAK;AACL,EAAE;AAeF;;ACjIA,MAAA,KAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIK,MAAC,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;AACzC,EAAE,MAAM,SAAS,GAAG,cAAc,CAAC;AACnC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACrE,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;AACnC,IAAI,MAAM,UAAU,GAAG,EAAE;AACzB,IAAI,MAAM,eAAe,GAAG,EAAE;AAC9B,IAAI,IAAI,KAAK;AACb,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACpD,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;AAChC,MAAM,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAClD,QAAQ,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE;AACrB,UAAU,IAAI,CAAC,KAAK,EAAE;AACtB,YAAY,KAAK,GAAG;AACpB,cAAc,GAAG,EAAE,OAAO;AAC1B,cAAc,QAAQ,EAAE,CAAC,CAAC;AAC1B,aAAa;AACb,UAAU;AACV,QAAQ,CAAC,MAAM,IAAI,gBAAgB,IAAI,CAAC,EAAE;AAC1C,UAAU,IAAI;AACd,YAAY,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC5D,YAAY,UAAU,CAAC,IAAI,CAAC;AAC5B,cAAc,GAAG,EAAE,QAAQ;AAC3B,cAAc,KAAK,EAAE;AACrB,gBAAgB,IAAI,EAAE;AACtB,eAAe;AACf,cAAc,QAAQ,EAAE,UAAU,CAAC,IAAI;AACvC,aAAa,CAAC;AACd,UAAU,CAAC,CAAC,MAAM;AAClB,UAAU;AACV,QAAQ,CAAC,MAAM;AACf,UAAU,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;AAChD,UAAU,IAAI,SAAS,EAAE;AACzB,YAAY,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE;AAC5C,cAAc;AACd,YAAY,CAAC,MAAM;AACnB,cAAc,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI;AAC/C,YAAY;AACZ,UAAU;AACV,UAAU,UAAU,CAAC,IAAI,CAAC;AAC1B,YAAY,GAAG,EAAE,MAAM;AACvB,YAAY,KAAK,EAAE;AACnB,cAAc,GAAG,CAAC;AAClB,cAAc;AACd;AACA,WAAW,CAAC;AACZ,QAAQ;AACR,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,IAAI;AACJ,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,UAAU,CAAC,IAAI,CAAC;AACtB,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,KAAK,EAAE;AACf,UAAU,QAAQ,EAAE,WAAW;AAC/B,UAAU,OAAO,EAAE;AACnB;AACA,OAAO,CAAC;AACR,IAAI;AACJ,IAAI,UAAU,CAAC,OAAO,EAAE;AACxB,IAAI,OAAO,UAAU;AACrB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACxB,EAAE,MAAM,KAAK,GAAG,cAAc,CAAC;AAC/B,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AAC3G,QAAQ,GAAG,EAAE,MAAM;AACnB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,IAAI;AACjB,UAAU;AACV;AACA,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ;AAC3C,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,GAAG;AACpK,QAAQ,CAAC,KAAK,MAAM;AACpB,UAAU,GAAG,EAAE,MAAM;AACrB,UAAU,KAAK,EAAE;AACjB,YAAY,GAAG,KAAK,CAAC,KAAK;AAC1B,YAAY,wBAAwB,EAAE,IAAI;AAC1C,YAAY;AACZ;AACA,SAAS;AACT,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;AACxC,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,aAAa,GAAG,EAAE;AAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAC1G,UAAU,aAAa,CAAC,IAAI,CAAC;AAC7B,YAAY,GAAG,EAAE,MAAM;AACvB,YAAY,KAAK,EAAE;AACnB,cAAc,GAAG,EAAE,eAAe;AAClC,cAAc,IAAI,EAAE,OAAO;AAC3B,cAAc;AACd;AACA,WAAW,CAAC;AACZ,QAAQ,CAAC;AACT,OAAO;AACP,MAAM,OAAO,aAAa;AAC1B,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC;AAChC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,MAAM;AAC3H,MAAM,GAAG,EAAE,OAAO;AAClB,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG,KAAK;AAChB,QAAQ;AACR,OAAO;AACP,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACjI,MAAM,GAAG,EAAE,QAAQ;AACnB,MAAM,KAAK,EAAE;AACb,QAAQ,GAAG,MAAM;AACjB,QAAQ;AACR,OAAO;AACP,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,OAAO,MAAM;AACf,IAAI;AACJ,MAAM,GAAG,IAAI;AACb,MAAM,GAAG,YAAY;AACrB,MAAM,GAAG,KAAK;AACd,MAAM,GAAG,MAAM;AACf,MAAM,GAAG;AACT,KAAK;AACL,IAAI,CAAC,CAAC,KAAK;AACX,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9B,IAAI;AACJ,GAAG;AACH;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE;AACzB,EAAE,MAAM,IAAI,mBAAmB,IAAI,GAAG,EAAE;AACxC,EAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC9B,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AACxB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACvB,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjB,IAAI,OAAO,IAAI;AACf,EAAE,CAAC,CAAC;AACJ;;ACjKA,MAAA,gBAAAQ,eAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIA,SAAS,WAAW,GAAG;AACvB,EAAE,MAAM,IAAI,GAAG,OAAO,EAAE;AACxB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;AACzC,EAAE,uBAAuBR,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqBE,eAAa,CAAC,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;AACxK;;ACTA,MAAA,CAAA,aAAA,CAAA,GAAA,MAAA,YAAA,CAAA,OAAA,CAAA;AAIK,MAAC,OAAO,GAAG,MAAM;AACtB,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE;AAC5B,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;AACzC,EAAE,MAAM,YAAY,GAAG,cAAc,CAAC;AACtC,IAAI,MAAM,EAAE,CAAC,KAAK,KAAK;AACvB,MAAM,MAAM,aAAa,GAAG,EAAE;AAC9B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ;AAC3C,MAAM,IAAI,CAAC,QAAQ,EAAE;AACrB,QAAQ,OAAO,EAAE;AACjB,MAAM;AACN,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;AACjF,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC3G,UAAU,aAAa,CAAC,IAAI,CAAC;AAC7B,YAAY,GAAG,EAAE,QAAQ;AACzB,YAAY,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE;AAC5C,YAAY,QAAQ,EAAE,KAAK,CAAC;AAC5B,WAAW,CAAC;AACZ,QAAQ,CAAC;AACT,OAAO;AACP,MAAM,OAAO,aAAa;AAC1B,IAAI,CAAC;AACL,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC;AACrC,IAAI,MAAM,EAAE,CAAC,KAAK,MAAM;AACxB,MAAM,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,MAAM;AACrH,QAAQ,GAAG,EAAE,QAAQ;AACrB,QAAQ,KAAK,EAAE;AACf,UAAU,GAAG,MAAM;AACnB,UAAU,wBAAwB,EAAE,IAAI;AACxC,UAAU;AACV,SAAS;AACT,QAAQ;AACR,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,IAAI,oBAAoB,GAAG,MAAM;AACnC,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE;AACxB,IAAI,oBAAoB,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;AACjE,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC;AAClD,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC;AAC5C,EAAE;AACF,EAAE,uBAAuBR,qBAAG,CAACM,0BAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,qBAAqB,aAAa,CAAC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC5K;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]}
|