@alauda-fe/common 1.4.24-beta.2 → 1.4.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- import { DecimalPipe } from '@angular/common';
2
1
  import { PipeTransform } from '@angular/core';
2
+ import { TranslateService } from '../../translate/public-api';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MinimumFormatPipe implements PipeTransform {
5
- private readonly decimal;
6
- constructor(decimal: DecimalPipe);
5
+ private decimal;
6
+ constructor(translate: TranslateService);
7
7
  transform(value: number | string, decimalPlaces?: number): string;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<MinimumFormatPipe, never>;
9
9
  static ɵpipe: i0.ɵɵPipeDeclaration<MinimumFormatPipe, "aclMinimumFormat", true>;
@@ -1,11 +1,27 @@
1
1
  import { TypeMeta } from './k8s/public-api';
2
+ export declare const CRD_API_GROUP = "crd.alauda.io";
3
+ export declare const AIOPS_API_GROUP = "aiops.alauda.io";
4
+ export declare const AUTH_API_GROUP = "auth.alauda.io";
5
+ export declare const COREOS_OPERATOR_API_GROUP = "operators.coreos.com";
6
+ export declare const APP_API_GROUP = "app.alauda.io";
7
+ export declare const STORAGE_API_GROUP = "storage.k8s.io";
8
+ export declare const TKE_PLATFORM_API_GROUP = "platform.tkestack.io";
9
+ export declare const CLUSTER_API_GROUP = "cluster.alauda.io";
2
10
  export declare const AIT_API_GROUP = "ait.alauda.io";
3
- export declare const OAM_GROUP = "core.oam.dev";
4
- export declare const ARGOCD_GROUP = "argoproj.io";
11
+ export declare const MONITORING_API_GROUP = "monitoring.coreos.com";
12
+ export declare const OAM_API_GROUP = "core.oam.dev";
13
+ export declare const ARGOCD_API_GROUP = "argoproj.io";
5
14
  export declare const MACHINE_API_GROUP = "machine.alauda.io";
6
- export declare const VOLUME_SNAPSHOT_GROUP = "snapshot.storage.k8s.io";
15
+ export declare const VOLUME_SNAPSHOT_API_GROUP = "snapshot.storage.k8s.io";
7
16
  export declare const K8S_CORE_API_GROUP = "core.kubernetes.io";
8
17
  export declare const K8S_APP_API_GROUP = "app.k8s.io";
18
+ export declare const PRODUCT_API_GROUP = "product.alauda.io";
19
+ export declare const INFRASTRUCTURE_API_GROUP = "infrastructure.alauda.io";
20
+ export declare const VELERO_API_GROUP = "velero.io";
21
+ export declare const RESOURCE_API_GROUP = "resource.alauda.io";
22
+ export declare const ETCD_BACKUP_API_GROUP = "etcdbackup.alauda.io";
23
+ export declare const CLUSTER_X_K8S_API_GROUP = "infrastructure.cluster.x-k8s.io";
24
+ export declare const OPERATOR_API_GROUP = "operator.alauda.io";
9
25
  export declare const COMMON_RESOURCE_DEFINITIONS: {
10
26
  readonly ALAUDA_LOADBALANCER2: {
11
27
  readonly apiGroup: string;
@@ -456,11 +472,180 @@ export declare const COMMON_RESOURCE_DEFINITIONS: {
456
472
  readonly apiGroup: string;
457
473
  readonly type: string;
458
474
  };
475
+ readonly LOG_POLICY: {
476
+ readonly apiGroup: string;
477
+ readonly apiVersion: string;
478
+ readonly type: string;
479
+ };
459
480
  readonly FUNCTION_TEST: {
460
481
  readonly type: string;
461
482
  readonly apiGroup: string;
462
483
  readonly apiVersion: string;
463
484
  };
485
+ readonly PROJECT_BINDING: {
486
+ readonly type: string;
487
+ readonly apiGroup: string;
488
+ };
489
+ readonly PROBE: {
490
+ readonly type: string;
491
+ readonly apiVersion: string;
492
+ readonly apiGroup: string;
493
+ };
494
+ readonly REPORT: {
495
+ readonly type: string;
496
+ readonly apiGroup: string;
497
+ readonly apiVersion: string;
498
+ };
499
+ readonly NAMESPACE_RESOURCE_RATIO: {
500
+ readonly type: string;
501
+ readonly apiGroup: string;
502
+ };
503
+ readonly CUSTOM_RESOURCE_DEFINITION: {
504
+ readonly type: string;
505
+ readonly apiGroup: string;
506
+ readonly apiVersion: string;
507
+ };
508
+ readonly LICENSE: {
509
+ readonly type: string;
510
+ };
511
+ readonly RECORD: {
512
+ readonly type: string;
513
+ readonly apiGroup: string;
514
+ readonly apiVersion: string;
515
+ };
516
+ readonly CSI_NODE: {
517
+ readonly apiGroup: string;
518
+ readonly type: string;
519
+ };
520
+ readonly TSF: {
521
+ readonly type: string;
522
+ readonly apiGroup: string;
523
+ readonly apiVersion: string;
524
+ };
525
+ readonly TDSQL: {
526
+ readonly type: string;
527
+ readonly apiVersion: string;
528
+ readonly apiGroup: string;
529
+ };
530
+ readonly PORTAL: {
531
+ readonly type: string;
532
+ readonly apiGroup: string;
533
+ };
534
+ readonly NAMESPACE_IMPORT: {
535
+ readonly type: string;
536
+ readonly apiGroup: string;
537
+ };
538
+ readonly CLUSTER_ADDON_TYPE: {
539
+ readonly apiGroup: string;
540
+ readonly type: string;
541
+ };
542
+ readonly CLUSTER_CREDENTIAL: {
543
+ readonly apiGroup: string;
544
+ readonly type: string;
545
+ };
546
+ readonly CODING: {
547
+ readonly type: string;
548
+ readonly apiGroup: string;
549
+ readonly apiVersion: string;
550
+ };
551
+ readonly TI_MATRIX: {
552
+ readonly type: string;
553
+ readonly apiVersion: string;
554
+ readonly apiGroup: string;
555
+ };
556
+ readonly SYSTEM_CONFIG: {
557
+ readonly apiGroup: string;
558
+ readonly apiVersion: string;
559
+ readonly type: string;
560
+ };
561
+ readonly CERTIFICATE: {
562
+ readonly type: string;
563
+ readonly apiGroup: string;
564
+ };
565
+ readonly SECURITY_RULE: {
566
+ readonly type: string;
567
+ readonly apiGroup: string;
568
+ readonly apiVersion: string;
569
+ };
570
+ readonly REGION: {
571
+ readonly apiGroup: string;
572
+ readonly apiVersion: string;
573
+ readonly type: string;
574
+ };
575
+ readonly TOPOLVM_CLUSTER_V2: {
576
+ readonly type: string;
577
+ readonly apiGroup: string;
578
+ readonly apiVersion: string;
579
+ };
580
+ readonly BUCKET: {
581
+ readonly apiGroup: string;
582
+ readonly apiVersion: string;
583
+ readonly type: string;
584
+ };
585
+ readonly SCHEDULE: {
586
+ readonly apiGroup: string;
587
+ readonly type: string;
588
+ };
589
+ readonly BACKUP_STORAGE_LOCATION: {
590
+ readonly apiGroup: string;
591
+ readonly type: string;
592
+ };
593
+ readonly BACKUP_STORAGE_LOCATION_REPO: {
594
+ readonly apiGroup: string;
595
+ readonly type: string;
596
+ };
597
+ readonly BACKUP: {
598
+ readonly apiGroup: string;
599
+ readonly type: string;
600
+ };
601
+ readonly DELETE_BACKUP_REQUEST: {
602
+ readonly apiGroup: string;
603
+ readonly type: string;
604
+ };
605
+ readonly ETCD_BACKUP_RECORD: {
606
+ readonly apiGroup: string;
607
+ readonly apiVersion: string;
608
+ readonly type: string;
609
+ };
610
+ readonly RESTORE: {
611
+ readonly apiGroup: string;
612
+ readonly apiVersion: string;
613
+ readonly type: string;
614
+ };
615
+ readonly RAW_DEVICE: {
616
+ readonly apiGroup: string;
617
+ readonly type: string;
618
+ };
619
+ readonly APP_RELEASES: {
620
+ readonly apiGroup: string;
621
+ readonly apiVersion: string;
622
+ readonly type: string;
623
+ };
624
+ readonly NOTIFICATION_TEMPLATE: {
625
+ readonly apiGroup: string;
626
+ readonly apiVersion: string;
627
+ readonly type: string;
628
+ };
629
+ readonly NOTIFICATION_GROUP: {
630
+ readonly apiGroup: string;
631
+ readonly apiVersion: string;
632
+ readonly type: string;
633
+ };
634
+ readonly NOTIFICATION: {
635
+ readonly apiGroup: string;
636
+ readonly apiVersion: string;
637
+ readonly type: string;
638
+ };
639
+ readonly TUNNEL_CLUSTER: {
640
+ readonly type: string;
641
+ readonly apiVersion: string;
642
+ readonly apiGroup: string;
643
+ };
644
+ readonly K8S_CLUSTER: {
645
+ readonly type: string;
646
+ readonly apiGroup: string;
647
+ readonly apiVersion: string;
648
+ };
464
649
  };
465
650
  export declare const RESOURCE_TYPES: {
466
651
  readonly ALAUDA_LOADBALANCER2: "ALAUDA_LOADBALANCER2";
@@ -564,9 +749,46 @@ export declare const RESOURCE_TYPES: {
564
749
  readonly MODULE_HEALTH: "MODULE_HEALTH";
565
750
  readonly MODULE_HEALTH_RECORD: "MODULE_HEALTH_RECORD";
566
751
  readonly AUDIT: "AUDIT";
752
+ readonly LOG_POLICY: "LOG_POLICY";
567
753
  readonly FUNCTION_TEST: "FUNCTION_TEST";
754
+ readonly PROJECT_BINDING: "PROJECT_BINDING";
755
+ readonly PROBE: "PROBE";
756
+ readonly REPORT: "REPORT";
757
+ readonly NAMESPACE_RESOURCE_RATIO: "NAMESPACE_RESOURCE_RATIO";
758
+ readonly CUSTOM_RESOURCE_DEFINITION: "CUSTOM_RESOURCE_DEFINITION";
759
+ readonly LICENSE: "LICENSE";
760
+ readonly RECORD: "RECORD";
761
+ readonly CSI_NODE: "CSI_NODE";
762
+ readonly TSF: "TSF";
763
+ readonly TDSQL: "TDSQL";
764
+ readonly PORTAL: "PORTAL";
765
+ readonly NAMESPACE_IMPORT: "NAMESPACE_IMPORT";
766
+ readonly CLUSTER_ADDON_TYPE: "CLUSTER_ADDON_TYPE";
767
+ readonly CLUSTER_CREDENTIAL: "CLUSTER_CREDENTIAL";
768
+ readonly CODING: "CODING";
769
+ readonly TI_MATRIX: "TI_MATRIX";
770
+ readonly SYSTEM_CONFIG: "SYSTEM_CONFIG";
771
+ readonly CERTIFICATE: "CERTIFICATE";
772
+ readonly SECURITY_RULE: "SECURITY_RULE";
773
+ readonly REGION: "REGION";
774
+ readonly TOPOLVM_CLUSTER_V2: "TOPOLVM_CLUSTER_V2";
775
+ readonly BUCKET: "BUCKET";
776
+ readonly SCHEDULE: "SCHEDULE";
777
+ readonly BACKUP_STORAGE_LOCATION: "BACKUP_STORAGE_LOCATION";
778
+ readonly BACKUP_STORAGE_LOCATION_REPO: "BACKUP_STORAGE_LOCATION_REPO";
779
+ readonly BACKUP: "BACKUP";
780
+ readonly DELETE_BACKUP_REQUEST: "DELETE_BACKUP_REQUEST";
781
+ readonly ETCD_BACKUP_RECORD: "ETCD_BACKUP_RECORD";
782
+ readonly RESTORE: "RESTORE";
783
+ readonly RAW_DEVICE: "RAW_DEVICE";
784
+ readonly APP_RELEASES: "APP_RELEASES";
785
+ readonly NOTIFICATION_TEMPLATE: "NOTIFICATION_TEMPLATE";
786
+ readonly NOTIFICATION_GROUP: "NOTIFICATION_GROUP";
787
+ readonly NOTIFICATION: "NOTIFICATION";
788
+ readonly TUNNEL_CLUSTER: "TUNNEL_CLUSTER";
789
+ readonly K8S_CLUSTER: "K8S_CLUSTER";
568
790
  };
569
- export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "FUNCTION_TEST" | {
791
+ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "ALB2" | "HELM_REQUEST" | "HELM_REQUEST_V1" | "DEPLOYMENT" | "DAEMONSET" | "STATEFULSET" | "FRONTEND" | "RULE" | "POD" | "PODS_EXEC" | "PODS_ROOT_EXEC" | "CONFIG_MAP" | "ALERT_TEMPLATE" | "APPLICATION" | "APPLICATION_HISTORY" | "CLUSTER" | "CLUSTER_VIEW" | "DAEMON_SET" | "STATEFUL_SET" | "DOMAIN" | "FEATURE" | "ALAUDA_FEATURE_GATE" | "CLUSTER_ALAUDA_FEATURE_GATE" | "HORIZONTAL_POD_AUTOSCALER" | "LOG" | "PROJECT" | "PROMETHEUS_RULE" | "ALERT_HISTORY" | "SELF_SUBJECT_ACCESS_REVIEW" | "VIEW" | "SERVICE" | "LIMIT_RANGE" | "SECRET" | "CRON_JOB" | "ADVANCED_CRON_JOB" | "JOB" | "INGRESS" | "PERSISTENT_VOLUME_CLAIM" | "NAMESPACE" | "NODE" | "NODE_METRICS" | "PV" | "CRD" | "CHART_REPO" | "CHART" | "NETWORK_POLICY" | "SERVICE_ACCOUNT" | "REPLICA_SET" | "POD_SECURITY_POLICY" | "NAMESPACE_OVERVIEW" | "CSP" | "RESOURCE_QUOTA" | "CLUSTER_NETWORK_POLICY" | "PROJECT_QUOTA" | "TKE_CLUSTER" | "TKE_MACHINE" | "MACHINE" | "NODE_GROUP" | "CLUSTERSERVICEVERSION" | "TENANT" | "SUBSCRIPTION" | "PACKAGE_MANIFEST" | "BUCKET_CLASS" | "PRODUCT_CONFIG" | "STORAGE_CLASS" | "VOLUME_SNAPSHOT_CLASS" | "PRODUCT_BASE" | "MODULE_INFO" | "MODULE_CONFIG" | "MODULE_PLUGIN" | "PRODUCT_ENTRY" | "PRODUCT_DOCS_ENTRY" | "SERVICEMESH_GROUP" | "CLUSTER_MODULE" | "USER_SECURITY_POLICY" | "CONNECTOR" | "ACCESS_TOKEN_INFO" | "FUNCTION_RESOURCE" | "USER_BINDING" | "USER" | "GROUP" | "PROJECT_MEMBER" | "ROLE_TEMPLATE" | "BATCH_ACTION" | "EVENT" | "SERVICE_MONITOR" | "OAM_APPLICATION" | "ARGOCD_APPLICATION_SET" | "ARGOCD_APPLICATION" | "OPERATOR_VIEW" | "MODULE_PLUGIN_VIEW" | "RESOURCE_PATCH" | "COMPONENT_PROBER" | "INSPECTION" | "INSPECTION_DETAILS" | "INSPECTION_ITEMS" | "MESSAGE" | "MODULE_HEALTH" | "MODULE_HEALTH_RECORD" | "AUDIT" | "LOG_POLICY" | "FUNCTION_TEST" | "PROJECT_BINDING" | "PROBE" | "REPORT" | "NAMESPACE_RESOURCE_RATIO" | "CUSTOM_RESOURCE_DEFINITION" | "LICENSE" | "RECORD" | "CSI_NODE" | "TSF" | "TDSQL" | "PORTAL" | "NAMESPACE_IMPORT" | "CLUSTER_ADDON_TYPE" | "CLUSTER_CREDENTIAL" | "CODING" | "TI_MATRIX" | "SYSTEM_CONFIG" | "CERTIFICATE" | "SECURITY_RULE" | "REGION" | "TOPOLVM_CLUSTER_V2" | "BUCKET" | "SCHEDULE" | "BACKUP_STORAGE_LOCATION" | "BACKUP_STORAGE_LOCATION_REPO" | "BACKUP" | "DELETE_BACKUP_REQUEST" | "ETCD_BACKUP_RECORD" | "RESTORE" | "RAW_DEVICE" | "APP_RELEASES" | "NOTIFICATION_TEMPLATE" | "NOTIFICATION_GROUP" | "NOTIFICATION" | "TUNNEL_CLUSTER" | "K8S_CLUSTER" | {
570
792
  apiGroup: string;
571
793
  type: string;
572
794
  } | {
@@ -914,6 +1136,138 @@ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "A
914
1136
  } | {
915
1137
  apiGroup: string;
916
1138
  type: string;
1139
+ } | {
1140
+ apiGroup: string;
1141
+ apiVersion: string;
1142
+ type: string;
1143
+ } | {
1144
+ type: string;
1145
+ apiGroup: string;
1146
+ apiVersion: string;
1147
+ } | {
1148
+ type: string;
1149
+ apiGroup: string;
1150
+ } | {
1151
+ type: string;
1152
+ apiVersion: string;
1153
+ apiGroup: string;
1154
+ } | {
1155
+ type: string;
1156
+ apiGroup: string;
1157
+ apiVersion: string;
1158
+ } | {
1159
+ type: string;
1160
+ apiGroup: string;
1161
+ } | {
1162
+ type: string;
1163
+ apiGroup: string;
1164
+ apiVersion: string;
1165
+ } | {
1166
+ type: string;
1167
+ } | {
1168
+ type: string;
1169
+ apiGroup: string;
1170
+ apiVersion: string;
1171
+ } | {
1172
+ apiGroup: string;
1173
+ type: string;
1174
+ } | {
1175
+ type: string;
1176
+ apiGroup: string;
1177
+ apiVersion: string;
1178
+ } | {
1179
+ type: string;
1180
+ apiVersion: string;
1181
+ apiGroup: string;
1182
+ } | {
1183
+ type: string;
1184
+ apiGroup: string;
1185
+ } | {
1186
+ type: string;
1187
+ apiGroup: string;
1188
+ } | {
1189
+ apiGroup: string;
1190
+ type: string;
1191
+ } | {
1192
+ apiGroup: string;
1193
+ type: string;
1194
+ } | {
1195
+ type: string;
1196
+ apiGroup: string;
1197
+ apiVersion: string;
1198
+ } | {
1199
+ type: string;
1200
+ apiVersion: string;
1201
+ apiGroup: string;
1202
+ } | {
1203
+ apiGroup: string;
1204
+ apiVersion: string;
1205
+ type: string;
1206
+ } | {
1207
+ type: string;
1208
+ apiGroup: string;
1209
+ } | {
1210
+ type: string;
1211
+ apiGroup: string;
1212
+ apiVersion: string;
1213
+ } | {
1214
+ apiGroup: string;
1215
+ apiVersion: string;
1216
+ type: string;
1217
+ } | {
1218
+ type: string;
1219
+ apiGroup: string;
1220
+ apiVersion: string;
1221
+ } | {
1222
+ apiGroup: string;
1223
+ apiVersion: string;
1224
+ type: string;
1225
+ } | {
1226
+ apiGroup: string;
1227
+ type: string;
1228
+ } | {
1229
+ apiGroup: string;
1230
+ type: string;
1231
+ } | {
1232
+ apiGroup: string;
1233
+ type: string;
1234
+ } | {
1235
+ apiGroup: string;
1236
+ type: string;
1237
+ } | {
1238
+ apiGroup: string;
1239
+ type: string;
1240
+ } | {
1241
+ apiGroup: string;
1242
+ apiVersion: string;
1243
+ type: string;
1244
+ } | {
1245
+ apiGroup: string;
1246
+ apiVersion: string;
1247
+ type: string;
1248
+ } | {
1249
+ apiGroup: string;
1250
+ type: string;
1251
+ } | {
1252
+ apiGroup: string;
1253
+ apiVersion: string;
1254
+ type: string;
1255
+ } | {
1256
+ apiGroup: string;
1257
+ apiVersion: string;
1258
+ type: string;
1259
+ } | {
1260
+ apiGroup: string;
1261
+ apiVersion: string;
1262
+ type: string;
1263
+ } | {
1264
+ apiGroup: string;
1265
+ apiVersion: string;
1266
+ type: string;
1267
+ } | {
1268
+ type: string;
1269
+ apiVersion: string;
1270
+ apiGroup: string;
917
1271
  } | {
918
1272
  type: string;
919
1273
  apiGroup: string;
@@ -1,10 +1,11 @@
1
1
  import { DecimalPipe } from '@angular/common';
2
2
  import { Pipe } from '@angular/core';
3
+ import { TranslateService } from '../../translate/public-api';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
+ import * as i1 from "../../translate/public-api";
5
6
  export class MinimumFormatPipe {
6
- constructor(decimal) {
7
- this.decimal = decimal;
7
+ constructor(translate) {
8
+ this.decimal = new DecimalPipe(translate.locale);
8
9
  }
9
10
  transform(value, decimalPlaces = 0) {
10
11
  const decimalFormat = `1.${decimalPlaces}-${decimalPlaces || 2}`;
@@ -12,7 +13,7 @@ export class MinimumFormatPipe {
12
13
  ? '<0.01'
13
14
  : this.decimal.transform(value, decimalFormat)?.replace(/,/g, '');
14
15
  }
15
- static { this.ɵfac = function MinimumFormatPipe_Factory(t) { return new (t || MinimumFormatPipe)(i0.ɵɵdirectiveInject(i1.DecimalPipe, 16)); }; }
16
+ static { this.ɵfac = function MinimumFormatPipe_Factory(t) { return new (t || MinimumFormatPipe)(i0.ɵɵdirectiveInject(i1.TranslateService, 16)); }; }
16
17
  static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "aclMinimumFormat", type: MinimumFormatPipe, pure: true, standalone: true }); }
17
18
  }
18
19
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MinimumFormatPipe, [{
@@ -21,5 +22,5 @@ export class MinimumFormatPipe {
21
22
  name: 'aclMinimumFormat',
22
23
  standalone: true,
23
24
  }]
24
- }], () => [{ type: i1.DecimalPipe }], null); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL21pbmltdW0tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBQUcsQ0FBQztJQUVyRCxTQUFTLENBQUMsS0FBc0IsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxLQUFLLGFBQWEsSUFBSSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUNoQyxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO2tGQVJVLGlCQUFpQjswRkFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSjdCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsTWluaW11bUZvcm1hdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltdW1Gb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbDogRGVjaW1hbFBpcGUpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGRlY2ltYWxQbGFjZXMgPSAwKSB7XG4gICAgY29uc3QgZGVjaW1hbEZvcm1hdCA9IGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzIHx8IDJ9YDtcbiAgICByZXR1cm4gK3ZhbHVlID4gMCAmJiArdmFsdWUgPCAwLjAxXG4gICAgICA/ICc8MC4wMSdcbiAgICAgIDogdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh2YWx1ZSwgZGVjaW1hbEZvcm1hdCk/LnJlcGxhY2UoLywvZywgJycpO1xuICB9XG59XG4iXX0=
25
+ }], () => [{ type: i1.TranslateService }], null); })();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW11bS1mb3JtYXQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3BpcGVzL21pbmltdW0tZm9ybWF0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixZQUFZLFNBQTJCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBc0IsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxLQUFLLGFBQWEsSUFBSSxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakUsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSTtZQUNoQyxDQUFDLENBQUMsT0FBTztZQUNULENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO2tGQVpVLGlCQUFpQjswRkFBakIsaUJBQWlCOztpRkFBakIsaUJBQWlCO2NBSjdCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuQFBpcGUoe1xuICBuYW1lOiAnYWNsTWluaW11bUZvcm1hdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltdW1Gb3JtYXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZGVjaW1hbDogRGVjaW1hbFBpcGU7XG5cbiAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5kZWNpbWFsID0gbmV3IERlY2ltYWxQaXBlKHRyYW5zbGF0ZS5sb2NhbGUpO1xuICB9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGRlY2ltYWxQbGFjZXMgPSAwKSB7XG4gICAgY29uc3QgZGVjaW1hbEZvcm1hdCA9IGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzIHx8IDJ9YDtcbiAgICByZXR1cm4gK3ZhbHVlID4gMCAmJiArdmFsdWUgPCAwLjAxXG4gICAgICA/ICc8MC4wMSdcbiAgICAgIDogdGhpcy5kZWNpbWFsLnRyYW5zZm9ybSh2YWx1ZSwgZGVjaW1hbEZvcm1hdCk/LnJlcGxhY2UoLywvZywgJycpO1xuICB9XG59XG4iXX0=
@@ -1,40 +1,48 @@
1
1
  import { createResourceDefinitions } from '../../api/helpers';
