@@ -13,10 +11,12 @@
+ +
@@ -31,13 +31,17 @@
- chevron_right + open_in_new
+
- +
- chevron_right + + chevron_right + open_in_new
diff --git a/src/app/support/support.component.scss b/src/app/support/support.component.scss index e69de29bb2d1..6f696f7eade4 100644 --- a/src/app/support/support.component.scss +++ b/src/app/support/support.component.scss @@ -0,0 +1,116 @@ +:host { + --content-background: rgb(244, 246, 251, 0.4); + --content-hover-background: #{var(--blu)}; + --base-radius: 8px; + + width: 100%; +} + +.card-container { + width: 100%; + padding: 40px 0; + /* max-width: 1280px; */ + justify-content: center; + align-items: center; + + display: grid; + grid-column-gap: 30px; + width: 100%; + grid-template-columns: 1fr 0.6fr; + grid-template-columns: 1fr 1fr; + margin-top: 40px; +} + +.cds-card { + // background: var(--content-background); + border-radius: var(--base-radius); + box-shadow: rgba(0, 0, 0, .1) 0px 3px 6px 0px, rgba(0, 0, 0, .08) 0px 1px 3px 0px; + display: flex; + flex-direction: column; + height: 100%; +} + + + +.section-wrp { + display: flex; + flex-direction: column; + height: 100%; + justify-content: space-around; +} + +.section-info { + display: flex; + gap: 20px; +} + +.section-icon { + display: flex; + align-items: center; + justify-content: center; + + span.material-icons-outlined, + img { + width: 22px; + font-size: 22px; + color: var(--icon-color); + // filter: brightness(0) saturate(100%) invert(96%) sepia(0%) saturate(504%) hue-rotate(151deg) brightness(92%) contrast(88%); + filter: brightness(0) saturate(100%) invert(64%) sepia(5%) saturate(1424%) hue-rotate(179deg) brightness(91%) contrast(98%); + } +} + +.cds-card-item { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + // border-radius: 8px; + // padding: 10px; + padding: 20px; + gap: 20px; + cursor: pointer; + height: 100%; + + &:not(:last-child) { + border-bottom: 1px solid rgb(223, 227, 237); + } + + &:hover { + + span.material-icons-outlined, + img { + // width: 20px; + // font-size: 20px; + color: var(--icon-hover-color); + // filter: brightness(0) saturate(100%) invert(39%) sepia(19%) saturate(1139%) hue-rotate(184deg) brightness(91%) contrast(85%); + filter: brightness(0) saturate(100%) invert(48%) sepia(90%) saturate(6459%) hue-rotate(212deg) brightness(99%) contrast(104%); + } + } +} + +.title-label { + font-size: 23px; + font-weight: 600; + margin: 10px 15px; + margin: 10px 0px; + color: var(--text-color); + font-family: var(--header-font-family); + position: absolute; + top: 25px; +} + +.cds-title { + font-size: 18px; + position: relative; + color: var(--text-color); + font-weight: 400; + font-family: var(--header-font-family); +} + +.cds-description { + font-weight: 400; + font-size: 14px; + font-family: var(--header-font-family); + color: var(--secondary-text-color); + +} \ No newline at end of file diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 7721a6fa6c8e..9ae70af7c030 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -47,12 +47,66 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { trialExpired: this.trial_expired } - console.log('[CDS-SUPPORT this.cardOptions]', this.cardOptions) - // this.manageWidget("start", projectBaseInfo) - // this.manageWidget('show') + this.logger.log('[CDS-SUPPORT this.cardOptions]', this.cardOptions) + this.manageWidget("start", projectBaseInfo) + this.manageWidget('show') } + ngOnDestroy(){ + this.manageWidget("hide") + } + + onCardItemClick(item, section){ + if(section === 'CONTACT_US'){ + switch(item.key){ + case 'EMAIL': + case 'DISCORD': + window.open(item.src, '_blank') + break; + case 'CHAT': + this.manageWidget('open') + break; + } + } + + if(section === 'SELF_SERVICE'){ + window.open(item.src, '_blank') + } + + } + + + private manageWidget(status: "hide" | "show" | "open" | "close" | "start", projectInfo?: any) { + try { + if (window && window['tiledesk']) { + this.logger.log('[CDS DSHBRD] HIDE WIDGET ', window['tiledesk']) + if (status === 'hide') { + // window['tiledesk'].hide(); + window['tiledesk'].dispose(); + } else if (status === 'show') { + window['tiledesk'].show(); + } else if(status === 'open'){ + window['tiledesk'].open(); + }else if(status === "close"){ + window['tiledesk'].close(); + } + + } + + if (window && !window['tiledesk']) { + if(status === "start"){ + window['startWidget'](); + window['tiledesk_widget_login'](); + window['tiledesk'].setAttributeParameter({ key: 'payload', value: {project: projectInfo}}) + } + } + + } catch (error) { + this.logger.error('tiledesk_widget_hide ERROR', error) + } + } + diff --git a/src/assets/img/discord.svg b/src/assets/img/discord.svg new file mode 100644 index 000000000000..712e6865b86d --- /dev/null +++ b/src/assets/img/discord.svg @@ -0,0 +1,8 @@ + + + diff --git a/src/assets/img/github-mark.svg b/src/assets/img/github-mark.svg new file mode 100644 index 000000000000..808f702ae966 --- /dev/null +++ b/src/assets/img/github-mark.svg @@ -0,0 +1,12 @@ + + + + From bde4878556820605d773c7e46c1ba7f144d86bb8 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Sat, 31 Aug 2024 19:51:01 +0200 Subject: [PATCH 06/42] Updates version --- CHANGELOG.md | 4 ++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d8850e93c73..8545f18f9c96 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # tiledesk-dashboard + +### 2.7.16-rc4 +- Implements the help center page + ### 2.7.16-rc3 - Bug fixing diff --git a/package-lock.json b/package-lock.json index c2bb91e41789..ccd585104001 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.16-rc3", + "version": "2.7.16-rc4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b02c88ae3952..97e472008778 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.16-rc3", + "version": "2.7.16-rc4", "scripts": { "ng": "ng", "start": "ng serve --aot", From c2db76cfcd6468314eed1ecd8348c6e47f3733fd Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Sat, 31 Aug 2024 19:52:34 +0200 Subject: [PATCH 07/42] Updates changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8545f18f9c96..c4d7c5a91963 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ### 2.7.16-rc4 - Implements the help center page +- Adds the ability to manages the visibility of the Help Center page +- Adds a popup window that explains the features of the Help Center page ### 2.7.16-rc3 - Bug fixing From a77f5a501ff586580888e5536aaf62498c399c8f Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 2 Sep 2024 08:42:50 +0200 Subject: [PATCH 08/42] Minor improvements --- .../components/sidebar/sidebar.component.scss | 17 ++++++++ .../components/sidebar/sidebar.component.ts | 42 ++++++++++--------- .../components/sidebar/sidebar.tour.config.ts | 22 +++------- src/app/support/support-utils.ts | 4 +- src/app/support/support.component.html | 16 +++---- src/app/support/support.component.scss | 10 ++--- src/app/support/support.component.ts | 6 +-- src/assets/css/demo.scss | 8 ++++ 8 files changed, 71 insertions(+), 54 deletions(-) diff --git a/src/app/components/sidebar/sidebar.component.scss b/src/app/components/sidebar/sidebar.component.scss index 5025d1d0e8a7..94a1f60919af 100755 --- a/src/app/components/sidebar/sidebar.component.scss +++ b/src/app/components/sidebar/sidebar.component.scss @@ -1509,6 +1509,15 @@ li:hover>a>.realtime-icon-wpr>svg>path { ::ng-deep .mat-menu-panel.menuElementSupport { margin-left: 64px !important; + top: 40px; + + .mat-menu-content{ + padding: 0 !important; + + button > .mat-icon { + color: var(--icon-color) !important; + } + } // min-width: 100px; // max-width: 400px; // min-height: unset; @@ -1532,6 +1541,14 @@ li:hover>a>.realtime-icon-wpr>svg>path { // box-shadow: none; } +::ng-deep .mat-menu-panel.menuElementSupport { + .mat-menu-content{ + button:hover > .mat-icon { + color: var(--icon-hover-color) !important; + } + } +} + // ::ng-deep { // .mat-menu-content{ // padding: 0 !important; diff --git a/src/app/components/sidebar/sidebar.component.ts b/src/app/components/sidebar/sidebar.component.ts index 02181aad3fbe..ac14aa3687d8 100755 --- a/src/app/components/sidebar/sidebar.component.ts +++ b/src/app/components/sidebar/sidebar.component.ts @@ -273,7 +273,6 @@ export class SidebarComponent implements OnInit, AfterViewInit { private projectService: ProjectService, private auth: AuthService, private usersService: UsersService, - private usersLocalDbService: LocalDbService, private notify: NotifyService, private uploadImageService: UploadImageService, private uploadImageNativeService: UploadImageNativeService, @@ -287,7 +286,8 @@ export class SidebarComponent implements OnInit, AfterViewInit { private faqKbService: FaqKbService, public dialog: MatDialog, private prjctPlanService: ProjectPlanService, - private shepherdService: ShepherdService + private shepherdService: ShepherdService, + public localDbService: LocalDbService, ) { this.logger.log('[SIDEBAR] !!!!! HELLO SIDEBAR') @@ -299,7 +299,7 @@ export class SidebarComponent implements OnInit, AfterViewInit { this.companySiteUrl = brand["COMPANY_SITE_URL"] this.companyName = brand["COMPANY_NAME"] this.isVisibleSupportMenu = brand["SUPPORT_MENU"] - + } } @@ -334,14 +334,18 @@ export class SidebarComponent implements OnInit, AfterViewInit { } ngAfterViewInit() { - setTimeout(() => { - this.shepherdService.defaultStepOptions = defaultStepOptions; - this.shepherdService.modal = true; - this.shepherdService.confirmCancel = false; - const steps = defaultSteps(this.router, this.shepherdService, this.translate, this.brandService); - this.shepherdService.addSteps(steps as Array); - this.shepherdService.start(); - }, 3000); + const sidebarTourShowed = this.localDbService.getFromStorage(`sidebar-tour-showed-${this.currentUserId}`) + if (!sidebarTourShowed) { + setTimeout(() => { + this.shepherdService.defaultStepOptions = defaultStepOptions; + this.shepherdService.modal = true; + this.shepherdService.confirmCancel = false; + const steps = defaultSteps(this.router, this.shepherdService, this.translate, this.brandService); + this.shepherdService.addSteps(steps as Array); + this.shepherdService.start(); + this.localDbService.setInStorage(`sidebar-tour-showed-${this.currentUserId}`, 'true') + }, 1500); + } } @@ -1222,7 +1226,7 @@ export class SidebarComponent implements OnInit, AfterViewInit { } - + @@ -1656,7 +1660,7 @@ export class SidebarComponent implements OnInit, AfterViewInit { return x % 5 < 3 ? (x % 5 === 0 ? x : Math.floor(x / 5) * 5) : Math.ceil(x / 5) * 5 } - + isMobileMenu() { @@ -1780,18 +1784,18 @@ export class SidebarComponent implements OnInit, AfterViewInit { this.router.navigate(['/project/' + this.projectId + '/home']); } - onMenuOptionFN(item: { key: string, label: string, icon: string, src?: string}){ - console.log('[SIDEBAR] onMenuOptionFN' , item) - switch(item.key){ + onMenuOptionFN(item: { key: string, label: string, icon: string, src?: string }) { + console.log('[SIDEBAR] onMenuOptionFN', item) + switch (item.key) { case 'FEEDBACK': case 'CHANGELOG': window.open(item.src, '_blank') break; case 'SUPPORT': this.goToSuppotPage() - // this.router.navigate(['./support'], {relativeTo: this.route}) - // this.onClickItemList.emit(SIDEBAR_PAGES.SUPPORT) - // window.open(item.src, '_self') + // this.router.navigate(['./support'], {relativeTo: this.route}) + // this.onClickItemList.emit(SIDEBAR_PAGES.SUPPORT) + // window.open(item.src, '_self') } } diff --git a/src/app/components/sidebar/sidebar.tour.config.ts b/src/app/components/sidebar/sidebar.tour.config.ts index 25461e8afd38..d3309687025e 100644 --- a/src/app/components/sidebar/sidebar.tour.config.ts +++ b/src/app/components/sidebar/sidebar.tour.config.ts @@ -182,10 +182,10 @@ export function getSteps(router: Router, service: ShepherdService, translation: element: '#support-anchor' , on: 'right', }, - // STEPS_BUTTONS.cancel, - buttons: [ STEPS_BUTTONS.back, STEPS_BUTTONS.cancel], - classes: 'step-with-image custom-cancel-button', - id: 'sb-tour-step-5', + // STEPS_BUTTONS.cancel, STEPS_BUTTONS.back, + buttons: [ STEPS_BUTTONS.cancel], + classes: 'step-with-image custom-cancel-button padding-4', + id: 'sb-tour-step-1', title: 'Welcome to your Help Center!', // text:`${translation.instant('KbPage.AIChatbotTourText')} @@ -205,19 +205,7 @@ export function getSteps(router: Router, service: ShepherdService, translation: // ` text:`The Help Center is designed to provide a complete support option. You can get information from our documentation or turn to the community. If you can't find an answer, you can send a request directly to one of our agents via email or live chat. -
-
- - -
-
-
- ${translation.instant('KbPage.LastStepText')} ${translation.instant('KbPage.LastStepContactUs')} -
+ ` }, diff --git a/src/app/support/support-utils.ts b/src/app/support/support-utils.ts index 062f7ec21510..6d7c9cce8998 100644 --- a/src/app/support/support-utils.ts +++ b/src/app/support/support-utils.ts @@ -41,11 +41,11 @@ export var SUPPORT_OPTIONS: { [key: string]: Array<{ key: string, label: string, { key: 'HELP_CENTER', label: 'HelpCenter', icon: 'help', type: TYPE_URL.BLANK , status:"active", src: 'https://gethelp.tiledesk.com/'}, { key: 'ROAD_MAP', label: 'RoadMap', icon: 'checklist', type: TYPE_URL.BLANK, status:"active", src: 'https://feedback.tiledesk.com/roadmap'}, { key: 'SYSTEM_STATUS', label: 'SystemStatus', icon: 'health_and_safety', type: TYPE_URL.BLANK, status:"active", src: 'https://tiledesk.instatus.com/'}, - { key: 'GITHUB', label: 'GitHubRepo', icon: 'assets/img/github-mark.svg', type: TYPE_URL.BLANK, status:"active", src: 'https://github.com/Tiledesk'} + { key: 'GITHUB', label: 'GitHubRepo', icon: 'assets/img/github-mark.svg', type: TYPE_URL.BLANK, status:"active", src: 'https://github.com/Tiledesk'} ], "CONTACT_US": [ { key: 'EMAIL', label: 'SendUsEmail', icon: 'mail', type: TYPE_URL.BLANK , status:"active", src: 'mailto:support@tiledesk.com', description:"support@tiledesk.com"}, { key: 'CHAT', label: 'ChatWithUs', icon: 'forum', type: TYPE_URL.BLANK , status:"active", description:"StartConversation"}, - { key: 'DISCORD', label: 'DiscordChannel', icon: 'assets/img/discord.svg', type: TYPE_URL.BLANK , status:"active", src: 'https://discord.gg/Wut2FtpP', description:"JoinDiscordChannel"}, + { key: 'DISCORD', label: 'DiscordChannel', icon: 'assets/img/discord.svg', type: TYPE_URL.BLANK , status:"active", src: 'https://discord.gg/Wut2FtpP', description:"JoinDiscordChannel"}, ] } \ No newline at end of file diff --git a/src/app/support/support.component.html b/src/app/support/support.component.html index 763a09f6a470..4ac57f47dcf6 100644 --- a/src/app/support/support.component.html +++ b/src/app/support/support.component.html @@ -13,21 +13,21 @@
-
+
-
+
@@ -37,21 +37,21 @@
-
+
-
+
diff --git a/src/app/support/support.component.scss b/src/app/support/support.component.scss index 6f696f7eade4..21f0d9c6bbc2 100644 --- a/src/app/support/support.component.scss +++ b/src/app/support/support.component.scss @@ -21,7 +21,7 @@ margin-top: 40px; } -.cds-card { +.support-card { // background: var(--content-background); border-radius: var(--base-radius); box-shadow: rgba(0, 0, 0, .1) 0px 3px 6px 0px, rgba(0, 0, 0, .08) 0px 1px 3px 0px; @@ -59,7 +59,7 @@ } } -.cds-card-item { +.support-card-item { display: flex; align-items: center; justify-content: space-between; @@ -76,7 +76,7 @@ } &:hover { - + background-color: rgba(0, 0, 0, .04); span.material-icons-outlined, img { // width: 20px; @@ -99,7 +99,7 @@ top: 25px; } -.cds-title { +.support-title { font-size: 18px; position: relative; color: var(--text-color); @@ -107,7 +107,7 @@ font-family: var(--header-font-family); } -.cds-description { +.support-description { font-weight: 400; font-size: 14px; font-family: var(--header-font-family); diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 9ae70af7c030..3227f71c019c 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -47,7 +47,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { trialExpired: this.trial_expired } - this.logger.log('[CDS-SUPPORT this.cardOptions]', this.cardOptions) + this.logger.log('[SUPPORT] this.cardOptions]', this.cardOptions) this.manageWidget("start", projectBaseInfo) this.manageWidget('show') @@ -80,7 +80,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { private manageWidget(status: "hide" | "show" | "open" | "close" | "start", projectInfo?: any) { try { if (window && window['tiledesk']) { - this.logger.log('[CDS DSHBRD] HIDE WIDGET ', window['tiledesk']) + this.logger.log('[SUPPORT] HIDE WIDGET ', window['tiledesk']) if (status === 'hide') { // window['tiledesk'].hide(); window['tiledesk'].dispose(); @@ -103,7 +103,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { } } catch (error) { - this.logger.error('tiledesk_widget_hide ERROR', error) + this.logger.error('manageWidget ERROR', error) } } diff --git a/src/assets/css/demo.scss b/src/assets/css/demo.scss index 2855550ba877..3a3ee3039713 100755 --- a/src/assets/css/demo.scss +++ b/src/assets/css/demo.scss @@ -2978,6 +2978,14 @@ mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body { max-width: 345px !important; } +.padding-4 { + padding: 0px !important; +} + +// .padding-4 .shepherd-content .shepherd-text { +// padding: 0 8px 8px !important +// } + .step-with-gif .shepherd-content .shepherd-text .image-container img { max-width: 369px !important; From a87b8dc2067b442c420db34d95c46c99ee40eb3e Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 2 Sep 2024 13:05:24 +0200 Subject: [PATCH 09/42] Minor improvements and bug fixing --- .../components/sidebar/sidebar.component.html | 3 ++ .../components/sidebar/sidebar.component.scss | 9 ++++ .../components/sidebar/sidebar.component.ts | 48 ++++++++++--------- src/app/support/support-utils.ts | 3 +- 4 files changed, 39 insertions(+), 24 deletions(-) diff --git a/src/app/components/sidebar/sidebar.component.html b/src/app/components/sidebar/sidebar.component.html index 2c0dbbf43935..00e4880bb1bd 100755 --- a/src/app/components/sidebar/sidebar.component.html +++ b/src/app/components/sidebar/sidebar.component.html @@ -363,6 +363,9 @@ {{item.label | translate}} + EGjQep&s%1iPA0;avrCJ=N2OVV=9A&p1<^DLzCmyBgDxsB+KbUKm1RbX)ye@A$ ze*5Ft&-G0u_emzCyxQUkO>uky*q;J?~FQRoi;Z4!GYi|4r$ z!^+k=(=T?Vmn4hZY-o5`tCD1K_wul+l7a96{Vg7`VcSnZ{1>c7anKwf49-4HYBu4B zbSE$cFeKffpfRC|RLlMRU|yCt@iYk+4sDlp0c)@_nxw7ig(b?Oup?asjOLHdjz;nC zd&H~tHLv`_8UQUCk>q`7TWQz9poPEqJQZ9J0d~T13yZhxc9Dgr=T_G|X7ai2)2-Pg z)Jfv=D3%5uRZ=|z?TD0|>*M1A2VYpr^wv7v6D48sGk#fAdUP+lPCLoXek~KNa)a|u zZB@-5>3@z-(g(heWAhW^jq1od2lUEA3usRN1?Y9ZP`rB%=yAwEa*l)kIX4f$0U76i zy9lQTmF9oV?c$^huGwd@<;!hW$HKdjlqni2zMDUlAJTD;H}98fBnK(MPmd;gtve$r z*Xx|hHVc#)z7nK7uQAwt@$b?*JlR=948YvdtxVkuex8-YmU8B<_jTI!AqLtv{1acdy+#Vbe`#a{NHbIG{E6KpFtef(eA4G>%Z_ zQFr2qh!)IvOCbn+_U)?dAU$XY|=-R&YJ8 zL7j-te*E18C>TA^>V`dKagUS8mT(BeWn{m?~UM0U% z?x}HpjB1)j5%7P{<3Bhk{(wWWzYBX7{vH)qN6-+d>!w@}(iOUQh0t}NhfuuEx6gW` zoFNC!G$2I#SncPJ{F_YI9r2OxD5almTeYtDTh9KMH)VJ~SgeoDZ}i2y6yjvK;sJ`7&Xy(S zU8qdYMLH<$729p^IZrpUEO&l1sI&Km3v2qZ0re;{UXq_CzH9Rl8}#Mt*P;Ujm0RbI z>lvOOl!qx%q;s+on%EW~2c#X#Qjb>c|Fu5X(Xq{@8_CH zPb$I-neguXP}&Pt7c{Kcx}yLYNr&~zS}JisslQ!1AHkatl1umBlely*Snzxjt_%N~ z!~(83^Y2NNolnB#RE9K(FhV*1FU*%8)f9jlt}xcnaakG8UVYECnxAc?lVQ`dqTAK& zUMq{qzK$274tinNa4NHv6ya_vBV_)H{9>oAh3tLK^=%ULd4ciI$nDO8W!5|?NyGkF z6)=|1%1r|$XE}eFHnh zgQ&2Q|Lf8|W!@IgkbsGzpUO$>vYfjI7kMIW3F%iEG`TSBY1+MliFp zp)w5CFLOl6CNNVQxt6Z&)!S1I1fAo~>X+UP+OoqfPsKA}DnZ*;xkrh-8u~%_Kw9>J+Yd{hy->^X!*+g;nG1i@`8gBkb<8X#kwT7w`L?XV2 zvq*nXC~iP6o-Pis>AfAi1<3vD!RVjN$@-7tv;Qyz1OP{dA?+>ytlc|2z4kb28?73$ z$Mx?rZco`~j50x!a7B;jOK~~sXv|Ub2f>HE)Es}8ad(BktqmY+uPM{b=dMNHTX}zl zIp@4~?^u^dm=_p$FHgRmMmVTeNR(tiuB(No$==t77ez7(KZ@IhB_V_&?=Pk+-kGnf z{9d9Xb!sC@Ii^rVo1yqQb?}FRo&oFWn41@CXfuj;Vppaza;U=iT7722GNVzs(u>rA zMFh?+H1X;i^Y}X9A@WDP*EplT7InHmD*AIDzRr#c0^8Bt5XMihEhL>a{+3gW18EPZ2UbYjoGL;#d_UnO~E3i$E(C*;E5%8G;!xb(-AgG@oZwR2i#s%UaCe7dg;FTc;;uz<=)3IQXU?p( z_MRg%XZGiO$xLQ)-_P}2|Nrk54GPXs<9Y->$I#O!$Bbc0A5gxAJy$zg48`XV4IF&N zB5G-q=z&BjGm7!NDIi7R)ga4%hhmdkC=CJNeAn9eI`@|OOGD{5@@sV!}^cRz1h}2cLMmjag(#sUM%l6JY47E@bnb@Q&JR_UJ0d#SzsI>P{pu_0}AK?4NuM&N;Z7EmM>dINy$@m(6GYN_i z$tXPvr9p2b)K0mN<4x4m=I=LgxqIM7GQ-`sZ}B^3pZY{vQKSpLl5;2JZ)MEPvR`bQ zWo<_zUB{!JW1y5e#H)8hz+Dyk-b|R}rQ+=E{n@9&tA1uHhi>OZYHW%$Q~i zxZ7aU4Mj!Iq!>j2K{U>6zBx%gUcIm4K`DdyK`yP0?lIL!a9}ly(awv3esH4D&W92ZCs0YiM3{P)*%(O%wHr+n%j8)O78u~46IDTi6w-cNO8R{Y@@ zA{Tw$Od@(`9+E@zP|z*Rk)<@VK35MA zvkxVlA^h==p0+nL8i-ORly7l3@Vwmi7-%ej#sYDL$v}>oUaF;&ur1Q%_=ejp>J0F} zU4^>uzc{qAu06v_lR{CE)g|r8$Gt+l%4&9u$5O=(_J+wyScTa8IjpLoFyu-Lso6yN z#xZWqCZZUrdEY+idQTYA7}bsK{dqHs?o(kAc3_AcZmq?OP6^-w`~`nuJ+7tO?9gdaOiV6FnV|k1k|jmXqVV5)|p;3dvo@ z`KNBcZWK$Debl-C3N3hQH2QC7!GGRE!7ME+_RlGke@6@cHD&VeiyHs;_u>5mE%@K{ zr2n$0@jqWr`d_03SaZD&k#NxFejTIo?W73pJ=8Jqs7+F(2|Q+$wAEEuOcUM|^` zR9${^XgauDb{XWjTJczLy!!6-yXtDy_X>G%^&rd`X*mw%ip~R# z=3^waIl;Vb(-l}?y|oTtX8JukStKGaK4#2}PCR;qKEx}LZ5vLfz%X>LOxP8PUPD)7 z@?0_Kx-Zv)o57GFoJzUmO+r1CRqopC&3q`>pQR7aGTJ<*nq^Sv+exg~-2@07RVE0* z9T%OqA)bXf)XQ*8Bgztf2WTd9rmCe)Fex;fVV3K?#-pRDC^X@;tq&4Oh|3TedoD?y zhRekeQ78q%Q5zo7YB^1YM;EbM%Z>hB)If|CalRiOHTrX!+65}+3X>Z%dv=yKq*%<8 zIy`12be299UCdV^H*TkQma#Zi%-=LT?&N)zxdti`7?hiE%Q(y0RxA-(7@qKKdCX-* zmx%n9oAmy6mUBH;B6c;5ob>y1_8A4Y6oMr`74+;p7h9=Rf^=jGCUl+$jwzL5mYs^%VjF)RQjm%YhUsRaj zR_F}M&(~&LRN5$2=q-%QH?~|Rv?CVB ziZqi(iS&7(yHkov^!oc*ZmRKvwUvr5y`XZ>SV-hs7=o9VDX#)FE7 zg86v0ruh4a%>pLwevkg>++2T=6@`HZp&Hm``Gx1uzXkRWF4_TU#}>j9Jmf?XA`#+jce;BGvH%9>vE<#>`& zGZqehJOMCAO+Cq8*DJ*QF06LRkL92WA^;z1Iuap7ga1rm+i%WekdkO2thToo9rx|( zqVJwp$3X+-236EtX6!*&E;fTWJBj}&IPlW4_qjA5twmK(fJRKs(H0ul|g45!B{b4vmlK9?NF<@SZR<;WsKfn<}Ldv~x z@hrdFKM782oSTWhBmqrZc|r8XW&lD`+7#C%5!@8D2AzS%6Uj@3A<1N*$m5#$r<{Gj z7Y2EHde;dqu95(?fKX^`DtL-}lYo@mRFc*dOpDhSMf3p%>0yqUVs(vhu8@PnPeK{^ z;ItxAI6paSYhyJIW302HmcCwhdcrqoOejrIX-e5XffH!)D=CQyB7~)XxpF9q4AX^r z%JM$1O~7t8*fOYPQ+&SZ80o{H_xvWIoP&ohEA!h=<>6Y%Vznf1I!5NJZ2~RKt>n+= z=^UmwB)W}#sYFYbZ(TlsCvg%}4WBTr*hGvSv8XdnIxxMX)7S7w9dR~UB%HM9MH%J1%-KT=C`b?ro z94ddSzFhQI%8&}dsSq)&JmSDo$%wkC1Pzb;6NhaHo%Q%AGY=s%b^R&6KhwXw>Qe|g zSl_&TCXrJ9HOFe1L3%`bCRIqr-qWK@2^y&$#o$;nv0orkUiU04 zl(~T+I&@zySf5Ow+*14Y#lnwq$d9lIdHRY6tr^`bEvUXN4p*0aNg1!SdOf-{;eA<` zi(6$QqwsAe%E4M;c^rw7_n~3@pyaf8dDW~O)kAjx;%x$! zyPjw3B9^u2%&*)cL2nxTC_ex|MQ_xo#d3}2)CN@;Zn1l^4=ZIs!QL2{3Mn$f;1H7PMejC$OX~|>brN7bp|8;vaflbcyXX@&&DO~kmI}Rl zG9Vz980kK?L4A8YsF|@O?xYxhhAPO*c)t0Go7XUKC71Tvu-4jb&LY@EbtM0WIz^m! zF$C^4n!0m(kFB;92qquPiQvg#O?(35^Fog2vp&iCt@vAL`DVgvqAurZ?6=tM&13*x z{Xc??6o01viy-5l*<8H;R*-Se==RV5ImnngzHjwUK}P-CZ;SsCWc*uo^lw2%<))T} zzd^>^@5ixCZNHWN5oElcXzI8cKk|DFGNRxky0DawgZ^i$j>`X|>WC|@dCXe*EMxiZ zm%!xzP<6CW8|F(v&OuwO!lc3`y{#xl7VsZ~hMe=CK+BYkdYvyw2aIv9y>hf2`I zBU(KvM~d<3#C`PZ<8p0Cn+@EqMw=HP1vv{g3NTFRIEDAPV^Lxl;$ z@BWJW;p)FIC_1jjJ^u)VkXNh^{40afH<QZh%)!ee*+<# z;}w5#M1{-aM;!5se#bo$Wg?8m{}D$tF@L~#41`SLdi})_b+m#&S~htOc=CU7M3Q%t z{{@c7=lTCQj`+WJ32fQqsSM~D;i>&qUJ-J1z8j}jAAl;)lpY`fgl;gj?$wUPz8|P- zV`vzI_YndC)ku?qs>X58Jx9069BxIm1}%LKHe_^NRpSOx$avEuj+idKE73{pwSL%0fMc*!e8m3`ub*+VVYuU5cj!?&tPowTUkDmtCC=smC3|H}c zd0Nv>p#k0@-Qp>pO^d2fL}5!E)onaK=NjcjCSH)EidMP_qFUyk(nKzJ?|m zu{18|Cdb^@Bvs_Yr@;9P`PAtr7Kh&jL>DdRa5k^7?&4KjoKqGWK6Z`@z?p(U1e!0b z5~7lS>t}d2h%|4ad=?lxwTCmj>UDr7NOeiyta8}q6pHM<+Hrqb?|!nOz0?NfzI*!d z9M|*9f#-7HWS`{6UhtF`%i@k}iL+ehq`4IyLLn@Y(hh3`Aucl6K z=z$=zBR3<6~HX^dv`I zkoVDWCrWnNbk`>5u^UKxP(BoIlOsOTKJN)Olk$)m+?7>z0m&NP1n7V{UTj7gI)s0x zoPt?_`piJWvWz(}-sI*Jnk|G5BYR1$;`s>|b94ckG%FaJe=P~kmEm;vQf@b7jn+-F zh={mMCX~UM1ic%R@%wRf@K2yh+n7dCJsB{m*ls z6gULna;c%(s1;(DDq{1$Sg+?rMAKfF^wZ>Agj;R*SfP>2FpaQ=DTX^|T#pgaJncnR zMSnF9#oEyn`+sH5KpwzzQReFQLZf7asZ8yn-1;<3vu0$D%eJAyM08fT@!5Q>nQf(& z(q8IR`Fx{YM3qyFee&9ig%*j3YR~b#gyZssj%N{H{BRxOQP>uHPQ&3arF|Hh#_%`niYp9NKv@&5^ z{)T)3Yit~^GIFU{UY!qZ>e!m*@gSpi5Xm>Gho_bXP#91J_Tb*2zGZp*^?6O4G{zh` z!yd=-OnSem+HA7l$t4>e*oC*Q5>I;7C}^Gal;B`|Kxf$;u9bHUh^)8IMVorp42Hm1QNMq6}UzpA>%2Tkhu=Cxq%bH+`suZQ*5~j zaEv;!oQqd?Bd8@};vUux5d+;kK68?UZ1mOQJk#6I&(PTmIGIO;u65uFxyIvOz1!Me z3-2|8I=gX26nTP|LbbGju3Ni|xWp3cFsEcIbc0f-SiXFUp4RJ>Nzu{P$!jwmR@eJw zBtMhGS^E$~;X7FOYai3$`ych@`3om+S}^WnhBtc6;zXe#7)awYZSArwzUYN1cWm}~ zNC*uVEC0|AU*Gii9aaTR_e#=G&EP6H<{6oDj6F6#P;hnt04=gervPvGW$v#GJ zJ>`cYRy`JUsa91}y}fAH&l6ist^0kY`tG=gt4aI9+;nIbz7K4-y1yR&&3Pt1w>2Wf%Cu?8#r^k> zf4)fnbiDn(^3Cl_NoeIkgi**))<~X7eb-+1ciJQ0qtZ1#w*bJkiCfFn2M6tsBD`|! zXuzu8k3Om16j**hEelU=yh=|$|3T)_T;OgP!Ty5Z`bi*mAii3tE&~g}!|_{+PeCvq zyymq)YJ#BWY5H6&!IaS8S2p^uw}S}sf`xVTMG*v#L}JaWkUec5=~DYgB2nS`aq9P% zPL#(E9iMxo6GOGa8Me9rH!~oD67c;wc&#WjVJ1+Wh2RY$^hYQFTL%1a>`$o0bt)wY z?{dU@0u1>IK4l2YOMuzgz#I@XWY@3E%6 zuJNyPfsg%-S0T9Yc${>yhz{)NY}#m8FR+RwI58ZzQNR(A1{Ax*%OL|)(t{@h05fSg z_3?Pu@xXMh7<%i7H9Fk-DI5)Tyw3u_g?LbQ0Dvh4=a?l9e$3X79eFVY%8myuz zA7?0_g=4&xDZFfm;KCHnybk^$c2t~>NiIr!f2lCDH1I^09kGdDs`80838$qOXv>6) z7a^B^j7OFhr;~^?FB_Y5hL`*J1s-z)x!j{j2z&1oC=U!Mg#c%`fY~U*0b#K}pL|TK zk3Q*(r9_t^lYP~X5DR7DzS)jL2*kw(bEN0W6Wrj(dEs92f%De*t=*;8w((6qyfqhe zIlsnVafy5z@iB%z(SRs8_9fgz=xaQ15K!t8EB%3LQbqbO&Ejr56}=`E zjv}Pq{OU3(?XiL&H{6&39bmA8LwIA^5|7i%1!~KUELFjeW=#<~PtOy~5KHIW5&-#z z1QsnSE};V45GjPbX&;-tByV_D7g&>Z(tHAO)4}hv!7`{dX>yo=>6s|GVVS-i{9dlK z;T_ptS{MBfQdv96#=jz3jFhL6iB!k%aw|kO^Zty7PixsHn9`y%Lm$)03zyN4c_3FPAL#J zrDxyZ-!9?lS$@_)19&YO*RA0*?d0iU#4izYordF+AwK&o8b={O8_#p2UVpwMw?xK& zMyvUJU&eyO$$d8+kv*kwh#k3wk|w+n*QF<67biyLHm7B8y`;Qn%o-Ea`YFE(tqp0ccnmTU?-Y6RAT1 z;7S)R>2RvhNWsd`XBFncR%DF`#x%}NNp{FLoV7(M5jpl|xY!U2_(34uC=$OA8?d-m zQYQdj2>|E|Cb#S07urONd6wP020k4r?@Ne)Nyhf0ma-1#rFQ`rxQqwFDk|aOTPo25 zLo%}x;3XWs&S6&QNU7DdfZ>g%H9EobU2C+wP!vYZD73_G>kNtOC89K?^y@X=)yo1k;BH}5U6NHO*=(fk8oR`ep~)+E17-UNNd~Ja@$B$8}VM-jBxu`{q`bYJE491x7PNR z<@SiEc6{Vs`%mGH&E>YWQTSG7$8Kv!lTQcEXvZ-{=P5pHgU0k)B&+K(gz33+K?e10Rj*jf6Ttw+isLZ+>cA*(NVs840ATX_toYS2$8(ywpx*mv2b;}EKU*N?u^uYx^bQQ2vB z7h;(;aON|hP&(i=*5Tj~;w&<_MKK5^YfWA&3R3{)$qxG6Aw1cGo;__Av}i88{NS2q z5R4SI@Lw4!1NPAE6I>j>jn}tGZ3T_5^;)ao1lt?N-VKLS3@3ZTG*1VCGt;TGEJ9EXM~fJP}XRnz0e#{gDH0JDL^&vtN9rjUb+3>jkrMYdDC;Zh{5? z{IxlDVJGM|l{nSNbymnTYk(k;L^#intx2;_{T%-R8ve9TU`O)7W{HR98&sh{v&aEa zIB&gl$CuQG?Ut)q?mLpb@0e7{RjP>i!;g4!fZqZ!)O&~f#cJv`Xrl48<<_zFPb3fG z8m?R;G7Y=MqG&fU(z14yv7)@k$`F|en;pwonPvEh$#k8^jLVx28Q$o^<#g=j;&^9X z#Fg$KxOg}9>HuHJ5OJzF*9LOpae|LZv)>h$jH%{B*|6ZzPBXU3PA1dmD~r-qBQ!6TLPrhL?MQ1u--FRwiFa7I)jRd+iV{4E#>_>?umiDdy2Pj{?{DN>!UOnoVHq_{=Jk zKR|nR7x-xq`0aN#0iV+MwkdJaU&@E~cyu0^LK+ARfytiz#j>#<-|pCLm6r81ai%O0 zz!o02c;M;E7+mv%^R;adr42KL&0Su})1)a8t2!1JdZ0!Z$ z8*=tq$NqXz`inOQl)?qr>%w=6Z8om9_K02cTm|e+;rmSdcIEsHMxOlc{tkMd^E=dO zJG`1`dW#L1rJRl1vJn7~5JQZ{&qr1xO1ZW|9)5NBY=4RcC*p1TGp!z147nmE3T`W= zih-3A0P=^OaDDt=T)XTJyCogq@sE4^6=86NeLc%PL^UGLXsfe>2w&QiLK?Vfo^2;@UII*uA6_rkbwv^|x@F0WL#~6*E?T7TQV(~352ZFuC%ukbt* zcEjxb+r7Qoronw)kh-;J61<0JfZI;@PNTJU-B0nNo zT4pYZ!uoh-fkLI1NjuE=j&QEHL-e9x;hYVFER*5WDVbernvus~3M%(7DmPFQKk~#N zKg7ojI}YFR#|iM+=*G24GZ>I$fFC3d!YbFC${J2`4gzM(=b-?7R`V*P1CntfnY_;Y zJrng9Z?e~Z!BMXDl0W-n-js>o_}SjTk$K)b6NZ4>2b~M^AAe4w|6D_EcsOtFeZwn$ zfYR6U4swBLpReM^u4K6}Zm`F(kMO(RBI3j!8_kwZ`pOPcsm}FY0ncUcI(;L7-^Ok< z@sGIT)>xBf;CA2lOEBW{7yjhslxi-C7o}Im1OvhKDmN4YY7bE5b>{QF1g=%$X!-eDILfzS4N?C&M4mX!(f4|Lz zhW_;Zee^@MP%fF%^4r%P^-|R$rw)BadS{mb2?uoWJjkT(@p z)hdiNmd~_LbxS;6N$$MBNi``+$R+u6yY2j?(<57D%WNzyvr}b6Ias(1WU5o9^Xbzn#LqAjczN)J6;Y>6>r_ zpTx$XZ)2;PHTM_78K-fA39|5nz-F;&bbj*SHou45M2o;y&agNqp4Vf)n$uBG$x}Y= zW=;&kD|ak7)fvXE`D8;FPp2WV`Rld6SuaS4(*3Ke47GE@p)hSQk(=!ED85r!h6dnU z`Vc@5OfF;<2ZP9grLM9%!9>-Dk{M?VJ;lD-wCHKfG0*{?NVLIDo;L6SlPHST=OwR3 z4~S8O>kBJqUuX67P|xM51x6B&y17jQGNT@()V`wZp+-+kE??5$LDW)Q3;s;^Y4pPT z{9Ii{a&BjkLE+VfhK9Q4J58-myPKb5zXtJS{~VcB8ddJvPs;Ol`+$=y*ngKS$4mb0 z3onpdk0~kD1B#a-kx^!xBNc*R@{KPjqb5l0 z)nSJ5{z|TkAjt6A2yiafvGA7T{9u`)KVfSUYM%1JD#O0<=0&Re{0HkCpUWkg0w)r0 zoBSyLZ?dqsKObz1Gd=(8POE5gQok-e$$eV?^k`0 z6z|u9we{cshN>ZXa!}vGzaNVyZ7Y^WIk`{E}7y%(VLe&T=5woYwy2RTJ6wZzO#3ue)qVOdPK_yPt? zR%>Q?^vgW|iGSgudS> zA5^-#5eHa{9z;-m0PGNO(?3Bwym=d7#Q0eP6$-)ip3281$^%;3>=S)c377V8!%wz( z!_o3O(nzC#f>>W#@Q-Rd6Hz7|qph6iZ`H(NjiO449eKk)GxQBa#k@tf?=AGyvwnF9 zy`Hmu`|%rb&Vxp&WVXCYgttZ^Q-7(P<*rKVH;vNW^D@<3Q$iCdz%0^v@brc*@!?*Bszl4t@>!<%gQ@_#m1FGHj7HN@FLZu4ADB1- zgEbBXLwdypCLdjZ$X)DpS+`s6G}6k-4UlJHa5X%5FekT;?@gL;fhnTnQY<7(v1|r> z&kYP}-=A|b%%g~W)3s3D)b7Nj;%Y2-&j01;KG<&(9uBLzY)=Vv3h)_?x)KvW9KVr= zS^NCpbAw}Oq^sLW_njZ=@c*NjUjazsIqC;#j`iUdC#`+dIKS2dZY$X*kyk| zk6WMHNV&+OU+~yflJbcoS)J0zV8OjNZkwajzlul&NWlu>tn;I9+j3woBL6MsS(mA{ zH|6QWiu4$0%>C38ga?@|Ef5P~M2r_U%_|e%E5FgReo~IPP*k zC=Aat1W{13=31VUA7*RQ(Ob@pJ`BDhT-9wr_5F;*u5MF!Fyj6U-9kbHnzY-G3j@Bf z$iI~r9SMvRK5I=HwNac~GPp2k)6b>25)jz4+iep=-Ic*{npnEslgsoT;*4vI_{3u@ z&(=?Kl>C}wqRTP6SFj#>HV6wAJI`m!T9*zykxatW6MpL(-~J57*F(hA@CS`z!Ash_ zzAQQReRc?5DMbGvV56X3u%+f5+KZ$yBbBb_U2)-XzaJlCuC!1|l3jXZUVdM?Y7D)M z;zG)=+E@Nq_tV0=y7y5-^*`^XdDGeQuutw0XqJJ0O4S^XDUpy08g*to%V0LOItbYI z2T2l=!}=HFY7?$F^Y3I`+tq$0JQ(a>UuI)m_(0cxmrjbW$rro{Sl7o>Ic_+9Dm2p~ zxGmpN;Kh0A-BG|2hTtvQNyIG4ZLx@l86es!7sU?E^L-M9s}unKT;gS1IOWG!H#=Q5 zrDXb%UB$T&e>jB5fUSBN@=S`E!~j5ADQG?2L0$=^*)OI@YA}$+?05>Toa&-cl)wk{ zoKf^p7XlbGBv=b+nZ~-CMun)eBskC|b|nF9Z9Vvvkt{0`Je!{>`d|j}(M6D6BpFdJ zGrOcfQV~T`Td_$mdvtH!b5H_rl&eYug&Kf!Jyy(tmZ`GWz($hAS5jo9R8%$Ew5!vZ zT&PYbVp$EpUlvwV(08B%ljY5oumA}6iM%oBi+UdC$%17YPH>(8*0CX z$*;?oaU z{VvQJ66&A<`Ya64ap5ae!7qReJd2V}3+M8m!mv$x?WBUQ0k8ER!Z0L*sccudxeQv^ zz_g_RxZK(HD%cmhAsU;~g$Nlm1(<_Kq>2qp*Cypo4^v?iSfo1WK){bQbjY>p5{hvE z$*r`Qfr_ojhjhDC&b7p6cnOph<}=MZ|wBCg|@w4G@|Gnd4kd%tq2oK;}Ucbx%8U*a4h zu&s?OM;%C)K_L%4)M6@8@whH(rQb7Lp*d?5k%d!D)*ClQou-nZXfs^EGF<2q=MTm% zU;*=wV5pF_IuCPe6LEhs8BjkPr5oiAq#O&RZ3#^Snwo>H&@l>TYd$?{+GN5$s){&* zV`;t6B%7|OzW9P`61WDaa4O*~uiP{x`?yAiic7uKwiL8y6xkL{&4V*|gQloWz!$9( zqnY&@6C^r2D>F*~DjFI#El|W!oRAR#7#=IV1S(yQa-W)rM|_?52x|YT*m#;W(Jl*^ z6o{;p0&L%fDavAA^Sv@oA2iJ!{Jl9LDo^7`HoR6?pxo7Ez%r2r1PA+Id7}>%>bxx+ z!kBgM-_26)j0PX<%JJ$?g$6_wd0`!CbTAZ5(AiIjvrQI6e<49v*c#==np1A*ohs;p zX=}(8hR1k?;6%iShst6;RMM}3R5r<{u(HLKx;y=e>g{D;@)JNiRWjO>rj81y3c)ft z76S~Tk&GNO5gKd)P{0R*@f1GX4s#Oz@~{p*F+!XnB#z_EGhirb=vYCPsz7#>fFl;H zw99`@Rqc6>5XuacaAqn~93Lam+JpppMl4=KS_H*@J>LM0Zn`7X>?hT$H#u$Gr#Yi3c+LSok z#QW-PRifK5vH0w)>K|2cj+{ncm5dF{*D;`^zOa#@5EYau8FP%$+^=Wqt$L!bRNx@3 zp^3NV(l!ks6|&*?Hu8EXQ&ukO0_3fYTphN7Pwz}3O%6g{+QJmS&JT+KoWivoRfV6$ zs1o5WKE2>ky(c8_8U5kgBc=(k5SZ6Qt&HjIN0yVZMp1Rw<}QjG6g8eG`A@+LQFOzp zmJFZK39*n>oiQgE>aKFn7sm&esOY9->xRwf1iA91eFRwN>*k13rD_6(_jU8Kvp-Ym z6>#L_i|Q2>W%t-F7T5+A$1fFSf2)!ER=mxD1p$;6=~X9ZHr51J<1X{pek+7LDPlpb zQPOXs({FIpkFM2iidkk1(QmHOe^IF4I=+l*rr&59vB_n8y({spHLZ}au}b98lNi}Ul8TvJfSv0Kkqhx~RXM!DTf|Fwc zs5Sw1JT3v(e77{&zoEyUAjiWqC7?DXsuIj0%Dm>Gkz8KaRIlam>vgV$B6}%!R7Wg*(heCd@@w z%^!~@@dtAVo&}WJLW0vmQp`e1+2W0ng|w4}jGu*Utc6^Tg?zPzLWhOogoVF_jb1^FmWh+Y~D=Q}}YdqSbJAn`*c|QPFR0jwe~x-_J6Prz_SUYwh7|2 z2^O;nQML&+vVl3-g!$Qo$J!txa%>{2ZK8_J5~J{GTDJqdv5509j7qC%>Q}8Uw@tTS z>g8fcRn}XUR>6CWEctg_bGaSXI7+*!_iA$tcM znDue9s}0O*Z8vd`UAz~oHpl*DXl;Q5*ZO{KY?!qUrUUp>qnQ273;TqqJu5P- zGk1rfUxR&q?Ur5+2^~BYe*3?N9exDu7*pFBg88a0dy7laKN2 zj7%ol@14uEgc zr9L{j#ap|HH9oMj-N~`NH?*8)I=EK(lIRqvI91O^usBLK_H`BT`IijGQ>TkRuhy-c zqM{DYmJjKeo4?PWB0CwJ9^KgzBbf17e}?(lOBy%+w~d0)N|Fyl_y)-(L~iZz^!?_l4c@?G<>~y`HSsB6VJxUX3gm*st2MT-@ze ztew&N!Y8tuY;v$%j$ShnDK8G_T6I(WeNd@E+{j$VKsP|!Kk@~{=z4$WBNmsqX zDk8nuQ!JYuWt@e)4s*IgAhbq)tcNFa`lvi zb8-3KPvq<%kMVvrDzk+vvMpUz>G;-TS$E341acjHC{OduJh|I_xD)?zZ<^wYY>Z4c z@qlQ=1zklpfAOr)@!EJ6aDZ$=z$>%`mH1~+2!)bfbIUvs825iD@(C9i~zo} zVHY&@YhS{)(8K*vu?X31j%g)=HU{PtwjcX=!j4AXFr-zlx59`q=6#w@=!g8NB@@_f zPZ>s%UTD`k?3^-=rSVwLM6;AIO$65u(De;OrVhmPdi{Bds8lO1lzaccmchH(YB?!Q z!pvOOqKl==W5$yw)#M!=H*(L zB5tg?CK8{5J^m;%$nB5wO0A^`7XK=+e5UJt@&i2Rf`v#d&=FZAsmZyg73SF{k>&F~ zE6c*$bPup};kXi4jdteutp2r2d=xelp3|K`-?yPCq|bTk`@V6zi{WGIj1dCC%BqF z@hfu98S;+tw(*?}J#V&r+{LVC;E&c@{OV3)hg_RgQ%dQN zpi4o6Qu=^w^C#y+%FTR2Qv#(bLOb;DJ7%}(D-AX#6Sgeelx!+N!MH595%T3$qb`Yd zFdz6SHVd+gXGJ_cKrN2aP2~9?&F_mp_AJPxv#>92X;>+g$(uoyMa==8N=$Km4YGoH zi>8iR3nAE%lnFxwq+wA*dHI~y*e=3&@wO$oQo#V;T%A1pJZ~s(#T?IiMzQsQ^9~qg&fz8i|{GF5s|KectZFjrHpz)LLmvqm~Qeh z+?o;U$*(kVKBmP;Miq^wG2?t_KGs-zMJ6@?gys+KA=Dha;yyPO;_K%N-mtEvJT|pnxxmLyZ zbE7&PcYM-yD8pvx5P>Ypv_7&kE*_?=dVQg8Ws*vq`z|jnihA+h)336Bd-u})WXOO% zm|%>O{#kjp3N34rRE>mA=8>b+`~2y==C&SSSlJd$X}lEg{uCbFssbC@PA-HgrRYsp zkk~9eHA!m%Fy)CN-o$O*sM|)bzeA0-{f!Q6;vMvcpf(;R!Z7VeMp;T=5g$;dDN#(D z`hXKcOursVhz!Iv`YQh-o^liUq7KwZWf6q5ANd)79&5F&=wUidVStRb470e4VQyr@ zVsXJp@vc+}s;kp1uvsV8NE?E!&WvzbeTcDq2#(3eG1E`^5c9r`o@(KkjNc7AN{4Wh zpnpf1^NCHEH-y_({mzisToT+MTSs}>Zl%5}|xoU|1i|q-nrgEo_Yo4PqR#-wmp?KlfvZ9d6&Y@802PYkpSA4xe1@0IiGZ1!ia;y!yWHo?xp5B`~KD;ml{$(!AuipzPO$tz@WoTUWUmxZkZc<^;BQ-r*80 zmd=X{coe^(b9{vvn#ZUJUv93=Y@8%B(>uePRDeusHRGX_X-I zO*DP>B=4J>M{mK!8JNO=#5#f~sd!;^2Lur)4>E#9I&VEl_6=St zP?=8>N5Z`JL+Hm7q&a;#-vH1JE)0P$qtiNGk7y3y>cSpN!q-23FIV*3?i=TaF<{g$^;m|*qH+bMlTTdEpa3N)sXFp3PNRS&OdrOZEJcP7m#hc!(Q)y?!X7w7R zZly3xdOz^yqH%0PD+-I;Q1c*mwh3F^5^_Y0e1-HJJ96qRGcGfSIWQ;-ItC6ycW@}@ zn!}FjZwA``NW-{1<~Sn%CvqI*ZUDL3|H~W)s?5)o;kuH^|A0M2-#s_{r@jcgH$__i z0edhJEBrg`@s#afVUH#!ttQWZz#dfpWLy3>D z$KM>sRDr_Z9LL4p;v?)a(cbz9d-O*Ag+1DC9&;QO#*=?@9LF1vut#Ud{UhwL_v0_@ zfkeT4ggqW}9BYBtOpiGZ5dS0W0hWG*J&3d(VGlB^zc~)iN7#e*Kf=6#SBfmj0X!h+ zQ8fLAFzdXHxpuN_zBwaWd+>Oi_>9*^yp&UY7^PcV=?s_PE@Ff0!bBa+FY&-T!LvbB zwv_^+V#QL(6<}pz*^!k4^Xuvjk7n4q?fl9#dXcV{XeO^VEMSEfQVbbAKE;1I+QwR% z(zd_OnBYTeVUv$eY`2}B%-({h~y>4%wF7qcS)) z>&6#K?F$ra3{Ay&acmBDl~$~(6EG0NafQdCj-BBY${@}Le)*slWx?q8pr}QF^O1I{ znI9SK4m}m3TA3Psj≪O%+jLsvUur%{y?MP9lu;mB2&4t)efT4M;USpzv!p@atw4 zBu7|-``hF($WwcVsX5e7@ROy$)|9A0x~S}_vH;1w|AW1|?20RJ`~8j$I>4a80|^!^ zSa5gG;BLW#ySog|;GW8aoc64?tE&(D9_GQGy+7aI_4mVK zoqPiY5-;045R1s@S}YQ_J+Sg+5OqWpIHc;h;}TXd^*tu#EtIX4%Kvj#??G;hHg-(V zAF)G`p#Hz#me0q;Qit?xmM5^nm>BcCnguT8EY@qKS8%U_CXqF%!M96_sP|$uKYYM+ z9@NVLS1=aj_UT>R-5_L>rH<)=T`vyz=O2%fKky~6K3n{L-OGnxh>DMiII@MCiDY8r zmI}I-2lHJw<)QKpb>sM)g;E3a(Pia&@Uzas7?u8qy$CD0Ub2<52)?m=9M7R%s)sX( z7_a~YgUI#0Av=$hQ!2nuAL^qQIFACy77%`u>u1tCkJcG0Acmi(Wb-+XF##5m49X2~ zW}U}cE4@XqDH-6Ah=_BDEu`3&`)_*@V}(?=LxUm@=Ltc;B5E}GAqlbzXrxlnn^(g_ zG6ENg|82l#SV8Y1DPydNo_Bay#pfb9PXm`Hi#T1O)R80@(*pmnkyz`A)jU^y7lg=@ zt|7skRs(#)dRl{Kus0JX!zf3mbB+ssGR0kdJH#oG$f!4GmX111EM9bvt8kr^f_AQ6 z@T7sUteGrZ=G8~VBwiLSgcQ>7gf^R%80E|vpP2v;mDBDa3gBqsnH0URAN)_YP(TD(gS7d~nvGXZGWNWKEH=|LtH zS&cc{r(hJ*eyRW_XcE)U!b-{S1utN_Aixg_7n7qw9yC6UC2{!+tXCpgXg_m$lD;vg z;Lp7T(}JVQeNe^m)y(FnXyqrdJ$u{cQ*-KDIq% z(zvo5`I) zDXk~bwPNfC<*i!&aUyzjUb@vW-_EF^6?`5IzltT*>}zfBtorZVn6HnMd!`GT0Uy@;M_-Ws(U#LHJsu8OW z3!$^1kW8LXHBq6yV?}P*8Z4GR*^08LDc))M$?mXz5;cEPeq}dP+nl6SUyu4oEZOECX6`MR*s)O z#`b+l=n|@FcumxIW{m@ll6_k_wvchC=_|p=(hLA^owSl+9ug4^r7RoRd8RNwiD>(d zrx^n&=H-Dmwd#(Cr6MstdFHoYZ)78z4=dDm3W=z0lYH|cF4`a0oaC2QQa#KW`{YIP zSH;84eHG25*S>_@4%>b`omZSL_2X*MXVfl0(jRDHkKQ&6l~*>q+CCWJ(Jb@lAm35< zF~Y01-O{1Wb^yNPCvS>vdQtvK)h$VH$WPih;Fx0HkjJi3GkVgXVZ{l%5&O}DUw7@rUr)`y<~%04LS} zrQlgg>O)MLX*pO(aDV=aq{sQe$vc|rjJcpaksmY0ZG=4jS%!O3@&}f8w9r}M%iuXL zZkH`c|B4Cn5@YGyF{>yXusb1$#Q*Tn{+@6xA#fVD>F|-s5n}vwBGX^mdFl`^!}Eh? zH~jpu;yKVn@@fob$QFR(htkI_MYpO8Sh40d@jQ0|m<)tL`$)7hLi)ZJ6$Juir5$aWzeE58f#Wzo2H&nHgi z?Xv}hVbMi$5OdNgs2CqJI78#e!~X`&;Sg3Ls*36~sijQKKx@2Yoy-_vmLZTOhgTM) zoE<6KdlNuvYCi6ST}T-1!5vMR&(zEgtS^anK#8u=iD~ePY08LcX^LrEis`tE=^}~k z;fw9li5>8Y9mABpqN16`9a+mj5facjbXQ3dKAEGrJ0;v5$XxU%pok|tGs-~Op>DJh zD<)8DS}5i+6z3iaB2C2SPbAb$B=$}uAtn7=l}NFiNOhk`O`7zEKZ#a1iQYSjF*Av& zIf-RCiS0g#oiv$~Kbavjk;glk50;rM(3~u^oGfymEJm6l!Ji_fn(43;Q zoT74{0wzsW<4@JlP1W*F)yYiNYfd#-PBpquH6cy=#Ghuan`Y^q20yd$xjD^_Up9~0 z&t&$q{V+{=Kd6omFNr`D1<~A<^bPqtJZnq5@iV)jy7bfebaJ(HOuP&-8p|7(jL1wH zAQa>9z!;96FY16v)O2>57)@%RGBM>AFvj6kW+t`Zk{GK%0aH6S4mOH7%Ue+XA=6wK zCY^LvqCB-6zM5Q&Wl6HPYC9pM;<{w40GAsab-QK920il}aav%)g0|xn}cv zT=MJHHtvAL7x^39{USk3nQ(dw6Pi#nSqc5Iejyj?uP#u!`w+A0%&!loOlrR^Pw3IU zYkc7(%0F_0uP|v_)_lQyKo*?ASwk=3>4!cR0PNM%T~{q z&k@F4M+(V|Vl2s8YDcd%e6YtXaj|l}OPc#CTv)>J^e$)zowV7|waL`yCT1*$#rMyeg4{t09 ztglmP*9bp^oJ&y&XlC*-vP^J({t%y^!kqUhf0a_cN+xe*9W#H1`)j0pm#YHigtMn7 zGINHJ<%IKGRWUSM@t3J`=o0t`v(n(O%w{@(D!8mw?fW|6CY%gXZUGECD*eLM)WDZJyTuAk=alftsSu>WceQoV`V4sy6OcV<_s5o=+_j0~%S z(zi-$)`@wJ!n$Pon*%lEutw5U9tSZ;&wzbbZaaGn8mTxRZ=)n6oR<)4iH=-iC9!($ zaij!my5MeJyM%bIt~DeKZ?rnGI{*g8X|)0gL$J4rF(W;>0fX+PP`bgAph>X%`KA5v z6ws~J4ZIqu&*0*h?p*JQ{pOqc&JED@(O#>@S2xMi*|y0o#_b5wShdLfA>I8cBJ^;< z)RnSV3+e<3e z%O>vKrXQ)41NS!WrVN+Be3%-q?hCuUU5aPzsOo!{s8VWdK%%E|wkL}<-G^`0eS5gW zL4kQNL0uLST^HS!aB(IaEYCS&3#*XO`JYzPmR|16X5Wii<hA)?3@!0h?s0W(GIQ0!+_9Dmv475hKd*e6* zRoy|QLAc3uEw8n^gF>q-9+~|iZcZAtbqGB)ejR3tJ>OfI4Nf|cOO=Av{HQa+kr8|2 zB72k4N2skKr3ttjr^*l{YIrBz%hSqQfAb~`mJHymI!?HfZ_B<2Phsb_PPX=S32W8C8Rfg@g_1+<;!Rn z%jZL8s2n&a=qu<*=^ltEc*tBFp(}RzixFE0?>0rzIJB#Bi6?Vb+tyb*o>#jl*LsB4 z`V7|w{MUwZ*GAgc#@5#+p4X-**Jp&+=f?3pZPJCE*XPGceiPxX!{P{jwXY}OZQzJ+ zd@$YkolA1i4mxHfIL+OVpjpN^M+-#2?BrD4Mlo5~dBdrR@t0kd6Tq5JO?R4$m3Vmn*jYi0;ocw5p!GobU?t)PR9-?&K*W#POvai)>4IBWK$ox$c12H6Mi$k+0vgD zv_dw=&{V+<^QyQ~N3#$|qGh0cyNyH}>FuiKeW>XdVqjaWeXg#Jl!!xT@m?`aL%g41 zXpSfNenSa|h&x0#zL@C(InElDeW_1}oN0Tf9jNBO{d}QL2J_iA`(njaOe_0IyQ;vT z^OF_)5{TS6+AE4Y=RE~a8BjZN-1D0QAhU4m_1;v$LcYM>;ZDg-!Gf!THp{i)_@#QP z!=cQyIUaG|h~|=X79D~*-B%I1y|{hvU59N#&Qb>!Qd-euJ{(^YR=;LNxeLQa0Dry1 zu?&ZL3chu+q+ZpZx?{+-32{d3?KwZF3Je^-=K zP27bCsdN(V^ZV#c2d~`a-fYXNEy?)&Ng6Rz_Ha8+9s2X_GvEB1hz z4dd5ZYJ3el>wk+SSZjKfMqkc?>8=2(x`ml)H14O%)mL{eo(8v9y2H2BTesvPw^F@W zeLe1LO$nB?cOI^ucTI6XU9=iy>FCPtuu7kYnt=B-(VEbadc)#Os9OO6kl%Q2p1L4=}vl$4xfGxVpqgqt}mPB=<=9 z6|kVEPlyxCGU2~Udug1bh(pIw<3?DgfjDU7eK2EC>)+S`QBeAO;@Jh;MX^RE@n>5D zoHtgiM}hb&o#Z6H94!oC8Ogw{UkN|T@uGiN*`k9=O$;Bkr%br?P+{0Cd_bZfrkF$* zKBYg6#O;txF;aBc)7iqCb%??&rf8(XdwFmat(*+l;!(Y^^#_hV31n1dJxkJ68!&e6Tga;YgK~r}vcyQ&!}H z0V$C`C_aXy@EX$(|9DqEu`Tc_7q&Zn)ajYU@5y6*f4py*FSt)N#IMl}X|6c@O^K;l z5jck3k=P^qO{D0OT zj$@w?XwlC)*T2#vW+~1xWVUtZG8C@dll@_|5{V4MULn%rg9kBxs)11km|Q!A+(%M$ zl5k!UVtIJ}S}V4wwDUFHZ%j^rDTmrfKG4UqFLzF0g62U-Tuqj5JH=H+;JEHmMaWoc zw;;r;d4?J%5i5ySBPo$_6c(lM;KD>F{ORKBHgQhH)Pcd%H>y{vSpY66juh+uc;fz< zVGdc^14#`a&`A*lAsqm#UZ%Kf>Dks_Yh9tU9B3FguBn%Z!n#q3PF}X?InhM>m}(=X zEQ(c8GtIAu1MjvEUxQDx-*d@g&(MKcSS^$p0lAvs^w-kKg#0@i{T@=`Sv2emM#uHH zMt+yM^Em$gyO*y;@f0Juh8y}Yh!D6!9ViHv0fZ|Cj4ajsA;1U>FZ|>h0(~{j=T}J{M3Y|@y z|0oSVnNIA+n@EPI!9Hnf$sK)v&wBRy+w0%uUkq|a`}MX4SXDns(DXFVlo2!t*z8B# zb80%6Rb+SXxEW?!cRY4X%XK0TDr$FQ@xnU}0_}ethv$>?(A)I+n2xo`#XRztYKeax z$CK-nBxE``o(eE(h$^M+@4le#`RpDgH;9E2s)klbEfN~>uj9CVzSV`DMGw6Rf_EG{ z$=XzlN(Vp8y$=f0;T^|wNTrXTV0VD;pVrB0?|}1r-uII2yfDA3SqQ~fOoX@M{&(By zfdRVee@7x~MHs)rJC0iztY;V}2$|Ld5!*`)g&rJ?1@Aa0@5In$z##YaTwl7kPLt$xZoX!y_Y1#9vC9HV~Xp4CrOQ} z8YxNp2`|n|ik4nAO40liLGGOtql{{_deJAMaxZBXOVt?tolmdY@1)ryRAbF(w@C=J zWVlOI<7~~%$l=7!vrjeNwaAR})Js-qPc^}J$L#gLGqKa|6~mF+CmvsZU4dE4*d9fx|(Hmw!^ z_`i-rJ@?q$N)X<0cnzq3xh#Tr9Nr)O_SC;V?pTRF!#fUCjXY#JYjJEJa2UPDzm7wa z@&Vp)XcQ0>!#fTi)mTe-$FXZID-7>AA~cHL!aELSAGH*C$H8o2qiFb`mNB65uj5d* z_knjD8s7wW;T^|=dLF7~sU+QJ)wq8hhvs)hi_hx04;rO1nm^QwKWmozXqH)O{?y<7 ztlj>gSrwsKW=3bLJMN=ZSE5;NYhkOu{-D(~pjqKsY-@PxqusWrS?RlLYyAA6-G!=E z6-sAkitVe@N3T^KV_|1T`KSXMlF_P3F1E8^_0=7-)T+(iwX+g_)SZfezkQ^$w^8=h zn=8?(|7l@wYxtkrgs$%ZFFyvyjy41E31(Dy_zHZ$u2i686#iK_*XV;FcXBfZ4Xe-5LZ5E zKwofr2Ya$Oc&bca8!^I4I|=SNpf)Gw6uhJ+etI=2h?aSjkPKJ4d;lZi@3o4P?mh(O zA*w8^^iOf-6mf@%^+RiTPQm% z&9_04V!2W5C1 zV#`0+PLiy?WZWnvtr4lK>#x>Ctg$nq#86GAPjt~w`f5s>N$C4Tp4FZc^pCgW(TR zpg#Y==pJu3ot2Z=cYT&-;!&T_^24YE{S9ihq#uLp44Qzo5%NjTL4XPYg>BBTL_&?# zS#Uxmxzs)fZ}WB-S}nvf&S(- zJJ0(e-xG~rPu$xj=i?SGCy2I+gY1qzzXayLN!zB+s2~23qj<)BIx6m=-fxu{SWIMD z+)iq`RMDnN$PP$uO!5yj2t@vn6rnCmxA~)Q6aIpKAOS#rT2D~Mk1JqQ6~g)*ErymU z(SoRUgN-O1hH=_?@#)th#;`-6@YTYo?cbU z60NQ3)a8Iuk(7*2r%Rf3^x}2uOJeQ2q)M9NYMpf&`J(9Mg)7`8gdlWzGDh9Th=%K+ zJX~TTNhL_%y}$B8xj4o|FbI35i6N*j%7(JlT?fRO+ijn`f6g+gS9PR||5L?AA7 zg8jxjf|{Sxfv@oCZTEm!k7Qd)y;HhXRl+NZ2o@mOhU5p49HNox7#FW#!Yah5j9`X~ zj>;j5=F+%V(8%BNUHaXxsUs7Kr|`mkYn6g<4DXUX(No+G5*5&s!iG@vysATj1d?=6 z9h@q_Bxr%`y@Aj;jovPW12~><1M|g8>x3!jgvmzsI#I|@`JyYaimB1i{P=IHf%&BXyZ5Nt`)8L~%stZu|U=t9mQ7bJL&S4HZ#RAOsM#_>%D)^$o z+$jb_^5oq8P{7o(wTuwL6wzp@7TMA;unr1xv#2q0Mpzq}qYw_*D@@+EG9CyRb{drR zLMaj)j>rMJjL9FM55`lpB?-wRccbPMaU+Gv8AJuQn)EBFNmo_%>sNQbqXnL4cJPs6 z*z=@G-_q9PqwA{~KZnA07$I$=*bC#WSQxko zUC<5{kpc^<(XDh=;|UTw84CMi(mmfN8@j0&?j_%{(-7YzI@O2W+SaMdhXWg`lN1DY zQ9Pn8_Ti83D2 zIxMfpjJFylUZIOZqaTJi+mXtGewy9gb<#DQ$DL{d0;rA!`1P9VpvVo$cNm1_RrTi3 zPT?3xCZG=U{Jt%giQTyljt`LvV&ocP97tv0hqmY$!kAeK@ynfv$85!-97SFhafp)Y z!EqNG-2?*nBm!j|PMPXP%B$5Ubt-K5w*Z3o)WLJMXmwDO*H4&u2nD)I39tL7a<;^y zsx${pWwu$+{n#ffO2hJWBp6d?!Z(wvVrTHriNlw~g7UeGa(GbP2V-@@+?qzeAcXJJ z$bIw++lJRK#{VD)#3K zEPj&q{-_QgRB)QXN_6mFMEoJTeCgY93$FYt!`p z4vpBU-=K}61B7T0-p{qNMB}k|DA+=mSiEAfcP^aK+goQPMQ{tIBr4; z;b_YQ5mvaIFG?4=TuXvJX)C-v*18U|Bi#NF^N<9R#tq z_D)Zd5y5&5C4aO?+9i)zLJ91ypC)=$2*Xam!SCpUUrNzlu)^b6DrYFxB>R(O!TRu5 zaA+2@&`D(t+egpq+1F<~m|8|4c9#Dci1n|pgTo^DK&)3*{V9APwlU{FuqfU3m`bJX&T8`?EPByw zI)}reMvMQzB8pr^I4pWpKlu+V5(T&Z8;EVC{RfLS_U1>wCcL!6VG;A-H#jUhe}coJ zJcGx3tIgn_*#BS=6W!$h4J>-QF}oSf(y%lw%s#-l9m~C7y&cE5_dgkk#XS6-q{MT$ zlMI%5x0|A&WwV>AV+n^v1|EmI=_V2H_A<=VZ1ys(OTO=A*)_mnk<-At{T#OioBdp` zz3=;9{B92SzXqW)9pr`me{_gurXI+c^i&HJ-)89@<=npdaZ>Z=e%nsX!7so6l>-pI z^t$vZ23vdpXY{0T6KQaiy_Z&hj?=+9zoNwf{;8^=rSB)!`@Ncf3$s=De>$EzcpRE# ztuV{S zcyY!AA@C?lyO~|X(p@OD>o@>$gp*=a@Pw0Q`?zXY>Q!9ID8Tvc6yFYy@}Chvx02oL zd)V<6C(o-ewt>@vHRpD$W814GbA}H}0x&|svCdHzA!?`(x4_ zd?c_bQd%U}Vw10T&^1NIc5AIR+{WD&3m*^LZjDlqvAYAHCv~_*p0j^k{ybiciC!T| zb#c)OjlwM3uh!tcJ9c&lf8*(PlfWEs)t#*9GY9K<#^qVUx{6;>{`&gm>5ANKTy(lt z>HG?QgRFi2k1qrPpq6mDULJtHv(8@7*y6%M8<_AohzPiNzeW>gf8DgPmLXFCEGhTL z0GcijFhJ)qXafPxLC8E}&|1<2113TA$1F?UZy0^AReA@2kS$@n2PZo*gbievMn)$Z z)QOsrFcKN9fdAWfN9q@L>f0&?!9T+15FM7~SExuxv;v!vat1?!9$x+AM%!NFjA&@K z`yG_OmA!Ri-(FTYcgE^C(hw*Azk@}hiK^E{bd~gtQM8E zFt(Rm^?lr-B{F*h$Pn7~Zo&mMGG|ZeoB!1J36CU5?w?o&kEug(?-f`6v$k&{iM_B1 z9XR1YirN%GJ0f#?k)X~QWe|VmL*g<*L*tf*EXkli8m@L#kY0TtdSnU-oI@<6ri+yU z6mYwST@|^LzEjZ7QcG*8QlxW_1#-GHtuPRAu$WvK<(s*r%n%!u`K)D@Oj-%HW=#vd zgNhG8M96Z>wt`jyKg-sH_hgk$N45CVBJjBSb`*f;iUql;(3-rRejs8l{@IHV)_4Ci zf8KO8nptvc1-o9T?`NXp!Af_DPm9G)p3(eKhbirYSxkw;{uz(XCkV+*LKZinr*bZN z%GnGc_~(krla}~ky)U>U->!T4Ppe_!fQ#0(_)K-L@2{zq>Isj7O$fH1#(aad#~h!* zEuM4oBQKfsH;F|hXO;GZElTIRUgqD2W{74palHz2 zaxKqf_F6$wc5iE9Fk;q+%9|6uXiIWE+~{>ME>NgF{I-9{-!|B8ajf9sH^~Q2G}!Sx zh3}5jcEB3s)7>@GM!lMdtz}^5%mCxV$T!wbTL#BOy3euU*f`w&xs8E<12HdYv6aC< zZsH)tWEN~j$Kf7FFmf=GxNPctKqrUH1b)Cmh^EdfzTu02i*G`Xnz*RizNmM&p9%Ty zi~R^owXt|{+^)1ff8*Zp45i@nLX8X*aI@EiC|})j-u618oQEjXStsoUziwh>ZVIC< z^mJMu>4WmXkDw+*aux7R6m7zor zZ<`J}XK-Y84a;rhEKd$ma1$Nn4L58O;ffSYxQ#$M_dSM%hGW7XtnYBB2)$_Tyz%aM z610Qq?{Ho3!tLE4Ug+fh`yr@0xKEze;u+B}P~<|7(_vmv7lTjffpBWNUv#N|TDtcS z9h~|mUq=gXe^39|Z;%gMUg!-zHUwe8`ymi*+yX1EuT3J3W)NDQ=mJ#~lyi(R&q(H_ zz>y`HELpXpxBmSM;pMkD!JgPoDL%33F}zaVg}k5{h}K$=_r;xmT(KmnhWl4uFRCyP zNR#SjsnD!W$O5|W(h#`|1TP>`-mMX8It_hg>Wg$Gf+sIZ`YzE(JdxyFq`cQFwJwoj zm`GeUDLyQTt{DusMac6>Y~Me^ZP5*PGB@c*9+-FXX-cv{rV88^?OwrckqX=vt!t#n zWGcgL(R^Ks5~(uW7EKbSekWlR+nPc5VcBTcI!Z>8#d$J5hQs5JpukfsS}t8jiu zI~`23wo!8Uu3&PXMvRy4_D;#eM#0rPohUKg?@%$|KD~`FBjmecm~KXsTSlafVsvvx z-CRceJ4GmIW)*j4%ArD$?v4c^&JhgrG9YG0ePOXjjW_?5f8)w=j|@-=b>?&XIvb8_o)#+v0P?sGB; zb7#Ee=X7)5M&+`6&qZ<1T_cs>xX(?15q|l-EVrZkCC2T`L8jbM^B2h6mp{64XQW?4 zxxZeK%H4Q>4NUp^uq^wu{MGmBD*}@&l0crWMjq;eBzjifo4Pz;mKe@M-Zeo!zJMs9 zUjC+QKFNv@*+{w{k)XrAEM+ugbTR!Gky}x%-Cc9Ocs?&lenPYihzV2fEoL~I9!CwT zLxe`5-3{4V zWsd4U^eoJge1$(B881q3Fjxxgju>?6@uxNl=ja)Fd4gWJfJUA|3vbO&3MEwqDp7+! zd%cxrzO44qtZ7b?B^|89J^yI~BQQpJ6d5FP8|ZO=*{x!|;&%}E23##)c4ZB^)+KEc zUQw$CO32=^yK(EMd%SaQOTwAS!&VinRnJywn)+8dkqDg{wNMsbbq$64L0S*yw)TScuZ(8`EIk>NYp+wVj0*OTrar z%diM-gv2yOje_U|$im_O;W=cI9z6B+7~sRnskY55pHc9gQ;RupoMZ`q9ES(JX>w3( z>brpOl$z})dlzaKD{gxh4SMUQ``GR_EA4puTCr}*@^)bbw6?~kHfnn}wpkaOee8>( zi}wEz>TxyLVjJmvp&b_nOZH*+Ve}W&R6q{vk&{h1Fcr|inPdowyY}~*PoU5C$*GOl zHHr6a61lzfKJp3^*b^(b#UWYpw$@D8XN--s?m{Y(yj|_sW7Od>^TnX^3f1;I$`&tA z$0<*bic59>^(rn>twX-vXNV6}sozGmgPX!&>S&>nZ7qJj7>iP;<@KT4_JjY+S;Xsy z$UmVxyey7Qmo12qp%NJ^+->kXQlYx9f~dW^%MaYefuXV25Mp`PeK}w7RS#80hdR)XOBg|YwYO&!*y?x4Fl84kjQhbbYW9kWZ!ii5!m!lna+8Q?M zUhkFqHI`(|cEkg8aG4-bjPMW{JJyoe!TB|Bxi!i3u?~B?pg}9HFr`rdjbE^9ESSqH zah0K6NxhUBP+r=%FdOS>p6HL(*|s0U9UF^8>x0`ihHBvT#Di0B%|>TkGj%t#y%@+N zIf*6YpiSaa6y%Q+yHQ&NgCh0ZU z+Tx3ChZZLZD-|Nl9SI)vP`2}N8}o?Mp8Yc$C><`y+U|odH=AlTyJk1tN8UzO-nObZ zK}8R>Z;SYD$H?HX&P0^u$-q4e;_&Invr^rKuVkXvfxUW#aEip*X5IJ5*gT}r@SuCH54Qf5jq zTrO}~&cJ5MYG3{`v;1ZJT^{917UxP)+`AJ0m9(UlAIk5_)>o1)R;sYy)d;V~tF1PS zGdAU}+KjJu9>O1c*LvQq71pixDKo-t5xxIn(dvH(iwxHn{MVOq*H_xt*VflJV9)ED zlpDW=H+FK@;aelsF&lYq8%N_4r>F8K&l^7Yzb@h!`j@4z%UP~+e--GH66Xp(QPv{j zBtp6oc&b1N?3;}R8EmtBNQhvRYP9wUJc5eN%$i@sFZ9tiS|}Xucgb5wMkM!UHfK4Y z3Bd2TxZlt)_yRUP%f@f(i{I=H^qeBw=4#tKZ1j9zwoPibh5pcqylflb??_b8Ng3_v zxa`O|&?$86Ebi=FVC;s??Wp09ADZtDo7m$97Ws zwr3J-O(U}DfP?3}v1b>*NG!6C6TEMfzwawtPgDicP#E^0)A>vU3E1UD z3+w@EBExy-!nEzT1^V%I9n@K(EQDr%9@x$EpbsDTtJE5JgBF8or2u*}yCT~&MK%J) z>uSC}p}aOsM{dY^wE@;`0E2}~-CoTisRo{Q3k&BJ-NqZey8ivzkiC(e(o9#Dh1zQO zTHrNGEk(ou(sZr15?gB-Z_tRI@|BU#jrh&AAw`PkhKjh>0QY1ScZC9PMB#Dk$)Z1N zlI@R~Bmv;DXW_PkV9bDs!w}XY5015~sS>Si{gElkjks_hcHIZI>nqdTOY=30<14Dg z1=P}hJ-Y_Xa*RM>QKqB67r$PpY$bcm-h+fzB-|4IA``VV39BJtu?Qk_`)0 zm%BC?l@1R^7E*U?0+d{_IGW!+m)#L@`DEE%0xmf|298v$7I{k+>L&V(_jKr0_NM=p zoc!y_^EsE`Y@bWa$KlGY32Q8^^+&NKOD^5t$?;4x78JGW?$r4fjtOeQCA z@e2W@FPe27%^e%A!MD<&D6~)q9wkn2gWyrO|z7U_VMi zqKW_Fj(NRO;|pQ8OAYzzcBebQ_!fWq-bjVaR742nugKMFyc=8)31|mkjdVP1^YpJKPt?IUMcJue{poZT6aS}y*cYM9 zq|K2u3NxJl!$2&043&lM*?LnkL9Zp9{y$h`Ghbn`%5$I)`WWiE5OH0gkFxs{T`Nhwv%q8Pqw+ofs? z?Oj;J_)WcwqGY-s^*|AiNf4%sZE)pA!#>aJbyEV~RHwK0vS5_oH^|G|S zRD2(#b{OEtY=&Xh*^40WBTqDJ{U)<&OULhv5WYgWfV2f4k)D4&C+oAK#*-&xtOKI; z(C3mxwVw3{#`jjzQfTA54AEc}{*|Ro*0^B6dGvMaLDc`uA&6mkQ7OD?MD};Ut&W^o zg8B8Dy#itORSoCa2ER&I;ODo0`=)$q$A6xJRycFnj>8B>`C-jxKRIWC6$+~}-rpKv z>3#7Klgr=gV$bzmJtWjUJAo6@UHwj+7D(9u*KUG~)EX=CYv#Xt7 zm}C&AtJf9PS99)bsj&H=MXYF$NX?E$;n3*pdOV*;ApJHW+tRiEY&C4G)|t;W|H@VU zFDlhg>*kKWysmVk|B)W#ZQ7lPaXXRMK+)53&3vGfpn_{U5 zo%V_aZiz=86#K?Y7il_Ynlr4M+@&dkff(~sehd#;L-aIVq*kzx?O`s1c-zt@ENhYS zz#`Q%w59DdBOYr}MK_>%jx=1jdVYhp%!jY$S&D5xWGkTIljJwyhw|3T1;K`*?&oU- zetpb8xhUEL5!pUR{H~`VKWytnsXWQs&Is;T&x$u(j#=l@nLio`e%5T$Z0l|IxOGG$ z`k1!gs0+I$dpW~U8O^+Hh_YUFT@GR_fqT9~Hk1tCjH@{=Kf2ngc+{+z?&5!FV|Dt4ATZ9k9-fa(7`rjWn!Utk03t{g& zFK=Oi2*mb*e(%H){=uS8wn2&c0C5Tv&^y|Huqf{n@xdz_c5@Q+Wic4wA1o@_4aptW zK>r7e)GWecO%cRj&bkQy!J?~S%xk3Hm`!NJKUkFO`tBc|k)$n96i`PEb_3A>H+As- z!J?iaF7ep^z#?*^f3WDcZq3qvV3E@OZ<28@8SWnp|A9rmYBIb7|6tLp|G=UZy8pnU zz+E^jnu&8F{0EC9B&gs6u}UUyNZ|vq8ShVcNz;^pzuxNVuI&}8OZiCTRO)WK7Aq?)EVF^agMY1Go#qo85G<*k5Q$_q(ajj zlB9P@jPo<6ZG_zo#>=}T=RTP;%Ic0R>bjVf_*t-6>5l4DaGEqcS+GNN$Hf0!7!CMY za(^Qow-|`YT7R$CDi1;W zRLaF#PF7$%s$+<6ttwJF=r?e*G^$AW*@jhphjMgCH{bBH1fJ~}24Me%#2Um~UqZ-DZNZN@^RB!1~YvE^Wu%9*mR^*z~h?NGc zQ4ob<3aExvwP_QO6NB=d1;oyAMLHRrbpp_08fCV9y3jt$ctc|svH$vb`MfDKl5s3h zKCaF(q$hm4lRP85{cY_1$T1qi)o1t^PCjFcu8u2dNp|2L%`QNV~yCfvH z9lWcQ9k!W{_2^tX1Z$u35&NJ2xP;%Vazq_9oxs%L-WE7Sc$gf;b5xa=8~FT#!|93@ zFJP2qrG>bOT+H+|1h&1ouZ3Psbb-d&mqpD*HONVJnkVx!gBTkKV042opyZLgPTcQj z7ejPTt(EBCqmmUiK|Ho>Ygu2Axpfz#q0uwg*dJ_--}QC4(~c3kF8G1=UPASLbZ~WN z93AG*s3s8u-pnG(lcV4f>yEJ~5;^L9^>R*ddt?C)=x1!6XjwP%Fa6H9aXxWBx|;0r z*D6rseWhpqZJe#Zxc@2^>b~d%ILb8dH(r?+8Y`7*REiw|p&oj;s8@H)=ilL|dZ;W= zWTzzFyVBUeuFe}!`^`|;NGabfNk>Xh*UcRomK!dxEY?$}&NEU-(i`H!*MVCkdRrxi z*@q9G&;=MoC=ut@^!>? z-!?^n`tUw%B~*fvK(t9WB>1;o5{zLIC?^u{pCs6Uz3*AR;c^Su38cUtJ4fzHU})q` zZL6&hSm9P;k&sJ*Pm(xB)I5fFXkD(6@Dn%3o2cNfR4}`6S}(+kkJpww>5Ex)vLvs@ zW*u}?D7RN=R#MogR3wG31uWO~UUAqM6X z+~jL^UJ?M{Nz^CjmbwZW0~0E{;wO;fa~`Anx(QC?AZBjT=aB-Ef}+>@M1jdX*vX*^ z)GgBNO$yW^dZj2j?D*v0dtL5A-k0JV@r8120t5+#g711~dLf&SXfa$;M7|JL#dh$} z;DA0Vv2TP5VGoIrl%G?*g5Th5@}QENbRIJr^f)m`u-z0sQEbi)wibecNg^sqL@>&L z1!mlOkqHmT;YwoRG$_rbifH;pL(yY{hD9RUe#4bR5`LxGnPbf^UOn4*;-$m9o6rQg z(1AdG47K~lfL?a3QWW<#(e~AWhs%NMW1gL+u22q4yHZKrYz|jn*)O%S3yN*k9}xloyWji|ucS6Dw$W%PgYcsS%jZqRN@NYh+Z69HTCf;ig@9U?*tKw&GZuyhV=Yjdi0;`|vB9 z0W2xOlOeUsRW%i6XdVR^NFH&2oKi?Q6@ehML&BqlAjAqn*Wpv=E3R&|6CPI_P5h}z z9K%cU*k@QKYhuV@)yHw>%3>Ki7!30P2y{2`?-8l`pB)N9+$0XqSz1h-Y29!Lf5Ccd+krM%Q3-kyHN z@xL(l7G7;OY}PMD0|XK%#i0}mO>t>)E0p3^!L^hIw^F>gySoH;cemp1?(XiAlRnRU z^UgbS0h=OVK=2;=^+h#_{pR{ON|K zqCjNzqYS#-wQKCHTM~rGP(_pRJX`5&2`WV(W&sZ>FC2Yzb!1rYgrBssb$MyP$rI*X zf`BR(Dn2mPhdFRdCvFWZL5Ji2eL_zqITOXt;0(uNjg~lKW_3 zhehRJYgP8`U4vgT`AqvsrjEaVMP3gI8_};>ATmU6%VeJmP0}^+F5lyCVe%pJd-g<5 z`_XqH4oKV|80y3^kNkRh;FFGWp!SR|=oKS)u!3!_Lvud|H!C2@rXBBwf)A5Y*9obP zNO$Rke5RG@11O9A(o5&EQuD!ep2S-lx{qJ^V;N*P*X2v-Zt%po&4+->ck=@Cg-xnU ztP%q(a#aQA-RrQYZejGVrCf$X^2J8o3VdQDBK%*+HNW%w$k1R+Rq5ub0AF;R*UiyR zVDQluZqilId|R}%=GO4o=&kF!V633|`J%S#Ac+5xQW|I3#SUGIbz$wMhJSMHF=#Dr z-3!{SCltpsCNO2Gvc~Tm#-F8^q`uD2xiHhAbhp4SlU&=SiJq#C8Ti}h`*N4DtKJ08 z=Qo7)w?XUO9k^o`+AaEPP66NEZ!U=yt$bL7IjF3C-qhw4Tyx3!7VQ-@ii%95lciCD zm92@tgzYiH{6?pKOh!7#P9dSo)FRgej~W>)a;8lfeydmnie4+ zKl3tl`ZJvA`!rrX-i<;V&N7mX-jh!BQfWO>XN|Upn&3E|jwkC9TDtJ}_n)OZ^sM`! zNo#6z6t&XP+r;Gy>fiNC8NOc%lP4v#w=#Wy;#SlWyZDW$Rka=?Z$5q zbhzMZHX+(mJ)UH+pR>(v_T{-;(91^*DlmXgBJ0~V#%IV^7?qZ3t(r-2z^mN38VJ@> z&eL-M^oLfmV5yeSNKj^KXNY`TrJJ98%jhE02y&Dt)1K0OTwrdHE<|w+uJd)f9bebr? zNpE=11<82fnzZ~B;g=*IeX$$Aro+)0oaLbqfV!ve zWw6X~!d`qZBGynE_c)By6(K5V{>^%;Ctr6@VaJ;4IKId{C$}~pdxu;aheZNF73@Fy z*~sl0**(-lqsC1$+`|`qxE?zm8M^jb2_Pg$R>llw!^Ar;A?nY?&!Vl2Q1OnaSy2A4 zqfZ1!xE0-^H*MV?cWi; zOA}m+^i7Iqz%W}zBQMouoHFm`+$Bw4@nT$`W8x>T<>p!(=YL#$TXlw4$V+#mP3nv> z=5_ofcs)u5UDQwSjnLZi_5#wKDMZvml2cS z9y@=)FV~}e*SVXvACs*0J7vax@*D)Lk38c$KU{hieC&6Jdu>g${8RgfamW?X$%bSx zh60@ihSplK{(P^gZvze%y@y6f<6-0%b$ZciY3J|=Q+wjGsi4f8Pz-h22oC4Q8={>X z!GRm7XtiyIJ?)%5OlY^R>;yt@AF*T(FyEtS*E?p7$tZMqUS1gn4Jy#V{4uahff6}g z>QEX|Rsaet6}scC_y3RS%v3}=Q}16+X9iy7Fxrd!-=s6gHu3GR1hFWjDso2B5$Q|> z_RX*@l*UmiNvbk$B3}i8eUmzaDrD=l`&0aleZv&l=&dUJ3;U+O_qK4M-tJF2b82n2 z*7dJ+ro~X*ucr)ur8Co9aQ;qb7W)2`&Mb#EhOr>hnRV7X{VAXFwFc@cJBG6m=}cKi z2BWE(AA5_9BsK?suy5w}3DtkFZypx{f3R=aZuEb!Z$Cq+QxVv=1&fotKk3Zk!G?MS z_AS@>IU=3uII%H?z`nsZZm<4e-^iMq;PCT>>LmpBZThnd5?v0=2AT8^_RYw1*_}X1 zMco7M5B3dMyY^4mx2&91L^^YOHQ;}xGid_J|D-eJPqx#8wI3ksq3;O|*TW>}a@YTd z)0xijogu!8TTw7)MTrPDCn|zVSA6uFe!oQMw%wmlz@XK?5Psa|Uo><|J9$!D5zR6SJ$hqHT(=BO-btO7yxJ)6x$yk_LZH$i^9e$B9e>^f!JZx5L zh`_Gj+jI}AJk{!BXaaI+L^nw{juc;4f@S-)PSdpd9>r2WbHW;=r> zl1DTlg}-7q1&U*~Q_}8yE0XK@$h((xb?{@l^y-n53*IkhwWfxl#lI~o&s^8r#8q5# zjNGVad!GLswd&yF*0la?zI{O$!t-;8}rC!Ol< zGaTPz_To27uc5RR z7KSV@X4l9VwEe(Hlpu}b4BEqz=*GFQvdCws@80ch_1>bHX~*%WEN&bBg3yc+Z(WXJu}y`sAKn zHy_<_NgSMgZ^JC{a$S>MC~mO(Cob$UB9njTrd2MPBVqad=7Dvs{P*xrKO6F&PoX;~ zTKRuWz5kYjN&*A>EIv&;Ti+Ho-D&RDKhG%qmc_;sKV)tbnb>omDS@qm?iM;uHC3}C z+DTiveA#Cj!cy4};>bQDAfUzWQ`oSq%1eGIkPu~1a|o}h$mC}-V#uAH;4G^w(qI3s zhn*=2$1RDj_R7rvEAgmT3dv30KGnalr=+A@(d)Z1qyqeWt+sV`e6n&v&U<+q}a@|UF3Ra2U*wjQ-Kb#wVw{iynWPH4ogp;6K`7B%ab>DDyp;#Py+lm$W|y4rpgy+ zQ-nY5E_VAB$G-ir9P~qmho*hHXA8$Nlmoa-qg>mgMR&AhB~y{^rdp^F%>IN0s3&E0 z0q>3USWl=9Tw{LzxesDf<{vYq!|rj|LD$5VgjV>S?2e}C=UUMx(Y^0;y~M_|4`$~` z1@#2a?bD8Nm@{7e+LmM{9YJUQku0XUeW+;ryULn{`HRVd&O*)D%)seh8B|VHeEP>$ zVOQR}Y{N%y+lFSk^Lv2i?!Bx$%^PM;;*cN{F$VR(elt#!l*W#mk9V`vgH=`40|#b~ zcXP|Q)iqtRhgJ!9^V@RObyEX}HuZN4$HCPNTe3$Eb9al^gVjw}14qtxcS}g1nidSX zV|TLqWq^E58`0pgH{bmVIHczHE4dSY_4`%gp_)#v!INOe`!y<1ZMV4GX?Vi@Is`6X z+p9cy8eMA2mydiCFjG){YRygm zqgixmVM1m8L7vokoP5FQ`^@>LKUM2kKBri~Gd@-u$z>>wPpLn5f+>CYRJcQs(e#aB z&6Iv3GwbPY_|>P`2Orh0%ZDMhNAhVN?U`z9!E;|y0Y^}=eB++|iJE!iYK)QUbXRgd zW@e*M$IR+NvGbL_tnD7GGnuf-Du_kjo52l_pgl-*M}{sW>%m7g{6I7%@)^nk$!hnhYCaG|KU4*YNh z5c6TxxMpy;qHeoBM{&dF<|Wv+{OKWy2f$mdb~8XWriyXiF&T*qe1eehDFK3Zoo)8I&7ozKo#GK=r7L(cM2Q=-NrvQrPw#skFZ z9yzJ?rkj%ghk;m*+NPJhDnM73*syq0_ijUa_KP8pzK%`0!O2_Q$0$vxxBxY$v@EfA z1BV_|#q*OL#Q_yqOu>tz>KoaluH)o)Lx7XLjTR24k$5b-Xtb^!;kSFZ*mrY6sAIJ! zA~?gnDfQEi-4;Umh1+D{nJU}&ua2E2aoJF`azkI0`^I$Zk$*6-C1SMna;TUNcog+1ymYU- zCiyVz+rMq|X2PeR7}^HVy7zKVp4RWq2rM#yrd@v<6ID**^sxTm2bBn(;if2|0y_cx zIdi}vc4>n!Vl7@C}gWEoMuYY!PhqPvDqAGDA!E?g$+(7m@|4rDp znP{_{Xp}T>E1no@)fgN57`wO_huRpYnHWSg)0HIFohKF%&9uUd@r{c`L^DI&(E@K` zgWsTq_PoYrjYC8;W8>oDXG8@mBEssyC2 zpt{RnmrrH$l$95`gb(ACv_HwZ{t!~tw>eGMZnsZ2{bd!Z z@Y_Q+NL&Zwv#k1j3PJH zJlpR1Ta^zNN~xmun}%u6OOshU*fXGxv^Qx&y&<6;_RSJ1Z!;BX{nN=_U|_#aipl#>ll_vZ)!t1JgsSs1}ujW`y@eh4Q=0S z-dir+uvdj6-l2xqh2oZlYH2ZK+5CF3`30Rh?GgGPbBa#7y>>D^4*mVMrG$0>hDY?e zU_#G3DNiRtx=ja5*-%|8K=G)7&q1#N&W?L~hLo{HFxH1}OH+C`&rH{E4Q{-?-n>mC zs8ZReDXqSWUv&sbR|@D>$)^kOSEy4h_lAZO8<5e3Ow0z`!#RBC?ew+`LM2JdYgJJL zuS0|Av=yfHGp;jS0ilMMCG2|v#PvzyWWhcVqamMALF2@iaqREP0_prpRt?G*u6ciP zM?}vCLc0BhQKVn`X|!Gjxls z(oiq|vR6$aonSrZQF>|cc24(-w01#72Rpa;ZJ#E4uR;IMQkgHI$UR0lGgUR$RS(-X zHMPJXY?EdDBB}1WzVbR}6v-lE-$$v?u5NE`Vo%jMtxrmIUjmGmFYdDH%>Y>PA4?Z);G@2H7?#YF2l*1R{5IN)tfdQo3<00cI%t= z=b8@hnvThuPx+e9)tfIJo39g^Z|j@y=b9hynvuv`koj9sHCoV}S^$YHSPd<}`4-&! z7BG1$K7T8LMk}FHD{*2gX+tadd@JRBD;0SgHGkVnjW#-`Hb`O{eM1}Ld>iw98!LG` zJAeBdjdo6_cJ9P>-iCJm`F6qkc46}0BK*JKYyAG;^jjkFw^YM#nfc#x_rDd$J3jJv zeAehta_Ue?>`-gy(3tPgy6?~-@BGT&`AwtqyHlq@Vy96FhVwXchm(zTg^L>}>3GNzew+CZ2>5FbOHe7GGOm|>lx33J}Y#L8kf76;PR;@60 zMGH2@dxD)7EVM8t+*a(^K&)69>?s(wQA7x~8;)T+czm^KZMla#n%Rb?do2{#CIWYO zn-dP}<5t40*62G5#oamXYb6(0L+UT%2hSk)53BSyJAq4(__?!~)?mFCNc{*VD5Cyt zc!s;7fNPq7>s7#6;i}iv5Pw}VcoIQeny4GaC@>U?UE6{^+lKwli@`>3=)$5G0Ub5- zz-ea%4h#>~9S@m(0-Y6L_m%V`zr*gc=xJ8~Aqz0o9v6-=f;U`yr}+CYaE7@#ffxM1 z(T|`3;h{b-;||p*y569X-cUi$;K4jm6yp0ggkl@DW3B0o5;X$bEjambu-k#yQ^&Zk zOh*fbfxl%C{I`*vVdjlcY}^M>MJV=K3(mo4PwVQ~sLTMx!bp8S&hqB{q7Nc;Bk4!@sWEg!&81O+ZCj?whnmIL+7-i9ppjd1n{6m9#lZP3~dOn%%k zPaCd98pyvvGqXSsVMXf@*d5Z@#cJIFkM_Ps%)1}YSuLYC^n?45u;Pw4@z}=N@@UE) zDccUgC<4HUUshF*o3LZFh(K_k1-gL3!K5=fzU4lp7N&PUWrrEn>>#*@d6pKs*MNit z1Ah)V#=w4pHQ|g-y|@>Lgenk7z{8K2=D}FWjF{m_*xA4K_&+hNX<|}7KZ{}ouN?!(QZCvRFoTvD z16aV}RNw*y%s48hl{W0iA#4~3%YSJ&gcWx$@H$`dRzcOU7^iGR_QJ0R;LC3d{u^yLuq@{bkBT}e5*zoxS3G^^-8Qr`YBcKEv z1y?wNTlBCAfr*d6+^Ub8=3JpEZm>`{M>r^sWiHC~Q6u`XOcp*NGGP@m7_vMCUq0c+ z1cy9MpwN~qzVoa@#r;ipywEBIe6H(wb+q)`0evrs;DhJGy``(o-tc3lfa~It4t-{O3eJ9MgC4giyA_lUdPrgUHxH?@ zZvSX8r&Lim-`0@dYV|=1oxDi zTQFhb9M8e#@K2%Vg=G6b^V%yw(sd6cHpeR+A^!{e=16g+58_lX6JF7)gdR{T6!|cF z+?glhQ5BW?5;7EA2MSdeo%W?o(|Polz((!Akt@-c9*cCjQ}KtD&y2RLK(t4sc~VUt1QfD zn#lgq2r~~13EoZZD07ivpr?lSYjIe%^dH~*ydM&#Iek9xLA_MWNl=fiSCYZrN6cwA zb?lRiaL@Y^7ktgYp3edr-#@0t8i#+{N&NP)0@8ObRexADcA>1}@ytf$Yrw=Vh=;Lv zJ*?ue50v}e74|8YuY47fV@0|0BLl>Qb(n&KEf54znzqVsgVEpY$F;xQ?|;7u5$GEg zVWZurfP4}##3U0p{W+lwvH=rO#Eu{o`QB=tz`MQc(OD}UZ3c|=W zc&!&IN@)KryjEl~4LYvT$7tln{cQe$F`T0{pP1$VPxF1*aHZw=!&Z`%vtv+>H*v&E zQBB;4{S+%bo`C`-d;eQgvH0V(A-Ua>GTTMNodO3e$5&ZH=VS(= zPVpqK#`TYbuD>>9kImJEN1YPqFu)HH3E4l`H#X4`5y^m2`!m%{2k!PX4mylHtGJs{ z|0r=>>Hd=`tAh9VO5}1rh0kj>itt6;$`rz7h_kJ&zo!&UQ|F$fItUY;@KCfn$o+`_ zaM(i8gn#&1{W2_^`ZRk>Jk|&J+=Tt66yL;%;c!Xy$G}_j#&l5)NJ!~==Jm;#vdgc_ zIUgw^E-hyqxvWbo<6@b?SZURsS}BZkmu+MM+`CUw0003Jz8L<@Q~xy`{V*%?;nyH? z|DgMe@(ga1H!k+E@NX7hUZDr|DSU1v&dU&K&4C^BH}Iw`&tLt8eWT4ECShGeC#wrm zdk_Ue23ZST=DogahM^9aTt;dDeB5bKv7d?)N51+f1GxZrxuTDy9(pMRy!`yap-zJG zz}m!H@1-8efJ&CG#40er4i%h0{VL`F!{w=`lo$C01ooco^+bZi$}S%HIFGjj;u`trZ{c67<6ZFB>wH&B~vYf&o;ygM6-?GIs0`-V_f&Qp|UwhMlANl(% z25NFp!?VA!MXQaxq%pOZMqu9{FkmV}626$kpja%FnEI1btyrEX3 zjN;mJS({uL1f|OIDf8Pv;#u^VZb_URAyjakf&G|(Rm!TL%2Vajhr zUeh`zrFV_L<86_VT80UGUe;vZ%qT2!K$nF{o%3O*yX-+G;aM&~m_msYx7QlRN+But zGw-7@?(ZClhn;s7RpVK#6_E;2xt{{m#tpL0p)U4@NqLw95#Xp?vR}TUZc@T=$X+>X z8irzjuy0Mn3f@?`l)reG!;3gFUJc|MetQ|&;Qgi;c>7tdD=t_*N;JWLV&^M7R|THH zNm%N?@tR}rq}l&HYl81ZuDor9N-}+P8SjD#2Yicrai0!GuW8bTgf%+#1cEYc1eOm|hPG`=t20YX6mg))%&S%wuNp$A2q{@HNnIwG> z^e?2JT9PA^$P@Pn(;*+xJ1VHHnIM9hWUZdP5M3X!1L2z<8H>X+=&PIWP@3+9-ox$E zIGh8;D?UxkRgTp2XUD>e0ljGwm6kA%BZmcP9Sh25#RoqVtu1$DoFA3zfUMeTPVAUQ07%8cT-7X*Cy()$bGNY97Te28o1qqBmIx{n`bkoWjfN&`ep! zg7cOVFNvC{qfNbANz{9rCQCvodPNiX2jEE`dYLKxJ>%%qli9f_*y9U4MjBQy`=jk>Iq}04e#Z$h5iI~)IR>~+R%TcIPAF1Z)V>{B9{ZTPmrA? zt!YJCFv>pR`<{YK{KAoWPa0sLL5Nc0rZK@9`+9zCf_l8KORSsgSH3z%f?5|)DUVZc zS4Pd{%M{AnlPFW!uSzI(g9<#`u%w55Vq2~fDNIH!(|xH^k&%X`mpj@Isq)%K*74N~ z&|j(=OUtL#@%^X_)=Yf*V@2xOx!*}SQW?Jzj@dU`Z!)>M%&oKW>9?-5Ph>Z?%Ibcd zo3n%n*k!UcDuRjl7q19y8k=YP%Ojq3iKoidF?)~R%J^~RdbRUX(at1SuQ!W zd#%6MpJaZyvW8wa{KD+V+vlOxK@oNFF}Sim?3%S8=q>jzCaan*&BOPKIYo3E`a@E* zY4Rkg0t;6sSxC-@9eG034bwp%Ax&nFJ*7Z|8{*vk!c}sa{prT z{Hm?U7|8wO`u0}lwPb1haeXge4aDpJ#pFp-t}y+>jeY&)`XZP-;y?Z#`}*Vh{tu0P zX>AYrzBv)WW_hXGjs+>vdAb^~ebbH&slDbHX0Nz!?-i;*%rvk>@t<~4N5KGVVWmL^ zdKQm~mhBNxMoDaj&mZGxIHT@UGo!<6eAioSgl9$vdE&UP2DA$h{Gc(djD^5Q_(*{nzC!FH$0LjY=cAzh+*c8#r;Z~Yi3klb` z^?CVWkUqbtA$%56*grXIQZ)2v_tl@FY&Em2j~6>WE#O1nK~1xpbVRN1tkhv$b==^?1Ix?#_IjkKGrVAv;H?zCT9cOTLou>{8#&DL&6wL z=fm%bOwUIoUKO5?%5WW=k12>VU5tNLHocfoffim&YSa{Owj4mC?scPasSyF0VKf*MA{%|$jerI@U^#de$ z*`A{1aGTrCu)Dj+z|wRZooy<3yPke{d$P}Q)O2uMzED4iQFqpH;C%MuGaMM(0%ubA z)svo#bm7xny8v>zbVyz!<`%#_Gqe{o0`AYbqt zM+l|!iNBni5ARyFj7NR_lMr{kK$_cLUs0Ykw&2NpO7bJ_GQmw#2gCLBV{(Hok;T%$ zHw47Qd%oROrYxaGEcGg?>7 zObO}lGhK`=dwvwEgPg|I3b|-&ngF)Vh1>Fy82(*BcGL|1ua@Xx_d{ugp z`1w0NNAvAQk!60uO1eE!j_^gEJI>8AxwDyl9xa=re8I}`TlpGc+_F#~nRRNin{ElY zvhbMxbvnMA9);kt$ZVMndi9%LmBF&;>i!L8$D2MK-168inN9YDn|=ei^7yI#P0soo z_<%)ldE%DL7Vq56pxt13@>Tzq;N8uTD{ci0qfh}!)TdoHax8VtaC?i2*W|Ew86FH+ z85sz5X?e4R2vk@1yG56W;`}t$<7%IH5$N^t?ZqKuV0Afuw66cNXV$G!BDI~Q9!!@B ztE*h9P&1oJ%?Hf_ifeLW+fmYP-w$tVLCfVxSJa4eb8n>cS0291ZeyJ+v zwS&xBh7DiWgB^pj_BqQ@FhslJOQ%wPG60MZB!}ca&Mr?DXiL6o>JN`vI%`_dF_%3s z&o5dU-+zk-)tGRIAY5pX%gn@-{ddIjm#Ik!3TX8l+7_ay>IO79pmDWd=}a#&wq~Nl1sfmw2k4)X6^gg&|fq)wI>-- zH>k(`(>`LVZssu6KIw3+uv&AU`BK@P$#FIjeR_u9+-CU!Tc-Zg#~HGrhE1-an?c9N zGZ?6GTU`EjG~w|)N4{}adFXbs{_&zDq;VfAe>Xe#cv&;lcxXFxw|Mt>)dFfd_L09| zC4*mg%Qv0I4BcOWl%GslO+FmngGAwmT$hD z8hX5}hd&&LG~aK@!*A!{kJm%Zk5@zR$2-L6C$TFsw=1fOE4rO4Al4OO`2we1aj#uJ zdgEwYpcANI&XtiJEu+6I#UQ#S2{}fiB6ja9!GN>kk^)FM*h#040WzLAP*!jS6-HB- z8`-p5swMgmD|ko2{na&zaGHC-usaI`d~}RXB&lvXUW7B>lEPq+f6;8$*D3C{v5k0T58>0?|NoC=e-j0UEFzIF^Uv+(>Liwg_& zsjxtYvEp9qcyE;W!4*JIVQfi=H@pPH>KNG2;=9J`SrO{<#?1rS4TqE)*An8NF%2{; zL0rty&FyfSxp7@!*eU?5BUT`(FU~s%rnL$;KCwG=7|4(BCFTnn0()91ysY!}auN2_ zR`3xLafd5-!jZg?TLZ~rY2Zj$Zma0br+{_~!YW_ST8Kx3PVfb5a4Hfu@)IocSWNRW z;0gdc#KJSm7sn+OGt`%x`5G6W2du^o)-LgYDuAp?fN?F@sW2M-Wprvo&k75#0&qCZ zj<5Mw_qPymc@9mEj(<|CZ*^=4)$4FGxQ?f*ub25X29zpXNY(#&4M33E%?#}0^TYS0 zV)%P*&j2KBm;%Tw6mwDn8*~HW>yG5Nic+=r>Vx?^D)<(J(#$WT3mJrHxd&L(M4?!E zhUmO3IQ9-%4&G9Uxc~;~>p z04$vwZxR*1=o*X*-{`ls(LuRx4K3~$B^Zei-&8OJrt{K_6?f3r6Kdh<4Twc$^9u-# zuf9eLBk|(3Lf7A>R>KVU*`bX)MpFVrM=hf#Py3We;=l0=;fH_=UD5$tU| zOo%sK@D}z4D^*Ml#x86Yu)Gb0!bykR zz1zI$_(BMNK?hqwT_|SUGVSIzNfavzmrjvKO)-Z>5mr1B{1|ZHPy(3C%nd8t0Tee- z6}P-AjvMwucEd_3E!IXV_2@1(=OzV8m7t8I#LX7mV`7_615tT_$TI~ab!kX`X&1Al zB~mcLfHYM2JJ>)dV!{e54k;9wE%0?-8M|@0ax5-OUKz4(1*dTt!jEFQ1I68>vGtW< z-sR`CB0d!OA+5CjMJcH-D4#eug{>&%1dXeu5_(dK66OJW4TFKPE{*}VH9(|VAWN@1 zqLUWqn!&^ijtli^K=Na$t46s6$YEoJg!;(w!R+rqwN&7W*tiXg>frop zy$;o=<^l}Ch{yJPH8#nV(!%Xi$J8Fm-u4<8nW;9+PIz!oI zej2)Ti={X0yGVc37uPT}gp7J}!2Bfn{vy z9Y!iuQ|xuun^GW@ft16wJ{hlDzAx9W;P-ichp<}7tJ^R%4gUe*UgQ@&=vW=}Mm;Q2 zonH58TJv>qivhoT+z?kB6#xD?hi3J}&YZ+7lZIZ@u)_HkoSG+n@L^yb57_RWgp-`~ z&Y>Mss$_x@e9sVxKoB3P_)GLx_s>@aNjEziw*c<@BN+$O`&(okqki&$cch+P2nXzh z(nJY2cPBPqwBRTeG-k;RZuF<+OXJf7dTncv!CcYaZ@1f;^wk;{QNbm^ZyQUm17Uge z;BbrPh`x3-hU#vUa*@Q0iF=?(qK_207drnq8rA^I?(h+JjTlp_fm7N*D5mm5S_LE~ zQoT+pDD9nlr*P0PElygV2KC-NS#62uJ|p-GWGv~V3He1)lup&fJ*X~W3?nZuPy>XO zmb>P#fSdhDG^KdKacikrjTZPvf(L?Zp4?cAS)ppQInaHpd}7eDnHl=jL-ctn={y3aI5Ish|?Xnkbf1_d!3Y;Xq5W+ zKr#Q@CWonzJ8ucoEa#S@@IiBV*>r`pDeb9TA*EnB<6JISZY2gMvjHndF>#rdcZK3{ z<+)Zm`C#^Bs%`PO_RlR|nvbc&^owj-%Zn6iq)kh&k~1CRr}cI-Kaj4A2CqYyvox{m&sdH zT1)0ydrZlzu62k2_>L>(BJ<(~$zXNs;+~)EzRzL7xFU_Wvf<6d*Psq_Gp#ID!9A13 zEx*N$PRhKd;MG~JU6-UiAmci;Xp=^6$3J-+BvoIKOflEAzLdOoMtNk$e7HVXq*t^x z(R*+myma_@c&wFyfxCbXZ)IuAUy<9saX!XnS+h7j#y={0p-lGV$v^PhsYno{_b7P( zGJcz_iOk1zp3l93{vr1_Lk8m1r`MY(S)MiUZ>PTOp%m}~CM|a`QK3tPUC>j&?oe{J zi|~_w6g+w>^OXx8qXpD9<(KQDAw#^su$~=E{TqI}2vP9R_fBe!*>AQK#~dY9_A6YG zvj4l_vDOtzLv()SdlV?HUrO=2s+)CADEtq8`_HM5Q}JP*Z!JZ;1r3AfvH^o_7lGgY z>(tkU;Bi0lsfWg>4Y|zUY7PD=cnlw5J!39ORLp4TWz(#GWpsY@7k>MBb?aIftvs%b zsyffj)$v+i%FsybySsBl!2^NcM!e#qLzZ1p=?FyK0Ca!w+ajJ~|AgO;oni+9JhgdA zy&0T!@B*dy~FzBPKKj~^GQU(<9ajysOkQ4@2D9GgYmcpmB{3{ z74WLyxDCj)f7}ihXFT~$plou|K@2iTu_3YDKj~^v6bB3DxtW|Q%_sinQ{Ruy=J~%* zedPiA_l*Bvo%(!V6vr6 zMYp>J)rYrxC0)#S`xR4WcLz0FMR$h{SBG~;Ef_5K$G?fp?@zj472lusa~<8E4U4lp zoR2G;KU_>hiytoMZI2$VmVH>mkj3*V+7VMw$flOF$H6g)J?fao{lshK9n9#p_ofVe~(e*Cc~L?#tWxx0<9?%0bp zFck=uXeXUL_U7(S#kK8jr%da^5(KXH!d)TnIezB&O30+)$8^8{@+;L(Aux>~TcU$r z?ZjWDKaH@uyMx)`BtQq4PTVEY$sT_aXdv_N1&?Q6(a5(Xx_D<#g884|QPN~23*4TB zxB@e%FeJN0NKZq3WiqIVdP*EvPs2j@Rq!;P_B=4Ahu_w|q}xgFk?qZnNcIFlME_sn zx3k_%T?PvxvgyLk^DORxTshm`vEwM8trt*_(0A&ug7twUu6}WVR(A%GAy7z#1yG{g%!= zXitOUtEVpT+iQD$fHuXcvZ&QWiDyTfZllrU0P7?p2hs>@)-VcJ;x`aeDw@u7T~!mf zQ!Buc8yQ(ugzbd1iKc9P$Fa{~Rs93Lda z1zeH*Ew`_p!?s%~OB6vg1lKJ`+fN{fUtkS)y}liW2DWpM}9;qxaK6Xe$7qV+^ zFc4vW!{4k={ElcIaww$o!pC+PxhP2h#Q?QOt6lJAZZw;SG<)gNO8+vW7C4_w#WDz^ zR0R8b?GyJO=j)I)8Y0(5OO4FakZjh8GHnHxcNu)EOUXIC9|((0FIk1SxVhj&l10CX zgd@xJ?OJifHrcd=u_sxsZ-xM>CU5U*d}M$b7}7hfdR z$<{nd)S=zf${q!=OEi>ty2iMk{e4ty8MLOJWP$Bi)VP(795|l%DJ$q&+`a5(tZ3A` z_UKNV<;rur@niU&)k%VfMC>O%wleQijh7$q^ARb11Z5=e472(dTSdFKKFZs;C;bXYnve zuKpH)OLq<7e9No=5Os`22$1*XAtdwDFK!hiWV0=w5cc=8*i>qamW|Gf9In?PkB`+u zG^fEm^chE(PxuvOWJ8T8=k^Hj?)7olaY6ANN68C3Lm+9B!jd*XC|rNhqw%WxGxb?Z zWVt^3yW3Hy2)?&qx3!W`L@N0A1yHqdAO7Udb6o31^{b4}4Caoz>w*ZNkig+DdB?C9 z@2}C{IYV@Xl2*A~AVogTXGz+Gli1%bi=n^HgIs>CNHpK|S2w{ga<%Ud)2;3%QX0?4 z|8LXT@S?_ z*JGqkh@5Y-U8cEQ&>=3^5U2BMXSlL6oXEA;N3s^`dN$<(j&%bXI8ku_!t!;!igCw= zxUk!~KW4i!#ClK}xa@biU~vCp<|g6jcG(k0ToXOB&mDJvXum@mtgFW6%Xq^3oP#D4@$)zgn(OBz=N571rTC=E`*>0H&q5ScN3sl zDn-HkVy;1%2H@~m@CyWE^@-ooHr}wxGk4;kqv?P*Zvs(u1F_r!;jAd7ogrL!Hq;-m z*K@%3HG$igpc6ar(X>BWsjtR|;8tJ%k#4YBl!F+-8$31?;+~LjPB0SBQ?Mi+H656` zDwJd-lsMIo_%)b*M)X%^$g>xI&kXVQAYku(JN&$D@XoY9#1GG}GJ;?v94qz9oXY#~ z5)6&W2n@V%?vtQ~YOshOm_-%uOB`6?Enb{XfP}TARS5vR63MA+z@-Wnw>K0DQ-Qt) zzkZ4bAn`-7jN;1>*Va|FRs~Na(s>^e)nbO8sEDX&l4&& zwH;3JBAQ$=oU}F4Qa4VdK>n0AL#A&T0ynY`?gcl&w z_A3t`{0{*DLjoavL!tkd1%RkOx#ZssZ_px7Ytq0${569}Vw6 zUjM%}yb=35e+0n4?e8GG{=fHk+I{~a0RC!tZ}i1-{Mq06Kll3oG`#Dp{_OAkKY0E5 z&3jWg%z1;2^;hmwF(Yub=m+f__pRo9ZFBOwmc0t}QTm~#riYcOp~$Q10;-!kBy<%O z0q&b0okF*m>mkf&JF6g(IZVik=Z{K@PtJE2;=?WkHruI2hp)Hgosb6*uXT_tUp2eh zP}{E#^qmkr}$dNm)mP0!sxI6x#5jT1%Y!fum8QjQ!C(#*x%vJ)c>E^ z-}&zp0Jra&?wvFAnvt}}-?yNOqk0OH68sSW(&u6#J#YS906+^)I?4YC04g8G({9B6 z&VTg!9o?S%lh^N3`C(|a>WOuY2Xu$ zpt#K+?cW;SiqR#Q|3br?Y1Hl?0zhV<$*Q|uD`<`C)ov;nuDyY@`ue4a=t~?ARBBqc z76~dBgH^GN*x&T*c>pvLZ((8`v2hE_0Q5L_5#iyE|0DqZYr}i)9QI!Xzz#7z`)Qb- z$di|^BzvUPPQzpSGw8Vf59Z!7s?K)H5+%5^ad(2dyUWI1gF8V31b26L0>Rzg-Q9x) z4;mym1lV_f->GBOr)pGJ*SOuk-{0@E)|_j~__&hSb+T|j|bR~kM{Xs0!pqM?%mlwAXd zM2h4krV%N`OaTjWFNJVAL)M6}*Q5SRCe{ThI4rP1D6*0;q=$Q!4J2WJe%SYzkdalm z@C|T!Q+XK_WI)SgcBCNK1mosTWca_21}{i7h{$&g|1cW*ykY+X8JL-bC&}MO!(U}! z|9_4KA=AR)D4dqDjLGK>1t;BN84!u4URwLDw*R0t$_)+RL$L_BVyeTgqeWu{`ZW=! z?U|Hm4jOm9L2;ALb`$ay1s532RT(lHEw3FV_;levsRLrB_33yBLk%eaX~k}E*#$P( z_!~L0`piu)3$Z-6mMyT}Z`s4!kpYYr$5YG0Nk45OTN`WE6aB#raf8D@xMU%BL->Wr zc14j@z~LW6HFte}#9@zW9xqSSdyz~};r}lD<3Ffo`-kw4_631U;Qwqj+t0u`(&7w1 zUC9!syE&-RJZ@d-vLegOT@j;{iqnd!mebS9x_{z^D&usfT2-h!#g}cxW|5Z^>a?-F z=^8ZYCc)g${hDl(Rypvz8E!rBf0i5i7o)*IlR_nxw$Z0y@;#Du12!$1#=!XK0HZS@ zNJaN%oIRQ7c1$7~9Phyos`{%8jN!}en7X5WyqM;P=_p)~HTvB*%*ij!!+q48_alm5 z*ycVPD^J~s;v%NdPnQ}w*|e-U{U>?=NV~A>~kBNOt_jQF?tkifPFJw zgydem67m>Ybz+?nL2wccLZ?dTi`vIm=ZiznqkBVx*pEquKoHXJxuVRq{Z)=$R9@3B zz(l09gpY z^^U;s{@lPjhBlPT9ue;;r>3EO!GeC?DjUZ(*gU(QU+hLZeHJxG@$N%A$Tx*}EKQ=2 zk3)HZ1jk#W9{mA$f(g)UJED*nI`z-KyGT|LFbp$S@TgkIgp)e3+kyQ~Nb-C8NSCC*h>YL823|4INLv5?m`JroAG@r1`uhZWu{$!t8SNwKlOIY!eE zQz=%Sta<#IGqd{D=Cx3B-N-s9-f5PEnQduysS?!e$MmJmB@~qi{%*=^^U}XCTV&gT zm0!(&lQ9@XG2QLc4+pw>b;-G9Gr!ra?f+_|$xr|Mn7)Pk$k6Nm3WBl5@`Bc+*a;No zB1`as=WfIF!Ui7ggz#|zazd~yd6V7itdH~M?_PoxBS_P%_abTkmz1Ud z?ZEW1k@Sk4xf>86eF>H-ax{scGn}=f*G2H28oZg6 z`c?%qr+%i-wXC~M)HI{yMtt`-y=}{=VupS80?!#W01qU3t&GlQ6{I2n90mQf6D#YX zzuAU~6uQB(&wHMk6DeG1nQ}-#X%;5q;>LC9i) zdY-yulz1gE(pPST&1w#qKIb$W6tn!>J3h6Khfajh^~ll3yGm8pGZ|l2D~0yPD*jq_ zgog4W;ls2aAX1nA4yI#Nh;0XEa-=`d;?WEr!6VO-2(urdBM@prHBO{VMtn5E*oW~$ z7`o*S2~5Wv8v&lo#|2PH^O zJGGOUFe?gqEM{UsCn@BR-(-x$=y6z-5F7kgAKL2n7>iA0!pAR1O(Thu6AQy}c9V;x z|EGG}e?h|kkM7{9($RHCqBtfT1`zqNoEs8iF%YZSCcA3v9D5EUX;M(tjAVabq7VwevH|Xx@lGyXtvF03;BoMr#E%oUfbO)n_6ZdeN`eYUz z7f4~g1;&L+w^iZSWmg+W3uja5y4!zyzq ztA}^PBF-<#@^L0_l;*7-zno3@Acx_ZI<88}V0eZ`1k$X<&S*3?GGi(UayIb7jmx?$8w-<5VfN`NITEwsD5`d3US}UJ_k)dNcw?@ zRd<3!Bt3Rfh~pl`qgZlP_TzA&JrAJ3^@bv8>baf=*#cWndtWI@ymkwb44=14Z*si0 zDmT7AZ`KYH3v4tN8vI^s&Cc;&>rDRsd$rfBJ6se->+Svr4Dq@Gf4^h35C2JB^oyt# zJgo}zBIYgYFPQuUaD^~x%FF|7l!)-t3aAk2cGQY=Ctxyt@$Cn;*{`mb<5E)4%Y`?Q z5Gb7x>m>tDbOKwMY#QnVWN(XTEmxf_+JPQ)E4Ns+Cadj_1j9Gjr2e1yVxqghW#Aga z+27@xlF@ALh{P0$V>2U!g7A#^vsk-vQHONrCARajoWk%*%NL7IJxPk zV`YQ)r=cSNd=m-*T*NDpyz31q$_lUt;+bum|K^A?k2fg<-;FoHe%3G^SrU|#}b zag3n|JwoE&Z3m*Db}_vpA`?RcibAUN!AS)XF7d{&3SwOCkwQ6rfCL&tYh0fb$HN!n zR9J*)zs-{pc!a+ven3T4QG+6VmhnlWOTg>Ga3#_S6G=;i2pl@{g|zACkUD}z&9D*; zei>zvt?M3U8ieQIofQ!tQo6P_j;|?%fz$bvE8+)C^gezkXwV7@cOS7zcq5~N(h2Oc zuoi<_Et};ra|-i4JSXm&3!)gugp&FgfU{-`OOFQ#j!MddAti&5Zv2KS>jOqD#xM+< zSMcFk7fBfhRMg49e?GGQr|)}KGnU$21&`UBvX$y0_Z$|q4l&`aGc~W(dr4ebA8nm~ z;8+q1V91k{F*vChevB;-sEol!jAcXOyah&KphA-l=FypcD61c)s6|EkWQX)#zMZ1% zk~BC}*Yt)bf5gGfOFX;MT1I|-A?v=WOtJc-_T>6X$9;2MY_*-0{Kh(H{l2Aby4t~g za%1cHzP0at>^g+Ja0aZlWr8a{u}jt{Ik$GWn^28wsr>g-y@!s~=^D4z$?q3l51l(G zwH~ALTi00+UB`;GUf(9S?mHg3uVQO`j^wwW*B^Qwr@>KXliP3454{kmbpdb+JCKBr zeegd^qv?l-PJI3`#^lWX-=T+`M4ila;_BuR&3{Axgi&Y-52{D2c)li4G zet$Fqm%$FXy}_b02~(|Ss@-LE3YNzktW2s`m}`mXaa&IM;rXF?q&?=jlc%29&_7 z63IUEsDftvi&iC?B@3^}i`S3KG*X(Gj>LlCWgkLcPA=2XjN@goFZFS0zc|f&k17iX zv~v@mVbSu0VgC_vs3hC9L~<>4e27m!`SZOev4l1v7R^^boQV$-fv8l6_+i{piPqXP zC&xwDVsaQ1oBI2-dY`IU7sL%1HQCg;YztP8=S0K!xR%Gy@-JtC~J$ znAYfBOq?b4ywRK04fp}=>hVdU?LsG*2~8SjxZ&-a5R~NY16K?Qja%05N9|jme36)= zD7%Bt+IFc!nR8+@y)Qa8g5Vr$uV;|#y6;h=9eYMDCLJ5z-X`t(AVuVz`WHxIoSG3? zV(bS|N9DDKFrwtyKI0f68;lUJjD8v&@kMTM1;i759iu)9bDn6eo^rNh?(H%hXHUm< znJ)ewbK}i;mgLcXOxU`dNbXRcAqN+sbuuTM@b0Q$d+nXITrhoJQqiq4-%` zi|ptwMLGWb!v|+9=xDL(EaLB-4y51kSU?&lXu^j>#D)e*C7?`d;gZv81EUix$s$o? z4LaTh)HTsL6c9u`?><5*+Z-b_HuLlW9?wvpsEKnAv6vCEhLSkl7~S&-rb+$t2B6s` zHp919$yu^~#o_mw#pM?MN{=^;&y@~}a+l@^DaiP8f@Rw0MoAt;$gVC-xZAEkQ4CP_ zZBRdf8)VXNf30~ska{}_y(tZv9@5(it(u*sk^B%NsOSO6iO#lr^G08cj8ANfB zcP;U3(CFI)h}NQ`KP`Qb?Z`|?Jm?YDStv5g@?fIF1kUX1*vEhGD2me#WF^#vF!PZk z>J|)OR}_UZFHPT=K4Rl7)KPJFnaDVo4aQ#8h2uYw13c)bU*CS;kUoz@r2Tdr6?5{_- zS5#x&1UeEfcK;=Lzk68lL z=0dW}^B;(S2t*wc^-`SpPeonF|^Q`E1%^s9uX1NsXntf;1}LI1~8|!#UEi`^w4BH2LgzW%9oCVs?~c1#+J? zpz}AxtGqNhEtNDOW#P0t5w(Is#L3nvBM!v-X&X#aS*>6sXf{92`cIkCpIgiDXI-JW zy-+#|=T&OMskJrisn-Q#!yjtER18qKRbb(VDb{vm>wo#&p!Oq*8M#0kNJUL#`kg4qkq0AOJ8|o*PX&pSx7wXNE8Wq>v9jnE3?#b)8)mu3EgT+){$&>4H zY(r8|??k;(Dgh!h-|Eh~S$ywoRo`HjdktLR;b7T!?g#8UvFQx#vG;T!T3g7n1uBCH zlTja^TiLui>WDBqMp@lfqe-_+BkFng=+ktfX#7m0GTZj3T2>=iNK9h_dG|?Hbi#Rh zOyX?X_VMmlLq!Zt5>$B)FmQB3WZsOEc-qX7xOIb+9gI^@crD&(>H2HekV?MZ@9ap2 z5Psxm6+%xcgT|rKGEia>(?Q>XQ4RrlJ7@v*U_#@O2{On@fyQC`KNECfFK3V=RjYnZ zuJ;%ZlGUp%K0R(G=%h-tj9LJL=LNTW@ZQaPzg3IPKv)Uw7h(kX0ShQSzH=&lTPhwY zFHwy()^c|rgqUW3aiiQ-ktymobR#YQ@EvePNAFb04R5sT6Z^E*L3ZxsivE^YW|qxI z-syK&@#R&kMk>1tQFcJYk30dy)j0?Kt65b4;ioNbI=Sy8aq|X|U3pb!Z@bp#uJ0%g z+GZPDMsSdw7$OW)8eS5}unH7u;#t(?86D+rL>$9Lq646Y{z{Wqrsz4GKF#dD>|fvZA!`c!4mYq6<@vxao~OcKg_Zs>xe z;d1IHuY~vX5;I3j@6^Gy8Y%?_k*t7I+Hg3;vdlDKcv7pObuiY?t* zBdwo_T)$114Ru;UnirnUzxD5OwR+t(uhhAGG_Z{{M$t5{`I=u8xk%M#{jqy8&ugE3-DwBOY!!a341}hW18e16|*BC2DnJSMpnZP3}A5c|@ zmQ0M6?YhMBcEnmGGz7%uSX=KZv+AH&7V>i>L>4|&6BsIQ9inO-stfNbbsVZ35vpDm zstpV?7&A1A2m^Ppn8AmApbfhk3Hx*$W&sShTGbakLa#pZ7dcjuI41Q!W}<^v41}i$ zUR4OqVD=p|2`^KK9ZJvzcpNm#9}(3 zdE{seO;=*5;Xhv##Kd#P4)Vs%!3V59imx2Utd*&(;>GRp#vSOy9eTtaXT+Vh#r<53 zyLgPd!i&G=jlb22|J8(8}z@Zwfh^N+PQ$3gK=y^YoQ09bFsJlgE`r{3mhsV4wxWBAW( z4euWmhEuEbyCVsd@_rQ_;A{5jYJg&MO-hc2&{ z^XWRrvn_*G?#t~67bsGt&C1KYu^U9?nJ&Kh{h7i-1Lp3IyR^Al+g>?eFc*a98w4WV zPGtZ$Dv(Dh&-$G_-(T&^OVRfVDZ6bSDZvK@fH{kRc` zDs4Rrky@x!!_J#?i?x-)A;>28Nlnb}^3;Z|P*95k%*`d(#^^RZB(${fO& zPmjZVg!S|ble9i26r}m#S(SWY53wmNRYj~Q`Wi={RaU~RSE2G&bh=eilLhLaS9x0^ zICH7n$~xht6kh%))(l%|t5Sx#VZrB$V9TgH%p6_9Z1Z}`nA5I=M9Z?mu4mukIdT;b zwK=h3*JilFF-Lij#qH3cx2GQ8e%Ro>*K(bPKOuth0#)6KymCg-{f3zNPV!;})21(} zI@&4PpEd++Y4)kVvOrYUH}Az^(fTyPd6>;IiUo!29KFL1eJ)BGkGwWQPeaSrLneAF zJ{eQ5;1aaS8Zs*~J%@Wa9lD0>8hP0#;5tV^>ier-?&!ViBEbwImyWWsLH?3fdb;Zh zr|I;arlx;R-ZxVjY_~P&q}Ud9t6F=iMThKVx6Qk9MR!$~ZIrLyy^uhu?%OB7P&p#O3WIeY$(MD_9bLkq&MegLAlB2 zjx;MyNdB8+Ji*@D{VW9Gx`2JV_g8S14EZ^T_nP{Nm%UO{xFZXCEes9bTv;NZH z!1Re18qwp|nt<_sQV?WB9|3w@AchGUbnty2g0N%|4s;CUO?W@@wMFp#SsvUSTtwpm6Z!ms5l(9mP{z zgk;65Q-p$D!KYmKAzC>$207%f*tPK7^!HBD`a?;$pWsJW#otG7F%;sjagX3ve2P^N z+rQs}mnj}Y_jau^%T6ejc_yxl5Aw_ub#qG)&|--XfQ}+B4j+>&DMEqF3>DuRmXTRF ziciBr24JZ*DU3))ri(=6#zH10}B~Q%?jRdYgd!VSQs)zPgUbgZhxjNRat7Y z_sd(??~pdVjB+vID}2&}&Y}YV`K@&uaNrwrE>eKZhy$Rhz!YaPy|$6rRs0#BTo}@^ z=kWQyNZH_vV&ha-Dq-UFL@8m%0xWC|LX(L37)Yl=rk`apVvuTBQLaVU^|UuiQEF$Y zt|5%}Hj)}yU~$!L5X)VjqT@P14ppN7=EsRj)D@Zz)dBuvzyT*Ay+#$*E&&wz0eisJ zr2k_dT=izTj1k{h5HPg@++4z)IKEV(XOU-AeX4{1QJ_&e6bCjDirn+viocFnzPWwn zha7Q*&=-?rsKgOv%<|>L8ghJ9u8N+jQ>Y z0gOK_=bz%ac2cVgb0%jLkk*Bx+!`MfBx#hg$G?FbR!S2U&-I(ew z=Lz}myi&SzT^yx%JNcf}QhG8PYbAbt;Cm%V=}o$E6n^)@`>r#&FNULz7ySz_jCOK= zm`fcyxgamXc5*9D6Dup5pcsl(>LB3uie79}6n#5s2%htky{f(_c4P7|q-(vT$%_a+ zX4(kSQk6q+Lkx)sxWW~7;=-dvZ>0bK2;3TH_k~wAsxhPRu3HlpRh~b|B&rFH+`|GIvAHj~FZZ%Qboz z>YrI4pCr+6x497J$b5t7V@YrGd9S8V#N-AtvV(~WPEEH2Y~9j|*@=smx2||%#L}uR ziA(yNci5`FQkwFK%WAHlF-^Wp>QW}I0GsXrpHPOS1+pl+Y6@!os}qg=KdlapMAVN* z{51byzUE-p(ntqsA1CL%j#2Igtc|sghzV|3C3DW`G)N9Xl|)s+28ySXJ8*r=+$82J z6{WA6^{?vu?zqCy72TcSdb_ywh;!Td5R2~88$9-A$l8kVChPb1o0MBrEFC|NI7D!B z3$v70?t)-GFoRI{oz-n0S1xUckKh3X=o`;CLxCLZYbOzH{O!Q5y*!9Y|2tdl?bLX+ z;sGBS77rY6noQ4i^h-XmSoqVNrlD(Oj5FEji;T$S`B6z}i1s1A4Bu3@Yo%lRtic1n zVw3$s4o}WcRxa=P`5N`++Artbp9RKub4}W9zg!Tv2-Np0B`_RyEqW>6E>cqGd7})C z`{42}4sQWusiA-QqkY~12|fk^G;_x=%vbSi(Q8HzPU-@N2XQ|w$GE&v91sEd#l>~Y zk%o{CSw}@qg)SByC9CjCs}uqtZmYGw-_Hp|T!4PXD3(ASCZ-F{2i5{6D%gpoX@k3k zzB(QT7a_pl3-T?JBan^dPer%Bfkf*9e>0SARiwWDx*i6ht+j66T{pFIn=8Lc)P8-v zQS}|b)B~mLZ&P{TnkK_JzNL9w;P`<`0WcXpncM+aI05eu0}fyV>8Jz0O9wJp2Cjw$ zvXulbjs$WY2F}0+@wxdU=m4n3#3(ZC=6VQM=Pl|Ntre)*)l14Yb!R|V2(C)RiG6-Zz$}1h|O(?%2+^vRgliA znPHiac0}mIaHtzM1XTaK600zjdN|lXrc>=O2VP@qJaheFz?O5sXFT%`ZgFRiFyqzm zUYUsA&*5R#A;GkM6rb4LKy49*G$_#IC@Hj&aO9stGa``tKj&ScSzV!>jD%-B0)Ab~ zYaaU-X3+AM1SRl>V!`tIXV_LA2UYV1*RJv~VsbcmM0;UIt8hkh^E%(9D}hF%-S?w4 zp=0>1Es>3(kOG-o%3_4!Edn1Qpysuq>fw+R&^Le%BS4<9N2vwc5S1`r=uhlI;i21j zJShc=Cy!{QDF9Mq-?L-xU7+-SS%fPv;;xPR;aK{qETq{Z=rw{HG^YCQBm^om07jP^ z4qpwSJrqed2AxkPV$2eSjvLKJ4Lec>*V7XJiHi_Ho!ApdN@qzv&P7?S{(c-tb7Dc4 z$;Ghtfyq;qrQCuIWW&XgX~Na6#-nS&$HygrAa=Qs%ypM+X#ss221sd&x8O-+_!bNE zizCm8MR6^xyiKbMnoTLwP36fAx*vsr)f?&^G>n-?b9!pWqWVo(YSyX))Pi1AX`1h7 z3bZPkUP5F!p7U31`D~f=#0TchIwdV&diZGCK3O{dL#m5AAh$H5%sK;A6%7URa{+DU zJg4m4oR>{x=7(|>q|ceTkpQ$CX4w6-!g3L5e0|`!xflYM1iopdu70(rdF>i!y{>6v zrhfBDc;}jace`26>Zki}sVk*&Mdc0&PoX1x!MULya`>{O5}-k3C}@ia?!{Vayjl4X zY0&5q8z-4=AY;HjA7Do}qZ}a~<`XPYy449Cz)e)%fei2^GArbf<23;A<0SW^=ckh* zq$Zy5OB+B&amo>2IuyUwtPS(Du6vAZd@sI1fBA>ja?bWlQ*=E8%q%@@FHYQbQ~WFg zLVi7Beoj&XGxBu<$`0N4h@3QfW^@FG49_3f^b9%p^|`VPdA#)b)(r(Z^o0nFM4t7< z^o%6<4WzP+WV{Sy*Nx;m3=|2Bm7fh%^^Dc|4K=fjwY>~=*Ns1P7#a|m7(E-B=$V-D z8(APmTX`ATL`B8!J3bqI@``ccH~x$m=k8_fIT7dGVeI=c-v8M+@H9S{-z4;7 zLb#X75C}gLfuADsG$FdfB$nO1ueSYs{@{5+-Vj zOKS2%YsBelYou!HY--yOYs*V&Q^RW8PHHn@>u~7na-{1>KGx-j)lpZ}6_3<0pVpPb z)@RYzS4-EAf2^+$tN&h6-#k)Jzh6xa-9Sm%z#!Q`X4b$R(m+($ATZQ`zuzDY-H1ck zC=Zfs#58Nv3u#0uY_u6_gx_y;fo^(7+2kSF^k&)=9@2DI&=fP&biLPv3)B3QqM1Re z`NXuDE42Bbpt*mzd3UdQ7^Y>DqGepFWzDo@I<#e_pk;ozWpS@%8K!lHqIFHGb<(u; z`}=Chvg)Cz){%nNU6{5(inbq8Z5^g_v36mvlXjb#<3?7>-txgEPw!x(BGc>!Z5jO}pyGy5m55 z-EHta6{g+rk=>&u-HI~Z?`?Ykkv&r-JyN4RbZ0$82)*;vy$mwFOt!sLk-aM=y;P&U zY-hcU2z?vWeFQRnT(*6jk$uYJtyl>ChIIXpqkVj5eS)(610VZ;hW86q_7h9@L{Ri} z0|&xQ2Sy_XLJ9_U#s&iS27ba122c#%0|$Lg2j3zFy$S|l#|J(422l})+$e?!WQSZ# zhbSV4oC}8N$A=vEhS(8??I?!%WruA|hs7g@tqX?h#)mEThT9NE%qd22an~w8EPly#v2u)51 z?@fSf3Z`uH9hK^#!M1F?abjBijMzU~<7I7NedI~yxO7?7q z6>%1ycJ{aQtfKAgm#A6dve~PVS=F=INyIsF+PST<8H$1#o5?xyy}31vifXEg3x3iC zq8NO8Z)k&N*w<=!gCIg*FXEhLQlSR&Y491Q8cQ$Bmt@;?H{j zy_scNP>v6fm*B-qob&N%5sG}tjC~Q34zo@)Bewyo9U>M~2T!sb*)<2PFQ(+riu|~P z=`^M_L<_i2iF$jdU0SSDK<5L3fR^r#?&8#%t^0!XTfnS)-R!|7zvz_pVp`np!E;YvcHFS&b~^r}NbC#D;s z=e^JKOrwHHwE_(C0q*()-g%iJ3fUJwG2_B*M0IzUw3`ll%{O>$$aijBtZ#G>Z+u@N z?eT5y^IF97-Tbhz$bG!|nGtiyU~^%5(<JucHnb& z5PNozw{}q9b^s*17{a?)hPya^yLikyyrH{9Te~E0yJRGL6vBH{hICpZp87i={9*;(uDga@A_7rz`%X zs2H44qCZoBDXPUJ;z~E_jTWctK#L}=jnSKjKq z5gby9Tm{dHg9#LtKPW1@qxdY5Xp(7mPMbkLoUaqrnt{>fCOIRV#8c5;mib1El zePfpl+=Jo^xO`$XngRF1i?9D+rcgVqC$r=BEV^3RF|PZ!-FZsCH;B|xThRRGV6jqa zHlzFb!T3968d`6U=5xrejqO>DUSrS;3=k{82c32&P!PW?JqVsV0@Hn-?RY1INtQP~ z6w7iI3*5(Ewi{0337;N8mKK2?dG^VAFY2|tj3|n6qzw>bJx{wItJ<#fC6@Po%uGk* zp4KeE2%YXAO4=>;Ad!sOGc{Sk65c{nUHZg0HSNUuM;eWZ?lP}_7(#Noq^?*3vuVlN zx-)8%O^IlG8C|KoIqKaZtIHvNN?L}Hu}U^bCoo>@4qW%18v!P(6i~=qkF%jneklvx zU1c5@Q|a>SLXl!Y9~Oq-&?lB;7Ek!Pe60r8>W3r9fo&u z1LW=?5&$Yz{-W{_H8oE3#O}94%C9%hikAB=2J@ch`!kkgh~FAleY*$>>q70jQLH6! zXG2#4s3KpihurDxekBkjhy5A}_4P>}BLjV7b9ry%(_l?i+NC{-)=@<>Wji5AGi_F5 zcN4Lld5Ig7eSB%!UTT*6ebrd%?Rjgau@U;K2 zOr6N&mL?wTd+%ZS0h|H*y;*T_!^wz-2k8FIS7VEO0aWcC?$?U@xGjJx{B<|vVZ>b~ znkJWQ?@8>U?Nd^=AYW1{X!-F6xBV9G(R;7l#N)i*Upxa#)BRjeks4~emTJ;*f1f2M z`X!z>x$|}Ew;lDEtoInTd+T?@#Xnq8QaE<~IKb`|+@FAZ^$D06#Cg5-)Fhq1TQwSc z)m?WdU3-v=b~JkIOmgfoJGJV5^FE$kefupsbE)}qJBjA=HoZ|>1bXqtfJkHy4%ATi z@XmY#B3``Ggo!m!MeJ(@bP%;q*+&hukUX^kp4wn!IW}LJN@Vh6>XjGIcf8LG=d|!JBC8I*U3n1_1{mA>Wx0^d=8~Rd6E1 zv;!kXE}4m9I32MiV=^>$AO;S*jPHvgak?`Qp4*u$9@&@*Jp;&pQJYkic|dhjIxc0p z;Og(XOg)U-s|#O*?BOGgNqsl2;N?ssix)xsW+DdF;>;EN#e%8RLwmq!dS)qi5^3>fKXioL5qG|i;5wF zIs@JmN{A_KGv>%4?Vd_<5kP@@k-#;?VZUZ0T#=Z@0v97dJR5_BX;>D=!Zx17tga3or2 z*%y|3oX4PMEg{1*k0`}i)GDKgubj28@Gevow)6M{Y&{XN&s8#u!NHFyXEMbM$TA5r z1+wI4-61x(D3Hlup!IW1EwyxE4^axj&^~U+ zdXWAXTlkQyIg&9zX|>f!6V$lYiwt4dw0)LzDe(wn5Zd8gg!9?+CN$eeyEbV+M{X0P-OfQqo8Xnj-i zA4f@xNLu}^Gsy(LJuYE4G?yH4%{y{EZJzWzkRB5M@D2CcQGaw#Me8}G5)o`(L%ki^ z{yrat*7lvS_F)vR91fG*n6Of16lnGeV_@SDS_M%H^dY ziD+KrDkF(FU75dB1l^-F$e(>B`F&eOgC0%#wjT5KW#3%1y7n^r0VMZYTniGDQ}L_g zFa$yWqJD*=9)Ivwvhw#Zmw)<3sAmlDqEe8&^`AsXggc-=AMqUSS7@c6@39h0h6ch| z2XyjSG`ZWn=e41Mx1o!0@5T)}EL6L7^Mm~y$owcM<|@++&4`o{2ns+U|=qX>1d0#q%C$3mw6W zp4`<2mI|%1#-jdmn_4Aa(utWscS#5G1@^~Mt-60cqT4w(4L^vcSdB5@@fv-MjxCEF zdW`B`jq6X2>C%oqY>Q#1jh=aoc*TqF;Ee~-CUoJE-yRFxL$D|O4J@rWN}VtUrZ?AO^nblwUsrtr%Q7j5Bh{}>|&Gl znJ?17Cf#>Dow_}lu{{Mym%;BD3t^KXSDvBplwzupqT-nx9ho60o1tWrnTU`Xzm}3Y zo|%1;5k-|58=3i4HY>k8v-Bjh93iVIFpi`x{rh8jJ$^Mzd$e@3OdxwJg;q ze$Vl=x|7JJ_UyNatRA|oHk&Vznc2zXUs64@)9G?@#R9UB@NPbjP?Ws ziuF9%-C&vulDSo!nxK4)Vhg6Iugd5Jtm~?j6By(b8hjlX0$v(IQ5Yg}8e(1;JaTGM zA2DPQ)nxfG}} zi6956Z?bBiJ8ECn!Kq=j5QKG*8`b;4WCL=%173BX3+oWQxluZ+5TD5LhP=_TDfi3L zacwE^IP1@v>j}N7NC+D!1RAJ5G*Ejt&}KK#cQ!C?G%){eU?ps17ii?nZg9p@Yvj#t zxN(K6E$9G%$7oeEMX04jXmHCISr9!iSGq}OW>rbHA$sgO1YPSjo ziWQ-JS_~Skwtw`5JeX{x>z|!|pXB*zkZt)J3>5KBj0ysg7!0R8Y_+-~3BlPRnR~kp zP7GjQi|)>k)*OlGk{4Zzt@$$bMW&qVrqgeA{SDGjoGxIAZtMiZ@w3_GW?wMj>-WUA ztNpPxX=WQiaCl%(x=bqySj!MQ&1KmO_O-~KkhFq<;-$fh6c{K<$QUJpf#Se-ovG~fyv1BNBsjR#^R49fPo?}UND>(7$|<09U~0DvIG)@t$qRn#VFl~ zgmAL7)%1w?%(6XmS}*CnDAtp~+gJj^r185A_}c(fP_prSM{nw_7-J6Vr^ zjslj6eq7`SP^~N@^W!?PcOGiWF=?VO$P6HBgqK-SvAOGRo7sen6=l^1yMdX|4#DuV zp0{56NCcm=>9|&$oT1uTLmc{C?9rHGu3=f}%wC;pU_ga`bq{k;G`>q+>HT)gdJhR30bJ41TCp-mS8Ch{%9T&x6-o?RsP z!?BvQof0LB7SIU@tJAn*sqR9fpOBB{&rzl|7642_l@=6SLKG{ep|NDsG=ANA^E@Is z1<_sPRPLM350lN4mho+QtJ`d#b8a!%&i4k!=4YYYM(#8h4~wct-Hi)=wx3(;m&H*Z zwv`qS3g(sO%iNaIWSTwpQ{w&Fw;XJ%S9ZN+g}4sO)rH-Ul(OGicU%j*+SXmYnLDjI z*@ZjTnn28+=UqtKUr%{({WSN$rJp`OdpMZeez;JwsQ${j5qj0}-hLCf8~K*wdsz1{ z^-^_4c<*_eh-T!q?WOF`7f|H*=61i$BiZq4w`lk@U@3CTcPV*JNNAFW+w*;m+1E3g z47#6^|2}8-)3xo!qp5b+TV!oOrU2O zGN|@iF^mO+u%Gh;NbS;$BtK#eB?}aN8oNW8)EHyCihduOa^Z%Ja;7dNLh~e#wH?%X zmq`@Ut9$mJzGorF+MqZ}8k<iOUO9X7rzLe@CI|~BiX+TCpN6HJRt3tdArq$B3f3LB`f`mrJQm7YqI_)7m-#9c z`kYu;^k~wXJB1&^fShTTM(K1{Daw-1W|4}1c*z5k>5a;o1z%1rDhTWI3DJotw%#yA zM_nYzdorcZ;4z(B9EQY2E#Q8lnsx1%a^OwBGe_5lI&qWxjgkZ^=Xl~9-d!0_y@_b7 z4wjJcr&2j&YKPS$F{rjQ$aXMV1{bYOUzauJHltfhAQjFh-Pc76RW~VA>H+Fo znhCs^?C7XA)%8R^zV{z#|o@VBg}bR_X;WZ_+0qSMu`m;-*!FHtoT>FI0X# z8^^c0IZJeluqFG^2L~YWVT3>b_AZYM6Uy)^-e30p;AnrnsB0GmNw}47en3i$iAi0! zC(@|!#V2QN$Z{{NN|;TuvG8yS^p~g+ZY{Sl!ImzInoVW}2}P%($E2vX?{Lubu;{aaT6mP~DQ-_ucaf z&TNFgmqah0GW;D{GT?|d$x7Re$k}ZQj`a6y) z&AnE;#&xcr+JU?_I2zolf`yJYnxh*)X7e!tL^d1-B&xhobRxnQJm?=E*ZNAmvC z73j{}MalfR8}4}(7^^=ta zFw3Z+!G{@xi8Y-({}r(SZi+zuAP#9!z(N4p7bOM>*T)s8r|Hsxj23Hcc z>v|@bI9V&UZQHhO8BQcv2EKnSL|exOzc@F-#%4m?_G8JZ~yD+>gxBo@8`PO zh$z-L#FD6Sxd9Jz0Z<}V(joylBtf#0rquO;5c7eyw}J8^LG+r~-&DUz2tz@bKs&?- z4etl!J=$UK1tpRMC}PvU-mskgLOG6yg1TY;Rv7HUi9scey)zm-dK0pV#-{R!f^iH9 z;rt8Y1{P`$+HQ?mj>sE}SQrjQ6T_ss3rbDVEe(&%uuvgM zpsK>Auptet*CxEsipu^O)%L8@fh|4v@SlqAz?gpAQWPhe2TY<5FN?R6Y5443v@+X| z@8aRJA~DdW(Vg15Yw0X=&y-W?F)g2U;%3qnYW(=NpC$D%yWzN}xWeJQ@MPaNYQNf=8ETTbU65+`HT&Z* zYf&`8>T9Z$Nw%F%B7I@DaetQJUUouztS?E<&`TCSY4)UN$`Xz4>UxgVUCs`8Kbwn` zWb%71g$tl-j^z&tI&uAoeG$)Ojr2K%O;)wl^U)zNn#d;lTEJpWD##g!IA3HEP-1!xG`B^! zoxqU_Gjy3SlWhk$zh?8Smk`{P2m$S`^NMFwN>Q~+e~fdP>ktQ?yF!B7${1DReI|f@ zuNZhdMclwR7izaO9lvCCk8VsOujB00*CN)$GWSRS(98;6TG2DELSh=Mq7Ghjp2Xp> zG@y)4_J-&NOd7vc*==4$u&mu0OQkYYJnvCOmaUgS8d>~$p<0JbKD#HMyJuGEkK~i2 z8m-Da8qaF1to07hT)3(}+A2L+o3m8M-)9x8p`PB4$$OGsyXTJDk!ku~zh_^iQ|m3@ zSX`{V(iJn(!EPmRTIu4WNrF^0Pk$?2Dr$VsWd0qLm1O$LtkeWyrL5_?Q%0aBog0Wp zq}sNY>a}~BouwSXSSGh;kWK!8wJXC$&`2CgX&rYqfv@@I?j8irsL7S7!O=s-yND;? z^KHcy%$5nXcTa6@%|L5!2z@QriY!}9OLN02Y$;VeB1@CzdpJtBL zAhGV^L6u-4XD`KtatnyC(=&+UsZxGx5{79>bW6MDwVa}AVbH6koo}2Sw8L)ovUabL z!1JzuN$}!pMs{|+{e^t{7x^?Ea5`t9aE=+=S#5q%4#G`k%4k)4shB*iDuJq>d-8vp{KiL$=XtFXBrpo@_U0w*pLhA4`JbRlM?Mv`~PC6uz5l#9E#&e(ObK7W3mv+KbX=qqoY%Wqv-ya`AwJ=P{U z9Ot1ZB|W7RsaVdnu1k=l&y?a(ephX%N6J!$~+W7ZA4&L#I=&n?s z@x<)$Oi-)Azd`;&gG>_>op)ISr1*>J+lW8l2dF`r3pwoxf=D=4=SR{o)7 zdjfNO^d)(#qur?}pMahBN$w=T0l;D_gc80}bpGD*3Mc$7E{;kEEn?>QvB2j^* zHkL(619gd&&Z;55YoaHS1m5RM3a|Kx~ z-<8*)VEnmXwhSw@3Ay-vxlYqK2imK41iw8#mgy66y+7pW^BMe+)`DV2MRnE^omayN zNTS>x7IZl=Q)6re<(Hz6*yOkk*cOQ zpyv_m2&Q11P0PA*FYd@8Nv0wC*P9(=gC!}6?oj-;HbawSh8VCHJwYr9po#85Tl0bG zOVBmM);z&yDQ;`IyLmQeE1NtQ1g=J(`qd|JlHyA@ILR}9$eVInl3yc z*dd|ax;Gg3>$_u?yz|=K>$kph?6C7?JL^thR~@+h?TQsTcUNz42XUqq^s)=ZxQoiT z^I2zL_u9km*+J;p`?K{~XW0I%GhixillOpPmYS#t_i#*lPx*@-{xr}z?xV3-K-@r+ zkg(Q;Z?Rob_Y9P_a;AK?E3N-+ZJ(hmnl4#Af|rS0&X&~^3P zJOe6^}Az4zsookQLAF z)sFKFfBhCbe|+&sbU0@oREqk6N}h0D(ZfRV6#+YjT$IpWZtNhvhNH=l61=<82+>z> z7~r&Yu?fK-@z*9!`Lu)i&qn_RHUr>zP7%aB<(Q5$u5@M3-@ zFdF-6U-1vV3Oz*q9E5YQt~T;f?9~}z3`N2;On~uf?&U+xF3lba49R9K==yOR7!6DD z?7o((7@6j`pVPCCa{aeh@DI@F5RK>pqxXVL@vlYO4Srl8A^2t$`crU8^YK-yqY`gnLCWDJ5=O*6vlf*#d|o%`){%LkTv&T zX6`>O?_ZG~o){kP6&`LJ9nOwPkiu)X!)tTQYgzSc!Srj+h4p+c=C5@z$^ ze6_`_Cipco-(jQuXIzW|>XYMcKiR*LHN9u&!!8Xr!(7mdOUH-=YM7w`*F(@+wUbqK zcb@yzo-i*nS9`gha&Ads~bx08K?B7ZO6U5mh7(XFD;9TfW;{%kWFcKt*+hC zAm`>|%h4mhQ!f&ezH=*CE9iV*&(grvN#7kOUC`mF-Q`4~#?U)%kZb3OcY4OiZ+Mey z_u|WnnqpuYM>?@5+O~snn1z~Cb_ki9Vz=yh`KYNO-9MOQfA;P417r@dVv=|zHyL6> z=^8*Y<*vm#aXgIe2pO5S^NUDB6*qNSnDB~rp8KzO&l9L=G%xcaqivUo;t0pg6EN(} z%SlGy0*+*!B`U7hkyMEr=LB9Gp)`Cs+yZuL$}pv}fX`o`r$Ahl+na9Oq#gZrCreh{ zUJt{YH+wK->17|m3+KBKC5F*E>*(3cmGdEH5!&|&foPxZ+n&jH-q{F7pQ#q1Qmy-W zPqeN3D2+{hr#NP-Zu-2_I*Ck5^6rd!8h=G{{;2> z|9g8Pdhvf(lzq^XvHs^S3`MCNfRJqT3l_TshE~aC*o6?9Vys|~#li!#%h*(vGrS*3 zvMz`jo&*L)djPm!9E@`~0dMduianwn%2s58Ge<8%ZVHU? z5GSWpiI6iV1GIW)!UewJX?WTE_@{XFZ>*roJ;$1VZa zs6A}lj-dYkpPpST5=1?dHxNRg#OliZKalMTkrW7@fRgV=)BlANlWnq|&W3XTq0U>E zKVPa`_!+xskS_$tb69?yG*$c;vR%Nofoe8baPzllpOa(XaQcf&)5YH!OAzo_4Z_rDve?$yQ44Euh4FXP$T>4 ztdcp^@)P3|ZVnwAhPMkzxc$)y-vl&IXJS>!9ck9Cxitx#^_3}Jdk zVXBL4Wgc&oYNMUL9Ai_QVSg1;;$iEyew=OJ?P(tCdVH3eBQ#Qe^4pvBtT0ex0`4?l zy9VFG>6v_J$^Jy6J`@-?Q*UK@qL0t&QIEZlg{4Qc2;hMA(^}t zZtT-X&QNqmN}Peg`A`~Lg*BLMgZLT9zG~Roosg;;=D;KlBP0e`IC|fE+$ISC^F|BP zps=%z;-a`Z6(|0!Zj+(ODRzH& z*Cqv?(@c?+^Icsbx}V`ssgKc3yNC%=Fcw3~w2s=!g6jFX-}}=~^^WP_QgjX51}yY~ zu;lMO`6=|#HWmDeTSpA}C+pFkH1lJ=R`l`?r3%0%RF&*Ny6UkigwGA=G&sbeZV$a{ zW9@Y2HwyshsHxD7iJ(XTM9}!H-Hp7!C<2@nK}azfQ49Ns9u{ z(({G+J%*}Ppu%JVNG$=08NtHy;ru>v={YYlYsqioomS#@d=TlAWTfLq5*mm zC3!lLeC_0PF)+>{&e@lJR!q_n_g{Yr*4Bu){GNNiLOA<{vhNr%T957npzt2P7l;pd zj9r+|#pV2fC*}%`w=(~ZKiw7zz!*hzgmXM3kX-f{W-P$CPz~7}jv2TxV7DRR z_5;Ec=7URI5dOwr+hm`E_O#!=ge>ylkVx(?ORt0G9g%$Wkr3@Nc+4^{`1d~f31po1 z#3n$EafDv}pCW6lg`+e(FZuze1r5OZ_L>*c9+s1tvTwNxEqpfJgf~!9S&Mhvr-F7= zGGSTSmolV?yvb5jaSh|oTAcfiHlbu0^VaT{mr)bK2jh3GZU)hz$1qSOE)9h zQMFXs;7|h3Mx*;mqwGZNLMU2yX?d+SCP(M|KDz>~jPvNH+Ay6&Ew6&L1XRwd=axV| z#_G@5xrBdrTf%L7fKu|m#c?U+L~3jD8gMHC-c`FwHrVP_;A|)6V2(58BMAVl_s!z4f%TenzZiXgUR~&`(y}L{xW@SMq8)k?@Tv-Y5ShoUor}FB>Io z=qZ@xetSCAwKO`nOLS!+Q!tiLRAAZ_;RTTMLGLX=xd(*z+rtGl95$l)n#2 z@+FZ_@8b3#mtTr?%Bm>E5~JvlE8kNnY&4T}hzo%KHXe{7eTWSX@4w+|SlxiZet6cN zSo@Ju*cGBp&r~zU_W0wt&!>wn>P6Z7cp+o-&!J$54w&u0TGx>F1;7R);R}naoOx+_ z!t(>QO%j(hNrDuY*l9*JaZ36tjBloZOAA}zkz8!Kv|c)MrqFMWF;~dO6~Tkyd2FvK zT$1)-#MQMW75)cYHHOTE3NM9^uQoAof8z1Cnb|~0O)G!K%nMemM;9CZv}}EpC~$lg z#$}|`V#-F&<| z_rem?i(c9OvtiCIp8Xfw2MHmT>AY1kWYLkJ18EAZtfuN+>e=p<>xY6BChFfDDUFIo zDhu;L?zxE4;uG_oNkiMMR0^&?ZQozCtlv4*4!yxK9$M-6bIX*gMM;uY;9yx*C)Jgr z5&=&m=W3U~yurVNoFgfrsr3B2eagyH)J1abk=?Xb)?6?^T+*i+(T6a`VLPvAG~H1r{g!j<#?2( z&ZH^mxm?7K?{Ek#iCF>dfMW00Q49WA&GpTizPrJG9FkYjjwH&S-{1hhYTpP2C!1UgZNzt(aUmy7iYhm0VP+BC?5! zt%fvGunI9O14I*IbgMN2ivgdtHjv6lDvjj3x}{xF$YwM`$YVQ%Rb4%EP?l(3G# zFuyU{U)bU7En&dF3|NZb}ZmQ4Z#a>jtSd}mM31ipH zqJTTHNISB`BeE<#vLZdwpbePc7FmZK)xaIqq#afNEN}*lfC55l=ku#;W1Q|1-0kAs z0iyT6qYycxjBrQuszz@IM01!3%qFtjlKSO8Vh9gKkFlWa$J<~4qc_sYLE*^rWl?IM zW_V>@$o$w|O^iEcJPja&nVvcb zK8uuIgpFT0APUkn>01D@mJOvB4XWJmmk2h%sxiYgIgfI_z!P!u{3E~`M`9b8p%4&l z3zuMf26VoOO`t(RSx6&erH$tCCo>Vq69!NlvxAIdAexB2u zX^N~#cXe4i^!6TJB#;asO&cR$ zC+Be8q(jZ;9P_(n`f6VZ>?Jx;0#f{TJI{+gRH32SLhrAFz6ZoZqZ=Q!U zN1G32fhm%-wh z-33={>zTR=&M#Bd%@FD+_=Qt6d>As?jv=tPXB#pyiIaHvz_eZCVmrCCd zbi-j$)K`R6l%z+NMDG!tJ7*j)SERy~Wpz|k%I3A|7wRWR4RI9)OM7% zo)^_dmX2XpSd`~8Bt&oqlxLn76-$&rCX}gG#H7f?4WE_vbQG21CY@|lpnIWst><(1 z18iggd6AV)@K~(8(WB>BW)bnKyj6v?0G9FEUD>$0iE0Iw=ym4kXj&Al{L}@nl4aR) zSc`Izfa(!o5;9AYk4?c2TkVlo#cgJO=|u6yT0*I9!^K8TJ$!AWE&y4sb{xLOrzoZ^ zBC7`+QTlvds|a6L>{ZAYRl22%>K~C5rHlI68JzAYU*gR~om59hKwq55IU*519INH$ z%hPA6>cffi-Z0|Z%n9MmGl>FJPh^9)iQQQ_{GztUIQsxmSvI&||X zBcorQqs=PPj3d#nXo2pL7&j5|PrL2i>s2JUHBhwq+On-j2{GE6S$UI{&ylFLyk&{6 z6_!z*C7I=E>m9mwz|uF47`_M*lSUx09eJd3m?vo`p=n08b5X9HXQCK!v$SKr+YCHe zo&{Hj^j5gJUaiYRnvjtnbWy^B*J(}{t<_()-PkjcSvaIyI;C9-omtpR*A#-AF_#|0 zIo_M3Q$vRO`+ht`{kG{WAJgC>9e%R~NDsj1;)$if7_b3WUH}QAfinm|tanbk@jkr) zE7kh?36VPZD&R16zc?_L7y*-nAB_pWo-!L)EXp@QhMTefTd2OxkY(^^7A~25ub4_c z#>Rk{${;JSIVp3HHyXuAn9r<9>T|t6Ul>C?ny@$vU7nuYXo@J|S<(2DnYRmBbY}&C zfucf7CK63fu})Tv2DX|FFOdQ|z6=TN4b9IFbI=U&LX4T~k7Dkz{Ap8?0UyK$+T#UJ z<+|REMHfare?fpqfU=`Eh?*KZB^i&OqRa&WR~m;Q_8?vVqUcN|Gug0Q506gcRm_=m z5+hEkkWMz>M2M}V+A$*p4NgGZz?rBZ=fC5Qt^)_~N03yf*l$GbzNASI1LFU(g1?X0 z?h&ZUL<(4%d zO2-g^mp-%apxMui9YsH!MEPf6di6Yjr2xBW8 zaM_2`J%{%ZMPNX=Qo&nm9YyK8K%KMD;L&qrJ?2;vx>*?Qxj{Muh8+gJ%rk%R?}o?i z$M-J`=FIAc zE(et^N4gZ9By=}0p@h+pE`ADuM#Rj(_6vDb`RcyY<28D%9pGGjD! zvzn?pG&))@1&Uww+OO9@M@eORcCFv^vQ^*e&hePr z@2No0+C0+EH#ZFN&fZJ}EWgY$FZf=(nd+C!7KWaZ=PGLm!*VFUeV<0*K7|GtyErk$ z;z*HhKfEy}_y#V&=2eqIzU_U`<$>PBo~iBHDF2}d0ti)PU-{dLVcB8NG`7a!Aw2TI zR%ToCw>}_#Z0knlkC|0dsD_*8gFQM)Y`Q|ET=Z{Xksd zmU`{oG>SyHSf}wlKN!1oubQFx2QwHYe>il0t?b^BwJCVZ9oHL+**>P0Uq}!DK6dWH zI~K5Y_k`xOb@=uEsjR{cE&P{t>Z{vzi?CZo+j~gY*K2sBSg;{Fz2P&~*yKC(ZT=F`ZC%=LATE?|6%pSIuU*u6F#2lC=JeR7@Hjqys7W53v%1TEdn59a zGa)wRzUR1p<~r`*u`6mO*(FCS19_w$5bm0zD2E*B`Y)y6#R%FBAL|Wz?{!%dA|VQ} z3vjDyx#Z+~EhSj*G|0)(CcwuKYpr-iT?^C%yXiEgt!~j@9)F$LuMx)YJvL~#)oz)E z5V#jNx|dX%g<_Zy;k^TVy(j68kgL7r0N=~ripqllib@YgrVpyM4-Nwl4#^LO{uIXG zJ2jz4Ue!l-rNPfStRwjGJJAz&@ZIgk;}8EQC-8ME=+4>vQG;X=*NKFq`wsQ%vuhky zQ0={sk)@vy2E%olz!or0DLSEdN`>gr$_Oo4k&4_Xj#4T5x6$g~o|_mjI`%b%rf>My zS)6jFS4hS?1E<$YC9>)`(22@ho#3l*n57nw*}FOzcZ-2>Ra@l(l4Y&;>*{VCU|(oFYL=py3EfM8 z>^kq=yQ71tW_IN3*fmq!Q{0E`&V9!Ji(UEyPLE0cJ9at!yCvZH_i*bV966WI6A##f zXZ1aoI~bm>#(aI@Xe<$0sfV9?rljAUXQ#f&Gl_)Lp534znOhMwUx@I@9^F8ymBes2p7M85buJvq-E3{A zsf!^~cCnC;RawCGpz+Pstaf?PB@*Cb)^-*8!q^V4Yg>bcowOd+?Ez($QMm-MgS_8C zic9r)|17|-j&*#XR+od&Ros34wI~fPbA`Vg5)%x=<7C`UpzrH_>#vA8Xp9d*r53de z=WjcA(~@|bi2vdaodc+43f@leeP5rT!9AMYcU@~Q(a^G3Ph5>&h482+0wdgVr_Am{ z{V}a^n69IpVPD>23-_C<#qWmjV1?i6_-ebt$$j9Oro}76 zn?jp5Yw{KdA(V(AV>(XAi~C#{1(L6TD*WB_QRD47p~*61`13y;Nr*S~SZT-xUm2_D zpB5Jwi}=;P_p^A?EfP4TCrJ5u%9a4h2Pf8Hqgt-HXuic zjt+xE0S<7Igce2d^MUqV^UYE+Y)zFJ(&(;3_sP8F&HU?RswD`+e`wjd6pI#FgqVhG z+XF;t*~MWBbpg3-i^0q)K^x?;O<$}YRM#FO#UqpmVOW1C^|1~&jS+AdNVD+hWiv|U zXw$>129oEv4n)w(JC%x@^iN68POKyF^AJs{<#xq8%nGp#dm(bu{Kl{zMJ{cYXGM8( z{carCy=OgbNOM0kXv-(=E*{%s3(I8wQdF%!RfR9T70~eF%;brqde7Thg%`6K(3P{K z6*|PwBIZHn?J;zNX^W-!!)!*b#~D3SXL(wgcl?B@v*40%r%C+B$u9&^DZ;=)Nf#}! zp|g5hyBQwZNv?gBJ!qFNwVU#jV=NVao z?)Au&)0{?z<%+rEbWB;Ma%B-h_@oBfPlQV+@J8Og^r!hX({(#uiW_ z}ig~PNLyI2LQK66JQ%V=1yw=cTBB1@A zfv6qkXZ~rSg9n3v(H{=_PSfI|-iDkmydG`O3M}6f>o|?)y*Y|v1;QZgeT{Q1Vj*bT z*H_sdL9d8mVfev6)=!;`NsC#h+MYGpN_{#i!+{tN)i13+moAC3phC%$y+uqwlkCZS z%Ld7=gwZN7?)U(VpY$@vT;!6jC}SbOQz0KxEgM!WVO1&aG6#Kkk7r#{NcxprK-E>nAdQPPqu!iVs*!gX4RR`#*Vj5RluP?$hH zS1Br@T9%i6OO$dT490>`G1D&_{N;bTPXzl>+(AB}nhN1a5%x->ta08_($_?4Ll4u6 z4Vd&0U6dA}t56w*%g(L8O;&HNkgJPCu4atP`RV|xroxHf=&_jjJfN?)^{Ux6qEX{g zY-e!kwMwR`L25s2XY}!^)j{fPVYXZ-xj3)>8!;a5_K&R@!P^>ml=f%&k#LpsM8le= zsAgl<5j`^n9}wof5FeUhlq{MJFy*G%TxoGhEQFU}@ebb{?eKYd>wSf2ssnhIig4-z zoGdY02Pqt#87eo^S;b>+is*}aZ1hhhTN`VeNh#GR_0KG|I%A5jC|=qO{)VP?1}j|E zR?*4blxTGWF0Vi{lT!~PT0P75waB&MTQA32y$$8Hu~(f&Utm1=J`AS)p?!>@s8YIW zgQ=9z-i=}ZbC@0vu?Cxja7u6t;2qa_vf(C>Ywr=&#RrOjzXpFbHN)FH{T^k|RST^I zg#m>lN%>C&D(HTfD9^(=jz``&X!kh;Qb!W+(?@}G2VNVM`{x`@f{M@8XIj`x5Dxs8 z9~1B;U|bKGIUea2Q3iGh0rbp}0zH7lSc=nU$S5rWBZ|OQ=!PGq;gWMOc^qIJkOvJd zO1b|Y$5fPp$JXqUKNw{dxX)c=G{>6a!lEiBmDv_f8IDraH_cs`LF|?4S{fy16PPKs z7{tLqzY(6{U)_N)90O_pd}f~RKKYHGPg==q3gO+bq!S+mnE{bdIOAe#WN^{n(}qX3 z5Lm6ne*vBoUP};kYy7=+*5CjOv%vV+oQ1#Oq{KacCV1a$g}_;W?jTe53!n)i*t<-T z+(QtGw<7PsiMqZN3Z0KAKp_7ch}Bkk-Isp7c9`?vNLn==(pY5T67sgS{Tw^5b96Ihn_IsqR?%SFh^3~OJN^H zqcGwh4kVE9otmG=Bd-y8e_eg7;$m8W+M?$?VwC{jZSy_NXGb(M>p0 z{k)qZgz}B^lU-gOQHfsy1HJl)>{&6AVe$EzrxB2|d8^>$2VfyNvR}i{V5 z-QoujiUuGH*~!`lrVwZXc15qz#K4SXgLLSyK7FC^&oGX(aYAN;i1>Z1^stL>VU)}$ zgfd~W&oBsmgPco)T=J>YfN&=EA$aj2lY;U9YjG+5Aqx9&0YoIp>>=0P5R@`;N*A#g zk8eTG1A&Q<%J(cPVN7r@WYw7*@WL=WDiTUU0GPs!`Z0Ae_#*zOMlUK zZ8Y$y2gwZz%6~y+9ySw~!~+db$)~z27xMW?LLrFy?209*8;f-vZw%=l4QK%|3Nx)X7}!_; z3w`XtRv?I8V6idQ{aMt+DWR)N3Vi@(A(v+KW zPM%UKls{^e_a2(^T$1lUly|?E9~v5?u8^N^svhH?o|aWu4yIqRR~YqDSo=e}o~=+= zp|ELA1DaAu+ECb@Y5^xE!wz@#?&ve@(9d}DDjtec9qB7N+bW(EG0ja0dPUFJWX*6i z&8!X0U@py!?avI~D{eq3?W51$kWW*wDct>0xD_9G=u*7*3Ey*_eIjpt%pQ0RraYZe z^6H#DKb)1?Q2O#fCM(yy zFOa62j_3Sc2}OZ|A8+Q0em)YS<)ugo14$WATm{Ql#mZF5bVC_8W#$>ZcWO%I8F6Oe zj|x%qEJ2JA34!YDtr9tfDzU;WnZW{zhAOoJ7fsFrHNyhfTa_+Eg`Pr~VM}$jLY4Vw zfigwu0e{hlP7O?WDbG%^2yl(Sq?qT#sAN>=W6D|lil)Y|u*l^Q!M(MJTdf8&q$FGn z_mx5YNmY%^LQQ;HP2_SB-C=2sTU~~r9WQv1ty&%0dr59uQGtS6;6t4sUPEO|U1C~Q zl3`ipNPSgKLxV#@+Mr+FSA$nTgXyP+?r@p*R`Wz*tiGv8%% zjb#glWlM}@tB)n?qoKchl=Y5sDpgWL0+yP_h9{>$sm^^{U1#rry+g& zC6Lu2$m||u0JWu!zNJoXpv=A{D{dgAZXjlE!0&3n8En9kY(QJIMc%YUG-NSloXU(|`Q4|3sqyl%W6Yp>KUM6`#j&C#QRr8ApJ0 zX%B;jkD(cdB~CCI_*Y_^6Br|8HylqJqt6@|;{~%=8LYepDT)T0g}5VyV>FM-B99I` zw@8CfXcWL)?H^t}eqaQNYt)S%F0?igWIde7yes<(14T*w?P@2H#3(c!f=L=1fioin zWSn$o)P^2zVH(~_PVIwj0_50B71;~;669E4=lH_}`3E(Q^MD0;1za+> z&qjH`{t8I4^AA%AROGI9w^$C< z{EotWkJQ{2gdWu-QZ4jnEDW|S46iJV{#h6!TbdABnlf6N30j&fTACp*=#Hq%ln7eH zTH54V+SXXw^;p`^9Gm)SNhn6ir}8-SyHnR5K9%~_;{)|2Jf7A$MJXKOWbs|&?#XJpy{U5G&szAnWaj^NwI|x!d@q*%4XxKRCDT;) zU#s{z?TdRNdBpk1=p9WJ%az)VwjXQvhXcu~(5hRq|7FXvbMt+Du-eR13@iE63e*^M z*m?KFbhz7sI)6bT5X!SV_16&q<0z)uK5bcONND0yDmO-B>1=kG^q#~=F{#iKTk;)E zHkCOVj}O=zM`x>bW;^mZ-+!8JMp;~JPvenY&f@CDT`6?6-R!i`9rW0DwYzMMnZWxi zc6*(j8mA$kTYV}fM?jv0U`4{Nho`&KuTj4d-wQ-9&kiPqI=5ZCqpopyb7p(}mtQLq z!c_d|FHd#?VE3Vn9UwZa3K3a)T9#loZ&k`WF=*$ zGT$1k3c{#ssLettI)3g&bIWR*NfV(q8OI9Gv=)ZELfae$i1{rQ8cA`|m`6Q!OV1~o zikuy$EK`i@Mr*sRXQ#GqogSqR2b5>0o0pVlW#l>QtaGmoMND(6R@j^<*r$eBTKss7 zP{?urhO3r~qcTn!=l2R%mKW_Oe)`MN63VK;mvQ5?I8k>zFGhk^ro13Mly|WZ`HJSO z)Yq2wyaLbGwk$Wt3(QVa;e5=F%++?Ri&CkO=vClWp~+5H(O=>k!@gi$SjBm{J6M^} zGXPsv)ik10B|XzpIL-5MZ-&e@6RS4U$R^2WQS`YNYNc{1?Gh_I+H$AVa5!OoB_8@O ze7-KikZy}(cRwkX{WzTri4V-JcOCvDOHRxL5+AP325Dzv_dT0u|KV96@A@98d-bY} z2y7N!;zL{XT;jvFnu=+-_Csu_B*3&~@k8QpWwT>ASghgv3~*h-jsFGA!9c(zlyO;a#>BW(d+s$Wf*BKuW1b0SHayh zPOalk5=YCCM=u>b_##sGe&ES#Vu$`(>X`MfY6XMi;6X^0{OVe*QBAk=vTEOOZa)r@ z++8FpI?E@&pNg0F#sF6d0106NR@zvQK;d~f418%8F+%8mygisN=)P_6W}al5KTI__LkwnZ-1SIh6G86)h?gCx8(~Ui_80?5FLb9_)kWhi{+bFy z%H#pS7}QBfv=(6kItlOwhrI{QbBs+MliYsKD4OJ9Sjc;yTZ{wn0oE$SO?@Nhq^!uA zbAg!Z_asa!9wUKs5D|psDViU>FlEt6;^rjMsb9k*f&Kepe@=1ub)hg7Ura?( zMWh1gAu+$dh2u9abnp_|M5sh+SiW)L*qpc z5!0_~AdCGwz-?!Sr4QDO)i)+fjLEXl8|fblkVj3XCOf7ElT4L|FN98;AM+W%OqdKL zVoWxXa%hN-3OTqC7x0^i7`I2)vP0qhB1fi#ERvb}u1cT#E=3^#8O4JXgmHiyDmEel zjtV^;h<(M!W07VOh zaW$atrb@=2SdhFmbv9AIVm80Pxl+9+>L|;i$hwF(ooH->q!~q#;xnrI_>O&tz{t%K zwPW?GLB2@?l?di;Ch>kHrXHb2@FoC05Sxp{QNpH%mNM1Cn9ZhZn8tetVZ;Kk5_abe z&k)K&g<5)mW34~NrkJVdfjra)$-~6UWuG_SkpBB;6qBFRnauunYws%uZK6N*ShFag z5Az>PY);a$k3c;m5@oG66^%*QDXANlBqQ5;r*LkIHBJ)4xNHm!l_B#Jn4}!aZ0nFt zKgTfv3+n1HX1bDF50`uf4T&}9G90Cp*KO>dMguL+n;4^59Zmy*6k{p>=4bLnEQu(e zO7y32I1s7HdW(i_@Xw07&wbK0H4L4&rn=c{`}nu|Q**?jO(ovuNE5u!9F0|5yfm)S zgMwl6;UGmlZ_l}1bBRp2h}925j$Wa|(nfV8k!Zi8sN@mbz*h5$5qsV$|4?WK*BgsH z-Xg*-?!vHDFa5S#Hms&_a?T%Los26sV^Dz2xo`sr+IhZxh5=9zMg$c0bItRKR+v0hqgoM#m6{grOT!X*w)HfHY^?m(>(f{ zd_)A2Dqose@DV!|FvG+#VFBmmXs7%(5D!|aZ%M300<(U%k`?K(frvKr#CBG2dd3aaA?JeDsdN1|p?iB!&Q(h@-{wv1 z86CQ#{2&R8QgEQqwkVxzeU6uVx zw2{7Q{{5-O^YCj3J)kfI>FAg8GqEz%5e|ceECny{6LrO^@ zno^?ygxUcR*fKYdsz7dynq)^)pd_M(b^(SY!Ksa(x-}FhqD`uS`lDN2qI-P34h4)6 z)QAx_1#5hW-139iq_8oQo17h|iqpL9GqY-1ijLE;np3}4-=|vkn5^8&-1;HJ1|z_d zTeb4o?#HkrA&mUsFCCjQbJqt>r+g=0YHj3ZHODs1bg+gz1eRv@pb~#8Uj8U~CX2+k z8xMn`2!0D+&l1_NWklCwv55ynr&K`jp|g9aeMy^sUa)H>cGz2q7x$xNDJ+8PH=W%k z35-ZROfW)jhAK!;p)*>+`=($Yv*NpI^k|ClhG zS581Sc8ujnuu2K9CYLI1D%~?DVEUKNXt>cuIGs~{m}$Lg)2Urcy0cgaosa~;FBB>L zA?l7I+S(${c13?IT$V@@Fbc(0Rc8WhRDFyGc&bj>G``%c0-H+$%`Eb^G*0X}d3a;s zBpB_0Q5F@DjAOCm!i(`^lD@qzw+L&x<0)LM%l_|fenA-%NXWQ_1QC~D-l&q zP-vg`$lBE!73b(PAMVAkeLiVEncsNXzk~)7FMm)NdVBcXCQ#vL{m}6ckP}7|@Ify5 zh_#gEdz%`In+7h)!qsCw_?(S=mG$<)oop%l{Z%$qxcKWDA73+v0aJu2Er-zN*Gf`0 z>rocb0}IF7T-}-+UOj%kv|NjtTpj3%Yai2rqZkMAdq=d=|^IZ=7Baw4A`71KE7z>n2!?{Js zk6ohw7f_fO&KQA-6X;w$3HWEkSQ1{sT_t%dA(<-=_Ep6- zqsCr{Ejr)?El`!>bd|QtGrSJ$gZ~wSF9IcN!4sxj&NCtqYV1WPs>OgZbg}YemvY`X zt(lL~1RHXDMk0_v>= zO6?>UI_vFbB* z5pg^a0jsQ4y*xLl>K8S7QyQ2iLBydGA@Pd;&Fd5$pM^R;91O-HzD0oLRn-tdV0osc zc)KJKH876=f}MNtWk4kiu@=1xfFV{#5C`l;0QAA?n2(*Y5CN5GKi2 zEoBqVHw)BX)Zh;=-fdR`GZvgM7CcuMf^7sK;YA)=RSOPhF$y(yXJ@6+BdEU=XDqg8 z+o%Da)%v6dF15jPgW&c0HdHAHSi|!}kg30bBqg-tnh2&^u;r5Hj`3F!fE|x=LBoJ! zmqITe;@9C<|Mw;)iH=yzf|&?lj6&)N0x&ildljL~6BAH=Tw7k+p#y0wVeWuWwyrQ^ zZw6v-Apl2Vl$`>MXOlqmDsRu>%2>><(b~d7pF%Vtf=L7*&8U*s1Hpn*@wRBI2WHvr zh+?Nx2_2~(hn?c(a#HJZXLNTp_dp)n1^=Ec0djh~svy|4rEs{kx|F$DuodtrvQFf& z5QQ4H#R0<8?-I`I?gaM_KbDL-^_#4;8nO15mX!DlG!crmMZ4i72!KSEOJXs>t@WWZU4Q*Hw8W z%e+!ouirclDeu&8b2|n$wUT?V;#32ay)x<+PD=XAnlf5O*I2=$qPSzDfSHxf^yYqY zfO5#&F~O5o&Gfe1$FTq*P~Qen>IkSQIMhHk=C9a%8!(|xHrB=p_SeUm)AyD=8J20r zM;~j6iENsCsC*RYUkJ3pFI` zHIAiENeJTrfw*Ee_$rDxM=aC0V~Vqw#V;(Nq=>2Gl`%Bx;+@D@31Hn)D>;MkEUoaY zM%gsIaW9B-jD4&oPGMSAVP=%pr^GmI$12WmRJf7eK zVr(02ZW|e~o!<_aN5AO7_HG*>ZPE~)S&eKBGAK`eeHTx1-LJ;qivcI@zJjka@sW#d z!UP9!(TPO1);}x_{^g4!wj)f>B~_X2-D5bP4e15#=S7&2<&eC3k?LTif|t1DsU_aHVe@ym_cZZ+I6t7+Ah4`COvaD$5$z zmOMOe8&PM|y5Ra)!lpP2FB{tmsN85H-x}+@bt=}z0?;9@y~7@USY5=&*~AlHQmmbn zS6jfDnxh960ffNFhJXs6rsMKfk4T`fesg+BUAoUG1k!BNvOB21%d9Ykl5Bs^rWP(E5>Y@BPV-!Zlh6GqkG&;F8g7;TXmH(9@%Kup#wp=4?YtB zFJ%XL)0T4k5fos1vKLJu&A$1lj0b%rd#1o8yiXBJ>y5yq#hX^MNdN^CA{;Q*Y^(*a^ph~Jr1HCliqwD3xkP%_J%~h}Q z1~E=4EbW9RP79o!$QeV(`{{JdxT44pN6r35Ea*l;WJ%ExM~(^{Si=%~4iZ&Gu}#D_ zt-Q75?1+B6$wyo?Br6JjSd|vPv+lSO@W;91V3$|?=1Tj;C|1`}tbC_+H?8A7WBvXY z{635FAxGpP!*Q^v9Y-bnz*^yVMn>^0nml%-PNlXbL~`;G5k zI=$HgHRu*>Ok!#FaP)PifGte?Ghgc$`EQ5aC9T{>JHx(c_Y@^YwGyJ=FF#1eY+%RLwu z=_PdiCFB@>0VJN{=Bljs9B0O0yh)N{B6ZuSiOD+RYQ`1;M9H(~cw%rfk*)~=4m(eX zuUM#`>AptgEgaB7YXGL2*6)5i2p&*mVw_-;62jGnX@YyL`)LYfBTHn0e(DvlPo@|b zqz5G(v9so9@gHZtR8u>O*`eSvb^{S<-;gtL_MpA3S$nh`Xj@yvkqg^ftjxdLP&^bT zxwIP+`{ANDST)(Kz{SYF-Xr%5F75}gHxVQzaB6o!M=Tc?yps>^glK3Q`F4=i2j-{3Nj#vsK zQd5Y7jO)Z@@|GBujWiiNQH@kD1F7_xZ`!5Y?TXSrm-pVL1m48h?Ea`Z#i-BILm-{L z9bLT{X5yYg^?O~dNz`p`sIfC&kJL*66|{XfYhFe$*6Uv|-l+e%i{1)y_++kXEw-%i zPjgSwPjvBB0}NpJqjzS=};oA{{mP1;*e zd(zYKv%hEp6t{uICvF?3e-SORd{IK=mdi-xodtYl8ems5J-625)o)p(|M~y>G$%M9 zS=!FYMgY8R9crib_;`lh6E* z-QKPcjdND-ur2d z0&evozvv>CH%Flp4C6g()8Ho`>;y@EeDxA2ZggjrLi&o%^@;3o(j@)2 zUuN6#;)k(nIqF|Rf?{dR<-}pVYiPWIDT;yc)_?i5=Q zd8~WDwE$0b(xQ$@%r~>%(u9i6QK{R98%Hip`nDpI%L!wcwrc=wZ!k1lEtmkqRJU$caW8C(lAzLF+9b34NSj0-_QR>@_=nQ$xKN? zaXgKHmF$oiafe{Ju|SLZSTk0)f%t`Rbt2YtFi>bT-e8;IN6VBNhR+bOVbCN|Sqe_6 z1UD)Dp-V_G;B)BxIMF(>A1}?SQ)R=3nt>-bAL$|wt0!%KEaLiTr>);$fhtnYS?n>> zUFHhV8cS{2Ap{CaHJnnFr{;+E%;&em}XIYgTJq@)fA-(ZCA znSJ^0c5iZL@=sz~D>l&Yp4nloQusN2t8nr_XXj!iIy90#;;KkcB^;N{Z}vBfxm+lh zGPij31$KzB>EO?H?vUod{J+o<{g5p+VftqpH;xL()oCb@x0lppfhSw9ac+;d4rpj_f9UW*N%h>|{d4F4p> z<&~9^S0Et4$W{D6;ru=fQqsMI#~JchNv&K1JK7m zI)0U~JnN{OgcVj0)5F;>sMWfX@|x+ZtN2H|-aji&r44$bH68=44D4}8$US@QVmGeC6eMfTU&T(5q%q>y){lyZOd>Bb zoo@H4h7u$C{QjPaA+DZ&H0l4y4$DKoJRcc#`S5&xxfVk&KCSj7f)9M)a3q1TcBR!Tv>pY2s=f#% zR>#|*jlHC8e)Of|2r3rQXfN*!g+he)a{#ry4nSg`S(5i_h$mRsd`$rg zxxcd^vDehi8>Ga>Z^T0zd0Ems|1H&DmT<}Cr0vR5p#6*W7R5tDN`@Wsm;GR(K zdS?;f6R28KKOg4(ZjqRTfEUxmwibC@n^+tXaUfOzNqj232q-}=7mT(?oCG7-I6Mwn z;JLULwK_cr<5Nu_ns0E@E(g$|7$a4-N6NU<>QG2+syEC^QecQT1zDoXDZ!hc?P@V9 zF|N5kmh4H5pcjmTH~Rx6NLb`5nrNA74w}WoEe%El<6K2w8Dry+NSny9@?Q|nriEH= zgj#}$<_-kjU=r#@Vjv50Ox|IeOUPJg;8_ilgPVTV@(-ABQ9X}H^;U^<>l345%CzT- zcGPs1TQz+@XRwvXj=pCL{*FQLz}#g^jjA}P!9N&CM-A1-fO|6aI?0B)-i5jHp*t3{ z(`XU_W}ptuI33yP#6H>BM=61;KslZQH4e;wn1^i6jrtlH&E(RHuu~2 z?=|0K7zYMrp>Ax9bT$ul>|p2b#6yOMk^}n^8UxKZ!d&j?n@Z}3Sh0j5?3(H$OU)y( zOz3}DG0+Yo`QMIBiz>0dQ*5%PYj=@Heg}24QVPaEg)ijEFPcG>r-7SxIa}PAqw&xQ zH;lnZERB-U%~7$;Dy5nW!b2f)t!iaYb)_G%K~PbJp%YBKqx3_wdVM|mpG+!$d!sFk znYI6ohXsWAPmY9Th1e3S40KCdAF05fR1kowh*}Ibn4{W&PDCYD)aMDLI) z`8$?-i7Hl`Dqu_%$X1xMpbC1P1eh11M?u~0!Z6IC6jabBAr->s>|HykF^5`^ky5!) zfMQA%fxQ|z@HbHulz{_7a3eH$aEhF5I_*#`)Ji$nD(EvpBsGsZ(<%|20o3_!bb_q@ z4fQnB>NIhxIysUoJ8)+ETs;g)gHu>ziAn?h{jO3iRh8Rsrb~6Ej6;L3e1?yFD)T{5 za8;uvb|z|4;}dYU>U`!QOG8X}ww!8~XfuX=lU34hHb+%62my&IB~@{73zP75_A_5GKj)@htATdsWqn6OQxX8h4J<| z?8A9rQ0JU~QLsM~l7W)8U4lv&lbW%6gufSx@h+MMJ%+uiw%wSbh5euJ0pI0O)BO)n zsM|vKN3~r~m9@v9YpiM;c`Amo}bMbRAB~g=CSnF5f=ijKaSv>REA+#=R zOL4+_MVd>2=6dOFOFu%EzKUxVuWFVMFqO9H$&Ts$SkkMI(yZ*8g_X}&oxX#yEsF{- z7s*5FRyFEZSsVP81)?AbxyyES%e;LMyE#bK?y}i6LIYd94M{~GNqY_v&G^Woz_KFOKk6-I^qOMN1L8kpQXMn5G#H+Kb>N8`B zs>8GM1haGItI~aF{zV3#LiFH&`c|c{!&Y}!hw~Q)`xe(TS2xHFxBN5;l-4H43^wfz z`TPtIb}hy?)cjyQkP!y^_XeJ3A;pR0PRAvJKcQOc{ zCy0?D(El7A-vRN9Tn?OtLYd1C9h-v)Xtf;-HuQ%gY8SEIn@SNHGGd#Fv8(eKguY8b47M^=Abd?nn)3PVbZE|aW}#vinFhgj z{5KH%7lKIw7`gX$y5eV?y-Z@-b)Br z4ay&UHMTNjIDp6VSV5y1!}j*W>q{aG49$rpvO*zdu)ukOe$#V zo^-Px^)O(7jRIVZ;#yw9xL|ggHg=m{N)s=NVDRZwzuf@Cn-u%78Ey5se!6Mt6BdHQ z#c`_XH7LB(L0NC`R4RTJ<2tB>1G@GTd86R;=gUzLEO3(0A}DKf2m5boKY9?%2D9oI z_j&HHfL4ypxXEJE|NQu%-FD^g-^MpK@luXw-)vGW&KT6stV7Q}#5>9qII>ndvh+K0 zO*=;MY+UZ02~`mY7`-`B#-Il}A)ZYawmXC{snIr~p?+}!$XOY;9sPcN4AsFT`u*MG z+=34|NH^F&Ws~I83HWe+@##-+z~?9_=T(Pu0yw%uz~(**(qibvRg&{R>3AtGXL1p8 zg0qVtqcA*>OOx8HUfthgkKkZYZPz<=GMRsLj!qX0PzGV>yF!=rI89Y@$Bvgj!Gq51 z>xu9)24h0P=n2*>IQu27yJLZetMG+mc+%xk*5#XqOYRWY=s%Z;`a zMUKQNuOx_$BqzY)j&5jYM?c10Wf>!7D&3wM-4rLVmDaEJ4%}2?s-(W0sZ!3U{XSDC za+jO8)l_j`L2%b$1nS0IPo%i(odF;n*S&-81|2h6I@aoE?h_mC#%D7c9cLyw0239D zMqLjJ%30I(Gt2dBtAQ-*!kaIJhejP9rV}?Ae_b7tu`EHig~XmNjwLpgm#&3FWa3xu zjyGk_q=1U3Wp7%vhw^oum}oQza!iQcurQlENWyf2RDr19e;uQ zXUr7Ydnu1?y<7{16WzwNdwEXWWu#dz#(Kth@;9>Q{Ug5*fA5`e=Jiu&+{^Laz{fi! zMkSGm*6FvmM*~gLfcKl(oBKxZUxl8zf4rqZ55FpJJ>L7|68RJ$Ky{&lAO7!W-@+oKZt|;WJg!|b2yUF(VslH{barDVo@vZCd!6xx-n3$=XcxW16 zO6~B4q2K%lxwWYjH77rI40tt$VYE;_iC}%rl6mTV|AdYAwSV2a{>zV^n6DiokL}4{ zM+$ZOI-bV%zYcgphv84!GCnynzSEA6Lla-;RQzghKlFq>&3?QcEA$&_cpe<^gZIz- z_3l4+-9C4qe`_OpX<>Y6`uMFu=A~BWTeam&rRTTuu$PkLZ$*VK`3>K42VSz~zx~?( zmT~)%ite961W#i0|M?LfC*vQZ1CO-y5BG$JhQWiA;Q@tkzXrJX0NisP?!FIqMTa_X zzu>USo|B6Qzp5_uq2~q?fj~y}GOG)k{>Zl7DgWq3 zQ@AXr%d9UM#xu~qFx$yZ7mEK92*YKwxni2mV+bKcVV<@YE08Z#FSog7{u8AR7eigV zUjI{OG7!&ZTfg(ClAdKXtGOWWFT3_roUbKRCoDfSnk zhrAuZZz^Xmeq+~U%RQBj{&`PPS7(=Jzd1XkAMZa>1uhi3LA>XUwW)%EIX~0&PEz-& zLS7J4;sOY4plcz-=8e?QWp}TsFzPhoRVZPi7fnP@zV1{w+c5ER1b!bMZFIpL-&7R; zL*rsJ@cNE6E*8~0E2xa1DK8pK!(bl;I+zchIzXmzpT71aG8IndSds9)v?r z#E|CTZao=m-E2LVrsQ|ekZI8;N1D_%*Hq|Zs+Y8%`W4e>HdB9$pDD)=^M2=R7{ddT zT1fqycllQLZ_-i|ZI0&iOAwpi6e z2G667We-4aKbICJel;r^?rin1!AGA#tSE`wcXL6GsD9W2^EpJbD1^G) z)IY?upIoEF3-D$?ij@WQ`5eb;n6(gnCu(n5hu^g~FL&zjsk%gR%_{yyWeW!V-4(qW z-y0UB^w6Dt|6NJ|Pwrv@nCE(}LJz(-R0TDCjmZ_QV1a9bKHV|xOo(64BI}xJdp6$> zS()C`k_TzabdpG^d^L?2JR|g?Ik*@M%#~2Rq|?npo0jw;nKkkYFc*tj*`^3JA(j`t z6C#M>prseemikmAj$Jj$u$8b0=)$Wc<1BZ#4MgQ{h;-q|g0cCed z$Mw~fWc-Ex{`BqEu+N-ixKVC|;S&vU4^uy9d{v}{5bfKUqJEz0swjuAv}D^%10R3w zgsJJ9EOBuS2>+{!`SwIhh5T+%thvgbqj?+oU9}YRjr4aWlr(hzLD{w0n2?z7JG3nP za;H|)($G9T9QvlA=~>6HFmn&L5gmzwmoCkEbpt3->m zHyL|Ei~=*ole|7k^jTfcS6HcyBU-mf-F8|G7 zq`rK);WeU8;8S0*+TwMYlR45*x!w_geCu~xQMlFv#bY64`45mEORG=-jY>8*T##me zji}e`CnZQkP$)HX&pVHJ0U={PD+3cS(-CRA=Kn}qT~)|DQ|lb($t|%cmA{t!-5yL} ziFtBJJ=^a|a%NR-Yj#f`sj*!jH#p`ynEYT1Z&hw@z0X{oDg83hPRn~f(f372rQ_4} z&E4hky2>Q~*FV$7_%k1d@U4slZ|IARbf0(*HiC!lZ@;*a^j(dFwBH2*xK8rwHo~a( zP&T1-Nlc5rc-XYRr8uu=CivSmdq5&{RtZVm)8C7>quEmrwqr!wuMNUG#~2g%JE(e8 zM2M<;qS-sHdbWRRZsF}D>RNmz2tVi1ND1I_&c)(lx4Bf{nafy=3Dc@?%1UzTf447N zTzs>_wHryam%?73K*!bLcCeR)Ic|NB4OO>bv|ZRKwp28UKcvZeD=&ADe@$O)LeptHW4re|tt9?tN!QV_ryDOsjQcYLZsi$)c>m`It zsvn*o+Q3G~Elz4CJ!BSYXSEfGBlv$5NAQpE9-mrHg|av}{4T&CFQ(i5`HI}b?oV4X zqgc*bvw_xsoAB7^!L3jI3TGV%$n^(p6Mm@<9T=8x&$|IFeWYC*Bu}c{_`m1R`-mN{ zIeI6umsR_yz9e4^(oxoN4wTE`{~PX0Joz{BsqF*D@O`yijUC5+S&htD)@WKU-a2co zr67_0mDJ5z1aMLebXsd7Bg4icDc94$U9VzUK0mAPnK{X~%O$`(!yH`7(`Q&%UTd=wW3)rM%Z7VNzk zIz|2su0~8whxUlKyZ5l{s`X+eavt zFfEtzQ-xRrQVtqvnGxzST(q$cq(Ca}veCjF}YUqn|Q+Ll}y8ctS6_6J=G2 z76SUnt*6?Ivm643TKXvli-h^ja!8tEC76sZ0J@qvbWO3nTvpU!G`PyxMVjVvTvbqg z;%TqifDk#ti%5$>MAAbiLxvoQF)sCKU_5a@6-&c_u@Ei3i>?vV2Tp0jJl6o10I3h> z3}pOE9~`ofQJHUkz%e%x>0%g2Lb;W0F+?pmV(I13Y2bmA&VZOe#ykUl{BS-pd9d@J z)@4eETdD1foS)3aikH0MG15sK!A+APtk%VCB2?qQ;fgZ+D_P=t9F@_AW$1Dr;v(Xm zOucrYtJniNAQgcLU!?1T!xvp~Ylg(EBi2oc3(m;t-L2?Hmp{S{M?8~k+i#89(BA*W zn2aB-pu_A%7mu*UJ?FW~E*TBcr;ig-wbKZ(8SDKJdV!9c zN8{Etr614@Oq3YnSIUw2s=4)c>@HZ}6(?LduNMaGlVNByj(=XorG&{+yj`=CDOMSpR($IUN#eE`)VrjudD^p;fXcQ!-D74$_oz%MhDb~XK zl8MGC(;v}FNSlbsJKpXI!PL&Sv(KA7(emzwb}Y6g!-U>#uvV3@0YD813s$BxzJr|_ zu4(}I2`9qxW7#|rT|$iBe(Q3Vu1sqyphyVACE2kT6-&eZv>i;8OSPO zG(d?Y+)T57`!+Gd{(}VsSCS>oUAceY<)sVr6R%2~71mb=J?geA-&p>5KDlOTS+WhesTVXqbxKZL z-mge#TsF{fER5+tj81NOTvh!FdNO=bzGG#hC({3@vWZ<7@2oHUx~s~_{*1(&(MszJ ze&4zmSo@QGrqDzGy^LAa)N!%wKpE})n@1yY-SjJnSIWTRo~2_>zHH8T#A1s=Z*sf^ z0^x|p8v`Y`nDv3mylZafYXmW7-z7n~7VQ9zCy#h}zmg__#}lmSlI z789<2l@#`YTMq9xwDDJBM?<5})jG2kIzSl*zfU2Iyb=+MHwi_j=-hEq0_!mB%eLsN z&{1lzUkG^R-%RD7xhJ`J>nvIOsTn41*DX;7{#;Jv-;`zfo=!^V4`5r>a%Ix)`syq5 zASE{iP81p?@UC(Hy=!Ey~*qHy=vP|S}CDG4=07cW*-k#h2*?&7dWh?8#NndgRjA%Jy{GLn%LSVn4#`zvj3@ z7I-zJ+|+tFw6x42pXM}1&J}Roaecv7>!>yj*Ls;&xG|mXWM;U#g_=y8zAR?wQr}g} zoFHc#q1+#>$28ooC()#Ke39b9qm#r+b#coFHNJlk!Z#1F6Avg#5nu=b#Y<}SYed@2 zX}~&#La$UYEWSh-IagIdw-zWkInBo|KW5(uji`P>Ma7axf(UB*s}bn9XuXlCkL(L` zR0-7+(u&d1aa*3Z9nW{_7%*@N0mZ0BxLl(*hQ$R;-_`c(d=2|4@c`i6`0Af`a8>MO>i|aQAO0HH z*?p;k_-dUWMKkU&{4cSEYw?OWRE?p|4o(_>Wg$JXTL1WeWuvAG{Ds|7iA-+Zj$na&u zFk&{$7C7ww^z&sqIVEQCgOdmi5AAsL5?LRDzXu1+YP&5=x}7gtPZOqnxXJ0^HE;;P zjDTTWY8&|mVA>E^HG%VL>T>TUb6cr|W*AJ=n=u|2h18kfoXq(^N(wUepjSUrXzCO6 zcC$V7NU8L2PtTp%0-fc)^D{IQ+EAy7hv5dvyLuu=GjqCfzMZ+XLom+l4#>tr z+5}lUmv871ET-`QjnUtzp}T`Cj!N*iF}aQ(D*UG^&Z}{DFF|eym3L{Cw8pf&IsYr7 zE(k+`z+{ap(9&U;Eik|`4EqrVCar4r0WHD+^VqWwP+^=f+GYFxN)4V((QGZwS&Rml@j-S|3UfYo$v0Ex3}gpO-mXlf;G zYx$O8uXKIAQ}r!E?SNX{q7han2M8ahP6JY>Ey##pTBrY5`z9S&77IKIthXV>S&YTB zXJN6ktw+TI)>DB_jj=`%a6BGsdU6`vSYV$?>yHruzRO?_LC|+WmQd10cv_u#I;F-4 zI2Ma7;kfbc0lRFH>ar6v&KGz8IVQllg;JsvT-4IoTiskxTCrt>1vbG_ zwguO)yssy1*$i(6BekGywm5Twa#`MXj7+shVzM$fb zW{fI8aV%y==Nln7q`r&_8y<@(ZQFQjgw^MSQ$t$sxZIXOg*62M*TyyzbOCD9!8_?S zi;p;eB3eh&fMLhrF;d)Cj!qfl2C#88S{$%1s|}sHZjGaBAQtnUlxpu0bT9&FP{0{I z??ldSdWFjWZ2$?&z}M+GTSgtIob5=6-4tD&2w%&(6*|X{anSV%Jg~Ze000_w4>on3 z77N%B0w#%UClSN)5(H1iwuwI0UkZZXjpC88;tmM*wD>fD)jEG|^}x@u>tP*8Pknc# z4dx?Q0=8JjPoSA(OhX~?HUgk5pdZN?>wp8?s!H5Rg>Al4@4GU9OpV>ziK!#mJIc{A zI@wka@9aUX8jK>tA+)V?gw%C94akfFZZ}#+CV?KdSd-vEb>Be@R&XW+{G+T9IS#0A zi-p#Mg{0OY=-YG|&{50LSu=v!x$*W4Ru>AX;%^z~6vgTcsIH%E`*hr=rhruksI_9P zvjyNpNA`83VXBpNd>rlYdaOTw1SLd_{G$TtMO2q{)~uue5#|0sM++YZ$>y z8m;*kJ7}}q*2gj7^a%PFTmSF8-Zy=4r?rN>6}+I(I6n#|d>s21Fo?9-ot)8r3>l?m zoqQmhWYh=iuwoZeVXcAN*q=ZP5e>Mfz#n$Cddm|>r4wbZgBn#p4h!f;ak}=gz8(%4 zueI&IwdqIUJ6IQRBFfwEaZHGukrvR2Sn&}HYFHH0Z+ zEXi<%D#7RRot7yH)?TBiYH_l0$&9uiPc^pz9nzVzXuzS>bWAa`cCF*d{fMD=r!!h3 zH7i1Mhv^+CRV}D${X1o;U z86qbn05dwL3tEsl$Li!4 z;IySd`@nf`qW$t~FppgrYzM?CTb+z08>?Y$Zpd7I8##{y?0J_t@gA^{2iIT3a0baL ztWst!BtL?rT5GDECXnJVb4M4oB03I~#zfQW|F$mXj4Ws?%v0L0f-Y7{o=aw1`_MD% zILf;u9y_y38?fz`pEJ7xAYlCC=_`Z2%*VL~NH3ZF$|dZL4jcIGDKKTMcWMPJp#(;6 z1IJ~|g6!t!fm16&o$oU1i%(V$ghz?lIRACNQGA}tww-o{^gcu`{(W9XMw~HcSx*oG z-`LL)uz`*W-+`*EKAKj)P^%7w!Qw8^FFN!9C4y?RQsh864(ut~H7utZw9v&ap`2weZ+jlFo^v($% zVP~J@W0&f*f{Vv{)5hoB%LW-(vF;sKxmO3zBhKMQ-K&qUto6LcSPj0&{<+}XKVk6d z@*lg=?k9@gwZ}Hn(+2kF_F2P$WyQ_o(^cn4Fv4mZDg5PV?|Ac&^pfi76?PwTK0W-4 zeHPx@%P!oVab6>!vYJPD4C*?0rYIRM#gPC^8$XWa33aGZUZbdWTVYSzj9nm2O^ITy z8L5CTMZ3H0!J5zDe3ng}3h?W_Tata9(eaHa1mHOSDzfit7Y3*Mfz#XO^2%NUryN9v2mMo?+S z7-bry6-{k;YWivD?5y7CX~lW%O0Qh9H0~z$ z#d8l*f9}_pqNQV7+jR$p?V9d-iudr|!@BPOEouGlHlC9aFQjvapPLVqQf`OOHr{^$`MV1LvyGRKBV<$@VBTsuQ`r4$F{uiPp(5|2k)-#F*%G(abk400 z?`s?HNUQ8~-7An^cid+8nswOH{7)OtdalBJ`9E#E4E06kBzr@7n8{H8?(%=yc!8_q z<-YUB#=SoX-dn6JTxUdSm*1C6v{oP7PZsMO_t#b* zJ&8>Q^^!kY`qs4V@AhMBYq# zFvzY;MS*LCTcavd{^w*CY~0PY)b^!`Vf~eW_T)dBB!89zx+VTAy+qC zLf9lUF<5t~Mp@PXDW8fTql9~!u*au1E3Z0kAl>BQX@6Xl|E-%wd2jZ4wxpom4Amt^ zVqJkQAjkXP*S@HcWUS};2dO?(K%g@9R`$0kocX}9!(d!9; zDUgbJLe#DZvX|)}N)SfmK)Dsd)Wd2LLP!X&>Kj68>$AvmwSI^B8R9jxx9&fU&!nA= z;sfe6LFK}i{F;#FnQN1s=w+f$G6y9P!FgLs>}V&qTah6&_KpeNx%*Pnn~Zf()ft& zL+$9q;^^uv_Bn@Xn4KogdAy=AaBEmkwfEC!<`SOn8QXC|8C<)t-amJafef`x#1`sd zsd&@qO9?VpZ}TGDn$go@HRI8d)F_lyRaQ;Myk=Kbn%zVyFZ{iJF#2y~QZQEAb$VjU1EegYX zoORqDLlFY_7_AQst&~Gik@MXP{2sCGwa9C=rhi0U=uB0qD6-q>!^NvMYJ^oOR zPzwJuA)bJ`9T(|qHqhh46W}-&_0a6>YJNyMJ|_AJYhy#eyEBNXS|vPqjTPCuC?j%L z0qvMBOnR5IdXUBz-nm8h3gmAaMbYBst%x$4#;QbxQ*rthd_aX?y~~PXcGW0m5Qn9L z2T@Dn5T^k=Q+OY&qcPK0H8J91@0GpKWQ-c$<&ajY4|(lr{I1`OcTn%gJQ^&22U@li z17fCoZ&^@~w_@_Pda6RDYq>XS;(#^p)FLfvKfK9}6XkhOi{)alW<#3dkaz|1dCl`^ ze8Q&GAJkK9q{Jz-CKZ+5YW#SRC=}eaR`Gk#$U@U9lDHlajP%jWi?=0HAo#uiBBAjD z-O1sLdZ$+IqgAHIQw(`V*GRV!&SRp_ynHjPn&YBTBF$ZDYi_IEkTzSv#S`p}SYUMG zqtm*_!~VTWLGM{0wjNCzCgR7UzTG^_TwNn<^=zw*{-_J@BD^UId$uuU^ZmRis$FB3 zSf=(a;`3x^5>Gn)sg_`=W>fg9q?JI)+JI$t=37!-P5!Bwp)cfj|DV#jU3*8oV93Ui zW<&9AxLcA~<^`Qj(}=l)Yi3L4zYIqDeyP8%<-P{H(#cirbtX=Mg8IDy5K4kzpT<4XN+&z zA~D=d?#+=jZ|^3yccX;XCUNQXFZ}#>T5{Bo=zppClJr3vHN%>%TuJ_|%LP|>VwVB^ zA}fe{frG&mi%v4(9wZFJTMBw@{M=%_-1~q3+*f`6AC%oyP}_0iE_j>(2??&n-KDfx zu@);%DFuqVySoK~6ew1T6>ah2F2P-k7I$~2KsN9D-#uq%=iKaFZZeaJ{3glw`8-d( zq73#+&_`58YU5OSVb8o08O9jDL_cdnqS%a2y-m{z?b!va0ahCi@4kajX%lu5_a?cJ z-GKnSb%70hO(MsMx7zbXNvt`#f?G6YmDl;Ns|6FLJ$O)KkpOOkP1|l_CamzKO0|h( zM6g=GVG<@lrG`GaHIfFABj2)o>=;69wrnrp$=?E%d%my_SYf->B11clSGNm5AOJHZ z9}{gu=fxJY7d_2QUab6J6Q^GrWhxfB-N8I^$7L*57bH-LJa zzkwEGI$@Aj86A zqXn1s7y2xH*>~ZDHq|Y`@iw3p-Er6YhO|+8|4H=18NE|Mx5M!dG0lj*KIb0<7@L6% zplCzY=RW&upCcYg4y==NMp9cm3|4jIHoWnDd{g8jIpZ(vDuTqLspI7HL>N5xh8%HhQWK)XYl=bypN5TZc-sBsDuH!~Tv6zcrFqTKetRXbBnW zM+iwV8OzC|E;1b=<^=Lb$EE>0~)1M2I! zTxvF8(nC^aJWdLVk4&vbd$q}nw%qUDx!Gf!Qrsf&I>NRzV>lvgO>92~CWcC|yG}qq z8Tl+ZB(T{gIh1im;gq zW(w#EnwMs92QZp&$?@N*{E6~D zM$1O?$p{vZzjQCfu*X%8W!3Le%ByOwNy`CZaHKPiW z59c3Q#OW7p9o)SvY*g$YK#4%ChbuK=Xitocl*#!N02JN}r&9sW&WW3k7)ztN{DiUA zHAbO5UG{`|^||ogWg|3uhGAV}_oo zYy@n0BQs@_i9;wH=j_9)(8^Q?hEX}!pO6z5EMs=6NKx5>*XzGD2#1zr-7h5ZvUb))7><_9qnXEq+#eZ@R%H9hj^Yhp+vuM6ip^CjI_q7Ojsb3kc zMM7a8md~_g4V2`Li@l04=%hk|_Cnr}V;7)>23cb%ew50{DZ(@1iZLDA9GKBaNz>eB z@A(%=Mh?>#=Fmx*QMAB~lOcSe1hXKCvpoK2asP4s0UH|y&88^QHz!FaAktlUR<|uW zMIdq49Oi-<=bADrTc{lZ3vr*&cHqVisYG)kf$3MGmGcpEzd%m1_Ctj~t?YgBV4l$| z#|~-4@}HQ^@50gvhWcJdV}}uB*nU8K8~zgYLdQCH*1|b8oVyHpe{(i$pV8=Ft^~yw zu*AA~*xBpY?I|NDG^i5IUtu2V%cka_F(9YK49)QAf|bWvl8^V3iP@C@7$LhPCAOub(o9Q z26~&sWp5JDo3cJPr!1Pxb2&m_zI*cx4?5;E3uR{u+mIzNvwlCHenT5U=X-1s9SkiP z=D-(Bt+XYbI}EWj%qc>ctb$INP>Cc2;DkA6uA)B`P~4k>t_8==nTi-@F1LcfnMJlFBn>wd|~u3^XuZN zcr^>tKMg8cgzh$0GHq96}drdNJ1p{kM zEWj9_Wesk+^jwIpKyE_FV&ZUy{cKEbqQp4R5Cu?>n0xyCjQKqjn#LZsP7 z?D(6pBxQ%!ktUU4h-Vcup`YllexhUU)YFQUkdm5-W^eR&AwL_KZ&o(n#6d-kH(xuJ z8o$7D0AUUamU*RZiW+Vy(DNA#tigR#g9f0w5SV8XwxY0kzU$v^Q*$-Xg*)FZ9>Y?< zDCl>U2pyrV5Izp|iO?W8+Q(;e-M}QsAE<^Wr_#=nuXn^Nl+cKPNX5yeptBHNo}Kah zSyc$^)c~e<3I<(Kq^AOQ2w$WpA9jflvZR&JcBa^F00UW4t2Aa_)*C?s!2CtBV6VE% zv|t%jxvuveQ~4RYEWkiZAu{u$mH!xlEizFsVdOuss9J>WWN7Hh9_CuPYcgO3jUccM zAZ3@rG++xu1Py4HjE0*iL@GZ=>H?q)!86e3J%R;G$EQdm_4yE(WoQBhFN#fSAH-92 z-g6Io0cyz*sOP|k?MA+kx?+QAvg69yLGz5h6|HgN4phuy9xojhU~+o zV7tadyXG;wzm;~~U3P8HhjVL(gBNyi9{U-H{Wybtx8c#0l>IcCSzp}IgtL8ps{QaY za7g=Tc*TBTz+QI8e!>$t9&t3m~Lphe?h9%A_kK@)W$MxrfEl0=g8=D1B$9+TCX13$u4(y=a@z@b| zwBmRw2RnIoJjW{A<~bavIX%aBLU!O^8=fAo>>yuWo)A3YaRr}KG%5&|+9fqWT} zURPH|4%#2*K`5^Dw~mZKu8e9I8*A z9Dq#@(;RcrTUp3KOy_VdPLAZ$icH8}V^tTU(E=YyX z1-{*wfAU(g^g>?h@gYAjkPe3rjgSsiJAuo+!OOY-)`c%re!%lTVn?S0fh0RL-ld_h zy`>v&;JG zBsd-wUje13!N1Muab)gslr~cS?!SNs1u8fnHZ|_|rvGs|{s=KTervJ!R4D4wx>^!e zzpH!AVPEM>E zwLKTOy!%WlsqIG-sazENDcj{zGU&?4{@MtkMgWo`sY?IZ{u^BcdPQDX15re|!H;z~SJE zeY!~Ve**d1-$WW*kB2<0#(zjvQM|CaqU=)FovU{EZy?`wcd8t3j&r5eu=4=}mw3I- z)vD_8pDE&&Z=)xgOwjS@&c&=Pk@e3OCutEhBox~){~A?bZz4|~8OVQd*B>fj{d^;K zM2q8?fn)f22TSN=soCrD4v-#zxb> zJ{>aMDi#?q};Px!N+wqqgMKB&0DbRn3O1F5#x zI*BV_VPRM|m_XvL+kaxljh58H`drNtp}#q&3wYy97sZ_J%@EBlQJ^OVl(=Jvl@{L2 z4DjKkj52Z`dV0Qi30|8H5P;gZ@tYo-&a_O6WK|2`);%};i=*! z>x;N&PBV$#Pqr0e8e~e6JaWT#Pg2|`N)1GnrFvx$=fj%qbI|nbZPE;5RE#ir-c~rF zs6woS!+RFi{MhFYR$2b&TUizRT23(K1y zILew;X2+3-q&SXEG?S<1xB47LRf^#~*K zIe#tAis5r0tixRLmmcqc)pUogg5w+ygK-l1&yaT#vQ!4OH2bJBBS}{b;&FO{{UTP< z`ZxYUv%28DUFYM zWB0jnUACo8`?uU~BF=&SxqF$$s3XF6kbw&_po8&7rS=(2d`wNtQSTkU8MrQ zY^9dAiyrD?-Zp=7U|e}erHy7m{yG@>mFu+apCivv=O)v?5k#%D;O5da!Tsr|7(!g3 zOG%Q58xfln$CRFxt1B{3KH0b5@>Wvfep~S6n}^e!8MzS)onj@KA{~uzp7jhwkmU2` zFUbJW7{muTfikT)UABV2n_*fsqJie8bKVzo`3otyiG`ug$|0n!IkV)#ZQ&u-CghK6 za;{i1N;c}g)Q>UP@GPNw zTAc^1BCHu`pU=XjwHSy6tCQG%!lHhoGk}VVdJCA$!6MV9;PN6$u4>%aSC0(x6V`I) zFc%^7vNg(00D;iZq?iMBK2eQM|D(exEu}XM{Z&mr^U9d#lr?Ny{QI1`4AuW5tHnmZ~CY#{7J>iN#t&v1Nz87{@_>3ovrUv$Ur``%;@^M zKI<%mw0KDg!oS9x_B(LK>`Mn0H9tzGe<|PX zkB2xC=I|4+NfQkzgmq!$;sz8^Q#{~D%GBoRQDeVlx1IcgPe4U+Y{@6Wp-E$ko{uuK zr|0k6fFocZ(yzgq)J#;!*S7!EC-5h|nfRB)6T5mC$8;`XU6I@y4$Y*J=|X|J zV$}c+t$dD|V$He|?KTeWnv$7v*Sb=}Ck~x%j@hcjx-!c*oO*vs5VLjFb>)r$ocfy_ zb4^oq6`pOJhLWIu6PzvcWpnOI-@^9{G{htj_@)%A510o?XxoQn%n_4V~_+>UOgi^~`F z4ed|d&S9KO>x2!BeQ$VNlS-Gi1sa;h0(ji>IhXe}8=7a^csy%LmycZ=T2`KTyt_G9 z&J!D2ci!;&{wZC#u5M^M3E=hL?RJ6GnzC(fx29pkXMwbCt{wiQrV&dC!Sp|6J3=*0qmF@>rU#u6|26b6&vwD= zZ#W%LamMk$XTcnF?mcOu=7|Uicc-_}drm*iCgTEM7Lc&*Dtu_3DlzM&;St!c+cPD= zxhD|5T_PZSIZq3U>XbXAPY8!QaPaCV{A@dmf02Dh_l8YIru6kU(R^V{9OUIH_4UMD zPbj8#75bNW7{uNjEYPZ&1KjAsjZK#7if|eDxt@pZ0g3bqREZ=|D{KqQK(S7{(tF_p1X?wvmUXETl)X#5uDl2 z|BoKYdSCZHa}NL2BfnLX{;Nk8YOMd17}%Y^nE#I+`Ologa=HEG!Ses;5x?|SrN+v2 zq#oG>{ddj*sYjl@HLJFVk#i0a2RHj$<2nD)BkAj6A-~>kERHnS9nM9Zr(~4YtxcZSO!JbSGJnhME*c@alHCAy)1Y6{$zSlx*wa z#F~xDq1)$)1mV=40Ana!1e>YXq>1ngZYsUPVJ@!vfiIDKecto1m$TOS)~#vYrqLgJ zH=;T7W2c6=53l~j#VWAikh#8owZE0*Yf!|<)omO;Bl%eN=RNPkUKmh7jzw_f>-$t2 z%a7_mi+9o$Rdlmbbn4vVIQ1_sH$~l=yW+oE-R$pb+GBC-<O?Dd8fRpxa(3A z8+b{{F5s7Vzgws%pt$!l)AL|LxY;<3R<6{dwm2frOY_KStJes3h?rmj@~SHb(Y_*;141kHuyZ0VsF=$&K>U7 zu}s2L;{Kcy9@oNz6ogk`pB#M@ek)2eO?~q^5y{l~(!DCS$pszND#{F05mn>9P&x_g=t zn_Erg{NY9^0ChO#6ZfAU3ZuvMSw_d&(>^l2mnm_i-+NMUIC|R9hc!>h&$R^4m1r)p z6yTx4VBhP6?2nbKDJ*A^R60e`zRxDmqo;h(om(`MKqIlDPHv!c6RpdX38vINuNkH? zJt}xU*<`?kJ;!?Dh^7+{YYNS$Rp%XZ_Bz~msgfe5GL#8X{SE&=q5tiP7hKOMF;l1s z>@{rNr)7{dhafQ5fyJO?nSRaPh9canvOaW2$Ef0NcR zVVj{{JwC|a1onNROVahcOFXrbJvRa4!^%3;vQj2Sqp6Qry|ZtB<}KlT7?h-pwae0Y z{mZY~P-^#(XqI^sg6@QH;=`{|0$U73+H0Gd6_W@IM~S@eRyjX-{;GEi#;B7Na|-d%B#$MwP> z;kSYx2Z?p4Ytsw|R%k476#Uk!X{y6t@COKw`}(g_Zu6mi7amj-0OjM*_M+V%Xhc02 zByn^PtVtH=fum*_$!c1S1j~ZQKA46myPjFTDdWR;B&YXIOq0c{8=4VxH~nE4Y(Qjq z`;IVu;_Is{YuT8D*g`n6Jfn4A()BN~9&je|&+t3J#hR%hnlYbR>j=w?km&CbuHYtP zT=cNN;l($6MRVjF|3o|g3aqK&TctrI{`j(SAuycT<;;f!TAd3@wYMp2r7%g6MZD_f ziP^4vp^Trcv4194(O6l_@l?Y9sy>=jE2CC8D^eQ#%sd0ul)Ym+(1^3r(`s;l*z(8Z zERuz4*AAEWGuEcz-*|?Gnbnj9u3HWj=D3#U9-U~)mBu{eUDeho9|zNZjltTLq3ku! zS2X$-H)bhAHa~-=_$MC|i%J7OBzZ`<7XHpa>x1Waco#)t8V=(CYRj{OBa;ZZflh5_ zr=31?l!=MyiDM%TYbKPM?T(>?^fFvq`FALybES}L6KchF6ugON`jh;wU1#xk>hSEU z@8h?hU#U-%LqwHO(HFRjUf8lduO+*hUm#u>S`0DVkhKZwh!A_@W7@wBnfj%$f&5RY zPcqQ|o$tj0X#T1?c3;tKRF01$$nw3{sDGFHOL{WTipa0yhvv-S`nHG&rw;<1JB53p zX*wr!sh_gyc);Bm#;?pMbmo9MiA^-QjqIGU!8;gW5-M$PEMS#MJCmbF(N+ZtyQk9PMn^=T+^55NYbr`nF#^t-&t+PoVMX)`IjMnz4mB_ z!dd3m0uA|}gZhQ~zg4dIc z*uqGe&PBESQ3L5-T1J-M#V$(pHvB>?g*|Q=V{$&`f|jVT9%_xTXG0jm#>sctl~mM3 z=ej{mFR&k4*RTR?)3jFkog9b$TVb`kg@21VjXW*>KKdlxAOBwQ?wfxv5#l~nPcJO} zG<{6nh+|l7{2CMg>7;a@J4cuY5o!5JtjHL>BRtAL-<`my7>K^2uNaB6qfZZF``ng0 z33r-7AR9l5J~wGRe+-G6u)r}E75#I7-kHlK>-(GA;8&qROhR6ZpM1WfN~?9^72X(S zo@;z|(fSikGI*>10TmBWMDpoMG&jK-9}vPr&S3QoFCK#1L}U;|Z2EInF766nwib|C z@HvI=U40V1OZYoP5{{ephd>O4Ea`ChWbY*@ha4$8>6h=6rSV)VUAEU`M(J=Qt$FQk zgyhr0`L2K|m4I9!{1jtM!>zXiW;{WB(1^NlVPSlw>36Cwl1k>`N|V48skaf(U=8xf zvLyWLP14E)#o+|Jc{=-R#2HYwj)qq_iX@LD-dL>&u06r5jzOYmbrz^sDG8resGPuH zD#X*v!D~9hTtZil$-(R1BJNgK;$bpF^)Sf-C~#kfP2n1iY49)tc-vM*eD z=%uYn0uB$cR5v8La?OF|PC+La7j7MQ9gI1fgfEAJt8|Wi7HKz=rkR|UfSE`#m!qXr z6*}SZ>6#AYGn3$7pdx#vQ^WTrp6=_ox@4`o79C8zrog5bU_f^T^nuza^Cv2;hbf<9 zdlee1=7v0{s3{>#uxl`qwxE~+I}R*Obh1(s&FZ#{6k6gqTALnNbnYM@A$)vAH9&Yc zx6KqNB!c%^+~uXpK&Mh3!h3 zG2=+q>y`IPs~6Ky)w*B94dW-UW<0R&gnX1kOb$LKQ3>m2@fqqNJ;ee}XCJYn1$#;` z?(I*parfk!@U)*;7Lv2(mCT>j&h-;f@Dx*U%2IIrJmPcigK(~7TD-Mh>VlUhFyaPi z>Oxc7_g~oRlDJ$EJ1xknoJYAzIi}xySW@@xE_?&rF>Z+hv3$e1HnTjkz@A(%ZqWs+ zNXZK{q^TfGlBy{zSE6u*f2vK3*nY44F5f4by`QyaV>OS%MtI|$-zPmg_*R%y@AfY1 zm$?;FGQNb55gRt%_gR{@`wZX^wGMxb@+4RAzT}9`x9|OKzbxglG<+Meyf4f!`mZr9 zUZua_AOZIhC(@}j3=(e*hQ!~yN!*Ibo>?*+WRE7;oaRZLNU7vc^1Au0T_5j3GX29G&v8!4s+Bq(0*TeJQ{?5Kody~_Gr5+^H??Fmm8GE!hhrTQd(?v`i5 zE!YBw1j0#Tu}^x9#&$G=A8A#hY*O{fr7DDsluW7G!nBg>GgT)U>8D$g=}#e#o2=YO zJyPgGKD$dl_&Ok%Fv?24M*5$IbwiDMbd7=-h0MR|=5LgW|7sIEYc-Wf)IZm0h}G#V z5^J~AC48;ZZOPH6s`n$vG{o~a=B&5QAhV$Iw^^(YuBva|t#|!L=KRmc&9A}zbA!EG zz4u~+T?jb1wBaRsW8mk;2){;HMq_kKW9(vM+`q;Is-{G-rsU5}seVmq8BOVjWS4MY zJqm8nyj-4GbHV54pMJ=lsOFNE=CVb(6cpTAIPh|UAbVJ$+^?lEqoui}rFFRZH&shb zOH+CVs8|Y6tPWg(v<}kakEpj6ClK`5wGNcF+IF>$akhSo!7p>h8R3K6uD$3*IO7!4 zfr;tyi{Wi6N^GlC?VB-eiNnBf6yPc+EnEt)Ohs_^8F(4PdF|J6ve*cB##wO&|D&S4 zaK?e75TG7`5bE#-S2)gNM+_b?N2=|LADjc}1WI>qaq^ItbrRY)jyU5G34r%nAdFmK z{8p}8=PvrAhP^Yu3oiN%x^7&0{BSt@LbF@&vCC^1myU}be%6Z9iQ78?e-`MGh;3MK z#=!tGFvUVtM))*Zdt8TcM=HCprdk1Cai53Dw(L6dI(xO3>Mzf{!Cyh~bog}i_^Niq zr|>@TIlxpL93I>QGQkU12l(p)-aUfj6F|4f0~8e8`ZF+6$dDs6deKlj{PY1C6Wv(r zU8DqX+(}SP1}L0vkW#weBC|dlkHB_hkkVv8QMwaC(1O+3tLG1?hvW1^hO5{5SMBgN zoWW3M;B5kKq<;??Dlk$UBK+98;tYhsampXT$@&BfkRD8Fz`_|)fZ&>D5|lg+n%dzR zjX?5≫}6Qy(GOhw#6dBUtA{Xy??iCP-!-Ze(jI;U(&N%}Uj82fM0Qx>dHt8p?fVi&8 zllJy_3y?`xLX8U1!5M%fmRTnV=t|@C^I@x#ga+Hv>P) z=e>_1zh5kRX4U@7?8ABkk#3v6r2~s_f$Jfy)7%gkH{=3k5mq*Uq0#X|eCBugFxt6y zV=K;n>t6&MK)wQ}9K(qS06%ceh;TuAA*)KXU&H$=#B z8NCx{Kp%2x4`HpCbXx8lS6QfB?h0zf8OU5itbyc#8|Ytg3$li{IPuCx|Dabb3j_ku zP!}_^##Z2K%I#}+0SXlCNEt+jl_nH%}WT+nyi zN?nHk_|h}Y4UWwjI7Il3H)U>%h!3j)fovxbEBpb1kg-d<@uRlw)1@^iaJ=Pc=YbPK zfc%AHh0oCOSh!0)kLXioR$6IlFBw|v{4$qD}ZleYS2 zuourBG0(n5+z$8WRlAkdFUnm^nVrQs1K5wVy?n!4Ee8e_!x2YtO@r3s<1v!Bqszs^ z*t6Z%ioFBJqmAWF1j_z!Af#LsQj_)P^~q|q|E}QJ{wfco_-rmdp_j$+Pnj}g7&7&@ zZEs0+hx@3bs$yAtY&k9KsIj8Uwe7@P9|z}XtW)Cfcw~FY@VpkZ$2@)n9Kt~#SxvO> zuRm*jn|a89Pz8MB*|}1_K*UYcKg|;HKy0}-o0exYjrZ`M!DW0`k%r@j_@@_!7aNd$ z?JuVoUw0o@7GGvBiqM|zN&Q8{C)J{sS#Mkek?Zkjojm%P4;CpA`uF)%apY_NG4QjL)fq z$?;FNKIHl{@JM-0fVcg^87`0i2fcOqAqIXZc2(owb9M-FH5%S}TIgQACRyD+IlILu zTMtG6??~gjA`I>nl={ZU2Cv27jgNCy9sQNSL37^wTlk-|z(4WSs|ikrlc2$XqqT=0 z3m_omR+E53%Q~qwsF&x-jICl#Jc58(wV?NC<(*|Qi({sBjIp#_M(b0{E!$$7Oh3lo zhknJ`H|q5~&q{^o+2x@b<}Qh8AmaWYxCCWv+VN(U43Kx7i!Fw!CYRt1>4w%(c7x0X z58CH}5o2l9m6K(zt=fc^aN6#~mlXWl$~lCbU0*)Wofx$GT%Y{kdIS^9qCbE3f9nzQ zb8(r-eu08v=WOwEYF@(?VOJ)7CkStzcm!m9KKZAj+&kgK3%PI~T9lqtDfU z^vLSUlV59DS|@F$X7i%iEtwTYdI`Cou`vHJ_rt-(fzah0r?WH`mHU}AfHB#*>!P{| zLmZd6d8;Gp74>PNeQH7cCb$QP)FZOwX2~vclr|fcavLl|F8szXqhm;n z|AtxjQ~Cfa6qu5CX`-vhUbHV9TEo@eqnq^!qR~Jfr-NZy}mOP!V${i;Q zkZ#xz6X7UerWRLK^sx3)ReT2TY(zXHbYHF|7s;@1gq_kf2;JsAwfL>n9&4V3f z4aGpm1U@NizC)+BpF=(C$aUiVyH|G%P)&+Pht|tkDt`4sX5FI3TT*}LE`;mLrqu1G zt?4c*uSb^%jJAJUK2j#st|Nj*EhB>(+1QSwZ^;byxIfdB&^7k>6kJYz_A;>0_I%Ss zu4}tm0BQF15Aa$spyA)~iw@E3UWs|#zNLk>iYM4%Kw`^?8UHQt!NktaFt0d0kE{An zWMg}Pv?(-@9-h6rM^I7xDJVeh{_vSr9l&nMq&w8iR(vaVQPpeDV^uT)Pm5<5GBZL2 zrLmc}jk6_F3`>#A&~?n42E9ZxHty>ru-ZNirrJWzxk%B+wFQT=x>sS!Xd*Yqp1{OP zUk3zus)!-)orQ7$8hD=uaHA?WpaLcUkb?_O3y!UeY!m%=DO6lb6f=o|XaIN4IoOJy ziAuByesi7wYM zSWirn&FB*Se7<8pcX_|p;;?z;=M#SPtdR;+SELCa7?*sn3mkA(aDh!L(3i=O5s2TbcWI zjh~uXhyIfs*B1bUVvhuw4~Af?X3Jkx0!}KEA>AB#n4Lg4$tx28edtTI^-*&eRwrvy zVhuA?;)3}Na7s0gqM&NPlwP=Vm+pH=O7*lW@4mT}qRIi?c{s!$=p)apYC04&os@Z3 zi%EocUKHfLMNYpC6Q{IcxKpXj{;j1bGjJQXz|f*8U}P>HRX>+SaO2nE6p24 zgo@0e45Yug%u{FHIer@WG}O1!8<4l{=tY!70KzZOXMpb8SGY!rNy@^DVG3UIZPv>Lqm7D8_FgXzfeBVG*)P#E1Td$(v zk7l1K@vIPwuPBS_S3lQjiAludyKp)>KTT_MHZlr@XhLkj{vSq=obE8QY^078)+BeN zPnToK_snW8%a=bi)%V{nAoM>}cCZ-c*9#iXmXydB$+7Z-S?K2CzKNtyMxk4>2 zDO8V(ucu7)8hs1X;u0R9gPd4h2zGkkA?!_trwpzdRW=btR zN)4WDb^7&YYkqo^zqX3WH&B^t+41-t@MQPP!okkJTWBgcz~1~&Z+^tMraWtzyvo5Y zaFk_!p-(Q&I_b+_jiG3(X&#L$%e5r2(Z`tB#OqciN=kn+X7A`GIIB#|^5e9=Rs6dyAP1=)2kRGWj;kpCHAd!t|LFnt&HJ+@^K|u=J8WW(Z zj@iLU8Wwl33CLI>Yuy;}V~RrNMg^x*#gpt`LwV#kFL6^gj-QR;E7GoADEVJYi*Vmi z)6%Kv<&#@4z*ZPT+rKNiL<-C1|@h&Ztixwfl`vvER4VpBQS@fNso?3{~zQN_~ zxUjgz!>x_T@%IgnfmIRw?dRZSs(cZmeJm^=*qaz*bCo&2}F69lL#1Af!#G-g7W4Ns{ChV*{oGskvu2%~M%QPA!N{M5x`7_j%#VS<7FFi^$@s~W|R)l$)kEaXD@mLL(`&A z*o%4@KqfuERL%<0**NV)71TyLX-7KM!WCK*1~SWHvY4W>{R>5@`kV9kWf%baNiZ6A z*q6KBfk9k3=cvCpL#@%Us;#&J1-5VD5-kY>8Oe1YUv{;k1Lp9YfSid zA~H5mR>x4#*M=(}Y!1>l#Rw{cbu`1^58RJ>nYS`!GJ0helpvOTymWI+)N^J;X8gQ4 zZ(CP<>jN_-9>MYwOztlR{~kI&B#f*XgMTelLI-oze7NPTtoprLmUtID8T(GZphkF- zaFnw*vq&K~v1-0N3PpM5K7Q79JT$$8aiM>&2bBIeF)li;n=fITN$UiA^-Bsj<_wGO zZyy5X*J!KQ1*!_uG|Pr9PgD-eXFW!gHg>keAKibae8o9LlqRq>qi7i_5cGK*XV&E( zC)9b?Lb=oaaIJ-^+`Zd4qM6NT|AHP37t~}@VJX(kBrKt=qMHtFmS4zV*<~X*O)F=V zRVn+Y#sb2Bq+-KRj@C_#T2t(ep^~8gB6QZ(9>evmLVb4b^TCiR)G6Y@5{gG z-{_^lA~u+5np#8Si{pJQ{ijkiJ6LEM^Ixr~rw7=SpL(402RvEK5A&EG_@HX~P_vxY z)?mJaHL*DFNKMR`UxcuDVOR^^r*OFBpRR0IX%0tfHMinuYQ>qboL(4wdV`HMfdeqs zif0d+(J8Immd0;v`0>l8dYmBp7$S-s#I;`;UDy+( zgQ+(GwOYp1Gsd*#j=NPHgPqL<1>o=IR7F{XR)RrCcR;Wh_ed}(?3$=KE$UERx0O#f z5L!2VmFROI(Rmi3G9YD_12ve(R9wR;@%ura1j}(qDSBG?blA*x4tZF^_g%x(%7Ml` zVf$8Uw|NUxEQ)IJe=dazaU3O13&uOIVLH++*10Mdw>2wuR@Y_Kak_lxLKo!ZS5!k? zY9pCZ^8VbBMIs=w6#HSR3tA_1Nb$NQW?(saFkneHNiZw7=5|tFVO@Wuu1-ATwarG% zWLv`&$l&w8nskDf9mWRlTnuKO>fgTAH`SIaBW#BPolrUvdHDxw5WpOlR4K!toGiA>< z<)|>_Y&Yc^Gv!_}?4;ISYpq zOQ&Z`XM8Ic8Y@?x-R$rGN!Yu^8UJTAgD%8EXBXQL%WEZ!H^B1Gi(&{NEbR3LKHNM2x7C`thGp6YZUMqcIMcAW*n-X_g-4I5sfv9IXu!*0VOLC zJ4nhlXwBxw^Zp$u6aq)_RIttTv?{GQ_!eRFD{z$#5SrK*nYn`!1hK2S!Nx*DF6X`S zb|ZeQc^oH>tIgnNMD`9e_ya=;V6zp2VQ}@7RJGlv@lP&-J?f@&;W}4fK7p; z4R`|eg)w$_-)dXC4f2tA)d!QTq0*$;KY~JYDo`otP|+%Fu!>N}B(TTvZNP98Fdzit z?eGG{VaCwm-!`f=1Vh|80ucm9f3X%q>ka)|fBck%zVXv&umT#CU>{+Py&EySsk+)_ z2}2G<)K;8qX9LRP9M{Snk9Hg%RqS%^9M5>1E+w3=Z7=yZ)dy?XW+OqXcehP zoWTfZ2-t;y)`gJQg-FtcSj~mR2&qS0$bwwR<6S6zxKRFfK_U)nq#jvyp*eM-MYzy` zUFm6Ek$Qwt(v?ZgmD$LZ#mSX5$dxVLmHme+$8T584p**mSMF6;o>Ny|gexD|ji1&{ zfY%KnDCzc6%}vP2?Uj?;>mWDbcsC>wK{^nz4ma^}w>PV95~psG2sbIPyELu446plJ zN%wbZ?y^Sia!&5@LGB9i?utL$-~V=3>OgKexT~zXtDd^6A>7r$9vZYBn!Fw#Bt4Kr z4j+v?w4FRY1$pSid+7e~(EIK2xx+($+{0ki!|>F@2;pH2_B5gOH0AX)lk`LaEDIw~ zODE(T&(k{I)8>b#?Qc)J4o~}WPlr`c$5T%ygr_su%Z2tNROR{ZT*Wqy`Y+kpaUc9;EFJ6JMVF!!M zLR;8EsIgGva_+=tL)%87$Yqr%>(C(MJ2upN8n!J`h$aP}H*e>iJKW5F9wq>T5yOG4cNa-K5fP<+M;d+O_xm&$<$qUtyC6fEp6E3HKPtTobbhb2eEn~w_mt^iDxcZV z|5NFGup~mT+Tr!TE4`CA4E}d0Q)o}}hj@+c|AaD)yQ|CI*O&cIC=>5v*?%j&k)ce- zxAort4P~BwXbDEgqfu_GG>Hf#;xrs-bea6|4y=@|+*EDRwb}RO<$hz$?s(4SY>RSp z?f##lk5eT*&4k?cv?7uJ31vDIxfHHW$8GEt=Qe|*(O3rt)u|iS=5@=4AB`-!gNiwJ=C~z_jrj{+BI>^`IR+hQHDGBn`!!Q%4v zL|*%b4vLC7>h6~k7$TbY%W9vaMs0x+={rS*97AJluj{8cvMWjd8I=#P9I|qkRmuz_ z2WbcF@;n*b%y`QwOC5rTJP(f>08iJk%oR(6abL=8n~s~$kEc~#H0kEY%{~f{H1%13x+TlS z0F%`##*f`Priwz*&CO^37iISy&xRkz`<^TzA+f0yd)A(%#NNa#x?+z~qpJ2Ev11lB zOO;ZMRjS%rtx?rbY816cOT}tck(=K+=iYPffA{|DFMs6W@x|-?{CpgF^-o({ibZb; z&58&H>iB6)_VuG^&Nt=bN{Ukhyi9Bh6q~m?H)>=JuRgkFER-LI{=FeZ9D{^O9ZfI& zc+fUJYi?_o*KZ(sJXbk&JgCJ=Gu)28FdLPd35}5Cp8e@fX0x&bzaIU)RJK0}A7cnR zN4x{YRfbB388+45kNopoak)sVvw)rjwkE564<2gLId3c z`WbgXnbrFH#D`jIs*|28e}2q##Blk1R%Chi_h?#FIi&oT;m6aR*LyKu$FNE&$DnuB z=Gm(M)Mv?TTgB8@NOAm*kn!aHOHLZ;F)ZG&rEond$Zv2w3hsREqNR`l0QTX{812#< z>SJ436QAy}QR}2;@#0x$B!(NP;SRu+TS&2fFkm zd@o!zKSt3tNqY1#+u%w*?+j9m5=NnoNEyubj4*sFKn$l7AKa~*iEh>wsnH&&*@_3D zJLA|wLX*W$0_jwW;xHqO3F8Isi0nG^EAoL91r>Df zOY~zIQM!dDR0I?B){Us8KmtjIl|=fc#8FOb*)9tmaL)ZRxQaEB#n9w^Vm9L~;S^&t zusk?Vc&-M0v1CvMUxnX}1z#dF(sA{z!0vJwi0O`JI7jk>{T$rY0BCp46lSnlqP1$0}pC|Z0;xhvW1)uj|D)6at;~K zBL|fhVnwWK^OE<51{8SrlQ26Z#uT7Q_!x;=Wo?Cruk!=nrPI7SLI*rC7;ny?@vJ-z zg_8Mvezo<0_YWLMj1g`Qaw#U0uT{atC2MXlS-Si?H7Mp*Vjm6aX_8&v3YdV_XVk=J z#n|4jkSo$xnBxb_+&C=TrPARF+D|b`2Ec%UKQL_L3UT?akp5VZrXOv-N97VDY`uo7 zQ8wMIW+@;h;EA*oUe3I>hmH`cM@yiBIJ7O7kxzg~9p@AlFIVem@D67U3NJ9TgdpJi zw$=hVV!E+x1Tk&tl9M}{eo+$d! zWRr7J_b)=ME4Sj()aCTl19D%qziP^Fh#1DeS4a9o2Ojh{BpuPYmDu?i($bw}E5Dph zQ$dY;?NV;Lu~1Vkkc;Vv8l54ejHuaiL$%=|1*!YAdhE)mNkOJa7RitmMi~yV$LxWf z?k>x~hQv!!XJ-ht9#fP#<)d~BOQRe?-6Slp_?X5C1Sj|BkiGgO76`bQotB5dVX$}9 z==J#FxrSRCguoakVqCx~aF?Jf700GJ4g{|BE2ey@%F96r@I|eR+#tJ+n{r zFZ+m0yPG1wsha$r(UO-tg0lgKmlTNcLYU>daqxZy z8L#+17bI#ahd69WO&hn%-z+oJ$Fz$KNr8_p0i!7S0EfZ0@s+rw2Z=LN-D`fByXT7) zw*UBA$k8c`n)P>hr)EFyRfZ5ar6*m#MW#P&tkdg|%GYXhLfOmiX_lz5yP6R)O@wNFN`QuL_y^Q&wT?5Gm!Cd~R=h72 z&D+%Ggdm|$U_7o7j9BuZV8*XoqauRfr7>THAZ@^2!7A7UV4`+`1tvChWdXu-h3ZS;9tV=MWGb8QV1y^rQed&Kt}WXenGUBbH*$w8JIv|%pnj}A^~oX3)w4B~3A+&We+;#if;AUgnv#sYmG0QZ$G_o$5L8Dk$CdNDl#C%A#d@qk+> zuqXs(9srby1t;b@T!c8-7>Nb1?;B+um^onWAp*$MVLPGI>gLNps{mB?S0QAyxeL&7vCi~+8 z4q3wNYz^n__1B5X_D_>(7%xZFDU$<|LC&mU9MU>*bS9oAWP-C>9d3r~e$5|x3)7k$ zxs_zYoLuCf<;EB`W0#V5kQ&;8w0BN53WQut;qc?B)vBq5s<`sHH0@q`BqZ(SK$>n2 z%prh&9!pcnmgWxSE#}Br@8_s7%6PYxCZ?D69?F`0d@rXt<1G#7axD08HGN(nW5(-> zc$;WbsKD$=W=?D7$`<>QL)LADEID9izDw55iQLwS=8rnjUDfO*7q(!Icu|(@u$+u} zMxXf!wydqpBUSvcHQPG}eSwptdLyY?H`ZBK1DoZbKVoJe$DBtxY%#K02qr!A*Z})x zcz>aQ&c1H7Dyvm6eq0AuCCj>wwC?fBkxdnk>lS&tSPOy9dF8)ZOF~`H!@i1{bs1D`0c#mGL@~%GS8eR?tFL7G^!oWua zSq)SQp90FL?#?Ki#I8eRDurv4oUE5z_NYKXJ@z@a0znwSek!;$AxI8I8wP>tC|{}0 zui}zGUPfw7zPxs;=Mk9zeXf6VySP?zh2;~8n(H@B^%obXT)6rnoDc1Crev``OKbP# z4jGHtU9#||{J5F~I9$TD&Vc+WWH$Ly-Qlsz@w&uqBE%b4lJU&%K2bGDZ*RxvU75?O0mO8W(ActYm#z!W^XHrq`3bS6sF=AC#L1Yfn zkCwgj)f+AA`%@{!Z^=Y)SYsChF?`mxROF} zs|MY3CHFk@OnyNYHrO9|&Mo2z7Gb&P=z=HQ0{y(9^Hl-aU^a1txFriyLD3Iax|!Pn zAm4aen4ZgC=lhbzQcP^9BG*0_d1$5lj~N}C{)HX4bDusJ14^~`JlODqe6&bUu~ZCW z>PZIAC%5V80o)8=b{+7dxe&2GFN&vpgiy4Mh8~}gK&U89TX@g_<$im*pRGF5{*e!G zz3sZd-L>DP{g9`_7yu(X9p812FMkoOnEUld;k^)Ad;o@X{rN^QhYVM1mMO1!b0vNp z-k=w(27`$c2oFX=fpK)|3L!IpEYk6~3L`)MV}uIkRbYhAu56b?@=bKlBR`^o!_ORH zhr$~_?~!G}Zdb%>UyIZ?5Y~nZ>r?!iO=a&A70f?&nR#B5Lq?!;niJitUG@M!BN}+6cC~f9^K^eCGt{5$=1pC`g}C;CEIMZP(Ebs(xJ+09;gHxQj0k zQtzQ8nehlzZMvdm45W^;#2n!Ren5ZS0aPwvX++UFPF4_%U$vI6q zdrw8nC+l4I=+zH--Sh^Ijc)_^>w0qdcz2?m-LM8=|CS0CC|~r#sV?rC)Dvao3#OvD zTAYbfWfH^BJ|X!J$^j7RJjcs;!&{KJyrQ^QvFYq*_p-4-&Xd-d2OpS=!uhBm$|Qh3 z+NG>A-h

vP+@~j08r)I)Kywncq<6t@pwQG`EmIc@lLQT40+5j`RgC71D-o4+WXY z`dzUs{V3R&luNfg(8A3#TqV+Ep9<-vzqfVAr-;EzEXTjdGM!@-7KR+)PTNI$LKtJG zF(w6dqcCwC(8@2+>prnjc>1jCMZ{=B=%~cTCt%!jLMYSOsiNs9yNbfc9~qY{a*#-G z+(Kv}&1|MeeunDrjLr^xLukg~4a1(~j|p`+J!hu2p|tFx>|h$)-?M`I#aDlx5xcBD zT8*1I{^ihSGE<*v4+~oP1#5j5TP3HB>U%lwr-EMyUWrOf6`x?N*E*x0kYpx2| zX9_Hv4u3NpxiB4lJ{`+56MuCk@#ai&)C{g{Chg5k#==aNxh*C4jUdRu?Pd$3W{b*Z zOWsg&%-QnuS@=36f{Lz($asL9&7+@t_GYeeVXoET*M z&bncsg8>MRxNlvbL=TDI9+JNG-uy2&L2QGv}ee_Rbji_BpZ#4S9XO_^5C3*VV=JGCF?@A0_0hM}LR)(oHWc z3{QL~XMV?((Iujnj+ehvWg!95NQ8wXL)KCfJsfrmm57;x#Vs>kTs|Z$vuVz(AR)5> zD9RtuVcHPB3mI|EmAEL{%_tNlrlpjC4+-D+Y*tkmRs*6In025ZqmU8A)dhhygI}vR z%T~8CQ7srKb2KeC1LGgex^fQv0e&rRf6b|B&GMY#`8v`W$+TLzq8hk@X#P&44S|m# zhd+S>njod?!eSWP6^2{>sukh_d>4TUXF>46^bqF=Q6t%z*NE(a->PmwLD7i%o(*6ig3z?t+O*5k{C)50FOW0r`VvF$*bY-5!VSME(7XFN z>+AH@oi7$hUTI`@&+FCDf%jlkcFv#l&F?Mp+yWU6fIfO_w!YdZ?C;+~C3r;5etanMTJ+xl<&6x5-@G_(}`bYdP`b8?ZKY=#Ge{)m%XXIPjKj``97k|lU$Ri9q ziS!p@wF;(&U&lbLEs>>K$isj=GMRADT~2qM@a=2a$v_4DGcuwS4H10{_UeHS5@@G+ zzI$QdgH-45d%!(0@avSYJoY3FflRtMhb4&E$?3Rt)4R{YH!3F{RL9n^o4vnNk4FoPeNZp=E0Qq)}o?^YeZM9+{kFE)jU~6Hxkj z|49B94J8X&R=Sdz09PdhEo;L!4E=YNN(h_#2h8?66*LW78n;M+Mye{if|OgjY<UdiyI+Y>#P_TIWtNbh@F<4-J~-ujR9W{CTO^;^oWfQV4jsBvL-jhM5(*H%7 z(&Lrh)xR!DY|#7H3JesQW<;!J+Fs1My^+OsKb6&4i8LzIIZ3;0^!sI(xP;<7Bk(D? zo$l(9A&`-!r8^VlK19E)m>W>u)IDL|kYX^ey|< z>p$p6P8;qpD-Kc7X{N;9s58*P<+B(Ilbt8zY^oc-Orn%>SWaTiTCFf$)0r~l;TF_?xvFr!XGR~{5gNHR0gbF_2X;7S2dNFi1HsF983J{8%l5F z-+1M4%$NVFllFbnz*0QyqKjPqE-Xkd0cOAiXA6^Fb1r#osu<#R0_`{{PjBhkgm4Alb3_P9&2y=cTcZ{IGz&XdiSwc^mt+V6UEE z_R>5kZ-YObZP_wrG!1_i|3`=8114EPuSBEoYib@X!EBqgW9Zx*Elz1|&k5O2zHL`a%Yflac!=f<8t!Uy42Lc23lZ)^*W! z(0|zF@WkcAl@CP{{m;_0!5m3|)mY3uzGNZMbgp^2ONP9(#+mSK)ra##f_yF}O5twV&ZPohgv6Q5rL7BFYuqpU{YCn6 zW4shxF3H^1fpT0;cb>K=*=#`$;$DZ2O z8L*lTVs8o_o)|ZJ*fm^V_qq1w)Q;d%fbL%{D$~)ilXp;Rq>$d%7f$Uv<5^4H-XuCc z`H%Fr3w=mfIzKzT)r3{k+X1oF;4S+ixDZm~yu{&3v$b+4{uK&r%&36k^};dfiWG_4N7@ z!L_b0Pww8Qkls5U*Is|4M44~?-6SQmzdqnt-@1Q{WiI}GOEB*$2QMdGV8)ZvYrU|= zU&3CjA1ca`^o6bgNte5Cdw8(b$v>Y;x_ajPvqiw+71(FiItPoSTv^v_e}9VU9@lsi z`d*<{&gQ1n)UtdcQo1oPJF3)%W!Ry@`d@=?A1aGalAM+c;!f`kX(q#6_MM>8bHCK#hwU z%(+AJc3x;uP@u_P;_eXgMXJykv)U1QVjO=3p2!eJi851?RWxp`G4jiQ73uktT|(O> z*f>+$7TYYXr_v>u9*ryETfxQk%uTe`wznNMFnZ9H=-+NWs59kh(@S@gM5I2^b&*3x zPCCtg+?e1^ex73}Tg%T1P>NLDuf@)}Ah_?~Y~@>7tr0?8*|Cr{UMn@B!4JK~jAMdD z%h&*KF5{gme}u~ycCTvmvArY~mHdHFuDoO*$;EPtwj0!GDgzDDZVS4yN(Yu{Lj7YW zv7pw=(fiw&G{FEDsa2C1(LXoUS-tL8WTshVXePm=+or}rwQt2gIV7Jb5n zJ97nTE#nUGK=mz65|=j9BrahY`f`b_vY|Lx_RU}2HeVw;z2X!@?CZfVnSTjj@yGZp z%MF!9oE~Cqblv=_ujr`cvc12>n@H#s$kD4+(Wh}T7AvrSeasc+#lAj^3_L~uYQXJC zYRhu>UXSQ}Ym6*>O~ZCWE6j+O9EKNvz@ItO`7$5}iob)S@X+o$jK_~?icS0ZxzX#) z{5!=R$+5cM4hzG2SnuD{8310{@y=OA0jB~9b0;NAYtRMf9@%+4i~OrA@jtd2T_^U`~R<%vr{uJ5cn30D$Q{bf*+*nTJNfl5e zsaoXHyZm5=UBTz|zW;=Mf4HBPNszEF!uf3J`R#NwJ2$37Gx$w%&_066#HytF)Kn^% zXn5LS|8tulsQgIPm67NFFbU$l&&|{s9*okxbABScFW@gx6L-?*CuOv^DumM!&P2BS z343B)BG4D6Cw_@GMUj;pD50D%YP82yt0GvUqAkMP%HTC&lza5nG*A$pYw~T@l53|X1i0z*63NikhUXflCS2ujTclq4ns!8*4)irP z>X~+Fv{n)>caNIBnKzx98|*s!=*Vo^%RTx6WY(`?HehD<{)X8HU$enTv!M*L;nLAe z)C*HtnSUc@pXSZRcFaEe%A8&5&n1|Ro|%2o_%sUtgs(CC8ca(i`0VK=0^pv0Zm79l z?x#1EpT5qU=LZm6Vr9v1atW44(C;7%eI|=Vv$32Z!mA7kI$uPri$xW@WOGM$y?ZPJ zrO5O}ikVq-x2E>jfW>|zROgPxn>4wyu4W&d&-=cg<9dd-OKa0Ko^XG`PYEd>*9bSK zefSsrc@5rDF#^GI5Pj?3CZpuv$+rYIK&hSxgWm9gk1h9oa8e zNF;DeH9+YyE$_t1i&x7_x-v5r5UY;lE0|KchcU#*G#pQ8fMtSm_n`701=tHjzUy9 z`*ig+uE-2^R>ebJQZvcv{9wA3AmR>n4gDfgU@ZywLS2KCZ^tRTso36zdSH~Yu=-l} z88ph?%lVm`eZdv!u{dHA!8<(mTUNQT5Q`ItnLEym2kLr~Vn;|$Rki(g{geJDoBa?13UPp{WecQ(O{mE)spT&xRT6y600h#UQ+;gUgc`;mq z5iUvWTkB0a9YW=p_@EBvt5@etMkXX{H^Gi-)@}=E)o`WK+sQ`hYF&ZTM#MlvCUgGy ze7K{oL*(mTBQ>6NM}BYEgU3z{^u=spQ*6$leBGQHr?fJZ!1Bz z@(YeMOyc{mmFf+z)c@$xzv<6Z+Ig)7(3q_*Q%W>f#AdWY*&JgRwW+&0i_*jJdNp{) zcX>1hMiuXr#v=LW?QjX2vJkw|Jl=19Fp0LZcj3m=!aHPUO8`j`V&|7n z__AE54DNY=zY$^*Pv9EJobwiZa`L^g=T+v6%{M!<)9288;C6?j`KdhSMkH{iF5?^5 z<3|!~RbC=vf8Q(#((|`~Eik}a%|g7+>6Nk0oF8brU<%)gnNCy}roMqn<={_UpmON% zHV*S%V)Hg9Gj^&;nsvE<*KzcabgB*3IwB_{FCHLQ$Y%8}HMZp_fb$3cLKovB@<0Hc z<)Mqa#4?8(WHEyM;uBQz)zXLj8yQ9Rvw}cfXAnH2B{J^QY6OyMUSA+151`Qlx{)rc zI_w(o`jatBhmqvCB# z%@kJ=PPcql2bREZ48{YTl9xK)>nx3zA>K0swSK$Fc;HO&h(1+_zFX$!_qh0G*8z>* z{QIgBqZM5aTm{aYd@LPT7M-To*4$8*$r8r5BB)^WcCZ z_?4x-Zis9FqZU0ChBiM4gSj$UDrXb!ie0-I#iCp9EVunoPfp+$tpQ-Xlw7hfJ5t2y zE8X6%22oSrptho0Y`uhQy6JVx?8em6Bl&DoS-K81aBlc}6;=EAY})RUuI+xme==HI zBd_phadqr;@fFe9h=KN0u8I$-RdwkKU)O>;p>O38g@P+74!o4|T%^uNq0>hJ15ogq zw_C)S`QmbGaYZ$=`I>aG%@1Q#f1Y=0+a9NmaCAQrdsIy2(T+`4g;}xqcn8$ac6Ih= zX$q87bII-dIC6UrMB3+FD4Z3eVOFTG6P53OWgiafPrvrQ&GLSq|0PQ<*y04f)>}Nv zmiBhV_eoE|h^j$6A+PV`{isEE-vy)G79dI)XoE|f%K`;#C%C+^BBv9rPkU>NY<(H# z;D_3LD^2hH%Dm`PaU(_uSooS}Z|T3;oF8|5kG2KEw|^d(df-AE1wP=Mlze+^owJr6 zf29)&E>*Vi9z3+zD+zrlk}H_O!67VQnATG*<|0*x+uL2Umn-^VI+GNGgitzjm2*fq zc0DZ=7$o42QS=vaGNccFEcFa7=Ho9DAAkzldvL?wbsrkXvNxb-WVte-5kHu0Hk2Q~ zmS6NaO%-CXm0&^y+n@sGHIqSu0|7kr4L6LKr}x;%`+R>c^RVx~UmIH5eg4_}%5-`7Q3V#_di%GF;qTj-~GR% zOhhQ9yp5L$P0$KWv_vFPyYR-(;m^N^H|>SLAcqqW5zTxNEiw_U zS`lrQ5$(4lUiwFL#6)DQLb5j@T`B(_5;Yjx{#BDfnR|(js>&&q;5Rgw?& zjQaO*9z*qgd^i?|$kG^^bYfD~XkyG##4wri^|v=dLCN^`Ikp;l7oRY{_t#?RDKGjg85NZx7WduK?EP&qh*z9U zB~HXBdLTby`$hE6chNhaqj$eY|JsY*BS(`EG5dTm2Qo4L0p6A|$G2mC`^Wr=i8;xR z`CAcl`Xc7vyO^`jG3Vc7F7{%`G`JW54U?1?3HAS-^xi%Y9xdYkKA!J=C^A-h<-x(u z_Ms@TQYYnZjd#A-M9u#uy$vrtS38#Y+UP_fy?-1_jz2T(&Aoi*x71vl&-7^`h1aj`yQ4f$eW%+ouLnkK&EnX}Q<%-%g`TmvH;nfNV_^`ivZ<8-` z|7*YRsp5~xXV+j0^M8+jqQ-V~JpBGC|3`XD2GjpjVL<=&I+VV9rh2e;CkhyI?)qJ= zd*rFji@WDtmea}Tl#Q%}BF*iY!8{rN3k?I4zhA+#X9*5(op#l@=&~;~FV0Q}_r5&H zvW)og_i2CR@$LguJgr1giEF191m}9bRaxwLDiz9~%;|%(zpUXUQlfAVxwV-5KS*zr zsExU_x93>rG`SH~!A!~CjfHfjADx2PR}GFvw6r+nh2#cE)R%;1PdkP3%%$s7(2=TY z!UcABq3l{`$Y2I_PyyNFKhoRyraB<=*s}Omw3^5xzphlL68{l3(Xs|dccS|JAFo6! zqE7#cR=V9(K&r%D3Kx59G?gP(otXtnuSOQ!!${>gg^TNTV}B4UABCTa*TtJ__wiPh zgnwh_Yu8391CL1vwx<_~^t2avLPq1OUms$%`!y!FwHUT8P0F|b%K1SUF8R=4zy}xd z+Ifo-+YN7C-d!d3QA&UyF>{f6rM-2>KxSpfy_k*EQ$XQTZA8yx*^0n3l%=d#)Ib zgJH>c8i)Up-bdr6T33&!uE$*cJ$vWf)jtanHm@5k76`Ww;SGR{@Z;`);!z) zsHJs&{Ov!|`|r!lAOB=DZ0pt@pxjJbqF5eX-e3b0g*y%)D`PP6Y8U~8>=e>tc*{nnWPN59wyx!mRq z4-LUfU+O+6wKQkmjTGcw6&qBWXwC}h7UVsw8@zhZoE?28hyscaX*0FplQo0{nCpl1 z^bTstD?bww)1{E!xh?s%8p0Ab6wdQ zA-yMB3SV{$OW&iA-UlrY-<}D}CQwLkrq-el8Y1#}^`q|ct;J)J6w+J#lecwi$yW;L z-CF<2FR1m=;+cqQzxY^SZfog=hUk?q^<(#2TFZV#ifXKie-4{yE&tsus(D!dIqIOb z;^Isc4U{0pF|}1fDE>0@Gh&i_TNOi;n4X}-c&c^VW41S91`5x{GlN*vDaFs`m9FmO z)V7*ejfLn5=ZS)rwkKlG%1m7)z7$Wi)hgSS4c~qC#drZP+a__5ZC5MGJ8{h3BwBHHCR+ZpcaS|(|mQ7da`lpo9Q-tN<9f@ZQy(1WE5 zBYV-YsONEOrm57_|9d77N0|wD{{OO@rB3etPrJGMq-kyB;r}@k5ZVfQO1ZV5{kDO< zt!}*9=)ai&i|6NBO!cXd#Q$M8Un{nJ_rL6BSp8$l6^P6K_e`K^;q`wrf!C~D4TiCN z%`5-QZkFU7f{`8%;_u%Ne%;w(Hd3f?XR%wEv}%ZF-(UHkGXWcgMwYJQ$A&YuAICUD zD0XwF{z1@giT#JUR|%p6Qr(^Vt5C=NyYzIg4mT+?fu}Z4YrG@*yl_i~?9DaOKz(&cupcs(|67UcrfuO&jCvB9@>R9p^RBZ{`D1=0+1kKGDygwQgJO>09; z6lC@Px)y|EgBTKY!-uB|?|u+}YPcuWZz57m2y!;_pj-RM6OL@%D1D$tvIZuKNEBAV zE8RQuv&WXHmS6ZSRD}aI;+h}vm1iNi=AB#HZj`keGWT`G^3d=^%^EbAuEv$L0`}#cWZ7##C>ZI>lNAgrZ znz&T*TMRSfM!7!rKIa~%S8)xN|6CGH+IdQo~~8LDbq$498CH+WKLwMR}t)xw(pjW_yc-U4J!sJ3BEgPW(=lRx#S-I+G5*`|6lnR zSmmQ_=Odm`;EMtT)V$R1Q1F_!AVP=5g)&8|e3L{Glb`8ENKWYurPs`*U9 z?b;J?mX3u$opFYHGd&DYK^)uKQf~~lm-@EX;31?>GhqOeA#;YK;Vj7F8nL(osxr%* znCZW=@he4}+eLkZpclUdfLU*WkQ7ePc!!q7h8Qo+fxn`=@t77t)DfNQ&D2+{f=_!5 zEAfse(qFi;@rAmm^X9}$(XCx#STdj?Q>QZx@n_U(K$S0uAi9fc?qWh8r_f=R!dpRh z&$@A0A!?WuHjZtZPy+|&n(EiCinlgC`F+u>O}R751o&HSD!)%7g+#*$MuSu(fe^_a zf%}U?y2@MAU^&!L;#Zrc)k}9#vqHbG4ETBu%x z`xz>5;EBnMxti;^IJMoL*c&@J)b?8-Je7&#V$Kr8e8`viR;6JAgBzoL=!%vek!Z}O z&1C7DtS@)P_~z05{Pc(w+Fbt3De_BT#g#W+>MJJrAcxq5%j5Cv6V5cUL>B%!S&2r8 zp581?D<;I{1a6PzSjXUfzN)%diEqw8&a>(?hR|f6_I*7WDV?@sqhHLQdgnt3SbD&C z5){-&buUsre=dNk@dsVH=v>_M$aZHb(82c*srcu1LVnlytgIa_uYe;aU9U-+F3;qk znOcWPQftK7VE}czCAXV;ERpt}Vr&DCo7)xnIfm(Ic9^_FLWUzYC1gGpj9+>Nh$F>g zW}JalHJ=5IW|*8Dp7VtCcwa&!kz7_S`eRm4p0RxWP3 zvnqJpVcDSnSBjn)jrO-?$GEo2cf!;^aKaI~<4zW7{!swXm*N1RPjvNozGdCWcLvG~xp6|NKwL$-89={n=8n?$ z9HV^<@>_}ZISztY*tgnW?h1`}PqO$Q_EU4~JwgAH!lU^RZ zN1MH_Tsi$d-&buaa&tST)S03^`KfnHIi<%twKPSoaHgS5br? zVdKPJEhj4%%|oQfUO<&!)nLiCH6HOHeYK$Gw*ry;Jd_oa)-6mjt!LPrgKcHIXHJ~f z?LT~%W3Is_rGCY9?(@Ni^x$=UVj->8pQDZsnb&VZ63Mz>6wd+g`}0!Y{^nZpvMfb| zbx6Y#k3r8$!MZ97S;~nod4f35KjcrdaUHH43}~gX6lxg6?C?3ef+}=mzlp<4eqx*S zBCzT_+oLV36J4~x2MMqM9R1-_9(-l>q&d!bVsmr1GQ_y?JR4EU{0^PLtaLK6F`AVo>Gr+|v~B%YYd}>v8S59{9xH$aP801wCsYtz>@R&^3l$^* zP4$e0*8xKvf@QFzi6nj1CddLij`SBE08*6r$_UirRDe9uo327pIztM3OV-9h$oxbt zqfSlXD*71vz?^G=mcjI&?E}9|+C8>45L#xcNfv0Tz0NvFZ^z-S?+^$*)Vmy)EZwYW zT$FT}!*C*)B(3CFj1Fu#VwkSH4suS$Y-#J`v^GdoYx;avMoAcsMBO4BO9BpCh3xPT6CD4LNsg^a-iSgAnV z!NIjN=`&FERvcd!E`u@?xY3%qq?)y6bm^N|mK!MJT3i-WZ`S%rR@O$=uR7Ml6J#+o z`=m~NdJCFk&#FpD#o zI~E{Jh1PK_JlKJ9h+}kvpS~vC(8Ow zFuQVk?+O;V38_~YAsvnN&cq(>5exiP)AGFIg-O1COW+KT!qRQ-Z4|8yipDLza5}`? z@-M?HH*i%YIv~{Y<1`at3A~hOQ4nnWMGr|4wc7_mb7tXRZE1rP7z%?S9bu_&XF&sh zP0g36Zpj)8??bPWDBFCvc`>X{-xB%-ewS#xWh?k<7L?u-x=yBO+eA?FCKy2({$Pxb zj;z1xl|oy!L$DMIy7hFmjrdJU~#su*1QNfBUVFQIQ zajMudwW<=vt4^_iTrADjZ-iSr#FN!PbsA8Izjl!8kUm9~HATy07xHtKK@M+ajsa8@ zG1Otgb%gvbQvp2Ofdm$7K|AZj8NCoHm=l3|o(QLm9K32^?xd)BDi{Lq7ZNKLuOCy~ z15jY~uIr&bbp`4Nn1Xr$#g&hXNi`e8T)G;KQCx+%ugjzqJnq3UF-V=X!vaEW$kkj50#J9abJusIgyk4dm{&EW9 zd<3{dCE0~ldNvh@pNN2qn53hCyI63AlP|Nb3D63_*RIKia?GDh+a&_7PP-g}Y3+^? zEhYNr)nH%_$ZyGRJH=odlXAVo&T(m6Vs%N^2@L(q9mB*zytH8 z0!z2XS6AdN+grCEd!9@(-$sES3pMO6-FQ6(+9ek35(=6Hngc{z6+G2s-tz5)(5=8f?uB^re&!NS&dsszPDI_?kHDrtZmL8 zxR_Yc_522(Sq2r5>m4HG4jyoWY;RNX2T`_^|6;wU5}R@$5_k^+utvAuAyEw!GDy6> zxlPb_nr5hD2@|Gj+DvJ%Y->H-aG=wpvJ3`ZMqi#gb$!75pCFc#34x&_`ofeK4ADSqIGNfcpL|8#2~|nP z0^RW-GKuoY1%6dhKRCo~e;X)RzMhRPFaW=E(W6oV(^?*ZRWOK=!N?#IgACGa8<|Ns zpvsjicbf&-Bg5)2)NAd*JfPMn_R!tf4_AA!JTq`sSy3gM>uOu~nCJ2VwQ zfCR`oM*N(Pb|4x)wFPkn0K|Jt1GvM=lIiAlqH|IlJTcVb7ywEcKKvu)kOpS{*HdI# zJBUQR``}h>F#Sv>N zH6NPF%w~`^3LvoLpq@e89L*!+;bKt9uCN=od+ec)2(RZSP~)m_tHflnq((AlTCj3* zl0%ZW14G~z6XyE!2%H6xjWWQl~-9enQqh9=P9KM%c(!wo(TEG-sqTG7@CbV zw%NuY_N>$B-0}zNif$?j@do1yRErWWPb)d**_bmKbQGPbP2W{aVWXXLiAvOyn@)X@ zdhc>-#GB-}n>iBPY4;uTDmyzKEX<*+asu?~6QK|9h|NmgEZ#dp*lNrF>HT&!Fvl!o zMj=i3=T|J)7)J=o0q`68@TVDu7Jc9-x~Dj8NBylSYT?)_`(^Lk%)-JV`F!EI-$I%A z;?m8q|0rX~UR~0PYT}qhg8j;oR>Uoa zgCEW1KbB4)^~4|PIdqAYNJ^+~+{E`b>*p#I?k2laRgN6RY;~9ORo>m1?WC!0;(Qqk zfoemi7LidGI}*-6JOg(p$}^pocA>p+0s~Wr1@pxu(y4NXj6&E_F=ivdrYMjOYMmT_ zu%V)C9zZQ5gns}nId+$$84PxYIR@%?-A!h^D_!w7tU*P5#7`HSJE?FHYH*X=S51um|Gg%@N|F8DmJE-Zm z?e?V;5F{W1(mSDd2vwT&CLm2jno^}G3Ia+=fY5u9-g^gWQbG^C7ZK^wdy!CcqQB>T z-)H8W*=L_Qd+*t2=KP(>By(qGeXr}z`mE)*FF!({QFV;%f9kS)Mn#I(BL~cq!#x15 z7gymdI|Ef7lYxCnUcMwXV>nkpY#C%8U|Zgcm)!_Nk(9|DeU}4R3LMF6Z-?t_UmO8U zs&F0nf$%DP(<8h)S(0F15@)%M_Rj>Cu4lO~uX0C-T(WR2j~LK=3H%5zT;~iOS>JCC zw5>Wsht=B&teIyJp7N0dM*UVX2fY1EP%pP-=}LekyB1mcxz0}OO8y!mc$ zj`3_z^muIP$!iLwMca;=4R_$vu zc9TjOI8fkgXGPDFi&xl@SfA|n_L9G#gLCNaO?KxNgT9G=sd+@~SGGdm`W(MsO4ANZ zeA2gHG>Zb6vwcY2s3@kcko&F5hxg z+9$FF-o5d#2c{qrY7%lE#TXa|)3h8x@=ar+> zkv5q?x~=yo@Z0_i6X0%X=>FO6O{!lZZJZXJ61QmOHOZs1SWuVPF;AiQonIc3Rbvq3 zOLN^`gfcYBFtXc>L+qVYR;HWRMAqhl)pj$#(w9_Z?GdJ|ma`?oRyzrNxm5wJNU}A4 zkp)2)`SGnas}2Z4S5@#{ZDV)pp7x-2Mqv#|N$KO1DtD+>MOO&?V*o2_g7y5n&E|Bc zkD*z~>nqV&zwfeh+SvP6w=+R3?pqz#1*dUyhZiWn)>(%uKB%7=zYt;*EkxA0gl9x0P z^1$M_#P@VFNZxU+>xwMrsTDxUU#Mnu6oIsR2OOmB;^F`%3gL}}R|K5__oafeX3T5v zxAEAm>W=!N16{@S?)rr*`5G3^G@WXvKRkCvXE#5G9dJ4i2hB?(C^WhnHzRt>PT0c* z`1%K)nHGP-E)yldsw~#J7cn#Ln}MW!%GE;3Jio`9f5xZ_inTR^)Op%6EBHvk?q#Kz ze&E+bb&7+AbEZk9Rv~sP6G&jpil)s(~dU;}3mrK4ZBiw_tL~h8m)YryhoqM%j$~>336l{Ydb% zZ|7JUqXJT7DL2{x0z_qk$wEtK@@@SGo}Z+9ZI{|7BK3!Qf-TLD{TvD^Kb zuZ!Hu!^H1A*W--Za);T3F0#ZkV%^o13dhQmd0yjY%%?MEIgMZ@A2qr3loIYL+m&$fwv+ILD2?GNnZ#8TFLjRKA}>0)d2s9u)gS6VCxPpV)KmT z(2vG%G8W|RTxKQ0WmZJR*8p+TXmi1q7`XC!)r?#=Pk4&#NvfTLsaOO3)$;uGj_#P? z15<O9D|1eLkWIQnYf}mA!&@cKx6?cCq=I`^r=>zp7pocG@GavE`Vj(gu+O4 z%sudS|L+f~ePa)w{(}if#1go5OXGfLQ;5u?DIV`*yb@N0MrIeFd%={@{T%In5)W

z+y?$!&}TY@vn!T-)bPVI$igPxqIc@(in1ffUQs}#)XOPa{9MaEVlw(b!A1JK#gYl# z>hOf=ErEz9gs~?EpzzQu+B=Utzf)sdA<$5B2OiJzh|NyxjhB9!Rm3B%6TABQsuIY} z8Q5lyULmw&axnp>Ed7&ZWC0QW|y?z+z^ck>>cyT<9*P3#%K|v+ArxCGoE4iwe(eay%XM4+I-p5 z2c#NYV;GT^`|grSlkEzL%pt$txO$^80rpvN52F$}z%tB9)9@pXgcZdi8o3l& zr|*&LBF~`tIb(Ry{Qa5p$6;^tK*U;P!h-d`V*>l$FPU_+4g7z?yjD8RZ}5!a*zB(U z#F{T}oA0&Wd+iFTE!K3tFPOgmo(jq`G)Ew1+(q-@=uOL=q&$w5(z%Am9k2US4abJ(r>Z3XVTt<8ogd#e-Il{+=^$#YX@%n9COj)4t zP(^@L!P|uL1z<5wP*UM16|qQUH+Qhfkksd{p?aRxh7k}4ig7Xd=gr20uwSlR`};CZ z%EI7HlTm6sT)WX!y1{*uF^Hja=B4AJH>v4(nBo3QlGf+YSj^FIG$wFK*tuSBL$IID zlA2(L&Tf{hNzFQXm1G4JRO)ApAVp_4ztDdT#f)l+0NRo%EEsK?&dU2Zt2E{2E1oBC z5=eZni1@U({v?7qsfg98N;pc}$i}voZ_+k|*D;*v8*jeyhlW;Ob_VTrVreb_OPW@$ zg*Hy!LgIb<(ZKyMzs`#HHy>K})5|3n>$&kcmB^Lc%U|V|IiTK+!wg_r&E6blD=#In zzdl@j1oebGU>1GBw4wOLw`!Frx0Hl?`B(CL6y%W$+*9887?0Pu-sLFe!?K?|Okl5r z2A4Hk-tXz_1Qw;WJ@p=h*NbS$d8>Kxs3dzdgPF)+Lt@Ezsf5#c5UBEEhuUpWsSX}u z!GJUGr`M&=bDu&XFM^Xru`7N?i+YY;hNx$`B9z_`khTTo(7OrdX#}PYr}49;SgJoo zF&!G%^n5pSy?8`z$TLwSPw|3-l)9!fFr8MJq7UQY6IIFgL$>CuP4NhFyG})_oe;5i z?)VSwP9FR~L_JD^Y1Ul_;eDporjIv!?NH^|A28R*;APA9*4W6rdN@Dy$n`BCM?G!bbE^IV}bV^H3ZYSOyl&j-+uE;_LcpwL!6nWjXCR zu9old;&Wf_a_?cpCmO5cKIBYY*o9kH5$nxS;%f54KFYB>DL^dJLM)h}jZlz9>^<5q z6rJ}|B$BVkKr^LMv)EiN$waixQIDHx>I4DJuE8jtg$gI;v=BLL zjqE&S37VGdhynQ5Ks#X$9;LnO%vfd!F9^>ix)EfY@cGe~lYU+i<9wQwDE<~Ejd3ys zMjVS!vRqqcgRLfSGq+#b388B9G3hg z{!f6^xqkz1BMl57uBfTJ_l<>QGWVvL=3Wa4(SnSsdJMW2F8UOYR~Y65ClXstHPDM- z_>wCU|7e0NRD_w*-3E&Bg^<$Qxq9cl_jA3YBkDAh}}6L3UEytg5>a* zRx5tM7Xw#~KM_cbrxw9xe7M&ZWD1fDrAen`EN{OiEms-Y|OnxU^VstSwhq2}@EgDaMR2*FK6*+Prck;CmX+AyW=louWE%g@@XsN`(R_^f8 zG-83d&zBKFGzW>k7TS~!wfw~dZZyY;w8m+*CU~?arM0GR>glfqIUKcSeYEDnwZ5|o zf#QUsjfcMvY5jB`p05jR)6_yOE5Uevq%EzN@?8so24E`-LMD>h3K+G^;o4y!;S?s= zumMj1Benvg5-e*(_*?$og7!A8PH?m^phX|F1k=jmmS2B*p_#$jDoQ6hoLLKFr(^bP#A(@rJOfPBSm0XE={?CQ zwbF-i4y!Uv)W3V$j{>!7z6yhZihxXW4G_DD_Q>|D}5EIw)2f(5c z#~SUvN8%as0t|11d|^TQ0(gPZ;(=KW@3tAl_osCBo2`!oEIj4Iij?#~hVS(CqpGH% z@M+C`O+O_AxxKb)=?vLZm(KIw5Mw1td+@{g@BtN zFATp53!~z!=RS5$i2F%!%@ITdG^MdLiwiVrAmDnf+0QWag+YL45!k}X&s>M~Lp&v+ z2%`{Hqc4{&F_QrT7Px-XCK(Apb1z7y3`}FLv4{tNV8)gu#rN$IjxcT3h{n%zl-!e( zO>sL%F3(Y|43L@{kvQrsYVRGX28r93y0NLcF zD^b8r{*qTL-+jFK5WotVNkDmQ{0~2pz)NNcb#V$_c(QRE{s;pfV?LRzW&cVV$~NSY zUZb>)7L4Oy86FN#;pLhGl9+GHRe^)(w!XC4)87cBB+2zqt>+AH$m; ztmvE)6eK*1%qjFQ6W4`2XR4&PEWM!3wZrZsQfV5k{#HhcVuCZ^Qme3nTFW5 zY*1Dvk{fne%n+NBd7xi>63C+Zv}E=++&YVRvoqr8CubibPG&AGdA!%2#UgxSC%R4J zwYz@TLIP-yIpf31tMhhLoTrfC@gnD zb>~xAv~tKM6ci+j&}T>D3tK>ZEwIHJ9m?)c!N9XsU{hd_KC06&mv`dV03(qYmh(+? zNC(+LToxg|n5Kd(?8$1*Zna~JGZ|@Y4tdU05PZM=^`Ijc=Nqg-SSrFQpwME1!_rI5 zTDAbX&}!!}`o5F&)d?4`$zhreY&sHKO#pX}4TH_`Zu8VDl&fD45cG1iw*x`tU(E;RDA;9AOyrA%3uz!TvJ$z&cO7Nr47NOtdF3kMydvUf-=L?>@lxSg z8UZyLs_mMsXM9^FZ`%pK9ml#IthyiNOK>6mxarRP~@SfvEEyC(Y&e$>&zi zCZq3r^3DyS1f?3e`VHQWlng}!els)wHs`N41_2D@0!8#IlqwIILx0;GmcOd}C%gG~ zTP(IS>bJ}FdshYz>(dXujUV3Xco->qym#@?u=eoy2NTeVlte2$W*` z{(l7%XpHi1%JfFZD1B@9Zi({5M+URc`LzUp^s$3^A-y~Kecm2ocIo)^y!7d{9eiSU zlY+uPWcmzL`V6-F42}LF0!9vfMo~UvB%j6^K27j{ntc3eO6Sw`%TF^dpU_518+K;&ZrSGi6i)@V3k%u{vFB`Ia;lhLR<41tly>LVxtG$xREfrvFd zJBlK0LDuFxrf!)G2(ucHD11+QR^*?Kds)koDJZALk>$^Pai2h*FAgq$h&&z55FBF$ z<;5KQ9-*hj2xco_B{wKii}kuHcAV2Z&X@m?Vj7J%=hw_tnt$Bck%>xk*rXSB{mxa< zr0^Ts8DmNSS$+njlv>T9*p7OfpH60WH zLh5x=A&p1$!Po_Yv%UdJSua2BRnR5Pex??3C$;w2{rCkkx4D7Tal@!8Zx5O&z^r0oiTB26`g(I zeJeU=873q4{Z;BGv3dK_R4_{2~2_%=8ppTIoEZt297%u z@*RV?G%!H2`UEs$c7f77CInKrU+C_tg3ZX7U&Ed$VNJV+usY^Ec!Jjh3K$Bm{z(3C z*Sd%2ty5UF8b0N(wH^U0r*NCPqtmU)BK^|OyY=RTL(WEnf3osN@UbXq z(ymAXyV{f9++)ygK`H@pTaTX2-48!To8T3FH)ky*cTnsPq?^o|FAkUGU!s=G`RnCR zS0+nel6XpYRcwscX8z5}N1pC3jkdR=&{_GQWj`DWbXGoqy=XarNNnqm2_Ce9&dRr2 z38Z>mv=T)7VQVFrF$lB@V@*V7<%0_TWaZayt%eEog4V)CX6)7?z#Bztk<#d_{3tm* zPIOj2h5dSrDtqyItftuZdYrB@=dXAJL;GI|#;=QiC7QLd>Lj7F@;8!g674s>*cB9S zq&U@YZ=|~Ra&D%%&)9FKdu|kOW}vh3H#7b4xVEyO6b@V2F!qwIoN%$7t=wp3uI;>d zLx=5rbXNX$LE49%?ZT`euAQR1M2DT?qJom0lCt`pozkja6xVK9-HgL-dE-XOZbi%Q zo!v?}9`{~VH-+O~HG;i#uVzSWcdvF#nR~x(%FuED>)h+o{rZJJS^3LB+y{;8iH-+N zTLq;D&3pB`2j7l*xer^;W*iS&ksGClZ8yJn58E;Dd5+*Xlukz-0FJVwP9pKWqb{Hd z&v7@ok<)Pxm2KH^FRjPkaUWwa4>~J9$?2pYR9JR0z|*jIGAPi;b2=n4>vTE{M#Bgr z(ieNDqjLDXXJbl~Z_dV5Im*u_G{yJNCUsSK&!-HG-keVx+m@ftn0f4<&sqfY{zeyw zzWM##uCV;~yi>#e?;oyxycY}Zvv0%=C!D4<$0j^3TmP8Kg)=<=xV+=TV=pcB7W=E(4g2>~Bsy4rMc`-9y`vr)xj6b(j5AZ(Y1G zc^0p&-pcK>9eLgJQNzx^fCGeF1Nuv|aM@t;>-Me?-t8>>bCt)y3MDA~I*Z_0K<84i zYaqzp@<V#K3}7@oo1Msapt*J@ZZm zpeJ0_?VUl{>XQm^E31NT810JHMh!qY6h`{ah9_5P1lA~0Ldxv4o^cCJU;Eg#(3VzK0LMY#3U^(o?FUU2q_4hkj=IK5;3S;hvw zwjF+z2%-EfwaLREI_$3qoJa#)xza#>wsg;~egqE$uA-Mr>hALrm+0^lZ`+O58y^ z{OjuYWs%Wd*MpA6j>m2K`niGk??IZ_M@3 z6gGe@W?1;ko7FvqrQJ$rQKynAnOFYtIsQieZy)OnpV>(*>RKJ#~! zZ|}P-9fz$I=H{_bc6VnQUg-t)tM0HwQ2u+B1vQncu~E^(LOME!+sNjL^q_-ciCa4z zYtxC6&!R>9dox-j{L?v!qQ&;ahR=m7r>mV^3vRb}cUI=7nw3SX-tjsa3x7-PO0=zR zZE&&?_nvv9Emo@WY4h1q^Zd`5-wjRsGajDTv+En2+P!Yh){y68Wi-W&x}lcZqj4es`j!+`-O365zSQkzYk zukKE>Sa3I(W}C*}m^bD#{B+g!y;{!EJ}-HGyJI}sJkv08Ug4cCaB?ZBHb?I$V|Brq8iyOUJZ&6ZC4)$Hiq?{BEvqp0?qO&!$L57ZrUwEga46m@rv zo&%`-u)uye#(sF7et={@!bU%$IluczKOmJq8Q7oP*q_4FpDNj(y3wC@&YvFX&qx)( z3=Uv54q*2T03`=-H3sm^1@IvQ1gIcFV2Fq@M9dR?i3yQxghjR z_Jpd=`IkjQjV`>fjj1*5+;w5TtcDg(?cQg*2AVboQjXJMC|a0N@lW&#%8W6!Fp469 zEOM^GLIO-$V=CxMPG30CryKZmL+FVZkgbZzV$0W{UZgqu5q6Bm{a8whaUGd18f$jo zd7tI6vRImfA&=>NAlaX1zH zZbviuU`Yzf|ACNB{Xbzz5gVOAoD}u+|Ckd+Lx`cI8ULCS(Va?CcbbFs<$qzx2+l&) zCSTu;ou7jZl}qh*bmT-_N1V%Du)m#3>+`+QEa*<9%YCV?1T-u;)byuQNimFG>u;wL z+EO&!{B?J>%KGn|h=wKK{pnO{I9!55{>+JJSP~J3?o?{|2bRp#Zf!o_ovU?R8fpE8 zo)f$N=~TKzkDR41N84Jj(Va?z{~OGSAGUw}|8wI1%sKJmr{`w*#iGvzYX9Qj=0q4r z1#&f9`~bNYt-^P?9&hA)`3pTKUZQE#gUijVV7{xZyd>wVZST@gD49FUloo;edGtw z%)+8X!12(XO2F_e91hhE!i-)93i6Q0Vn`CA*HtVu>sk1Zi(-JG(NH!KCOj2bXK2w8 zl-GUbo)MK|=nybS6pA2rOYREViw>4CK#;5|QYkTz9mAA(Ru!U=3T#43P_DhK2bst& zH0~b4Q@2WHgplW@9*3H{tCDr8_6nsOhudl9QqLlK#hQ;JT*Gr|Jx-~>ZEJLO(Q8t@ zf`L@X^$71YEQ}jt6;V7g49E=&4M~XVvE{3K*4u)%&RF!{(8*CyhZ>sY#`pH22=gDBl#@^>2;ZgO^lc9HIK;+;!u?4Qo zNno#PUL%wQW8I*>@a!|sV2XEH|Mj@4Bg_qhjAjt=i#y_Dp9n6_f33#?m<$**m^A{j!d`Yw4b}fJ;%5KI-qTo^ycKkqO2m#;`g#pZkM<*JG0TJwi&pl>#Xe?#REgXUL)Nd7bEJ*<}Le#rrFJ)SDsn#2!K$>Cdw| z|Hz(8fO^wJg%$*Rj^%kx+1)T&_S&ASPzktZVNX_y+~@ZFBYQRVuOm^wXhy$}*cws* zu&?Lk1zPsLg@5*g1Yr<}xK{Nup@u*vTkK2d^%yozs@D1t4!~x$@N*Mco_$GV5-s2R z8t>0~3}~8^C-O6~^@H@jlK%-1rcw@)qI!#7k8u{`{Ip!OY~jyEoa7-|MQj`N;c|H2 z)1K$GieeI*Z9x|(nr=bp^|*NkDjI^$ z{n6`j)V^&xgaF*gLX4l4lxuZ&Mu1+AOP+*jVTK#qVqsBLC18pub=YRw;G)-Kg9ul- zkAVaBlb9jYzd?ENL0k^Hcj03U>AM7s@W`zvE5kC@@+j)U8+|`*jRD z)dLQ@RoxEjQ8b0@avQMTpJ&BYJ<8m?N_S~YFVcf366wlnt|ZXwF?(KM{-gx>g&u?3 zkNvWhdKzafy7fy&eL*NGPu;-=_dbnizdfD3sUcvf^@@V_4Vz`RuFb2LboEb&e5iQ@ ztCOHHJ)QPD@jVn~t}EJtyxKf(i^`14s$Lbk4dKch*sy3LSo&@_1T2kxSlpxts(S>_ z#;~Kn2UVBfrGzMD;-w!lD5s@7Khul?>((y3GEibL_$q&B_U3FxHl%BS#xmM6EYgOy z>)q%I#_;NtS;Kw~7(UlYzyY^eb04efY@WfxszxpUUNY$58eN8V5g}KeZj_7vBYXQ- zyt%GLygf@at(+cKCk023!+@AzW+Kp1oQ`P=Q!O|FE;yY3edjA-GR%GKHC&`DJ}@5Xb(YIWT&$|1J`tO8mIu-*RyP`$NNhgK7l znLjH44;O2D3`}NRofXQV*JE^*Tn_blk*ZdSUedr+f#i9yZbXSeq55=*>3NCqaEW2V zz;uPzd8q|D%(zc|rY7aQ%udVk(f4UhT^W62rzfu)?nsTSE5a%U&5T}z70 z-sQ)nnX@LVukw*8v-n70^mt{rGFa5fVzYV9T-mU~tA|^dZnwN;__ zraoVv|DDu}3n#D3!kvxpwDiygdwujL=G`)EnWO9TsP0%?SQP(KHcTzH=!Ul|rVmHK@%YaiO|fbz z;hjU&K`MhQ_q~x_jQ6WyDw?ZgsmN}Sc6F%H&??0@WRE~(b-1nO8ubrkFLA@F$U`PlmmTL9B@Z=U)oL}TOoi5Uy>CNv!WD=zjT}X z>oC155O*mel`MCyFO<0u1GIgd4UfmTtCqebDS&?=d4pxFHqJDZE@(S-CPB6};w!8< z!$asEO2JDj+L@++1<&x9tC}|3nOb7OpuRaa4SKVnS6;S=22C9oz!4g#6n zyU%dG=-Q~nQ9m_hy^MZ^h{UsO=Hb-09FF|=ll*Ud;Q#(F{nwE^{@0NN{MV5X49Gyi z&N&LY6u6RgjYo8Sq4XT=Magb9$`DqG43WmSxrjso9Z8}uF$Fz-|6RYp|AGUN`ab}( CBu2ad literal 0 HcmV?d00001 From 7faadba863acfe9cee779b0c9fe39f6b6b46cc7a Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 9 Sep 2024 19:24:24 +0200 Subject: [PATCH 14/42] Updates version --- CHANGELOG.md | 3 +++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e76df71093a..c7494cfe1182 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # tiledesk-dashboard +### 2.7.22 +- Improves the "Monitor" page + ### 2.7.21 - Fixed the bug: on the "Monitor" page a new conversation causes the page to scroll top diff --git a/package-lock.json b/package-lock.json index dd4325a2fdfd..57985330e190 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.21", + "version": "2.7.22", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 805caeca1983..a2918f7a17a2 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.21", + "version": "2.7.22", "scripts": { "ng": "ng", "start": "ng serve --aot", From 05d2bdaef1a849e0229244eab87f84a3efbead6f Mon Sep 17 00:00:00 2001 From: Giovanni Troisi Date: Mon, 16 Sep 2024 16:00:02 +0200 Subject: [PATCH 15/42] added scrape_type selector in add urls --- package-lock.json | 17901 +++++++++++++++- .../knowledge-bases.component.html | 110 +- .../knowledge-bases.component.scss | 15 +- .../knowledge-bases.component.ts | 1 - .../knowledge-bases/knowledge-bases.module.ts | 6 +- .../modal-urls-knowledge-base.component.html | 114 +- .../modal-urls-knowledge-base.component.scss | 97 +- .../modal-urls-knowledge-base.component.ts | 55 +- ...dal-urls-knowledge-base.component_old.html | 2 +- src/assets/css/demo.scss | 23 +- 10 files changed, 18223 insertions(+), 101 deletions(-) diff --git a/package-lock.json b/package-lock.json index 57985330e190..754d02df6d07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,17784 @@ { "name": "@tiledesk/tiledesk-dashboard", "version": "2.7.22", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "@tiledesk/tiledesk-dashboard", + "version": "2.7.22", + "license": "MIT License", + "dependencies": { + "@angular/animations": "^14.2.2", + "@angular/cdk": "^14.2.2", + "@angular/common": "^14.2.2", + "@angular/compiler": "^14.2.2", + "@angular/core": "^14.2.2", + "@angular/forms": "^14.2.2", + "@angular/localize": "^14.2.2", + "@angular/material": "^14.2.2", + "@angular/material-moment-adapter": "^14.2.2", + "@angular/platform-browser": "^14.2.2", + "@angular/platform-browser-dynamic": "^14.2.2", + "@angular/platform-server": "^14.2.2", + "@angular/router": "^14.2.2", + "@ctrl/ngx-emoji-mart": "^7.1.0", + "@ncstate/sat-popover": "^10.0.0", + "@ng-select/ng-select": "^9.0.2", + "@ngx-translate/core": "^14.0.0", + "@ngx-translate/http-loader": "^7.0.0", + "@sweetalert2/ngx-sweetalert2": "^12.3.0", + "@types/grecaptcha": "^3.0.7", + "angular-cc-library": "^3.0.0", + "angular-shepherd": "^14.0.0", + "apexcharts": "^3.36.0", + "arrive": "2.4.1", + "bootstrap": "3.3.7", + "bootstrap-material-design": "0.5.10", + "bootstrap-notify": "3.1.3", + "chart.js": "^2.9.4", + "chartist": "0.11.0", + "classlist.js": "^1.1.20150312", + "emoji-regex": "^9.2.2", + "express": "^4.17.3", + "file-saver": "^2.0.5", + "firebase": "^7.24.0", + "googleapis": "19.0.0", + "hammerjs": "^2.0.8", + "humanize-duration": "^3.27.1", + "humanize-duration-ts": "^2.1.1", + "install": "^0.13.0", + "jquery": "3.2.1", + "leaflet": "^1.7.1", + "marked": "^2.1.3", + "material-icons": "^1.11.2", + "moment": "^2.29.4", + "moment-timezone": "^0.5.37", + "ng-apexcharts": "^1.7.1", + "ng-image-slider": "^6.0.0", + "ng2-tooltip-directive": "^2.10.3", + "ng2-tooltip-directive-ng13fix": "^2.10.2", + "ngx-color-picker": "^12.0.1", + "ngx-logger": "^5.0.11", + "ngx-mat-timepicker": "^14.0.2", + "ngx-moment": "^6.0.2", + "ngx-skeleton-loader": "^6.0.0", + "npm": "^8.19.1", + "perfect-scrollbar": "1.1.0", + "roboto-fontface": "^0.10.0", + "rxjs": "^6.5.4", + "sass": "^1.54.9", + "scrollto-with-animation": "^3.0.4", + "sweetalert": "^2.1.2", + "sweetalert2": "^11.10.6", + "terser": "^5.15.0", + "tslib": "^2.3.1", + "ua-parser-js": "^0.7.31", + "uuid": "^3.4.0", + "web-animations-js": "^2.3.2", + "zone.js": "^0.11.4" + }, + "bin": { + "tiledesk-dashboard": "bin/dashboard" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^14.2.2", + "@angular/cli": "^14.2.2", + "@angular/compiler-cli": "^14.2.2", + "@angular/language-service": "^14.0.2", + "@types/bootstrap": "3.3.32", + "@types/chartist": "0.9.34", + "@types/jasmine": "2.8.2", + "@types/jquery": "1.10.31", + "@types/node": "^8.10.66", + "jasmine-core": "^4.4.0", + "jasmine-spec-reporter": "~4.2.1", + "karma": "^6.4.1", + "karma-chrome-launcher": "~2.2.0", + "karma-cli": "~1.0.1", + "karma-jasmine": "^5.1.0", + "karma-jasmine-html-reporter": "^2.0.0", + "protractor": "^5.4.4", + "ts-node": "~7.0.0", + "tslint": "^6.1.3", + "typescript": "4.8.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz", + "integrity": "sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g==", + "dev": true + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1402.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.10.tgz", + "integrity": "sha512-/6YmPrgataj1jD2Uqd1ED+CG4DaZGacoeZd/89hH7hF76Nno8K18DrSOqJAEmDnOWegpSRGVLd0qP09IHmaG5w==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.2.10", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.2.2.tgz", + "integrity": "sha512-rNX4gIoPpv/DvAIn02zk2SBlNbPOn/0TPMHKVYm2KLmKIfjH6H895BoYuRvYcuDJ9kkAFQR73YaJH7feqE8JfA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1402.2", + "@angular-devkit/build-webpack": "0.1402.2", + "@angular-devkit/core": "14.2.2", + "@babel/core": "7.18.10", + "@babel/generator": "7.18.12", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.10", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.10", + "@babel/preset-env": "7.18.10", + "@babel/runtime": "7.18.9", + "@babel/template": "7.18.10", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "14.2.2", + "ansi-colors": "4.1.3", + "babel-loader": "8.2.5", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "16.1.2", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.1", + "esbuild-wasm": "0.15.5", + "glob": "8.0.3", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.1.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.0.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.6.1", + "minimatch": "5.1.0", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.16", + "postcss-import": "15.0.0", + "postcss-loader": "7.0.1", + "postcss-preset-env": "7.8.0", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.54.4", + "sass-loader": "13.0.2", + "semver": "7.3.7", + "source-map-loader": "4.0.0", + "source-map-support": "0.5.21", + "stylus": "0.59.0", + "stylus-loader": "7.0.0", + "terser": "5.14.2", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.4.0", + "webpack": "5.74.0", + "webpack-dev-middleware": "5.3.3", + "webpack-dev-server": "4.11.0", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.15.5" + }, + "peerDependencies": { + "@angular/compiler-cli": "^14.0.0", + "@angular/localize": "^14.0.0", + "@angular/service-worker": "^14.0.0", + "karma": "^6.3.0", + "ng-packagr": "^14.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.6.2 <4.9" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": { + "version": "0.1402.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.2.tgz", + "integrity": "sha512-ICcK7OKViMhLkj4btnH/8nv0wjxuKchT/LDN6jfb9gUYUuoon190q0/L/U6ORDwvmjD6sUTurStzOxjuiS0KIg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.2.2", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.2.tgz", + "integrity": "sha512-ofDhTmJqoAkmkJP0duwUaCxDBMxPlc+AWYwgs3rKKZeJBb0d+tchEXHXevD5bYbbRfXtnwM+Vye2XYHhA4nWAA==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.1.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.10.tgz", + "integrity": "sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.10", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.10", + "@babel/types": "^7.18.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/generator": { + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", + "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/esbuild": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.5.tgz", + "integrity": "sha512-VSf6S1QVqvxfIsSKb3UKr3VhUCis7wgDbtF4Vd9z84UJr05/Sp2fRKmzC+CSPG/dNAPPJZ0BTBLTT1Fhd6N9Gg==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.15.5", + "esbuild-android-64": "0.15.5", + "esbuild-android-arm64": "0.15.5", + "esbuild-darwin-64": "0.15.5", + "esbuild-darwin-arm64": "0.15.5", + "esbuild-freebsd-64": "0.15.5", + "esbuild-freebsd-arm64": "0.15.5", + "esbuild-linux-32": "0.15.5", + "esbuild-linux-64": "0.15.5", + "esbuild-linux-arm": "0.15.5", + "esbuild-linux-arm64": "0.15.5", + "esbuild-linux-mips64le": "0.15.5", + "esbuild-linux-ppc64le": "0.15.5", + "esbuild-linux-riscv64": "0.15.5", + "esbuild-linux-s390x": "0.15.5", + "esbuild-netbsd-64": "0.15.5", + "esbuild-openbsd-64": "0.15.5", + "esbuild-sunos-64": "0.15.5", + "esbuild-windows-32": "0.15.5", + "esbuild-windows-64": "0.15.5", + "esbuild-windows-arm64": "0.15.5" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/sass": { + "version": "1.54.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.54.4.tgz", + "integrity": "sha512-3tmF16yvnBwtlPrNBHw/H907j8MlOX8aTBnlNX1yrKx24RKcJGPyLhFUwkoKBKesR3unP93/2z14Ll8NicwQUA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1402.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1402.2.tgz", + "integrity": "sha512-/Jbbq7HfKsucbRFu1vhZ9U/GdWgHrIRMqFQttJJTUzvGgPb+5jvIu+9qEO//ORfdamA+NiMGhlWhOvjeELtwxw==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1402.2", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1402.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1402.2.tgz", + "integrity": "sha512-ICcK7OKViMhLkj4btnH/8nv0wjxuKchT/LDN6jfb9gUYUuoon190q0/L/U6ORDwvmjD6sUTurStzOxjuiS0KIg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.2.2", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.2.tgz", + "integrity": "sha512-ofDhTmJqoAkmkJP0duwUaCxDBMxPlc+AWYwgs3rKKZeJBb0d+tchEXHXevD5bYbbRfXtnwM+Vye2XYHhA4nWAA==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.1.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/core": { + "version": "14.2.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.2.10.tgz", + "integrity": "sha512-K4AO7mROTdbhQ7chtyQd6oPwmuL+BPUh+wn6Aq1qrmYJK4UZYFOPp8fi/Ehs8meCEeywtrssOPfrOE4Gsre9dg==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.1.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/core/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "14.2.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.2.10.tgz", + "integrity": "sha512-MMp31KpJTwKHisXOq+6VOXYApq97hZxFaFmZk396X5aIFTCELUwjcezQDk+u2nEs5iK/COUfnN3plGcfJxYhQA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.2.10", + "jsonc-parser": "3.1.0", + "magic-string": "0.26.2", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.2.12.tgz", + "integrity": "sha512-gwdnFZkvVUr+enUNfhfCGRGGqNHn1+vTA81apLfHYhJxgjiLUtETc4KTOrQevtDm022pEd+LSrvr8r+7ag+jkw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.2.12" + } + }, + "node_modules/@angular/cdk": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.7.tgz", + "integrity": "sha512-/tEsYaUbDSnfEmKVvAMramIptmhI67O+9STjOV0i+74XR2NospeK0fkbywIANu1n3w6AHGMotvRWJrjmbCElFg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^5.0.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.0 || ^15.0.0", + "@angular/core": "^14.0.0 || ^15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cli": { + "version": "14.2.10", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.2.10.tgz", + "integrity": "sha512-gX9sAKOwq4lKdPWeABB7TzKDHdjQXvkUU8NmPJA6mEAVXvm3lhQtFvHDalZstwK8au2LY0LaXTcEtcKYOt3AXQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1402.10", + "@angular-devkit/core": "14.2.10", + "@angular-devkit/schematics": "14.2.10", + "@schematics/angular": "14.2.10", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "debug": "4.3.4", + "ini": "3.0.0", + "inquirer": "8.2.4", + "jsonc-parser": "3.1.0", + "npm-package-arg": "9.1.0", + "npm-pick-manifest": "7.0.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "13.6.2", + "resolve": "1.22.1", + "semver": "7.3.7", + "symbol-observable": "4.0.0", + "uuid": "8.3.2", + "yargs": "17.5.1" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@angular/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/cli/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@angular/cli/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/common": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.2.12.tgz", + "integrity": "sha512-oZunh9wfInFWhNO1P8uoEs/o4u8kerKMhw8GruywKm1TV7gHDP2Fi5WHGjFqq3XYptgBTPCTSEfyLX6Cwq1PUw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.2.12.tgz", + "integrity": "sha512-u2MH9+NRwbbFDRNiPWPexed9CnCq9+pGHLuyACSP2uR6Ik68cE6cayeZbIeoEV5vWpda/XsLmJgPJysw7dAZLQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.2.12" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.12.tgz", + "integrity": "sha512-9Gkb9KFkaQPz8XaS8ZwwTioRZ4ywykdAWyceICEi78/Y9ConYrTX2SbFogzI2dPUZU8a04tMlbqTSmHjVbJftQ==", + "dependencies": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/compiler": "14.2.12", + "typescript": ">=4.6.2 <4.9" + } + }, + "node_modules/@angular/compiler-cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/compiler-cli/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/core": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.2.12.tgz", + "integrity": "sha512-sGQxU5u4uawwvJa6jOTmGoisJiQ5HIN/RoBw99CmoqZIVyUSg9IRJJC1KVdH8gbpWBNLkElZv21lwJTL/msWyg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4 || ~0.12.0" + } + }, + "node_modules/@angular/forms": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.2.12.tgz", + "integrity": "sha512-7abYlGIT2JnAtutQUlH3fQS6QEpbfftgvsVcZJCyvX0rXL3u2w2vUQkDHJH4YJJp3AHFVCH4/l7R4VcaPnrwvA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.2.12", + "@angular/core": "14.2.12", + "@angular/platform-browser": "14.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/language-service": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-14.2.12.tgz", + "integrity": "sha512-YmW6simyEVmpDmbYVUhZ2IxSP6pmsWrV120rB9Y21/BeM39WIXA4NCNirVWlAd/KAKY9O7Sbn1nXI6rSDfhopQ==", + "dev": true, + "engines": { + "node": "^14.15.0 || >=16.10.0" + } + }, + "node_modules/@angular/localize": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-14.2.12.tgz", + "integrity": "sha512-6TTnuvubvYL1LDIJhDfd7ygxTaj0ShTILCDXT4URBhZKQbQ3HAorDqsc6SXqZVGCHdqF0hGTaeN/7zVvgP9kzA==", + "dependencies": { + "@babel/core": "7.18.9", + "glob": "8.0.3", + "yargs": "^17.2.1" + }, + "bin": { + "localize-extract": "tools/bundles/src/extract/cli.js", + "localize-migrate": "tools/bundles/src/migrate/cli.js", + "localize-translate": "tools/bundles/src/translate/cli.js" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/compiler": "14.2.12", + "@angular/compiler-cli": "14.2.12" + } + }, + "node_modules/@angular/material": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.2.7.tgz", + "integrity": "sha512-WXHh8pEStpgkXZJmYOg2cI8BSHkV82ET4XTJCNPdveumaCn1UYnaNzsXD13kw5z+zmy8CufhFEzdXTrv/yt7KQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^14.0.0 || ^15.0.0", + "@angular/cdk": "14.2.7", + "@angular/common": "^14.0.0 || ^15.0.0", + "@angular/core": "^14.0.0 || ^15.0.0", + "@angular/forms": "^14.0.0 || ^15.0.0", + "@angular/platform-browser": "^14.0.0 || ^15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/material-moment-adapter": { + "version": "14.2.7", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-14.2.7.tgz", + "integrity": "sha512-uadhugTqgETxCTis4da/TpYfIUQDQSfGAxgH1n93eFNhGdW+aof3T4uKcbZ5d18RzU+lgO6RELuPnWW2PPlmCA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": "^14.0.0 || ^15.0.0", + "@angular/material": "14.2.7", + "moment": "^2.18.1" + } + }, + "node_modules/@angular/platform-browser": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.2.12.tgz", + "integrity": "sha512-vOarWym8ucl1gjYWCzdwyBha+MTvL381mvTTUu8aUx6nVhHFjv4bvpjlZnZgojecqUPyxOwmPLLHvCZPJVHZYg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/animations": "14.2.12", + "@angular/common": "14.2.12", + "@angular/core": "14.2.12" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.2.12.tgz", + "integrity": "sha512-oZhNJeaBmgw8+KBSYpKz2RYqEDyETC+HJXH8dwIFcP6BqqwL2NE70FdSR7EnOa5c41MEtTmMCGhrJSFR60x5/w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.2.12", + "@angular/compiler": "14.2.12", + "@angular/core": "14.2.12", + "@angular/platform-browser": "14.2.12" + } + }, + "node_modules/@angular/platform-server": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-14.2.12.tgz", + "integrity": "sha512-RDxNh47Rp0EYrimbzviqhagdbL58Z3S88PDYybYbshFwV+MgWsvWasK/WntTMP/JtRP4FBU0Uiwxy7mgVdxb0g==", + "dependencies": { + "domino": "^2.1.2", + "tslib": "^2.3.0", + "xhr2": "^0.2.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/animations": "14.2.12", + "@angular/common": "14.2.12", + "@angular/compiler": "14.2.12", + "@angular/core": "14.2.12", + "@angular/platform-browser": "14.2.12", + "@angular/platform-browser-dynamic": "14.2.12" + } + }, + "node_modules/@angular/router": { + "version": "14.2.12", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.2.12.tgz", + "integrity": "sha512-r5tVus5RJDNc4U2v0jMtjPiAS1xDsVsJ70lS313DgZmBDHIVZP1cWIehdxwgNlGwQQtAA36eG7toBwqUU3gb/A==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.2.12", + "@angular/core": "14.2.12", + "@angular/platform-browser": "14.2.12", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.9.tgz", + "integrity": "sha512-1LIb1eL8APMy91/IMW+31ckrfBM4yCoLaVzoDhZUKSM4cu1L1nIidyxkCgzPAgrC5WEz36IPEr/eSeSF9pIn+g==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.9", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helpers": "^7.18.9", + "@babel/parser": "^7.18.9", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", + "dependencies": { + "@babel/types": "^7.20.5", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", + "dependencies": { + "@babel/compat-data": "^7.20.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz", + "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.10.tgz", + "integrity": "sha512-1mFuY2TOsR1hxbjCo4QL+qlIjV07p4H4EUYw2J/WCqsvFV6V9X9z9YhXbWndc/4fw+hYGlDT7egYxliMp5O6Ew==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz", + "integrity": "sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz", + "integrity": "sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz", + "integrity": "sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.19.1", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz", + "integrity": "sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz", + "integrity": "sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz", + "integrity": "sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-simple-access": "^7.19.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz", + "integrity": "sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz", + "integrity": "sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.10.tgz", + "integrity": "sha512-q5mMeYAdfEbpBAgzl7tBre/la3LeCxmDO1+wMXRdPWbcoMjR3GiXlCLk7JBZVVye0bqTGNMbt0yYVXX1B1jEWQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.10.tgz", + "integrity": "sha512-wVxs1yjFdW3Z/XkNfXKoblxoHgbtUF7/l3PvvP4m02Qz9TZ6uZGxRVYjSQeR87oQmHco9zWitW5J82DJ7sCjvA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.18.10", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.18.9", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.9", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.9", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.9", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.10", + "babel-plugin-polyfill-corejs2": "^0.3.2", + "babel-plugin-polyfill-corejs3": "^0.5.3", + "babel-plugin-polyfill-regenerator": "^0.4.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz", + "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.5", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@ctrl/ngx-emoji-mart": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@ctrl/ngx-emoji-mart/-/ngx-emoji-mart-7.1.0.tgz", + "integrity": "sha512-1/0nb4rZuOPryWYbhbjL0xduUzgZ6al6dT7XazWq8oH069CmSRPun9vDUYMRTKYHd8yakD9Uhr6iQIGazoBTyw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=14.0.0-0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.5.tgz", + "integrity": "sha512-UHkDFCfSGTuXq08oQltXxSZmH1TXyWsL+4QhZDWvvLl6mEJQqk3u7/wq1LjhrrAXYIllaTtRSzUXl4Olkf2J8A==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.0.tgz", + "integrity": "sha512-6qYEOPUVYrMhqvJ46Z5Uf1S4uULd6d7vGpMP5Qz+u8kIWuOQGcPdJKQap+Hla6Rq164or9gC2HRXuYXKlgWfpw==", + "dependencies": { + "@firebase/analytics-types": "0.4.0", + "@firebase/component": "0.1.19", + "@firebase/installations": "0.4.17", + "@firebase/logger": "0.2.6", + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.4.0.tgz", + "integrity": "sha512-Jj2xW+8+8XPfWGkv9HPv/uR+Qrmq37NPYT352wf7MvE9LrstpLVmFg3LqG6MCRr5miLAom5sen2gZ+iOhVDeRA==" + }, + "node_modules/@firebase/analytics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/app": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.11.tgz", + "integrity": "sha512-FH++PaoyTzfTAVuJ0gITNYEIcjT5G+D0671La27MU8Vvr6MTko+5YUZ4xS9QItyotSeRF4rMJ1KR7G8LSyySiA==", + "dependencies": { + "@firebase/app-types": "0.6.1", + "@firebase/component": "0.1.19", + "@firebase/logger": "0.2.6", + "@firebase/util": "0.3.2", + "dom-storage": "2.1.0", + "tslib": "^1.11.1", + "xmlhttprequest": "1.8.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.1.tgz", + "integrity": "sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==" + }, + "node_modules/@firebase/app/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/auth": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.15.0.tgz", + "integrity": "sha512-IFuzhxS+HtOQl7+SZ/Mhaghy/zTU7CENsJFWbC16tv2wfLZbayKF5jYGdAU3VFLehgC8KjlcIWd10akc3XivfQ==", + "dependencies": { + "@firebase/auth-types": "0.10.1" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz", + "integrity": "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "0.x" + } + }, + "node_modules/@firebase/auth-types": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.10.1.tgz", + "integrity": "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "0.x" + } + }, + "node_modules/@firebase/component": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.19.tgz", + "integrity": "sha512-L0S3g8eqaerg8y0zox3oOHSTwn/FE8RbcRHiurnbESvDViZtP5S5WnhuAPd7FnFxa8ElWK0z1Tr3ikzWDv1xdQ==", + "dependencies": { + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + } + }, + "node_modules/@firebase/component/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/database": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.13.tgz", + "integrity": "sha512-NommVkAPzU7CKd1gyehmi3lz0K78q0KOfiex7Nfy7MBMwknLm7oNqKovXSgQV1PCLvKXvvAplDSFhDhzIf9obA==", + "dependencies": { + "@firebase/auth-interop-types": "0.1.5", + "@firebase/component": "0.1.19", + "@firebase/database-types": "0.5.2", + "@firebase/logger": "0.2.6", + "@firebase/util": "0.3.2", + "faye-websocket": "0.11.3", + "tslib": "^1.11.1" + } + }, + "node_modules/@firebase/database-types": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.5.2.tgz", + "integrity": "sha512-ap2WQOS3LKmGuVFKUghFft7RxXTyZTDr0Xd8y2aqmWsbJVjgozi0huL/EUMgTjGFrATAjcf2A7aNs8AKKZ2a8g==", + "dependencies": { + "@firebase/app-types": "0.6.1" + } + }, + "node_modules/@firebase/database/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/firestore": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.18.0.tgz", + "integrity": "sha512-maMq4ltkrwjDRusR2nt0qS4wldHQMp+0IDSfXIjC+SNmjnWY/t/+Skn9U3Po+dB38xpz3i7nsKbs+8utpDnPSw==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/firestore-types": "1.14.0", + "@firebase/logger": "0.2.6", + "@firebase/util": "0.3.2", + "@firebase/webchannel-wrapper": "0.4.0", + "@grpc/grpc-js": "^1.0.0", + "@grpc/proto-loader": "^0.5.0", + "node-fetch": "2.6.1", + "tslib": "^1.11.1" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.14.0.tgz", + "integrity": "sha512-WF8IBwHzZDhwyOgQnmB0pheVrLNP78A8PGxk1nxb/Nrgh1amo4/zYvFMGgSsTeaQK37xMYS/g7eS948te/dJxw==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/firestore/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/functions": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.5.1.tgz", + "integrity": "sha512-yyjPZXXvzFPjkGRSqFVS5Hc2Y7Y48GyyMH+M3i7hLGe69r/59w6wzgXKqTiSYmyE1pxfjxU4a1YqBDHNkQkrYQ==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/functions-types": "0.3.17", + "@firebase/messaging-types": "0.5.0", + "node-fetch": "2.6.1", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.3.17.tgz", + "integrity": "sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ==" + }, + "node_modules/@firebase/functions/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/installations": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.17.tgz", + "integrity": "sha512-AE/TyzIpwkC4UayRJD419xTqZkKzxwk0FLht3Dci8WI2OEKHSwoZG9xv4hOBZebe+fDzoV2EzfatQY8c/6Avig==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/installations-types": "0.3.4", + "@firebase/util": "0.3.2", + "idb": "3.0.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.3.4.tgz", + "integrity": "sha512-RfePJFovmdIXb6rYwtngyxuEcWnOrzdZd9m7xAW0gRxDIjBT20n3BOhjpmgRWXo/DAxRmS7bRjWAyTHY9cqN7Q==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/installations/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz", + "integrity": "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" + }, + "node_modules/@firebase/messaging": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.1.tgz", + "integrity": "sha512-iev/ST9v0xd/8YpGYrZtDcqdD9J6ZWzSuceRn8EKy5vIgQvW/rk2eTQc8axzvDpQ36ZfphMYuhW6XuNrR3Pd2Q==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/installations": "0.4.17", + "@firebase/messaging-types": "0.5.0", + "@firebase/util": "0.3.2", + "idb": "3.0.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/messaging-types": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@firebase/messaging-types/-/messaging-types-0.5.0.tgz", + "integrity": "sha512-QaaBswrU6umJYb/ZYvjR5JDSslCGOH6D9P136PhabFAHLTR4TWjsaACvbBXuvwrfCXu10DtcjMxqfhdNIB1Xfg==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/messaging/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/performance": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.2.tgz", + "integrity": "sha512-irHTCVWJ/sxJo0QHg+yQifBeVu8ZJPihiTqYzBUz/0AGc51YSt49FZwqSfknvCN2+OfHaazz/ARVBn87g7Ex8g==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/installations": "0.4.17", + "@firebase/logger": "0.2.6", + "@firebase/performance-types": "0.0.13", + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.0.13.tgz", + "integrity": "sha512-6fZfIGjQpwo9S5OzMpPyqgYAUZcFzZxHFqOyNtorDIgNXq33nlldTL/vtaUZA8iT9TT5cJlCrF/jthKU7X21EA==" + }, + "node_modules/@firebase/performance/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/polyfill": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz", + "integrity": "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==", + "dependencies": { + "core-js": "3.6.5", + "promise-polyfill": "8.1.3", + "whatwg-fetch": "2.0.4" + } + }, + "node_modules/@firebase/remote-config": { + "version": "0.1.28", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.28.tgz", + "integrity": "sha512-4zSdyxpt94jAnFhO8toNjG8oMKBD+xTuBIcK+Nw8BdQWeJhEamgXlupdBARUk1uf3AvYICngHH32+Si/dMVTbw==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/installations": "0.4.17", + "@firebase/logger": "0.2.6", + "@firebase/remote-config-types": "0.1.9", + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.1.9.tgz", + "integrity": "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA==" + }, + "node_modules/@firebase/remote-config/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/storage": { + "version": "0.3.43", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.43.tgz", + "integrity": "sha512-Jp54jcuyimLxPhZHFVAhNbQmgTu3Sda7vXjXrNpPEhlvvMSq4yuZBR6RrZxe/OrNVprLHh/6lTCjwjOVSo3bWA==", + "dependencies": { + "@firebase/component": "0.1.19", + "@firebase/storage-types": "0.3.13", + "@firebase/util": "0.3.2", + "tslib": "^1.11.1" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.3.13.tgz", + "integrity": "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "0.x" + } + }, + "node_modules/@firebase/storage/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/util": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.2.tgz", + "integrity": "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g==", + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@firebase/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.4.0.tgz", + "integrity": "sha512-8cUA/mg0S+BxIZ72TdZRsXKBP5n5uRcE3k29TZhZw6oIiHBt9JA7CTb/4pE1uKtE/q5NeTY2tBDcagoZ+1zjXQ==" + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@grpc/grpc-js": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.7.3.tgz", + "integrity": "sha512-H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.3.tgz", + "integrity": "sha512-5dAvoZwna2Py3Ef96Ux9jIkp3iZ62TUsV00p3wVBPNX5K178UbNi8Q7gQVqwXT1Yq9RejIGG9G2IPEo93T6RcA==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/grpc-js/node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "node_modules/@grpc/grpc-js/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/grpc-js/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.6.tgz", + "integrity": "sha512-DT14xgw3PSzPxwS13auTEwxhMMOoz33DPUKNtmYK/QYbBSpLXJy78FGGs5yVoxVobEqPm4iW9MOIoz0A3bLTRQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "protobufjs": "^6.8.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/proto-loader/node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "node_modules/@grpc/proto-loader/node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@ncstate/sat-popover": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@ncstate/sat-popover/-/sat-popover-10.0.0.tgz", + "integrity": "sha512-Stx36E3+fHhkSuoDFkNOqpZCRdnDH9F1asXRRGpqNKzIDz79L5MvLD5HjBpMhazf1p092Nc1gV7xD0SfusFgvg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "^14.0.4", + "@angular/common": "^14.0.4", + "@angular/core": "^14.0.4" + } + }, + "node_modules/@ng-select/ng-select": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ng-select/ng-select/-/ng-select-9.1.0.tgz", + "integrity": "sha512-vxSRD2d84H39eqtTJaethlpQ+xkJUU8epQNUr3yPiah23z8MBCqSDE1t0chxi+rXJz7+xoC9qFa1aYnUVFan4w==", + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.20.0", + "npm": ">= 6.0.0" + }, + "peerDependencies": { + "@angular/common": "<15.0.0", + "@angular/core": "<15.0.0", + "@angular/forms": "<15.0.0" + } + }, + "node_modules/@ngtools/webpack": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.2.tgz", + "integrity": "sha512-mjHv5DPsK6QP/D4zi6Oc4gMEZGNYv6Hmw/xJ1ZZTjSxgKujmHx2keDLSJHZpoLtbHRr+FHfWNnPfPz9dWYrlYQ==", + "dev": true, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^14.0.0", + "typescript": ">=4.6.2 <4.9", + "webpack": "^5.54.0" + } + }, + "node_modules/@ngx-translate/core": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-14.0.0.tgz", + "integrity": "sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/core": ">=13.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@ngx-translate/http-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-7.0.0.tgz", + "integrity": "sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@ngx-translate/core": ">=14.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.2.tgz", + "integrity": "sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "dev": true, + "dependencies": { + "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.2.1.tgz", + "integrity": "sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@schematics/angular": { + "version": "14.2.10", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.2.10.tgz", + "integrity": "sha512-YFTc/9QJdx422XcApizEcVLKoyknu8b9zHIlAepZCu7WkV8GPT0hvVEHQ7KBWys5aQ7pPZMT0JpZLeAz0F2xYQ==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.2.10", + "@angular-devkit/schematics": "14.2.10", + "jsonc-parser": "3.1.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@sweetalert2/ngx-sweetalert2": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/@sweetalert2/ngx-sweetalert2/-/ngx-sweetalert2-12.3.0.tgz", + "integrity": "sha512-hcLSXfUOKFo8scFy+MIzOa35TeVNkMwVf7YKLh6XqyuMcUoKU40GM0PCKEyotCQA1bIy2c6gleGr1NEYZ3umNg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "@angular/core": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", + "sweetalert2": "^11.0.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/bootstrap": { + "version": "3.3.32", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-3.3.32.tgz", + "integrity": "sha512-xrPIOc/cm9pI3yApr01sYbAKRy32iUMXqmFjZ5EqvlHsLbcm01GM1ZPNsFeOpwx2w4nbTbuBaL/7YnNgYjar6g==", + "dev": true, + "dependencies": { + "@types/jquery": "*" + } + }, + "node_modules/@types/chartist": { + "version": "0.9.34", + "resolved": "https://registry.npmjs.org/@types/chartist/-/chartist-0.9.34.tgz", + "integrity": "sha512-BUfRxJKFYVHxUcdDX4WSdo1IBbtt0p939285SWF34iofByQgT2+ECnW9sYQlFkONs6xStsxiE9dWUkipN+4Cxw==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.4.10", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", + "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.31", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", + "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/grecaptcha": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/grecaptcha/-/grecaptcha-3.0.7.tgz", + "integrity": "sha512-ah5GDQfsiK3dnkaCbYcDFZXkZCG3o90VRu9hzXHnSe4kACrRB1KUI/ZyWHvYmqm1W5Tl8B5YxxT98uGTlkbf2Q==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.2.tgz", + "integrity": "sha512-RabEJPjYMpjWqW1qYj4k0rlgP5uzyguoc0yxedJdq7t5h19MYvqhjCR1evM3raZ/peHRxp1Qfl24iawvkibSug==", + "dev": true + }, + "node_modules/@types/jquery": { + "version": "1.10.31", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-1.10.31.tgz", + "integrity": "sha512-g5y4mp3aX1KORN5jMlec3xoc0qc1VmdXwGsKMEUTDT9o8smd28KFNJaVqqENN6ZYDDWRwob052b7MjTa0XrP8A==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/selenium-webdriver": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.22.tgz", + "integrity": "sha512-Nh76NUqvfsZHG5ot5gMlHNNHQvbRvv5UpM4FH3K1HuUGeq4scNlRoKVKSOP/EGIYHhJ2IUXyQc+38jvZLxfB2Q==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/angular-cc-library": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/angular-cc-library/-/angular-cc-library-3.0.1.tgz", + "integrity": "sha512-S65cFFb99M50uM02xjclj9UqhsNRpSIorJmN0g9A2UkK0GAMFwq6fn9fTW26WezYV7RY30O+iOuLJ2ytIQ2Wog==", + "dependencies": { + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@angular/common": "13 - 14", + "@angular/core": "13 - 14" + } + }, + "node_modules/angular-shepherd": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/angular-shepherd/-/angular-shepherd-14.0.0.tgz", + "integrity": "sha512-Xbgx1b2kcqSue4dyfALh2/lkP8GV9ZbeVLpOl9Ccs4b58wC6vtg5LrSrhF0Bc725TkQfSkcCdccO5uqilW8+WA==", + "dependencies": { + "shepherd.js": "^10.0.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.1", + "@angular/core": "^14.0.1" + } + }, + "node_modules/animation-frame": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/animation-frame/-/animation-frame-0.3.0.tgz", + "integrity": "sha512-UtBPve/lrZ15YkbpJSRUCHd/HpTAgybHdgjJN7T4MMtxL1Oy8YhoTYa2VZBOwaMGj41n/HjTBLwAV0bDcTIomg==" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apexcharts": { + "version": "3.36.3", + "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.36.3.tgz", + "integrity": "sha512-8/FXEs0ohXMff07Gv28XjhPwEJphIUdq2/wii/pcvi54Tw6z1mjrV8ydN8rlWi/ve8BAPBefJkLmRWv7UOBsLw==", + "dependencies": { + "svg.draggable.js": "^2.2.2", + "svg.easing.js": "^2.0.0", + "svg.filter.js": "^2.0.2", + "svg.pathmorphing.js": "^0.1.3", + "svg.resize.js": "^1.4.3", + "svg.select.js": "^3.0.1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrive": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/arrive/-/arrive-2.4.1.tgz", + "integrity": "sha512-gnpcKdKN4HJAmzpZIxDBJsw/z59sBvh9i4mJyHJCk+enrKnEZ/l1GspM1MGPxMxnRcdt+v/OIWEY5mNQSGisPQ==" + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/async/-/async-2.3.0.tgz", + "integrity": "sha512-uDDBwBVKsWWe4uMmvVmFiW07K5BmdyZvSFzxlujNBtSJ/qzAlGM6UHOFZsQd5jsdmWatrCMWwYyVAc8cuJrepQ==", + "dependencies": { + "lodash": "^4.14.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", + "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/bonjour-service/node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bootstrap": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz", + "integrity": "sha512-qcFaisBrcBhTFkz1IUnGDYnX6ZWfFzH8zOixUDtHW9Ip+r+7MfMFav2rzy7cIHc7rgIg7xjhWBoo1mS/U26j4g==", + "engines": { + "node": ">=0.10.1" + } + }, + "node_modules/bootstrap-material-design": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/bootstrap-material-design/-/bootstrap-material-design-0.5.10.tgz", + "integrity": "sha512-cPdJswIkVqSClcQZBuuKBlSFn9l3ajTwAwynwh1gPL5iOVtJvYYomQY1zQKrC9rJQS9rMhU/kSSvLAfbT3qUoQ==", + "dependencies": { + "bootstrap": ">=3.0", + "jquery": ">=1.9.1" + } + }, + "node_modules/bootstrap-notify": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/bootstrap-notify/-/bootstrap-notify-3.1.3.tgz", + "integrity": "sha512-cnTactFVG8aHri03+RmuZ5sl9VcA+jTTM/mTdEOQN+R1V9u4YBu8Ca+Pf6NGeVfieGv0Z6CxK8FzlWg59omzyg==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + } + }, + "node_modules/browserstack/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/browserstack/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/browserstack/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/builtins/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz", + "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001434", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz", + "integrity": "sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "dependencies": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "node_modules/chartist": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/chartist/-/chartist-0.11.0.tgz", + "integrity": "sha512-/nTvIP4XwNGbozZTUe8e9YfYB0wOSCdfY2eTNB//l3jUuKCUrZIZuzfpOVNyH9J8nLibghGu4WuKtxictmCV2g==", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "dependencies": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "node_modules/chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/classlist.js": { + "version": "1.1.20150312", + "resolved": "https://registry.npmjs.org/classlist.js/-/classlist.js-1.1.20150312.tgz", + "integrity": "sha512-eR8yB970+yGslcTnJnROX2icsMa8v/KVLv/sgv3NhSvZSHgam64XNSF2TyJnKIfsnTFJBcTdrIneYqUIrvxLpg==" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.26.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.26.1.tgz", + "integrity": "sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssdb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.1.0.tgz", + "integrity": "sha512-Sd99PrFgx28ez4GHu8yoQIufc/70h9oYowDf4EjeIKi8mac9whxRjhM3IaMr6EllP6KKKWtJrMfN6C7T9tIWvQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", + "dev": true, + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/del/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/del/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-storage": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz", + "integrity": "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==", + "engines": { + "node": "*" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domino": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", + "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.1.tgz", + "integrity": "sha512-ECceEFcAaNRybd3lsGQKas3ZlMVjN3cyWwMP25D2i0zWfyiytVbTpRPa34qrr+FHddtpBVOmq4H/DCv1O0lZRA==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==", + "dev": true + }, + "node_modules/engine.io/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==" + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "dev": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.5.tgz", + "integrity": "sha512-dYPPkiGNskvZqmIK29OPxolyY3tp+c47+Fsc2WYSOVjEPWNCHNyqhtFqQadcXMJDQt8eN0NMDukbyQgFcHquXg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.5.tgz", + "integrity": "sha512-YyEkaQl08ze3cBzI/4Cm1S+rVh8HMOpCdq8B78JLbNFHhzi4NixVN93xDrHZLztlocEYqi45rHHCgA8kZFidFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.5.tgz", + "integrity": "sha512-Cr0iIqnWKx3ZTvDUAzG0H/u9dWjLE4c2gTtRLz4pqOBGjfjqdcZSfAObFzKTInLLSmD0ZV1I/mshhPoYSBMMCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.5.tgz", + "integrity": "sha512-WIfQkocGtFrz7vCu44ypY5YmiFXpsxvz2xqwe688jFfSVCnUsCn2qkEVDo7gT8EpsLOz1J/OmqjExePL1dr1Kg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.5.tgz", + "integrity": "sha512-M5/EfzV2RsMd/wqwR18CELcenZ8+fFxQAAEO7TJKDmP3knhWSbD72ILzrXFMMwshlPAS1ShCZ90jsxkm+8FlaA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.5.tgz", + "integrity": "sha512-2JQQ5Qs9J0440F/n/aUBNvY6lTo4XP/4lt1TwDfHuo0DY3w5++anw+jTjfouLzbJmFFiwmX7SmUhMnysocx96w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.5.tgz", + "integrity": "sha512-gO9vNnIN0FTUGjvTFucIXtBSr1Woymmx/aHQtuU+2OllGU6YFLs99960UD4Dib1kFovVgs59MTXwpFdVoSMZoQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.5.tgz", + "integrity": "sha512-ne0GFdNLsm4veXbTnYAWjbx3shpNKZJUd6XpNbKNUZaNllDZfYQt0/zRqOg0sc7O8GQ+PjSMv9IpIEULXVTVmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.5.tgz", + "integrity": "sha512-wvAoHEN+gJ/22gnvhZnS/+2H14HyAxM07m59RSLn3iXrQsdS518jnEWRBnJz3fR6BJa+VUTo0NxYjGaNt7RA7Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.5.tgz", + "integrity": "sha512-7EgFyP2zjO065XTfdCxiXVEk+f83RQ1JsryN1X/VSX2li9rnHAt2swRbpoz5Vlrl6qjHrCmq5b6yxD13z6RheA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.5.tgz", + "integrity": "sha512-KdnSkHxWrJ6Y40ABu+ipTZeRhFtc8dowGyFsZY5prsmMSr1ZTG9zQawguN4/tunJ0wy3+kD54GaGwdcpwWAvZQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.5.tgz", + "integrity": "sha512-QdRHGeZ2ykl5P0KRmfGBZIHmqcwIsUKWmmpZTOq573jRWwmpfRmS7xOhmDHBj9pxv+6qRMH8tLr2fe+ZKQvCYw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.5.tgz", + "integrity": "sha512-p+WE6RX+jNILsf+exR29DwgV6B73khEQV0qWUbzxaycxawZ8NE0wA6HnnTxbiw5f4Gx9sJDUBemh9v49lKOORA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.5.tgz", + "integrity": "sha512-J2ngOB4cNzmqLHh6TYMM/ips8aoZIuzxJnDdWutBw5482jGXiOzsPoEF4j2WJ2mGnm7FBCO4StGcwzOgic70JQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.5.tgz", + "integrity": "sha512-MmKUYGDizYjFia0Rwt8oOgmiFH7zaYlsoQ3tIOfPxOqLssAsEgG0MUdRDm5lliqjiuoog8LyDu9srQk5YwWF3w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.5.tgz", + "integrity": "sha512-2mMFfkLk3oPWfopA9Plj4hyhqHNuGyp5KQyTT9Rc8hFd8wAn5ZrbJg+gNcLMo2yzf8Uiu0RT6G9B15YN9WQyMA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.5.tgz", + "integrity": "sha512-2sIzhMUfLNoD+rdmV6AacilCHSxZIoGAU2oT7XmJ0lXcZWnCvCtObvO6D4puxX9YRE97GodciRGDLBaiC6x1SA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.15.5.tgz", + "integrity": "sha512-lTJOEKekN/4JI/eOEq0wLcx53co2N6vaT/XjBz46D1tvIVoUEyM0o2K6txW6gEotf31szFD/J1PbxmnbkGlK9A==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.5.tgz", + "integrity": "sha512-e+duNED9UBop7Vnlap6XKedA/53lIi12xv2ebeNS4gFmu7aKyTrok7DPIZyU5w/ftHD4MUDs5PJUkQPP9xJRzg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.5.tgz", + "integrity": "sha512-v+PjvNtSASHOjPDMIai9Yi+aP+Vwox+3WVdg2JB8N9aivJ7lyhp4NVU+J0MV2OkWFPnVO8AE/7xH+72ibUUEnw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.15.5", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.5.tgz", + "integrity": "sha512-Yz8w/D8CUPYstvVQujByu6mlf48lKmXkq6bkeSZZxTA626efQOJb26aDGLzmFWx6eg/FwrXgt6SZs9V8Pwy/aA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/firebase": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-7.24.0.tgz", + "integrity": "sha512-j6jIyGFFBlwWAmrlUg9HyQ/x+YpsPkc/TTkbTyeLwwAJrpAmmEHNPT6O9xtAnMV4g7d3RqLL/u9//aZlbY4rQA==", + "dependencies": { + "@firebase/analytics": "0.6.0", + "@firebase/app": "0.6.11", + "@firebase/app-types": "0.6.1", + "@firebase/auth": "0.15.0", + "@firebase/database": "0.6.13", + "@firebase/firestore": "1.18.0", + "@firebase/functions": "0.5.1", + "@firebase/installations": "0.4.17", + "@firebase/messaging": "0.7.1", + "@firebase/performance": "0.4.2", + "@firebase/polyfill": "0.3.36", + "@firebase/remote-config": "0.1.28", + "@firebase/storage": "0.3.43", + "@firebase/util": "0.3.2" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-access": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", + "integrity": "sha512-05cXDIwNbFaoFWaz5gNHlUTbH5whiss/hr/ibzPd4MH3cR4w0ZKeIPiVdbyJurg3O5r/Bjpvn9KOb1/rPMf3nA==", + "dev": true, + "dependencies": { + "null-check": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/google-auth-library": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.10.0.tgz", + "integrity": "sha512-KM54Y9GhdAzfXUHmWEoYmaOykSLuMG7W4HvVLYqyogxOyE6px8oSS8W13ngqW0oDGZ915GFW3V6OM6+qcdvPOA==", + "dependencies": { + "gtoken": "^1.2.1", + "jws": "^3.1.4", + "lodash.noop": "^3.0.1", + "request": "^2.74.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/google-p12-pem": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.2.tgz", + "integrity": "sha512-puhMlJ2+E/rgvxWaqgN/nC7x623OAE8MR9vBUqxF0inCE7HoVfCHvTeQ9+BR+rj9KM0fIg6XV6tmbt7XHHssoQ==", + "deprecated": "Package is no longer maintained", + "dependencies": { + "node-forge": "^0.7.1" + }, + "bin": { + "gp12-pem": "bin/gp12-pem" + } + }, + "node_modules/googleapis": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-19.0.0.tgz", + "integrity": "sha512-pHlzFkC4RXOp9mLjyxRSjRgto+NSHaxtG3zRDbFDyhK/bVyPp4hBE3MDRBXv4N45vf+5p3Pds/L+qU5ihsJ5nQ==", + "dependencies": { + "async": "~2.3.0", + "google-auth-library": "~0.10.0", + "string-template": "~1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/gtoken": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-1.2.3.tgz", + "integrity": "sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w==", + "dependencies": { + "google-p12-pem": "^0.1.0", + "jws": "^3.0.0", + "mime": "^1.4.1", + "request": "^2.72.0" + } + }, + "node_modules/hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.2.1.tgz", + "integrity": "sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.27.3", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", + "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==" + }, + "node_modules/humanize-duration-ts": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/humanize-duration-ts/-/humanize-duration-ts-2.1.1.tgz", + "integrity": "sha512-TibNF2/fkypjAfHdGpWL/dmWUS0G6Qi+3mKyiB6LDCowbMy+PtzbgPTnFMNTOVAJXDau01jYrJ3tFoz5AJSqhA==" + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz", + "integrity": "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", + "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", + "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", + "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/install": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", + "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dev": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw==", + "dev": true, + "dependencies": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "bin": { + "jasmine": "bin/jasmine.js" + } + }, + "node_modules/jasmine-core": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", + "dev": true + }, + "node_modules/jasmine-spec-reporter": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", + "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==", + "dev": true, + "dependencies": { + "colors": "1.1.2" + } + }, + "node_modules/jasmine/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jasmine/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jasmine/node_modules/jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==", + "dev": true + }, + "node_modules/jasmine/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg==", + "dev": true, + "engines": { + "node": ">= 6.9.x" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jquery": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", + "integrity": "sha512-iQUctXqe/nSa7hshPkQnJaJEUfxM139//hg2nJj+wsqVvd/YgXALR3jTNGh7BylgsyfcC8r4i2cJrClGBkDu5Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", + "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz", + "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==", + "dev": true, + "dependencies": { + "fs-access": "^1.0.0", + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz", + "integrity": "sha512-A/KNa3Is0F7Vv5SIeq0Wj6yGvAIUkrmSU03Wcles4wIkU5MORUTxzwbYT4Tz0qOofx4upfFQU/uIYfGYtADTaA==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": "0.10 || 0.12 || 4 || 5 || 6" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/karma/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/karma/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/karma/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "dependencies": { + "invert-kv": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/leaflet": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ==" + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", + "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.noop": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-3.0.1.tgz", + "integrity": "sha512-TmYdmu/pebrdTIBDK/FDx9Bmfzs9x0sZG6QIJuMDTqEPfeciLcN13ij+cOd0i9vwJfBtbG9UQ+C7MkXgYxrIJg==" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.7.1.tgz", + "integrity": "sha512-lzbd0Eq1HRdWM2abSD7mk6YIVY0AogGJzb/z+lqzRk+8+XJP+M6L1MS5FUSc3jjGru4dbKjEMJmqlsoYYpuivQ==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.3" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.26.2", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", + "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/marked": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", + "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/material-icons": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/material-icons/-/material-icons-1.12.2.tgz", + "integrity": "sha512-z17mvWzcQBp9O1wgJcmLDJLSR54VssccCYbB/ZgV7DzLxxy4cpfoc/MNH9fabO1wlowWCzSQM8/KA5EPTsN4qQ==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/memfs": { + "version": "3.4.12", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.12.tgz", + "integrity": "sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.39", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.39.tgz", + "integrity": "sha512-hoB6suq4ISDj7BDgctiOy6zljBsdYT0++0ZzZm9rtxIvJhIbQ3nmbgSWe7dNFGurl6/7b1OUkHlmN9JWgXVz7w==", + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/ng-apexcharts": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.7.4.tgz", + "integrity": "sha512-XpykR8qos14i2ly/QrmGkQIUQfqaZAe2+7tDg5An1akws3VwYg6O643g9LwdTIG3YeWlkKtt4zxYJpEJF3uLUg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=13.0.0", + "@angular/core": ">=13.0.0", + "apexcharts": "^3.36.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/ng-image-slider": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ng-image-slider/-/ng-image-slider-6.1.0.tgz", + "integrity": "sha512-Fc5HVBMt1rCDfZfzmcTbzylVyKsTLhnaluHSztKyWS8O7O7BagbDBEcn8fZGq+X1ykpoS2rW7CSZxWmTpSrZ8w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.5", + "@angular/core": "^14.0.5" + } + }, + "node_modules/ng2-tooltip-directive": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/ng2-tooltip-directive/-/ng2-tooltip-directive-2.10.3.tgz", + "integrity": "sha512-BNFxE/s9sNqkD3LTua/MtbM2n2lKycNIC8zG8XVyHtO9sJ+s2jj7g8dDuOxmX+izQGG+EBosPRCK1wTZL8NbVw==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^10.0.5", + "@angular/core": "^10.0.5" + } + }, + "node_modules/ng2-tooltip-directive-ng13fix": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/ng2-tooltip-directive-ng13fix/-/ng2-tooltip-directive-ng13fix-2.10.2.tgz", + "integrity": "sha512-nvMddoP1omEj84DV1EhjKT+tg0OAHcdfymdmkESWSyoLcoptkaQPpoFBMpQOe6jRCHFSKrBtHVrgLeobcHVZzg==", + "dependencies": { + "tslib": "^2.3.1" + }, + "peerDependencies": { + "@angular/common": "^14.2.2", + "@angular/core": "^14.2.2" + } + }, + "node_modules/ngx-color-picker": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/ngx-color-picker/-/ngx-color-picker-12.0.1.tgz", + "integrity": "sha512-ODLePeqN7dnhTmjHGJrxFHaEXb3o2vH4n8qUzkUAIFmz5vOOxCCEYY4/bg+5VK62PonaK7j0fFf8AjnwrqhFHQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=9.0.0", + "@angular/core": ">=9.0.0", + "@angular/forms": ">=9.0.0" + } + }, + "node_modules/ngx-logger": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/ngx-logger/-/ngx-logger-5.0.11.tgz", + "integrity": "sha512-OP8qesmRPmu/FKGi0PYvxP4CSZMIzX+bN0UK6jtP3pOduqzCUlha91V57+tGY+lR1RNytdj2OjN2M1yfbiFtLQ==", + "dependencies": { + "tslib": "^2.3.0", + "vlq": "^1.0.0" + }, + "peerDependencies": { + "rxjs": ">6.0.0" + } + }, + "node_modules/ngx-mat-timepicker": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/ngx-mat-timepicker/-/ngx-mat-timepicker-14.0.5.tgz", + "integrity": "sha512-PSSpWGXSesKKG0pi8Jh0Y05GRTyhrnbZeF06zDXyNeu9UCl4iTuHTghPVs2Y4RK0aUsFED3MMM+H7lfGhKU0kg==", + "dependencies": { + "ts-luxon": "^3.0.1", + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=14.18.1" + }, + "peerDependencies": { + "@angular/animations": "^14.0.1", + "@angular/cdk": "^14.0.1", + "@angular/common": "^14.0.1", + "@angular/compiler": "^14.0.1", + "@angular/core": "^14.0.1", + "@angular/forms": "^14.0.1", + "@angular/material": "^14.0.1", + "@angular/platform-browser": "^14.0.1" + } + }, + "node_modules/ngx-moment": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ngx-moment/-/ngx-moment-6.0.2.tgz", + "integrity": "sha512-HUvDyoJPZKLA3tc+GMQqDpVyCVT2SPfEiV7/CGj2Dwwsn//JhhQ8eTr+RzKqBzLysrXkCwlzulVVJaJ5A0FJEA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "moment": "^2.19.3" + } + }, + "node_modules/ngx-skeleton-loader": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ngx-skeleton-loader/-/ngx-skeleton-loader-6.0.0.tgz", + "integrity": "sha512-CVvJPKuMVGbtwG7MhLDPfbagNYNnpSCnisqPjrz1rg5BKSZGqPW8mkDtHt6tMT78xdzAzPjr51p7YNUoKJrRUw==", + "dependencies": { + "perf-marks": "^1.13.4", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=8.0.0", + "@angular/core": ">=8.0.0" + } + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-forge": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "engines": { + "node": "*" + } + }, + "node_modules/node-gyp": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", + "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.1.tgz", + "integrity": "sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm": { + "version": "8.19.3", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.3.tgz", + "integrity": "sha512-0QjmyPtDxSyMWWD8I91QGbrgx9KzbV6C9FK1liEb/K0zppiZkr5KxXc990G+LzPwBHDfRjUBlO9T1qZ08vl9mA==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.2.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.2.1", + "abbrev": "~1.1.1", + "archy": "~1.0.0", + "cacache": "^16.1.3", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.2.1", + "ini": "^3.0.1", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.4", + "libnpmdiff": "^4.0.5", + "libnpmexec": "^4.0.14", + "libnpmfund": "^3.0.5", + "libnpmhook": "^8.0.4", + "libnpmorg": "^4.0.4", + "libnpmpack": "^4.1.3", + "libnpmpublish": "^6.0.5", + "libnpmsearch": "^5.0.4", + "libnpmteam": "^4.0.4", + "libnpmversion": "^3.0.7", + "make-fetch-happen": "^10.2.0", + "minimatch": "^5.1.0", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.1.0", + "nopt": "^6.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.1.0", + "npm-pick-manifest": "^7.0.2", + "npm-profile": "^6.2.0", + "npm-registry-fetch": "^13.3.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "p-map": "^4.0.0", + "pacote": "^13.6.2", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.2", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-install-checks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", + "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-install-checks/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", + "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-packlist": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.3.tgz", + "integrity": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist/node_modules/npm-bundled": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-2.0.1.tgz", + "integrity": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", + "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "dev": true, + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz", + "integrity": "sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "5.6.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/query": "^1.2.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.3", + "cacache": "^16.1.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^5.2.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.2", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/ci-detect": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "4.2.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "2.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.1.0", + "postcss-selector-parser": "^6.0.10", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "4.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "16.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "8.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.10", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "5.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.0", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.10.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "5.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "6.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "4.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/disparity-colors": "^2.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1", + "tar": "^6.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "4.0.14", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/fs": "^2.1.1", + "@npmcli/run-script": "^4.2.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "proc-log": "^2.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "semver": "^7.3.7", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "3.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "8.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "4.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/run-script": "^4.1.3", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "6.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "5.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "3.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^4.1.3", + "json-parse-even-better-errors": "^2.3.1", + "proc-log": "^2.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "7.13.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "10.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "5.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "3.3.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "9.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "4.0.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "5.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "9.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "5.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "6.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "13.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "13.6.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "5.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/read-package-json/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.3.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.7", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.11", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "9.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.11", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "4.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/null-check": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz", + "integrity": "sha512-j8ZNHg19TyIQOWCGeeQJBuu6xZYIEurf8M1Qsfd8mFrGEfIZytbw18YjKWg+LcO25NowXGZXZpKAx+Ui3TFfDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/os-locale/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/os-locale/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-locale/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-locale/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/os-locale/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-locale/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.2.tgz", + "integrity": "sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg==", + "dev": true, + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/perf-marks": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/perf-marks/-/perf-marks-1.14.2.tgz", + "integrity": "sha512-N0/bQcuTlETpgox/DsXS1voGjqaoamMoiyhncgeW3rSHy/qw8URVgmPRYfFDQns/+C6yFUHDbeSBGL7ixT6Y4A==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/perfect-scrollbar": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.1.0.tgz", + "integrity": "sha512-nd3qD1foPdQRDS6iUmlh8hfVQJGFit9eCc6HT8vQayCh8Xx2GH6tXflFyQnI+onDzJkmucSJBFNrGpG/0xzryQ==" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.16.tgz", + "integrity": "sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.10", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.10.tgz", + "integrity": "sha512-U3BHdgrYhCrwTVcByFHs9EOBoqcKq4Lf3kXwbTi4hhq0qWhl/pDWq2THbv/ICX/Fl9KqeHBb8OVrTf2OaYF07A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "dev": true, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.0.0.tgz", + "integrity": "sha512-Y20shPQ07RitgBGv2zvkEAu9bqvrD77C9axhj/aA1BQj4czape2MdClCExvB27EwYEJdGgKZBpKanb0t1rK2Kg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", + "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.7" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", + "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "dev": true, + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "dev": true, + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.0.tgz", + "integrity": "sha512-leqiqLOellpLKfbHkD06E04P6d9ZQ24mat6hu4NSqun7WG0UhspHR5Myiv/510qouCjoo4+YJtNOqg5xHaFnCA==", + "dev": true, + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.0.5", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.8", + "browserslist": "^4.21.3", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.0.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.8", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.10", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-polyfill": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/promise-retry/node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/protobufjs": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz", + "integrity": "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/protobufjs/node_modules/@types/node": { + "version": "18.11.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", + "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" + }, + "node_modules/protobufjs/node_modules/long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + }, + "node_modules/protractor": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.4.tgz", + "integrity": "sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw==", + "deprecated": "We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular", + "dev": true, + "dependencies": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.0.6", + "yargs": "^12.0.5" + }, + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/protractor/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/protractor/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/protractor/node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "node_modules/protractor/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/protractor/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/protractor/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/protractor/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/protractor/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/protractor/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/protractor/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/protractor/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/protractor/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/protractor/node_modules/webdriver-manager": { + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", + "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", + "dev": true, + "dependencies": { + "adm-zip": "^0.5.2", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "bin": { + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/protractor/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/wrap-ansi/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "node_modules/protractor/node_modules/yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "dependencies": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "node_modules/protractor/node_modules/yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-package-json": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.2.tgz", + "integrity": "sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==", + "deprecated": "This package is no longer supported. Please use @npmcli/package-json instead.", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-package-json/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz", + "integrity": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", + "dev": true + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/roboto-fontface": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz", + "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.56.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.56.1.tgz", + "integrity": "sha512-VpEyKpyBPCxE7qGDtOcdJ6fFbcpOM+Emu7uZLxVrkX8KVU/Dp5UF7WLvzqRuUhB6mqqQt1xffLoG+AndxTZrCQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", + "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/saucelabs/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/saucelabs/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/saucelabs/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scrollto-with-animation": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/scrollto-with-animation/-/scrollto-with-animation-3.0.4.tgz", + "integrity": "sha512-1Wh6O/Eq137hHmoGwkastS8Fo6Ax7daFoer0y1Yv2kMkBrVD5WrLoq7UhXetpzlVJP2CiIipCEEjvgvJ/w5wkQ==", + "dependencies": { + "animation-frame": "^0.3.0" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "dependencies": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/selenium-webdriver/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/selenium-webdriver/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/selenium-webdriver/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/selfsigned/node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shepherd.js": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/shepherd.js/-/shepherd.js-10.0.1.tgz", + "integrity": "sha512-R32v4b4b0N1gK/vxvRtdhty+SBZlBPcPTSYCwcaAQvFd0n6Xki7cRH6Sx0oD9WB/HCkqCNM1msyIyylXmq635w==", + "dependencies": { + "@popperjs/core": "^2.11.5", + "deepmerge": "^4.2.2", + "smoothscroll-polyfill": "^0.4.4" + }, + "engines": { + "node": "12.* || 14.* || >= 16" + }, + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/rwwagner90" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/smoothscroll-polyfill": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz", + "integrity": "sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==" + }, + "node_modules/socket.io": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.4.tgz", + "integrity": "sha512-m3GC94iK9MfIEeIBfbhJs5BqFibMtkRk8ZpKwG2QwxV0m/eEhPIV4ara6XCF1LWNAus7z58RodiZlAH71U3EhQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.1", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", + "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", + "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamroller": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.3.tgz", + "integrity": "sha512-CphIJyFx2SALGHeINanjFRKQ4l7x2c+rXYJ4BMq0gd+ZK0gi4VT8b+eHe2wi58x4UayBAKx4xtHpXT/ea1cz8w==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-template": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", + "integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylus": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.59.0.tgz", + "integrity": "sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://opencollective.com/stylus" + } + }, + "node_modules/stylus-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", + "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "klona": "^2.0.5", + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^5.0.0" + } + }, + "node_modules/stylus/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/stylus/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/stylus/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg.draggable.js": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz", + "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==", + "dependencies": { + "svg.js": "^2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.easing.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz", + "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==", + "dependencies": { + "svg.js": ">=2.3.x" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.filter.js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz", + "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.js": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz", + "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==" + }, + "node_modules/svg.pathmorphing.js": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz", + "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==", + "dependencies": { + "svg.js": "^2.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz", + "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==", + "dependencies": { + "svg.js": "^2.6.5", + "svg.select.js": "^2.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.resize.js/node_modules/svg.select.js": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz", + "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==", + "dependencies": { + "svg.js": "^2.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/svg.select.js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz", + "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==", + "dependencies": { + "svg.js": "^2.6.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/sweetalert": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz", + "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==", + "dependencies": { + "es6-object-assign": "^1.1.0", + "promise-polyfill": "^6.0.2" + } + }, + "node_modules/sweetalert/node_modules/promise-polyfill": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz", + "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ==" + }, + "node_modules/sweetalert2": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.6.tgz", + "integrity": "sha512-CINZPLZXZRSZqSOE7H7j1F7X8e8O1kLOiXPmtJn1DYxvXsKBr3d16d90+IcwTTs7dJww20h8r8QIxIwsLGX+6A==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.12.tgz", + "integrity": "sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.0.tgz", + "integrity": "sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-luxon": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ts-luxon/-/ts-luxon-3.5.0.tgz", + "integrity": "sha512-ObTb62PWSvvOT/vNTNbJAlkJ7WPMxC0Nu0d61o5LkT9LxGxs4WJifPnXBQ4OnExAg1pmKSyJB85htn8cbO02tA==", + "engines": { + "node": ">=13" + } + }, + "node_modules/ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "dependencies": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + }, + "bin": { + "ts-node": "dist/bin.js" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ts-node/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/tslint/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tslint/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tslint/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-animations-js": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/web-animations-js/-/web-animations-js-2.3.2.tgz", + "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" + }, + "node_modules/webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "dev": true, + "dependencies": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webpack": { + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.0.tgz", + "integrity": "sha512-L5S4Q2zT57SK7tazgzjMiSMBdsw+rGYIX27MgPgx7LDhWO0lViPrHKoLS7jo5In06PWYAhlYu3PbyoC6yAThbw==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xhr2": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", + "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/zone.js": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", + "integrity": "sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA==", + "dependencies": { + "tslib": "^2.3.0" + } + } + }, "dependencies": { "@adobe/css-tools": { "version": "4.0.1", @@ -507,7 +18283,6 @@ "version": "14.2.12", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.2.12.tgz", "integrity": "sha512-9Gkb9KFkaQPz8XaS8ZwwTioRZ4ywykdAWyceICEi78/Y9ConYrTX2SbFogzI2dPUZU8a04tMlbqTSmHjVbJftQ==", - "dev": true, "requires": { "@babel/core": "^7.17.2", "chokidar": "^3.0.0", @@ -525,7 +18300,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -534,7 +18308,6 @@ "version": "7.3.8", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -1851,13 +19624,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "dev": true + "dev": true, + "requires": {} }, "@csstools/selector-specificity": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", - "dev": true + "dev": true, + "requires": {} }, "@ctrl/ngx-emoji-mart": { "version": "7.1.0", @@ -1942,12 +19717,14 @@ "@firebase/auth-interop-types": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz", - "integrity": "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==" + "integrity": "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==", + "requires": {} }, "@firebase/auth-types": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.10.1.tgz", - "integrity": "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw==" + "integrity": "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw==", + "requires": {} }, "@firebase/component": { "version": "0.1.19", @@ -2020,7 +19797,8 @@ "@firebase/firestore-types": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.14.0.tgz", - "integrity": "sha512-WF8IBwHzZDhwyOgQnmB0pheVrLNP78A8PGxk1nxb/Nrgh1amo4/zYvFMGgSsTeaQK37xMYS/g7eS948te/dJxw==" + "integrity": "sha512-WF8IBwHzZDhwyOgQnmB0pheVrLNP78A8PGxk1nxb/Nrgh1amo4/zYvFMGgSsTeaQK37xMYS/g7eS948te/dJxw==", + "requires": {} }, "@firebase/functions": { "version": "0.5.1", @@ -2068,7 +19846,8 @@ "@firebase/installations-types": { "version": "0.3.4", "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.3.4.tgz", - "integrity": "sha512-RfePJFovmdIXb6rYwtngyxuEcWnOrzdZd9m7xAW0gRxDIjBT20n3BOhjpmgRWXo/DAxRmS7bRjWAyTHY9cqN7Q==" + "integrity": "sha512-RfePJFovmdIXb6rYwtngyxuEcWnOrzdZd9m7xAW0gRxDIjBT20n3BOhjpmgRWXo/DAxRmS7bRjWAyTHY9cqN7Q==", + "requires": {} }, "@firebase/logger": { "version": "0.2.6", @@ -2098,7 +19877,8 @@ "@firebase/messaging-types": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/@firebase/messaging-types/-/messaging-types-0.5.0.tgz", - "integrity": "sha512-QaaBswrU6umJYb/ZYvjR5JDSslCGOH6D9P136PhabFAHLTR4TWjsaACvbBXuvwrfCXu10DtcjMxqfhdNIB1Xfg==" + "integrity": "sha512-QaaBswrU6umJYb/ZYvjR5JDSslCGOH6D9P136PhabFAHLTR4TWjsaACvbBXuvwrfCXu10DtcjMxqfhdNIB1Xfg==", + "requires": {} }, "@firebase/performance": { "version": "0.4.2", @@ -2181,7 +19961,8 @@ "@firebase/storage-types": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.3.13.tgz", - "integrity": "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog==" + "integrity": "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog==", + "requires": {} }, "@firebase/util": { "version": "0.3.2", @@ -2401,7 +20182,8 @@ "version": "14.2.2", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.2.tgz", "integrity": "sha512-mjHv5DPsK6QP/D4zi6Oc4gMEZGNYv6Hmw/xJ1ZZTjSxgKujmHx2keDLSJHZpoLtbHRr+FHfWNnPfPz9dWYrlYQ==", - "dev": true + "dev": true, + "requires": {} }, "@ngx-translate/core": { "version": "14.0.0", @@ -3082,7 +20864,8 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true + "dev": true, + "requires": {} }, "adjust-sourcemap-loader": { "version": "4.0.0", @@ -3195,7 +20978,8 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "dev": true, + "requires": {} }, "angular-cc-library": { "version": "3.0.1", @@ -4375,7 +22159,8 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true + "dev": true, + "requires": {} }, "css-select": { "version": "4.3.0", @@ -4569,8 +22354,7 @@ "dependency-graph": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" }, "destroy": { "version": "1.2.0", @@ -4786,7 +22570,8 @@ "version": "8.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "dev": true + "dev": true, + "requires": {} } } }, @@ -5837,7 +23622,8 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true + "dev": true, + "requires": {} }, "idb": { "version": "3.0.2", @@ -6645,7 +24431,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", - "dev": true + "dev": true, + "requires": {} }, "karma-source-map-support": { "version": "1.4.0", @@ -6884,7 +24671,6 @@ "version": "0.26.2", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", - "dev": true, "requires": { "sourcemap-codec": "^1.4.8" } @@ -8958,6 +26744,13 @@ "minipass": "^3.1.1" } }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-width": { "version": "4.2.3", "bundled": true, @@ -8967,13 +26760,6 @@ "strip-ansi": "^6.0.1" } }, - "string_decoder": { - "version": "1.3.0", - "bundled": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-ansi": { "version": "6.0.1", "bundled": true, @@ -9952,13 +27738,15 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true + "dev": true, + "requires": {} }, "postcss-gap-properties": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true + "dev": true, + "requires": {} }, "postcss-image-set-function": { "version": "4.0.7", @@ -9984,7 +27772,8 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-lab-function": { "version": "4.2.1", @@ -10031,19 +27820,22 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true + "dev": true, + "requires": {} }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -10103,7 +27895,8 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true + "dev": true, + "requires": {} }, "postcss-place": { "version": "7.0.5", @@ -10184,7 +27977,8 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true + "dev": true, + "requires": {} }, "postcss-selector-not": { "version": "6.0.1", @@ -10767,8 +28561,7 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "regenerate": { "version": "1.4.2", @@ -11565,8 +29358,7 @@ "sourcemap-codec": { "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spdx-correct": { "version": "3.1.1", @@ -11674,6 +29466,15 @@ "fs-extra": "^8.1.0" } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-template": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", @@ -11696,15 +29497,6 @@ } } }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -12232,8 +30024,7 @@ "typescript": { "version": "4.8.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", - "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", - "dev": true + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" }, "ua-parser-js": { "version": "0.7.32", @@ -12718,7 +30509,8 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true + "dev": true, + "requires": {} }, "xhr2": { "version": "0.2.1", @@ -12754,8 +30546,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", diff --git a/src/app/knowledge-bases/knowledge-bases.component.html b/src/app/knowledge-bases/knowledge-bases.component.html index 5330f88bfc76..846ad32fe518 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.html +++ b/src/app/knowledge-bases/knowledge-bases.component.html @@ -88,49 +88,49 @@

-
-
- Knowledge base: + +
+
+
Knowledge Base
+
Default
- -
{{selectedNamespace?.name}}
- -
- + - + view_list + --> + - - - - + + + - +
+ + + + + + + @@ -312,16 +367,21 @@
{{ 'KbPage.ThisKBisNotUsedByAnyChatbot' | translate }} +
-
+ {{ 'CreateChatbot' | translate }} -
+
-->
diff --git a/src/app/knowledge-bases/knowledge-bases.component.scss b/src/app/knowledge-bases/knowledge-bases.component.scss index cc884166c97e..39bb6962b524 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.scss +++ b/src/app/knowledge-bases/knowledge-bases.component.scss @@ -35,11 +35,24 @@ } .header-first-column{ + display: flex; + flex-direction: column; +} + +.header-first-column-namespace { display: flex; flex-direction: row; align-items: center; } +.badge-container { + display: flex; + + .default-badge { + background-color: #0566ff; + } +} + .selected-namespace-label { color: #647491; font-size: 24px; @@ -753,7 +766,7 @@ table { .chatbot-using-current-namespace { font-weight: 400; height: 24px; - + display: flex; } .chatbot-list-using-current-namespace { diff --git a/src/app/knowledge-bases/knowledge-bases.component.ts b/src/app/knowledge-bases/knowledge-bases.component.ts index 983aaf02ef64..5a5243c55409 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.ts +++ b/src/app/knowledge-bases/knowledge-bases.component.ts @@ -1376,7 +1376,6 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI backdropClass: 'cdk-overlay-transparent-backdrop', hasBackdrop: true, width: '600px', - }); dialogRef.afterClosed().subscribe(body => { this.logger.log('[Modal Add URLS AFTER CLOSED] Dialog body: ', body); diff --git a/src/app/knowledge-bases/knowledge-bases.module.ts b/src/app/knowledge-bases/knowledge-bases.module.ts index 6b97ef8b7dd9..38a69f9af9dd 100644 --- a/src/app/knowledge-bases/knowledge-bases.module.ts +++ b/src/app/knowledge-bases/knowledge-bases.module.ts @@ -38,6 +38,8 @@ import { ModalNsLimitReachedComponent } from './modals/modal-ns-limit-reached/mo import { ModalConfirmGotoCdsComponent } from './modals/modal-confirm-goto-cds/modal-confirm-goto-cds.component'; import { SatPopoverModule } from '@ncstate/sat-popover'; import {ClipboardModule} from '@angular/cdk/clipboard'; +import { MatChipsModule } from '@angular/material/chips'; +import { MatSelectModule } from '@angular/material/select'; const routes: Routes = [ { path: "", component: KnowledgeBasesComponent}, @@ -86,7 +88,9 @@ const routes: Routes = [ MatFormFieldModule, MatInputModule, MatExpansionModule, - SatPopoverModule + SatPopoverModule, + MatChipsModule, + MatSelectModule ] // , // providers: [ diff --git a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html index ebe11e56ca75..548a65b1f936 100644 --- a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html +++ b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html @@ -1,7 +1,7 @@ -

{{ 'KbPage.titleUrls' | translate }}

+

{{ 'KbPage.titleUrls' | translate }}

-
+
help_outline @@ -10,21 +10,111 @@

{{ 'KbPage.titleUrls' | translate }}

+ + + + + Advanced Options + +
+ +
+
+ Indexing type + + + + {{type.name}} + + +
+
+
+ + +
+ Extract Tags (Mandatory) + + + + {{ tag }} + + + + + + +
+ + +
+ Unwanted Tags + + + + {{ tag }} + + + + + +
+ + +
+ Unwanted Classnames + + + + {{ tag }} + + + + + +
+ +
+
+
+
+
-
- {{ 'KbPage.titleTextareaUrls' | translate }} - +
+ {{ 'KbPage.titleTextareaUrls' | translate }} + - {{ 'KbPage.YouCanAddKBUrlsLimit' | translate }} {{KB_LIMIT_CONTENT}} + {{ + 'KbPage.YouCanAddKBUrlsLimit' | translate }} {{KB_LIMIT_CONTENT}} - {{ 'KbPage.InfoSitemapList' | translate }} {{KB_LIMIT_CONTENT}} -
+ {{ 'KbPage.InfoSitemapList' | translate }} + {{KB_LIMIT_CONTENT}} +
diff --git a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.scss b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.scss index 1c9d37b7a5ec..01c95c2804ed 100644 --- a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.scss +++ b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.scss @@ -1,3 +1,7 @@ +.modal { + font-family: 'Poppins'; +} + .modal-header { .modal-title { font-weight: 400; @@ -217,8 +221,17 @@ .input-label { + font-family: 'Poppins'; + font-weight: 400; + font-size: 13px; + font-weight: normal; + padding-bottom: 0; +} + +.textarea-label { + font-family: 'Poppins'; font-weight: 400; - font-size: 12px; + font-size: 14px; font-weight: normal; margin-top: 6px; padding-bottom: 0; @@ -237,4 +250,84 @@ background-color: var(--blue-light); color: #fff; - } \ No newline at end of file +} + +.mat-button-disabled { + opacity: 0.8; + color: #e4e4e4 !important; + cursor: not-allowed; +} + +.custom-expansion-panel { + //background-color: transparent !important; + margin-top: 12px; + box-shadow: none; + // background-color: transparent; + // box-shadow: none; + //color: white; +} + +.expansion-panel-content { + display: flex; +} + +// .option-box { +// // margin-right: 12px; +// // padding: 0px 10px 10px 10px; +// } + +mat-expansion-panel ::ng-deep { + background-color: transparent !important; + + .mat-expansion-panel-header { + background-color: transparent !important; + padding: 0 2px; + &:hover { + background-color: blueviolet; + } + } + + .mat-expansion-panel-header.mat-expanded { + height: 48px; + } + + .mat-expansion-panel-body { + padding: 0 4px !important; + } + + .disable_ripple:hover { + background: transparent !important; + } + +} + + +::ng-deep .mat-form-field-appearance-outline .mat-form-field-wrapper { + margin: .25em 0; + padding-bottom: 4px; +} + + +::ng-deep .mat-chip-list-wrapper { + max-height: 100px; + overflow: scroll; + + .mat-standard-chip { + border-radius: 10px; + background-color: transparent; + border: solid 1px #b9b9b9; + } +} + +::ng-deep.ng-select-container { + height: 48px !important; + margin-top: 3px; + border-radius: 6px; + border: solid 1px #e4e4e4 !important; + box-shadow: none; + } + + +::ng-deep.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container { + box-shadow: none; +} diff --git a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.ts b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.ts index 46809a897ac3..d0697383b54b 100644 --- a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.ts +++ b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.ts @@ -2,6 +2,8 @@ import { Component, OnInit, Output, EventEmitter, SimpleChanges, Inject } from ' // import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { KB_LIMIT_CONTENT } from 'app/utils/util'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { COMMA, ENTER } from '@angular/cdk/keycodes'; +import { MatChipInputEvent } from '@angular/material/chips'; @Component({ selector: 'modal-urls-knowledge-base', @@ -20,6 +22,20 @@ export class ModalUrlsKnowledgeBaseComponent implements OnInit { countSitemap: number; errorLimit: boolean = false; + panelOpenState = true; + separatorKeysCodes: number[] = [ENTER, COMMA]; + scrape_types: Array = [ + { name: "Full HTML page", value: 1 }, + { name: "Headless (Standard)", value: 2 }, + { name: "Headless (Text Only)", value: 3 }, + { name: "Headless (Parameterizable)", value: 4 }, + ]; + + selectedScrapeType = 3; + extract_tags = []; + unwanted_tags = []; + unwanted_classnames = []; + constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, @@ -63,13 +79,48 @@ export class ModalUrlsKnowledgeBaseComponent implements OnInit { const arrayURLS = this.listOfUrls.split("\n").filter(function(row) { return row.trim() !== ''; }); - let body = { - 'list': arrayURLS + let body: any = { + list: arrayURLS, + options: { + scrape_type: this.selectedScrapeType + } + } + + if (this.selectedScrapeType === 4) { + body.options.tags_to_extract = this.extract_tags; + body.options.unwanted_tags = this.unwanted_tags; + body.options.unwanted_classnames = this.unwanted_classnames; } + this.dialogRef.close(body); // this.saveKnowledgeBase.emit(body); } + onSelectScrapeType(selectedType) { + // console.log("onSelectScrapeType: ", selectedType); + } + + addTag(type, event: MatChipInputEvent): void { + //console.log("Tag Event: ", event); + const value = (event.value || '').trim(); + if (value) { + if (type === 'extract_tags') { + this.extract_tags.push(value); + } + if (type === 'unwanted_tags') { + this.unwanted_tags.push(value); + } + if (type === 'unwanted_classnames') { + this.unwanted_classnames.push(value); + } + } + // Clear the input value + if (event.input) { + event.input.value = ""; + } + //console.log("Tags: ", this.content.tags); + } + /** */ onCloseBaseModal() { this.countSitemap = 0; diff --git a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component_old.html b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component_old.html index 996bcfc1d230..a44f7a09b4ea 100644 --- a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component_old.html +++ b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component_old.html @@ -8,7 +8,7 @@ -
@@ -244,6 +247,12 @@ style="font-size: 16px; color: white;">link URL
+
+ quiz + FAQs +
diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html new file mode 100644 index 000000000000..f3a44bd277ec --- /dev/null +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html @@ -0,0 +1,68 @@ + + +
+ +
+ help_outline +
+

{{ 'KbPage.AddKbInfoTextContent' | translate }}

+ +

+
+
+ + +
+
+
+ {{ 'FaqEditAddPage.Question' | translate }} + + + {{ 'FaqEditAddPage.Answer' | translate }} + + + + +
+
+
+ +
+ +
+ + + +
+ + + + + diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss new file mode 100644 index 000000000000..8f4cc7bd0ad2 --- /dev/null +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss @@ -0,0 +1,267 @@ +.modal-header { + .modal-title { + font-weight: 400; + } + + .close { + opacity: 0.5; + } + + .close:hover { + opacity: 1; + } +} + +.modal-body { + display: inline-block; + width: 100%; +} + +.modal-state { + width: 40%; + text-align: right; + float: right; +} + +.fake-input { + height: 37px; + border-radius: 6px; + border: 1px solid #ccc; + display: flex; + align-items: center; + padding: 12px; + cursor: text; + + .fake-input-inner { + width: 100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + } + + input { + height: 32px; + width: 100%; + border: transparent; + } + + .input-bold { + font-weight: 400; + } + + .enter-button { + display: none; + transition: background-color 0.15s ease 0s, color 0.15s ease 0s; + cursor: pointer; + animation: 0.15s ease 0s 1 normal none running fadein, 0.15s ease 0s 1 normal none running moveinleft; + box-sizing: border-box; + min-width: 22px; + height: 22.4px; + margin-top: -4px; + margin-bottom: -4px; + padding-right: 8px; + padding-left: 8px; + font-weight: 600; + font-size: 12px; + line-height: 24px; + text-align: center; + border-radius: 5px; + // color: #61778c; + color: rgb(98, 119, 140); + background: linear-gradient(rgba(239, 245, 246, 0.64) 0%, rgb(238, 244, 246) 100%), rgb(255, 255, 255); + box-shadow: rgb(212, 217, 230) 0px 1px 0px; + } + + @keyframes fadein { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } + } + + @keyframes moveinleft { + 0% { + transform: translate(16px); + } + + 100% { + transform: translate(0px); + } + } +} + +::ng-deep .custom-spinner { + .sk-fading-circle { + width: 20px; + height: 20px; + margin: 0px; + } + + .sk-fading-circle .sk-circle:before { + background-color: rgb(98, 119, 140) !important; + } +} + +.answer { + min-height: 37px; + max-height: auto; + border-radius: 6px; + border: 1px solid #ccc; + padding: 6px 12px 20px; + cursor: text; + overflow: hidden; + transition: max-height 0.5s ease-out; + + .answer-title { + margin-bottom: 0px; + font-size: 12px; + font-weight: 600; + color: rgb(98, 119, 140) !important; + } +} + +.form-container { + margin-top: 12px; + margin-bottom: 12px; + display: inline-block; + width: 100%; + + .input-container { + margin-bottom: 14px; + } + + .input-label { + font-weight: 400; + // letter-spacing: 0.5px; + } + + .custom-input { + width: 100%; + height: 37px; + border-radius: 6px; + border: 1px solid #c6cdd4; + padding: 0px 15px; + color: #22272d; + // line-height: 35px; + // font-weight: 400; + margin-bottom: 10px; + + // letter-spacing: 0.5px; + &.invalid { + border: 1px solid red !important; + outline: 0px solid red !important; + transition: border 0.3s; + } + } + + .custom-textarea { + width: 100%; + border-radius: 6px; + border: 1px solid #c6cdd4; + padding: 10px 15px; + color: #22272d; + + // line-height: 35px; + // font-weight: 400; + &.invalid { + border: 1px solid red !important; + outline: 0px solid red !important; + transition: border 0.3s; + } + } +} + + +.kb-container { + width: fit-content; + display: flex; + flex-direction: row; + align-items: center; + border: solid 1px #c2c2c2; + border-radius: 12px; + padding: 2px 10px; + background: linear-gradient(rgba(239, 245, 246, 0.64) 0%, rgb(238, 244, 246) 100%), rgb(255, 255, 255); + box-shadow: rgb(212, 217, 230) 0px 1px 0px; + + p { + font-size: 12px; + margin-bottom: 0px; + color: rgb(98, 119, 140); + } + + .material-icons-round { + font-size: 20px; + margin-right: 8px; + color: rgb(98, 119, 140); + } +} + +.selectEngine { + ::ng-deep .ng-select-container { + border: 2px solid #c6cdd4; + } +} + +.info-container { + display: flex; + flex-direction: row; + padding: 12px 15px; + border-radius: 4px; + background-color: #d7ebfa6e; + + .info-icon { + margin-right: 8px; + font-size: 20px; + } + + p { + margin-bottom: 0px; + } +} + +.btn { + text-transform: none; +} + +.mat-dialog-close-btn { + background-color: #647491; + color: #fff; +} + +.mat-dialog-ok-btn { + background-color: var(--blue-light); + color: #fff; + +} + + +.m-header { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.m-top-right-icon { + cursor: pointer; +} + +.m-top-right-icon>span { + padding: 8px; + background: #e4e6eb; + border-radius: 999px; + position: relative; + top: 0px; + left: 0px; + font-size: 18px; + color: rgb(91, 98, 106); + +} + +.m-top-right-icon:hover>span { + background-color: rgb(213, 214, 220); + color: rgb(28, 30, 33) +} \ No newline at end of file diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.spec.ts b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.spec.ts new file mode 100644 index 000000000000..954028aef5cc --- /dev/null +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ModalFaqsComponent } from './modal-faqs.component'; + +describe('ModalFaqsComponent', () => { + let component: ModalFaqsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ModalFaqsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ModalFaqsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts new file mode 100644 index 000000000000..e54e6b9c7893 --- /dev/null +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts @@ -0,0 +1,75 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { KB } from 'app/models/kbsettings-model'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; + +@Component({ + selector: 'appdashboard-modal-faqs', + templateUrl: './modal-faqs.component.html', + styleUrls: ['./modal-faqs.component.scss'] +}) +export class ModalFaqsComponent implements OnInit { + + kbForm: FormGroup; + buttonDisabled: boolean = true; + uploadFromCSV: boolean = false; + + kb: KB = { + _id: null, + type: '', + name: '', + url: '', + content: '' + } + + constructor( + private formBuilder: FormBuilder, + @Inject(MAT_DIALOG_DATA) public data: any, + public dialogRef: MatDialogRef, + ) { } + + ngOnInit(): void { + this.kbForm = this.createConditionGroup(); + } + + createConditionGroup(): FormGroup { + // const contentPattern = /^[^&<>]{3,}$/; + const namePattern = /^[^&<>]{3,}$/; + return this.formBuilder.group({ + content: ['', [Validators.required]], + name: ['', [Validators.required, Validators.pattern(namePattern)]] + }) + } + + onChangeInput(event): void { + if (this.kbForm.valid) { + this.buttonDisabled = false; + } else { + this.buttonDisabled = true; + } + } + + onSaveKnowledgeBase() { + console.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb) + const content = this.kb.name + "\n" + this.kb.content + let body = { + 'name': this.kb.name, + 'source': this.kb.name, + 'content': content, // this.kb.content, + 'type': 'faqs' + } + this.dialogRef.close(body); + + } + + onCloseBaseModal() { + this.dialogRef.close(); + } + + uploadFaqsFromCSV() { + + } + + + +} diff --git a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts index b694fa19e169..1e50f406450e 100644 --- a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts +++ b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts @@ -124,25 +124,30 @@ export class ModalPreviewSettingsComponent implements OnInit, OnChanges { const ai_models = loadTokenMultiplier(this.appConfigService.getConfig().aiModels) // this.logger.log("[MODAL PREVIEW SETTINGS] ai_models ", ai_models) - this.model_list = Object.values(TYPE_GPT_MODEL).filter(el => el.status !== 'inactive').map((el) => { - if (ai_models[el.value]) + + this.model_list = TYPE_GPT_MODEL.filter(el => Object.keys(ai_models).includes(el.value)).map((el)=> { + if(ai_models[el.value]) return { ...el, multiplier: ai_models[el.value] + ' x tokens' } else return { ...el, multiplier: null } }) // this.logger.log("[MODAL PREVIEW SETTINGS] model_list ", this.model_list ) - if (this.selectedNamespace.preview_settings.model === "gpt-3.5-turbo") { - this.selectedModel = this.model_list[0].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4") { - this.selectedModel = this.model_list[1].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4-turbo-preview") { - this.selectedModel = this.model_list[2].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4o") { - this.selectedModel = this.model_list[3].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4o-mini") { - this.selectedModel = this.model_list[4].value; - } + // if (this.selectedNamespace.preview_settings.model === "gpt-3.5-turbo") { + // this.selectedModel = this.model_list[0].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4") { + // this.selectedModel = this.model_list[1].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4-turbo-preview") { + // this.selectedModel = this.model_list[2].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4o") { + // this.selectedModel = this.model_list[3].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4o-mini") { + // this.selectedModel = this.model_list[4].value; + // } + + + this.selectedModel = this.model_list.find(el => el.value === this.selectedNamespace.preview_settings.model).value + // this.logger.log("[MODAL PREVIEW SETTINGS] selectedModel ", this.selectedModel) diff --git a/src/app/utils/util.ts b/src/app/utils/util.ts index ffe63e47c3ca..1e2a01c4c77a 100755 --- a/src/app/utils/util.ts +++ b/src/app/utils/util.ts @@ -698,15 +698,25 @@ export const botDefaultLanguages = [ // 'GPT-4o': { name: "GPT-4o (ChatGPT)", value: "gpt-4o", status: "active"} // } -export const TYPE_GPT_MODEL = { - 'GPT-3': { name: "GPT-3 (DaVinci)", value: "text-davinci-003", status: "inactive"}, - 'GPT-3.5' : { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", status: "active"}, - 'GPT-4' : { name: "GPT-4", value: "gpt-4", status: "active"}, - 'GPT-4-turbo-preview': { name: "GPT-4 Turbo", value: "gpt-4-turbo-preview", status: "active"}, - 'GPT-4o': { name: "GPT-4o", value: "gpt-4o", status: "active"}, - 'GPT-4o-mini':{ name: "GPT-4o mini",value: "gpt-4o-mini", status: "active"} +// export const TYPE_GPT_MODEL = { +// 'GPT-3': { name: "GPT-3 (DaVinci)", value: "text-davinci-003", status: "inactive"}, +// 'GPT-3.5' : { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", status: "active"}, +// 'GPT-4' : { name: "GPT-4", value: "gpt-4", status: "active"}, +// 'GPT-4-turbo-preview': { name: "GPT-4 Turbo", value: "gpt-4-turbo-preview", status: "active"}, +// 'GPT-4o': { name: "GPT-4o", value: "gpt-4o", status: "active"}, +// 'GPT-4o-mini':{ name: "GPT-4o mini",value: "gpt-4o-mini", status: "active"} +// } -} +export const TYPE_GPT_MODEL: Array<{name: string, value: string, description: string, status: "active" | "inactive"}> = [ + { name: "GPT-3 (DaVinci)", value: "text-davinci-003", description: "TYPE_GPT_MODEL.text-davinci-003.description", status: "inactive" }, + { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", description: "TYPE_GPT_MODEL.gpt-3.5-turbo.description", status: "active" }, + { name: "GPT-4 (Legacy)", value: "gpt-4", description: "TYPE_GPT_MODEL.gpt-4.description", status: "active" }, + { name: "GPT-4 Turbo Preview", value: "gpt-4-turbo-preview", description: "TYPE_GPT_MODEL.gpt-4-turbo-preview.description", status: "active" }, + { name: "GPT-4o", value: "gpt-4o", description: "TYPE_GPT_MODEL.gpt-4o.description", status: "active" }, + { name: "GPT-4o mini", value: "gpt-4o-mini", description: "TYPE_GPT_MODEL.gpt-4o-mini.description", status: "active" }, + { name: "OpenAI o1-mini", value: "o1-mini", description: "TYPE_GPT_MODEL.o1-mini.description", status: "active" }, + { name: "OpenAI o1-preview", value: "o1-preview", description: "TYPE_GPT_MODEL.o1-preview.description", status: "active" } +] export const CHANNELS_NAME = { CHAT21: 'chat21', From 9985eaba509e316c125d6c84a7b1ccd16c2f17d4 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Tue, 17 Sep 2024 12:02:55 +0200 Subject: [PATCH 18/42] Adds translations --- src/assets/i18n/en.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index e6475822f026..48e11dc2378c 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -551,6 +551,16 @@ "SelectAblock": "Select a block", "YouNeedToSelectABlock":"You need to select a block :)", "MoreInQueque": "More in queque, see all", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Canned responses are pre-made messages you can recall easily during chat.", From 64a505bb2a8c7435b73e1484b5719e5d09e5357e Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Tue, 17 Sep 2024 12:30:14 +0200 Subject: [PATCH 19/42] Adds the LLMs models OpenAI o1-mini and OpenAI o1-preview --- .../modal-preview-settings.component.ts | 39 +++++++++++-------- src/app/utils/util.ts | 27 ++++++++----- 2 files changed, 41 insertions(+), 25 deletions(-) diff --git a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts index b694fa19e169..cec391f1362c 100644 --- a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts +++ b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts @@ -124,28 +124,35 @@ export class ModalPreviewSettingsComponent implements OnInit, OnChanges { const ai_models = loadTokenMultiplier(this.appConfigService.getConfig().aiModels) // this.logger.log("[MODAL PREVIEW SETTINGS] ai_models ", ai_models) - this.model_list = Object.values(TYPE_GPT_MODEL).filter(el => el.status !== 'inactive').map((el) => { - if (ai_models[el.value]) + // this.model_list = Object.values(TYPE_GPT_MODEL).filter(el => el.status !== 'inactive').map((el) => { + // if (ai_models[el.value]) + // return { ...el, multiplier: ai_models[el.value] + ' x tokens' } + // else + // return { ...el, multiplier: null } + // }) + + this.model_list = TYPE_GPT_MODEL.filter(el => Object.keys(ai_models).includes(el.value)).map((el)=> { + if(ai_models[el.value]) return { ...el, multiplier: ai_models[el.value] + ' x tokens' } else return { ...el, multiplier: null } }) // this.logger.log("[MODAL PREVIEW SETTINGS] model_list ", this.model_list ) - if (this.selectedNamespace.preview_settings.model === "gpt-3.5-turbo") { - this.selectedModel = this.model_list[0].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4") { - this.selectedModel = this.model_list[1].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4-turbo-preview") { - this.selectedModel = this.model_list[2].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4o") { - this.selectedModel = this.model_list[3].value; - } else if (this.selectedNamespace.preview_settings.model === "gpt-4o-mini") { - this.selectedModel = this.model_list[4].value; - } - // this.logger.log("[MODAL PREVIEW SETTINGS] selectedModel ", this.selectedModel) - - + // if (this.selectedNamespace.preview_settings.model === "gpt-3.5-turbo") { + // this.selectedModel = this.model_list[0].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4") { + // this.selectedModel = this.model_list[1].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4-turbo-preview") { + // this.selectedModel = this.model_list[2].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4o") { + // this.selectedModel = this.model_list[3].value; + // } else if (this.selectedNamespace.preview_settings.model === "gpt-4o-mini") { + // this.selectedModel = this.model_list[4].value; + // } + + this.selectedModel = this.model_list.find(el => el.value === this.selectedNamespace.preview_settings.model).value + this.logger.log("[MODAL PREVIEW SETTINGS] selectedModel ", this.selectedModel) // if(this.selectedModel !== this.selectedNamespaceClone.preview_settings.model) { // this.countOfOverrides = this.countOfOverrides + 1; diff --git a/src/app/utils/util.ts b/src/app/utils/util.ts index ffe63e47c3ca..9c980d2149e5 100755 --- a/src/app/utils/util.ts +++ b/src/app/utils/util.ts @@ -698,16 +698,25 @@ export const botDefaultLanguages = [ // 'GPT-4o': { name: "GPT-4o (ChatGPT)", value: "gpt-4o", status: "active"} // } -export const TYPE_GPT_MODEL = { - 'GPT-3': { name: "GPT-3 (DaVinci)", value: "text-davinci-003", status: "inactive"}, - 'GPT-3.5' : { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", status: "active"}, - 'GPT-4' : { name: "GPT-4", value: "gpt-4", status: "active"}, - 'GPT-4-turbo-preview': { name: "GPT-4 Turbo", value: "gpt-4-turbo-preview", status: "active"}, - 'GPT-4o': { name: "GPT-4o", value: "gpt-4o", status: "active"}, - 'GPT-4o-mini':{ name: "GPT-4o mini",value: "gpt-4o-mini", status: "active"} - -} +// export const TYPE_GPT_MODEL = { +// 'GPT-3': { name: "GPT-3 (DaVinci)", value: "text-davinci-003", status: "inactive"}, +// 'GPT-3.5' : { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", status: "active"}, +// 'GPT-4' : { name: "GPT-4", value: "gpt-4", status: "active"}, +// 'GPT-4-turbo-preview': { name: "GPT-4 Turbo", value: "gpt-4-turbo-preview", status: "active"}, +// 'GPT-4o': { name: "GPT-4o", value: "gpt-4o", status: "active"}, +// 'GPT-4o-mini':{ name: "GPT-4o mini",value: "gpt-4o-mini", status: "active"} +// } +export const TYPE_GPT_MODEL: Array<{name: string, value: string, description: string, status: "active" | "inactive"}> = [ + { name: "GPT-3 (DaVinci)", value: "text-davinci-003", description: "TYPE_GPT_MODEL.text-davinci-003.description", status: "inactive" }, + { name: "GPT-3.5 Turbo", value: "gpt-3.5-turbo", description: "TYPE_GPT_MODEL.gpt-3.5-turbo.description", status: "active" }, + { name: "GPT-4 (Legacy)", value: "gpt-4", description: "TYPE_GPT_MODEL.gpt-4.description", status: "active" }, + { name: "GPT-4 Turbo Preview", value: "gpt-4-turbo-preview", description: "TYPE_GPT_MODEL.gpt-4-turbo-preview.description", status: "active" }, + { name: "GPT-4o", value: "gpt-4o", description: "TYPE_GPT_MODEL.gpt-4o.description", status: "active" }, + { name: "GPT-4o mini", value: "gpt-4o-mini", description: "TYPE_GPT_MODEL.gpt-4o-mini.description", status: "active" }, + { name: "OpenAI o1-mini", value: "o1-mini", description: "TYPE_GPT_MODEL.o1-mini.description", status: "active" }, + { name: "OpenAI o1-preview", value: "o1-preview", description: "TYPE_GPT_MODEL.o1-preview.description", status: "active" } +] export const CHANNELS_NAME = { CHAT21: 'chat21', EMAIL: 'email', From f3f70e7de4054b7186f5b322ab6abba48a8f6a35 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Tue, 17 Sep 2024 12:30:34 +0200 Subject: [PATCH 20/42] Adds translations --- src/assets/i18n/ar.json | 10 ++++++++++ src/assets/i18n/az.json | 10 ++++++++++ src/assets/i18n/de.json | 10 ++++++++++ src/assets/i18n/en.json | 10 ++++++++++ src/assets/i18n/es.json | 10 ++++++++++ src/assets/i18n/fr.json | 10 ++++++++++ src/assets/i18n/it.json | 10 ++++++++++ src/assets/i18n/kk.json | 10 ++++++++++ src/assets/i18n/pt.json | 10 ++++++++++ src/assets/i18n/ru.json | 10 ++++++++++ src/assets/i18n/sr.json | 10 ++++++++++ src/assets/i18n/sv.json | 10 ++++++++++ src/assets/i18n/tr.json | 10 ++++++++++ src/assets/i18n/uk.json | 10 ++++++++++ src/assets/i18n/uz.json | 10 ++++++++++ 15 files changed, 150 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 6555a328f8ef..f55f5101e5d9 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -551,6 +551,16 @@ "SelectAblock": "حدد كتلة", "YouNeedToSelectABlock":"يجب عليك تحديد كتلة :)", "MoreInQueque": "المزيد في قائمة الانتظار، شاهد الكل", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "الردود الجاهزة هي رسائل مسبقة الصنع يمكنك تذكرها بسهولة أثناء الدردشة.", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index b1011437c3db..38e0e4e86f57 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -552,6 +552,16 @@ "SelectAblock": "Blok seçin", "YouNeedToSelectABlock":"Siz blok seçməlisiniz :)", "MoreInQueque": "Daha çox növbə var, hamısına baxın", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Konservləşdirilmiş cavablar söhbət zamanı asanlıqla xatırlaya biləcəyiniz əvvəlcədən hazırlanmış mesajlardır.", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 816b067d3c63..d3b529738fda 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -552,6 +552,16 @@ "SelectAblock": "Wählen Sie einen Block aus", "YouNeedToSelectABlock":"Sie müssen einen Block auswählen :)", "MoreInQueque": "Daha çox növbə var, hamısına baxın", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Vordefinierte Antworten sind Nachrichten, die es Ihnen ermöglichen schneller auf oft gestellte Fragen zu reagieren.", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index e6475822f026..48e11dc2378c 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -551,6 +551,16 @@ "SelectAblock": "Select a block", "YouNeedToSelectABlock":"You need to select a block :)", "MoreInQueque": "More in queque, see all", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Canned responses are pre-made messages you can recall easily during chat.", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 0ee5a4c64635..7751f3c2ad79 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -551,6 +551,16 @@ "SelectAblock": "Seleccione un bloque", "YouNeedToSelectABlock":"Debes seleccionar un bloque :)", "MoreInQueque": "Más en cola, ver todas", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Las respuestas enlatadas son mensajes prefabricados que puede recordar fácilmente durante el chat.", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index bee95ca5aafd..263a7004f28d 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -552,6 +552,16 @@ "SelectAblock": "Sélectionnez un bloc", "YouNeedToSelectABlock":"Vous devez sélectionner un bloc :)", "MoreInQueque": "Plus en file d'attente, voir tout", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Les réponses standardisées sont des messages prédéfinis que vous pouvez facilement rappeler pendant le chat.", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 6d90f498fbf6..ad1a294b8b05 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -551,6 +551,16 @@ "SelectAblock": "Seleziona un blocco", "YouNeedToSelectABlock":"Devi selezionare un blocco :)", "MoreInQueque": "Altre in coda, vedi tutto", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Le Risposte Predefinite sono messaggi predefiniti che è possibile richiamare facilmente durante la chat.", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 859d84cfbc6a..0bb2e89326af 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -552,6 +552,16 @@ "SelectAblock": "Блокты таңдаңыз", "YouNeedToSelectABlock":"Сізге блок таңдау керек :)", "MoreInQueque": "Кезекте көбірек, барлығын қараңыз", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Консервіленген жауаптар - чат кезінде оңай еске түсіруге болатын алдын ала жасалған хабарлар.", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index a118c0ea7ed5..23e8c3ad4938 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -552,6 +552,16 @@ "SelectAblock": "Selecione um bloco", "YouNeedToSelectABlock":"Precisa de selecionar um bloco :)", "MoreInQueque": "Mais na fila, veja tudo", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "As respostas predefinidas são mensagens pré-criadas que você pode lembrar facilmente durante o bate-papo.", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 54dae49217b4..0b02b0142b6b 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -552,6 +552,16 @@ "SelectAblock": "Выберите блок", "YouNeedToSelectABlock":"Вам нужно выбрать блок :)", "MoreInQueque": "Еще в очереди, посмотреть все", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Готовые ответы — это готовые сообщения, которые вы можете легко вспомнить во время чата.", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index e3283a84e910..6fe35b910a36 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -553,6 +553,16 @@ "SelectAblock": "Изаберите блок", "YouNeedToSelectABlock":"Морате да изаберете блок :)", "MoreInQueque": "Више у реду, погледајте све", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Спремни одговори су унапред направљене поруке које можете лако да се сетите током ћаскања.", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 0487fec9c562..61f78ed95675 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -553,6 +553,16 @@ "SelectAblock": "Välj ett block", "YouNeedToSelectABlock":"Siz blokni tanlashingiz kerak :)", "MoreInQueque": "Fler i kö, se alla", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Standardsvar är färdiga meddelanden som du enkelt kan återkalla under chatten.", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index b62f44758406..c0d975374e3c 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -553,6 +553,16 @@ "SelectAblock": "Bir blok seçin", "YouNeedToSelectABlock":"Bir blok seçmeniz gerekiyor :)", "MoreInQueque": "Fler i kö, se alla", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Hazır yanıtlar, sohbet sırasında kolayca hatırlayabileceğiniz önceden hazırlanmış mesajlardır.", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index f3d65613c3bd..3be3f0cedcc1 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -554,6 +554,16 @@ "SelectAblock": "Виберіть блок", "YouNeedToSelectABlock":"Потрібно вибрати блок :)", "MoreInQueque": "Більше в черзі, дивіться все", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Готові відповіді — це готові повідомлення, які ви можете легко згадати під час чату.", diff --git a/src/assets/i18n/uz.json b/src/assets/i18n/uz.json index 5c833d44a3d8..be1d04aea973 100644 --- a/src/assets/i18n/uz.json +++ b/src/assets/i18n/uz.json @@ -552,6 +552,16 @@ "SelectAblock": "Blokni tanlang", "YouNeedToSelectABlock":"Siz blokni tanlashingiz kerak :)", "MoreInQueque": "Navbatda koʻproq, hammasini koʻring", + "TYPE_GPT_MODEL": { + "text-davinci-003": { "description": ""}, + "gpt-3.5-turbo": { "description": ""}, + "gpt-4": { "description": ""}, + "gpt-4-turbo-preview": { "description": ""}, + "gpt-4o": { "description": ""}, + "gpt-4o-mini": { "description": ""}, + "o1-mini": { "description": ""}, + "o1-preview": { "description": ""} + }, "CannedResponses": { "QuickTips": { "1": "Konservalangan javoblar suhbat davomida osongina eslab qolishingiz mumkin bo'lgan oldindan tayyorlangan xabarlardir.", From eb7319edc6d0f6d91a3b0961338ded9a512ab5c8 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 11:50:22 +0200 Subject: [PATCH 21/42] Adds translations --- src/assets/i18n/ar.json | 1 + src/assets/i18n/az.json | 1 + src/assets/i18n/de.json | 1 + src/assets/i18n/en.json | 1 + src/assets/i18n/es.json | 1 + src/assets/i18n/fr.json | 1 + src/assets/i18n/it.json | 1 + src/assets/i18n/kk.json | 1 + src/assets/i18n/pt.json | 1 + src/assets/i18n/ru.json | 1 + src/assets/i18n/sr.json | 1 + src/assets/i18n/sv.json | 1 + src/assets/i18n/tr.json | 1 + src/assets/i18n/uk.json | 1 + src/assets/i18n/uz.json | 1 + 15 files changed, 15 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 6555a328f8ef..3614b028af3a 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -1064,6 +1064,7 @@ "EditBOT": "تحرير BOT", "FAQsOfBOT": "أسئلة وأجوبة عن BOT:", "AddFaq": "أضف التعليمات", + "AddFaqs":"أضف FAQs", "UploadFaqsFromCsv": "تحميل الأسئلة الشائعة من CSV", "ExportFaqsToCsv": "تصدير الأسئلة الشائعة إلى CSV", "BotQuery": "استعلام بوت", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index b1011437c3db..e301e4612d37 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -1065,6 +1065,7 @@ "EditBOT": "BOT-u redaktə edin", "FAQsOfBOT": "BOT haqqında tez-tez verilən suallar:", "AddFaq": "Faq əlavə edin", + "AddFaqs":"FAQs əlavə edin", "UploadFaqsFromCsv": "CSV-dən FAQ-ları yükləyin", "ExportFaqsToCsv": "Tez-tez verilən sualları CSV-yə ixrac edin", "BotQuery": "Bot Sorğu", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 816b067d3c63..f17548e969c7 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1065,6 +1065,7 @@ "EditBOT": "Bot bearbeiten", "FAQsOfBOT": "FAQs dieses Bots:", "AddFaq": "FAQ hinzufügen", + "AddFaqs":"FAQs hinzufügen", "UploadFaqsFromCsv": "FAQs von CSV importieren", "ExportFaqsToCsv": "FAQs als CSV exportieren", "BotQuery": "Bot Query", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 48e11dc2378c..88556363475b 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1074,6 +1074,7 @@ "EditBOT": "Edit BOT", "FAQsOfBOT": "FAQs of BOT:", "AddFaq": "Add Faq", + "AddFaqs": "Add FAQs", "UploadFaqsFromCsv": "Upload FAQs from CSV", "ExportFaqsToCsv": "Export FAQs to CSV", "BotQuery": "Bot Query", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 0ee5a4c64635..2f2ed2c812fd 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -1064,6 +1064,7 @@ "EditBOT": "Editar BOT", "FAQsOfBOT": "FAQ de BOT:", "AddFaq": "Agregar Faq", + "AddFaqs":"Agregar FAQs", "UploadFaqsFromCsv": "Subir FAQ desde CSV", "ExportFaqsToCsv": "Exportar FAQ a CSV", "BotQuery": "Consulta de bot", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index bee95ca5aafd..e449b22c5464 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -1065,6 +1065,7 @@ "EditBOT": "Modifier BOT", "FAQsOfBOT": "FAQ de BOT:", "AddFaq": "Ajouter une FAQ", + "AddFaqs":"Ajouter FAQ", "UploadFaqsFromCsv": "Télécharger des FAQ à partir de CSV", "ExportFaqsToCsv": "Exporter les FAQ vers CSV", "BotQuery": "Requête de robot", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 6d90f498fbf6..5394b533aaa5 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -1064,6 +1064,7 @@ "EditBOT": "Modifica BOT", "FAQsOfBOT": "FAQs del BOT:", "AddFaq": "Aggiungi Faq", + "AddFaqs":"Aggiungi FAQ", "UploadFaqsFromCsv": "Carica FAQs da CSV", "ExportFaqsToCsv": "Esporta FAQs in CSV", "BotQuery": "Interroga Bot", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 859d84cfbc6a..57d52bfea143 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -1065,6 +1065,7 @@ "EditBOT": "BOT өңдеу", "FAQsOfBOT": "BOT туралы жиі қойылатын сұрақтар:", "AddFaq": "Жиі қойылатын сұрақтарды қосыңыз", + "AddFaqs":"FAQ қосу", "UploadFaqsFromCsv": "CSV ішінен жиі қойылатын сұрақтарды жүктеп салыңыз", "ExportFaqsToCsv": "Жиі қойылатын сұрақтарды CSV файлына экспорттау", "BotQuery": "Бот сұрау", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index a118c0ea7ed5..7a89ce40ab32 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -1065,6 +1065,7 @@ "EditBOT": "Editar BOT", "FAQsOfBOT": "Perguntas frequentes do BOT:", "AddFaq": "Adicionar perguntas frequentes", + "AddFaqs":"Adicionar FAQs", "UploadFaqsFromCsv": "Carregar perguntas frequentes de CSV", "ExportFaqsToCsv": "Exportar perguntas frequentes para CSV", "BotQuery": "Consulta de bot", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 54dae49217b4..d6cf831b9ea3 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -1065,6 +1065,7 @@ "EditBOT": "Изменить БОТ", "FAQsOfBOT": "Часто задаваемые вопросы о БОТ:", "AddFaq": "Добавить часто задаваемые вопросы", + "AddFaqs":"Добавить FAQs", "UploadFaqsFromCsv": "Загрузить часто задаваемые вопросы из CSV", "ExportFaqsToCsv": "Экспорт часто задаваемых вопросов в CSV", "BotQuery": "Запрос бота", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index e3283a84e910..9e726b3222be 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -1066,6 +1066,7 @@ "EditBOT": "Уреди БОТA", "FAQsOfBOT": "Честа питања о БОТ-у:", "AddFaq": "Додај честа питања", + "AddFaqs":"Додај FAQs", "UploadFaqsFromCsv": "Отпремите честа питања из ЦСВ-а", "ExportFaqsToCsv": "Извезите честа питања у ЦСВ", "BotQuery": "Упит за бот", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 0487fec9c562..8b33ab07bbf2 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -1066,6 +1066,7 @@ "EditBOT": "Redigera BOT", "FAQsOfBOT": "Vanliga frågor om BOT:", "AddFaq": "Lägg till FAQ", + "AddFaqs":"Lägg till FAQs", "UploadFaqsFromCsv": "Ladda upp vanliga frågor från CSV", "ExportFaqsToCsv": "Exportera vanliga frågor till CSV", "BotQuery": "Bot fråga", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index b62f44758406..f2a4284dc269 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -1066,6 +1066,7 @@ "EditBOT": "YİD'yi düzenle", "FAQsOfBOT": "BOT'un SSS'leri:", "AddFaq": "SSS Ekle", + "AddFaqs":"FAQs'yi ekleyin", "UploadFaqsFromCsv": "CSV'den SSS yükleyin", "ExportFaqsToCsv": "SSS'leri CSV'ye aktarın", "BotQuery": "Bot Sorgusu", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index f3d65613c3bd..c53a3385a567 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -1067,6 +1067,7 @@ "EditBOT": "Редагувати BOT", "FAQsOfBOT": "Поширені запитання про Бот", "AddFaq": "Додати поширені запитання", + "AddFaqs":"Додайте FAQs", "UploadFaqsFromCsv": "Завантажте поширені запитання з CSV", "ExportFaqsToCsv": "Експортуйте поширені запитання в CSV", "BotQuery": "Запит бота", diff --git a/src/assets/i18n/uz.json b/src/assets/i18n/uz.json index 5c833d44a3d8..3aea3952d0f2 100644 --- a/src/assets/i18n/uz.json +++ b/src/assets/i18n/uz.json @@ -1065,6 +1065,7 @@ "EditBOT": "BOTni tahrirlash", "FAQsOfBOT": "BOT haqida tez-tez so'raladigan savollar:", "AddFaq": "Savol qo‘shish", + "AddFaqs":"FAQs qoʻshish", "UploadFaqsFromCsv": "CSV dan tez-tez so'raladigan savollarni yuklang", "ExportFaqsToCsv": "Tez-tez so'raladigan savollarni CSV ga eksport qiling", "BotQuery": "Bot so'rovi", From cdb70c194a0214bf527d9fd7be5af5e1aab20afa Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 11:56:06 +0200 Subject: [PATCH 22/42] Fixes chatbot sharing link --- src/app/bots/bots-list/bots-list.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/bots/bots-list/bots-list.component.ts b/src/app/bots/bots-list/bots-list.component.ts index fabbb099d53d..aedb406ed02b 100755 --- a/src/app/bots/bots-list/bots-list.component.ts +++ b/src/app/bots/bots-list/bots-list.component.ts @@ -347,7 +347,7 @@ export class BotListComponent extends PricingBaseComponent implements OnInit, On // WIDGET_BASE_URL = 'https://widget.tiledesk.com/v6/' (prod) // WIDGET_BASE_URL = ''https://widget-pre.tiledesk.com/v5/' (pre) this.WIDGET_BASE_URL = this.appConfigService.getConfig().WIDGET_BASE_URL; - const botLink = this.WIDGET_BASE_URL + "assets/twp/chatbot-panel.html?tiledesk_projectid=" + this.currentProjectId + "&tiledesk_participants=bot_" + botid + "&tiledesk_departmentID=" + this.defaultDeptId + "&tiledesk_hideHeaderCloseButton=true&tiledesk_widgetTitle=" + botname + "&tiledesk_preChatForm=false&td_draft=true" + const botLink = this.WIDGET_BASE_URL + "assets/twp/chatbot-panel.html?tiledesk_projectid=" + this.currentProjectId + "&tiledesk_participants=bot_" + botid + "&tiledesk_departmentID=" + this.defaultDeptId + "&tiledesk_hideHeaderCloseButton=true&tiledesk_widgetTitle=" + encodeURIComponent(botname) + "&tiledesk_preChatForm=false&td_draft=true" this.clipboard.copy(botLink) this._snackBar.open(" Copied to clipboard", null, { duration: 3000, From 12008d06c3941b7e1dafc742a470d6186a518474 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 12:03:08 +0200 Subject: [PATCH 23/42] Adds, in the Knowledge Base page, the ability to add a single FAQ or add multiple FAQs by uploading them from a CSV file --- .../knowledge-bases.component.ts | 5 +- .../add-content-menu.component.ts | 2 +- .../knowledge-base-table.component.html | 4 +- .../modal-faqs/modal-faqs.component.html | 167 ++++++++++++++---- .../modal-faqs/modal-faqs.component.scss | 88 +++++++++ .../modals/modal-faqs/modal-faqs.component.ts | 118 ++++++++++++- .../modal-preview-settings.component.ts | 2 +- src/app/services/knowledge-base.service.ts | 18 +- 8 files changed, 362 insertions(+), 42 deletions(-) diff --git a/src/app/knowledge-bases/knowledge-bases.component.ts b/src/app/knowledge-bases/knowledge-bases.component.ts index ce2de6315e18..61d3ffa2ef6b 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.ts +++ b/src/app/knowledge-bases/knowledge-bases.component.ts @@ -1355,7 +1355,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI this.presentModalUploadFile() } - if (type === 'faqs') { + if (type === 'faq') { this.presentModalAddFaqs() } } @@ -1381,6 +1381,9 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI backdropClass: 'cdk-overlay-transparent-backdrop', hasBackdrop: true, width: '600px', + data: { + selectedNamespace: this.selectedNamespace, + }, }); dialogRef.afterClosed().subscribe(body => { diff --git a/src/app/knowledge-bases/menu/add-content-menu/add-content-menu.component.ts b/src/app/knowledge-bases/menu/add-content-menu/add-content-menu.component.ts index 23e0d11a5ab9..03e241966a14 100644 --- a/src/app/knowledge-bases/menu/add-content-menu/add-content-menu.component.ts +++ b/src/app/knowledge-bases/menu/add-content-menu/add-content-menu.component.ts @@ -57,7 +57,7 @@ export class AddContentMenuComponent implements OnInit { // console.log('ADD CONTENT MENU this.items ', this.items) }); - let item = {"label": 'FAQs', "type":"faqs"}; + let item = {"label": 'FAQs', "type":"faq"}; this.items.push(item); diff --git a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html index 4540bcb18d6f..1d605e650018 100644 --- a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html +++ b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html @@ -247,11 +247,11 @@ style="font-size: 16px; color: white;">link URL
-
quiz - FAQs + FAQ
diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html index f3a44bd277ec..5c02ee48c160 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html @@ -1,16 +1,19 @@ -
+ + + +
help_outline @@ -21,48 +24,150 @@

- +
{{ 'FaqEditAddPage.Question' | translate }} - {{ 'FaqEditAddPage.Answer' | translate }} - - +
+ + + +
+ +
+
+
+ + arrow_back + + + {{'Back' | translate}} + +
+
+ +
+ {{ "UploadFromCsv" | translate }} +
+ +
+ +
+
+ +
+ +
+
+

+ save_alt + {{ 'download' | translate }} {{ 'examplecsv' | translate }} +

+
+ +
+ + + + + + {{ 'FaqPage.Question' | translate }}* + + + + + + + + + {{csvColumnsDelimiter}} + + + + + + + + + {{ 'FaqPage.Answer' | translate }}* + + +
+
+ +
+
+ +
+ {{ 'FaqPage.ColumnsSeparatedWith' | translate }} +
+ +
+ + +
+
+ +
+ + {{ 'FaqPage.DelimiterOptionMustBe' | translate }} +
+
+ + +
-
- - -
+
+ + + +
+
+ + + +
\ No newline at end of file diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss index 8f4cc7bd0ad2..1dd18fc55741 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss @@ -264,4 +264,92 @@ .m-top-right-icon:hover>span { background-color: rgb(213, 214, 220); color: rgb(28, 30, 33) +} + +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + z-index: -1; +} + + + + +.download-example-csv-button { + background: #3ea9f5; + width: 100%; + text-align: center; + color: #fff; + border: 1px solid #3ea9f5; + cursor: pointer; +} + +.download-example-csv-button:hover { + opacity: .8; +} + +.csv-file-preview { + width: 100%; + text-align: center; + padding: 6px 0; + // border-right: 1px solid #eeeeee; + // border-left: 1px solid #eeeeee; + border-right: 1px solid #d7ebfa6e; + border-left: 1px solid #d7ebfa6e; + background-color: #d7ebfa6e; +} + +.second-section-subheader { + display: flex; + margin-bottom: 24px; +} + +.go-to-first-section-wpr { + flex: 1; +} + +.sutitle-in-upload-from-csv-section { + font-size: 21px; + font-weight: 400; + // margin-bottom: 24px; +} + +.second-section-subheader-right-column { + flex: 1; +} + +.go-to-first-section { + font-weight: 400; + cursor: pointer; + width: fit-content; +} + + +.download-example-csv-wpr { + display: flex; + flex-direction: column; + align-items: center; + margin-bottom: 24px; +} + +.csv-file-delimiter-container { + margin-bottom: 24px; +} + +.csv-file-delimiter-wpr { + display: flex; + flex-direction: row; + align-items: center; + gap: 12px; + justify-content: center; + +} + +.columns-delimiter-error-msg { + color: #ff5252; + text-align: center; + font-size: 12px; } \ No newline at end of file diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts index e54e6b9c7893..41f688d417fc 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts @@ -2,6 +2,9 @@ import { Component, Inject, OnInit } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { KB } from 'app/models/kbsettings-model'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { LoggerService } from 'app/services/logger/logger.service'; +import { KnowledgeBaseService } from 'app/services/knowledge-base.service'; +// import { FaqService } from 'app/services/faq.service'; @Component({ selector: 'appdashboard-modal-faqs', @@ -12,7 +15,13 @@ export class ModalFaqsComponent implements OnInit { kbForm: FormGroup; buttonDisabled: boolean = true; - uploadFromCSV: boolean = false; + + displayUploadFromCSVSection: boolean = false; + csvColumnsDelimiter = ';' + parse_done: boolean; + parse_err: boolean; + modalChoosefileDisabled: boolean; + namespaceid: string kb: KB = { _id: null, @@ -26,7 +35,15 @@ export class ModalFaqsComponent implements OnInit { private formBuilder: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef, - ) { } + private logger: LoggerService, + private kbService: KnowledgeBaseService, + + ) { + this.logger.log('[MODAL-FAQS] data',data) + if (data && data.selectedNamespace) { + this.namespaceid = data.selectedNamespace.id + } + } ngOnInit(): void { this.kbForm = this.createConditionGroup(); @@ -50,13 +67,13 @@ export class ModalFaqsComponent implements OnInit { } onSaveKnowledgeBase() { - console.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb) + this.logger.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb) const content = this.kb.name + "\n" + this.kb.content let body = { 'name': this.kb.name, 'source': this.kb.name, 'content': content, // this.kb.content, - 'type': 'faqs' + 'type': 'faq' } this.dialogRef.close(body); @@ -66,10 +83,101 @@ export class ModalFaqsComponent implements OnInit { this.dialogRef.close(); } - uploadFaqsFromCSV() { + changeSectionToUploadFaqsFromCSV() { + this.displayUploadFromCSVSection = true + } + + goBack() { + this.displayUploadFromCSVSection = false + } + + countDelimiterDigit(event) { + this.logger.log('[FAQ-COMP] # OF DIGIT ', this.csvColumnsDelimiter.length) + if (this.csvColumnsDelimiter.length !== 1) { + // (document.getElementById('file')).disabled = true; + this.modalChoosefileDisabled = true; + } else { + // (document.getElementById('file')).disabled = false; + this.modalChoosefileDisabled = false; + } + } + downloadExampleCsv() { + const examplecsv = `Question 1 ${this.csvColumnsDelimiter} Answer 1` + '\n' + `Question 2 ${this.csvColumnsDelimiter} Answer 2` + this.downloadFile(examplecsv, 'example.csv'); } + downloadFile(data, filename) { + const blob = new Blob(['\ufeff' + data], { type: 'text/csv;charset=utf-8;' }); + const dwldLink = document.createElement('a'); + const url = URL.createObjectURL(blob); + const isSafariBrowser = navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1; + this.logger.log('[FAQ-COMP] isSafariBrowser ', isSafariBrowser) + if (isSafariBrowser) { // if Safari open in new window to save file with random filename. + dwldLink.setAttribute('target', '_blank'); + + /** + * *** FOR SAFARI TO UNCOMMENT AND TEST *** + */ + // https://stackoverflow.com/questions/29799696/saving-csv-file-using-blob-in-safari/46641236 + // const link = document.createElement('a'); + // link.id = 'csvDwnLink'; + // document.body.appendChild(link); + // window.URL = window.URL; + // const csv = '\ufeff' + data, + // csvData = 'data:attachment/csv;charset=utf-8,' + encodeURIComponent(csv), + // filename = 'filename.csv'; + // $('#csvDwnLink').attr({ 'download': filename, 'href': csvData }); + // $('#csvDwnLink')[0].click(); + // document.body.removeChild(link); + } + dwldLink.setAttribute('href', url); + dwldLink.setAttribute('download', filename); + dwldLink.style.visibility = 'hidden'; + document.body.appendChild(dwldLink); + dwldLink.click(); + document.body.removeChild(dwldLink); + } + + + + fileChangeUploadCSV(event) { + // this.displayImportModal = 'none'; + // this.displayInfoModal = 'block'; + + // this.SHOW_CIRCULAR_SPINNER = true; + + this.logger.log('[FAQ-COMP] CSV COLUMNS DELIMITER ', this.csvColumnsDelimiter) + const fileList: FileList = event.target.files; + if (fileList.length > 0) { + const file: File = fileList[0]; + const formData: FormData = new FormData(); + formData.set('delimiter', this.csvColumnsDelimiter); + formData.append('uploadFile', file, file.name); + this.logger.log('FORM DATA ', formData) + + this.kbService.uploadFaqCsv(formData, this.namespaceid) + .subscribe(data => { + this.logger.log('[FAQ-COMP] UPLOAD CSV DATA ', data); + if (data['success'] === true) { + this.parse_done = true; + this.parse_err = false; + } else if (data['success'] === false) { + this.parse_done = false; + this.parse_err = true; + } + }, (error) => { + this.logger.error('[FAQ-COMP] UPLOAD CSV - ERROR ', error); + // this.SHOW_CIRCULAR_SPINNER = false; + }, () => { + this.logger.log('[FAQ-COMP] UPLOAD CSV * COMPLETE *'); + setTimeout(() => { + // this.SHOW_CIRCULAR_SPINNER = false + }, 300); + }); + + } + } } diff --git a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts index 1e50f406450e..75eb592992bb 100644 --- a/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts +++ b/src/app/knowledge-bases/modals/modal-preview-settings/modal-preview-settings.component.ts @@ -85,7 +85,7 @@ export class ModalPreviewSettingsComponent implements OnInit, OnChanges { this.hideHelpLink= brand['DOCS']; if (data && data.selectedNamespace) { this.selectedNamespace = data.selectedNamespace - // this.logger.log("[MODAL PREVIEW SETTINGS] selectedNamespace ", this.selectedNamespace) + // console.log("[MODAL PREVIEW SETTINGS] selectedNamespace ", this.selectedNamespace) this.selectedNamespaceClone = JSON.parse(JSON.stringify(this.selectedNamespace)) // this.logger.log("[MODAL PREVIEW SETTINGS] selectedNamespace ", this.selectedNamespace) diff --git a/src/app/services/knowledge-base.service.ts b/src/app/services/knowledge-base.service.ts index 9bb8a881d26b..6d0c7920e07a 100644 --- a/src/app/services/knowledge-base.service.ts +++ b/src/app/services/knowledge-base.service.ts @@ -100,7 +100,6 @@ export class KnowledgeBaseService { } updateNamespace(body: string, namespaceid: string) { - // console.log('[KNOWLEDGE BASE SERVICE] upadateNamespace body', body) const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json', @@ -113,6 +112,23 @@ export class KnowledgeBaseService { return this.httpClient.put(url, body, httpOptions); } + public uploadFaqCsv(formData: any, namespaceid) { + + + const options = { + headers: new HttpHeaders({ + 'Accept': 'application/json', + 'Authorization': this.TOKEN + }) + }; + + const url = this.SERVER_BASE_PATH + this.project_id + "/kb/csv?namespace=" + namespaceid; + this.logger.log('[KNOWLEDGE BASE SERVICE] UPLOAD FAQS CSV - URL ', url); + + return this.httpClient + .post(url, formData, options) + } + getListOfKb(params?) { const httpOptions = { headers: new HttpHeaders({ From b87d097a19aacfa72295068b2747441dec87e4ff Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 17:19:57 +0200 Subject: [PATCH 24/42] Adds translations --- src/assets/i18n/ar.json | 2 ++ src/assets/i18n/az.json | 2 ++ src/assets/i18n/de.json | 2 ++ src/assets/i18n/en.json | 2 ++ src/assets/i18n/es.json | 2 ++ src/assets/i18n/fr.json | 2 ++ src/assets/i18n/it.json | 2 ++ src/assets/i18n/kk.json | 2 ++ src/assets/i18n/pt.json | 2 ++ src/assets/i18n/ru.json | 2 ++ src/assets/i18n/sr.json | 2 ++ src/assets/i18n/sv.json | 2 ++ src/assets/i18n/tr.json | 2 ++ src/assets/i18n/uk.json | 2 ++ src/assets/i18n/uz.json | 2 ++ 15 files changed, 30 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index f55f5101e5d9..c2e973b2413a 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -551,6 +551,8 @@ "SelectAblock": "حدد كتلة", "YouNeedToSelectABlock":"يجب عليك تحديد كتلة :)", "MoreInQueque": "المزيد في قائمة الانتظار، شاهد الكل", + "HideChatbotAttributesWidget":"إخفاء سمات Chatbot", + "EnablingThisOptionHidesChatbotAttributes": "يؤدي تمكين هذا الخيار إلى إخفاء سمات روبوت المحادثة من الشريط الجانبي لتفاصيل المحادثة", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index 38e0e4e86f57..5e4089629517 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -552,6 +552,8 @@ "SelectAblock": "Blok seçin", "YouNeedToSelectABlock":"Siz blok seçməlisiniz :)", "MoreInQueque": "Daha çox növbə var, hamısına baxın", + "HideChatbotAttributesWidget":"Chatbot Atributları vidcetini gizlədin", + "EnablingThisOptionHidesChatbotAttributes": "Bu seçimin aktivləşdirilməsi chatbotun atributlarını söhbət detalları yan panelindən gizlədir", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index d3b529738fda..9b744f3062bc 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -552,6 +552,8 @@ "SelectAblock": "Wählen Sie einen Block aus", "YouNeedToSelectABlock":"Sie müssen einen Block auswählen :)", "MoreInQueque": "Daha çox növbə var, hamısına baxın", + "HideChatbotAttributesWidget":"Wenn Sie diese Option aktivieren, werden die Attribute des Chatbots aus der Seitenleiste mit den Konversationsdetails ausgeblendet", + "EnablingThisOptionHidesChatbotAttributes": "Bu seçimin aktivləşdirilməsi chatbotun atributlarını söhbət detalları yan panelindən gizlədir", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 48e11dc2378c..f1551eb60b32 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -551,6 +551,8 @@ "SelectAblock": "Select a block", "YouNeedToSelectABlock":"You need to select a block :)", "MoreInQueque": "More in queque, see all", + "HideChatbotAttributesWidget":"Hide Chatbot Attributes widget", + "EnablingThisOptionHidesChatbotAttributes": "Enabling this option hides the chatbot's attributes", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 7751f3c2ad79..8e68274901f2 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -551,6 +551,8 @@ "SelectAblock": "Seleccione un bloque", "YouNeedToSelectABlock":"Debes seleccionar un bloque :)", "MoreInQueque": "Más en cola, ver todas", + "HideChatbotAttributesWidget":"Ocultar el widget Atributos del Chatbot", + "EnablingThisOptionHidesChatbotAttributes": "Al habilitar esta opción se ocultan los atributos del chatbot de la barra lateral de detalles de la conversación.", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 263a7004f28d..0894aae2e307 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -552,6 +552,8 @@ "SelectAblock": "Sélectionnez un bloc", "YouNeedToSelectABlock":"Vous devez sélectionner un bloc :)", "MoreInQueque": "Plus en file d'attente, voir tout", + "HideChatbotAttributesWidget":"Masquer le widget des attributs du chatbot", + "EnablingThisOptionHidesChatbotAttributes": "L'activation de cette option masque les attributs du chatbot dans la barre latérale des détails de la conversation", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index ad1a294b8b05..1b1bf4dd8e7e 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -551,6 +551,8 @@ "SelectAblock": "Seleziona un blocco", "YouNeedToSelectABlock":"Devi selezionare un blocco :)", "MoreInQueque": "Altre in coda, vedi tutto", + "HideChatbotAttributesWidget":"Nascondi widget Attributi Chatbot", + "EnablingThisOptionHidesChatbotAttributes": "Abilitando questa opzione si nascondono gli attributi del chatbot dalla barra laterale dei dettagli della conversazione", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 0bb2e89326af..c10cb4b16f42 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -552,6 +552,8 @@ "SelectAblock": "Блокты таңдаңыз", "YouNeedToSelectABlock":"Сізге блок таңдау керек :)", "MoreInQueque": "Кезекте көбірек, барлығын қараңыз", + "HideChatbotAttributesWidget":"Chatbot атрибуттары виджетін жасыру", + "EnablingThisOptionHidesChatbotAttributes": "Бұл опцияны қосу сөйлесу мәліметтерінің бүйірлік тақтасынан чатбот атрибуттарын жасырады", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index 23e8c3ad4938..de686c42aac5 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -552,6 +552,8 @@ "SelectAblock": "Selecione um bloco", "YouNeedToSelectABlock":"Precisa de selecionar um bloco :)", "MoreInQueque": "Mais na fila, veja tudo", + "HideChatbotAttributesWidget":"Ocultar atributos do chatbot", + "EnablingThisOptionHidesChatbotAttributes": "Ativar esta opção oculta os atributos do chatbot da barra lateral de detalhes da conversa", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 0b02b0142b6b..7308558a0a65 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -552,6 +552,8 @@ "SelectAblock": "Выберите блок", "YouNeedToSelectABlock":"Вам нужно выбрать блок :)", "MoreInQueque": "Еще в очереди, посмотреть все", + "HideChatbotAttributesWidget":"Скрыть виджет «Атрибуты чат-бота»", + "EnablingThisOptionHidesChatbotAttributes": "Включение этой опции скрывает атрибуты чат-бота на боковой панели сведений о разговоре.", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index 6fe35b910a36..0dad647f0232 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -553,6 +553,8 @@ "SelectAblock": "Изаберите блок", "YouNeedToSelectABlock":"Морате да изаберете блок :)", "MoreInQueque": "Више у реду, погледајте све", + "HideChatbotAttributesWidget":"Сакриј виџет Атрибути четбота", + "EnablingThisOptionHidesChatbotAttributes": "Омогућавањем ове опције сакривају се атрибути робота за ћаскање са бочне траке са детаљима разговора", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 61f78ed95675..528f1325445c 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -553,6 +553,8 @@ "SelectAblock": "Välj ett block", "YouNeedToSelectABlock":"Siz blokni tanlashingiz kerak :)", "MoreInQueque": "Fler i kö, se alla", + "HideChatbotAttributesWidget":"Dölj widgeten Chatbot-attribut", + "EnablingThisOptionHidesChatbotAttributes": "Om du aktiverar det här alternativet döljs chatbotens attribut från sidofältet för konversationsinformation", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index c0d975374e3c..1e0d45be9b46 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -553,6 +553,8 @@ "SelectAblock": "Bir blok seçin", "YouNeedToSelectABlock":"Bir blok seçmeniz gerekiyor :)", "MoreInQueque": "Fler i kö, se alla", + "HideChatbotAttributesWidget":"Chatbot Nitelikleri widget'ını gizle", + "EnablingThisOptionHidesChatbotAttributes": "Bu seçeneği etkinleştirmek, sohbet robotunun niteliklerini konuşma ayrıntıları kenar çubuğundan gizler", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index 3be3f0cedcc1..b9b55a92dd63 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -554,6 +554,8 @@ "SelectAblock": "Виберіть блок", "YouNeedToSelectABlock":"Потрібно вибрати блок :)", "MoreInQueque": "Більше в черзі, дивіться все", + "HideChatbotAttributesWidget":"Chatbot atributlari vidjetini yashirish", + "EnablingThisOptionHidesChatbotAttributes": "Увімкнення цієї опції приховує атрибути чат-бота на бічній панелі деталей розмови", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, diff --git a/src/assets/i18n/uz.json b/src/assets/i18n/uz.json index be1d04aea973..0ef36f8064f5 100644 --- a/src/assets/i18n/uz.json +++ b/src/assets/i18n/uz.json @@ -552,6 +552,8 @@ "SelectAblock": "Blokni tanlang", "YouNeedToSelectABlock":"Siz blokni tanlashingiz kerak :)", "MoreInQueque": "Navbatda koʻproq, hammasini koʻring", + "HideChatbotAttributesWidget":"Chatbot atributlari vidjetini yashirish", + "EnablingThisOptionHidesChatbotAttributes": "Ushbu parametr yoqilsa, chatbotning atributlari suhbat tafsilotlari yon panelidan yashiriladi", "TYPE_GPT_MODEL": { "text-davinci-003": { "description": ""}, "gpt-3.5-turbo": { "description": ""}, From 04a14e8c73a7d3fe123217197f67f857bc35545c Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 17:25:42 +0200 Subject: [PATCH 25/42] Adds the ability to hide the Chatbot Attributes widget from Project Settings > Advanced --- .../project-edit-add.component.html | 54 ++++++++++ .../project-edit-add.component.ts | 102 +++++++++++------- src/app/services/project.service.ts | 22 ++++ .../ws-requests-msgs.component.html | 86 +++++++-------- .../ws-requests-msgs.component.ts | 28 ++++- 5 files changed, 206 insertions(+), 86 deletions(-) diff --git a/src/app/project-edit-add/project-edit-add.component.html b/src/app/project-edit-add/project-edit-add.component.html index 3d3791db0233..4fd8cffcaa9b 100755 --- a/src/app/project-edit-add/project-edit-add.component.html +++ b/src/app/project-edit-add/project-edit-add.component.html @@ -1872,6 +1872,60 @@

+ + + + + +
+
+

+ + + {{'HideChatbotAttributesWidget' | translate}} + +

+
+ +
+

+ +
+ + + +
+

+
+ +
+
+
+
+ +
+
+
+
+ + info + + + {{'EnablingThisOptionHidesChatbotAttributes' | translate }} + + +
+
+
+
+ +
diff --git a/src/app/project-edit-add/project-edit-add.component.ts b/src/app/project-edit-add/project-edit-add.component.ts index c745844c1d2e..3817d1703e4c 100755 --- a/src/app/project-edit-add/project-edit-add.component.ts +++ b/src/app/project-edit-add/project-edit-add.component.ts @@ -27,6 +27,7 @@ import { appSumoHighlightedFeaturesPlanATier1, appSumoHighlightedFeaturesPlanATi import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { CreditCardValidators } from 'angular-cc-library'; import { ContactsService } from '../services/contacts.service'; +import { CacheService } from 'app/services/cache.service'; const swal = require('sweetalert'); const Swal = require('sweetalert2') @@ -158,6 +159,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { reassignment_on: boolean; automatic_unavailable_status_on: boolean; agents_can_see_only_own_convs: boolean; + areHideChatbotAttributesInConvDtls: boolean; // unavailable_status_on: boolean; @@ -277,7 +279,8 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { public brandService: BrandService, private logger: LoggerService, private _fb: FormBuilder, - private contactsService: ContactsService + private contactsService: ContactsService, + private cacheService: CacheService // private formGroup: FormGroup ) { @@ -631,7 +634,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.logger.log('%ProjectEditAddComponent router.url', this.router.url); @@ -651,7 +654,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.logger.log('[PRJCT-EDIT-ADD] - is PROJECT_SETTINGS_ADVANCED_ROUTE ', this.PROJECT_SETTINGS_ADVANCED_ROUTE); this.logger.log('[PRJCT-EDIT-ADD] - is PROJECT_SETTINGS_NOTIFICATION ', this.PROJECT_SETTINGS_NOTIFICATION_ROUTE); this.logger.log('[PRJCT-EDIT-ADD] - is PROJECT_SETTINGS_SECURITY_ROUTE ', this.PROJECT_SETTINGS_SECURITY_ROUTE); - + /** THE ACTIVE ROUTE IS /project-settings/payments (i.e. Subcsription) */ } else if ( (currentUrl.indexOf('/project-settings/general') === -1) && @@ -661,7 +664,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = true; @@ -686,7 +689,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -711,7 +714,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -737,7 +740,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') !== -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -759,7 +762,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') !== -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -781,7 +784,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') !== -1) && - (currentUrl.indexOf('/project-settings/advanced') === -1) + (currentUrl.indexOf('/project-settings/advanced') === -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -803,7 +806,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { (currentUrl.indexOf('/project-settings/notification') === -1) && (currentUrl.indexOf('/project-settings/security') === -1) && (currentUrl.indexOf('/project-settings/banned') === -1) && - (currentUrl.indexOf('/project-settings/advanced') !== -1) + (currentUrl.indexOf('/project-settings/advanced') !== -1) ) { this.PROJECT_SETTINGS_ROUTE = false; this.PROJECT_SETTINGS_PAYMENTS_ROUTE = false; @@ -852,7 +855,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { } - + goToProjectSettings_SmartAssignment() { this.logger.log('[PRJCT-EDIT-ADD] - HAS CLICKED goToProjectSettings_SmartAssignment'); @@ -1045,13 +1048,13 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { text: this.cPlanOnly, showCloseButton: false, showCancelButton: true, - confirmButtonText: this.upgradePlan , + confirmButtonText: this.upgradePlan, cancelButtonText: this.cancel, confirmButtonColor: "var(--blue-light)", focusConfirm: true, reverseButtons: true, icon: "info", - + // buttons: { // cancel: this.cancel, // catch: { @@ -1109,7 +1112,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.notify.presentModalOnlyOwnerCanManageTheAccountPlan(this.onlyOwnerCanManageAdvancedProjectSettings, this.learnMoreAboutDefaultRoles) } - presentModalAgentCannotManageSmartAssigment() {} + presentModalAgentCannotManageSmartAssigment() { } presentModalOnlyOwnerCanManageTSMTPsettings() { this.notify.presentModalOnlyOwnerCanManageTheAccountPlan(this.onlyUsersWithTheOwnerRoleCanManageSMTPsettings, this.learnMoreAboutDefaultRoles) @@ -1164,9 +1167,9 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.logger.log('[PRJCT-EDIT-ADD] getAppConfig mtsParts ', mtsParts); let mtsValue = mtsParts[1] this.logger.log('[PRJCT-EDIT-ADD] getAppConfig mtsValue ', mtsValue); - if (mtsValue === 'T') { + if (mtsValue === 'T') { return true - } else if (mtsValue === 'F'){ + } else if (mtsValue === 'F') { return false } @@ -1198,7 +1201,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.isVisibleSMTPsettings = this.SMTPsettingsValue() this.logger.log('[PRJCT-EDIT-ADD] this.isVisibleSMTPsettings from FT ', this.isVisibleSMTPsettings) - + } else if (!this.public_Key.includes("MTS")) { this.logger.log('[PRJCT-EDIT-ADD] SMTP Settings USECASE B (from FT) - EXIST MTS ', this.public_Key.includes("MTS")); this.isVisibleSMTPsettings = false; @@ -1206,13 +1209,13 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { } } else if (projectProfileData['customization'] === undefined) { - this.logger.log('[PRJCT-EDIT-ADD] USECASE C customization is ', projectProfileData['customization'] , 'get value foem FT') + this.logger.log('[PRJCT-EDIT-ADD] USECASE C customization is ', projectProfileData['customization'], 'get value foem FT') if (this.public_Key.includes("MTS")) { this.logger.log('[PRJCT-EDIT-ADD] SMTP Settings USECASE B (from FT) - EXIST MTS ', this.public_Key.includes("MTS")); this.isVisibleSMTPsettings = this.SMTPsettingsValue() this.logger.log('[PRJCT-EDIT-ADD] this.isVisibleSMTPsettings from FT ', this.isVisibleSMTPsettings) - + } else if (!this.public_Key.includes("MTS")) { this.logger.log('[PRJCT-EDIT-ADD] SMTP Settings USECASE B (from FT) - EXIST MTS ', this.public_Key.includes("MTS")); this.isVisibleSMTPsettings = false; @@ -1226,7 +1229,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { getProjectPlan() { this.subscription = this.prjctPlanService.projectPlan$.subscribe((projectProfileData: any) => { - // console.log('[PRJCT-EDIT-ADD] - getProjectPlan project Profile Data', projectProfileData) + // this.logger.log('[PRJCT-EDIT-ADD] - getProjectPlan project Profile Data', projectProfileData) if (projectProfileData) { this.prjct_name = projectProfileData.name; this.logger.log('[PRJCT-EDIT-ADD] - getProjectPlan prjct_name', this.prjct_name); @@ -1553,7 +1556,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { } else if (this.profile_name === PLAN_NAME.EE) { - this.isTier3Plans = false + this.isTier3Plans = false } else if (this.profile_name === PLAN_NAME.F) { @@ -2430,19 +2433,19 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { if (project.settings) { this.logger.log('[PRJCT-EDIT-ADD] - project.settings ', project.settings); - this.logger.log('[PRJCT-EDIT-ADD] - project.settings displayWidget ', project.settings.displayWidget); - this.logger.log('[PRJCT-EDIT-ADD] - project.settings .hasOwnProperty(displayWidget) ', project.settings.hasOwnProperty('displayWidget')); - if (project.settings.hasOwnProperty('displayWidget') ) { + this.logger.log('[PRJCT-EDIT-ADD] - project.settings displayWidget ', project.settings.displayWidget); + this.logger.log('[PRJCT-EDIT-ADD] - project.settings .hasOwnProperty(displayWidget) ', project.settings.hasOwnProperty('displayWidget')); + if (project.settings.hasOwnProperty('displayWidget')) { - if (project.settings.displayWidget === true ) { + if (project.settings.displayWidget === true) { this.displaySupportWidget = true this.logger.log('[PRJCT-EDIT-ADD] - ON INIT displaySupportWidget IS ', project.settings.displayWidget); } else if (project.settings.displayWidget === false) { this.displaySupportWidget = false; this.logger.log('[PRJCT-EDIT-ADD] - ON INIT displaySupportWidget IS ', project.settings.displayWidget); } - - } else if (!project.settings.hasOwnProperty('displayWidget') ){ + + } else if (!project.settings.hasOwnProperty('displayWidget')) { this.displaySupportWidget = true this.logger.log('[PRJCT-EDIT-ADD] - ON INIT displaySupportWidget IS ', project.settings.displayWidget, 'so set to true displaySupportWidget ', this.displaySupportWidget); } @@ -2539,14 +2542,20 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { } else { this.reassignment_on = false; } - + if (project.settings.current_agent_my_chats_only) { this.agents_can_see_only_own_convs = project.settings.current_agent_my_chats_only } else { this.agents_can_see_only_own_convs = false; } - + if (project.settings.chatbots_attributes_hidden) { + this.areHideChatbotAttributesInConvDtls = project.settings.chatbots_attributes_hidden + } else { + this.areHideChatbotAttributesInConvDtls = false; + } + + // Automatic unavailable status if (project.settings.automatic_idle_chats) { @@ -2570,6 +2579,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.reassignment_on = false; this.automatic_unavailable_status_on = false; this.agents_can_see_only_own_convs = false; + this.areHideChatbotAttributesInConvDtls = false; } } @@ -2624,7 +2634,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { } } - toggleAgentViewOnlyOwnConv(event){ + toggleAgentViewOnlyOwnConv(event) { this.logger.log('[PRJCT-EDIT-ADD]- toggleCurrentAgentViewOnlyOwnConv event', event.target.checked); this.agents_can_see_only_own_convs = event.target.checked; this.projectService.agentViewOnlyOwnConv(this.agents_can_see_only_own_convs).then((result) => { @@ -2636,11 +2646,25 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { }) } + + toggleVisibilityOfChatbotAttributes(event) { + this.logger.log('[PRJCT-EDIT-ADD]- toggleVisibilityOfChatbotAttributes', event.target.checked); + this.areHideChatbotAttributesInConvDtls = event.target.checked; + this.projectService.switchChatbotAttributesVisibility(this.areHideChatbotAttributesInConvDtls).then((result) => { + this.logger.log("[PRJCT-EDIT-ADD] - toggleVisibilityOfChatbotAttributes RESULT: ", result) + this.notify.showWidgetStyleUpdateNotification(this.updateSuccessMsg, 2, 'done') + this.cacheService.clearCache() + }).catch((err) => { + this.logger.error("[PRJCT-EDIT-ADD] - TtoggleCurrentAgentViewOnlyOwnConv ERROR: ", err) + this.notify.showWidgetStyleUpdateNotification(this.updateErrorMsg, 4, 'report_problem') + }) + } + toggleSupportWidgetVisibility($event) { // this.logger.log("[PRJCT-EDIT-ADD] - Toggle Widget Visibility event.target.checked: ", $event.target.checked); this.displaySupportWidget = $event.target.checked; // this.logger.log("[PRJCT-EDIT-ADD] - Toggle Widget Visibility displaySupportWidget: ", this.displaySupportWidget); - + this.projectService.enableDisableSupportWidgetVisibility(this.displaySupportWidget).then((result) => { // this.logger.log("[PRJCT-EDIT-ADD] - Toggle Widget Visibility RESULT: ", result) this.notify.showWidgetStyleUpdateNotification(this.updateSuccessMsg, 2, 'done') @@ -2792,7 +2816,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { this.DISABLE_UPDATE_BTN = true; } - + prjct['role'] = this.USER_ROLE this.auth.projectSelected(prjct, 'project-edit-add update-project-name') localStorage.setItem(prjct._id, JSON.stringify(prjct)); @@ -2818,8 +2842,8 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { // if (storedProjectName !== prjct['name']) { - - + + // // const updatedProjectForStorage: Project = { // // _id: storedProjectId, // // name: prjct['name'], @@ -2830,7 +2854,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { // // RE-SET THE PROJECT IN THE STORAGE WITH THE UPDATED NAME // localStorage.setItem(storedProjectId, JSON.stringify(updatedProjectForStorage)); - // } + // } // } } @@ -3081,7 +3105,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { goToWebhookPage() { this.logger.log("[PRJCT-EDIT-ADD] GO TO WEBHOOK PAGE > ProjectID: ", this.id_project); - + if (this.prjct_profile_type === 'free' && this.prjct_trial_expired === false) { // this.logger.log('PRJCT-EDIT-ADD] GO TO WEBHOOK PAGE HERE USECASE PLAN B TRIAL ') @@ -3148,19 +3172,19 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { // const el = document.createElement('div') // el.innerHTML = this.featureAvailableOnlyWithPaidPlans Swal.fire({ - + // content: el, title: this.upgradePlan, text: this.featureAvailableOnlyWithPaidPlans, icon: "info", showCloseButton: false, showCancelButton: true, - confirmButtonText: this.upgradePlan , + confirmButtonText: this.upgradePlan, cancelButtonText: this.cancel, confirmButtonColor: "var(--blue-light)", focusConfirm: true, reverseButtons: true, - + // buttons: { // cancel: this.cancel, // catch: { diff --git a/src/app/services/project.service.ts b/src/app/services/project.service.ts index 8c0266bc0839..b359a3c12ee3 100755 --- a/src/app/services/project.service.ts +++ b/src/app/services/project.service.ts @@ -849,6 +849,28 @@ export class ProjectService { return promise; } + + // -------------------------------------------------------------------------------------- + // HIDE/DISPLAY Chatbot attributes card in monitor page + // -------------------------------------------------------------------------------------- + switchChatbotAttributesVisibility (status) { + let promise = new Promise((resolve, reject) => { + this.logger.log("[PROJECT-SERV] HIDE/DISPLAY Chatbot attributes status", status) + let headers = new HttpHeaders({ + 'Content-Type': 'application/json', + 'Authorization': this.TOKEN + }) + + this._httpclient.put(this.SERVER_BASE_PATH + "projects/" + this.projectID, { "settings.chatbots_attributes_hidden": status }, { headers: headers }) + .toPromise().then((res) => { + resolve(res) + }).catch((err) => { + reject(err) + }) + }) + return promise; + } + // ------------------------------------- // New home service // ------------------------------------- diff --git a/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.html b/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.html index 6ca87958b4a6..0d1486eb3772 100755 --- a/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.html +++ b/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.html @@ -2262,62 +2262,64 @@ -
-
+ +
+
-
+
- - - - - + + + + + + + + - - {{ "ChatbotAttributes" | translate }} - -
+ + {{ "ChatbotAttributes" | translate }} + +
-
-
-
+
+
+
-
-
-
- {{attribute?.attributeName }}: -
- -
-
-
+
+
diff --git a/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.ts b/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.ts index a907c17f3c29..4c20fd6291fc 100755 --- a/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.ts +++ b/src/app/ws_requests/ws-requests-msgs/ws-requests-msgs.component.ts @@ -417,6 +417,7 @@ export class WsRequestsMsgsComponent extends WsSharedComponent implements OnInit dialedNumberIdentificationService: string; CHANNELS_NAME = CHANNELS_NAME; + HIDE_CHATBOT_ATTRIBUTES: boolean; /** * Constructor @@ -1384,17 +1385,34 @@ export class WsRequestsMsgsComponent extends WsSharedComponent implements OnInit findCurrentProjectAmongAll(projectId: string) { this.bannedVisitorsArray = [] this.projectService.getProjects().subscribe((projects: any) => { - this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - projects ', this.current_selected_prjct); - // const current_selected_prjct = projects.filter(prj => prj.id_project.id === projectId); - + // this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - projects ', projects); this.current_selected_prjct = projects.find(prj => prj.id_project.id === projectId); - // this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - current_selected_prjct ', this.current_selected_prjct); + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - current_selected_prjct ', this.current_selected_prjct); + + if (this.current_selected_prjct && this.current_selected_prjct.id_project && this.current_selected_prjct.id_project.settings) { + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - projects > id_project > setting', this.current_selected_prjct.id_project.settings); + if (this.current_selected_prjct.id_project.settings && this.current_selected_prjct.id_project.settings.chatbots_attributes_hidden) { + + this.HIDE_CHATBOT_ATTRIBUTES = this.current_selected_prjct.id_project.settings.chatbots_attributes_hidden; + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - HIDE_CHATBOT_ATTRIBUTES 1', this.HIDE_CHATBOT_ATTRIBUTES); + + } else { + this.HIDE_CHATBOT_ATTRIBUTES = false; + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - HIDE_CHATBOT_ATTRIBUTES 2', this.HIDE_CHATBOT_ATTRIBUTES) + } + } else { + this.HIDE_CHATBOT_ATTRIBUTES = false; + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - HIDE_CHATBOT_ATTRIBUTES 3', this.HIDE_CHATBOT_ATTRIBUTES) + } + + if (this.current_selected_prjct && this.current_selected_prjct.id_project && this.current_selected_prjct.id_project.bannedUsers) { this.bannedVisitorsArray = this.current_selected_prjct.id_project.bannedUsers; // this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - projects > bannedVisitorsArray', this.bannedVisitorsArray); } + this.logger.log('[WS-REQUESTS-MSGS] - GET PROJECTS - projects ', projects); }, error => { this.logger.error('[WS-REQUESTS-MSGS] - GET PROJECTS - ERROR: ', error); @@ -2340,7 +2358,7 @@ export class WsRequestsMsgsComponent extends WsSharedComponent implements OnInit // @ Msgs ws-subscription // ----------------------------------------------------------------------------------------------------- // if (this.CHAT_PANEL_MODE === false) { - this.subscribeToWs_MsgsByRequestId(this.id_request); + this.subscribeToWs_MsgsByRequestId(this.id_request); // } // ----------------------------------------------------------- From 67d52458fdc7a74ebab3bf743ef635e7f45c179a Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Wed, 18 Sep 2024 18:14:30 +0200 Subject: [PATCH 26/42] Updates version --- CHANGELOG.md | 3 +++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7494cfe1182..596c35324530 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # tiledesk-dashboard +### 2.7.23 +- Adds the ability to hide the Chatbot Attributes widget from Project Settings > Advanced + ### 2.7.22 - Improves the "Monitor" page diff --git a/package-lock.json b/package-lock.json index 57985330e190..f85b0f68928a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.22", + "version": "2.7.23", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a2918f7a17a2..7e17ab2f2289 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.22", + "version": "2.7.23", "scripts": { "ng": "ng", "start": "ng serve --aot", From f84e48c5404ba72cd7fc3baa3c3b7045ab53f366 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 09:20:30 +0200 Subject: [PATCH 27/42] Adds translations --- src/assets/i18n/ar.json | 1 + src/assets/i18n/az.json | 1 + src/assets/i18n/de.json | 1 + src/assets/i18n/en.json | 1 + src/assets/i18n/es.json | 1 + src/assets/i18n/fr.json | 1 + src/assets/i18n/it.json | 1 + src/assets/i18n/kk.json | 1 + src/assets/i18n/pt.json | 1 + src/assets/i18n/ru.json | 1 + src/assets/i18n/sr.json | 1 + src/assets/i18n/sv.json | 1 + src/assets/i18n/tr.json | 1 + src/assets/i18n/uk.json | 1 + src/assets/i18n/uz.json | 1 + 15 files changed, 15 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index 3614b028af3a..f90d86e84d8e 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -470,6 +470,7 @@ "Ok": "موافق", "Success": "نجاح", "ChatbotSuccessfullyCreated":"تم إنشاء Chatbot بنجاح", + "ItIsNotPossibleToCreateTheChatbot": "ليس من الممكن إنشاء Chatbot", "EditChatbot": "تحرير chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "روبوت الدردشة {{ chat_bot_name }}", "Back": "عودة", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index e301e4612d37..4797b8b1c56e 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -471,6 +471,7 @@ "Ok": "Tamam", "Success": "Müvəffəqiyyət", "ChatbotSuccessfullyCreated":"Chatbot uğurla yaradıldı", + "ItIsNotPossibleToCreateTheChatbot": "Chatbot yaratmaq mümkün deyil", "EditChatbot": "{{ chat_bot_name }} chatbotunu redaktə edin", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Geri", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index f17548e969c7..89e428985fc5 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -470,6 +470,7 @@ "Ok": "Ok", "Success": "Erfolg", "ChatbotSuccessfullyCreated":"Chatbot erfolgreich erstellt", + "ItIsNotPossibleToCreateTheChatbot": "Es ist nicht möglich, den Chatbot zu erstellen", "EditChatbot": "Chatbot bearbeiten {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Zurück", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 88556363475b..b3378ab705cd 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -470,6 +470,7 @@ "Ok": "Ok", "Success": "Success", "ChatbotSuccessfullyCreated":"Chatbot successfully created", + "ItIsNotPossibleToCreateTheChatbot": "It is not possible to create the Chatbot", "EditChatbot": "Edit chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Back", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 2f2ed2c812fd..084a4ff078ca 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -470,6 +470,7 @@ "Ok": "Ok", "Success": "Éxito", "ChatbotSuccessfullyCreated":"Chatbot creado exitosamente", + "ItIsNotPossibleToCreateTheChatbot": "No es posible crear el Chatbot", "EditChatbot": "Editar chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Atrás", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index e449b22c5464..076d67e50701 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -470,6 +470,7 @@ "Ok": "D'accord", "Success": "Succès", "ChatbotSuccessfullyCreated":"Chatbot créé avec succès", + "ItIsNotPossibleToCreateTheChatbot": "Il n'est pas possible de créer le Chatbot", "EditChatbot": "Modifier le chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Retour", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 5394b533aaa5..18f8a6388400 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -470,6 +470,7 @@ "Ok": "Ok", "Success": "Successo", "ChatbotSuccessfullyCreated":"Chatbot creato con successo", + "ItIsNotPossibleToCreateTheChatbot": "Non è possibile creare il Chatbot", "EditChatbot": "Modifica il chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Indietro", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 57d52bfea143..8e399c94b66a 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -470,6 +470,7 @@ "Ok": "Жарайды ма", "Success": "Жетістік", "ChatbotSuccessfullyCreated":"Чатбот сәтті жасалды", + "ItIsNotPossibleToCreateTheChatbot": "Чатбот жасау мүмкін емес", "EditChatbot": "{{ chat_bot_name }} чатботын өңдеу", "ChatbotAndChatbotName": "Чатбот {{ chat_bot_name }}", "Back": "Артқа", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index 7a89ce40ab32..4945f7a5d3d6 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -470,6 +470,7 @@ "Ok": "OK", "Success": "Sucesso", "ChatbotSuccessfullyCreated":"Chatbot criado com sucesso", + "ItIsNotPossibleToCreateTheChatbot": "Não é possível criar o Chatbot", "EditChatbot": "Editar chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Bot de bate-papo {{ chat_bot_name }}", "Back": "Costas", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index d6cf831b9ea3..4a74fe86469a 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -471,6 +471,7 @@ "Ok": "В порядке", "Success": "Успех", "ChatbotSuccessfullyCreated":"Чат-бот успешно создан", + "ItIsNotPossibleToCreateTheChatbot": "Невозможно создать чат-бота", "EditChatbot": "Изменить чат-бота {{chat_bot_name }}", "ChatbotAndChatbotName": "Чат-бот {{chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index 9e726b3222be..ef72be504391 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -471,6 +471,7 @@ "Ok": "Ок", "Success": "Успех", "ChatbotSuccessfullyCreated":"Цхатбот је успешно направљен", + "ItIsNotPossibleToCreateTheChatbot": "Није могуће креирати Цхатбот", "EditChatbot": "Уреди цхатбот {{ chat_bot_name }}", "ChatbotAndChatbotName": "Цхатбот {{ chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 8b33ab07bbf2..1696adc5391f 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -471,6 +471,7 @@ "Ok": "Ok", "Success": "Framgång", "ChatbotSuccessfullyCreated":"Chatbot skapades framgångsrikt", + "ItIsNotPossibleToCreateTheChatbot": "Det är inte möjligt att skapa Chatbot", "EditChatbot": "Redigera chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Tillbaka", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index f2a4284dc269..b693fed5093b 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -471,6 +471,7 @@ "Ok": "Tamam", "Success": "Başarı", "ChatbotSuccessfullyCreated":"Chatbot başarıyla oluşturuldu", + "ItIsNotPossibleToCreateTheChatbot": "Chatbot oluşturmak mümkün değil", "EditChatbot": "{{ chat_bot_name }} sohbet robotunu düzenle", "ChatbotAndChatbotName": "Sohbet robotu {{ chat_bot_name }}", "Back": "Geri", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index c53a3385a567..34d254b6abf7 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -471,6 +471,7 @@ "Ok": "Добре", "Success": "Успіх", "ChatbotSuccessfullyCreated":"Чат-бот успішно створено", + "ItIsNotPossibleToCreateTheChatbot": "Створити чат-бота неможливо", "EditChatbot": "Редагувати чат-бота {{ chat_bot_name }}", "ChatbotAndChatbotName": "Чат-бот {{ chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/uz.json b/src/assets/i18n/uz.json index 3aea3952d0f2..3b7390c9fac4 100644 --- a/src/assets/i18n/uz.json +++ b/src/assets/i18n/uz.json @@ -471,6 +471,7 @@ "Ok": "Ok", "Success": "Muvaffaqiyat", "ChatbotSuccessfullyCreated":"Chatbot muvaffaqiyatli yaratildi", + "ItIsNotPossibleToCreateTheChatbot": "Chatbot yaratish mumkin emas", "EditChatbot": "Chatbotni tahrirlash {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Orqaga", From c19e9d71edb6785bd53c2a45fd0cee9c90efe57e Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 09:26:58 +0200 Subject: [PATCH 28/42] Adds the ability to add FAQs --- .../knowledge-bases.component.ts | 72 ++++- .../knowledge-base-table.component.html | 8 +- ...modal-detail-knowledge-base.component.html | 15 +- .../modal-detail-knowledge-base.component.ts | 16 +- .../modal-faqs/modal-faqs.component.html | 225 ++++++++----- .../modal-faqs/modal-faqs.component.scss | 304 +++++++++++++++++- .../modals/modal-faqs/modal-faqs.component.ts | 37 ++- .../modal-site-map.component.ts | 2 +- .../ws-requests-list.component.ts | 7 +- 9 files changed, 546 insertions(+), 140 deletions(-) diff --git a/src/app/knowledge-bases/knowledge-bases.component.ts b/src/app/knowledge-bases/knowledge-bases.component.ts index 61d3ffa2ef6b..1f752a05307a 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.ts +++ b/src/app/knowledge-bases/knowledge-bases.component.ts @@ -319,10 +319,10 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI // } // this.logger.log('[KNOWLEDGE-BASES-COMP] - hasAlreadyVisitedKb ', this.hasAlreadyVisitedKb) // this.localDbService.setInStorage(`has-visited-kb-${this.id_project}`, 'true') - + // this.getAllNamespaces() // } - + this.getProjectById(this.id_project) this.logger.log('[KNOWLEDGE-BASES-COMP] - GET CURRENT PROJECT - PROJECT-NAME ', this.project_name, ' PROJECT-ID ', this.id_project) @@ -350,7 +350,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI } this.logger.log('[KNOWLEDGE-BASES-COMP] - hasAlreadyVisitedKb ', this.hasAlreadyVisitedKb) this.localDbService.setInStorage(`has-visited-kb-${this.id_project}`, 'true') - + this.getAllNamespaces() } }); @@ -821,10 +821,13 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI return officialResponder } }); - this.logger.log('[KNOWLEDGE-BASES-COMP] kbOfficialResponderTemplate', kbOfficialResponderTemplate) + console.log('[KNOWLEDGE-BASES-COMP] kbOfficialResponderTemplate', kbOfficialResponderTemplate) if (kbOfficialResponderTemplate) { this.exportKbOfficialResponderToJSON(kbOfficialResponderTemplate._id) + } else { + console.log('[KNOWLEDGE-BASES-COMP] Not exist kbOfficialResponderTemplate', kbOfficialResponderTemplate) + this.presentDialogNotExistThekbOfficialResponderTemplate() } } }) @@ -999,6 +1002,26 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI } + presentDialogNotExistThekbOfficialResponderTemplate() { + Swal.fire({ + // title: this.translate.instant('Success'), + // text: this.translate.instant('ChatbotSuccessfullyCreated'), + title: this.translate.instant('ItIsNotPossibleToCreateTheChatbot') , //"It is not possible to create the chatbot", + text: "Your project is missing the template needed to create the chatbot" + ' !', + icon: "error", + showCloseButton: false, + showCancelButton: false, + confirmButtonText: this.translate.instant('Ok'), + confirmButtonColor: "var(--blue-light)", + focusConfirm: true, + // reverseButtons: true, + // buttons: [null, this.cancel], + // dangerMode: false + }) + // } + + } + presentDialogChatbotSuccessfullyCreatedTheHookBot(depts_without_bot_array, faqkb) { this.logger.log('[KNOWLEDGE-BASES-COMP] ---> DIALOG CHATBOT CREATED depts_without_bot_array 1', this.depts_without_bot_array); @@ -1305,7 +1328,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI }, }); dialogRef.afterClosed().subscribe(kb => { - this.logger.log('[Modal KB DETAILS] Dialog kb: ', kb); + console.log('[Modal KB DETAILS] Dialog kb: ', kb); if (kb) { this.onUpdateKb(kb) } @@ -1351,7 +1374,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI this.presentModalImportSitemap() } if (type === 'file-upload') { - + this.presentModalUploadFile() } @@ -1386,10 +1409,15 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI }, }); - dialogRef.afterClosed().subscribe(body => { - console.log('[Modal Add FAQs] Dialog body (afterClosed): ', body); - if (body) { - this.onAddKb(body) + dialogRef.afterClosed().subscribe(result => { + console.log('[Modal Add FAQs] Dialog result (afterClosed): ', result); + if (result && result.isSingle === "true") { + if (result.body) { + this.onAddKb(result.body) + } + } else if (result && result.isSingle === "false") { + let paramsDefault = "?limit=" + KB_DEFAULT_PARAMS.LIMIT + "&page=" + KB_DEFAULT_PARAMS.NUMBER_PAGE + "&sortField=" + KB_DEFAULT_PARAMS.SORT_FIELD + "&direction=" + KB_DEFAULT_PARAMS.DIRECTION + '&namespace=' + this.selectedNamespace.id; + this.getListOfKb(paramsDefault, 'add-multi-faq') } }); } @@ -1704,7 +1732,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI - + // startPooling() { // this.interval_id = setInterval(() => { @@ -1782,8 +1810,8 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI getListOfKb(params?: any, calledby?: any) { - this.logger.log("[KNOWLEDGE BASES COMP] GET LIST OF KB calledby", calledby); - this.logger.log("[KNOWLEDGE BASES COMP] GET LIST OF KB params", params); + console.log("[KNOWLEDGE BASES COMP] GET LIST OF KB calledby", calledby); + console.log("[KNOWLEDGE BASES COMP] GET LIST OF KB params", params); if (calledby === 'onSelectNamespace' || calledby === 'createNewNamespace' || calledby === 'deleteNamespace') { this.kbsList = []; @@ -1801,7 +1829,11 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI if (index !== -1) { this.kbsList[index] = kb; } else { - this.kbsList.push(kb); + if (calledby === 'add-multi-faq' || calledby === 'onAddMultiKb') { + this.kbsList.unshift(kb); + } else { + this.kbsList.push(kb); + } } this.logger.log('[KNOWLEDGE BASES COMP] loop i ', i) this.logger.log('[KNOWLEDGE BASES COMP] loop kbsListCount ', this.kbsListCount) @@ -1872,7 +1904,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI * onAddKb */ onAddKb(body) { - this.logger.log('onAddKb this.kbLimit ', this.kbLimit) + console.log('onAddKb this.kbLimit ', this.kbLimit) body.namespace = this.selectedNamespace.id this.logger.log("onAddKb body:", body); // this.onCloseBaseModal(); @@ -2001,6 +2033,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI } onAddMultiKb(body) { + console.log('onAddMultiKb body' ,body) // this.onCloseBaseModal(); // this.logger.log("onAddMultiKb"); let error = this.msgErrorAddUpdateKb; @@ -2009,7 +2042,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI this.notify.showWidgetStyleUpdateNotification(this.msgSuccesAddKb, 2, 'done'); let paramsDefault = "?limit=" + KB_DEFAULT_PARAMS.LIMIT + "&page=" + KB_DEFAULT_PARAMS.NUMBER_PAGE + "&sortField=" + KB_DEFAULT_PARAMS.SORT_FIELD + "&direction=" + KB_DEFAULT_PARAMS.DIRECTION + '&namespace=' + this.selectedNamespace.id; - this.getListOfKb(paramsDefault, 'onAddMultiKb '); + this.getListOfKb(paramsDefault, 'onAddMultiKb'); this.kbsListCount = this.kbsListCount + kbs.length; this.refreshKbsList = !this.refreshKbsList; @@ -2243,6 +2276,11 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI dataAdd.content = kb.content, dataAdd.type = 'text' } + if (kb.type === 'faq') { + dataAdd.source = kb.name; + dataAdd.content = kb.content, + dataAdd.type = 'faq' + } if (kb.type === 'txt' || kb.type === 'docx' || kb.type === 'pdf') { dataAdd.type = kb.type } @@ -2337,7 +2375,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI checkStatusWithRetry(kb) { this.logger.log('[KNOWLEDGE BASES COMP] checkStatusWithRetry selectedNamespace id', this.selectedNamespace.id) - + let data = { "namespace_list": [], // "namespace": this.id_project, diff --git a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html index 1d605e650018..024f06190bc1 100644 --- a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html +++ b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.html @@ -95,7 +95,7 @@ DOCX - + FAQs @@ -295,9 +295,11 @@ --> -
{{ kb.name }}
+
+ {{ kb.name }} +
-
+
{{kb.content | slice:0:500 }} diff --git a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.html b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.html index 12efeae30b82..3efb6b534626 100644 --- a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.html +++ b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.html @@ -6,7 +6,8 @@

{{ 'RequestMsgsPage.Details' | translate }}

- {{ 'Name' | translate }} + {{ 'Name' | translate }} + {{ 'FaqPage.Question' | translate }} @@ -23,13 +24,21 @@

{{ 'RequestMsgsPage.Details' | translate }}

- +
{{ 'KbPage.FileText' | translate }}
+ + + +
+ {{ 'FaqPage.Answer' | translate }} + +
+
@@ -72,7 +81,7 @@

{{ 'RequestMsgsPage.Details' | translate }}

{{ "Cancel" | translate }} - diff --git a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts index d62337f5dd2f..3402ae15f2c2 100644 --- a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts +++ b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts @@ -18,6 +18,7 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { name: string; source: string; content: string; + faqcontent: string; chunks: Array = []; chunksCount: number; showSpinner: boolean = true; @@ -31,12 +32,16 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { ) { if (data && data.kb) this.kb = data.kb - this.logger.log('[MODAL-DETAIL-KB] kb ', this.kb) + console.log('[MODAL-DETAIL-KB] kb ', this.kb) this.name = this.kb.name; this.source = this.kb.source; this.content = this.kb.content; + if (this.kb.type === 'faq') { + this.content = this.kb.content.replace(this.kb.name + '\n', '').trimStart() + } + this.getContentChuncks(this.kb.id_project, this.kb.namespace, this.kb._id) } @@ -44,10 +49,10 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { this.kbService.getContentChuncks(id_project, namespaceid, contentid).subscribe((chunks: any) => { if (chunks) { - this.logger.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - RES', chunks); + console.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - RES', chunks); chunks.matches.forEach(el => { - this.logger.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - element', el) + console.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - element', el) this.chunks.push({ id: el.id, text: el.text }) }); @@ -95,9 +100,14 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { } onUpdateKnowledgeBase(){ + if (this.kb.type === 'faq') { + this.content = this.name + "\n" + this.content + } this.kb.name = this.name; this.kb.source = this.source; this.kb.content = this.content; + + // console.log('[MODAL-DETAIL-KB] onUpdateKnowledgeBase kb ', this.kb) this.dialogRef.close(this.kb); diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html index 5c02ee48c160..211f64e274ff 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.html @@ -1,6 +1,6 @@ +
- -
-
-
- - arrow_back - - - {{'Back' | translate}} - +
+
+
+
+ + arrow_back + + + {{'Back' | translate}} + +
-
-
- {{ "UploadFromCsv" | translate }} -
+
+ {{ "UploadFromCsv" | translate }} +
-
+
+
-
-
+
-
-
-

- save_alt - {{ 'download' | translate }} {{ 'examplecsv' | translate }} -

-
+
+
+

+ save_alt + {{ 'download' | translate }} {{ 'examplecsv' | translate }} +

+
-
- - - - - - {{ 'FaqPage.Question' | translate }}* - - - - - - - - - {{csvColumnsDelimiter}} - - - - - - - - - {{ 'FaqPage.Answer' | translate }}* - - +
+ + + + + + {{ 'FaqPage.Question' | translate }}* + + + + + + + + + {{csvColumnsDelimiter}} + + + + + + + + + {{ 'FaqPage.Answer' | translate }}* + + +
-
-
-
+
+
-
- {{ 'FaqPage.ColumnsSeparatedWith' | translate }} -
+
+ {{ 'FaqPage.ColumnsSeparatedWith' | translate }} +
-
+
- +
-
-
- - {{ 'FaqPage.DelimiterOptionMustBe' | translate }} +
+ + {{ 'FaqPage.DelimiterOptionMustBe' | translate }} +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+ + + + + + + +
+

{{'FaqPage.FaqsSuccessfullyUploaded' | translate}}!

+
+
+ +
+ + + + + + + +
+

{{'FaqPage.AnErrorOccurredDuringTheUpload' | translate}}!

+
+
+
@@ -144,8 +197,7 @@

{{ "FaqPage.UploadFaqsFromCsv" | translate }} - + + + + + +

\ No newline at end of file diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss index 1dd18fc55741..5f982c22dd9f 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss @@ -94,17 +94,17 @@ } } -::ng-deep .custom-spinner { - .sk-fading-circle { - width: 20px; - height: 20px; - margin: 0px; - } - - .sk-fading-circle .sk-circle:before { - background-color: rgb(98, 119, 140) !important; - } -} +// ::ng-deep .custom-spinner { +// .sk-fading-circle { +// width: 20px; +// height: 20px; +// margin: 0px; +// } + +// .sk-fading-circle .sk-circle:before { +// background-color: rgb(98, 119, 140) !important; +// } +// } .answer { min-height: 37px; @@ -235,7 +235,13 @@ .mat-dialog-ok-btn { background-color: var(--blue-light); color: #fff; +} + +.mat-dialog-traspatent-btn { + font-size: 16px !important; + background-color: transparent; + color: var(--secondary-text-color) } @@ -336,7 +342,8 @@ } .csv-file-delimiter-container { - margin-bottom: 24px; + // margin-bottom: 24px; + margin-bottom: 25px; } .csv-file-delimiter-wpr { @@ -352,4 +359,277 @@ color: #ff5252; text-align: center; font-size: 12px; +} + +/* Animated Check Mark & Cross in upload CSV file +/* ----------------------------------------------- */ +.dialog-content-after-to-upload>div>svg { + width: 100px; + display: block; + margin: 10px auto 0; + // margin: auto; +} + +.path { + stroke-dasharray: 1000; + stroke-dashoffset: 0; + + &.circle { + -webkit-animation: dash .9s ease-in-out; + animation: dash .9s ease-in-out; + } + + &.line { + stroke-dashoffset: 1000; + -webkit-animation: dash .9s .35s ease-in-out forwards; + animation: dash .9s .35s ease-in-out forwards; + } + + &.check { + stroke-dashoffset: -100; + -webkit-animation: dash-check .9s .35s ease-in-out forwards; + animation: dash-check .9s .35s ease-in-out forwards; + } +} + +.dialog-content-after-to-upload-msg>p { + text-align: center; + // margin: 20px 0 60px; + margin: 20px 0 40px; + font-size: 1.25em; + + &.processing { + color: var( --secondary-text-color); + } + + &.success { + color: #73AF55; + } + + &.error { + color: #D06079; + } +} + + +@-webkit-keyframes dash { + 0% { + stroke-dashoffset: 1000; + } + + 100% { + stroke-dashoffset: 0; + } +} + +@keyframes dash { + 0% { + stroke-dashoffset: 1000; + } + + 100% { + stroke-dashoffset: 0; + } +} + +@-webkit-keyframes dash-check { + 0% { + stroke-dashoffset: -100; + } + + 100% { + stroke-dashoffset: 900; + } +} + +@keyframes dash-check { + 0% { + stroke-dashoffset: -100; + } + + 100% { + stroke-dashoffset: 900; + } +} + + +/* Loading spinner in upload CSV file +/* ----------------------------------------------- */ + +.sk-fading-circle-faqs-modal { + // margin: 100px auto; + // margin: 80px auto; + margin: 75.01px auto; + width: 40px; + height: 40px; + // width: 100px; + // height: 100px; + position: relative; +} + +.sk-fading-circle-faqs-modal .sk-circle { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; +} + +.sk-fading-circle-faqs-modal .sk-circle:before { + content: ''; + display: block; + margin: 0 auto; + width: 15%; + height: 15%; + background-color: var(--blue-light); // #333; + border-radius: 100%; + -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; + animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; +} + +.sk-fading-circle-faqs-modal .sk-circle2 { + -webkit-transform: rotate(30deg); + -ms-transform: rotate(30deg); + transform: rotate(30deg); +} + +.sk-fading-circle-faqs-modal .sk-circle3 { + -webkit-transform: rotate(60deg); + -ms-transform: rotate(60deg); + transform: rotate(60deg); +} + +.sk-fading-circle-faqs-modal .sk-circle4 { + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.sk-fading-circle-faqs-modal .sk-circle5 { + -webkit-transform: rotate(120deg); + -ms-transform: rotate(120deg); + transform: rotate(120deg); +} + +.sk-fading-circle-faqs-modal .sk-circle6 { + -webkit-transform: rotate(150deg); + -ms-transform: rotate(150deg); + transform: rotate(150deg); +} + +.sk-fading-circle-faqs-modal .sk-circle7 { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.sk-fading-circle-faqs-modal .sk-circle8 { + -webkit-transform: rotate(210deg); + -ms-transform: rotate(210deg); + transform: rotate(210deg); +} + +.sk-fading-circle-faqs-modal .sk-circle9 { + -webkit-transform: rotate(240deg); + -ms-transform: rotate(240deg); + transform: rotate(240deg); +} + +.sk-fading-circle-faqs-modal .sk-circle10 { + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} + +.sk-fading-circle-faqs-modal .sk-circle11 { + -webkit-transform: rotate(300deg); + -ms-transform: rotate(300deg); + transform: rotate(300deg); +} + +.sk-fading-circle-faqs-modal .sk-circle12 { + -webkit-transform: rotate(330deg); + -ms-transform: rotate(330deg); + transform: rotate(330deg); +} + +.sk-fading-circle-faqs-modal .sk-circle2:before { + -webkit-animation-delay: -1.1s; + animation-delay: -1.1s; +} + +.sk-fading-circle-faqs-modal .sk-circle3:before { + -webkit-animation-delay: -1s; + animation-delay: -1s; +} + +.sk-fading-circle-faqs-modal .sk-circle4:before { + -webkit-animation-delay: -0.9s; + animation-delay: -0.9s; +} + +.sk-fading-circle-faqs-modal .sk-circle5:before { + -webkit-animation-delay: -0.8s; + animation-delay: -0.8s; +} + +.sk-fading-circle-faqs-modal .sk-circle6:before { + -webkit-animation-delay: -0.7s; + animation-delay: -0.7s; +} + +.sk-fading-circle-faqs-modal .sk-circle7:before { + -webkit-animation-delay: -0.6s; + animation-delay: -0.6s; +} + +.sk-fading-circle-faqs-modal .sk-circle8:before { + -webkit-animation-delay: -0.5s; + animation-delay: -0.5s; +} + +.sk-fading-circle-faqs-modal .sk-circle9:before { + -webkit-animation-delay: -0.4s; + animation-delay: -0.4s; +} + +.sk-fading-circle-faqs-modal .sk-circle10:before { + -webkit-animation-delay: -0.3s; + animation-delay: -0.3s; +} + +.sk-fading-circle-faqs-modal .sk-circle11:before { + -webkit-animation-delay: -0.2s; + animation-delay: -0.2s; +} + +.sk-fading-circle-faqs-modal .sk-circle12:before { + -webkit-animation-delay: -0.1s; + animation-delay: -0.1s; +} + +@-webkit-keyframes sk-circleFadeDelay { + + 0%, + 39%, + 100% { + opacity: 0; + } + + 40% { + opacity: 1; + } +} + +@keyframes sk-circleFadeDelay { + + 0%, + 39%, + 100% { + opacity: 0; + } + + 40% { + opacity: 1; + } } \ No newline at end of file diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts index 41f688d417fc..3ea98291f3a0 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts @@ -17,6 +17,7 @@ export class ModalFaqsComponent implements OnInit { buttonDisabled: boolean = true; displayUploadFromCSVSection: boolean = false; + displayAfterUploadFromCSVSection: boolean = false; csvColumnsDelimiter = ';' parse_done: boolean; parse_err: boolean; @@ -38,8 +39,8 @@ export class ModalFaqsComponent implements OnInit { private logger: LoggerService, private kbService: KnowledgeBaseService, - ) { - this.logger.log('[MODAL-FAQS] data',data) + ) { + this.logger.log('[MODAL-FAQS] data', data) if (data && data.selectedNamespace) { this.namespaceid = data.selectedNamespace.id } @@ -66,8 +67,8 @@ export class ModalFaqsComponent implements OnInit { } } - onSaveKnowledgeBase() { - this.logger.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb) + onSaveKnowledgeBase(isSingle) { + console.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb, 'isSingle ', isSingle ) const content = this.kb.name + "\n" + this.kb.content let body = { 'name': this.kb.name, @@ -75,7 +76,7 @@ export class ModalFaqsComponent implements OnInit { 'content': content, // this.kb.content, 'type': 'faq' } - this.dialogRef.close(body); + this.dialogRef.close({'body': body, 'isSingle': isSingle}); } @@ -143,6 +144,8 @@ export class ModalFaqsComponent implements OnInit { fileChangeUploadCSV(event) { + console.log('[FAQ-COMP] UPLOAD CSV DATA - parse_err', this.parse_err); + this.displayAfterUploadFromCSVSection = true; // this.displayImportModal = 'none'; // this.displayInfoModal = 'block'; @@ -158,23 +161,23 @@ export class ModalFaqsComponent implements OnInit { this.logger.log('FORM DATA ', formData) this.kbService.uploadFaqCsv(formData, this.namespaceid) + .subscribe(data => { - this.logger.log('[FAQ-COMP] UPLOAD CSV DATA ', data); - if (data['success'] === true) { - this.parse_done = true; - this.parse_err = false; - } else if (data['success'] === false) { - this.parse_done = false; - this.parse_err = true; + console.log('[FAQ-COMP] UPLOAD CSV DATA ', data); + if (data) { + // this.parse_done = true; + } + }, (error) => { this.logger.error('[FAQ-COMP] UPLOAD CSV - ERROR ', error); - // this.SHOW_CIRCULAR_SPINNER = false; + + // this.parse_done = false; + + this.parse_err = true; }, () => { - this.logger.log('[FAQ-COMP] UPLOAD CSV * COMPLETE *'); - setTimeout(() => { - // this.SHOW_CIRCULAR_SPINNER = false - }, 300); + console.log('[FAQ-COMP] UPLOAD CSV * COMPLETE *'); + this.parse_err = false; }); } diff --git a/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts b/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts index 948e6a784400..f7bee7804416 100644 --- a/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts +++ b/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts @@ -129,7 +129,7 @@ export class ModalSiteMapComponent implements OnInit { let body = { 'sitemap': this.kb.url } - // console.log('[MODAL-SITE-MAP] onSendSitemap body ', body) + console.log('[MODAL-SITE-MAP] onSendSitemap body ', body) this.buttonDisabled = true; const event = new CustomEvent("on-send-sitemap", { detail: body }); diff --git a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts index 47f71e81490d..30277b1baf68 100755 --- a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts +++ b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts @@ -860,12 +860,13 @@ export class WsRequestsListComponent extends WsSharedComponent implements OnInit // ----------------------------------------------------------------------------------------------------- getCurrentProject() { this.auth.project_bs.subscribe((project) => { - // this.logger.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT', project) + console.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT', project) if (project) { this.projectId = project._id; - this.logger.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT > projectId', this.projectId) + console.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT > projectId', this.projectId) this.projectName = project.name; - this.OPERATING_HOURS_ACTIVE = project.operatingHours + this.OPERATING_HOURS_ACTIVE = project.activeOperatingHours + console.log('[WS-REQUESTS-LIST] OPERATING_HOURS_ACTIVE', this.OPERATING_HOURS_ACTIVE ) this.getProjectById(this.projectId) this.findCurrentProjectAmongAll(this.projectId) From b496e4b11d7e213a38d684bc959bc2e2623f1500 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 09:31:16 +0200 Subject: [PATCH 29/42] Fixes the bug: Operating hours on the "Monitor" page are active even though they are disabled --- .../ws_requests/ws-requests-list/ws-requests-list.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts index 47f71e81490d..f41ebab8e896 100755 --- a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts +++ b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts @@ -865,7 +865,7 @@ export class WsRequestsListComponent extends WsSharedComponent implements OnInit this.projectId = project._id; this.logger.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT > projectId', this.projectId) this.projectName = project.name; - this.OPERATING_HOURS_ACTIVE = project.operatingHours + this.OPERATING_HOURS_ACTIVE = project.activeOperatingHours this.getProjectById(this.projectId) this.findCurrentProjectAmongAll(this.projectId) From d811e668ed956e15a06f183a71284a4497722e42 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 09:31:50 +0200 Subject: [PATCH 30/42] Updates version --- CHANGELOG.md | 3 +++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 596c35324530..4da7dc4684d4 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # tiledesk-dashboard +### 2.7.24 +- Fixes the bug: Operating hours on the "Monitor" page are active even though they are disabled + ### 2.7.23 - Adds the ability to hide the Chatbot Attributes widget from Project Settings > Advanced diff --git a/package-lock.json b/package-lock.json index f85b0f68928a..9c40891fc407 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.23", + "version": "2.7.24", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7e17ab2f2289..ae9caa7d47a9 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.23", + "version": "2.7.24", "scripts": { "ng": "ng", "start": "ng serve --aot", From 354ca2e1e38fed17c5b9ffabd3b3db803b05369a Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 11:39:08 +0200 Subject: [PATCH 31/42] Adds translations --- src/assets/i18n/ar.json | 1 + src/assets/i18n/az.json | 1 + src/assets/i18n/de.json | 1 + src/assets/i18n/en.json | 1 + src/assets/i18n/es.json | 1 + src/assets/i18n/fr.json | 1 + src/assets/i18n/it.json | 1 + src/assets/i18n/kk.json | 1 + src/assets/i18n/pt.json | 1 + src/assets/i18n/ru.json | 1 + src/assets/i18n/sr.json | 1 + src/assets/i18n/sv.json | 1 + src/assets/i18n/tr.json | 1 + src/assets/i18n/uk.json | 1 + src/assets/i18n/uz.json | 1 + 15 files changed, 15 insertions(+) diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index f90d86e84d8e..7bc785c31edb 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -471,6 +471,7 @@ "Success": "نجاح", "ChatbotSuccessfullyCreated":"تم إنشاء Chatbot بنجاح", "ItIsNotPossibleToCreateTheChatbot": "ليس من الممكن إنشاء Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "يفتقر مشروعك إلى القالب المطلوب لإنشاء Chatbot", "EditChatbot": "تحرير chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "روبوت الدردشة {{ chat_bot_name }}", "Back": "عودة", diff --git a/src/assets/i18n/az.json b/src/assets/i18n/az.json index 4797b8b1c56e..1bda8dc94689 100644 --- a/src/assets/i18n/az.json +++ b/src/assets/i18n/az.json @@ -472,6 +472,7 @@ "Success": "Müvəffəqiyyət", "ChatbotSuccessfullyCreated":"Chatbot uğurla yaradıldı", "ItIsNotPossibleToCreateTheChatbot": "Chatbot yaratmaq mümkün deyil", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Layihənizdə Chatbot yaratmaq üçün lazım olan şablon yoxdur", "EditChatbot": "{{ chat_bot_name }} chatbotunu redaktə edin", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Geri", diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 89e428985fc5..30f4a79ac0ff 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -471,6 +471,7 @@ "Success": "Erfolg", "ChatbotSuccessfullyCreated":"Chatbot erfolgreich erstellt", "ItIsNotPossibleToCreateTheChatbot": "Es ist nicht möglich, den Chatbot zu erstellen", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "In Ihrem Projekt fehlt die zum Erstellen des Chatbots erforderliche Vorlage", "EditChatbot": "Chatbot bearbeiten {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Zurück", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index b3378ab705cd..f1cf0988fe51 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -471,6 +471,7 @@ "Success": "Success", "ChatbotSuccessfullyCreated":"Chatbot successfully created", "ItIsNotPossibleToCreateTheChatbot": "It is not possible to create the Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Your project is missing the template needed to create the Chatbot", "EditChatbot": "Edit chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Back", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 084a4ff078ca..3421a0c67626 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -471,6 +471,7 @@ "Success": "Éxito", "ChatbotSuccessfullyCreated":"Chatbot creado exitosamente", "ItIsNotPossibleToCreateTheChatbot": "No es posible crear el Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "A tu proyecto le falta la plantilla necesaria para crear el Chatbot", "EditChatbot": "Editar chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Atrás", diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 076d67e50701..e567165164f9 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -471,6 +471,7 @@ "Success": "Succès", "ChatbotSuccessfullyCreated":"Chatbot créé avec succès", "ItIsNotPossibleToCreateTheChatbot": "Il n'est pas possible de créer le Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Votre projet ne dispose pas du modèle nécessaire à la création du Chatbot", "EditChatbot": "Modifier le chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Retour", diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index 18f8a6388400..a2a8c560696c 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -471,6 +471,7 @@ "Success": "Successo", "ChatbotSuccessfullyCreated":"Chatbot creato con successo", "ItIsNotPossibleToCreateTheChatbot": "Non è possibile creare il Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Nel tuo progetto manca il modello necessario per creare il Chatbot", "EditChatbot": "Modifica il chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Indietro", diff --git a/src/assets/i18n/kk.json b/src/assets/i18n/kk.json index 8e399c94b66a..8ed4cba4307b 100644 --- a/src/assets/i18n/kk.json +++ b/src/assets/i18n/kk.json @@ -471,6 +471,7 @@ "Success": "Жетістік", "ChatbotSuccessfullyCreated":"Чатбот сәтті жасалды", "ItIsNotPossibleToCreateTheChatbot": "Чатбот жасау мүмкін емес", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Жобаңызда Чатбот жасау үшін қажетті үлгі жоқ", "EditChatbot": "{{ chat_bot_name }} чатботын өңдеу", "ChatbotAndChatbotName": "Чатбот {{ chat_bot_name }}", "Back": "Артқа", diff --git a/src/assets/i18n/pt.json b/src/assets/i18n/pt.json index 4945f7a5d3d6..bd0c436c4475 100644 --- a/src/assets/i18n/pt.json +++ b/src/assets/i18n/pt.json @@ -471,6 +471,7 @@ "Success": "Sucesso", "ChatbotSuccessfullyCreated":"Chatbot criado com sucesso", "ItIsNotPossibleToCreateTheChatbot": "Não é possível criar o Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "O seu projeto não possui o modelo necessário para criar o Chatbot", "EditChatbot": "Editar chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Bot de bate-papo {{ chat_bot_name }}", "Back": "Costas", diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 4a74fe86469a..d6398dfeeb9d 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -472,6 +472,7 @@ "Success": "Успех", "ChatbotSuccessfullyCreated":"Чат-бот успешно создан", "ItIsNotPossibleToCreateTheChatbot": "Невозможно создать чат-бота", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "В вашем проекте отсутствует шаблон, необходимый для создания чат-бота", "EditChatbot": "Изменить чат-бота {{chat_bot_name }}", "ChatbotAndChatbotName": "Чат-бот {{chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/sr.json b/src/assets/i18n/sr.json index ef72be504391..e34ef3ca0341 100644 --- a/src/assets/i18n/sr.json +++ b/src/assets/i18n/sr.json @@ -472,6 +472,7 @@ "Success": "Успех", "ChatbotSuccessfullyCreated":"Цхатбот је успешно направљен", "ItIsNotPossibleToCreateTheChatbot": "Није могуће креирати Цхатбот", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Вашем пројекту недостаје шаблон потребан за креирање четбота", "EditChatbot": "Уреди цхатбот {{ chat_bot_name }}", "ChatbotAndChatbotName": "Цхатбот {{ chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index 1696adc5391f..3c54cb5402e9 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -472,6 +472,7 @@ "Success": "Framgång", "ChatbotSuccessfullyCreated":"Chatbot skapades framgångsrikt", "ItIsNotPossibleToCreateTheChatbot": "Det är inte möjligt att skapa Chatbot", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Ditt projekt saknar mallen som behövs för att skapa Chatbot", "EditChatbot": "Redigera chatbot {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Tillbaka", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index b693fed5093b..67f494b50a87 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -472,6 +472,7 @@ "Success": "Başarı", "ChatbotSuccessfullyCreated":"Chatbot başarıyla oluşturuldu", "ItIsNotPossibleToCreateTheChatbot": "Chatbot oluşturmak mümkün değil", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Projenizde Chatbot'u oluşturmak için gereken şablon eksik", "EditChatbot": "{{ chat_bot_name }} sohbet robotunu düzenle", "ChatbotAndChatbotName": "Sohbet robotu {{ chat_bot_name }}", "Back": "Geri", diff --git a/src/assets/i18n/uk.json b/src/assets/i18n/uk.json index 34d254b6abf7..200d4f4fe397 100644 --- a/src/assets/i18n/uk.json +++ b/src/assets/i18n/uk.json @@ -472,6 +472,7 @@ "Success": "Успіх", "ChatbotSuccessfullyCreated":"Чат-бот успішно створено", "ItIsNotPossibleToCreateTheChatbot": "Створити чат-бота неможливо", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "У вашому проекті відсутній шаблон, необхідний для створення чат-бота", "EditChatbot": "Редагувати чат-бота {{ chat_bot_name }}", "ChatbotAndChatbotName": "Чат-бот {{ chat_bot_name }}", "Back": "Назад", diff --git a/src/assets/i18n/uz.json b/src/assets/i18n/uz.json index 3b7390c9fac4..a92a55ffff9f 100644 --- a/src/assets/i18n/uz.json +++ b/src/assets/i18n/uz.json @@ -472,6 +472,7 @@ "Success": "Muvaffaqiyat", "ChatbotSuccessfullyCreated":"Chatbot muvaffaqiyatli yaratildi", "ItIsNotPossibleToCreateTheChatbot": "Chatbot yaratish mumkin emas", + "YourProjectIsMissingTheTemplateNeededToCreateTheChatbot": "Loyihangizda Chatbot yaratish uchun kerakli shablon yetishmayapti", "EditChatbot": "Chatbotni tahrirlash {{ chat_bot_name }}", "ChatbotAndChatbotName": "Chatbot {{ chat_bot_name }}", "Back": "Orqaga", From 9c6165e0717637877f53e654610db68373072c25 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Fri, 20 Sep 2024 14:58:46 +0200 Subject: [PATCH 32/42] Adds the ability to add FAQs as contents of knowledge bases --- .../knowledge-bases.component.html | 8 ++++- .../knowledge-bases.component.ts | 32 +++++++++++-------- .../modal-detail-knowledge-base.component.ts | 10 +++--- .../modals/modal-faqs/modal-faqs.component.ts | 8 ++--- .../modal-site-map.component.ts | 2 +- .../ws-requests-list.component.ts | 6 ++-- 6 files changed, 39 insertions(+), 27 deletions(-) diff --git a/src/app/knowledge-bases/knowledge-bases.component.html b/src/app/knowledge-bases/knowledge-bases.component.html index 846ad32fe518..ca797732b989 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.html +++ b/src/app/knowledge-bases/knowledge-bases.component.html @@ -367,11 +367,17 @@
{{ 'KbPage.ThisKBisNotUsedByAnyChatbot' | translate }} + +
diff --git a/src/app/knowledge-bases/knowledge-bases.component.ts b/src/app/knowledge-bases/knowledge-bases.component.ts index 1f752a05307a..3562fa469649 100644 --- a/src/app/knowledge-bases/knowledge-bases.component.ts +++ b/src/app/knowledge-bases/knowledge-bases.component.ts @@ -181,8 +181,10 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI private dialogRefHookBoot: MatDialogRef; timer: number = 500; - hasCickedAiSettingsModalBackdrop: boolean = false + hasCickedAiSettingsModalBackdrop: boolean = false; public hideHelpLink: boolean; + esportingKBChatBotTemplate: boolean = false; + constructor( private auth: AuthService, private formBuilder: FormBuilder, @@ -312,7 +314,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI // const currentUrl = this.router.url; // this.logger.log('[KNOWLEDGE-BASES-COMP] - currentUrl ', currentUrl) // if (currentUrl.indexOf('/knowledge-bases') !== -1) { - // console.log('[KNOWLEDGE-BASES-COMP] - is knowledge-bases route') + // this.logger.log('[KNOWLEDGE-BASES-COMP] - is knowledge-bases route') // const storedHasAlreadyVisitedKb = this.localDbService.getFromStorage(`has-visited-kb-${this.id_project}`) // if (storedHasAlreadyVisitedKb) { // this.hasAlreadyVisitedKb = 'true' @@ -811,6 +813,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI } findKbOfficialResponderAndThenExportToJSON() { + this.esportingKBChatBotTemplate = true this.faqKbService.getTemplates().subscribe((certifiedTemplates: any) => { if (certifiedTemplates) { @@ -821,12 +824,13 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI return officialResponder } }); - console.log('[KNOWLEDGE-BASES-COMP] kbOfficialResponderTemplate', kbOfficialResponderTemplate) + this.logger.log('[KNOWLEDGE-BASES-COMP] kbOfficialResponderTemplate', kbOfficialResponderTemplate) if (kbOfficialResponderTemplate) { this.exportKbOfficialResponderToJSON(kbOfficialResponderTemplate._id) } else { - console.log('[KNOWLEDGE-BASES-COMP] Not exist kbOfficialResponderTemplate', kbOfficialResponderTemplate) + this.logger.log('[KNOWLEDGE-BASES-COMP] Not exist kbOfficialResponderTemplate', kbOfficialResponderTemplate) + this.esportingKBChatBotTemplate = false; this.presentDialogNotExistThekbOfficialResponderTemplate() } } @@ -845,15 +849,17 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI if (askGPT_Action) { askGPT_Action.namespace = this.selectedNamespace.id this.logger.log('[KNOWLEDGE-BASES-COMP] - EXPORT CHATBOT TO JSON - CHATBOT INTENT > actions askGPT_Action', askGPT_Action) + this.esportingKBChatBotTemplate = false this.presentDialogChatbotname(chatbot) } }); }, (error) => { this.logger.error('[KNOWLEDGE-BASES-COMP] - EXPORT BOT TO JSON - ERROR', error); + this.esportingKBChatBotTemplate = false }, () => { this.logger.log('[KNOWLEDGE-BASES-COMP] - EXPORT BOT TO JSON - COMPLETE'); - + }); } @@ -1007,7 +1013,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI // title: this.translate.instant('Success'), // text: this.translate.instant('ChatbotSuccessfullyCreated'), title: this.translate.instant('ItIsNotPossibleToCreateTheChatbot') , //"It is not possible to create the chatbot", - text: "Your project is missing the template needed to create the chatbot" + ' !', + text: this.translate.instant('YourProjectIsMissingTheTemplateNeededToCreateTheChatbot') + ' !', icon: "error", showCloseButton: false, showCancelButton: false, @@ -1328,7 +1334,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI }, }); dialogRef.afterClosed().subscribe(kb => { - console.log('[Modal KB DETAILS] Dialog kb: ', kb); + this.logger.log('[Modal KB DETAILS] Dialog kb: ', kb); if (kb) { this.onUpdateKb(kb) } @@ -1359,7 +1365,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI openAddKnowledgeBaseModal(type?: string) { - console.log('[KNOWLEDGE BASES COMP] openAddKnowledgeBaseModal type', type) + this.logger.log('[KNOWLEDGE BASES COMP] openAddKnowledgeBaseModal type', type) this.typeKnowledgeBaseModal = type; this.addKnowledgeBaseModal = 'block'; @@ -1410,7 +1416,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI }); dialogRef.afterClosed().subscribe(result => { - console.log('[Modal Add FAQs] Dialog result (afterClosed): ', result); + this.logger.log('[Modal Add FAQs] Dialog result (afterClosed): ', result); if (result && result.isSingle === "true") { if (result.body) { this.onAddKb(result.body) @@ -1810,8 +1816,8 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI getListOfKb(params?: any, calledby?: any) { - console.log("[KNOWLEDGE BASES COMP] GET LIST OF KB calledby", calledby); - console.log("[KNOWLEDGE BASES COMP] GET LIST OF KB params", params); + this.logger.log("[KNOWLEDGE BASES COMP] GET LIST OF KB calledby", calledby); + this.logger.log("[KNOWLEDGE BASES COMP] GET LIST OF KB params", params); if (calledby === 'onSelectNamespace' || calledby === 'createNewNamespace' || calledby === 'deleteNamespace') { this.kbsList = []; @@ -1904,7 +1910,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI * onAddKb */ onAddKb(body) { - console.log('onAddKb this.kbLimit ', this.kbLimit) + this.logger.log('onAddKb this.kbLimit ', this.kbLimit) body.namespace = this.selectedNamespace.id this.logger.log("onAddKb body:", body); // this.onCloseBaseModal(); @@ -2033,7 +2039,7 @@ export class KnowledgeBasesComponent extends PricingBaseComponent implements OnI } onAddMultiKb(body) { - console.log('onAddMultiKb body' ,body) + this.logger.log('onAddMultiKb body' ,body) // this.onCloseBaseModal(); // this.logger.log("onAddMultiKb"); let error = this.msgErrorAddUpdateKb; diff --git a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts index 3402ae15f2c2..7b365a7c654d 100644 --- a/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts +++ b/src/app/knowledge-bases/modals/modal-detail-knowledge-base/modal-detail-knowledge-base.component.ts @@ -32,7 +32,7 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { ) { if (data && data.kb) this.kb = data.kb - console.log('[MODAL-DETAIL-KB] kb ', this.kb) + this.logger.log('[MODAL-DETAIL-KB] kb ', this.kb) this.name = this.kb.name; this.source = this.kb.source; @@ -49,10 +49,10 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { this.kbService.getContentChuncks(id_project, namespaceid, contentid).subscribe((chunks: any) => { if (chunks) { - console.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - RES', chunks); + this.logger.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - RES', chunks); chunks.matches.forEach(el => { - console.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - element', el) + this.logger.log('[KNOWLEDGE-BASES-COMP] - GET CONTENT CHUNCKS - element', el) this.chunks.push({ id: el.id, text: el.text }) }); @@ -82,7 +82,7 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { } // ngOnChanges(changes: SimpleChanges): void { - // console.log('[MODAL-DETAIL-KB] kb ', this.kb) + // this.logger.log('[MODAL-DETAIL-KB] kb ', this.kb) // } @@ -109,7 +109,7 @@ export class ModalDetailKnowledgeBaseComponent implements OnInit { - // console.log('[MODAL-DETAIL-KB] onUpdateKnowledgeBase kb ', this.kb) + // this.logger.log('[MODAL-DETAIL-KB] onUpdateKnowledgeBase kb ', this.kb) this.dialogRef.close(this.kb); // this.updateKnowledgeBase.emit(this.kb); } diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts index 3ea98291f3a0..0ba27dedf0fd 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.ts @@ -68,7 +68,7 @@ export class ModalFaqsComponent implements OnInit { } onSaveKnowledgeBase(isSingle) { - console.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb, 'isSingle ', isSingle ) + this.logger.log('[MODAL-FAQS] onSaveKnowledgeBase kb ', this.kb, 'isSingle ', isSingle ) const content = this.kb.name + "\n" + this.kb.content let body = { 'name': this.kb.name, @@ -144,7 +144,7 @@ export class ModalFaqsComponent implements OnInit { fileChangeUploadCSV(event) { - console.log('[FAQ-COMP] UPLOAD CSV DATA - parse_err', this.parse_err); + this.logger.log('[FAQ-COMP] UPLOAD CSV DATA - parse_err', this.parse_err); this.displayAfterUploadFromCSVSection = true; // this.displayImportModal = 'none'; // this.displayInfoModal = 'block'; @@ -163,7 +163,7 @@ export class ModalFaqsComponent implements OnInit { this.kbService.uploadFaqCsv(formData, this.namespaceid) .subscribe(data => { - console.log('[FAQ-COMP] UPLOAD CSV DATA ', data); + this.logger.log('[FAQ-COMP] UPLOAD CSV DATA ', data); if (data) { // this.parse_done = true; @@ -176,7 +176,7 @@ export class ModalFaqsComponent implements OnInit { this.parse_err = true; }, () => { - console.log('[FAQ-COMP] UPLOAD CSV * COMPLETE *'); + this.logger.log('[FAQ-COMP] UPLOAD CSV * COMPLETE *'); this.parse_err = false; }); diff --git a/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts b/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts index f7bee7804416..948e6a784400 100644 --- a/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts +++ b/src/app/knowledge-bases/modals/modal-site-map/modal-site-map.component.ts @@ -129,7 +129,7 @@ export class ModalSiteMapComponent implements OnInit { let body = { 'sitemap': this.kb.url } - console.log('[MODAL-SITE-MAP] onSendSitemap body ', body) + // console.log('[MODAL-SITE-MAP] onSendSitemap body ', body) this.buttonDisabled = true; const event = new CustomEvent("on-send-sitemap", { detail: body }); diff --git a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts index 30277b1baf68..5605d30852ed 100755 --- a/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts +++ b/src/app/ws_requests/ws-requests-list/ws-requests-list.component.ts @@ -860,13 +860,13 @@ export class WsRequestsListComponent extends WsSharedComponent implements OnInit // ----------------------------------------------------------------------------------------------------- getCurrentProject() { this.auth.project_bs.subscribe((project) => { - console.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT', project) + this.logger.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT', project) if (project) { this.projectId = project._id; - console.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT > projectId', this.projectId) + this.logger.log('[WS-REQUESTS-LIST] GET CURRENT-PRJCT AND THEN GET PROJECT BY ID - CURRENT-PRJCT > projectId', this.projectId) this.projectName = project.name; this.OPERATING_HOURS_ACTIVE = project.activeOperatingHours - console.log('[WS-REQUESTS-LIST] OPERATING_HOURS_ACTIVE', this.OPERATING_HOURS_ACTIVE ) + this.logger.log('[WS-REQUESTS-LIST] OPERATING_HOURS_ACTIVE', this.OPERATING_HOURS_ACTIVE ) this.getProjectById(this.projectId) this.findCurrentProjectAmongAll(this.projectId) From 36b7e58bd14cb245c61b5a7b4245f0e3f694238a Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 10:11:39 +0200 Subject: [PATCH 33/42] Help center improvements --- src/app/components/navbar/navbar.component.ts | 16 +- .../components/sidebar/sidebar.component.ts | 2 +- src/app/projects/projects.component.ts | 16 +- src/app/support/support.component.ts | 49 +++- src/assets/custom_script.js | 231 ++++++++++++++++++ 5 files changed, 285 insertions(+), 29 deletions(-) create mode 100755 src/assets/custom_script.js diff --git a/src/app/components/navbar/navbar.component.ts b/src/app/components/navbar/navbar.component.ts index 26152129fa19..944e76d96e15 100755 --- a/src/app/components/navbar/navbar.component.ts +++ b/src/app/components/navbar/navbar.component.ts @@ -1656,14 +1656,14 @@ export class NavbarComponent extends PricingBaseComponent implements OnInit, Aft this.sidebarVisible = false; body.classList.remove('nav-open'); - try { - if (window && window['tiledesk_widget_show']) { - this.logger.log('[NAV] - SHOW WIDGET - HERE 1') - window['tiledesk_widget_show'](); - } - } catch (e) { - this.logger.error('tiledesk_widget_show ERROR', e) - } + // try { + // if (window && window['tiledesk_widget_show']) { + // this.logger.log('[NAV] - SHOW WIDGET - HERE 1') + // window['tiledesk_widget_show'](); + // } + // } catch (e) { + // this.logger.error('tiledesk_widget_show ERROR', e) + // } }; diff --git a/src/app/components/sidebar/sidebar.component.ts b/src/app/components/sidebar/sidebar.component.ts index 3beadefa26d5..cf6d67b22f21 100755 --- a/src/app/components/sidebar/sidebar.component.ts +++ b/src/app/components/sidebar/sidebar.component.ts @@ -1214,7 +1214,7 @@ export class SidebarComponent implements OnInit, AfterViewInit { } if (event.url.indexOf('/home') !== -1) { - this.presentHelpCenterPopup() + // this.presentHelpCenterPopup() } } }); diff --git a/src/app/projects/projects.component.ts b/src/app/projects/projects.component.ts index 6b58039d1b7f..3cd0af417ad6 100755 --- a/src/app/projects/projects.component.ts +++ b/src/app/projects/projects.component.ts @@ -814,14 +814,14 @@ export class ProjectsComponent implements OnInit, AfterContentInit, OnDestroy { const elemAppSidebar = document.querySelector('app-sidebar'); elemAppSidebar.setAttribute('style', 'display:none;'); - try { - if (window && window['tiledesk_widget_show']) { - this.logger.log('[PROJECTS] - SHOW WIDGET - HERE 1') - window['tiledesk_widget_show'](); - } - } catch (e) { - this.logger.error('tiledesk_widget_show ERROR', e) - } + // try { + // if (window && window['tiledesk_widget_show']) { + // this.logger.log('[PROJECTS] - SHOW WIDGET - HERE 1') + // window['tiledesk_widget_show'](); + // } + // } catch (e) { + // this.logger.error('tiledesk_widget_show ERROR', e) + // } }; sidebarToggle() { // const toggleButton = this.toggleButton; diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 9b4935d3faef..c52d97c9eda9 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -24,6 +24,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { ) { super(prjctPlanService, notify); } ngOnInit(): void { + console.log('HELP CENTER HELLO !!!!') this.getProjectPlan(); this.getBrowserVersion() @@ -53,13 +54,37 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { } - ngOnDestroy(){ + ngOnDestroy() { this.manageWidget("hide") + // cancellare script + // cancellare tiledesk da window // + // + + this.removelaunchJsScript() + } + + removelaunchJsScript() { + // const scriptElement = document.getElementById(' tiledesk-jssdk'); + // console.log('[SUPPORT] scriptElement ', scriptElement) + // if (scriptElement) { + // scriptElement.remove(); + // } + + const scripts = Array.from(document.getElementsByTagName('script')); + scripts.forEach(script => { + if (script.id === 'tiledesk-jssdk') { + console.log('[SUPPORT] script ', script); + script.remove(); + delete window['tiledesk'] + } + + }); + } - onCardItemClick(item, section){ - if(section === 'CONTACT_US'){ - switch(item.key){ + onCardItemClick(item, section) { + if (section === 'CONTACT_US') { + switch (item.key) { case 'EMAIL': case 'DISCORD': window.open(item.src, '_blank') @@ -70,7 +95,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { } } - if(section === 'SELF_SERVICE'){ + if (section === 'SELF_SERVICE') { window.open(item.src, '_blank') } @@ -78,7 +103,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { private manageWidget(status: "hide" | "show" | "open" | "close" | "start", projectInfo?: any) { - + console.log('[SUPPORT] manageWidget window[tiledesk]', window['tiledesk']) console.log('[SUPPORT] manageWidget status ', status) try { @@ -88,22 +113,22 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { window['tiledesk'].dispose(); } else if (status === 'show') { window['tiledesk'].show(); - } else if(status === 'open'){ + } else if (status === 'open') { window['tiledesk'].open(); - }else if(status === "close"){ + } else if (status === "close") { window['tiledesk'].close(); } - + } if (window && !window['tiledesk']) { - if(status === "start"){ + if (status === "start") { window['startWidget'](); window['tiledesk_widget_login'](); - window['tiledesk'].setAttributeParameter({ key: 'payload', value: {project: projectInfo}}) + window['tiledesk'].setAttributeParameter({ key: 'payload', value: { project: projectInfo } }) } } - + } catch (error) { this.logger.error('manageWidget ERROR', error) } diff --git a/src/assets/custom_script.js b/src/assets/custom_script.js new file mode 100755 index 000000000000..dd1e10e249e7 --- /dev/null +++ b/src/assets/custom_script.js @@ -0,0 +1,231 @@ + + +//console.log('Custom script - current url ', window.location.href) +//console.log('Custom script - window.location.href.indexOf(/projects-for-panel) ', window.location.href.indexOf('/projects-for-panel')) +//console.log('Custom script - window.location.href.indexOf(/request-for-panel) ', window.location.href.indexOf('/request-for-panel')) +//console.log('Custom script - window.location.href.indexOf(/unserved-request-for-panel) ', window.location.href.indexOf('/unserved-request-for-panel')) + +const projectId = "63b711fa2ef2e4001a5e4977"; + +if ( + (window.location.href.indexOf('/unserved-request-for-panel') >= 0) || + (window.location.href.indexOf('%2Funserved-request-for-panel') >= 0) || + (window.location.href.indexOf('/projects-for-panel') >= 0) || + (window.location.href.indexOf('%2Fprojects-for-panel') >= 0) || + (window.location.href.indexOf('/request-for-panel') >= 0) || + (window.location.href.indexOf('%2Frequest-for-panel') >= 0) || + (window.location.href.indexOf('/cds') >= 0) || + (window.location.href.indexOf('%2Fcds') >= 0) || + (window.location.href.indexOf('/onboarding') >= 0) || + (window.location.href.indexOf('%2Fonboarding') >= 0) || + (window.location.href.indexOf('/create-new-project') >= 0) || + (window.location.href.indexOf('%2Fcreate-new-project') >= 0) + ) + + { + +// + +} else if( + ( (window.location.href.indexOf('/login') >= 0) || + (window.location.href.indexOf('%2Flogin') >= 0) || + (window.location.href.indexOf('/signup') >= 0) || + (window.location.href.indexOf('%signup') >= 0) + ) && screen.width < 800 +){ + +} else { + // startWidget() +} + + + +function startWidget(){ + + + + window.tiledeskSettings = + { + projectid: projectId, + autoStart: true + + }; + + (function (d, s, id) { + var w = window; var d = document; var i = function () { i.c(arguments); }; + i.q = []; i.c = function (args) { i.q.push(args); }; w.Tiledesk = i; + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); + js.id = id; js.async = true; js.src = "https://widget.tiledesk.com/v6/launch.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'tiledesk-jssdk')); +} + + +// window.tiledesk.angularcomponent.component.g.preChatForm = false +function tiledesk_widget_hide() { + if (!window.Tiledesk) { + return + } + // console.log('[APP-COMP] - HIDE WIDGET in custom script') + window.Tiledesk('hide'); +} + +function tiledesk_widget_show() { + if (!window.Tiledesk) { + return + } + window.Tiledesk('show'); +} + +function tiledesk_widget_autologin() { + if (!window.Tiledesk) { + return + } + // console.log('loginnnnnnnnnnnnn', window, window.tiledesk) + if (window && window.tiledesk) { + // window.Tiledesk('logout'); + // console.log('loginnnnnnnnnnnnn 111111', window, window.tiledesk) + setTimeout(() => { + // console.log('loginnnnnnnnnnnnn') + tiledesk_widget_login(); + }, 1000); + } +} + +function tiledesk_widget_logout() { + if (!window.Tiledesk) { + return + } + // console.log('LOGGGGGG OUTTTTTTTTTTTT', window.Tiledesk) + window.Tiledesk('logout') + window.Tiledesk('signInAnonymous') + // if (window && window.tiledesk) { + + // console.log('tiledeskSettings LOGOUT ') + // } else { + // console.log('tiledeskSettings NO LOGOUT ') + // } + // window.tiledesk.signInAnonymous() + //.then(response => console.log('signinnnnn', response)).catch(e => console.log('errorrrrrr', e)) +} + +function tiledesk_widget_login() { + // console.log('tiledesk_widget_login') + if (!window.Tiledesk) { + return + } + + const currentUser = localStorage.getItem('widget_sv6_' + projectId + '_currentUser') + if(currentUser && currentUser !== undefined){ + const user = JSON.parse(currentUser) + if(!user.fullname.includes('guest')){ + return; + } + } + + window.Tiledesk('setParameter', { key: 'autoStart', value: false }) + window.Tiledesk('setParameter', { key: 'preChatForm', value: false }) + // if (window && window.tiledesk && window.tiledesk.angularcomponent) { + // window.tiledesk.angularcomponent.component.g.autoStart = false; + // } + // console.log('tiledeskSettings autoStart ', window.tiledesk.angularcomponent.component.g.autoStart) + + // console.log('wwwwwwwwwww', window.Tiledesk('logout'), window.Tiledesk, window.tiledesk) + var logout = window.Tiledesk('logout')//.then(response => console.log('logoutttt responseeeee', response)).catch(e=> console.log('logoutttt errorrrrrr', error)); + // window.tiledesk.hide() + // window.tiledesk.logout(); + // window.tiledesk.reinit(); + // console.log('tiledeskSettings 1', window.tiledeskSettings) + + // setTimeout(() => { + customAuth((token) => { + // console.log("customAuth token ", token); + if (token) { + // console.log("customAuth HERE Y ", token); + // window.tiledesk.signInWithCustomToken(token); + // console.log('customAuth windowww', window.Tiledesk) + window.Tiledesk('signInWithCustomToken', token)//.then(response => console.log('signInWithCustomToken responseeeee', response)).catch(e=> console.log('signInWithCustomToken errorrrrrr', error));; + } + else { + // console.log("No user found."); + } + }); + // }, 1000); +} + +if (window.Tiledesk) { + window.Tiledesk('onAuthStateChanged', function (event_data) { + //console.log("onAuthStateChanged FIRED ", event_data); + if (event_data.detail.isLogged) { + // console.log("isLogged!!!!", event_data); + window.Tiledesk('show') + // window.tiledesk.show() + } + }); + + + window.Tiledesk('onLoadParams', (event_data) => { + // console.log("Initialized!"); + // customAuth((token) => { + // if (token) { + // window.tiledesk.signInWithCustomToken(token); + // } + // else { + // console.log("No user found."); + // } + // }); + }); + + window.Tiledesk('onBeforeInit', (event_data) => { + // console.log("trigger onBeforeInit!"); + // customAuth((token) => { + // if (token) { + // window.tiledesk.signInWithCustomToken(token); + // } + // else { + // console.log("No user found."); + // } + // }); + }); +} else { + console.log('Widget not available!') +} + + + +function customAuth(callback) { + // console.log('Calling customAuth ') + // console.log('tiledeskSettings 2 (customAuth)', window.tiledeskSettings) + const storedUser = localStorage.getItem('user'); + // console.log('tiledeskSettings 2 (customAuth) - storedUser', storedUser) + let user = null; + if (storedUser) { + user = JSON.parse(storedUser); + } + if (!user) { + callback(null); + return; + } + const td_userId = user._id; + // console.log('tiledeskSettings 2 (customAuth) - td_userId', td_userId) + // const URL = 'https://tiledesk-custom-jwt-authentication.gabrielepanico.repl.co/tiledeskauth'; + const URL = 'https://tiledesk-custom-jwt-authentication.replit.app/tiledeskauth'; + var xmlhttp = new XMLHttpRequest(); + xmlhttp.open("POST", URL, true); + xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); + xmlhttp.onreadystatechange = function () { + if (callback && xmlhttp.readyState == 4 && xmlhttp.status == 200 && xmlhttp.responseText) { + // console.log('tiledeskSettings 2 (customAuth) - xmlhttp.readyState', xmlhttp.readyState) + // console.log('tiledeskSettings 2 (customAuth) - xmlhttp.status', xmlhttp.status) + callback(xmlhttp.responseText); + } + }; + const remote_support_project_userId = projectId + "_" + td_userId; + const td_firstname = user.firstname; + const td_lastname = user.lastname; + const td_email = user.email; + + xmlhttp.send("id=" + remote_support_project_userId + "&firstname=" + td_firstname + "&lastname=" + td_lastname + "&email=" + td_email); +} \ No newline at end of file From 91eff345230cb52e2b2af2aad701ace995bbb991 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 11:55:30 +0200 Subject: [PATCH 34/42] Activate product tour in sidebar --- src/app/components/sidebar/sidebar.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/components/sidebar/sidebar.component.ts b/src/app/components/sidebar/sidebar.component.ts index cf6d67b22f21..3beadefa26d5 100755 --- a/src/app/components/sidebar/sidebar.component.ts +++ b/src/app/components/sidebar/sidebar.component.ts @@ -1214,7 +1214,7 @@ export class SidebarComponent implements OnInit, AfterViewInit { } if (event.url.indexOf('/home') !== -1) { - // this.presentHelpCenterPopup() + this.presentHelpCenterPopup() } } }); From 570adef0282ab7a10bc38c75689d1bcef1dfeaaa Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 12:55:18 +0200 Subject: [PATCH 35/42] Minor improvements --- .../knowledge-base-table/knowledge-base-table.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.scss b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.scss index 211b12669d01..1012a8af4605 100644 --- a/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.scss +++ b/src/app/knowledge-bases/modals/knowledge-base-table/knowledge-base-table.component.scss @@ -334,7 +334,7 @@ td { justify-content: center; align-items: center; // margin-top: 200px; - height: calc(100vh - 298px); + height: calc(100vh - 320px); img { width: 300px; From 4e834ef29e17ea35f43a7e25645506a561b33715 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 14:40:39 +0200 Subject: [PATCH 36/42] Minor improvements --- .../modal-faqs/modal-faqs.component.scss | 4 ++-- ...odal-preview-knowledge-base.component.html | 14 ++++++++---- .../modal-preview-knowledge-base.component.ts | 13 ++++++++--- .../modal-urls-knowledge-base.component.html | 22 +++++++------------ 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss index 5f982c22dd9f..46c2c1914ecf 100644 --- a/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss +++ b/src/app/knowledge-bases/modals/modal-faqs/modal-faqs.component.scss @@ -460,8 +460,8 @@ // margin: 100px auto; // margin: 80px auto; margin: 75.01px auto; - width: 40px; - height: 40px; + width: 41px; + height: 41px; // width: 100px; // height: 100px; position: relative; diff --git a/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.html b/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.html index e0400090fca0..11b4722c8aa2 100644 --- a/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.html +++ b/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.html @@ -41,7 +41,9 @@

{{ 'Preview' | translate }}

- {{ 'KbPage.Answer' | translate }} ({{ 'KbPage.GeneratedByModel' | translate: {ai_model_name: qa?.ai_model } }}) + {{ 'KbPage.Answer' | translate }} + + ({{ 'KbPage.GeneratedByModel' | translate: {ai_model_name: qa?.ai_model } }})

@@ -66,7 +68,7 @@

{{ 'Preview' | translate }}


{{ 'KbPage.Source' | translate }}

-
+
{{ 'KbPage.Source' | translate }}: {{ source_url }} {{ qa.source }} @@ -75,11 +77,15 @@

{{ 'Preview' | translate }}

diff --git a/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.ts b/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.ts index cc96b0203fae..4ad1115727fe 100644 --- a/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.ts +++ b/src/app/knowledge-bases/modals/modal-preview-knowledge-base/modal-preview-knowledge-base.component.ts @@ -256,7 +256,7 @@ export class ModalPreviewKnowledgeBaseComponent extends PricingBaseComponent imp this.prompt_token_size = response.prompt_token_size; this.logger.log("[MODAL-PREVIEW-KB] ask gpt preview prompt_token_size: ", this.prompt_token_size) const endTime = performance.now(); - this.responseTime = Math.round((endTime - startTime) / 1000); + this.responseTime = Math.round((endTime - startTime) / 1000); this.translateparam = { respTime: this.responseTime }; this.qa = response; this.logger.log("[MODAL-PREVIEW-KB] ask gpt preview qa: ", this.qa) @@ -277,14 +277,21 @@ export class ModalPreviewKnowledgeBaseComponent extends PricingBaseComponent imp this.show_answer = true; this.searching = false; }, (err) => { - // this.logger.log("ask gpt preview response error: ", err); + this.logger.log("ask gpt preview response error: ", err); // this.logger.log("ask gpt preview response error message: ", error.message); // this.logger.log("ask gpt preview response error error: ", error.error); if (err && err.error && err.error.error_code === 13001) { this.answer = this.translate.instant('KbPage.AiQuotaExceeded') this.aiQuotaExceeded = true - } else { + } else if (err && err.error && err.error.message) { this.answer = err.error.message; + } else if (err.error && err.error.error && err.error.error.answer) { + this.answer = err.error.error.answer; + // && err.headers.statusText + if (err.statusText) { + this.logger.log("ask gpt preview error h1 err.headers ", err.statusText); + this.answer = this.answer + ' (' + err.statusText + ')' + } } this.logger.error("ERROR ask gpt: ", err.message); diff --git a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html index 548a65b1f936..a07fd63e7e8c 100644 --- a/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html +++ b/src/app/knowledge-bases/modals/modal-urls-knowledge-base/modal-urls-knowledge-base.component.html @@ -11,23 +11,17 @@

{{ 'KbPage.titleUrls' | t

- + +
Indexing type - + @@ -39,7 +33,7 @@

{{ 'KbPage.titleUrls' | t

- +
Extract Tags (Mandatory) @@ -52,7 +46,7 @@

{{ 'KbPage.titleUrls' | t - + cancel - -> @@ -60,7 +54,7 @@

{{ 'KbPage.titleUrls' | t

- +
Unwanted Tags @@ -78,7 +72,7 @@

{{ 'KbPage.titleUrls' | t

- +
Unwanted Classnames @@ -99,7 +93,7 @@

{{ 'KbPage.titleUrls' | t

- + -->
From 745a28924e5bd2e1cb128df063ec7d4c807d7aff Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 15:18:14 +0200 Subject: [PATCH 37/42] Updates version --- CHANGELOG.md | 3 +++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4da7dc4684d4..599076a67486 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # tiledesk-dashboard +### 2.7.25 +- Adds the ability to add FAQs as contents of knowledge bases + ### 2.7.24 - Fixes the bug: Operating hours on the "Monitor" page are active even though they are disabled diff --git a/package-lock.json b/package-lock.json index 069880f73ce7..a5c22cfc0198 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.24", + "version": "2.7.25", "lockfileVersion": 1, "requires": true, "packages": { diff --git a/package.json b/package.json index ae9caa7d47a9..eb9297068f08 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.24", + "version": "2.7.25", "scripts": { "ng": "ng", "start": "ng serve --aot", From 0a893491d30873a29a665cbf123a42b523402421 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 15:59:05 +0200 Subject: [PATCH 38/42] Removes log --- .../project-edit-add.component.ts | 2 +- src/app/support/support.component.ts | 8 +- src/assets/custom_script.js | 231 ------------------ 3 files changed, 5 insertions(+), 236 deletions(-) delete mode 100755 src/assets/custom_script.js diff --git a/src/app/project-edit-add/project-edit-add.component.ts b/src/app/project-edit-add/project-edit-add.component.ts index 4406a543bd77..6e418a154e7a 100755 --- a/src/app/project-edit-add/project-edit-add.component.ts +++ b/src/app/project-edit-add/project-edit-add.component.ts @@ -1226,7 +1226,7 @@ export class ProjectEditAddComponent implements OnInit, OnDestroy { getProjectPlan() { this.subscription = this.prjctPlanService.projectPlan$.subscribe((projectProfileData: any) => { - console.log('[PRJCT-EDIT-ADD] - getProjectPlan project Profile Data', projectProfileData) + this.logger.log('[PRJCT-EDIT-ADD] - getProjectPlan project Profile Data', projectProfileData) if (projectProfileData) { this.prjct_name = projectProfileData.name; this.logger.log('[PRJCT-EDIT-ADD] - getProjectPlan prjct_name', this.prjct_name); diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index c52d97c9eda9..0a1d3083d4e6 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -24,7 +24,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { ) { super(prjctPlanService, notify); } ngOnInit(): void { - console.log('HELP CENTER HELLO !!!!') + this.logger.log('HELP CENTER HELLO !!!!') this.getProjectPlan(); this.getBrowserVersion() @@ -73,7 +73,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { const scripts = Array.from(document.getElementsByTagName('script')); scripts.forEach(script => { if (script.id === 'tiledesk-jssdk') { - console.log('[SUPPORT] script ', script); + this.logger.log('[SUPPORT] script ', script); script.remove(); delete window['tiledesk'] } @@ -104,8 +104,8 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { private manageWidget(status: "hide" | "show" | "open" | "close" | "start", projectInfo?: any) { - console.log('[SUPPORT] manageWidget window[tiledesk]', window['tiledesk']) - console.log('[SUPPORT] manageWidget status ', status) + this.logger.log('[SUPPORT] manageWidget window[tiledesk]', window['tiledesk']) + this.logger.log('[SUPPORT] manageWidget status ', status) try { if (window && window['tiledesk']) { if (status === 'hide') { diff --git a/src/assets/custom_script.js b/src/assets/custom_script.js deleted file mode 100755 index dd1e10e249e7..000000000000 --- a/src/assets/custom_script.js +++ /dev/null @@ -1,231 +0,0 @@ - - -//console.log('Custom script - current url ', window.location.href) -//console.log('Custom script - window.location.href.indexOf(/projects-for-panel) ', window.location.href.indexOf('/projects-for-panel')) -//console.log('Custom script - window.location.href.indexOf(/request-for-panel) ', window.location.href.indexOf('/request-for-panel')) -//console.log('Custom script - window.location.href.indexOf(/unserved-request-for-panel) ', window.location.href.indexOf('/unserved-request-for-panel')) - -const projectId = "63b711fa2ef2e4001a5e4977"; - -if ( - (window.location.href.indexOf('/unserved-request-for-panel') >= 0) || - (window.location.href.indexOf('%2Funserved-request-for-panel') >= 0) || - (window.location.href.indexOf('/projects-for-panel') >= 0) || - (window.location.href.indexOf('%2Fprojects-for-panel') >= 0) || - (window.location.href.indexOf('/request-for-panel') >= 0) || - (window.location.href.indexOf('%2Frequest-for-panel') >= 0) || - (window.location.href.indexOf('/cds') >= 0) || - (window.location.href.indexOf('%2Fcds') >= 0) || - (window.location.href.indexOf('/onboarding') >= 0) || - (window.location.href.indexOf('%2Fonboarding') >= 0) || - (window.location.href.indexOf('/create-new-project') >= 0) || - (window.location.href.indexOf('%2Fcreate-new-project') >= 0) - ) - - { - -// - -} else if( - ( (window.location.href.indexOf('/login') >= 0) || - (window.location.href.indexOf('%2Flogin') >= 0) || - (window.location.href.indexOf('/signup') >= 0) || - (window.location.href.indexOf('%signup') >= 0) - ) && screen.width < 800 -){ - -} else { - // startWidget() -} - - - -function startWidget(){ - - - - window.tiledeskSettings = - { - projectid: projectId, - autoStart: true - - }; - - (function (d, s, id) { - var w = window; var d = document; var i = function () { i.c(arguments); }; - i.q = []; i.c = function (args) { i.q.push(args); }; w.Tiledesk = i; - var js, fjs = d.getElementsByTagName(s)[0]; - if (d.getElementById(id)) return; - js = d.createElement(s); - js.id = id; js.async = true; js.src = "https://widget.tiledesk.com/v6/launch.js"; - fjs.parentNode.insertBefore(js, fjs); - }(document, 'script', 'tiledesk-jssdk')); -} - - -// window.tiledesk.angularcomponent.component.g.preChatForm = false -function tiledesk_widget_hide() { - if (!window.Tiledesk) { - return - } - // console.log('[APP-COMP] - HIDE WIDGET in custom script') - window.Tiledesk('hide'); -} - -function tiledesk_widget_show() { - if (!window.Tiledesk) { - return - } - window.Tiledesk('show'); -} - -function tiledesk_widget_autologin() { - if (!window.Tiledesk) { - return - } - // console.log('loginnnnnnnnnnnnn', window, window.tiledesk) - if (window && window.tiledesk) { - // window.Tiledesk('logout'); - // console.log('loginnnnnnnnnnnnn 111111', window, window.tiledesk) - setTimeout(() => { - // console.log('loginnnnnnnnnnnnn') - tiledesk_widget_login(); - }, 1000); - } -} - -function tiledesk_widget_logout() { - if (!window.Tiledesk) { - return - } - // console.log('LOGGGGGG OUTTTTTTTTTTTT', window.Tiledesk) - window.Tiledesk('logout') - window.Tiledesk('signInAnonymous') - // if (window && window.tiledesk) { - - // console.log('tiledeskSettings LOGOUT ') - // } else { - // console.log('tiledeskSettings NO LOGOUT ') - // } - // window.tiledesk.signInAnonymous() - //.then(response => console.log('signinnnnn', response)).catch(e => console.log('errorrrrrr', e)) -} - -function tiledesk_widget_login() { - // console.log('tiledesk_widget_login') - if (!window.Tiledesk) { - return - } - - const currentUser = localStorage.getItem('widget_sv6_' + projectId + '_currentUser') - if(currentUser && currentUser !== undefined){ - const user = JSON.parse(currentUser) - if(!user.fullname.includes('guest')){ - return; - } - } - - window.Tiledesk('setParameter', { key: 'autoStart', value: false }) - window.Tiledesk('setParameter', { key: 'preChatForm', value: false }) - // if (window && window.tiledesk && window.tiledesk.angularcomponent) { - // window.tiledesk.angularcomponent.component.g.autoStart = false; - // } - // console.log('tiledeskSettings autoStart ', window.tiledesk.angularcomponent.component.g.autoStart) - - // console.log('wwwwwwwwwww', window.Tiledesk('logout'), window.Tiledesk, window.tiledesk) - var logout = window.Tiledesk('logout')//.then(response => console.log('logoutttt responseeeee', response)).catch(e=> console.log('logoutttt errorrrrrr', error)); - // window.tiledesk.hide() - // window.tiledesk.logout(); - // window.tiledesk.reinit(); - // console.log('tiledeskSettings 1', window.tiledeskSettings) - - // setTimeout(() => { - customAuth((token) => { - // console.log("customAuth token ", token); - if (token) { - // console.log("customAuth HERE Y ", token); - // window.tiledesk.signInWithCustomToken(token); - // console.log('customAuth windowww', window.Tiledesk) - window.Tiledesk('signInWithCustomToken', token)//.then(response => console.log('signInWithCustomToken responseeeee', response)).catch(e=> console.log('signInWithCustomToken errorrrrrr', error));; - } - else { - // console.log("No user found."); - } - }); - // }, 1000); -} - -if (window.Tiledesk) { - window.Tiledesk('onAuthStateChanged', function (event_data) { - //console.log("onAuthStateChanged FIRED ", event_data); - if (event_data.detail.isLogged) { - // console.log("isLogged!!!!", event_data); - window.Tiledesk('show') - // window.tiledesk.show() - } - }); - - - window.Tiledesk('onLoadParams', (event_data) => { - // console.log("Initialized!"); - // customAuth((token) => { - // if (token) { - // window.tiledesk.signInWithCustomToken(token); - // } - // else { - // console.log("No user found."); - // } - // }); - }); - - window.Tiledesk('onBeforeInit', (event_data) => { - // console.log("trigger onBeforeInit!"); - // customAuth((token) => { - // if (token) { - // window.tiledesk.signInWithCustomToken(token); - // } - // else { - // console.log("No user found."); - // } - // }); - }); -} else { - console.log('Widget not available!') -} - - - -function customAuth(callback) { - // console.log('Calling customAuth ') - // console.log('tiledeskSettings 2 (customAuth)', window.tiledeskSettings) - const storedUser = localStorage.getItem('user'); - // console.log('tiledeskSettings 2 (customAuth) - storedUser', storedUser) - let user = null; - if (storedUser) { - user = JSON.parse(storedUser); - } - if (!user) { - callback(null); - return; - } - const td_userId = user._id; - // console.log('tiledeskSettings 2 (customAuth) - td_userId', td_userId) - // const URL = 'https://tiledesk-custom-jwt-authentication.gabrielepanico.repl.co/tiledeskauth'; - const URL = 'https://tiledesk-custom-jwt-authentication.replit.app/tiledeskauth'; - var xmlhttp = new XMLHttpRequest(); - xmlhttp.open("POST", URL, true); - xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); - xmlhttp.onreadystatechange = function () { - if (callback && xmlhttp.readyState == 4 && xmlhttp.status == 200 && xmlhttp.responseText) { - // console.log('tiledeskSettings 2 (customAuth) - xmlhttp.readyState', xmlhttp.readyState) - // console.log('tiledeskSettings 2 (customAuth) - xmlhttp.status', xmlhttp.status) - callback(xmlhttp.responseText); - } - }; - const remote_support_project_userId = projectId + "_" + td_userId; - const td_firstname = user.firstname; - const td_lastname = user.lastname; - const td_email = user.email; - - xmlhttp.send("id=" + remote_support_project_userId + "&firstname=" + td_firstname + "&lastname=" + td_lastname + "&email=" + td_email); -} \ No newline at end of file From d80da689aff1a531f23a5022548932a423de7b4a Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 17:57:58 +0200 Subject: [PATCH 39/42] Adds the Help Center page to provide to the end user a complete support option --- src/app/support/support.component.ts | 35 +++++++++++++++------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 0a1d3083d4e6..135478d8b13d 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -64,21 +64,23 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { } removelaunchJsScript() { - // const scriptElement = document.getElementById(' tiledesk-jssdk'); - // console.log('[SUPPORT] scriptElement ', scriptElement) - // if (scriptElement) { - // scriptElement.remove(); - // } - - const scripts = Array.from(document.getElementsByTagName('script')); - scripts.forEach(script => { - if (script.id === 'tiledesk-jssdk') { - this.logger.log('[SUPPORT] script ', script); - script.remove(); - delete window['tiledesk'] - } + const scriptElement = document.getElementById(' tiledesk-jssdk'); + this.logger.log('[SUPPORT] scriptElement ', scriptElement) + if (scriptElement) { + scriptElement.remove(); + delete window['tiledesk']; + delete window['Tiledesk']; + } + + // const scripts = Array.from(document.getElementsByTagName('script')); + // scripts.forEach(script => { + // if (script.id === 'tiledesk-jssdk') { + // this.logger.log('[SUPPORT] script ', script); + // script.remove(); + // delete window['tiledesk'] + // } - }); + // }); } @@ -124,8 +126,9 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { if (window && !window['tiledesk']) { if (status === "start") { window['startWidget'](); - window['tiledesk_widget_login'](); - window['tiledesk'].setAttributeParameter({ key: 'payload', value: { project: projectInfo } }) + // window['tiledesk_widget_login'](); + // window['tiledesk'].setAttributeParameter({ key: 'payload', value: { project: projectInfo } }) + window['tiledesk_widget_login']({ key: 'payload', value: {project: projectInfo}}); } } From 6701b6515fff832383b6abc52d4530aeffe05f10 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 18:03:05 +0200 Subject: [PATCH 40/42] Remove log --- src/app/home/home.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts index ab5884b24e2f..d67c3638f9a1 100755 --- a/src/app/home/home.component.ts +++ b/src/app/home/home.component.ts @@ -1832,7 +1832,7 @@ export class HomeComponent implements OnInit, OnDestroy, AfterViewInit { } checkPlanAndPresentModal(appTitle) { - console.log('[HOME] checkPlanAndPresentModal appTitle', appTitle , 'appSumoProfile ', this.appSumoProfile) + this.logger.log('[HOME] checkPlanAndPresentModal appTitle', appTitle , 'appSumoProfile ', this.appSumoProfile) if ( (appTitle === "WhatsApp Business" || appTitle === "Facebook Messenger") && ((this.profile_name === PLAN_NAME.A) || From 4d9cc71d79e8590c6d3265fa7f39aa7608104f04 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 18:37:28 +0200 Subject: [PATCH 41/42] Bug fix --- src/app/support/support.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/support/support.component.ts b/src/app/support/support.component.ts index 135478d8b13d..7cad10c8b74d 100644 --- a/src/app/support/support.component.ts +++ b/src/app/support/support.component.ts @@ -64,7 +64,7 @@ export class SupportComponent extends PricingBaseComponent implements OnInit { } removelaunchJsScript() { - const scriptElement = document.getElementById(' tiledesk-jssdk'); + const scriptElement = document.getElementById('tiledesk-jssdk'); this.logger.log('[SUPPORT] scriptElement ', scriptElement) if (scriptElement) { scriptElement.remove(); From bf2832e84798eb5fec344ac2fbcf83d830e038a6 Mon Sep 17 00:00:00 2001 From: Nicola Lanzilotto Date: Mon, 23 Sep 2024 19:07:25 +0200 Subject: [PATCH 42/42] Updates version --- CHANGELOG.md | 3 +++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 599076a67486..e48bebbf7e36 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # tiledesk-dashboard +### 2.7.26 +- Adds the Help Center page to provide to the end user a complete support option + ### 2.7.25 - Adds the ability to add FAQs as contents of knowledge bases diff --git a/package-lock.json b/package-lock.json index a5c22cfc0198..f45858cec940 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.25", + "version": "2.7.26", "lockfileVersion": 1, "requires": true, "packages": { diff --git a/package.json b/package.json index eb9297068f08..a176f4df91ef 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tiledesk/tiledesk-dashboard", - "version": "2.7.25", + "version": "2.7.26", "scripts": { "ng": "ng", "start": "ng serve --aot",