@rededor/site-front-end-lib 1.3.0-alpha.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/footer/footer.component.mjs +6 -3
- package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +6 -3
- package/esm2022/lib/helpers/getCircularReplacer.func.mjs +38 -0
- package/esm2022/lib/helpers/index.mjs +2 -1
- package/esm2022/lib/services/geoloc/geoloc.service.mjs +202 -0
- package/esm2022/lib/services/index.mjs +3 -1
- package/esm2022/lib/services/mapbox/mapbox.service.mjs +69 -0
- package/esm2022/lib/tokens/LibConfig.mjs +1 -1
- package/fesm2022/rededor-site-front-end-lib.mjs +305 -6
- package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
- package/lib/components/footer/footer.component.d.ts +2 -1
- package/lib/components/page-template-sidebar/page-template-sidebar.component.d.ts +6 -2
- package/lib/helpers/getCircularReplacer.func.d.ts +7 -0
- package/lib/helpers/index.d.ts +1 -0
- package/lib/services/geoloc/geoloc.service.d.ts +49 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/mapbox/mapbox.service.d.ts +55 -0
- package/lib/tokens/LibConfig.d.ts +2 -0
- package/package.json +1 -1
|
@@ -36,6 +36,7 @@ export class FooterComponent {
|
|
|
36
36
|
this._project = 'site';
|
|
37
37
|
this._theme = 'default';
|
|
38
38
|
this.disclaimer = '';
|
|
39
|
+
this.linkPrivacyFooter = '';
|
|
39
40
|
this.footerPrivacyClick = new EventEmitter();
|
|
40
41
|
this.footerCookieClick = new EventEmitter();
|
|
41
42
|
this.currentYear = new Date().getFullYear();
|
|
@@ -80,11 +81,11 @@ export class FooterComponent {
|
|
|
80
81
|
this.footerCookieClick.emit(event);
|
|
81
82
|
}
|
|
82
83
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, deps: [{ token: i1.CuraService }, { token: i1.PrivacyToolsService }, { token: i0.ElementRef }, { token: LIB_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FooterComponent, isStandalone: true, selector: "footer[sl-ftr]", inputs: { project: "project", theme: "theme", disclaimer: "disclaimer", logo: "logo", partnerLogo: "partnerLogo", phone: "phone", socialMenu: "socialMenu", logoWidth: "logoWidth", footerMenu: "footerMenu" }, outputs: { footerPrivacyClick: "footerPrivacyClick", footerCookieClick: "footerCookieClick", footerSocialMediaClick: "footerSocialMediaClick", footerMenuItemClick: "footerMenuItemClick" }, ngImport: i0, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo) {\n <div class=\"logo\">\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu; track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu.length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu; track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a\n href=\"https://dpo.privacytools.com.br/policy-view/DPO8r0aQk/1/aviso-de-privacidade/pt_BR\"\n target=\"_blank\"\n data-testid=\"_avisoPrivacidade\"\n (click)=\"footerPrivacyClicked($event)\"\n >\n Aviso de Privacidade\n </a>\n </li>\n <li>\n <a (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\"> Aviso de Cookies </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FooterComponent, isStandalone: true, selector: "footer[sl-ftr]", inputs: { project: "project", theme: "theme", disclaimer: "disclaimer", linkPrivacyFooter: "linkPrivacyFooter", logo: "logo", partnerLogo: "partnerLogo", phone: "phone", socialMenu: "socialMenu", logoWidth: "logoWidth", footerMenu: "footerMenu" }, outputs: { footerPrivacyClick: "footerPrivacyClick", footerCookieClick: "footerCookieClick", footerSocialMediaClick: "footerSocialMediaClick", footerMenuItemClick: "footerMenuItemClick" }, ngImport: i0, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo) {\n <div class=\"logo\">\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu; track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu.length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu; track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a [href]=\"linkPrivacyFooter || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\n </li>\n <li>\n <a (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\"> Aviso de Cookies </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
84
85
|
}
|
|
85
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, decorators: [{
|
|
86
87
|
type: Component,
|
|
87
|
-
args: [{ selector: 'footer[sl-ftr]', standalone: true, imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo) {\n <div class=\"logo\">\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu; track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu.length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu; track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a
|
|
88
|
+
args: [{ selector: 'footer[sl-ftr]', standalone: true, imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-ftr-content\">\n <div>\n <div class=\"sl-ftr-contact\">\n @if (logo) {\n <div class=\"logo\">\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (partnerLogo) {\n <div class=\"partner-logo\">\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\n </div>\n }\n @if (phone) {\n <div class=\"phone\">\n <a rdsitelink href=\"tel:{{ phone }}\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\n </svg>\n {{ phone }}\n </a>\n </div>\n }\n </div>\n\n <nav class=\"sl-ftr-medias\">\n <ul>\n @for (social of socialMenu; track social.title) {\n <li>\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\n </svg>\n </a>\n </li>\n }\n </ul>\n </nav>\n </div>\n\n <div class=\"content-menu\">\n @if (footerMenu.length) {\n <div class=\"sl-ftr-menu\">\n <nav>\n <ul class=\"sl-ftr-menu-list\">\n @for (menu of footerMenu; track menu.title) {\n <li class=\"sl-ftr-menu-list-item\">\n @if (menu.title) {\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\n <a\n class=\"sl-ftr-menu-item-link\"\n [href]=\"menu.url\"\n rdsitelink\n [title]=\"menu.title\"\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\n >\n {{ menu.title }}\n </a>\n\n @if (menu.children?.length) {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\n </svg>\n }\n </div>\n\n @if (menu.children?.length) {\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\n @for (submenu of menu.children; track submenu.title) {\n <li class=\"sl-ftr-menu-item-children-item\">\n <div class=\"sl-ftr-menu-item alt\">\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\n {{ submenu.title }}\n </a>\n </div>\n </li>\n }\n </ul>\n }\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n }\n </div>\n</div>\n\n<div class=\"sl-ftr-disc\">\n <div class=\"disc-content\">\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\n <ul class=\"disc-content-links\">\n <li>\n <a [href]=\"linkPrivacyFooter || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\n </li>\n <li>\n <a (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\"> Aviso de Cookies </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 72px);height:50px;object-fit:contain}.sl-ftr-contact .logo{display:contents}.sl-ftr-contact .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .partner-logo{display:contents}.sl-ftr-contact .phone a{display:flex;justify-content:center;align-items:center;gap:12px;font-size:17px;font-weight:500;color:var(--ftr-color);text-decoration:none}@media only screen and (min-width: 361px){.sl-ftr-contact{width:280px}.sl-ftr-contact .phone a{font-size:19px}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"] }]
|
|
88
89
|
}], ctorParameters: () => [{ type: i1.CuraService }, { type: i1.PrivacyToolsService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
89
90
|
type: Inject,
|
|
90
91
|
args: [LIB_CONFIG]
|
|
@@ -94,6 +95,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
94
95
|
type: Input
|
|
95
96
|
}], disclaimer: [{
|
|
96
97
|
type: Input
|
|
98
|
+
}], linkPrivacyFooter: [{
|
|
99
|
+
type: Input
|
|
97
100
|
}], footerPrivacyClick: [{
|
|
98
101
|
type: Output
|
|
99
102
|
}], footerCookieClick: [{
|
|
@@ -115,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
115
118
|
}], footerMenuItemClick: [{
|
|
116
119
|
type: Output
|
|
117
120
|
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBVy9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFZRCxJQUFhLFNBQVM7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBUUQsWUFDVSxXQUF3QixFQUN6QixZQUFpQyxFQUNoQyxVQUFzQixFQUNILFNBQW9CO1FBSHZDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0gsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXZDekMsYUFBUSxHQUFXLE1BQU0sQ0FBQztRQVUxQixXQUFNLEdBQVcsU0FBUyxDQUFDO1FBRTFCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDdkIsdUJBQWtCLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0Qsc0JBQWlCLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEUsZ0JBQVcsR0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRDLFNBQUksR0FBUSxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFDeEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQVFwQyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBRXRCLDJCQUFzQixHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxFLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDM0Isd0JBQW1CLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7SUFPckUsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxXQUFXLEdBQWdCLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNuRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sTUFBTSxHQUFHLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFhLENBQUMsQ0FBQztZQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxJQUF1QjtRQUNqRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0F4RlUsZUFBZSwwR0FnRGhCLFVBQVU7bUdBaERULGVBQWUsdWRDbEI1QiwwdUlBNkdBLHV1S0RoR1ksWUFBWSw2SEFBRSxtQkFBbUI7OzRGQUtoQyxlQUFlO2tCQVQzQixTQUFTOytCQUVFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxpQkFDN0IsaUJBQWlCLENBQUMsSUFBSTs7MEJBb0RsQyxNQUFNOzJCQUFDLFVBQVU7eUNBOUNoQixPQUFPO3NCQURWLEtBQUs7Z0JBV0YsS0FBSztzQkFEUixLQUFLO2dCQVVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFHRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDTyxTQUFTO3NCQUFyQixLQUFLO2dCQVNJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFFRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDdXJhU2VydmljZSwgUHJpdmFjeVRvb2xzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb290ZXJUaGVtZSB9IGZyb20gJy4vbW9kZWxzL0Zvb3RlclRoZW1lLm1vZGVsJztcbmltcG9ydCB7IGdldEZvb3RlclRoZW1lIH0gZnJvbSAnLi9oZWxwZXJzL2Zvb3RlclRoZW1lLmZ1bmMnO1xuaW1wb3J0IHsgTWVudUl0ZW0sIE1lbnVTb2NpYWxNZWRpYSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgUmRzaXRlTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2Zvb3RlcltzbC1mdHJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmRzaXRlTGlua0RpcmVjdGl2ZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9vdGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpXG4gIGdldCBwcm9qZWN0KCkge1xuICAgIHJldHVybiB0aGlzLl9wcm9qZWN0O1xuICB9XG4gIHNldCBwcm9qZWN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wcm9qZWN0ID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVGb290ZXJUaGVtZSgpO1xuICB9XG4gIHByaXZhdGUgX3Byb2plY3Q6IHN0cmluZyA9ICdzaXRlJztcblxuICBASW5wdXQoKVxuICBnZXQgdGhlbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xuICB9XG4gIHNldCB0aGVtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUZvb3RlclRoZW1lKCk7XG4gIH1cbiAgcHJpdmF0ZSBfdGhlbWU6IHN0cmluZyA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBkaXNjbGFpbWVyOiBzdHJpbmcgPSAnJztcbiAgQE91dHB1dCgpIGZvb3RlclByaXZhY3lDbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZvb3RlckNvb2tpZUNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBjdXJyZW50WWVhcjogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xuXG4gIEBJbnB1dCgpIGxvZ286IGFueSA9IG51bGw7XG4gIEBJbnB1dCgpIHBhcnRuZXJMb2dvOiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBwaG9uZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNvY2lhbE1lbnU6IE1lbnVTb2NpYWxNZWRpYVtdID0gW107XG4gIEBJbnB1dCgpIGdldCBsb2dvV2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvZ29XaWR0aDtcbiAgfVxuICBzZXQgbG9nb1dpZHRoKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sb2dvV2lkdGggPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUxvZ29XaWR0aCgpO1xuICB9XG4gIHByaXZhdGUgX2xvZ29XaWR0aDogbnVtYmVyID0gNzI7XG5cbiAgQE91dHB1dCgpIGZvb3RlclNvY2lhbE1lZGlhQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgZm9vdGVyTWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICBAT3V0cHV0KCkgZm9vdGVyTWVudUl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSxcbiAgICBwdWJsaWMgcHJpdmFjeVRvb2xzOiBQcml2YWN5VG9vbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KExJQl9DT05GSUcpIHB1YmxpYyBsaWJDb25maWc6IExpYkNvbmZpZyxcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUZvb3RlclRoZW1lKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxvZ29XaWR0aCgpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1sb2dvLXdpZHRoJywgYCR7dGhpcy5sb2dvV2lkdGh9cHhgKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9vdGVyVGhlbWUoKSB7XG4gICAgY29uc3QgZm9vdGVyVGhlbWU6IEZvb3RlclRoZW1lID0gZ2V0Rm9vdGVyVGhlbWUodGhpcy5wcm9qZWN0LCB0aGlzLnRoZW1lLCB0aGlzLmN1cmFTZXJ2aWNlKTtcbiAgICBPYmplY3QuZW50cmllcyhmb290ZXJUaGVtZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBPYmplY3QuZW50cmllcyh2YWx1ZSkuZm9yRWFjaCgoW3Byb3AsIHZhbF0pID0+IHtcbiAgICAgICAgY29uc3QgY3NzVmFyID0gYC0tJHtrZXl9LSR7cHJvcH1gO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShjc3NWYXIsIHZhbCBhcyBzdHJpbmcpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBmb290ZXJTb2NpYWxNZWRpYUNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5mb290ZXJTb2NpYWxNZWRpYUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlU3ViTWVudShldmVudDogRXZlbnQsIG1lbnU6IFBhcnRpYWw8TWVudUl0ZW0+KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgbWVudS5hY3RpdmUgPSAhbWVudS5hY3RpdmU7XG4gIH1cblxuICBmb290ZXJNZW51SXRlbUNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5mb290ZXJNZW51SXRlbUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZm9vdGVyUHJpdmFjeUNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5mb290ZXJQcml2YWN5Q2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBmb290ZXJDb29raWVDbGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZm9vdGVyQ29va2llQ2xpY2suZW1pdChldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzbC1mdHItY29udGVudFwiPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzbC1mdHItY29udGFjdFwiPlxuICAgICAgQGlmIChsb2dvKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsb2dvXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cImxvZ28/LnVybFwiIFthbHRdPVwibG9nbz8uYWx0XCIgW3RpdGxlXT1cImxvZ28/LnRpdGxlXCIgbG9hZGluZz1cImxhenlcIiBmZXRjaHByaW9yaXR5PVwibG93XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKHBhcnRuZXJMb2dvKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwYXJ0bmVyLWxvZ29cIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwicGFydG5lckxvZ28/LnVybFwiIFthbHRdPVwicGFydG5lckxvZ28/LmFsdFwiIFt0aXRsZV09XCJwYXJ0bmVyTG9nbz8udGl0bGVcIiBsb2FkaW5nPVwibGF6eVwiIGZldGNocHJpb3JpdHk9XCJsb3dcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAocGhvbmUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInBob25lXCI+XG4gICAgICAgICAgPGEgcmRzaXRlbGluayBocmVmPVwidGVsOnt7IHBob25lIH19XCI+XG4gICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxuICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGliQ29uZmlnLnNpdGVTdWZpeCArICcvYXNzZXRzL2ljb25zL2ljb25zZXQtZGVmYXVsdC5zdmcjcGhvbmUnXCI+PC91c2U+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIHt7IHBob25lIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxuYXYgY2xhc3M9XCJzbC1mdHItbWVkaWFzXCI+XG4gICAgICA8dWw+XG4gICAgICAgIEBmb3IgKHNvY2lhbCBvZiBzb2NpYWxNZW51OyB0cmFjayBzb2NpYWwudGl0bGUpIHtcbiAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBbaHJlZl09XCJzb2NpYWwubGlua1wiIHJkc2l0ZWxpbmsgW3RpdGxlXT1cInNvY2lhbC50aXRsZVwiIChjbGljayk9XCJmb290ZXJTb2NpYWxNZWRpYUNsaWNrZWQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxuICAgICAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJsaWJDb25maWcuc2l0ZVN1Zml4ICsgJy9hc3NldHMvaWNvbnMvaWNvbnNldC1kZWZhdWx0LnN2ZyMnICsgc29jaWFsLmljb25cIj48L3VzZT5cbiAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgPC91bD5cbiAgICA8L25hdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbWVudVwiPlxuICAgIEBpZiAoZm9vdGVyTWVudS5sZW5ndGgpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJzbC1mdHItbWVudVwiPlxuICAgICAgICA8bmF2PlxuICAgICAgICAgIDx1bCBjbGFzcz1cInNsLWZ0ci1tZW51LWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKG1lbnUgb2YgZm9vdGVyTWVudTsgdHJhY2sgbWVudS50aXRsZSkge1xuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzbC1mdHItbWVudS1saXN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICBAaWYgKG1lbnUudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtXCIgW25nQ2xhc3NdPVwieyAnaGF2ZS1jaGlsZHJlbic6IG1lbnUuY2hpbGRyZW4/Lmxlbmd0aCB9XCIgKGNsaWNrKT1cInRvZ2dsZVN1Yk1lbnUoJGV2ZW50LCBtZW51KVwiPlxuICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJtZW51LnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgcmRzaXRlbGlua1xuICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJtZW51LnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViTWVudSgkZXZlbnQsIG1lbnUpOyBmb290ZXJNZW51SXRlbUNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBtZW51LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1lbnUuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGliQ29uZmlnLnNpdGVTdWZpeCArICcvYXNzZXRzL2ljb25zL2ljb25zZXQtZGVmYXVsdC5zdmcjJyArIChtZW51LmFjdGl2ZSA/ICd1cCcgOiAnZG93bicpXCI+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICBAaWYgKG1lbnUuY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtLWNoaWxkcmVuXCIgW25nQ2xhc3NdPVwieyBjbG9zZWQ6ICFtZW51LmFjdGl2ZSB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoc3VibWVudSBvZiBtZW51LmNoaWxkcmVuOyB0cmFjayBzdWJtZW51LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtLWNoaWxkcmVuLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNsLWZ0ci1tZW51LWl0ZW0gYWx0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtLWxpbmtcIiBbaHJlZl09XCJzdWJtZW51LnVybFwiIHJkc2l0ZWxpbmsgW3RpdGxlXT1cInN1Ym1lbnUudGl0bGVcIiAoY2xpY2spPVwiZm9vdGVyTWVudUl0ZW1DbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1Ym1lbnUudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvbmF2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwic2wtZnRyLWRpc2NcIj5cbiAgPGRpdiBjbGFzcz1cImRpc2MtY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkaXNjLWNvbnRlbnQtY29weVwiPsKpe3sgY3VycmVudFllYXIgfX0ge3sgZGlzY2xhaW1lciB9fTwvZGl2PlxuICAgIDx1bCBjbGFzcz1cImRpc2MtY29udGVudC1saW5rc1wiPlxuICAgICAgPGxpPlxuICAgICAgICA8YVxuICAgICAgICAgIGhyZWY9XCJodHRwczovL2Rwby5wcml2YWN5dG9vbHMuY29tLmJyL3BvbGljeS12aWV3L0RQTzhyMGFRay8xL2F2aXNvLWRlLXByaXZhY2lkYWRlL3B0X0JSXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIGRhdGEtdGVzdGlkPVwiX2F2aXNvUHJpdmFjaWRhZGVcIlxuICAgICAgICAgIChjbGljayk9XCJmb290ZXJQcml2YWN5Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIEF2aXNvIGRlIFByaXZhY2lkYWRlXG4gICAgICAgIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGk+XG4gICAgICAgIDxhIChjbGljayk9XCJwcml2YWN5VG9vbHMub3BlbkNvb2tpZUJhbm5lcigpOyBmb290ZXJDb29raWVDbGlja2VkKCRldmVudClcIiBkYXRhLXRlc3RpZD1cIl9hdmlzb0Nvb2tpZXNcIj4gQXZpc28gZGUgQ29va2llcyA8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBVy9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0QsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFh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Q0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBWTtRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBekZVLGVBQWUsMEdBaURoQixVQUFVO21HQWpEVCxlQUFlLCtmQ2xCNUIsd21JQXNHQSx1dUtEekZZLFlBQVksNkhBQUUsbUJBQW1COzs0RkFLaEMsZUFBZTtrQkFUM0IsU0FBUzsrQkFFRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsaUJBQzdCLGlCQUFpQixDQUFDLElBQUk7OzBCQXFEbEMsTUFBTTsyQkFBQyxVQUFVO3lDQS9DaEIsT0FBTztzQkFEVixLQUFLO2dCQVdGLEtBQUs7c0JBRFIsS0FBSztnQkFVRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUdFLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU0ksc0JBQXNCO3NCQUEvQixNQUFNO2dCQUVFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEN1cmFTZXJ2aWNlLCBQcml2YWN5VG9vbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvb3RlclRoZW1lIH0gZnJvbSAnLi9tb2RlbHMvRm9vdGVyVGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgZ2V0Rm9vdGVyVGhlbWUgfSBmcm9tICcuL2hlbHBlcnMvZm9vdGVyVGhlbWUuZnVuYyc7XG5pbXBvcnQgeyBNZW51SXRlbSwgTWVudVNvY2lhbE1lZGlhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBSZHNpdGVMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnZm9vdGVyW3NsLWZ0cl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZHNpdGVMaW5rRGlyZWN0aXZlXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9mb290ZXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBGb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KClcbiAgZ2V0IHByb2plY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb2plY3Q7XG4gIH1cbiAgc2V0IHByb2plY3QodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Byb2plY3QgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZUZvb3RlclRoZW1lKCk7XG4gIH1cbiAgcHJpdmF0ZSBfcHJvamVjdDogc3RyaW5nID0gJ3NpdGUnO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB0aGVtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XG4gIH1cbiAgc2V0IHRoZW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90aGVtZSA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlRm9vdGVyVGhlbWUoKTtcbiAgfVxuICBwcml2YXRlIF90aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpIGRpc2NsYWltZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsaW5rUHJpdmFjeUZvb3Rlcjogc3RyaW5nID0gJyc7XG4gIEBPdXRwdXQoKSBmb290ZXJQcml2YWN5Q2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBmb290ZXJDb29raWVDbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY3VycmVudFllYXI6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcblxuICBASW5wdXQoKSBsb2dvOiBhbnkgPSBudWxsO1xuICBASW5wdXQoKSBwYXJ0bmVyTG9nbzogYW55ID0gbnVsbDtcbiAgQElucHV0KCkgcGhvbmU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzb2NpYWxNZW51OiBNZW51U29jaWFsTWVkaWFbXSA9IFtdO1xuICBASW5wdXQoKSBnZXQgbG9nb1dpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2dvV2lkdGg7XG4gIH1cbiAgc2V0IGxvZ29XaWR0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbG9nb1dpZHRoID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVMb2dvV2lkdGgoKTtcbiAgfVxuICBwcml2YXRlIF9sb2dvV2lkdGg6IG51bWJlciA9IDcyO1xuXG4gIEBPdXRwdXQoKSBmb290ZXJTb2NpYWxNZWRpYUNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIGZvb3Rlck1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgQE91dHB1dCgpIGZvb3Rlck1lbnVJdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjdXJhU2VydmljZTogQ3VyYVNlcnZpY2UsXG4gICAgcHVibGljIHByaXZhY3lUb29sczogUHJpdmFjeVRvb2xzU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwdWJsaWMgbGliQ29uZmlnOiBMaWJDb25maWcsXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVGb290ZXJUaGVtZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVMb2dvV2lkdGgoKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tbG9nby13aWR0aCcsIGAke3RoaXMubG9nb1dpZHRofXB4YCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZvb3RlclRoZW1lKCkge1xuICAgIGNvbnN0IGZvb3RlclRoZW1lOiBGb290ZXJUaGVtZSA9IGdldEZvb3RlclRoZW1lKHRoaXMucHJvamVjdCwgdGhpcy50aGVtZSwgdGhpcy5jdXJhU2VydmljZSk7XG4gICAgT2JqZWN0LmVudHJpZXMoZm9vdGVyVGhlbWUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgT2JqZWN0LmVudHJpZXModmFsdWUpLmZvckVhY2goKFtwcm9wLCB2YWxdKSA9PiB7XG4gICAgICAgIGNvbnN0IGNzc1ZhciA9IGAtLSR7a2V5fS0ke3Byb3B9YDtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoY3NzVmFyLCB2YWwgYXMgc3RyaW5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZm9vdGVyU29jaWFsTWVkaWFDbGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZm9vdGVyU29jaWFsTWVkaWFDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHRvZ2dsZVN1Yk1lbnUoZXZlbnQ6IEV2ZW50LCBtZW51OiBQYXJ0aWFsPE1lbnVJdGVtPikge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIG1lbnUuYWN0aXZlID0gIW1lbnUuYWN0aXZlO1xuICB9XG5cbiAgZm9vdGVyTWVudUl0ZW1DbGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZm9vdGVyTWVudUl0ZW1DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGZvb3RlclByaXZhY3lDbGlja2VkKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuZm9vdGVyUHJpdmFjeUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgZm9vdGVyQ29va2llQ2xpY2tlZChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLmZvb3RlckNvb2tpZUNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2wtZnRyLWNvbnRlbnRcIj5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2wtZnRyLWNvbnRhY3RcIj5cbiAgICAgIEBpZiAobG9nbykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibG9nb1wiPlxuICAgICAgICAgIDxpbWcgW3NyY109XCJsb2dvPy51cmxcIiBbYWx0XT1cImxvZ28/LmFsdFwiIFt0aXRsZV09XCJsb2dvPy50aXRsZVwiIGxvYWRpbmc9XCJsYXp5XCIgZmV0Y2hwcmlvcml0eT1cImxvd1wiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChwYXJ0bmVyTG9nbykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicGFydG5lci1sb2dvXCI+XG4gICAgICAgICAgPGltZyBbc3JjXT1cInBhcnRuZXJMb2dvPy51cmxcIiBbYWx0XT1cInBhcnRuZXJMb2dvPy5hbHRcIiBbdGl0bGVdPVwicGFydG5lckxvZ28/LnRpdGxlXCIgbG9hZGluZz1cImxhenlcIiBmZXRjaHByaW9yaXR5PVwibG93XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKHBob25lKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZVwiPlxuICAgICAgICAgIDxhIHJkc2l0ZWxpbmsgaHJlZj1cInRlbDp7eyBwaG9uZSB9fVwiPlxuICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIj5cbiAgICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pY29ucy9pY29uc2V0LWRlZmF1bHQuc3ZnI3Bob25lJ1wiPjwvdXNlPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICB7eyBwaG9uZSB9fVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8bmF2IGNsYXNzPVwic2wtZnRyLW1lZGlhc1wiPlxuICAgICAgPHVsPlxuICAgICAgICBAZm9yIChzb2NpYWwgb2Ygc29jaWFsTWVudTsgdHJhY2sgc29jaWFsLnRpdGxlKSB7XG4gICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGEgW2hyZWZdPVwic29jaWFsLmxpbmtcIiByZHNpdGVsaW5rIFt0aXRsZV09XCJzb2NpYWwudGl0bGVcIiAoY2xpY2spPVwiZm9vdGVyU29jaWFsTWVkaWFDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIj5cbiAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGliQ29uZmlnLnNpdGVTdWZpeCArICcvYXNzZXRzL2ljb25zL2ljb25zZXQtZGVmYXVsdC5zdmcjJyArIHNvY2lhbC5pY29uXCI+PC91c2U+XG4gICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9uYXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LW1lbnVcIj5cbiAgICBAaWYgKGZvb3Rlck1lbnUubGVuZ3RoKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwic2wtZnRyLW1lbnVcIj5cbiAgICAgICAgPG5hdj5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJzbC1mdHItbWVudS1saXN0XCI+XG4gICAgICAgICAgICBAZm9yIChtZW51IG9mIGZvb3Rlck1lbnU7IHRyYWNrIG1lbnUudGl0bGUpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2wtZnRyLW1lbnUtbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgQGlmIChtZW51LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbVwiIFtuZ0NsYXNzXT1cInsgJ2hhdmUtY2hpbGRyZW4nOiBtZW51LmNoaWxkcmVuPy5sZW5ndGggfVwiIChjbGljayk9XCJ0b2dnbGVTdWJNZW51KCRldmVudCwgbWVudSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNsLWZ0ci1tZW51LWl0ZW0tbGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibWVudS51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgIHJkc2l0ZWxpbmtcbiAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwibWVudS50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVN1Yk1lbnUoJGV2ZW50LCBtZW51KTsgZm9vdGVyTWVudUl0ZW1DbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sgbWVudS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChtZW51LmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pY29ucy9pY29uc2V0LWRlZmF1bHQuc3ZnIycgKyAobWVudS5hY3RpdmUgPyAndXAnIDogJ2Rvd24nKVwiPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgQGlmIChtZW51LmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbS1jaGlsZHJlblwiIFtuZ0NsYXNzXT1cInsgY2xvc2VkOiAhbWVudS5hY3RpdmUgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1Ym1lbnUgb2YgbWVudS5jaGlsZHJlbjsgdHJhY2sgc3VibWVudS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbS1jaGlsZHJlbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtIGFsdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbS1saW5rXCIgW2hyZWZdPVwic3VibWVudS51cmxcIiByZHNpdGVsaW5rIFt0aXRsZV09XCJzdWJtZW51LnRpdGxlXCIgKGNsaWNrKT1cImZvb3Rlck1lbnVJdGVtQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJtZW51LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L25hdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInNsLWZ0ci1kaXNjXCI+XG4gIDxkaXYgY2xhc3M9XCJkaXNjLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGlzYy1jb250ZW50LWNvcHlcIj7CqXt7IGN1cnJlbnRZZWFyIH19IHt7IGRpc2NsYWltZXIgfX08L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJkaXNjLWNvbnRlbnQtbGlua3NcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgPGEgW2hyZWZdPVwibGlua1ByaXZhY3lGb290ZXIgfHwgJyMnXCIgdGFyZ2V0PVwiX2JsYW5rXCIgZGF0YS10ZXN0aWQ9XCJfYXZpc29Qcml2YWNpZGFkZVwiIChjbGljayk9XCJmb290ZXJQcml2YWN5Q2xpY2tlZCgkZXZlbnQpXCI+IEF2aXNvIGRlIFByaXZhY2lkYWRlIDwvYT5cbiAgICAgIDwvbGk+XG4gICAgICA8bGk+XG4gICAgICAgIDxhIChjbGljayk9XCJwcml2YWN5VG9vbHMub3BlbkNvb2tpZUJhbm5lcigpOyBmb290ZXJDb29raWVDbGlja2VkKCRldmVudClcIiBkYXRhLXRlc3RpZD1cIl9hdmlzb0Nvb2tpZXNcIj4gQXZpc28gZGUgQ29va2llcyA8L2E+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -10,13 +10,14 @@ export class PageTemplateSidebarComponent {
|
|
|
10
10
|
this.content = null;
|
|
11
11
|
this.afterContent = null;
|
|
12
12
|
this.sidebarContent = null;
|
|
13
|
+
this.isArticle = false;
|
|
13
14
|
}
|
|
14
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTemplateSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTemplateSidebarComponent, isStandalone: true, selector: "rdsite-page-template-sidebar", inputs: { header: "header", stickyContent: "stickyContent", beforeContent: "beforeContent", content: "content", afterContent: "afterContent", sidebarContent: "sidebarContent" }, ngImport: i0, template: "<article class=\"rdsite-template-
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTemplateSidebarComponent, isStandalone: true, selector: "rdsite-page-template-sidebar", inputs: { header: "header", stickyContent: "stickyContent", beforeContent: "beforeContent", content: "content", afterContent: "afterContent", sidebarContent: "sidebarContent", isArticle: "isArticle" }, ngImport: i0, template: "@if (isArticle) {\n <article class=\"rdsite-template-sidebar\">\n <ng-container *ngTemplateOutlet=\"mainContent\"></ng-container>\n </article>\n} @else {\n <section class=\"rdsite-template-sidebar\">\n <ng-container *ngTemplateOutlet=\"mainContent\"></ng-container>\n </section>\n}\n<ng-template #mainContent>\n @if (header) {\n <header class=\"rdsite-template-header\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </header>\n }\n @if (stickyContent) {\n <div class=\"rdsite-template-sticky-content\">\n <ng-container *ngTemplateOutlet=\"stickyContent\"></ng-container>\n </div>\n }\n\n @if (beforeContent) {\n <div class=\"rdsite-template-before-content\">\n <ng-container *ngTemplateOutlet=\"beforeContent\"></ng-container>\n </div>\n }\n <div class=\"rdsite-template-container\">\n @if (content) {\n <section class=\"rdsite-content-container\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </section>\n }\n\n @if (sidebarContent) {\n <aside class=\"rdsite-sidebar-content-container\">\n <ng-container *ngTemplateOutlet=\"sidebarContent\"></ng-container>\n </aside>\n }\n </div>\n</ng-template>\n\n@if (afterContent?.length) {\n @for (tpl of afterContent; track $index) {\n @if (tpl.show) {\n <aside class=\"rdsite-template-after-content\">\n <ng-container *ngTemplateOutlet=\"tpl.template\"></ng-container>\n </aside>\n }\n }\n}\n", styles: ["article.rdsite-template-sidebar,section.rdsite-template-sidebar{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(5%,1fr) minmax(auto,90%) minmax(5%,1fr);grid-template-areas:\"header header header\" \"stickycontent stickycontent stickycontent\" \"beforecontent beforecontent beforecontent\" \". pagecontent .\"}@media screen and (min-width: 1024px){article.rdsite-template-sidebar,section.rdsite-template-sidebar{grid-template-columns:minmax(5%,1fr) minmax(auto,1366px) minmax(5%,1fr)}}article.rdsite-template-sidebar .rdsite-template-header,section.rdsite-template-sidebar .rdsite-template-header{grid-area:header}article.rdsite-template-sidebar .rdsite-template-sticky-content,section.rdsite-template-sidebar .rdsite-template-sticky-content{grid-area:stickycontent}article.rdsite-template-sidebar .rdsite-template-before-content,section.rdsite-template-sidebar .rdsite-template-before-content{grid-area:beforecontent}article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{grid-area:pagecontent}article.rdsite-template-sidebar .rdsite-template-sticky-content,section.rdsite-template-sidebar .rdsite-template-sticky-content{position:sticky;top:0;z-index:3002}article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{display:grid;position:relative;width:100%;grid-template-rows:auto;grid-template-columns:1fr;grid-template-areas:\"content\" \"sidebarcontent\"}@media screen and (min-width: 1024px){article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{grid-template-rows:1fr;grid-template-columns:3fr 20px 1fr;grid-template-areas:\"content . sidebarcontent\"}}article.rdsite-template-sidebar .rdsite-template-container section.rdsite-content-container,section.rdsite-template-sidebar .rdsite-template-container section.rdsite-content-container{grid-area:content;position:relative;max-width:100%}article.rdsite-template-sidebar .rdsite-template-container aside.rdsite-sidebar-content-container,section.rdsite-template-sidebar .rdsite-template-container aside.rdsite-sidebar-content-container{grid-area:sidebarcontent;position:relative;z-index:3001}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
16
17
|
}
|
|
17
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTemplateSidebarComponent, decorators: [{
|
|
18
19
|
type: Component,
|
|
19
|
-
args: [{ selector: 'rdsite-page-template-sidebar', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<article class=\"rdsite-template-
|
|
20
|
+
args: [{ selector: 'rdsite-page-template-sidebar', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (isArticle) {\n <article class=\"rdsite-template-sidebar\">\n <ng-container *ngTemplateOutlet=\"mainContent\"></ng-container>\n </article>\n} @else {\n <section class=\"rdsite-template-sidebar\">\n <ng-container *ngTemplateOutlet=\"mainContent\"></ng-container>\n </section>\n}\n<ng-template #mainContent>\n @if (header) {\n <header class=\"rdsite-template-header\">\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </header>\n }\n @if (stickyContent) {\n <div class=\"rdsite-template-sticky-content\">\n <ng-container *ngTemplateOutlet=\"stickyContent\"></ng-container>\n </div>\n }\n\n @if (beforeContent) {\n <div class=\"rdsite-template-before-content\">\n <ng-container *ngTemplateOutlet=\"beforeContent\"></ng-container>\n </div>\n }\n <div class=\"rdsite-template-container\">\n @if (content) {\n <section class=\"rdsite-content-container\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </section>\n }\n\n @if (sidebarContent) {\n <aside class=\"rdsite-sidebar-content-container\">\n <ng-container *ngTemplateOutlet=\"sidebarContent\"></ng-container>\n </aside>\n }\n </div>\n</ng-template>\n\n@if (afterContent?.length) {\n @for (tpl of afterContent; track $index) {\n @if (tpl.show) {\n <aside class=\"rdsite-template-after-content\">\n <ng-container *ngTemplateOutlet=\"tpl.template\"></ng-container>\n </aside>\n }\n }\n}\n", styles: ["article.rdsite-template-sidebar,section.rdsite-template-sidebar{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(5%,1fr) minmax(auto,90%) minmax(5%,1fr);grid-template-areas:\"header header header\" \"stickycontent stickycontent stickycontent\" \"beforecontent beforecontent beforecontent\" \". pagecontent .\"}@media screen and (min-width: 1024px){article.rdsite-template-sidebar,section.rdsite-template-sidebar{grid-template-columns:minmax(5%,1fr) minmax(auto,1366px) minmax(5%,1fr)}}article.rdsite-template-sidebar .rdsite-template-header,section.rdsite-template-sidebar .rdsite-template-header{grid-area:header}article.rdsite-template-sidebar .rdsite-template-sticky-content,section.rdsite-template-sidebar .rdsite-template-sticky-content{grid-area:stickycontent}article.rdsite-template-sidebar .rdsite-template-before-content,section.rdsite-template-sidebar .rdsite-template-before-content{grid-area:beforecontent}article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{grid-area:pagecontent}article.rdsite-template-sidebar .rdsite-template-sticky-content,section.rdsite-template-sidebar .rdsite-template-sticky-content{position:sticky;top:0;z-index:3002}article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{display:grid;position:relative;width:100%;grid-template-rows:auto;grid-template-columns:1fr;grid-template-areas:\"content\" \"sidebarcontent\"}@media screen and (min-width: 1024px){article.rdsite-template-sidebar .rdsite-template-container,section.rdsite-template-sidebar .rdsite-template-container{grid-template-rows:1fr;grid-template-columns:3fr 20px 1fr;grid-template-areas:\"content . sidebarcontent\"}}article.rdsite-template-sidebar .rdsite-template-container section.rdsite-content-container,section.rdsite-template-sidebar .rdsite-template-container section.rdsite-content-container{grid-area:content;position:relative;max-width:100%}article.rdsite-template-sidebar .rdsite-template-container aside.rdsite-sidebar-content-container,section.rdsite-template-sidebar .rdsite-template-container aside.rdsite-sidebar-content-container{grid-area:sidebarcontent;position:relative;z-index:3001}\n"] }]
|
|
20
21
|
}], propDecorators: { header: [{
|
|
21
22
|
type: Input
|
|
22
23
|
}], stickyContent: [{
|
|
@@ -29,5 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
29
30
|
type: Input
|
|
30
31
|
}], sidebarContent: [{
|
|
31
32
|
type: Input
|
|
33
|
+
}], isArticle: [{
|
|
34
|
+
type: Input
|
|
32
35
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS10ZW1wbGF0ZS1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcGFnZS10ZW1wbGF0ZS1zaWRlYmFyL3BhZ2UtdGVtcGxhdGUtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2UtdGVtcGxhdGUtc2lkZWJhci9wYWdlLXRlbXBsYXRlLXNpZGViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDOzs7QUFVdEYsTUFBTSxPQUFPLDRCQUE0QjtJQVJ6QztRQVNXLFdBQU0sR0FBNEIsSUFBSSxDQUFDO1FBQ3ZDLGtCQUFhLEdBQTRCLElBQUksQ0FBQztRQUM5QyxrQkFBYSxHQUE0QixJQUFJLENBQUM7UUFDOUMsWUFBTyxHQUE0QixJQUFJLENBQUM7UUFDeEMsaUJBQVksR0FBMkQsSUFBSSxDQUFDO1FBQzVFLG1CQUFjLEdBQTRCLElBQUksQ0FBQztRQUMvQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBQzVCOytHQVJZLDRCQUE0QjttR0FBNUIsNEJBQTRCLGtTQ1h6Qyx1OUNBa0RBLG94RUQ1Q1ksWUFBWTs7NEZBS1gsNEJBQTRCO2tCQVJ4QyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsV0FDZCxDQUFDLHNCQUFzQixDQUFDOzhCQUt4QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZHNpdGUtcGFnZS10ZW1wbGF0ZS1zaWRlYmFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtdGVtcGxhdGUtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWdlLXRlbXBsYXRlLXNpZGViYXIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdlVGVtcGxhdGVTaWRlYmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGVyOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIHN0aWNreUNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgYmVmb3JlQ29udGVudDogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIGFmdGVyQ29udGVudDogeyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjsgc2hvdzogYm9vbGVhbiB9W10gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgc2lkZWJhckNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgaXNBcnRpY2xlID0gZmFsc2U7XG59XG4iLCJAaWYgKGlzQXJ0aWNsZSkge1xuICA8YXJ0aWNsZSBjbGFzcz1cInJkc2l0ZS10ZW1wbGF0ZS1zaWRlYmFyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1haW5Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYXJ0aWNsZT5cbn0gQGVsc2Uge1xuICA8c2VjdGlvbiBjbGFzcz1cInJkc2l0ZS10ZW1wbGF0ZS1zaWRlYmFyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1haW5Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvc2VjdGlvbj5cbn1cbjxuZy10ZW1wbGF0ZSAjbWFpbkNvbnRlbnQ+XG4gIEBpZiAoaGVhZGVyKSB7XG4gICAgPGhlYWRlciBjbGFzcz1cInJkc2l0ZS10ZW1wbGF0ZS1oZWFkZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2hlYWRlcj5cbiAgfVxuICBAaWYgKHN0aWNreUNvbnRlbnQpIHtcbiAgICA8ZGl2IGNsYXNzPVwicmRzaXRlLXRlbXBsYXRlLXN0aWNreS1jb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic3RpY2t5Q29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICB9XG5cbiAgQGlmIChiZWZvcmVDb250ZW50KSB7XG4gICAgPGRpdiBjbGFzcz1cInJkc2l0ZS10ZW1wbGF0ZS1iZWZvcmUtY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJlZm9yZUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwicmRzaXRlLXRlbXBsYXRlLWNvbnRhaW5lclwiPlxuICAgIEBpZiAoY29udGVudCkge1xuICAgICAgPHNlY3Rpb24gY2xhc3M9XCJyZHNpdGUtY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICB9XG5cbiAgICBAaWYgKHNpZGViYXJDb250ZW50KSB7XG4gICAgICA8YXNpZGUgY2xhc3M9XCJyZHNpdGUtc2lkZWJhci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2lkZWJhckNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYXNpZGU+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbkBpZiAoYWZ0ZXJDb250ZW50Py5sZW5ndGgpIHtcbiAgQGZvciAodHBsIG9mIGFmdGVyQ29udGVudDsgdHJhY2sgJGluZGV4KSB7XG4gICAgQGlmICh0cGwuc2hvdykge1xuICAgICAgPGFzaWRlIGNsYXNzPVwicmRzaXRlLXRlbXBsYXRlLWFmdGVyLWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRwbC50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9hc2lkZT5cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Função que retorna um replacer personalizado para o JSON.stringify que resolve problemas de estruturas circulares durante a serialização.
|
|
3
|
+
*/
|
|
4
|
+
export function getCircularReplacer(customOptions) {
|
|
5
|
+
const seen = new WeakSet();
|
|
6
|
+
const options = {
|
|
7
|
+
ignoreKeys: customOptions?.ignoreKeys || [],
|
|
8
|
+
maxDepth: customOptions?.maxDepth || 100,
|
|
9
|
+
};
|
|
10
|
+
let depth = 0;
|
|
11
|
+
return (key, value) => {
|
|
12
|
+
// Ignora chaves específicas configuradas
|
|
13
|
+
if (options.ignoreKeys.includes(key)) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
// Controle de profundidade (opcional)
|
|
17
|
+
if (key === '') {
|
|
18
|
+
depth = 0; // Reinicia a profundidade na raiz
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
depth += 1; // Incrementa apenas quando descer na hierarquia
|
|
22
|
+
}
|
|
23
|
+
if (depth > options.maxDepth) {
|
|
24
|
+
return typeof value === 'object' ? '[Object]' : value;
|
|
25
|
+
}
|
|
26
|
+
// Lida com referências circulares
|
|
27
|
+
if (typeof value === 'object' && value !== null) {
|
|
28
|
+
// Se já vimos este objeto, é uma referência circular
|
|
29
|
+
if (seen.has(value)) {
|
|
30
|
+
return undefined; // Exclui valores circulares
|
|
31
|
+
}
|
|
32
|
+
// Adiciona o objeto ao conjunto de objetos vistos
|
|
33
|
+
seen.add(value);
|
|
34
|
+
}
|
|
35
|
+
return value;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2lyY3VsYXJSZXBsYWNlci5mdW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvaGVscGVycy9nZXRDaXJjdWxhclJlcGxhY2VyLmZ1bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsYUFHbkM7SUFDQyxNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzNCLE1BQU0sT0FBTyxHQUFHO1FBQ2QsVUFBVSxFQUFFLGFBQWEsRUFBRSxVQUFVLElBQUksRUFBRTtRQUMzQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsSUFBSSxHQUFHO0tBQ3pDLENBQUM7SUFFRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFFZCxPQUFPLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxFQUFFO1FBQ2pDLHlDQUF5QztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNmLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsZ0RBQWdEO1FBQzlELENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3hELENBQUM7UUFFRCxrQ0FBa0M7UUFDbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hELHFEQUFxRDtZQUNyRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxTQUFTLENBQUMsQ0FBQyw0QkFBNEI7WUFDaEQsQ0FBQztZQUNELGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZ1bsOnw6NvIHF1ZSByZXRvcm5hIHVtIHJlcGxhY2VyIHBlcnNvbmFsaXphZG8gcGFyYSBvIEpTT04uc3RyaW5naWZ5IHF1ZSByZXNvbHZlIHByb2JsZW1hcyBkZSBlc3RydXR1cmFzIGNpcmN1bGFyZXMgZHVyYW50ZSBhIHNlcmlhbGl6YcOnw6NvLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2lyY3VsYXJSZXBsYWNlcihjdXN0b21PcHRpb25zPzoge1xuICBpZ25vcmVLZXlzPzogc3RyaW5nW107IC8vIENoYXZlcyBlc3BlY8OtZmljYXMgYSBzZXJlbSBzZW1wcmUgaWdub3JhZGFzIChleDogWydfcmVxdWVzdCcsICdwYXJlbnQnXSlcbiAgbWF4RGVwdGg/OiBudW1iZXI7IC8vIFByb2Z1bmRpZGFkZSBtw6F4aW1hIGRlIG9iamV0b3MgYW5pbmhhZG9zIChvcGNpb25hbClcbn0pIHtcbiAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgaWdub3JlS2V5czogY3VzdG9tT3B0aW9ucz8uaWdub3JlS2V5cyB8fCBbXSxcbiAgICBtYXhEZXB0aDogY3VzdG9tT3B0aW9ucz8ubWF4RGVwdGggfHwgMTAwLFxuICB9O1xuXG4gIGxldCBkZXB0aCA9IDA7XG5cbiAgcmV0dXJuIChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xuICAgIC8vIElnbm9yYSBjaGF2ZXMgZXNwZWPDrWZpY2FzIGNvbmZpZ3VyYWRhc1xuICAgIGlmIChvcHRpb25zLmlnbm9yZUtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBDb250cm9sZSBkZSBwcm9mdW5kaWRhZGUgKG9wY2lvbmFsKVxuICAgIGlmIChrZXkgPT09ICcnKSB7XG4gICAgICBkZXB0aCA9IDA7IC8vIFJlaW5pY2lhIGEgcHJvZnVuZGlkYWRlIG5hIHJhaXpcbiAgICB9IGVsc2Uge1xuICAgICAgZGVwdGggKz0gMTsgLy8gSW5jcmVtZW50YSBhcGVuYXMgcXVhbmRvIGRlc2NlciBuYSBoaWVyYXJxdWlhXG4gICAgfVxuXG4gICAgaWYgKGRlcHRoID4gb3B0aW9ucy5tYXhEZXB0aCkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyAnW09iamVjdF0nIDogdmFsdWU7XG4gICAgfVxuXG4gICAgLy8gTGlkYSBjb20gcmVmZXLDqm5jaWFzIGNpcmN1bGFyZXNcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgLy8gU2UgasOhIHZpbW9zIGVzdGUgb2JqZXRvLCDDqSB1bWEgcmVmZXLDqm5jaWEgY2lyY3VsYXJcbiAgICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8gRXhjbHVpIHZhbG9yZXMgY2lyY3VsYXJlc1xuICAgICAgfVxuICAgICAgLy8gQWRpY2lvbmEgbyBvYmpldG8gYW8gY29uanVudG8gZGUgb2JqZXRvcyB2aXN0b3NcbiAgICAgIHNlZW4uYWRkKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG59XG4iXX0=
|
|
@@ -5,4 +5,5 @@ export * from './getSiteUrl.func';
|
|
|
5
5
|
export * from './removeHtmlTags.func';
|
|
6
6
|
export * from './toQueryParams.func';
|
|
7
7
|
export * from './check-safari-agent.func';
|
|
8
|
-
|
|
8
|
+
export * from './getCircularReplacer.func';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlRHVwbGljYXRlT2JqZWN0c0Zyb21BcnJheS5mdW5jJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlRHVwbGljYXRlVmFsdWVzRnJvbUFycmF5LmZ1bmMnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXRQaG9uZS5mdW5jJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0U2l0ZVVybC5mdW5jJztcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlSHRtbFRhZ3MuZnVuYyc7XG5leHBvcnQgKiBmcm9tICcuL3RvUXVlcnlQYXJhbXMuZnVuYyc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrLXNhZmFyaS1hZ2VudC5mdW5jJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0Q2lyY3VsYXJSZXBsYWNlci5mdW5jJztcbiJdfQ==
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, map, Observable } from 'rxjs';
|
|
3
|
+
import { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';
|
|
4
|
+
import checkSafariAgent from '../../helpers/check-safari-agent.func';
|
|
5
|
+
import { getCircularReplacer } from '../../helpers';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../mapbox/mapbox.service";
|
|
8
|
+
import * as i2 from "../log/log.service";
|
|
9
|
+
export var GeolocationPermissions;
|
|
10
|
+
(function (GeolocationPermissions) {
|
|
11
|
+
GeolocationPermissions["GRANTED"] = "granted";
|
|
12
|
+
GeolocationPermissions["PROMPT"] = "prompt";
|
|
13
|
+
GeolocationPermissions["DENIED"] = "denied";
|
|
14
|
+
})(GeolocationPermissions || (GeolocationPermissions = {}));
|
|
15
|
+
export class GeolocService {
|
|
16
|
+
get switchStatus() {
|
|
17
|
+
return this._switchStatus;
|
|
18
|
+
}
|
|
19
|
+
get address() {
|
|
20
|
+
return this._address;
|
|
21
|
+
}
|
|
22
|
+
get permission() {
|
|
23
|
+
return this._permission;
|
|
24
|
+
}
|
|
25
|
+
get disableSwitch() {
|
|
26
|
+
return this._disableSwitch;
|
|
27
|
+
}
|
|
28
|
+
constructor(document, platformId, mapboxService, logService) {
|
|
29
|
+
this.document = document;
|
|
30
|
+
this.platformId = platformId;
|
|
31
|
+
this.mapboxService = mapboxService;
|
|
32
|
+
this.logService = logService;
|
|
33
|
+
this._mapboxGeocodingParams = {
|
|
34
|
+
types: 'place',
|
|
35
|
+
limit: 1,
|
|
36
|
+
language: 'pt-BR',
|
|
37
|
+
country: 'BR',
|
|
38
|
+
};
|
|
39
|
+
this._hasConsent = false;
|
|
40
|
+
this._switchStatus = false;
|
|
41
|
+
this._address = null;
|
|
42
|
+
this._permission = GeolocationPermissions.PROMPT;
|
|
43
|
+
this.geolocation = new BehaviorSubject(null);
|
|
44
|
+
this.isChecked = new BehaviorSubject(false); // Emite true quando o geoloc está estável
|
|
45
|
+
this._isSafariAgent = false;
|
|
46
|
+
this._disableSwitch = false;
|
|
47
|
+
if (isPlatformServer(this.platformId)) {
|
|
48
|
+
this.isChecked.next(true);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this._isSafariAgent = checkSafariAgent();
|
|
52
|
+
if (this._isSafariAgent) {
|
|
53
|
+
this._hasConsent = this.checkACookieExists('geolocation_consent');
|
|
54
|
+
this.initGeolocation(this._hasConsent);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
navigator?.permissions
|
|
58
|
+
?.query({ name: 'geolocation' })
|
|
59
|
+
.then((permission) => {
|
|
60
|
+
this._permission = permission.state;
|
|
61
|
+
this.initGeolocation(this._permission === GeolocationPermissions.GRANTED);
|
|
62
|
+
permission.onchange = () => {
|
|
63
|
+
this._permission = permission.state;
|
|
64
|
+
this.initGeolocation(this._permission === GeolocationPermissions.GRANTED);
|
|
65
|
+
};
|
|
66
|
+
})
|
|
67
|
+
.catch((error) => {
|
|
68
|
+
this.logService.logMsg(JSON.stringify(error, getCircularReplacer()), 'ERROR');
|
|
69
|
+
this._permission = GeolocationPermissions.DENIED;
|
|
70
|
+
this._disableSwitch = true;
|
|
71
|
+
this.initGeolocation(false);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
initGeolocation(geolocAllowed = false) {
|
|
75
|
+
this._switchStatus = true;
|
|
76
|
+
if (geolocAllowed) {
|
|
77
|
+
this.getCurrentPosition().subscribe({
|
|
78
|
+
next: (position) => {
|
|
79
|
+
this._disableSwitch = false;
|
|
80
|
+
this.setGeolocation(position);
|
|
81
|
+
this.setConsentCookie(true, 3650);
|
|
82
|
+
this._hasConsent = true;
|
|
83
|
+
this._permission = GeolocationPermissions.GRANTED;
|
|
84
|
+
},
|
|
85
|
+
error: () => {
|
|
86
|
+
if (this._permission === GeolocationPermissions.DENIED) {
|
|
87
|
+
this._disableSwitch = true;
|
|
88
|
+
this.setConsentCookie(false, 15);
|
|
89
|
+
}
|
|
90
|
+
this.geolocation.next(null);
|
|
91
|
+
this._address = null;
|
|
92
|
+
this._hasConsent = false;
|
|
93
|
+
this._switchStatus = false;
|
|
94
|
+
this.isChecked.next(true);
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
if (this.permission === GeolocationPermissions.DENIED) {
|
|
100
|
+
this._disableSwitch = true;
|
|
101
|
+
this.setConsentCookie(false, 15);
|
|
102
|
+
}
|
|
103
|
+
this.geolocation.next(null);
|
|
104
|
+
this._address = null;
|
|
105
|
+
this._hasConsent = false;
|
|
106
|
+
this._switchStatus = false;
|
|
107
|
+
this.isChecked.next(true);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
getCurrentPosition() {
|
|
111
|
+
return new Observable((observer) => {
|
|
112
|
+
navigator.geolocation.getCurrentPosition((position) => {
|
|
113
|
+
observer.next(position);
|
|
114
|
+
observer.complete();
|
|
115
|
+
}, (error) => observer.error(error), { enableHighAccuracy: true });
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
setGeolocation(position) {
|
|
119
|
+
if (position) {
|
|
120
|
+
if (position.coords.latitude === this.geolocation.value?.lat && position.coords.longitude === this.geolocation.value?.lng)
|
|
121
|
+
return;
|
|
122
|
+
this.geolocation.next({
|
|
123
|
+
lat: position.coords.latitude,
|
|
124
|
+
lng: position.coords.longitude,
|
|
125
|
+
});
|
|
126
|
+
this.getMapboxAdress()
|
|
127
|
+
.pipe(map((response) => {
|
|
128
|
+
const city = response?.features[0]?.properties?.name;
|
|
129
|
+
const state = {
|
|
130
|
+
name: response?.features[0]?.properties?.context?.region?.name,
|
|
131
|
+
shortCode: response?.features[0]?.properties?.context?.region?.region_code,
|
|
132
|
+
};
|
|
133
|
+
return { city, state };
|
|
134
|
+
}))
|
|
135
|
+
.subscribe({
|
|
136
|
+
next: (response) => {
|
|
137
|
+
this._address = response;
|
|
138
|
+
this._switchStatus = true;
|
|
139
|
+
this.isChecked.next(true);
|
|
140
|
+
},
|
|
141
|
+
error: (error) => {
|
|
142
|
+
this.logService.logMsg(JSON.stringify(error, getCircularReplacer()), 'ERROR');
|
|
143
|
+
this._switchStatus = false;
|
|
144
|
+
this.geolocation.next(null);
|
|
145
|
+
this._address = null;
|
|
146
|
+
this.isChecked.next(true);
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
this.geolocation.next(null);
|
|
152
|
+
this._address = null;
|
|
153
|
+
this._switchStatus = false;
|
|
154
|
+
this.isChecked.next(true);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
getMapboxAdress() {
|
|
158
|
+
const lng = `${this.geolocation.value?.lng}`;
|
|
159
|
+
const lat = `${this.geolocation.value?.lat}`;
|
|
160
|
+
return this.mapboxService.reverseGeocoding(lng, lat, this._mapboxGeocodingParams, 'geolocalizacao.service getMapboxAdress');
|
|
161
|
+
}
|
|
162
|
+
checkACookieExists(name) {
|
|
163
|
+
if (isPlatformServer(this.platformId) || typeof this.document === 'undefined' || !this.document?.cookie) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
return this.document.cookie
|
|
167
|
+
.split(';')
|
|
168
|
+
.map((item) => item.trim())
|
|
169
|
+
.some((item) => item.trim().startsWith(name));
|
|
170
|
+
}
|
|
171
|
+
setConsentCookie(status, days) {
|
|
172
|
+
if (this.getCookieValue('geolocation_consent') !== status.toString()) {
|
|
173
|
+
const lifetime = new Date(Date.now() + days * 86400000).toUTCString();
|
|
174
|
+
this.document.cookie = `geolocation_consent=${status}; path=/; expires=${lifetime}; SameSite=None; Secure`;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
getCookieValue(prop) {
|
|
178
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
179
|
+
const value = this.document.cookie
|
|
180
|
+
.split(';')
|
|
181
|
+
.map((item) => item.trim())
|
|
182
|
+
.find((item) => item.startsWith(`${prop}=`));
|
|
183
|
+
return value ? value.slice(prop.length + 1) : '';
|
|
184
|
+
}
|
|
185
|
+
return '';
|
|
186
|
+
}
|
|
187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GeolocService, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i1.MapBoxService }, { token: i2.LogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
188
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GeolocService, providedIn: 'root' }); }
|
|
189
|
+
}
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GeolocService, decorators: [{
|
|
191
|
+
type: Injectable,
|
|
192
|
+
args: [{
|
|
193
|
+
providedIn: 'root',
|
|
194
|
+
}]
|
|
195
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
196
|
+
type: Inject,
|
|
197
|
+
args: [DOCUMENT]
|
|
198
|
+
}] }, { type: undefined, decorators: [{
|
|
199
|
+
type: Inject,
|
|
200
|
+
args: [PLATFORM_ID]
|
|
201
|
+
}] }, { type: i1.MapBoxService }, { type: i2.LogService }] });
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbG9jLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEYsT0FBTyxnQkFBZ0IsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFcEQsTUFBTSxDQUFOLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyw2Q0FBbUIsQ0FBQTtJQUNuQiwyQ0FBaUIsQ0FBQTtJQUNqQiwyQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUlqQztBQWtCRCxNQUFNLE9BQU8sYUFBYTtJQVV4QixJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFPRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUNxQyxRQUFrQixFQUNmLFVBQWtCLEVBQ2hELGFBQTRCLEVBQ25CLFVBQXNCO1FBSEosYUFB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QUNyRSxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLHVCQUF1QixNQUFNLHFCQUFxQixRQUFRLHlCQUF5QixDQUFDO1FBQzdHLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVk7UUFDakMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07aUJBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUM7aUJBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQzFCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUvQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0FqTVUsYUFBYSxrQkFpQ2QsUUFBUSxhQUNSLFdBQVc7bUhBbENWLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBa0NJLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwQm94UmV2ZXJzZUdlb2NvZGluZ1BhcmFtcywgTWFwQm94U2VydmljZSB9IGZyb20gJy4uL21hcGJveC9tYXBib3guc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IGNoZWNrU2FmYXJpQWdlbnQgZnJvbSAnLi4vLi4vaGVscGVycy9jaGVjay1zYWZhcmktYWdlbnQuZnVuYyc7XG5pbXBvcnQgeyBnZXRDaXJjdWxhclJlcGxhY2VyIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbmV4cG9ydCBlbnVtIEdlb2xvY2F0aW9uUGVybWlzc2lvbnMge1xuICBHUkFOVEVEID0gJ2dyYW50ZWQnLFxuICBQUk9NUFQgPSAncHJvbXB0JyxcbiAgREVOSUVEID0gJ2RlbmllZCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb24ge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzcyB7XG4gIGNpdHk6IHN0cmluZztcbiAgc3RhdGU6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgc2hvcnRDb2RlOiBzdHJpbmc7XG4gIH07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHZW9sb2NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfbWFwYm94R2VvY29kaW5nUGFyYW1zOiBNYXBCb3hSZXZlcnNlR2VvY29kaW5nUGFyYW1zID0ge1xuICAgIHR5cGVzOiAncGxhY2UnLFxuICAgIGxpbWl0OiAxLFxuICAgIGxhbmd1YWdlOiAncHQtQlInLFxuICAgIGNvdW50cnk6ICdCUicsXG4gIH07XG5cbiAgcHJpdmF0ZSBfaGFzQ29uc2VudCA9IGZhbHNlO1xuICBwcml2YXRlIF9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgcHVibGljIGdldCBzd2l0Y2hTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3N3aXRjaFN0YXR1cztcbiAgfVxuICBwcml2YXRlIF9hZGRyZXNzOiBBZGRyZXNzIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBnZXQgYWRkcmVzcygpOiBBZGRyZXNzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZHJlc3M7XG4gIH1cblxuICBwcml2YXRlIF9wZXJtaXNzaW9uOiBQZXJtaXNzaW9uU3RhdGUgPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLlBST01QVDtcbiAgcHVibGljIGdldCBwZXJtaXNzaW9uKCk6IFBlcm1pc3Npb25TdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb247XG4gIH1cblxuICBwdWJsaWMgZ2VvbG9jYXRpb246IEJlaGF2aW9yU3ViamVjdDxHZW9sb2NhdGlvbiB8IG51bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHZW9sb2NhdGlvbiB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgaXNDaGVja2VkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTsgLy8gRW1pdGUgdHJ1ZSBxdWFuZG8gbyBnZW9sb2MgZXN0w6EgZXN0w6F2ZWxcblxuICBwcml2YXRlIF9pc1NhZmFyaUFnZW50OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2Rpc2FibGVTd2l0Y2ggPSBmYWxzZTtcbiAgcHVibGljIGdldCBkaXNhYmxlU3dpdGNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlU3dpdGNoO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgcHJpdmF0ZSBtYXBib3hTZXJ2aWNlOiBNYXBCb3hTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQubmV4dCh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9pc1NhZmFyaUFnZW50ID0gY2hlY2tTYWZhcmlBZ2VudCgpO1xuICAgIGlmICh0aGlzLl9pc1NhZmFyaUFnZW50KSB7XG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gdGhpcy5jaGVja0FDb29raWVFeGlzdHMoJ2dlb2xvY2F0aW9uX2NvbnNlbnQnKTtcbiAgICAgIHRoaXMuaW5pdEdlb2xvY2F0aW9uKHRoaXMuX2hhc0NvbnNlbnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5hdmlnYXRvcj8ucGVybWlzc2lvbnNcbiAgICAgID8ucXVlcnkoeyBuYW1lOiAnZ2VvbG9jYXRpb24nIH0pXG4gICAgICAudGhlbigocGVybWlzc2lvbikgPT4ge1xuICAgICAgICB0aGlzLl9wZXJtaXNzaW9uID0gcGVybWlzc2lvbi5zdGF0ZTtcbiAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24odGhpcy5fcGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5HUkFOVEVEKTtcblxuICAgICAgICBwZXJtaXNzaW9uLm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBwZXJtaXNzaW9uLnN0YXRlO1xuICAgICAgICAgIHRoaXMuaW5pdEdlb2xvY2F0aW9uKHRoaXMuX3Blcm1pc3Npb24gPT09IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuR1JBTlRFRCk7XG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UubG9nTXNnKEpTT04uc3RyaW5naWZ5KGVycm9yLCBnZXRDaXJjdWxhclJlcGxhY2VyKCkpLCAnRVJST1InKTtcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbiA9IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEO1xuICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbml0R2VvbG9jYXRpb24oZmFsc2UpO1xuICAgICAgfSk7XG4gIH1cblxuICBpbml0R2VvbG9jYXRpb24oZ2VvbG9jQWxsb3dlZCA9IGZhbHNlKTogdm9pZCB7XG4gICAgdGhpcy5fc3dpdGNoU3RhdHVzID0gdHJ1ZTtcbiAgICBpZiAoZ2VvbG9jQWxsb3dlZCkge1xuICAgICAgdGhpcy5nZXRDdXJyZW50UG9zaXRpb24oKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocG9zaXRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5zZXRHZW9sb2NhdGlvbihwb3NpdGlvbik7XG4gICAgICAgICAgdGhpcy5zZXRDb25zZW50Q29va2llKHRydWUsIDM2NTApO1xuICAgICAgICAgIHRoaXMuX2hhc0NvbnNlbnQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX3Blcm1pc3Npb24gPSBHZW9sb2NhdGlvblBlcm1pc3Npb25zLkdSQU5URUQ7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3Blcm1pc3Npb24gPT09IEdlb2xvY2F0aW9uUGVybWlzc2lvbnMuREVOSUVEKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlU3dpdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q29uc2VudENvb2tpZShmYWxzZSwgMTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdlb2xvY2F0aW9uLm5leHQobnVsbCk7XG4gICAgICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICAgICAgdGhpcy5faGFzQ29uc2VudCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucGVybWlzc2lvbiA9PT0gR2VvbG9jYXRpb25QZXJtaXNzaW9ucy5ERU5JRUQpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZVN3aXRjaCA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0Q29uc2VudENvb2tpZShmYWxzZSwgMTUpO1xuICAgICAgfVxuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICB0aGlzLl9oYXNDb25zZW50ID0gZmFsc2U7XG4gICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50UG9zaXRpb24oKTogT2JzZXJ2YWJsZTxHZW9sb2NhdGlvblBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihcbiAgICAgICAgKHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChwb3NpdGlvbik7XG4gICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiBvYnNlcnZlci5lcnJvcihlcnJvciksXG4gICAgICAgIHsgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRHZW9sb2NhdGlvbihwb3NpdGlvbjogR2VvbG9jYXRpb25Qb3NpdGlvbik6IHZvaWQge1xuICAgIGlmIChwb3NpdGlvbikge1xuICAgICAgaWYgKHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSA9PT0gdGhpcy5nZW9sb2NhdGlvbi52YWx1ZT8ubGF0ICYmIHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUgPT09IHRoaXMuZ2VvbG9jYXRpb24udmFsdWU/LmxuZykgcmV0dXJuO1xuXG4gICAgICB0aGlzLmdlb2xvY2F0aW9uLm5leHQoe1xuICAgICAgICBsYXQ6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgbG5nOiBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZ2V0TWFwYm94QWRyZXNzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2l0eSA9IHJlc3BvbnNlPy5mZWF0dXJlc1swXT8ucHJvcGVydGllcz8ubmFtZTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgICAgICAgICBuYW1lOiByZXNwb25zZT8uZmVhdHVyZXNbMF0/LnByb3BlcnRpZXM/LmNvbnRleHQ/LnJlZ2lvbj8ubmFtZSxcbiAgICAgICAgICAgICAgc2hvcnRDb2RlOiByZXNwb25zZT8uZmVhdHVyZXNbMF0/LnByb3BlcnRpZXM/LmNvbnRleHQ/LnJlZ2lvbj8ucmVnaW9uX2NvZGUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIHsgY2l0eSwgc3RhdGUgfTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3MgPSByZXNwb25zZTtcbiAgICAgICAgICAgIHRoaXMuX3N3aXRjaFN0YXR1cyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmlzQ2hlY2tlZC5uZXh0KHRydWUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnJvciwgZ2V0Q2lyY3VsYXJSZXBsYWNlcigpKSwgJ0VSUk9SJyk7XG4gICAgICAgICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZ2VvbG9jYXRpb24ubmV4dChudWxsKTtcbiAgICAgICAgICAgIHRoaXMuX2FkZHJlc3MgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQubmV4dCh0cnVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZW9sb2NhdGlvbi5uZXh0KG51bGwpO1xuICAgICAgdGhpcy5fYWRkcmVzcyA9IG51bGw7XG4gICAgICB0aGlzLl9zd2l0Y2hTdGF0dXMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNDaGVja2VkLm5leHQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXBib3hBZHJlc3MoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBsbmcgPSBgJHt0aGlzLmdlb2xvY2F0aW9uLnZhbHVlPy5sbmd9YDtcbiAgICBjb25zdCBsYXQgPSBgJHt0aGlzLmdlb2xvY2F0aW9uLnZhbHVlPy5sYXR9YDtcbiAgICByZXR1cm4gdGhpcy5tYXBib3hTZXJ2aWNlLnJldmVyc2VHZW9jb2RpbmcobG5nLCBsYXQsIHRoaXMuX21hcGJveEdlb2NvZGluZ1BhcmFtcywgJ2dlb2xvY2FsaXphY2FvLnNlcnZpY2UgZ2V0TWFwYm94QWRyZXNzJyk7XG4gIH1cblxuICBjaGVja0FDb29raWVFeGlzdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSB8fCB0eXBlb2YgdGhpcy5kb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcgfHwgIXRoaXMuZG9jdW1lbnQ/LmNvb2tpZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudC5jb29raWVcbiAgICAgIC5zcGxpdCgnOycpXG4gICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgIC5zb21lKChpdGVtKSA9PiBpdGVtLnRyaW0oKS5zdGFydHNXaXRoKG5hbWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29uc2VudENvb2tpZShzdGF0dXM6IGJvb2xlYW4sIGRheXM6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmdldENvb2tpZVZhbHVlKCdnZW9sb2NhdGlvbl9jb25zZW50JykgIT09IHN0YXR1cy50b1N0cmluZygpKSB7XG4gICAgICBjb25zdCBsaWZldGltZSA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBkYXlzICogODY0MDAwMDApLnRvVVRDU3RyaW5nKCk7XG4gICAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGBnZW9sb2NhdGlvbl9jb25zZW50PSR7c3RhdHVzfTsgcGF0aD0vOyBleHBpcmVzPSR7bGlmZXRpbWV9OyBTYW1lU2l0ZT1Ob25lOyBTZWN1cmVgO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29va2llVmFsdWUocHJvcDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRvY3VtZW50LmNvb2tpZVxuICAgICAgICAuc3BsaXQoJzsnKVxuICAgICAgICAubWFwKChpdGVtKSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc3RhcnRzV2l0aChgJHtwcm9wfT1gKSk7XG5cbiAgICAgIHJldHVybiB2YWx1ZSA/IHZhbHVlLnNsaWNlKHByb3AubGVuZ3RoICsgMSkgOiAnJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -15,4 +15,6 @@ export * from './transfer-state/transfer-state.service';
|
|
|
15
15
|
export * from '../components/header/services/header.service';
|
|
16
16
|
export * from './algolia-search-api/algolia-search-api.service';
|
|
17
17
|
export * from './youtube/youtube.service';
|
|
18
|
-
|
|
18
|
+
export * from './mapbox/mapbox.service';
|
|
19
|
+
export * from './geoloc/geoloc.service';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbGdvbGlhL2FsZ29saWEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2N1cmEvY3VyYS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jbGllbnQvaHR0cC1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xvZy9sb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbC1kcmF3ZXIvbW9kYWwtZHJhd2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3UtY2Fyb3VzZWwvbmd1LWNhcm91c2VsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9waG9uZS9waG9uZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJpdmFjeS10b29scy9wcml2YWN5LXRvb2xzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaXRlLWJhY2stZW5kL3NpdGUtYmFjay1lbmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nlby9zZW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZlci1yZXNwb25zZS9zZXJ2ZXItcmVzcG9uc2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Nzci1sb2FkaW5nL3Nzci1sb2FkaW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2Zlci1zdGF0ZS90cmFuc2Zlci1zdGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4uL2NvbXBvbmVudHMvaGVhZGVyL3NlcnZpY2VzL2hlYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWxnb2xpYS1zZWFyY2gtYXBpL2FsZ29saWEtc2VhcmNoLWFwaS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4veW91dHViZS95b3V0dWJlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYXBib3gvbWFwYm94LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9sb2MvZ2VvbG9jLnNlcnZpY2UnO1xuIl19
|