2
- const CRD_GROUP = 'crd.alauda.io';
3
- const AIOPS_GROUP = 'aiops.alauda.io';
4
- const AUTH_GROUP = 'auth.alauda.io';
5
- const COREOS_OPERATOR_GROUP = 'operators.coreos.com';
6
- const APP_GROUP = 'app.alauda.io';
7
- const STORAGE_GROUP = 'storage.k8s.io';
8
- const TKE_PLATFORM_GROUP = 'platform.tkestack.io';
9
- const CLUSTER_API_GROUP = 'cluster.alauda.io';
2
+ export const CRD_API_GROUP = 'crd.alauda.io';
3
+ export const AIOPS_API_GROUP = 'aiops.alauda.io';
4
+ export const AUTH_API_GROUP = 'auth.alauda.io';
5
+ export const COREOS_OPERATOR_API_GROUP = 'operators.coreos.com';
6
+ export const APP_API_GROUP = 'app.alauda.io';
7
+ export const STORAGE_API_GROUP = 'storage.k8s.io';
8
+ export const TKE_PLATFORM_API_GROUP = 'platform.tkestack.io';
9
+ export const CLUSTER_API_GROUP = 'cluster.alauda.io';
10
10
  export const AIT_API_GROUP = 'ait.alauda.io';
11
- export const OAM_GROUP = 'core.oam.dev';
12
- export const ARGOCD_GROUP = 'argoproj.io';
11
+ export const MONITORING_API_GROUP = 'monitoring.coreos.com';
12
+ export const OAM_API_GROUP = 'core.oam.dev';
13
+ export const ARGOCD_API_GROUP = 'argoproj.io';
13
14
  export const MACHINE_API_GROUP = 'machine.alauda.io';
14
- export const VOLUME_SNAPSHOT_GROUP = 'snapshot.storage.k8s.io';
15
+ export const VOLUME_SNAPSHOT_API_GROUP = 'snapshot.storage.k8s.io';
15
16
  export const K8S_CORE_API_GROUP = 'core.kubernetes.io';
16
17
  export const K8S_APP_API_GROUP = 'app.k8s.io';
18
+ export const PRODUCT_API_GROUP = 'product.alauda.io';
19
+ export const INFRASTRUCTURE_API_GROUP = 'infrastructure.alauda.io';
20
+ export const VELERO_API_GROUP = 'velero.io';
21
+ export const RESOURCE_API_GROUP = 'resource.alauda.io';
22
+ export const ETCD_BACKUP_API_GROUP = 'etcdbackup.alauda.io';
23
+ export const CLUSTER_X_K8S_API_GROUP = 'infrastructure.cluster.x-k8s.io';
24
+ export const OPERATOR_API_GROUP = 'operator.alauda.io';
17
25
  // reference: http://confluence.alaudatech.com/pages/viewpage.action?pageId=39338225
18
26
  // FIXME: object destructuring will result `any` type here, why???
