{"version":3,"sources":["./src/app/components/account/account.component.ts","./src/app/components/account/account.component.html","./src/app/screens/canvassing-photos/canvassing-photos.component.ts","./src/app/screens/canvassing-photos/canvassing-photos.component.html","./src/app/screens/dsozo-camp-photos/dsozo-camp-photos.component.ts","./src/app/screens/dsozo-camp-photos/dsozo-camp-photos.component.html","./src/app/dialogs/prompt/prompt.component.ts","./src/app/dialogs/prompt/prompt.component.html","./src/app/services/stripe.service.ts","./src/app/dialogs/choose-avatar/choose-avatar.component.ts","./src/app/dialogs/choose-avatar/choose-avatar.component.html","./src/app/components/menu/menu.component.ts","./src/app/components/menu/menu.component.html","./src/app/services/utils.service.ts","./src/app/screens/support/support.component.ts","./src/app/screens/support/support.component.html","./src/app/components/login-with-provider/login-with-provider.component.ts","./src/app/components/login-with-provider/login-with-provider.component.html","./src/app/pipes/toDate.ts","./src/app/screens/music-camp-photos/music-camp-photos.component.ts","./src/app/screens/music-camp-photos/music-camp-photos.component.html","./src/app/panel/panel.component.ts","./src/app/panel/panel.component.html","./src/app/screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component.ts","./src/app/screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component.html","./src/app/components/share/share.component.ts","./src/app/components/share/share.component.html","./src/app/screens/contact-us/contact-us.component.ts","./src/app/screens/contact-us/contact-us.component.html","./src/app/components/account/account-payment-sources/account-payment-sources.component.ts","./src/app/components/account/account-payment-sources/account-payment-sources.component.html","./src/app/components/button/button.component.ts","./src/app/components/button/button.component.html","./src/app/modules/material-modules.ts","./src/app/dialogs/login-dialog/login-dialog.component.ts","./src/app/dialogs/login-dialog/login-dialog.component.html","./src/app/screens/about/about.component.ts","./src/app/screens/about/about.component.html","./src/environments/environment.ts","./src/app/screens/activity-stream/activity-stream.component.ts","./src/app/screens/activity-stream/activity-stream.component.html","./src/app/dialogs/login-providers-dialog/login-providers-dialog.component.ts","./src/app/dialogs/login-providers-dialog/login-providers-dialog.component.html","./src/app/screens/auth/signup/signup.component.ts","./src/app/screens/auth/signup/signup.component.html","./src/app/directives/auto-focus.directive.ts","./src/app/screens/tos/tos.component.ts","./src/app/screens/tos/tos.component.html","./src/app/screens/view-receipt/view-receipt.component.ts","./src/app/screens/view-receipt/view-receipt.component.html","./src/app/dialogs/watch-story/watch-story.component.ts","./src/app/dialogs/watch-story/watch-story.component.html","./src/app/screens/view-post/view-post.component.ts","./src/app/screens/view-post/view-post.component.html","./src/app/components/eastward-header-nav/eastward-header-nav.component.ts","./src/app/components/eastward-header-nav/eastward-header-nav.component.html","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/news-overlay/news-overlay.component.ts","./src/app/components/news-overlay/news-overlay.component.html","./src/app/services/auth-guard.service.ts","./src/app/components/subscribe/subscribe.component.ts","./src/app/components/subscribe/subscribe.component.html","./src/app/components/comments/comments.component.ts","./src/app/components/comments/comments.component.html","./src/app/components/open-news-post/open-news-post.component.ts","./src/app/components/open-post-image/open-post-image.component.ts","./src/app/components/open-post-image/open-post-image.component.html","./src/app/services/window.service.ts","./src/app/pipes/time-ago.pipe.ts","./src/app/screens/home/home.component.ts","./src/app/screens/home/home.component.html","./src/app/directives/in-view.directive.ts","./src/app/components/section/section.component.ts","./src/app/components/section/section.component.html","./src/app/modules/colors.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/screens/privacy-policy/privacy-policy.component.ts","./src/app/screens/privacy-policy/privacy-policy.component.html","./src/app/screens/feasibility-survey/feasibility-survey.component.ts","./src/app/screens/feasibility-survey/feasibility-survey.component.html","./src/app/screens/magabooks/magabooks.component.ts","./src/app/screens/magabooks/magabooks.component.html","./src/app/components/icon/icon.component.ts","./src/app/screens/page404/page404.component.ts","./src/app/screens/page404/page404.component.html","./src/app/dialogs/notification-thanks/notification-thanks.component.ts","./src/app/dialogs/notification-thanks/notification-thanks.component.html","./src/app/dialogs/confirmation-dialog/confirmation-dialog.component.ts","./src/app/dialogs/confirmation-dialog/confirmation-dialog.component.html","./src/app/dialogs/preview-avatar/preview-avatar.component.ts","./src/app/dialogs/preview-avatar/preview-avatar.component.html","./src/app/screens/auth/login/login.component.ts","./src/app/screens/auth/login/login.component.html","./src/app/screens/canvassing/canvassing.component.ts","./src/app/screens/canvassing/canvassing.component.html","./src/app/app.module.ts","./src/app/services/db.service.ts","./src/app/components/abassador-program/abassador-program.component.ts","./src/app/components/abassador-program/abassador-program.component.html","./src/app/components/news-social-summary/news-social-summary.component.ts","./src/app/components/news-social-summary/news-social-summary.component.html","./src/app/screens/donation-receipt/donation-receipt.component.ts","./src/app/screens/donation-receipt/donation-receipt.component.html","./src/app/data/schema.ts","./src/app/components/show-address/show-address.component.ts","./src/app/components/show-address/show-address.component.html","./src/app/screens/ambassadors/ambassadors.component.ts","./src/app/screens/ambassadors/ambassadors.component.html","./src/app/screens/all-posts/all-posts.component.ts","./src/app/screens/all-posts/all-posts.component.html","./src/app/dialogs/view-author/view-author.component.ts","./src/app/dialogs/view-author/view-author.component.html","./src/app/screens/auth/reset-pwd/reset-pwd.component.ts","./src/app/screens/auth/reset-pwd/reset-pwd.component.html","./src/app/services/auth.service.ts","./src/app/components/back-header/back-header.component.ts","./src/app/components/back-header/back-header.component.html","./src/app/services/donationPmt.service.ts","./src/app/screens/auth/recover-pwd/recover-pwd.component.ts","./src/app/screens/auth/recover-pwd/recover-pwd.component.html","./src/app/screens/my-notifications/my-notifications.component.ts","./src/app/screens/my-notifications/my-notifications.component.html","./src/app/components/fullscreen-image/fullscreen-image.component.ts","./src/app/components/fullscreen-image/fullscreen-image.component.html","./src/app/component/news/news.component.ts","./src/app/component/news/news.component.html","./src/app/components/photo-gallery/photo-gallery.component.ts","./src/app/components/photo-gallery/photo-gallery.component.html","./src/app/components/donate/donate.component.ts","./src/app/components/donate/donate.component.html","./src/app/services/router-events.service.ts","./src/app/services/DataStore.ts","./src/app/app-routing.module.ts","./src/app/components/account/account-personal-details/account-personal-details.component.ts","./src/app/components/account/account-personal-details/account-personal-details.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC/C,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,4BAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACrD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACzD,CAAC,mCAAmC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC5D,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACzD,CAAC,+BAA+B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACxD,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACvD,CAAC,4BAA4B,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YACpD,CAAC,wCAAwC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAChE,CAAC,6BAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACtD,CAAC,oEAAoE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7F,CAAC,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9C,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChD,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAChD,CAAC,oDAAoD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7E,CAAC,oDAAoD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7E,CAAC,oDAAoD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7E,CAAC,uDAAuD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChF,CAAC,2CAA2C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpE,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnD,CAAC,0CAA0C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnE,CAAC,uDAAuD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChF,CAAC,iDAAiD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1E,CAAC,mDAAmD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC5E,CAAC,iDAAiD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1E,CAAC,gDAAgD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACzE,CAAC,iDAAiD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1E,CAAC,yCAAyC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAClE,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,yCAAyC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAClE,CAAC,0CAA0C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnE,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1D,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,wCAAwC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACjE,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,sCAAsC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC/D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,yDAAyD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAClF,CAAC,yDAAyD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAClF,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,mCAAmC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC5D,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1D,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,uCAAuC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC/D,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,+CAA+C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACxE,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,gCAAgC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACzD,CAAC,wCAAwC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACjE,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC1D,CAAC,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAChE,CAAC,6CAA6C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACtE,CAAC,oDAAoD,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC5E,CAAC,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC1D,CAAC,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC1D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC1D,CAAC,kCAAkC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC1D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC;YACzD,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,qCAAqC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC9D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,kCAAkC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC3D,CAAC,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpD,CAAC,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpD,CAAC,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpD,CAAC,2BAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YACnD,CAAC,+BAA+B,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YACvD,CAAC,2CAA2C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpE,CAAC,mEAAmE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC5F,CAAC,sEAAsE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC/F,CAAC,mEAAmE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC5F,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnD,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnD,CAAC,0BAA0B,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACnD,CAAC,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YAC7D,CAAC,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC7C,CAAC,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC7C,CAAC,yBAAyB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YACjD,CAAC,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC7C,CAAC,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC7C,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAChD,CAAC,qBAAqB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAC7C,CAAC,wBAAwB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;YAChD,CAAC,2CAA2C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;YACpE,CAAC,kDAAkD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC;SAC5E,CAAC;IAhPE,CAAC;IAkPL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,+FAA+F;SAC7G,CAAC,CAAC;IACL,CAAC;;gGA5PU,wBAAwB;wGAAxB,wBAAwB;QCRrC,gFAAwF;QAExF,kFAA4D;;QAAzC,0DAAoB;QAApB,iFAAoB;;6FDM1B,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,uBAAuB;gBACjC,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAyD;AACmB;;;;;AAOrE,MAAM,cAAc;IAQzB;QANS,UAAK,GAAmB,OAAO,CAAC;QAChC,UAAK,GAAG,EAAE,CAAC;QAGpB,UAAK,GAAsB,IAAI,CAAC;IAEhB,CAAC;IAEjB,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,2DAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;;4EAdU,cAAc;8FAAd,cAAc;;QCR3B,yEAEI;QAAA,yEACI;QAAA,6DAAyB;QAC7B,4DAAM;QAEV,4DAAM;;QANa,uTAA6L;;6FDQnM,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;sCAGU,KAAK;kBAAb,mDAAK;YACG,KAAK;kBAAb,mDAAK;YACG,MAAM;kBAAd,mDAAK;YACG,OAAO;kBAAf,mDAAK;;;;;;;;;;;;;;AEbR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;AAQ3C,MAAM,gCAAgC;IAE3C,YAAoB,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IACvC,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,gCAAgC;YAC9C,KAAK,EAAE,gCAAgC;YACvC,WAAW,EAAE,EAAE;YACf,KAAK,EAAE,kEAAkE,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB;SAChH,CAAC,CAAC;IACL,CAAC;;gHAZU,gCAAgC;gHAAhC,gCAAgC;QCR7C,qFAAmD;QAEnD,yEACI;QAAA,oEACJ;QAAA,4DAAM;QAEN,yEACI;QAAA,yEACI;QAAA,qEAAI;QAAA,uEAAY;QAAA,4DAAK;QACrB,oEAAyB;QACzB,uEAA2G;QAAA,mEAAQ;QAAA,4DAAI;QAC3H,4DAAS;QACT,0EAA2B;QAC3B,0EACI;QAAA,0EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,0EAAiB;QAAA,2EAAe;QAAA,4DAAM;QAC1C,4DAAM;QACN,0EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,0EAAiB;QAAA,mFAAuB;QAAA,iEAAK;QAAA,4EAAe;QAAA,iEAAK;QAAA,+EAAkB;QAAA,4DAAM;QAC7F,4DAAM;QACN,0EACI;QAAA,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QACjC,0EAAiB;QAAA,6EAAiB;QAAA,4DAAM;QACxC,0EAAiB;QAAA,yEAAO;QAAA,6FAAqC;QAAA,4DAAQ;QAAA,4DAAM;QAC/E,4DAAM;QACV,4DAAM;QACN,0EAA2B;QAC3B,0EACI;QAAA,2EACI;QAAA,sEAAI;QAAA,sEAAU;QAAA,4DAAK;QACnB,qEAAG;QAAA,0FAA8B;QAAA,iEAAK;QAAA,mFAAsB;QAAA,iEAAK;QAAA,uFAA0B;QAAA,4DAAI;QACnG,4DAAM;QACN,2EACI;QAAA,sEAAI;QAAA,wEAAY;QAAA,4DAAK;QACrB,qEAAG;QAAA,qFAAyB;QAAA,iEAAK;QAAA,oFAAuB;QAAA,iEAAK;QAAA,qFAAwB;QAAA,4DAAI;QAC7F,4DAAM;QACN,2EACI;QAAA,sEAAI;QAAA,0EAAc;QAAA,4DAAK;QACvB,qEACI;QAAA,+EAAkB;QAAA,iEAAK;QAAA,qEAAQ;QAAA,iEAAK;QAAA,8EACxC;QAAA,4DAAI;QACR,4DAAM;QACV,4DAAM;QACN,uEAAK;QAAA,iEAAI;QAAA,4DAAM;QACf,sEAAI;QAAA,qEAAS;QAAA,4DAAK;QAClB,qEAAG;QAAA,qQAA0M;QAAA,4DAAI;QACjN,qEAAG;QAAA,iOAAqK;QAAA,4DAAI;QAC5K,qEAAG;QAAA,2FAA+B;QAAA,4DAAI;QACtC,uEAAK;QAAA,iEAAI;QAAA,4DAAM;QACf,2EACI;QAAA,yEAA8F;QAAA,2EAAe;QAAA,4DAAI;QAAC,oEAClH;QAAA,yEAA4C;QAAA,sEAAU;QAAA,4DAAI;QAC9D,4DAAM;QACN,uEAAK;QAAA,iEAAI;QAAA,4DAAM;QACf,uEAAK;QAAA,iEAAI;QAAA,4DAAM;QACnB,4DAAM;;6FDjDO,gCAAgC;cAL5C,uDAAS;eAAC;gBACT,QAAQ,EAAE,kCAAkC;gBAC5C,WAAW,EAAE,+CAA+C;gBAC5D,SAAS,EAAE,CAAC,+CAA+C,CAAC;aAC7D;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACD;;;;AAOlD,MAAM,cAAc;IAEzB,YAC0B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IACpC,CAAC;IAEL,QAAQ;IACR,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;IACpF,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACvE,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;IACxG,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;4EA3BU,cAAc,kEAGf,sEAAM;8FAHL,cAAc;QCR3B,yEACI;QAAA,qEAAI;QAAA,4EAAiB;QAAA,4DAAK;QAC1B,oEAAG;QAAA,wGAAyB;QAAA,gEAAK;QAAA,qFAAyB;QAAA,4DAAI;QAC9D,yEACI;QAAA,4EACA;QADkB,sIAAS,aAAS,IAAC;QACrC,2EAAU;QAAA,oEAAQ;QAAA,4DAAW;QAC7B,wEAAM;QAAA,oEAAQ;QAAA,4DAAO;QACzB,4DAAS;QACL,6EACA;QADkB,uIAAS,kBAAc,IAAC;QAC1C,4EAAU;QAAA,mEAAO;QAAA,4DAAW;QAC5B,wEAAM;QAAA,mEAAO;QAAA,4DAAO;QACxB,4DAAS;QACL,6EACA;QADkB,uIAAS,oBAAgB,IAAC;QAC5C,4EAAU;QAAA,qEAAS;QAAA,4DAAW;QAC9B,wEAAM;QAAA,qEAAS;QAAA,4DAAO;QAC1B,4DAAS;QACL,6EACA;QADkB,uIAAS,gBAAY,IAAC;QACxC,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,wEAAM;QAAA,iEAAK;QAAA,4DAAO;QACtB,4DAAS;QACT,4DAAM;QAEV,4DAAM;;6FDdO,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;sCAImC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;;;;;;;;;;;;;AEXlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsG;AACrD;AACa;;;;;AASvD,MAAM,kBAAkB;IAK7B,YAC4B,QAAkB,EACf,UAAkC,EACvD,cAA8B,EAC9B,KAAmB;QAHD,aAAQ,GAAR,QAAQ,CAAU;QACf,eAAU,GAAV,UAAU,CAAwB;QACvD,mBAAc,GAAd,cAAc,CAAgB;QAC9B,UAAK,GAAL,KAAK,CAAc;QAP7B,aAAQ,GAAG,EAAE,CAAC;QASZ,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE;YACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;SAC/D;QACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,gBAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACnD,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QAEb,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,GAAG,EAAE;;gBACd,UAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,0CAAE,MAAM,GAAG;YACxD,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,EAAE,EAAE;gBACN,0DAAwB,CAAC,EAAE,EAAE,gDAAgD,EAAE;oBAC7E,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;aACJ;SACF;IAEH,CAAC;;oFAzCU,kBAAkB,kEAMnB,wDAAQ,mEACR,yDAAW;kGAPV,kBAAkB;QCX/B,gFAAyF;QACzF,yEACI;QAAA,oEAA2B;QAC/B,4DAAM;QACN,oEAAqB;;QAJe,8EAAiB;;6FDWxC,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;sCAOuC,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;;sBACf,oDAAM;uBAAC,yDAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;AElBiD;;;;;;;;;;;;;;ICUhE,qEACI;IAAA,qEAAI;IAAA,uDAAgB;IAAA,4DAAK;IACzB,qEAAI;IAAA,uDAAgB;IAAA,4DAAK;IACzB,qEAAI;IAAA,uDAA0C;IAAA,4DAAK;IACnD,yEACI;IAAA,iFAAqG;IAA1E,yWAAsB;IAAoD,4DAAa;IACtH,4DAAK;IACT,4DAAK;;;;IANG,0DAAgB;IAAhB,8EAAgB;IAChB,0DAAgB;IAAhB,8EAAgB;IAChB,0DAA0C;IAA1C,2GAA0C;IAEQ,0DAAmC;IAAnC,sGAAmC;;ADD9F,MAAM,8BAA8B;IAkBzC,YACU,IAAiB,EACjB,QAA4B,EAC7B,QAAqB,EACpB,EAAa,EACb,KAAmB;QAJnB,SAAI,GAAJ,IAAI,CAAa;QACjB,aAAQ,GAAR,QAAQ,CAAoB;QAC7B,aAAQ,GAAR,QAAQ,CAAa;QACpB,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAc;QAnB7B,WAAM,GAAsB,IAAI,CAAC;QACjC,qBAAgB,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAG,KAAK,CAAC;QACrB,oBAAe,GAAuB,IAAI,CAAC;QAG3C,kBAAa,GAAQ;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC;QAEF,iBAAY,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,CAAC;IAQG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEK,OAAO;;YACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;KAAA;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;YAElC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAU,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC5D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SAEb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,MAAM,CAAC,IAAS;;YAEpB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBACpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAQ,CAAC;gBAE3D,IAAI,GAAG,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAoB,CAAC;oBAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBAChC;aAEF;QAEH,CAAC;KAAA;IAEK,IAAI;;YAER,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uEAAuE,EAAE,SAAS,EAAE;oBACrG,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,OAAO;aACR;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI;gBAEF,IAAI,YAAY,GAAG;oBACjB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;oBAC/B,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;oBACzC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;oBAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;oBAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;oBACzC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE;iBACtD,CAAC;gBAEF,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAE/D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAElE,IAAI,SAAS,EAAE;oBAEb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE;wBAClD,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;wBACpC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;wBACjC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;wBACpC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;wBACjC,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE;qBACtD,CAAQ,CAAC;oBAEV,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;wBAEhC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAoB,CAAC;wBAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBAE/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,EAAE;4BACrD,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;wBAEH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBAE9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAE3B;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAC3B;iBAEF;qBAAM;oBAEL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAE1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,EAAE;wBACrD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;iBAEJ;aAEF;YAAC,OAAO,CAAC,EAAE;gBAEV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAI,CAAC,CAAC,OAAO,EAAE;oBACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE;wBACnD,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE;wBAClD,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;aAEF;QAEH,CAAC;KAAA;;4GA1JU,8BAA8B;8GAA9B,8BAA8B;;;;;;QCd3C,gFAAgG;QAEhG,yEACI;QAAA,2EACI;QAAA,wEACI;QAAA,qEAAI;QAAA,qEAAU;QAAA,4DAAK;QACnB,qEAAI;QAAA,iEAAM;QAAA,4DAAK;QACf,qEAAI;QAAA,kEAAO;QAAA,4DAAK;QAChB,iEAAS;QACb,4DAAQ;QACR,0HAOK;QACT,4DAAQ;QAER,0EAEI;QAAA,qEAEA;QAAA,yEAAiC;QAAA,2EAAe;QAAA,4DAAK;QAErD,qFAAyE;QAAtB,wMAAqB;QAAC,4DAAc;QAEvF,0EACI;QAAA,kFAAmF;QAAvD,2JAAS,UAAM,IAAC;QAAuC,4DAAa;QAAC,iEACjG;QAAA,kFAAsH;QAA1G,2MAA8C;QAA4D,4DAAa;QACvI,4DAAM;QAEV,4DAAM;QACN,2EACI;QAAA,kFAAkH;QAAtF,kLAA4B,IAAI,IAAC;QAAqD,4DAAa;QACnI,4DAAM;QACV,4DAAM;;QA3BuB,2DAAwC;QAAxC,qOAAwC;QAUxC,0DAA4B;QAA5B,yFAA4B;QAMxB,0DAAyB;QAAzB,sFAAyB;QAGY,0DAAwB;QAAxB,qFAAwB;QACvB,0DAA4B;QAA5B,yFAA4B;QAI7E,0DAA2B;QAA3B,wFAA2B;QACqB,0DAAwB;QAAxB,qFAAwB;;6FDrBjF,8BAA8B;cAL1C,uDAAS;eAAC;gBACT,QAAQ,EAAE,6BAA6B;gBACvC,WAAW,EAAE,0CAA0C;gBACvD,SAAS,EAAE,CAAC,0CAA0C,CAAC;aACxD;udAG0B,UAAU;kBAAlC,uDAAS;mBAAC,YAAY;;;;;;;;;;;;;;AEhBzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACE;;;;;;;;AAO1E,MAAM,eAAe;IAY1B;QATS,YAAO,GAAG,KAAK,CAAC;QAGhB,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,IAAI,CAAC;QACN,UAAK,GAA6B,IAAI,0DAAY,EAAE,CAAC;QAEtE,UAAK,GAAsB,IAAI,CAAC;IAEhB,CAAC;IAEjB,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,kEAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;IAED,aAAa,CAAC,KAAiB;QAC7B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;;8EAzBU,eAAe;+FAAf,eAAe;QCR5B,4EACI;QADI,6IAAS,yBAAqB,IAAC;QACnC,0EAA+D;QAAA,uDAAW;QAAA,4DAAO;QACjF,4EAAoJ;QACxJ,4DAAS;;QAHyC,uRAAuI;QAC/K,0DAAwD;QAAxD,+KAAwD;QAAC,0DAAW;QAAX,0EAAW;QACwC,0DAAmB;QAAnB,gFAAmB;;6FDM5H,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;sCAGU,KAAK;kBAAb,mDAAK;YACG,OAAO;kBAAf,mDAAK;YACG,KAAK;kBAAb,mDAAK;YACG,OAAO;kBAAf,mDAAK;YACG,QAAQ;kBAAhB,mDAAK;YACG,MAAM;kBAAd,mDAAK;YACW,KAAK;kBAArB,oDAAM;;;;;;;;;;;;;;AEhBT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACkB;AACJ;AACA;AACI;AACe;AACR;AACT;AACE;AACF;AACa;AACE;AACT;AACe;AACd;AACM;AACT;;AA2CtD,MAAM,cAAc;;6FAAd,cAAc;sJAAd,cAAc,kBAvChB;YACP,wEAAe;YACf,oEAAa;YACb,oEAAa;YACb,wEAAe;YACf,sEAAe;YACf,+EAAkB;YAClB,sEAAe;YACf,sEAAc;YACd,wEAAe;YACf,sEAAc;YACd,oFAAoB;YACpB,sFAAqB;YACrB,6EAAiB;YACjB,4FAAwB;YACxB,8EAAiB;YACjB,oFAAoB;YACpB,2EAAgB;SACjB,EAEC,wEAAe;QACf,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,sEAAe;QACf,+EAAkB;QAClB,sEAAe;QACf,sEAAc;QACd,wEAAe;QACf,sEAAc;QACd,oFAAoB;QACpB,sFAAqB;QACrB,6EAAiB;QACjB,4FAAwB;QACxB,8EAAiB;QACjB,oFAAoB;QACpB,2EAAgB;mIAGP,cAAc,cAtCvB,wEAAe;QACf,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,sEAAe;QACf,+EAAkB;QAClB,sEAAe;QACf,sEAAc;QACd,wEAAe;QACf,sEAAc;QACd,oFAAoB;QACpB,sFAAqB;QACrB,6EAAiB;QACjB,4FAAwB;QACxB,8EAAiB;QACjB,oFAAoB;QACpB,2EAAgB,aAGhB,wEAAe;QACf,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,sEAAe;QACf,+EAAkB;QAClB,sEAAe;QACf,sEAAc;QACd,wEAAe;QACf,sEAAc;QACd,oFAAoB;QACpB,sFAAqB;QACrB,6EAAiB;QACjB,4FAAwB;QACxB,8EAAiB;QACjB,oFAAoB;QACpB,2EAAgB;6FAGP,cAAc;cAxC1B,sDAAQ;eAAC;gBACR,OAAO,EAAE;oBACP,wEAAe;oBACf,oEAAa;oBACb,oEAAa;oBACb,wEAAe;oBACf,sEAAe;oBACf,+EAAkB;oBAClB,sEAAe;oBACf,sEAAc;oBACd,wEAAe;oBACf,sEAAc;oBACd,oFAAoB;oBACpB,sFAAqB;oBACrB,6EAAiB;oBACjB,4FAAwB;oBACxB,8EAAiB;oBACjB,oFAAoB;oBACpB,2EAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,wEAAe;oBACf,oEAAa;oBACb,oEAAa;oBACb,wEAAe;oBACf,sEAAe;oBACf,+EAAkB;oBAClB,sEAAe;oBACf,sEAAc;oBACd,wEAAe;oBACf,sEAAc;oBACd,oFAAoB;oBACpB,sFAAqB;oBACrB,6EAAiB;oBACjB,4FAAwB;oBACxB,8EAAiB;oBACjB,oFAAoB;oBACpB,2EAAgB;iBACjB;aACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DiD;AACkB;AAE5B;;;;;;;;;;;;;;;ICGhC,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAC9E,4EAA8C;IAAA,wEAAa;IAAA,4DAAY;;;IAQvE,4EAAoD;IAAA,+EAAoB;IAAA,4DAAY;;;IACpF,4EAAmD;IAAA,sHAA2D;IAAA,4DAAY;;;;IAdlI,0EAEI;IAF+F,+UAAmC;IAElI,oFACI;IAAA,sEACA;IAAA,mIAA8E;IAC9E,mIAAuE;IAC3E,4DAAiB;IAEjB,oFACI;IAAA,sEACA;IAAA,4EACI;IAD4C,uUAA4B;IACxE,2EAAU;IAAA,uDAA6C;IAAA,4DAAW;IACtE,4DAAS;IACT,qIAAoF;IACpF,qIAA0H;IAC9H,4DAAiB;IAEjB,qFACI;IAAA,6EAAW;IAAA,uFAA2B;IAAA,4DAAY;IAClD,iFACI;IAAA,iFAAuB;IAAA,0EAAc;IAAA,4DAAa;IAClD,kFAAuB;IAAA,sEAAU;IAAA,4DAAa;IAC9C,kFAAyB;IAAA,qEAAS;IAAA,4DAAa;IAC/C,kFAA0B;IAAA,sEAAU;IAAA,4DAAa;IACjD,kFAA0B;IAAA,uEAAW;IAAA,4DAAa;IAClD,kFAAsB;IAAA,oFAAwB;IAAA,4DAAa;IAC/D,4DAAa;IACjB,4DAAiB;IAEjB,qEACI;IAAA,8EAA+G;IAAA,iEAAK;IAAA,4DAAS;IACjI,4DAAI;IAEJ,uEACI;IAAA,oFAAuB;IAAA,yEAA4C;IAA5B,iTAAkB,QAAQ,IAAC;IAAC,mEAAO;IAAA,4DAAI;IAClF,4DAAM;IACN,uEACI;IAAA,mFAAsB;IAAA,yEAAsD;IAAtC,iTAAkB,kBAAkB,IAAC;IAAC,mEAAO;IAAA,4DAAI;IAC3F,4DAAM;IAEV,4DAAO;;;IAxCD,uFAAuB;IAIT,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAgC;IAAhC,mGAAgC;IAImC,0DAAsC;IAAtC,sGAAsC;IACxC,0DAAmC;IAAnC,wFAAmC;IAClG,0DAA6C;IAA7C,iHAA6C;IAE/C,0DAAsC;IAAtC,yGAAsC;IACtC,0DAAqC;IAArC,wGAAqC;IAgBoB,2DAAyC;IAAzC,gHAAyC;;;IAgB9G,4EAAuD;IAAA,gFAAqB;IAAA,4DAAY;;;IAKxF,4EAAsD;IAAA,+EAAoB;IAAA,4DAAY;;;IAKtF,4EAAuD;IAAA,4EAAiB;IAAA,4DAAY;;;IACpF,4EAAoD;IAAA,wEAAa;IAAA,4DAAY;;;IAS7E,4EAA0D;IAAA,+EAAoB;IAAA,4DAAY;;;IAC1F,4EAAyD;IAAA,sHAA2D;IAAA,4DAAY;;;;IAzBxI,0EAEI;IAFkG,qVAAqC;IAEvI,oFACI;IAAA,uEACA;IAAA,mIAAwF;IAC5F,4DAAiB;IAEjB,oFACI;IAAA,uEACA;IAAA,mIAAsF;IAC1F,4DAAiB;IAEjB,oFACI;IAAA,uEACA;IAAA,mIAAoF;IACpF,qIAA6E;IACjF,4DAAiB;IAEjB,sFACI;IAAA,wEACA;IAAA,6EACJ;IADoD,4UAA4B;IAChF,4EAAU;IAAA,wDAA6C;IAAA,4DAAW;IACtE,4DAAS;IACD,4EAAU;IAAA,uHAA2D;IAAA,4DAAW;IAChF,qIAA0F;IAC1F,qIAAgI;IACpI,4DAAiB;IAEjB,qEACI;IAAA,8EAAgH;IAAA,kEAAM;IAAA,4DAAS;IACnI,4DAAI;IAEJ,uEACI;IAAA,sFAAyB;IAAA,yEAA2C;IAA3B,kTAAkB,OAAO,IAAC;IAAC,iEAAK;IAAA,4DAAI;IACjF,4DAAM;IAEV,4DAAO;;;IApCD,wFAAwB;IAIV,0DAAyC;IAAzC,4GAAyC;IAKzC,0DAAwC;IAAxC,2GAAwC;IAKxC,0DAAyC;IAAzC,4GAAyC;IACzC,0DAAsC;IAAtC,yGAAsC;IAI6B,0DAAsC;IAAtC,sGAAsC;IACxC,0DAAmC;IAAnC,wFAAmC;IAC1G,0DAA6C;IAA7C,iHAA6C;IAGvC,0DAA4C;IAA5C,+GAA4C;IAC5C,0DAA2C;IAA3C,8GAA2C;IAIc,0DAA0C;IAA1C,iHAA0C;;;IAa/G,4EAAwD;IAAA,4EAAiB;IAAA,4DAAY;;;IACrF,4EAAqD;IAAA,wEAAa;IAAA,4DAAY;;;;IALtF,0EAEI;IAF+G,uVAAuC;IAEtJ,oFACI;IAAA,sEACA;IAAA,mIAAqF;IACrF,mIAA8E;IAClF,4DAAiB;IAEjB,oEACI;IAAA,6EAAiH;IAAA,kEAAO;IAAA,4DAAS;IACrI,4DAAI;IAEJ,sEACI;IAAA,wEAA2C;IAA3B,iTAAkB,OAAO,IAAC;IAAC,iEAAK;IAAA,4DAAI;IACxD,4DAAM;IAEV,4DAAO;;;IAhBD,yFAAyB;IAIX,0DAA0C;IAA1C,6GAA0C;IAC1C,0DAAuC;IAAvC,0GAAuC;IAIkB,0DAA2C;IAA3C,kHAA2C;;AD5EjH,MAAM,oBAAoB;IAS/B,YACU,IAAiB,EACjB,SAA6C,EAC9C,QAAqB,EACpB,EAAa;QAHb,SAAI,GAAJ,IAAI,CAAa;QACjB,cAAS,GAAT,SAAS,CAAoC;QAC9C,aAAQ,GAAR,QAAQ,CAAa;QACpB,OAAE,GAAF,EAAE,CAAW;QAXvB,cAAS,GAAqB,IAAI,CAAC;QACnC,eAAU,GAAqB,IAAI,CAAC;QACpC,gBAAW,GAAqB,IAAI,CAAC;QACrC,aAAQ,GAAG,KAAK,CAAC;QACjB,YAAO,GAAG,IAAI,CAAC;QACf,WAAM,GAA4C,OAAO,CAAC;QAsCnD,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAC3D,OAAO,WAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC5E,CAAC;QAEM,mBAAc,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YACjE,OAAO,WAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC7E,CAAC;QAEM,oBAAe,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAClE,OAAO,WAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC9E,CAAC;IAzCG,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAE7B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YAEnE,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACpE,+BAA+B,CAChC,CAAC,CAAC;YAEH,QAAQ,EAAE,IAAI,0DAAW,CAAC,GAAG,CAAC;SAE/B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAS,CAAC;YAC9B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACpE,+BAA+B,CAChC,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,wDAAS,CAAC;YAC/B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;SACpE,CAAC,CAAC;IAEL,CAAC;IAcK,OAAO,CAAC,KAAU;;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,MAAM,GAAG,6DAAM,EAAS,CAAC;YAC/B,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;gBACjC,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,EAAE,EAAE,MAAM,CAAC,EAAE;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kFAAkF,EAAE,SAAS,EAAE;gBAChH,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;KAAA;IAED,MAAM,CAAC,IAAgB;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAEvC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAEpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;aAEvB;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;IAEK,KAAK,CAAC,IAAe;;YAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,YAAY,EAAE;gBAEhB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;aAExB;QAEH,CAAC;KAAA;;wFA1GU,oBAAoB;oGAApB,oBAAoB;QCfjC,wEAAqB;QAAA,uDAAY;QAAA,4DAAK;QAEtC,oHAwCO;QAEP,oHAoCO;QAEP,mHAgBO;;QAlGc,0DAAY;QAAZ,2EAAY;QAEF,0DAAoC;QAApC,wGAAoC;QA0CnC,0DAAsC;QAAtC,0GAAsC;QAsCrC,0DAAkD;QAAlD,sHAAkD;;6FDnEtE,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEdD;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;AAQ3C,MAAM,cAAc;IAEzB,YACU,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IACzB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CACnB;YACE,YAAY,EAAE,8BAA8B;YAC5C,WAAW,EAAE,uNAAuN;YACpO,KAAK,EAAE,8BAA8B;YACrC,KAAK,EAAE,kEAAkE,IAAI,CAAC,KAAK,CAAC,wBAAwB,EAAE;SAC/G,CACF,CAAC;IACJ,CAAC;;4EAfU,cAAc;8FAAd,cAAc;QCR3B,qFAAmD;QACnD,yEACI;QAAA,yEACI;QAAA,qEAAI;QAAA,0EAAe;QAAA,4DAAK;QACxB,qEAAI;QAAA,yEAAc;QAAA,4DAAK;QAC3B,4DAAS;QACb,4DAAM;QAEN,yEACI;QAAA,yEACI;QAAA,oEAA2B;QAC3B,qEAA2B;QAC3B,qEAA2B;QAC3B,qEAA2B;QAC3B,qEAA2B;QAC3B,qEAA2B;QAC3B,qEAA2B;QAC3B,sEAA2B;QAC3B,sEAA2B;QAC3B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAC5B,sEAA4B;QAChC,4DAAM;QACN,2EACI;QAAA,sEAAI;QAAA,0EAAc;QAAA,4DAAK;QACvB,qEAAG;QAAA,6SAEH;QAAA,4DAAI;QACJ,qEAAG;QAAA,sRAA0N;QAAA,4DAAI;QACrO,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,2EACI;QAAA,sEAAI;QAAA,iFAAqB;QAAA,4DAAK;QAC9B,qEAAG;QAAA,ieAC6K;QAAA,4DAAI;QACpL,qEAAG;QAAA,0QAA8M;QAAA,4DAAI;QACzN,4DAAM;QACN,uEACI;QAAA,sEACJ;QAAA,4DAAM;QACV,4DAAM;QAGN,2EACI;QAAA,0EACI;QAAA,sEAAI;QAAA,+EAAmB;QAAA,4DAAK;QAChC,4DAAS;QACT,2EACI;QASA,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,4EAAgB;QAAA,4DAAK;QACtC,0EAAiB;QAAA,qEAAS;QAAA,4DAAK;QACnC,4DAAM;QACV,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,0EAAc;QAAA,4DAAK;QACpC,0EAAiB;QAAA,qEAAS;QAAA,4DAAK;QACnC,4DAAM;QACV,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,sEAAU;QAAA,4DAAK;QAChC,0EAAiB;QAAA,qEAAS;QAAA,4DAAK;QACnC,4DAAM;QACV,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,wEAAY;QAAA,4DAAK;QAClC,0EAAiB;QAAA,4EAAgB;QAAA,4DAAK;QAC1C,4DAAM;QACV,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,uEAAW;QAAA,4DAAK;QACjC,0EAAiB;QAAA,4EAAgB;QAAA,4DAAK;QAC1C,4DAAM;QACV,4DAAM;QACN,2EACI;QAAA,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACN,2EACI;QAAA,0EAAiB;QAAA,sEAAU;QAAA,4DAAK;QAChC,0EAAiB;QAAA,4EAAgB;QAAA,4DAAK;QAC1C,4DAAM;QACV,4DAAM;QACV,4DAAM;QApEV,4DACI;;6FD9CS,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;;;;;;;;;;;;;AEPD;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfF;AACR;AACd;AAG6E;AAC9B;;;;;;;;;;;;ICN1F,qFAAqE;;ADc9D,MAAM,uBAAuB;IAElC,YAC0B,MAAc,EACZ,QAAkB,EACpC,IAAiB,EACjB,MAAiB,EACjB,KAAmB;QAJH,WAAM,GAAN,MAAM,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAU;QACpC,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAc;IACzB,CAAC;IAIL,QAAQ;QAEN,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,YAAY,EAAE,iBAAiB;gBAC/B,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,iFAAiF;gBAC9F,KAAK,EAAE,gHAAgH;aACxH,CAAC,CAAC;SACJ;IACH,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,EAAU,EAAE,SAAkB,KAAK;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAgB,CAAC;QAC3D,IAAI,EAAE,EAAE;YACN,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACnB,GAAG,EAAE,EAAE,CAAC,SAAS;oBACjB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;iBACrC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;gBAC1D,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAS,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;YACH,CAAC,EAAC,CAAC;SACJ;IACH,CAAC;IAED,qBAAqB;QAEnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qGAAwB,EAAE;YACzC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IAEL,CAAC;;8FA9DU,uBAAuB,kEAGxB,sEAAM,mEACN,wDAAQ;uGAJP,uBAAuB;QCdpC,2JAAqE;QAErE,+EACI;QAAA,yEACI;QAAA,oEACA;QAAA,yEACI;QAAA,qEAAI;QAAA,mEAAQ;QAAA,gEAAI;QAAA,uEAAM;QAAA,iEAAM;QAAA,4DAAO;QAAA,4DAAK;QACxC,qEAAG;QAAA,4FAAgC;QAAA,4DAAI;QACvC,6EAAgE;QAArC,gJAAS,eAAW,QAAQ,EAAE,IAAI,CAAC,IAAC;QAAC,wEAAY;QAAA,4DAAS;QAAC,oEACtF;QAAA,6EACI;QADuB,gJAAS,mBAAe,IAAC;QAChD,4EAAU;QAAA,yEAAa;QAAA,4DAAW;QAClC,+EACJ;QAAA,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAY;QAEZ,0EACI;QAAA,0EAAiC;QACrC,4DAAM;;QAnBoB,+EAAe;;6FDc5B,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;sCAImC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;0BACsB,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;kRAMT,QAAQ;kBAAhB,mDAAK;;;;;;;;;;;;;;AExBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;AAStD,MAAM,6BAA6B;IAExC,YACU,IAAiB,EACjB,SAAsD;QADtD,SAAI,GAAJ,IAAI,CAAa;QACjB,cAAS,GAAT,SAAS,CAA6C;QAGhE,iBAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;YACnC,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;aACxB;QACH,CAAC;IANG,CAAC;IAQL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;;0GAnBU,6BAA6B;6GAA7B,6BAA6B;QCT1C,qFAAmD;;6FDStC,6BAA6B;cALzC,uDAAS;eAAC;gBACT,QAAQ,EAAE,4BAA4B;gBACtC,WAAW,EAAE,yCAAyC;gBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;aACvD;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACkB;;;;;;;;;;;;;;ICUhD,4EAAiD;IAAA,gFAAqB;IAAA,4DAAY;;;IAKlF,4EAAgD;IAAA,+EAAoB;IAAA,4DAAY;;;IAKhF,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAC9E,4EAA8C;IAAA,wEAAa;IAAA,4DAAY;;;IASvE,4EAAoD;IAAA,+EAAoB;IAAA,4DAAY;;;IACpF,4EAAmD;IAAA,sHAA2D;IAAA,4DAAY;;;;IAzBlI,0EAEI;IAF4E,4UAAqC;IAEjH,oFACI;IAAA,sEACA;IAAA,8HAAkF;IACtF,4DAAiB;IAEjB,oFACI;IAAA,sEACA;IAAA,8HAAgF;IACpF,4DAAiB;IAEjB,oFACI;IAAA,sEACA;IAAA,8HAA8E;IAC9E,gIAAuE;IAC3E,4DAAiB;IAEjB,sFACI;IAAA,wEACA;IAAA,8EACJ;IADoD,mUAA4B;IAChF,4EAAU;IAAA,wDAA6C;IAAA,4DAAW;IACtE,4DAAS;IACD,4EAAU;IAAA,uHAA2D;IAAA,4DAAW;IAChF,gIAAoF;IACpF,gIAA0H;IAC9H,4DAAiB;IAEjB,qEACI;IAAA,8EAAgH;IAAA,kEAAM;IAAA,4DAAS;IACnI,4DAAI;IAEJ,uEACI;IAAA,sFAAyB;IAAA,yEAAuB;IAAA,iEAAK;IAAA,4DAAI;IAC7D,4DAAM;IAEV,4DAAO;;;IApCD,wFAAwB;IAIV,0DAAmC;IAAnC,sGAAmC;IAKnC,0DAAkC;IAAlC,qGAAkC;IAKlC,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAgC;IAAhC,mGAAgC;IAImC,0DAAsC;IAAtC,sGAAsC;IACxC,0DAAmC;IAAnC,wFAAmC;IAC1G,0DAA6C;IAA7C,iHAA6C;IAGvC,0DAAsC;IAAtC,yGAAsC;IACtC,0DAAqC;IAArC,wGAAqC;IAIoB,0DAA0C;IAA1C,iHAA0C;;ADnB5H,MAAM,eAAe;IAM1B,YACU,WAAwB,EACxB,MAAc;QADd,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QANxB,eAAU,GAAqB,IAAI,CAAC;QACpC,YAAO,GAAG,IAAI,CAAC;QACf,aAAQ,GAAG,KAAK,CAAC;QAkBV,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAC3D,OAAO,WAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC7E,CAAC;IAfG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAS,CAAC;YAC9B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACpE,+BAA+B,CAChC,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAMD,MAAM,CAAC,IAAgB;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAE9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE;gBAEpB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aAEvC;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;;8EA1CU,eAAe;+FAAf,eAAe;QClB5B,sEAAqB;QACrB,0FACI;QAAA,yEAGI;QAAA,yEAEI;QAAA,qEAAI;QAAA,iEAAM;QAAA,4DAAK;QACf,+GAoCO;QAEX,4DAAM;QACV,4DAAM;QACV,4DAAuB;QACvB,wEAAyB;;QAzCmB,0DAAgB;QAAhB,gFAAgB;;6FDU/C,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,+BAA+B,EAAE,yBAAyB,CAAC;aACxE;;;;;;;;;;;;;;AEjBD;AAAA;AAAA;AAA+E;;AAKxE,MAAM,kBAAkB;IAI7B,YAA2B,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;IAAI,CAAC;IAEvC,kBAAkB;QAEvB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,UAAU,CAAC,GAAG,EAAE;gBAEd,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAEhC,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IAEH,CAAC;;oFAhBU,kBAAkB;kGAAlB,kBAAkB;6FAAlB,kBAAkB;cAH9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;aAC3B;wGAGiB,YAAY;kBAA3B,mDAAK;;;;;;;;;;;;;;ACPR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;AAO3C,MAAM,YAAY;IALzB;QAOE,cAAS,GAAG,mBAAmB,CAAC;QAChC,kBAAa,GAAG,qBAAqB,CAAC;QACtC,eAAU,GAAG,cAAc,CAAC;QAC5B,cAAS,GAAG,oBAAoB,CAAC;QACjC,gBAAW,GAAG,oCAAoC,CAAC;KAGpD;;wEATY,YAAY;4FAAZ,YAAY;QCPzB,sEAAqB;QACrB,8EACI;QAAA,qEAAI;QAAA,2EAAgB;QAAA,4DAAK;QAEzB,oEAAG;QAAA,yEAAQ;QAAA,qEAAU;QAAA,4DAAS;QAAA,4DAAI;QAElC,oEAAG;QAAA,uDAEsI;QAAA,4DAAI;QAE7I,oEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,mXAC6D;QAAA,4DAAI;QAEpE,qEAAG;QAAA,wDAC+I;QAAA,4DAAI;QAEtJ,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,0EAAc;QAAA,4DAAS;QAAA,4DAAI;QAEtC,qEAAG;QAAA,oJAAwF;QAAA,wEAAoB;QAAA,0EAAc;QAAA,4DAAI;QAAA,2LAA+H;QAAA,4DAAI;QAEpQ,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,wEAAY;QAAA,4DAAS;QAAA,4DAAI;QAEpC,qEAAG;QAAA,wDAGgG;QAAA,4DAAI;QAEvG,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,gaAC8G;QAAA,4DAAI;QAErH,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,uGAA2C;QAAA,4DAAS;QAAA,4DAAI;QAEnE,qEAAG;QAAA,wDAEkN;QAAA,4DAAI;QAEzN,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,yEAAa;QAAA,4DAAS;QAAA,4DAAI;QAErC,qEAAG;QAAA,iRAAqN;QAAA,4DAAI;QAE5N,qEAAG;QAAA,kOAAsK;QAAA,4DAAI;QAE7K,qEAAG;QAAA,0EAAQ;QAAA,0EAAc;QAAA,4DAAS;QAAA,4DAAI;QAEtC,qEAAG;QAAA,6dAAia;QAAA,4DAAI;QAExa,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,wDAI6B;QAAA,4DAAI;QAEpC,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,kFAAsB;QAAA,4DAAI;QAE7B,qEAAG;QAAA,ugBACkN;QAAA,4DAAI;QAEzN,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,wFAA4B;QAAA,4DAAI;QAEnC,qEAAG;QAAA,0iBACuP;QAAA,4DAAI;QAE9P,qEAAG;QAAA,wMAAoJ;QAAA,4DAAI;QAE3J,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,6EAAiB;QAAA,4DAAI;QAExB,qEAAG;QAAA,onBAEuE;QAAA,4DAAI;QAE9E,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,mFAAuB;QAAA,4DAAS;QAAA,4DAAI;QAE/C,qEAAG;QAAA,wDAK0D;QAAA,4DAAI;QAEjE,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,mFAAuB;QAAA,4DAAS;QAAA,4DAAI;QAE/C,qEAAG;QAAA,umBAEyD;QAAA,4DAAI;QAEhE,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,wJAA4F;QAAA,4DAAS;QAAA,4DAAI;QAEpH,sEAAG;QAAA,yDAE6J;QAAA,4DAAI;QAEpK,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,sEAAS;QAAA,4DAAS;QAAA,4DAAI;QAEjC,sEAAG;QAAA,yDAC+F;QAAA,4DAAI;QAEtG,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,sEAAS;QAAA,4DAAS;QAAA,4DAAI;QAEjC,sEAAG;QAAA,yDAAqK;QAAA,4DAAI;QAE5K,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,uEAAU;QAAA,4DAAS;QAAA,4DAAI;QAElC,sEAAG;QAAA,kqBAEwH;QAAA,4DAAI;QAE/H,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,uEAAU;QAAA,4DAAS;QAAA,4DAAI;QAElC,sEAAG;QAAA,sOAAyK;QAAA,4DAAI;QAEhL,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,mEAAM;QAAA,4DAAS;QAAA,4DAAI;QAE9B,sEAAG;QAAA,qOAAwK;QAAA,4DAAI;QAE/K,sEAAG;QAAA,mEAAM;QAAA,4DAAI;QAEb,sEAAG;QAAA,2EAAQ;QAAA,6EAAgB;QAAA,4DAAS;QAAA,4DAAI;QAExC,sEAAG;QAAA,yDAC2D;QAAA,4DAAI;QAEtE,4DAAc;QACd,0EAAyB;;QAxJlB,0DAEsI;QAFtI,8qBAEsI;QAOtI,0DAC+I;QAD/I,ycAC+I;QAY/I,2DAGgG;QAHhG,43BAGgG;QAWhG,2DAEkN;QAFlN,6wBAEkN;QAgBlN,2DAI6B;QAJ7B,8kCAI6B;QA8B7B,2DAK0D;QAL1D,y1CAK0D;QAc1D,2DAE6J;QAF7J,mtBAE6J;QAM7J,0DAC+F;QAD/F,kaAC+F;QAM/F,0DAAqK;QAArK,6OAAqK;QA0BrK,2DAC2D;QAD3D,+XAC2D;;6FDpJrD,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;;;;;;;;;;;;AEN4D;;;;;;;;;ICE7D,yEACI;IAAA,wFAAsF;IAC1F,4DAAM;;;IAmBc,uEAAmC;IAAA,uDAA2B;IAAA,gEAAI;IAAA,4DAAO;;;IAAtC,0DAA2B;IAA3B,sGAA2B;;;IAFlE,sEACI;IAAA,uDAAuB;IAAA,gEAAK;IAAA,uDAAyB;IAAA,gEAAK;IAAA,uDAA2B;IAAA,gEACrF;IAAA,gIAAyE;IAAC,uDAC9E;IAAA,4DAAM;;;IAFF,0DAAuB;IAAvB,mGAAuB;IAAK,0DAAyB;IAAzB,qGAAyB;IAAK,0DAA2B;IAA3B,uGAA2B;IAC9E,0DAA0B;IAA1B,6FAA0B;IAAyC,0DAC9E;IAD8E,sKAC9E;;;IACA,sEACI;IAAA,uDAAmD;IAAA,gEAAK;IAAA,uDAC5D;IAAA,4DAAM;;;IADF,0DAAmD;IAAnD,8MAAmD;IAAK,0DAC5D;IAD4D,4IAC5D;;;IAoBA,qEACI;IAAA,yEAAuB;IAAA,uDAAqB;IAAA,4DAAK;IACjD,yEAAwB;IAAA,uDAA+C;;IAAA,4DAAK;IAChF,4DAAK;;;IAFsB,0DAAqB;IAArB,mFAAqB;IACpB,0DAA+C;IAA/C,oKAA+C;;;IA3C3F,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,uDAA6B;IAAA,gEAAK;IAAA,uDACtC;;IAAA,4DAAM;IACV,4DAAM;IACN,0EACI;IAAA,sEACJ;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,2EACI;IAAA,0EAAiB;IAAA,4EAAgB;IAAA,4DAAK;IACtC,yHAGM;IACN,yHAEM;IACV,4DAAM;IACN,2EACI;IAAA,0EAAiB;IAAA,sEAAU;IAAA,4DAAK;IAChC,uEACI;IAAA,8EAAiB;IAAA,iEAAK;IAAA,iFAAoB;IAAA,iEAAK;IAAA,4EAAe;IAAA,iEAAK;IAAA,gFAAmB;IAAA,iEAAK;IAAA,iFAAoB;IAAA,iEACnH;IAAA,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EACI;IAAA,6EACI;IAAA,yEACI;IAAA,sEACI;IAAA,0EAA4B;IAAA,uEAAW;IAAA,4DAAK;IAChD,4DAAK;IACL,sEACI;IAAA,0EAA6B;IAAA,iEAAK;IAAA,4DAAK;IAC3C,4DAAK;IACT,4DAAQ;IACR,uHAGK;IACL,sEACI;IAAA,0EAAwB;IAAA,kEAAM;IAAA,4DAAK;IACnC,0EAAwB;IAAA,wDAA0B;;IAAA,4DAAK;IAC3D,4DAAK;IACL,sEACI;IAAA,0EAAwB;IAAA,gEAAI;IAAA,4DAAK;IACjC,0EAAwB;IAAA,wDAAwB;;IAAA,4DAAK;IACzD,4DAAK;IACT,4DAAQ;IACR,iEACA;IAAA,2EACI;IAAA,uEAAK;IAAA,wDAAwB;IAAA,4DAAM;IACnC,2EAAmC;IAAA,wDAA+E;IAAA,4DAAM;IAC5H,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAxDc,0DAA6B;IAA7B,yGAA6B;IAAK,0DACtC;IADsC,gLACtC;IASM,0DAAiB;IAAjB,oFAAiB;IAIjB,0DAAkB;IAAlB,qFAAkB;IAsBJ,2DAAO;IAAP,gFAAO;IAMC,0DAA0B;IAA1B,oJAA0B;IAI1B,0DAAwB;IAAxB,kJAAwB;IAK/C,0DAAwB;IAAxB,mGAAwB;IACxB,0DAA6B;IAA7B,6FAA6B;IAAC,0DAA+E;IAA/E,mPAA+E;;ADnD3H,MAAM,oBAAoB;IAE/B,YACU,IAAiB,EACjB,EAAa,EACb,KAAqB;QAFrB,SAAI,GAAJ,IAAI,CAAa;QACjB,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAgB;QAG/B,OAAE,GAAG,EAAE,CAAC;QACR,QAAG,GAAuB,IAAI,CAAC;QAC/B,SAAI,GAAqB,EAAE,CAAC;QAC5B,kBAAa,GAAG,KAAK,CAAC;QAEtB,iBAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;YACnC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;QACH,CAAC;IAbG,CAAC;IAeL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAEK,IAAI;;YAER,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBAEzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAElE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAgB,CAAC;gBAE9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEnE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACtB,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;aAEJ;QAEH,CAAC;KAAA;;wFAtDU,oBAAoB;oGAApB,oBAAoB;QCZjC,wFAAoF;QAEpF,gHAEM;QAEN,kHA6DM;;QAnEoC,wEAAe;QAEnD,0DAAoB;QAApB,oFAAoB;QAIN,0DAA0B;QAA1B,8FAA0B;;6FDMjC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAkD;;AAO3C,MAAM,mBAAmB;IAE9B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;sFALU,mBAAmB;mGAAnB,mBAAmB,0HCNf,gIAAoD;QADrE,yEACI;QAAA,uEAA6M;QACjN,4DAAM;QACN,yEACI;QAAA,4EAAoC;QAAA,gEAAK;QAAA,4DAAS;QACtD,4DAAM;;6FDEO,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;;;;;;;;;;;;AENiD;;;;;;;;;ICAlD,yEACI;IAAA,4EAA2D;IAC/D,4DAAM;;IADW,0DAAiB;IAAjB,0EAAiB;;;IAGlC,yEACI;IAAA,iFAAsD;IAC1D,4DAAM;;;IADgB,0DAAgB;IAAhB,gFAAgB;;ADM/B,MAAM,iBAAiB;IAK5B,YACU,KAAqB,EACrB,EAAa,EACb,KAAmB;QAFnB,UAAK,GAAL,KAAK,CAAgB;QACrB,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAc;QAN7B,WAAM,GAAG,KAAK,CAAC;QACf,SAAI,GAA+B,IAAI,CAAC;IAMpC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,YAAY,CAAC,IAAyB;;QAEpC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,GAAE;YAC7D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,mCAAmC,CAAC;SAC9D;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE;gBACvD,KAAK,GAAG,wBAAwB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,yBAAyB,CAAC;aACtF;iBAAM;gBACL,KAAK,GAAG,uGAAuG,CAAC;aACjH;SAEF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAM,MAAM,EAAC,EAAE,CAAC;gBAC1C,IAAI,MAAM,CAAC,EAAE,EAAE;oBACb,MAAM,IAAI,GAAwB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;oBAEjB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBACpB,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc;wBACzC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU;wBAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;wBAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;qBAC/B,CAAC,CAAC;iBAEJ;YACH,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;;kFAnDU,iBAAiB;iGAAjB,iBAAiB;QCX9B,6GAEM;QAEN,6GAEM;;QANgB,6EAAa;QAId,0DAAoB;QAApB,wFAAoB;;6FDO5B,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;;;;;;ICEzD,uEAA6C;IAAA,+DAAI;IAAA,4DAAI;;;IACrD,uEAAmD;IAAA,+DAAI;IAAA,4DAAI;;;IAC3D,uEAAkD;IAAA,gEAAK;IAAA,4DAAI;;;IAC3D,uEAAoD;IAAA,kEAAO;IAAA,4DAAI;;;IAC/D,wEAAoD;IAAA,kEAAO;IAAA,4DAAI;;ADCxD,MAAM,0BAA0B;IAErC;QAES,WAAM,GAAG,KAAK,CAAC;IAFR,CAAC;IAIjB,QAAQ;IACR,CAAC;;oGAPU,0BAA0B;0GAA1B,0BAA0B;QCPvC,oEAEA;QAAA,kHAAqD;QACrD,kHAA2D;QAC3D,kHAA2D;QAC3D,kHAA+D;QAC/D,kHAA+D;;QAJhD,0DAAa;QAAb,6EAAa;QACb,0DAAa;QAAb,6EAAa;QACb,0DAAa;QAAb,6EAAa;QACb,0DAAa;QAAb,6EAAa;QACb,0DAAa;QAAb,6EAAa;;6FDCf,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;sCAKU,MAAM;kBAAd,mDAAK;;;;;;;;;;;;;;AEXR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;ICe7C,uEAAoD;IAAA,qEAAU;IAAA,4DAAI;;ADN3E,MAAM,eAAe;IAU1B,YACU,WAAwB,EACxB,MAAc;QADd,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QAVxB,oBAAe,GAAG,KAAK,CAAC;QACxB,eAAU,GAAG,KAAK,CAAC;QAEnB,iBAAY,GAAG,CAAC,SAAkB,EAAE,EAAE;YACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAClD,CAAC;IAKG,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;;8EA1BU,eAAe;+FAAf,eAAe;QCT5B,yEACI;QAAA,yEACI;QAAA,sEACI;QAAA,oEAEM;QACV,4DAAM;QACN,sEACI;QAAA,sEACI;QACA,uEAAmC;QAAA,qEAAU;QAAA,4DAAI;QACjD,uEAA8B;QAAA,yEAAc;QAAA,4DAAI;QAChD,wEAA+B;QAAA,4EAAgB;QAAA,4DAAI;QACnD,wEAAsF;QAAA,iEAAK;QAAA,4DAAI;QAC/F,wEAA4D;QAAzD,mIAAS,YAAQ,IAAC;QAAuC,kEAAM;QAAA,4DAAI;QACtE,yGAAkE;QACtE,4DAAM;QACV,4DAAM;QACN,uEACI;QAAA,qEACI;QAAA,6FAAgC;QAAA,iEAAK;QAAA,4EAAe;QAAA,iEAAK;QAAA,gFAC7D;QAAA,4DAAI;QACJ,qEAAG;QAAA,4EAAgB;QAAA,4DAAI;QAC3B,4DAAM;QACV,4DAAM;QACN,qEACI;QAAA,yHAA4D;QAAA,iEAAK;QAAA,6IACrE;QAAA,4DAAI;QACR,4DAAS;;QAfkE,2DAA0B;QAA1B,uFAA0B;QACrD,0DAA2B;QAA3B,wFAA2B;QACnC,0DAAgB;QAAhB,gFAAgB;;6FDN3C,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AER2H;AAChC;AACR;AAImB;AACiB;AAC/D;AACe;AACc;AAExD;;;;;;;;;;;;;;;;;;IC2DtB,qEAA8M;;;IAA9K,wGAA+B;;;IAC/D,qEAA8M;;;IAA9K,wGAA+B;;;IAC/D,qEAA8M;;;IAA9K,wGAA+B;;;IAC/D,qEAA8M;;;IAA9K,wGAA+B;;;IAJnE,0EACI;IAAA,wHAA8M;IAC9M,wHAA8M;IAC9M,wHAA8M;IAC9M,wHAA8M;IAClN,4DAAM;;;IALc,6IAAwC;IAC+C,0DAAoB;IAApB,uFAAoB;IACpB,0DAAoB;IAApB,uFAAoB;IACpB,0DAAoB;IAApB,uFAAoB;IACpB,0DAAoB;IAApB,uFAAoB;;;IAE/H,0EACI;IAAA,2EAAsG;IAC1G,4DAAM;;;IAIF,0EACI;IAAA,uDACJ;IAAA,4DAAM;;;IADF,0DACJ;IADI,2IACJ;;;IACA,yEAAsD;;;;IACtD,0EACI;IAAA,6EAA+C;IAApB,kUAAmB;IAAC,uDAAqD;IAAA,4DAAS;IACjH,4DAAM;;;IAD6C,0DAAqD;IAArD,8HAAqD;;;ADpEzG,MAAM,oBAAoB;IAmB/B,YAC8C,IAAyB,EAClD,SAA6C,EACxD,EAAa,EACb,KAAmB,EACnB,IAAiB,EACjB,MAAiB,EACjB,KAAqB,EACrB,MAAc,EACE,MAAc;QARM,SAAI,GAAJ,IAAI,CAAqB;QAClD,cAAS,GAAT,SAAS,CAAoC;QACxD,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACE,WAAM,GAAN,MAAM,CAAQ;QA1BxC,gBAAW,GAAG,4CAA4C,CAAC;QAC3D,kBAAa,GAAG,EAAE,CAAC;QACnB,iBAAY,GAAG,EAAE,CAAC;QAClB,mBAAc,GAAG,KAAK,CAAC;QACvB,qBAAgB,GAAG,CAAC,CAAC;QACrB,yBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,aAAa;QAC/C,iBAAY,GAAG,uEAAY,CAAC;QAC5B,gBAAW,GAAqD,IAAI,CAAC;QACrE,cAAS,GAAwB,IAAI,CAAC;QACtC,cAAS,GAAG,IAAI,CAAC;QAEjB,aAAQ,GAAG,aAAa,CAAC;IAiBzB,CAAC;IAED,eAAe;QACb,IACE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW,EAC1C;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,WAAW,EAAE;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAiC,CAAC;gBAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,0BAA0B,UAAU,OAAO,CAAC;gBACxD,+CAA+C;gBAC/C,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE;oBAC/E,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;oBAClB,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChB;qBAAM,IAAI,kDAAe,IAAI,kDAAe,EAAE,EAAE;oBAC/C,6BAA6B;oBAC7B,MAAM,GAAG,GAAG,IAAI,mCAAG,EAAE,CAAC;oBACtB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACpB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACzB,OAAO,CAAC,IAAI,EAAE,CAAC;iBAChB;aACF;SACF;IACH,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;SACvE;QAED,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAErD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,aAA+B,CAAC;oBAC9D,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;iBACtC;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;YACjE,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpD,WAAW;gBACX,IAAI,GAAG,YAAY,6DAAa,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACpE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;SACzC;IACH,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,iGAAsB,EACtB;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;SAChD,CACF,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAC5B,EAAE,UAAU,EAAE,IAAI,GAAG,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,8EAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aACjD;SACF;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzB,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE;gBACrF,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;gBAC5B,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE;oBACxB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;iBACjB,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,qBAAqB;QAEnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oHAAwB,EAAE;YACzC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IAEL,CAAC;IAED,iBAAiB;QAEf,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;gBAC1D,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;YACH,CAAC,EAAC,CAAC;SACJ;IACH,CAAC;IAED,GAAG,CAAC,IAAyB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;;wFApMU,oBAAoB,kEAoBT,wEAAe,q/BAQ3B,sEAAM;oGA5BL,oBAAoB;;;;;;;;QCnBjC,yEACI;QAAA,uEACI;QADY,uIAAS,YAAQ,IAAC;QAC9B,oEACJ;QAAA,4DAAI;QACJ,yEAEI;QAAA,4EACI;QADe,4IAAS,uBAAmB,IAAC;QAC5C,2EAAU;QAAA,wEAAa;QAAA,4DAAW;QAClC,8EACJ;QAAA,4DAAS;QAET,yEACI;QAAA,8DACA;QADA,yEACA;QAAA,4EACA;QAAA,qGAEA;QAAA,4DAAQ;QACR,mEACO;QACP,qEACA;QAAA,wEACA;QAAA,sEAYA;QAAA,uEAEA;QAAA,uEAEA;QAAA,uEAEA;QAAA,uEAEA;QAAA,uEAEA;QAAA,uEAEA;QAAA,uEAEJ;QAAA,4DAAI;QACJ,uEAQA;QAAA,4DAAI;QACJ,4DAAM;QACN,4DAAM;QAEV,4DAAM;QACN,+DAAoB;QAApB,sEAA0B;QAC1B,2EACI;QAAA,8EACA;QAD+C,6IAAS,YAAQ,IAAC;QACjE,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC9B,4DAAS;QACT,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,mHAKM;QACN,mHAEM;QACN,2EACI;QAAA,sEAAI;QAAA,wDAAgB;QAAA,4DAAK;QACzB,0FAA+D;QAC/D,mHAEM;QACN,mHAAsD;QACtD,mHAEM;QACN,+EAAuF;QAC3F,4DAAM;QACV,4DAAM;QAEN,gFAAkD;;QAvBgB,2DAAyC;QAAzC,+IAAyC;QAM3D,0DAAyB;QAAzB,yHAAyB;QAI7D,0DAAgB;QAAhB,+EAAgB;QACK,0DAAW;QAAX,0EAAW;QAClB,0DAAuB;QAAvB,uFAAuB;QAGjB,0DAAsB;QAAtB,sFAAsB;QACxB,0DAA2B;QAA3B,2FAA2B;QAGrB,0DAA2C;QAA3C,yJAA2C;;6FDtElE,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;sBAqBI,sDAAQ;;sBAAI,oDAAM;uBAAC,wEAAe;;sBAClC,sDAAQ;ofAOuB,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;wBAbuB,OAAO;kBAA7C,uDAAS;mBAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;YACC,aAAa;kBAAlD,uDAAS;mBAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;YAC3B,OAAO;kBAAf,mDAAK;;;;;;;;;;;;;;;;;;;;;;AEpCmC;;;;AAKpC,MAAM,gBAAgB;IAC3B,YAAmB,IAAiB,EAAS,MAAc;QAAxC,SAAI,GAAJ,IAAI,CAAa;QAAS,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAChE,WAAW,CAAC,KAA6B,EAAE,KAA0B;QACnE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;gFARU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;AAaJ,MAAM,qBAAqB;IAChC,YAAmB,IAAiB,EAAS,MAAc;QAAxC,SAAI,GAAJ,IAAI,CAAa;QAAS,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAC1D,WAAW,CAAC,KAA6B,EAAE,KAA0B;;YACzE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACrD,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;aAChC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACxE,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;;0FAXU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB;6FAArB,qBAAqB;cADjC,wDAAU;;;;;;;;;;;;;;AChBX;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6H;AAC5E;AACa;;;AAOvD,MAAM,kBAAkB;IAK7B,YAC+B,UAAkC;QAAlC,eAAU,GAAV,UAAU,CAAwB;QAE/D,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;IACR,CAAC;IAED,eAAe;QAEb,IAAI,IAAI,CAAC,SAAS,EAAE;YAElB,0DAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,gDAAgD,EAAE;gBACjG,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;SAEJ;IAEH,CAAC;;oFA1BU,kBAAkB,kEAMnB,yDAAW;kGANV,kBAAkB;;;;;;QCT/B,0EAAiB;;6FDSJ,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;sBAOI,oDAAM;uBAAC,yDAAW;wBAJF,GAAG;kBAArB,uDAAS;mBAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEXyD;AAIkB;AAC2C;AACjB;AACR;AACrE;AAE+B;;;;;;;;;;;;;;;;;;;;;;;ICE1D,+EAC+B;IADkH,4UAA4B;IAC9I,4DAAW;;;IADoI,mFAAqB;;;;IAEnM,4EACJ;IADmG,qVAAqB;IAApH,4DACJ;;;IADmG,mFAAqB;;;IAK5H,0EACI;IAAA,6EAAyD;IAC7D,4DAAM;;;IAHV,0EACI;IAAA,qHAEM;IACN,0EACI;IAAA,qFAAmD;IACvD,4DAAM;IACV,4DAAM;;;IAN2B,0DAAoB;IAApB,uFAAoB;;;;IAQjD,sEACI;IAAA,6EAAuC;IAAjB,oTAAgB;IAAC,+DAAI;IAAA,4DAAS;IACpD,6EAAyC;IAAnB,sTAAkB;IAAC,iEAAM;IAAA,4DAAS;IAC5D,4DAAM;;;;IACN,sEACI;IAAA,6EAAyC;IAAnB,sTAAkB;IAAC,yEAAc;IAAA,4DAAS;IACpE,4DAAM;;;IAYU,0EACI;IAAA,0EACI;IAAA,8DACR;IADQ,0EACR;IAAA,kEACO;IACP,oEACA;IAAA,sEAIA;IAAA,yEACA;IAAA,oEACA;IAAA,sEACA;IAAA,4DAAI;IACJ,4DAAI;IACJ,4DAAM;IACF,4DAAM;IACN,+DAAiB;IAAjB,0EAAiB;IAAA,wDAAmB;IAAA,4DAAM;IAC9C,4DAAM;;;IADe,2DAAmB;IAAnB,kFAAmB;;;;IAGxC,6EACA;IAAA,+EAAgF;IAApC,obAAmC;IAAC,qEAAU;IAAA,4DAAW;IACzG,4DAAS;;;;IADK,0DAAiC;IAAjC,kFAAiC;;;;IAwBvC,6EACI;IADoE,sbAAiC;IACrG,2EAAU;IAAA,qEAAU;IAAA,4DAAW;IACnC,4DAAS;;;;IAF6B,kFAAiC;;;IAGvE,0EACI;IAAA,0EACI;IAAA,8DACR;IADQ,0EACR;IAAA,kEACO;IACP,oEACA;IAAA,sEAIA;IAAA,yEACA;IAAA,oEACA;IAAA,sEACA;IAAA,4DAAI;IACJ,4DAAI;IACJ,4DAAM;IACF,4DAAM;IACN,+DAAiB;IAAjB,0EAAiB;IAAA,wDAAiB;IAAA,4DAAM;IAC5C,4DAAM;;;IADe,2DAAiB;IAAjB,gFAAiB;;;;;IA9BlD,0EACI;IAAA,0EACI;IAAA,qEACJ;IAAA,4DAAM;IACN,sEACI;IAAA,0EACI;IAAA,0EACI;IAAA,6EAAqB;IAAA,uDAA0F;IAAA,4DAAS;IACxH,0EAAmB;IAAA,uDAAe;IAAA,4DAAM;IAC5C,4DAAM;IACN,oIAES;IACT,+HAkBM;IACV,4DAAM;IACN,2EACI;IAAA,8EAAoH;IAAlG,8WAA4B;IAAsE,gEAAI;IAAA,4DAAS;IACjI,8EAA2D;IAAzC,0dAAwC;IAAC,iEAAK;IAAA,4DAAS;IACzE,4EAAmB;IAAA,wDAA4B;;IAAA,4DAAO;IAC1D,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IAvCwD,4EAAe;IAEhE,0DAAgE;IAAhE,oQAAgE;IAKxC,0DAA0F;IAA1F,iSAA0F;IAC5F,0DAAe;IAAf,8EAAe;IAEqE,0DAA8B;IAA9B,8FAA8B;IAGhG,0DAAiB;IAAjB,iFAAiB;IAqBE,0DAAuD;IAAvD,yLAAuD;IAEhG,0DAA4B;IAA5B,kJAA4B;;;;IAK/D,0EACI;IAAA,0EACI;IAAA,oEACJ;IAAA,4DAAM;IACN,0EACI;IAAA,0EACI;IAAA,+EAA4O;IAA5J,gcAA0C;IAAkH,4DAAW;IAC3P,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;IAPO,0DAAsD;IAAtD,2MAAsD;IAIoE,0DAAkC;IAAlC,+FAAkC;;;IAIzK,0EACI;IAAA,0EACI;IAAA,qEACJ;IAAA,4DAAM;IACN,yEACI;IAAA,0EACI;IAAA,kEAAa;IACb,kEAAa;IACb,kEAAa;IACjB,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IATO,0DAAgB;IAAhB,0IAAgB;;;;IAjGjC,0EACI;IAAA,0EACI;IAAA,0EACI;IAAA,qEACJ;IAAA,4DAAM;IACN,0EACI;IAAA,0EACI;IAAA,6EAAqB;IAAA,uDAA8F;IAAA,4DAAS;IAC5H,0EAAmB;IAAA,uDAAiB;IAAA,4DAAM;IAC1C,wHAkBM;IAEN,6HAEK;IACT,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,qEAAqB;IACrB,0EACI;IAAA,8EAAwH;IAAtG,0WAA8B;IAAwE,gEAAI;IAAA,4DAAS;IACrI,8EAAoD;IAAlC,6WAAiC;IAAC,iEAAK;IAAA,4DAAS;IAClE,4EAAmB;IAAA,wDAA8B;;IAAA,4DAAO;IAC5D,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,yHAuCM;IACV,4DAAM;IACN,uHASM;IACN,uHAWM;IACV,4DAAM;;;;IA3G8C,0FAA6B;IAGhE,0DAAkE;IAAlE,qQAAkE;IAI9C,0DAA8F;IAA9F,qSAA8F;IAChG,0DAAiB;IAAjB,gFAAiB;IACK,0DAAmB;IAAnB,mFAAmB;IAoBrB,0DAAgC;IAAhC,gGAAgC;IASb,0DAAyD;IAAzD,0LAAyD;IAEpG,0DAA8B;IAA9B,oJAA8B;IAIX,0DAAkB;IAAlB,wFAAkB;IAyClC,0DAAsC;IAAtC,2GAAsC;IAUpB,0DAA0C;IAA1C,qHAA0C;;;;ADpG/F,MAAM,iBAAiB;IA8B5B,YACS,IAAiB,EACjB,EAAa,EACZ,MAAiB,EACC,QAAkB,EACpC,KAAmB,EACnB,KAAqB;QALtB,SAAI,GAAJ,IAAI,CAAa;QACjB,OAAE,GAAF,EAAE,CAAW;QACZ,WAAM,GAAN,MAAM,CAAW;QACC,aAAQ,GAAR,QAAQ,CAAU;QACpC,UAAK,GAAL,KAAK,CAAc;QACnB,UAAK,GAAL,KAAK,CAAgB;QAhC/B,SAAI,GAAG,QAAQ,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,YAAO,GAAG,EAAE,CAAC;QACb,qBAAgB,GAAG,KAAK,CAAC;QACzB,iBAAY,GAA8B,EAAE,CAAC;QAC7C,aAAQ,GAAG,CAAC,CAAC;QAEb,uBAAkB,GAAG,KAAK,CAAC;QAC3B,yBAAoB,GAAyB,IAAI,CAAC;QAElD,kBAAa,GAAG,6DAA6D,CAAC;QAE9E,aAAQ,GAAoB,EAAE,CAAC;QAE/B,gBAAW,GAAa,EAAE,CAAC;QAC3B,kBAAa,GAAG,KAAK,CAAC;QACtB,WAAM,GAAqB,IAAI,CAAC;QAChC,2BAAsB,GAA0B,IAAI,CAAC;QACrD,wBAAmB,GAA+C,EAAE,CAAC;QAErE,uBAAkB,GAAkB,IAAI,CAAC;QAEzC,aAAQ,GAAG,CAAC,CAAC;QAEb,WAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAWlC,iBAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;;YAEnC,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;aACrB;YAED,IAAI,QAAQ,EAAE;gBAEZ,IAAI,QAAC,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,GAAE;oBAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;gBAED,kCAAkC;gBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,CAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;;oBAEnF,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;wBAChC,OAAO,GAAG,OAA0B,CAAC;wBACrC,IAAI,OAAO,CAAC,aAAa,EAAE;4BACzB,MAAM,aAAa,GAAG,oEAAS,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAkB,CAAC;4BACnF,IAAI,aAAa,EAAE;gCACjB,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;gCACpD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,YAAK,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,GAAE;oCACtF,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oCACpC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wCAClC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oCACzB,CAAC,CAAC,CAAC;iCACJ;6BACF;yBACF;6BAAM;4BACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,YAAK,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,GAAE;gCAC9E,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oCAC1B,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gCACzB,CAAC,CAAC,CAAC;6BACJ;yBACF;qBACF;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;wBAChC,MAAM,SAAS,GAAG,OAA0B,CAAC;wBAC7C,IAAI,SAAS,CAAC,KAAK,YAAK,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,KAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;4BAC/E,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,GAAG,CAAC;4BACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;4BACpE,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE;gCAClD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;oCAC/B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;iCACrD;6BACF;4BACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAC9C,8EAAW,CAAC,GAAG,EAAE;gCACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;4BAC9D,CAAC,EAAE,IAAI,CAAC,CAAC;yBACV;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;IAxDG,CAAC;IA0DL,QAAQ;QACN,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACvC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,aAAa;QACX,8EAAW,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAED,gBAAgB,CAAC,CAAkB;;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,MAAK,CAAC,CAAC,KAAK,CAAC;QACrF,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;IAChC,CAAC;IAEK,MAAM;;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6HAA2B,EAAE;gBACxD,IAAI,EAAE,oCAAoC;aAC3C,CAAC,CAAC;YAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;;gBACvC,IAAI,GAAG,EAAE;oBACP,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;wBAC/B,OAAO,QAAE,IAAI,CAAC,oBAAoB,0CAAE,EAAE;qBACvC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAED,IAAI;;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uFAAe,EAAE;YAC5C,IAAI,EAAE;gBACJ,KAAK,EAAE,cAAc;gBACrB,KAAK,QAAE,IAAI,CAAC,oBAAoB,0CAAE,GAAG;gBACrC,SAAS,EAAE,IAAI;aAChB;YACD,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAChC,IAAI,GAAG,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;gBAC7C,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6HAA2B,EAAE;YACxD,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;;YAChC,IAAI,GAAG,EAAE;gBACP,IAAI,WAAI,CAAC,oBAAoB,0CAAE,OAAO,KAAI,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE;oBAElF,IAAI,CAAC,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC3C,IAAI,CAAC,oBAAoB,CAAC,GAAG,GAAG,WAAW,CAAC;oBAC5C,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;iBAExC;qBAAM;oBAEL,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACvD,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE;wBAC7B,OAAO,QAAE,IAAI,CAAC,oBAAoB,0CAAE,EAAE;qBACvC,CAAC,CAAC;oBACH,MAAM,IAAI,GAAG,oEAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,CAAC;oBACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAEhB,UAAI,IAAI,CAAC,oBAAoB,0CAAE,aAAa,EAAE;wBAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;4BAC7B,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,oBAAoB,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE;gCACxF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gCACxD,MAAM;6BACP;yBACF;qBACF;yBAAM;wBACL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;qBAC7D;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,YAAY;;YAChB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,EAAE;gBAC3B,MAAM,QAAQ,GAAoB,KAAK,CAAC,IAAI,CAC1C,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAClE,IAAI,EAAE,CAAC;gBACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAsC,EAAE,CAAC;gBACtD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;oBAC5B,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,WAAW,EAAE;wBACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC1B,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpF,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACnD;iBACF;gBACD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;oBAC9B,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;wBAC5D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;qBACvC;iBACF;gBAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACtC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzB,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;oBACzB,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,OAAO,CAAC,CAAC,EAAE;oBACb,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;iBAC3B;gBAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAEtC,MAAM,QAAQ,GAAa,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1E,IAAI,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC/F,IAAI,MAAM,KAAK,MAAM,EAAE;oBACrB,MAAM,GAAG,EAAE,CAAC;iBACb;gBAED,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;oBACtB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE;wBAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;qBACzC;iBACF;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;QACH,CAAC;KAAA;IAED,aAAa,CAAC,QAAyB,EAAE,KAAa;QACpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACxB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,CAAC,OAAO,EAAE;gBACb,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aAC9C;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,EAAiB;QACxB,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC7D,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBAAM;gBACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;oBAC1D,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACzB,IAAI,CAAC,WAAW,EAAE,CAAC;qBACpB;gBACH,CAAC,EAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,aAAa,CAAC,EAAiB,EAAE,CAAkB;QACjD,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC7D,MAAM,CAAC,GAAI,EAAE,CAAC,MAA2B,CAAC,KAAK,CAAC;YAChD,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC/B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpB,EAAE,CAAC,MAA2B,CAAC,KAAK,GAAG,EAAE,CAAC;aAC5C;iBAAM;gBACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;oBAC1D,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACzB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpB,EAAE,CAAC,MAA2B,CAAC,KAAK,GAAG,EAAE,CAAC;qBAC5C;gBACH,CAAC,EAAC,CAAC;aACJ;SACF;QACD,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,CAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,GAAG,EAAE;;gBAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAEzB,MAAM,SAAS,GAAoB;wBACjC,OAAO,EAAE,EAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,EAAE,KAAI,EAAE;wBACpB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;wBAClB,KAAK,EAAE,WAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,KAAI,EAAE;wBACjC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;wBACpB,IAAI,EAAE,IAAI;wBACV,MAAM,EAAE,WAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,KAAI,IAAI,CAAC,aAAa;qBACvD,CAAC;oBAEF,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBAC/B,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;qBAC/B,CAAC,CAAC;iBACJ;gBACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,CAAC;SACV;IACH,CAAC;IAEK,SAAS,CAAC,CAAgB,EAAE,KAAa;;;YAC7C,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACvB,MAAM,OAAO,GAAoB;oBAC/B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;oBACpB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;oBACjB,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC5B,GAAG,EAAE,KAAK;oBACV,aAAa,EAAE,CAAC,CAAC,EAAE;iBACpB,CAAC;gBACF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,KAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBAChE;gBACD,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aAClC;;KACF;IAEK,WAAW;;;YACf,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC9B,MAAM,OAAO,GAAoB;oBAC/B,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;oBACpB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;oBACjB,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;oBAC5B,GAAG,EAAE,IAAI,CAAC,OAAO;iBAClB,CAAC;gBACF,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACpB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,WAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,KAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBAChE;gBACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAE/B,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aAClC;;KACF;IAEK,YAAY,CAAC,CAAkB;;YAEnC,MAAM,IAAI,GAAG,oEAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAwB,CAAC;YACvE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEhB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;gBACzC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;gBACjE,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,EAAE;gBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;aAClB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,SAAS;;;YACb,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC/B,IAAI,KAAqB,CAAC;gBAC1B,IAAI;oBACF,KAAK,GAAG,KAAK,CAAC,IAAI,OAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE;wBACzD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG;qBAClB,CAAC,CAAC,0CAAE,IAAI,CAAC,CAAC;oBACX,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;wBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;4BACxB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;yBACxC;qBACF;iBACF;gBAAC,OAAO,CAAC,EAAE,GAAG;aAChB;;KACF;IAEK,WAAW,CAAC,CAAkB;;YAClC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,WAAW,EAAE;gBAC/B,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;oBAC1D,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACzB,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;wBACvB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;4BACxC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;yBACrB;qBACF;gBACH,CAAC,EAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBACvB,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;oBAC/B,CAAC,CAAC,KAAK,EAAE,CAAC;iBACX;qBAAM;oBACL,CAAC,CAAC,KAAK,EAAE,CAAC;iBACX;gBACD,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAClD;QACH,CAAC;KAAA;IAEK,cAAc,CAAC,CAAgB,EAAE,EAAkB;;YACvD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO;aACR;YACD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC/B,UAAU,CAAC,GAAG,EAAE;;gBACd,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAqB,CAAC;gBACnF,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,YAAK,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,EAAE,GAAE;oBACvD,EAAE,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;iBAC1F;gBACD,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2GAAqB,EAAE;gBACxD,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;oBACtE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;oBAC9B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACzC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;kFAhcU,iBAAiB,4dAkClB,wDAAQ;iGAlCP,iBAAiB;QC/B9B,yEACI;QAAA,yEACI;QAAA,yEAAe;QAAA,uDAAqD;QAAA,4DAAM;QAC1E,yEAAe;QAAA,4EAA2G;QAAhF,yIAAS,YAAQ,IAAC;QAA8D,iEAAM;QAAA,4DAAS;QAAA,4DAAM;QACnJ,4DAAM;QACN,yEACI;QAAA,yEACI;QADgB,sIAAS,gBAAY,IAAC;QACtC,oEACJ;QAAA,4DAAM;QACN,0EACI;QAAA,qFACI;QAAA,6EAAW;QAAA,wDAA8F;QAAA,4DAAY;QACrH,0HAC0C;QAC1C,oHACJ;QAAA,4DAAiB;QACrB,4DAAM;QACV,4DAAM;QACN,gHAOM;QACN,oFACI;QAAA,gHAGM;QACN,gHAEM;QACV,4DAAW;QACX,2EACI;QAAA,kHA2GM;QACV,4DAAM;QACV,4DAAM;;QA/IiB,0DAAqD;QAArD,iIAAqD;QACP,0DAA4D;QAA5D,mLAA4D;QAIhH,0DAAsD;QAAtD,2LAAsD;QAGH,0DAAwC;QAAxC,iKAAwC;QACjF,0DAA8F;QAA9F,mMAA8F;QAC4F,0DAAsB;QAAtB,sFAAsB;QAErJ,0DAAuB;QAAvB,uFAAuB;QAIrF,0DAAuB;QAAvB,uFAAuB;QAQV,0DAAuB;QAAvB,gFAAuB;QAC9C,0DAAwB;QAAxB,wFAAwB;QAIxB,0DAAyB;QAAzB,yFAAyB;QAKQ,0DAAW;QAAX,iFAAW;;6FDL7C,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;2RAmCuC,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;2LAhCT,GAAG;kBAAX,mDAAK;;;;;;;;;;;;;;;;;;;;;;;;;AEjCiE;AAEK;AAIrB;;;;;;AAIlD,MAAM,qBAAqB;IAIhC,YACS,MAAiB,EAChB,EAAa,EACb,QAAwB,EACxB,MAAc,EACE,MAAc,EAC9B,KAAmB;QALpB,WAAM,GAAN,MAAM,CAAW;QAChB,OAAE,GAAF,EAAE,CAAW;QACb,aAAQ,GAAR,QAAQ,CAAgB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACE,WAAM,GAAN,MAAM,CAAQ;QAC9B,UAAK,GAAL,KAAK,CAAc;QAR7B,WAAM,GAAG,EAAE,CAAC;QAUV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,YAAY,CAAC,IAAyB;;QAEpC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,GAAE;YAC7D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,mCAAmC,CAAC;SAC9D;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,GAAG,CAAC,WAAW,EAAE;gBAEnB,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE;oBACpC,KAAK,GAAG,wBAAwB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,iCAAiC;wBAC1F,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;iBAC7B;qBAAM;oBACL,KAAK,GAAG,uGAAuG,CAAC;iBACjH;aAEF;SAEF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,UAAU;;YAEd,IAAI,IAAyB,CAAC;YAE9B,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;gBACvB,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;aAC5B;iBAAM;gBACL,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1D;YAED,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc;gBACzC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;gBACvB,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;aAC/B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yFAAoB,EAAE;gBACvD,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,OAAO;gBAClB,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI;gBACV,iBAAiB,EAAE,KAAK;gBACxB,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE,CAAC,aAAa,CAAC;aAC5B,CAAC,CAAC;YAEH,SAAS,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACtC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBAC3D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;QAEL,CAAC;KAAA;;0FAlFU,qBAAqB,ykBAStB,sEAAM;qGATL,qBAAqB;6FAArB,qBAAqB;cADjC,uDAAS;eAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;iVAUS,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;;;;;;;;;;;;;ACnBlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACC;AACF;;;;;AAOlD,MAAM,sBAAsB;IAEjC,YACkC,KAAa,EACrB,MAAc;QADN,UAAK,GAAL,KAAK,CAAQ;QACrB,WAAM,GAAN,MAAM,CAAQ;QAGxC,gBAAW,GAAG,CAAC,CAAC;QAChB,iBAAY,GAAG,CAAC,CAAC;QACjB,eAAU,GAAG,CAAC,CAAC;QACf,gBAAW,GAAG,CAAC,CAAC;QAChB,YAAO,GAAG,EAAE,CAAC;IANT,CAAC;IAQL,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChF,CAAC;;4FAlBU,sBAAsB,kEAGvB,wEAAe,mEACf,sEAAM;sGAJL,sBAAsB;QCTnC,oEAA0C;QAC1C,oEAAsL;;QAAjL,0DAAgH;QAAhH,+NAAgH;;6FDQxG,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;;sBAII,oDAAM;uBAAC,wEAAe;0BACS,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;;;;;;;;;;;;;AEblB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoD;AACoD;;AAExG,6EAA6E;AACtE,MAAM,MAAM,GAAG,IAAI,4DAAc,CAAC,aAAa,CAAC,CAAC;AAExD,gFAAgF;AACzE,MAAe,SAAS;IAE3B,IAAI,YAAY;QACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;CAEJ;AAED,2FAA2F;AAEpF,MAAM,gBAAiB,SAAQ,SAAS;IAE3C;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,MAAM,CAAC;IAClB,CAAC;;gFARQ,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;AAaX,uEAAuE;AAChE,SAAS,aAAa,CAAC,gBAAkC,EAAE,UAAkB;IAChF,IAAI,yEAAiB,CAAC,UAAU,CAAC,EAAE;QAC/B,OAAO,gBAAgB,CAAC,YAAY,CAAC;KACxC;IACD,OAAO,IAAI,MAAM,EAAE,CAAC;AACxB,CAAC;AAED,gGAAgG;AAChG,MAAM,qBAAqB,GAAkB;IACzC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,gBAAgB;CAC7B,CAAC;AAEF,gHAAgH;AAChH,MAAM,cAAc,GAAoB;IACpC,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE,CAAC,SAAS,EAAE,yDAAW,CAAC;CACjC,CAAC;AAEF,mCAAmC;AAC5B,MAAM,gBAAgB,GAAG;IAC5B,qBAAqB;IACrB,cAAc;CACjB,CAAC;;;;;;;;;;;;;ACtDF;AAAA;AAAA;AAAoD;;AAK7C,MAAM,WAAW;IAEtB,SAAS,CAAC,KAAoB;QAE5B,IAAI,IAAY,CAAC;QAEjB,IAAI,KAAK,YAAY,IAAI,EAAE;YACzB,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB;aAAM;YACL,IAAI,GAAG,KAAK,CAAC;SACd;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAEjE,IAAI,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QAElC,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;SACxC;QACD,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;QAC7B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;SACzC;QACD,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;QAC3B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;SACvC;QACD,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;SACxC;QACD,QAAQ,GAAG,OAAO,GAAG,EAAE,CAAC;QACxB,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;IAE1C,CAAC;;sEArCU,WAAW;wGAAX,WAAW;6FAAX,WAAW;cAHvB,kDAAI;eAAC;gBACJ,IAAI,EAAE,SAAS;aAChB;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgG;AACvC;AAC3B;AAG0D;;;;;;;;;;;;;;;;AAOjF,MAAM,aAAa;IAQxB,YAC0B,MAAc,EAC9B,MAAiB,EACjB,KAAmB;QAFH,WAAM,GAAN,MAAM,CAAQ;QAC9B,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAc;QAT7B,oBAAe,GAAG,QAAQ,CAAC;QAE3B,cAAS,GAAkB,IAAI,CAAC;IAQ5B,CAAC;IAEL,YAAY,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC;QACzB,OAAO;YACL,kBAAkB,EAAE,yCAAyC,GAAG,IAAI,QAAQ,IAAI;SACjF,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAiC,CAAC;QAC/D,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,6CAA6C,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,8BAA8B,UAAU,oCAAoC,CAAC;QAC7G,MAAM,GAAG,GAAG,0BAA0B,UAAU,OAAO,CAAC;QACxD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,EAAE;YAC/E,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;YAClB,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;aAAM,IAAI,kDAAe,IAAI,kDAAe,EAAE,EAAE;YAC/C,6BAA6B;YAC7B,MAAM,GAAG,GAAG,IAAI,mCAAG,EAAE,CAAC;YACtB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IACvE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qGAAmB,EAAE;YACpC,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,yYAAyY;SACvZ,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;;0EAvEU,aAAa,kEASd,sEAAM;6FATL,aAAa;;;;;;QCZ1B,qFAAmD;QAQnD,yEACI;QAAA,yEAAsD;QACtD,yEACI;QAAA,wEAAoB;QAAA,4EAAiB;QAAA,4DAAK;QAC1C,yEACI;QAAA,yEACI;QAAA,qEAAI;QAAA,2EAAe;QAAA,iEAAK;QAAA,yEAAY;QAAA,4DAAK;QACzC,qEAAG;QAAA,uGAA2C;QAAA,4DAAI;QAMlD,0EACI;QAAA,0EACA;QAAA,qEACA;QAAA,4DAAS;QACT,0EACI;QAAA,qEACJ;QAAA,4DAAS;QACT,0EACI;QAAA,sEACJ;QAAA,4DAAS;QACT,0EACI;QAAA,sEACJ;QAAA,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAM;QA8CN,2EACI;QAAA,2EACI;QADyC,mIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,2EACI;QAAA,sEAAI;QAAA,2EAAe;QAAA,4DAAK;QACxB,2EACI;QADc,0JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,qEAAG;QAAA,oNAAwJ;QAAA,4DAAI;QAC/J,0EAA2B;QAC3B,2EACI;QAAA,2EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,2EAAiB;QAAA,sFAA0B;QAAA,4DAAM;QACrD,4DAAM;QACN,2EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,2EAAiB;QAAA,8FAAkC;QAAA,iEAAK;QAAA,sFAAyB;QAAA,4DAAM;QAC3F,4DAAM;QACN,2EACI;QAAA,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QACjC,2EACI;QAAA,uEACJ;QAAA,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,0EAA2B;QAC3B,2EACI;QAAA,yEAA+D;QAAA,qEAAS;QAAA,4DAAI;QAC5E,yEAAsH;QAAA,kEAAM;QAAA,4DAAI;QAChI,yEAAsD;QAAA,kEAAM;QAAA,4DAAI;QACpE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,8EACI;QAAA,4EAAU;QAAA,6EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,2EACI;QADyC,mIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,2EACI;QAAA,sEAAI;QAAA,iFAAqB;QAAA,4DAAK;QAC9B,2EACI;QADc,0JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,qEAAG;QAAA,iMAAqI;QAAA,4DAAI;QAC5I,0EAA2B;QAC3B,2EACI;QAAA,2EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,2EAAiB;QAAA,oEAAQ;QAAA,4DAAM;QACnC,4DAAM;QACN,2EACI;QAAA,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,2EAAiB;QAAA,wEAAY;QAAA,4DAAM;QACvC,4DAAM;QACN,2EACI;QAAA,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QACjC,2EAAiB;QAAA,gEAAI;QAAA,4DAAM;QAC/B,4DAAM;QACV,4DAAM;QACN,0EAA2B;QAC3B,2EACI;QAAA,yEAA+C;QAAA,qEAAS;QAAA,4DAAI;QAC5D,yEAAsD;QAAA,kEAAM;QAAA,4DAAI;QACpE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,8EACI;QAAA,4EAAU;QAAA,6EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,2EACI;QADyC,mIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,2EACI;QAAA,sEAAI;QAAA,2EAAe;QAAA,4DAAK;QACxB,2EACI;QADc,0JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,mNAAsJ;QAAA,4DAAI;QAC7J,4EACI;QAAA,0EAA+E;QAAA,gFAAmB;QAAA,4DAAI;QACtG,0EAAyE;QAAA,+EAAkB;QAAA,4DAAI;QACnG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,4EACI;QADyC,oIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,4EACI;QAAA,uEAAI;QAAA,4EAAe;QAAA,4DAAK;QACxB,4EACI;QADc,2JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,2JAA8F;QAAA,4DAAI;QACrG,4EACI;QAAA,0EAA4E;QAAA,kFAAqB;QAAA,4DAAI;QACzG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,4EACI;QADyC,oIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,4EACI;QAAA,uEAAI;QAAA,sEAAS;QAAA,4DAAK;QAClB,4EACI;QADc,2JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,oOAAuK;QAAA,4DAAI;QAC9K,4EACI;QAAA,0EAA8C;QAAA,wEAAW;QAAA,4DAAI;QACjE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,4EACI;QADyC,oIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,4EACI;QAAA,uEAAI;QAAA,6EAAgB;QAAA,4DAAK;QACzB,4EACI;QADc,2JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,6HAAgE;QAAA,4DAAI;QACvE,4EACI;QAAA,0EAAuE;QAAA,6EAAgB;QAAA,4DAAI;QAC3F,0EAA2E;QAAA,iFAAoB;QAAA,4DAAI;QACvG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,4EACI;QADyC,oIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,4EACI;QAAA,uEAAI;QAAA,2EAAc;QAAA,4DAAK;QACvB,4EACI;QADc,2JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,mWAC2D;QAAA,4DAAI;QAClE,2EAA2B;QAC3B,4EACI;QAAA,4EACI;QAAA,6EAAU;QAAA,kEAAK;QAAA,4DAAW;QAC1B,4EAAiB;QAAA,qEAAQ;QAAA,4DAAM;QACnC,4DAAM;QACN,4EACI;QAAA,6EAAU;QAAA,kEAAK;QAAA,4DAAW;QAC1B,4EAAiB;QAAA,yEAAY;QAAA,4DAAM;QACvC,4DAAM;QACN,4EACI;QAAA,6EAAU;QAAA,yEAAY;QAAA,4DAAW;QACjC,4EAAiB;QAAA,qEAAQ;QAAA,4DAAM;QACnC,4DAAM;QACV,4DAAM;QACN,2EAA2B;QAC3B,4EACI;QAAA,0EAAiF;QAAA,sEAAS;QAAA,4DAAI;QAClG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACN,4EACI;QADyC,oIAAS,iBAAa,IAAI,CAAC,IAAC;QACrE,4EACI;QAAA,uEAAI;QAAA,2EAAc;QAAA,4DAAK;QACvB,4EACI;QADc,2JAAsB,IAAI,IAAI,wBAAwB,IAAE;QACtE,sEAAG;QAAA,6RAAgO;QAAA,4DAAI;QACvO,2EAA2B;QAC3B,4EACI;QAAA,4EACI;QAAA,6EAAU;QAAA,kEAAK;QAAA,4DAAW;QAC1B,4EAAiB;QAAA,qEAAQ;QAAA,4DAAM;QACnC,4DAAM;QACN,4EACI;QAAA,6EAAU;QAAA,kEAAK;QAAA,4DAAW;QAC1B,4EAAiB;QAAA,yEAAY;QAAA,4DAAM;QACvC,4DAAM;QACN,4EACI;QAAA,6EAAU;QAAA,yEAAY;QAAA,4DAAW;QACjC,4EAAiB;QAAA,qEAAQ;QAAA,4DAAM;QACnC,4DAAM;QACV,4DAAM;QACN,2EAA2B;QAC3B,4EACI;QAAA,0EAAiE;QAAA,sEAAS;QAAA,4DAAI;QAC9E,0EAAsH;QAAA,mEAAM;QAAA,4DAAI;QAChI,0EAAsD;QAAA,mEAAM;QAAA,4DAAI;QACpE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,+EACI;QAAA,6EAAU;QAAA,8EAAiB;QAAA,4DAAW;QAC1C,4DAAS;QACb,4DAAM;QACV,4DAAM;QAEN,oFACI;QAAA,uEACA;QAAA,4EACI;QAAA,mFAAgK;QAAjG,2IAAS,SAAK,kDAAkD,CAAC,IAAC;QAA+B,4DAAa;QACjL,4DAAM;QACV,4DAAc;QAId,uFAA6D;;QArMpD,2DAAuC;QAAvC,kKAAuC;QAkCvC,2DAAuC;QAAvC,kKAAuC;QA+BvC,2DAAuC;QAAvC,kKAAuC;QAevC,2DAAuC;QAAvC,kKAAuC;QAcvC,2DAAuC;QAAvC,kKAAuC;QAcvC,2DAAuC;QAAvC,kKAAuC;QAevC,2DAAuC;QAAvC,kKAAuC;QA+BvC,2DAAuC;QAAvC,kKAAuC;QA2C3B,2DAAiB;QAAjB,0EAAiB;;6FD9QzB,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;sCAUmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;6LAHuB,OAAO;kBAA7C,uDAAS;mBAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;;;;;;;;;;;;;;AElBvC;AAAA;AAAA;AAAA;AAAoD;AAC6F;;AAa1I,MAAM,eAAe;IAS1B,YACU,KAAuB,EACF,UAAkC;QADvD,UAAK,GAAL,KAAK,CAAkB;QACF,eAAU,GAAV,UAAU,CAAwB;QANvD,cAAS,GAAkC,IAAI,0DAAY,EAAE,CAAC;QACxE,cAAS,GAAG,IAAI,CAAC;QACjB,cAAS,GAAkB,IAAI,CAAC;QAM9B,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW;QAC/D,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC;QAC5C,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;gBACjD,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACpB,MAAM,YAAY,GAAoB;wBACpC,gBAAgB,EAAE,IAAI,CAAC,SAAS;wBAChC,kBAAkB,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;wBACpH,SAAS,EAAE,KAAK;wBAChB,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;wBACnC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;qBACpC,CAAC;oBACF,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBAC5C,IAAI,KAAK,CAAC,cAAc,EAAE;wBACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;wBACvB,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;qBAC/B;yBAAM;wBACL,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC;qBAChC;oBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACpC;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;SAC5B;IACH,CAAC;;8EA/CU,eAAe,mMAWhB,yDAAW;+FAXV,eAAe;6FAAf,eAAe;cAH3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;aACxB;;sBAYI,oDAAM;uBAAC,yDAAW;wBANX,SAAS;kBAAlB,oDAAM;;;;;;;;;;;;;;ACnBT;AAAA;AAAA;AAAA;AAAA;AAAyD;AACwB;;;;;;AAO1E,MAAM,gBAAgB;IAS3B;QAPA,gBAAW,GAAG,MAAM,CAAC;QAEZ,UAAK,GAAG,QAAQ,CAAC;QACjB,YAAO,GAAG,OAAO,CAAC;QAE3B,UAAK,GAAsB,IAAI,CAAC;IAEhB,CAAC;IAEjB,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,kEAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;IACH,CAAC;;gFAfU,gBAAgB;gGAAhB,gBAAgB;;QCR7B,yEAEI;QAAA,yEACI;QAAA,6DAAyB;QAC7B,4DAAM;QAEV,4DAAM;;QAND,+NAAmE;QAE/D,0DAAyE;QAAzE,0LAAyE;;6FDMrE,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;sCAKU,KAAK;kBAAb,mDAAK;YACG,OAAO;kBAAf,mDAAK;YACG,KAAK;kBAAb,mDAAK;;;;;;;;;;;;;;AEMR;AAAA;AAAO,MAAM,WAAW,GAAgB;IACpC,GAAG,EAAE;QACD,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,SAAS;KAClB;IACD,OAAO,EAAE;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,OAAO,EAAE;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,OAAO,EAAE;QACL,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,QAAQ,EAAE;QACN,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,MAAM,EAAE;QACJ,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,SAAS;KAClB;IACD,MAAM,EAAE;QACJ,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,MAAM,EAAE;QACJ,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,KAAK,EAAE;QACH,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,SAAS,EAAE;QACP,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,eAAe,EAAE;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,YAAY,EAAE;QACV,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,KAAK,EAAE;QACH,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;KAClB;IACD,WAAW,EAAE;QACT,GAAG,EAAE,aAAa;QAClB,IAAI,EAAE,cAAc;KACvB;CACJ,CAAC;;;;;;;;;;;;;AC7EF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4F;AAGpC;AACP;AACN;AACQ;;;;;;;AAS5C,MAAM,YAAY;IAQvB,YACU,EAAa,EACb,WAAwB,EACxB,MAAc,EACd,YAAgC,EAChC,cAAiC,EACf,QAAkB,EACpB,MAAc;QAN9B,OAAE,GAAF,EAAE,CAAW;QACb,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAoB;QAChC,mBAAc,GAAd,cAAc,CAAmB;QACf,aAAQ,GAAR,QAAQ,CAAU;QACpB,WAAM,GAAN,MAAM,CAAQ;QAbxC,UAAK,GAAG,4BAA4B,CAAC;QAErC,oBAAe,GAAG,CAAC,CAAC;QACpB,mBAAc,GAAG,KAAK,CAAC;QACvB,oBAAe,GAAG,KAAK,CAAC;QAYtB,6DAAS,CAAC,IAAI,GAAG,WAAW,CAAC;IAE/B,CAAC;IAED,eAAe;;QAEb,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,UAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,MAAM,GAAG;IAEvD,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,GAAG,YAAY,6DAAa,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC3F,0BAA0B;aAC3B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAEzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEnC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;YAEvE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAE3B,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;gBAErD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE9B,CAAC,CAAC,CAAC;SAEJ;IACH,CAAC;;wEA1DU,YAAY,wtBAcb,wDAAQ,mEACR,+DAAM;4FAfL,YAAY;QCfzB,sEAAqB;QACrB,2EAA+B;;6FDclB,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;yaAeuC,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;0BACgB,MAAM;sBAArC,oDAAM;uBAAC,+DAAM;;;;;;;;;;;;;;AE9BlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;AAQ3C,MAAM,sBAAsB;IAQjC,YACU,YAAmB;QAAnB,iBAAY,GAAZ,YAAY,CAAO;QAP7B,cAAS,GAAG,kBAAkB,CAAC;QAC/B,kBAAa,GAAG,oBAAoB,CAAC;QACrC,eAAU,GAAG,cAAc,CAAC;QAC5B,cAAS,GAAG,qBAAqB,CAAC;QAClC,gBAAW,GAAG,oCAAoC,CAAC;IAI/C,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;;4FAdU,sBAAsB;sGAAtB,sBAAsB;QCRnC,sEAAqB;QACrB,yEAEI;QAAA,qEAAI;QAAA,oHAA6D;QAAA,4DAAK;QAEtE,oEAAG;QAAA,uDACoF;QAAA,gEAAO;QAAA,mEAC9F;QAAA,4DAAI;QAEJ,oEAAG;QAAA,yEAAQ;QAAA,+FAAmC;QAAA,4DAAS;QAAA,4DAAI;QAE3D,qEAAG;QAAA,saACiL;QAAA,4DAAI;QAExL,qEAAG;QAAA,4UACwB;QAAA,4DAAI;QAE/B,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,mGAAuC;QAAA,4DAAS;QAAA,4DAAI;QAE/D,qEAAG;QAAA,4aACoH;QAAA,4DAAI;QAE3H,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,4FAAgC;QAAA,4DAAS;QAAA,4DAAI;QAExD,qEAAG;QAAA,wDAA6F;QAAA,4DAAI;QAEpG,sEACI;QAAA,sEAAI;QAAA,sEAAI;QAAA,uFAA2B;QAAA,4DAAK;QAAA,iEAAO;QAAA,uKAA0G;QAAA,4DAAK;QAC9J,sEAAI;QAAA,sEAAI;QAAA,0FAA8B;QAAA,4DAAK;QAAA,iEAAO;QAAA,+LAAkI;QAAA,4DAAK;QACzL,sEAAI;QAAA,sEAAI;QAAA,8EAAkB;QAAA,4DAAK;QAAA,iEAAO;QAAA,8KAAiH;QAAA,4DAAK;QAC5J,sEAAI;QAAA,sEAAI;QAAA,mFAAuB;QAAA,4DAAK;QAAA,iEAAO;QAAA,gSAChB;QAAA,4DAAK;QAChC,sEAAI;QAAA,sEAAI;QAAA,2HAA+D;QAAA,4DAAK;QAAA,iEAAO;QAAA,gKAAmG;QAAA,4DAAK;QAC3L,sEAAI;QAAA,sEAAI;QAAA,mFAAuB;QAAA,4DAAK;QAAA,iEAChC;QAAA,iEAAO;QAAA,qnBAEiF;QAAA,4DAAK;QACrG,4DAAK;QAEL,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,2FAA+B;QAAA,4DAAS;QAAA,4DAAI;QAEvD,qEAAG;QAAA,4UACwB;QAAA,4DAAI;QAE/B,qEAAG;QAAA,4OAAgL;QAAA,iEAAO;QAAA,oEAC1L;QAAA,4DAAI;QAEJ,qEAAG;QAAA,0EAAQ;QAAA,oHAA4D;QAAA,4DAAS;QAAA,4DAAI;QAEpF,qEAAG;QAAA,iTAAqP;QAAA,iEACjP;QAAA,oEACP;QAAA,4DAAI;QAEJ,qEAAG;QAAA,0EAAQ;QAAA,0FAA8B;QAAA,4DAAS;QAAA,4DAAI;QAEtD,qEAAG;QAAA,wDAC+L;QAAA,4DAAI;QAEtM,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,0FAA8B;QAAA,4DAAS;QAAA,4DAAI;QAEtD,qEAAG;QAAA,kVACkC;QAAA,4DAAI;QAEzC,qEAAG;QAAA,kEAAM;QAAA,4DAAI;QAEb,qEAAG;QAAA,0EAAQ;QAAA,yEAAa;QAAA,4DAAS;QAAA,4DAAI;QAErC,qEAAG;QAAA,mMAAuI;QAAA,4DAAI;QAE9I,qEAAG;QAAA,iEAAO;QAAA,yDAAe;QAAA,4DAAI;QAE7B,sEAAG;QAAA,yDAAkB;QAAA,kEACjB;QAAA,4EAAmC;QAAA,yDAAgB;QAAA,4DAAO;QAAA,qEAC1D;QAAA,4EAAmC;QAAA,yDAAe;QAAA,4DAAO;QAAA,4DAAI;QAEjE,sEAAG;QAAA,yDAAgB;QAAA,4DAAI;QAEvB,sEAAG;QAAA,mFAAsB;QAAA,4DAAI;QAEjC,4DAAM;QACN,0EAAyB;;QAnFlB,0DACoF;QADpF,gYACoF;QAsBpF,2DAA6F;QAA7F,qKAA6F;QAiC7F,2DAC+L;QAD/L,6fAC+L;QAexL,2DAAe;QAAf,wFAAe;QAEtB,0DAAkB;QAAlB,kFAAkB;QACkB,0DAAgB;QAAhB,+EAAgB;QAChB,0DAAe;QAAf,8EAAe;QAEnD,0DAAgB;QAAhB,gFAAgB;;6FD3EV,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8D;AACwC;AAErD;;;AAO1C,MAAM,0BAA0B;IAIrC,YAC4B,QAAkB,EACf,UAAkC,EACvD,KAAmB;QAFD,aAAQ,GAAR,QAAQ,CAAU;QACf,eAAU,GAAV,UAAU,CAAwB;QACvD,UAAK,GAAL,KAAK,CAAc;QAE3B,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,oBAAoB;YAClC,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,wOAAwO;SACtP,CAAC,CAAC;IACL,CAAC;IAGD,eAAe;QAEb,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,GAAG,EAAE;;gBACd,UAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,0CAAE,MAAM,GAAG;YACxD,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,EAAE,EAAE;gBACN,0DAAwB,CAAC,EAAE,EAAE,kDAAkD,EAAE;oBAC/E,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI;oBACjB,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;aACJ;SACF;IAEH,CAAC;;oGArCU,0BAA0B,kEAK3B,wDAAQ,mEACR,yDAAW;0GANV,0BAA0B;QCVvC,yEACI;QAAA,oEAA2B;QAC/B,4DAAM;QACN,oEAAqB;;6FDOR,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,WAAW,EAAE,qCAAqC;gBAClD,SAAS,EAAE,CAAC,qCAAqC,CAAC;aACnD;sCAMuC,QAAQ;sBAA3C,oDAAM;uBAAC,wDAAQ;;sBACf,oDAAM;uBAAC,yDAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhB4B;AACyD;AACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICInD,0EACI;IAD6D,6WAAwC;IACrG,8EAAqD;IAAA,gEAAK;IAAA,4DAAW;IACrE,0EACI;IAAA,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC3B,oEACI;IAAA,2EAAiD;IAAA,uDAAuB;IAAA,4DACjF;IAAA,uDACH;IAAA,4DAAI;IACN,4DAAM;IACR,4DAAM;;;;IARY,0DAA0C;IAA1C,6GAA0C;IAE5C,0DAAkB;IAAlB,gFAAkB;IAE+B,0DAAuB;IAAvB,8FAAuB;IACjF,0DACH;IADG,sIACH;;;;IAKJ,0EACI;IAAA,qEAMA;IAAA,sFAIC;IADD,uVAAqB;IACpB,4DAAc;IACnB,4DAAM;;;IAZmB,8HAAuD;IAS5E,0DAAyB;IAAzB,yFAAyB;;;IAMrB,2EAAoC;IAAA,8DAAG;IAAA,4DAAW;;;;IAGtD,6EACI;IAD+D,qUAA6B;IAC5F,sEACJ;IAAA,4DAAS;;;;IAcrB,0EACI;IAAA,6EACI;IAD+B,qTAAgB;IAC/C,2EAAU;IAAA,8EAAmB;IAAA,4DAAW;IAC5C,4DAAS;IACT,qEAAyB;IACzB,0EAAoB;IAAA,uDAA6B;;IAAA,4DAAM;IACvD,qEAAyB;IACzB,6EACI;IAD+B,oTAAe;IAC9C,iEACA;IAAA,4EAAU;IAAA,gFAAoB;IAAA,4DAAW;IAC7C,4DAAS;IACb,4DAAM;;;IANkB,0DAA6B;IAA7B,8JAA6B;;;IAOrD,0EACI;IAAA,qEAAyB;IACzB,6EAAyD;IACzD,qEAAyB;IAC7B,4DAAM;;;;IAEV,sEACI;IAAA,wFAAmE;IACnE,0EACI;IAAA,yFAAqF;IACzF,4DAAM;IACN,0EACI;IAAA,6EACI;IAD+B,qTAAgB;IAC/C,2EAAU;IAAA,8EAAmB;IAAA,4DAAW;IAC5C,4DAAS;IACT,qEAAyB;IACzB,0EAAoB;IAAA,wDAA6B;;IAAA,4DAAM;IACvD,sEAAyB;IACzB,8EACI;IAAA,sEACA;IAAA,4EAAU;IAAA,gFAAoB;IAAA,4DAAW;IAC7C,4DAAS;IACb,4DAAM;IACV,4DAAM;;;IAhBuB,0DAAe;IAAf,wEAAe;IAShB,0DAA6B;IAA7B,+JAA6B;IAE9B,0DAAiB;IAAjB,0EAAiB;;;IAc5B,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAF+B,0EAAa;IACrD,0DACJ;IADI,6OACJ;;;;IAIR,sEACI;IAAA,4EACI;IADuB,gUAAsB,IAAI,IAAC;IAClD,2EAAU;IAAA,8DAAG;IAAA,4DAAW;IACxB,wEACJ;IAAA,4DAAS;IACb,4DAAM;;;IAQM,4EAAgD;IAAA,2EAAgB;IAAA,4DAAY;;;IAM5E,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAC9E,4EAA8C;IAAA,wEAAa;IAAA,4DAAY;;;IAMvE,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAM9E,4EAAoD;IAAA,8EAAmB;IAAA,4DAAY;;;IAWnF,4EAAkD;IAAA,6EAAkB;IAAA,4DAAY;;;IAqBhF,4EAAoD;IAAA,+EAAoB;IAAA,4DAAY;;;IAyB5F,0EACI;IAAA,qEACA;IAAA,uEACJ;IAAA,uDAA8D;IAAA,yEAAQ;IAAA,gFAAqB;IAAA,4DAAS;IAAC,gEACrG;IAAA,uDAA+B;;IAAA,4DAAO;IACtC,4DAAM;;;IAFN,0DAA8D;IAA9D,0IAA8D;IAC9D,0DAA+B;IAA/B,kKAA+B;;;IAE/B,0EACI;IAAA,qEACA;IAAA,uEACQ;IAAA,uDAA8D;IAAA,yEAAQ;IAAA,6EAAkB;IAAA,4DAAS;IAAC,gEAClG;IAAA,uDACA;;IAAA,4DAAO;IACnB,4DAAM;;;IAHM,0DAA8D;IAA9D,0IAA8D;IAC9D,0DACA;IADA,+JACA;;;;IAlHxB,sEACI;IAAA,wFAAmE;IACnE,0EACI;IAAA,qEAAI;IAAA,2EAAgB;IAAA,4DAAK;IAEzB,qFACI;IAAA,4EAAW;IAAA,kEAAO;IAAA,4DAAY;IAC9B,iFACI;IADQ,iWAA6B;IACrC,oIAEa;IACjB,4DAAa;IACjB,4DAAiB;IACjB,iEACA;IAAA,uHAKM;IAEN,4EAEI;IAAA,2EACI;IAAA,sFACI;IAAA,6EAAW;IAAA,qEAAS;IAAA,4DAAY;IAChC,wEACA;IAAA,mIAA4E;IAChF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,yEAAa;IAAA,4DAAY;IACpC,wEACA;IAAA,mIAA8E;IAC9E,mIAAuE;IAC3E,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,wEAAY;IAAA,4DAAY;IACnC,wEACA;IAAA,mIAA8E;IAClF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,0EAAc;IAAA,4DAAY;IACrC,wEACA;IAAA,mIAAmF;IACvF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,0EAAc;IAAA,4DAAY;IACrC,wEACJ;IAAA,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,kEAAM;IAAA,4DAAY;IAC7B,wEACA;IAAA,mIAAgF;IACpF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,iEAAK;IAAA,4DAAY;IAC5B,kFACI;IAAA,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IACtC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IACtC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IACtC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IAC5C,4DAAa;IACjB,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,oEAAQ;IAAA,4DAAY;IAC/B,wEACA;IAAA,mIAAoF;IACxF,4DAAiB;IAEjB,uEACI;IAAA,6EACI;IADuB,yTAAsB,KAAK,IAAC;IACnD,oEACJ;IAAA,4DAAS;IAAC,oEACV;IAAA,6EACI;IADuB,6TAAuB;IAC9C,kEACJ;IAAA,4DAAS;IACb,4DAAM;IAEV,4DAAM;IAEN,sEAAI;IAAA,2EAAe;IAAA,4DAAK;IACxB,sFACI;IAAA,6EAAW;IAAA,2EAAe;IAAA,4DAAY;IACtC,kFACI;IADmC,qVAAiC;IACpE,kFAAuB;IAAA,kFAAsB;IAAA,4DAAa;IAC1D,kFAA2B;IAAA,kEAAM;IAAA,4DAAa;IAClD,4DAAa;IACjB,4DAAiB;IACrB,4DAAO;IAEH,sEAAI;IAAA,wEAAY;IAAA,4DAAK;IACrB,wHAKM;IACN,wHAMM;IACN,2EACI;IAAA,sEAAgG;IAAA,wDACpG;;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,8EACI;IAD+B,sTAAgB;IAC/C,4EAAU;IAAA,+EAAmB;IAAA,4DAAW;IAC5C,4DAAS;IACT,sEAAyB;IACzB,4EAAoB;IAAA,yDAA6B;;IAAA,4DAAM;IACvD,uEAAyB;IACzB,+EACA;IADuF,uTAAgB;IACvG,uEACA;IAAA,6EAAU;IAAA,iFAAoB;IAAA,4DAAW;IAC7C,4DAAS;IACT,4DAAM;IACV,4DAAM;;;IAnImB,0DAAe;IAAf,wEAAe;IAMpB,0DAA6B;IAA7B,2FAA6B;IACT,0DAAc;IAAd,uFAAc;IAM5C,0DAAiB;IAAjB,oFAAiB;IAOjB,0DAAyB;IAAzB,yFAAyB;IAED,0DAA4C;IAA5C,mHAA4C;IAIlD,0DAAkC;IAAlC,qGAAkC;IAMlC,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAgC;IAAhC,mGAAgC;IAMhC,0DAAmC;IAAnC,sGAAmC;IAMnC,0DAAsC;IAAtC,yGAAsC;IAWtC,0DAAoC;IAApC,uGAAoC;IAqBpC,2DAAsC;IAAtC,yGAAsC;IAyBvC,2DAAsB;IAAtB,oFAAsB;IAMtB,0DAAsB;IAAtB,oFAAsB;IAQ2D,0DACpG;IADoG,qQACpG;IAOoB,0DAA6B;IAA7B,iKAA6B;IAE9B,0DAAmD;IAAnD,0HAAmD;;;;IAoC9D,sEACI;IAAA,4EACJ;IAD+B,uTAAa,IAAI,KAAE;IAClD,2EAAU;IAAA,8DAAG;IAAA,4DAAW;IACxB,wEACJ;IAAA,4DAAS;IACL,4DAAM;;;;IACN,0EACI;IAAA,oGACI;IAAA,wFACI;IADoC,qUAAgB,IAAI,KAAE;IAC1D,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC/B,4DAAoB;IACpB,wFAA2C;IAAA,uDAAa;IAAA,4DAAoB;IAC5E,wFACI;IADoC,kUAAa,IAAI,KAAE;IACvD,2EAAU;IAAA,+DAAG;IAAA,4DAAW;IAC5B,4DAAoB;IACxB,4DAA0B;IAC9B,4DAAM;;;IAL6C,0DAAa;IAAb,gFAAa;;;IAwBpD,iFACI;IAAA,uDACJ;IAAA,4DAAa;;;IAF0B,2EAAc;IACjD,0DACJ;IADI,0FACJ;;;;IAIZ,0EACI;IAAA,4EACJ;IAD+B,uTAAa,IAAI,KAAE;IAClD,2EAAU;IAAA,8DAAG;IAAA,4DAAW;IACxB,wEACJ;IAAA,4DAAS;IACL,4DAAM;;;;IACN,0EACI;IAAA,oGACI;IAAA,wFACI;IADoC,qUAAgB,IAAI,KAAE;IAC1D,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC/B,4DAAoB;IACpB,wFAA2C;IAAA,uDAAa;IAAA,4DAAoB;IAC5E,wFACI;IADoC,kUAAa,IAAI,KAAE;IACvD,2EAAU;IAAA,+DAAG;IAAA,4DAAW;IAC5B,4DAAoB;IACxB,4DAA0B;IAC9B,4DAAM;;;IAL6C,0DAAa;IAAb,gFAAa;;;;;IAlFhF,sEACI;IAAA,qFAAmD;IACnD,0EACI;IAAA,0EACI;IAAA,qEAAI;IAAA,oEAAS;IAAA,4DAAK;IAClB,oEAAG;IAAA,qFAA0B;IAAA,4DAAI;IACrC,4DAAM;IACV,4DAAM;IAEN,0EACI;IAAA,0EAAoB;IAAA,wDAA6B;;IAAA,4DAAM;IACvD,sEAAyB;IACzB,2EACI;IAAA,8EACJ;IAAA,sEACA;IAAA,4EAAU;IAAA,gFAAoB;IAAA,4DAAW;IAC7C,4DAAS;IACL,4DAAM;IACV,4DAAM;IACN,2EAEI;IAAA,yEAAmD;IAAA,wDAA6F;;IAAA,4DAAI;IAEpJ,2EACI;IAAA,sEACA;IAAA,0EAA2B;IAC3B,2EACI;IAAA,uEACI;IAAA,2EAAiB;IAAA,wDAAqB;IAAA,4DAAM;IAChD,4DAAM;IACN,uHAKM;IACN,yHAUM;IACN,2EACI;IAAA,2EAAmB;IAAA,wDAA4D;;IAAA,4DAAM;IACrF,yEAAO;IAAA,wDAA0B;;IAAA,4DAAQ;IAC7C,4DAAM;IACV,4DAAM;IACN,0EAA2B;IAC/B,4DAAM;IACN,2EACI;IAAA,sEACA;IAAA,0EAA2B;IAC3B,2EACI;IAAA,2EACI;IAAA,2EAAiB;IAAA,wDAAqB;IAAA,4DAAM;IAChD,4DAAM;IACN,2EACI;IAAA,sFACI;IAAA,6EAAW;IAAA,0EAAc;IAAA,4DAAY;IACrC,kFACI;IADQ,2VAAsB;IAC9B,sIAEa;IACjB,4DAAa;IACjB,4DAAiB;IACrB,4DAAM;IACN,wHAKM;IACN,yHAUM;IACN,2EACI;IAAA,2EAAmB;IAAA,wDAA8D;;IAAA,4DAAM;IACvF,yEAAO;IAAA,wDAAkC;;IAAA,4DAAQ;IACrD,4DAAM;IACV,4DAAM;IACN,0EAA2B;IAC/B,4DAAM;IACV,4DAAM;IAEN,2EACI;IAAA,2EAAoB;IAAA,wDAA6B;;IAAA,4DAAM;IACvD,sEAAyB;IACzB,2EACI;IAAA,8EACJ;IADyE,sTAAgB;IACzF,sEACA;IAAA,4EAAU;IAAA,gFAAoB;IAAA,4DAAW;IAC7C,4DAAS;IACL,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAjGsB,2DAA6B;IAA7B,gKAA6B;IAG1B,0DAAiC;IAAjC,wGAAiC;IAQL,0DAA6F;IAA7F,6NAA6F;IAOnH,0DAAqB;IAArB,gGAAqB;IAEpC,0DAAc;IAAd,iFAAc;IAMG,0DAAa;IAAb,gFAAa;IAYb,0DAA4D;IAA5D,wLAA4D;IACxE,0DAA0B;IAA1B,6JAA0B;IAUhB,0DAAqB;IAArB,gGAAqB;IAKtB,0DAAsB;IAAtB,oFAAsB;IACD,0DAAQ;IAAR,iFAAQ;IAMjC,0DAAc;IAAd,iFAAc;IAMP,0DAAa;IAAb,gFAAa;IAYb,0DAA8D;IAA9D,mLAA8D;IAC1E,0DAAkC;IAAlC,qKAAkC;IAQjC,0DAA6B;IAA7B,gKAA6B;IAG1B,0DAAiC;IAAjC,wGAAiC;;AD3S7D,MAAM,kBAAkB;IAsD7B,YACU,KAAmB,EACnB,KAAqB,EACrB,IAAiB,EACjB,MAAc,EACd,QAAqB,EACrB,YAA2B,EAC3B,EAAa,EACQ,UAAkC;QAPvD,UAAK,GAAL,KAAK,CAAc;QACnB,UAAK,GAAL,KAAK,CAAgB;QACrB,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;QACrB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,OAAE,GAAF,EAAE,CAAW;QACQ,eAAU,GAAV,UAAU,CAAwB;QA3DjE,iBAAY,GAAW,IAAI,CAAC;QAG5B,iBAAY,GAAiB,IAAI,CAAC;QAClC,iBAAY,GAAG,KAAK,CAAC;QACrB,qBAAgB,GAAsB,EAAE,CAAC;QACzC,0BAAqB,GAA2B,IAAI,CAAC;QACrD,qBAAgB,GAAG,KAAK,CAAC;QACzB,kBAAa,GAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAC9C,QAAG,GAAG,KAAK,CAAC;QACZ,uBAAkB,GAAG,EAAE,CAAC;QAGxB,oBAAe,GAAuB,IAAI,CAAC;QAC3C,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAkB,EAAE,CAAC;QAEhC,WAAM,GAAG,CAAC,CAAC;QACX,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QAEd,UAAK,GAAG,CAAC,CAAC;QAEV,UAAK,GAAG;YACN;gBACE,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,uBAAuB;aAC/B;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,yBAAyB;aACjC;YACD;gBACE,EAAE,EAAE,YAAY;gBAChB,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,yBAAyB;aACjC;SACF,CAAC;QAEF,SAAI,GAAG;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;SACN,CAAC;QAEF,aAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QA+BzB,iBAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;;YACnC,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;aAClB;YACD,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE;gBAClD,UAAI,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE;oBACpC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;oBAC3D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;wBAC/B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;qBACvC;iBACF;aACF;YACD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAE1C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxD,IAAI,MAAM,KAAK,IAAI,EAAE;wBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;wBAC1D,IAAI,GAAG,EAAE;4BACP,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;yBAC5B;qBACF;oBAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;wBACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;qBAC5C;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;QA0EM,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;YAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC;QAC7E,CAAC;QAzHC,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,GAAG,IAAI,wDAAS,CAAC;YAC/B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;IAkCD,MAAM,CAAC,EAAW;QAChB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,EAAW;QACb,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,IAAI;;QACF,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,WAAI,CAAC,eAAe,0CAAE,EAAE,KAAI,EAAE,CAAC,CAAC;SAC1E;IACH,CAAC;IAEK,WAAW;;YAEf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAExC,MAAM,GAAG,GAAgB;gBACvB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC/B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI;gBACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;gBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;gBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;gBACjC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;gBAC7B,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAC9D,IAAI,CAAC,eAAe,GAAG,UAAyB,CAAC;gBACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7C,CAAC;IACD,IAAI,cAAc;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpD,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ,EAAE;YAC3C,OAAO,CAAC,CAAC;SACV;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC9B;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC9B;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,wCAAwC;YACtD,KAAK,EAAE,wCAAwC;YAC/C,WAAW,EAAE,0GAA0G;YACvH,KAAK,EAAE,gEAAgE,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB;SAC9G,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACxD,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC7B;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAmB,CAAC;QAC3E,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;SACF;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC;YACzC,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE;wBACzC,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;iBACJ;qBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;iBAClB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC1C;aACF;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE7C,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,EAAE;YACjD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACxB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;YAElC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAkB,CAAC;YAErC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC5D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SAEb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,GAAG;;YACP,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YAED,yBAAyB;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACb,KAAK,CAAC,8EAA8E,CAAC,CAAC;gBACtF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO;aACR;YAED,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;YAED,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;YAEtB,iBAAiB;YACjB,MAAM,SAAS,GAAG,OAAO,GAAG,CAC1B,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;gBAC3B,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC9B,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CACxB,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAElD,MAAM,WAAW,GAAqB,EAAE,CAAC;YACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAChB,WAAW,CAAC,IAAI,CACd;oBACE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAC/B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,WAAW,EAAE,kCAAkC,IAAI,CAAC,QAAQ,EAAE;oBAC9D,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACtB,GAAG,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE;oBACzB,IAAI,EAAE,WAAW,CAAC,MAAM;iBACzB,CACF,CAAC;gBACF,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAChB,WAAW,CAAC,IAAI,CACd;oBACE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAC/B,MAAM,EAAE,IAAI,CAAC,UAAU;oBACvB,WAAW,EAAE,+BAA+B,IAAI,CAAC,QAAQ,EAAE;oBAC3D,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;oBACtB,GAAG,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE;oBACzB,IAAI,EAAE,WAAW,CAAC,MAAM;iBACzB,CACF,CAAC;gBACF,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;aAClC;YACD,WAAW,CAAC,IAAI,CACd;gBACE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC/B,MAAM,EAAE,IAAI,CAAC,cAAc;gBAC3B,WAAW,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,aAAa,EAAE;gBACpH,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,CAAC;gBACX,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,EAAE;gBAC7B,IAAI,EAAE,WAAW,CAAC,MAAM;aACzB,CACF,CAAC;YACF,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAEjC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACxD,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACjD,OAAO;aACR;YAED,MAAM,OAAO,GAAgB;gBAC3B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC/B,SAAS;gBACT,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAChC,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,aAAa,EAAE,IAAI,CAAC,qBAAqB;gBACzC,MAAM,EAAE,SAAS;gBACjB,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,UAAU;aACrB,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAE5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CACrC;gBACE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;gBACpC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE;aAC1C,CACF,CAAC;YAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAiB,CAAC;YAElG,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO;aACR;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAEb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE;oBAC9C,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;aAEJ;YAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAE1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE;gBACtC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;aAC/B,CAAC,CAAC;QAEL,CAAC;KAAA;IAEK,iBAAiB;;;YAErB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACxD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI;gBAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;oBAClD,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC;oBACvC,YAAY,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC;oBACjD,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACpD,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE;oBAC1D,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjD,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;iBAC9D,CAAC,CAAC;gBAEH,IAAI,SAAS,EAAE;oBAEb,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;oBAEjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE;wBACtD,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;wBAC5C,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC;wBACzC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE;wBAClD,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;wBACzC,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;qBAC9D,CAAQ,CAAC;oBAEV,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;wBAEhC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;wBAC9B,IAAI,CAAC,gBAAgB,GAAG,iBAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,cAAc,0CAAE,OAAO,CAAC,IAAI,KAAI,EAAE,CAAC;wBAE7E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;wBAElF,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBAE9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAE3B;yBAAM;wBACL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAC3B;iBAEF;qBAAM;oBAEL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,EAAE;wBACxD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;oBAEH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC3B;aAEF;YAAC,OAAO,CAAC,EAAE;gBAEV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAK,CAAS,CAAC,OAAO,EAAE;oBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAI,CAAS,CAAC,OAAO,EAAE,SAAS,EAAE;wBAC5D,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE;wBAClD,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;aAEF;;KAEF;;oFA3cU,kBAAkB,w/BA8DnB,yDAAW;kGA9DV,kBAAkB;;;;;;;;;;QCvB/B,yEACI;QAAA,wFAAmE;QACnE,yEACI;QAAA,yEACI;QAAA,qEAAI;QAAA,0EAAe;QAAA,4DAAK;QACxB,yEACI;QAAA,+GASE;QACR,4DAAM;QAEJ,8GAYM;QACN,sEACI;QAAA,6EACI;QADuB,2LAA8C;QACrE,0HAAkD;QAClD,wDACJ;QAAA,4DAAS;QAAC,oEACV;QAAA,sHAES;QACb,4DAAM;QAEN,2EACI;QAAA,yEAAyD;QAAA,0EAAc;QAAA,4DAAI;QAC3E,yEAA0D;QAAA,4EAAgB;QAAA,4DAAI;QAC9E,qEACA;QAAA,oFACK;QADS,2LAAiB;QAC1B,+GAAmD;QAAA,4DACvD;QACD,4DAAI;QACR,4DAAM;QACV,4DAAM;QACV,4DAAM;QACN,kHAWM;QACN,iHAIM;QACV,4DAAM;QACN,iHAiBM;QACN,mHAoIU;QACN,kHA2GM;;QAxUL,qGAAwC;QAChB,0DAAe;QAAf,wEAAe;QAKgB,0DAAmB;QAAnB,yFAAmB;QAYe,0DAAe;QAAf,+EAAe;QAe9E,0DAAuB;QAAvB,uFAAuB;QAClC,0DACJ;QADI,kIACJ;QAC2C,0DAAsB;QAAtB,sFAAsB;QASnD,0DAAiB;QAAjB,4EAAiB;QAOlB,0DAAmB;QAAnB,mFAAmB;QAYnB,0DAAkB;QAAlB,kFAAkB;QAMzC,0DAA8B;QAA9B,8FAA8B;QAkB9B,0DAAmC;QAAnC,mGAAmC;QAqI/B,0DAAmB;QAAnB,mFAAmB;;6FDtMhB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;sBA+DI,oDAAM;uBAAC,yDAAW;wBA1DI,UAAU;kBAAlC,uDAAS;mBAAC,YAAY;YA+CK,QAAQ;kBAAnC,uDAAS;mBAAC,eAAe;YACE,QAAQ;kBAAnC,uDAAS;mBAAC,eAAe;;;;;;;;;;;;;;AE1E5B;AAAA;AAAA;AAAA;AAAiF;;;;AAS1E,MAAM,aAAa;IAExB,YACU,UAAmC,EACnC,IAAgB;QADhB,eAAU,GAAV,UAAU,CAAyB;QACnC,SAAI,GAAJ,IAAI,CAAY;QAG1B,aAAQ,GAAG,wCAAwC,CAAC;QACpD,SAAI,GAAkB,IAAI,CAAC;IAHvB,CAAC;IAKL,QAAQ;QAEN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC;QAEpD,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;YAE5E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YAE/C,yFAAyF;YAEzF,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,EAAE,CAAC;YAE7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,YAAY,EAAE,MAAM;aACrB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC;YAChD,CAAC,CAAC,CAAC;SAEJ;IAEH,CAAC;;0EA9BU,aAAa;6FAAb,aAAa;;QALb,6DAAyB;;6FAKzB,aAAa;cAPzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,2BAA2B;gBACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;gBACpC,aAAa,EAAE,+DAAiB,CAAC,IAAI;gBACrC,IAAI,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE;aAC9C;;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;AAQ3C,MAAM,gBAAgB;IAE3B,YACU,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IACzB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,WAAW;YACzB,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,WAAW;SACzB,CAAC,CAAC;IACL,CAAC;;gFAZU,gBAAgB;gGAAhB,gBAAgB;QCR7B,8EAEI;QAAA,qEAAI;QAAA,uFAA4B;QAAA,4DAAK;QAEzC,4DAAc;;6FDID,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAkD;;AAO3C,MAAM,2BAA2B;IAEtC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;sGALU,2BAA2B;2GAA3B,2BAA2B;QCPxC,qEAAI;QAAA,kFAAuB;QAAA,4DAAK;QAChC,oEAAG;QAAA,yHAA8D;QAAA,4DAAI;;6FDMxD,2BAA2B;cALvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAkD;AACuB;;;;AAQlE,MAAM,2BAA2B;IACtC,YACS,SAAoD,EAC3B,OAAe;QADxC,cAAS,GAAT,SAAS,CAA2C;QAC3B,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IACtD,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;sGANU,2BAA2B,0MAG5B,wEAAe;2GAHd,2BAA2B;QCTxC,yEACI;QAAA,uDACJ;QAAA,4DAAM;QACN,yEACI;QAAA,4EAAyC;QAAtB,mJAAS,eAAW,IAAC;QAAC,6DAAE;QAAA,4DAAS;QACpD,4EAA2E;QAAA,8DAAG;QAAA,4DAAS;QAC3F,4DAAM;;QALF,0DACJ;QADI,wFACJ;QAGqC,0DAAyB;QAAzB,kFAAyB;;6FDIjD,2BAA2B;cAPvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE;oBACT,sCAAsC;iBACvC;aACF;;sBAII,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEZ3B;AAAA;AAAA;AAAA;AAAA;AAA0D;AACC;;;;AAOpD,MAAM,sBAAsB;IAEjC,YACkC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAC5C,CAAC;IAEL,QAAQ;IACR,CAAC;;4FAPU,sBAAsB,kEAGvB,wEAAe;sGAHd,sBAAsB;QCRnC,wEAAqB;QAAA,wEAAa;QAAA,4DAAK;QACvC,yEACI;QAAA,oEACJ;QAAA,4DAAM;QACN,yEACI;QAAA,4EAAoC;QAAA,iEAAM;QAAA,4DAAS;QACnD,4EAA6C;QAAA,uEAAY;QAAA,4DAAS;QAClE,4EAA6D;QAAA,+EAAmB;QAAA,4DAAS;QAC7F,4DAAM;;QANG,0DAA6D;QAA7D,uLAA6D;QAK/C,0DAAyB;QAAzB,kFAAyB;;6FDCnC,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;sBAII,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;AETkC;AACO;;;;;AAmB7D,MAAM,cAAc;IAMzB,YACU,IAAiB,EACjB,MAAc,EACd,KAAqB,EACrB,KAAmB;QAHnB,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,UAAK,GAAL,KAAK,CAAc;QAR7B,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAqB,IAAI,CAAC;QACnC,YAAO,GAAG,IAAI,CAAC;QASf,iBAAY,GAAG,CAAC,QAAiB,EAAE,EAAE;YACnC,IAAI,QAAQ,EAAE;gBACZ,MAAM,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAElF,IAAI,WAAW,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;iBACxC;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACtC;aACF;QACH,CAAC;QA8BM,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aACjE;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IA/CG,CAAC;IAcL,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC9C,KAAK,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvC,WAAW,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAE7B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YAEnE,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACpE,+BAA+B,CAChC,CAAC,CAAC;YAEH,QAAQ,EAAE,IAAI,0DAAW,CAAC,GAAG,CAAC;SAE/B,CAAC,CAAC;IAEL,CAAC;IASD,OAAO;IAEP,CAAC;IAEK,KAAK,CAAC,IAAe;;YAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEtB,IAAI,YAAY,EAAE;gBAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;aAEhB;QAEH,CAAC;KAAA;;4EA9EU,cAAc;8FAAd,cAAc;QCtB3B,sEAAqB;QACrB,0FACI;QAAA,yEAEI;QAAA,yEAEI;QAAA,qEAAI;QAAA,wEAAa;QAAA,4DAAK;QAEtB,qFAAmD;QA4CvD,4DAAM;QACV,4DAAM;QACV,4DAAuB;QACvB,wEAAyB;;6FDjCZ,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;;;;;;;;;;;;;;AErBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;AAQ3C,MAAM,mBAAmB;IAE9B,YACU,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IACzB,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,kDAAkD;YAChE,KAAK,EAAE,kDAAkD;YACzD,WAAW,EAAE,4QAA4Q;YACzR,KAAK,EAAE,wEAAwE,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB;SACtH,CAAC,CAAC;IACL,CAAC;;sFAbU,mBAAmB;mGAAnB,mBAAmB;QCRhC,qFAAmD;QACnD,yEACI;QAAA,yEACI;QAAA,qEAAI;QAAA,oFAAyB;QAAA,4DAAK;QAClC,oEAAG;QAAA,+EAAoB;QAAA,4DAAI;QAC/B,4DAAS;QACb,4DAAM;QACN,yEACI;QAAA,yEACI;QAAA,uEAAgB;QAA2C,8DAA4I;QAA5I,0EAA4I;QAAA,sEAAwvB;QAAA,4DAAM;QAAA,4DAAI;QACz8B,+DAAI;QAAJ,sEAAI;QAAA,iEAAK;QAAA,4DAAK;QACd,qEAAI;QAAA,0EAAQ;QAAA,6GAAiD;QAAA,4DAAS;QAAA,4DAAI;QAC1E,qEAAG;QAAA,oLAAwH;QAAA,4DAAI;QACnI,4DAAM;QACN,0EACI;QAAA,wEAAgB;QAAA,8DACZ;QADY,0EACZ;QAAA,sEAA2M;QAC3M,wEAA0C;QAC1C,uEAA+R;QAC/R,yEAA2C;QAC3C,4DAAM;QACV,4DAAI;QACJ,+DAAI;QAAJ,sEAAI;QAAA,oEAAQ;QAAA,4DAAK;QACjB,qEAAG;QAAA,wLAA4H;QAAA,4DAAI;QACvI,4DAAM;QACN,0EACI;QAAA,wEAAgB;QAA2C,8DAA4I;QAA5I,0EAA4I;QAAA,uEAA6N;QAAA,4DAAM;QAAA,4DAAI;QAC9a,+DAAI;QAAJ,sEAAI;QAAA,yEAAa;QAAA,4DAAK;QACtB,qEAAG;QAAA,2EAAe;QAAA,4DAAI;QAC1B,4DAAM;QACN,0EACI;QAAA,wEAAgB;QAA2C,8DAA4I;QAA5I,0EAA4I;QAAA,uEAAoM;QAAA,4DAAM;QAAA,4DAAI;QACrZ,+DAAI;QAAJ,sEAAI;QAAA,sEAAU;QAAA,4DAAK;QACnB,qEAAG;QAAA,wFAA4B;QAAA,4DAAI;QACvC,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,2EACI;QAAA,sEAAI;QAAA,+FAAmC;QAAA,4DAAK;QAC5C,qEAAG;QAAA,4EAA8B;QAAA,qVAAyR;QAAA,4DAAO;QAAA,4DAAI;QACrU,qEAAG;QAAA,0EAAQ;QAAA,iEAAK;QAAA,4DAAS;QAAA,iEAAK;QAAA,sMAAyI;QAAA,4DAAI;QAC3K,qEAAG;QAAA,0EAAQ;QAAA,0FAA8B;QAAA,4DAAS;QAAA,iEAAK;QAAA,wOAA2K;QAAA,4DAAI;QACtO,qEAAG;QAAA,6RAAiO;QAAA,4DAAI;QACxO,qEAAG;QAAA,6OAAiL;QAAA,4DAAI;QACxL,qEAAG;QAAA,0EAAQ;QAAA,2EAAe;QAAA,4DAAS;QAAA,iEAAK;QAAA,mGAAoC;QAAA,iEAAK;QAAA,qFAAwB;QAAA,4DAAI;QAC7G,qEAAG;QAAA,0EAAQ;QAAA,sEAAU;QAAA,4DAAS;QAAA,iEAAK;QAAA,gNAAmJ;QAAA,4DAAI;QAC9L,4DAAM;QACN,2EACI;QAAA,sEACJ;QAAA,4DAAM;QACV,4DAAM;QAEN,2EACI;QAAA,yEAAmD;QAAA,8EAAkB;QAAA,4DAAI;QAC7E,4DAAM;;6FD/CO,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACjB;AACY;AACJ;AACQ;AACN;AACC;AACK;AAGD;AACN;AACH;AACgC;AACnB;AACJ;AACU;AACsB;AAC3B;AACf;AAEgB;AACS;AACd;AACiB;AACoB;AACc;AACX;AACjC;AACO;AACE;AAC2B;AAC9B;AAC4C;AACvB;AAC1B;AACA;AACe;AACZ;AACG;AACyB;AACH;AACL;AACX;AAC+B;AACxC;AACsC;AACnC;AACQ;AACM;AACX;AACsD;AACG;AAC5C;AACN;AACU;AACpB;AAC0B;AACrB;AACA;AACM;AACG;AACG;AACjB;AACiB;AACpC;AACa;AACkC;AACnB;AACoB;AACT;AACiB;AACT;AACtB;AAClB;AAC0B;AACpB;AACuE;AACjC;AACpB;AACoB;;;;;AA6FhG,MAAM,SAAS;;wFAAT,SAAS,cAFR,4DAAY;4IAEb,SAAS,mBAHT,CAAC,mFAAqB,EAAE,8EAAgB,EAAE,0EAAgB,EAAE,8DAAgB,EAAE,iEAAW,CAAC,YAtB5F;YACP,uEAAa,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC1D,oEAAgB;YAChB,6FAAuB;YACvB,yEAAc;YACd,2DAAW;YACX,mEAAmB;YACnB,sEAAgB;YAChB,sEAAe;YACf,gEAAY;YACZ,kEAAiB;YACjB,sEAAsE;YACtE,4DAAY,CAAC,OAAO,CAAC,4CAA4C,CAAC;YAClE,8DAAa;YACb,iEAAkB,CAAC,OAAO,CAAC;gBACzB,MAAM,EAAE,kBAAkB;gBAC1B,kBAAkB,EAAE;oBAClB,IAAI,EAAE,iBAAiB;iBACxB;aACF,CAAC;YACF,sEAAe;SAChB;mIAIU,SAAS,mBAzFlB,4DAAY;QACZ,2EAAa;QACb,oFAAe;QACf,sEAAc;QACd,uFAAgB;QAChB,2GAAuB;QACvB,yHAA0B;QAC1B,+HAA6B;QAC7B,8GAAwB;QACxB,6EAAa;QACb,oFAAe;QACf,sFAAe;QACf,iHAAwB;QACxB,mFAAc;QACd,wGAAsB;QACtB,8EAAa;QACb,8EAAa;QACb,8DAAgB;QAChB,6FAAkB;QAClB,iFAAc;QACd,oFAAe;QACf,6GAAsB;QACtB,0GAAqB;QACrB,qGAAoB;QACpB,0FAAiB;QACjB,yHAA0B;QAC1B,iFAAe;QACf,uHAA2B;QAC3B,4FAAkB;QAClB,oFAAgB;QAChB,kGAAmB;QACnB,uFAAgB;QAChB,6IAA8B;QAC9B,gJAA+B;QAC/B,oGAAmB;QACnB,8FAAiB;QACjB,wGAAsB;QACtB,oFAAgB;QAChB,8EAAa;QACb,8GAAwB;QACxB,yFAAiB;QACjB,yFAAiB;QACjB,+FAAmB;QACnB,kGAAoB;QACpB,qGAAqB;QACrB,oFAAkB;QAClB,8EAAe;QACf,qGAAoB;QACpB,iEAAW;QACX,gHAAwB;QACxB,6FAAmB;QACnB,iHAAyB;QACzB,wGAAqB;QACrB,yHAA0B;QAC1B,gHAAwB;QACxB,0FAAkB;QAClB,wEAAY;QACZ,kGAAoB;QACpB,8EAAc;QACd,qJAAgC;QAChC,oHAAyB;QACzB,gGAAoB;QACpB,oHAA0B,sFAI1B,oEAAgB;QAChB,6FAAuB;QACvB,yEAAc;QACd,2DAAW;QACX,mEAAmB;QACnB,sEAAgB;QAChB,sEAAe;QACf,gEAAY;QACZ,kEAAiB,gEAGjB,8DAAa,qEAOb,sEAAe;6FAKN,SAAS;cA3FrB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,4DAAY;oBACZ,2EAAa;oBACb,oFAAe;oBACf,sEAAc;oBACd,uFAAgB;oBAChB,2GAAuB;oBACvB,yHAA0B;oBAC1B,+HAA6B;oBAC7B,8GAAwB;oBACxB,6EAAa;oBACb,oFAAe;oBACf,sFAAe;oBACf,iHAAwB;oBACxB,mFAAc;oBACd,wGAAsB;oBACtB,8EAAa;oBACb,8EAAa;oBACb,8DAAgB;oBAChB,6FAAkB;oBAClB,iFAAc;oBACd,oFAAe;oBACf,6GAAsB;oBACtB,0GAAqB;oBACrB,qGAAoB;oBACpB,0FAAiB;oBACjB,yHAA0B;oBAC1B,iFAAe;oBACf,uHAA2B;oBAC3B,4FAAkB;oBAClB,oFAAgB;oBAChB,kGAAmB;oBACnB,uFAAgB;oBAChB,6IAA8B;oBAC9B,gJAA+B;oBAC/B,oGAAmB;oBACnB,8FAAiB;oBACjB,wGAAsB;oBACtB,oFAAgB;oBAChB,8EAAa;oBACb,8GAAwB;oBACxB,yFAAiB;oBACjB,yFAAiB;oBACjB,+FAAmB;oBACnB,kGAAoB;oBACpB,qGAAqB;oBACrB,oFAAkB;oBAClB,8EAAe;oBACf,qGAAoB;oBACpB,iEAAW;oBACX,gHAAwB;oBACxB,6FAAmB;oBACnB,iHAAyB;oBACzB,wGAAqB;oBACrB,yHAA0B;oBAC1B,gHAAwB;oBACxB,0FAAkB;oBAClB,wEAAY;oBACZ,kGAAoB;oBACpB,8EAAc;oBACd,qJAAgC;oBAChC,oHAAyB;oBACzB,gGAAoB;oBACpB,oHAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,uEAAa,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;oBAC1D,oEAAgB;oBAChB,6FAAuB;oBACvB,yEAAc;oBACd,2DAAW;oBACX,mEAAmB;oBACnB,sEAAgB;oBAChB,sEAAe;oBACf,gEAAY;oBACZ,kEAAiB;oBACjB,sEAAsE;oBACtE,4DAAY,CAAC,OAAO,CAAC,4CAA4C,CAAC;oBAClE,8DAAa;oBACb,iEAAkB,CAAC,OAAO,CAAC;wBACzB,MAAM,EAAE,kBAAkB;wBAC1B,kBAAkB,EAAE;4BAClB,IAAI,EAAE,iBAAiB;yBACxB;qBACF,CAAC;oBACF,sEAAe;iBAChB;gBACD,SAAS,EAAE,CAAC,mFAAqB,EAAE,8EAAgB,EAAE,0EAAgB,EAAE,8DAAgB,EAAE,iEAAW,CAAC;gBACrG,SAAS,EAAE,CAAC,4DAAY,CAAC;aAC1B;;kEA3EG,mFAAc,GAyBd,8EAAa;IA1Bb,iHAAwB;IANxB,yHAA0B;IAI1B,oFAAe;;;;;;;;;;;;;;;;;;;;;;;;;AC9F4F;AAIpE;AAEiD;;;;;;AAyCrF,MAAM,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;AAcjC,MAAM,SAAS;IAgBpB,YACS,MAAiB,EACjB,KAAmB,EACnB,IAAgB,EAChB,QAAqB;QAHrB,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAY;QAChB,aAAQ,GAAR,QAAQ,CAAa;QAhB9B,8CAA8C;QAE9C,uBAAkB,GAAgB;YAChC,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,MAAM;SAClB,CAAC;QAWF,gBAAW,GAAsB,IAAI,CAAC;QAEtC,gBAAW,GAA+B,IAAI,CAAC;QAC/C,eAAU,GAA8B,EAAE,CAAC;QAC3C,kBAAa,GAA8B,EAAE,CAAC;QAC9C,YAAO,GAAiC,EAAE,CAAC;QAE3C,kBAAa,GAA0B,EAAE,CAAC;QAC1C,sBAAiB,GAAG,CAAC,CAAC;QAEtB,oBAAe,GAAa,IAAI,GAAG,EAAE,CAAC;QACtC,qBAAgB,GAAa,IAAI,GAAG,EAAE,CAAC;QAEvC,cAAS,GAAyG,EAAE,CAAC;QACrH,mBAAc,GAAG,KAAK,CAAC;QAEvB,iBAAY,GAER,EAAE,CAAC;QAEP,uBAAkB,GAAqC,EAAE,CAAC;QAvBxD,oDAAS,CAAC,EAAE,GAAG,IAAI,CAAC;IACtB,CAAC;IAwBD,YAAY,CAAC,IAAY,EAAE,GAAW;QACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpF;IACH,CAAC;IAED,UAAU,CAAC,IAAY;QAIrB,MAAM,OAAO,GAAgC,EAAE,CAAC;QAEhD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,mDAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,4DAAe,CAAC,CAAC;QAE1D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,wDAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,KAAK,CAAC,6BAA6B,IAAI,KAAK,CAAC,IAAI;oBACzD,SAAS,EAAE,OAAO;iBACnB,CAAC,CAAC;aACJ;YAED,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,wDAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,KAAK,CAAC,IAAI;oBAClB,SAAS,EAAE,MAAM;iBAClB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAGH,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,yCAAyC;IACzC,cAAc,CAAC,IAAY,EAAE,KAAc,EAAE,cAAiC;QAE5E,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,CAAC,CAAC;SACX;QAED,MAAM,MAAM,GAAqB,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAElB,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,mDAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzC,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,4DAAe,CAAC,CAAC;SAC9B;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,wDAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpD,MAAM,UAAU,GAAa,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE1D,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBAC1B,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrC;gBAED,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;oBACpB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;oBACpB,MAAM,EAAE,KAAK,CAAC,6BAA6B,IAAI,IAAI;wBACjD,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,KAAK,CAAC,6BAA6B;oBACvC,MAAM,EACJ,KAAK,CAAC,iBAAiB,KAAK,iEAAoB,CAAC,YAAY;wBAC3D,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,MAAM;oBACZ,MAAM,EAAE,KAAK,CAAC,IAAI;iBACnB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,KAAK,EAAE,CAAC;YACR,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,mBAA2C,EAC3C,GAAgB,EAChB,QAAgB,CAAC;QAGjB,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE;YACjC,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAErD,IAAI,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;YACtE,MAAM,WAAW,GAA2B,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAExE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACrC,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC7B,KAAK,GAAG,KAAW,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBACjC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAgB,CAAC;wBACvC,IAAI,KAAK,GAAG,CAAC,EAAE;4BACb,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;yBAC7E;wBACD,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,GAAwB,CAAC,GAAG,KAAK,CAAC;iBACvC;qBAAM;oBACL,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,mDAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,4DAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;oBAC3F,IAAI,KAAK,IAAI,IAAI,EAAE;wBACjB,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE;4BAC5B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;yBACpD;qBACF;oBACD,IAAI,KAAK,GAAG,CAAC,EAAE;wBACb,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;qBACvF;oBACD,GAAG,CAAC,GAAwB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAQ,CAAC;iBACnF;YACH,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,OAAqB;QAErC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,iBAAiB;QAEf,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC5C,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SACrC;IAEH,CAAC;IAED,eAAe,CAAC,EAAyB;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,GAAW;QAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE;YAE3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;gBAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE;oBAC1C,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,kBAAkB,EAAE,CAAC;oBACrB,OAAO,EAAE,YAAY;iBACtB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC;IAEjB,CAAC;IAEK,gBAAgB;;YAEpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gBAC1B,OAAO;aACR;YAED,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAE1B,MAAM,KAAK,GAAG,EAAE,CAAC;YAEjB,MAAM,IAAI,GAAG;gBACX,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,EAAE;aACX,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAEpC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS,EAAkB,CAAC;YAEvF,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,MAAM,SAAS,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACvD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAEhC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;oBAE1B,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACjB,IAAI;4BACF,QAAQ,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;4BACvF,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;yBAC5D;wBAAC,OAAO,CAAC,EAAE;4BACV,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;yBAChD;qBACF;oBACD,IAAI,QAAQ,CAAC,WAAW,EAAE;wBACxB,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;qBACzD;oBAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;wBACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;4BACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,oBAAoB,EAAE,SAAS,EAAE;gCACtE,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;yBACJ;wBACD,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;qBAC3D;oBACD,IAAI,QAAQ,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE;wBAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE;4BAC9C,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;qBACJ;oBACD,QAAQ,CAAC,kBAAkB,GAAG,CAAC,CAAC;oBAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACxB;aACF;QAEH,CAAC;KAAA;IAED,IAAI,CAAC,IAAS,EAAE,KAAc;QAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE;YAEpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC;IAEjB,CAAC;IAED,eAAe;QAEb,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,EAAE,CAAC;IAEZ,CAAC;IAED,CAAC,CAAC,GAAW,EAAE,MAAW,EAAE,QAAiB,KAAK;QAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;IAE3C,CAAC;IAED,SAAS,CAAC,GAAgB;QAExB,6CAA6C;QAC7C,kCAAkC;QAElC,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE;YACjC,OAAO,GAAG,CAAC;SACZ;QAED,uDAAuD;QACvD,IAAI,oDAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAEhC,sEAAsE;YAEtE,wBAAwB;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAE7B,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,WAAW,EAAE;oBAEjC,QAAQ;oBACR,MAAM,GAAG,GAAG,GAAG,CAAC,GAAwB,CAAC,CAAC;oBAE1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oDAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACvF,4BAA4B;wBAC5B,oDAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;qBACzC;iBAEF;YAGH,CAAC,CAAC,CAAC;YAEH,uBAAuB;YACvB,OAAO,oDAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAErC;aAAM;YAEL,0BAA0B;YAC1B,oDAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACnC,OAAO,GAAG,CAAC;SAEZ;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,mEAAmE;QACnE,sDAAsD;QACtD,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED,cAAc;QACZ,oDAAS,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,oDAAS,CAAC,UAAU,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,mBAAmB,CAAC,IAAS;QAE3B,IAAI,oDAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACjC,OAAO,oDAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtC;QAED,MAAM,GAAG,GAAG,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAClB;IAEH,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,GAAgB;QAEzC,sBAAsB;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzB,0BAA0B;QAC1B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,aAAa;QACb,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9B,OAAO,GAAG,CAAC;IAEb,CAAC;IAEK,QAAQ,CAAC,KAAiB;;YAE9B,MAAM,IAAI,GAIJ,EAAE,CAAC;YAET,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAElB,MAAM,IAAI,GAAa,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAEtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACrB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/B,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBAC5C,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3F,CAAC;KAAA;IAEK,QAAQ,CAAC,IAAY,EAAE,GAAa,EAAE,QAAgB,CAAC;;YAE3D,mBAAmB;YACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE;gBACxC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxB,IAAI;gBACJ,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aACtE,CAAC,CAAC;YAEH,MAAM,IAAI,GAAkB,GAAG,CAAC,IAAI,CAAC;YAErC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAEjB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxD,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAErC,CAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QAEd,CAAC;KAAA;IAED,cAAc,CAAC,GAAe,EAAE,IAAY;QAC1C,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QAEtB,oCAAoC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YACX,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE;YAC7B,yBAAyB;YACzB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;gBAC5C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;aACrC;SACF;QAED,eAAe;QACf,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QAEtB,qBAAqB;QACrB,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7C,cAAc;QACd,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAE1B,wEAAwE;QACxE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAClB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;SAC3B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kBAAkB,CAAC,GAAQ;QAEzB,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAY,CAAC;YAC/B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;SACtB;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACjC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/D;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,CAAC,KAAU;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC7B,KAAK,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,KAAU;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE;gBAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC9B;iBAAM;gBACL,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACnD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;qBACxB;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,gBAAgB,CAAC,GAAQ;QAEvB,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE7B,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,UAAU,EAAE;oBACtD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;iBACjB;YACH,CAAC,CAAC,CAAC;SACJ;QAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE;gBACxD,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAe,CAAC;gBACtC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IAEb,CAAC;IAEK,GAAG,CAAC,IAAS,EAAE,GAAiB;;YAEpC,IAAI,OAAO,GAAG,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC3D,GAAG,GAAG,IAAmB,CAAC;gBAC1B,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;aACvB;iBAAM,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAClC,OAAO;aACR;YAED,MAAM,MAAM,GAAG,GAAkB,CAAC;YAElC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAE/B,yBAAyB;YACzB,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAEnC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEjC,mBAAmB;YACnB,MAAM,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;gBACvB,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxB,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QAEb,CAAC;KAAA;IAEK,OAAO,CAAC,IAAY,EAAE,GAAiB;;YAE3C,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;YAEhB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YAEnB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpC,CAAC;KAAA;IAEK,QAAQ,CACZ,IAAY,EACZ,OAAe,CAAC,EAChB,WAAmB,EAAE,EACrB,aAAqB,WAAW,EAChC,YAA4B,MAAM,EAClC,YAAqB,KAAK,EAC1B,QAAgB,CAAC;;YAGjB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC3B,SAAS;gBACT,KAAK;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI;gBACJ,QAAQ;gBACR,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;QAEL,CAAC;KAAA;IAED,qBAAqB,CAAC,GAAQ;QAE5B,IAAI,GAAG,EAAE;YAEP,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACpB,IAAI,OAAO,GAAG,CAAC,CAAsB,CAAC,KAAK,WAAW,EAAE;oBACtD,GAAG,CAAC,CAAsB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAsB,CAAC,CAAC;iBAC/E;aACF;YAED,OAAO,GAAG,CAAC;SAEZ;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAEjC,CAAC;IAEK,IAAI,CACR,IAAY,EACZ,aAA2B;;YAG3B,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAE1D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEzB,OAAO,IAAI,OAAO,CAAW,OAAO,CAAC,EAAE;gBAErC,IAAI,OAAO,CAAC,SAAS,IAAI,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;oBAElD,OAAO,CAAC,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAE/B;qBAAM;oBAEL,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;oBAErD,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;oBAEpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAEzC,iBAAiB;oBACjB,8DAA8D;oBAC9D,kHAAkH;oBAClH,mCAAmC;oBACnC,WAAW;oBAEX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAE9B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;oBAE3C,IAAI,OAAO,CAAC,OAAO,EAAE;wBACnB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC5B;oBAED,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACjF,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;oBAEvE,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG,EAAE,EAAE;wBACpB,IAAI;wBACJ,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;wBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;wBAC7B,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;wBACvB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;wBAC3C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC/D,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;qBACxE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAEjB,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;4BACrG,MAAM,IAAI,GAAU,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;4BAE5C,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;gCACpB,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC3E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;6BAC9B;4BAED,IAAI,CAAC,QAAQ,EAAE;gCACb,OAAO,CAAC,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/B;iCAAM;gCACL,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gCACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oCACtB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iCACd;gCACD,OAAO,CAAC,GAAG,CAAC,CAAC;6BACd;yBACF;6BAAM;4BACL,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACtB,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;yBACpB;oBAEH,CAAC,CAAC,CAAC;oBAEH,IAAI;iBAEL;YAEH,CAAC,CAAC,CAAC;QAGL,CAAC;KAAA;IAED,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,SAAmB,EAAE,QAAgB,CAAC;QAElE,OAAO,IAAI,OAAO,CAAM,OAAO,CAAC,EAAE;YAEhC,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,oCAAoC;YACpC,IAAI,SAAS,EAAE;gBAEb,0CAA0C;gBAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAEzB,kBAAkB;gBAClB,KAAK,MAAM,IAAI,IAAI,oDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAEvC,iBAAiB;oBACjB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;wBAElB,4BAA4B;wBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;qBACP;iBACF;aACF;YAED,IAAI,QAAQ,EAAE;gBACZ,OAAO;aACR;YAED,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE;gBACjB,IAAI;gBACJ,EAAE;gBACF,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aACtE,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAEvB,IAAI,GAAG,GAAgB,QAAQ,CAAC,IAAI,CAAC;gBAErC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAE7D,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEnC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEf,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAEK,MAAM,CAAC,IAAiB;;YAE5B,OAAO,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE;gBAEpC,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;oBAC9B,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;wBACpB,IAAI,EAAE,IAAI,CAAC,UAAU;wBACrB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAEjB,IAAI,QAAQ,CAAC,OAAO,EAAE;4BACpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;4BAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;yBACf;6BAAM;4BACL,OAAO,CAAC,KAAK,CAAC,CAAC;4BACf,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;yBACzB;oBAEH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;oBAC9C,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;YAEH,CAAC,CAAC,CAAC;QAEL,CAAC;KAAA;IAEK,UAAU,CACd,IAAY,EACZ,KAAwB,EACxB,QAAgB,CAAC,EACjB,UAAmB,IAAI;;YAGvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE;gBAC/C,IAAI;gBACJ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACvD,CAAC,CAAC;YAEH,MAAM,IAAI,GAAU,QAAQ,CAAC,IAAI,CAAC;YAElC,MAAM,MAAM,GAAQ,EAAE,CAAC;YAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,IAAI,OAAO,EAAE;oBACX,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI;wBAC9B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;wBACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAA2B,CAAC;wBAE3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gCAChC,MAAM,WAAW,GAAU,EAAE,CAAC;gCAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,EAAE;oCACrC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;wCAC1C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;qCAC5D;gCACH,CAAC,CAAC,CAAC;gCACH,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;6BACxB;iCAAM;gCACL,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;6BAC7D;wBACH,CAAC,CAAC,CAAC;qBACJ;oBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAM,CAAC,CAAC;iBAChD;qBAAM;oBACL,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAClB;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAGD,KAAK,CACH,IAAY,EACZ,MAAc,EACd,KAAa,EACb,SAAmB,EACnB,QAAgB,CAAC,EACjB,UAAmB,IAAI;QAGvB,OAAO,IAAI,OAAO,CAAW,OAAO,CAAC,EAAE;YAErC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE;gBACnB,IAAI;gBACJ,MAAM;gBACN,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACvD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAEjB,MAAM,IAAI,GAAU,QAAQ,CAAC,IAAI,CAAC;gBAElC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oBACtB,IAAI,OAAO,EAAE;wBACX,IAAI,QAAQ,CAAC,WAAW,IAAI,IAAI;4BAC9B,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;4BACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAA2B,CAAC;4BAE3E,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gCAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oCAChC,MAAM,WAAW,GAAU,EAAE,CAAC;oCAC9B,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAiB,EAAE,EAAE;wCACrC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,WAAW,EAAE;4CAC1C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;yCAC5D;oCACH,CAAC,CAAC,CAAC;oCACH,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;iCACxB;qCAAM;oCACL,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iCAC7D;4BACH,CAAC,CAAC,CAAC;yBACJ;wBACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;qBAC1C;yBAAM;wBACL,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACjB;iBACF;gBAED,OAAO,CAAC,MAAM,CAAC,CAAC;YAElB,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,gBAAgB,CAAC,GAAW;QAC1B,4BAA4B;QAC5B,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,CAAC;IAED,SAAS,CACP,KAAwB,EACxB,EAAwB,EACxB,KAA8C;;8BAA9C,iBAAgB,IAAI,CAAC,WAAW,0CAAE,MAAM,KAAI,EAAE;QAE9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,GAAG,SAAS,CAAC,iBAAiB,YAAY,WAAI,CAAC,WAAW,0CAAE,SAAS,KAAI,EAAE,GAAG;YAC9E,SAAS,KAAK,GAAG;YACjB,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC3B,CAAC;QAEF,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YACnB,yCAAyC;QAC3C,CAAC,CAAC;QAEF,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE;YACvB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAgB,CAAC;YAC9D,IAAI,GAAG,CAAC,UAAU,EAAE;gBAClB,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;aAC9C;YACD,EAAE,CAAC,GAAQ,CAAC,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;YACvB,oDAAoD;QACtD,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE;YACvB,wCAAwC;QAC1C,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;;AAz8BM,kBAAQ,GAAG,8BAA8B,CAAC;AAC1C,2BAAiB,GAAG,8BAA8B,CAAC;kEAH/C,SAAS;4FAAT,SAAS,WAAT,SAAS,mBAFR,MAAM;6FAEP,SAAS;cAHrB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;AC5DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;AAO3C,MAAM,yBAAyB;IAEpC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;kGALU,yBAAyB;yGAAzB,yBAAyB;QCPtC,oEAEM;QACN,yEACI;QAAA,qEAAI;QAAA,4FAAiC;QAAA,4DAAK;QAC1C,oEAAG;QAAA,8HAAuE;QAAA,4DAAI;QAC9E,oEACI;QAAA,uEACI;QAAA,sEACA;QAAA,2EAAU;QAAA,uEAAW;QAAA,4DAAW;QACpC,4DAAI;QACR,4DAAI;QACR,4DAAM;;6FDLO,yBAAyB;cALrC,uDAAS;eAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AENgE;AAMuD;AAEhC;AAG/B;;;;;;;;;;;;;;;ICqDrD,6EACI;IADyD,mUAAsB;IAC/E,qEACA;IAAA,uEAAM;IAAA,uDAAgE;IAAA,4DAAO;IACjF,4DAAS;;;IAFA,0DAAuI;IAAvI,4SAAuI;IACtI,0DAAgE;IAAhE,iSAAgE;;;ADhDvE,MAAM,0BAA0B;IAIrC,YACS,EAAa,EACZ,IAAiB,EACjB,MAAiB,EACjB,MAAc,EACd,SAAoB,EACpB,KAAmB,EACH,MAAc;QAN/B,OAAE,GAAF,EAAE,CAAW;QACZ,SAAI,GAAJ,IAAI,CAAa;QACjB,WAAM,GAAN,MAAM,CAAW;QACjB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAW;QACpB,UAAK,GAAL,KAAK,CAAc;QACH,WAAM,GAAN,MAAM,CAAQ;IACpC,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEK,QAAQ;;YACZ,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAC/B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACxE,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;wBACtB,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;4BACpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;yBACzC;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC;KAAA;IAED,IAAI;QACF,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qGAAmB,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACrB,KAAK,EAAE,OAAO;SACf,CAAC,CAAC;IACL,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACjB,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;oBAC1D,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;oBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;wBACzB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;4BACrD,IAAI,CAAC,IAAI,EAAE,CAAC;yBACb;qBACF;gBACH,CAAC,EAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACnB;qBAAM;oBACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBACnB;gBACD,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;aACvD;QACH,CAAC;KAAA;IAED,IAAI,IAAI;QACN,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC7B,MAAM,GAAG,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,cAAc,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;SACpE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ;QACN,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,4DAA4D,CAAC;QAC3E,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,GAAG,wCAAwC,CAAC;YACnD,QAAQ,GAAG,IAAI,CAAC;SACjB;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,CAAC,gDAAgD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;;oGAtGU,0BAA0B,s2BAW3B,sEAAM;0GAXL,0BAA0B;QClBvC,yEACI;QAsBA,4EACI;QADoC,kJAAS,UAAM,IAAC;QACpD,8DACA;QADA,yEACA;QAAA,kEACO;QACP,oEACA;QAAA,wEACA;QAAA,qEACA;QAAA,qEACA;QAAA,qEACA;QAAA,4DAAI;QACJ,4DAAM;QACN,+DAAiB;QAAjB,yEAAiB;QAAA,wDAAwB;QAAA,4DAAM;QACnD,4DAAS;QACT,6EACI;QADiC,mJAAS,UAAM,IAAC;QACjD,0EACI;QAAA,8DACJ;QADI,2EACJ;QAAA,mEACO;QACP,qEACA;QAAA,uEAIA;QAAA,0EACA;QAAA,qEACA;QAAA,uEACA;QAAA,4DAAI;QACJ,4DAAI;QACJ,4DAAM;QACN,4DAAM;QACN,+DAAiB;QAAjB,0EAAiB;QAAA,wDAAgB;QAAA,4DAAM;QAC3C,4DAAS;QACT,8EACI;QAAA,0EACI;QAAA,8DAEA;QAFA,2EAEA;QAAA,uEACA;QAAA,4DAAM;QACV,4DAAM;QACN,+DAAiB;QAAjB,0EAAiB;QAAA,iEAAK;QAAA,4DAAM;QAChC,4DAAS;QACT,+HAGS;QACb,4DAAM;QAEN,sFACI;QAAA,8EACI;QADkB,mJAAS,cAAU,IAAC;QACtC,4EAAU;QAAA,wEAAY;QAAA,4DAAW;QACjC,uEACJ;QAAA,4DAAS;QACT,8EACI;QADkB,mJAAS,qBAAiB,IAAC;QAC7C,4EAAU;QAAA,oEAAQ;QAAA,4DAAW;QAC7B,8EACJ;QAAA,4DAAS;QACT,8EACI;QADkB,mJAAS,kBAAc,IAAC;QAC1C,4EAAU;QAAA,iEAAK;QAAA,4DAAW;QAC1B,+EACJ;QAAA,4DAAS;QACb,4DAAW;;;QAjDc,2DAAwB;QAAxB,uFAAwB;QAQvB,0DAAsD;QAAtD,gLAAsD;QAInD,0DAAsD;QAAtD,gLAAsD;QAO1D,0DAAgB;QAAhB,+EAAgB;QAEA,0DAA+B;QAA/B,kFAA+B;QAS7B,0DAAoB;QAApB,oFAAoB;;6FD9ClD,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;ggBAYmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;wBATP,IAAI;kBAAZ,mDAAK;;;;;;;;;;;;;;;;;;;;;;;;;;AEpB6D;AAMZ;;;;;;;;;ICFzD,wEAAsC;IAAA,qEAAU;IAAA,4DAAK;;;;IACrD,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,yEAAkB;IAAA,mEAAQ;IAAA,4DAAM;IAChC,yEACI;IAAA,uDAAqC;IAAA,gEAAK;IAAA,uDAC9C;;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,sEACJ;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,2EACI;IAAA,0EAAiB;IAAA,4EAAgB;IAAA,4DAAK;IACtC,uEACI;IAAA,wDAAyC;IAAA,iEAAK;IAAA,wDAClD;IAAA,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,0EAAiB;IAAA,sEAAU;IAAA,4DAAK;IAChC,uEACI;IAAA,6FAAgC;IAAA,iEAAK;IAAA,iFAAoB;IAAA,iEAAK;IAAA,4EAAe;IAAA,iEAAK;IAAA,gFAAmB;IAAA,iEAAK;IAAA,iFAAoB;IAAA,iEAClI;IAAA,4DAAM;IACV,4DAAM;IACV,4DAAM;IAEN,2EACI;IAAA,6EACI;IAAA,yEACI;IAAA,sEACI;IAAA,0EAA4B;IAAA,uEAAW;IAAA,4DAAK;IAChD,4DAAK;IACL,sEACI;IAAA,0EAA6B;IAAA,iEAAK;IAAA,4DAAK;IAC3C,4DAAK;IACT,4DAAQ;IACR,sEACI;IAAA,0EAAuB;IAAA,oEAAQ;IAAA,4DAAK;IACpC,0EAAwB;IAAA,wDAAgC;;IAAA,4DAAK;IACjE,4DAAK;IACL,sEACI;IAAA,0EAAwB;IAAA,kEAAM;IAAA,4DAAK;IACnC,0EAAwB;IAAA,wDAAgC;;IAAA,4DAAK;IACjE,4DAAK;IACL,sEACI;IAAA,0EAAwB;IAAA,gEAAI;IAAA,4DAAK;IACjC,0EAAwB;IAAA,wDAAkB;;IAAA,4DAAK;IACnD,4DAAK;IACT,4DAAQ;IACR,iEACA;IAAA,2EACI;IAAA,uEAAK;IAAA,wEAAY;IAAA,4DAAM;IACvB,uEAAK;IAAA,wDAAmE;IAAA,4DAAM;IAClF,4DAAM;IACV,4DAAM;IACN,2EAAgC;IAAA,kFAA8D;IAAlB,6TAAiB;IAAC,4DAAa;IAAA,4DAAM;IAIrH,4DAAM;IA7DV,4DACI;;;IAKgB,0DAAqC;IAArC,iHAAqC;IAAK,0DAC9C;IAD8C,sLAC9C;IAUI,0DAAyC;IAAzC,4HAAyC;IAAK,0DAClD;IADkD,mGAClD;IAsB4B,2DAAgC;IAAhC,0JAAgC;IAIhC,0DAAgC;IAAhC,0JAAgC;IAIhC,0DAAkB;IAAlB,qIAAkB;IAMzC,0DAAmE;IAAnE,qJAAmE;;AD7CjF,MAAM,wBAAwB;IAMnC,YACU,WAA2B,EAC3B,IAAiB,EACjB,EAAa,EACb,MAAc,EACE,MAAc,EAC9B,KAAmB;QALnB,gBAAW,GAAX,WAAW,CAAgB;QAC3B,SAAI,GAAJ,IAAI,CAAa;QACjB,OAAE,GAAF,EAAE,CAAW;QACb,WAAM,GAAN,MAAM,CAAQ;QACE,WAAM,GAAN,MAAM,CAAQ;QAC9B,UAAK,GAAL,KAAK,CAAc;QAV7B,uBAAkB,GAAwB,IAAI,CAAC;QAE/C,aAAQ,GAAwB,IAAI,CAAC;QAWrC,eAAU,GAAG,KAAK,CAAC;IAFf,CAAC;IAIL,WAAW;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YAExE,IAAI,WAAW,CAAC,EAAE,EAAE;gBAElB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aAE3B;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAE3C,CAAC;IAEK,IAAI,CAAC,EAAU;;;YAEnB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,YAAY,EAAE,qBAAqB,UAAI,CAAC,QAAQ,0CAAE,UAAU,EAAE;gBAC9D,KAAK,EAAE,qBAAqB,UAAI,CAAC,QAAQ,0CAAE,UAAU,EAAE;gBACvD,WAAW,EAAE,oEAAoE;aAClF,CAAC,CAAC;;KAEJ;IAEK,MAAM;;YACV,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC,EAAE;gBACrD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;aACzC;QACH,CAAC;KAAA;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;;gGA5DU,wBAAwB,glBAWzB,sEAAM;wGAXL,wBAAwB;QCdrC,yEACI;QAAA,qEAAI;QAAA,uFAA4B;QAAA,4DAAK;QACrC,oEAAG;QAAA,+FAAoC;QAAA,4DAAI;QAC/C,4DAAM;QACN,kHAAqD;QACrD,sHACI;;QAFC,0DAAe;QAAf,+EAAe;QACA,0DAAc;QAAd,8EAAc;;6FDSrB,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;wVAYmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;;;;;;;;;;;;;AExBlB;AAAA;AAAA;AAAA;AAAA;AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,yDAAU;IACV,yDAAU;IACV,uDAAS;AACb,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC5B,+DAAI;IACJ,+EAAY;AAChB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAWM,MAAM,eAAe,GAAqB;IAC7C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE;QACH,WAAW,CAAC,UAAU;QACtB,WAAW,CAAC,UAAU;KACzB;IACD,WAAW,EAAE,WAAW;IACxB,iBAAiB,EAAE,oBAAoB,CAAC,YAAY;IACpD,6BAA6B,EAAE,OAAO;CACzC,CAAC;AAEK,MAAM,MAAM,GAA0C;IACzD,MAAM,EAAE;QACJ;YACI,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACH,WAAW,CAAC,UAAU;aACzB;YACD,WAAW,EAAE,eAAe;YAC5B,6BAA6B,EAAE,IAAI;YACnC,iBAAiB,EAAE,oBAAoB,CAAC,IAAI;SAC/C;QACD;YACI,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACH,WAAW,CAAC,UAAU;aACzB;YACD,WAAW,EAAE,gBAAgB;YAC7B,6BAA6B,EAAE,IAAI;YACnC,iBAAiB,EAAE,oBAAoB,CAAC,IAAI;SAC/C;KACJ;CACJ,CAAC;;;;;;;;;;;;;ACrDF;AAAA;AAAA;AAAA;AAAyD;;;;ICAzD,yEACI;IAAA,uDAAe;IAAA,gEAAK;IAAA,uDAAiB;IAAA,gEAAK;IAAA,uDAAmB;IAAA,gEAC7D;IAAA,0EAA+B;IAAA,uDAAkB;IAAA,4DAAO;IAAC,uDACzD;IAAA,0EAAkC;IAAA,wDAAsB;IAAA,4DAAM;IAClE,4DAAM;;;IAHF,0DAAe;IAAf,2FAAe;IAAK,0DAAiB;IAAjB,6FAAiB;IAAK,0DAAmB;IAAnB,+FAAmB;IACvD,0DAAwB;IAAxB,wFAAwB;IAAC,0DAAkB;IAAlB,oFAAkB;IAAQ,0DACzD;IADyD,8IACzD;IAAK,0DAA4B;IAA5B,4FAA4B;IAAC,0DAAsB;IAAtB,wFAAsB;;;IAG5D,sEACI;IAAA,0EACJ;IAAA,4DAAM;;ADAC,MAAM,oBAAoB;IAI/B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFAPU,oBAAoB;oGAApB,oBAAoB;QCRjC,kHAIM;QAEN,gHAEM;;QARY,8EAAc;QAM1B,0DAAe;QAAf,+EAAe;;6FDER,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;sCAGU,GAAG;kBAAX,mDAAK;;;;;;;;;;;;;;AEVR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;AAQ3C,MAAM,oBAAoB;IAE/B,YACU,KAAmB;QAAnB,UAAK,GAAL,KAAK,CAAc;IACzB,CAAC;IAEL,QAAQ;QACN,6BAA6B;IAC/B,CAAC;;wFARU,oBAAoB;oGAApB,oBAAoB;QCRjC,qFAAmD;QACnD,0EACI;QAAA,oEAEM;QACN,yEACI;QAAA,qEAAI;QAAA,6EAAkB;QAAA,4DAAK;QAC3B,oEAAG;QAAA,4FAAiC;QAAA,4DAAI;QAC5C,4DAAS;QACT,yEACI;QAAA,oEAAG;QAAA,0EAAQ;QAAA,mGAAuC;QAAA,4DAAS;QAAA,4DAAI;QAC/D,sEACI;QAAA,sEAAI;QAAA,qIAAyE;QAAA,4DAAK;QAClF,sEAAI;QAAA,mGAAuC;QAAA,4DAAK;QAChD,sEAAI;QAAA,wJAA4F;QAAA,4DAAK;QACrG,sEAAI;QAAA,0LAA8H;QAAA,4DAAK;QAC3I,4DAAK;QACL,qEAAG;QAAA,0EAAQ;QAAA,4EAAgB;QAAA,4DAAS;QAAA,4DAAI;QACxC,sEACI;QAAA,sEAAI;QAAA,uKAA2G;QAAA,4DAAK;QACpH,sEAAI;QAAA,yMAA6I;QAAA,4DAAK;QACtJ,sEACI;QAAA,sEAAI;QAAA,mIAAuE;QAAA,4DAAK;QAChF,sEAAI;QAAA,wJAA4F;QAAA,4DAAK;QACrG,sEAAI;QAAA,mFAAuB;QAAA,4DAAK;QAChC,sEAAI;QAAA,8FAAkC;QAAA,4DAAK;QAC/C,4DAAK;QACL,sEAAI;QAAA,4SACJ;QAAA,4DAAK;QACL,sEAAI;QAAA,oGAAwC;QAAA,4DAAK;QACjD,sEAAI;QAAA,0FAAkC;QAAA,4DAAK;QAC/C,4DAAK;QACL,qEAAG;QAAA,0EAAQ;QAAA,qFAAyB;QAAA,4DAAS;QAAA,4DAAI;QACjD,sEACI;QAAA,sEAAI;QAAA,6IAAiF;QAAA,4DAAK;QAE1F,sEAAI;QAAA,wGAA4C;QAAA,4DAAK;QACrD,sEACI;QAAA,sEAAI;QAAA,0FAA8B;QAAA,4DAAK;QACvC,sEAAI;QAAA,2FAA+B;QAAA,4DAAK;QACxC,sEAAI;QAAA,kJAAsF;QAAA,4DAAK;QAC/F,sEAAI;QAAA,kGAAsC;QAAA,4DAAK;QACnD,4DAAK;QACL,sEAAI;QAAA,oQAAwM;QAAA,4DAAK;QACjN,sEAAI;QAAA,iFAAqB;QAAA,4DAAK;QAC9B,sEAAI;QAAA,wOAA4K;QAAA,4DAAK;QACrL,sEAAI;QAAA,2NAA+J;QAAA,4DAAK;QAC5K,4DAAK;QACL,0EACI;QAAA,qEAAG;QAAA,iEAAI;QAAA,4DAAI;QACX,qEAAG;QAAA,0EAAQ;QAAA,+FAAmC;QAAA,4DAAS;QAAC,0EAAa;QAAA,4DAAI;QACzE,gEAAO;QACP,qEACI;QAAA,wEAA2G;QAAA,iEAAK;QAAA,4DAAI;QACxH,4DAAI;QACR,4DAAM;QACV,4DAAM;QACN,qEACJ;QAAA,4DAAU;;6FDlDG,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEPqE;AAElB;AAC6D;AAC1E;AAKkB;;;;;;;;;;;;;;;ICJjD,uEACI;IAAA,yEAAmB;IAAA,uDAAgB;IAAA,4DAAM;IACzC,yEAAiB;IAAA,uDAA2C;;;IAAA,4DAAM;IACtE,4DAAI;;;;IAHD,kGAAsC;IAClB,0DAAgB;IAAhB,8EAAgB;IAClB,0DAA2C;IAA3C,oNAA2C;;;IAHpE,yEACI;IAAA,6IAGI;IACR,4DAAM;;;IAJyD,0DAAU;IAAV,6EAAU;;;;IAF7E,oGACI;IAAA,2IAKM;IACV,4DAA8B;;;IAPiE,4JAAkC;IAC9F,0DAAa;IAAb,4FAAa;;;IASxC,uEACI;IAAA,yEAAmB;IAAA,uDAAgB;IAAA,4DAAM;IACzC,yEAAiB;IAAA,uDAA2C;;;IAAA,4DAAM;IACtE,4DAAI;;;;IAHD,mGAAsC;IAClB,0DAAgB;IAAhB,+EAAgB;IAClB,0DAA2C;IAA3C,qNAA2C;;;IAHpE,yEACI;IAAA,qHAGI;IACR,4DAAM;;;IAJyD,0DAAU;IAAV,8EAAU;;;IAF7E,0EACI;IAAA,oHAKM;IACV,4DAAM;;;IANiC,0DAAa;IAAb,oFAAa;;;IAQpD,0EACI;IAAA,6EAAyI;IAC7I,4DAAM;;ADNC,MAAM,iBAAiB;IAO5B,YACU,WAA+B,EAC/B,EAAa,EACb,MAAwB,EACR,MAAc,EAC9B,KAAmB,EACE,UAAkC;QALvD,gBAAW,GAAX,WAAW,CAAoB;QAC/B,OAAE,GAAF,EAAE,CAAW;QACb,WAAM,GAAN,MAAM,CAAkB;QACR,WAAM,GAAN,MAAM,CAAQ;QAC9B,UAAK,GAAL,KAAK,CAAc;QACE,eAAU,GAAV,UAAU,CAAwB;QAXjE,cAAS,GAAG,IAAI,CAAC;QAgDjB,UAAK,GAA0B,EAAE,CAAC;QAClC,aAAQ,GAAG,EAAE,CAAC;QACd,cAAS,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,CAAC;QAkDnC,SAAI,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,wBAAmB,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAa,EAAE,IAAyB,EAAE,EAAE;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACrB;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,aAAQ,GAAG,CAAC,GAAU,EAAE,SAAS,GAAG,CAAC,EAAE,EAAE;YACvC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QArGC,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,WAAW,CAAC,OAAO,CAAC;YAClB,+DAAW,CAAC,MAAM;YAClB,+DAAW,CAAC,KAAK;YACjB,+DAAW,CAAC,MAAM;YAClB,+DAAW,CAAC,KAAK;YACjB,+DAAW,CAAC,MAAM;SACnB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACpB,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,MAAM,CAAC,EAAE;gBAE1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,KAAK,CAAC,EAAE;gBAEhD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,MAAM,CAAC,EAAE;gBAE/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,KAAK,CAAC,EAAE;gBAE9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI;gBAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACpB,YAAY,EAAE,gBAAgB;YAC9B,KAAK,EAAE,gBAAgB;YACvB,WAAW,EAAE,+DAA+D;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,8BAA8B;QAC5B,8BAA8B;QAChC,IAAI;IACN,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;gBACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CACrB,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;oBACvC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;iBAClF,CAAC,CACH,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACjH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;aACpC;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;aACpC;YACD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,SAAS,EAAE;oBAElB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,iBAAiB,IAAI,CAAC,CAAC;oBACxF,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;wBAC/C,IAAI,CAAC,EAAE,CAAC,iBAAiB,GAAI,GAAG,CAAC,MAAsB,CAAC,SAAS,CAAC;oBACpE,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;KAAA;IAED,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;YACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAkBD,SAAS,CAAC,IAAyB;;QACjC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,QAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,GAAE;YAC7D,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,kCAAkC,CAAC;SAC7D;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC5C,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACvC;QACD,IAAI,KAAK,KAAK,EAAE,EAAE;YAChB,OAAO;gBACL,kBAAkB,EAAE,QAAQ,KAAK,IAAI;aACtC,CAAC;SACH;aAAM;YACL,OAAO;gBACL,kBAAkB,EAAE,MAAM;aAC3B,CAAC;SACH;IACH,CAAC;IAED,QAAQ,CAAC,GAAc;QACrB,IAAI,GAAG,CAAC,WAAW,EAAE;YACnB,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,EAAE;gBACpC,OAAO,wBAAwB,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,sCAAsC;oBAC9F,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;aAC7B;iBAAM;gBACL,OAAO,sGAAsG,CAAC;aAC/G;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;;kFAlJU,iBAAiB,2dAWlB,sEAAM,iNAEN,yDAAW;iGAbV,iBAAiB;;;;;;QChB9B,qFAAmD;QAEnD,qEAAI;QAAA,uEAAY;QAAA,4DAAK;QACrB,6JAO8B;QAC9B,6GAOM;QAEN,6GAEM;;QAnBwB,0DAAe;QAAf,+EAAe;QAQhB,0DAAgB;QAAhB,gFAAgB;QASvC,0DAAe;QAAf,+EAAe;;6FDJR,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;0RAYmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;sBAEb,oDAAM;uBAAC,yDAAW;wBARE,SAAS;kBAA/B,uDAAS;mBAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;AErBmC;AACC;;;;;;;;ICD3D,sEACI;IAAA,4EAAyD;IAC7D,4DAAM;;;IAGN,yEACI;IAAA,wEAAqB;IAAA,uDAAiB;IAAA,4DAAK;IAC3C,yEACI;IAAA,oEACA;IAAA,yEACI;IAAA,uDACJ;IAAA,4DAAM;IACV,4DAAM;IACN,yEACI;IAAA,4EAAoD;IAAA,gEAAK;IAAA,4DAAS;IACtE,4DAAM;IACV,4DAAM;;;IAVmB,0DAAiB;IAAjB,mFAAiB;IAE7B,0DAAoC;IAApC,wKAAoC;IAErC,0DACJ;IADI,6FACJ;;ADDD,MAAM,mBAAmB;IAE9B,YACkC,QAAgB,EACxC,EAAa;QADW,aAAQ,GAAR,QAAQ,CAAQ;QACxC,OAAE,GAAF,EAAE,CAAW;QAGvB,WAAM,GAA4B,IAAI,CAAC;QACvC,kBAAa,GAAG,kDAAkD,CAAC;IAH/D,CAAC;IAKL,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;KAAA;;sFAhBU,mBAAmB,kEAGpB,wEAAe;mGAHd,mBAAmB;QCVhC,+GAEM;QAGN,gHAWM;;QAhBA,6EAAa;QAKE,0DAAY;QAAZ,4EAAY;;6FDKpB,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;sBAII,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEbuB;AACkB;;;;;;;;;;;;;;;ICchD,4EAAqD;IAAA,+EAAoB;IAAA,4DAAY;;;IACrF,4EAAoD;IAAA,sHAA2D;IAAA,4DAAY;;;IAQ3H,4EAAqD;IAAA,+EAAoB;IAAA,4DAAY;;;IACrF,4EAAoD;IAAA,sHAA2D;IAAA,4DAAY;;;;IAjBnI,0EAEI;IAF0E,4UAAmC;IAE7G,oFACI;IAAA,sEACA;IAAA,4EACI;IAD4C,sUAA8B;IAC1E,2EAAU;IAAA,uDAA8C;IAAA,4DAAW;IACvE,4DAAS;IACT,gIAAqF;IACrF,gIAA2H;IAC/H,4DAAiB;IAEjB,oFACI;IAAA,sEACA;IAAA,6EACI;IAD4C,uUAA8B;IAC1E,4EAAU;IAAA,wDAA8C;IAAA,4DAAW;IACvE,4DAAS;IACT,kIAAqF;IACrF,kIAA2H;IAC/H,4DAAiB;IAEjB,qEACI;IAAA,8EAA+G;IAAA,6EAAiB;IAAA,4DAAS;IAC7I,4DAAI;IAEJ,uEACI;IAAA,yEAAuB;IAAA,iEAAK;IAAA,4DAAI;IACpC,4DAAM;IAEV,4DAAO;;;IA5BD,uFAAuB;IAG+D,0DAAuC;IAAvC,uGAAuC;IAC5C,0DAAmC;IAAnC,wFAAmC;IACpG,0DAA8C;IAA9C,kHAA8C;IAEhD,0DAAuC;IAAvC,0GAAuC;IACvC,0DAAsC;IAAtC,yGAAsC;IAI0C,0DAAuC;IAAvC,uGAAuC;IACpD,0DAAmC;IAAnC,wFAAmC;IACpG,0DAA8C;IAA9C,kHAA8C;IAEhD,0DAAuC;IAAvC,0GAAuC;IACvC,0DAAsC;IAAtC,yGAAsC;IAImB,0DAAyC;IAAzC,gHAAyC;;ADd3H,MAAM,iBAAiB;IAO5B,YACU,MAAc,EACd,EAAa,EACb,KAAqB,EACtB,QAAqB;QAHpB,WAAM,GAAN,MAAM,CAAQ;QACd,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAAa;QAT9B,aAAQ,GAAG,KAAK,CAAC;QACjB,cAAS,GAAqB,IAAI,CAAC;QACnC,aAAQ,GAAG,IAAI,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;QAyBT,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAC3D,OAAO,WAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC5E,CAAC;IApBG,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAE7B,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACrE,+BAA+B,CAChC,CAAC,CAAC;YAEH,SAAS,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,OAAO,CACrE,+BAA+B,CAChC,CAAC,CAAC;SAEJ,CAAC,CAAC;IAEL,CAAC;IAMK,KAAK,CAAC,IAAS;;YAEnB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACrC,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC9D,OAAO;aACR;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAEvE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAEhC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC;YAEjE,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,6CAA6C,EAAE,SAAS,EAAE;oBAC3E,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACrC;iBAAM,IAAI,GAAG,CAAC,OAAO,EAAE;gBACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE;oBACzC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;KAAA;;kFA7DU,iBAAiB;iGAAjB,iBAAiB;QCf9B,sEAAqB;QACrB,0FACI;QAAA,yEAEI;QAAA,yEAEI;QAAA,qEAAI;QAAA,8EAAmB;QAAA,4DAAK;QAE5B,iHA4BO;QAEX,4DAAM;QACV,4DAAM;QACV,4DAAuB;QACvB,wEAAyB;;QAjCkB,0DAAe;QAAf,+EAAe;;6FDO7C,iBAAiB;cAR7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE;oBACT,+BAA+B;oBAC/B,4BAA4B;iBAC7B;aACF;;;;;;;;;;;;;;;;;;;;;;AEbD,uEAAuE;AAC5B;;;;;AAmBpC,MAAM,WAAW;IAOtB,YACU,EAAa,EACb,KAAmB,EACnB,MAAc;QAFd,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAQ;QARxB,gBAAW,GAAG,KAAK,CAAC;QACpB,aAAQ,GAAkB,IAAI,CAAC;QAE/B,WAAM,GAAsB,IAAI,CAAC;QAQjC,yBAAoB,GAAwC,EAAE,CAAC;IAF3D,CAAC;IAIL,UAAU;QAER,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAEzE,CAAC;IAED,MAAM;QAEJ,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEzC,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC;QAExB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAE1D,CAAC;IAEK,KAAK,CAAC,IAAS;;YAEnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAE1D,IAAI,aAAa,CAAC,OAAO,EAAE;gBAEzB,MAAM,UAAU,GAAiB,aAAa,CAAC,IAAI,CAAC;gBAEpD,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;gBAEtD,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;gBAEtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;aAE3B;YAED,OAAO,aAAa,CAAC,OAAO,CAAC;QAE/B,CAAC;KAAA;IAEK,YAAY;;YAEhB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBAE3B,OAAO,KAAK,CAAC;aAEd;YACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAE7F,IAAI,iBAAiB,CAAC,kBAAkB,EAAE;gBAExC,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAEzC,IAAI,iBAAiB,CAAC,OAAO,EAAE;oBAE7B,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;oBAEtC,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;oBAE9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAe,CAAC;oBAEjF,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;wBACzB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;qBACxC;oBAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;oBAEtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,IAAI,CAAC,uBAAuB,EAAE,CAAC;iBAEhC;qBAAM;oBAEL,IAAI,CAAC,cAAc,EAAE,CAAC;oBAEtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;wBACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC/D;iBAEF;aAEF;YAED,OAAO,iBAAiB,CAAC,OAAO,CAAC;QAEnC,CAAC;KAAA;IAED,eAAe;QAEb,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,CAAC;IAEzC,CAAC;IAED,eAAe;QAEb,OAAO,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC,CAAC;IAED,cAAc;QAEZ,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAEjC,CAAC;IAED,MAAM,CAAC,IAAS;QAEd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAExC,CAAC;IAED,uBAAuB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACjE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC1C,EAAE,CAAC,aAAa,CAAC,CAAC;SACnB;IACH,CAAC;IAED,aAAa,CAAC,QAAsC;QAElD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAEvD,CAAC;IAED,yBAAyB,CAAC,QAAsC;QAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;;sEAvJU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;6FAEP,WAAW;cAHvB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACpBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyG;AAIrD;AAGK;;;;;;;;;;AAOlD,MAAM,mBAAmB;IAa9B,YAC+B,UAAkC,EACvD,MAAc,EACd,kBAAsC,EACtB,MAAc;QAHT,eAAU,GAAV,UAAU,CAAwB;QACvD,WAAM,GAAN,MAAM,CAAQ;QACd,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtB,WAAM,GAAN,MAAM,CAAQ;QAX/B,YAAO,GAAG,MAAM,CAAC;QAG1B,WAAM,GAAG,KAAK,CAAC;QACf,qBAAgB,GAAG,CAAC,CAAC;QACrB,oBAAe,GAAG,EAAE,CAAC;QAYrB,qBAAgB,GAAkB,IAAI,CAAC;QAJrC,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;IACtC,CAAC;IAID,WAAW,CAAC,MAAW;QACrB,MAAM,KAAK,GAAG,MAAyB,CAAC;QACxC,IAAI,KAAK,CAAC,kBAAkB,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAC7E,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;SACvB;aAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC/D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;SACrC;IACH,CAAC;IAED,QAAQ;QACN,gEAAgE;IAClE,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAClE,IAAI,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC5B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;SACJ;IACH,CAAC;;sFAnDU,mBAAmB,kEAcpB,yDAAW,wVAGX,sEAAM;mGAjBL,mBAAmB;QCdhC,iFACI;QADgD,8JAAa,uBAAmB,IAAC;QACjF,yEACI;QAAA,4EACI;QADoB,2IAAS,YAAQ,IAAC;QACtC,2EAAU;QAAA,0EAAe;QAAA,4DAAW;QACxC,4DAAS;QACT,qEAAI;QAAA,uDAAW;QAAA,4DAAK;QACxB,4DAAM;QACV,4DAAc;;QAPS,sJAA4B;QAKvC,0DAAW;QAAX,0EAAW;;6FDSV,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;sBAeI,oDAAM;uBAAC,yDAAW;iMAGa,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;wBAfP,KAAK;kBAAb,mDAAK;YACG,KAAK;kBAAb,mDAAK;YACG,IAAI;kBAAZ,mDAAK;YACG,QAAQ;kBAAhB,mDAAK;YACG,OAAO;kBAAf,mDAAK;;;;;;;;;;;;;;;;;;;;;;AEpBmC;;;;;AAoGpC,MAAM,kBAAkB;IAK7B,YACU,KAAmB,EACnB,IAAiB,EACjB,IAAgB;QAFhB,UAAK,GAAL,KAAK,CAAc;QACnB,SAAI,GAAJ,IAAI,CAAa;QACjB,SAAI,GAAJ,IAAI,CAAY;IACtB,CAAC;IAEC,eAAe,CAAC,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,OAAe;;YAE/E,MAAM,OAAO,GAAG;gBACd,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO;aAC5B,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAEtF,CAAC;KAAA;IAEK,OAAO,CACX,KAAU,EACV,MAAc,EACd,aAA4B,EAC5B,MAAc,EACd,SAA0B,EAC1B,QAAgB;;YAGhB,MAAM,OAAO,GAAG;gBACd,GAAG,EAAE,iBAAiB;gBACtB,KAAK;gBACL,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1C,MAAM,EAAE,aAAa;gBACrB,MAAM;gBACN,SAAS;gBACT,QAAQ;aACT,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAEtF,CAAC;KAAA;IAEK,iBAAiB,CACrB,KAAU,EACV,MAAc,EACd,QAAgB,EAChB,QAAiB;;YAGjB,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;YAE1B,MAAM,OAAO,GAAG;gBACd,GAAG,EAAE,mBAAmB;gBACxB,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC1C,KAAK;gBACL,QAAQ;gBACR,QAAQ;aACT,CAAC;YAEF,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;QAEtF,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAU,EAAE,OAAsB;;YAE/C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAErD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;gBAC9E,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACpC,OAAO;gBACP,GAAG,EAAE,UAAU;gBACf,KAAK;aACN,CAAC,CAAC,SAAS,EAAE,CAAC;YAEf,OAAO,QAAQ,CAAC;QAElB,CAAC;KAAA;IAEK,UAAU,CAAC,MAAc;;YAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;gBAC9E,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACpC,GAAG,EAAE,YAAY;gBACjB,MAAM;aACP,CAAC,CAAC,SAAS,EAAE,CAAC;YAEf,OAAO,QAAQ,CAAC;QAElB,CAAC;KAAA;;AA3FM,iCAAc,GAAG,wFAAwF,CAAC;AAC1G,wCAAqB,GAAG,yFAAyF,CAAC;oFAH9G,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBAFjB,MAAM;6FAEP,kBAAkB;cAH9B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnGiD;AACkB;AAE5B;;;;;;;;;;;;;;ICSpB,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAC9E,4EAA8C;IAAA,wEAAa;IAAA,4DAAY;;;;IAL/E,0EAEI;IAF8E,sXAAwC;IAEtH,oFACI;IAAA,sEACA;IAAA,kIAA8E;IAC9E,kIAAuE;IAC3E,4DAAiB;IAEjB,oEACI;IAAA,4EAAiH;IAAA,kEAAO;IAAA,4DAAS;IACrI,4DAAI;IAEJ,sEACI;IAAA,uEAAuB;IAAA,iEAAK;IAAA,4DAAI;IACpC,4DAAM;IAEV,4DAAO;;;IAhBD,yFAAyB;IAIX,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAgC;IAAhC,mGAAgC;IAIyB,0DAA2C;IAA3C,kHAA2C;;ADH7H,MAAM,mBAAmB;IAK9B,YACU,EAAa,EACd,QAAqB;QADpB,OAAE,GAAF,EAAE,CAAW;QACd,aAAQ,GAAR,QAAQ,CAAa;QAL9B,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAqB,IAAI,CAAC;QA+B9B,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAC3D,OAAO,WAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC9E,CAAC;IA5BG,CAAC;IAGL,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,wDAAS,CAAC;YAC/B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAEK,OAAO,CAAC,KAAU;;YACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,MAAM,MAAM,GAAG,6DAAM,EAAS,CAAC;YAC/B,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE;gBACjC,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,EAAE,EAAE,MAAM,CAAC,EAAE;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kFAAkF,EAAE,SAAS,EAAE;gBAChH,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;KAAA;;sFAhCU,mBAAmB;mGAAnB,mBAAmB;QCdhC,sEAAqB;QACrB,0FACI;QAAA,yEAEI;QAAA,yEAEI;QAAA,qEAAI;QAAA,gFAAqB;QAAA,4DAAK;QAE9B,kHAgBO;QAEX,4DAAM;QACV,4DAAM;QACV,4DAAuB;QACvB,wEAAyB;;QArBoB,0DAAiB;QAAjB,iFAAiB;;6FDMjD,mBAAmB;cAR/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE;oBACT,+BAA+B;oBAC/B,8BAA8B;iBAC/B;aACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEbyF;AAKN;AAC4B;;;;;;;;;;;;;;;;;ICE5G,yEACI;IAAA,oEAAyB;IACzB,yEACI;IAAA,oEAAG;IAAA,uDAAmF;IAAA,4DAAI;IAC1F,oEAAG;IAAA,iEAAM;IAAA,4DAAI;IACb,qFACI;IADwD,wWAA6B;IACrF,0EACI;IAD+B,4TAAyB,OAAO,IAAE;IACjE,0EACI;IAAA,mFAAmD;IACnD,4EAA+B;IAAA,iEAAK;IAAA,4DAAO;IAC/C,4DAAM;IACV,4DAAM;IACN,2EACI;IAD+B,6TAAyB,QAAQ,IAAE;IAClE,2EACI;IAAA,mFAAoD;IACpD,4EAA+B;IAAA,kEAAM;IAAA,4DAAO;IAChD,4DAAM;IACV,4DAAM;IACN,2EACI;IAD+B,6TAAyB,aAAa,IAAE;IACvE,2EACI;IAAA,mFAAyD;IACzD,4EAA+B;IAAA,uEAAW;IAAA,4DAAO;IACrD,4DAAM;IACV,4DAAM;IACN,2EACI;IAD+B,6TAAyB,SAAS,IAAE;IACnE,2EACI;IAAA,mFAAqD;IACrD,4EAA+B;IAAA,mEAAO;IAAA,4DAAO;IACjD,4DAAM;IACV,4DAAM;IACV,4DAAkB;IAClB,yEAAgC;IAAA,yEAAO;IAAA,oIAAwE;IAAA,4DAAQ;IAAA,4DAAI;IAE3H,2EACI;IAAA,8EAA4D;IAAjB,wTAAgB;IAAC,gEAAI;IAAA,4DAAS;IAC7E,4DAAM;IACN,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IACb,qEAAG;IAAA,6EAAiB;IAAA,4DAAI;IACxB,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IACb,wFAAmD;IAAjC,6WAAgC;IAAC,sFAA0B;IAAA,4DAAmB;IAChG,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IACb,wFAAmD;IAAjC,+WAAgC;IAAC,uFAA2B;IAAA,4DAAmB;IACjG,qEAAG;IAAA,kEAAM;IAAA,4DAAI;IAEb,2EACI;IAAA,8EAA4D;IAAjB,0TAAgB;IAAC,gEAAI;IAAA,4DAAS;IAC7E,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA7CK,0DAAmF;IAAnF,mMAAmF;IAE1B,0DAA6B;IAA7B,2FAA6B;IACf,0DAAoD;IAApD,+KAAoD;IAMnD,0DAAqD;IAArD,gLAAqD;IAMhD,0DAA0D;IAA1D,qLAA0D;IAM9D,0DAAsD;IAAtD,iLAAsD;IAS7H,0DAAmB;IAAnB,mFAAmB;IAMN,0DAAgC;IAAhC,8FAAgC;IAEhC,0DAAgC;IAAhC,8FAAgC;IAG7C,0DAAmB;IAAnB,mFAAmB;;;;IAMpC,0EACI;IAAA,6EAAoC;IAAA,iEAAM;IAAA,4DAAS;IACnD,6EAA8E;IAAvB,gUAAsB;IAAC,kEAAO;IAAA,4DAAS;IAClG,4DAAM;;;IADiC,0DAAmB;IAAnB,mFAAmB;;AD7CnD,MAAM,wBAAwB;IAQnC,YACS,IAAiB,EAChB,EAAa,EACb,KAAkB,EAClB,MAAiB,EACjB,MAAc,EACsB,QAAiB,EACzC,GAA2C,EACvD,KAAmB;QAPpB,SAAI,GAAJ,IAAI,CAAa;QAChB,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAW;QACjB,WAAM,GAAN,MAAM,CAAQ;QACsB,aAAQ,GAAR,QAAQ,CAAS;QACzC,QAAG,GAAH,GAAG,CAAwC;QACvD,UAAK,GAAL,KAAK,CAAc;QAd7B,UAAK,GAAgC,IAAI,CAAC;QAEhC,UAAK,GAAsB,IAAI,0DAAY,EAAE,CAAC;QAExD,WAAM,GAAG,KAAK,CAAC;IAWX,CAAC;IAEL,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG;gBACX,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,KAAK;aACpB,CAAC;SACH;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,YAAY,EAAE,iCAAiC;gBAC/C,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;SACJ;IACH,CAAC;IAEK,IAAI;;;YACR,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,UAAI,IAAI,CAAC,KAAK,0CAAE,YAAY,EAAE;oBAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;iBAC7B;aACF;;KACF;IAEK,IAAI;;YACR,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;gBACf,OAAO;aACR;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;aACjC;YACD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6HAA2B,EAAE;oBACxD,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,SAAS,EAAE;oBAC7D,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;KAAA;IAEK,UAAU;;YACd,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;KAAA;;gGA3EU,wBAAwB,8tBAcb,wEAAe;wGAd1B,wBAAwB;QCfrC,yEACI;QAAA,yEACI;QAAA,oEACA;QAAA,yEACI;QAAA,qEAAI;QAAA,+EAAoB;QAAA,4DAAK;QAC7B,oEAAG;QAAA,wHAA6D;QAAA,4DAAI;QACxE,4DAAM;QACV,4DAAM;QACN,sHAgDM;QACV,4DAAM;QACN,oHAGM;;QArDqB,0DAAoB;QAApB,oFAAoB;QAkDtB,0DAAc;QAAd,8EAAc;;6FD3C1B,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;;sBAeI,sDAAQ;;sBAAI,oDAAM;uBAAC,wEAAe;;sBAClC,sDAAQ;+GAXD,KAAK;kBAAd,oDAAM;;;;;;;;;;;;;;AEnBT;AAAA;AAAA;AAAA;AAAyD;;;;;AAOlD,MAAM,wBAAwB;IAInC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;gGAPU,wBAAwB;wGAAxB,wBAAwB;;QCPrC,yEACI;QAAA,6DAAyB;QAC7B,4DAAM;;QAFD,oKAAuD;;6FDO/C,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;aACjD;sCAGU,GAAG;kBAAX,mDAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AETsF;AACyB;AAG/D;AAEC;AAE+D;AAGjB;AACnD;;;;;;;;;;;;;;;;;ICXpD,yEACI;IAAA,4EAA6C;IACjD,4DAAM;;IADW,0DAAiB;IAAjB,0EAAiB;;;;IAOlB,qEAAiH;;;IAA5D,4KAAqD;;;IAiB1G,qEAAsF;;;;;;IAA7C,qHAAsC;;;IAE/E,qEAAuF;;;;;;IAA7C,uHAAsC;;;IAChF,qEACJ;;;IAD6B,yKAAgD;;;;;;;IAVjF,0EACI;IAAA,qEAAsB;IACtB,0EACI;IAAA,qEAAkI;IAClI,qEACJ;IAAA,4DAAM;IACN,0EACI;IADuB,kaAA4B;IACnD,6HAAsF;IACtF,oEAA4F;IAC5F,4HAAuF;IACvF,6HACJ;IAAA,4DAAM;IACN,2EACI;IAAA,0EAAsD;IAAlD,kaAA4B;IAAsB,wDAAgB;IAAA,4DAAK;IAC3E,2EACI;IAAA,8EAAwD;IAA7B,saAA4B;IAAC,wDAA4B;IAAA,4DAAS;IACjG,4DAAM;IACV,4DAAM;IACV,4DAAM;;;;;;IAhBgB,0DAA8I;IAA9I,iRAA8I;IACzI,0DAAwG;IAAxG,iOAAwG;IACtH,0DAAuB;IAAvB,gJAAuB;IAGL,0DAAgB;IAAhB,wFAAgB;IACrB,0DAAmE;IAAnE,wLAAmE;IAC7D,0DAAgB;IAAhB,wFAAgB;IAClC,0DAAiB;IAAjB,gFAAiB;IAG+B,0DAAgB;IAAhB,8EAAgB;IAEV,0DAA4B;IAA5B,0FAA4B;;;IAcxF,qEAAsF;;;;;;IAA7C,uHAAsC;;;IAE/E,qEAAuF;;;;;;IAA7C,uHAAsC;;;IAChF,qEACA;;;IADuE,yKAAgD;;;;IACvH,qEAAmI;;;;IAAjE,+KAA0D;;;;;IAUxH,6EAA+K;IAApB,uaAAmB;IAAC,uDAAqD;IAAA,4DAAS;;;;IAA5K,sOAAyF;IAAqB,0DAAqD;IAArD,sHAAqD;;;;IAxBhP,0EACI;IAAA,qEAAsB;IACtB,0EACI;IAAA,0EAAiB;IAAA,uDAAiD;;;IAAA,4DAAM;IAC5E,4DAAM;IACN,0EACI;IAAA,qEAAkI;IAClI,qEACJ;IAAA,4DAAM;IACN,2EACI;IADuB,2ZAAoB;IAC3C,+HAAsF;IACtF,qEAA4F;IAC5F,8HAAuF;IACvF,+HACA;IAAA,+HAAmI;IACvI,4DAAM;IACN,2EACI;IAAA,0EAAuC;IAAnC,0ZAAoB;IAAe,wDAAgB;IAAA,4DAAK;IAC5D,2EACI;IADa,2ZAAoB;IACjC,wDACA;IAAA,sEAA2B;IAC/B,4DAAM;IACN,2EACI;IAAA,8EAAwC;IAArB,8ZAAoB;IAAC,qEAAS;IAAA,4DAAS;IAC1D,qIAA6O;IACjP,4DAAM;IACN,sEAAuB;IACvB,0FAA+D;IACnE,4DAAM;IACV,4DAAM;;;;;;IA1BmB,0DAAiD;IAAjD,4NAAiD;IAEpD,0DAA8I;IAA9I,kRAA8I;IACzI,0DAAwG;IAAxG,iOAAwG;IACtH,0DAAyC;IAAzC,yKAAyC;IAGvB,0DAAgB;IAAhB,wFAAgB;IACrB,0DAAmE;IAAnE,wLAAmE;IAC7D,0DAAgB;IAAhB,wFAAgB;IAClC,0DAA+D;IAA/D,qKAA+D;IAC7C,0DAAwC;IAAxC,2IAAwC;IAGzB,0DAAgB;IAAhB,8EAAgB;IAEnD,0DACA;IADA,2FACA;IAIoC,0DAA2B;IAA3B,0FAA2B;IAG1C,0DAAW;IAAX,yEAAW;;;IA/ChD,0EACI;IAAA,yHAkBM;IACN,yHA6BM;IACV,4DAAM;;;IAlDgE,sFAA0B;IAClE,0DAAkB;IAAlB,8EAAkB;IAmBzB,0DAAmB;IAAnB,+EAAmB;;;IAkC9B,qEAA6H;;;IAAzE,qMAAkE;;;IAM9G,6EAA+E;;;IAC/E,2EAAiC;IAAA,8DAAG;IAAA,4DAAW;;;IAGnD,6EAA4H;;IAA/G,0EAAiB;;;;;IAb9C,yEACI;IAAA,0EACI;IAAA,yEACI;IAAA,uHAA6H;IAC7H,oEAAqF;IACzF,4DAAM;IACN,0EACI;IAAA,0EACI;IAAA,6EACI;IADc,kVAAiC;IAC/C,uIAA+E;IAAA,wEAC/E;IAAA,mIAA+C;IAC/C,wDACJ;IAAA,4DAAS;IACT,yIAA4H;IAChI,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IAd6B,0DAA2B;IAA3B,uGAA2B;IAChC,0DAA4D;IAA5D,6KAA4D;IAItB,0DAA8D;IAA9D,uLAA8D;IAChG,0DAAmB;IAAnB,sFAAmB;IACtB,0DAAoB;IAApB,uFAAoB;IAC/B,0DACJ;IADI,2HACJ;IACyF,0DAAmB;IAAnB,sFAAmB;;;IA9EhI,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,yEACI;IAAA,oEAAqF;IACrF,+GAAiH;IACrH,4DAAM;IACN,0EACI;IAAA,0EACI;IAAA,wEAA4C;IAAA,yEAAc;IAAA,4DAAI;IAClE,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,kHAkDM;IACN,oHAiBM;IACV,4DAAM;;;IA/E4B,0DAA4D;IAA5D,6KAA4D;IACtD,0DAA2B;IAA3B,uGAA2B;IASnB,0DAAU;IAAV,iFAAU;IAmD1B,0DAAY;IAAZ,+EAAY;;ADvD5C,IAAI,aAAa,GAAG,CAAC,CAAC;AAOf,MAAM,aAAa;IAexB,YACU,EAAa,EACb,MAAc,EACd,MAAwB,EACxB,KAAmB,EACnB,MAAiB,EACjB,IAAiB,EACD,MAAc,EACT,UAAkC;QAPvD,OAAE,GAAF,EAAE,CAAW;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAkB;QACxB,UAAK,GAAL,KAAK,CAAc;QACnB,WAAM,GAAN,MAAM,CAAW;QACjB,SAAI,GAAJ,IAAI,CAAa;QACD,WAAM,GAAN,MAAM,CAAQ;QACT,eAAU,GAAV,UAAU,CAAwB;QArBxD,kBAAa,GAAG,IAAI,CAAC;QAE9B,UAAK,GAA0B,EAAE,CAAC;QAClC,UAAK,GAAuB,EAAE,CAAC;QAC/B,cAAS,GAAuC,EAAE,CAAC;QACnD,YAAO,GAAG,IAAI,CAAC;QACf,WAAM,GAAG,IAAI,CAAC;QACd,kBAAa,GAAG,KAAK,CAAC;QACtB,SAAI,GAAG,CAAC,CAAC;QACT,YAAO,GAAG,EAAE,CAAC;QAEb,SAAI,GAAG,mCAAmC,CAAC;QAgB3C,iBAAY,GAAG,gEAAY,CAAC;QAJ1B,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IAC7B,CAAC;IAID,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,YAAY,6DAAa,EAAE;gBAC9B,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;oBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,GAAc;QACrB,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE;YACvD,OAAO,8BAA8B,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,sCAAsC;gBACpG,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;SACrC;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,GAAG,0DAA0D,CAAC;SAC/E;IACH,CAAC;IAEK,QAAQ;;YACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,uEAAW,CAAC,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5B;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;KAAA;IAEK,IAAI;;YAER,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YAE1G,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,OAAO;aACR;YAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACnB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YACrG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpD,IAAI,GAAG,GAA0B;gBAC/B;oBACE,EAAE,EAAE,YAAY;oBAChB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;oBACvD,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,+CAA+C;oBACtD,iBAAiB,EAAE,mBAAmB;oBACtC,gBAAgB,EAAE,gDAAgD;oBAClE,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,4BAA4B;iBACrD;gBACD;oBACE,EAAE,EAAE,cAAc;oBAClB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;oBACpD,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,0CAA0C;oBACjD,iBAAiB,EAAE,WAAW;oBAC9B,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,4BAA4B;iBACrD;gBACD;oBACE,EAAE,EAAE,WAAW;oBACf,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;oBACtD,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,gCAAgC;oBACvC,iBAAiB,EAAE,qBAAqB;oBACxC,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,4BAA4B;iBACrD;gBACD;oBACE,EAAE,EAAE,WAAW;oBACf,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;oBACtD,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,mCAAmC;oBAC1C,iBAAiB,EAAE,aAAa;oBAChC,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,4BAA4B;iBACrD;aACF,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACpC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACzB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClB,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;iBAC5B;aACF;YAED,IAAI,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE;gBACjC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;aAC/B;YAED,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,WAAqB,CAAC;YAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC9C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;iBACnD;gBACD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjC;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE1D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;iBACzC;aACF;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC7C;YAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAG1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAEvB,CAAC;KAAA;IAED,mBAAmB,CAAC,KAA4B;QAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;aACtB;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,MAA2B;QACtC,QAAQ,MAAM,CAAC,EAAE,EAAE;YACjB,KAAK,YAAY;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5B;gBACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5B;gBACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACtC,MAAM;SACT;IACH,CAAC;IAED,iBAAiB;QAEf,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qIAA6B,EAAE;gBAC1D,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAM,GAAG,EAAC,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;YACH,CAAC,EAAC,CAAC;SACJ;IACH,CAAC;IAED,qBAAqB;QAEnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oHAAwB,EAAE;YACzC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IAEL,CAAC;IAED,WAAW,CAAC,MAAW;QACrB,MAAM,KAAK,GAAG,MAAyB,CAAC;QACxC,IAAI,KAAK,CAAC,kBAAkB,KAAK,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IAED,QAAQ,CAAC,KAA0B,EAAE,KAA0B;QAC7D,OAAO;YACL,kBAAkB,EAAE,8BAA8B,gEAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,gEAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG;SAC/H,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAyB;QAC5B,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,aAAa;QACX,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,IAAyB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC;;0EAnRU,aAAa,62BAsBd,sEAAM,mEACN,yDAAW;6FAvBV,aAAa;QCrB1B,2EAA+B;QAC/B,yGAEM;QACN,0GAmFM;;QAtFgB,0DAAa;QAAb,6EAAa;QAGf,0DAAc;QAAd,8EAAc;;6FDiBrB,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;ugBAuBmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;;sBACb,oDAAM;uBAAC,yDAAW;wBArBZ,aAAa;kBAArB,mDAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEvB8D;AACwC;AAEvE;AAIkB;;;;;;;;;;;;ICNrD,yEACI;IADmC,iUAAyB;IAC5D,yEACI;IAAA,2EAAU;IAAA,iEAAM;IAAA,4DAAW;IAC/B,4DAAM;IACV,4DAAM;;;;IAJD,wGAAiC;;;IAD1C,yEACI;IAAA,uHAIM;IACV,4DAAM;;;IANY,qFAAqB;IAC2E,0DAAS;IAAT,kFAAS;;;;IAmBnH,6EACI;IAD0B,sUAAoB;IAC9C,2EAAU;IAAA,yEAAc;IAAA,4DAAW;IACvC,4DAAS;;;;IACT,6EACI;IADsB,kUAAgB;IACtC,2EAAU;IAAA,4EAAiB;IAAA,4DAAW;IAC1C,4DAAS;;;;IACT,0EAAsE;IAArB,gUAAoB;IAAC,4DAAM;;;;IAC5E,0EAA0D;IAAjB,4TAAgB;IAAC,4DAAM;;;;IAE5D,0EACI;IAAA,qEACJ;IAAA,4DAAM;;;;IADG,0DAAmB;IAAnB,qJAAmB;;;;;;;;;IAtBxC,yEACI;IAAA,yEACI;IAAA,uEACI;IAAA,4EACJ;IAAA,4DAAI;IACJ,oEAA0B;IAC1B,6EACI;IAAA,2EAAU;IAAA,gEAAK;IAAA,4DAAW;IAC9B,4DAAS;IACb,4DAAM;IACN,0EACI;IAAA,qEAAoF;IACpF,gIAES;IACT,gIAES;IACT,0HAA4E;IAC5E,0HAAgE;IAChE,2EACI;IADiD,qUAA0B,KAAK,KAAE,iRAA6B,OAAO,KAApC,+QAAkE,MAAM,KAAxE;IAClF,0HAEM;IACV,4DAAM;IACV,4DAAM;IACN,2EACI;IAAA,yEACI;IADiF,uTAAoB;IACrG,4EAAU;IAAA,mEAAO;IAAA,4DAAW;IAC5B,sEACJ;IAAA,4DAAI;IACJ,yEACI;IADgF,oTAAiB;IACjG,gFAAyC;IAAA,iEAAK;IAAA,4DAAW;IACzD,mEACJ;IAAA,4DAAI;IACR,4DAAM;IACV,4DAAM;;;IAlCgB,0DAAsB;IAAtB,sFAAsB;IAIZ,0DAAsB;IAAtB,sFAAsB;IAK9B,0DAA6D;IAA7D,yLAA6D;IACpE,0DAAmB;IAAnB,sFAAmB;IAGnB,0DAAe;IAAf,kFAAe;IAGI,0DAAmB;IAAnB,sFAAmB;IACvB,0DAAe;IAAf,kFAAe;IACT,0DAAsB;IAAtB,sFAAsB;IACL,0DAAoC;IAApC,iMAAoC;IAK/D,0DAAkD;IAAlD,yMAAkD;IACnD,0DAAiE;IAAjE,yMAAiE;IAIjE,0DAAgE;IAAhE,yMAAgE;;AD9B3F,IAAI,cAAc,GAAG,CAAC,CAAC;AAiBhB,MAAM,qBAAqB;IAkBhC,YACU,WAA+B,EAC/B,KAAmB,EACH,MAAc,EAC9B,EAAa,EACb,KAAqB,EACrB,MAAc,EACd,YAAgC;QANhC,gBAAW,GAAX,WAAW,CAAoB;QAC/B,UAAK,GAAL,KAAK,CAAc;QACH,WAAM,GAAN,MAAM,CAAQ;QAC9B,OAAE,GAAF,EAAE,CAAW;QACb,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAoB;QAvB1C,SAAI,GAAe,EAAE,CAAC;QACtB,QAAG,GAAG,EAAE,CAAC;QACT,cAAS,GAAG,CAAC,CAAC;QACd,cAAS,GAA+B,EAAE,CAAC;QAC3C,gBAAW,GAAsD,EAAE,CAAC;QACpE,cAAS,GAAG,IAAI,CAAC;QACjB,eAAU,GAAwC,EAAE,CAAC;QACrD,gBAAW,GAAG,CAAC,CAAC;QAChB,mBAAc,GAAkB,IAAI,CAAC;QACrC,iBAAY,GAAkB,IAAI,CAAC;QACnC,qBAAgB,GAAkB,IAAI,CAAC;QACvC,YAAO,GAAG,EAAE,CAAC;QACb,cAAS,GAAG,mCAAmC,CAAC;QAEvC,WAAM,GAA6B,EAAE,CAAC;QA6C/C,cAAS,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,CAAC;QAEnC,WAAM,GAAmB,EAAE,CAAC;QAC5B,UAAK,GAAwB,IAAI,CAAC;QAClC,cAAS,GAAyB,KAAK,CAAC;QACxC,kBAAa,GAAyB,KAAK,CAAC;QAC5C,gBAAW,GAAG,EAAE,CAAC;QAxCf,WAAW,CAAC,OAAO,CAAC;YAClB,+DAAW,CAAC,MAAM;YAClB,+DAAW,CAAC,KAAK;YACjB,+DAAW,CAAC,MAAM;YAClB,+DAAW,CAAC,KAAK;YACjB,+DAAW,CAAC,MAAM;SACnB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACpB,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,MAAM,CAAC,EAAE;gBAE1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,KAAK,CAAC,EAAE;gBAEhD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,MAAM,CAAC,EAAE;gBAE/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI,IAAI,MAAM,CAAC,WAAW,CAAC,+DAAW,CAAC,KAAK,CAAC,EAAE;gBAE9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;iBACI;gBAEH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAExB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAWD,UAAU;QACR,MAAM,QAAQ,GAAG,CAAC,GAAG,sDAAsD,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SACtB;aAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtB,GAAG,EAAE,CAAC;aACP;SAEF;aAAM;YAEL,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;aACpC;YACD,KAAK,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtB,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;oBAC3C,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBACZ,MAAM;iBACP;qBACI;oBAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBAAE;aACxB;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1B;SAEF;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/D;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3D;IACH,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC/B,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,KAAK,CAAC,CAAa,EAAE,IAA8B;QAEjD,MAAM,KAAK,GAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3F,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;YAC/B,OAAO;SACR;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACT,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aAC3C;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;aACjC;SACF;aAAM;YACL,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;SACjC;QAED,MAAM,SAAS,GAAwB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAClF,MAAM,SAAS,GAAG,GAAG,CAAC;QAEtB,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAG,SAAS,EAAE;gBACxB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;aACnB;YACD,OAAO;SACR;QAED,IAAI,SAAS,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;SAChC;IAEH,CAAC;IAED,aAAa;QACX,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACvC,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;SACzC;IACH,CAAC;IAED,MAAM,CAAC,GAAgC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;QAC/E,IAAI,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,WAAW,CAAC;SAC7E;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC7C,OAAO,EAAE,WAAW,EAAE,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IACtH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YACvF,cAAc,GAAG,CAAC,CAAC;SACpB;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACnC,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;gBACjE,IAAI,IAAI,CAAC,KAAK,EAAE;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,GAAG,GAAG,CAAC,EAAE;wBACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;qBAC3C;yBAAM;wBACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;qBAC5B;oBACD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;wBAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;qBACvC;yBAAM;wBACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBACxB;iBACF;aACF;iBAAM;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/D;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SAChD;QACD,sBAAsB;IACxB,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5B;IACH,CAAC;IAEK,IAAI;;YAER,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;gBAC9E,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;oBACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;qBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY,EAAE;oBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACb;qBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;oBAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;iBAC/C;YACH,CAAC,CAAC,CAAC;YAEH,2DAA2D;YAE3D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAO,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAEvE,8BAA8B;YAE9B,sCAAsC;YACtC,0CAA0C;YAC1C,gEAAgE;YAChE,gDAAgD;YAChD,4CAA4C;YAC5C,kDAAkD;YAClD,4BAA4B;YAC5B,6DAA6D;YAC7D,UAAU;YACV,QAAQ;YACR,MAAM;YACN,wCAAwC;YACxC,IAAI;YAEJ,yBAAyB;QAE3B,CAAC;KAAA;IAED,OAAO;QACL,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,EAAE,CAAC;SACP;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,KAAa;QAIxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACZ,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,EAAE;YAC1B,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;SACxB;QACD,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACtB,IAAI,IAAI,KAAK,GAAG,EAAE;oBAChB,eAAe,EAAE,CAAC;iBACnB;qBAAM;oBACL,eAAe,GAAG,CAAC,CAAC;iBACrB;gBACD,IAAI,eAAe,IAAI,KAAK,EAAE;oBAC5B,MAAM,GAAG,IAAI,CAAC;oBACd,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;oBACvB,MAAM;iBACP;gBACD,MAAM,EAAE,CAAC;aACV;YACD,IAAI,MAAM,EAAE;gBACV,CAAC,GAAG,MAAM,CAAC;gBACX,MAAM;aACP;YACD,MAAM,EAAE,CAAC;SACV;QACD,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACrB;QACD,OAAO;YACL,CAAC,EAAE,CAAC;SACL,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAY;QAIvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAEZ,IAAI,CAAC,OAAO,EAAE,CAAC;SAEhB;aAAM;YAEL,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5D,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;oBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzB,IAAI,IAAI,KAAK,GAAG,EAAE;wBAChB,eAAe,EAAE,CAAC;qBACnB;yBAAM;wBACL,eAAe,GAAG,CAAC,CAAC;qBACrB;oBACD,IAAI,eAAe,IAAI,IAAI,EAAE;wBAC3B,MAAM,GAAG,IAAI,CAAC;wBACd,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;wBACtB,MAAM;qBACP;oBACD,MAAM,EAAE,CAAC;iBACV;gBACD,IAAI,MAAM,EAAE;oBACV,CAAC,GAAG,MAAM,CAAC;oBACX,MAAM;iBACP;aACF;YACD,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,CAAC,GAAG,CAAC,CAAC;gBACN,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aACrB;SACF;QACD,OAAO;YACL,CAAC,EAAE,CAAC;SACL,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;QAE/D,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,QAAQ,EACR,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;oBACtB,IAAI,IAAI,KAAK,GAAG,EAAE;wBAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;wBAClC,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM,QAAQ,CAAC;qBAChB;oBACD,MAAM,EAAE,CAAC;iBACV;gBACD,MAAM,EAAE,CAAC;aACV;YACD,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aAC5C;SACF;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;gBAC/B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;aAC7B;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;aAC3C;SACF;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;iBAChB;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aAC3C;SACF;IACH,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,MAAM,MAAM,GAAoC,EAAE,CAAC;QAEnD,yCAAyC;QACzC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YAE5B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;YAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;YAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;YAC/B,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAElC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,IAAI,KAAK,GAAG,MAAM,EAAE;gBAClB,IAAI,GAAG,CAAC,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;aACnC;iBAAM;gBACL,IAAI,GAAG,CAAC,CAAC;gBACT,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;aACnC;YAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAE1C,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC;YAE3E,CAAC,EAAE,CAAC;SACL;QAGD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACtB,IAAI,IAAI,KAAK,GAAG,EAAE;oBAEhB,IAAI,cAAc,GAAG,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;oBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;wBACrE,cAAc,GAAG,UAAU,CAAC;qBAC7B;yBAAM,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;wBAC5E,cAAc,GAAG,UAAU,CAAC;qBAC7B;yBAAM,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;wBAC5E,cAAc,GAAG,UAAU,CAAC;qBAC7B;yBAAM,IAAI,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;wBAC5E,cAAc,GAAG,UAAU,CAAC;qBAC7B;oBAED,IAAI,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;wBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC;wBAC5C,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;qBAC/B;iBACF;gBAED,OAAO,EAAE,CAAC;aACX;YACD,MAAM,EAAE,CAAC;SACV;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3B;QACD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjB,GAAG,EAAE,CAAC;SACP;QACD,MAAM,MAAM,GAAG;YACb,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,GAAG,GAAG,IAAI;YACnB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,GAAG,GAAG,IAAI;YACtB,qBAAqB,EAAE,QAAQ;YAC/B,oBAAoB,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,KAAK;YACxE,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SACxC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAE7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG;gBACb,WAAW,EAAE,GAAG,CAAC,EAAE;gBACnB,kBAAkB,EAAE,QAAQ,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,6BAA6B;gBAC5G,kBAAkB,EAAE,GAAG,CAAC,KAAK;gBAC7B,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;SACnC;IACH,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;YAEd,6GAA6G;YAE7G,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,4IAA4I,CAAC;SACxL;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,KAAK,CAAC;SAC5D;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;YACrG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9F;IACH,CAAC;;0FA7jBU,qBAAqB,yVAqBtB,sEAAM;qGArBL,qBAAqB;QC1BlC,iHAMM;QAEN,mHAoCM;;QA5CmC,+EAAe;QAQ7B,0DAAgB;QAAhB,gFAAgB;;6FDkB9B,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;+MAsBmC,MAAM;sBAArC,oDAAM;uBAAC,sEAAM;0VALP,MAAM;kBAAd,mDAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE1CoG;AAExC;AAMhB;;;;;;;;;;;;;;;;;;;ICJ5C,6EAA4F;IAA/C,oVAAoB;IAA2B,uDAAyC;;IAAA,4DAAS;;;IAAlD,0DAAyC;IAAzC,2JAAyC;;;;IAyBrI,0EACI;IAAA,sFAAoI;IAA3G,yUAA+B;IAA4E,4DAAc;IACtJ,4DAAM;;;IADuD,0DAAyB;IAAzB,yFAAyB;;;IAW9E,4EAAiD;IAAA,iFAAsB;IAAA,4DAAY;;;IAMnF,4EAAgD;IAAA,gFAAqB;IAAA,4DAAY;;;IAOrF,4EAAiD;IAAA,4EAAiB;IAAA,4DAAY;;;IAC9E,4EAA8C;IAAA,wEAAa;IAAA,4DAAY;;;;IApB/E,2EAEI;IAF8C,2TAAuB;IAErE,0EACI;IAAA,qFACI;IAAA,4EAAW;IAAA,qEAAU;IAAA,4DAAY;IACjC,uEACA;IAAA,gIAAmF;IACvF,4DAAiB;IAEjB,qFACI;IAAA,4EAAW;IAAA,oEAAS;IAAA,4DAAY;IAChC,wEACA;IAAA,kIAAiF;IACrF,4DAAiB;IACrB,4DAAM;IAEN,sFACI;IAAA,6EAAW;IAAA,yEAAa;IAAA,4DAAY;IACpC,wEACA;IAAA,kIAA8E;IAC9E,kIAAuE;IAC3E,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,mEAAO;IAAA,4DAAY;IAC9B,2EAAkG;IACtG,4DAAiB;IAEjB,kFAA8F;IAAzC,4TAAqB;IAAoB,4DAAa;IAE/G,4DAAO;;;IA9BD,wFAAwB;IAMN,0DAAmC;IAAnC,sGAAmC;IAMnC,0DAAkC;IAAlC,qGAAkC;IAOtC,0DAAmC;IAAnC,sGAAmC;IACnC,0DAAgC;IAAhC,mGAAgC;IAQpB,0DAAwB;IAAxB,wFAAwB;;;ADhDrD,MAAM,eAAe;IAsB1B,YACS,QAAqB,EACpB,QAA4B,EAC5B,EAAa,EACb,MAAc,EACO,UAAkC;QAJxD,aAAQ,GAAR,QAAQ,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,OAAE,GAAF,EAAE,CAAW;QACb,WAAM,GAAN,MAAM,CAAQ;QACO,eAAU,GAAV,UAAU,CAAwB;QAtBjE,iBAAY,GAAsB,SAAS,CAAC;QAC5C,eAAU,GAAqB,IAAI,CAAC;QAGpC,kBAAa,GAAQ;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC;QAEF,iBAAY,GAAG,KAAK,CAAC;QAErB,YAAO,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAEvD,WAAM,GAAG,GAAG,CAAC;QACb,cAAS,GAAoB,SAAS,CAAC;QAEvC,YAAO,GAAG,KAAK,CAAC;QA4BT,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;;YAC3D,OAAO,WAAI,CAAC,UAAU,0CAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,MAAK,KAAK,CAAC;QAC7E,CAAC;QArBC,IAAI,CAAC,SAAS,GAAG,yEAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,wDAAS,CAAC;YAE9B,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,KAAK,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,CAAC;SAElC,CAAC,CAAC;IAEL,CAAC;IAED,aAAa,CAAC,KAAY;QACxB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC;IAMD,QAAQ,CAAC,EAAW;QAClB,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,aAAa;QACX,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAC9E,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SACtC;IACH,CAAC;IAEK,qBAAqB,CAAC,IAAe;;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;KAAA;IAED,iBAAiB,CAAC,GAAQ;QAExB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE;YAElC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;YAEtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;gBAC5D,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SAEb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,IAAe;QACvB,yDAAyD;QACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC;IACpD,CAAC;IAEK,QAAQ;;YAEZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO;aACR;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YAErC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAE5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sCAAsC,EAAE,SAAS,EAAE;oBACpE,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,OAAO;aACR;YAED,IAAI;gBAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAEtD,IAAI,SAAS,EAAE;oBAEb,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;wBAEhC,MAAM,oBAAoB,GAAG;4BAC3B,KAAK;4BACL,IAAI;4BACJ,KAAK;4BACL,MAAM,EAAE,SAAS;4BACjB,SAAS,EAAE,OAAO;yBACnB,CAAC;wBAEF,MAAM,MAAM,GAAG,CACb,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CACnE,CAAC,IAAkB,CAAC;wBAErB,MAAM,GAAG,GAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CACpD,SAAS,EACT,IAAI,CAAC,SAAS,EAAE,EAChB,MAAM,CAAC,EAAE,IAAI,EAAE,EACf,QAAQ,CACT,CAAC;wBAEF,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;4BAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC1B,OAAO;yBACR;wBAED,IAAI,GAAG,CAAC,OAAO,EAAE;4BAEf,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAY,CAAC;4BAErC,oBAAoB,CAAC,SAAS,GAAG,MAAM,CAAC;4BACxC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC;4BAEnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;yBACnD;wBAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAE3B;yBAAM;wBAEL,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAC3C,SAAS,EACT,IAAI,CAAC,SAAS,EAAE,EAChB,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,EACvB,SAAS,EACT,IAAI,CAAC,SAAS,EACd,QAAQ,CACT,CAAC;wBAEF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAE1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;4BAEjC,IAAI,IAAI,CAAC,IAAI,EAAE;gCACb,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;gCAClC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;6BACnD;4BAED,0DAA0D;4BAC1D,+EAA+E;4BAC/E,gGAAgG;yBAEjG;6BAAM;4BAEL,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC1B,OAAO;yBAER;qBAEF;iBAEF;qBAAM;oBAEL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,EAAE;wBACxD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;oBAEH,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,OAAO;iBAER;aAEF;YAAC,OAAO,CAAC,EAAE;gBAEV,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAE1B,IAAI,CAAC,CAAC,OAAO,EAAE;oBACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE;wBACnD,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE;wBAClD,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;iBACJ;aAEF;QAEH,CAAC;KAAA;;8EA7OU,eAAe,ylBA2BhB,yDAAW;+FA3BV,eAAe;;;;;;QCf5B,yEACI;QAAA,oEAAG;QAAA,mFAAwB;QAAA,4DAAI;QAE/B,yEACI;QAAA,iHAA8I;QAClJ,4DAAM;QAEN,yEACI;QAAA,uEAAM;QAAA,4DAAC;QAAA,4DAAO;QACd,2EACJ;QADyB,mLAAoB;QAAzC,4DACJ;QAAA,4DAAM;QAEN,qFACI;QAD6C,gMAAuB;QACpE,0EACI;QAD+B,qJAAmB,SAAS,IAAE;QAC7D,uFAAkC;QAAA,sFAA0B;QAAA,4DAAmB;QACnF,4DAAM;QACN,0EACI;QAD+B,qJAAmB,SAAS,IAAE;QAC7D,uFAAkC;QAAA,6EAAiB;QAAA,4DAAmB;QAC1E,4DAAM;QACV,4DAAkB;QAElB,qEACI;QAAA,mFAAoC;QAAtB,4LAAqB;QAAC,wDAA2F;;QAAA,4DAAe;QAClJ,4DAAI;QAEJ,yEAA+B;QAAA,+EAAmB;QAAA,4DAAI;QAEtD,2EACI;QAAA,2EAAoB;QAAA,8EAAkB;QAAA,4DAAO;QAC7C,8GAEM;QACN,2EAAoB;QAAA,4EAAU;QAAA,gEAAI;QAAA,4DAAW;QAAC,qFAAwB;QAAA,4DAAM;QAChF,4DAAM;QAEN,iHA8BO;QACX,4DAAM;;QA9DkF,0DAAU;QAAV,gFAAU;QAKrE,0DAAoB;QAApB,+EAAoB;QAGI,0DAAuB;QAAvB,kFAAuB;QACF,0DAAgD;QAAhD,wKAAgD;QAGhD,0DAAgD;QAAhD,wKAAgD;QAMpG,0DAAqB;QAArB,gFAAqB;QAAC,0DAA2F;QAA3F,0NAA2F;QAO3G,0DAAe;QAAf,+EAAe;QAMP,0DAAgB;QAAhB,gFAAgB;;6FDpBvC,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;sBA4BI,oDAAM;uBAAC,yDAAW;wBAzBgB,UAAU;kBAA9C,sDAAQ;;kBAAI,uDAAS;mBAAC,YAAY;;;;;;;;;;;;;;AEfrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACgB;AACpB;AACW;;;;AAI1C,MAAM,kBAAkB;IAM3B,YACY,MAAc,EACd,QAAkB;QADlB,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;QAN9B,0BAA0B;QACnB,sBAAiB,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QACpD,qBAAgB,GAAG,IAAI,oDAAe,CAAS,EAAE,CAAC,CAAC;QAOtD,2DAA2D;QAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAElD,kFAAkF;QAClF,gFAAgF;QAChF,+EAA+E;QAC/E,kEAAkE;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CACnB,6DAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,gEAAgB,CAAC,EAC1C,+DAAQ,EAAE,CACb;aACI,SAAS,CAAC,CAAC,KAAY,EAAE,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IAEX,CAAC;;oFA3BQ,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB,mBADL,MAAM;6FACnB,kBAAkB;cAD9B,wDAAU;eAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;;;;;;;;;;ACLlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0B;AAC2B;AAE9C,SAAS,WAAW,CAAC,EAAc,EAAE,KAAa;IACrD,+CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mEAAY,CAAC,KAAK,CAAC,EAAE,4DAAK,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AA4BM,MAAM,YAAY,GAAmB;IACxC,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,yBAAyB;QAC9B,KAAK,EAAE,6DAA6D;KACvE;IACD,OAAO,EAAE;QACL,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,GAAG,EAAE,yBAAyB;QAC9B,KAAK,EAAE,oEAAoE;KAC9E;IACD,iBAAiB,EAAE;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,wBAAwB;QAC7B,KAAK,EAAE,qDAAqD;KAC/D;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,wBAAwB;QAC7B,KAAK,EAAE,2DAA2D;KACrE;CACJ,CAAC;AAEK,MAAM,SAAS,GAAuB;IACzC,UAAU,EAAE,EAAE;IACd,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;CAClB,CAAC;;;;;;;;;;;;;AChEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AACyE;AACG;AACzD;AACmB;AACG;AAC/B;AAC6B;AAClB;AACO;AACb;AACiB;AACN;AACR;AAC2B;AACpB;AACD;AACkB;AACE;AACqC;AACjC;AACzC;AACe;AACsB;AACF;AAC1B;AACoB;AACpB;AACZ;AACiB;AACS;AACpB;;;AAEjE,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,2EAAa;QACxB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,yGAAqB;gBAChC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,4GAAsB;wBACjC,MAAM,EAAE,aAAa;qBACtB;iBACF;aACF;SACF;KACF;IAED,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,8GAAwB,EAAE;IAElE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,kGAAoB,EAAE;IAEzD,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,wEAAY,EAAE;IAExC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,6EAAc,EAAE;IAE5C,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,qJAAgC,EAAE;IACrF,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,gGAAoB,EAAE;IACxD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,oHAA0B,EAAE;IAEzD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,0FAAkB,EAAE;IACpD,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,0FAAkB,EAAE;IAE3D,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,6FAAmB,EAAE;IACtD,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,iHAAyB,EAAE;IACnE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,iHAAyB,EAAE;IAEvE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,gHAAwB,EAAE;IAClE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,gHAAwB,EAAE;IAEtE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,gHAAwB,EAAE;IAClE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,gHAAwB,EAAE;IAEtE;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,0GAAuB;QAClC,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,yGAAqB;gBAChC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,4GAAsB;wBACjC,MAAM,EAAE,aAAa;qBACtB;iBACF;aACF;SACF;KACF;IACD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,wFAAiB,EAAE;IACnD,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,yFAAiB,EAAE;IAEvD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4FAAkB,EAAE;IAClD,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,oFAAgB,EAAE;IAChD;QACE,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,sFAAgB;QAC3B,WAAW,EAAE,CAAC,8EAAgB,CAAC;KAChC;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,8GAAwB;QACnC,WAAW,EAAE,CAAC,8EAAgB,CAAC;KAChC;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,SAAS,EAAE,4IAA8B;QACzC,WAAW,EAAE,CAAC,8EAAgB,CAAC;KAChC;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,+IAA+B;QAC1C,WAAW,EAAE,CAAC,8EAAgB,CAAC;KAChC;IAED,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,mFAAc,EAAE;IAC5C,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,oGAAmB,EAAE;IACvD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,8FAAiB,EAAE;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,sFAAe,EAAE;IAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,wGAAsB,EAAE;IAEjD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oFAAgB,EAAE;CAC5C,CAAC;AASK,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBANlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrC,iBAAiB,EAAE,SAAS;gBAC5B,yBAAyB,EAAE,SAAS;aACrC,CAAC,CAAC,EACO,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;6FAEX,gBAAgB;cAP5B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;wBACrC,iBAAiB,EAAE,SAAS;wBAC5B,yBAAyB,EAAE,SAAS;qBACrC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxIiD;AACkB;;;;;;;;;;;;;;;;ICG5D,yEACI;IAAA,yEACI;IAAA,kFAAiD;IACjD,0EACI;IAAA,iFAA4D;IAApB,sWAAmB;IAAC,4DAAa;IACzE,iFAAgE;IAAtB,wWAAqB;IAAC,4DAAa;IACjF,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IANoB,0DAAW;IAAX,uEAAW;;;IAejC,4EAAgD;IAAA,2EAAgB;IAAA,4DAAY;;;IAK5E,4EAAkD;IAAA,6EAAkB;IAAA,4DAAY;;;IAUhF,4EAAoD;IAAA,8EAAmB;IAAA,4DAAY;;;IAWnF,4EAAkD;IAAA,6EAAkB;IAAA,4DAAY;;;IAmBhF,4EAAoD;IAAA,+EAAoB;IAAA,4DAAY;;;;IAnD5F,2EAEI;IAF8E,sUAAmB;IAEjG,qEAAI;IAAA,uDAA6C;IAAA,4DAAK;IAEtD,qFACI;IAAA,uEACA;IAAA,+IAA4E;IAChF,4DAAiB;IAEjB,qFACI;IAAA,uEACA;IAAA,+IAAgF;IACpF,4DAAiB;IAEjB,qFACI;IAAA,wEACJ;IAAA,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,0EAAc;IAAA,4DAAY;IACrC,wEACA;IAAA,iJAAmF;IACvF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,0EAAc;IAAA,4DAAY;IACrC,wEACJ;IAAA,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,kEAAM;IAAA,4DAAY;IAC7B,wEACA;IAAA,iJAAgF;IACpF,4DAAiB;IAEjB,sFACI;IAAA,6EAAW;IAAA,iEAAK;IAAA,4DAAY;IAC5B,kFACI;IAAA,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IACtC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IACtC,kFAAwB;IAAA,+DAAG;IAAA,4DAAa;IACxC,kFAAuB;IAAA,8DAAE;IAAA,4DAAa;IAC1C,4DAAa;IACjB,4DAAiB;IAEjB,sFACI;IAAA,wEACA;IAAA,iJAAoF;IACxF,4DAAiB;IAErB,4DAAO;;;IAtDD,yFAAyB;IAEvB,0DAA6C;IAA7C,+GAA6C;IAIjC,0DAAkC;IAAlC,qGAAkC;IAKlC,0DAAoC;IAApC,uGAAoC;IAUpC,0DAAsC;IAAtC,yGAAsC;IAWtC,0DAAoC;IAApC,uGAAoC;IAmBpC,2DAAsC;IAAtC,yGAAsC;;ADtDvD,MAAM,+BAA+B;IAS1C,YACU,KAAmB,EACnB,EAAa,EACd,QAAqB;QAFpB,UAAK,GAAL,KAAK,CAAc;QACnB,OAAE,GAAF,EAAE,CAAW;QACd,aAAQ,GAAR,QAAQ,CAAa;QAV9B,gBAAW,GAAqB,IAAI,CAAC;QACrC,iBAAY,GAAG,KAAK,CAAC;QACrB,gBAAW,GAAkB,EAAE,CAAC;QAChC,eAAU,GAAG,KAAK,CAAC;QACnB,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAuB,IAAI,CAAC;QA0I/B,aAAQ,GAAG,CAAC,WAAmB,EAAE,SAAiB,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aACnE;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;QACH,CAAC;IA1IG,CAAC;IAEL,QAAQ;QAEN,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,IAAI,wDAAS,CAAC;YAE/B,IAAI,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,YAAY,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,CAAC;YACrC,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,KAAK,EAAE,IAAI,0DAAW,CAAC,KAAK,CAAC;SAE9B,CAAC,CAAC;IAEL,CAAC;IAEK,IAAI,CAAC,GAAgB;;YACzB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,OAAO;aACR;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;KAAA;IAEK,MAAM,CAAC,GAAgB;;YAC3B,IAAI,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,GAAG,EAAE;oBACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE;wBAChD,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;iBACJ;aACF;QACH,CAAC;KAAA;IAED,MAAM;;QACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,UAAI,CAAC,WAAW,0CAAE,KAAK,GAAG;IAC5B,CAAC;IAEK,IAAI;;YAER,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,OAAO;aACR;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAE7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sCAAsC,EAAE,SAAS,EAAE;oBACpE,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,OAAO;aACR;YAED,IAAI,GAAgB,CAAC;YACrB,IAAI,QAAa,CAAC;YAElB,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAElC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;gBAEnC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;gBACtB,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACzC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACjC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACjC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACjC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC3B,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;aAE9B;iBAAM;gBAEL,GAAG,GAAG;oBACJ,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnD,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC;aAEH;YAED,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CACpC,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,EAAE;oBACP,MAAM,UAAU,GAAG,GAAkB,CAAC;oBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACnC;iBACF;YACH,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE;gBAC9C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEzB,CAAC;KAAA;IAYD,QAAQ,CAAC,EAAW;QAClB,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,aAAa;QACX,MAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAC9E,IAAI,qBAAqB,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SACtC;IACH,CAAC;IAEK,qBAAqB,CAAC,IAAe;;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;KAAA;IAED,SAAS,CAAC,IAAe;QACvB,yDAAyD;QACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;8GAlLU,+BAA+B;+GAA/B,+BAA+B;QCZ5C,gFAA0F;QAE1F,yEACI;QAAA,yEACI;QAAA,2HAQM;QACV,4DAAM;QAEN,8HAsDO;QAEP,yEACI;QAAA,4EAAkD;QAAnB,uJAAS,YAAQ,IAAC;QAAC,iEAAM;QAAA,4DAAS;QACjE,4EAA0D;QAA5B,wKAAsB,IAAI,IAAC;QAAC,sEAAW;QAAA,4DAAS;QAC9E,iFAAgI;QAAjB,4JAAS,UAAM,IAAC;QAAC,4DAAa;QACjJ,4DAAM;QACV,4DAAM;;QAxE2C,0DAAc;QAAd,oFAAc;QAW1B,0DAAiB;QAAjB,iFAAiB;QAyDtC,0DAAsB;QAAtB,mFAAsB;QACtB,0DAAqB;QAArB,kFAAqB;QACjB,0DAA4C;QAA5C,6GAA4C;;6FD9DnD,+BAA+B;cAL3C,uDAAS;eAAC;gBACT,QAAQ,EAAE,8BAA8B;gBACxC,WAAW,EAAE,2CAA2C;gBACxD,SAAS,EAAE,CAAC,2CAA2C,CAAC;aACzD;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjD,2EAAwB,gBAAgB,CAAC,0DAAU;SAClD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;;;;;;;;;;;;ACbH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,qC","file":"main.js","sourcesContent":["import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { AddressType, PersonType, DonationType } from 'src/app/services/DataStore';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: [\n './account.component.scss',\n ]\n})\nexport class AccountComponent implements OnInit, OnDestroy {\n\n admin = false;\n customer: PersonType | null = null;\n fetched = false;\n\n Donations: DonationType[] = [];\n ActiveRecurringDonations: DonationType[] = [];\n\n authSub: Subscription | null = null;\n\n myAddresses: AddressType[] = [];\n\n onAuthChange = (loggedIn: boolean) => {\n this.admin = this.authService.isTopAdmin();\n this.customer = this.authService.person;\n if (loggedIn && !this.fetched) {\n this.fetched = true;\n this.load();\n }\n }\n\n constructor(\n private authService: AuthService,\n private db: DbService,\n private utils: UtilsService,\n public snackBar: MatSnackBar,\n public activatedRoute: ActivatedRoute,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n this.utils.updateMeta({\n BrowserTitle: `My Account`,\n Title: `My Account`,\n Description: `My Account`,\n });\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n nth(d: number): string {\n if (d > 3 && d < 21) {\n return 'th';\n }\n switch (d % 10) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n default: return 'th';\n }\n }\n\n donationDayOfMonth(donation: DonationType): string {\n\n if (!donation.createdAt) {\n return '';\n }\n\n const date = new Date(donation.createdAt);\n let DayOfMonth = date.getDate();\n if (DayOfMonth > 28) {\n DayOfMonth = 28;\n }\n\n return DayOfMonth + this.nth(DayOfMonth);\n\n }\n\n async cancel(donation: DonationType): Promise {\n if (confirm('Cancel this donation?')) {\n donation.Active = 'false';\n this.db.put(donation);\n this.utils.delete(this.ActiveRecurringDonations, donation);\n }\n }\n\n async load(): Promise {\n\n if (!this.authService.personID) {\n return;\n }\n\n const person = await this.db.get('Person', this.authService.personID) as PersonType;\n\n this.myAddresses = person.Addresses || [];\n this.Donations = person.Donations || [];\n this.utils.dateDesc(this.Donations);\n\n this.Donations.forEach(itm => {\n if (itm.Recurring === 'true' && itm.Active === 'true') {\n this.ActiveRecurringDonations.push(itm);\n }\n });\n\n this.ActiveRecurringDonations = this.ActiveRecurringDonations.reverse();\n\n }\n\n}\n","\n\n\n

My Account

\n
\n\n\n

Recurring Donations

\n
\n

{{ donation.Amount | currency }}

\n

Donation occurs on the {{ donationDayOfMonth(donation) }} of each month.

\n \n
\n
\n\n\n
\n
\n

Personal Details

\n
\n
{{ (customer?.First || '') + ' ' + (customer?.Last || '') }}
\n
{{ myAddresses[0].mobile }}
\n
{{ myAddresses[0].address1 }}
\n
{{ myAddresses[0].address2 }}
\n
{{ myAddresses[0].suburb + ' ' + myAddresses[0].postcode + ' ' + myAddresses[0].state }}
\n
\n \n
\n
\n

Credit/Debit Card

\n
\n {{ card.brand }}, xxxx-{{ card.last4 }}\n
\n \n
\n
\n

Donations

\n
\n {{ donation.Amount | currency }} - {{ donation.DonationID }}\n
\n
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-canvassing-photos',\n templateUrl: './canvassing-photos.component.html',\n styleUrls: ['./canvassing-photos.component.scss']\n})\nexport class CanvassingPhotosComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n private db: DbService,\n ) { }\n\n imageData: Array[] = [\n ['20201106/00010XTR-00010-BURST20180513114454-01.jpeg', 2064, 2067, '#e69f36'],\n ['20201106/1.jpg', 2048, 1365, '#d3b367'],\n ['20201106/viber-image-2019-12-08-14-05-53--2-.jpg', 1280, 960, '#d94c30'],\n ['20201106/viber-image-2019-12-18-13-15-58.jpg', 1350, 1800, '#ce3336'],\n ['20201106/viber-image-2019-12-18-19-13-11.jpg', 1280, 960, '#c7376c'],\n ['20201106/viber-image-2019-12-18-19-14-51.jpg', 1280, 960, '#c99c38'],\n ['20201106/viber-image-2019-12-18-19-15-57.jpg', 1280, 960, '#c2c22f'],\n ['20201106/viber-image-2019-12-18-19-16-09.jpg', 960, 1280, '#dc344c'],\n ['20201106/viber-image-2019-12-18-19-16-29.jpg', 1280, 960, '#ceb92c'],\n ['20201106/viber-image-2019-12-20-17-54-37.jpg', 1280, 960, '#c55442'],\n ['20201106/viber-image-2019-12-24-19-20-23.jpg', 1280, 960, '#3395c9'],\n ['20201106/viber-image-2019-12-24-19-20-57.jpg', 1280, 960, '#0aacac'],\n ['20201106/viber-image-2019-12-24-21-31-45.jpg', 1280, 960, '#a86247'],\n ['20201106/111.jpg', 3648, 2736, '#a44e3f'],\n ['20201106/20161205-094147.jpg', 2048, 1152, '#d7492a'],\n ['20201106/20161205-174027.jpg', 864, 1536, '#be6a38'],\n ['20201106/20161212-124402.jpg', 864, 1536, '#d42339'],\n ['20201106/20161226-101056.jpg', 2048, 1152, '#8e5039'],\n ['20201106/20161228-142012.jpg', 2048, 1152, '#16d1f1'],\n ['20201106/2017-Program-Group-Photo.jpg', 4032, 2172, '#cb9b24'],\n ['20201106/20171027-172126.jpg', 1920, 1440, '#026d97'],\n ['20201106/20171113-095325-hero-80.jpg', 2000, 1287, '#a2b138'],\n ['20201106/20171115-151006-hero.jpg', 2000, 1125, '#2fc8dd'],\n ['20201106/20171226-084558.jpg', 1440, 1080, '#cf7133'],\n ['20201106/20171227-094455.jpg', 1440, 1080, '#af5411'],\n ['20201106/20171229-225839.jpg', 1440, 1080, '#0baae4'],\n ['20201106/20171230-084736.jpg', 1440, 1080, '#c06e2d'],\n ['20201106/20180102-172611.jpg', 4032, 3024, '#aab552'],\n ['20201106/20180106-115614.jpg', 1440, 1080, '#31cada'],\n ['20201106/20191202-151908.jpg', 4032, 3024, '#bb4747'],\n ['20201106/20191230-153015-90-5e23b5b8c94e4.jpg', 3024, 4032, '#df6c6b'],\n ['20201106/20191231-113546.jpg', 4032, 3024, '#b24e3a'],\n ['20201106/20191231-164205-5e124ed847f70.jpg', 1875, 2500, '#e13828'],\n ['20201106/20191231-164517-5e124f215cc91.jpg', 1875, 2500, '#df5a57'],\n ['20201106/20200114-132648.jpg', 4032, 3024, '#c7c027'],\n ['20201106/20200128-180129.jpg', 3264, 1472, '#b73948'],\n ['20201106/Abby-and-Tara.jpg', 3648, 2736, '#bf384e'],\n ['20201106/AdobePhotoshopExpress-d510a46c7b8849999af7eab6a56e5ea6.jpg', 1920, 1080, '#c646cb'],\n ['20201106/Andy-Potrait.jpg', 500, 500, '#4b89ba'],\n ['20201106/Bruce-and-Chantelle.jpg', 3648, 2736, '#2dad6c'],\n ['20201106/Burnie-Church.jpg', 2048, 1536, '#c85120'],\n ['20201106/Canvassing-at-Jumbunna-Lodge-edit-5bc84d88420cb.jpg', 4000, 2038, '#c6cf2c'],\n ['20201106/canvassing-bags.jpeg', 1920, 1081, '#d0374a'],\n ['20201106/canvassing-books-hero.jpeg', 3054, 1718, '#ed8e2e'],\n ['20201106/Corey-Canvassing.jpg', 2736, 3648, '#3191cd'],\n ['20201106/cranbourne-canvassing.jpg', 1751, 986, '#3aa6cb'],\n ['20201106/Delphia-and-Katalyn-Canvassing.jpg', 3648, 2736, '#5e9bd0'],\n ['20201106/DSC-0208.jpg', 2048, 1362, '#4d70ac'],\n ['20201106/DSC03496.jpg', 2048, 1536, '#f5de24'],\n ['20201106/DSC03553--2-.jpg', 2048, 1536, '#ac368e'],\n ['20201106/DSC03558.jpg-cropped--2-.jpg', 1051, 1536, '#d55609'],\n ['20201106/DSC03722.jpg', 2048, 1536, '#2d558a'],\n ['20201106/DSCN5762-78.jpg', 3160, 4213, '#2553af'],\n ['20201106/DSCN5766-89.jpg', 3888, 2916, '#c06240'],\n ['20201106/DSCN5772-69.jpg', 4842, 3632, '#2861d4'],\n ['20201106/DSCN5810.jpg', 2888, 2166, '#0897f1'],\n ['20201106/DSCN5811.jpg', 2107, 1580, '#464aae'],\n ['20201106/Dsozo-Camp-2016-013.jpg', 1440, 1080, '#47acc1'],\n ['20201106/Dsozo-Camp-2016-069.jpg', 1440, 1080, '#4397cc'],\n ['20201106/DSozo-NSW-2017-22.jpg', 2272, 1278, '#1f46b8'],\n ['20201106/DSozo-WA-2017-092.jpg', 1667, 2500, '#cd9f45'],\n ['20201106/DSozo-WA-2017-104.jpg', 2500, 1667, '#3fd5aa'],\n ['20201106/geelong-canvassing.jpg', 1784, 1004, '#485e96'],\n ['20201106/Geoff.jpg', 2096, 2864, '#cb3739'],\n ['20201106/group-training-hero.jpg', 1280, 657, '#cf9015'],\n ['20201106/Group.jpg', 7296, 5472, '#186099'],\n ['20201106/Happy-Canvassers.jpg', 2427, 2736, '#ec3648'],\n ['20201106/heritage-college-group-shot.jpg', 3788, 2131, '#24c8e1'],\n ['20201106/IMG-1295-01.jpeg', 3022, 3024, '#c57136'],\n ['20201106/IMG-1dfcd0659f45bb060fc834ca469fe2cb-V.jpg', 2000, 1500, '#4888d8'],\n ['20201106/IMG-20171107-115155669-HDR-hero-58.jpg', 2000, 1125, '#de8834'],\n ['20201106/IMG-20171112-124837209-79.jpg', 2000, 1125, '#0f629c'],\n ['20201106/IMG-20180510-163519-HDR.jpg', 4000, 3000, '#d3566e'],\n ['20201106/IMG-20180516-162606-01.jpeg', 2000, 2000, '#35a9ae'],\n ['20201106/IMG-20180521-165805-01.jpeg', 2000, 1498, '#ebcc22'],\n ['20201106/IMG-20180617-072651-01-hero.jpeg', 1920, 1079, '#0664cf'],\n ['20201106/IMG-20180619-121322-01.jpeg', 2560, 2556, '#b0aa34'],\n ['20201106/IMG-20180625-082846-01-01.jpeg', 2173, 2171, '#a51f20'],\n ['20201106/IMG-20180625-145652-01.jpeg', 3211, 2409, '#e65a6f'],\n ['20201106/IMG-20180806-164400-01.jpeg', 1780, 1776, '#daa326'],\n ['20201106/IMG-20180822-120446-01.jpeg', 2272, 2274, '#cc5777'],\n ['20201106/IMG-20180823-160144-01.jpeg', 3072, 3072, '#cb384b'],\n ['20201106/IMG-20180828-110350-01.jpeg', 3070, 3068, '#e2545f'],\n ['20201106/IMG-20180829-125946-01.jpeg', 2258, 2255, '#b78559'],\n ['20201106/IMG-20180917-172317-01.jpeg', 2611, 2610, '#3c8ad2'],\n ['20201106/IMG-20180920-172158-01.jpeg', 2475, 2475, '#b7454e'],\n ['20201106/IMG-20190318-161923-01.jpeg', 2434, 2434, '#e01125'],\n ['20201106/IMG-20200123-184016.jpg', 7296, 5472, '#ce4f66'],\n ['20201106/IMG-20200124-091918.jpg', 7296, 5472, '#fd493b'],\n ['20201106/IMG-20200129-155704-87.jpg', 3648, 2736, '#b7414d'],\n ['20201106/IMG-20200201-205248.jpg', 7296, 5472, '#a8770a'],\n ['20201106/IMG-3265-14.png', 1334, 750, '#77baeb'],\n ['20201106/IMG-3273.jpg', 1280, 743, '#bd5d48'],\n ['20201106/IMG-3931.jpg', 2048, 1536, '#5896e5'],\n ['20201106/IMG-3dce4aeac708dc4623e49709e28eb45f-V.jpg', 1280, 960, '#6699de'],\n ['20201106/IMG-4581.jpg', 1440, 1080, '#cc966d'],\n ['20201106/IMG-4617.jpg', 1280, 960, '#ca7026'],\n ['20201106/IMG-6535.jpg', 1136, 1704, '#2898b6'],\n ['20201106/IMG-7068602e46e268d40e535a40b2af9b8b-V.jpg', 1280, 960, '#57a7ff'],\n ['20201106/IMG-7391.jpg', 4032, 3024, '#8fa531'],\n ['20201106/IMG-8295.jpg', 2272, 1515, '#3e6ec3'],\n ['20201106/IMG-8374.jpg', 2272, 1515, '#d54910'],\n ['20201106/IMG-f79aebaa436b6c91528998415fa12830-V.jpg', 1280, 960, '#bb3146'],\n ['20201106/IMG20171014083117.jpg', 1280, 948, '#9f8a35'],\n ['20201106/IMG20171219115756.jpg', 1440, 1080, '#b3925c'],\n ['20201106/IMG20171222101522.jpg', 810, 1080, '#bbae29'],\n ['20201106/lake-mac-map-fs8.png', 1664, 936, '#bd4c3a'],\n ['20201106/le-advance-group-shot.jpg', 4011, 2256, '#2058cb'],\n ['20201106/lIMG-9f53e41142e857eeedec80141084b86e-V.jpg', 2000, 1500, '#64a5f4'],\n ['20201106/Main-Web-Banner.jpg', 1000, 400, '#c6483a'],\n ['20201106/Mary-anne-and-Pearl-Praying.jpg', 3648, 2736, '#963636'],\n ['20201106/Maryann-and-Gladys.jpg', 3648, 2736, '#bb3c4e'],\n ['20201106/MC-2018-229-Tim-Canvassing.jpg', 1664, 2500, '#d64939'],\n ['20201106/MVIMG-20180619-115913-1-01.jpeg', 2250, 2250, '#d1ca53'],\n ['20201106/On-the-Road-Update-3-032.jpg', 1440, 1080, '#7aa9e4'],\n ['20201106/On-the-Road-Update-3-103.jpg', 1626, 1080, '#c3a446'],\n ['20201106/Pano25-60.jpg', 2400, 500, '#18a1dc'],\n ['20201106/Rachel-Canvassing.jpg', 1080, 1080, '#cc5778'],\n ['20201106/rockhampton-team-photo.jpeg', 2000, 1125, '#68b4f2'],\n ['20201106/salt-lake-team-shot-hero.jpg', 2000, 1125, '#05ace6'],\n ['20201106/SAM-4375.jpg', 1440, 1080, '#889437'],\n ['20201106/SAM-4838.jpg', 2048, 1536, '#355b91'],\n ['20201106/SAM-5485.jpg', 2048, 1536, '#c87129'],\n ['20201106/team-shot-ayers-rock-hero.jpg', 2000, 1125, '#149edf'],\n ['20201106/the-great-controversy-cropped.jpg', 1500, 844, '#b09056'],\n ['20201106/viber-image-2019-12-08-14-05-27.jpg', 1280, 960, '#d93730'],\n ['20201106/viber-image-2020-01-05-22-21-41.jpg', 1280, 960, '#d44e48'],\n ['20201106/viber-image-2020-01-05-22-23-06.jpg', 1280, 857, '#fa8b11'],\n ['20201106/viber-image-2020-01-17-18-56-31.jpg', 1280, 960, '#165d98'],\n ['20201106/viber-image-2020-01-18-15-09-58.jpg', 1280, 960, '#bea254'],\n ['20201106/viber-image-2020-01-19-10-12-12.jpg', 1280, 960, '#c97038'],\n ['20201106/viber-image-2020-01-19-11-17-38.jpg', 1600, 1200, '#5db0d2'],\n ['20201106/viber-image-2020-01-19-12-35-34.jpg', 1280, 960, '#d05529'],\n ['20201106/WA-Program-Banner.jpg', 3000, 1080, '#ef6d54'],\n ['20201106/WP-20151226-16-05-32-Pro.jpg', 1920, 1081, '#aaae51'],\n ['20201106/WP-20160102-19-28-58-Pro.jpg', 1920, 1080, '#986239'],\n ['20201106/WP-20160106-08-21-15-Pro-1.jpg', 1920, 1080, '#a842ba'],\n ];\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Canvassing, Magabooks & Youth Programs in Australia',\n Title: 'Canvassing, Magabooks & Youth Programs in Australia',\n Description: 'Find out about magabook student canvassing programs in Australia.',\n });\n }\n\n}\n","\n\n","import { Component, OnInit } from '@angular/core';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-dsozo-camp-photos',\n templateUrl: './dsozo-camp-photos.component.html',\n styleUrls: ['./dsozo-camp-photos.component.scss']\n})\nexport class DsozoCampPhotosComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n private db: DbService,\n ) { }\n\n imageData: Array[] = [\n ['20201106/2015-Music-Camp-363.jpg', 1920, 1275, '#53a1df'],\n ['20201106/Bethany-Baptism-Square.jpg', 850, 850, '#14aac6'],\n ['20201106/bethany.jpg', 828, 1242, '#0dadca'],\n ['20201106/Camp-Group.jpg', 3000, 993, '#ba343d'],\n ['20201106/DSCN5607-79.jpg', 3561, 4748, '#d34b34'],\n ['20201106/DSCN5655.jpg', 3890, 2918, '#e48c3c'],\n ['20201106/DSCN5884-94.jpg', 4419, 3314, '#63b0f5'],\n ['20201106/DSCN5902-31.jpg', 5184, 2916, '#ca483c'],\n ['20201106/Dsozo-Camp-2016-007.jpg', 1440, 1080, '#2d51b6'],\n ['20201106/Dsozo-Camp-2016-013.jpg', 1440, 1080, '#47acc1'],\n ['20201106/Dsozo-Camp-2016-064.jpg', 1920, 1080, '#7394cf'],\n ['20201106/Dsozo-Camp-2016-069.jpg', 1440, 1080, '#4397cc'],\n ['20201106/DSozo-NSW-2017-38-74.jpg', 7712, 3356, '#c74d46'],\n ['20201106/DSozo-NSW-2017-45.jpg', 2272, 1278, '#c1c744'],\n ['20201106/DSozo-WA-2017-006.jpg', 1667, 2500, '#4d7fc0'],\n ['20201106/DSozo-WA-2017-038.jpg', 1667, 2500, '#77af50'],\n ['20201106/DSozo-WA-2017-041.jpg', 2500, 1667, '#f7556b'],\n ['20201106/DSozo-WA-2017-047.jpg', 2500, 1667, '#af6bcd'],\n ['20201106/DSozo-WA-2017-097.jpg', 2500, 1667, '#d76621'],\n ['20201106/DSozo-WA-2017-104.jpg', 2500, 1667, '#3fd5aa'],\n ['20201106/DSozo-WA-2017-120.jpg', 2500, 1667, '#a2328c'],\n ['20201106/DSozo-WA-2017-169.jpg', 2500, 1667, '#c69274'],\n ['20201106/DSozo-WA-2017-194.jpg', 2500, 1667, '#514c35'],\n ['20201106/DSozo-WA-2017-208-77.jpg', 2500, 1667, '#f99c2f'],\n ['20201106/DSozo-WA-2017-244.jpg', 2500, 1667, '#da6328'],\n ['20201106/DSozo-WA-2018044.jpg', 2048, 1536, '#d5cf34'],\n ['20201106/DSozo-WA-2018067.jpg', 2048, 1536, '#09d3d1'],\n ['20201106/DSozo-WA-2018140-panorama.jpg', 6000, 2452, '#d4162d'],\n ['20201106/DSozo-WA-2018177.jpg', 2048, 1365, '#d4ac4c'],\n ['20201106/DSozo-WA-2018223.jpg', 1280, 850, '#f94e5c'],\n ['20201106/Eastward-Activities-Parallax.jpg', 2048, 981, '#ba23d5'],\n ['20201106/Group-Shot-Edited.jpg', 3382, 1423, '#2fd9c2'],\n ['20201106/GYB-Panorama.jpg', 2500, 699, '#336690'],\n ['20201106/GYB-poster.jpg', 1920, 1080, '#689ad4'],\n ['20201106/IMG-7025-597d454c60772.jpg', 1214, 1079, '#6b99c5'],\n ['20201106/IMG-7079.jpg', 2500, 1667, '#396896'],\n ['20201106/IMG-7183--2-.jpg', 2500, 1667, '#4571a3'],\n ['20201106/IMG-7240.jpg', 1667, 2500, '#989e39'],\n ['20201106/IMG-7325.jpg', 2500, 1667, '#bebc5a'],\n ['20201106/IMG-7427.jpg', 2500, 1667, '#4d70b1'],\n ['20201106/IMG-7509.jpg', 2272, 1515, '#5edaa9'],\n ['20201106/IMG-8062.jpg', 2272, 1515, '#a5b957'],\n ['20201106/IMG-8086.jpg', 2272, 1515, '#a9280c'],\n ['20201106/IMG-8295.jpg', 2272, 1515, '#3e6ec3'],\n ['20201106/IMG-8299.jpg', 2272, 1515, '#865037'],\n ['20201106/IMG-8374.jpg', 2272, 1515, '#d54910'],\n ['20201106/Jesus-Love-of-My-Soul-Poster.jpg', 1920, 1080, '#d02a62'],\n ['20201106/Junes-garden-crew--2-.jpeg', 1632, 1224, '#3254be'],\n ['20201106/live-action.jpg', 2400, 500, '#4677c5'],\n ['20201106/Oh-How-I-Love-Jesus-Music-Video-Poster.jpg', 1920, 1080, '#33b6c6'],\n ['20201106/Oh-How-I-Love-Jesus-Music-Video.00-00-02-17.Still001.png', 1920, 1080, '#31a9aa'],\n ['20201106/Oh-How-I-Love-Jesus-Music-Video.00-00-07-19.Still002.png', 1920, 1080, '#6daccb'],\n ['20201106/Pano13.jpg', 1500, 500, '#cac354'],\n ['20201106/Poster--5-.jpg', 900, 600, '#3c9ed1']\n ];\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Photos from D\\'Sozo Camp',\n Title: 'Photos from D\\'Sozo Camp',\n Description: `D'Sozo camp is a very unique opportunity for youth to be involved in mission service. The primary focus of camp is christian help-work, music production, canvassing (literature evangelism) and door-to-door community surveys.`,\n });\n }\n\n}\n","\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'app-prompt',\n templateUrl: './prompt.component.html',\n styleUrls: ['./prompt.component.scss']\n})\nexport class PromptComponent implements OnInit {\n\n prompt: FormGroup | null = null;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: {\n label: string,\n value?: string,\n multiLine?: boolean,\n }) {\n\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ngOnInit(): void {\n\n this.prompt = new FormGroup({\n\n input: new FormControl(this.data.value || '', [Validators.required]),\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.prompt?.controls[controlName].hasError(errorName) || false;\n }\n\n confirm(): void {\n\n const Value = this.prompt?.value.input;\n\n this.dialogRef.close(Value);\n\n }\n\n}\n","
\n
\n \n \n {{ data.label }}\n \n This is required\n \n
\n
\n
\n \n \n
","import { Injectable } from '@angular/core';\nimport { StripeToken } from 'stripe-angular';\nimport { AuthService } from './auth.service';\nimport { HttpClient } from '@angular/common/http';\nimport { UtilsService } from './utils.service';\n\nexport interface StripeCustomer {\n id: string;\n object: string;\n address: string;\n balance: number;\n created: number;\n currency: string;\n default_source: string;\n delinquent: boolean;\n description: string;\n discount: any;\n email: string;\n invoice_prefix: string;\n invoice_settings: {\n custom_fields: any;\n default_payment_method: any;\n footer: any\n };\n livemode: boolean;\n metadata: any;\n name: string;\n next_invoice_sequence: 1;\n phone: string;\n preferred_locales: any[];\n shipping: any;\n sources: {\n object: string;\n data: StripePmtSource[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n subscriptions: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n tax_exempt: string;\n tax_ids: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n}\n\nexport interface StripePmtSource {\n id: string;\n object: string;\n address_city: string;\n address_country: string;\n address_line1: string;\n address_line1_check: string;\n address_line2: string;\n address_state: string;\n address_zip: string;\n address_zip_check: string;\n brand: string;\n country: string;\n customer: string;\n cvc_check: string;\n dynamic_last4: any;\n exp_month: 2;\n exp_year: 2022;\n fingerprint: string;\n funding: string;\n last4: string;\n metadata: {};\n name: string;\n tokenization_method: any;\n}\n\nexport interface StripeAddress {\n line1: string;\n city?: string;\n country?: string;\n line2?: string;\n postal_code?: string;\n state?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StripeService {\n\n static PmtApiEndpoint = 'https://pcpwanrxfj.execute-api.ap-southeast-2.amazonaws.com/default/Beehive-Payment-Fns';\n\n constructor(\n private utils: UtilsService,\n private auth: AuthService,\n private http: HttpClient,\n ) { }\n\n async sendContactForm(name: string, email: string, phone: string, message: string): Promise {\n\n const TxnData = {\n cmd: 'ContactForm',\n name, email, phone, message,\n };\n\n return await this.http.post(StripeService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async charge(Card: StripePmtSource, InvoiceID: string): Promise {\n\n const TxnData = {\n session: this.auth.getSessionValue(),\n cmd: 'NewInvoice',\n InvoiceID,\n Card,\n };\n\n return await this.http.post(StripeService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async saveCard(token: StripeToken, address: StripeAddress): Promise {\n\n address = this.utils.replaceValue(address, null, '');\n\n const response = await this.http.post(StripeService.PmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n address,\n cmd: 'SaveCard',\n token,\n }).toPromise();\n\n return response;\n\n }\n\n async removeCard(cardID: string): Promise {\n\n const response = await this.http.post(StripeService.PmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n cmd: 'RemoveCard',\n cardID,\n }).toPromise();\n\n return response;\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { PreviewAvatarComponent } from '../preview-avatar/preview-avatar.component';\n\n@Component({\n selector: 'app-choose-avatar',\n templateUrl: './choose-avatar.component.html',\n styleUrls: ['./choose-avatar.component.scss']\n})\nexport class ChooseAvatarComponent implements OnInit {\n\n AvatarEndpoint = 'https://cdn2.tda.website/beehive/20200826/';\n Avatars: string[] = ['adult-2221018.svg', 'adventurer-2220955.svg', 'air-hostess-2220960.svg', 'architect-2221005.svg', 'artist-2221019.svg', 'astronaut-2220995.svg', 'athlete-2220996.svg', 'auditor-2220964.svg', 'baker-2221007.svg', 'ballerina-2220933.svg', 'blogger-2220943.svg', 'boy-2220946.svg', 'butcher-2220974.svg', 'carpenter-2220949.svg', 'chemist-2220984.svg', 'clerk-2220935.svg', 'cobbler-2220938.svg', 'con-man-2220941.svg', 'cook-2221023.svg', 'delivery-man-2220950.svg', 'designer-2220985.svg', 'dj-2220961.svg', 'driver-2220948.svg', 'engineer-2221022.svg', 'executive-2220989.svg', 'farmer-2221026.svg', 'female-cop-2220990.svg', 'firefighter-2220968.svg', 'florist-2220951.svg', 'gardener-2221000.svg', 'geographer-2220983.svg', 'girl-2220932.svg', 'girl-2220940.svg', 'gopnik-2220931.svg', 'hipster-2221008.svg', 'historian-2220982.svg', 'housemaid-2221016.svg', 'housewife-2221012.svg', 'hunter-2220928.svg', 'hunter-2220956.svg', 'interpreter-2220988.svg', 'judge-2220980.svg', 'labor-2221020.svg', 'lady-2220991.svg', 'lady-doctor-2221025.svg', 'lawyer-2220947.svg', 'librarian-2220969.svg', 'lifeguard-2220979.svg', 'magician-2220939.svg', 'male-cop-2220965.svg', 'manager-2221017.svg', 'mechanic-2220930.svg', 'model-2221011.svg', 'musician-2221004.svg', 'newscaster-2220966.svg', 'nurse-2221001.svg', 'oceanographer-2220977.svg', 'photographer-2220986.svg', 'pilot-2221013.svg', 'pizza-boy-2220937.svg', 'plumber-2220978.svg', 'police-officer-2221024.svg', 'politician-2220971.svg', 'postman-2220959.svg', 'principal-2220970.svg', 'professor-2221006.svg', 'programmer-2220967.svg', 'radiographer-2220962.svg', 'referee-2220993.svg', 'reporter-2220945.svg', 'retro-woman-2220957.svg', 'robber-2221002.svg', 'sailor-2220975.svg', 'salesman-2220952.svg', 'scholar-2220994.svg', 'school-boy-2220944.svg', 'scientist-2220972.svg', 'scientist-2220976.svg', 'soldier-2221015.svg', 'sportsman-2220997.svg', 'spy-2220936.svg', 'student-2221010.svg', 'sweeper-2220981.svg', 'teacher-2221027.svg', 'teenager-2220963.svg', 'tourist-2220987.svg', 'vet-2220973.svg', 'vlogger-2220942.svg', 'waiter-2220999.svg', 'watchman-2221014.svg', 'welder-2220953.svg', 'woman-2221021.svg', 'writer-2221003.svg', 'accountant-2220992.svg', 'actor-2221009.svg', 'actress-2220958.svg'];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public Avatar: string,\n private dialog: MatDialog,\n private thisDialog: MatDialogRef,\n ) { }\n\n ngOnInit(): void {\n this.Avatar = this.Avatar || 'adult-2221018.svg';\n }\n\n random(): void {\n const Avatar = this.Avatars[this.getRandomArbitrary(0, this.Avatars.length - 1)];\n const dialogRef = this.dialog.open(PreviewAvatarComponent, {\n data: Avatar,\n width: '500px',\n });\n dialogRef.afterClosed().subscribe(val => {\n if (val === true) {\n this.Avatar = Avatar;\n this.thisDialog.close(this.AvatarEndpoint + this.Avatar);\n } else if (val === 'random') {\n this.random();\n }\n });\n }\n\n getRandomArbitrary(min: number, max: number): number {\n return Math.round(Math.random() * (max - min) + min);\n }\n\n}\n","

Pick your Avatar

\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
","import { Component, OnInit, OnDestroy, Inject, ElementRef } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss']\n})\nexport class MenuComponent implements OnInit, OnDestroy {\n\n IsAuthenticated = false;\n closed = true;\n showContent = '';\n\n onAuthChange = (AuthState: boolean) => {\n this.IsAuthenticated = AuthState;\n }\n\n constructor(\n private authService: AuthService,\n @Inject(WINDOW) private window: Window,\n private myElement: ElementRef,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n toggleMenu(event: MouseEvent, burger?: boolean): void {\n // if (this.window.scrollTo) {\n // this.window.scrollTo(0, 0);\n // }\n event.stopPropagation();\n if (burger || this.closed) {\n const el = this.myElement.nativeElement as HTMLElement;\n this.closed = !this.closed;\n if (!this.closed) {\n el.classList.add('open');\n setTimeout(() => {\n this.showContent = 'show';\n }, 80);\n } else {\n el.classList.remove('open');\n this.showContent = '';\n }\n }\n }\n\n logout(): void {\n this.authService.logout();\n }\n\n}\n","
\n
\n \n
\n
\n

Menu

\n
\n \n
\n © Eastward Missions | 19 Westleys Rd, Faulkland NSW 2422 | pr@eastward.edu.au | +61 420 746 255\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport * as _ from 'lodash';\nimport { GenericRow } from './DataStore';\nimport { WINDOW } from './window.service';\n\nexport interface TintType {\n tint: string;\n color: string;\n}\n\nexport interface PageMeta {\n BrowserTitle: string;\n Title: string;\n Image?: string;\n Description: string;\n}\n\ntype GlobalEvents = 'scroll' | 'resize' | 'mousedown' | 'mouseup' | 'mousemove' | 'keypress' | 'keydown' | 'keyup' | 'orientationchange';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilsService {\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(WINDOW) private window: Window,\n private router: Router,\n private title: Title,\n private meta: Meta,\n ) { }\n\n lodash = _;\n\n scriptCache = {};\n scriptProcessing = {};\n lo = _;\n eventCallbacks: any = {};\n eventCallbackFunctions: any = {};\n\n GlobalEventCallbacks: { [key: string]: { [key: string]: (event: any) => void } } = {};\n GlobalEventIsWatching: { [key: string]: boolean } = {};\n\n orgTitle = 'Eastward Missions';\n orgSite = 'www.eastward.edu.au';\n defaultImageMetaSettings = '?w=1200&h=700&fit=crop&crop=faces';\n\n getUrl(): string {\n return `https://${this.orgSite + this.router.url}`;\n }\n\n updateMeta(input: PageMeta): void {\n this.title.setTitle(input.BrowserTitle);\n this.meta.updateTag({\n property: 'og:image',\n content: input.Image || 'https://cdn2.tda.website/beehive/20201126/2020-11-26_193524.jpg',\n });\n this.meta.updateTag({ property: 'og:title', content: input.Title, });\n this.meta.updateTag({ property: 'og:description', content: input.Description, });\n this.meta.updateTag({ name: 'description', content: input.Description, });\n this.meta.updateTag({ property: 'og:type', content: 'website', });\n this.meta.updateTag({ property: 'og:url', content: this.getUrl(), });\n }\n\n replaceValue(obj: any, value: any, replace: any): any {\n Object.keys(obj).forEach(key => {\n if (obj[key] === value) {\n obj[key] = replace;\n }\n });\n return obj;\n }\n\n chunk(array: any[], size: number): any {\n return _.chunk(array, size);\n }\n\n dateDesc(ar: GenericRow[]): void {\n ar.sort((a, b) => {\n if (typeof b.createdAt !== 'undefined') {\n return ('' + (a.createdAt)).localeCompare((b.createdAt));\n } else {\n return ('' + 1).localeCompare('0');\n }\n }).reverse();\n }\n\n shuffle(array: any[]): any[] {\n let currentIndex = array.length;\n let temporaryValue: any;\n let randomIndex: number;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n }\n\n getRandomInt(min: number, max: number): number {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n QueryParamsFromUrl(url: string): { [key: string]: string } {\n\n if (url.includes('?')) {\n\n const output: any = {};\n\n const QueryStr = url.split('?')[1];\n const Params: any = {};\n QueryStr.split('&').forEach(param => {\n const bit = param.split('=');\n output[bit[0]] = bit[1];\n });\n\n return output;\n\n } else {\n return {};\n }\n\n }\n\n RemoveEventCallback(eventName: GlobalEvents, uid: string): void {\n if (this.GlobalEventCallbacks[eventName]) {\n delete this.GlobalEventCallbacks[eventName][uid];\n }\n }\n\n RunEventCallbacks(eventName: GlobalEvents, event: any): void {\n\n if (this.GlobalEventCallbacks[eventName]) {\n Object.keys(this.GlobalEventCallbacks[eventName]).forEach(uid => {\n const Fn = this.GlobalEventCallbacks[eventName][uid];\n Fn(event);\n });\n }\n\n }\n\n WhenEventHappens(eventName: GlobalEvents, fn: (event: any) => void): string {\n\n const IsWatching = this.GlobalEventIsWatching[eventName];\n\n const uid = this.uid();\n this.GlobalEventCallbacks[eventName] = this.GlobalEventCallbacks[eventName] || {};\n this.GlobalEventCallbacks[eventName][uid] = fn;\n\n if (!IsWatching) {\n\n if (eventName === 'scroll' || eventName === 'resize') {\n if (this.window.addEventListener) {\n this.window.addEventListener(eventName, (event) => {\n this.RunEventCallbacks(eventName, event);\n });\n }\n } else {\n this.document.addEventListener(eventName, (event) => {\n this.RunEventCallbacks(eventName, event);\n });\n }\n\n this.GlobalEventIsWatching[eventName] = true;\n\n }\n return uid;\n }\n\n whenWindowScrolls(fn: (event: any) => void): string {\n return this.WhenEventHappens('scroll', fn);\n }\n\n removeScroll(uid: string): void {\n return this.RemoveEventCallback('scroll', uid);\n }\n\n whenWindowResizes(fn: (event: any) => void): string {\n return this.WhenEventHappens('resize', fn);\n }\n\n removeResize(uid: string): void {\n return this.RemoveEventCallback('resize', uid);\n }\n\n StopDocEvent(EventName: string): void {\n this.document.removeEventListener(EventName, this.eventCallbackFunctions[EventName]);\n delete this.eventCallbackFunctions[EventName];\n this.eventCallbacks[EventName].length = 0;\n }\n\n StartDocEvent(EventName: string, callback: any): void {\n\n this.eventCallbacks[EventName] = this.eventCallbacks[EventName] || [];\n\n if (!this.eventCallbackFunctions[EventName]) {\n this.eventCallbackFunctions[EventName] = (event: any) => {\n this.eventCallbacks[EventName].forEach((callbackFn: (event: any) => void) => {\n callbackFn(event);\n });\n };\n }\n\n if (!this.eventCallbacks[EventName].length) {\n\n this.document.addEventListener(EventName, this.eventCallbackFunctions[EventName]);\n\n }\n\n this.eventCallbacks[EventName].push(callback);\n\n }\n\n uppercaseFirst(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n lowercaseFirst(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n }\n\n randomChars(num: number): string {\n const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n let text = '';\n for (let i = 0; i < num; i++) {\n text += charset.charAt(Math.floor(Math.random() * charset.length));\n }\n return text;\n }\n\n uid(): string {\n // return uuid();\n return (this.randomChars(4)) + Date.now().toString(36) + (this.randomChars(4));\n }\n\n shortUid(): string {\n return (this.randomChars(4)) + Date.now().toString(36);\n }\n\n isObject(item: any): boolean {\n return _.isObject(item);\n }\n\n isArray(item: any): boolean {\n return _.isArray(item);\n }\n\n\n // JsonClone effectively deep clones an object by stringifying to JSON and re-parsing\n JsonClone(item: any): any {\n\n return JSON.parse(JSON.stringify(item));\n\n }\n\n clone(item: any, deep?: boolean): any {\n if (deep) {\n return _.cloneDeep(item);\n } else {\n return _.clone(item);\n }\n }\n\n sort(destination: any, key: any): any {\n return destination.sort((a: any, b: any) => {\n\n let GetValue: any;\n\n GetValue = () => {\n return 0;\n };\n if (typeof key === 'string') {\n GetValue = (obj: any) => {\n return obj[key] && obj[key].toString().toLowerCase() || '';\n };\n } else if (typeof key === 'function') {\n GetValue = (obj: any) => {\n return key(obj).toLowerCase();\n };\n }\n\n if (parseInt(GetValue(a), 10) === GetValue(a)) {\n return GetValue(a) - GetValue(b);\n } else if (GetValue(a) < GetValue(b)) {\n return -1;\n } else if (GetValue(a) > GetValue(b)) {\n return 1;\n } else {\n return 0;\n }\n });\n }\n\n isJson(str: string): boolean {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n normalizeMobile(mobile: string): string {\n if (typeof mobile === 'number') {\n const mobileNum = mobile as number;\n mobile = mobileNum.toString();\n }\n if (mobile.length === 9 && mobile.charAt(0) === '4') {\n mobile = '0' + mobile;\n }\n mobile = mobile.replace(/\\s+/g, '');\n mobile = mobile.replace(/^\\+614/, '04');\n mobile = mobile.replace(/^614/, '04');\n return mobile;\n }\n\n delete(source: any[], row: any, idx?: any): void {\n if (_.isUndefined(idx)) {\n idx = _.indexOf(source, row);\n }\n if (idx > -1) {\n source.splice(idx, 1);\n }\n }\n\n deleteByVal(source: any[], key: any, val: any): any[] | undefined {\n if (!source) {\n return;\n }\n for (let i = source.length - 1; i >= 0; i--) {\n if (source[i][key] === val) {\n source.splice(i, 1);\n }\n }\n return source;\n }\n\n addSum(nums: any): number {\n\n let output = 0;\n _.each(nums, (n) => {\n output += (parseFloat(n || 0) || 0);\n });\n\n return output;\n\n }\n\n getMonthShortName(monthNumber: number): string {\n\n const monthNames = [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',\n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ];\n\n return monthNames[monthNumber] || 'Unkown';\n\n }\n\n find(haystack: any[], key: any, needle?: any): any {\n\n if (!_.isUndefined(needle)) {\n return _.find(haystack, (row) => {\n return row[key] === needle;\n });\n } else {\n return _.find(haystack, (row) => {\n return row[key];\n });\n }\n\n }\n\n filter(haystack: any[], key: any, needle?: any): any {\n\n if (!_.isUndefined(needle)) {\n return _.filter(haystack, (row) => {\n return row[key] === needle;\n });\n } else {\n return _.filter(haystack, (row) => {\n return row[key];\n });\n }\n\n }\n\n colorIsDark(hex: string): boolean {\n\n return this.luminanceFromHex(hex) < 60;\n\n }\n\n hexToRGB(hex: string): [number, number, number] {\n\n const rgb: [number, number, number] = [0, 0, 0];\n\n hex = hex.substr(1);\n\n for (let i = 0; i < 3; i++) {\n\n rgb[i] = parseInt(hex.substr(i * 2, 2), 16);\n\n }\n\n return rgb;\n\n }\n\n rgbToHex(r: number, g: number, b: number): string {\n\n let output = '#';\n\n [r, g, b].forEach(val => {\n\n val = Math.round(val);\n\n let hexDec = val.toString(16);\n\n if (hexDec.length < 2) {\n hexDec = '0' + hexDec;\n }\n\n output += hexDec;\n\n });\n\n return output;\n\n }\n\n // Takes a hex color, with a label\n // Returns an array of all lighter and darker shades, incremented by 10%;\n\n getColorTintsAndShades(hex: string): TintType[] {\n\n const output: TintType[] = [];\n\n const rgb = this.hexToRGB(hex);\n\n const TenPercentOfSpectrum = 0.1 * 255;\n\n // First get shades\n\n let Shades = [];\n\n const NotLessThanZero = (num: number) => {\n return Math.max(num, 0);\n };\n\n const NotGreaterThan255 = (num: number) => {\n return Math.min(num, 255);\n };\n\n const RoundToNearest10 = (num: number) => {\n return Math.ceil(num / 10) * 10;\n };\n\n const RgbSum = rgb.reduce((a, b) => a + b, 0);\n const RgbAverage = RgbSum / 3;\n\n // Starting with the brightest rgb value (Math.max)\n // Continue decreasing darkness until we reach 0\n // const MaxRgbVal = Math.sum(...rgb);\n\n for (let i = TenPercentOfSpectrum; i < RgbAverage; i += TenPercentOfSpectrum) {\n const LuminancePercent = RoundToNearest10(((RgbAverage - i) / 255) * 100);\n // if (LuminancePercent > 0) {\n Shades.push(\n {\n tint: `${LuminancePercent}`,\n color: this.rgbToHex(\n NotLessThanZero(rgb[0] - i),\n NotLessThanZero(rgb[1] - i),\n NotLessThanZero(rgb[2] - i)\n )\n });\n // }\n }\n\n // Reverse to start with the darkest shades, getting lighter\n Shades = Shades.reverse();\n\n // Push shades to output\n output.push(...Shades);\n\n // Push Actual Color\n output.push({\n tint: `${RoundToNearest10((RgbAverage / 255) * 100)}`,\n color: hex\n });\n\n const Tints = [];\n\n // Starting with the darkest rgb value (Math.min)\n // Continue increasing brightness until we reach 255\n for (let i = TenPercentOfSpectrum; i < 255 - RgbAverage; i += TenPercentOfSpectrum) {\n const LuminancePercent = RoundToNearest10(((i + RgbAverage) / 255) * 100);\n Tints.push({\n tint: `${LuminancePercent}`,\n color: this.rgbToHex(\n NotGreaterThan255(rgb[0] + i),\n NotGreaterThan255(rgb[1] + i),\n NotGreaterThan255(rgb[2] + i)\n )\n });\n }\n\n // Push tints to output\n output.push(...Tints);\n\n return output;\n\n }\n\n // Take hex string, convert to RGB\n // Add luminance % (represents a percentage of 255)\n // convert back to hex & return\n addLuminance(hex: string, LumPercent: number): string {\n\n const rgb = this.hexToRGB(hex);\n\n const Negative = LumPercent < 0;\n\n LumPercent = (Math.abs(LumPercent) / 100);\n\n const LumAmount = Math.round(LumPercent * 255);\n\n const ModifiedRGB: [number, number, number] = [0, 0, 0];\n\n rgb.forEach((val, index) => {\n\n if (Negative) {\n val -= LumAmount;\n } else {\n val += LumAmount;\n }\n\n if (val < 0) {\n val = 0;\n } else if (val > 255) {\n val = 255;\n }\n\n ModifiedRGB[index] = val;\n\n });\n\n return this.rgbToHex(...ModifiedRGB);\n\n }\n\n luminanceFromHex(hex: string): number {\n\n const rgb = this.hexToRGB(hex);\n\n const sum = rgb.reduce((previous, current) => current += previous);\n\n const luminance = Math.round((sum / (255 * 3)) * 100);\n\n return luminance;\n\n }\n\n}","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-support',\n templateUrl: './support.component.html',\n styleUrls: ['./support.component.scss']\n})\nexport class SupportComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `Support ${this.utils.orgTitle}`,\n Title: 'Support ${this.utils.orgTitle}',\n Description: `Together we can establish a 21st-Century Madison College.`,\n });\n }\n\n}\n","\n\n
\n
\n\n

Together we can establish a 21st-Century Madison College.

\n\n

Donate with your card, once-off or monthly

\n\n \n
\n
\n\n
\n\n
\n\n

OR Donate via bank transfer

\n
\n \"\"\n
\n

General:
\n Account Name: Madison Missions Aust Ltd
\n BSB: 063 689
\n Account Number: 1028 0545
\n Reference: [Your Name]

\n

Canvassing:
\n Account Name: Madison Canvassing
\n BSB: 063 856
\n Account Number: 1014 0684
\n Reference: [Your Name]

\n

The Maker Heals:
\n Account Name: The Maker Heals
\n BSB: 063 689
\n Account Number: 1029 1201
\n Reference: [Your Name]

\n
\n
\n\n

Please contact us if you have any questions.

\n\n

We can also consider an interest-free or interest-bearing private loan. Contact us to discuss.

\n

Donations are not tax-deductible at this time. If you require making a tax-deductible donation, please discuss this with us.

\n\n
\n
\n \"Madison\n
\n
\n \"Eastward\n
\n
\n \"The\n
\n
\n \"Beehive\n
\n
\n\n
\n\n
\n\n\n","import { Component, OnInit, Inject, Input } from '@angular/core';\nimport { LoginDialogComponent } from 'src/app/dialogs/login-dialog/login-dialog.component';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { ChooseAvatarComponent } from 'src/app/dialogs/choose-avatar/choose-avatar.component';\n\n@Component({\n selector: 'app-login-with-provider',\n templateUrl: './login-with-provider.component.html',\n styleUrls: ['./login-with-provider.component.scss']\n})\nexport class LoginWithProviderComponent implements OnInit {\n\n authenticating = false;\n @Input() label = 'Login with';\n\n constructor(\n @Inject(WINDOW) private window: Window,\n private dialog: MatDialog,\n private utils: UtilsService,\n private auth: AuthService,\n private db: DbService,\n ) { }\n\n ngOnInit(): void {\n }\n\n openMadison(): void {\n this.dialog.open(LoginDialogComponent, {\n width: '600px',\n });\n }\n\n openFacebook(): void {\n this.openOauthProvider('fb_oauth_redirect', 'Facebook');\n }\n\n openGoogle(): void {\n this.openOauthProvider('g_oauth_redirect', 'Google');\n }\n\n openOauthProvider(path: string, title: string): void {\n\n const id = this.utils.uid();\n\n const x = this.window.innerWidth / 2;\n const y = this.window.innerHeight / 2;\n\n const width = 0.75 * this.window.innerWidth;\n const height = 0.75 * this.window.innerHeight;\n\n const ref = this.window.open(`https://db.beehive.services/${path}?ref=${id}`, `Login with ${title}`, `status=no,toolbar=no,menubar=no,\n width=${width},height=${height},top=${y - (height / 2)},left=${x - (width / 2)}`);\n\n const loop = setInterval(() => {\n if (ref !== null && ref.closed) {\n clearInterval(loop);\n this.checkAuthRef(id);\n }\n }, 500);\n\n }\n\n async checkAuthRef(ref: string): Promise {\n this.authenticating = true;\n const res = await this.db.q('startOauthSesssion', { ref }, true);\n if (res.Success) {\n localStorage.setItem('session', res.Data.SessionID);\n await this.auth.checkSession();\n this.db.AuthSession = this.auth.sessionObj;\n if (!this.auth.person?.Avatar) {\n this.pickAvatar();\n }\n }\n this.authenticating = false;\n }\n\n pickAvatar(): void {\n if (this.auth.authChecked) {\n const dialogRef = this.dialog.open(ChooseAvatarComponent, {\n width: '800px',\n });\n dialogRef.afterClosed().subscribe(res => {\n if (typeof res === 'string' && this.auth.person !== null) {\n this.auth.person.Avatar = res;\n this.db.addSchemaKey('Person', 'Avatar');\n this.db.put('Person', this.auth.person);\n }\n });\n }\n }\n\n\n\n}\n","

{{ label }}

\n
\n \n \n \n
","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'toDate' })\nexport class StringToDatePipe implements PipeTransform {\n isInt(value: any): boolean {\n if (\n !isNaN(value) &&\n parseInt(value, 10).toString() === value &&\n !isNaN(parseInt(value, 10))\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n transform(value: number | string): Date {\n if (typeof value === 'number') {\n value = value.toString();\n }\n const output = new Date(this.isInt(value) ? parseInt(value, 10) : value);\n return output;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-music-camp-photos',\n templateUrl: './music-camp-photos.component.html',\n styleUrls: ['./music-camp-photos.component.scss']\n})\nexport class MusicCampPhotosComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n imageData: Array[] = [\n ['20201106/2015-Music-Camp-043.jpg', 1920, 1440, '#2bb0c7'],\n ['20201106/2015-Music-Camp-079.jpg', 1920, 1275, '#cc3552'],\n ['20201106/2015-Music-Camp-088.jpg', 1920, 1275, '#a32b5d'],\n ['20201106/2015-Music-Camp-131.jpg', 1920, 1275, '#bb6943'],\n ['20201106/2015-Music-Camp-165.jpg', 1920, 1275, '#e5124c'],\n ['20201106/2015-Music-Camp-234.jpg', 1920, 1275, '#c13050'],\n ['20201106/2015-Music-Camp-240.jpg', 1920, 1440, '#e52261'],\n ['20201106/2015-Music-Camp-312.jpg', 1920, 1277, '#d40b1a'],\n ['20201106/2015-Music-Camp-313.jpg', 1920, 1277, '#da0b26'],\n ['20201106/2015-Music-Camp-340.jpg', 1920, 1441, '#f20830'],\n ['20201106/2015-Music-Camp-347.jpg', 1920, 993, '#cd942c'],\n ['20200903/67797586-689184321493882-6593249878577512448-o.jpg', 1875, 1248, '#01b7f6'],\n ['20201106/A-Tender-Heart-11--2-.jpg', 1920, 1080, '#d72a33'],\n ['20201106/A-Tender-Heart-12.jpg', 1920, 1080, '#589ac5'],\n ['20201106/A-Tender-Heart-13.jpg', 1920, 1080, '#4e92ce'],\n ['20201106/A-Tender-Heart-18.jpg', 1920, 1080, '#f15c5d'],\n ['20201106/A-Tender-Heart-19.jpg', 1920, 1080, '#bd3236'],\n ['20201106/A-Tender-Heart-20--2-.jpg', 1920, 1080, '#f25b5d'],\n ['20201106/Above-Rubies-Beach.jpg', 3576, 1336, '#cb9771'],\n ['20201106/ACIB-Poster-2.jpg', 1920, 1080, '#a29b38'],\n ['20201106/All-For-Christ.00-00-28-23.Still005.jpg', 1920, 1080, '#2d718e'],\n ['20201106/All-For-Christ.00-00-52-00.Still009.jpg', 1920, 1080, '#0a70aa'],\n ['20201106/All-For-Christ.00-02-11-00.Still019.jpg', 1920, 1080, '#ef3432'],\n ['20201106/All-For-Christ.00-04-00-03.Still031.jpg', 1920, 1080, '#ab7450'],\n ['20201106/All-For-Christ.00-04-35-23.Still035.jpg', 1920, 1080, '#d32a2f'],\n ['20201106/All-the-Boys.jpg', 1920, 2087, '#c4798a'],\n ['20201106/Always-Cheerful-Large-Pano-Stitch.jpg', 4958, 964, '#94ab33'],\n ['20201106/Always-Cheerful-Panorama.jpg', 2244, 642, '#cf6691'],\n ['20201106/Always-Cheerful.00-03-28-06.Still050.jpg', 1920, 1080, '#a99450'],\n ['20201106/Anywhere-Group.jpg', 1920, 1080, '#1975d9'],\n ['20201106/Behind-The-Scenes.jpg', 1920, 1080, '#af6f51'],\n ['20201106/Behold-I-Come-Pano.jpg', 1440, 276, '#8e1966'],\n ['20201106/Behold-I-Come-Poster.jpg', 1920, 1080, '#ac9450'],\n ['20201106/Bound-For-The-Land-Of-Canaan-Multicam.00-03-05-12.Still063.jpg', 1920, 1080, '#8f9037'],\n ['20201106/boys-unit-shot.jpg', 955, 293, '#9a4d30'],\n ['20201106/Boys-Unit.jpg', 2500, 2051, '#1e6bc8'],\n ['20201106/Camp-Group-Shot.jpg', 2304, 748, '#3db3cb'],\n ['20201106/Dare-to-Be-a-Daniel-drone-pano.jpg', 1449, 686, '#a20a94'],\n ['20201106/Dare-to-Be-a-Daniel-drone-pano2.jpg', 1449, 686, '#a20a93'],\n ['20201106/Dare-to-Be-a-Daniel-drone-pano3.jpg', 1449, 686, '#c8310b'],\n ['20201106/Dare-to-Be-a-Daniel-drone-pano3-26.jpg', 1449, 686, '#d12915'],\n ['20201106/Dare-to-Be-a-Daniel.jpg', 3264, 1471, '#ab13ac'],\n ['20201106/download--3-.png', 956, 271, '#c4b065'],\n ['20201106/DSC-0289.jpg', 2500, 1667, '#e49728'],\n ['20201106/DSC-0290.jpg', 2500, 1667, '#e4902a'],\n ['20201106/DSC-0360.jpg', 2500, 1667, '#c08b3d'],\n ['20201106/DSC-0374.jpg', 2500, 1667, '#c23e37'],\n ['20201106/DSC-0504.jpg', 2500, 1667, '#e4b84a'],\n ['20201106/DSC-0539.jpg', 2500, 1667, '#36acef'],\n ['20201106/DSC-0550.jpg', 2500, 1667, '#1b51af'],\n ['20201106/DSC-0555.jpg', 2500, 1667, '#0d9c9d'],\n ['20201106/DSC-0559.jpg', 2500, 1667, '#11a3b3'],\n ['20201106/DSC-0589.jpg', 2500, 1667, '#185cd7'],\n ['20201106/DSC-0844.jpg', 2500, 1667, '#b83217'],\n ['20201106/DSC-0846.jpg', 2500, 1667, '#1d5ad1'],\n ['20201106/DSC-0849.jpg', 2500, 1667, '#016acf'],\n ['20201106/DSC-0854.jpg', 2500, 1667, '#b8970d'],\n ['20201106/DSC-0877.jpg', 2500, 1667, '#506fbb'],\n ['20201106/DSC-1143.jpg', 2500, 1667, '#dda163'],\n ['20201106/DSC-1148.jpg', 2500, 1667, '#d69f62'],\n ['20201106/DSC-1364.jpg', 2500, 1667, '#0c5caa'],\n ['20201106/DSC-1369.jpg', 2500, 1667, '#1792ab'],\n ['20201106/DSC-1381.jpg', 2500, 1667, '#a1d457'],\n ['20201106/DSC-1401.jpg', 2500, 1663, '#375bac'],\n ['20201106/DSC-1425.jpg', 2500, 1667, '#2ca3f0'],\n ['20201106/DSC-1434.jpg', 2500, 1667, '#22c24f'],\n ['20201106/DSC-1449.jpg', 1667, 2500, '#91290d'],\n ['20201106/DSC-1539.jpg', 2500, 1667, '#d24993'],\n ['20201106/DSC-1618.jpg', 2500, 1667, '#8c4f0f'],\n ['20201106/DSC-1628.jpg', 2500, 1667, '#e69122'],\n ['20201106/DSC-1667.jpg', 2500, 1667, '#de1d21'],\n ['20201106/DSC-1715.jpg', 2500, 803, '#11619d'],\n ['20201106/DSC-1787.jpg', 2500, 1667, '#0b419c'],\n ['20201106/DSC-1790.jpg', 2500, 1667, '#68a0e4'],\n ['20201106/DSC-2103.jpg', 2500, 1667, '#d3182f'],\n ['20201106/DSC-2155.jpg', 2500, 1667, '#da9b3b'],\n ['20201106/DSC-2158.jpg', 1667, 2500, '#e32121'],\n ['20201106/DSC-2186.jpg', 2500, 1667, '#069bfa'],\n ['20201106/DSC-2195.jpg', 2500, 1667, '#0d59af'],\n ['20201106/DSC-2237.jpg', 2500, 1667, '#aa6b34'],\n ['20201106/DSC-2950.jpg', 2500, 1665, '#15b8e3'],\n ['20201106/DSC-2993.jpg', 2500, 1665, '#d0af0f'],\n ['20201106/DSC-3014-22.jpg', 4528, 3016, '#e35e20'],\n ['20201106/DSC-3833.jpg', 2500, 1663, '#ac3322'],\n ['20201106/DSC-4024.jpg', 2500, 1324, '#d52118'],\n ['20201106/DSC-4045.jpg', 2500, 1663, '#5773b2'],\n ['20201106/DSC-4178.jpg', 2500, 1663, '#067bf3'],\n ['20201106/DSC-4275.jpg', 2500, 1663, '#02aaea'],\n ['20201106/DSC-4353.jpg', 2500, 1663, '#00b6f7'],\n ['20201106/DSC-4374.jpg', 2500, 1663, '#ce6c18'],\n ['20201106/DSC-4465.jpg', 2500, 1663, '#00c8ff'],\n ['20201106/DSC-4601.jpg', 2500, 1663, '#deec09'],\n ['20201106/DSC-4662.jpg', 2500, 1663, '#f2534b'],\n ['20201106/DSC-4702.jpg', 2500, 1663, '#219fe3'],\n ['20201106/DSC-4719.jpg', 2500, 1663, '#c3ca4e'],\n ['20201106/DSC-4724.jpg', 2500, 1663, '#d2dd25'],\n ['20201106/DSC-4743.jpg', 2500, 1663, '#6dcff0'],\n ['20201106/DSC-4785-edit.jpg', 2500, 1663, '#0b97e5'],\n ['20201106/DSC-4830.jpg', 2500, 1663, '#0d8ffa'],\n ['20201106/DSC-4835.jpg', 2500, 1663, '#d5b632'],\n ['20201106/DSC-4907.jpg', 2500, 1663, '#d5c32d'],\n ['20201106/DSC-5353.jpg', 2500, 1663, '#d72649'],\n ['20201106/DSC-5361.jpg', 2500, 1663, '#ca2538'],\n ['20201106/DSC-5460.jpg', 2500, 1663, '#b6352b'],\n ['20201106/DSC-5483.jpg', 2500, 1663, '#dd9968'],\n ['20201106/DSC-5564.jpg', 2500, 1665, '#dca262'],\n ['20201106/DSC-5939.jpg', 2500, 1665, '#cacb2a'],\n ['20201106/DSC-6268.jpg', 2500, 1665, '#d8a711'],\n ['20201106/DSC-6275.jpg', 2500, 1665, '#d1582c'],\n ['20201106/DSC-6524.jpg', 2500, 1663, '#d5252f'],\n ['20201106/DSC-6634.jpg', 2500, 1663, '#d1a90c'],\n ['20201106/DSC-6659.jpg', 2500, 1663, '#e7b20a'],\n ['20201106/DSC-6681.jpg', 2500, 1663, '#b36717'],\n ['20201106/DSC-6814.jpg', 2442, 2500, '#b36e29'],\n ['20201106/DSC-6904.jpg', 2398, 2500, '#cf923a'],\n ['20201106/DSC-6910.jpg', 2456, 2500, '#c5762e'],\n ['20201106/DSC-7093.jpg', 2500, 1663, '#de1d2e'],\n ['20201106/DSC-7173.jpg', 2500, 1663, '#cd4b34'],\n ['20201106/DSC-7268.jpg', 2500, 1663, '#cf2a12'],\n ['20201106/DSC-7274.jpg', 2500, 1663, '#d84022'],\n ['20201106/DSC-7278.jpg', 2500, 1663, '#d03630'],\n ['20201106/DSC-7406.jpg', 2500, 1663, '#dd6521'],\n ['20201106/DSC-7773.jpg', 2500, 1663, '#b04e32'],\n ['20201106/Dsozo-Camp-2016-064.jpg', 1920, 1080, '#7394cf'],\n ['20201106/Dsozo-Camp-2016-082.jpg', 1920, 1080, '#c33a0e'],\n ['20201106/DSozo-NSW-2017-07.jpg', 2272, 1704, '#e29d29'],\n ['20201106/DSozo-NSW-2017-13-67.jpg', 5312, 1172, '#c94333'],\n ['20201106/DSozo-NSW-2017-39.jpg', 2272, 1278, '#a11617'],\n ['20201106/DSozo-WA-2018177.jpg', 2048, 1365, '#d4ac4c'],\n ['20201106/Group-Panorama-2-edit.jpg', 6000, 1841, '#31aad3'],\n ['20201106/Group-Photo--2-.jpg', 4236, 1380, '#ee3250'],\n ['20201106/Group-Photo-2.jpg', 1280, 854, '#cd2933'],\n ['20201106/Group-Photo-5a4dbceb54056.jpg', 1280, 660, '#d62738'],\n ['20201106/Group-Shot--2-.jpg', 4288, 2848, '#ce3d4e'],\n ['20201106/Id-Rather-Have-Jesus-Music-Video.00-00-20-23.Still007.png', 1920, 1080, '#c22a32'],\n ['20201106/image1.jpg', 2557, 1239, '#c4b064'],\n ['20201106/IMG-20190715-151551.jpg', 3648, 2736, '#456aa6'],\n ['20201106/IMG-6334.jpg', 2272, 1515, '#e7a22e'],\n ['20201106/IMG-E6363.jpg', 2557, 654, '#88362a'],\n ['20201106/Into-The-Woods-2.00-02-15-08.Still018.jpg', 1920, 1080, '#ea394d'],\n ['20201106/Into-The-Woods-2.00-02-36-08.Still020.jpg', 1920, 1080, '#d56358'],\n ['20201106/Into-The-Woods-2.00-03-34-22.Still029.jpg', 1920, 1080, '#ef2a38'],\n ['20201106/Into-The-Woods-2.00-06-10-06.Still010-14.jpg', 1920, 1080, '#d03439'],\n ['20201106/Ku-ring-gai-chase-group-shot.jpg', 3905, 2196, '#01cbd3'],\n ['20201106/Line-Call-1.jpg', 2500, 1664, '#b23d2f'],\n ['20201106/Love-of-God-Panorama-2-edit.jpg', 6928, 1798, '#2559a0'],\n ['20201106/MC-2018-002-Kayla-Beside-Still-Waters-24.jpg', 2500, 1663, '#93a127'],\n ['20201106/MC-2018-004-Tom-Sabbath-Sharing-23.jpg', 1664, 2500, '#c8c644'],\n ['20201106/MC-2018-005-Jylan-Sabbath-Sharing-33.jpg', 1664, 2500, '#378eca'],\n ['20201106/MC-2018-007-Tim-Tree-Lying-Down-63.jpg', 2500, 1664, '#c1c755'],\n ['20201106/MC-2018-008-Tim-Canopy-Lookout-77.jpg', 2500, 1664, '#bec637'],\n ['20201106/MC-2018-013-Group-Shot-Counsellors.jpg', 1539, 1025, '#288fcc'],\n ['20201106/MC-2018-014-Registration-1.jpg', 2500, 1663, '#609ac8'],\n ['20201106/MC-2018-029-Sam-Chef-4.jpg', 1664, 2500, '#f8cd02'],\n ['20201106/MC-2018-038-Ice-Breakers-9.jpg', 2500, 1664, '#c67606'],\n ['20201106/MC-2018-039-Ice-Breakers-10.jpg', 2500, 1663, '#c77506'],\n ['20201106/MC-2018-042-Food-3.jpg', 2500, 1664, '#cb8d38'],\n ['20201106/MC-2018-044-Singing-2.jpg', 2500, 1665, '#cf542d'],\n ['20201106/MC-2018-050-Campfire-2.jpg', 1865, 2500, '#c47033'],\n ['20201106/MC-2018-053-Boys-Unit.jpg', 2500, 2051, '#d5c817'],\n ['20201106/MC-2018-060-Bible-Study-3.jpg', 2500, 1664, '#bba14a'],\n ['20201106/MC-2018-074-Orchestra-16.jpg', 2500, 1664, '#c6b5aa'],\n ['20201106/MC-2018-078-Orchestra-4.jpg', 2500, 1664, '#d8041d'],\n ['20201106/MC-2018-120-Audio-Team.jpg', 2500, 1664, '#2b4ac1'],\n ['20201106/MC-2018-121-Singing-16.jpg', 1664, 2500, '#eb0b02'],\n ['20201106/MC-2018-123-Singing-20.jpg', 1664, 2500, '#c95b2e'],\n ['20201106/MC-2018-125-Quiet-Time.jpg', 2500, 1664, '#c51227'],\n ['20201106/MC-2018-126-Quiet-Time-1.jpg', 2500, 1664, '#8f8c13'],\n ['20201106/MC-2018-140-Workout-2.jpg', 2500, 1664, '#cabb2e'],\n ['20201106/MC-2018-141-Workout-3.jpg', 2500, 1664, '#b9c62e'],\n ['20201106/MC-2018-143-Workout-5.jpg', 2500, 1664, '#d44459'],\n ['20201106/MC-2018-148-Workshop-3.jpg', 2500, 1664, '#d22a4c'],\n ['20201106/MC-2018-168-Near-To-The-Heart-of-God-BTS-2.jpg', 2500, 1664, '#bb9849'],\n ['20201106/MC-2018-170-Near-To-The-Heart-of-God-BTS-3.jpg', 2500, 1664, '#2fcad2'],\n ['20201106/MC-2018-174-Group-Shot-1.jpg', 2500, 1664, '#269ecd'],\n ['20201106/MC-2018-176-Cabin-5.jpg', 2500, 1664, '#1597c6'],\n ['20201106/MC-2018-177-Cabin-1.jpg', 2500, 1663, '#1aa8d1'],\n ['20201106/MC-2018-178-Cabin-2.jpg', 2500, 1664, '#5476c8'],\n ['20201106/MC-2018-179-Cabin-3.jpg', 2500, 1664, '#2caed2'],\n ['20201106/MC-2018-180-Boys-Pyramid.jpg', 2050, 2500, '#4a6dbe'],\n ['20201106/MC-2018-181-Cabin-4.jpg', 2500, 1664, '#2aaacf'],\n ['20201106/MC-2018-202-Prayer-8.jpg', 2500, 1664, '#a95316'],\n ['20201106/MC-2018-203-BTS-13.jpg', 2500, 1664, '#4aacc6'],\n ['20201106/MC-2018-204-Group-Shot-4.jpg', 2500, 1664, '#31a8cf'],\n ['20201106/MC-2018-205-Group-Shot-7.jpg', 2500, 576, '#46b4ca'],\n ['20201106/MC-2018-206-Group-Shot-5.jpg', 2500, 1663, '#b7471b'],\n ['20201106/MC-2018-207-Group-Shot-Orchestra.jpg', 2246, 2500, '#cac33b'],\n ['20201106/MC-2018-209-BTS-15.jpg', 2500, 1663, '#4dbfd0'],\n ['20201106/MC-2018-210-Henry-1.jpg', 1663, 2500, '#c5160a'],\n ['20201106/MC-2018-216-BTS-1.jpg', 2500, 1664, '#2290af'],\n ['20201106/MC-2018-218-Joel-Ridgeway.jpg', 2500, 1664, '#9f2367'],\n ['20201106/MC-2018-224-Boss-Man-2.jpg', 1663, 2500, '#378cd2'],\n ['20201106/MC-2018-225-BTS-27.jpg', 2500, 1664, '#1ca0cb'],\n ['20201106/MC-2018-227-Group-Shot-6.jpg', 2500, 1545, '#c0313d'],\n ['20201106/MC-2018-231-Memorial-Concert-2.jpg', 2500, 1664, '#dd9b22'],\n ['20201106/mc2015-Panorama-Filming-Location-5-23.jpg', 1920, 564, '#cd932c'],\n ['20201106/Music-Camp-2016-052.jpg', 2304, 748, '#3db3cb'],\n ['20201106/Music-Camp-2016-091.jpg', 2272, 635, '#c98a73'],\n ['20201106/Music-Camp-2016-122.jpg', 3576, 1336, '#cb9771'],\n ['20201106/Music-Camp-2016-134.jpg', 2272, 782, '#4e5bb4'],\n ['20201106/Music-Camp-2016-145.jpg', 2272, 967, '#193886'],\n ['20201106/Music-Camp-2016-149.jpg', 2272, 1515, '#a13541'],\n ['20201106/Music-Camp-2016-166.jpg', 2272, 1515, '#314f8e'],\n ['20201106/Music-Camp-2016-177.jpg', 720, 960, '#ac523e'],\n ['20201106/Music-Camp-2016-193.jpg', 2272, 1704, '#c39776'],\n ['20201106/Music-Camp-2016-200-44.jpg', 2272, 1515, '#91ae4c'],\n ['20201106/Music-Camp-2016-206.jpg', 2272, 1515, '#87aa48'],\n ['20201106/Music-Camp-2016-229.jpg', 2272, 1282, '#2760b0'],\n ['20201106/Music-Camp-2017-050.jpg', 2500, 1667, '#923828'],\n ['20201106/Music-Camp-2017-160.jpg', 2500, 1109, '#987948'],\n ['20201106/Music-Camp-2017-169.jpg', 2500, 1318, '#9111a3'],\n ['20201106/Music-Camp-2017-170.jpg', 2500, 1318, '#3284e0'],\n ['20201106/Music-Camp-2017-173.jpg', 2500, 1873, '#cda24c'],\n ['20201106/Music-Camp-2019-386.jpg', 2500, 1324, '#d52118'],\n ['20201106/music-camp-3.jpg', 1920, 1080, '#ce8435'],\n ['20201106/music-camp-4.jpg', 1920, 1080, '#cb683e'],\n ['20201106/music-camp-5.jpg', 1920, 1080, '#3d5098'],\n ['20201106/music-camp-7.jpg', 1920, 852, '#b4985b'],\n ['20201106/Music-Camp-Morph.jpg', 2048, 540, '#bf3d3c'],\n ['20201106/Music-Camp-Production-Poster.jpg', 1866, 1400, '#8eac26'],\n ['20201106/Oh-How-I-Love-Jesus-Music-Video.00-00-02-17.Still001.png', 1920, 1080, '#31a9aa'],\n ['20201106/Oh-Love-That-Will-Not-Let-Me-Go.00-02-15-03.Still002-22.jpg', 1920, 1080, '#8e6034'],\n ['20201106/Oh-Love-That-Will-Not-Let-Me-Go.00-02-30-30.Still001.jpg', 1920, 1080, '#6a95c8'],\n ['20201106/Orchestra-1.jpg', 2500, 1663, '#3b86d0'],\n ['20201106/Orchestra-3.jpg', 1663, 2500, '#db344c'],\n ['20201106/Orchestra-7.jpg', 2500, 1664, '#305aa8'],\n ['20201106/orchestra-finale-16-9.jpg', 2140, 1204, '#31afcc'],\n ['20201106/Pano10.jpg', 2400, 500, '#bb3348'],\n ['20201106/Pano12.jpg', 2400, 500, '#d22136'],\n ['20201106/Pano22--2-.jpg', 2400, 500, '#db5960'],\n ['20201106/Pano25.jpg', 2400, 500, '#cb455e'],\n ['20201106/Pano29.jpg', 2400, 500, '#d8235b'],\n ['20201106/Pano30-81.jpg', 2400, 500, '#ce9252'],\n ['20201106/Pano32.jpg', 2400, 500, '#cd1b36'],\n ['20201106/Pano4--2-.jpg', 2400, 500, '#ad7253'],\n ['20201106/Seeking-the-Lost-Bush-Chapel.jpg', 3648, 2736, '#c33547'],\n ['20201106/The-Lord-is-Coming-Panorama-edit-69.jpg', 5424, 1164, '#2099c6'],\n ];\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Music Camp Photos',\n Title: 'Photos from Music Camp',\n Description: 'Music camp is a two-week event for young people passionate about music and growing in Christ.',\n });\n }\n\n}\n","\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from '../modules/colors';\n\n@Component({\n selector: 'app-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss']\n})\nexport class PanelComponent implements OnInit {\n\n @Input() theme: themeColorKeys = 'white';\n @Input() image = '';\n @Input() height?: string;\n @Input() padding?: string;\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n}\n","
\n\n
\n \n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-light-on-a-hill-camp-meeting',\n templateUrl: './light-on-a-hill-camp-meeting.component.html',\n styleUrls: ['./light-on-a-hill-camp-meeting.component.scss']\n})\nexport class LightOnAHillCampMeetingComponent implements OnInit {\n\n constructor(private utils: UtilsService) {\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Light on a Hill - Camp Meeting',\n Title: 'Light on a Hill - Camp Meeting',\n Description: '',\n Image: 'https://cdn2.tda.website/beehive/20201126/Light-on-a-Hill-80.jpg' + this.utils.defaultImageMetaSettings\n });\n }\n\n}\n","\n\n
\n \"Light\n
\n\n
\n
\n

Camp Meeting

\n
\n Register\n
\n \n
\n
\n event\n
January 14 - 17
\n
\n
\n place\n
Abide Wellness Retreat
19 Westleys Rd
Faulkland NSW 2422
\n
\n
\n attach_money\n
from $158/person*
\n
(*dorm accommodation & all meals)
\n
\n
\n \n
\n
\n

EXPERIENCE

\n

Ministry & business in action
Interactive workshops
Inspiring messages & music

\n
\n
\n

TOPICS incl:

\n

Ministry in the End Times
Revival and Reformation
Health Ministry - & more

\n
\n
\n

SPEAKERS incl:

\n

\n Bruce Niyibitanga
Joy Cho
Emmanuel Higgins\n

\n
\n
\n

\n

More Info

\n

Let us not forsake the assembling of ourselves together even more as we see the day approaching. This camp meeting will be a time of encouragement and revival as we seek God's will and unite in prayer.

\n

On-site accommodation is limited, but there is plenty of space for tents and caravans! There is also nearby accommodation options once on-campus facilities are full.

\n

Please share with your friends!

\n

\n \n

\n

\n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-share',\n templateUrl: './share.component.html',\n styleUrls: ['./share.component.scss']\n})\nexport class ShareComponent implements OnInit {\n\n constructor(\n @Inject(WINDOW) private window: Window,\n ) { }\n\n ngOnInit(): void {\n }\n\n shareFb(): void {\n this.open('https://www.facebook.com/sharer/sharer.php?u=https://madison.org.au/');\n }\n\n shareTwitter(): void {\n this.open('https://twitter.com/home?status=https://madison.org.au/');\n }\n\n sharePinterest(): void {\n this.open('https://pinterest.com/pin/create/button/?url=https://madison.org.au/&media=&description=');\n }\n\n shareEmail(): void {\n this.open('mailto:%20?&subject=Madison+Missions&body=https://madison.org.au/');\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","
\n

Do You Like this?

\n

🎉 Tell your friends! 👍
Help us raise awareness.

\n
\n \n \n \n \n
\n\n
","import { Component, OnInit, AfterViewInit, Inject, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport * as typeformEmbed from '@typeform/embed';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.scss']\n})\nexport class ContactUsComponent implements OnInit, AfterViewInit {\n\n backLink = '';\n isBrowser: boolean;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n private activatedRoute: ActivatedRoute,\n private utils: UtilsService,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n if (this.activatedRoute.snapshot.queryParams.back) {\n this.backLink = this.activatedRoute.snapshot.queryParams.back;\n }\n this.utils.updateMeta({\n BrowserTitle: `Contact Us - ${this.utils.orgTitle}`,\n Title: 'Contact Us',\n Description: `Contact ${this.utils.orgTitle}.`,\n });\n }\n\n ngAfterViewInit(): void {\n\n if (this.isBrowser) {\n setTimeout(() => {\n this.document.getElementById('loaderFrame')?.remove();\n }, 1500);\n const el = this.document.getElementById('form');\n if (el) {\n typeformEmbed.makeWidget(el, 'https://madisonmissions.typeform.com/to/e8RELK', {\n hideFooter: true,\n hideHeaders: true,\n opacity: 0,\n });\n }\n }\n\n }\n\n}\n","\n
\n
\n
\n
","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { PersonType, AddressType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { StripeToken, StripeCard } from 'stripe-angular';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { DonationPmtService } from 'src/app/services/donationPmt.service';\n\n@Component({\n selector: 'app-account-payment-sources',\n templateUrl: './account-payment-sources.component.html',\n styleUrls: ['./account-payment-sources.component.scss']\n})\nexport class AccountPaymentSourcesComponent implements OnInit, OnDestroy {\n\n @ViewChild('stripeCard') stripeCard!: StripeCard;\n\n Person: PersonType | null = null;\n AddPaymentSource = false;\n isProcessing = false;\n selectedAddress: AddressType | null = null;\n cardToken!: StripeToken;\n cardProcessing: any;\n stripeOptions: any = {\n hidePostalCode: true,\n };\n\n onAuthChange = () => {\n this.Person = this.auth.person;\n }\n\n constructor(\n private auth: AuthService,\n private payments: DonationPmtService,\n public snackBar: MatSnackBar,\n private db: DbService,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.auth.onStateChange(this.onAuthChange);\n this.loadAdr();\n }\n\n async loadAdr(): Promise {\n const adrs = await this.db.list('Address');\n this.selectedAddress = Array.from(adrs)[0];\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n handleStripeError(obj: any): boolean {\n if (obj.type === 'StripeCardError') {\n\n const Error = obj.raw as any;\n\n this.snackBar.open('Card Error: ' + Error.message, 'Dismiss', {\n duration: 12000,\n });\n\n return true;\n\n }\n return false;\n }\n\n async remove(card: any): Promise {\n\n if (confirm('Remove ' + card.brand + '?')) {\n this.cardProcessing[card.id] = true;\n const res = await this.payments.removeCard(card.id) as any;\n\n if (res.Person) {\n this.auth.person = res.Person as PersonType;\n this.Person = this.auth.person;\n }\n\n }\n\n }\n\n async save(): Promise {\n\n if (this.isProcessing) {\n return;\n }\n\n if (!this.selectedAddress) {\n this.snackBar.open('Please add an address to your account before adding a payment source.', 'Dismiss', {\n duration: 6000,\n });\n return;\n }\n\n this.isProcessing = true;\n\n try {\n\n let StripeAdrObj = {\n name: this.selectedAddress.name,\n address_city: this.selectedAddress.suburb,\n address_line1: this.selectedAddress.address1,\n address_line2: this.selectedAddress.address2,\n address_state: this.selectedAddress.state,\n address_zip: this.selectedAddress.postcode.toString(),\n };\n\n StripeAdrObj = this.utils.replaceValue(StripeAdrObj, null, '');\n\n const CardToken = await this.stripeCard.createToken(StripeAdrObj);\n\n if (CardToken) {\n\n const res = await this.payments.saveCard(CardToken, {\n line1: this.selectedAddress.address1,\n city: this.selectedAddress.suburb,\n line2: this.selectedAddress.address2,\n state: this.selectedAddress.state,\n country: 'AU',\n postal_code: this.selectedAddress.postcode.toString(),\n }) as any;\n\n if (!this.handleStripeError(res)) {\n\n this.auth.person = res.Person as PersonType;\n this.Person = this.auth.person;\n\n this.snackBar.open('Payment source added.', 'Dismiss', {\n duration: 6000,\n });\n\n this.AddPaymentSource = false;\n\n this.isProcessing = false;\n\n } else {\n this.isProcessing = false;\n }\n\n } else {\n\n this.isProcessing = false;\n\n this.snackBar.open('Invalid card details.', 'Dismiss', {\n duration: 6000,\n });\n\n }\n\n } catch (e) {\n\n this.isProcessing = false;\n\n if (e.message) {\n this.snackBar.open('ERROR: ' + e.message, 'Dismiss', {\n duration: 12000,\n });\n } else {\n this.snackBar.open('ERROR: Card error.', 'Dismiss', {\n duration: 12000,\n });\n }\n\n }\n\n }\n\n}\n","\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Card BrandLast 4Expires
{{ card.brand }}{{ card.last4 }}{{ card.exp_month + '/' + card.exp_year }}\n \n
\n\n
\n\n \"\"\n\n

Payment Details

\n\n \n\n
\n
\n \n
\n\n
\n
\n \n
\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from 'src/app/modules/colors';\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent implements OnInit {\n\n @Input() label!: string;\n @Input() loading = false;\n @Input() theme!: themeColorKeys;\n @Input() padding!: string;\n @Input() disabled?= false;\n @Input() border?= true;\n @Output() public click: EventEmitter = new EventEmitter();\n\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n onButtonClick(event: MouseEvent): void {\n event.stopPropagation();\n if (!this.disabled) {\n this.click.emit(event);\n }\n }\n\n}\n","","import { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatRippleModule, MatOptionModule } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatDividerModule } from '@angular/material/divider';\n\n\n@NgModule({\n imports: [\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n MatDialogModule,\n MatRippleModule,\n MatFormFieldModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatProgressBarModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n MatSlideToggleModule,\n MatDividerModule,\n ],\n exports: [\n MatButtonModule,\n MatMenuModule,\n MatIconModule,\n MatDialogModule,\n MatRippleModule,\n MatFormFieldModule,\n MatOptionModule,\n MatInputModule,\n MatSelectModule,\n MatRadioModule,\n MatProgressBarModule,\n MatButtonToggleModule,\n MatCheckboxModule,\n MatProgressSpinnerModule,\n MatSnackBarModule,\n MatSlideToggleModule,\n MatDividerModule,\n ]\n})\nexport class MaterialModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { detect } from 'detect-browser';\nimport { LoginData } from 'src/app/screens/auth/login/login.component';\nimport { SignupData } from 'src/app/screens/auth/signup/signup.component';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { DbService } from 'src/app/services/db.service';\n\n@Component({\n selector: 'app-login-dialog',\n templateUrl: './login-dialog.component.html',\n styleUrls: ['./login-dialog.component.scss']\n})\nexport class LoginDialogComponent implements OnInit {\n\n loginForm: FormGroup | null = null;\n signupForm: FormGroup | null = null;\n recoverForm: FormGroup | null = null;\n activity = false;\n hidePwd = true;\n screen: 'Login' | 'Signup' | 'Recover Password' = 'Login';\n\n constructor(\n private auth: AuthService,\n private dialogRef: MatDialogRef,\n public snackBar: MatSnackBar,\n private db: DbService,\n ) { }\n\n ngOnInit(): void {\n\n this.loginForm = new FormGroup({\n\n email: new FormControl('', [Validators.required, Validators.email]),\n\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n remember: new FormControl('*')\n\n });\n\n this.signupForm = new FormGroup({\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n });\n\n this.recoverForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.loginForm?.controls[controlName].hasError(errorName) || false;\n }\n\n public hasSignupError = (controlName: string, errorName: string) => {\n return this.signupForm?.controls[controlName].hasError(errorName) || false;\n }\n\n public hasRecoverError = (controlName: string, errorName: string) => {\n return this.recoverForm?.controls[controlName].hasError(errorName) || false;\n }\n\n async recover(value: any): Promise {\n this.activity = true;\n const Email = value.email;\n const result = detect() as any;\n await this.db.q('auth:recoverPwd', {\n Email,\n Browser: result.name,\n OS: result.os,\n });\n\n this.snackBar.open('If your email address is in the system, you will receive a password reset email.', 'Dismiss', {\n duration: 6000,\n });\n\n this.activity = false;\n }\n\n signup(data: SignupData): void {\n\n this.activity = true;\n\n this.auth.signup(data).then((response) => {\n\n this.activity = false;\n\n if (response.Success) {\n\n this.screen = 'Login';\n\n }\n\n });\n\n }\n\n async login(data: LoginData): Promise {\n\n this.activity = true;\n\n const LoginSuccess = await this.auth.login(data);\n\n this.activity = false;\n\n if (LoginSuccess) {\n\n this.dialogRef.close();\n\n }\n\n }\n\n}\n","

{{ screen }}

\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n \n Remember me on this device:\n \n for 10 minutes\n for 1 hour\n for 1 day\n for 1 week\n for 1 month\n Forever (until I logout)\n \n \n\n

\n \n

\n\n
\n Don't have an account? Sign up\n
\n
\n Forgot your password? Recover\n
\n\n
\n\n
\n\n \n \n Firstname is required\n \n\n \n \n Lastname is required\n \n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Must be at least six characters with a letter and a number.\n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Already have an account? Login\n
\n\n
\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n

\n \n

\n\n
\n Login\n
\n\n
","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-about',\n templateUrl: './about.component.html',\n styleUrls: ['./about.component.scss']\n})\nexport class AboutComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta(\n {\n BrowserTitle: 'About Us - Eastward Missions',\n Description: 'We are passionate followers of Jesus Christ and members of the Seventh-day Adventist Church. Our approach gives us opportunities to supply programs to individuals and to churches in a totally complementary manner.',\n Title: 'About Us - Eastward Missions',\n Image: `https://cdn2.tda.website/beehive/20201126/2020-11-26_181845.jpg${this.utils.defaultImageMetaSettings}`,\n }\n );\n }\n\n}\n","\n
\n
\n

About Eastward

\n

Youth ministry

\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n

About our Team

\n

Every year many young adults and parents volunteer as staff and youth leaders at Music Camp, D'Sozo Camp, Cultivate Conference and the Literature Evangelism Programs. We are indebted to you. Together and with God's help we can change \n lives.\n

\n

In addition there is a core team of individuals who make up the membership and administrative branch. All members are committed to supporting the growth of the Seventh-day Adventist Church here in Australia and abroad.

\n
\n
\n\n
\n
\n

Supporting the Church

\n

We are passionate followers of Jesus Christ and members of the Seventh-day Adventist Church. Our approach gives us opportunities to supply programs to individuals and to churches in a totally complementary manner. We seek to emulate Madison College\n and other institutions that have had a positive impact on SDA mission by working closely with local Conferences and churches to provide training and outreach opportunities.

\n

We support SDA churches through canvassing (LE) programs, health expos, musical concerts and community outreach (service projects, etc.) to help promote local churches and their ministry to their community.

\n
\n
\n \"\"\n
\n
\n\n\n
\n
\n

Administrative Team

\n
\n
\n \n
\n
\n \"\"\n
\n
\n

Emmanuel Higgins

\n

President

\n
\n
\n
\n
\n \"\"\n
\n
\n

Paul Pannekoek

\n

Treasurer

\n
\n
\n
\n
\n \"\"\n
\n
\n

Kayla Reay

\n

Secretary

\n
\n
\n
\n
\n \"\"\n
\n
\n

Andy Hopkins

\n

Committee Member

\n
\n
\n
\n
\n \"\"\n
\n
\n

Tim Hopkins

\n

Committee Member

\n
\n
\n
\n
\n \"\"\n
\n
\n

Harry Cole

\n

Committee Member

\n
\n
\n
","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, OnInit, Inject, Input } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { DOCUMENT } from '@angular/common';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { MyNotificationsComponent } from '../my-notifications/my-notifications.component';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-activity-stream',\n templateUrl: './activity-stream.component.html',\n styleUrls: ['./activity-stream.component.scss']\n})\nexport class ActivityStreamComponent implements OnInit {\n\n constructor(\n @Inject(WINDOW) private window: Window,\n @Inject(DOCUMENT) private document: Document,\n private auth: AuthService,\n private dialog: MatDialog,\n private utils: UtilsService,\n ) { }\n\n @Input() embedded!: boolean;\n\n ngOnInit(): void {\n\n if (!this.embedded) {\n this.utils.updateMeta({\n BrowserTitle: 'Activity Stream',\n Title: 'Activity Stream',\n Description: `What's happening as it happens. View the latest news, and subscribe to updates.`,\n Image: `https://cdn2.tda.website/beehive/20200902/wyCgDmkx-Madison-Infographic-4x.png?h=550&w=550&fit=crop&auto=format`,\n });\n }\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n scrollToEl(id: string, smooth: boolean = false): void {\n const el = this.document.getElementById(id) as HTMLElement;\n if (el) {\n if (this.window.scrollTo) {\n this.window.scrollTo({\n top: el.offsetTop,\n behavior: smooth ? 'smooth' : 'auto',\n });\n }\n }\n }\n\n notifications(): void {\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n autoFocus: false,\n });\n ref.afterClosed().subscribe(async () => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n}\n","\n\n\n
\n \"\"\n
\n

Activity
Stream

\n

What's happening, as it happens.

\n  \n \n
\n
\n
\n\n
\n \n
","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-login-providers-dialog',\n templateUrl: './login-providers-dialog.component.html',\n styleUrls: ['./login-providers-dialog.component.scss']\n})\nexport class LoginProvidersDialogComponent implements OnInit, OnDestroy {\n\n constructor(\n private auth: AuthService,\n private dialogRef: MatDialogRef,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n if (loggedIn) {\n this.dialogRef.close();\n }\n }\n\n ngOnInit(): void {\n this.auth.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n}\n","","import { AuthService } from './../../../services/auth.service';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\n\nexport interface SignupData {\n ID?: string;\n first: string;\n last: string;\n email: string;\n password: string;\n}\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['../login/login.component.scss', './signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n\n signupForm: FormGroup | null = null;\n hidePwd = true;\n activity = false;\n\n constructor(\n private authService: AuthService,\n private router: Router\n ) { }\n\n ngOnInit(): void {\n this.signupForm = new FormGroup({\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n });\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.signupForm?.controls[controlName].hasError(errorName) || false;\n }\n\n signup(data: SignupData): void {\n\n this.activity = true;\n\n this.authService.signup(data).then((response) => {\n\n this.activity = false;\n\n if (response.Success) {\n\n this.router.navigateByUrl('/account');\n\n }\n\n });\n\n }\n\n}\n","\n\n
\n\n\n
\n\n

Signup

\n
\n\n \n \n Firstname is required\n \n\n \n \n Lastname is required\n \n\n \n \n Email is required\n Invalid email\n \n\n \n \n \n Must be at least six characters with a letter and a number.\n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Already have an account? Login\n
\n\n
\n\n
\n
\n
\n","import { Directive, AfterContentInit, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutoFocus]'\n})\nexport class AutoFocusDirective implements AfterContentInit {\n\n @Input() public appAutoFocus!: boolean;\n\n public constructor(private el: ElementRef) { }\n\n public ngAfterContentInit(): void {\n\n if (this.appAutoFocus) {\n setTimeout(() => {\n\n this.el.nativeElement.focus();\n\n }, 500);\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-tos',\n templateUrl: './tos.component.html',\n styleUrls: ['./tos.component.scss']\n})\nexport class TosComponent {\n\n siteTitle = 'Eastward Missions';\n websiteDomain = 'www.eastward.edu.au';\n sitePhone1 = '0420 746 255';\n siteEmail = 'pr@eastward.edu.au';\n siteAddress = '19 Westleys Rd, Faulkland NSW 2422';\n\n\n}\n","\n\n

Terms of Service

\n\n

In General

\n\n

{{ siteTitle }} ({{ websiteDomain}}) owns and operate this Website.  This document governs your relationship with {{ websiteDomain}} (“Website”). Access to and use of this Website and the products and services available\n through this Website (collectively, the "Services") are subject to the following terms, conditions and notices (the "Terms of Service"). By using the Services, you are agreeing to all of the Terms of Service, as may be updated\n by us from time to time. You should check this page regularly to take notice of any changes we may have made to the Terms of Service.

\n\n

 

\n\n

Access to this Website is permitted on a temporary basis, and we reserve the right to withdraw or amend the Services without notice. We will not be liable if for any reason this Website is unavailable at any time or for any period. From time to time,\n we may restrict access to some parts or all of this Website.

\n\n

This Website may contain links to other websites (the "Linked Sites"), which are not operated by {{ siteTitle }}. {{ siteTitle }} has no control over the Linked Sites and accepts no responsibility for them or for any loss or damage that\n may arise from your use of them. Your use of the Linked Sites will be subject to the terms of use and service contained within each such site.

\n\n

 

\n\n

Privacy Policy

\n\n

Our privacy policy, which sets out how we will use your information, can be found here: Privacy Policy. By using this Website, you consent to the processing described therein and warrant that all data provided by you is accurate.

\n\n

 

\n\n

Prohibitions

\n\n

You must not misuse this Website. You will not: commit or encourage a criminal offense; transmit or distribute a virus, trojan, worm, logic bomb or any other material which is malicious, technologically harmful, in breach of confidence or in any way\n offensive or obscene; hack into any aspect of the Service; corrupt data; cause annoyance to other users; infringe upon the rights of any other person's proprietary rights; send any unsolicited advertising or promotional material, commonly\n referred to as "spam"; or attempt to affect the performance or functionality of any computer facilities of or accessed through this Website. Breaching this provision would constitute a criminal offense and {{ siteTitle }} will report\n any such breach to the relevant law enforcement authorities and disclose your identity to them.

\n\n

 

\n\n

We will not be liable for any loss or damage caused by a distributed denial-of-service attack, viruses or other technologically harmful material that may infect your computer equipment, computer programs, data or other proprietary material due to\n your use of this Website or to your downloading of any material posted on it, or on any website linked to it.

\n\n

 

\n\n

Intellectual Property, Software and Content

\n\n

The intellectual property rights in all software and content (including photographic images) made available to you on or through this Website remains the property of {{ siteTitle }} or its licensors and are protected by copyright laws and treaties\n around the world. All such rights are reserved by {{ siteTitle }} and its licensors. You may store, print and display the content supplied solely for your own personal use. You are not permitted to publish, manipulate, distribute or otherwise\n reproduce, in any format, any of the content or copies of the content supplied to you or which appears on this Website nor may you use any such content in connection with any business or commercial enterprise.

\n\n

 

\n\n

Terms of Sale

\n\n

By placing an order you are offering to purchase a product, service or subscription on and subject to the following terms and conditions. All orders are subject to availability and confirmation of the order price.

\n\n

Dispatch times may vary according to availability and subject to any delays resulting from traffic delays or force majeure for which we will not be responsible. 

\n\n

Delivery Terms

\n\n

Our best reasonable efforts will be made to deliver your service/order according to the selected delivery time. However depending on order volumes your delivery may be within a 30 minute window either side of your chosen time (60 minute total window, 30 minutes each side of chosen time). We cannot guarantee a specific delivery time, and shall not be liable for any damages resulting from different delivery time(s).

\n\n

 

\n\n

In order to contract with {{ siteTitle }} you must be over 18 years of age and possess a valid credit or debit card issued by a bank acceptable to us. {{ siteTitle }} retains the right to refuse any request made by you. If your order is accepted we\n will inform you by email and we will confirm the identity of the party which you have contracted with. This will usually be {{ siteTitle }} or may in some cases be a third party. Where a contract is made with a third party, {{ siteTitle }}\n is not acting as either agent or principal and the contract is made between yourself and that third party and will be subject to the terms of sale which they supply you. When placing an order you undertake that all details you provide to us are\n true and accurate, that you are an authorized user of the credit or debit card used to place your order and that there are sufficient funds to cover the cost of the goods. The cost of foreign products and services may fluctuate. All prices advertised\n are subject to such changes.

\n\n

 

\n\n

(a) Our Contract 

\n\n

When you place an order, you will receive an acknowledgement e-mail confirming receipt of your order: this email will only be an acknowledgement and will not constitute acceptance of your order. A contract between us will not be formed until we send\n you confirmation by e-mail that the goods which you ordered have been dispatched to you. Only those goods listed in the confirmation e-mail sent at the time of dispatch will be included in the contract formed.

\n\n

 

\n\n

(b) Pricing and Availability

\n\n

Whilst we try and ensure that all details, descriptions and prices which appear on this Website are accurate, errors may occur. If we discover an error in the price of any goods which you have ordered we will inform you of this as soon as possible\n and give you the option of reconfirming your order at the correct price or cancelling it. If we are unable to contact you we will treat the order as cancelled. If you cancel and you have already paid for the goods, you will receive a full refund.

\n\n

Delivery costs will be charged in addition; such additional charges are clearly displayed where applicable and included in the 'Total Cost'.

\n\n

 

\n\n

(c) Payment 

\n\n

Upon receiving your order we carry out a standard authorization check on your payment card to ensure there are sufficient funds to fulfil the transaction. Your card will be debited upon authorisation being received. The monies received upon the debiting\n of your card shall be treated as a deposit against the value of the goods you wish to purchase. Once the goods have been despatched and you have been sent a confirmation email the monies paid as a deposit shall be used as consideration for the\n value of goods you have purchased as listed in the confirmation email.

\n\n

 

\n\n

Disclaimer of Liability

\n\n

The material displayed on this Website is provided without any guarantees, conditions or warranties as to its accuracy. Unless expressly stated to the contrary to the fullest extent permitted by law {{ siteTitle }} and its suppliers, content providers\n and advertisers hereby expressly exclude all conditions, warranties and other terms which might otherwise be implied by statute, common law or the law of equity and shall not be liable for any damages whatsoever, including but without limitation\n to any direct, indirect, special, consequential, punitive or incidental damages, or damages for loss of use, profits, data or other intangibles, damage to goodwill or reputation, or the cost of procurement of substitute goods and services, arising\n out of or related to the use, inability to use, performance or failures of this Website or the Linked Sites and any materials posted thereon, irrespective of whether such damages were foreseeable or arise in contract, tort, equity, restitution,\n by statute, at common law or otherwise. This does not affect {{ siteTitle }}'s liability for death or personal injury arising from its negligence, fraudulent misrepresentation, misrepresentation as to a fundamental matter or any other liability\n which cannot be excluded or limited under applicable law.

\n\n

 

\n\n

Linking to this Website

\n\n

You may link to our home page, provided you do so in a way that is fair and legal and does not damage our reputation or take advantage of it, but you must not establish a link in such a way as to suggest any form of association, approval or endorsement\n on our part where none exists. You must not establish a link from any website that is not owned by you. This Website must not be framed on any other site, nor may you create a link to any part of this Website other than the home page. We reserve\n the right to withdraw linking permission without notice.

\n\n

 

\n\n

Disclaimer as to ownership of trade marks, images of personalities and third party copyright

\n\n

Except where expressly stated to the contrary all persons (including their names and images), third party trade marks and content, services and/or locations featured on this Website are in no way associated, linked or affiliated with {{ siteTitle\n }} and you should not rely on the existence of such a connection or affiliation. Any trade marks/names featured on this Website are owned by the respective trade mark owners. Where a trade mark or brand name is referred to it is used solely to\n describe or identify the products and services and is in no way an assertion that such products or services are endorsed by or connected to {{ siteTitle }}.

\n\n

 

\n\n

Indemnity

\n\n

You agree to indemnify, defend and hold harmless {{ siteTitle }}, its directors, officers, employees, consultants, agents, and affiliates, from any and all third party claims, liability, damages and/or costs (including, but not limited to, legal fees)\n arising from your use this Website, products, services or your breach of the Terms of Service.

\n\n

 

\n\n

Variation

\n\n

{{ siteTitle }} shall have the right in its absolute discretion at any time and without notice to amend, remove or vary the Services and/or any page of this Website.

\n\n

 

\n\n

Invalidity

\n\n

If any part of the Terms of Service is unenforceable (including any provision in which we exclude our liability to you) the enforceability of any other part of the Terms of Service will not be affected all other clauses remaining in full force and\n effect. So far as possible where any clause/sub-clause or part of a clause/sub-clause can be severed to render the remaining part valid, the clause shall be interpreted accordingly. Alternatively, you agree that the clause shall be rectified and\n interpreted in such a way that closely resembles the original meaning of the clause /sub-clause as is permitted by law.

\n\n

 

\n\n

Complaints

\n\n

We operate a complaints handling procedure which we will use to try to resolve disputes when they first arise, please let us know if you have any complaints or comments.

\n\n

 

\n\n

Waiver

\n\n

If you breach these conditions and we take no action, we will still be entitled to use our rights and remedies in any other situation where you breach these conditions.

\n\n

 

\n\n

Entire Agreement

\n\n

The above Terms of Service constitute the entire agreement of the parties and supersede any and all preceding and contemporaneous agreements between you and {{ siteTitle }}. Any waiver of any provision of the Terms of Service will be effective only\n if in writing and signed by a Director of {{ siteTitle }}.

\n\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { logging } from 'protractor';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { InvoiceRowType, InvoiceType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\n\n@Component({\n selector: 'app-view-receipt',\n templateUrl: './view-receipt.component.html',\n styleUrls: ['./view-receipt.component.scss']\n})\nexport class ViewReceiptComponent implements OnInit, OnDestroy {\n\n constructor(\n private auth: AuthService,\n private db: DbService,\n private route: ActivatedRoute,\n ) { }\n\n id = '';\n Inv: InvoiceType | null = null;\n Rows: InvoiceRowType[] = [];\n authenticated = false;\n\n onAuthChange = (loggedIn: boolean) => {\n console.log('auth state', loggedIn);\n this.authenticated = loggedIn;\n if (loggedIn) {\n this.load();\n }\n }\n\n ngOnInit(): void {\n this.auth.onStateChange(this.onAuthChange);\n this.route.queryParamMap.subscribe(map => {\n this.id = map.get('id') || '';\n if (this.authenticated) {\n this.load();\n }\n });\n this.load();\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n async load(): Promise {\n\n if (this.auth.authChecked) {\n\n const res1 = await this.db.query('Invoice', 'InvoiceID', this.id);\n\n this.Inv = Array.from(res1)[0] as InvoiceType;\n\n const res2 = await this.db.query('InvoiceRow', 'Invoice', this.id);\n\n this.Rows = Array.from(res2);\n\n this.Rows.sort((a, b) => {\n return (a.Sort || 0) - (b.Sort || 0);\n });\n\n }\n\n }\n\n}\n","\n\n
\n \n
\n\n
\n
\n
\n
\n
\n Receipt #{{ Inv.InvoiceID }}
{{ Inv.createdAt | date:'mediumDate' }}\n
\n
\n
\n \n
\n
\n
\n
\n

Customer Details

\n
\n {{ Inv.Address.name }}
{{ Inv.Address.mobile }}
{{ Inv.Address.address1 }}
\n {{ Inv.Address.address2 }}
{{ Inv.Address.suburb }} {{ Inv.Address.postcode }} {{ Inv.Address.state }}\n
\n
\n {{ Inv.OwnerObj?.First }} {{ Inv.OwnerObj?.Last }}
<{{ Inv.OwnerObj?.Email }}>\n
\n
\n
\n

Payment to

\n
\n Madison Missions
ABN: 93 637 957 085
19 Westleys Rd
Faulkland NSW 2422
mail@madison.org.au
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Description

\n
\n

Price

\n
{{ row.Description }}{{ row.Amount ? (row.Amount | currency) : '' }}
TOTAL:{{ Inv.Total | currency }}
GST:{{ Inv.Tax | currency }}
\n
\n
\n
Status: {{ Inv.Status }}
\n
Paid by {{ Inv.PaymentSource?.brand }} ending in {{ Inv.PaymentSource?.last4 }}
\n
\n
\n
\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-watch-story',\n templateUrl: './watch-story.component.html',\n styleUrls: ['./watch-story.component.scss']\n})\nexport class WatchStoryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n
\n \n
","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-view-post',\n templateUrl: './view-post.component.html',\n styleUrls: ['./view-post.component.scss']\n})\nexport class ViewPostComponent implements OnInit {\n\n loaded = false;\n post: MadisonBlogPostType | null = null;\n\n constructor(\n private route: ActivatedRoute,\n private db: DbService,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.load();\n }\n\n getPostImage(post: MadisonBlogPostType): string {\n\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=1200&h=700&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n\n const vid = post.Videos[0];\n\n if (vid && vid.MuxStatus === 'ready' && vid.PlaybackIDs) {\n image = 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=500';\n } else {\n image = 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=1200&h=700&fit=crop&crop=faces';\n }\n\n }\n\n return image;\n }\n\n async load(): Promise {\n this.route.params.subscribe(async params => {\n if (params.id) {\n const post: MadisonBlogPostType = await this.db.get('MadisonBlogPost', params.id);\n this.loaded = true;\n this.post = post;\n\n this.utils.updateMeta({\n BrowserTitle: post.Title + ' - news post',\n Title: post.Title || 'Untitled',\n Description: post.Content || '',\n Image: this.getPostImage(post),\n });\n\n }\n });\n }\n\n}\n","
\n \n
\n\n
\n \n
","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-eastward-header-nav',\n templateUrl: './eastward-header-nav.component.html',\n styleUrls: ['./eastward-header-nav.component.scss']\n})\nexport class EastwardHeaderNavComponent implements OnInit {\n\n constructor() { }\n\n @Input() simple = false;\n\n ngOnInit(): void {\n }\n\n}\n","\"Eastward\n\nHome\nNews\nAbout\nContact\nSupport","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n\n IsAuthenticated = false;\n IsTopAdmin = false;\n\n onAuthChange = (AuthState: boolean) => {\n this.IsAuthenticated = AuthState;\n this.IsTopAdmin = this.authService.isTopAdmin();\n }\n\n constructor(\n private authService: AuthService,\n private router: Router,\n ) { }\n\n ngOnInit(): void {\n this.authService.onStateChange(this.onAuthChange);\n }\n\n ngOnDestroy(): void {\n this.authService.removeStateChangeCallback(this.onAuthChange);\n }\n\n logout(): void {\n this.authService.logout();\n this.router.navigateByUrl('');\n }\n\n\n}\n","
\n
\n
\n
\n\n
\n
\n \n
\n

\n Madison Missions Australia Ltd.
19 Westleys Rd
Faulkland NSW 2422\n

\n

Ph: 0490 364 018

\n
\n
\n

\n © 2020 Madison Missions Australia Ltd.   |  
ABN: 93 637 957 085   |   Address: 19 Westleys Rd, Faulkland NSW 2422\n

\n
","import { Component, OnInit, Inject, OnDestroy, ViewChild, ElementRef, AfterViewInit, Input, Optional } from '@angular/core';\nimport { MadisonBlogPostType, CategoryMeta, setTimeout$ } from 'src/app/services/DataStore';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MyNotificationsComponent } from 'src/app/screens/my-notifications/my-notifications.component';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\nimport { OpenPostImageComponent } from '../open-post-image/open-post-image.component';\nimport { Subscription } from 'rxjs';\nimport * as Hls from 'hls.js';\n\n@Component({\n selector: 'app-news-overlay',\n templateUrl: './news-overlay.component.html',\n styleUrls: ['./news-overlay.component.scss']\n})\nexport class NewsOverlayComponent implements OnInit, OnDestroy, AfterViewInit {\n\n imgSettings = '?h=1080&w=1080&auto=format&q=10&crop=faces';\n mouseMoveEvID = '';\n keypressEvID = '';\n settingTimeout = false;\n lastSentActivity = 0;\n sendActivityInterval = 1000 * 30; // 30 seconds\n categoryMeta = CategoryMeta;\n imageDialog: MatDialogRef | null = null;\n routerSub: Subscription | null = null;\n isOverlay = true;\n\n basePath = '/news-post/';\n\n @ViewChild('video', { static: false }) videoEl!: ElementRef;\n @ViewChild('html', { static: false }) HtmlContentEl!: ElementRef;\n @Input() postObj!: MadisonBlogPostType;\n\n constructor(\n @Optional() @Inject(MAT_DIALOG_DATA) public post: MadisonBlogPostType,\n @Optional() public dialogRef: MatDialogRef,\n private db: DbService,\n private utils: UtilsService,\n private auth: AuthService,\n private dialog: MatDialog,\n private route: ActivatedRoute,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n ) {\n }\n\n ngAfterViewInit(): void {\n if (\n typeof this.post.Videos !== 'undefined' &&\n this.post.Videos &&\n typeof this.post.Videos[0] !== 'undefined'\n ) {\n const video = this.post.Videos[0];\n if (typeof video.PlaybackIDs !== 'undefined') {\n const VideoEl = this.videoEl.nativeElement as HTMLVideoElement;\n const playbackId = video.PlaybackIDs[0].id;\n const url = `https://stream.mux.com/${playbackId}.m3u8`;\n // Let native HLS support handle it if possible\n if (VideoEl.canPlayType && VideoEl.canPlayType('application/vnd.apple.mpegurl')) {\n VideoEl.src = url;\n VideoEl.play();\n } else if (Hls.isSupported && Hls.isSupported()) {\n // HLS.js-specific setup code\n const hls = new Hls();\n hls.loadSource(url);\n hls.attachMedia(VideoEl);\n VideoEl.play();\n }\n }\n }\n }\n\n ngOnInit(): void {\n\n if (!this.post) {\n this.post = this.postObj;\n this.isOverlay = false;\n this.basePath = '/view-post/';\n } else {\n this.basePath = this.router.url.split('news-post/')[0] + 'news-post/';\n }\n\n this.db.q('incrementBlogView', { id: this.post.ID });\n\n if (typeof this.post.ID !== 'undefined') {\n this.db.get('MadisonBlogPost', this.post.ID).then(post => {\n this.post = post;\n if (this.post.ContentHTML) {\n const el = this.HtmlContentEl.nativeElement as HTMLDivElement;\n el.innerHTML = this.post.ContentHTML;\n }\n });\n }\n\n this.mouseMoveEvID = this.utils.WhenEventHappens('mousemove', () => {\n this.setTimeout();\n });\n this.keypressEvID = this.utils.WhenEventHappens('keypress', () => {\n this.setTimeout();\n });\n\n this.route.queryParamMap.subscribe(val => {\n const img = val.get('img');\n if (!img && this.imageDialog) {\n this.imageDialog.close();\n this.imageDialog = null;\n } else if (img) {\n this.openImageDialog(img);\n }\n });\n\n if (this.isOverlay) {\n this.routerSub = this.router.events.subscribe((val) => {\n // see also\n if (val instanceof NavigationEnd && !val.url.includes(this.basePath)) {\n this.dialogRef.close();\n }\n });\n }\n }\n\n closeD(): void {\n if (this.isOverlay) {\n this.dialogRef.close();\n } else {\n this.router.navigateByUrl('/all-posts');\n }\n }\n\n openImageDialog(image: string): void {\n this.imageDialog = this.dialog.open(\n OpenPostImageComponent,\n {\n data: image,\n maxWidth: '100vw',\n maxHeight: '100vh',\n height: '100%',\n width: '100%',\n panelClass: ['full-screen', 'transparent-full']\n }\n );\n this.imageDialog.afterClosed().subscribe(() => {\n this.router.navigateByUrl(\n this.basePath + this.post.ID,\n { replaceUrl: true, }\n );\n });\n }\n\n ngOnDestroy(): void {\n this.utils.RemoveEventCallback('mousemove', this.mouseMoveEvID);\n this.utils.RemoveEventCallback('keypress', this.keypressEvID);\n if (this.isOverlay && this.routerSub !== null) {\n this.routerSub.unsubscribe();\n }\n }\n\n setTimeout(): void {\n if (this.auth.authChecked) {\n if (!this.settingTimeout) {\n this.settingTimeout = true;\n setTimeout$(() => { this.onActivity(); }, 1000);\n }\n }\n }\n\n onActivity(): void {\n this.settingTimeout = false;\n if (this.auth.authChecked) {\n const now = (new Date()).getTime();\n if (!this.lastSentActivity || now > this.lastSentActivity + this.sendActivityInterval) {\n this.lastSentActivity = now;\n this.db.q('blogActivity', {\n id: this.post.ID,\n });\n }\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n notificationPrefs(): void {\n\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n autoFocus: false,\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n cta(post: MadisonBlogPostType): void {\n this.window.open(post.CallToActionLink);\n }\n\n encodeUri(str: string): string {\n return encodeURIComponent(str);\n }\n\n}\n","
\n \n \"\"\n \n
\n\n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{{ post.Title }}

\n \n
\n {{ post.Content?.trim() }}\n
\n
\n
\n \n
\n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(public auth: AuthService, public router: Router) { }\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (!this.auth.hasSessionValue()) {\n this.router.navigate(['login'], { queryParams: { return: state.url } });\n return false;\n }\n return true;\n }\n}\n\n@Injectable()\nexport class AdminAuthGuardService implements CanActivate {\n constructor(public auth: AuthService, public router: Router) { }\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\n if (!this.auth.getSessionValue() || !this.auth.person) {\n await this.auth.checkSession();\n }\n if (!this.auth.isTopAdmin()) {\n this.router.navigate(['login'], { queryParams: { return: state.url } });\n return false;\n }\n return true;\n }\n}\n","import { Component, OnInit, Inject, AfterViewInit, ViewChild, ElementRef, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport * as typeformEmbed from '@typeform/embed';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'app-subscribe',\n templateUrl: './subscribe.component.html',\n styleUrls: ['./subscribe.component.scss']\n})\nexport class SubscribeComponent implements OnInit, AfterViewInit {\n\n @ViewChild('form') div!: ElementRef;\n isBrowser: boolean;\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n }\n\n ngAfterViewInit(): void {\n\n if (this.isBrowser) {\n\n typeformEmbed.makeWidget(this.div.nativeElement, 'https://madisonmissions.typeform.com/to/lf2tm9', {\n hideFooter: true,\n hideHeaders: true,\n opacity: 0,\n });\n\n }\n\n }\n\n}\n","
","import { Component, OnInit, Input, Inject, OnDestroy } from '@angular/core';\nimport { CallResponse, DbService } from 'src/app/services/db.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ChooseAvatarComponent } from 'src/app/dialogs/choose-avatar/choose-avatar.component';\nimport { BlogCommentType, BlogCommentsFor, BlogLikeType, DataStore, MadisonBlogPostType, setTimeout$ } from 'src/app/services/DataStore';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { ConfirmationDialogComponent } from 'src/app/dialogs/confirmation-dialog/confirmation-dialog.component';\nimport { DOCUMENT } from '@angular/common';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { PromptComponent } from 'src/app/dialogs/prompt/prompt.component';\nimport { ActivatedRoute } from '@angular/router';\n\ninterface NestedComment extends BlogCommentType {\n Replies?: BlogCommentType[];\n}\n\ninterface TypingIndicator {\n Comment: string;\n Post: string;\n Owner: string;\n ID: string;\n Type: string;\n Avatar: string;\n}\n\n@Component({\n selector: 'app-comments',\n templateUrl: './comments.component.html',\n styleUrls: ['./comments.component.scss']\n})\nexport class CommentsComponent implements OnInit, OnDestroy {\n\n @Input() for!: BlogCommentsFor;\n\n sort = 'newest';\n authenticating = false;\n comment = '';\n isPostingComment = false;\n showReplyBox: { [id: string]: boolean } = {};\n totalNum = 0;\n\n commentMenuIsOwner = false;\n currentContexComment: NestedComment | null = null;\n\n defaultAvatar = 'https://cdn2.tda.website/beehive/20200826/adult-2221018.svg';\n\n Comments: NestedComment[] = [];\n\n authorNames: string[] = [];\n mentionIsopen = false;\n socket: WebSocket | null = null;\n typingIndicatorTimeout: NodeJS.Timeout | null = null;\n typingIndicatorsNow: { [commentID: string]: TypingIndicator[] } = {};\n\n CommentToHighlight: string | null = null;\n\n tabIndex = 0;\n\n logout = () => this.auth.logout();\n\n constructor(\n public auth: AuthService,\n public db: DbService,\n private dialog: MatDialog,\n @Inject(DOCUMENT) private document: Document,\n private utils: UtilsService,\n private route: ActivatedRoute,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n\n if (this.socket) {\n this.socket.close();\n }\n\n if (loggedIn) {\n\n if (!this.auth.person?.Avatar) {\n this.pickAvatar();\n }\n\n // BlogCommentType|TypingIndicator\n this.socket = this.db.Subscribe(['BlogComment', 'TypingIndicator'], (comment) => {\n\n if (comment.Key === this.for.Key) {\n comment = comment as BlogCommentType;\n if (comment.ParentComment) {\n const ParentComment = DataStore.singletons[comment.ParentComment] as NestedComment;\n if (ParentComment) {\n ParentComment.Replies = ParentComment.Replies || [];\n if (!ParentComment.Replies.includes(comment) && comment.Owner !== this.auth.person?.ID) {\n ParentComment.Replies.push(comment);\n ParentComment.Replies.sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n }\n } else {\n if (!this.Comments.includes(comment) && comment.Owner !== this.auth.person?.ID) {\n this.Comments.push(comment);\n this.Comments.sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n }\n } else if (comment.Type === 'ti') {\n const indicator = comment as TypingIndicator;\n if (indicator.Owner !== this.auth.person?.ID && indicator.Post === this.for.Key) {\n const key = indicator.Comment || '_';\n this.typingIndicatorsNow[key] = this.typingIndicatorsNow[key] || [];\n for (const i of [...this.typingIndicatorsNow[key]]) {\n if (i.Owner === indicator.Owner) {\n this.utils.delete(this.typingIndicatorsNow[key], i);\n }\n }\n this.typingIndicatorsNow[key].push(indicator);\n setTimeout$(() => {\n this.utils.delete(this.typingIndicatorsNow[key], indicator);\n }, 2500);\n }\n }\n });\n }\n }\n\n ngOnInit(): void {\n this.loadComments();\n\n this.auth.onStateChange(this.onAuthChange);\n\n this.route.queryParamMap.subscribe(map => {\n const commentID = map.get('comment');\n if (commentID) {\n this.CommentToHighlight = commentID;\n }\n });\n\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n if (this.socket) {\n this.socket.close();\n }\n }\n\n mentionOpened(): void {\n this.mentionIsopen = true;\n }\n\n mentionClosed(): void {\n setTimeout$(() => {\n this.mentionIsopen = false;\n }, 0);\n }\n\n checkCommentMenu(c: BlogCommentType): void {\n this.commentMenuIsOwner = this.auth.isTopAdmin() || this.auth.person?.ID === c.Owner;\n this.currentContexComment = c;\n }\n\n async report(): Promise {\n const ref = this.dialog.open(ConfirmationDialogComponent, {\n data: 'Report this comment to moderators?',\n });\n\n ref.afterClosed().subscribe(async yes => {\n if (yes) {\n await this.db.q('reportComment', {\n comment: this.currentContexComment?.ID,\n });\n }\n });\n }\n\n edit(): void {\n const ref = this.dialog.open(PromptComponent, {\n data: {\n label: 'Edit comment',\n value: this.currentContexComment?.TXT,\n multiLine: true,\n },\n width: '500px',\n });\n\n ref.afterClosed().subscribe(val => {\n if (val && this.currentContexComment !== null) {\n this.currentContexComment.TXT = val;\n this.db.put(this.currentContexComment);\n }\n });\n }\n\n delete(): void {\n const ref = this.dialog.open(ConfirmationDialogComponent, {\n data: 'Delete this comment?',\n });\n\n ref.afterClosed().subscribe(yes => {\n if (yes) {\n if (this.currentContexComment?.Replies && this.currentContexComment.Replies.length) {\n\n this.currentContexComment.Deleted = 'true';\n this.currentContexComment.TXT = '(deleted)';\n this.db.put(this.currentContexComment);\n\n } else {\n\n this.db.RemoveFromDataStore(this.currentContexComment);\n this.db.q('deleteBlogComment', {\n comment: this.currentContexComment?.ID,\n });\n const Post = DataStore.singletons[this.for.Key] as MadisonBlogPostType;\n Post.Comments = Post.Comments || 0;\n Post.Comments--;\n this.totalNum--;\n\n if (this.currentContexComment?.ParentComment) {\n for (const c of this.Comments) {\n if (c.ID === this.currentContexComment.ParentComment && typeof c.Replies !== 'undefined') {\n this.utils.delete(c.Replies, this.currentContexComment);\n break;\n }\n }\n } else {\n this.utils.delete(this.Comments, this.currentContexComment);\n }\n }\n }\n });\n }\n\n async loadComments(): Promise {\n if (this.for.for === 'blog') {\n const Comments: NestedComment[] = Array.from(\n await this.db.query('BlogComment', 'Key', this.for.Key, false, 0)\n ) || [];\n this.totalNum = Comments.length;\n const commentIDs: string[] = [];\n const replies: { [id: string]: NestedComment[] } = {};\n for (const reply of Comments) {\n if (typeof reply.ID !== 'undefined') {\n commentIDs.push(reply.ID);\n replies[(reply.ParentComment || '_')] = replies[(reply.ParentComment || '_')] || [];\n replies[(reply.ParentComment || '_')].push(reply);\n }\n }\n for (const comment of Comments) {\n if (typeof comment.ID !== 'undefined' && replies[comment.ID]) {\n comment.Replies = replies[comment.ID];\n }\n }\n\n for (const key of Object.keys(replies)) {\n replies[key].sort((a, b) => {\n return a.Time - b.Time;\n });\n }\n\n if (replies._) {\n this.Comments = replies._;\n }\n\n this.setTabIndexes(this.Comments, 10);\n\n const OwnerIDs: string[] = [...new Set(Comments.map(o => o.Owner || ''))];\n let Owners = (await this.db.q('getCommentAuthors', { Owners: JSON.stringify(OwnerIDs) })).Data;\n if (Owners === 'null') {\n Owners = [];\n }\n\n for (const o of Owners) {\n this.db.authors[o.ID] = o;\n if (!this.authorNames.includes(o.First + o.Last)) {\n this.authorNames.push(o.First + o.Last);\n }\n }\n this.loadLikes();\n }\n }\n\n setTabIndexes(comments: NestedComment[], index: number): number {\n for (const c of comments) {\n c.TabIndex = index;\n index++;\n if (c.Replies) {\n index = this.setTabIndexes(c.Replies, index);\n }\n }\n return index;\n }\n\n checkKey(ev: KeyboardEvent): void {\n if (ev.key === 'Enter' && !ev.shiftKey && !this.mentionIsopen) {\n ev.preventDefault();\n if (this.auth.getSessionValue()) {\n this.postComment();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.postComment();\n }\n });\n }\n }\n }\n\n checkReplyKey(ev: KeyboardEvent, c: BlogCommentType): void {\n if (ev.key === 'Enter' && !ev.shiftKey && !this.mentionIsopen) {\n const v = (ev.target as HTMLInputElement).value;\n ev.preventDefault();\n if (this.auth.getSessionValue()) {\n this.postReply(c, v);\n (ev.target as HTMLInputElement).value = '';\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.postReply(c, v);\n (ev.target as HTMLInputElement).value = '';\n }\n });\n }\n }\n this.sendTypingIndicator(c);\n }\n\n sendTypingIndicator(c?: BlogCommentType): void {\n if (!this.typingIndicatorTimeout) {\n this.typingIndicatorTimeout = setTimeout(() => {\n if (this.auth.authChecked) {\n\n const indicator: TypingIndicator = {\n Comment: c?.ID || '',\n Post: this.for.Key,\n Owner: this.auth.person?.ID || '',\n ID: this.utils.uid(),\n Type: 'ti',\n Avatar: this.auth.person?.Avatar || this.defaultAvatar,\n };\n\n this.db.q('blogTypingIndicator', {\n obj: JSON.stringify(indicator),\n });\n }\n this.typingIndicatorTimeout = null;\n }, 1500);\n }\n }\n\n async postReply(c: NestedComment, value: string): Promise {\n if (value.trim() !== '') {\n const comment: BlogCommentType = {\n ID: this.utils.uid(),\n Key: this.for.Key,\n Time: (new Date()).getTime(),\n TXT: value,\n ParentComment: c.ID,\n };\n if (this.auth.person) {\n this.db.authors[this.auth.person?.ID || ''] = this.auth.person;\n }\n c.Replies = c.Replies || [];\n c.Replies.push(comment);\n await this.writeComment(comment);\n }\n }\n\n async postComment(): Promise {\n if (this.comment.trim() !== '') {\n const comment: BlogCommentType = {\n ID: this.utils.uid(),\n Key: this.for.Key,\n Time: (new Date()).getTime(),\n TXT: this.comment,\n };\n this.comment = '';\n if (this.auth.person) {\n this.db.authors[this.auth.person?.ID || ''] = this.auth.person;\n }\n this.Comments.unshift(comment);\n\n await this.writeComment(comment);\n }\n }\n\n async writeComment(c: BlogCommentType): Promise {\n\n const Post = DataStore.singletons[this.for.Key] as MadisonBlogPostType;\n Post.Comments = Post.Comments || 0;\n Post.Comments++;\n this.totalNum++;\n\n return await this.db.q('writeBlogComment', {\n comment: JSON.stringify(this.db.addRowDefaults(c, 'BlogComment')),\n id: c.ID,\n uniq: c.ParentComment || c.ID,\n key: this.for.Key,\n });\n }\n\n async loadLikes(): Promise {\n if (this.auth.getSessionValue()) {\n let Likes: BlogLikeType[];\n try {\n Likes = Array.from((await this.db.q('getBlogCommentLikes', {\n key: this.for.Key\n }))?.Data);\n if (Likes && Likes.length) {\n for (const like of Likes) {\n this.db.likedComments[like.Key] = true;\n }\n }\n } catch (e) { }\n }\n }\n\n async likeComment(c: BlogCommentType): Promise {\n if (typeof c.ID === 'undefined') {\n return;\n }\n if (!this.auth.getSessionValue()) {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n await this.loadLikes();\n if (c.ID && !this.db.likedComments[c.ID]) {\n this.likeComment(c);\n }\n }\n });\n } else {\n this.db.likedComments[c.ID] = !this.db.likedComments[c.ID];\n c.Likes = c.Likes || 0;\n if (this.db.likedComments[c.ID]) {\n c.Likes++;\n } else {\n c.Likes--;\n }\n await this.db.q('likeBlogComment', { id: c.ID });\n }\n }\n\n async replyToComment(c: NestedComment, c2?: NestedComment): Promise {\n if (!c.ID) {\n return;\n }\n this.showReplyBox[c.ID] = true;\n setTimeout(() => {\n const el = this.document.getElementById('reply_input_' + c.ID) as HTMLInputElement;\n if (c2 && c2.Owner && c2.Owner !== this.auth.person?.ID) {\n el.value = '@' + this.db.authors[c2.Owner].First + this.db.authors[c2.Owner].Last + ' ';\n }\n el.focus();\n });\n }\n\n pickAvatar(): void {\n if (this.auth.authChecked) {\n const dialogRef = this.dialog.open(ChooseAvatarComponent, {\n width: '800px',\n });\n dialogRef.afterClosed().subscribe(res => {\n if (typeof res === 'string' && this.auth.person && this.auth.person.ID) {\n this.auth.person.Avatar = res;\n this.db.addSchemaKey('Person', 'Avatar');\n this.db.put('Person', this.auth.person);\n this.db.authors[this.auth.person.ID] = this.auth.person;\n }\n });\n }\n }\n\n}\n","
\n
\n
{{ totalNum }} Comment{{ totalNum === 1 ? '' : 's' }}
\n
\n
\n
\n
\n \"\"\n
\n
\n \n {{ auth.authChecked ? auth.person?.First + ', join the discussion!' : 'Join the Discussion' }}\n \n \n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n {{ db.authors[(comment.Owner || '')]?.First + ' ' + db.authors[(comment.Owner || '')]?.Last }}\n
{{ comment.TXT }}
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
{{ comment.Likes }}
\n
\n\n \n
\n
\n
\n
\n
\n
\n \n \n {{ (comment.Time | timeAgo) }}\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n {{ db.authors[(reply.Owner || '')]?.First + ' ' + db.authors[(reply.Owner || '')]?.Last }}\n
{{ reply.TXT }}
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
{{ reply.Likes }}
\n
\n
\n
\n \n \n {{ (reply.Time | timeAgo) }}\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
","import { Component, OnInit, Inject, AfterViewInit } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { NewsOverlayComponent } from '../news-overlay/news-overlay.component';\nimport { DbService } from 'src/app/services/db.service';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({ template: '' })\nexport class OpenNewsPostComponent implements OnInit {\n\n PostId = '';\n\n constructor(\n public dialog: MatDialog,\n private db: DbService,\n private curRoute: ActivatedRoute,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) {\n this.curRoute.params.subscribe(params => {\n this.PostId = params.id;\n });\n }\n\n ngOnInit(): void {\n this.openDialog();\n }\n\n getPostImage(post: MadisonBlogPostType): string {\n\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=1200&h=700&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n\n const vid = post.Videos[0];\n\n if (vid.PlaybackIDs) {\n\n if (vid && vid.MuxStatus === 'ready') {\n image = 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=1200&start=' +\n (vid.GifStartTime || '0');\n } else {\n image = 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=1200&h=700&fit=crop&crop=faces';\n }\n\n }\n\n }\n\n return image;\n }\n\n async openDialog(): Promise {\n\n let post: MadisonBlogPostType;\n\n if (this.db.curBlogPost) {\n post = this.db.curBlogPost;\n } else {\n post = await this.db.get('MadisonBlogPost', this.PostId);\n }\n\n this.utils.updateMeta({\n BrowserTitle: post.Title + ' - news post',\n Title: post.Title || '',\n Description: post.Content || '',\n Image: this.getPostImage(post),\n });\n\n const dialogRef = this.dialog.open(NewsOverlayComponent, {\n maxWidth: '100vw',\n maxHeight: '100vh',\n height: '100%',\n width: '100%',\n data: post,\n closeOnNavigation: false,\n autoFocus: false,\n panelClass: ['full-screen']\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (this.window.location.href.includes('stream/')) {\n this.router.navigateByUrl('/stream');\n } else if (this.window.location.href.includes('news-post/')) {\n this.router.navigateByUrl('/');\n }\n });\n\n }\n\n}\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-open-post-image',\n templateUrl: './open-post-image.component.html',\n styleUrls: ['./open-post-image.component.scss']\n})\nexport class OpenPostImageComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public image: string,\n @Inject(WINDOW) private window: Window,\n ) { }\n\n screenWidth = 0;\n screenHeight = 0;\n imageWidth = 0;\n imageHeight = 0;\n padding = 30;\n\n ngOnInit(): void {\n this.screenWidth = this.window.innerWidth;\n this.screenHeight = this.window.innerHeight;\n this.imageWidth = this.window.innerWidth + (this.window.innerWidth * 0.25);\n this.imageHeight = this.window.innerHeight + (this.window.innerHeight * 0.25);\n }\n\n}\n","
\n 1) {\n return Math.floor(interval) + ' years';\n }\n interval = seconds / 2592000;\n if (interval > 1) {\n return Math.floor(interval) + ' months';\n }\n interval = seconds / 86400;\n if (interval > 1) {\n return Math.floor(interval) + ' days';\n }\n interval = seconds / 3600;\n if (interval > 1) {\n return Math.floor(interval) + ' hours';\n }\n interval = seconds / 60;\n if (interval > 1) {\n return Math.floor(interval) + ' minutes';\n }\n return Math.floor(seconds) + ' seconds';\n\n }\n\n}\n","import { Component, OnInit, Inject, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\nimport { WINDOW } from 'src/app/services/window.service';\nimport * as Hls from 'hls.js';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { WatchStoryComponent } from 'src/app/dialogs/watch-story/watch-story.component';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit, AfterViewInit {\n\n cardImgSettings = '?w=750';\n\n GridState: string | null = null;\n\n @ViewChild('video', { static: false }) videoEl!: ElementRef;\n\n constructor(\n @Inject(WINDOW) private window: Window,\n private dialog: MatDialog,\n private utils: UtilsService,\n ) { }\n\n setGridState(state: string): void {\n if (this.GridState === state) {\n this.GridState = null;\n } else {\n this.GridState = state;\n }\n }\n\n cardImg(img: string): { [key: string]: string; } {\n const settings = 'w=750';\n return {\n 'background-image': `url('https://cdn2.tda.website/beehive/${img}?${settings}')`,\n };\n }\n\n ngAfterViewInit(): void {\n const VideoEl = this.videoEl.nativeElement as HTMLVideoElement;\n VideoEl.autoplay = true;\n VideoEl.muted = true;\n VideoEl.loop = true;\n VideoEl.setAttribute('playsinline', 'true');\n const playbackId = 'BIiolqAGizxzVHlsj9TJlrr5EIbmOiSwqAkDfkNAGFE';\n VideoEl.style.backgroundImage = `url('https://image.mux.com/${playbackId}/thumbnail.jpg?width=1280&time=0')`;\n const url = `https://stream.mux.com/${playbackId}.m3u8`;\n // Let native HLS support handle it if possible\n if (VideoEl.canPlayType && VideoEl.canPlayType('application/vnd.apple.mpegurl')) {\n VideoEl.src = url;\n VideoEl.play();\n } else if (Hls.isSupported && Hls.isSupported()) {\n // HLS.js-specific setup code\n const hls = new Hls();\n hls.loadSource(url);\n hls.attachMedia(VideoEl);\n VideoEl.play();\n }\n }\n\n volunteerApp(): void {\n this.window.open(`https://madisonmissions.typeform.com/to/uQ9VggpO`);\n }\n\n watchStory(): void {\n this.dialog.open(WatchStoryComponent, {\n width: '95%',\n });\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Eastward Missions',\n Title: 'Eastward Missions',\n Description: 'Eastward Missions creates opportunities for mission experiences in Australia and provides training opportunities for young people. Topgether with Madison Missions, Eastward is implementing a balanced approach to ministry with a revolutionary health program, supporting businesses, youth ministry, literature evangelism and more. Check out our website for the full vision, activities & plans.',\n });\n }\n\n open(link: string): void {\n this.window.open(link);\n }\n\n}\n","\n\n\n\n\n
\n \n
\n

Eastward Missions

\n
\n
\n

Youth Ministry
in Australia

\n

Establishing a 21st-century Madison College

\n \n
\n \n \n \n \n
\n
\n
\n
\n
\n\n\n\n
\n
\n
\n

Music Camp 2024

\n
\n

Do you enjoy making music and are you interested in being part of a Christian music film production? Receive professional training & awesome fellowship.

\n \n
\n
\n event\n
Dec 31 2023 - Jan 14, 2024
\n
\n
\n place\n
Bethshan Camp & Conference Centre
70 Wyee Rd, Wyee NSW 2259
\n
\n
\n attach_money\n
\n From $520\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n

Literature Evangelism

\n
\n

For any young person, 15+ who would like to experience front-line mission work with an evangelistic team of like-minded young people.

\n \n
\n
\n event\n
Date TBA
\n
\n
\n place\n
Location TBA
\n
\n
\n attach_money\n
FREE
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n

Madison College

\n
\n

Eastward is working on establishing a 21st century Madison Missionary College here in Australia. Check out the vision and see what you can do to help!

\n \n
\n
\n \n
\n
\n
\n

The Maker Heals

\n
\n

A revolutionary healthy lifestyle program with an emphasis on spiritual wellbeing and renewal.

\n \n
\n
\n \n
\n
\n
\n

Magabooks

\n
\n

View Eastward's flagship magabooks: 'The Great Controversy' and 'Wholesome Homemade'. Available for Literature Evangelists and organisations online at wholesale rates.

\n \n
\n
\n \n
\n
\n
\n

Beehive Services

\n
\n

An industry model to support ministry and to train young people.

\n \n
\n
\n \n
\n
\n
\n

Cultivate 2021

\n
\n

Home gardeners, farmers, tree changers, educators, parents, home schoolers, young people - whether you're an absolute beginner with a brown thumb, planning your move to the country, an experienced agriculturalist, or just interested in\n the healthiest of lifestyles - this conference is for you.

\n \n
\n
\n event\n
Date TBA
\n
\n
\n place\n
Location TBA
\n
\n
\n attach_money\n
Cost TBA
\n
\n
\n \n
\n More Info\n
\n
\n
\n \n
\n
\n
\n

D'Sozo Camp WA

\n
\n

D'Sozo camp is a very unique opportunity for youth to be involved in mission service. The primary focus of camp is christian help-work, music production, canvassing (literature evangelism) and door-to-door community surveys.

\n \n
\n
\n event\n
Date TBA
\n
\n
\n place\n
Location TBA
\n
\n
\n attach_money\n
Cost TBA
\n
\n
\n \n \n
\n
\n \n
\n
\n\n\n \"\"\n
\n \n
\n
\n\n\n\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ViewContainerRef, AfterViewInit, Output, EventEmitter, PLATFORM_ID, Inject, InjectionToken, OnDestroy } from '@angular/core';\n\nexport interface AppIntersection {\n isVisible: boolean;\n firstTimeVisible: boolean;\n scrollingDirection: 'up' | 'down';\n scrollY: number;\n scrollX: number;\n}\n\n@Directive({\n selector: '[appInView]'\n})\nexport class InViewDirective implements AfterViewInit, OnDestroy {\n\n isBrowser: boolean;\n observer: IntersectionObserver | undefined;\n\n @Output() intersect: EventEmitter = new EventEmitter();\n firstTime = true;\n lastYAxis: number | null = null;\n\n constructor(\n private vcRef: ViewContainerRef,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngAfterViewInit(): void {\n const commentEl = this.vcRef.element.nativeElement; // template\n const elToObserve = commentEl.parentElement;\n if (this.isBrowser) {\n this.observer = new IntersectionObserver(entries => {\n entries.map((entry) => {\n const intersection: AppIntersection = {\n firstTimeVisible: this.firstTime,\n scrollingDirection: this.lastYAxis === null ? 'down' : (this.lastYAxis < entry.boundingClientRect.y ? 'up' : 'down'),\n isVisible: false,\n scrollY: entry.boundingClientRect.y,\n scrollX: entry.boundingClientRect.x,\n };\n this.lastYAxis = entry.boundingClientRect.y;\n if (entry.isIntersecting) {\n this.firstTime = false;\n intersection.isVisible = true;\n } else {\n intersection.isVisible = false;\n }\n this.intersect.emit(intersection);\n });\n }, { threshold: [0, .1, .9, 1] });\n this.observer.observe(elToObserve);\n }\n }\n\n ngOnDestroy(): void {\n if (this.isBrowser && this.observer) {\n this.observer.disconnect();\n }\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ThemeColor, themeColorKeys, ThemeColors } from 'src/app/modules/colors';\n\n@Component({\n selector: 'app-section',\n templateUrl: './section.component.html',\n styleUrls: ['./section.component.scss']\n})\nexport class SectionComponent implements OnInit {\n\n sidePadding = '20px';\n\n @Input() width = '1138px';\n @Input() padding = '100px';\n @Input() theme!: themeColorKeys;\n color: ThemeColor | null = null;\n\n constructor() { }\n\n ngOnInit(): void {\n if (this.theme) {\n this.color = ThemeColors[this.theme];\n }\n }\n\n}\n","
\n\n
\n \n
\n\n
","\nexport interface ThemeColor {\n hex: string;\n text: string;\n}\n\nexport type themeColorKeys =\n 'red' | 'beehive' | 'primary' | 'DarkRed' | 'charcoal' |\n 'grey50' | 'grey30' | 'grey70' | 'white' | 'lightGrey' | 'lightGreyOrange' |\n 'whitePrimary' | 'black' | 'transparent';\n\nexport interface ThemeColor {\n hex: string;\n text: string;\n}\n\ntype ThemeColors = {\n [key in themeColorKeys]: ThemeColor;\n};\n\nexport const ThemeColors: ThemeColors = {\n red: {\n hex: 'red',\n text: '#ffffff',\n },\n beehive: {\n hex: '#ffd45a',\n text: '#333333',\n },\n primary: {\n hex: '#84b83b',\n text: '#ffffff',\n },\n DarkRed: {\n hex: '#c90e34',\n text: '#ffffff',\n },\n charcoal: {\n hex: '#222427',\n text: '#ffffff',\n },\n grey50: {\n hex: '#333',\n text: '#ffffff',\n },\n grey30: {\n hex: '#333333',\n text: '#ffffff',\n },\n grey70: {\n hex: '#707070',\n text: '#ffffff',\n },\n white: {\n hex: '#FFFFFF',\n text: '#00000',\n },\n lightGrey: {\n hex: '#f7f7f7',\n text: '#222222',\n },\n lightGreyOrange: {\n hex: '#f7f7f7',\n text: '#e05425',\n },\n whitePrimary: {\n hex: '#FFFFFF',\n text: '#DA1376',\n },\n black: {\n hex: '#000000',\n text: '#ffffff',\n },\n transparent: {\n hex: 'transparent',\n text: 'currentColor',\n },\n};\n","import { Component, ChangeDetectorRef, OnInit, AfterViewInit, Inject } from '@angular/core';\nimport { DbService } from './services/db.service';\nimport { AuthService } from './services/auth.service';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { DataStore } from './services/DataStore';\nimport { DOCUMENT } from '@angular/common';\nimport { WINDOW } from './services/window.service';\nimport { RouteEventsService } from './services/router-events.service';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, AfterViewInit {\n\n title = 'Madison Missions Australia';\n\n onGoingRequests = 0;\n isCheckingAuth = false;\n IsAuthenticated = false;\n\n constructor(\n private db: DbService,\n private authService: AuthService,\n private router: Router,\n private routerEvents: RouteEventsService,\n private changeDetector: ChangeDetectorRef,\n @Inject(DOCUMENT) private document: Document,\n @Inject(WINDOW) private window: Window,\n ) {\n\n DataStore.auth = authService;\n\n }\n\n ngAfterViewInit(): void {\n\n this.db.onRequestChange((num) => {\n this.onGoingRequests = num;\n this.changeDetector.detectChanges();\n });\n\n this.document.getElementById('InitLoader')?.remove();\n\n }\n\n ngOnInit(): void {\n\n this.router.events.subscribe((val) => {\n if (val instanceof NavigationEnd && typeof window !== 'undefined' && !val.url.includes('#')) {\n // window.scrollTo(0, 0); \n }\n });\n\n this.authService.onStateChange(AuthState => {\n\n this.IsAuthenticated = AuthState;\n\n });\n\n if (this.authService.hasSessionValue() && !this.authService.authChecked) {\n\n this.isCheckingAuth = true;\n\n this.authService.checkSession().then((response: any) => {\n\n this.isCheckingAuth = false;\n\n });\n\n }\n }\n\n}\n","\n","import { Component, OnInit } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-privacy-policy',\n templateUrl: './privacy-policy.component.html',\n styleUrls: ['./privacy-policy.component.scss']\n})\nexport class PrivacyPolicyComponent implements OnInit {\n\n siteTitle = 'Madison Missions';\n websiteDomain = 'www.madison.org.au';\n sitePhone1 = '0420 746 255';\n siteEmail = 'mail@madison.org.au';\n siteAddress = '19 Westleys Rd, Faulkland NSW 2422';\n\n constructor(\n private titleService: Title,\n ) { }\n\n ngOnInit(): void {\n this.titleService.setTitle('Privacy Policy');\n }\n\n}\n","\n
\n\n

Privacy Policy - Eastward/Madison Website & Mobile App(s)

\n\n

This Privacy Policy governs the manner in which {{ siteTitle }} collects, uses, maintains and discloses information collected from users (each, a "User") of the Staff Android/iOS  app ("App"). This privacy\n policy applies to the App and all products and services offered by {{ siteTitle }}.
 \n

\n\n

Personal identification information

\n\n

We may collect personal identification information from Users in a variety of ways, including, but not limited to, when Users visit the app, register, fill out a form, and in connection\n with other activities, services, features or resources we make available on our App. Users may be asked for, as appropriate, name, email address, mailing address, phone number.

\n\n

We will collect personal identification information from Users only if they voluntarily submit such information to us. Users can always refuse to supply personally identification information, except that it may prevent them from engaging in certain\n App related activities.

\n\n

 

\n\n

Non-personal identification information

\n\n

We may collect non-personal identification information about Users whenever they interact with our App. Non-personal identification information may include the browser name, the type of computer and technical information about Users means of connection\n to our App, such as the operating system and the Internet service providers utilized and other similar information.

\n\n

 

\n\n

How we use collected information

\n\n

{{ siteTitle }} collects and uses Users personal information for the following purposes:

\n\n
    \n
  • To improve customer service
    Your information helps us to more effectively respond to your customer service requests and support needs.
  • \n
  • To personalize user experience
    We may use information in the aggregate to understand how our Users as a group use the services and resources provided on our App.
  • \n
  • To improve our App
    We continually strive to improve our website offerings based on the information and feedback we receive from you.
  • \n
  • To process transactions
    We may use the information Users provide about themselves when placing an order only to provide service to that order. We do not share this information with outside parties except to the extent necessary\n to provide the service.
  • \n
  • To administer a content, promotion, survey or other App feature
    To send Users information they agreed to receive about topics we think will be of interest to them.
  • \n
  • To send periodic emails
    \n
    The email address Users provide for order processing, will only be used to send them information and updates pertaining to their order. It may also be used to respond to their inquiries, and/or other requests or questions. If User decides\n to opt-in to our mailing list, they will receive emails that may include company news, updates, related product or service information, etc. If at any time the User would like to unsubscribe from receiving future emails, we include detailed\n unsubscribe instructions at the bottom of each email or User may contact us via our App.
  • \n
\n\n

 

\n\n

How we protect your information

\n\n

We adopt appropriate data collection, storage and processing practices and security measures to protect against unauthorized access, alteration, disclosure or destruction of your personal information, username, password, transaction information and\n data stored on our App.

\n\n

Sensitive and private data exchange between the App and its Users happens over a SSL secured communication channel and is encrypted and protected with digital signatures. 
 \n

\n\n

Compliance with children's online privacy protection act

\n\n

Protecting the privacy of the very young is especially important. For that reason, we never collect or maintain information at our App from those we actually know are under 13, and no part of our website is structured to attract anyone under 13.  \n

\n\n

Changes to this privacy policy

\n\n

{{ siteTitle }} has the discretion to update this privacy policy at any time. When we do, revise the updated date at the bottom of this page,. We encourage Users to frequently check this page for any changes to stay informed about how we are\n helping to protect the personal information we collect. You acknowledge and agree that it is your responsibility to review this privacy policy periodically and become aware of modifications.

\n\n

 

\n\n

Your acceptance of these terms

\n\n

By using this App, you signify your acceptance of this policy and terms of service. If you do not agree to this policy, please do not use our App. Your continued use of the App following the posting of changes to this policy will be deemed\n your acceptance of those changes.

\n\n

 

\n\n

Contacting us

\n\n

If you have any questions about this Privacy Policy, the practices of this site, or your dealings with this site, please contact us at:

\n\n


{{ siteTitle }}

\n\n

{{ websiteDomain}}
\n {{ sitePhone1 }}
\n {{ siteEmail }}

\n\n

{{ siteAddress}}

\n\n

Last updated: 5/4/2020

\n\n
\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Component, Inject, InjectionToken, OnInit, PLATFORM_ID } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport * as typeformEmbed from '@typeform/embed';\n\n@Component({\n selector: 'app-feasibility-survey',\n templateUrl: './feasibility-survey.component.html',\n styleUrls: ['./feasibility-survey.component.scss']\n})\nexport class FeasibilitySurveyComponent implements OnInit, AfterViewInit {\n\n isBrowser: boolean;\n\n constructor(\n @Inject(DOCUMENT) private document: Document,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n private utils: UtilsService,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `Feasibility Survey`,\n Title: 'Feasibility Survey',\n Description: `We have an important survey for you which seeks your advice regarding our vision of a Madison school, the campaign, the Abide property, purchase terms etc... As we consider the next phase of our ministry, your input is invaluable.`,\n });\n }\n\n \n ngAfterViewInit(): void {\n\n if (this.isBrowser) {\n setTimeout(() => {\n this.document.getElementById('loaderFrame')?.remove();\n }, 1500);\n const el = this.document.getElementById('form');\n if (el) {\n typeformEmbed.makeWidget(el, 'https://madisonmissions.typeform.com/to/pPZKUUBq', {\n hideFooter: true,\n hideHeaders: true,\n opacity: 0,\n });\n }\n }\n\n }\n\n}\n","
\n
\n
\n
","import { isPlatformBrowser } from '@angular/common'\nimport { Component, Inject, InjectionToken, OnDestroy, OnInit, PLATFORM_ID, ViewChild } from '@angular/core'\nimport { FormControl, FormGroup, Validators } from '@angular/forms'\nimport { MatButtonToggleGroup } from '@angular/material/button-toggle'\nimport { MatSnackBar } from '@angular/material/snack-bar'\nimport { ActivatedRoute, Router } from '@angular/router'\nimport { StripeCharge, StripeError } from 'src/app/models/StripeTypes'\nimport { AuthService } from 'src/app/services/auth.service'\nimport { AddressType, InvoiceRowType, InvoiceType } from 'src/app/services/DataStore'\nimport { DbService } from 'src/app/services/db.service'\nimport { StripePmtSource } from 'src/app/services/donationPmt.service'\nimport { StripeService } from 'src/app/services/stripe.service'\nimport { UtilsService } from 'src/app/services/utils.service'\nimport { StripeCard, StripeToken } from 'stripe-angular'\n\ntype BookIDs = 'WH' | 'GC';\ntype Routes = null | 'Checkout-1' | 'Checkout-2' | 'Login';\n\n@Component({\n selector: 'app-magabooks',\n templateUrl: './magabooks.component.html',\n styleUrls: ['./magabooks.component.scss']\n})\nexport class MagabooksComponent implements OnInit, OnDestroy {\n\n addressForm: FormGroup;\n currentRoute: Routes = null;\n @ViewChild('stripeCard') stripeCard!: StripeCard;\n cardToken!: StripeToken;\n invalidError: Error | null = null;\n isProcessing = false;\n MyPaymentSources: StripePmtSource[] = [];\n selectedPaymentSource: StripePmtSource | null = null;\n AddPaymentSource = false;\n stripeOptions: any = { hidePostalCode: true };\n tos = false;\n AuWideShippingCost = 30;\n isBrowser: boolean;\n\n selectedAddress: AddressType | null = null;\n AddAddress = false;\n MyAddresses: AddressType[] = [];\n\n GcCost = 8;\n GcPerBox = 18;\n WhPerBox = 30;\n\n total = 0;\n\n tiers = [\n {\n id: 'LE',\n price: 8.50,\n label: 'Literature Evangelist',\n },\n {\n id: 'NON-PROFIT',\n price: 10.00,\n label: 'Non-profit Organisation',\n },\n {\n id: 'COMMERCIAL',\n price: 15.00,\n label: 'Commercial Organisation',\n },\n ];\n\n cart = {\n GC: 0,\n WH: 0,\n };\n\n whOption = this.tiers[0];\n\n @ViewChild('toggleGroupGC') toggleGC!: MatButtonToggleGroup;\n @ViewChild('toggleGroupWH') toggleWH!: MatButtonToggleGroup;\n\n constructor(\n private utils: UtilsService,\n private route: ActivatedRoute,\n private auth: AuthService,\n private router: Router,\n private snackBar: MatSnackBar,\n private stripeHelper: StripeService,\n private db: DbService,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n\n this.isBrowser = isPlatformBrowser(platformId);\n\n this.addressForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n name: new FormControl('', [Validators.required]),\n phone: new FormControl('', [Validators.required]),\n address1: new FormControl('', [Validators.required]),\n address2: new FormControl('', []),\n suburb: new FormControl('', [Validators.required]),\n state: new FormControl('', [Validators.required]),\n postcode: new FormControl('', [Validators.required]),\n shipping: new FormControl('AU', [Validators.required]),\n });\n }\n\n onAuthChange = (loggedIn: boolean) => {\n if (loggedIn && this.currentRoute === 'Login') {\n this.toDetails();\n }\n if (loggedIn && this.currentRoute === 'Checkout-2') {\n if (this.auth.person?.StripeCustomer) {\n const cards = this.auth.person.StripeCustomer.sources.data;\n this.MyPaymentSources = cards;\n if (!this.selectedPaymentSource) {\n this.selectedPaymentSource = cards[0];\n }\n }\n }\n if (loggedIn) {\n this.db.list('Address').then(AddressSet => {\n this.MyAddresses = Array.from(AddressSet);\n\n const adrRes = localStorage.getItem('magabook-address');\n if (adrRes !== null) {\n const adr = this.MyAddresses.find(el => el.ID === adrRes);\n if (adr) {\n this.selectedAddress = adr;\n }\n }\n\n if (this.MyAddresses.length && !this.selectedAddress) {\n this.selectedAddress = this.MyAddresses[0];\n }\n });\n }\n }\n\n remove(id: BookIDs): void {\n this.cart[id]--;\n this.updateTotal();\n }\n\n add(id: BookIDs): void {\n this.cart[id]++;\n this.updateTotal();\n }\n\n save(): void {\n localStorage.setItem('magabook-cart-items', JSON.stringify(this.cart));\n localStorage.setItem('magabook-wh-tier', this.whOption.id);\n if (this.selectedAddress) {\n localStorage.setItem('magabook-address', this.selectedAddress?.ID || '');\n }\n }\n\n async saveAddress(): Promise {\n\n this.AddAddress = false;\n\n const AdrValue = this.addressForm.value;\n\n const Adr: AddressType = {\n Owner: this.auth.personID || '',\n name: this.addressForm.value.name,\n mobile: this.utils.normalizeMobile(AdrValue.phone) || '',\n address1: AdrValue.address1 || '',\n address2: AdrValue.address2 || '',\n postcode: AdrValue.postcode || '',\n state: AdrValue.state || '',\n suburb: AdrValue.suburb || '',\n instructions: '',\n };\n const res = await this.db.put('Address', Adr).then(AddressObj => {\n this.selectedAddress = AddressObj as AddressType;\n this.MyAddresses.push(this.selectedAddress);\n });\n }\n\n get numBoxes(): number {\n return this.cart.GC + this.cart.WH;\n }\n get GcBoxPrice(): number {\n return this.GcCost * this.GcPerBox;\n }\n get WhBoxPrice(): number {\n return this.whOption.price * this.WhPerBox;\n }\n get ShippingPerBox(): number {\n const shippingVal = this.addressForm.value.shipping;\n if (shippingVal && shippingVal === 'PICKUP') {\n return 0;\n }\n return this.AuWideShippingCost;\n }\n\n updateTotal(): void {\n this.total = 0;\n this.total += this.cart.GC * this.GcBoxPrice;\n this.total += this.cart.WH * (this.whOption.price * 30);\n this.total += this.numBoxes * this.ShippingPerBox;\n if (this.toggleGC) {\n this.toggleGC.writeValue('');\n }\n if (this.toggleWH) {\n this.toggleWH.writeValue('');\n }\n this.save();\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.addressForm.controls[controlName].hasError(errorName) || false;\n }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Magabooks - high quality books for LEs',\n Title: 'Magabooks - high quality books for LEs',\n Description: 'High-quality books designed in Australia, for Australia. Purchase online by the box at wholesale prices.',\n Image: 'https://cdn2.tda.website/beehive/20201125/MagabooksRender2.jpg' + this.utils.defaultImageMetaSettings,\n });\n const res = localStorage.getItem('magabook-cart-items');\n if (res !== null) {\n this.cart = JSON.parse(res);\n }\n\n const tierRes = localStorage.getItem('magabook-wh-tier') as BookIDs | null;\n if (tierRes !== null) {\n const tier = this.tiers.find(el => el.id === tierRes);\n if (tier) {\n this.whOption = tier;\n }\n }\n\n this.route.paramMap.subscribe(map => {\n const route = map.get('route') as Routes;\n if (route) {\n this.currentRoute = route;\n if (this.currentRoute === 'Checkout-1' && !this.auth.authChecked) {\n this.router.navigate(['/Magabooks/Login'], {\n replaceUrl: true,\n });\n } else if (this.currentRoute === 'Login' && this.auth.authChecked) {\n this.toDetails();\n } else {\n this.onAuthChange(this.auth.authChecked);\n }\n }\n });\n\n this.updateTotal();\n\n this.auth.onStateChange(this.onAuthChange);\n\n }\n\n toDetails(): void {\n this.router.navigateByUrl('/Magabooks/Checkout-1', {\n replaceUrl: true,\n });\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n handleStripeError(obj: any): boolean {\n if (obj.type === 'StripeCardError') {\n\n const Error = obj.raw as StripeError;\n\n this.snackBar.open('Card Error: ' + Error.message, 'Dismiss', {\n duration: 12000,\n });\n\n return true;\n\n }\n return false;\n }\n\n async pay(): Promise {\n if (this.isProcessing) {\n return;\n }\n\n // Check if agreed to TOS\n if (!this.tos) {\n alert('Please agree with the privacy policy and terms of service before continuing.');\n this.isProcessing = false;\n return;\n }\n\n // Check/create payment source\n if (!this.selectedPaymentSource) {\n this.savePaymentSource();\n }\n\n const dt = new Date();\n\n // Create invoice\n const InvoiceID = 'MGBK-' + (\n dt.getFullYear().toString() +\n (dt.getMonth() + 1).toString() +\n dt.getDate().toString()\n ) + '-' + this.utils.randomChars(6).toUpperCase();\n\n const InvoiceRows: InvoiceRowType[] = [];\n let TotalTax = 0;\n\n if (this.cart.GC) {\n InvoiceRows.push(\n {\n Owner: this.auth.personID || '',\n Amount: this.GcBoxPrice,\n Description: `The Great Controversy - box of ${this.GcPerBox}`,\n ProductID: 'GC',\n Invoice: InvoiceID,\n Quantity: this.cart.GC,\n Tax: this.GcBoxPrice / 11,\n Sort: InvoiceRows.length,\n }\n );\n TotalTax += this.GcBoxPrice / 11;\n }\n if (this.cart.WH) {\n InvoiceRows.push(\n {\n Owner: this.auth.personID || '',\n Amount: this.WhBoxPrice,\n Description: `Wholesome Homemade - box of ${this.WhPerBox}`,\n ProductID: 'WH',\n Invoice: InvoiceID,\n Quantity: this.cart.WH,\n Tax: this.WhBoxPrice / 11,\n Sort: InvoiceRows.length,\n }\n );\n TotalTax += this.WhBoxPrice / 11;\n }\n InvoiceRows.push(\n {\n Owner: this.auth.personID || '',\n Amount: this.ShippingPerBox,\n Description: `Shipping: ${this.addressForm.value.shipping === 'AU' ? 'Australia-wide Regular Post' : 'Free Pickup'}`,\n ProductID: 'WH',\n Invoice: InvoiceID,\n Quantity: 1,\n Tax: this.ShippingPerBox / 11,\n Sort: InvoiceRows.length,\n }\n );\n TotalTax += this.WhBoxPrice / 11;\n\n if (!this.selectedAddress || !this.selectedPaymentSource) {\n alert('No address or payment details selected.');\n return;\n }\n\n const Invoice: InvoiceType = {\n Owner: this.auth.personID || '',\n InvoiceID,\n Paid: false,\n Person: this.auth.personID || '',\n Address: this.selectedAddress,\n PaymentSource: this.selectedPaymentSource,\n Status: 'Pending',\n Tax: TotalTax,\n Total: this.total,\n Template: 'Eastward',\n };\n\n this.db.addSchemaKey('Invoice', 'Template');\n\n this.isProcessing = true;\n\n const resbatch = await this.db.batchPut(\n [\n { type: 'Invoice', data: [Invoice] },\n { type: 'InvoiceRow', data: InvoiceRows }\n ]\n );\n\n const res = await this.stripeHelper.charge(this.selectedPaymentSource, InvoiceID) as StripeCharge;\n\n if (this.handleStripeError(res)) {\n this.isProcessing = false;\n return;\n }\n\n if (!res.paid) {\n\n console.error(res);\n\n this.snackBar.open('Payment error.', 'Dismiss', {\n duration: 12000,\n });\n\n }\n\n this.isProcessing = false;\n\n this.router.navigate(['/view-receipt'], {\n queryParams: { id: InvoiceID }\n });\n\n }\n\n async savePaymentSource(): Promise {\n\n if (!this.selectedAddress) {\n alert('Cannot save payment source without and address');\n return;\n }\n\n if (this.isProcessing) {\n return;\n }\n\n this.isProcessing = true;\n\n try {\n\n const CardToken = await this.stripeCard.createToken({\n name: (this.selectedAddress.name || ''),\n address_city: (this.selectedAddress.suburb || ''),\n address_line1: (this.selectedAddress.address1 || ''),\n address_line2: (this.selectedAddress.address2 || '') || '',\n address_state: (this.selectedAddress.state || ''),\n address_zip: (this.selectedAddress.postcode || '').toString(),\n });\n\n if (CardToken) {\n\n const CardID = CardToken.card.id;\n\n const res = await this.stripeHelper.saveCard(CardToken, {\n line1: (this.selectedAddress.address1 || ''),\n city: (this.selectedAddress.suburb || ''),\n line2: (this.selectedAddress.address2 || '') || '',\n state: (this.selectedAddress.state || ''),\n country: 'AU',\n postal_code: (this.selectedAddress.postcode || '').toString(),\n }) as any;\n\n if (!this.handleStripeError(res)) {\n\n this.auth.person = res.Person;\n this.MyPaymentSources = this.auth.person?.StripeCustomer?.sources.data || [];\n\n this.selectedPaymentSource = this.utils.find(this.MyPaymentSources, 'id', CardID);\n\n this.AddPaymentSource = false;\n\n this.isProcessing = false;\n\n } else {\n this.isProcessing = false;\n }\n\n } else {\n\n this.snackBar.open('Invalid payment details.', 'Dismiss', {\n duration: 6000,\n });\n\n this.isProcessing = false;\n }\n\n } catch (e) {\n\n this.isProcessing = false;\n\n if ((e as any).message) {\n this.snackBar.open('ERROR: ' + (e as any).message, 'Dismiss', {\n duration: 12000,\n });\n } else {\n this.snackBar.open('ERROR: Card error.', 'Dismiss', {\n duration: 12000,\n });\n }\n\n }\n\n }\n\n}\n","
\n \n
\n
\n

Payment Details

\n
\n
\n check\n
\n

{{ source.brand }}

\n

\n xxxx {{ source.last4 }},   exp {{ source.exp_month + \"/\" + source.exp_year }}\n

\n
\n
\n
\n \n
\n \n \n
\n
\n   \n \n
\n \n
\n PRIVACY POLICY\n TERMS OF SERVICE\n

\n I agree to the privacy policy and terms of service.\n

\n
\n
\n
\n
\n \n
\n
Total: {{ total | currency }}
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n
\n
\n \n
\n
Total: {{ total | currency }}
\n
\n \n
\n
\n
\n \n
\n

Delivery Address

\n\n \n Address\n \n \n {{ adr.name + ', ' + adr.address1 + (adr.address2 ? ', ' +adr.address2 : '') + ', ' + adr.suburb + ' ' + adr.state + ' ' + adr.postcode }}\n \n \n \n
\n
\n \n
\n\n
\n\n
\n \n Your Name\n \n Name is required\n \n\n \n Email Address\n \n Email is required\n Invalid email\n \n\n \n Phone Number\n \n Phone is required\n \n\n \n Address line 1\n \n Address is required\n \n\n \n Address line 2\n \n \n\n \n Suburb\n \n Suburb is required\n \n\n \n State\n \n NSW\n QLD\n SA\n TAS\n VIC\n WA\n ACT\n NT\n JBT\n \n \n\n \n Postcode\n \n Postcode is required\n \n\n
\n   \n \n
\n\n
\n\n

Shipping Option

\n \n Shipping Option\n \n Australia-wide $30/box\n Pickup\n \n \n
\n\n

My Magabooks

\n
0\">\n \n \n x{{ this.cart.GC }} box{{ this.cart.GC !== 1 ? 'es' : ''}} of The Great Controversy
\n {{ GcBoxPrice | currency }} ea.
\n
\n
0\">\n \n \n x{{ this.cart.WH }} box{{ this.cart.WH !== 1 ? 'es' : ''}} of Wholesome Homemade
\n {{ WhBoxPrice | currency }}\n
\n
\n
\n \"\" Shipping for {{ numBoxes }} box{{ numBoxes !== 1 ? 'es' : ''}}: {{ numBoxes * ShippingPerBox | currency }}\n
\n
\n
\n \n
\n
Total: {{ total | currency }}
\n
\n \n
\n
\n
\n \n
\n
\n

Magabooks

\n

Designed by Australian LEs

\n
\n
\n\n
\n
Total: {{ total | currency }}
\n
\n
\n \n
\n
\n
\n\n

Shipping: {{ AuWideShippingCost | currency : 'AUD' : '$' : '1.0-0' }} per box, Australia-wide

\n\n
\n \n \n
\n
\n
Box of {{ GcPerBox }}
\n
\n
\n \n
\n
\n \n \n remove\n \n {{ cart.GC }}\n \n add\n \n \n
\n
\n
{{ (GcPerBox * GcCost) | currency : 'AUD' : '$' : '1.0-0' }}
\n {{ GcCost | currency }} ea\n
\n
\n \n
\n
\n \n \n
\n
\n
Box of {{ WhPerBox }}
\n
\n
\n \n Price Category\n \n \n {{tier.label}}\n \n \n \n
\n
\n \n
\n
\n \n \n remove\n \n {{ cart.WH }}\n \n add\n \n \n
\n
\n
{{ (whOption.price * 30) | currency : 'AUD' : '$' : '1.0-0' }}
\n {{ whOption.price | currency }} ea\n
\n
\n \n
\n
\n\n
\n
Total: {{ total | currency }}
\n
\n
\n \n
\n
\n
","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, ElementRef, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-icon',\n template: '',\n styleUrls: ['./icon.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-icon mat-icon-no-color' }\n})\nexport class IconComponent implements OnInit {\n\n constructor(\n private elementRef: ElementRef,\n private http: HttpClient\n ) { }\n\n Endpoint = 'https://cdn2.tda.website/common/icons/';\n Icon: string | null = null;\n\n ngOnInit(): void {\n\n this.Icon = this.elementRef.nativeElement.innerText;\n\n if (this.Icon && typeof this.Icon !== undefined && this.Icon !== 'undefined') {\n\n const Url = this.Endpoint + this.Icon + '.svg';\n\n // this.elementRef.nativeElement.innerHTML = ``;\n\n this.elementRef.nativeElement.innerHTML = ``;\n\n this.http.get(Url, {\n responseType: 'text'\n }).subscribe(res => {\n this.elementRef.nativeElement.innerHTML = res;\n });\n\n }\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-page404',\n templateUrl: './page404.component.html',\n styleUrls: ['./page404.component.scss']\n})\nexport class Page404Component implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: `404 Error`,\n Title: `404 Error`,\n Description: `404 Error`,\n });\n }\n\n}\n","\n\n

This page couldn't be found.

\n\n
","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-notification-thanks',\n templateUrl: './notification-thanks.component.html',\n styleUrls: ['./notification-thanks.component.scss']\n})\nexport class NotificationThanksComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

Thanks for subscribing!

\n

We look forward to sending you the latest news, as-it-happens.

","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n@Component({\n selector: 'app-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: [\n './confirmation-dialog.component.scss'\n ]\n})\nexport class ConfirmationDialogComponent {\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public message: string) { }\n onNoClick(): void {\n this.dialogRef.close();\n }\n}\n","
\n {{message}}\n
\n
\n \n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-preview-avatar',\n templateUrl: './preview-avatar.component.html',\n styleUrls: ['./preview-avatar.component.scss']\n})\nexport class PreviewAvatarComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public Avatar: string,\n ) { }\n\n ngOnInit(): void {\n }\n\n}\n","

Random Avatar

\n
\n \n
\n
\n \n \n \n
","import { CallResponse } from './../../../services/db.service';\nimport { AuthService } from './../../../services/auth.service';\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\nexport interface LoginData {\n email: string;\n password: string;\n remember: string;\n}\n\nexport interface LoginResponse extends CallResponse {\n verifyError: 1 | 0;\n}\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n\n activity = false;\n loginForm: FormGroup | null = null;\n hidePwd = true;\n\n constructor(\n private auth: AuthService,\n private router: Router,\n private route: ActivatedRoute,\n private utils: UtilsService,\n ) { }\n\n onAuthChange = (loggedIn: boolean) => {\n if (loggedIn) {\n const returnRoute: string = this.route.snapshot.queryParamMap.get('return') || '';\n\n if (returnRoute) {\n this.router.navigateByUrl(returnRoute);\n } else {\n this.router.navigateByUrl('account');\n }\n }\n }\n\n ngOnDestroy(): void {\n this.auth.removeStateChangeCallback(this.onAuthChange);\n }\n\n ngOnInit(): void {\n\n this.utils.updateMeta({\n BrowserTitle: `Login - ${this.utils.orgTitle}`,\n Title: `Login - ${this.utils.orgTitle}`,\n Description: `Login - ${this.utils.orgTitle}`,\n });\n\n this.auth.onStateChange(this.onAuthChange);\n\n this.loginForm = new FormGroup({\n\n email: new FormControl('', [Validators.required, Validators.email]),\n\n password: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n remember: new FormControl('*')\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n if (this.loginForm !== null) {\n return this.loginForm.controls[controlName].hasError(errorName);\n }\n return false;\n }\n\n success(): void {\n\n }\n\n async login(data: LoginData): Promise {\n\n this.activity = true;\n\n const LoginSuccess = await this.auth.login(data);\n\n this.activity = false;\n\n if (LoginSuccess) {\n\n this.success();\n\n }\n\n }\n\n}\n","\n\n
\n\n
\n\n

Madison Login

\n\n \n\n \n\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-canvassing',\n templateUrl: './canvassing.component.html',\n styleUrls: ['./canvassing.component.scss']\n})\nexport class CanvassingComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n this.utils.updateMeta({\n BrowserTitle: 'Youth Canvassing Programs with Eastward Missions',\n Title: 'Youth Canvassing Programs with Eastward Missions',\n Description: 'The Literature Evangelism (canvassing) program is an opportunity for youth and young adults to experience front-line mission work here in Australia. Presenting our books of truth to the people is the very work the Lord would have us do at this time in world history.',\n Image: 'https://cdn2.tda.website/beehive/20201106/2017-Program-Group-Photo.jpg' + this.utils.defaultImageMetaSettings,\n });\n }\n\n}\n","\n
\n
\n

Youth Canvassing Programs

\n

Dec / Jan every year

\n
\n
\n
\n
\n \n

What?

\n

Intensive, 10 week Literature Evangelism Program.

\n

Fully catered & structured. Students are encouraged to attend for the full program, but may attend for shorter segments.

\n
\n
\n \n \n \n \n \n \n \n

For Who?

\n

Any young person (15+) who would like to experience front-line mission work with a vibrant team of like-minded young people.

\n
\n
\n \n

Next Location

\n

South Australia

\n
\n
\n \n

Next Dates

\n

December 2022 - January 2023

\n
\n
\n\n
\n
\n

More Info on the Canvassing Program

\n

The Literature Evangelism (canvassing) program is an opportunity for youth and young adults to experience front-line mission work here in Australia. Presenting our books of truth to the people is the very work the Lord would have us do at this time in world history.

\n

Costs
No up-front fee is required to attend the program. Students receive a commission of donations raised, minus book, food and fuel expenses.

\n

What is Literature Evangelism?
Literature Evangelism is all about making a difference in communities through books that promote health, Christian family values, the good news of the gospel and prophecy.

\n

The top priority of the program is to leave books with as many people as are willing to read them. Books are left with people on a donation basis. Donations cover book costs, program costs and help out the student canvassers.

\n

Going door to door doing this kind of work is an excellent form of missionary work and great preparation for anyone wanting to devote their life to God in ministry service.

\n

Extras to Bring
The book \"Colporteur Ministry\" 
Sleeping mat and bedding

\n

Invitation
We would like to extend an invitation to all interested youth and young adults to fill in an application. We look forward to working with you.

\n
\n
\n \"\"\n
\n
\n\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { ColorPickerModule } from 'ngx-color-picker';\nimport { MentionModule } from 'angular-mentions';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { ImgixAngularModule } from '@imgix/angular';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\n\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { StringToDatePipe } from './pipes/toDate';\nimport { AppComponent } from './app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MaterialModule } from './modules/material-modules';\nimport { HttpClientModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { AdminAuthGuardService, AuthGuardService } from './services/auth-guard.service';\nimport { WINDOW_PROVIDERS } from './services/window.service';\nimport { StripeModule } from 'stripe-angular';\n\nimport { HomeComponent } from './screens/home/home.component';\nimport { ButtonComponent } from './components/button/button.component';\nimport { PanelComponent } from './panel/panel.component';\nimport { SectionComponent } from './components/section/section.component';\nimport { ActivityStreamComponent } from './screens/activity-stream/activity-stream.component';\nimport { LoginWithProviderComponent } from './components/login-with-provider/login-with-provider.component';\nimport { MyNotificationsComponent } from './screens/my-notifications/my-notifications.component';\nimport { NewsComponent } from './component/news/news.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { SignupComponent } from './screens/auth/signup/signup.component';\nimport { FullscreenImageComponent } from './components/fullscreen-image/fullscreen-image.component';\nimport { LoginComponent } from './screens/auth/login/login.component';\nimport { LoginProvidersDialogComponent } from './dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { PreviewAvatarComponent } from './dialogs/preview-avatar/preview-avatar.component';\nimport { MenuComponent } from './components/menu/menu.component';\nimport { IconComponent } from './components/icon/icon.component';\nimport { SubscribeComponent } from './components/subscribe/subscribe.component';\nimport { ShareComponent } from './components/share/share.component';\nimport { DonateComponent } from './components/donate/donate.component';\nimport { OpenPostImageComponent } from './components/open-post-image/open-post-image.component';\nimport { OpenNewsPostComponent } from './components/open-news-post/open-news-post.component';\nimport { NewsOverlayComponent } from './components/news-overlay/news-overlay.component';\nimport { CommentsComponent } from './components/comments/comments.component';\nimport { NewsSocialSummaryComponent } from './components/news-social-summary/news-social-summary.component';\nimport { PromptComponent } from './dialogs/prompt/prompt.component';\nimport { ConfirmationDialogComponent } from './dialogs/confirmation-dialog/confirmation-dialog.component';\nimport { SupportComponent } from './screens/support/support.component';\nimport { ContactUsComponent } from './screens/contact-us/contact-us.component';\nimport { BackHeaderComponent } from './components/back-header/back-header.component';\nimport { AccountComponent } from './components/account/account.component';\nimport { AccountPaymentSourcesComponent } from './components/account/account-payment-sources/account-payment-sources.component';\nimport { AccountPersonalDetailsComponent } from './components/account/account-personal-details/account-personal-details.component';\nimport { RecoverPwdComponent } from './screens/auth/recover-pwd/recover-pwd.component';\nimport { ResetPwdComponent } from './screens/auth/reset-pwd/reset-pwd.component';\nimport { PrivacyPolicyComponent } from './screens/privacy-policy/privacy-policy.component';\nimport { Page404Component } from './screens/page404/page404.component';\nimport { DonationReceiptComponent } from './screens/donation-receipt/donation-receipt.component';\nimport { ViewPostComponent } from './screens/view-post/view-post.component';\nimport { AllPostsComponent } from './screens/all-posts/all-posts.component';\nimport { ViewAuthorComponent } from './dialogs/view-author/view-author.component';\nimport { LoginDialogComponent } from './dialogs/login-dialog/login-dialog.component';\nimport { ChooseAvatarComponent } from './dialogs/choose-avatar/choose-avatar.component';\nimport { AutoFocusDirective } from './directives/auto-focus.directive';\nimport { ShowAddressComponent } from './components/show-address/show-address.component';\nimport { TimeAgoPipe } from './pipes/time-ago.pipe';\nimport { InViewDirective } from './directives/in-view.directive';\nimport { MusicCampPhotosComponent } from './screens/music-camp-photos/music-camp-photos.component';\nimport { CanvassingComponent } from './screens/canvassing/canvassing.component';\nimport { CanvassingPhotosComponent } from './screens/canvassing-photos/canvassing-photos.component';\nimport { PhotoGalleryComponent } from './components/photo-gallery/photo-gallery.component';\nimport { EastwardHeaderNavComponent } from './components/eastward-header-nav/eastward-header-nav.component';\nimport { DsozoCampPhotosComponent } from './screens/dsozo-camp-photos/dsozo-camp-photos.component';\nimport { MagabooksComponent } from './screens/magabooks/magabooks.component';\nimport { TosComponent } from './screens/tos/tos.component';\nimport { ViewReceiptComponent } from './screens/view-receipt/view-receipt.component';\nimport { AboutComponent } from './screens/about/about.component';\nimport { LightOnAHillCampMeetingComponent } from './screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component';\nimport { AbassadorProgramComponent } from './components/abassador-program/abassador-program.component';\nimport { AmbassadorsComponent } from './screens/ambassadors/ambassadors.component';\nimport { FeasibilitySurveyComponent } from './screens/feasibility-survey/feasibility-survey.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n ButtonComponent,\n PanelComponent,\n SectionComponent,\n ActivityStreamComponent,\n LoginWithProviderComponent,\n LoginProvidersDialogComponent,\n MyNotificationsComponent,\n NewsComponent,\n FooterComponent,\n SignupComponent,\n FullscreenImageComponent,\n LoginComponent,\n PreviewAvatarComponent,\n MenuComponent,\n IconComponent,\n StringToDatePipe,\n SubscribeComponent,\n ShareComponent,\n DonateComponent,\n OpenPostImageComponent,\n OpenNewsPostComponent,\n NewsOverlayComponent,\n CommentsComponent,\n NewsSocialSummaryComponent,\n PromptComponent,\n ConfirmationDialogComponent,\n ContactUsComponent,\n SupportComponent,\n BackHeaderComponent,\n AccountComponent,\n AccountPaymentSourcesComponent,\n AccountPersonalDetailsComponent,\n RecoverPwdComponent,\n ResetPwdComponent,\n PrivacyPolicyComponent,\n Page404Component,\n MenuComponent,\n DonationReceiptComponent,\n AllPostsComponent,\n ViewPostComponent,\n ViewAuthorComponent,\n LoginDialogComponent,\n ChooseAvatarComponent,\n AutoFocusDirective,\n InViewDirective,\n ShowAddressComponent,\n TimeAgoPipe,\n MusicCampPhotosComponent,\n CanvassingComponent,\n CanvassingPhotosComponent,\n PhotoGalleryComponent,\n EastwardHeaderNavComponent,\n DsozoCampPhotosComponent,\n MagabooksComponent,\n TosComponent,\n ViewReceiptComponent,\n AboutComponent,\n LightOnAHillCampMeetingComponent,\n AbassadorProgramComponent,\n AmbassadorsComponent,\n FeasibilitySurveyComponent,\n ],\n imports: [\n BrowserModule.withServerTransition({ appId: 'serverApp' }),\n AppRoutingModule,\n BrowserAnimationsModule,\n MaterialModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n ScrollingModule,\n LayoutModule,\n ColorPickerModule,\n // StripeModule.forRoot('pk_test_fH1TQydI71pUImt3hDr5bGMX00as18FK4P'),\n StripeModule.forRoot('pk_live_TevlenGYgSSw58e6AXbrbV8800iolj2NAo'),\n MentionModule,\n ImgixAngularModule.forRoot({\n domain: 'cdn2.tda.website',\n defaultImgixParams: {\n auto: 'format,compress',\n },\n }),\n ClipboardModule,\n ],\n providers: [AdminAuthGuardService, AuthGuardService, WINDOW_PROVIDERS, StringToDatePipe, TimeAgoPipe],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { DataStore, AllRowTypes, GenericRow, MadisonBlogPostType, PersonType, setTimeout$ } from './DataStore';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialog } from '@angular/material/dialog';\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { UtilsService } from './utils.service';\nimport { schema, schemaTypes, connectionReturnType, OwnerConnection } from '../data/schema';\n\nexport interface ListOptions {\n fromCache?: boolean;\n depth?: number;\n insight?: boolean;\n page?: number;\n maxItems?: number;\n sortColumn?: string;\n direction?: 'ASC' | 'DESC';\n columns?: string[];\n}\n\ninterface StackItem {\n Type: string;\n Value: any;\n}\n\nexport interface CallResponse {\n Success: boolean;\n internetConnection?: 0 | 1;\n Message?: string;\n Notify?: boolean;\n Data?: any;\n Connections?: any;\n}\n\nexport interface MultiQueryInput {\n Column: string;\n Equals: string;\n}\n\ntype ConnectionOutput = { [key: string]: { [key: string]: string }[] };\ntype BatchInput = {\n type: string, data: AllRowTypes[]\n}[];\n\ninterface GetResponseType {\n row: any;\n}\n\nexport const TdaWeakMap = new WeakMap();\n\ninterface SessionObj {\n Expires: number;\n Expired: boolean;\n Person: string;\n Email: string;\n SessionID: string;\n TopAdmin: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DbService {\n\n static endpoint = 'https://db.beehive.services/';\n static websocketEndpoint = 'wss://db.beehive.services/ws';\n // static endpoint = 'http://localhost:8094/';\n\n listOptionDefaults: ListOptions = {\n fromCache: false,\n depth: 1,\n insight: false,\n page: 0,\n maxItems: 10,\n sortColumn: 'createdAt',\n direction: 'DESC',\n };\n\n constructor(\n public dialog: MatDialog,\n public utils: UtilsService,\n public http: HttpClient,\n public snackBar: MatSnackBar,\n ) {\n DataStore.db = this;\n }\n\n AuthSession: SessionObj | null = null;\n\n curBlogPost: MadisonBlogPostType | null = null;\n likedPosts: { [id: string]: boolean } = {};\n likedComments: { [id: string]: boolean } = {};\n authors: { [id: string]: PersonType } = {};\n\n allPostsCache: MadisonBlogPostType[] = [];\n allPostsScrollPos = 0;\n\n onGoingRequests: Set = new Set();\n RequestCallbacks: Set = new Set();\n\n CallQueue: { data: any, quiet: boolean, resolve: (value?: CallResponse | PromiseLike) => void }[] = [];\n IsCallingQueue = false;\n\n ListLastTime: {\n [type: string]: number;\n } = {};\n\n originalSchemaKeys: { [typeName: string]: string[] } = {};\n\n addSchemaKey(type: string, key: string): void {\n if (this.originalSchemaKeys[type]) {\n this.originalSchemaKeys[type].push(key);\n this.originalSchemaKeys[type] = Array.from(new Set(this.originalSchemaKeys[type]));\n }\n }\n\n getIndexes(type: string): {\n [key: string]: string;\n }[] {\n\n const indexes: { [key: string]: string }[] = [];\n\n const fields = [...(schema[type] || []), OwnerConnection];\n\n fields.forEach(field => {\n if (field.types.indexOf(schemaTypes.queryIndex) > -1) {\n indexes.push({\n Column: field.connectedListFieldValueEquals || field.name,\n IndexType: 'query',\n });\n }\n\n if (field.types.indexOf(schemaTypes.sortIndex) > -1) {\n indexes.push({\n Column: field.name,\n IndexType: 'sort',\n });\n }\n });\n\n\n return indexes;\n }\n // Map>>\n getConnections(type: string, level?: number, existingOutput?: ConnectionOutput): ConnectionOutput {\n\n if (!level) {\n level = 1;\n }\n\n const output: ConnectionOutput = existingOutput != null ? existingOutput : {};\n\n output[type] = [];\n\n const connectionTypes: string[] = [];\n\n const fields = [...(schema[type] || [])];\n\n if (type !== 'Person') {\n fields.push(OwnerConnection);\n }\n\n fields.forEach(field => {\n if (field.types.indexOf(schemaTypes.connection) > -1) {\n const fieldSplit: string[] = field.connectedTo.split('.');\n\n if (fieldSplit[0] !== type) {\n connectionTypes.push(fieldSplit[0]);\n }\n\n output[type].push({\n Table: fieldSplit[0],\n Field: fieldSplit[1],\n Equals: field.connectedListFieldValueEquals == null\n ? field.name\n : field.connectedListFieldValueEquals,\n Action:\n field.connectionReturns === connectionReturnType.singleObject\n ? 'get'\n : 'list',\n Saveto: field.name\n });\n }\n });\n\n if (level > 1) {\n level--;\n connectionTypes.forEach(theType => {\n this.getConnections(theType, level, output);\n });\n }\n\n return output;\n }\n\n saveConnections(\n typeName: string,\n responseConnections: { [key: string]: any },\n row: AllRowTypes,\n depth: number = 0\n ): AllRowTypes {\n\n if (typeof row.ID === 'undefined') {\n return row;\n }\n\n this.originalSchemaKeys[typeName] = Object.keys(row);\n\n if (responseConnections != null && responseConnections[row.ID] != null) {\n const connections: { [key: string]: any } = responseConnections[row.ID];\n\n Object.keys(connections).forEach(key => {\n let value = connections[key];\n value = JSON.parse(value);\n if (this.utils.isArray(value)) {\n value = value as [];\n Object.keys(value).forEach(index => {\n let item = value[index] as AllRowTypes;\n if (depth > 1) {\n item = this.saveConnections(typeName, responseConnections, item, depth - 1);\n }\n value[index] = this.PutDataStore(typeName, item);\n });\n row[key as keyof AllRowTypes] = value;\n } else {\n const field = this.utils.find([...(schema[typeName] || []), OwnerConnection], 'name', key);\n if (field != null) {\n if (value.__typename == null) {\n value.__typename = field.connectedTo.split('.')[0];\n }\n }\n if (depth > 1) {\n value = this.saveConnections(value.__typename, responseConnections, value, depth - 1);\n }\n row[key as keyof AllRowTypes] = this.PutDataStore(value.__typename, value) as any;\n }\n });\n }\n\n return row;\n }\n\n addOngoingRequest(request: Promise): void {\n\n this.onGoingRequests.add(request);\n\n this.sendRequestChange();\n\n request.then(() => {\n this.onGoingRequests.delete(request);\n this.sendRequestChange();\n });\n\n }\n\n sendRequestChange(): void {\n\n for (const callback of this.RequestCallbacks) {\n callback(this.onGoingRequests.size);\n }\n\n }\n\n onRequestChange(fn: (num: number) => void): void {\n this.RequestCallbacks.add(fn);\n }\n\n getReq(url: string): Promise {\n\n const promise = new Promise((resolve) => {\n\n this.http.get(url).subscribe(res => {\n resolve(res);\n }, (error: any) => {\n this.snackBar.open('HTTP Error', 'Dismiss', {\n duration: 6000\n });\n resolve({\n Success: false,\n internetConnection: 0,\n Message: 'Http Error'\n });\n });\n\n });\n\n this.addOngoingRequest(promise);\n\n return promise;\n\n }\n\n async processCallQueue(): Promise {\n\n if (!this.CallQueue.length) {\n return;\n }\n\n this.IsCallingQueue = false;\n\n const queue = [...this.CallQueue];\n this.CallQueue.length = 0;\n\n const calls = [];\n\n const data = {\n CMD: 'multiPlex',\n Params: '',\n };\n\n for (const call of queue) {\n calls.push(call.data);\n }\n\n data.Params = JSON.stringify(calls);\n\n const res = await this.http.post(DbService.endpoint, data).toPromise() as CallResponse;\n\n if (res.Success) {\n const responses: CallResponse[] = JSON.parse(res.Data);\n for (const response of responses) {\n\n const index = responses.indexOf(response);\n\n const call = queue[index];\n\n if (response.Data) {\n try {\n response.Data = `${response.Data}`.replace(/tuilder\\.imgix\\.net/g, 'cdn2.tda.website');\n response.Data = JSON.parse(response.Data) || response.Data;\n } catch (e) {\n console.warn(`Unable to parse response JSON.`);\n }\n }\n if (response.Connections) {\n response.Connections = JSON.parse(response.Connections);\n }\n\n if (!response.Success) {\n if (!call.quiet) {\n this.snackBar.open(response.Message || 'Unspecified Error.', 'Dismiss', {\n duration: 6000\n });\n }\n console.error('Error in db call', response.Message, data);\n }\n if (response.Notify && typeof response.Message !== 'undefined') {\n this.snackBar.open(response.Message, 'Dismiss', {\n duration: 6000\n });\n }\n response.internetConnection = 1;\n call.resolve(response);\n }\n }\n\n }\n\n call(data: any, quiet: boolean): Promise {\n\n const promise = new Promise((resolve) => {\n\n this.CallQueue.push({ data, quiet, resolve });\n\n if (!this.IsCallingQueue) {\n setTimeout(() => {\n this.processCallQueue();\n });\n }\n\n });\n\n this.addOngoingRequest(promise);\n\n return promise;\n\n }\n\n getSessionValue(): string {\n\n const value = localStorage.getItem('session');\n\n if (value !== null) {\n return value;\n }\n\n return '';\n\n }\n\n q(cmd: string, params: any, quiet: boolean = false): Promise {\n\n const SessionValue = this.getSessionValue();\n\n if (SessionValue) {\n params.session = SessionValue;\n }\n\n return this.call({ cmd, params }, quiet);\n\n }\n\n Singleton(row: AllRowTypes): any {\n\n // Keep a single record of all objects, by id\n // ID should be universally unique\n\n if (typeof row.ID === 'undefined') {\n return row;\n }\n\n // If key with matching ID found in existing singletons\n if (DataStore.singletons[row.ID]) {\n\n // Extend row properties onto existing singleton, and return singleton\n\n // loop through row keys\n Object.keys(row).forEach(key => {\n\n if (typeof row.ID !== 'undefined') {\n\n // Value\n const val = row[key as keyof AllRowTypes];\n\n if (!this.utils.isObject(DataStore.singletons[row.ID][key]) || this.utils.isObject(val)) {\n // Extend value to singleton\n DataStore.singletons[row.ID][key] = val;\n }\n\n }\n\n\n });\n\n // Return singleton obj\n return DataStore.singletons[row.ID];\n\n } else {\n\n // Add to row to singleton\n DataStore.singletons[row.ID] = row;\n return row;\n\n }\n }\n\n InitDataStore(type: string): void {\n // Initialise type in datastore, if it doesn't exist create new set\n // Sets are faster than arrays and garuntee uniqueness\n DataStore.sets[type] = DataStore.sets[type] || new Set();\n }\n\n ClearDataStore(): void {\n DataStore.sets = {};\n DataStore.singletons = {};\n }\n\n RemoveFromDataStore(item: any): void {\n\n if (DataStore.singletons[item.ID]) {\n delete DataStore.singletons[item.ID];\n }\n\n const Set = DataStore.sets[item.__typename];\n\n if (Set && Set.has(item)) {\n Set.delete(item);\n }\n\n }\n\n PutDataStore(type: string, row: AllRowTypes): AllRowTypes {\n\n // Init store for type\n this.InitDataStore(type);\n\n // Ensure row is singleton\n row = this.Singleton(row);\n\n // Add to set\n DataStore.sets[type].add(row);\n\n return row;\n\n }\n\n async batchPut(input: BatchInput): Promise {\n\n const data: {\n type: string;\n rows: string;\n _IDX: string;\n }[] = [];\n\n input.forEach(row => {\n\n const rows: string[] = [];\n const type = row.type;\n\n row.data.forEach(itm => {\n this.addRowDefaults(itm, type);\n itm = this.removeSchemaKeys(itm);\n rows.push(JSON.stringify(itm));\n });\n\n data.push({\n type,\n rows: JSON.stringify(rows),\n _IDX: JSON.stringify(this.getIndexes(type))\n });\n\n });\n\n // Send to database\n return await this.q('crud:batchPut', { batchData: JSON.stringify(data), type: 'batch' });\n\n }\n\n async batchGet(type: string, IDs: string[], depth: number = 1): Promise {\n\n // Send to database\n const res = await this.q('crud:batchGet', {\n IDs: JSON.stringify(IDs),\n type,\n depth: depth.toString(),\n _CNX: depth ? JSON.stringify(this.getConnections(type, depth)) : null,\n });\n\n const rows: AllRowTypes[] = res.Data;\n\n rows.forEach(row => {\n\n this.saveConnections(type, res.Connections, row, depth);\n row = this.PutDataStore(type, row);\n\n });\n\n return rows;\n\n }\n\n addRowDefaults(row: GenericRow, type: string): GenericRow {\n row.__typename = type;\n\n // Add id to row if it doesn't exist\n if (!row.ID) {\n row.ID = this.utils.uid();\n }\n\n if (this.AuthSession !== null) {\n // Add owner of the field\n if (!row.Owner || !this.AuthSession.TopAdmin) {\n row.Owner = this.AuthSession.Person;\n }\n }\n\n // Add typename\n row.__typename = type;\n\n // ISO string of date\n const ISOString = (new Date()).toISOString();\n\n // Update time\n row.updatedAt = ISOString;\n\n // If no createdAt property exists yet, safe to assume it is created now\n if (!row.createdAt) {\n row.createdAt = ISOString;\n }\n\n return row;\n }\n\n convertOwnerFields(row: any): any {\n\n if (row.Owner && this.utils.isObject(row.Owner)) {\n const Owner = row.Owner as any;\n row.Owner = Owner.ID;\n }\n\n Object.keys(row).forEach(key => {\n if (this.utils.isObject(row[key])) {\n row[key] = this.removeSchemaKeys(Object.assign({}, row[key]));\n }\n });\n\n return row;\n }\n\n stringify(input: any): string {\n if (this.utils.isArray(input)) {\n input.forEach((itm: any) => {\n if (this.utils.isObject(itm)) {\n this.removeCircular(itm);\n }\n });\n }\n return JSON.stringify(input);\n }\n\n removeCircular(input: any): void {\n if (this.utils.isObject(input) || this.utils.isArray(input)) {\n if (this.utils.isObject(input) && input.__typename) {\n this.removeSchemaKeys(input);\n } else {\n Object.keys(input).forEach(k => {\n const v = input[k];\n if (this.utils.isObject(v) || this.utils.isArray(v)) {\n this.removeCircular(v);\n }\n });\n }\n }\n }\n\n removeSchemaKeys(row: any): any {\n\n row = Object.assign({}, row);\n\n if (row.__typename && this.originalSchemaKeys[row.__typename]) {\n const allowedKeys = this.originalSchemaKeys[row.__typename];\n Object.keys(row).forEach(key => {\n if (allowedKeys.indexOf(key) < 0 || key === 'OwnerObj') {\n delete row[key];\n }\n });\n }\n\n Object.keys(row).forEach(key => {\n if (this.utils.isObject(row[key]) && row[key].__typename) {\n const rowObj = row[key] as GenericRow;\n row[key] = this.removeSchemaKeys(rowObj);\n }\n });\n\n return row;\n\n }\n\n async put(type: any, row?: AllRowTypes): Promise {\n\n if (typeof row === 'undefined' && this.utils.isObject(type)) {\n row = type as AllRowTypes;\n type = row.__typename;\n } else if (typeof row === 'undefined') {\n console.warn('Empty put request');\n return;\n }\n\n const rowObj = row as AllRowTypes;\n\n this.addRowDefaults(row, type);\n\n // Put to local datastore\n row = this.PutDataStore(type, row);\n\n row = this.removeSchemaKeys(row);\n\n // Send to database\n await this.q('crud:put', {\n type,\n row: JSON.stringify(row),\n ID: rowObj.ID || '',\n _IDX: JSON.stringify(this.getIndexes(type)),\n });\n\n return row;\n\n }\n\n async listAll(type: string, ops?: ListOptions): Promise> {\n\n ops = ops || {};\n\n ops.insight = true;\n\n return await this.list(type, ops);\n\n }\n\n async listPage(\n type: string,\n page: number = 1,\n maxItems: number = 10,\n sortColumn: string = 'createdAt',\n direction: 'ASC' | 'DESC' = 'DESC',\n fromCache: boolean = false,\n depth: number = 0,\n ): Promise> {\n\n return await this.list(type, {\n fromCache,\n depth,\n insight: true,\n page,\n maxItems,\n sortColumn,\n direction\n });\n\n }\n\n addListDefaultOptions(ops: any): ListOptions {\n\n if (ops) {\n\n const keys = Object.keys(this.listOptionDefaults);\n for (const k of keys) {\n if (typeof ops[k as keyof ListOptions] === 'undefined') {\n ops[k as keyof ListOptions] = this.listOptionDefaults[k as keyof ListOptions];\n }\n }\n\n return ops;\n\n }\n\n return this.listOptionDefaults;\n\n }\n\n async list(\n type: string,\n optionsFrmUsr?: ListOptions,\n ): Promise> {\n\n const options = this.addListDefaultOptions(optionsFrmUsr);\n\n this.InitDataStore(type);\n\n return new Promise>(resolve => {\n\n if (options.fromCache && DataStore.sets[type].size) {\n\n resolve(DataStore.sets[type]);\n\n } else {\n\n const Now = (new Date()).getTime() / 1000; // seconds\n\n const page = typeof options.page === 'undefined' ? 0 : options.page;\n\n const listPage = page > 0 ? true : false;\n\n // Ten minute TTL\n // Auto list from cache if last list was in the last 2 minutes\n // if (!listPage && this.ListLastTime[type] && Now - this.ListLastTime[type] < 120 && DataStore.sets[type].size) {\n // resolve(DataStore.sets[type]);\n // } else {\n\n this.ListLastTime[type] = Now;\n\n const cmd = listPage ? 'listPage' : 'list';\n\n if (options.columns) {\n options.columns.push('ID');\n }\n\n const maxItems = typeof options.maxItems === 'undefined' ? 10 : options.maxItems;\n const depth = typeof options.depth === 'undefined' ? 0 : options.depth;\n\n this.q(`crud:${cmd}`, {\n type,\n page: page.toString(),\n maxItems: maxItems.toString(),\n sortColumn: options.sortColumn,\n direction: options.direction,\n depth: depth.toString(),\n insight: options.insight ? 'true' : 'false',\n columns: options.columns ? JSON.stringify(options.columns) : '',\n _CNX: depth > 0 ? JSON.stringify(this.getConnections(type, depth)) : '',\n }).then(response => {\n\n if (typeof response.Data === 'object' && response.Data.length && typeof response.Data[0] === 'object') {\n const rows: any[] = response.Data.reverse();\n\n for (let row of rows) {\n row = this.saveConnections(type, response.Connections, row, options.depth);\n this.PutDataStore(type, row);\n }\n\n if (!listPage) {\n resolve(DataStore.sets[type]);\n } else {\n const set = new Set();\n for (const row of rows) {\n set.add(row);\n }\n resolve(set);\n }\n } else {\n console.log(response);\n resolve(new Set());\n }\n\n });\n\n // }\n\n }\n\n });\n\n\n }\n\n get(type: string, ID: string, fromCache?: boolean, depth: number = 1): Promise {\n\n return new Promise(resolve => {\n\n let returned = false;\n\n // Return from cache if exists there\n if (fromCache) {\n\n // Init datastore in case it isn't already\n this.InitDataStore(type);\n\n // Loop over items\n for (const item of DataStore.sets[type]) {\n\n // If matching ID\n if (item.ID === ID) {\n\n // Resolve promise with item\n resolve(item);\n returned = true;\n break;\n }\n }\n }\n\n if (returned) {\n return;\n }\n\n this.q('crud:get', {\n type,\n ID,\n depth: depth.toString(),\n _CNX: depth ? JSON.stringify(this.getConnections(type, depth)) : null,\n }, true).then(response => {\n\n let row: AllRowTypes = response.Data;\n\n this.saveConnections(type, response.Connections, row, depth);\n\n row = this.PutDataStore(type, row);\n\n resolve(row);\n\n });\n\n });\n\n }\n\n async delete(item: AllRowTypes): Promise {\n\n return new Promise(resolve => {\n\n if (item.ID && item.__typename) {\n this.q('crud:delete', {\n type: item.__typename,\n ID: item.ID,\n _IDX: JSON.stringify(this.getIndexes(item.__typename)),\n }).then(response => {\n\n if (response.Success) {\n this.RemoveFromDataStore(item);\n resolve(true);\n } else {\n resolve(false);\n console.error(response);\n }\n\n });\n } else {\n console.error('Unable to delete item.', item);\n resolve(false);\n }\n\n });\n\n }\n\n async multiQuery(\n type: string,\n query: MultiQueryInput[],\n depth: number = 1,\n saveObj: boolean = true\n ): Promise {\n\n const response = await this.q('crud:multiQuery', {\n type,\n query: JSON.stringify(query),\n depth: depth.toString(),\n _CNX: JSON.stringify(this.getConnections(type, depth)),\n });\n\n const rows: any[] = response.Data;\n\n const Output: T[] = [];\n\n for (const row of rows) {\n if (saveObj) {\n if (response.Connections != null &&\n response.Connections[row.ID] != null) {\n const connections = response.Connections[row.ID] as { [key: string]: any };\n\n Object.keys(connections).forEach(key => {\n const CnxValue = JSON.parse(connections[key]);\n if (this.utils.isArray(CnxValue)) {\n const InnerOutput: any[] = [];\n CnxValue.forEach((item: AllRowTypes) => {\n if (typeof item.__typename !== 'undefined') {\n InnerOutput.push(this.PutDataStore(item.__typename, item));\n }\n });\n row[key] = InnerOutput;\n } else {\n row[key] = this.PutDataStore(CnxValue.__typename, CnxValue);\n }\n });\n }\n Output.push(this.PutDataStore(type, row) as T);\n } else {\n Output.push(row);\n }\n }\n\n return Output;\n }\n\n\n query(\n type: string,\n column: string,\n value: string,\n fromCache?: boolean,\n depth: number = 2,\n saveObj: boolean = true,\n ): Promise> {\n\n return new Promise>(resolve => {\n\n this.q('crud:query', {\n type,\n column,\n value,\n depth: depth.toString(),\n _CNX: JSON.stringify(this.getConnections(type, depth)),\n }).then(response => {\n\n const rows: any[] = response.Data;\n\n const Output = new Set();\n\n for (const row of rows) {\n if (saveObj) {\n if (response.Connections != null &&\n response.Connections[row.ID] != null) {\n const connections = response.Connections[row.ID] as { [key: string]: any };\n\n Object.keys(connections).forEach(key => {\n const CnxValue = JSON.parse(connections[key]);\n if (this.utils.isArray(CnxValue)) {\n const InnerOutput: any[] = [];\n CnxValue.forEach((item: AllRowTypes) => {\n if (typeof item.__typename !== 'undefined') {\n InnerOutput.push(this.PutDataStore(item.__typename, item));\n }\n });\n row[key] = InnerOutput;\n } else {\n row[key] = this.PutDataStore(CnxValue.__typename, CnxValue);\n }\n });\n }\n Output.add(this.PutDataStore(type, row));\n } else {\n Output.add(row);\n }\n }\n\n resolve(Output);\n\n });\n\n });\n\n }\n\n isSchemaTypeLike(key: string): boolean {\n // SchemaType example: _Page\n return key && typeof key === 'string' && key.match('^\\_[a-zA-Z]+$') ? true : false;\n }\n\n Subscribe(\n types: string[] | string,\n fn: (message: T) => void,\n Owner: string = this.AuthSession?.Person || '',\n ): WebSocket {\n if (typeof types === 'string') {\n types = [types];\n }\n const socket = new WebSocket(\n `${DbService.websocketEndpoint}?session=${this.AuthSession?.SessionID || ''}&` +\n `owner=${Owner}&` +\n `types=${types.join(',')}`\n );\n\n socket.onopen = () => {\n // console.log('Successfully Connected');\n };\n\n socket.onmessage = msg => {\n let row = JSON.parse(JSON.parse(msg.data).row) as AllRowTypes;\n if (row.__typename) {\n row = this.PutDataStore(row.__typename, row);\n }\n fn(row as T);\n };\n\n socket.onclose = event => {\n // console.log('Socket Closed Connection: ', event);\n };\n\n socket.onerror = error => {\n // console.log('Socket Error: ', error);\n };\n\n return socket;\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-ambassador-program',\n templateUrl: './abassador-program.component.html',\n styleUrls: ['./abassador-program.component.scss']\n})\nexport class AbassadorProgramComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n\n
\n
\n

Together we can change the world.

\n

Join the ambassador program and receive FREE & exclusive resources.

\n

\n \n MORE INFO\n arrow_right\n \n

\n
","import { Component, OnInit, Input, Inject } from '@angular/core';\nimport { MadisonBlogPostType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginWithProviderComponent } from '../login-with-provider/login-with-provider.component';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { Router } from '@angular/router';\nimport { ViewAuthorComponent } from 'src/app/dialogs/view-author/view-author.component';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-news-social-summary',\n templateUrl: './news-social-summary.component.html',\n styleUrls: ['./news-social-summary.component.scss']\n})\nexport class NewsSocialSummaryComponent implements OnInit {\n\n @Input() post!: MadisonBlogPostType;\n\n constructor(\n public db: DbService,\n private auth: AuthService,\n private dialog: MatDialog,\n private router: Router,\n private clipboard: Clipboard,\n private utils: UtilsService,\n @Inject(WINDOW) private window: Window,\n ) { }\n\n ngOnInit(): void {\n this.loadLike();\n }\n\n async loadLike(): Promise {\n if (this.auth.getSessionValue()) {\n this.db.query('BlogLike', 'Key', this.post.ID || '', false, 0).then(res => {\n for (const item of res) {\n if (typeof item !== 'undefined' && item.Owner === this.auth.personID && this.post.ID) {\n this.db.likedPosts[this.post.ID] = true;\n }\n }\n });\n }\n }\n\n open(): void {\n this.db.curBlogPost = this.post;\n this.router.navigateByUrl('/news-post/' + this.post.ID);\n }\n\n viewAuthor(): void {\n this.dialog.open(ViewAuthorComponent, {\n data: this.post.Owner,\n width: '400px',\n });\n }\n\n async like(): Promise {\n if (!this.post.ID) {\n return;\n }\n if (!this.auth.getSessionValue()) {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n await this.loadLike();\n if (this.post.ID && !this.db.likedPosts[this.post.ID]) {\n this.like();\n }\n }\n });\n } else {\n this.db.likedPosts[this.post.ID] = !this.db.likedPosts[this.post.ID];\n this.post.Likes = this.post.Likes || 0;\n if (this.db.likedPosts[this.post.ID]) {\n this.post.Likes++;\n } else {\n this.post.Likes--;\n }\n await this.db.q('likeBlogPost', { id: this.post.ID });\n }\n }\n\n get link(): string {\n let output = '';\n if (this.post && this.post.ID) {\n output = `https://${this.utils.orgSite}/view-post/${this.post.ID}`;\n }\n return output;\n }\n\n copyLink(): boolean {\n let response = false;\n let message = 'Something is wrong with this post. Couldn\\'t copy the link';\n if (this.link) {\n this.clipboard.copy(this.link);\n message = 'Link has been copied to your clipboard';\n response = true;\n }\n this.db.snackBar.open(message, 'DISMISS', {\n duration: 5000,\n });\n return response;\n }\n\n openLink(link: string): void {\n this.window.open(link);\n }\n\n shareToFacebook(): void {\n this.openLink(`https://www.facebook.com/sharer/sharer.php?u=${this.link}`);\n }\n\n shareToEmail(): void {\n this.openLink(`mailto:?Subject=${this.post.Title}&Body=${this.link}`);\n }\n\n}\n","
\n \n \n \n \n \n
\n\n\n \n \n \n","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { DbService } from 'src/app/services/db.service';\nimport { DonationType } from 'src/app/services/DataStore';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-donation-receipt',\n templateUrl: './donation-receipt.component.html',\n styleUrls: ['./donation-receipt.component.scss']\n})\nexport class DonationReceiptComponent implements OnInit, OnDestroy {\n\n paramsSubscription: Subscription | null = null;\n\n Donation: DonationType | null = null;\n\n constructor(\n private activeRoute: ActivatedRoute,\n private auth: AuthService,\n private db: DbService,\n private router: Router,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n ) { }\n\n IsTopAdmin = false;\n\n ngOnDestroy(): void {\n if (this.paramsSubscription) {\n this.paramsSubscription.unsubscribe();\n }\n }\n\n ngOnInit(): void {\n this.paramsSubscription = this.activeRoute.params.subscribe(routeParams => {\n\n if (routeParams.id) {\n\n this.load(routeParams.id);\n\n }\n\n });\n\n this.IsTopAdmin = this.auth.isTopAdmin();\n\n }\n\n async load(id: string): Promise {\n\n this.Donation = await this.db.get('Donation', id);\n\n this.utils.updateMeta({\n BrowserTitle: `Donation receipt #${this.Donation?.DonationID}`,\n Title: `Donation receipt #${this.Donation?.DonationID}`,\n Description: `This is your donation receipt. Thank you so much for your support.`,\n });\n\n }\n\n async delete(): Promise {\n if (this.Donation && confirm('Delete this donation?')) {\n await this.db.delete(this.Donation);\n this.db.snackBar.open('Donation has been deleted.', 'Dismiss');\n this.router.navigateByUrl('my-account');\n }\n }\n\n print(): void {\n this.window.print();\n }\n\n}\n","
\n

Thank you for your donation!

\n

We are so thankful for your support.

\n
\n

Loading...

\n
\n
\n
\n
\n
Donation
\n
\n Receipt #: {{ Donation.DonationID }}
{{ Donation.createdAt | date:'mediumDate' }}\n
\n
\n
\n \n
\n
\n
\n
\n

Customer Details

\n
\n {{ Donation.First }} {{ Donation.Last }}
<{{ Donation.Email }}>\n
\n
\n
\n

Payment to

\n
\n Madison Missions Australia Ltd.
ABN: 93 637 957 085
19 Westleys Rd
Faulkland NSW 2422
mail@madison.org.au
\n
\n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

Description

\n
\n

Price

\n
Donation{{ Donation.Amount | currency }}
TOTAL:{{ Donation.Amount | currency }}
GST:{{ 0 | currency }}
\n
\n
\n
Status: Paid
\n
Paid by {{ Donation.CardBrand }} ending in {{ Donation.CardLast4 }}
\n
\n
\n
\n \n
","\nexport enum schemaTypes {\n connection,\n queryIndex,\n sortIndex,\n}\n\nexport enum connectionReturnType {\n list,\n singleObject\n}\n\nexport interface SchemaTableField {\n name: string;\n types: schemaTypes[];\n connectedTo: string;\n connectionReturns?: connectionReturnType;\n defaultValue?: string;\n connectedListFieldValueEquals?: string;\n}\n\nexport const OwnerConnection: SchemaTableField = {\n name: 'OwnerObj',\n types: [\n schemaTypes.queryIndex,\n schemaTypes.connection,\n ],\n connectedTo: 'Person.ID',\n connectionReturns: connectionReturnType.singleObject,\n connectedListFieldValueEquals: 'Owner',\n};\n\nexport const schema: { [key: string]: SchemaTableField[] } = {\n Person: [\n {\n name: 'Addresses',\n types: [\n schemaTypes.connection,\n ],\n connectedTo: 'Address.Owner',\n connectedListFieldValueEquals: 'ID',\n connectionReturns: connectionReturnType.list,\n },\n {\n name: 'Donations',\n types: [\n schemaTypes.connection,\n ],\n connectedTo: 'Donation.Owner',\n connectedListFieldValueEquals: 'ID',\n connectionReturns: connectionReturnType.list,\n }\n ],\n};\n","import { Component, OnInit, Input } from '@angular/core';\nimport { AddressType } from 'src/app/services/DataStore';\n\n@Component({\n selector: 'app-show-address',\n templateUrl: './show-address.component.html',\n styleUrls: ['./show-address.component.scss']\n})\nexport class ShowAddressComponent implements OnInit {\n\n @Input() adr!: AddressType;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n {{ adr.name }}
{{ adr.mobile }}
{{ adr.address1 }}
\n {{ adr.address2 }} {{ adr.suburb }} {{ adr.state }} {{ adr.postcode }}\n
{{ adr.instructions }}
\n
\n\n
\n (no address)\n
","import { Component, OnInit } from '@angular/core';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-ambassadors',\n templateUrl: './ambassadors.component.html',\n styleUrls: ['./ambassadors.component.scss']\n})\nexport class AmbassadorsComponent implements OnInit {\n\n constructor(\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n // this.utils.updateMeta({});\n }\n\n}\n","\n
\n
\n\n
\n
\n

Ambassador Program

\n

Together we can change the world.

\n
\n
\n

We are looking for individuals who are:

\n
    \n
  • Enthusiastic, motivated, *personally* passionate about the Madison Vision
  • \n
  • Seventh Day Adventists in good standing
  • \n
  • Willing and able to participate in sharing avenues (e.g. social media, verbal, written etc.)
  • \n
  • Perhaps have been personally impacted by or connected with Eastward's ministry in the past (youth camps, canvassing, outreach)
  • \n
\n

What's involved?

\n
    \n
  • Not designed to be unrealistic or burdensome. Be involved as per your availability. It is a volunteer role.
  • \n
  • Help spread the word and raise awareness for the vision of a Madison-like missionary college. Some examples of what this could look like are:
  • \n
      \n
    • Local connections e.g. churches (videos, bulletin/verbal announcements)
    • \n
    • Online connections e.g. Social media (re-sharing, personal contacts), blogging, news outlets
    • \n
    • Events/camps/expo-booth
    • \n
    • Sharing Madison Missions resources
    • \n
    \n
  • Commit to initial online interview/briefing session help you feel well-informed, and then regular touch-base (e.g. fortnightly, monthly) with Madison Team Member; report ongoing activity, follow through with team leader requests/agreements\n
  • \n
  • Maintaining communication through emails
  • \n
  • Speaking well of team & vision
  • \n
\n

Why become an ambassador?

\n
    \n
  • Share in the mission. Make a difference. Help make it happen in a very real way!
  • \n\n
  • Free Eastward/Madison resources sent to you:
  • \n
      \n
    • x2 Great Controversy Magabooks
    • \n
    • x1 Wholesome Homemade Magabooks
    • \n
    • x12 Professionally printed Madison Vision Portfolio (38 pages, A4, full-colour, gloss)
    • \n
    • x1 Madison T-shirt (coming end of Dec)
    • \n
    \n
  • Simple training tools e.g. reference guide/handbook for ambassadors e.g. refer to, content guidelines (ie. using a specific custom hashtag on every post can help us keep track of social media results)
  • \n
  • Networking experience
  • \n
  • Personal meetings with Madison Team Members, ask any questions, feel up to date and knowledgeable, mentoring, support, guidance, what's working, what's not, hear your ideas
  • \n
  • Be one of the first to hear latest updates, exclusive info (special mailing list for ambassadors with news, campaign updates and tips). Special facebook group.
  • \n
\n
\n


\n

Would you like to be an Ambassador? Apply online.

\n

\n

\n APPLY\n

\n
\n
\n \"\"\n
","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Component, Inject, InjectionToken, OnInit, PLATFORM_ID, ViewChild } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { StringToDatePipe } from 'src/app/pipes/toDate';\nimport { MadisonBlogPostType, setTimeout$, VideoType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-all-posts',\n templateUrl: './all-posts.component.html',\n styleUrls: ['./all-posts.component.scss']\n})\nexport class AllPostsComponent implements OnInit, AfterViewInit {\n\n isLoading = true;\n isBrowser: boolean;\n\n @ViewChild('viewport') CdkScroll!: CdkVirtualScrollViewport;\n\n constructor(\n private breakpoint$: BreakpointObserver,\n private db: DbService,\n private toDate: StringToDatePipe,\n @Inject(WINDOW) private window: Window,\n private utils: UtilsService,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n breakpoint$.observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ]).subscribe(result => {\n if (result.breakpoints[Breakpoints.XSmall]) {\n\n this.chunkSize.next(2);\n\n } else if (result.breakpoints[Breakpoints.Small]) {\n\n this.chunkSize.next(3);\n\n }\n else if (result.breakpoints[Breakpoints.Medium]) {\n\n this.chunkSize.next(4);\n\n }\n else if (result.breakpoints[Breakpoints.Large]) {\n\n this.chunkSize.next(5);\n\n }\n else {\n\n this.chunkSize.next(6);\n\n }\n });\n }\n\n items: MadisonBlogPostType[] = [];\n renderer = [];\n chunkSize = new BehaviorSubject(2);\n\n ngOnInit(): void {\n this.load();\n this.utils.updateMeta({\n BrowserTitle: 'All news posts',\n Title: 'All news posts',\n Description: 'A news wall with everything from Eastward & Madison Missions.',\n });\n }\n\n ngAfterViewInit(): void {\n // if (this.window.scrollTo) {\n // this.window.scrollTo(0, 0);\n // }\n }\n\n async load(): Promise {\n if (!this.db.allPostsCache.length) {\n this.items = Array.from(\n await this.db.listAll('MadisonBlogPost', {\n columns: ['Title', 'Images', 'Videos', 'CreatedAt', 'Likes', 'Views', 'Comments'],\n })\n );\n this.items.sort((a, b) => {\n return this.toDate.transform(b.CreatedAt || '').getTime() - this.toDate.transform(a.CreatedAt || '').getTime();\n });\n this.db.allPostsCache = this.items;\n } else {\n this.items = this.db.allPostsCache;\n }\n setTimeout(() => {\n if (this.CdkScroll) {\n\n this.CdkScroll.getElementRef().nativeElement.scrollTop = this.db.allPostsScrollPos || 0;\n this.CdkScroll.elementScrolled().subscribe(res => {\n this.db.allPostsScrollPos = (res.target as HTMLElement).scrollTop;\n });\n }\n }, 0);\n this.render();\n this.isLoading = false;\n }\n\n render(): void {\n this.chunkSize.subscribe(chunkSize => {\n this.renderer = this.toChunks(this.items, chunkSize);\n });\n }\n\n tail = (a: any[]) => a[a.length - 1];\n\n chunkReducerForSize = (chunkSize = 2) => (result: any[], item: MadisonBlogPostType) => {\n const lastElm = this.tail(result);\n if (lastElm.length === chunkSize) {\n result.push([item]);\n } else {\n lastElm.push(item);\n }\n return result;\n }\n\n toChunks = (arr: any[], chunkSize = 5) => {\n return arr.reduce(this.chunkReducerForSize(chunkSize), [[]]);\n }\n\n cardStyle(post: MadisonBlogPostType): { [key: string]: string } {\n let image = '';\n if (post.Images && post.Images.length && !post.Videos?.length) {\n image = post.Images[0] + '?w=300&h=200&fit=crop&crop=faces';\n } else if (post.Videos && post.Videos.length) {\n image = this.videoUrl(post.Videos[0]);\n }\n if (image !== '') {\n return {\n 'background-image': `url('${image}')`\n };\n } else {\n return {\n 'background-color': `#333`\n };\n }\n }\n\n videoUrl(vid: VideoType): string {\n if (vid.PlaybackIDs) {\n if (vid && vid.MuxStatus === 'ready') {\n return 'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=180&fps=3&start=' +\n (vid.GifStartTime || '0');\n } else {\n return 'https://cdn2.tda.website/beehive/20201104/Video-Processing-4x-80.jpg?w=130&h=130&fit=crop&crop=faces';\n }\n }\n return '';\n }\n\n}\n","\n\n

News Updates

\n\n \n\n\n\n
\n \n
","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { DbService } from 'src/app/services/db.service';\nimport { StaffAppUserType } from 'src/app/services/DataStore';\n\n@Component({\n selector: 'app-view-author',\n templateUrl: './view-author.component.html',\n styleUrls: ['./view-author.component.scss']\n})\nexport class ViewAuthorComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public authorID: string,\n private db: DbService,\n ) { }\n\n author: StaffAppUserType | null = null;\n imageSettings = '?h=300&w=400&fit=facearea&facepad=10&auto=format';\n\n ngOnInit(): void {\n this.load();\n }\n\n async load(): Promise {\n this.author = await this.db.get('AppUser', this.authorID.replace('APP_', ''), false, 0);\n }\n\n}\n","
\n \n
\n\n\n
\n

{{ author.Name }}

\n
\n \"\"\n
\n {{ author.Bio }}\n
\n
\n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-reset-pwd',\n templateUrl: './reset-pwd.component.html',\n styleUrls: [\n '../login/login.component.scss',\n './reset-pwd.component.scss',\n ]\n})\nexport class ResetPwdComponent implements OnInit {\n\n activity = false;\n resetForm: FormGroup | null = null;\n hidePwd1 = true;\n hidePwd2 = true;\n\n constructor(\n private router: Router,\n private db: DbService,\n private route: ActivatedRoute,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n\n this.resetForm = new FormGroup({\n\n password1: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n password2: new FormControl('', [Validators.required, Validators.pattern(\n /^(?=.*\\d)(?=.*[a-zA-Z]).{6,}$/\n )]),\n\n });\n\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.resetForm?.controls[controlName].hasError(errorName) || false;\n }\n\n async reset(data: any): Promise {\n\n if (data.password1 !== data.password2) {\n alert('The two passwords do not match. Please double-check;');\n return;\n }\n\n this.activity = true;\n\n const key: string = this.route.snapshot.queryParamMap.get('key') || '';\n\n const password = data.password1;\n\n const res = await this.db.q('auth:resetPwd', { password, key, });\n\n if (res.Success) {\n this.snackBar.open('Your password has been reset. Please login.', 'Dismiss', {\n duration: 6000,\n });\n this.router.navigateByUrl('/login');\n } else if (res.Message) {\n this.snackBar.open(res.Message, 'Dismiss', {\n duration: 6000,\n });\n }\n\n this.activity = false;\n }\n\n}\n","\n\n
\n\n
\n\n

Reset Your Password

\n\n
\n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n \n \n \n Password is required\n Must be at least six characters with a letter and a number.\n \n\n

\n \n

\n\n
\n Login\n
\n\n
\n\n
\n
\n
\n","import { Router } from '@angular/router';\n// import { LoginData } from './../screens/auth/login/login.component';\nimport { Injectable } from '@angular/core';\nimport { CallResponse, DbService } from './db.service';\nimport { UtilsService } from './utils.service';\n// import { SignupData } from '../screens/auth/signup/signup.component';\nimport { PersonType } from './DataStore';\n\nexport interface SessionStore {\n Expires: number;\n Expired: boolean;\n Person: string;\n PersonObj: PersonType;\n Email: string;\n SessionID: string;\n TopAdmin: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n authChecked = false;\n personID: string | null = null;\n sessionObj!: SessionStore;\n person: PersonType | null = null;\n\n constructor(\n private db: DbService,\n private utils: UtilsService,\n private router: Router,\n ) { }\n\n stateChangeCallbacks: Array<(AuthState: boolean) => void> = [];\n\n isTopAdmin(): boolean {\n\n return this.authChecked && this.sessionObj && this.sessionObj.TopAdmin;\n\n }\n\n logout(): Promise {\n\n const sessionID = this.getSessionValue();\n\n this.db.likedComments = {};\n this.db.likedPosts = {};\n\n this.destroySession();\n\n return this.db.q('auth:logout', { session: sessionID });\n\n }\n\n async login(data: any): Promise {\n\n const LoginResponse = await this.db.q('auth:login', data);\n\n if (LoginResponse.Success) {\n\n const SessionObj: SessionStore = LoginResponse.Data;\n\n localStorage.setItem('session', SessionObj.SessionID);\n\n this.db.AuthSession = this.sessionObj;\n\n this.authChecked = true;\n\n await this.checkSession();\n\n }\n\n return LoginResponse.Success;\n\n }\n\n async checkSession(): Promise {\n\n if (!this.getSessionValue()) {\n\n return false;\n\n }\n const AuthCheckResponse = await this.db.q('auth:check', { session: this.getSessionValue() });\n\n if (AuthCheckResponse.internetConnection) {\n\n this.sessionObj = AuthCheckResponse.Data;\n\n if (AuthCheckResponse.Success) {\n\n this.db.AuthSession = this.sessionObj;\n\n this.personID = AuthCheckResponse.Data.Person;\n\n const PersonObj = await this.db.get('Person', this.personID || '') as PersonType;\n\n if (!PersonObj.__typename) {\n await this.db.put('Person', PersonObj);\n }\n\n this.person = PersonObj;\n this.sessionObj.PersonObj = PersonObj;\n\n this.authChecked = true;\n this.runStateChangeCallbacks();\n\n } else {\n\n this.destroySession();\n\n if (!this.router.url.includes('/login')) {\n this.router.navigateByUrl('/login?return=' + this.router.url);\n }\n\n }\n\n }\n\n return AuthCheckResponse.Success;\n\n }\n\n hasSessionValue(): boolean {\n\n return this.getSessionValue() !== null;\n\n }\n\n getSessionValue(): string | null {\n\n return localStorage.getItem('session');\n\n }\n\n destroySession(): void {\n\n localStorage.removeItem('session');\n this.authChecked = false;\n this.person = null;\n this.personID = null;\n\n this.runStateChangeCallbacks();\n\n }\n\n signup(data: any): Promise {\n\n data.ID = this.utils.uid();\n\n return this.db.q('auth:signup', data);\n\n }\n\n runStateChangeCallbacks(): void {\n const Authenticated = this.authChecked && this.hasSessionValue();\n for (const fn of this.stateChangeCallbacks) {\n fn(Authenticated);\n }\n }\n\n onStateChange(callback: (AuthState: boolean) => void): void {\n\n this.stateChangeCallbacks.push(callback);\n\n callback(this.authChecked && this.hasSessionValue());\n\n }\n\n removeStateChangeCallback(callback: (AuthState: boolean) => void): void {\n this.utils.delete(this.stateChangeCallbacks, callback);\n }\n\n}\n","import { Component, OnInit, Input, OnDestroy, Inject, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { themeColorKeys } from 'src/app/modules/colors';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AppIntersection } from 'src/app/directives/in-view.directive';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { RouteEventsService } from 'src/app/services/router-events.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\n@Component({\n selector: 'app-back-header',\n templateUrl: './back-header.component.html',\n styleUrls: ['./back-header.component.scss']\n})\nexport class BackHeaderComponent implements OnInit {\n\n @Input() theme!: themeColorKeys;\n @Input() title!: string;\n @Input() back!: string;\n @Input() fragment?: string;\n @Input() padding = '60px';\n\n isBrowser: boolean;\n sticky = false;\n scrollBreakPoint = 0;\n originalPadding = '';\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n private router: Router,\n private routeEventsService: RouteEventsService,\n @Inject(WINDOW) private window: Window,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.originalPadding = this.padding;\n }\n\n windowScrollEvID: string | null = null;\n\n intersected($event: any): void {\n const event = $event as AppIntersection;\n if (event.scrollingDirection === 'down' && !event.isVisible && this.isBrowser) {\n this.scrollBreakPoint = event.scrollY;\n this.sticky = true;\n this.padding = '10px';\n } else if (this.sticky && event.scrollY > this.scrollBreakPoint) {\n this.sticky = false;\n this.padding = this.originalPadding;\n }\n }\n\n ngOnInit(): void {\n // console.log(this.routeEventsService.previousRoutePath.value);\n }\n\n GoBack(): void {\n const prevUrl = this.routeEventsService.previousRoutePath.value;\n const currentUrl = this.routeEventsService.currentRoutePath.value;\n if (prevUrl !== this.router.url && !prevUrl.includes(currentUrl)) {\n this.window.history.back();\n } else {\n this.router.navigate([this.back], {\n fragment: this.fragment\n });\n }\n }\n\n}\n","\n
\n \n

{{ title }}

\n
\n
","import { Injectable } from '@angular/core';\nimport { AuthService } from './auth.service';\nimport { HttpClient } from '@angular/common/http';\nimport { UtilsService } from './utils.service';\nimport { FrequencyString } from './DataStore';\n\nexport interface StripeCustomer {\n id: string;\n object: string;\n address: string;\n balance: number;\n created: number;\n currency: string;\n default_source: string;\n delinquent: boolean;\n description: string;\n discount: any;\n email: string;\n invoice_prefix: string;\n invoice_settings: {\n custom_fields: any;\n default_payment_method: any;\n footer: any\n };\n livemode: boolean;\n metadata: any;\n name: string;\n next_invoice_sequence: 1;\n phone: string;\n preferred_locales: any[];\n shipping: any;\n sources: {\n object: string;\n data: StripePmtSource[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n subscriptions: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n tax_exempt: string;\n tax_ids: {\n object: string;\n data: any[];\n has_more: boolean;\n total_count: number;\n url: string;\n };\n}\n\nexport interface StripePmtSource {\n id: string;\n object: string;\n address_city: string;\n address_country: string;\n address_line1: string;\n address_line1_check: string;\n address_line2: string;\n address_state: string;\n address_zip: string;\n address_zip_check: string;\n brand: string;\n country: string;\n customer: string;\n cvc_check: string;\n dynamic_last4: any;\n exp_month: 2;\n exp_year: 2022;\n fingerprint: string;\n funding: string;\n last4: string;\n metadata: {};\n name: string;\n tokenization_method: any;\n}\n\nexport interface StripeAddress {\n line1: string;\n city?: string;\n country?: string;\n line2?: string;\n postal_code?: string;\n state?: string;\n}\n\nexport interface OneTimePerson {\n First: string;\n Last: string;\n Email: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DonationPmtService {\n\n static PmtApiEndpoint = 'https://pcpwanrxfj.execute-api.ap-southeast-2.amazonaws.com/default/MadisonDonationFns';\n static BeehivePmtApiEndpoint = 'https://pcpwanrxfj.execute-api.ap-southeast-2.amazonaws.com/default/Beehive-Payment-Fns';\n\n constructor(\n private utils: UtilsService,\n private auth: AuthService,\n private http: HttpClient,\n ) { }\n\n async sendContactForm(name: string, email: string, phone: string, message: string,) {\n\n const TxnData = {\n cmd: 'ContactForm',\n name, email, phone, message,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async oneTime(\n token: any,\n amount: number,\n personDetails: OneTimePerson,\n source: string,\n frequency: FrequencyString,\n Comments: string,\n ): Promise {\n\n const TxnData = {\n cmd: 'OneTimeDonation',\n token,\n amountFormatted: amount.toFixed(2),\n amount: amount.toFixed(2).replace('.', ''),\n person: personDetails,\n source,\n frequency,\n Comments,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async recurringDonation(\n Token: any,\n amount: number,\n PersonID: string,\n Comments?: string,\n ): Promise {\n\n Comments = Comments || '';\n\n const TxnData = {\n cmd: 'RecurringDonation',\n AmountFormatted: amount.toFixed(2),\n Amount: amount.toFixed(2).replace('.', ''),\n Token,\n PersonID,\n Comments,\n };\n\n return await this.http.post(DonationPmtService.PmtApiEndpoint, TxnData).toPromise();\n\n }\n\n async saveCard(token: any, address: StripeAddress): Promise {\n\n address = this.utils.replaceValue(address, null, '');\n\n const response = await this.http.post(DonationPmtService.BeehivePmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n address,\n cmd: 'SaveCard',\n token,\n }).toPromise();\n\n return response;\n\n }\n\n async removeCard(cardID: string): Promise {\n\n const response = await this.http.post(DonationPmtService.BeehivePmtApiEndpoint, {\n session: this.auth.getSessionValue(),\n cmd: 'RemoveCard',\n cardID,\n }).toPromise();\n\n return response;\n\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { DbService } from 'src/app/services/db.service';\nimport { detect } from 'detect-browser';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-recover-pwd',\n templateUrl: './recover-pwd.component.html',\n styleUrls: [\n '../login/login.component.scss',\n './recover-pwd.component.scss'\n ]\n})\nexport class RecoverPwdComponent implements OnInit {\n\n activity = false;\n recoverForm: FormGroup | null = null;\n\n constructor(\n private db: DbService,\n public snackBar: MatSnackBar,\n ) { }\n\n\n ngOnInit(): void {\n this.recoverForm = new FormGroup({\n email: new FormControl('', [Validators.required, Validators.email]),\n });\n }\n\n async recover(value: any): Promise {\n this.activity = true;\n const Email = value.email;\n const result = detect() as any;\n await this.db.q('auth:recoverPwd', {\n Email,\n Browser: result.name,\n OS: result.os,\n });\n\n this.snackBar.open('If your email address is in the system, you will receive a password reset email.', 'Dismiss', {\n duration: 6000,\n });\n\n this.activity = false;\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.recoverForm?.controls[controlName].hasError(errorName) || false;\n }\n\n}\n","\n\n
\n\n
\n\n

Recover your password

\n\n
\n\n \n \n Email is required\n Invalid email\n \n\n

\n \n

\n\n
\n Login\n
\n\n
\n\n
\n
\n
\n","import { Component, OnInit, Output, EventEmitter, Inject, Optional } from '@angular/core';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { DbService } from 'src/app/services/db.service';\nimport { NotificationFrequency, NotificationPrefType } from 'src/app/services/DataStore';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { NotificationThanksComponent } from 'src/app/dialogs/notification-thanks/notification-thanks.component';\nimport { Router } from '@angular/router';\nimport { UtilsService } from 'src/app/services/utils.service';\n\n@Component({\n selector: 'app-my-notifications',\n templateUrl: './my-notifications.component.html',\n styleUrls: ['./my-notifications.component.scss']\n})\nexport class MyNotificationsComponent implements OnInit {\n\n prefs: NotificationPrefType | null = null;\n\n @Output() saved: EventEmitter = new EventEmitter();\n\n saving = false;\n\n constructor(\n public auth: AuthService,\n private db: DbService,\n private snack: MatSnackBar,\n private dialog: MatDialog,\n private router: Router,\n @Optional() @Inject(MAT_DIALOG_DATA) public isDialog: boolean,\n @Optional() private ref: MatDialogRef,\n private utils: UtilsService,\n ) { }\n\n ngOnInit(): void {\n if (!this.prefs) {\n this.prefs = {\n Frequency: 'Weekly',\n MuteComments: false,\n Unsubscribed: false,\n };\n }\n this.load();\n if (!this.ref) {\n this.utils.updateMeta({\n BrowserTitle: `Notifications - Activity Stream`,\n Title: `Notifications`,\n Description: `Notifications`,\n });\n }\n }\n\n async load(): Promise {\n const prefs = (Array.from(await this.db.list('NotificationPref')) || [])[0];\n if (prefs) {\n this.prefs = prefs;\n if (this.prefs?.Unsubscribed) {\n this.prefs.Frequency = null;\n }\n }\n }\n\n async save(): Promise {\n if (!this.prefs) {\n return;\n }\n\n this.saving = true;\n if (this.prefs.Frequency === null) {\n this.prefs.Frequency = 'Weekly';\n }\n await this.db.put('NotificationPref', this.prefs);\n if (!this.prefs.Unsubscribed && !this.prefs.MuteComments && !this.isDialog) {\n const ref = this.dialog.open(NotificationThanksComponent, {\n width: '700px',\n });\n ref.afterClosed().subscribe(() => {\n this.router.navigateByUrl('/');\n });\n } else {\n this.snack.open('Your preferences have been saved', 'DISMISS', {\n duration: 6000,\n });\n }\n this.saving = false;\n }\n\n async saveDialog(): Promise {\n await this.save();\n this.ref.close();\n }\n}\n","
\n
\n \n
\n

Be the first to know

\n

Get updates from Madison, Eastward, The Maker Heals & Beehive

\n
\n
\n
\n
\n
\n

{{ auth.person?.First || 'Hi' }}, how often would you like to know what's going on?

\n

 

\n \n
\n
\n \n Daily\n
\n
\n
\n
\n \n Weekly\n
\n
\n
\n
\n \n Fortnightly\n
\n
\n
\n
\n \n Monthly\n
\n
\n
\n

We'll send you an email digest with highlights from the activity stream.

\n\n
\n \n
\n

 

\n

Other preferences

\n

 

\n Mute comment notifications\n

 

\n Unsubscribe from everything\n

 

\n\n
\n \n
\n
\n
\n
\n
\n \n \n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-fullscreen-image',\n templateUrl: './fullscreen-image.component.html',\n styleUrls: ['./fullscreen-image.component.scss']\n})\nexport class FullscreenImageComponent implements OnInit {\n\n @Input() src!: string;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { Component, OnInit, Inject, Input, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { MadisonBlogPostType, StaffAppUserType, CategoryMeta, VideoType, setTimeout$ } from '../../services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { StringToDatePipe } from 'src/app/pipes/toDate';\nimport { WINDOW } from 'src/app/services/window.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LoginProvidersDialogComponent } from 'src/app/dialogs/login-providers-dialog/login-providers-dialog.component';\nimport { AuthService } from 'src/app/services/auth.service';\nimport { AppIntersection } from 'src/app/directives/in-view.directive';\nimport { MyNotificationsComponent } from 'src/app/screens/my-notifications/my-notifications.component';\nimport { isPlatformBrowser } from '@angular/common';\n\nlet NewsScrollPos = 0;\n\n@Component({\n selector: 'app-news',\n templateUrl: './news.component.html',\n styleUrls: ['./news.component.scss']\n})\nexport class NewsComponent implements OnInit {\n\n @Input() autoLoadPosts = true;\n isBrowser: boolean;\n posts: MadisonBlogPostType[] = [];\n users: StaffAppUserType[] = [];\n usersById: { [id: string]: StaffAppUserType } = {};\n loading = true;\n isMore = true;\n isLoadingMore = false;\n page = 1;\n perPage = 13;\n url: string;\n base = 'https://cdn2.tda.website/beehive/';\n\n constructor(\n private db: DbService,\n private router: Router,\n private toDate: StringToDatePipe,\n private utils: UtilsService,\n private dialog: MatDialog,\n private auth: AuthService,\n @Inject(WINDOW) private window: Window,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n this.url = this.router.url;\n }\n\n categoryMeta = CategoryMeta;\n\n ngOnInit(): void {\n this.load();\n this.router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n if (e.url === this.url) {\n this.restoreScrollPos();\n }\n }\n });\n }\n\n videoUrl(vid: VideoType): string {\n if (vid && vid.MuxStatus === 'ready' && vid.PlaybackIDs) {\n return 'url(\\'https://image.mux.com/' + vid.PlaybackIDs[0].id + '/animated.gif?width=180&fps=3&start=' +\n (vid.GifStartTime || '0') + '\\')';\n } else {\n return this.base + '20201104/Video-Processing-4x-80.jpg?w=130&h=130&fit=crop';\n }\n }\n\n async loadMore(): Promise {\n this.isLoadingMore = true;\n this.page++;\n const x = this.window.scrollX;\n const y = this.window.scrollY;\n await this.load();\n this.isLoadingMore = false;\n setTimeout$(() => {\n if (this.window.scrollTo) {\n this.window.scrollTo(x, y);\n }\n }, 0);\n }\n\n async load(): Promise {\n\n const posts = Array.from(await this.db.listPage('MadisonBlogPost', this.page, this.perPage, 'CreatedAt'));\n\n if (!posts.length) {\n this.isMore = false;\n return;\n }\n\n posts.sort((a, b) => {\n a.isAdvert = false;\n b.isAdvert = false;\n return this.toDate.transform(a.createdAt).getTime() - this.toDate.transform(b.createdAt).getTime();\n }).reverse();\n\n let TotalPossibleAds = Math.round(posts.length / 3);\n\n let Ads: MadisonBlogPostType[] = [\n {\n ID: 'AD_PARTNER',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-updates-2x.png'],\n Owner: '',\n Title: 'Get in the know with exclusive news & updates',\n CallToActionTitle: 'BECOME AN INSIDER',\n CallToActionLink: 'https://madisonmissions.typeform.com/to/lf2tm9',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_SUBSCRIBE',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-News-2x.png'],\n Owner: '',\n Title: 'All the latest news, right to your inbox',\n CallToActionTitle: 'SUBSCRIBE',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_VISION',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-vision-2x.png'],\n Owner: '',\n Title: 'Find out more about our vision',\n CallToActionTitle: 'DISCOVER THE VISION',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n {\n ID: 'AD_DONATE',\n Category: 'Madison',\n Content: '',\n CreatedAt: '',\n Images: [this.base + '20200903/Madison-donate-2x.png'],\n Owner: '',\n Title: 'Help turn our vision into reality',\n CallToActionTitle: 'MAKE A GIFT',\n UpdatedAt: '',\n isAdvert: true,\n advertIcon: this.base + '20200820/Madison-dk-sq.svg',\n },\n ];\n\n for (const ad of [...Ads]) {\n const existing = this.posts.find(el => {\n return el.ID === ad.ID;\n }) ? true : false;\n if (existing) {\n this.utils.delete(Ads, ad);\n }\n }\n\n if (TotalPossibleAds > Ads.length) {\n TotalPossibleAds = Ads.length;\n }\n\n Ads = this.utils.shuffle(Ads);\n\n let UsedIndexes: number[];\n\n for (let i = 0; i < TotalPossibleAds; i++) {\n let random = 0;\n UsedIndexes = this.getUsedAdvertndexes(posts);\n while (!random || UsedIndexes.includes(random)) {\n random = this.utils.getRandomInt(2, posts.length);\n }\n UsedIndexes.push(random);\n UsedIndexes.push(random - 1);\n UsedIndexes.push(random + 1);\n posts.splice(random, 0, Ads[i]);\n }\n\n if (!this.users.length) {\n this.users = Array.from(await this.db.listAll('AppUser'));\n\n for (const user of this.users) {\n this.usersById['APP_' + user.ID] = user;\n }\n }\n\n for (const post of posts) {\n post.authorObj = this.usersById[post.Owner];\n }\n\n this.posts.push(...posts);\n\n\n this.loading = false;\n\n }\n\n getUsedAdvertndexes(posts: MadisonBlogPostType[]): number[] {\n const output: number[] = [];\n for (const post of posts) {\n const idx = posts.indexOf(post);\n if (posts[idx].isAdvert) {\n output.push(idx);\n output.push(idx - 1);\n output.push(idx + 1);\n }\n }\n return output;\n }\n\n advertAction(advert: MadisonBlogPostType): void {\n switch (advert.ID) {\n case 'AD_PARTNER':\n this.window.open(advert.CallToActionLink);\n break;\n case 'AD_SUBSCRIBE':\n this.notificationPrefs();\n break;\n case 'AD_VISION':\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n this.router.navigateByUrl('/vision');\n break;\n case 'AD_DONATE':\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n this.router.navigateByUrl('/support');\n break;\n }\n }\n\n notificationPrefs(): void {\n\n if (this.auth.getSessionValue()) {\n this.openNotificationPrefs();\n } else {\n const ref = this.dialog.open(LoginProvidersDialogComponent, {\n width: '500px',\n });\n ref.afterClosed().subscribe(async val => {\n if (this.auth.authChecked) {\n this.openNotificationPrefs();\n }\n });\n }\n }\n\n openNotificationPrefs(): void {\n\n this.dialog.open(MyNotificationsComponent, {\n data: true,\n });\n\n }\n\n intersected($event: any): void {\n const event = $event as AppIntersection;\n if (event.scrollingDirection === 'down' && event.isVisible && this.isBrowser) {\n this.loadMore();\n }\n }\n\n stemJoin(post1: MadisonBlogPostType, post2: MadisonBlogPostType): { [key: string]: string } {\n return {\n 'background-image': `linear-gradient(to bottom, ${CategoryMeta[post1.Category].color}, ${CategoryMeta[post2.Category].color})`\n };\n }\n\n open(post: MadisonBlogPostType): void {\n this.db.curBlogPost = post;\n this.saveScrollPos();\n this.router.navigateByUrl(this.url + '/news-post/' + post.ID);\n }\n\n saveScrollPos(): void {\n NewsScrollPos = this.window.scrollY;\n }\n\n restoreScrollPos(): void {\n this.window.scrollTo(0, NewsScrollPos);\n }\n\n cta(post: MadisonBlogPostType): void {\n this.window.open(post.CallToActionLink);\n }\n\n}\n","\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n \n
\n
\n

{{ post.Title }}

\n
\n \n
\n
\n
\n
\n
\n
\n
{{ ((post.createdAt || '') | toDate) | timeAgo }}
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n \n
\n
\n
\n

{{ post.Title }}

\n
\n {{ post.Content }}\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { AfterViewInit, ChangeDetectorRef, Component, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { DbService } from 'src/app/services/db.service';\nimport { RouteEventsService } from 'src/app/services/router-events.service';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { WINDOW } from 'src/app/services/window.service';\n\nlet MCGalScrollPos = 0;\n\ninterface GalleryImage {\n id: string;\n path: string;\n width: number;\n height: number;\n cols: number;\n rows: number;\n color: string;\n}\n\n@Component({\n selector: 'app-photo-gallery',\n templateUrl: './photo-gallery.component.html',\n styleUrls: ['./photo-gallery.component.scss']\n})\nexport class PhotoGalleryComponent implements OnInit, OnDestroy, AfterViewInit {\n\n grid: string[][] = [];\n gap = 15;\n rowHeight = 0;\n gridStyle: { [prop: string]: string } = {};\n imageStyles: { [imageID: string]: { [prop: string]: string } } = {};\n IsGallery = true;\n slideClass: 'prev' | 'next' | '' | 'no-animate' = '';\n swipeStartX = 0;\n sliderPosition: number | null = null;\n KeyUpEventID: string | null = null;\n windowResizeEvID: string | null = null;\n baseUrl = '';\n imgixBase = 'https://cdn2.tda.website/beehive/';\n\n @Input() photos: Array[] = [];\n\n constructor(\n private breakpoint$: BreakpointObserver,\n private utils: UtilsService,\n @Inject(WINDOW) private window: Window,\n private db: DbService,\n private route: ActivatedRoute,\n private router: Router,\n private routerEvents: RouteEventsService,\n ) {\n breakpoint$.observe([\n Breakpoints.XSmall,\n Breakpoints.Small,\n Breakpoints.Medium,\n Breakpoints.Large,\n Breakpoints.XLarge,\n ]).subscribe(result => {\n if (result.breakpoints[Breakpoints.XSmall]) {\n\n this.chunkSize.next(2);\n\n } else if (result.breakpoints[Breakpoints.Small]) {\n\n this.chunkSize.next(3);\n\n }\n else if (result.breakpoints[Breakpoints.Medium]) {\n\n this.chunkSize.next(4);\n\n }\n else if (result.breakpoints[Breakpoints.Large]) {\n\n this.chunkSize.next(5);\n\n }\n else {\n\n this.chunkSize.next(6);\n\n }\n });\n }\n\n chunkSize = new BehaviorSubject(2);\n\n images: GalleryImage[] = [];\n image: GalleryImage | null = null;\n nextImage: GalleryImage | false = false;\n previousImage: GalleryImage | false = false;\n lastImageID = '';\n\n\n getImageID(): string {\n const alphabet = [...'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'];\n const str = this.lastImageID;\n let output = '';\n if (!str) {\n output = alphabet[0];\n } else if (str.match(/^[Z]+$/) !== null) {\n let len = str.length + 1;\n while (len) {\n output += alphabet[0];\n len--;\n }\n\n } else {\n\n const chars = [];\n for (const char of str) {\n chars.push(alphabet.indexOf(char));\n }\n for (let ii = chars.length - 1; ii >= 0; ii--) {\n const tmp = chars[ii];\n if (tmp >= 0 && tmp < (alphabet.length - 1)) {\n chars[ii]++;\n break;\n }\n else { chars[ii] = 0; }\n }\n for (const char of chars) {\n output += alphabet[char];\n }\n\n }\n this.lastImageID = output;\n return output;\n }\n\n previous(): void {\n if (this.previousImage) {\n this.slideClass = 'prev';\n this.transitionTo(`${this.baseUrl}/${this.previousImage.id}`);\n }\n }\n\n next(): void {\n if (this.nextImage) {\n this.slideClass = 'next';\n this.transitionTo(`${this.baseUrl}/${this.nextImage.id}`);\n }\n }\n\n transitionTo(url: string): void {\n setTimeout(() => {\n this.slideClass = 'no-animate';\n this.router.navigateByUrl(url);\n setTimeout(() => { this.slideClass = ''; }, 150);\n }, 150);\n }\n\n swipe(e: TouchEvent, type: 'start' | 'end' | 'move'): void {\n\n const coord: [number, number] = [e.changedTouches[0].clientX, e.changedTouches[0].clientY];\n const x = coord[0];\n\n if (type === 'start') {\n this.swipeStartX = x;\n this.slideClass = 'no-animate';\n return;\n }\n\n let distance = 0;\n if (x < this.swipeStartX) {\n if (x < 0) {\n distance = Math.abs(x) + this.swipeStartX;\n } else {\n distance = this.swipeStartX - x;\n }\n } else {\n distance = x - this.swipeStartX;\n }\n\n const direction: 'previous' | 'next' = x < this.swipeStartX ? 'next' : 'previous';\n const threshold = 100;\n\n if (type === 'end') {\n this.sliderPosition = null;\n this.slideClass = '';\n if (distance > threshold) {\n this[direction]();\n }\n return;\n }\n\n if (direction === 'next') {\n this.sliderPosition = -distance;\n } else {\n this.sliderPosition = distance;\n }\n\n }\n\n saveScrollPos(): void {\n MCGalScrollPos = this.window.scrollY;\n }\n\n restoreScrollPos(): void {\n if (this.window.scrollTo) {\n this.window.scrollTo(0, MCGalScrollPos);\n }\n }\n\n imgSrc(img: GalleryImage | null | false): string {\n const imageWidth = this.window.innerWidth + (this.window.innerWidth * 0.25);\n const imageHeight = this.window.innerHeight + (this.window.innerHeight * 0.25);\n if (img) {\n return this.imgixBase + img.path + '?w=' + imageWidth + '&h=' + imageHeight;\n }\n return '';\n }\n\n imgStyle(): { [prop: string]: string } {\n const screenWidth = this.window.innerWidth;\n const screenHeight = this.window.innerHeight;\n return { 'max-width': (screenWidth - (this.gap * 2)) + 'px', 'max-height': (screenHeight - (this.gap * 2)) + 'px' };\n }\n\n ngOnInit(): void {\n this.load();\n\n this.baseUrl = '/' + this.router.url.split('/')[1];\n\n if (!this.routerEvents.previousRoutePath.value.includes(this.baseUrl) && this.IsGallery) {\n MCGalScrollPos = 0;\n }\n\n this.route.params.subscribe(params => {\n if (params.id && params.id !== 'gallery') {\n this.IsGallery = false;\n this.image = this.images.find(el => el.id === params.id) || null;\n if (this.image) {\n const idx = this.images.indexOf(this.image);\n if (idx > 0) {\n this.previousImage = this.images[idx - 1];\n } else {\n this.previousImage = false;\n }\n if (idx < this.images.length - 1) {\n this.nextImage = this.images[idx + 1];\n } else {\n this.nextImage = false;\n }\n }\n } else {\n this.IsGallery = true;\n setTimeout(() => {\n this.restoreScrollPos();\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.KeyUpEventID) {\n this.utils.RemoveEventCallback('keypress', this.KeyUpEventID);\n }\n if (this.windowResizeEvID) {\n this.utils.removeResize(this.windowResizeEvID);\n }\n // MCGalScrollPos = 0;\n }\n\n ngAfterViewInit(): void {\n if (this.window.scrollTo) {\n this.window.scrollTo(0, 0);\n }\n }\n\n async load(): Promise {\n\n this.chunkSize.subscribe(chunkSize => {\n this.makeGrid(chunkSize);\n });\n\n this.KeyUpEventID = this.utils.WhenEventHappens('keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowLeft') {\n this.previous();\n } else if (e.key === 'ArrowRight') {\n this.next();\n } else if (e.key === 'Escape') {\n this.router.navigateByUrl(`${this.baseUrl}/`);\n }\n });\n\n // let WindowDebounceTimeout: NodeJS.Timeout | null = null;\n\n this.windowResizeEvID = this.utils.whenWindowResizes((ev: any) => { });\n\n // const palettes: any[] = [];\n\n // for (const img of this.imageData) {\n // const url = img[0] + '?palette=json';\n // const res = await this.db.http.get(url).toPromise() as any;\n // const palette = res.dominant_colors as any;\n // for (const k of Object.keys(palette)) {\n // for (const kk of Object.keys(palette[k])) {\n // if (kk !== 'hex') {\n // palette[k][kk] = Math.round(palette[k][kk] * 255);\n // }\n // }\n // }\n // palettes.push(res.dominant_colors);\n // }\n\n // console.log(palettes);\n\n }\n\n makeRow(): string[] {\n const output = [];\n let len = this.chunkSize.value;\n while (len) {\n output.push('.');\n len--;\n }\n this.grid.push(output);\n return output;\n }\n\n getRowCoords(cells: number): {\n x: number;\n y: number;\n } {\n const grid = this.grid;\n if (!grid[0]) {\n this.makeRow();\n }\n if (grid[0].length < cells) {\n cells = grid[0].length;\n }\n let x = 0;\n let y = 0;\n let didFit = false;\n let rowIdx = 0;\n for (const row of grid) {\n let concurrentEmpty = 0;\n let colIdx = 0;\n for (const cell of row) {\n if (cell === '.') {\n concurrentEmpty++;\n } else {\n concurrentEmpty = 0;\n }\n if (concurrentEmpty >= cells) {\n didFit = true;\n x = colIdx - cells + 1;\n break;\n }\n colIdx++;\n }\n if (didFit) {\n y = rowIdx;\n break;\n }\n rowIdx++;\n }\n if (!didFit) {\n this.makeRow();\n x = 0;\n y = grid.length - 1;\n }\n return {\n x, y\n };\n }\n\n getColCoords(rows: number): {\n x: number;\n y: number;\n } {\n const grid = this.grid;\n let x = 0;\n let y = 0;\n let didFit = false;\n\n if (!grid[0]) {\n\n this.makeRow();\n\n } else {\n\n for (let colIdx = 0; colIdx < this.chunkSize.value; colIdx++) {\n let concurrentEmpty = 0;\n let rowIdx = 0;\n for (const row of grid) {\n const cell = row[colIdx];\n if (cell === '.') {\n concurrentEmpty++;\n } else {\n concurrentEmpty = 0;\n }\n if (concurrentEmpty >= rows) {\n didFit = true;\n y = rowIdx - rows + 1;\n break;\n }\n rowIdx++;\n }\n if (didFit) {\n x = colIdx;\n break;\n }\n }\n if (!didFit) {\n this.makeRow();\n x = 0;\n y = grid.length - 1;\n }\n }\n return {\n x, y\n };\n }\n\n fitInGrid(image: string, rows: number, cols: number, path: string): void {\n\n if (cols === rows) {\n let rowIdx = 0;\n let matched = false;\n loopGrid:\n for (const row of this.grid) {\n let colIdx = 0;\n for (const cell of row) {\n if (cell === '.') {\n this.grid[rowIdx][colIdx] = image;\n matched = true;\n break loopGrid;\n }\n colIdx++;\n }\n rowIdx++;\n }\n if (!matched) {\n this.makeRow();\n this.grid[this.grid.length - 1][0] = image;\n }\n } else if (cols >= rows) {\n const coords = this.getRowCoords(cols);\n if (cols > this.chunkSize.value) {\n cols = this.chunkSize.value;\n }\n for (let i = 0; i < cols; i++) {\n this.grid[coords.y][coords.x + i] = image;\n }\n } else {\n const coords = this.getColCoords(rows);\n for (let i = 0; i < rows; i++) {\n if (!this.grid[coords.y + i]) {\n this.makeRow();\n }\n this.grid[coords.y + i][coords.x] = image;\n }\n }\n }\n\n makeGrid(columns: number): void {\n this.grid.length = 0;\n let i = 0;\n\n const images: { [key: string]: GalleryImage } = {};\n\n // let row = this.makeRow(columns, grid);\n for (const im of this.photos) {\n\n const path = im[0] as string;\n const width = im[1] as number;\n const height = im[2] as number;\n const color = im[3] as string;\n const imageID = this.getImageID();\n\n let cols = 0;\n let rows = 0;\n\n if (width > height) {\n rows = 1;\n cols = Math.round(width / height);\n } else {\n cols = 1;\n rows = Math.round(height / width);\n }\n\n this.fitInGrid(imageID, rows, cols, path);\n\n images[imageID] = { id: imageID, cols, rows, height, width, path, color, };\n\n i++;\n }\n\n\n let rowIdx = 0;\n for (const row of this.grid) {\n let cellIdx = 0;\n for (const cell of row) {\n if (cell === '.') {\n\n let finalCandidate = '';\n const canditate1 = this.grid[rowIdx][cellIdx - 1];\n const canditate2 = this.grid[rowIdx][cellIdx + 1];\n const canditate3 = this.grid[rowIdx - 1] && this.grid[rowIdx - 1][cellIdx];\n const canditate4 = this.grid[rowIdx + 1] && this.grid[rowIdx + 1][cellIdx];\n if (canditate1 && images[canditate1] && images[canditate1].rows === 1) {\n finalCandidate = canditate1;\n } else if (canditate2 && images[canditate2] && images[canditate2].rows === 1) {\n finalCandidate = canditate2;\n } else if (canditate3 && images[canditate3] && images[canditate3].cols === 1) {\n finalCandidate = canditate3;\n } else if (canditate4 && images[canditate4] && images[canditate4].cols === 1) {\n finalCandidate = canditate4;\n }\n\n if (finalCandidate && images[finalCandidate]) {\n this.grid[rowIdx][cellIdx] = finalCandidate;\n images[finalCandidate].cols++;\n }\n }\n\n cellIdx++;\n }\n rowIdx++;\n }\n\n this.images = Object.values(images);\n\n this.getGridStyle();\n this.getImageStyles();\n\n }\n\n getGridStyle(): void {\n if (!this.window.visualViewport) {\n return;\n }\n const gap = this.gap;\n const vw = this.window.visualViewport.width;\n const numCols = this.chunkSize.value;\n this.rowHeight = (vw - (gap * (numCols + 1))) / numCols;\n const areas: string[] = [];\n for (const row of this.grid) {\n areas.push(row.join(' '));\n }\n const areasStr = `\"${areas.join(`\" \"`)}\"`;\n const cols: string[] = [];\n let num = this.chunkSize.value;\n while (num) {\n cols.push('1fr');\n num--;\n }\n const output = {\n display: 'grid',\n padding: `${gap}px`,\n 'box-sizing': `border-box`,\n 'grid-gap': `${gap}px`,\n 'grid-template-areas': areasStr,\n 'grid-template-rows': `repeat(${this.grid.length}, ${this.rowHeight}px)`,\n 'grid-template-columns': cols.join(' '),\n };\n this.gridStyle = output;\n }\n\n getImageStyles(): void {\n for (const img of this.images) {\n\n const w = (this.rowHeight * img.cols) + ((img.cols - 1) * this.gap);\n const h = (this.rowHeight * img.rows) + ((img.rows - 1) * this.gap);\n const output = {\n 'grid-area': img.id,\n 'background-image': `url('${this.imgixBase + img.path}?w=${1.1 * w}&h=${1.1 * h}&fit=crop&crop=faces&q=25')`,\n 'background-color': img.color,\n color: img.color,\n };\n this.imageStyles[img.id] = output;\n }\n }\n\n get linkWithWatermark(): string {\n if (this.image) {\n\n // alt logo: aHR0cHM6Ly90dWlsZGVyLmltZ2l4Lm5ldC9iZWVoaXZlLzIwMjAxMTIzL0Vhc3R3YXJkLUxvZ28tUG5nLTR4LnBuZz9oPTYw\n\n return `${this.imgixBase + this.image.path}?w=1920&h=1920&mark64=aHR0cHM6Ly90dWlsZGVyLmltZ2l4Lm5ldC9iZWVoaXZlLzIwMjAxMTIzL0Vhc3R3YXJkLUxvZ28tUG5nLXdoaXRlLTR4LnBuZz9oPTYw&mark-pad=50`;\n }\n return '';\n }\n\n download(): void {\n if (this.image) {\n this.window.location.href = `${this.linkWithWatermark}&dl`;\n }\n }\n\n share(): void {\n if (this.image) {\n const link = this.linkWithWatermark.replace('https://cdn2.tda.website/', 'http://cdn2.tda.website/');\n this.window.open(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(link)}`);\n }\n }\n\n\n}\n","
\n
\n
\n launch\n
\n
\n
\n\n
\n
\n \n Back to Gallery\n \n
\n \n
\n
\n
\n \n \n
\n
\n
\n
\n \"\"\n
\n
\n
\n \n
","import { Component, Inject, InjectionToken, OnInit, Optional, PLATFORM_ID, ViewChild } from '@angular/core';\nimport { StripeToken, StripeCard } from 'stripe-angular';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { Router } from '@angular/router';\nimport { DonationPmtService } from '../../services/donationPmt.service';\nimport { FrequencyString, PersonType } from '../../services/DataStore';\nimport { DbService } from '../../services/db.service';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n selector: 'app-donate',\n templateUrl: './donate.component.html',\n styleUrls: ['./donate.component.scss']\n})\nexport class DonateComponent implements OnInit {\n\n @Optional() @ViewChild('stripeCard') stripeCard!: StripeCard;\n\n cardToken!: StripeToken;\n invalidError: Error | undefined = undefined;\n donateForm: FormGroup | null = null;\n isBrowser: boolean;\n\n stripeOptions: any = {\n hidePostalCode: true,\n };\n\n isProcessing = false;\n\n presets = [50, 100, 250, 500, 1000, 2500, 5000, 10000];\n\n amount = 100;\n frequency: FrequencyString = 'onetime';\n\n roundUp = false;\n\n constructor(\n public snackBar: MatSnackBar,\n private payments: DonationPmtService,\n private db: DbService,\n private router: Router,\n @Inject(PLATFORM_ID) private platformId: InjectionToken,\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n }\n\n ngOnInit(): void {\n this.donateForm = new FormGroup({\n\n first: new FormControl('', [Validators.required]),\n last: new FormControl('', [Validators.required]),\n email: new FormControl('', [Validators.required, Validators.email]),\n comments: new FormControl('', []),\n\n });\n\n }\n\n onStripeError(error: Error): void {\n console.error('Stripe error', error, this.cardToken);\n }\n\n public hasError = (controlName: string, errorName: string) => {\n return this.donateForm?.controls[controlName].hasError(errorName) || false;\n }\n\n scrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n scrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid:not(form)');\n if (firstElementWithError) {\n this.scrollTo(firstElementWithError);\n }\n }\n\n async scrollIfFormHasErrors(form: FormGroup): Promise {\n this.scrollToError();\n }\n\n handleStripeError(obj: any): boolean {\n\n if (obj.type === 'StripeCardError') {\n\n const Error = obj.raw;\n\n this.snackBar.open('Card Error: ' + Error.message, 'Dismiss', {\n duration: 12000,\n });\n\n return true;\n\n }\n return false;\n }\n\n touchForm(form: FormGroup): void {\n // touch all controls, so invalid fields are highlighted.\n Object.keys(form.controls).forEach(field => {\n const control = form.get(field);\n control?.markAsTouched({ onlySelf: true });\n });\n }\n\n getAmount(): number {\n return parseFloat((this.roundUp ? this.getRoundedUp() : this.amount).toFixed(2));\n }\n\n getRoundedUp(): number {\n return this.amount + (this.amount * 0.0185) + 0.3;\n }\n\n async continue(): Promise {\n\n if (!this.donateForm) {\n return;\n }\n\n const Form = this.donateForm.value;\n\n const First = Form.first;\n const Last = Form.last;\n const Email = Form.email;\n const Comments = Form.comments || '';\n\n if (this.isProcessing) {\n return;\n }\n\n this.isProcessing = true;\n\n if (!this.donateForm.valid) {\n this.touchForm(this.donateForm);\n this.scrollIfFormHasErrors(this.donateForm);\n\n this.snackBar.open('Please complete all required fields.', 'Dismiss', {\n duration: 6000,\n });\n\n this.isProcessing = false;\n\n return;\n }\n\n try {\n\n const CardToken = await this.stripeCard.createToken();\n\n if (CardToken) {\n\n if (this.frequency === 'monthly') {\n\n const requestForPersonData = {\n First,\n Last,\n Email,\n source: 'Madison',\n sendEmail: 'false'\n };\n\n const person = (\n await this.db.q('auth:GetPersonForDonation', requestForPersonData)\n ).Data as PersonType;\n\n const res: any = await this.payments.recurringDonation(\n CardToken,\n this.getAmount(),\n person.ID || '',\n Comments,\n );\n\n if (this.handleStripeError(res)) {\n this.isProcessing = false;\n return;\n }\n\n if (res.Success) {\n\n const ID = res.Donation.ID as string;\n\n requestForPersonData.sendEmail = 'true';\n await this.db.q('auth:GetPersonForDonation', requestForPersonData);\n\n this.router.navigateByUrl('/view-donation/' + ID);\n }\n\n this.isProcessing = false;\n\n } else {\n\n const res2: any = await this.payments.oneTime(\n CardToken,\n this.getAmount(),\n { First, Last, Email, },\n 'Madison',\n this.frequency,\n Comments\n );\n\n this.isProcessing = false;\n\n if (!this.handleStripeError(res2)) {\n\n if (res2.paid) {\n const ID = res2.DonationComplexID;\n this.router.navigateByUrl('/view-donation/' + ID);\n }\n\n // this.authService.person = res2['Person'] as PersonType;\n // this.MyPaymentSources = this.authService.person.StripeCustomer.sources.data;\n // this.selectedPaymentSource = this.utils.find(this.MyPaymentSources, 'id', CardToken.card.id);\n\n } else {\n\n this.isProcessing = false;\n return;\n\n }\n\n }\n\n } else {\n\n this.snackBar.open('Invalid payment details.', 'Dismiss', {\n duration: 6000,\n });\n\n this.isProcessing = false;\n return;\n\n }\n\n } catch (e) {\n\n this.isProcessing = false;\n\n if (e.message) {\n this.snackBar.open('ERROR: ' + e.message, 'Dismiss', {\n duration: 12000,\n });\n } else {\n this.snackBar.open('ERROR: Card error.', 'Dismiss', {\n duration: 12000,\n });\n }\n\n }\n\n }\n\n}\n","
\n

Choose a Donation Amount

\n\n
\n \n
\n\n
\n $\n \n
\n\n \n
\n Monthly recurring donation\n
\n
\n One-time donation\n
\n
\n\n

\n Round up my donation to {{ getRoundedUp() | currency }} so the processing fees are covered.\n

\n\n

Payment Information

\n\n
\n
PAY BY CREDIT CARD
\n
\n \n
\n
lock SSL Encrypted and Secure
\n
\n\n
\n\n
\n \n First Name\n \n First Name is required\n \n\n \n Last Name\n \n Last Name is required\n \n
\n\n \n Email Address\n \n Email is required\n Invalid email\n \n\n \n Comment\n \n \n\n \n\n
\n
","// service : route-events.service.ts\nimport { Location } from '@angular/common'\nimport { Injectable } from '@angular/core'\nimport { Router, RoutesRecognized } from '@angular/router'\nimport { BehaviorSubject } from 'rxjs'\nimport { filter, pairwise } from 'rxjs/operators'\n\n\n@Injectable({ providedIn: 'root' })\nexport class RouteEventsService {\n\n // save the previous route\n public previousRoutePath = new BehaviorSubject('');\n public currentRoutePath = new BehaviorSubject('');\n\n constructor(\n private router: Router,\n private location: Location\n ) {\n\n // ..initial prvious route will be the current path for now\n this.previousRoutePath.next(this.location.path());\n\n // on every route change take the two events of two routes changed(using pairwise)\n // and save the old one in a behavious subject to access it in another component\n // we can use if another component like intro-advertise need the previous route\n // because he need to redirect the user to where he did came from.\n this.router.events.pipe(\n filter(e => e instanceof RoutesRecognized),\n pairwise(),\n )\n .subscribe((event: any[]) => {\n this.previousRoutePath.next(event[0].urlAfterRedirects);\n this.currentRoutePath.next(event[1].urlAfterRedirects);\n });\n\n }\n}\n","import { DbService } from './db.service';\nimport { AuthService } from './auth.service';\nimport { StripeCustomer, StripePmtSource } from './donationPmt.service';\nimport { of } from 'rxjs';\nimport { debounceTime, first } from 'rxjs/operators';\n\nexport function setTimeout$(cb: () => void, timer: number): void {\n of(true).pipe(debounceTime(timer), first()).subscribe(cb);\n}\n\ninterface DataStoreInterface {\n singletons: {\n [propName: string]: any\n };\n sets: {\n [propName: string]: Set;\n };\n db?: DbService;\n auth?: AuthService;\n lastPageUrl: string[];\n activeDomain?: string;\n}\n\nexport type BlogCategoryNames = 'Madison' | 'Beehive' | 'The Maker Heals' | 'Eastward';\n\nexport interface BlogCategory {\n color: string;\n txt?: string;\n rgb: string;\n image: string;\n}\n\ntype BlogCategories = {\n [key in BlogCategoryNames]: BlogCategory;\n};\n\nexport const CategoryMeta: BlogCategories = {\n Madison: {\n color: '#f36e21',\n rgb: 'rgba(243, 110, 33, 0.1)',\n image: 'https://cdn2.tda.website/beehive/20200820/Madison-dk-sq.svg',\n },\n Beehive: {\n color: '#f3bb19',\n txt: '#e8ad00',\n rgb: 'rgb(243, 187, 25, 0.07)',\n image: 'https://cdn2.tda.website/beehive/20200608/beehive-logo-dark-sq.svg',\n },\n 'The Maker Heals': {\n color: '#53875b',\n rgb: 'rgb(83, 135, 91, 0.07)',\n image: 'https://cdn2.tda.website/beehive/20200608/Hands.svg',\n },\n Eastward: {\n color: '#8dc63f',\n rgb: 'rgb(141, 198, 63, 0.1)',\n image: 'https://cdn2.tda.website/beehive/20200607/Eastward-sq.svg',\n },\n};\n\nexport const DataStore: DataStoreInterface = {\n singletons: {},\n sets: {},\n lastPageUrl: []\n};\n\nexport interface GenericRow {\n ID?: string;\n Owner?: string;\n OwnerObj?: PersonType;\n createdAt?: string;\n updatedAt?: string;\n __typename?: string;\n isCommon?: boolean;\n typeSuffix?: string;\n}\n\nexport type AllRowTypes = GenericRow | ImageType | AddressType | ImageSettingFavType | VideoType | InvoiceType;\n\nexport interface UploaderProgress {\n percent: number;\n done: boolean;\n}\n\nexport interface ImageType extends GenericRow {\n name: string;\n _Folder: string;\n path: string;\n width: number;\n height: number;\n host: string;\n uploader?: UploaderProgress;\n unsplash?: boolean;\n params?: string;\n}\n\nexport interface ImageSettingFavType extends GenericRow {\n name: string;\n values: { [key: string]: string | number };\n}\n\nexport interface FolderType extends GenericRow {\n parent: string;\n name: string;\n}\n\nexport interface PersonType extends GenericRow {\n First: string;\n Last: string;\n Email: string;\n Password: string;\n TopAdmin: boolean;\n Mobile: string;\n Avatar?: string;\n StripeCustomer?: StripeCustomer;\n Addresses?: AddressType[];\n Donations?: DonationType[];\n}\n\nexport interface AddressType extends GenericRow {\n name: string;\n mobile: string;\n instructions: string;\n address1: string;\n address2: string;\n suburb: string;\n postcode: string;\n state: string;\n}\n\n\nexport interface RecipeType extends GenericRow {\n name: string;\n image?: ImageType;\n description: string;\n ingredients?: string;\n allowedTemp: string;\n type: 'main' | 'dessert';\n}\n\nexport type BooleanString = 'true' | 'false';\n\nexport type FrequencyString = 'onetime' | 'monthly';\n\nexport interface DonationType extends GenericRow {\n DonationID: string;\n Amount: number;\n Recurring: BooleanString;\n First: string;\n Last: string;\n Email: string;\n Comments: string;\n CardBrand: string;\n CardExpMonth: number;\n CardExpYear: number;\n CardID: string;\n CardLast4: string;\n Person?: string;\n Frequency?: FrequencyString;\n Active?: BooleanString;\n Website: 'makerheals.org.au' | 'madison.org.au';\n}\n\nexport interface StaffAppUserType extends GenericRow {\n Name: string;\n Email: string;\n Phone: string;\n Role: 'admin' | 'staff';\n Image?: string;\n Bio?: string;\n}\n\nexport interface MadisonBlogPostType extends GenericRow {\n Title?: string;\n Category: BlogCategoryNames;\n Content?: string;\n ContentHTML?: string;\n Owner?: string;\n Images?: string[];\n Videos?: VideoType[];\n CreatedAt?: string;\n UpdatedAt?: string;\n CallToActionTitle?: string;\n CallToActionLink?: string;\n Likes?: number;\n Views?: number;\n Comments?: number;\n isAdvert?: boolean;\n advertIcon?: string;\n authorObj?: StaffAppUserType;\n}\n\nexport type NotificationFrequency = 'Daily' | 'Weekly' | 'Fortnightly' | 'Monthly' | null;\n\nexport interface NotificationPrefType extends GenericRow {\n Frequency: NotificationFrequency;\n MuteComments: boolean;\n Unsubscribed: boolean;\n}\n\n\ntype MuxStati = 'preparing' | 'ready' | 'errored';\ntype MuxPolicy = 'public' | 'signed';\ntype MuxAccess = 'temporary' | 'none';\ntype MP4Support = 'standard' | 'none';\ntype MuxResolution = 'Audio-only' | 'SD' | 'HD' | 'FHD' | 'UHD';\n\nexport interface VideoType extends GenericRow {\n Title: string;\n Identifier: string;\n path: string;\n MuxID?: string;\n MuxStatus?: MuxStati;\n PlaybackIDs?: MuxPlaybackID[];\n MuxTracks?: MuxTrack[];\n Duration?: number;\n MaxResolution?: MuxResolution;\n GifStartTime?: number;\n ThumbStartTime?: number;\n}\n\nexport interface MuxTrack {\n duration: number;\n id: string;\n type: 'video' | 'audio' | 'text';\n max_frame_rate?: number;\n max_height?: number;\n max_width?: number;\n max_channel_layout?: 'mono' | 'stereo' | '5.1' | '7.1';\n max_channels?: number;\n}\n\nexport interface MuxResType {\n created_at: string;\n id: string;\n master_access: MuxAccess;\n mp4_support: MP4Support;\n status: MuxStati;\n playback_ids: MuxPlaybackID[];\n max_stored_frame_rate?: number;\n max_stored_resolution?: MuxResolution;\n duration?: number;\n aspect_ratio?: string;\n tracks?: MuxTrack[];\n}\n\nexport interface MuxPlaybackID {\n id: string;\n policy: MuxPolicy;\n}\n\nexport interface BlogCommentType extends GenericRow {\n Key: string;\n Time: number;\n TXT: string;\n Likes?: number;\n ParentComment?: string;\n Deleted?: BooleanString;\n TabIndex?: number;\n}\n\nexport interface BlogLikeType extends GenericRow {\n ID: string;\n Key: string;\n Owner: string;\n CreatedAt: string;\n UpdatedAt: string;\n}\n\nexport interface BlogCommentsFor {\n Key: string;\n for: 'blog' | 'other';\n}\n\nexport type InvoiceStatiType = 'Pending' | 'Complete' | 'Paid' | 'Delivered' | 'Cancelled' | 'Refunded';\n\nexport interface InvoiceType extends GenericRow {\n InvoiceID: string;\n Person: string;\n Address: AddressType;\n PaymentSource: StripePmtSource;\n Total: number;\n Tax: number;\n Paid: boolean;\n Status: InvoiceStatiType;\n Template?: 'Eastward' | 'Beehive' | 'Madison';\n}\n\nexport interface InvoiceRowType extends GenericRow {\n Invoice: string;\n ProductID: string;\n Description: string;\n Quantity: number;\n Amount: number;\n Tax: number;\n Sort?: number;\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { AccountPaymentSourcesComponent } from './components/account/account-payment-sources/account-payment-sources.component';\nimport { AccountPersonalDetailsComponent } from './components/account/account-personal-details/account-personal-details.component';\nimport { AccountComponent } from './components/account/account.component';\nimport { OpenNewsPostComponent } from './components/open-news-post/open-news-post.component';\nimport { OpenPostImageComponent } from './components/open-post-image/open-post-image.component';\nimport { AboutComponent } from './screens/about/about.component';\nimport { ActivityStreamComponent } from './screens/activity-stream/activity-stream.component';\nimport { AllPostsComponent } from './screens/all-posts/all-posts.component';\nimport { AmbassadorsComponent } from './screens/ambassadors/ambassadors.component';\nimport { LoginComponent } from './screens/auth/login/login.component';\nimport { RecoverPwdComponent } from './screens/auth/recover-pwd/recover-pwd.component';\nimport { ResetPwdComponent } from './screens/auth/reset-pwd/reset-pwd.component';\nimport { SignupComponent } from './screens/auth/signup/signup.component';\nimport { CanvassingPhotosComponent } from './screens/canvassing-photos/canvassing-photos.component';\nimport { CanvassingComponent } from './screens/canvassing/canvassing.component';\nimport { ContactUsComponent } from './screens/contact-us/contact-us.component';\nimport { DonationReceiptComponent } from './screens/donation-receipt/donation-receipt.component';\nimport { DsozoCampPhotosComponent } from './screens/dsozo-camp-photos/dsozo-camp-photos.component';\nimport { LightOnAHillCampMeetingComponent } from './screens/events/light-on-a-hill-camp-meeting/light-on-a-hill-camp-meeting.component';\nimport { FeasibilitySurveyComponent } from './screens/feasibility-survey/feasibility-survey.component';\nimport { HomeComponent } from './screens/home/home.component';\nimport { MagabooksComponent } from './screens/magabooks/magabooks.component';\nimport { MusicCampPhotosComponent } from './screens/music-camp-photos/music-camp-photos.component';\nimport { MyNotificationsComponent } from './screens/my-notifications/my-notifications.component';\nimport { Page404Component } from './screens/page404/page404.component';\nimport { PrivacyPolicyComponent } from './screens/privacy-policy/privacy-policy.component';\nimport { SupportComponent } from './screens/support/support.component';\nimport { TosComponent } from './screens/tos/tos.component';\nimport { ViewPostComponent } from './screens/view-post/view-post.component';\nimport { ViewReceiptComponent } from './screens/view-receipt/view-receipt.component';\nimport { AuthGuardService } from './services/auth-guard.service';\n\nconst routes: Routes = [\n {\n path: '',\n component: HomeComponent,\n children: [\n {\n path: 'news-post/:id',\n component: OpenNewsPostComponent,\n children: [\n {\n path: 'image',\n component: OpenPostImageComponent,\n outlet: 'imageRouter',\n },\n ],\n },\n ],\n },\n\n { path: 'view-donation/:id', component: DonationReceiptComponent },\n\n { path: 'view-receipt', component: ViewReceiptComponent },\n\n { path: 'tos', component: TosComponent },\n\n { path: 'About', component: AboutComponent },\n\n { path: 'Light-on-a-Hill-Camp-Meeting', component: LightOnAHillCampMeetingComponent },\n { path: 'Ambassadors', component: AmbassadorsComponent },\n { path: 'Survey', component: FeasibilitySurveyComponent },\n\n { path: 'Magabooks', component: MagabooksComponent },\n { path: 'Magabooks/:route', component: MagabooksComponent },\n\n { path: 'Canvassing', component: CanvassingComponent },\n { path: 'Canvassing-Photos', component: CanvassingPhotosComponent },\n { path: 'Canvassing-Photos/:id', component: CanvassingPhotosComponent },\n\n { path: 'Music-Camp-Photos', component: MusicCampPhotosComponent },\n { path: 'Music-Camp-Photos/:id', component: MusicCampPhotosComponent },\n\n { path: 'Dsozo-Camp-Photos', component: DsozoCampPhotosComponent },\n { path: 'Dsozo-Camp-Photos/:id', component: DsozoCampPhotosComponent },\n\n {\n path: 'stream',\n component: ActivityStreamComponent,\n children: [\n {\n path: 'news-post/:id',\n component: OpenNewsPostComponent,\n children: [\n {\n path: 'image',\n component: OpenPostImageComponent,\n outlet: 'imageRouter',\n },\n ],\n },\n ],\n },\n { path: 'all-posts', component: AllPostsComponent },\n { path: 'view-post/:id', component: ViewPostComponent },\n\n { path: 'Contact', component: ContactUsComponent },\n { path: 'Support', component: SupportComponent },\n {\n path: 'my-account',\n component: AccountComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-notifications',\n component: MyNotificationsComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-account/all-payment-sources',\n component: AccountPaymentSourcesComponent,\n canActivate: [AuthGuardService],\n },\n {\n path: 'my-account/edit-details',\n component: AccountPersonalDetailsComponent,\n canActivate: [AuthGuardService],\n },\n\n { path: 'login', component: LoginComponent },\n { path: 'recover-pwd', component: RecoverPwdComponent },\n { path: 'reset-pwd', component: ResetPwdComponent },\n { path: 'signup', component: SignupComponent },\n { path: 'pp', component: PrivacyPolicyComponent },\n\n { path: '**', component: Page404Component },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n initialNavigation: 'enabled',\n scrollPositionRestoration: 'enabled',\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { UtilsService } from 'src/app/services/utils.service';\nimport { AddressType } from 'src/app/services/DataStore';\nimport { DbService } from 'src/app/services/db.service';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-account-personal-details',\n templateUrl: './account-personal-details.component.html',\n styleUrls: ['./account-personal-details.component.scss']\n})\nexport class AccountPersonalDetailsComponent implements OnInit {\n\n addressForm: FormGroup | null = null;\n isProcessing = false;\n MyAddresses: AddressType[] = [];\n AddAddress = false;\n Editing = false;\n EditingAdr: AddressType | null = null;\n\n constructor(\n private utils: UtilsService,\n private db: DbService,\n public snackBar: MatSnackBar,\n ) { }\n\n ngOnInit(): void {\n\n this.db.list('Address').then(AddressSet => {\n this.MyAddresses = Array.from(AddressSet);\n });\n\n this.addressForm = new FormGroup({\n\n name: new FormControl('', [Validators.required]),\n mobile: new FormControl('', [Validators.required]),\n instructions: new FormControl('', []),\n address1: new FormControl('', [Validators.required]),\n address2: new FormControl(''),\n suburb: new FormControl('', [Validators.required]),\n postcode: new FormControl('', [Validators.required]),\n state: new FormControl('VIC'),\n\n });\n\n }\n\n async edit(adr: AddressType): Promise {\n if (!this.addressForm) {\n return;\n }\n this.Editing = true;\n this.EditingAdr = adr;\n this.addressForm.controls.instructions.setValue(adr.instructions);\n this.addressForm.controls.name.setValue(adr.name);\n this.addressForm.controls.mobile.setValue(adr.mobile);\n this.addressForm.controls.address1.setValue(adr.address1);\n this.addressForm.controls.address2.setValue(adr.address2);\n this.addressForm.controls.suburb.setValue(adr.suburb);\n this.addressForm.controls.state.setValue(adr.state);\n this.addressForm.controls.postcode.setValue(adr.postcode);\n this.AddAddress = true;\n }\n\n async delete(adr: AddressType): Promise {\n if (confirm('Delete address?')) {\n const res = await this.db.delete(adr);\n if (res) {\n this.utils.delete(this.MyAddresses, adr);\n this.snackBar.open('Address deleted.', 'Dismiss', {\n duration: 6000,\n });\n }\n }\n }\n\n cancel(): void {\n this.AddAddress = false;\n this.Editing = false;\n this.EditingAdr = null;\n this.addressForm?.reset();\n }\n\n async save(): Promise {\n\n if (!this.addressForm) {\n return;\n }\n\n if (!this.addressForm.valid) {\n this.touchForm(this.addressForm);\n this.scrollIfFormHasErrors(this.addressForm);\n\n this.snackBar.open('Please complete all required fields.', 'Dismiss', {\n duration: 6000,\n });\n\n return;\n }\n\n let Adr: AddressType;\n let AdrValue: any;\n\n AdrValue = this.addressForm.value;\n\n if (this.Editing && this.EditingAdr) {\n\n Adr = this.EditingAdr;\n Adr.name = AdrValue.name;\n Adr.mobile = this.utils.normalizeMobile(AdrValue.mobile);\n Adr.instructions = AdrValue.instructions;\n Adr.address1 = AdrValue.address1;\n Adr.address2 = AdrValue.address2;\n Adr.postcode = AdrValue.postcode;\n Adr.state = AdrValue.state;\n Adr.suburb = AdrValue.suburb;\n\n } else {\n\n Adr = {\n name: AdrValue.name,\n mobile: this.utils.normalizeMobile(AdrValue.mobile),\n instructions: AdrValue.instructions,\n address1: AdrValue.address1,\n address2: AdrValue.address2,\n postcode: AdrValue.postcode,\n state: AdrValue.state,\n suburb: AdrValue.suburb,\n };\n\n }\n\n await this.db.put('Address', Adr).then(\n (res) => {\n if (res) {\n const AddressObj = res as AddressType;\n if (!this.Editing) {\n this.MyAddresses.push(AddressObj);\n }\n }\n });\n\n this.snackBar.open('Address saved.', 'Dismiss', {\n duration: 6000,\n });\n\n this.addressForm.reset();\n\n this.AddAddress = false;\n this.Editing = false;\n this.EditingAdr = null;\n\n }\n\n\n\n public hasError = (controlName: string, errorName: string) => {\n if (this.addressForm) {\n return this.addressForm.controls[controlName].hasError(errorName);\n } else {\n return false;\n }\n }\n\n scrollTo(el: Element): void {\n if (el) {\n el.scrollIntoView({ behavior: 'smooth' });\n }\n }\n\n scrollToError(): void {\n const firstElementWithError = document.querySelector('.ng-invalid:not(form)');\n if (firstElementWithError) {\n this.scrollTo(firstElementWithError);\n }\n }\n\n async scrollIfFormHasErrors(form: FormGroup): Promise {\n this.scrollToError();\n }\n\n touchForm(form: FormGroup): void {\n // touch all controls, so invalid fields are highlighted.\n Object.keys(form.controls).forEach(field => {\n const control = form.get(field);\n if (control) {\n control.markAsTouched({ onlySelf: true });\n }\n });\n }\n\n}\n","\n\n
\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n\n

{{ (Editing ? 'Edit' : 'Add') + ' Address' }}

\n\n \n \n Name is required\n \n\n \n \n Mobile is required\n \n\n \n \n \n\n \n Address line 1\n \n Address is required\n \n\n \n Address line 2\n \n \n\n \n Suburb\n \n Suburb is required\n \n\n \n State\n \n VIC\n NSW\n WA\n TAS\n QLD\n SA\n ACT\n NT\n \n \n\n \n \n Postcode is required\n \n\n
\n\n
\n \n \n \n
\n
","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n platformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n});\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}