@alauda-fe/common 1.4.24-beta.1 → 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
|
|
6
|
-
constructor(
|
|
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
|
|
4
|
-
export declare const
|
|
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
|
|
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;
|
|
@@ -442,6 +458,194 @@ export declare const COMMON_RESOURCE_DEFINITIONS: {
|
|
|
442
458
|
readonly apiVersion: string;
|
|
443
459
|
readonly type: string;
|
|
444
460
|
};
|
|
461
|
+
readonly MODULE_HEALTH: {
|
|
462
|
+
readonly type: string;
|
|
463
|
+
readonly apiGroup: string;
|
|
464
|
+
readonly apiVersion: string;
|
|
465
|
+
};
|
|
466
|
+
readonly MODULE_HEALTH_RECORD: {
|
|
467
|
+
readonly type: string;
|
|
468
|
+
readonly apiGroup: string;
|
|
469
|
+
readonly apiVersion: string;
|
|
470
|
+
};
|
|
471
|
+
readonly AUDIT: {
|
|
472
|
+
readonly apiGroup: string;
|
|
473
|
+
readonly type: string;
|
|
474
|
+
};
|
|
475
|
+
readonly LOG_POLICY: {
|
|
476
|
+
readonly apiGroup: string;
|
|
477
|
+
readonly apiVersion: string;
|
|
478
|
+
readonly type: string;
|
|
479
|
+
};
|
|
480
|
+
readonly FUNCTION_TEST: {
|
|
481
|
+
readonly type: string;
|
|
482
|
+
readonly apiGroup: string;
|
|
483
|
+
readonly apiVersion: string;
|
|
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
|
+
};
|
|
445
649
|
};
|
|
446
650
|
export declare const RESOURCE_TYPES: {
|
|
447
651
|
readonly ALAUDA_LOADBALANCER2: "ALAUDA_LOADBALANCER2";
|
|
@@ -542,8 +746,49 @@ export declare const RESOURCE_TYPES: {
|
|
|
542
746
|
readonly INSPECTION_DETAILS: "INSPECTION_DETAILS";
|
|
543
747
|
readonly INSPECTION_ITEMS: "INSPECTION_ITEMS";
|
|
544
748
|
readonly MESSAGE: "MESSAGE";
|
|
749
|
+
readonly MODULE_HEALTH: "MODULE_HEALTH";
|
|
750
|
+
readonly MODULE_HEALTH_RECORD: "MODULE_HEALTH_RECORD";
|
|
751
|
+
readonly AUDIT: "AUDIT";
|
|
752
|
+
readonly LOG_POLICY: "LOG_POLICY";
|
|
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";
|
|
545
790
|
};
|
|
546
|
-
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" | {
|
|
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" | {
|
|
547
792
|
apiGroup: string;
|
|
548
793
|
type: string;
|
|
549
794
|
} | {
|
|
@@ -880,6 +1125,153 @@ export declare const getYamlApiVersion: (definition: "ALAUDA_LOADBALANCER2" | "A
|
|
|
880
1125
|
apiGroup: string;
|
|
881
1126
|
apiVersion: string;
|
|
882
1127
|
type: string;
|
|
1128
|
+
} | {
|
|
1129
|
+
type: string;
|
|
1130
|
+
apiGroup: string;
|
|
1131
|
+
apiVersion: string;
|
|
1132
|
+
} | {
|
|
1133
|
+
type: string;
|
|
1134
|
+
apiGroup: string;
|
|
1135
|
+
apiVersion: string;
|
|
1136
|
+
} | {
|
|
1137
|
+
apiGroup: string;
|
|
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;
|
|
1271
|
+
} | {
|
|
1272
|
+
type: string;
|
|
1273
|
+
apiGroup: string;
|
|
1274
|
+
apiVersion: string;
|
|
883
1275
|
}) => string;
|
|
884
1276
|
export type ResourceType = keyof typeof RESOURCE_TYPES;
|
|
885
1277
|
export declare const MachineMeta: TypeMeta;
|
|
@@ -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 "
|
|
5
|
+
import * as i1 from "../../translate/public-api";
|
|
5
6
|
export class MinimumFormatPipe {
|
|
6
|
-
constructor(
|
|
7
|
-
this.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.
|
|
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.
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
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
|
|
12
|
-
export const
|
|
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
|
|
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:
|
|
29
|
+
apiGroup: CRD_API_GROUP,
|
|
22
30
|
type: 'alaudaloadbalancer2',
|
|
23
31
|
},
|
|
24
32
|
ALB2: {
|
|
25
|
-
apiGroup:
|
|
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:
|
|
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:
|
|
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:
|
|
61
|
+
apiGroup: CRD_API_GROUP,
|
|
54
62
|
type: 'frontends',
|
|
55
63
|
},
|
|
56
64
|
RULE: {
|
|
57
|
-
apiGroup:
|
|
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:
|
|
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:
|
|
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:
|
|
139
|
+
apiGroup: AIOPS_API_GROUP,
|
|
132
140
|
apiVersion: 'v1beta1',
|
|
133
141
|
type: 'logs',
|
|
134
142
|
},
|
|
135
143
|
PROJECT: {
|
|
136
|
-
apiGroup:
|
|
144
|
+
apiGroup: AUTH_API_GROUP,
|
|
137
145
|
type: 'projects',
|
|
138
146
|
},
|
|
139
147
|
PROMETHEUS_RULE: {
|
|
140
|
-
apiGroup:
|
|
148
|
+
apiGroup: MONITORING_API_GROUP,
|
|
141
149
|
apiVersion: 'v1',
|
|
142
150
|
type: 'prometheusrules',
|
|
143
151
|
},
|
|
144
152
|
ALERT_HISTORY: {
|
|
145
|
-
apiGroup:
|
|
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:
|
|
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:
|
|
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:
|
|
214
|
+
apiGroup: APP_API_GROUP,
|
|
207
215
|
apiVersion: 'v1beta1',
|
|
208
216
|
},
|
|
209
217
|
CHART: {
|
|
210
218
|
type: 'charts',
|
|
211
|
-
apiGroup:
|
|
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:
|
|
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:
|
|
250
|
+
apiGroup: CRD_API_GROUP,
|
|
243
251
|
type: 'clusternetworkpolicies',
|
|
244
252
|
},
|
|
245
253
|
PROJECT_QUOTA: {
|
|
246
|
-
apiGroup:
|
|
254
|
+
apiGroup: AUTH_API_GROUP,
|
|
247
255
|
apiVersion: 'v1',
|
|
248
256
|
type: 'projectquotas',
|
|
249
257
|
},
|
|
250
258
|
TKE_CLUSTER: {
|
|
251
|
-
apiGroup:
|
|
259
|
+
apiGroup: TKE_PLATFORM_API_GROUP,
|
|
252
260
|
type: 'clusters',
|
|
253
261
|
},
|
|
254
262
|
TKE_MACHINE: {
|
|
255
|
-
apiGroup:
|
|
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:
|
|
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:
|
|
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:
|
|
308
|
+
apiGroup: STORAGE_API_GROUP,
|
|
301
309
|
},
|
|
302
310
|
VOLUME_SNAPSHOT_CLASS: {
|
|
303
311
|
type: 'volumesnapshotclasses',
|
|
304
|
-
apiGroup:
|
|
312
|
+
apiGroup: VOLUME_SNAPSHOT_API_GROUP,
|
|
305
313
|
apiVersion: 'v1',
|
|
306
314
|
},
|
|
307
315
|
PRODUCT_BASE: {
|
|
308
316
|
type: 'productbases',
|
|
309
|
-
apiGroup:
|
|
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:
|
|
366
|
+
apiGroup: AUTH_API_GROUP,
|
|
359
367
|
},
|
|
360
368
|
FUNCTION_RESOURCE: {
|
|
361
369
|
type: 'functionresources',
|
|
362
|
-
apiGroup:
|
|
370
|
+
apiGroup: AUTH_API_GROUP,
|
|
363
371
|
apiVersion: 'v1beta1',
|
|
364
372
|
},
|
|
365
373
|
USER_BINDING: {
|
|
366
374
|
type: 'userbindings',
|
|
367
|
-
apiGroup:
|
|
375
|
+
apiGroup: AUTH_API_GROUP,
|
|
368
376
|
apiVersion: 'v1',
|
|
369
377
|
},
|
|
370
378
|
USER: {
|
|
371
379
|
type: 'users',
|
|
372
|
-
apiGroup:
|
|
380
|
+
apiGroup: AUTH_API_GROUP,
|
|
373
381
|
},
|
|
374
382
|
GROUP: {
|
|
375
383
|
type: 'groups',
|
|
376
|
-
apiGroup:
|
|
384
|
+
apiGroup: AUTH_API_GROUP,
|
|
377
385
|
},
|
|
378
386
|
PROJECT_MEMBER: {
|
|
379
387
|
type: 'projectmembers',
|
|
380
|
-
apiGroup:
|
|
388
|
+
apiGroup: AUTH_API_GROUP,
|
|
381
389
|
},
|
|
382
390
|
ROLE_TEMPLATE: {
|
|
383
391
|
type: 'roletemplates',
|
|
384
|
-
apiGroup:
|
|
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:
|
|
405
|
+
apiGroup: MONITORING_API_GROUP,
|
|
398
406
|
type: 'servicemonitors',
|
|
399
407
|
apiVersion: 'v1',
|
|
400
408
|
},
|
|
401
409
|
OAM_APPLICATION: {
|
|
402
|
-
apiGroup:
|
|
410
|
+
apiGroup: OAM_API_GROUP,
|
|
403
411
|
apiVersion: 'v1beta1',
|
|
404
412
|
type: 'applications',
|
|
405
413
|
},
|
|
406
414
|
ARGOCD_APPLICATION_SET: {
|
|
407
|
-
apiGroup:
|
|
415
|
+
apiGroup: ARGOCD_API_GROUP,
|
|
408
416
|
apiVersion: 'v1alpha1',
|
|
409
417
|
type: 'applicationsets',
|
|
410
418
|
},
|
|
411
419
|
ARGOCD_APPLICATION: {
|
|
412
|
-
apiGroup:
|
|
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:
|
|
426
|
+
apiGroup: APP_API_GROUP,
|
|
419
427
|
apiVersion: 'v1beta2',
|
|
420
428
|
},
|
|
421
429
|
MODULE_PLUGIN_VIEW: {
|
|
422
430
|
type: 'modulepluginview',
|
|
423
|
-
apiGroup:
|
|
431
|
+
apiGroup: APP_API_GROUP,
|
|
424
432
|
apiVersion: 'v1beta2',
|
|
425
433
|
},
|
|
426
434
|
RESOURCE_PATCH: {
|
|
427
|
-
apiGroup:
|
|
435
|
+
apiGroup: OPERATOR_API_GROUP,
|
|
428
436
|
apiVersion: 'v1alpha1',
|
|
429
437
|
type: 'resourcepatches',
|
|
430
438
|
},
|
|
@@ -453,6 +461,194 @@ const _ = createResourceDefinitions({
|
|
|
453
461
|
apiVersion: 'v1alpha1',
|
|
454
462
|
type: 'messages',
|
|
455
463
|
},
|
|
464
|
+
MODULE_HEALTH: {
|
|
465
|
+
type: 'modulehealths',
|
|
466
|
+
apiGroup: AIT_API_GROUP,
|
|
467
|
+
apiVersion: 'v1alpha1',
|
|
468
|
+
},
|
|
469
|
+
MODULE_HEALTH_RECORD: {
|
|
470
|
+
type: 'modulehealthrecords',
|
|
471
|
+
apiGroup: AIT_API_GROUP,
|
|
472
|
+
apiVersion: 'v1alpha1',
|
|
473
|
+
},
|
|
474
|
+
AUDIT: {
|
|
475
|
+
apiGroup: AIOPS_API_GROUP,
|
|
476
|
+
type: 'audits',
|
|
477
|
+
},
|
|
478
|
+
LOG_POLICY: {
|
|
479
|
+
apiGroup: AIOPS_API_GROUP,
|
|
480
|
+
apiVersion: 'v1alpha1',
|
|
481
|
+
type: 'logpolicies',
|
|
482
|
+
},
|
|
483
|
+
FUNCTION_TEST: {
|
|
484
|
+
type: 'functiontests',
|
|
485
|
+
apiGroup: 'testing.alauda.io',
|
|
486
|
+
apiVersion: 'v1alpha1',
|
|
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
|
+
},
|
|
456
652
|
});
|
|
457
653
|
export const COMMON_RESOURCE_DEFINITIONS = _.RESOURCE_DEFINITIONS;
|
|
458
654
|
export const RESOURCE_TYPES = _.RESOURCE_TYPES;
|
|
@@ -469,4 +665,4 @@ export const ServiceTypeMeta = {
|
|
|
469
665
|
apiVersion: getYamlApiVersion(RESOURCE_TYPES.SERVICE),
|
|
470
666
|
kind: 'Service',
|
|
471
667
|
};
|
|
472
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY29yZS90eXBlcy9yZXNvdXJjZS1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFDdEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDcEMsTUFBTSxxQkFBcUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNyRCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUM7QUFDbEMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUV4QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzFDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLG1CQUFtQixDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUU5QyxvRkFBb0Y7QUFDcEYsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxHQUFHLHlCQUF5QixDQUFDO0lBQ2xDLG9CQUFvQixFQUFFO1FBQ3BCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLElBQUksRUFBRSxxQkFBcUI7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QW9CLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUM7QUFDL0MsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO0FBSXJELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBYTtJQUNuQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztJQUN6RCxJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFhO0lBQ3RDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQ3pELElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsVUFBVSxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7SUFDckQsSUFBSSxFQUFFLFNBQVM7Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVzb3VyY2VEZWZpbml0aW9ucyB9IGZyb20gJy4uLy4uL2FwaS9oZWxwZXJzJztcblxuaW1wb3J0IHsgVHlwZU1ldGEgfSBmcm9tICcuL2s4cy9wdWJsaWMtYXBpJztcblxuY29uc3QgQ1JEX0dST1VQID0gJ2NyZC5hbGF1ZGEuaW8nO1xuY29uc3QgQUlPUFNfR1JPVVAgPSAnYWlvcHMuYWxhdWRhLmlvJztcbmNvbnN0IEFVVEhfR1JPVVAgPSAnYXV0aC5hbGF1ZGEuaW8nO1xuY29uc3QgQ09SRU9TX09QRVJBVE9SX0dST1VQID0gJ29wZXJhdG9ycy5jb3Jlb3MuY29tJztcbmNvbnN0IEFQUF9HUk9VUCA9ICdhcHAuYWxhdWRhLmlvJztcbmNvbnN0IFNUT1JBR0VfR1JPVVAgPSAnc3RvcmFnZS5rOHMuaW8nO1xuY29uc3QgVEtFX1BMQVRGT1JNX0dST1VQID0gJ3BsYXRmb3JtLnRrZXN0YWNrLmlvJztcbmNvbnN0IENMVVNURVJfQVBJX0dST1VQID0gJ2NsdXN0ZXIuYWxhdWRhLmlvJztcbmV4cG9ydCBjb25zdCBBSVRfQVBJX0dST1VQID0gJ2FpdC5hbGF1ZGEuaW8nO1xuXG5leHBvcnQgY29uc3QgT0FNX0dST1VQID0gJ2NvcmUub2FtLmRldic7XG5cbmV4cG9ydCBjb25zdCBBUkdPQ0RfR1JPVVAgPSAnYXJnb3Byb2ouaW8nO1xuZXhwb3J0IGNvbnN0IE1BQ0hJTkVfQVBJX0dST1VQID0gJ21hY2hpbmUuYWxhdWRhLmlvJztcbmV4cG9ydCBjb25zdCBWT0xVTUVfU05BUFNIT1RfR1JPVVAgPSAnc25hcHNob3Quc3RvcmFnZS5rOHMuaW8nO1xuZXhwb3J0IGNvbnN0IEs4U19DT1JFX0FQSV9HUk9VUCA9ICdjb3JlLmt1YmVybmV0ZXMuaW8nO1xuZXhwb3J0IGNvbnN0IEs4U19BUFBfQVBJX0dST1VQID0gJ2FwcC5rOHMuaW8nO1xuXG4vLyByZWZlcmVuY2U6IGh0dHA6Ly9jb25mbHVlbmNlLmFsYXVkYXRlY2guY29tL3BhZ2VzL3ZpZXdwYWdlLmFjdGlvbj9wYWdlSWQ9MzkzMzgyMjVcbi8vIEZJWE1FOiBvYmplY3QgZGVzdHJ1Y3R1cmluZyB3aWxsIHJlc3VsdCBgYW55YCB0eXBlIGhlcmUsIHdoeT8/P1xuY29uc3QgXyA9IGNyZWF0ZVJlc291cmNlRGVmaW5pdGlvbnMoe1xuICBBTEFVREFfTE9BREJBTEFOQ0VSMjoge1xuICAgIGFwaUdyb3VwOiBDUkRfR1JPVVAsXG4gICAgdHlwZTogJ2FsYXVkYWxvYWRiYWxhbmNlcjInLFxuICB9LFxuICBBTEIyOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjJiZXRhMScsXG4gICAgdHlwZTogJ2FsYXVkYWxvYWRiYWxhbmNlcjInLFxuICB9LFxuICBIRUxNX1JFUVVFU1Q6IHtcbiAgICB0eXBlOiAnaGVsbXJlcXVlc3RzJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIC8vIFRPRE86IOWPquaPkOS+m+S6kei+ueS9v+eUqO+8jOWQjue7reWuueWZqOW5s+WPsOmcgOimgeWNh+e6p+WIsCB2MVxuICBIRUxNX1JFUVVFU1RfVjE6IHtcbiAgICB0eXBlOiAnaGVsbXJlcXVlc3RzJyxcbiAgICBhcGlHcm91cDogQVBQX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIERFUExPWU1FTlQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdkZXBsb3ltZW50cycsXG4gIH0sXG4gIERBRU1PTlNFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ2RhZW1vbnNldHMnLFxuICB9LFxuICBTVEFURUZVTFNFVDoge1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgdHlwZTogJ3N0YXRlZnVsc2V0cycsXG4gIH0sXG4gIEZST05URU5EOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICB0eXBlOiAnZnJvbnRlbmRzJyxcbiAgfSxcbiAgUlVMRToge1xuICAgIGFwaUdyb3VwOiBDUkRfR1JPVVAsXG4gICAgdHlwZTogJ3J1bGVzJyxcbiAgfSxcbiAgUE9EOiB7XG4gICAgdHlwZTogJ3BvZHMnLFxuICB9LFxuICBQT0RTX0VYRUM6IHtcbiAgICB0eXBlOiAncG9kcy9leGVjJyxcbiAgfSxcbiAgUE9EU19ST09UX0VYRUM6IHtcbiAgICB0eXBlOiAncG9kcy9yb290LWV4ZWMnLFxuICB9LFxuICBDT05GSUdfTUFQOiB7XG4gICAgdHlwZTogJ2NvbmZpZ21hcHMnLFxuICB9LFxuICBBTEVSVF9URU1QTEFURToge1xuICAgIGFwaUdyb3VwOiBBSU9QU19HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gICAgdHlwZTogJ2FsZXJ0dGVtcGxhdGVzJyxcbiAgfSxcbiAgQVBQTElDQVRJT046IHtcbiAgICBhcGlHcm91cDogSzhTX0FQUF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnMnLFxuICB9LFxuICBBUFBMSUNBVElPTl9ISVNUT1JZOiB7XG4gICAgYXBpR3JvdXA6IEs4U19BUFBfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25oaXN0b3JpZXMnLFxuICB9LFxuICBDTFVTVEVSOiB7XG4gICAgYXBpR3JvdXA6ICdjbHVzdGVycmVnaXN0cnkuazhzLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdjbHVzdGVycycsXG4gIH0sXG4gIENMVVNURVJfVklFVzoge1xuICAgIGFwaUdyb3VwOiAnY2x1c3Rlci5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ2NsdXN0ZXJ2aWV3cycsXG4gIH0sXG4gIERBRU1PTl9TRVQ6IHtcbiAgICBhcGlHcm91cDogJ2FwcHMnLFxuICAgIHR5cGU6ICdkYWVtb25zZXRzJyxcbiAgfSxcbiAgU1RBVEVGVUxfU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAnc3RhdGVmdWxzZXRzJyxcbiAgfSxcbiAgRE9NQUlOOiB7XG4gICAgYXBpR3JvdXA6IENSRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjInLFxuICAgIHR5cGU6ICdkb21haW5zJyxcbiAgfSxcbiAgRkVBVFVSRToge1xuICAgIGFwaUdyb3VwOiAnaW5mcmFzdHJ1Y3R1cmUuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdmZWF0dXJlcycsXG4gIH0sXG4gIEFMQVVEQV9GRUFUVVJFX0dBVEU6IHtcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAnYWxhdWRhZmVhdHVyZWdhdGVzJyxcbiAgfSxcbiAgQ0xVU1RFUl9BTEFVREFfRkVBVFVSRV9HQVRFOiB7XG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ2NsdXN0ZXJhbGF1ZGFmZWF0dXJlZ2F0ZXMnLFxuICB9LFxuICBIT1JJWk9OVEFMX1BPRF9BVVRPU0NBTEVSOiB7XG4gICAgYXBpR3JvdXA6ICdhdXRvc2NhbGluZycsXG4gICAgYXBpVmVyc2lvbjogJ3YyJyxcbiAgICB0eXBlOiAnaG9yaXpvbnRhbHBvZGF1dG9zY2FsZXJzJyxcbiAgfSxcbiAgTE9HOiB7XG4gICAgYXBpR3JvdXA6IEFJT1BTX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnbG9ncycsXG4gIH0sXG4gIFBST0pFQ1Q6IHtcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICB0eXBlOiAncHJvamVjdHMnLFxuICB9LFxuICBQUk9NRVRIRVVTX1JVTEU6IHtcbiAgICBhcGlHcm91cDogJ21vbml0b3JpbmcuY29yZW9zLmNvbScsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAncHJvbWV0aGV1c3J1bGVzJyxcbiAgfSxcbiAgQUxFUlRfSElTVE9SWToge1xuICAgIGFwaUdyb3VwOiBBSU9QU19HUk9VUCxcbiAgICB0eXBlOiAnYWxlcnRoaXN0b3JpZXMnLFxuICB9LFxuICBTRUxGX1NVQkpFQ1RfQUNDRVNTX1JFVklFVzoge1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHR5cGU6ICdzZWxmc3ViamVjdGFjY2Vzc3Jldmlld3MnLFxuICB9LFxuICBWSUVXOiB7XG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gICAgdHlwZTogJ3ZpZXdzJyxcbiAgfSxcbiAgU0VSVklDRToge1xuICAgIHR5cGU6ICdzZXJ2aWNlcycsXG4gIH0sXG4gIExJTUlUX1JBTkdFOiB7XG4gICAgdHlwZTogJ2xpbWl0cmFuZ2VzJyxcbiAgfSxcbiAgU0VDUkVUOiB7XG4gICAgdHlwZTogJ3NlY3JldHMnLFxuICB9LFxuICBDUk9OX0pPQjoge1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ2Nyb25qb2JzJyxcbiAgfSxcbiAgQURWQU5DRURfQ1JPTl9KT0I6IHtcbiAgICB0eXBlOiAnYWR2YW5jZWRjcm9uam9icycsXG4gICAgYXBpR3JvdXA6ICdvcGVyYXRvci5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIEpPQjoge1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHR5cGU6ICdqb2JzJyxcbiAgfSxcbiAgSU5HUkVTUzoge1xuICAgIGFwaUdyb3VwOiAnbmV0d29ya2luZy5rOHMuaW8nLFxuICAgIHR5cGU6ICdpbmdyZXNzZXMnLFxuICB9LFxuICBQRVJTSVNURU5UX1ZPTFVNRV9DTEFJTToge1xuICAgIHR5cGU6ICdwZXJzaXN0ZW50dm9sdW1lY2xhaW1zJyxcbiAgfSxcbiAgTkFNRVNQQUNFOiB7XG4gICAgdHlwZTogJ25hbWVzcGFjZXMnLFxuICB9LFxuICBOT0RFOiB7XG4gICAgdHlwZTogJ25vZGVzJyxcbiAgfSxcbiAgTk9ERV9NRVRSSUNTOiB7XG4gICAgYXBpR3JvdXA6ICdtZXRyaWNzLms4cy5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdub2RlcycsXG4gIH0sXG4gIFBWOiB7XG4gICAgdHlwZTogJ3BlcnNpc3RlbnR2b2x1bWVzJyxcbiAgfSxcbiAgQ1JEOiB7XG4gICAgYXBpR3JvdXA6ICdhcGlleHRlbnNpb25zLms4cy5pbycsXG4gICAgdHlwZTogJ2N1c3RvbXJlc291cmNlZGVmaW5pdGlvbnMnLFxuICB9LFxuICBDSEFSVF9SRVBPOiB7XG4gICAgdHlwZTogJ2NoYXJ0cmVwb3MnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICB9LFxuICBDSEFSVDoge1xuICAgIHR5cGU6ICdjaGFydHMnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgTkVUV09SS19QT0xJQ1k6IHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICB0eXBlOiAnbmV0d29ya3BvbGljaWVzJyxcbiAgfSxcbiAgU0VSVklDRV9BQ0NPVU5UOiB7XG4gICAgdHlwZTogJ3NlcnZpY2VhY2NvdW50cycsXG4gIH0sXG4gIFJFUExJQ0FfU0VUOiB7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICB0eXBlOiAncmVwbGljYXNldHMnLFxuICB9LFxuICBQT0RfU0VDVVJJVFlfUE9MSUNZOiB7XG4gICAgYXBpR3JvdXA6ICdwb2xpY3knLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAncG9kc2VjdXJpdHlwb2xpY2llcycsXG4gIH0sXG4gIE5BTUVTUEFDRV9PVkVSVklFVzoge1xuICAgIGFwaUdyb3VwOiAnazhzLmlvJyxcbiAgICB0eXBlOiAnbmFtZXNwYWNlb3ZlcnZpZXdzJyxcbiAgfSxcbiAgQ1NQOiB7XG4gICAgYXBpR3JvdXA6ICdwcm9kdWN0LmFsYXVkYS5pbycsXG4gICAgdHlwZTogJ2NzcHMnLFxuICB9LFxuICBSRVNPVVJDRV9RVU9UQToge1xuICAgIHR5cGU6ICdyZXNvdXJjZXF1b3RhcycsXG4gIH0sXG4gIENMVVNURVJfTkVUV09SS19QT0xJQ1k6IHtcbiAgICBhcGlHcm91cDogQ1JEX0dST1VQLFxuICAgIHR5cGU6ICdjbHVzdGVybmV0d29ya3BvbGljaWVzJyxcbiAgfSxcbiAgUFJPSkVDVF9RVU9UQToge1xuICAgIGFwaUdyb3VwOiAnYXV0aC5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gICAgdHlwZTogJ3Byb2plY3RxdW90YXMnLFxuICB9LFxuICBUS0VfQ0xVU1RFUjoge1xuICAgIGFwaUdyb3VwOiBUS0VfUExBVEZPUk1fR1JPVVAsXG4gICAgdHlwZTogJ2NsdXN0ZXJzJyxcbiAgfSxcbiAgVEtFX01BQ0hJTkU6IHtcbiAgICBhcGlHcm91cDogVEtFX1BMQVRGT1JNX0dST1VQLFxuICAgIHR5cGU6ICdtYWNoaW5lcycsXG4gIH0sXG4gIE1BQ0hJTkU6IHtcbiAgICBhcGlHcm91cDogTUFDSElORV9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdtYWNoaW5lcycsXG4gIH0sXG4gIE5PREVfR1JPVVA6IHtcbiAgICBhcGlHcm91cDogJ3NlY3VyaXR5LmFsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTEnLFxuICAgIHR5cGU6ICdub2RlZ3JvdXBzJyxcbiAgfSxcbiAgQ0xVU1RFUlNFUlZJQ0VWRVJTSU9OOiB7XG4gICAgYXBpR3JvdXA6IENPUkVPU19PUEVSQVRPUl9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdjbHVzdGVyc2VydmljZXZlcnNpb25zJyxcbiAgfSxcbiAgVEVOQU5UOiB7XG4gICAgYXBpR3JvdXA6ICdtaW5pby5taW4uaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MicsXG4gICAgdHlwZTogJ3RlbmFudHMnLFxuICB9LFxuICBTVUJTQ1JJUFRJT046IHtcbiAgICBhcGlHcm91cDogQ09SRU9TX09QRVJBVE9SX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ3N1YnNjcmlwdGlvbnMnLFxuICB9LFxuICBQQUNLQUdFX01BTklGRVNUOiB7XG4gICAgYXBpR3JvdXA6ICdwYWNrYWdlcy5vcGVyYXRvcnMuY29yZW9zLmNvbScsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgICB0eXBlOiAncGFja2FnZW1hbmlmZXN0cycsXG4gIH0sXG4gIEJVQ0tFVF9DTEFTUzoge1xuICAgIGFwaUdyb3VwOiAnb2JqZWN0c3RvcmFnZS5rOHMuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ2J1Y2tldGNsYXNzZXMnLFxuICB9LFxuICBQUk9EVUNUX0NPTkZJRzoge1xuICAgIHR5cGU6ICdwcm9kdWN0Y29uZmlncycsXG4gICAgYXBpR3JvdXA6ICdhbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIFNUT1JBR0VfQ0xBU1M6IHtcbiAgICB0eXBlOiAnc3RvcmFnZWNsYXNzZXMnLFxuICAgIGFwaUdyb3VwOiBTVE9SQUdFX0dST1VQLFxuICB9LFxuICBWT0xVTUVfU05BUFNIT1RfQ0xBU1M6IHtcbiAgICB0eXBlOiAndm9sdW1lc25hcHNob3RjbGFzc2VzJyxcbiAgICBhcGlHcm91cDogVk9MVU1FX1NOQVBTSE9UX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIFBST0RVQ1RfQkFTRToge1xuICAgIHR5cGU6ICdwcm9kdWN0YmFzZXMnLFxuICAgIGFwaUdyb3VwOiAncHJvZHVjdC5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gIH0sXG4gIE1PRFVMRV9JTkZPOiB7XG4gICAgdHlwZTogJ21vZHVsZWluZm9lcycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICBhcGlHcm91cDogQ0xVU1RFUl9BUElfR1JPVVAsXG4gIH0sXG4gIE1PRFVMRV9DT05GSUc6IHtcbiAgICBhcGlHcm91cDogQ0xVU1RFUl9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnbW9kdWxlY29uZmlncycsXG4gIH0sXG4gIE1PRFVMRV9QTFVHSU46IHtcbiAgICBhcGlHcm91cDogQ0xVU1RFUl9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnbW9kdWxlcGx1Z2lucycsXG4gIH0sXG4gIFBST0RVQ1RfRU5UUlk6IHtcbiAgICB0eXBlOiAncHJvZHVjdGVudHJpZXMnLFxuICAgIGFwaUdyb3VwOiAnYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBQUk9EVUNUX0RPQ1NfRU5UUlk6IHtcbiAgICB0eXBlOiAncHJvZHVjdGRvY3NlbnRyaWVzJyxcbiAgICBhcGlHcm91cDogJ2FsYXVkYS5pbycsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgU0VSVklDRU1FU0hfR1JPVVA6IHtcbiAgICBhcGlHcm91cDogJ2FzbS5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ3NlcnZpY2VtZXNoZ3JvdXBzJyxcbiAgfSxcbiAgQ0xVU1RFUl9NT0RVTEU6IHtcbiAgICB0eXBlOiAnY2x1c3Rlcm1vZHVsZXMnLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgYXBpR3JvdXA6IENMVVNURVJfQVBJX0dST1VQLFxuICB9LFxuICBVU0VSX1NFQ1VSSVRZX1BPTElDWToge1xuICAgIHR5cGU6ICd1c2VycG9saWNpZXMnLFxuICAgIGFwaUdyb3VwOiAnc2VjdXJpdHkuYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBDT05ORUNUT1I6IHtcbiAgICB0eXBlOiAnY29ubmVjdG9ycycsXG4gICAgYXBpR3JvdXA6ICdkZXguY29yZW9zLmNvbScsXG4gIH0sXG4gIEFDQ0VTU19UT0tFTl9JTkZPOiB7XG4gICAgdHlwZTogJ2FjY2Vzc3Rva2VuaW5mb2VzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgfSxcbiAgRlVOQ1RJT05fUkVTT1VSQ0U6IHtcbiAgICB0eXBlOiAnZnVuY3Rpb25yZXNvdXJjZXMnLFxuICAgIGFwaUdyb3VwOiBBVVRIX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgfSxcbiAgVVNFUl9CSU5ESU5HOiB7XG4gICAgdHlwZTogJ3VzZXJiaW5kaW5ncycsXG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxJyxcbiAgfSxcbiAgVVNFUjoge1xuICAgIHR5cGU6ICd1c2VycycsXG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gIH0sXG4gIEdST1VQOiB7XG4gICAgdHlwZTogJ2dyb3VwcycsXG4gICAgYXBpR3JvdXA6IEFVVEhfR1JPVVAsXG4gIH0sXG4gIFBST0pFQ1RfTUVNQkVSOiB7XG4gICAgdHlwZTogJ3Byb2plY3RtZW1iZXJzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgfSxcbiAgUk9MRV9URU1QTEFURToge1xuICAgIHR5cGU6ICdyb2xldGVtcGxhdGVzJyxcbiAgICBhcGlHcm91cDogQVVUSF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMScsXG4gIH0sXG4gIEJBVENIX0FDVElPTjoge1xuICAgIGFwaUdyb3VwOiAnYmF0Y2guYWxhdWRhLmlvJyxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdiYXRjaGFjdGlvbnMnLFxuICB9LFxuICBFVkVOVDoge1xuICAgIHR5cGU6ICdldmVudHMnLFxuICAgIGFwaVZlcnNpb246ICd2MScsXG4gIH0sXG4gIFNFUlZJQ0VfTU9OSVRPUjoge1xuICAgIGFwaUdyb3VwOiAnbW9uaXRvcmluZy5jb3Jlb3MuY29tJyxcbiAgICB0eXBlOiAnc2VydmljZW1vbml0b3JzJyxcbiAgICBhcGlWZXJzaW9uOiAndjEnLFxuICB9LFxuICBPQU1fQVBQTElDQVRJT046IHtcbiAgICBhcGlHcm91cDogT0FNX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWJldGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zJyxcbiAgfSxcbiAgQVJHT0NEX0FQUExJQ0FUSU9OX1NFVDoge1xuICAgIGFwaUdyb3VwOiBBUkdPQ0RfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgICB0eXBlOiAnYXBwbGljYXRpb25zZXRzJyxcbiAgfSxcbiAgQVJHT0NEX0FQUExJQ0FUSU9OOiB7XG4gICAgYXBpR3JvdXA6IEFSR09DRF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICAgIHR5cGU6ICdhcHBsaWNhdGlvbnMnLFxuICB9LFxuICBPUEVSQVRPUl9WSUVXOiB7XG4gICAgdHlwZTogJ29wZXJhdG9ydmlld3MnLFxuICAgIGFwaUdyb3VwOiBBUFBfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYmV0YTInLFxuICB9LFxuICBNT0RVTEVfUExVR0lOX1ZJRVc6IHtcbiAgICB0eXBlOiAnbW9kdWxlcGx1Z2ludmlldycsXG4gICAgYXBpR3JvdXA6IEFQUF9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFiZXRhMicsXG4gIH0sXG4gIFJFU09VUkNFX1BBVENIOiB7XG4gICAgYXBpR3JvdXA6ICdvcGVyYXRvci5hbGF1ZGEuaW8nLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ3Jlc291cmNlcGF0Y2hlcycsXG4gIH0sXG4gIENPTVBPTkVOVF9QUk9CRVI6IHtcbiAgICB0eXBlOiAnY29tcG9uZW50cHJvYmVycycsXG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgSU5TUEVDVElPTjoge1xuICAgIHR5cGU6ICdpbnNwZWN0aW9ucycsXG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgSU5TUEVDVElPTl9ERVRBSUxTOiB7XG4gICAgdHlwZTogJ2luc3BlY3Rpb25kZXRhaWxzJyxcbiAgICBhcGlHcm91cDogQUlUX0FQSV9HUk9VUCxcbiAgICBhcGlWZXJzaW9uOiAndjFhbHBoYTEnLFxuICB9LFxuICBJTlNQRUNUSU9OX0lURU1TOiB7XG4gICAgdHlwZTogJ2luc3BlY3Rpb25pdGVtcycsXG4gICAgYXBpR3JvdXA6IEFJVF9BUElfR1JPVVAsXG4gICAgYXBpVmVyc2lvbjogJ3YxYWxwaGExJyxcbiAgfSxcbiAgTUVTU0FHRToge1xuICAgIGFwaUdyb3VwOiBBSVRfQVBJX0dST1VQLFxuICAgIGFwaVZlcnNpb246ICd2MWFscGhhMScsXG4gICAgdHlwZTogJ21lc3NhZ2VzJyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgQ09NTU9OX1JFU09VUkNFX0RFRklOSVRJT05TID0gXy5SRVNPVVJDRV9ERUZJTklUSU9OUztcbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9UWVBFUyA9IF8uUkVTT1VSQ0VfVFlQRVM7XG5leHBvcnQgY29uc3QgZ2V0WWFtbEFwaVZlcnNpb24gPSBfLmdldFlhbWxBcGlWZXJzaW9uO1xuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVR5cGUgPSBrZXlvZiB0eXBlb2YgUkVTT1VSQ0VfVFlQRVM7XG5cbmV4cG9ydCBjb25zdCBNYWNoaW5lTWV0YTogVHlwZU1ldGEgPSB7XG4gIGFwaVZlcnNpb246IGdldFlhbWxBcGlWZXJzaW9uKFJFU09VUkNFX1RZUEVTLlRLRV9NQUNISU5FKSxcbiAga2luZDogJ01hY2hpbmUnLFxufTtcblxuZXhwb3J0IGNvbnN0IFRLRUNsdXN0ZXJNZXRhOiBUeXBlTWV0YSA9IHtcbiAgYXBpVmVyc2lvbjogZ2V0WWFtbEFwaVZlcnNpb24oUkVTT1VSQ0VfVFlQRVMuVEtFX0NMVVNURVIpLFxuICBraW5kOiAnQ2x1c3RlcicsXG59O1xuXG5leHBvcnQgY29uc3QgU2VydmljZVR5cGVNZXRhID0ge1xuICBhcGlWZXJzaW9uOiBnZXRZYW1sQXBpVmVyc2lvbihSRVNPVVJDRV9UWVBFUy5TRVJWSUNFKSxcbiAga2luZDogJ1NlcnZpY2UnLFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
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
|
-
|
|
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==
|