19
27
  const _ = createResourceDefinitions({
20
28
  ALAUDA_LOADBALANCER2: {
21
- apiGroup: CRD_GROUP,
29
+ apiGroup: CRD_API_GROUP,
22
30
  type: 'alaudaloadbalancer2',
23
31
  },
24
32
  ALB2: {
25
- apiGroup: CRD_GROUP,
33
+ apiGroup: CRD_API_GROUP,
26
34
  apiVersion: 'v2beta1',
27
35
  type: 'alaudaloadbalancer2',
28
36
  },
29
37
  HELM_REQUEST: {
30
38
  type: 'helmrequests',
31
- apiGroup: APP_GROUP,
39
+ apiGroup: APP_API_GROUP,
32
40
  apiVersion: 'v1alpha1',
33
41
  },
34
42
  // TODO: 只提供云边使用,后续容器平台需要升级到 v1
35
43
  HELM_REQUEST_V1: {
36
44
  type: 'helmrequests',
37
- apiGroup: APP_GROUP,
45
+ apiGroup: APP_API_GROUP,
38
46
  apiVersion: 'v1',
39
47
  },
40
48
  DEPLOYMENT: {
@@ -50,11 +58,11 @@ const _ = createResourceDefinitions({
50
58
  type: 'statefulsets',
51
59
  },
52
60
  FRONTEND: {
53
- apiGroup: CRD_GROUP,
61
+ apiGroup: CRD_API_GROUP,
54
62
  type: 'frontends',
55
63
  },
56
64
  RULE: {
57
- apiGroup: CRD_GROUP,
65
+ apiGroup: CRD_API_GROUP,
58
66
  type: 'rules',
59
67
  },
60
68
  POD: {
@@ -70,7 +78,7 @@ const _ = createResourceDefinitions({
70
78
  type: 'configmaps',
71
79
  },
72
80
  ALERT_TEMPLATE: {
73
- apiGroup: AIOPS_GROUP,
81
+ apiGroup: AIOPS_API_GROUP,
74
82
  apiVersion: 'v1beta1',
75
83
  type: 'alerttemplates',
76
84
  },
@@ -103,7 +111,7 @@ const _ = createResourceDefinitions({
103
111
  type: 'statefulsets',
104
112
  },
105
113
  DOMAIN: {
106
- apiGroup: CRD_GROUP,
114
+ apiGroup: CRD_API_GROUP,
107
115
  apiVersion: 'v2',
108
116
  type: 'domains',
109
117
  },
@@ -128,21 +136,21 @@ const _ = createResourceDefinitions({
128
136
  type: 'horizontalpodautoscalers',
129
137
  },
130
138
  LOG: {
131
- apiGroup: AIOPS_GROUP,
139
+ apiGroup: AIOPS_API_GROUP,
132
140
  apiVersion: 'v1beta1',
133
141
  type: 'logs',
134
142
  },
135
143
  PROJECT: {
136
- apiGroup: AUTH_GROUP,
144
+ apiGroup: AUTH_API_GROUP,
137
145
  type: 'projects',
138
146
  },
139
147
  PROMETHEUS_RULE: {
140
- apiGroup: 'monitoring.coreos.com',
148
+ apiGroup: MONITORING_API_GROUP,
141
149
  apiVersion: 'v1',
142
150
  type: 'prometheusrules',
143
151
  },
144
152
  ALERT_HISTORY: {
145
- apiGroup: AIOPS_GROUP,
153
+ apiGroup: AIOPS_API_GROUP,
146
154
  type: 'alerthistories',
147
155
  },
148
156
  SELF_SUBJECT_ACCESS_REVIEW: {
@@ -150,7 +158,7 @@ const _ = createResourceDefinitions({
150
158
  type: 'selfsubjectaccessreviews',
151
159
  },
152
160
  VIEW: {
153
- apiGroup: AUTH_GROUP,
161
+ apiGroup: AUTH_API_GROUP,
154
162
  type: 'views',
155
163
  },
156
164
  SERVICE: {
@@ -169,7 +177,7 @@ const _ = createResourceDefinitions({
169
177
  },
170
178
  ADVANCED_CRON_JOB: {
171
179
  type: 'advancedcronjobs',
172
- apiGroup: 'operator.alauda.io',
180
+ apiGroup: OPERATOR_API_GROUP,
173
181
  apiVersion: 'v1alpha1',
174
182
  },
175
183
  JOB: {
@@ -203,12 +211,12 @@ const _ = createResourceDefinitions({
203
211
  },
204
212
  CHART_REPO: {
205
213
  type: 'chartrepos',
206
- apiGroup: APP_GROUP,
214
+ apiGroup: APP_API_GROUP,
207
215
  apiVersion: 'v1beta1',
208
216
  },
209
217
  CHART: {
210
218
  type: 'charts',
211
- apiGroup: APP_GROUP,
219
+ apiGroup: APP_API_GROUP,
212
220
  apiVersion: 'v1alpha1',
213
221
  },
214
222
  NETWORK_POLICY: {
@@ -232,27 +240,27 @@ const _ = createResourceDefinitions({
232
240
  type: 'namespaceoverviews',
233
241
  },
234
242
  CSP: {
235
- apiGroup: 'product.alauda.io',
243
+ apiGroup: PRODUCT_API_GROUP,
236
244
  type: 'csps',
237
245
  },
238
246
  RESOURCE_QUOTA: {
239
247
  type: 'resourcequotas',
240
248
  },
241
249
  CLUSTER_NETWORK_POLICY: {
242
- apiGroup: CRD_GROUP,
250
+ apiGroup: CRD_API_GROUP,
243
251
  type: 'clusternetworkpolicies',
244
252
  },
245
253
  PROJECT_QUOTA: {
246
- apiGroup: 'auth.alauda.io',
254
+ apiGroup: AUTH_API_GROUP,
247
255
  apiVersion: 'v1',
248
256
  type: 'projectquotas',
249
257
  },
250
258
  TKE_CLUSTER: {
251
- apiGroup: TKE_PLATFORM_GROUP,
259
+ apiGroup: TKE_PLATFORM_API_GROUP,
252
260
  type: 'clusters',
253
261
  },
254
262
  TKE_MACHINE: {
255
- apiGroup: TKE_PLATFORM_GROUP,
263
+ apiGroup: TKE_PLATFORM_API_GROUP,
256
264
  type: 'machines',
257
265
  },
258
266
  MACHINE: {
@@ -266,7 +274,7 @@ const _ = createResourceDefinitions({
266
274
  type: 'nodegroups',
267
275
  },
268
276
  CLUSTERSERVICEVERSION: {
269
- apiGroup: COREOS_OPERATOR_GROUP,
277
+ apiGroup: COREOS_OPERATOR_API_GROUP,
270
278
  apiVersion: 'v1alpha1',
271
279
  type: 'clusterserviceversions',
272
280
  },
@@ -276,7 +284,7 @@ const _ = createResourceDefinitions({
276
284
  type: 'tenants',
277
285
  },
278
286
  SUBSCRIPTION: {
279
- apiGroup: COREOS_OPERATOR_GROUP,
287
+ apiGroup: COREOS_OPERATOR_API_GROUP,
280
288
  apiVersion: 'v1alpha1',
281
289
  type: 'subscriptions',
282
290
  },
@@ -297,16 +305,16 @@ const _ = createResourceDefinitions({
297
305
  },
298
306
  STORAGE_CLASS: {
299
307
  type: 'storageclasses',
300
- apiGroup: STORAGE_GROUP,
308
+ apiGroup: STORAGE_API_GROUP,
301
309
  },
302
310
  VOLUME_SNAPSHOT_CLASS: {
303
311
  type: 'volumesnapshotclasses',
304
- apiGroup: VOLUME_SNAPSHOT_GROUP,
312
+ apiGroup: VOLUME_SNAPSHOT_API_GROUP,
305
313
  apiVersion: 'v1',
306
314
  },
307
315
  PRODUCT_BASE: {
308
316
  type: 'productbases',
309
- apiGroup: 'product.alauda.io',
317
+ apiGroup: PRODUCT_API_GROUP,
310
318
  apiVersion: 'v1alpha1',
311
319
  },
312
320
  MODULE_INFO: {
@@ -355,33 +363,33 @@ const _ = createResourceDefinitions({
355
363
  },
356
364
  ACCESS_TOKEN_INFO: {
357
365
  type: 'accesstokeninfoes',
358
- apiGroup: AUTH_GROUP,
366
+ apiGroup: AUTH_API_GROUP,
359
367
  },
360
368
  FUNCTION_RESOURCE: {
361
369
  type: 'functionresources',
362
- apiGroup: AUTH_GROUP,
370
+ apiGroup: AUTH_API_GROUP,
363
371
  apiVersion: 'v1beta1',
364
372
  },
365
373
  USER_BINDING: {
366
374
  type: 'userbindings',
367
- apiGroup: AUTH_GROUP,
375
+ apiGroup: AUTH_API_GROUP,
368
376
  apiVersion: 'v1',
369
377
  },
370
378
  USER: {
371
379
  type: 'users',
372
- apiGroup: AUTH_GROUP,
380
+ apiGroup: AUTH_API_GROUP,
373
381
  },
374
382
  GROUP: {
375
383
  type: 'groups',
376
- apiGroup: AUTH_GROUP,
384
+ apiGroup: AUTH_API_GROUP,
377
385
  },
378
386
  PROJECT_MEMBER: {
379
387
  type: 'projectmembers',
380
- apiGroup: AUTH_GROUP,
388
+ apiGroup: AUTH_API_GROUP,
381
389
  },
382
390
  ROLE_TEMPLATE: {
383
391
  type: 'roletemplates',
384
- apiGroup: AUTH_GROUP,
392
+ apiGroup: AUTH_API_GROUP,
385
393
  apiVersion: 'v1beta1',
386
394
  },
387
395
  BATCH_ACTION: {
@@ -394,37 +402,37 @@ const _ = createResourceDefinitions({
394
402
  apiVersion: 'v1',
395
403
  },
396
404
  SERVICE_MONITOR: {
397
- apiGroup: 'monitoring.coreos.com',
405
+ apiGroup: MONITORING_API_GROUP,
398
406
  type: 'servicemonitors',
399
407
  apiVersion: 'v1',
400
408
  },
401
409
  OAM_APPLICATION: {
402
- apiGroup: OAM_GROUP,
410
+ apiGroup: OAM_API_GROUP,
403
411
  apiVersion: 'v1beta1',
404
412
  type: 'applications',
405
413
  },
406
414
  ARGOCD_APPLICATION_SET: {
407
- apiGroup: ARGOCD_GROUP,
415
+ apiGroup: ARGOCD_API_GROUP,
408
416
  apiVersion: 'v1alpha1',
409
417
  type: 'applicationsets',
410
418
  },
411
419
  ARGOCD_APPLICATION: {
412
- apiGroup: ARGOCD_GROUP,
420
+ apiGroup: ARGOCD_API_GROUP,
413
421
  apiVersion: 'v1alpha1',
414
422
  type: 'applications',
415
423
  },
416
424
  OPERATOR_VIEW: {
417
425
  type: 'operatorviews',
418
- apiGroup: APP_GROUP,
426
+ apiGroup: APP_API_GROUP,
419
427
  apiVersion: 'v1beta2',
420
428
  },
421
429
  MODULE_PLUGIN_VIEW: {
422
430
  type: 'modulepluginview',
423
- apiGroup: APP_GROUP,
431
+ apiGroup: APP_API_GROUP,
424
432
  apiVersion: 'v1beta2',
425
433
  },
426
434
  RESOURCE_PATCH: {
427
- apiGroup: 'operator.alauda.io',
435
+ apiGroup: OPERATOR_API_GROUP,
428
436
  apiVersion: 'v1alpha1',
429
437
  type: 'resourcepatches',
430
438
  },
@@ -464,14 +472,183 @@ const _ = createResourceDefinitions({
464
472
  apiVersion: 'v1alpha1',
465
473
  },
466
474
  AUDIT: {
467
- apiGroup: AIOPS_GROUP,
475
+ apiGroup: AIOPS_API_GROUP,
468
476
  type: 'audits',
469
477
  },
478
+ LOG_POLICY: {
479
+ apiGroup: AIOPS_API_GROUP,
480
+ apiVersion: 'v1alpha1',
481
+ type: 'logpolicies',
482
+ },
470
483
  FUNCTION_TEST: {
471
484
  type: 'functiontests',
472
485
  apiGroup: 'testing.alauda.io',
473
486
  apiVersion: 'v1alpha1',
474
487
  },
488
+ PROJECT_BINDING: {
489
+ type: 'projectbindings',
490
+ apiGroup: AUTH_API_GROUP,
491
+ },
492
+ PROBE: {
493
+ type: 'probes',
494
+ apiVersion: 'v1',
495
+ apiGroup: MONITORING_API_GROUP,
496
+ },
497
+ REPORT: {
498
+ type: 'reports',
499
+ apiGroup: 'metering.alauda.io',
500
+ apiVersion: 'v1beta1',
501
+ },
502
+ NAMESPACE_RESOURCE_RATIO: {
503
+ type: 'namespaceresourceratios',
504
+ apiGroup: RESOURCE_API_GROUP,
505
+ },
506
+ CUSTOM_RESOURCE_DEFINITION: {
507
+ type: 'customresourcedefinitions',
508
+ apiGroup: 'apiextensions.k8s.io',
509
+ apiVersion: 'v1beta1',
510
+ },
511
+ LICENSE: {
512
+ type: 'secrets',
513
+ },
514
+ RECORD: {
515
+ type: 'records',
516
+ apiGroup: 'metering.alauda.io',
517
+ apiVersion: 'v1beta1',
518
+ },
519
+ CSI_NODE: {
520
+ apiGroup: 'storage.k8s.io',
521
+ type: 'csinodes',
522
+ },
523
+ TSF: {
524
+ type: 'tsfproducts',
525
+ apiGroup: PRODUCT_API_GROUP,
526
+ apiVersion: 'v1beta1',
527
+ },
528
+ TDSQL: {
529
+ type: 'tdsqldeploys',
530
+ apiVersion: 'v1alpha1',
531
+ apiGroup: PRODUCT_API_GROUP,
532
+ },
533
+ PORTAL: {
534
+ type: '*',
535
+ apiGroup: PRODUCT_API_GROUP,
536
+ },
537
+ NAMESPACE_IMPORT: {
538
+ type: 'namespace-import',
539
+ apiGroup: 'namespace.alauda.io',
540
+ },
541
+ CLUSTER_ADDON_TYPE: {
542
+ apiGroup: TKE_PLATFORM_API_GROUP,
543
+ type: 'clusteraddontypes',
544
+ },
545
+ CLUSTER_CREDENTIAL: {
546
+ apiGroup: TKE_PLATFORM_API_GROUP,
547
+ type: 'clustercredentials',
548
+ },
549
+ CODING: {
550
+ type: 'codings',
551
+ apiGroup: PRODUCT_API_GROUP,
552
+ apiVersion: 'v1',
553
+ },
554
+ TI_MATRIX: {
555
+ type: 'timatrixes',
556
+ apiVersion: 'v1alpha1',
557
+ apiGroup: PRODUCT_API_GROUP,
558
+ },
559
+ SYSTEM_CONFIG: {
560
+ apiGroup: 'alauda.io',
561
+ apiVersion: 'v1',
562
+ type: 'systemconfigs',
563
+ },
564
+ CERTIFICATE: {
565
+ type: 'certificates',
566
+ apiGroup: 'cert-manager.io',
567
+ },
568
+ SECURITY_RULE: {
569
+ type: 'securityrules',
570
+ apiGroup: AIT_API_GROUP,
571
+ apiVersion: 'v1alpha1',
572
+ },
573
+ REGION: {
574
+ apiGroup: INFRASTRUCTURE_API_GROUP,
575
+ apiVersion: 'v1alpha1',
576
+ type: 'regions',
577
+ },
578
+ TOPOLVM_CLUSTER_V2: {
579
+ type: 'topolvmclusters',
580
+ apiGroup: 'topolvm.cybozu.com',
581
+ apiVersion: 'v2',
582
+ },
583
+ BUCKET: {
584
+ apiGroup: 'objectstorage.k8s.io',
585
+ apiVersion: 'v1alpha1',
586
+ type: 'buckets',
587
+ },
588
+ SCHEDULE: {
589
+ apiGroup: VELERO_API_GROUP,
590
+ type: 'schedules',
591
+ },
592
+ BACKUP_STORAGE_LOCATION: {
593
+ apiGroup: VELERO_API_GROUP,
594
+ type: 'backupstoragelocations',
595
+ },
596
+ BACKUP_STORAGE_LOCATION_REPO: {
597
+ apiGroup: 'ait.velero.io',
598
+ type: 'backupstoragelocationrepoes',
599
+ },
600
+ BACKUP: {
601
+ apiGroup: VELERO_API_GROUP,
602
+ type: 'backups',
603
+ },
604
+ DELETE_BACKUP_REQUEST: {
605
+ apiGroup: VELERO_API_GROUP,
606
+ type: 'deletebackuprequests',
607
+ },
608
+ ETCD_BACKUP_RECORD: {
609
+ apiGroup: ETCD_BACKUP_API_GROUP,
610
+ apiVersion: 'v1alpha1',
611
+ type: 'etcdbackuprecords',
612
+ },
613
+ RESTORE: {
614
+ apiGroup: VELERO_API_GROUP,
615
+ apiVersion: 'v1',
616
+ type: 'restores',
617
+ },
618
+ RAW_DEVICE: {
619
+ apiGroup: 'nativestor.alauda.io',
620
+ type: 'rawdevices',
621
+ },
622
+ APP_RELEASES: {
623
+ apiGroup: OPERATOR_API_GROUP,
624
+ apiVersion: 'v1alpha1',
625
+ type: 'appreleases',
626
+ },
627
+ NOTIFICATION_TEMPLATE: {
628
+ apiGroup: AIT_API_GROUP,
629
+ apiVersion: 'v1beta1',
630
+ type: 'notificationtemplates',
631
+ },
632
+ NOTIFICATION_GROUP: {
633
+ apiGroup: AIT_API_GROUP,
634
+ apiVersion: 'v1beta1',
635
+ type: 'notificationgroups',
636
+ },
637
+ NOTIFICATION: {
638
+ apiGroup: AIT_API_GROUP,
639
+ apiVersion: 'v1beta1',
640
+ type: 'notifications',
641
+ },
642
+ TUNNEL_CLUSTER: {
643
+ type: 'tunnelclusters',
644
+ apiVersion: 'v1beta1',
645
+ apiGroup: CLUSTER_X_K8S_API_GROUP,
646
+ },
647
+ K8S_CLUSTER: {
648
+ type: 'clusters',
649
+ apiGroup: 'cluster.x-k8s.io',
650
+ apiVersion: 'v1beta1',
651
+ },
475
652
  });
476
653
  export const COMMON_RESOURCE_DEFINITIONS = _.RESOURCE_DEFINITIONS;
477
654
  export const RESOURCE_TYPES = _.RESOURCE_TYPES;
@@ -488,4 +665,4 @@ export const ServiceTypeMeta = {
488
665
  apiVersion: getYamlApiVersion(RESOURCE_TYPES.SERVICE),
489
666
  kind: 'Service',
490
667
  };
491
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS90eXBlcy9yZXNvdXJjZS1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUU5QyxvRkFBb0Y7QUFDcEYsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxHQUFHLHlCQUF5QixDQUFDO0lBQ2xDLG9CQUFvQixFQUFFO1FBQ3BCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLElBQUksRUFBRSxxQkFBcUI7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QixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELG9CQUFvQixFQUFFO1FBQ3BCLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsUUFBUSxFQUFFLGFBQWE7UUFDdkIsVUFBVSxFQUFFLFVBQVU7S0FDdkI7SUFDRCxLQUFLLEVBQUU7UUFDTCxRQUFRLEVBQUUsV0FBVztRQUNyQixJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsSUFBSSxFQUFFLGVBQWU7UUFDckIsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixVQUFVLEVBQUUsVUFBVTtLQUN2QjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUM7QUFJckQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFhO0lBQ25DLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQ3pELElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWE7SUFDdEMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7SUFDekQsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixVQUFVLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztJQUNyRCxJQUFJLEVBQUUsU0FBUztDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXNvdXJjZURlZmluaXRpb25zIH0gZnJvbSAnLi4vLi4vYXBpL2hlbHBlcnMnO1xuXG5pbXBvcnQgeyBUeXBlTWV0YSB9IGZyb20gJy4vazhzL3B1YmxpYy1hcGknO1xuXG5jb25zdCBDUkRfR1JPVVAgPSAnY3JkLmFsYXVkYS5pbyc7XG5jb25zdCBBSU9QU19HUk9VUCA9ICdhaW9wcy5hbGF1ZGEuaW8nO1xuY29uc3QgQVVUSF9HUk9VUCA9ICdhdXRoLmFsYXVkYS5pbyc7XG5jb25zdCBDT1JFT1NfT1BFUkFUT1JfR1JPVVAgPSAnb3BlcmF0b3JzLmNvcmVvcy5jb20nO1xuY29uc3QgQVBQX0dST1VQID0gJ2FwcC5hbGF1ZGEuaW8nO1xuY29uc3QgU1RPUkFHRV9HUk9VUCA9ICdzdG9yYWdlLms4cy5pbyc7XG5jb25zdCBUS0VfUExBVEZPUk1fR1JPVVAgPSAncGxhdGZvcm0udGtlc3RhY2suaW8nO1xuY29uc3QgQ0xVU1RFUl9BUElfR1JPVVAgPSAnY2x1c3Rlci5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IEFJVF9BUElfR1JPVVAgPSAnYWl0LmFsYXVkYS5pbyc7XG5cbmV4cG9ydCBjb25zdCBPQU1fR1JPVVAgPSAnY29yZS5vYW0uZGV2JztcblxuZXhwb3J0IGNvbnN0IEFSR09DRF9HUk9VUCA9ICdhcmdvcHJvai5pbyc7XG5leHBvcnQgY29uc3QgTUFDSElORV9BUElfR1JPVVAgPSAnbWFjaGluZS5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IFZPTFVNRV9TTkFQU0hPVF9HUk9VUCA9ICdzbmFwc2hvdC5zdG9yYWdlLms4cy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0NPUkVfQVBJX0dST1VQID0gJ2NvcmUua3ViZXJuZXRlcy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0FQUF9BUElfR1JPVVAgPSAnYXBwLms4cy5pbyc7XG5cbi8vIHJlZmVyZW5jZTogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhdGVjaC5jb20vcGFnZXMvdmlld3BhZ2UuYWN0aW9uP3BhZ2VJZD0zOTMzODIyNVxuLy8gRklYTUU6IG9iamVjdCBkZXN0cnVjdHVyaW5nIHdpbGwgcmVzdWx0IGBhbnlgIHR5cGUgaGVyZSwgd2h5Pz8/XG5jb25zdCBfID0gY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyh7XG4gIEFMQVVEQV9MT0FEQkFMQU5DRVIyOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEFMQjI6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MmJldGExJyxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEhFTE1fUkVRVUVTVDoge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgLy8gVE9ETzog5Y+q5o+Q5L6b5LqR6L655L2/55So77yM5ZCO57ut5a655Zmo5bmz5Y+w6ZyA6KaB5Y2H57qn5YiwIHYxXG4gIEhFTE1fUkVRVUVTVF9WMToge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgREVQTE9ZTUVOVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RlcGxveW1lbnRzJyxcbiAgfSxcbiAgREFFTU9OU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAnZGFlbW9uc2V0cycsXG4gIH0sXG4gIFNUQVRFRlVMU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAnc3RhdGVmdWxzZXRzJyxcbiAgfSxcbiAgRlJPTlRFTkQ6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIHR5cGU6ICdmcm9udGVuZHMnLFxuICB9LFxuICBSVUxFOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAncnVsZXMnLFxuICB9LFxuICBQT0Q6IHtcbiAgICB0eXBlOiAncG9kcycsXG4gIH0sXG4gIFBPRFNfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL2V4ZWMnLFxuICB9LFxuICBQT0RTX1JPT1RfRVhFQzoge1xuICAgIHR5cGU6ICdwb2RzL3Jvb3QtZXhlYycsXG4gIH0sXG4gIENPTkZJR19NQVA6IHtcbiAgICB0eXBlOiAnY29uZmlnbWFwcycsXG4gIH0sXG4gIEFMRVJUX1RFTVBMQVRFOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYWxlcnR0ZW1wbGF0ZXMnLFxuICB9LFxuICBBUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBLOFNfQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG4gIEFQUExJQ0FUSU9OX0hJU1RPUlk6IHtcbiAgICBhcGlHcm91cDogSzhTX0FQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbmhpc3RvcmllcycsXG4gIH0sXG4gIENMVVNURVI6IHtcbiAgICBhcGlHcm91cDogJ2NsdXN0ZXJyZWdpc3RyeS5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2NsdXN0ZXJzJyxcbiAgfSxcbiAgQ0xVU1RFUl9WSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdjbHVzdGVyLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcnZpZXdzJyxcbiAgfSxcbiAgREFFTU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RhZW1vbnNldHMnLFxuICB9LFxuICBTVEFURUZVTF9TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9LFxuICBET01BSU46IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ2RvbWFpbnMnLFxuICB9LFxuICBGRUFUVVJFOiB7XG4gICAgYXBpR3JvdXA6ICdpbmZyYXN0cnVjdHVyZS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2ZlYXR1cmVzJyxcbiAgfSxcbiAgQUxBVURBX0ZFQVRVUkVfR0FURToge1xuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdhbGF1ZGFmZWF0dXJlZ2F0ZXMnLFxuICB9LFxuICBDTFVTVEVSX0FMQVVEQV9GRUFUVVJFX0dBVEU6IHtcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcmFsYXVkYWZlYXR1cmVnYXRlcycsXG4gIH0sXG4gIEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVI6IHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9LFxuICBMT0c6IHtcbiAgICBhcGlHcm91cDogQUlPUFNfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdsb2dzJyxcbiAgfSxcbiAgUFJPSkVDVDoge1xuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIHR5cGU6ICdwcm9qZWN0cycsXG4gIH0sXG4gIFBST01FVEhFVVNfUlVMRToge1xuICAgIGFwaUdyb3VwOiAnbW9uaXRvcmluZy5jb3Jlb3MuY29tJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwcm9tZXRoZXVzcnVsZXMnLFxuICB9LFxuICBBTEVSVF9ISVNUT1JZOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIHR5cGU6ICdhbGVydGhpc3RvcmllcycsXG4gIH0sXG4gIFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgdHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0sXG4gIFZJRVc6IHtcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICB0eXBlOiAndmlld3MnLFxuICB9LFxuICBTRVJWSUNFOiB7XG4gICAgdHlwZTogJ3NlcnZpY2VzJyxcbiAgfSxcbiAgTElNSVRfUkFOR0U6IHtcbiAgICB0eXBlOiAnbGltaXRyYW5nZXMnLFxuICB9LFxuICBTRUNSRVQ6IHtcbiAgICB0eXBlOiAnc2VjcmV0cycsXG4gIH0sXG4gIENST05fSk9COiB7XG4gICAgYXBpR3JvdXA6ICdiYXRjaCcsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY3JvbmpvYnMnLFxuICB9LFxuICBBRFZBTkNFRF9DUk9OX0pPQjoge1xuICAgIHR5cGU6ICdhZHZhbmNlZGNyb25qb2JzJyxcbiAgICBhcGlHcm91cDogJ29wZXJhdG9yLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgSk9COiB7XG4gICAgYXBpR3JvdXA6ICdiYXRjaCcsXG4gICAgdHlwZTogJ2pvYnMnLFxuICB9LFxuICBJTkdSRVNTOiB7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgdHlwZTogJ2luZ3Jlc3NlcycsXG4gIH0sXG4gIFBFUlNJU1RFTlRfVk9MVU1FX0NMQUlNOiB7XG4gICAgdHlwZTogJ3BlcnNpc3RlbnR2b2x1bWVjbGFpbXMnLFxuICB9LFxuICBOQU1FU1BBQ0U6IHtcbiAgICB0eXBlOiAnbmFtZXNwYWNlcycsXG4gIH0sXG4gIE5PREU6IHtcbiAgICB0eXBlOiAnbm9kZXMnLFxuICB9LFxuICBOT0RFX01FVFJJQ1M6IHtcbiAgICBhcGlHcm91cDogJ21ldHJpY3MuazhzLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ25vZGVzJyxcbiAgfSxcbiAgUFY6IHtcbiAgICB0eXBlOiAncGVyc2lzdGVudHZvbHVtZXMnLFxuICB9LFxuICBDUkQ6IHtcbiAgICBhcGlHcm91cDogJ2FwaWV4dGVuc2lvbnMuazhzLmlvJyxcbiAgICB0eXBlOiAnY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucycsXG4gIH0sXG4gIENIQVJUX1JFUE86IHtcbiAgICB0eXBlOiAnY2hhcnRyZXBvcycsXG4gICAgYXBpR3JvdXA6IEFQUF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gIH0sXG4gIENIQVJUOiB7XG4gICAgdHlwZTogJ2NoYXJ0cycsXG4gICAgYXBpR3JvdXA6IEFQUF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBORVRXT1JLX1BPTElDWToge1xuICAgIGFwaUdyb3VwOiAnbmV0d29ya2luZy5rOHMuaW8nLFxuICAgIHR5cGU6ICduZXR3b3JrcG9saWNpZXMnLFxuICB9LFxuICBTRVJWSUNFX0FDQ09VTlQ6IHtcbiAgICB0eXBlOiAnc2VydmljZWFjY291bnRzJyxcbiAgfSxcbiAgUkVQTElDQV9TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdyZXBsaWNhc2V0cycsXG4gIH0sXG4gIFBPRF9TRUNVUklUWV9QT0xJQ1k6IHtcbiAgICBhcGlHcm91cDogJ3BvbGljeScsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdwb2RzZWN1cml0eXBvbGljaWVzJyxcbiAgfSxcbiAgTkFNRVNQQUNFX09WRVJWSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdrOHMuaW8nLFxuICAgIHR5cGU6ICduYW1lc3BhY2VvdmVydmlld3MnLFxuICB9LFxuICBDU1A6IHtcbiAgICBhcGlHcm91cDogJ3Byb2R1Y3QuYWxhdWRhLmlvJyxcbiAgICB0eXBlOiAnY3NwcycsXG4gIH0sXG4gIFJFU09VUkNFX1FVT1RBOiB7XG4gICAgdHlwZTogJ3Jlc291cmNlcXVvdGFzJyxcbiAgfSxcbiAgQ0xVU1RFUl9ORVRXT1JLX1BPTElDWToge1xuICAgIGFwaUdyb3VwOiBDUkRfR1JPVVAsXG4gICAgdHlwZTogJ2NsdXN0ZXJuZXR3b3JrcG9saWNpZXMnLFxuICB9LFxuICBQUk9KRUNUX1FVT1RBOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRoLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAncHJvamVjdHF1b3RhcycsXG4gIH0sXG4gIFRLRV9DTFVTVEVSOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9HUk9VUCxcbiAgICB0eXBlOiAnY2x1c3RlcnMnLFxuICB9LFxuICBUS0VfTUFDSElORToge1xuICAgIGFwaUdyb3VwOiBUS0VfUExBVEZPUk1fR1JPVVAsXG4gICAgdHlwZTogJ21hY2hpbmVzJyxcbiAgfSxcbiAgTUFDSElORToge1xuICAgIGFwaUdyb3VwOiBNQUNISU5FX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ21hY2hpbmVzJyxcbiAgfSxcbiAgTk9ERV9HUk9VUDoge1xuICAgIGFwaUdyb3VwOiAnc2VjdXJpdHkuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ25vZGVncm91cHMnLFxuICB9LFxuICBDTFVTVEVSU0VSVklDRVZFUlNJT046IHtcbiAgICBhcGlHcm91cDogQ09SRU9TX09QRVJBVE9SX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2NsdXN0ZXJzZXJ2aWNldmVyc2lvbnMnLFxuICB9LFxuICBURU5BTlQ6IHtcbiAgICBhcGlHcm91cDogJ21pbmlvLm1pbi5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YyJyxcbiAgICB0eXBlOiAndGVuYW50cycsXG4gIH0sXG4gIFNVQlNDUklQVElPTjoge1xuICAgIGFwaUdyb3VwOiBDT1JFT1NfT1BFUkFUT1JfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnc3Vic2NyaXB0aW9ucycsXG4gIH0sXG4gIFBBQ0tBR0VfTUFOSUZFU1Q6IHtcbiAgICBhcGlHcm91cDogJ3BhY2thZ2VzLm9wZXJhdG9ycy5jb3Jlb3MuY29tJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdwYWNrYWdlbWFuaWZlc3RzJyxcbiAgfSxcbiAgQlVDS0VUX0NMQVNTOiB7XG4gICAgYXBpR3JvdXA6ICdvYmplY3RzdG9yYWdlLms4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnYnVja2V0Y2xhc3NlcycsXG4gIH0sXG4gIFBST0RVQ1RfQ09ORklHOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3Rjb25maWdzJyxcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgU1RPUkFHRV9DTEFTUzoge1xuICAgIHR5cGU6ICdzdG9yYWdlY2xhc3NlcycsXG4gICAgYXBpR3JvdXA6IFNUT1JBR0VfR1JPVVAsXG4gIH0sXG4gIFZPTFVNRV9TTkFQU0hPVF9DTEFTUzoge1xuICAgIHR5cGU6ICd2b2x1bWVzbmFwc2hvdGNsYXNzZXMnLFxuICAgIGFwaUdyb3VwOiBWT0xVTUVfU05BUFNIT1RfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgUFJPRFVDVF9CQVNFOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3RiYXNlcycsXG4gICAgYXBpR3JvdXA6ICdwcm9kdWN0LmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgTU9EVUxFX0lORk86IHtcbiAgICB0eXBlOiAnbW9kdWxlaW5mb2VzJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgfSxcbiAgTU9EVUxFX0NPTkZJRzoge1xuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdtb2R1bGVjb25maWdzJyxcbiAgfSxcbiAgTU9EVUxFX1BMVUdJTjoge1xuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdtb2R1bGVwbHVnaW5zJyxcbiAgfSxcbiAgUFJPRFVDVF9FTlRSWToge1xuICAgIHR5cGU6ICdwcm9kdWN0ZW50cmllcycsXG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFBST0RVQ1RfRE9DU19FTlRSWToge1xuICAgIHR5cGU6ICdwcm9kdWN0ZG9jc2VudHJpZXMnLFxuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBTRVJWSUNFTUVTSF9HUk9VUDoge1xuICAgIGFwaUdyb3VwOiAnYXNtLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnc2VydmljZW1lc2hncm91cHMnLFxuICB9LFxuICBDTFVTVEVSX01PRFVMRToge1xuICAgIHR5cGU6ICdjbHVzdGVybW9kdWxlcycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICBhcGlHcm91cDogQ0xVU1RFUl9BUElfR1JPVVAsXG4gIH0sXG4gIFVTRVJfU0VDVVJJVFlfUE9MSUNZOiB7XG4gICAgdHlwZTogJ3VzZXJwb2xpY2llcycsXG4gICAgYXBpR3JvdXA6ICdzZWN1cml0eS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIENPTk5FQ1RPUjoge1xuICAgIHR5cGU6ICdjb25uZWN0b3JzJyxcbiAgICBhcGlHcm91cDogJ2RleC5jb3Jlb3MuY29tJyxcbiAgfSxcbiAgQUNDRVNTX1RPS0VOX0lORk86IHtcbiAgICB0eXBlOiAnYWNjZXNzdG9rZW5pbmZvZXMnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICB9LFxuICBGVU5DVElPTl9SRVNPVVJDRToge1xuICAgIHR5cGU6ICdmdW5jdGlvbnJlc291cmNlcycsXG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICB9LFxuICBVU0VSX0JJTkRJTkc6IHtcbiAgICB0eXBlOiAndXNlcmJpbmRpbmdzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBVU0VSOiB7XG4gICAgdHlwZTogJ3VzZXJzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgfSxcbiAgR1JPVVA6IHtcbiAgICB0eXBlOiAnZ3JvdXBzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgfSxcbiAgUFJPSkVDVF9NRU1CRVI6IHtcbiAgICB0eXBlOiAncHJvamVjdG1lbWJlcnMnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICB9LFxuICBST0xFX1RFTVBMQVRFOiB7XG4gICAgdHlwZTogJ3JvbGV0ZW1wbGF0ZXMnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgQkFUQ0hfQUNUSU9OOiB7XG4gICAgYXBpR3JvdXA6ICdiYXRjaC5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2JhdGNoYWN0aW9ucycsXG4gIH0sXG4gIEVWRU5UOiB7XG4gICAgdHlwZTogJ2V2ZW50cycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgU0VSVklDRV9NT05JVE9SOiB7XG4gICAgYXBpR3JvdXA6ICdtb25pdG9yaW5nLmNvcmVvcy5jb20nLFxuICAgIHR5cGU6ICdzZXJ2aWNlbW9uaXRvcnMnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIE9BTV9BUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBPQU1fR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnMnLFxuICB9LFxuICBBUkdPQ0RfQVBQTElDQVRJT05fU0VUOiB7XG4gICAgYXBpR3JvdXA6IEFSR09DRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnNldHMnLFxuICB9LFxuICBBUkdPQ0RfQVBQTElDQVRJT046IHtcbiAgICBhcGlHcm91cDogQVJHT0NEX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG4gIE9QRVJBVE9SX1ZJRVc6IHtcbiAgICB0eXBlOiAnb3BlcmF0b3J2aWV3cycsXG4gICAgYXBpR3JvdXA6IEFQUF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMicsXG4gIH0sXG4gIE1PRFVMRV9QTFVHSU5fVklFVzoge1xuICAgIHR5cGU6ICdtb2R1bGVwbHVnaW52aWV3JyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGEyJyxcbiAgfSxcbiAgUkVTT1VSQ0VfUEFUQ0g6IHtcbiAgICBhcGlHcm91cDogJ29wZXJhdG9yLmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAncmVzb3VyY2VwYXRjaGVzJyxcbiAgfSxcbiAgQ09NUE9ORU5UX1BST0JFUjoge1xuICAgIHR5cGU6ICdjb21wb25lbnRwcm9iZXJzJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBJTlNQRUNUSU9OOiB7XG4gICAgdHlwZTogJ2luc3BlY3Rpb25zJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBJTlNQRUNUSU9OX0RFVEFJTFM6IHtcbiAgICB0eXBlOiAnaW5zcGVjdGlvbmRldGFpbHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIElOU1BFQ1RJT05fSVRFTVM6IHtcbiAgICB0eXBlOiAnaW5zcGVjdGlvbml0ZW1zJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBNRVNTQUdFOiB7XG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnbWVzc2FnZXMnLFxuICB9LFxuICBNT0RVTEVfSEVBTFRIOiB7XG4gICAgdHlwZTogJ21vZHVsZWhlYWx0aHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIE1PRFVMRV9IRUFMVEhfUkVDT1JEOiB7XG4gICAgdHlwZTogJ21vZHVsZWhlYWx0aHJlY29yZHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIEFVRElUOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIHR5cGU6ICdhdWRpdHMnLFxuICB9LFxuICBGVU5DVElPTl9URVNUOiB7XG4gICAgdHlwZTogJ2Z1bmN0aW9udGVzdHMnLFxuICAgIGFwaUdyb3VwOiAndGVzdGluZy5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9SRVNPVVJDRV9ERUZJTklUSU9OUyA9IF8uUkVTT1VSQ0VfREVGSU5JVElPTlM7XG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfVFlQRVMgPSBfLlJFU09VUkNFX1RZUEVTO1xuZXhwb3J0IGNvbnN0IGdldFlhbWxBcGlWZXJzaW9uID0gXy5nZXRZYW1sQXBpVmVyc2lvbjtcblxuZXhwb3J0IHR5cGUgUmVzb3VyY2VUeXBlID0ga2V5b2YgdHlwZW9mIFJFU09VUkNFX1RZUEVTO1xuXG5leHBvcnQgY29uc3QgTWFjaGluZU1ldGE6IFR5cGVNZXRhID0ge1xuICBhcGlWZXJzaW9uOiBnZXRZYW1sQXBpVmVyc2lvbihSRVNPVVJDRV9UWVBFUy5US0VfTUFDSElORSksXG4gIGtpbmQ6ICdNYWNoaW5lJyxcbn07XG5cbmV4cG9ydCBjb25zdCBUS0VDbHVzdGVyTWV0YTogVHlwZU1ldGEgPSB7XG4gIGFwaVZlcnNpb246IGdldFlhbWxBcGlWZXJzaW9uKFJFU09VUkNFX1RZUEVTLlRLRV9DTFVTVEVSKSxcbiAga2luZDogJ0NsdXN0ZXInLFxufTtcblxuZXhwb3J0IGNvbnN0IFNlcnZpY2VUeXBlTWV0YSA9IHtcbiAgYXBpVmVyc2lvbjogZ2V0WWFtbEFwaVZlcnNpb24oUkVTT1VSQ0VfVFlQRVMuU0VSVklDRSksXG4gIGtpbmQ6ICdTZXJ2aWNlJyxcbn0gYXMgY29uc3Q7XG4iXX0=
668
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS90eXBlcy9yZXNvdXJjZS1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsc0JBQXNCLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQzdDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlB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Q0FBQyxDQUFDLG9CQUFvQixDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztBQUlyRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWE7SUFDbkMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7SUFDekQsSUFBSSxFQUFFLFNBQVM7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBYTtJQUN0QyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUN6RCxJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO0lBQ3JELElBQUksRUFBRSxTQUFTO0NBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMgfSBmcm9tICcuLi8uLi9hcGkvaGVscGVycyc7XG5cbmltcG9ydCB7IFR5cGVNZXRhIH0gZnJvbSAnLi9rOHMvcHVibGljLWFwaSc7XG5cbmV4cG9ydCBjb25zdCBDUkRfQVBJX0dST1VQID0gJ2NyZC5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IEFJT1BTX0FQSV9HUk9VUCA9ICdhaW9wcy5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IEFVVEhfQVBJX0dST1VQID0gJ2F1dGguYWxhdWRhLmlvJztcbmV4cG9ydCBjb25zdCBDT1JFT1NfT1BFUkFUT1JfQVBJX0dST1VQID0gJ29wZXJhdG9ycy5jb3Jlb3MuY29tJztcbmV4cG9ydCBjb25zdCBBUFBfQVBJX0dST1VQID0gJ2FwcC5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IFNUT1JBR0VfQVBJX0dST1VQID0gJ3N0b3JhZ2UuazhzLmlvJztcbmV4cG9ydCBjb25zdCBUS0VfUExBVEZPUk1fQVBJX0dST1VQID0gJ3BsYXRmb3JtLnRrZXN0YWNrLmlvJztcbmV4cG9ydCBjb25zdCBDTFVTVEVSX0FQSV9HUk9VUCA9ICdjbHVzdGVyLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgQUlUX0FQSV9HUk9VUCA9ICdhaXQuYWxhdWRhLmlvJztcbmV4cG9ydCBjb25zdCBNT05JVE9SSU5HX0FQSV9HUk9VUCA9ICdtb25pdG9yaW5nLmNvcmVvcy5jb20nO1xuZXhwb3J0IGNvbnN0IE9BTV9BUElfR1JPVVAgPSAnY29yZS5vYW0uZGV2JztcbmV4cG9ydCBjb25zdCBBUkdPQ0RfQVBJX0dST1VQID0gJ2FyZ29wcm9qLmlvJztcbmV4cG9ydCBjb25zdCBNQUNISU5FX0FQSV9HUk9VUCA9ICdtYWNoaW5lLmFsYXVkYS5pbyc7XG5leHBvcnQgY29uc3QgVk9MVU1FX1NOQVBTSE9UX0FQSV9HUk9VUCA9ICdzbmFwc2hvdC5zdG9yYWdlLms4cy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0NPUkVfQVBJX0dST1VQID0gJ2NvcmUua3ViZXJuZXRlcy5pbyc7XG5leHBvcnQgY29uc3QgSzhTX0FQUF9BUElfR1JPVVAgPSAnYXBwLms4cy5pbyc7XG5leHBvcnQgY29uc3QgUFJPRFVDVF9BUElfR1JPVVAgPSAncHJvZHVjdC5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IElORlJBU1RSVUNUVVJFX0FQSV9HUk9VUCA9ICdpbmZyYXN0cnVjdHVyZS5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IFZFTEVST19BUElfR1JPVVAgPSAndmVsZXJvLmlvJztcbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9BUElfR1JPVVAgPSAncmVzb3VyY2UuYWxhdWRhLmlvJztcbmV4cG9ydCBjb25zdCBFVENEX0JBQ0tVUF9BUElfR1JPVVAgPSAnZXRjZGJhY2t1cC5hbGF1ZGEuaW8nO1xuZXhwb3J0IGNvbnN0IENMVVNURVJfWF9LOFNfQVBJX0dST1VQID0gJ2luZnJhc3RydWN0dXJlLmNsdXN0ZXIueC1rOHMuaW8nO1xuZXhwb3J0IGNvbnN0IE9QRVJBVE9SX0FQSV9HUk9VUCA9ICdvcGVyYXRvci5hbGF1ZGEuaW8nO1xuXG4vLyByZWZlcmVuY2U6IGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MzkzMzgyMjVcbi8vIEZJWE1FOiBvYmplY3QgZGVzdHJ1Y3R1cmluZyB3aWxsIHJlc3VsdCBgYW55YCB0eXBlIGhlcmUsIHdoeT8/P1xuY29uc3QgXyA9IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMoe1xuICBBTEFVREFfTE9BREJBTEFOQ0VSMjoge1xuICAgIGFwaUdyb3VwOiBDUkRfQVBJX0dST1VQLFxuICAgIHR5cGU6ICdhbGF1ZGFsb2FkYmFsYW5jZXIyJyxcbiAgfSxcbiAgQUxCMjoge1xuICAgIGFwaUdyb3VwOiBDUkRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MmJldGExJyxcbiAgICB0eXBlOiAnYWxhdWRhbG9hZGJhbGFuY2VyMicsXG4gIH0sXG4gIEhFTE1fUkVRVUVTVDoge1xuICAgIHR5cGU6ICdoZWxtcmVxdWVzdHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIC8vIFRPRE86IOWPquaPkOS+m+S6kei+ueS9v+eUqO+8jOWQjue7reWuueWZqOW5s+WPsOmcgOimgeWNh+e6p+WIsCB2MVxuICBIRUxNX1JFUVVFU1RfVjE6IHtcbiAgICB0eXBlOiAnaGVsbXJlcXVlc3RzJyxcbiAgICBhcGlHcm91cDogQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBERVBMT1lNRU5UOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAnZGVwbG95bWVudHMnLFxuICB9LFxuICBEQUVNT05TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdkYWVtb25zZXRzJyxcbiAgfSxcbiAgU1RBVEVGVUxTRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9LFxuICBGUk9OVEVORDoge1xuICAgIGFwaUdyb3VwOiBDUkRfQVBJX0dST1VQLFxuICAgIHR5cGU6ICdmcm9udGVuZHMnLFxuICB9LFxuICBSVUxFOiB7XG4gICAgYXBpR3JvdXA6IENSRF9BUElfR1JPVVAsXG4gICAgdHlwZTogJ3J1bGVzJyxcbiAgfSxcbiAgUE9EOiB7XG4gICAgdHlwZTogJ3BvZHMnLFxuICB9LFxuICBQT0RTX0VYRUM6IHtcbiAgICB0eXBlOiAncG9kcy9leGVjJyxcbiAgfSxcbiAgUE9EU19ST09UX0VYRUM6IHtcbiAgICB0eXBlOiAncG9kcy9yb290LWV4ZWMnLFxuICB9LFxuICBDT05GSUdfTUFQOiB7XG4gICAgdHlwZTogJ2NvbmZpZ21hcHMnLFxuICB9LFxuICBBTEVSVF9URU1QTEFURToge1xuICAgIGFwaUdyb3VwOiBBSU9QU19BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhbGVydHRlbXBsYXRlcycsXG4gIH0sXG4gIEFQUExJQ0FUSU9OOiB7XG4gICAgYXBpR3JvdXA6IEs4U19BUFBfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zJyxcbiAgfSxcbiAgQVBQTElDQVRJT05fSElTVE9SWToge1xuICAgIGFwaUdyb3VwOiBLOFNfQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9uaGlzdG9yaWVzJyxcbiAgfSxcbiAgQ0xVU1RFUjoge1xuICAgIGFwaUdyb3VwOiAnY2x1c3RlcnJlZ2lzdHJ5Lms4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnY2x1c3RlcnMnLFxuICB9LFxuICBDTFVTVEVSX1ZJRVc6IHtcbiAgICBhcGlHcm91cDogJ2NsdXN0ZXIuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdjbHVzdGVydmlld3MnLFxuICB9LFxuICBEQUVNT05fU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAnZGFlbW9uc2V0cycsXG4gIH0sXG4gIFNUQVRFRlVMX1NFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ3N0YXRlZnVsc2V0cycsXG4gIH0sXG4gIERPTUFJTjoge1xuICAgIGFwaUdyb3VwOiBDUkRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ2RvbWFpbnMnLFxuICB9LFxuICBGRUFUVVJFOiB7XG4gICAgYXBpR3JvdXA6ICdpbmZyYXN0cnVjdHVyZS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2ZlYXR1cmVzJyxcbiAgfSxcbiAgQUxBVURBX0ZFQVRVUkVfR0FURToge1xuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIHR5cGU6ICdhbGF1ZGFmZWF0dXJlZ2F0ZXMnLFxuICB9LFxuICBDTFVTVEVSX0FMQVVEQV9GRUFUVVJFX0dBVEU6IHtcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnY2x1c3RlcmFsYXVkYWZlYXR1cmVnYXRlcycsXG4gIH0sXG4gIEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVI6IHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9LFxuICBMT0c6IHtcbiAgICBhcGlHcm91cDogQUlPUFNfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbG9ncycsXG4gIH0sXG4gIFBST0pFQ1Q6IHtcbiAgICBhcGlHcm91cDogQVVUSF9BUElfR1JPVVAsXG4gICAgdHlwZTogJ3Byb2plY3RzJyxcbiAgfSxcbiAgUFJPTUVUSEVVU19SVUxFOiB7XG4gICAgYXBpR3JvdXA6IE1PTklUT1JJTkdfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3Byb21ldGhldXNydWxlcycsXG4gIH0sXG4gIEFMRVJUX0hJU1RPUlk6IHtcbiAgICBhcGlHcm91cDogQUlPUFNfQVBJX0dST1VQLFxuICAgIHR5cGU6ICdhbGVydGhpc3RvcmllcycsXG4gIH0sXG4gIFNFTEZfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgdHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0sXG4gIFZJRVc6IHtcbiAgICBhcGlHcm91cDogQVVUSF9BUElfR1JPVVAsXG4gICAgdHlwZTogJ3ZpZXdzJyxcbiAgfSxcbiAgU0VSVklDRToge1xuICAgIHR5cGU6ICdzZXJ2aWNlcycsXG4gIH0sXG4gIExJTUlUX1JBTkdFOiB7XG4gICAgdHlwZTogJ2xpbWl0cmFuZ2VzJyxcbiAgfSxcbiAgU0VDUkVUOiB7XG4gICAgdHlwZTogJ3NlY3JldHMnLFxuICB9LFxuICBDUk9OX0pPQjoge1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ2Nyb25qb2JzJyxcbiAgfSxcbiAgQURWQU5DRURfQ1JPTl9KT0I6IHtcbiAgICB0eXBlOiAnYWR2YW5jZWRjcm9uam9icycsXG4gICAgYXBpR3JvdXA6IE9QRVJBVE9SX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBKT0I6IHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICB0eXBlOiAnam9icycsXG4gIH0sXG4gIElOR1JFU1M6IHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICB0eXBlOiAnaW5ncmVzc2VzJyxcbiAgfSxcbiAgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU06IHtcbiAgICB0eXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0sXG4gIE5BTUVTUEFDRToge1xuICAgIHR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSxcbiAgTk9ERToge1xuICAgIHR5cGU6ICdub2RlcycsXG4gIH0sXG4gIE5PREVfTUVUUklDUzoge1xuICAgIGFwaUdyb3VwOiAnbWV0cmljcy5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm9kZXMnLFxuICB9LFxuICBQVjoge1xuICAgIHR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lcycsXG4gIH0sXG4gIENSRDoge1xuICAgIGFwaUdyb3VwOiAnYXBpZXh0ZW5zaW9ucy5rOHMuaW8nLFxuICAgIHR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSxcbiAgQ0hBUlRfUkVQTzoge1xuICAgIHR5cGU6ICdjaGFydHJlcG9zJyxcbiAgICBhcGlHcm91cDogQVBQX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gIH0sXG4gIENIQVJUOiB7XG4gICAgdHlwZTogJ2NoYXJ0cycsXG4gICAgYXBpR3JvdXA6IEFQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgTkVUV09SS19QT0xJQ1k6IHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICB0eXBlOiAnbmV0d29ya3BvbGljaWVzJyxcbiAgfSxcbiAgU0VSVklDRV9BQ0NPVU5UOiB7XG4gICAgdHlwZTogJ3NlcnZpY2VhY2NvdW50cycsXG4gIH0sXG4gIFJFUExJQ0FfU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAncmVwbGljYXNldHMnLFxuICB9LFxuICBQT0RfU0VDVVJJVFlfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6ICdwb2xpY3knLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAncG9kc2VjdXJpdHlwb2xpY2llcycsXG4gIH0sXG4gIE5BTUVTUEFDRV9PVkVSVklFVzoge1xuICAgIGFwaUdyb3VwOiAnazhzLmlvJyxcbiAgICB0eXBlOiAnbmFtZXNwYWNlb3ZlcnZpZXdzJyxcbiAgfSxcbiAgQ1NQOiB7XG4gICAgYXBpR3JvdXA6IFBST0RVQ1RfQVBJX0dST1VQLFxuICAgIHR5cGU6ICdjc3BzJyxcbiAgfSxcbiAgUkVTT1VSQ0VfUVVPVEE6IHtcbiAgICB0eXBlOiAncmVzb3VyY2VxdW90YXMnLFxuICB9LFxuICBDTFVTVEVSX05FVFdPUktfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6IENSRF9BUElfR1JPVVAsXG4gICAgdHlwZTogJ2NsdXN0ZXJuZXR3b3JrcG9saWNpZXMnLFxuICB9LFxuICBQUk9KRUNUX1FVT1RBOiB7XG4gICAgYXBpR3JvdXA6IEFVVEhfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3Byb2plY3RxdW90YXMnLFxuICB9LFxuICBUS0VfQ0xVU1RFUjoge1xuICAgIGFwaUdyb3VwOiBUS0VfUExBVEZPUk1fQVBJX0dST1VQLFxuICAgIHR5cGU6ICdjbHVzdGVycycsXG4gIH0sXG4gIFRLRV9NQUNISU5FOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9BUElfR1JPVVAsXG4gICAgdHlwZTogJ21hY2hpbmVzJyxcbiAgfSxcbiAgTUFDSElORToge1xuICAgIGFwaUdyb3VwOiBNQUNISU5FX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ21hY2hpbmVzJyxcbiAgfSxcbiAgTk9ERV9HUk9VUDoge1xuICAgIGFwaUdyb3VwOiAnc2VjdXJpdHkuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ25vZGVncm91cHMnLFxuICB9LFxuICBDTFVTVEVSU0VSVklDRVZFUlNJT046IHtcbiAgICBhcGlHcm91cDogQ09SRU9TX09QRVJBVE9SX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdjbHVzdGVyc2VydmljZXZlcnNpb25zJyxcbiAgfSxcbiAgVEVOQU5UOiB7XG4gICAgYXBpR3JvdXA6ICdtaW5pby5taW4uaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ3RlbmFudHMnLFxuICB9LFxuICBTVUJTQ1JJUFRJT046IHtcbiAgICBhcGlHcm91cDogQ09SRU9TX09QRVJBVE9SX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzdWJzY3JpcHRpb25zJyxcbiAgfSxcbiAgUEFDS0FHRV9NQU5JRkVTVDoge1xuICAgIGFwaUdyb3VwOiAncGFja2FnZXMub3BlcmF0b3JzLmNvcmVvcy5jb20nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3BhY2thZ2VtYW5pZmVzdHMnLFxuICB9LFxuICBCVUNLRVRfQ0xBU1M6IHtcbiAgICBhcGlHcm91cDogJ29iamVjdHN0b3JhZ2UuazhzLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdidWNrZXRjbGFzc2VzJyxcbiAgfSxcbiAgUFJPRFVDVF9DT05GSUc6IHtcbiAgICB0eXBlOiAncHJvZHVjdGNvbmZpZ3MnLFxuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBTVE9SQUdFX0NMQVNTOiB7XG4gICAgdHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgICBhcGlHcm91cDogU1RPUkFHRV9BUElfR1JPVVAsXG4gIH0sXG4gIFZPTFVNRV9TTkFQU0hPVF9DTEFTUzoge1xuICAgIHR5cGU6ICd2b2x1bWVzbmFwc2hvdGNsYXNzZXMnLFxuICAgIGFwaUdyb3VwOiBWT0xVTUVfU05BUFNIT1RfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIFBST0RVQ1RfQkFTRToge1xuICAgIHR5cGU6ICdwcm9kdWN0YmFzZXMnLFxuICAgIGFwaUdyb3VwOiBQUk9EVUNUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBNT0RVTEVfSU5GTzoge1xuICAgIHR5cGU6ICdtb2R1bGVpbmZvZXMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICB9LFxuICBNT0RVTEVfQ09ORklHOiB7XG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ21vZHVsZWNvbmZpZ3MnLFxuICB9LFxuICBNT0RVTEVfUExVR0lOOiB7XG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ21vZHVsZXBsdWdpbnMnLFxuICB9LFxuICBQUk9EVUNUX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3RlbnRyaWVzJyxcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgUFJPRFVDVF9ET0NTX0VOVFJZOiB7XG4gICAgdHlwZTogJ3Byb2R1Y3Rkb2NzZW50cmllcycsXG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFNFUlZJQ0VNRVNIX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6ICdhc20uYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdzZXJ2aWNlbWVzaGdyb3VwcycsXG4gIH0sXG4gIENMVVNURVJfTU9EVUxFOiB7XG4gICAgdHlwZTogJ2NsdXN0ZXJtb2R1bGVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIGFwaUdyb3VwOiBDTFVTVEVSX0FQSV9HUk9VUCxcbiAgfSxcbiAgVVNFUl9TRUNVUklUWV9QT0xJQ1k6IHtcbiAgICB0eXBlOiAndXNlcnBvbGljaWVzJyxcbiAgICBhcGlHcm91cDogJ3NlY3VyaXR5LmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgQ09OTkVDVE9SOiB7XG4gICAgdHlwZTogJ2Nvbm5lY3RvcnMnLFxuICAgIGFwaUdyb3VwOiAnZGV4LmNvcmVvcy5jb20nLFxuICB9LFxuICBBQ0NFU1NfVE9LRU5fSU5GTzoge1xuICAgIHR5cGU6ICdhY2Nlc3N0b2tlbmluZm9lcycsXG4gICAgYXBpR3JvdXA6IEFVVEhfQVBJX0dST1VQLFxuICB9LFxuICBGVU5DVElPTl9SRVNPVVJDRToge1xuICAgIHR5cGU6ICdmdW5jdGlvbnJlc291cmNlcycsXG4gICAgYXBpR3JvdXA6IEFVVEhfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgVVNFUl9CSU5ESU5HOiB7XG4gICAgdHlwZTogJ3VzZXJiaW5kaW5ncycsXG4gICAgYXBpR3JvdXA6IEFVVEhfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIFVTRVI6IHtcbiAgICB0eXBlOiAndXNlcnMnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0FQSV9HUk9VUCxcbiAgfSxcbiAgR1JPVVA6IHtcbiAgICB0eXBlOiAnZ3JvdXBzJyxcbiAgICBhcGlHcm91cDogQVVUSF9BUElfR1JPVVAsXG4gIH0sXG4gIFBST0pFQ1RfTUVNQkVSOiB7XG4gICAgdHlwZTogJ3Byb2plY3RtZW1iZXJzJyxcbiAgICBhcGlHcm91cDogQVVUSF9BUElfR1JPVVAsXG4gIH0sXG4gIFJPTEVfVEVNUExBVEU6IHtcbiAgICB0eXBlOiAncm9sZXRlbXBsYXRlcycsXG4gICAgYXBpR3JvdXA6IEFVVEhfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgQkFUQ0hfQUNUSU9OOiB7XG4gICAgYXBpR3JvdXA6ICdiYXRjaC5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2JhdGNoYWN0aW9ucycsXG4gIH0sXG4gIEVWRU5UOiB7XG4gICAgdHlwZTogJ2V2ZW50cycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgU0VSVklDRV9NT05JVE9SOiB7XG4gICAgYXBpR3JvdXA6IE1PTklUT1JJTkdfQVBJX0dST1VQLFxuICAgIHR5cGU6ICdzZXJ2aWNlbW9uaXRvcnMnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIE9BTV9BUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBPQU1fQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zJyxcbiAgfSxcbiAgQVJHT0NEX0FQUExJQ0FUSU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiBBUkdPQ0RfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9uc2V0cycsXG4gIH0sXG4gIEFSR09DRF9BUFBMSUNBVElPTjoge1xuICAgIGFwaUdyb3VwOiBBUkdPQ0RfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2FwcGxpY2F0aW9ucycsXG4gIH0sXG4gIE9QRVJBVE9SX1ZJRVc6IHtcbiAgICB0eXBlOiAnb3BlcmF0b3J2aWV3cycsXG4gICAgYXBpR3JvdXA6IEFQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTInLFxuICB9LFxuICBNT0RVTEVfUExVR0lOX1ZJRVc6IHtcbiAgICB0eXBlOiAnbW9kdWxlcGx1Z2ludmlldycsXG4gICAgYXBpR3JvdXA6IEFQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTInLFxuICB9LFxuICBSRVNPVVJDRV9QQVRDSDoge1xuICAgIGFwaUdyb3VwOiBPUEVSQVRPUl9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAncmVzb3VyY2VwYXRjaGVzJyxcbiAgfSxcbiAgQ09NUE9ORU5UX1BST0JFUjoge1xuICAgIHR5cGU6ICdjb21wb25lbnRwcm9iZXJzJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBJTlNQRUNUSU9OOiB7XG4gICAgdHlwZTogJ2luc3BlY3Rpb25zJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBJTlNQRUNUSU9OX0RFVEFJTFM6IHtcbiAgICB0eXBlOiAnaW5zcGVjdGlvbmRldGFpbHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIElOU1BFQ1RJT05fSVRFTVM6IHtcbiAgICB0eXBlOiAnaW5zcGVjdGlvbml0ZW1zJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBNRVNTQUdFOiB7XG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnbWVzc2FnZXMnLFxuICB9LFxuICBNT0RVTEVfSEVBTFRIOiB7XG4gICAgdHlwZTogJ21vZHVsZWhlYWx0aHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIE1PRFVMRV9IRUFMVEhfUkVDT1JEOiB7XG4gICAgdHlwZTogJ21vZHVsZWhlYWx0aHJlY29yZHMnLFxuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIEFVRElUOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0FQSV9HUk9VUCxcbiAgICB0eXBlOiAnYXVkaXRzJyxcbiAgfSxcbiAgTE9HX1BPTElDWToge1xuICAgIGFwaUdyb3VwOiBBSU9QU19BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnbG9ncG9saWNpZXMnLFxuICB9LFxuICBGVU5DVElPTl9URVNUOiB7XG4gICAgdHlwZTogJ2Z1bmN0aW9udGVzdHMnLFxuICAgIGFwaUdyb3VwOiAndGVzdGluZy5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFBST0pFQ1RfQklORElORzoge1xuICAgIHR5cGU6ICdwcm9qZWN0YmluZGluZ3MnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0FQSV9HUk9VUCxcbiAgfSxcbiAgUFJPQkU6IHtcbiAgICB0eXBlOiAncHJvYmVzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICAgIGFwaUdyb3VwOiBNT05JVE9SSU5HX0FQSV9HUk9VUCxcbiAgfSxcbiAgUkVQT1JUOiB7XG4gICAgdHlwZTogJ3JlcG9ydHMnLFxuICAgIGFwaUdyb3VwOiAnbWV0ZXJpbmcuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gIH0sXG4gIE5BTUVTUEFDRV9SRVNPVVJDRV9SQVRJTzoge1xuICAgIHR5cGU6ICduYW1lc3BhY2VyZXNvdXJjZXJhdGlvcycsXG4gICAgYXBpR3JvdXA6IFJFU09VUkNFX0FQSV9HUk9VUCxcbiAgfSxcbiAgQ1VTVE9NX1JFU09VUkNFX0RFRklOSVRJT046IHtcbiAgICB0eXBlOiAnY3VzdG9tcmVzb3VyY2VkZWZpbml0aW9ucycsXG4gICAgYXBpR3JvdXA6ICdhcGlleHRlbnNpb25zLms4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICB9LFxuICBMSUNFTlNFOiB7XG4gICAgdHlwZTogJ3NlY3JldHMnLFxuICB9LFxuICBSRUNPUkQ6IHtcbiAgICB0eXBlOiAncmVjb3JkcycsXG4gICAgYXBpR3JvdXA6ICdtZXRlcmluZy5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgQ1NJX05PREU6IHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICB0eXBlOiAnY3Npbm9kZXMnLFxuICB9LFxuICBUU0Y6IHtcbiAgICB0eXBlOiAndHNmcHJvZHVjdHMnLFxuICAgIGFwaUdyb3VwOiBQUk9EVUNUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gIH0sXG4gIFREU1FMOiB7XG4gICAgdHlwZTogJ3Rkc3FsZGVwbG95cycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICBhcGlHcm91cDogUFJPRFVDVF9BUElfR1JPVVAsXG4gIH0sXG4gIFBPUlRBTDoge1xuICAgIHR5cGU6ICcqJyxcbiAgICBhcGlHcm91cDogUFJPRFVDVF9BUElfR1JPVVAsXG4gIH0sXG4gIE5BTUVTUEFDRV9JTVBPUlQ6IHtcbiAgICB0eXBlOiAnbmFtZXNwYWNlLWltcG9ydCcsXG4gICAgYXBpR3JvdXA6ICduYW1lc3BhY2UuYWxhdWRhLmlvJyxcbiAgfSxcbiAgQ0xVU1RFUl9BRERPTl9UWVBFOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9BUElfR1JPVVAsXG4gICAgdHlwZTogJ2NsdXN0ZXJhZGRvbnR5cGVzJyxcbiAgfSxcbiAgQ0xVU1RFUl9DUkVERU5USUFMOiB7XG4gICAgYXBpR3JvdXA6IFRLRV9QTEFURk9STV9BUElfR1JPVVAsXG4gICAgdHlwZTogJ2NsdXN0ZXJjcmVkZW50aWFscycsXG4gIH0sXG4gIENPRElORzoge1xuICAgIHR5cGU6ICdjb2RpbmdzJyxcbiAgICBhcGlHcm91cDogUFJPRFVDVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgVElfTUFUUklYOiB7XG4gICAgdHlwZTogJ3RpbWF0cml4ZXMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgYXBpR3JvdXA6IFBST0RVQ1RfQVBJX0dST1VQLFxuICB9LFxuICBTWVNURU1fQ09ORklHOiB7XG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3N5c3RlbWNvbmZpZ3MnLFxuICB9LFxuICBDRVJUSUZJQ0FURToge1xuICAgIHR5cGU6ICdjZXJ0aWZpY2F0ZXMnLFxuICAgIGFwaUdyb3VwOiAnY2VydC1tYW5hZ2VyLmlvJyxcbiAgfSxcbiAgU0VDVVJJVFlfUlVMRToge1xuICAgIHR5cGU6ICdzZWN1cml0eXJ1bGVzJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBSRUdJT046IHtcbiAgICBhcGlHcm91cDogSU5GUkFTVFJVQ1RVUkVfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ3JlZ2lvbnMnLFxuICB9LFxuICBUT1BPTFZNX0NMVVNURVJfVjI6IHtcbiAgICB0eXBlOiAndG9wb2x2bWNsdXN0ZXJzJyxcbiAgICBhcGlHcm91cDogJ3RvcG9sdm0uY3lib3p1LmNvbScsXG4gICAgYXBpVmVyc2lvbjogJ3YyJyxcbiAgfSxcbiAgQlVDS0VUOiB7XG4gICAgYXBpR3JvdXA6ICdvYmplY3RzdG9yYWdlLms4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnYnVja2V0cycsXG4gIH0sXG4gIFNDSEVEVUxFOiB7XG4gICAgYXBpR3JvdXA6IFZFTEVST19BUElfR1JPVVAsXG4gICAgdHlwZTogJ3NjaGVkdWxlcycsXG4gIH0sXG4gIEJBQ0tVUF9TVE9SQUdFX0xPQ0FUSU9OOiB7XG4gICAgYXBpR3JvdXA6IFZFTEVST19BUElfR1JPVVAsXG4gICAgdHlwZTogJ2JhY2t1cHN0b3JhZ2Vsb2NhdGlvbnMnLFxuICB9LFxuICBCQUNLVVBfU1RPUkFHRV9MT0NBVElPTl9SRVBPOiB7XG4gICAgYXBpR3JvdXA6ICdhaXQudmVsZXJvLmlvJyxcbiAgICB0eXBlOiAnYmFja3Vwc3RvcmFnZWxvY2F0aW9ucmVwb2VzJyxcbiAgfSxcbiAgQkFDS1VQOiB7XG4gICAgYXBpR3JvdXA6IFZFTEVST19BUElfR1JPVVAsXG4gICAgdHlwZTogJ2JhY2t1cHMnLFxuICB9LFxuICBERUxFVEVfQkFDS1VQX1JFUVVFU1Q6IHtcbiAgICBhcGlHcm91cDogVkVMRVJPX0FQSV9HUk9VUCxcbiAgICB0eXBlOiAnZGVsZXRlYmFja3VwcmVxdWVzdHMnLFxuICB9LFxuICBFVENEX0JBQ0tVUF9SRUNPUkQ6IHtcbiAgICBhcGlHcm91cDogRVRDRF9CQUNLVVBfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2V0Y2RiYWNrdXByZWNvcmRzJyxcbiAgfSxcbiAgUkVTVE9SRToge1xuICAgIGFwaUdyb3VwOiBWRUxFUk9fQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3Jlc3RvcmVzJyxcbiAgfSxcbiAgUkFXX0RFVklDRToge1xuICAgIGFwaUdyb3VwOiAnbmF0aXZlc3Rvci5hbGF1ZGEuaW8nLFxuICAgIHR5cGU6ICdyYXdkZXZpY2VzJyxcbiAgfSxcbiAgQVBQX1JFTEVBU0VTOiB7XG4gICAgYXBpR3JvdXA6IE9QRVJBVE9SX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdhcHByZWxlYXNlcycsXG4gIH0sXG4gIE5PVElGSUNBVElPTl9URU1QTEFURToge1xuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbm90aWZpY2F0aW9udGVtcGxhdGVzJyxcbiAgfSxcbiAgTk9USUZJQ0FUSU9OX0dST1VQOiB7XG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdub3RpZmljYXRpb25ncm91cHMnLFxuICB9LFxuICBOT1RJRklDQVRJT046IHtcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ25vdGlmaWNhdGlvbnMnLFxuICB9LFxuICBUVU5ORUxfQ0xVU1RFUjoge1xuICAgIHR5cGU6ICd0dW5uZWxjbHVzdGVycycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIGFwaUdyb3VwOiBDTFVTVEVSX1hfSzhTX0FQSV9HUk9VUCxcbiAgfSxcbiAgSzhTX0NMVVNURVI6IHtcbiAgICB0eXBlOiAnY2x1c3RlcnMnLFxuICAgIGFwaUdyb3VwOiAnY2x1c3Rlci54LWs4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fUkVTT1VSQ0VfREVGSU5JVElPTlMgPSBfLlJFU09VUkNFX0RFRklOSVRJT05TO1xuZXhwb3J0IGNvbnN0IFJFU09VUkNFX1RZUEVTID0gXy5SRVNPVVJDRV9UWVBFUztcbmV4cG9ydCBjb25zdCBnZXRZYW1sQXBpVmVyc2lvbiA9IF8uZ2V0WWFtbEFwaVZlcnNpb247XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlVHlwZSA9IGtleW9mIHR5cGVvZiBSRVNPVVJDRV9UWVBFUztcblxuZXhwb3J0IGNvbnN0IE1hY2hpbmVNZXRhOiBUeXBlTWV0YSA9IHtcbiAgYXBpVmVyc2lvbjogZ2V0WWFtbEFwaVZlcnNpb24oUkVTT1VSQ0VfVFlQRVMuVEtFX01BQ0hJTkUpLFxuICBraW5kOiAnTWFjaGluZScsXG59O1xuXG5leHBvcnQgY29uc3QgVEtFQ2x1c3Rlck1ldGE6IFR5cGVNZXRhID0ge1xuICBhcGlWZXJzaW9uOiBnZXRZYW1sQXBpVmVyc2lvbihSRVNPVVJDRV9UWVBFUy5US0VfQ0xVU1RFUiksXG4gIGtpbmQ6ICdDbHVzdGVyJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTZXJ2aWNlVHlwZU1ldGEgPSB7XG4gIGFwaVZlcnNpb246IGdldFlhbWxBcGlWZXJzaW9uKFJFU09VUkNFX1RZUEVTLlNFUlZJQ0UpLFxuICBraW5kOiAnU2VydmljZScsXG59IGFzIGNvbnN0O1xuIl19
@@ -148,7 +148,7 @@ export const safeAssign = (sources, optionsOrNotice) => {
148
148
  }
149
149
  const option = {
150
150
  notice: (duplicates) => {
151
- throw new Error(`There are duplicate definitions: ${duplicates.join(',')}`);
151
+ console.warn(`There are duplicate definitions: ${duplicates.join(',')}`);
152
152
  },
153
153
  };
154
154
  if (typeof optionsOrNotice === 'function') {
@@ -324,4 +324,4 @@ export const buildUrl = (baseUri, params) => {
324
324
  const queryString = searchParams.toString();
325
325
  return queryString ? `${baseUri}?${queryString}` : baseUri;
326
326
  };
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILE9BQU8sRUFDTCxJQUFJO0FBQ0osaURBQWlEO0FBQ2pELE9BQU8sSUFBSSxRQUFRLEVBQ25CLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUN2QixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsR0FB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Q0FBQztJQUUzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBsYXN0LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG4gIGlzRXF1YWwgYXMgX2lzRXF1YWwsXG4gIHBpY2ssXG4gIG1hcFZhbHVlcyxcbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG4vKipcbiAqIOS/neivgeS7u+S9leivreiogOeOr+Wig+S4i+WwhuaVsOWtl+i9rOaNouS4uumdnuenkeWtpuiuoeaVsOazleS4lOS4jeW4puWNg+S9jeWIhumalOespuW5tuS/neeVmeS4ieS9jeacieaViOWwj+aVsOeahOaVsOWtl+Wtl+espuS4slxuICpcbiAqIEBleGFtcGxlXG4gKiBudW1Ub1N0cigxMjMxMjMuMzQ1NikgLy8gXCIxMjMxMjMuMzQ2XCJcbiAqIG51bVRvU3RyKDEyMy4xMikgLy8gXCIxMjMuMTJcIlxuICovXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBUaGVyZSBhcmUgZHVwbGljYXRlIGRlZmluaXRpb25zOiAke2R1cGxpY2F0ZXMuam9pbignLCcpfWAsXG4gICAgICApO1xuICAgIH0sXG4gIH07XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb3B0aW9uLm5vdGljZSA9IG9wdGlvbnNPck5vdGljZTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnNPck5vdGljZSA9PT0gJ29iamVjdCcpIHtcbiAgICBPYmplY3QuYXNzaWduKG9wdGlvbiwgb3B0aW9uc09yTm90aWNlKTtcbiAgfVxuXG4gIGNvbnN0IGR1cGxpY2F0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgY29uc3QgYWxsS2V5ID0gbmV3IFNldChPYmplY3Qua2V5cyhzb3VyY2VzWzBdKSk7XG4gIHNvdXJjZXMuc2xpY2UoMSkuZm9yRWFjaChvYmogPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGFsbEtleS5oYXMoa2V5KSkge1xuICAgICAgICBkdXBsaWNhdGVzLmFkZChrZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsS2V5LmFkZChrZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbiAgaWYgKGR1cGxpY2F0ZXMuc2l6ZSkge1xuICAgIG9wdGlvbi5ub3RpY2UoWy4uLmR1cGxpY2F0ZXNdKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgLi4uc291cmNlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgdG9Mb3dlckZpcnN0TGV0dGVyID0gKHRleHQ6IHN0cmluZykgPT5cbiAgdHlwZW9mIHRleHQgPT09ICdzdHJpbmcnICYmIHRleHQubGVuZ3RoID4gMFxuICAgID8gdGV4dC5yZXBsYWNlKHRleHRbMF0sIHRleHRbMF0udG9Mb2NhbGVMb3dlckNhc2UoKSlcbiAgICA6IHRleHQ7XG5cbmV4cG9ydCBjb25zdCBsb2FkRW52ID0gKGVudlRleHQ6IHN0cmluZyk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0+IHtcbiAgaWYgKCFlbnZUZXh0KSByZXR1cm4gW107XG4gIHJldHVybiBlbnZUZXh0XG4gICAgLnNwbGl0KCdcXG4nKVxuICAgIC5maWx0ZXIocyA9PiAhIXMudHJpbSgpKVxuICAgIC5tYXAocyA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHMudHJpbSgpLmluY2x1ZGVzKCc9JylcbiAgICAgICAgPyBzLnRyaW0oKS5pbmRleE9mKCc9JylcbiAgICAgICAgOiBzLnRyaW0oKS5sZW5ndGg7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBzLnRyaW0oKS5zbGljZSgwLCBpbmRleCkudHJpbSgpLFxuICAgICAgICBzXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC5zbGljZShpbmRleCArIDEpXG4gICAgICAgICAgLnRyaW0oKSxcbiAgICAgIF07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRW1wdHlWYWx1ZTxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFQsXG4pOiBQYXJ0aWFsPFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBhY2Nba2V5IGFzIGtleW9mIFRdID0gdmFsdWUgYXMgVFtrZXlvZiBUXTtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUGFydGlhbDxUPik7XG59XG5cbmNvbnN0IElNQUdFX1RZUEVfTUFQUEVSOiBTdHJpbmdNYXAgPSB7XG4gICcvJzogJ2pwZycsXG4gIGk6ICdwbmcnLFxuICBQOiAnc3ZnK3htbCcsXG4gIFI6ICdnaWYnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQmFzZTY0VHlwZShiYXNlNjRTdHI6IHN0cmluZykge1xuICBjb25zdCBmaXJzdENoYXIgPSBiYXNlNjRTdHIuY2hhckF0KDApO1xuICByZXR1cm4gSU1BR0VfVFlQRV9NQVBQRVJbZmlyc3RDaGFyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZEltYWdlSGVhZGVyKHZhbHVlOiBzdHJpbmcsIHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUgfHwgdmFsdWUuc3RhcnRzV2l0aCgnZGF0YTppbWFnZS8nKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBjb25zdCBoZWFkZXIgPVxuICAgIHByZWZpeCB8fCBgZGF0YTppbWFnZS8ke3BhcnNlQmFzZTY0VHlwZSh2YWx1ZSkgfHwgJ2pwZyd9O2Jhc2U2NCxgO1xuICByZXR1cm4gYCR7aGVhZGVyfSR7dmFsdWV9YDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFJlbGF0aXZlUGF0aCA9IChmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpID0+IHtcbiAgaWYgKHRvID09PSBudWxsIHx8IHRvID09PSB1bmRlZmluZWQgfHwgIWZyb20pIHtcbiAgICByZXR1cm4gdG87XG4gIH1cbiAgY29uc3QgZnJvbVBhcnRzID0gKGZyb20gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuICBjb25zdCB0b1BhcnRzID0gKHRvID8/ICcnKS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBsZXQgcmVsYXRpdmVQYXRoID0gJyc7XG4gIHdoaWxlIChcbiAgICBmcm9tUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIHRvUGFydHMubGVuZ3RoID4gMCAmJlxuICAgIGZyb21QYXJ0c1swXSA9PT0gdG9QYXJ0c1swXVxuICApIHtcbiAgICBmcm9tUGFydHMuc2hpZnQoKTtcbiAgICB0b1BhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICByZWxhdGl2ZVBhdGggPSAnLi4vJy5yZXBlYXQoZnJvbVBhcnRzLmxlbmd0aCk7XG5cbiAgcmVsYXRpdmVQYXRoICs9IHRvUGFydHMuam9pbignLycpO1xuXG4gIHJldHVybiByZWxhdGl2ZVBhdGg7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9QYXRoID0gKGZyb206IHN0cmluZywgcmVsYXRpdmU6IHN0cmluZykgPT4ge1xuICBpZiAocmVsYXRpdmUgPT09IG51bGwgfHwgcmVsYXRpdmUgPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiByZWxhdGl2ZTtcbiAgfVxuXG4gIGNvbnN0IGZyb21QYXJ0cyA9IGZyb20uc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlUGFydHMgPSByZWxhdGl2ZS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcblxuICBjb25zdCBkb3REb3RDb3VudCA9ICtyZWxhdGl2ZVBhcnRzLmZpbHRlcihwID0+IHAgPT09ICcuLicpPy5sZW5ndGg7XG5cbiAgY29uc3QgcyA9IGZyb21QYXJ0cy5zcGxpY2UoMCwgZnJvbVBhcnRzLmxlbmd0aCAtIGRvdERvdENvdW50KTtcblxuICByZXR1cm4gcy5jb25jYXQocmVsYXRpdmVQYXJ0cy5zcGxpY2UoZG90RG90Q291bnQpKS5qb2luKCcvJyk7XG59O1xuXG5leHBvcnQgY29uc3QgdHJhY2tCeU5hbWUgPSA8VCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZT4oXG4gIF86IG51bWJlcixcbiAgcmVzb3VyY2U6IFQsXG4pID0+IHJlc291cmNlLm1ldGFkYXRhLm5hbWU7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnQ8VD4oXG4gIGxpc3Q6IFRbXSxcbiAgc29ydDogU29ydCxcbiAgc29ydEFjdGl2ZVZhbHVlRm46IChpdGVtOiBULCBuYW1lOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bWJlcixcbik6IFRbXSB7XG4gIHJldHVybiBsaXN0LnNsaWNlKCkuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGtleSA9IHNvcnQuYWN0aXZlO1xuICAgIGNvbnN0IGtleUEgPSBzb3J0QWN0aXZlVmFsdWVGbihhLCBrZXkpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEgPiBrZXlCXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xXG4gICAgICA6IGtleUIgPiBrZXlBXG4gICAgICAgID8gMVxuICAgICAgICA6IC0xO1xuICB9KTtcbn1cblxuLy8g5pSv5oyB5Lit5paH5o6S5bqP77yM5o6o6I2Q5L2/55SoXG5leHBvcnQgZnVuY3Rpb24gdGFibGVTb3J0QWR2YW5jZTxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBrZXlCID0gc29ydEFjdGl2ZVZhbHVlRm4oYiwga2V5KS50b1N0cmluZygpO1xuICAgIGlmIChrZXlBID09PSBrZXlCKSByZXR1cm4gMDtcbiAgICByZXR1cm4gc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnXG4gICAgICA/IGtleUEubG9jYWxlQ29tcGFyZShrZXlCKVxuICAgICAgOiBrZXlCLmxvY2FsZUNvbXBhcmUoa2V5QSk7XG4gIH0pO1xufVxuXG4vLyDmoLnmja4gdGFnT3JEaWdlc3Qg55Sf5oiQ6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgYnVpbGRJbWFnZUFkZHJlc3MgPSAodXJsOiBzdHJpbmcsIHRhZ09yRGlnZXN0OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGAke3VybH0ke3RhZ09yRGlnZXN0Py5zdGFydHNXaXRoKCdzaGEyNTY6JykgPyAnQCcgOiAnOid9JHt0YWdPckRpZ2VzdH1gO1xufTtcblxuLy8g6Kej5p6Q6ZWc5YOP5Zyw5Z2AXG5leHBvcnQgY29uc3QgcGFyc2VJbWFnZUFkZHJlc3MgPSAoYWRkcjogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHJlc3VsdDoge1xuICAgIGRpZ2VzdD86IHN0cmluZztcbiAgICB0YWc/OiBzdHJpbmc7XG4gICAgdXJsOiBzdHJpbmc7XG4gIH0gPSB7XG4gICAgdXJsOiAnJyxcbiAgfTtcblxuICBjb25zdCBbdXJsUGFydCwgZGlnZXN0UGFydF0gPSBhZGRyLnNwbGl0KCdAc2hhMjU2Jyk7XG4gIGlmIChkaWdlc3RQYXJ0KSB7XG4gICAgcmVzdWx0LmRpZ2VzdCA9IGBzaGEyNTYke2RpZ2VzdFBhcnR9YDtcbiAgfVxuXG4gIGNvbnN0IHRhZ0luZGV4ID0gdXJsUGFydC5sYXN0SW5kZXhPZignOicpO1xuICBpZiAodGFnSW5kZXggPiAwICYmIHRhZ0luZGV4ID4gdXJsUGFydC5sYXN0SW5kZXhPZignLycpKSB7XG4gICAgcmVzdWx0LnRhZyA9IHVybFBhcnQuc2xpY2UodGFnSW5kZXggKyAxKTtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydC5zbGljZSgwLCB0YWdJbmRleCk7XG4gIH0gZWxzZSB7XG4gICAgcmVzdWx0LnVybCA9IHVybFBhcnQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgYWxsb3dlZEFwaXMgPSBbXG4gICdoYXNTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uJyxcbiAgJ2dldFNlbGVjdGlvblBvc2l0aW9uJyxcbiAgJ2NsZWFyU2VsZWN0aW9uJyxcbiAgJ3NlbGVjdCcsXG4gICdzZWxlY3RBbGwnLFxuICAnc2VsZWN0TGluZXMnLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IHNldFdpbmRvd3NYdGVybVRvb2xzID0gKHh0ZXJtOiBUZXJtaW5hbCkgPT4ge1xuICAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fID0gbWFwVmFsdWVzKFxuICAgIHBpY2soeHRlcm0sIGFsbG93ZWRBcGlzKSxcbiAgICAoZnVuOiBWYWx1ZU9mPFBpY2s8VGVybWluYWwsIFZhbHVlT2Y8dHlwZW9mIGFsbG93ZWRBcGlzPj4+KSA9PlxuICAgICAgZnVuLmJpbmQoeHRlcm0pLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyV2luZG93c1h0ZXJtVG9vbHMgPSAoKSA9PiB7XG4gIGRlbGV0ZSAod2luZG93IGFzIGFueSkuX19YVEVSTV9UT09MU19fO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkVXJsID0gKFxuICBiYXNlVXJpOiBzdHJpbmcsXG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGJvb2xlYW4+LFxuKSA9PiB7XG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgc2VhcmNoUGFyYW1zLmFwcGVuZChrZXksIHZhbHVlLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBzZWFyY2hQYXJhbXMudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nID8gYCR7YmFzZVVyaX0/JHtxdWVyeVN0cmluZ31gIDogYmFzZVVyaTtcbn07XG4iXX0=
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUdILE9BQU8sRUFDTCxJQUFJO0FBQ0osaURBQWlEO0FBQ2pELE9BQU8sSUFBSSxRQUFRLEVBQ25CLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVWpEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVksRUFBRSxFQUFFO0lBQ3ZDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ1QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxHQUFHO1NBQ1AsY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUN2QixxQkFBcUIsRUFBRSxDQUFDO1FBQ3hCLFdBQVcsRUFBRSxLQUFLO0tBQ25CLENBQUM7U0FDRCxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQXFCLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFO0lBQzVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFDRCxJQUFJLENBQUMsR0FB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Q0FBQztJQUUzQyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBsYXN0LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG4gIGlzRXF1YWwgYXMgX2lzRXF1YWwsXG4gIHBpY2ssXG4gIG1hcFZhbHVlcyxcbn0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFVuaW9uVG9JbnRlcnNlY3Rpb24sIFZhbHVlT2YgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuXG5pbXBvcnQgeyBCcmFja2V0IH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBDYWxsYmFjayxcbiAgS2V5cyxcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBOdWxsYWJsZSxcbiAgUmVhZG9ubHlhYmxlLFxuICBTdHJpbmdNYXAsXG59IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuXG4vKipcbiAqIOS/neivgeS7u+S9leivreiogOeOr+Wig+S4i+WwhuaVsOWtl+i9rOaNouS4uumdnuenkeWtpuiuoeaVsOazleS4lOS4jeW4puWNg+S9jeWIhumalOespuW5tuS/neeVmeS4ieS9jeacieaViOWwj+aVsOeahOaVsOWtl+Wtl+espuS4slxuICpcbiAqIEBleGFtcGxlXG4gKiBudW1Ub1N0cigxMjMxMjMuMzQ1NikgLy8gXCIxMjMxMjMuMzQ2XCJcbiAqIG51bVRvU3RyKDEyMy4xMikgLy8gXCIxMjMuMTJcIlxuICovXG5leHBvcnQgY29uc3QgbnVtVG9TdHIgPSAobnVtPzogbnVtYmVyKSA9PiB7XG4gIGlmIChudW0gPT09IDApIHtcbiAgICByZXR1cm4gJzAnO1xuICB9XG5cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gbnVtXG4gICAgLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcbiAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMyxcbiAgICAgIHVzZUdyb3VwaW5nOiBmYWxzZSxcbiAgICB9KVxuICAgIC5yZXBsYWNlKC8oW14uXSlcXC4/MCskLywgJyQxJyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvcnROdW0gPSAobnVtPzogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHMgPSAyKSA9PiB7XG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xuICAgIG51bSA9IG51bS50cmltKCk7XG4gIH1cbiAgaWYgKG51bSA9PT0gMCB8fCBudW0gPT09ICcwJykge1xuICAgIHJldHVybiAnMCc7XG4gIH1cbiAgaWYgKCFudW0pIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIG51bVRvU3RyKCsoK251bSkudG9GaXhlZChkaWdpdHMpIHx8IE1hdGgucG93KDEwLCAtZGlnaXRzKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNCbGFuayA9IChzdHI/OiB1bmtub3duKSA9PlxuICBzdHIgPT0gbnVsbCB8fCBOdW1iZXIuaXNOYU4oc3RyIGFzIG51bWJlcikgfHwgIXN0ci50b1N0cmluZygpLnRyaW0oKTtcblxuZXhwb3J0IGNvbnN0IGdldEJhc2VIcmVmID0gKCkgPT4ge1xuICAvLyBUaGUgbGFzdCBiYXNlIGVsZW1lbnQgaGFzIGhpZ2hlc3QgcHJpdmlsZWdlXG4gIGNvbnN0IGJhc2UgPSBsYXN0KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Jhc2UnKSk7XG4gIC8vIHVzZSBgZ2V0QXR0cmlidXRlYCBpbnN0ZWFkIG9mIGBiYXNlLmhyZWZgIGJlY2F1c2UgdGhlIGF0dHJpYnV0ZSBjb3VsZCBiZSB2b2lkIGJ1dCByZXN1bHRzIGN1cnJlbnQgd2hvbGUgbG9jYXRpb24gdXJsXG4gIHJldHVybiBiYXNlPy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSB8fCAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgaWZFeGlzdCA9IDxUPihcbiAgdG9DaGVjazogYm9vbGVhbiB8IE51bGxhYmxlPFQ+LFxuICB0cnV0aHlWYWx1ZTogVCxcbiAgZmFsbGJhY2s/OiBULFxuKSA9PiAodG9DaGVjayA/IHRydXRoeVZhbHVlIDogKChmYWxsYmFjayB8fCAnJykgYXMgVCkpO1xuXG5leHBvcnQgY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmw6IHN0cmluZykgPT4gL14oaHR0cHM/OlxcLyk/XFwvLy50ZXN0KHVybCk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbmV4cG9ydCBjb25zdCBub29wOiBDYWxsYmFjayA9ICgpID0+IHt9O1xuXG5leHBvcnQgY29uc3QgdG9LZXlzID0gPFQgZXh0ZW5kcyBvYmplY3Q+KHNvdXJjZTogVCk6IEtleXM8VD4gPT5cbiAgT2JqZWN0LmtleXMoc291cmNlKS5yZWR1Y2UoKGFjYywgaykgPT4ge1xuICAgIGNvbnN0IGtleSA9IGsgYXMga2V5b2YgVDtcbiAgICBhY2Nba2V5XSA9IGtleTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBLZXlzPFQ+KTtcblxuZXhwb3J0IGNvbnN0IHdyYXBUZXh0ID0gKFxuICB0ZXh0Pzogc3RyaW5nLFxuICB3cmFwcGVyOiBSZWFkb25seWFibGU8W3N0cmluZywgc3RyaW5nXT4gPSBCcmFja2V0LlBBUkVOVEhFU0VTLFxuICBmYWxsYmFjaz86IHN0cmluZyxcbikgPT4gKHRleHQgPyB3cmFwcGVyLmpvaW4odGV4dCkgOiBmYWxsYmFjayB8fCAnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUpTT05TdHJlYW08VD4odGV4dDogc3RyaW5nKTogVFtdIHtcbiAgcmV0dXJuIHRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLm1hcCh2ID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHYpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcih2ID0+ICEhdik7XG59XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5VWlkID0gPFQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2U+KFxuICBfOiBudW1iZXIsXG4gIHJlc291cmNlOiBULFxuKSA9PiByZXNvdXJjZS5tZXRhZGF0YS51aWQ7XG5cbmV4cG9ydCBjb25zdCBpc0s4c1Jlc291cmNlID0gPFxuICBUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlID0gS3ViZXJuZXRlc1Jlc291cmNlLFxuPihcbiAgdmFsdWU6IG9iamVjdCxcbik6IHZhbHVlIGlzIFQgPT5cbiAgdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAnYXBpVmVyc2lvbicgaW4gdmFsdWUgJiZcbiAgdHlwZW9mIHZhbHVlLmFwaVZlcnNpb24gPT09ICdzdHJpbmcnICYmXG4gICdraW5kJyBpbiB2YWx1ZSAmJlxuICB0eXBlb2YgdmFsdWUua2luZCA9PT0gJ3N0cmluZycgJiZcbiAgJ21ldGFkYXRhJyBpbiB2YWx1ZSAmJlxuICB2YWx1ZS5tZXRhZGF0YSAmJlxuICB0eXBlb2YgdmFsdWUubWV0YWRhdGEgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlpZnkgPSA8XG4gIFQsXG4gIFIgPSBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgUz4gPyBOb25OdWxsYWJsZTxTPiA6IE5vbk51bGxhYmxlPFQ+LFxuPihcbiAgLi4uYXJnczogQXJyYXk8UiB8IFJbXT5cbikgPT5cbiAgYXJncy5yZWR1Y2U8UltdPigoYXJyLCBjdXJyKSA9PiB7XG4gICAgYXJyLnB1c2goLi4uKEFycmF5LmlzQXJyYXkoY3VycikgPyBjdXJyIDogY3VyciA9PSBudWxsID8gW10gOiBbY3Vycl0pKTtcbiAgICByZXR1cm4gYXJyO1xuICB9LCBbXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGVlcChtcyA9IDApIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpO1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGRlbGF5ID0gc2xlZXA7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxJbnRvVmlldyhjb250YWluZXI6IEhUTUxFbGVtZW50LCBzZWxlY3RlZDogSFRNTEVsZW1lbnQpIHtcbiAgaWYgKCFzZWxlY3RlZCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSAwO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHRvcCA9IHNlbGVjdGVkLm9mZnNldFRvcDtcbiAgY29uc3QgYm90dG9tID0gc2VsZWN0ZWQub2Zmc2V0VG9wICsgc2VsZWN0ZWQub2Zmc2V0SGVpZ2h0O1xuICBjb25zdCB2aWV3UmVjdFRvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XG4gIGNvbnN0IHZpZXdSZWN0Qm90dG9tID0gdmlld1JlY3RUb3AgKyBjb250YWluZXIuY2xpZW50SGVpZ2h0O1xuXG4gIGlmICh2aWV3UmVjdFRvcCA+IHRvcCkge1xuICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgPSB0b3A7XG4gIH0gZWxzZSBpZiAodmlld1JlY3RCb3R0b20gPCBib3R0b20pIHtcbiAgICBjb250YWluZXIuc2Nyb2xsVG9wID0gYm90dG9tIC0gY29udGFpbmVyLmNsaWVudEhlaWdodDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaXNFcXVhbDogPFQsIFYgPSBUPihhOiBULCBiOiBWKSA9PiBib29sZWFuID0gX2lzRXF1YWw7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUpzb24gPSA8VD4oc3RyOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCA9IG51bGwpID0+IHtcbiAgaWYgKHN0ciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0pzb25PYmplY3RTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXJzZWQgPT09ICdvYmplY3QnICYmIHBhcnNlZCAhPT0gbnVsbDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVZhbGlkSW1hZ2VOYW1lID0gKGltYWdlOiBzdHJpbmcpID0+XG4gIGltYWdlPy5yZXBsYWNlKC8oW146XSlcXC9cXC8vZywgJyQxLycpIHx8IGltYWdlO1xuXG5leHBvcnQgY29uc3QgYXRvYldpdGhGYWxsYmFjayA9IChzdHI6IHN0cmluZywgZmFsbGJhY2tWYWx1ZTogc3RyaW5nID0gbnVsbCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cuYXRvYihzdHIpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsbGJhY2tWYWx1ZTtcbiAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTYWZlQXNzaWduT3B0aW9ucyB7XG4gIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiBhbnk7XG59XG4vKipcbiAqIOW4pumHjeWkjeajgOafpeeahGFzc2lnbu+8jOWPquWBmuS4gOe6p2tleeeahOmHjeWkjeajgOafpVxuICog5aaC5p6c5pyJ6YeN5aSN6aG56buY6K6k5LyadGhyb3cgZXJyb3LvvIzlpoLmnpzkvaDmmI7noa7ov5nkuI3mmK/kuIDkuKrlhbPplK7mgKfplJnor6/vvIzliJnlj6/ku6XpgJrov4fmjIflrppub3RpY2Xlh73mlbDkv67mlLnor6Xpu5jorqTooYzkuLpcbiAqIEBwYXJhbSBzb3VyY2VzXG4gKiBAcGFyYW0gb3B0aW9uc09yTm90aWNlXG4gKiBAcmV0dXJuIG9iamVjdCDkuIDkuKrlhajmlrDnmoTlr7nosaFcbiAqL1xuZXhwb3J0IGNvbnN0IHNhZmVBc3NpZ24gPSA8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KFxuICBzb3VyY2VzOiBUW10sXG4gIG9wdGlvbnNPck5vdGljZT86IFNhZmVBc3NpZ25PcHRpb25zWydub3RpY2UnXSB8IFNhZmVBc3NpZ25PcHRpb25zLFxuKTogVW5pb25Ub0ludGVyc2VjdGlvbjxUPiA9PiB7XG4gIGlmIChzb3VyY2VzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBzb3VyY2VzWzBdIGFzIFVuaW9uVG9JbnRlcnNlY3Rpb248VD47XG4gIH1cblxuICBjb25zdCBvcHRpb246IFNhZmVBc3NpZ25PcHRpb25zID0ge1xuICAgIG5vdGljZTogKGR1cGxpY2F0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgICBjb25zb2xlLndhcm4oYFRoZXJlIGFyZSBkdXBsaWNhdGUgZGVmaW5pdGlvbnM6ICR7ZHVwbGljYXRlcy5qb2luKCcsJyl9YCk7XG4gICAgfSxcbiAgfTtcbiAgaWYgKHR5cGVvZiBvcHRpb25zT3JOb3RpY2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb24ubm90aWNlID0gb3B0aW9uc09yTm90aWNlO1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9uc09yTm90aWNlID09PSAnb2JqZWN0Jykge1xuICAgIE9iamVjdC5hc3NpZ24ob3B0aW9uLCBvcHRpb25zT3JOb3RpY2UpO1xuICB9XG5cbiAgY29uc3QgZHVwbGljYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBhbGxLZXkgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNvdXJjZXNbMF0pKTtcbiAgc291cmNlcy5zbGljZSgxKS5mb3JFYWNoKG9iaiA9PiB7XG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBpZiAoYWxsS2V5LmhhcyhrZXkpKSB7XG4gICAgICAgIGR1cGxpY2F0ZXMuYWRkKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhbGxLZXkuYWRkKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICBpZiAoZHVwbGljYXRlcy5zaXplKSB7XG4gICAgb3B0aW9uLm5vdGljZShbLi4uZHVwbGljYXRlc10pO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCAuLi5zb3VyY2VzKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b0xvd2VyRmlyc3RMZXR0ZXIgPSAodGV4dDogc3RyaW5nKSA9PlxuICB0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgJiYgdGV4dC5sZW5ndGggPiAwXG4gICAgPyB0ZXh0LnJlcGxhY2UodGV4dFswXSwgdGV4dFswXS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgIDogdGV4dDtcblxuZXhwb3J0IGNvbnN0IGxvYWRFbnYgPSAoZW52VGV4dDogc3RyaW5nKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4gPT4ge1xuICBpZiAoIWVudlRleHQpIHJldHVybiBbXTtcbiAgcmV0dXJuIGVudlRleHRcbiAgICAuc3BsaXQoJ1xcbicpXG4gICAgLmZpbHRlcihzID0+ICEhcy50cmltKCkpXG4gICAgLm1hcChzID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gcy50cmltKCkuaW5jbHVkZXMoJz0nKVxuICAgICAgICA/IHMudHJpbSgpLmluZGV4T2YoJz0nKVxuICAgICAgICA6IHMudHJpbSgpLmxlbmd0aDtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHMudHJpbSgpLnNsaWNlKDAsIGluZGV4KS50cmltKCksXG4gICAgICAgIHNcbiAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgLnNsaWNlKGluZGV4ICsgMSlcbiAgICAgICAgICAudHJpbSgpLFxuICAgICAgXTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJFbXB0eVZhbHVlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVCxcbik6IFBhcnRpYWw8VD4ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob2JqKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGFjY1trZXkgYXMga2V5b2YgVF0gPSB2YWx1ZSBhcyBUW2tleW9mIFRdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBQYXJ0aWFsPFQ+KTtcbn1cblxuY29uc3QgSU1BR0VfVFlQRV9NQVBQRVI6IFN0cmluZ01hcCA9IHtcbiAgJy8nOiAnanBnJyxcbiAgaTogJ3BuZycsXG4gIFA6ICdzdmcreG1sJyxcbiAgUjogJ2dpZicsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCYXNlNjRUeXBlKGJhc2U2NFN0cjogc3RyaW5nKSB7XG4gIGNvbnN0IGZpcnN0Q2hhciA9IGJhc2U2NFN0ci5jaGFyQXQoMCk7XG4gIHJldHVybiBJTUFHRV9UWVBFX01BUFBFUltmaXJzdENoYXJdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kSW1hZ2VIZWFkZXIodmFsdWU6IHN0cmluZywgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5zdGFydHNXaXRoKCdkYXRhOmltYWdlLycpKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9XG4gICAgcHJlZml4IHx8IGBkYXRhOmltYWdlLyR7cGFyc2VCYXNlNjRUeXBlKHZhbHVlKSB8fCAnanBnJ307YmFzZTY0LGA7XG4gIHJldHVybiBgJHtoZWFkZXJ9JHt2YWx1ZX1gO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0UmVsYXRpdmVQYXRoID0gKGZyb206IHN0cmluZywgdG86IHN0cmluZykgPT4ge1xuICBpZiAodG8gPT09IG51bGwgfHwgdG8gPT09IHVuZGVmaW5lZCB8fCAhZnJvbSkge1xuICAgIHJldHVybiB0bztcbiAgfVxuICBjb25zdCBmcm9tUGFydHMgPSAoZnJvbSA/PyAnJykuc3BsaXQoJy8nKS5maWx0ZXIocCA9PiBwICE9PSAnJyk7XG4gIGNvbnN0IHRvUGFydHMgPSAodG8gPz8gJycpLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGxldCByZWxhdGl2ZVBhdGggPSAnJztcbiAgd2hpbGUgKFxuICAgIGZyb21QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgdG9QYXJ0cy5sZW5ndGggPiAwICYmXG4gICAgZnJvbVBhcnRzWzBdID09PSB0b1BhcnRzWzBdXG4gICkge1xuICAgIGZyb21QYXJ0cy5zaGlmdCgpO1xuICAgIHRvUGFydHMuc2hpZnQoKTtcbiAgfVxuXG4gIHJlbGF0aXZlUGF0aCA9ICcuLi8nLnJlcGVhdChmcm9tUGFydHMubGVuZ3RoKTtcblxuICByZWxhdGl2ZVBhdGggKz0gdG9QYXJ0cy5qb2luKCcvJyk7XG5cbiAgcmV0dXJuIHJlbGF0aXZlUGF0aDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb1BhdGggPSAoZnJvbTogc3RyaW5nLCByZWxhdGl2ZTogc3RyaW5nKSA9PiB7XG4gIGlmIChyZWxhdGl2ZSA9PT0gbnVsbCB8fCByZWxhdGl2ZSA9PT0gdW5kZWZpbmVkIHx8ICFmcm9tKSB7XG4gICAgcmV0dXJuIHJlbGF0aXZlO1xuICB9XG5cbiAgY29uc3QgZnJvbVBhcnRzID0gZnJvbS5zcGxpdCgnLycpLmZpbHRlcihwID0+IHAgIT09ICcnKTtcbiAgY29uc3QgcmVsYXRpdmVQYXJ0cyA9IHJlbGF0aXZlLnNwbGl0KCcvJykuZmlsdGVyKHAgPT4gcCAhPT0gJycpO1xuXG4gIGNvbnN0IGRvdERvdENvdW50ID0gK3JlbGF0aXZlUGFydHMuZmlsdGVyKHAgPT4gcCA9PT0gJy4uJyk/Lmxlbmd0aDtcblxuICBjb25zdCBzID0gZnJvbVBhcnRzLnNwbGljZSgwLCBmcm9tUGFydHMubGVuZ3RoIC0gZG90RG90Q291bnQpO1xuXG4gIHJldHVybiBzLmNvbmNhdChyZWxhdGl2ZVBhcnRzLnNwbGljZShkb3REb3RDb3VudCkpLmpvaW4oJy8nKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0cmFja0J5TmFtZSA9IDxUIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlPihcbiAgXzogbnVtYmVyLFxuICByZXNvdXJjZTogVCxcbikgPT4gcmVzb3VyY2UubWV0YWRhdGEubmFtZTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlU29ydDxUPihcbiAgbGlzdDogVFtdLFxuICBzb3J0OiBTb3J0LFxuICBzb3J0QWN0aXZlVmFsdWVGbjogKGl0ZW06IFQsIG5hbWU6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVtYmVyLFxuKTogVFtdIHtcbiAgcmV0dXJuIGxpc3Quc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3Qga2V5ID0gc29ydC5hY3RpdmU7XG4gICAgY29uc3Qga2V5QSA9IHNvcnRBY3RpdmVWYWx1ZUZuKGEsIGtleSk7XG4gICAgY29uc3Qga2V5QiA9IHNvcnRBY3RpdmVWYWx1ZUZuKGIsIGtleSk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QSA+IGtleUJcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTFcbiAgICAgIDoga2V5QiA+IGtleUFcbiAgICAgICAgPyAxXG4gICAgICAgIDogLTE7XG4gIH0pO1xufVxuXG4vLyDmlK/mjIHkuK3mlofmjpLluo/vvIzmjqjojZDkvb/nlKhcbmV4cG9ydCBmdW5jdGlvbiB0YWJsZVNvcnRBZHZhbmNlPFQ+KFxuICBsaXN0OiBUW10sXG4gIHNvcnQ6IFNvcnQsXG4gIHNvcnRBY3RpdmVWYWx1ZUZuOiAoaXRlbTogVCwgbmFtZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudW1iZXIsXG4pOiBUW10ge1xuICByZXR1cm4gbGlzdC5zbGljZSgpLnNvcnQoKGEsIGIpID0+IHtcbiAgICBjb25zdCBrZXkgPSBzb3J0LmFjdGl2ZTtcbiAgICBjb25zdCBrZXlBID0gc29ydEFjdGl2ZVZhbHVlRm4oYSwga2V5KS50b1N0cmluZygpO1xuICAgIGNvbnN0IGtleUIgPSBzb3J0QWN0aXZlVmFsdWVGbihiLCBrZXkpLnRvU3RyaW5nKCk7XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHJldHVybiAwO1xuICAgIHJldHVybiBzb3J0LmRpcmVjdGlvbiA9PT0gJ2FzYydcbiAgICAgID8ga2V5QS5sb2NhbGVDb21wYXJlKGtleUIpXG4gICAgICA6IGtleUIubG9jYWxlQ29tcGFyZShrZXlBKTtcbiAgfSk7XG59XG5cbi8vIOagueaNriB0YWdPckRpZ2VzdCDnlJ/miJDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBidWlsZEltYWdlQWRkcmVzcyA9ICh1cmw6IHN0cmluZywgdGFnT3JEaWdlc3Q6IHN0cmluZykgPT4ge1xuICByZXR1cm4gYCR7dXJsfSR7dGFnT3JEaWdlc3Q/LnN0YXJ0c1dpdGgoJ3NoYTI1NjonKSA/ICdAJyA6ICc6J30ke3RhZ09yRGlnZXN0fWA7XG59O1xuXG4vLyDop6PmnpDplZzlg4/lnLDlnYBcbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlQWRkcmVzcyA9IChhZGRyOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcmVzdWx0OiB7XG4gICAgZGlnZXN0Pzogc3RyaW5nO1xuICAgIHRhZz86IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgfSA9IHtcbiAgICB1cmw6ICcnLFxuICB9O1xuXG4gIGNvbnN0IFt1cmxQYXJ0LCBkaWdlc3RQYXJ0XSA9IGFkZHIuc3BsaXQoJ0BzaGEyNTYnKTtcbiAgaWYgKGRpZ2VzdFBhcnQpIHtcbiAgICByZXN1bHQuZGlnZXN0ID0gYHNoYTI1NiR7ZGlnZXN0UGFydH1gO1xuICB9XG5cbiAgY29uc3QgdGFnSW5kZXggPSB1cmxQYXJ0Lmxhc3RJbmRleE9mKCc6Jyk7XG4gIGlmICh0YWdJbmRleCA+IDAgJiYgdGFnSW5kZXggPiB1cmxQYXJ0Lmxhc3RJbmRleE9mKCcvJykpIHtcbiAgICByZXN1bHQudGFnID0gdXJsUGFydC5zbGljZSh0YWdJbmRleCArIDEpO1xuICAgIHJlc3VsdC51cmwgPSB1cmxQYXJ0LnNsaWNlKDAsIHRhZ0luZGV4KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQudXJsID0gdXJsUGFydDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCBhbGxvd2VkQXBpcyA9IFtcbiAgJ2hhc1NlbGVjdGlvbicsXG4gICdnZXRTZWxlY3Rpb24nLFxuICAnZ2V0U2VsZWN0aW9uUG9zaXRpb24nLFxuICAnY2xlYXJTZWxlY3Rpb24nLFxuICAnc2VsZWN0JyxcbiAgJ3NlbGVjdEFsbCcsXG4gICdzZWxlY3RMaW5lcycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgc2V0V2luZG93c1h0ZXJtVG9vbHMgPSAoeHRlcm06IFRlcm1pbmFsKSA9PiB7XG4gICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX18gPSBtYXBWYWx1ZXMoXG4gICAgcGljayh4dGVybSwgYWxsb3dlZEFwaXMpLFxuICAgIChmdW46IFZhbHVlT2Y8UGljazxUZXJtaW5hbCwgVmFsdWVPZjx0eXBlb2YgYWxsb3dlZEFwaXM+Pj4pID0+XG4gICAgICBmdW4uYmluZCh4dGVybSksXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJXaW5kb3dzWHRlcm1Ub29scyA9ICgpID0+IHtcbiAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX1hURVJNX1RPT0xTX187XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRVcmwgPSAoXG4gIGJhc2VVcmk6IHN0cmluZyxcbiAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgYm9vbGVhbj4sXG4pID0+IHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuXG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICBzZWFyY2hQYXJhbXMuYXBwZW5kKGtleSwgdmFsdWUudG9TdHJpbmcoKSk7XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHNlYXJjaFBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtiYXNlVXJpfT8ke3F1ZXJ5U3RyaW5nfWAgOiBiYXNlVXJpO1xufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alauda-fe/common",
3
- "version": "1.4.24-beta.2",
3
+ "version": "1.4.24",
4
4
  "description": "Alauda frontend team common codes.",
5
5
  "author": "Alauda Frontend",
6
6
  "license": "MIT",