@sabstravtech/obtservices 0.0.22050309 → 0.0.26051001
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/components/basket-panel.d.ts +1 -0
- package/angular/fetchers.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-companies.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-company.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +7 -0
- package/angular/lib/vendor/services/enterprise-basket.service.d.ts +5 -3
- package/angular/lib/vendor/services/logon.service.d.ts +2 -1
- package/angular/lib/vendor/services/search.service.d.ts +4 -3
- package/angular/lib/vendor/services/ticket-queue.service.d.ts +6 -0
- package/angular/lib/vendor/services/user.service.d.ts +7 -3
- package/angular/lib/vendor/types/graphql.angular.types.d.ts +354 -90
- package/angular/lib/vendor/updaters/create-guest-updater.d.ts +6 -0
- package/angular/sabstravtech-obtservices-angular.d.ts +0 -1
- package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
- package/angular/services.d.ts +1 -0
- package/angular/updaters.d.ts +1 -0
- package/base/fetchers.d.ts +7 -0
- package/base/interfaces.d.ts +2 -0
- package/base/lib/vendor/classes/base-enterprise.d.ts +5 -1
- package/base/lib/vendor/classes/basket-info-mi-details.impl.d.ts +2 -0
- package/base/lib/vendor/classes/bookable-basket.d.ts +2 -0
- package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +6 -4
- package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +5 -3
- package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +5 -4
- package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +18 -13
- package/base/lib/vendor/classes/flight-enterprise-search.d.ts +6 -5
- package/base/lib/vendor/classes/helpers.d.ts +6 -1
- package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +8 -4
- package/base/lib/vendor/classes/irl-enterprise-search.d.ts +23 -9
- package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +4 -3
- package/base/lib/vendor/classes/management-info-and-valid.d.ts +7 -2
- package/base/lib/vendor/classes/modal-types.enum.d.ts +2 -0
- package/base/lib/vendor/classes/parking-enterprise-search.d.ts +4 -3
- package/base/lib/vendor/classes/rail-enterprise-search.d.ts +10 -7
- package/base/lib/vendor/classes/supplementary-booking-info-impl.d.ts +5 -3
- package/base/lib/vendor/fetchers/fast-track-quote.fetcher.d.ts +1 -1
- package/base/lib/vendor/fetchers/get-cancellation-info.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-companies.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/get-company.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/get-user-guests.fetcher.d.ts +20 -0
- package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +4 -2
- package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +10 -6
- package/base/lib/vendor/interfaces/Ieurostar-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Ifast-track-enterprise-search.d.ts +11 -5
- package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +3 -1
- package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +7 -2
- package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +11 -5
- package/base/lib/vendor/interfaces/Ilounges-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Iparking-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Irail-enterprise-search.d.ts +6 -2
- package/base/lib/vendor/interfaces/Isearch.service.d.ts +4 -2
- package/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.d.ts +3 -2
- package/base/lib/vendor/interfaces/Iuser.service.d.ts +3 -1
- package/base/lib/vendor/interfaces/car-hire-search-arg.interface.d.ts +2 -3
- package/base/lib/vendor/interfaces/fast-track-filters.interface.d.ts +4 -0
- package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
- package/base/lib/vendor/interfaces/summary-interface.d.ts +4 -0
- package/base/lib/vendor/interfaces/user.data.d.ts +1 -0
- package/base/lib/vendor/models/traveller.object.d.ts +1 -1
- package/base/lib/vendor/services/enterprise-basket.service.d.ts +28 -10
- package/base/lib/vendor/services/logon.service.d.ts +5 -1
- package/base/lib/vendor/services/requires-reason.service.d.ts +20 -0
- package/base/lib/vendor/services/search.service.d.ts +30 -25
- package/base/lib/vendor/services/url.service.d.ts +2 -0
- package/base/lib/vendor/services/user.service.d.ts +21 -5
- package/base/lib/vendor/services/webtoken.service.d.ts +5 -0
- package/base/lib/vendor/types/graphql.types.d.ts +326 -89
- package/base/lib/vendor/types/types.d.ts +44 -17
- package/base/lib/vendor/updaters/create-guest-updater.d.ts +19 -0
- package/base/sabstravtech-obtservices-base.d.ts +1 -1
- package/base/sabstravtech-obtservices-base.metadata.json +1 -1
- package/base/services.d.ts +1 -0
- package/base/updaters.d.ts +1 -0
- package/bundles/sabstravtech-obtservices-angular.umd.js +466 -180
- package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.js +4435 -1004
- package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
- package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
- package/esm2015/angular/components/basket-panel.js +16 -7
- package/esm2015/angular/fetchers.js +8 -1
- package/esm2015/angular/lib/vendor/fetchers/get-cancellation-info.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-companies.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-company.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-user-guests.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +11 -5
- package/esm2015/angular/lib/vendor/services/http-call.service.js +6 -2
- package/esm2015/angular/lib/vendor/services/logon.service.js +8 -5
- package/esm2015/angular/lib/vendor/services/search.service.js +28 -25
- package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +23 -0
- package/esm2015/angular/lib/vendor/services/user.service.js +21 -9
- package/esm2015/angular/lib/vendor/services/webtoken.service.js +6 -2
- package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +353 -72
- package/esm2015/angular/lib/vendor/updaters/create-guest-updater.js +22 -0
- package/esm2015/angular/obtservices.module.js +3 -1
- package/esm2015/angular/sabstravtech-obtservices-angular.js +1 -2
- package/esm2015/angular/services.js +2 -1
- package/esm2015/angular/updaters.js +2 -1
- package/esm2015/base/fetchers.js +8 -1
- package/esm2015/base/interfaces.js +3 -1
- package/esm2015/base/lib/vendor/classes/base-enterprise.js +8 -2
- package/esm2015/base/lib/vendor/classes/basket-info-mi-details.impl.js +17 -1
- package/esm2015/base/lib/vendor/classes/bookable-basket.js +27 -6
- package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +98 -11
- package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +146 -68
- package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +140 -37
- package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +111 -23
- package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +218 -40
- package/esm2015/base/lib/vendor/classes/helpers.js +24 -4
- package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +191 -48
- package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +271 -27
- package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +59 -11
- package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +13 -9
- package/esm2015/base/lib/vendor/classes/modal-types.enum.js +3 -1
- package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +63 -11
- package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +183 -23
- package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +42 -4
- package/esm2015/base/lib/vendor/fetchers/fast-track-quote.fetcher.js +2 -2
- package/esm2015/base/lib/vendor/fetchers/get-cancellation-info.fetcher.js +10 -0
- package/esm2015/base/lib/vendor/fetchers/get-companies.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-company.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-irl-supplier-station.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-user-guests.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ieurostar-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ifast-track-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +2 -1
- package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ilounges-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iparking-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Irail-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isupplementary-booking-info-impl.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/car-hire-search-arg.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/fast-track-filters.interface.js +2 -0
- package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/user.data.js +1 -1
- package/esm2015/base/lib/vendor/models/traveller.object.js +1 -1
- package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +154 -45
- package/esm2015/base/lib/vendor/services/hotel-avallibility.service.js +16 -12
- package/esm2015/base/lib/vendor/services/http-call.service.js +1 -1
- package/esm2015/base/lib/vendor/services/logon.service.js +37 -3
- package/esm2015/base/lib/vendor/services/requires-reason.service.js +53 -0
- package/esm2015/base/lib/vendor/services/search.service.js +82 -101
- package/esm2015/base/lib/vendor/services/url.service.js +3 -1
- package/esm2015/base/lib/vendor/services/user.service.js +64 -9
- package/esm2015/base/lib/vendor/services/webtoken.service.js +16 -5
- package/esm2015/base/lib/vendor/types/graphql.types.js +15 -2
- package/esm2015/base/lib/vendor/types/types.js +1679 -21
- package/esm2015/base/lib/vendor/updaters/create-guest-updater.js +11 -0
- package/esm2015/base/sabstravtech-obtservices-base.js +1 -1
- package/esm2015/base/services.js +2 -1
- package/esm2015/base/updaters.js +2 -1
- package/fesm2015/sabstravtech-obtservices-angular.js +570 -148
- package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
- package/fesm2015/sabstravtech-obtservices-base.js +3725 -466
- package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ export var BasketItemStatus;
|
|
|
17
17
|
(function (BasketItemStatus) {
|
|
18
18
|
BasketItemStatus["Open"] = "OPEN";
|
|
19
19
|
BasketItemStatus["Booked"] = "BOOKED";
|
|
20
|
+
BasketItemStatus["Cancelled"] = "CANCELLED";
|
|
20
21
|
BasketItemStatus["BookingFailed"] = "BOOKING_FAILED";
|
|
21
22
|
})(BasketItemStatus || (BasketItemStatus = {}));
|
|
22
23
|
export var BasketStatus;
|
|
@@ -381,6 +382,11 @@ export var IrlTravellerStatus;
|
|
|
381
382
|
IrlTravellerStatus["Placeholder"] = "placeholder";
|
|
382
383
|
IrlTravellerStatus["Complete"] = "complete";
|
|
383
384
|
})(IrlTravellerStatus || (IrlTravellerStatus = {}));
|
|
385
|
+
export var LeadPassengerType;
|
|
386
|
+
(function (LeadPassengerType) {
|
|
387
|
+
LeadPassengerType["User"] = "USER";
|
|
388
|
+
LeadPassengerType["Guest"] = "GUEST";
|
|
389
|
+
})(LeadPassengerType || (LeadPassengerType = {}));
|
|
384
390
|
export var LogLevelType;
|
|
385
391
|
(function (LogLevelType) {
|
|
386
392
|
LogLevelType["Error"] = "ERROR";
|
|
@@ -417,11 +423,18 @@ export var PreferenceKey;
|
|
|
417
423
|
(function (PreferenceKey) {
|
|
418
424
|
PreferenceKey["MealRequest"] = "MEAL_REQUEST";
|
|
419
425
|
PreferenceKey["SeatingPreference"] = "SEATING_PREFERENCE";
|
|
420
|
-
PreferenceKey["
|
|
426
|
+
PreferenceKey["SpecialNeed"] = "SPECIAL_NEED";
|
|
421
427
|
PreferenceKey["SeatLocation"] = "SEAT_LOCATION";
|
|
422
428
|
PreferenceKey["SeatPosition"] = "SEAT_POSITION";
|
|
423
429
|
PreferenceKey["SeatDirection"] = "SEAT_DIRECTION";
|
|
424
430
|
})(PreferenceKey || (PreferenceKey = {}));
|
|
431
|
+
export var ProfileConfigOption;
|
|
432
|
+
(function (ProfileConfigOption) {
|
|
433
|
+
ProfileConfigOption["Inherited"] = "INHERITED";
|
|
434
|
+
ProfileConfigOption["Editable"] = "EDITABLE";
|
|
435
|
+
ProfileConfigOption["Visible"] = "VISIBLE";
|
|
436
|
+
ProfileConfigOption["Hidden"] = "HIDDEN";
|
|
437
|
+
})(ProfileConfigOption || (ProfileConfigOption = {}));
|
|
425
438
|
export var RailClass;
|
|
426
439
|
(function (RailClass) {
|
|
427
440
|
RailClass["All"] = "All";
|
|
@@ -495,8 +508,8 @@ export const OwnerFieldsFragmentDoc = gql `
|
|
|
495
508
|
email
|
|
496
509
|
}
|
|
497
510
|
`;
|
|
498
|
-
export const
|
|
499
|
-
fragment
|
|
511
|
+
export const TravellerUserFieldsFragmentDoc = gql `
|
|
512
|
+
fragment TravellerUserFields on User {
|
|
500
513
|
id
|
|
501
514
|
title
|
|
502
515
|
forename
|
|
@@ -506,12 +519,27 @@ export const TravellerFieldsFragmentDoc = gql `
|
|
|
506
519
|
employeeId
|
|
507
520
|
}
|
|
508
521
|
`;
|
|
522
|
+
export const TravellerGuestsFieldsFragmentDoc = gql `
|
|
523
|
+
fragment TravellerGuestsFields on Guest {
|
|
524
|
+
id
|
|
525
|
+
title
|
|
526
|
+
forename
|
|
527
|
+
surname
|
|
528
|
+
email
|
|
529
|
+
gender
|
|
530
|
+
nationality
|
|
531
|
+
}
|
|
532
|
+
`;
|
|
509
533
|
export const BasketFieldsFragmentDoc = gql `
|
|
510
534
|
fragment BasketFields on Basket {
|
|
511
535
|
id
|
|
512
536
|
owner {
|
|
513
537
|
...OwnerFields
|
|
514
538
|
}
|
|
539
|
+
invokedUser {
|
|
540
|
+
id
|
|
541
|
+
email
|
|
542
|
+
}
|
|
515
543
|
reference
|
|
516
544
|
title
|
|
517
545
|
notes
|
|
@@ -565,19 +593,34 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
565
593
|
co2PerPassenger
|
|
566
594
|
outboundDate
|
|
567
595
|
inboundDate
|
|
596
|
+
requiresReason
|
|
568
597
|
service {
|
|
569
598
|
id
|
|
570
599
|
type
|
|
571
600
|
}
|
|
601
|
+
guests {
|
|
602
|
+
id
|
|
603
|
+
forename
|
|
604
|
+
surname
|
|
605
|
+
email
|
|
606
|
+
nationality
|
|
607
|
+
gender
|
|
608
|
+
title
|
|
609
|
+
}
|
|
610
|
+
guestPassengerTypes {
|
|
611
|
+
id
|
|
612
|
+
passengerType
|
|
613
|
+
}
|
|
572
614
|
users {
|
|
573
|
-
...
|
|
615
|
+
...TravellerUserFields
|
|
574
616
|
}
|
|
575
617
|
userPassengerTypes {
|
|
576
618
|
id
|
|
577
619
|
passengerType
|
|
578
620
|
}
|
|
579
621
|
leadPassenger {
|
|
580
|
-
...
|
|
622
|
+
...TravellerUserFields
|
|
623
|
+
...TravellerGuestsFields
|
|
581
624
|
}
|
|
582
625
|
managementInfo {
|
|
583
626
|
id
|
|
@@ -593,7 +636,10 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
593
636
|
agentOnly
|
|
594
637
|
createdAt
|
|
595
638
|
updatedAt
|
|
639
|
+
reason
|
|
596
640
|
fixed
|
|
641
|
+
takeValueFromUserDefault
|
|
642
|
+
takeValueFromBookerDefault
|
|
597
643
|
fixedValue {
|
|
598
644
|
id
|
|
599
645
|
label
|
|
@@ -665,7 +711,8 @@ export const BasketFieldsFragmentDoc = gql `
|
|
|
665
711
|
validated
|
|
666
712
|
}
|
|
667
713
|
${OwnerFieldsFragmentDoc}
|
|
668
|
-
${
|
|
714
|
+
${TravellerUserFieldsFragmentDoc}
|
|
715
|
+
${TravellerGuestsFieldsFragmentDoc}`;
|
|
669
716
|
export const ErrorsFragmentDoc = gql `
|
|
670
717
|
fragment Errors on SearchError {
|
|
671
718
|
service {
|
|
@@ -846,6 +893,12 @@ export const FlightJourneyFieldsFragmentDoc = gql `
|
|
|
846
893
|
}
|
|
847
894
|
}
|
|
848
895
|
`;
|
|
896
|
+
export const UsersFragmentDoc = gql `
|
|
897
|
+
fragment USERS on User {
|
|
898
|
+
id
|
|
899
|
+
email
|
|
900
|
+
}
|
|
901
|
+
`;
|
|
849
902
|
export const RoomAvaliabilityFragmentDoc = gql `
|
|
850
903
|
fragment RoomAvaliability on HotelAvailability {
|
|
851
904
|
hotelId
|
|
@@ -905,6 +958,8 @@ export const RoomAvaliabilityFragmentDoc = gql `
|
|
|
905
958
|
officePreferredMessage
|
|
906
959
|
unavailable
|
|
907
960
|
unavailableMessage
|
|
961
|
+
requiresReason
|
|
962
|
+
requiresReasonMessage
|
|
908
963
|
}
|
|
909
964
|
prpn
|
|
910
965
|
currencyCode
|
|
@@ -964,6 +1019,7 @@ export const RailJourneyFareFragmentDoc = gql `
|
|
|
964
1019
|
kioskAvailable
|
|
965
1020
|
preBookingRequirement
|
|
966
1021
|
railcardDiscount
|
|
1022
|
+
route
|
|
967
1023
|
refundCancellationRule
|
|
968
1024
|
reservationRule
|
|
969
1025
|
ticketTypeAltName
|
|
@@ -978,6 +1034,10 @@ export const RailJourneyFareFragmentDoc = gql `
|
|
|
978
1034
|
}
|
|
979
1035
|
class
|
|
980
1036
|
singleOrReturn
|
|
1037
|
+
mobileTicketAvailable
|
|
1038
|
+
eTicketAvailable
|
|
1039
|
+
selfPrintAvailable
|
|
1040
|
+
railcardCode
|
|
981
1041
|
}
|
|
982
1042
|
`;
|
|
983
1043
|
export const RailJourneyOptionFragmentDoc = gql `
|
|
@@ -1067,6 +1127,8 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1067
1127
|
forename
|
|
1068
1128
|
surname
|
|
1069
1129
|
email
|
|
1130
|
+
additionalEmail
|
|
1131
|
+
canInvokeUser
|
|
1070
1132
|
username
|
|
1071
1133
|
employeeId
|
|
1072
1134
|
createdAt
|
|
@@ -1172,6 +1234,8 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1172
1234
|
createdAt
|
|
1173
1235
|
updatedAt
|
|
1174
1236
|
fixed
|
|
1237
|
+
takeValueFromUserDefault
|
|
1238
|
+
takeValueFromBookerDefault
|
|
1175
1239
|
fixedValue {
|
|
1176
1240
|
id
|
|
1177
1241
|
label
|
|
@@ -1242,6 +1306,7 @@ export const UserFieldsFragmentDoc = gql `
|
|
|
1242
1306
|
emergencyContactName
|
|
1243
1307
|
emergencyContactPhone
|
|
1244
1308
|
emergencyContactEmail
|
|
1309
|
+
canBookGuest
|
|
1245
1310
|
}
|
|
1246
1311
|
`;
|
|
1247
1312
|
export const AcceptNewPriceDocument = gql `
|
|
@@ -1379,8 +1444,8 @@ DeleteBasketGQL.ctorParameters = () => [
|
|
|
1379
1444
|
{ type: Apollo.Apollo }
|
|
1380
1445
|
];
|
|
1381
1446
|
export const CreateBasketDocument = gql `
|
|
1382
|
-
mutation createBasket($title: String, $withSupplemental: Boolean = false) {
|
|
1383
|
-
createBasket(title: $title) {
|
|
1447
|
+
mutation createBasket($convertCurrencyTo: String, $title: String, $invokedUser: ID, $withSupplemental: Boolean = false) {
|
|
1448
|
+
createBasket(convertCurrencyTo: $convertCurrencyTo, title: $title, invokedUser: $invokedUser) {
|
|
1384
1449
|
...BasketFields
|
|
1385
1450
|
}
|
|
1386
1451
|
}
|
|
@@ -1448,8 +1513,8 @@ SendBasketForApprovalGQL.ctorParameters = () => [
|
|
|
1448
1513
|
{ type: Apollo.Apollo }
|
|
1449
1514
|
];
|
|
1450
1515
|
export const AddItemToBasketDocument = gql `
|
|
1451
|
-
mutation addItemToBasket($convertCurrencyTo: String, $basket: ID, $service: ID!, $detail: JSON!, $adults: Int!, $children: Int, $infants: Int, $price: Float!, $currency: CurrencyCode!, $searchQuery: JSON!, $quickAdd: Boolean, $users: [UserPassengerTypeInput], $leadPassenger: ID, $co2PerItem: Float, $co2PerPassenger: Float, $outboundDate: DateTime!, $inboundDate: DateTime, $withSupplemental: Boolean = false) {
|
|
1452
|
-
addItemToBasket(convertCurrencyTo: $convertCurrencyTo, basket: $basket, service: $service, detail: $detail, adults: $adults, children: $children, infants: $infants, price: $price, currency: $currency, searchQuery: $searchQuery, quickAdd: $quickAdd, users: $users, leadPassenger: $leadPassenger, co2PerItem: $co2PerItem, co2PerPassenger: $co2PerPassenger, outboundDate: $outboundDate, inboundDate: $inboundDate) {
|
|
1516
|
+
mutation addItemToBasket($convertCurrencyTo: String, $basket: ID, $service: ID!, $detail: JSON!, $adults: Int!, $children: Int, $infants: Int, $price: Float!, $currency: CurrencyCode!, $searchQuery: JSON!, $quickAdd: Boolean, $users: [UserPassengerTypeInput], $guests: [UserPassengerTypeInput], $leadPassenger: ID, $leadPassengerType: LeadPassengerType, $co2PerItem: Float, $co2PerPassenger: Float, $outboundDate: DateTime!, $inboundDate: DateTime, $requiresReason: Boolean = false, $withSupplemental: Boolean = false) {
|
|
1517
|
+
addItemToBasket(convertCurrencyTo: $convertCurrencyTo, basket: $basket, service: $service, detail: $detail, adults: $adults, children: $children, infants: $infants, price: $price, currency: $currency, searchQuery: $searchQuery, quickAdd: $quickAdd, users: $users, guests: $guests, leadPassenger: $leadPassenger, leadPassengerType: $leadPassengerType, co2PerItem: $co2PerItem, co2PerPassenger: $co2PerPassenger, outboundDate: $outboundDate, inboundDate: $inboundDate, requiresReason: $requiresReason) {
|
|
1453
1518
|
...BasketFields
|
|
1454
1519
|
}
|
|
1455
1520
|
}
|
|
@@ -1564,6 +1629,8 @@ export const SearchCabHireDocument = gql `
|
|
|
1564
1629
|
officePreferredMessage
|
|
1565
1630
|
unavailable
|
|
1566
1631
|
unavailableMessage
|
|
1632
|
+
requiresReason
|
|
1633
|
+
requiresReasonMessage
|
|
1567
1634
|
fromLocation {
|
|
1568
1635
|
address
|
|
1569
1636
|
postcode
|
|
@@ -1771,6 +1838,8 @@ export const SearchCarHireDocument = gql `
|
|
|
1771
1838
|
officePreferredMessage
|
|
1772
1839
|
unavailable
|
|
1773
1840
|
unavailableMessage
|
|
1841
|
+
requiresReason
|
|
1842
|
+
requiresReasonMessage
|
|
1774
1843
|
co2PerPassenger
|
|
1775
1844
|
co2PerItem
|
|
1776
1845
|
}
|
|
@@ -1817,6 +1886,35 @@ ConfirmMessagesGQL.decorators = [
|
|
|
1817
1886
|
ConfirmMessagesGQL.ctorParameters = () => [
|
|
1818
1887
|
{ type: Apollo.Apollo }
|
|
1819
1888
|
];
|
|
1889
|
+
export const CreateGuestDocument = gql `
|
|
1890
|
+
mutation createGuest($title: String!, $forename: String!, $surname: String!, $email: String!, $gender: DocGender!, $nationality: String!) {
|
|
1891
|
+
createGuest(title: $title, forename: $forename, surname: $surname, email: $email, gender: $gender, nationality: $nationality) {
|
|
1892
|
+
id
|
|
1893
|
+
title
|
|
1894
|
+
forename
|
|
1895
|
+
surname
|
|
1896
|
+
email
|
|
1897
|
+
gender
|
|
1898
|
+
nationality
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
`;
|
|
1902
|
+
export class CreateGuestGQL extends Apollo.Mutation {
|
|
1903
|
+
constructor(apollo) {
|
|
1904
|
+
super(apollo);
|
|
1905
|
+
this.document = CreateGuestDocument;
|
|
1906
|
+
}
|
|
1907
|
+
}
|
|
1908
|
+
/** @nocollapse */ CreateGuestGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function CreateGuestGQL_Factory() { return new CreateGuestGQL(i0.ɵɵinject(i1.Apollo)); }, token: CreateGuestGQL, providedIn: "root" });
|
|
1909
|
+
CreateGuestGQL.decorators = [
|
|
1910
|
+
{ type: Injectable, args: [{
|
|
1911
|
+
providedIn: 'root'
|
|
1912
|
+
},] }
|
|
1913
|
+
];
|
|
1914
|
+
/** @nocollapse */
|
|
1915
|
+
CreateGuestGQL.ctorParameters = () => [
|
|
1916
|
+
{ type: Apollo.Apollo }
|
|
1917
|
+
];
|
|
1820
1918
|
export const DeleteFavouriteSearchDocument = gql `
|
|
1821
1919
|
mutation deleteFavouriteSearch($id: ID!) {
|
|
1822
1920
|
deleteFavouriteSearch(id: $id)
|
|
@@ -1881,16 +1979,15 @@ DeleteUserAddressGQL.ctorParameters = () => [
|
|
|
1881
1979
|
{ type: Apollo.Apollo }
|
|
1882
1980
|
];
|
|
1883
1981
|
export const EditUserDocument = gql `
|
|
1884
|
-
mutation editUser($id: ID!, $title: String, $forename: String, $surname: String, $email: String, $
|
|
1885
|
-
editUser(id: $id, title: $title, forename: $forename, surname: $surname, email: $email,
|
|
1982
|
+
mutation editUser($id: ID!, $title: String, $forename: String, $surname: String, $email: String, $additionalEmail: [String], $dob: Date, $selectedLanguage: ID, $emergencyContactName: String, $emergencyContactPhone: String, $emergencyContactEmail: String, $phoneNumbers: [PhoneNumberInput!], $addresses: [AddressInput!], $userMiDefaultValues: [UserMiDefaultValuesInput!], $documents: [DocumentInput!], $loyaltyCodes: [UserLoyaltyCodeInput!], $preferences: [UserPreferenceInput!]) {
|
|
1983
|
+
editUser(id: $id, title: $title, forename: $forename, surname: $surname, email: $email, additionalEmail: $additionalEmail, dob: $dob, selectedLanguage: $selectedLanguage, emergencyContactName: $emergencyContactName, emergencyContactPhone: $emergencyContactPhone, emergencyContactEmail: $emergencyContactEmail, phoneNumbers: $phoneNumbers, addresses: $addresses, userMiDefaultValues: $userMiDefaultValues, documents: $documents, loyaltyCodes: $loyaltyCodes, preferences: $preferences) {
|
|
1886
1984
|
id
|
|
1887
1985
|
title
|
|
1888
1986
|
forename
|
|
1889
1987
|
surname
|
|
1890
1988
|
email
|
|
1989
|
+
additionalEmail
|
|
1891
1990
|
username
|
|
1892
|
-
employeeId
|
|
1893
|
-
confermaId
|
|
1894
1991
|
createdAt
|
|
1895
1992
|
updatedAt
|
|
1896
1993
|
dob
|
|
@@ -1905,19 +2002,23 @@ export const EditUserDocument = gql `
|
|
|
1905
2002
|
id
|
|
1906
2003
|
name
|
|
1907
2004
|
isoCode
|
|
2005
|
+
__typename
|
|
1908
2006
|
}
|
|
1909
2007
|
availableLanguages {
|
|
1910
2008
|
id
|
|
1911
2009
|
name
|
|
1912
2010
|
isoCode
|
|
2011
|
+
__typename
|
|
1913
2012
|
}
|
|
1914
2013
|
approvers {
|
|
1915
2014
|
active
|
|
1916
2015
|
priority
|
|
2016
|
+
__typename
|
|
1917
2017
|
}
|
|
1918
2018
|
approverFor {
|
|
1919
2019
|
active
|
|
1920
2020
|
priority
|
|
2021
|
+
__typename
|
|
1921
2022
|
}
|
|
1922
2023
|
co2AllowancePeriod
|
|
1923
2024
|
co2AllowancePerPeriod
|
|
@@ -1938,6 +2039,7 @@ export const EditUserDocument = gql `
|
|
|
1938
2039
|
type
|
|
1939
2040
|
officePrimary
|
|
1940
2041
|
userPrimary
|
|
2042
|
+
__typename
|
|
1941
2043
|
}
|
|
1942
2044
|
addresses {
|
|
1943
2045
|
id
|
|
@@ -1950,6 +2052,7 @@ export const EditUserDocument = gql `
|
|
|
1950
2052
|
countryCode
|
|
1951
2053
|
userPrimary
|
|
1952
2054
|
officePrimary
|
|
2055
|
+
__typename
|
|
1953
2056
|
}
|
|
1954
2057
|
userMiDefaultValues {
|
|
1955
2058
|
service {
|
|
@@ -1965,6 +2068,7 @@ export const EditUserDocument = gql `
|
|
|
1965
2068
|
amendable
|
|
1966
2069
|
detailSchema
|
|
1967
2070
|
searchQuerySchema
|
|
2071
|
+
__typename
|
|
1968
2072
|
}
|
|
1969
2073
|
managementInfo {
|
|
1970
2074
|
id
|
|
@@ -1986,6 +2090,7 @@ export const EditUserDocument = gql `
|
|
|
1986
2090
|
amendable
|
|
1987
2091
|
detailSchema
|
|
1988
2092
|
searchQuerySchema
|
|
2093
|
+
__typename
|
|
1989
2094
|
}
|
|
1990
2095
|
uiPresentation
|
|
1991
2096
|
mandatory
|
|
@@ -2006,6 +2111,7 @@ export const EditUserDocument = gql `
|
|
|
2006
2111
|
default
|
|
2007
2112
|
fixed
|
|
2008
2113
|
agentOnly
|
|
2114
|
+
__typename
|
|
2009
2115
|
}
|
|
2010
2116
|
defaultValue {
|
|
2011
2117
|
id
|
|
@@ -2014,6 +2120,7 @@ export const EditUserDocument = gql `
|
|
|
2014
2120
|
default
|
|
2015
2121
|
fixed
|
|
2016
2122
|
agentOnly
|
|
2123
|
+
__typename
|
|
2017
2124
|
}
|
|
2018
2125
|
values {
|
|
2019
2126
|
id
|
|
@@ -2022,6 +2129,7 @@ export const EditUserDocument = gql `
|
|
|
2022
2129
|
default
|
|
2023
2130
|
fixed
|
|
2024
2131
|
agentOnly
|
|
2132
|
+
__typename
|
|
2025
2133
|
}
|
|
2026
2134
|
group
|
|
2027
2135
|
selectedValues {
|
|
@@ -2032,11 +2140,14 @@ export const EditUserDocument = gql `
|
|
|
2032
2140
|
default
|
|
2033
2141
|
fixed
|
|
2034
2142
|
agentOnly
|
|
2143
|
+
__typename
|
|
2035
2144
|
}
|
|
2036
2145
|
freeValue
|
|
2037
2146
|
basketLevelValue
|
|
2038
2147
|
userLevelValue
|
|
2148
|
+
__typename
|
|
2039
2149
|
}
|
|
2150
|
+
__typename
|
|
2040
2151
|
}
|
|
2041
2152
|
managementInfoValue {
|
|
2042
2153
|
id
|
|
@@ -2045,8 +2156,10 @@ export const EditUserDocument = gql `
|
|
|
2045
2156
|
default
|
|
2046
2157
|
fixed
|
|
2047
2158
|
agentOnly
|
|
2159
|
+
__typename
|
|
2048
2160
|
}
|
|
2049
2161
|
freeTextValue
|
|
2162
|
+
__typename
|
|
2050
2163
|
}
|
|
2051
2164
|
documents {
|
|
2052
2165
|
id
|
|
@@ -2061,6 +2174,7 @@ export const EditUserDocument = gql `
|
|
|
2061
2174
|
primary
|
|
2062
2175
|
createdAt
|
|
2063
2176
|
updatedAt
|
|
2177
|
+
__typename
|
|
2064
2178
|
}
|
|
2065
2179
|
loyaltyCodes {
|
|
2066
2180
|
id
|
|
@@ -2069,6 +2183,7 @@ export const EditUserDocument = gql `
|
|
|
2069
2183
|
type
|
|
2070
2184
|
createdAt
|
|
2071
2185
|
updatedAt
|
|
2186
|
+
__typename
|
|
2072
2187
|
}
|
|
2073
2188
|
preferences {
|
|
2074
2189
|
id
|
|
@@ -2077,7 +2192,9 @@ export const EditUserDocument = gql `
|
|
|
2077
2192
|
preferenceValue
|
|
2078
2193
|
createdAt
|
|
2079
2194
|
updatedAt
|
|
2195
|
+
__typename
|
|
2080
2196
|
}
|
|
2197
|
+
__typename
|
|
2081
2198
|
}
|
|
2082
2199
|
}
|
|
2083
2200
|
`;
|
|
@@ -2550,61 +2667,70 @@ export const EmailBasketDocument = gql `
|
|
|
2550
2667
|
__typename
|
|
2551
2668
|
}
|
|
2552
2669
|
leadPassenger {
|
|
2553
|
-
|
|
2554
|
-
title
|
|
2555
|
-
forename
|
|
2556
|
-
surname
|
|
2557
|
-
email
|
|
2558
|
-
username
|
|
2559
|
-
employeeId
|
|
2560
|
-
createdAt
|
|
2561
|
-
updatedAt
|
|
2562
|
-
dob
|
|
2563
|
-
admin
|
|
2564
|
-
tmcAdmin
|
|
2565
|
-
companyAdmin
|
|
2566
|
-
bookerType
|
|
2567
|
-
authMethods
|
|
2568
|
-
active
|
|
2569
|
-
passwordLastUpdated
|
|
2570
|
-
co2AllowancePeriod
|
|
2571
|
-
co2AllowancePerPeriod
|
|
2572
|
-
documents {
|
|
2670
|
+
... on User {
|
|
2573
2671
|
id
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
dateOfIssue
|
|
2581
|
-
dateOfExpiry
|
|
2582
|
-
primary
|
|
2583
|
-
createdAt
|
|
2584
|
-
updatedAt
|
|
2585
|
-
__typename
|
|
2586
|
-
}
|
|
2587
|
-
preferences {
|
|
2588
|
-
id
|
|
2589
|
-
serviceType
|
|
2590
|
-
preferenceKey
|
|
2591
|
-
preferenceValue
|
|
2672
|
+
title
|
|
2673
|
+
forename
|
|
2674
|
+
surname
|
|
2675
|
+
email
|
|
2676
|
+
username
|
|
2677
|
+
employeeId
|
|
2592
2678
|
createdAt
|
|
2593
2679
|
updatedAt
|
|
2594
|
-
|
|
2680
|
+
dob
|
|
2681
|
+
admin
|
|
2682
|
+
tmcAdmin
|
|
2683
|
+
companyAdmin
|
|
2684
|
+
bookerType
|
|
2685
|
+
authMethods
|
|
2686
|
+
active
|
|
2687
|
+
passwordLastUpdated
|
|
2688
|
+
co2AllowancePeriod
|
|
2689
|
+
co2AllowancePerPeriod
|
|
2690
|
+
documents {
|
|
2691
|
+
id
|
|
2692
|
+
docType
|
|
2693
|
+
nationality
|
|
2694
|
+
gender
|
|
2695
|
+
number
|
|
2696
|
+
country
|
|
2697
|
+
codeOfIssuingState
|
|
2698
|
+
dateOfIssue
|
|
2699
|
+
dateOfExpiry
|
|
2700
|
+
primary
|
|
2701
|
+
createdAt
|
|
2702
|
+
updatedAt
|
|
2703
|
+
__typename
|
|
2704
|
+
}
|
|
2705
|
+
preferences {
|
|
2706
|
+
id
|
|
2707
|
+
serviceType
|
|
2708
|
+
preferenceKey
|
|
2709
|
+
preferenceValue
|
|
2710
|
+
createdAt
|
|
2711
|
+
updatedAt
|
|
2712
|
+
__typename
|
|
2713
|
+
}
|
|
2714
|
+
loyaltyCodes {
|
|
2715
|
+
id
|
|
2716
|
+
carrier
|
|
2717
|
+
code
|
|
2718
|
+
type
|
|
2719
|
+
createdAt
|
|
2720
|
+
updatedAt
|
|
2721
|
+
__typename
|
|
2722
|
+
}
|
|
2723
|
+
emergencyContactName
|
|
2724
|
+
emergencyContactPhone
|
|
2725
|
+
emergencyContactEmail
|
|
2595
2726
|
}
|
|
2596
|
-
|
|
2727
|
+
... on Guest {
|
|
2597
2728
|
id
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
updatedAt
|
|
2603
|
-
__typename
|
|
2729
|
+
title
|
|
2730
|
+
forename
|
|
2731
|
+
surname
|
|
2732
|
+
email
|
|
2604
2733
|
}
|
|
2605
|
-
emergencyContactName
|
|
2606
|
-
emergencyContactPhone
|
|
2607
|
-
emergencyContactEmail
|
|
2608
2734
|
__typename
|
|
2609
2735
|
}
|
|
2610
2736
|
service {
|
|
@@ -3116,6 +3242,31 @@ GetCovidMicrositeTokenGQL.decorators = [
|
|
|
3116
3242
|
GetCovidMicrositeTokenGQL.ctorParameters = () => [
|
|
3117
3243
|
{ type: Apollo.Apollo }
|
|
3118
3244
|
];
|
|
3245
|
+
export const GetCancellationInfoDocument = gql `
|
|
3246
|
+
query getCancellationInfo($basketItem: ID!) {
|
|
3247
|
+
getCancellationInfo(basketItem: $basketItem) {
|
|
3248
|
+
cancellable
|
|
3249
|
+
info
|
|
3250
|
+
cancellationFee
|
|
3251
|
+
}
|
|
3252
|
+
}
|
|
3253
|
+
`;
|
|
3254
|
+
export class GetCancellationInfoGQL extends Apollo.Query {
|
|
3255
|
+
constructor(apollo) {
|
|
3256
|
+
super(apollo);
|
|
3257
|
+
this.document = GetCancellationInfoDocument;
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
/** @nocollapse */ GetCancellationInfoGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCancellationInfoGQL_Factory() { return new GetCancellationInfoGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCancellationInfoGQL, providedIn: "root" });
|
|
3261
|
+
GetCancellationInfoGQL.decorators = [
|
|
3262
|
+
{ type: Injectable, args: [{
|
|
3263
|
+
providedIn: 'root'
|
|
3264
|
+
},] }
|
|
3265
|
+
];
|
|
3266
|
+
/** @nocollapse */
|
|
3267
|
+
GetCancellationInfoGQL.ctorParameters = () => [
|
|
3268
|
+
{ type: Apollo.Apollo }
|
|
3269
|
+
];
|
|
3119
3270
|
export const GetCarHireDepotsDocument = gql `
|
|
3120
3271
|
query getCarHireDepots($latitude: Float!, $longitude: Float!, $vendorCode: String, $radius: String) {
|
|
3121
3272
|
getCarHireDepots(latitude: $latitude, longitude: $longitude, vendorCode: $vendorCode, radius: $radius) {
|
|
@@ -3168,6 +3319,98 @@ GetCarHireProvidersGQL.decorators = [
|
|
|
3168
3319
|
GetCarHireProvidersGQL.ctorParameters = () => [
|
|
3169
3320
|
{ type: Apollo.Apollo }
|
|
3170
3321
|
];
|
|
3322
|
+
export const GetCompaniesDocument = gql `
|
|
3323
|
+
query getCompanies($query: String) {
|
|
3324
|
+
getCompanies(query: $query) {
|
|
3325
|
+
id
|
|
3326
|
+
name
|
|
3327
|
+
tmc {
|
|
3328
|
+
id
|
|
3329
|
+
name
|
|
3330
|
+
}
|
|
3331
|
+
offices {
|
|
3332
|
+
id
|
|
3333
|
+
name
|
|
3334
|
+
}
|
|
3335
|
+
createdAt
|
|
3336
|
+
updatedAt
|
|
3337
|
+
supportEmail
|
|
3338
|
+
co2ConsumptionPolicy
|
|
3339
|
+
co2AllowancePeriod
|
|
3340
|
+
co2AllowancePerPeriod
|
|
3341
|
+
}
|
|
3342
|
+
}
|
|
3343
|
+
`;
|
|
3344
|
+
export class GetCompaniesGQL extends Apollo.Query {
|
|
3345
|
+
constructor(apollo) {
|
|
3346
|
+
super(apollo);
|
|
3347
|
+
this.document = GetCompaniesDocument;
|
|
3348
|
+
}
|
|
3349
|
+
}
|
|
3350
|
+
/** @nocollapse */ GetCompaniesGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCompaniesGQL_Factory() { return new GetCompaniesGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCompaniesGQL, providedIn: "root" });
|
|
3351
|
+
GetCompaniesGQL.decorators = [
|
|
3352
|
+
{ type: Injectable, args: [{
|
|
3353
|
+
providedIn: 'root'
|
|
3354
|
+
},] }
|
|
3355
|
+
];
|
|
3356
|
+
/** @nocollapse */
|
|
3357
|
+
GetCompaniesGQL.ctorParameters = () => [
|
|
3358
|
+
{ type: Apollo.Apollo }
|
|
3359
|
+
];
|
|
3360
|
+
export const GetCompanyDocument = gql `
|
|
3361
|
+
query getCompany($id: ID!) {
|
|
3362
|
+
getCompany(id: $id) {
|
|
3363
|
+
id
|
|
3364
|
+
name
|
|
3365
|
+
tmc {
|
|
3366
|
+
id
|
|
3367
|
+
name
|
|
3368
|
+
}
|
|
3369
|
+
offices {
|
|
3370
|
+
id
|
|
3371
|
+
name
|
|
3372
|
+
createdAt
|
|
3373
|
+
updatedAt
|
|
3374
|
+
}
|
|
3375
|
+
users {
|
|
3376
|
+
...USERS
|
|
3377
|
+
}
|
|
3378
|
+
supportPhoneNumber {
|
|
3379
|
+
id
|
|
3380
|
+
description
|
|
3381
|
+
countryCode
|
|
3382
|
+
areaCode
|
|
3383
|
+
number
|
|
3384
|
+
extension
|
|
3385
|
+
type
|
|
3386
|
+
officePrimary
|
|
3387
|
+
userPrimary
|
|
3388
|
+
}
|
|
3389
|
+
createdAt
|
|
3390
|
+
updatedAt
|
|
3391
|
+
supportEmail
|
|
3392
|
+
co2ConsumptionPolicy
|
|
3393
|
+
co2AllowancePeriod
|
|
3394
|
+
co2AllowancePerPeriod
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3397
|
+
${UsersFragmentDoc}`;
|
|
3398
|
+
export class GetCompanyGQL extends Apollo.Query {
|
|
3399
|
+
constructor(apollo) {
|
|
3400
|
+
super(apollo);
|
|
3401
|
+
this.document = GetCompanyDocument;
|
|
3402
|
+
}
|
|
3403
|
+
}
|
|
3404
|
+
/** @nocollapse */ GetCompanyGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetCompanyGQL_Factory() { return new GetCompanyGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetCompanyGQL, providedIn: "root" });
|
|
3405
|
+
GetCompanyGQL.decorators = [
|
|
3406
|
+
{ type: Injectable, args: [{
|
|
3407
|
+
providedIn: 'root'
|
|
3408
|
+
},] }
|
|
3409
|
+
];
|
|
3410
|
+
/** @nocollapse */
|
|
3411
|
+
GetCompanyGQL.ctorParameters = () => [
|
|
3412
|
+
{ type: Apollo.Apollo }
|
|
3413
|
+
];
|
|
3171
3414
|
export const GetConfermaOfficeDocument = gql `
|
|
3172
3415
|
query getConfermaOffice($officeId: Int!) {
|
|
3173
3416
|
getConfermaOffice(officeId: $officeId) {
|
|
@@ -3741,6 +3984,7 @@ export const GetRailStationDocument = gql `
|
|
|
3741
3984
|
northing
|
|
3742
3985
|
easting
|
|
3743
3986
|
}
|
|
3987
|
+
hasTod
|
|
3744
3988
|
}
|
|
3745
3989
|
}
|
|
3746
3990
|
`;
|
|
@@ -3980,6 +4224,35 @@ GetUserFavouriteSearchesGQL.decorators = [
|
|
|
3980
4224
|
GetUserFavouriteSearchesGQL.ctorParameters = () => [
|
|
3981
4225
|
{ type: Apollo.Apollo }
|
|
3982
4226
|
];
|
|
4227
|
+
export const GetUserGuestsDocument = gql `
|
|
4228
|
+
query getUserGuests {
|
|
4229
|
+
getUserGuests {
|
|
4230
|
+
id
|
|
4231
|
+
title
|
|
4232
|
+
forename
|
|
4233
|
+
surname
|
|
4234
|
+
email
|
|
4235
|
+
gender
|
|
4236
|
+
nationality
|
|
4237
|
+
}
|
|
4238
|
+
}
|
|
4239
|
+
`;
|
|
4240
|
+
export class GetUserGuestsGQL extends Apollo.Query {
|
|
4241
|
+
constructor(apollo) {
|
|
4242
|
+
super(apollo);
|
|
4243
|
+
this.document = GetUserGuestsDocument;
|
|
4244
|
+
}
|
|
4245
|
+
}
|
|
4246
|
+
/** @nocollapse */ GetUserGuestsGQL.ɵprov = i0.ɵɵdefineInjectable({ factory: function GetUserGuestsGQL_Factory() { return new GetUserGuestsGQL(i0.ɵɵinject(i1.Apollo)); }, token: GetUserGuestsGQL, providedIn: "root" });
|
|
4247
|
+
GetUserGuestsGQL.decorators = [
|
|
4248
|
+
{ type: Injectable, args: [{
|
|
4249
|
+
providedIn: 'root'
|
|
4250
|
+
},] }
|
|
4251
|
+
];
|
|
4252
|
+
/** @nocollapse */
|
|
4253
|
+
GetUserGuestsGQL.ctorParameters = () => [
|
|
4254
|
+
{ type: Apollo.Apollo }
|
|
4255
|
+
];
|
|
3983
4256
|
export const GetUserMiAutoSuggestValuesDocument = gql `
|
|
3984
4257
|
query getUserMIAutoSuggestValues($mi: ID!, $partialLabel: String!) {
|
|
3985
4258
|
getUserMIAutoSuggestValues(mi: $mi, partialLabel: $partialLabel) {
|
|
@@ -4310,6 +4583,8 @@ export const SearchLoungesDocument = gql `
|
|
|
4310
4583
|
officePreferredMessage
|
|
4311
4584
|
unavailable
|
|
4312
4585
|
unavailableMessage
|
|
4586
|
+
requiresReason
|
|
4587
|
+
requiresReasonMessage
|
|
4313
4588
|
co2PerPassenger
|
|
4314
4589
|
co2PerItem
|
|
4315
4590
|
}
|
|
@@ -4406,6 +4681,8 @@ export const SearchParkingDocument = gql `
|
|
|
4406
4681
|
officePreferredMessage
|
|
4407
4682
|
unavailable
|
|
4408
4683
|
unavailableMessage
|
|
4684
|
+
requiresReason
|
|
4685
|
+
requiresReasonMessage
|
|
4409
4686
|
co2PerPassenger
|
|
4410
4687
|
co2PerItem
|
|
4411
4688
|
}
|
|
@@ -4432,8 +4709,8 @@ SearchParkingGQL.ctorParameters = () => [
|
|
|
4432
4709
|
{ type: Apollo.Apollo }
|
|
4433
4710
|
];
|
|
4434
4711
|
export const SearchRailDocument = gql `
|
|
4435
|
-
query searchRail($countryCode: String, $journeyType: RailSearchJourneyType!, $class: RailClass, $departureLocationId: ID!, $arrivalLocationId: ID!, $viaLocationId: ID, $outboundArrivalDateTime: String, $outboundDepartureDateTime: String, $returnArrivalDateTime: String, $returnDepartureDateTime: String, $adults: Int!, $children: Int, $extraTimeToChange: Boolean, $plusBusOut: RailPlusBusAvail, $plusBusReturn: RailPlusBusAvail, $travelCards: [Date!], $railCardQualifiers: [String!]) {
|
|
4436
|
-
searchRail(countryCode: $countryCode, journeyType: $journeyType, class: $class, departureLocationId: $departureLocationId, arrivalLocationId: $arrivalLocationId, viaLocationId: $viaLocationId, outboundArrivalDateTime: $outboundArrivalDateTime, outboundDepartureDateTime: $outboundDepartureDateTime, returnArrivalDateTime: $returnArrivalDateTime, returnDepartureDateTime: $returnDepartureDateTime, adults: $adults, children: $children, extraTimeToChange: $extraTimeToChange, plusBusOut: $plusBusOut, plusBusReturn: $plusBusReturn, travelCards: $travelCards, railCardQualifiers: $railCardQualifiers) {
|
|
4712
|
+
query searchRail($countryCode: String, $journeyType: RailSearchJourneyType!, $class: RailClass, $departureLocationId: ID!, $arrivalLocationId: ID!, $viaLocationId: ID, $outboundArrivalDateTime: String, $outboundDepartureDateTime: String, $returnArrivalDateTime: String, $returnDepartureDateTime: String, $adults: Int!, $children: Int, $extraTimeToChange: Boolean, $plusBusOut: RailPlusBusAvail, $plusBusReturn: RailPlusBusAvail, $travelCards: [Date!], $railCardQualifiers: [String!], $splitTicketsFromDepartureJourney: Boolean, $splitTicketsToDestinationJourney: Boolean, $transactionIdentifier: String) {
|
|
4713
|
+
searchRail(countryCode: $countryCode, journeyType: $journeyType, class: $class, departureLocationId: $departureLocationId, arrivalLocationId: $arrivalLocationId, viaLocationId: $viaLocationId, outboundArrivalDateTime: $outboundArrivalDateTime, outboundDepartureDateTime: $outboundDepartureDateTime, returnArrivalDateTime: $returnArrivalDateTime, returnDepartureDateTime: $returnDepartureDateTime, adults: $adults, children: $children, extraTimeToChange: $extraTimeToChange, plusBusOut: $plusBusOut, plusBusReturn: $plusBusReturn, travelCards: $travelCards, railCardQualifiers: $railCardQualifiers, splitTicketsFromDepartureJourney: $splitTicketsFromDepartureJourney, splitTicketsToDestinationJourney: $splitTicketsToDestinationJourney, transactionIdentifier: $transactionIdentifier) {
|
|
4437
4714
|
results {
|
|
4438
4715
|
sourceId
|
|
4439
4716
|
summary
|
|
@@ -4920,6 +5197,8 @@ export const SearchFastTrackDocument = gql `
|
|
|
4920
5197
|
officePreferredMessage
|
|
4921
5198
|
unavailable
|
|
4922
5199
|
unavailableMessage
|
|
5200
|
+
requiresReason
|
|
5201
|
+
requiresReasonMessage
|
|
4923
5202
|
co2PerPassenger
|
|
4924
5203
|
co2PerItem
|
|
4925
5204
|
}
|
|
@@ -5824,8 +6103,8 @@ SearchPostcodesGQL.ctorParameters = () => [
|
|
|
5824
6103
|
{ type: Apollo.Apollo }
|
|
5825
6104
|
];
|
|
5826
6105
|
export const SearchRailStationsDocument = gql `
|
|
5827
|
-
query searchRailStations($query: String!, $countryCode: String) {
|
|
5828
|
-
searchRailStations(query: $query, countryCode: $countryCode) {
|
|
6106
|
+
query searchRailStations($query: String!, $countryCode: String, $hasTod: Boolean) {
|
|
6107
|
+
searchRailStations(query: $query, countryCode: $countryCode, hasTod: $hasTod) {
|
|
5829
6108
|
id
|
|
5830
6109
|
name
|
|
5831
6110
|
stationCode
|
|
@@ -5849,6 +6128,7 @@ export const SearchRailStationsDocument = gql `
|
|
|
5849
6128
|
northing
|
|
5850
6129
|
easting
|
|
5851
6130
|
}
|
|
6131
|
+
hasTod
|
|
5852
6132
|
}
|
|
5853
6133
|
}
|
|
5854
6134
|
`;
|
|
@@ -5947,8 +6227,8 @@ SetBasketItemMiGroupGQL.ctorParameters = () => [
|
|
|
5947
6227
|
{ type: Apollo.Apollo }
|
|
5948
6228
|
];
|
|
5949
6229
|
export const SetBasketItemLeadPassengerDocument = gql `
|
|
5950
|
-
mutation setBasketItemLeadPassenger($convertCurrencyTo: String, $id: ID!, $
|
|
5951
|
-
setBasketItemLeadPassenger(convertCurrencyTo: $convertCurrencyTo, id: $id,
|
|
6230
|
+
mutation setBasketItemLeadPassenger($convertCurrencyTo: String, $id: ID!, $userOrGuest: ID!, $leadPassengerType: LeadPassengerType!, $withSupplemental: Boolean!) {
|
|
6231
|
+
setBasketItemLeadPassenger(convertCurrencyTo: $convertCurrencyTo, id: $id, userOrGuest: $userOrGuest, leadPassengerType: $leadPassengerType) {
|
|
5952
6232
|
...BasketFields
|
|
5953
6233
|
}
|
|
5954
6234
|
}
|
|
@@ -5970,8 +6250,8 @@ SetBasketItemLeadPassengerGQL.ctorParameters = () => [
|
|
|
5970
6250
|
{ type: Apollo.Apollo }
|
|
5971
6251
|
];
|
|
5972
6252
|
export const SetBasketItemMiValueDocument = gql `
|
|
5973
|
-
mutation setBasketItemMIValue($convertCurrencyTo: String, $mi: ID!, $miValue: ID, $miFreeValue: String, $user: ID, $withSupplemental: Boolean = false) {
|
|
5974
|
-
setBasketItemMIValue(convertCurrencyTo: $convertCurrencyTo, mi: $mi, miValue: $miValue, miFreeValue: $miFreeValue, user: $user) {
|
|
6253
|
+
mutation setBasketItemMIValue($convertCurrencyTo: String, $mi: ID!, $miValue: ID, $miFreeValue: String, $user: ID, $guest: ID, $withSupplemental: Boolean = false) {
|
|
6254
|
+
setBasketItemMIValue(convertCurrencyTo: $convertCurrencyTo, mi: $mi, miValue: $miValue, miFreeValue: $miFreeValue, user: $user, guest: $guest) {
|
|
5975
6255
|
...BasketFields
|
|
5976
6256
|
}
|
|
5977
6257
|
}
|
|
@@ -6132,6 +6412,7 @@ export const GetUserMessagesDocument = gql `
|
|
|
6132
6412
|
clickToConfirm
|
|
6133
6413
|
validFrom
|
|
6134
6414
|
validTo
|
|
6415
|
+
collapse
|
|
6135
6416
|
}
|
|
6136
6417
|
}
|
|
6137
6418
|
`;
|
|
@@ -6301,4 +6582,4 @@ ValidateUserMiFreeValueGQL.decorators = [
|
|
|
6301
6582
|
ValidateUserMiFreeValueGQL.ctorParameters = () => [
|
|
6302
6583
|
{ type: Apollo.Apollo }
|
|
6303
6584
|
];
|
|
6304
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBb0VELE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFKVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSTNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FBWixZQUFZLFFBUXZCO0FBU0Qs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MkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENB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LFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBM25SUyxNQUFNLENBK25SYSxNQUFNOztBQUlyQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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STNDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUF2NllTLE1BQU0sQ0EyNllhLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBBcG9sbG8gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuZXhwb3J0IHR5cGUgTWF5YmU8VD4gPSBUIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XG5leHBvcnQgdHlwZSBNYWtlT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXT86IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VNYXliZTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdOiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBGaWVsZFdyYXBwZXI8VD4gPSBUO1xuLyoqIEFsbCBidWlsdC1pbiBhbmQgY3VzdG9tIHNjYWxhcnMsIG1hcHBlZCB0byB0aGVpciBhY3R1YWwgdmFsdWVzICovXG5leHBvcnQgdHlwZSBTY2FsYXJzID0ge1xuICBJRDogc3RyaW5nO1xuICBTdHJpbmc6IHN0cmluZztcbiAgQm9vbGVhbjogYm9vbGVhbjtcbiAgSW50OiBudW1iZXI7XG4gIEZsb2F0OiBudW1iZXI7XG4gIERhdGU6IGFueTtcbiAgRGF0ZVRpbWU6IGFueTtcbiAgSlNPTjogYW55O1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlck9yTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdHJlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG93bj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzSW5wdXQgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZnRlckNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGF0aW9uRmVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lckltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ29JbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtaW5hbHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUHVibGljVHJhdmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnREZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCc7XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYXJlYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZzZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnRSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcnBvcnQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG59O1xuXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvblN0YWdlIHtcbiAgQmVmb3JlU2VhcmNoID0gJ0JFRk9SRV9TRUFSQ0gnLFxuICBBZnRlclNlYXJjaCA9ICdBRlRFUl9TRUFSQ0gnXG59XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0UnVsZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwbHlKSVRSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlZSA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3ZlZSc7XG4gIGFwcHJvdmVlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZXInO1xuICBhcHByb3ZlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc29jaWF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJztcbiAgY2F0ZWdvcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQ1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0Q1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RUaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxCYWdnYWdlVHlwZT47XG4gIHF0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgd2VpZ2h0UHJvdmlkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhLRz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG1heExCUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYWdnYWdlVHlwZSB7XG4gIENoZWNrSW4gPSAnQ2hlY2tJbicsXG4gIEhhbmRDYXJyeSA9ICdIYW5kQ2FycnknXG59XG5cbmV4cG9ydCB0eXBlIEJhc2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBvd25lcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICByZWZlcmVuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3Rlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1zOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0SXRlbT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRTdGF0dXM+O1xuICBjb21wYW55R3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGJvb2tlZEF0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhc2tldEl0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFza2V0SXRlbSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgY2hpbGRyZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGRldGFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGRldGFpbEhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGV4cGlyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlclBhc3NlbmdlclR5cGU+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgc2VhcmNoUXVlcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG4gIG1pR3JvdXBzQXZhaWxhYmxlOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlHcm91cFNlbGVjdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hbmFnZW1lbnRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm8+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbGF0ZXN0VmFsaWRhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbnJMb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdEZXRhaWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldEl0ZW1TdGF0dXM+O1xuICBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFBheW1lbnRNZXRob2Q+PjtcbiAgc2VsZWN0ZWRQYXltZW50TWV0aG9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFBheW1lbnRNZXRob2Q+PjtcbiAgcGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHBlckl0ZW1BZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVySXRlbVBob25lTnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGVyUGFzc2VuZ2VyQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlclBob25lTnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhbWVuZGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvbnZlcnRlZEN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQmFza2V0SXRlbVN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgZW51bSBCYXNrZXRTdGF0dXMge1xuICBPcGVuID0gJ09QRU4nLFxuICBCb29rZWQgPSAnQk9PS0VEJyxcbiAgQXdhaXRpbmdBcHByb3ZhbCA9ICdBV0FJVElOR19BUFBST1ZBTCcsXG4gIEFwcHJvdmVkID0gJ0FQUFJPVkVEJyxcbiAgRGlzYXBwcm92ZWQgPSAnRElTQVBQUk9WRUQnLFxuICBQYXJ0aWFsbHlCb29rZWQgPSAnUEFSVElBTExZX0JPT0tFRCcsXG4gIEJvb2tpbmdGYWlsZWQgPSAnQk9PS0lOR19GQUlMRUQnXG59XG5cbmV4cG9ydCB0eXBlIEJlZm9yZUNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmVmb3JlQ2FuY2VsbGF0aW9uSW5mbyc7XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5jZWxsYXRpb25GZWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gQm9va2VkQnlGaWVsZCB7XG4gIE5hbWUgPSAnTkFNRScsXG4gIEVtYWlsID0gJ0VNQUlMJ1xufVxuXG5leHBvcnQgZW51bSBCb29rZXJUeXBlIHtcbiAgUm9vdCA9ICdST09UJyxcbiAgVG1jID0gJ1RNQycsXG4gIENvbXBhbnkgPSAnQ09NUEFOWScsXG4gIE9mZmljZSA9ICdPRkZJQ0UnLFxuICBDb21wYW55R3JvdXAgPSAnQ09NUEFOWV9HUk9VUCcsXG4gIFNlbGZCb29rID0gJ1NFTEZfQk9PSycsXG4gIEJvb2tlciA9ICdCT09LRVInLFxuICBUcmF2ZWxsZXIgPSAnVFJBVkVMTEVSJyxcbiAgQm9va2VyV2l0aFNlbGYgPSAnQk9PS0VSX1dJVEhfU0VMRidcbn1cblxuZXhwb3J0IHR5cGUgQm9va2luZ0FkZHJlc3MgPSB7XG4gIG51bWJlck9yTmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0cmVldDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvd246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdQaG9uZU51bWJlciA9IHtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcmVhQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGV4dGVuc2lvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nO1xuICBhZGRyZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZUxvY2F0aW9uSW5wdXQgPSB7XG4gIGFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgc3VwcGxpZXJOYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlc3RpbWF0ZWRDTzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICB2ZWhpY2xlVHlwZTogRmllbGRXcmFwcGVyPENhYkhpcmVWZWhpY2xlVHlwZT47XG4gIHRyaXBEaXN0YW5jZU1ldHJlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmlwRHVyYXRpb25TZWNvbmRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGRlcGFydHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmcm9tTG9jYXRpb246IEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+O1xuICB0b0xvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdmlhczogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhYkhpcmVRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FiSGlyZVZlaGljbGVUeXBlIHtcbiAgQW55ID0gJ0FueScsXG4gIERkYUNhciA9ICdEREFDYXInLFxuICBDb2FjaExhcmdlID0gJ0NvYWNoTGFyZ2UnLFxuICBDb2FjaFNtYWxsID0gJ0NvYWNoU21hbGwnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215Q29hY2ggPSAnRWNvbm9teUNvYWNoJyxcbiAgRWNvbm9teU1wdlNtYWxsID0gJ0Vjb25vbXlNUFZTbWFsbCcsXG4gIEVjb25vbXlNcHZMYXJnZSA9ICdFY29ub215TVBWTGFyZ2UnLFxuICBFY29ub215U3V2ID0gJ0Vjb25vbXlTVVYnLFxuICBFeGVjdXRpdmVDYXIgPSAnRXhlY3V0aXZlQ2FyJyxcbiAgRXhlY3V0aXZlU3V2ID0gJ0V4ZWN1dGl2ZVNVVicsXG4gIEdyZWVuQ2FyID0gJ0dyZWVuQ2FyJyxcbiAgR3JlZW5FeGVjdXRpdmUgPSAnR3JlZW5FeGVjdXRpdmUnLFxuICBHcmVlblN1diA9ICdHcmVlblNVVicsXG4gIFNtYWxsTXB2ID0gJ1NtYWxsTVBWJyxcbiAgTWVkaXVtTXB2ID0gJ01lZGl1bU1QVicsXG4gIExhcmdlTXB2ID0gJ0xhcmdlTVBWJyxcbiAgU3RhbmRhcmRDYXIgPSAnU3RhbmRhcmRDYXInLFxuICBTdXYgPSAnU1VWJyxcbiAgQmxhY2tDYWIgPSAnQmxhY2tDYWInLFxuICBUYXhpU3V2ID0gJ1RheGlTVVYnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGpzb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDdXN0b20+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvcExpbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUFpcnBvcnRJbnB1dCA9IHtcbiAgcGlja3VwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2hhcmdlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDaGFyZ2UnO1xuICBsYWJlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ2l0eUlucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmQ2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVDbGFzcyB7XG4gIE1pbmkgPSAnTWluaScsXG4gIE1pbmlFbGl0ZSA9ICdNaW5pRWxpdGUnLFxuICBFY29ub215ID0gJ0Vjb25vbXknLFxuICBFY29ub215RWxpdGUgPSAnRWNvbm9teUVsaXRlJyxcbiAgQ29tcGFjdCA9ICdDb21wYWN0JyxcbiAgQ29tcGFjdEVsaXRlID0gJ0NvbXBhY3RFbGl0ZScsXG4gIEludGVybWVkaWF0ZSA9ICdJbnRlcm1lZGlhdGUnLFxuICBJbnRlcm1lZGlhdGVFbGl0ZSA9ICdJbnRlcm1lZGlhdGVFbGl0ZScsXG4gIFN0YW5kYXJkID0gJ1N0YW5kYXJkJyxcbiAgU3RhbmRhcmRFbGl0ZSA9ICdTdGFuZGFyZEVsaXRlJyxcbiAgRnVsbHNpemUgPSAnRnVsbHNpemUnLFxuICBGdWxsc2l6ZUVsaXRlID0gJ0Z1bGxzaXplRWxpdGUnLFxuICBQcmVtaXVtID0gJ1ByZW1pdW0nLFxuICBQcmVtaXVtRWxpdGUgPSAnUHJlbWl1bUVsaXRlJyxcbiAgTHV4dXJ5ID0gJ0x1eHVyeScsXG4gIEx1eHVyeUVsaXRlID0gJ0x1eHVyeUVsaXRlJyxcbiAgT3ZlcnNpemUgPSAnT3ZlcnNpemUnLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnXG59XG5cbmV4cG9ydCB0eXBlIENhckhpcmVDdXN0b20gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGV4dD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JztcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgY2l0eU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEZXBvdFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3RSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlSWRlbnRpZmllcnM+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgYWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURpc3BsYXlSZWNvcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURpc3BsYXlSZWNvcmQnO1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGlja3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BvZmY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVWZW5kb3I+PjtcbiAgdmVoaWNsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUNoYXJnZT4+Pj47XG4gIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIHJldHVybkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRyZXNzPj47XG4gIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycyc7XG4gIGxvY2F0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcnBoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZWhUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BvZmZEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJbnB1dElkZW50aWZpZXJzID0ge1xuICBsb2NhdG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBycGg/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXR1cz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVoVHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wT2ZmTG9jYXRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBwaWNrdXBDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wb2ZmUG9zdGFsQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FySGlyZVRyYW5zbWlzc2lvbiB7XG4gIE1hbnVhbCA9ICdNYW51YWwnLFxuICBBdXRvID0gJ0F1dG8nXG59XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUeXBlIHtcbiAgVHdvVG9UaHJlZURvb3IgPSAnVHdvVG9UaHJlZURvb3InLFxuICBUd29PckZvdXJEb29yID0gJ1R3b09yRm91ckRvb3InLFxuICBGb3VyVG9GaXZlRG9vciA9ICdGb3VyVG9GaXZlRG9vcicsXG4gIFdhZ29uT3JFc3RhdGUgPSAnV2Fnb25PckVzdGF0ZScsXG4gIFBhc3NlbmdlclZhbiA9ICdQYXNzZW5nZXJWYW4nLFxuICBMaW1vdXNpbmUgPSAnTGltb3VzaW5lJyxcbiAgU3BvcnQgPSAnU3BvcnQnLFxuICBDb252ZXJ0aWJsZSA9ICdDb252ZXJ0aWJsZScsXG4gIFN1diA9ICdTVVYnLFxuICBPcGVuQWlyQWxsVGVycmFpbiA9ICdPcGVuQWlyQWxsVGVycmFpbicsXG4gIFNwZWNpYWwgPSAnU3BlY2lhbCcsXG4gIFBpY2tVcFJlZ3VsYXJDYWIgPSAnUGlja1VwUmVndWxhckNhYicsXG4gIFBpY2tVcEV4dGVuZGVkQ2FiID0gJ1BpY2tVcEV4dGVuZGVkQ2FiJyxcbiAgU3BlY2lhbE9mZmVyQ2FyID0gJ1NwZWNpYWxPZmZlckNhcicsXG4gIENvdXBlID0gJ0NvdXBlJyxcbiAgTW9ub3NwYWNlRXVyb3BlYW5Vc2UgPSAnTW9ub3NwYWNlRXVyb3BlYW5Vc2UnLFxuICBNb3RvckhvbWUgPSAnTW90b3JIb21lJyxcbiAgVHdvV2hlZWxWZWhpY2xlID0gJ1R3b1doZWVsVmVoaWNsZScsXG4gIFJvYWRzdGVyID0gJ1JvYWRzdGVyJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZSc7XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNtaXNzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFpcmNvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5JztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZURpc3BsYXlSZWNvcmQ+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlbmRvciA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25BbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQWxsb3dhbmNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgc3RhcnRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmRPZlBlcmlvZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZW1haW5pbmdDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdG90YWxDbzI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY2FyYm9uUG9saWN5U291cmNlOiBGaWVsZFdyYXBwZXI8Q2FyYm9uUG9saWN5U291cmNlPjtcbiAgcGVyaW9kQ29uc3VtcHRpb246IEFycmF5PEZpZWxkV3JhcHBlcjxDYXJib25Db25zdW1wdGlvbj4+O1xuICBjb21wYW55PzogTWF5YmU8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgb2ZmaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJib25Db25zdW1wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJib25Db25zdW1wdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGNvbnN1bWVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRhdGV0aW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJib25Qb2xpY3lTb3VyY2Uge1xuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgVXNlciA9ICdVU0VSJ1xufVxuXG5leHBvcnQgdHlwZSBDaXR5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NpdHknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29vcmRpbmF0ZXM6IEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz47XG4gIGNvbnRpbmVudE5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbXBhbnknO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8T2ZmaWNlPj47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICB1c2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgc3VwcG9ydEVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJDb25zdW1wdGlvblBvbGljeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFDaXR5TG9jYXRpb24nO1xuICBmb3VuZEV4YWN0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3VnZ2VzdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcyc7XG4gIGFkZHJlc3NOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0ZVByb3ZpbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VIb3RlbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnO1xuICBob3RlbElkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGhvdGVsTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc1ByZWZlcnJlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUluZm8nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlQWRkcmVzcz4+O1xuICBjbG9zZXN0QWlycG9ydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0VHJhaW5TdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSG90ZWxzPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlTmFtZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZU5hbWVzPj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZlcm1hT2ZmaWNlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlUmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYU9mZmljZUluZm8+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpYWxDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgZW51bSBDdXJyZW5jeUNvZGUge1xuICBBZWQgPSAnQUVEJyxcbiAgQWZuID0gJ0FGTicsXG4gIEFsbCA9ICdBTEwnLFxuICBBbWQgPSAnQU1EJyxcbiAgQW5nID0gJ0FORycsXG4gIEFvYSA9ICdBT0EnLFxuICBBcnMgPSAnQVJTJyxcbiAgQXVkID0gJ0FVRCcsXG4gIEF3ZyA9ICdBV0cnLFxuICBBem4gPSAnQVpOJyxcbiAgQmFtID0gJ0JBTScsXG4gIEJiZCA9ICdCQkQnLFxuICBCZHQgPSAnQkRUJyxcbiAgQmduID0gJ0JHTicsXG4gIEJoZCA9ICdCSEQnLFxuICBCaWYgPSAnQklGJyxcbiAgQm1kID0gJ0JNRCcsXG4gIEJuZCA9ICdCTkQnLFxuICBCb2IgPSAnQk9CJyxcbiAgQm92ID0gJ0JPVicsXG4gIEJybCA9ICdCUkwnLFxuICBCc2QgPSAnQlNEJyxcbiAgQnRuID0gJ0JUTicsXG4gIEJ3cCA9ICdCV1AnLFxuICBCeW4gPSAnQllOJyxcbiAgQnpkID0gJ0JaRCcsXG4gIENhZCA9ICdDQUQnLFxuICBDZGYgPSAnQ0RGJyxcbiAgQ2hlID0gJ0NIRScsXG4gIENoZiA9ICdDSEYnLFxuICBDaHcgPSAnQ0hXJyxcbiAgQ2xmID0gJ0NMRicsXG4gIENscCA9ICdDTFAnLFxuICBDbnkgPSAnQ05ZJyxcbiAgQ29wID0gJ0NPUCcsXG4gIENvdSA9ICdDT1UnLFxuICBDcmMgPSAnQ1JDJyxcbiAgQ3VjID0gJ0NVQycsXG4gIEN1cCA9ICdDVVAnLFxuICBDdmUgPSAnQ1ZFJyxcbiAgQ3prID0gJ0NaSycsXG4gIERqZiA9ICdESkYnLFxuICBEa2sgPSAnREtLJyxcbiAgRG9wID0gJ0RPUCcsXG4gIER6ZCA9ICdEWkQnLFxuICBFZ3AgPSAnRUdQJyxcbiAgRXJuID0gJ0VSTicsXG4gIEV0YiA9ICdFVEInLFxuICBFdXIgPSAnRVVSJyxcbiAgRmpkID0gJ0ZKRCcsXG4gIEZrcCA9ICdGS1AnLFxuICBHYnAgPSAnR0JQJyxcbiAgR2VsID0gJ0dFTCcsXG4gIEdocyA9ICdHSFMnLFxuICBHaXAgPSAnR0lQJyxcbiAgR21kID0gJ0dNRCcsXG4gIEduZiA9ICdHTkYnLFxuICBHdHEgPSAnR1RRJyxcbiAgR3lkID0gJ0dZRCcsXG4gIEhrZCA9ICdIS0QnLFxuICBIbmwgPSAnSE5MJyxcbiAgSHJrID0gJ0hSSycsXG4gIEh0ZyA9ICdIVEcnLFxuICBIdWYgPSAnSFVGJyxcbiAgSWRyID0gJ0lEUicsXG4gIElscyA9ICdJTFMnLFxuICBJbnIgPSAnSU5SJyxcbiAgSXFkID0gJ0lRRCcsXG4gIElyciA9ICdJUlInLFxuICBJc2sgPSAnSVNLJyxcbiAgSm1kID0gJ0pNRCcsXG4gIEpvZCA9ICdKT0QnLFxuICBKcHkgPSAnSlBZJyxcbiAgS2VzID0gJ0tFUycsXG4gIEtncyA9ICdLR1MnLFxuICBLaHIgPSAnS0hSJyxcbiAgS21mID0gJ0tNRicsXG4gIEtwdyA9ICdLUFcnLFxuICBLcncgPSAnS1JXJyxcbiAgS3dkID0gJ0tXRCcsXG4gIEt5ZCA9ICdLWUQnLFxuICBLenQgPSAnS1pUJyxcbiAgTGFrID0gJ0xBSycsXG4gIExicCA9ICdMQlAnLFxuICBMa3IgPSAnTEtSJyxcbiAgTHJkID0gJ0xSRCcsXG4gIExzbCA9ICdMU0wnLFxuICBMeWQgPSAnTFlEJyxcbiAgTWFkID0gJ01BRCcsXG4gIE1kbCA9ICdNREwnLFxuICBNZ2EgPSAnTUdBJyxcbiAgTWtkID0gJ01LRCcsXG4gIE1tayA9ICdNTUsnLFxuICBNbnQgPSAnTU5UJyxcbiAgTW9wID0gJ01PUCcsXG4gIE1ydSA9ICdNUlUnLFxuICBNdXIgPSAnTVVSJyxcbiAgTXZyID0gJ01WUicsXG4gIE13ayA9ICdNV0snLFxuICBNeG4gPSAnTVhOJyxcbiAgTXh2ID0gJ01YVicsXG4gIE15ciA9ICdNWVInLFxuICBNem4gPSAnTVpOJyxcbiAgTmFkID0gJ05BRCcsXG4gIE5nbiA9ICdOR04nLFxuICBOaW8gPSAnTklPJyxcbiAgTm9rID0gJ05PSycsXG4gIE5wciA9ICdOUFInLFxuICBOemQgPSAnTlpEJyxcbiAgT21yID0gJ09NUicsXG4gIFBhYiA9ICdQQUInLFxuICBQZW4gPSAnUEVOJyxcbiAgUGdrID0gJ1BHSycsXG4gIFBocCA9ICdQSFAnLFxuICBQa3IgPSAnUEtSJyxcbiAgUGxuID0gJ1BMTicsXG4gIFB5ZyA9ICdQWUcnLFxuICBRYXIgPSAnUUFSJyxcbiAgUm9uID0gJ1JPTicsXG4gIFJzZCA9ICdSU0QnLFxuICBSdWIgPSAnUlVCJyxcbiAgUndmID0gJ1JXRicsXG4gIFNhciA9ICdTQVInLFxuICBTYmQgPSAnU0JEJyxcbiAgU2NyID0gJ1NDUicsXG4gIFNkZyA9ICdTREcnLFxuICBTZWsgPSAnU0VLJyxcbiAgU2dkID0gJ1NHRCcsXG4gIFNocCA9ICdTSFAnLFxuICBTbGwgPSAnU0xMJyxcbiAgU29zID0gJ1NPUycsXG4gIFNyZCA9ICdTUkQnLFxuICBTc3AgPSAnU1NQJyxcbiAgU3RuID0gJ1NUTicsXG4gIFN2YyA9ICdTVkMnLFxuICBTeXAgPSAnU1lQJyxcbiAgU3psID0gJ1NaTCcsXG4gIFRoYiA9ICdUSEInLFxuICBUanMgPSAnVEpTJyxcbiAgVG10ID0gJ1RNVCcsXG4gIFRuZCA9ICdUTkQnLFxuICBUb3AgPSAnVE9QJyxcbiAgVHJ5ID0gJ1RSWScsXG4gIFR0ZCA9ICdUVEQnLFxuICBUd2QgPSAnVFdEJyxcbiAgVHpzID0gJ1RaUycsXG4gIFVhaCA9ICdVQUgnLFxuICBVZ3ggPSAnVUdYJyxcbiAgVXNkID0gJ1VTRCcsXG4gIFVzbiA9ICdVU04nLFxuICBVeWkgPSAnVVlJJyxcbiAgVXl1ID0gJ1VZVScsXG4gIFV6cyA9ICdVWlMnLFxuICBWZWYgPSAnVkVGJyxcbiAgVm5kID0gJ1ZORCcsXG4gIFZ1diA9ICdWVVYnLFxuICBXc3QgPSAnV1NUJyxcbiAgWGFmID0gJ1hBRicsXG4gIFhhZyA9ICdYQUcnLFxuICBYYXUgPSAnWEFVJyxcbiAgWGJhID0gJ1hCQScsXG4gIFhiYiA9ICdYQkInLFxuICBYYmMgPSAnWEJDJyxcbiAgWGJkID0gJ1hCRCcsXG4gIFhjZCA9ICdYQ0QnLFxuICBYZHIgPSAnWERSJyxcbiAgWG9mID0gJ1hPRicsXG4gIFhwZCA9ICdYUEQnLFxuICBYcGYgPSAnWFBGJyxcbiAgWHB0ID0gJ1hQVCcsXG4gIFhzdSA9ICdYU1UnLFxuICBYdHMgPSAnWFRTJyxcbiAgWHVhID0gJ1hVQScsXG4gIFh4eCA9ICdYWFgnLFxuICBZZXIgPSAnWUVSJyxcbiAgWmFyID0gJ1pBUicsXG4gIFptdyA9ICdaTVcnLFxuICBad2wgPSAnWldMJ1xufVxuXG5cblxuZXhwb3J0IHR5cGUgRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZSc7XG4gIHJpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1aWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5pZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbj4+O1xuICBzdWJzZXF1ZW50TG9jYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFN1YnNlcXVlbnRMb2NhdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRGVzdGluYXRpb25FbnRyeSA9IHtcbiAgb3JpZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlOiBTY2FsYXJzWydEYXRlJ107XG59O1xuXG5leHBvcnQgZW51bSBEaXN0YW5jZVR5cGVzIHtcbiAgSyA9ICdLJyxcbiAgTSA9ICdNJ1xufVxuXG5leHBvcnQgZW51bSBEb2NHZW5kZXIge1xuICBNID0gJ00nLFxuICBGID0gJ0YnXG59XG5cbmV4cG9ydCBlbnVtIERvY1R5cGUge1xuICBQYXNzcG9ydCA9ICdQQVNTUE9SVCcsXG4gIFZpc2EgPSAnVklTQScsXG4gIElkQ2FyZCA9ICdJRF9DQVJEJ1xufVxuXG5leHBvcnQgdHlwZSBEb2N1bWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdEb2N1bWVudCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgZG9jVHlwZTogRmllbGRXcmFwcGVyPERvY1R5cGU+O1xuICBuYXRpb25hbGl0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5kZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8RG9jR2VuZGVyPj47XG4gIG51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZU9mSXNzdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mRXhwaXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50SW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGRvY1R5cGU6IERvY1R5cGU7XG4gIG5hdGlvbmFsaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnZW5kZXI/OiBNYXliZTxEb2NHZW5kZXI+O1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlT2ZJc3N1aW5nU3RhdGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVPZklzc3VlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkYXRlT2ZFeHBpcnk6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRHluYW1pY0NvbmRpdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmVGbGlnaHRTZWFyY2hSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cyc7XG4gIGpvdXJuZXlzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0SXRpbmVyYXJ5Pj47XG4gIG11bHRpOiBBcnJheTxGaWVsZFdyYXBwZXI8SXRpbmVyYXJ5U3VtbWFyeT4+O1xuICBncm91cGVkPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPEdyb3VwRmxpZ2h0cz4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25FbnRyeSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8RmFyZVJ1bGVUeXBlPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFtb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICByZW1hcms/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlRmVlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsRmVlSW5kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVmdW5kYWJsZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucyc7XG4gIGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEZhcmVSdWxlVHlwZSB7XG4gIENhbmNlbGxhdGlvbiA9ICdDYW5jZWxsYXRpb24nLFxuICBDaGFuZ2UgPSAnQ2hhbmdlJyxcbiAgTm9TaG93ID0gJ05vU2hvdycsXG4gIFVwZ3JhZGUgPSAnVXBncmFkZScsXG4gIE90aGVyID0gJ090aGVyJ1xufVxuXG5leHBvcnQgZW51bSBGYXJlVHlwZSB7XG4gIEZsZXhpYmxlID0gJ0ZsZXhpYmxlJyxcbiAgTG93ZXN0ID0gJ0xvd2VzdCcsXG4gIE5lZ290aWF0ZWQgPSAnTmVnb3RpYXRlZCcsXG4gIE5vbk5lZ290aWF0ZWQgPSAnTm9uTmVnb3RpYXRlZCcsXG4gIExlaXN1cmUgPSAnTGVpc3VyZScsXG4gIFJlcXVlc3RGYXJlUnVsZXMgPSAnUmVxdWVzdEZhcmVSdWxlcycsXG4gIFNlbGVjdEFuZFBybyA9ICdTZWxlY3RBbmRQcm8nXG59XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1F1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1F1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlZnVuZGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGltcG9ydGFudEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFzdFRyYWNrUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGYXN0VHJhY2tRdW90ZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0QW1vdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCc7XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRDYWJpbkNsYXNzIHtcbiAgQW55ID0gJ0FueScsXG4gIExpdGVFY29ub215ID0gJ0xpdGVFY29ub215JyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teVJlc3RyaWN0ZWQgPSAnRWNvbm9teVJlc3RyaWN0ZWQnLFxuICBFY29ub215Tm9CYWdzID0gJ0Vjb25vbXlOb0JhZ3MnLFxuICBFY29ub215RmxleGkgPSAnRWNvbm9teUZsZXhpJyxcbiAgUHJlbWl1bUVjb25vbXkgPSAnUHJlbWl1bUVjb25vbXknLFxuICBCdXNpbmVzcyA9ICdCdXNpbmVzcycsXG4gIFByZW1pdW1CdXNpbmVzcyA9ICdQcmVtaXVtQnVzaW5lc3MnLFxuICBGaXJzdCA9ICdGaXJzdCcsXG4gIFByZW1pdW1GaXJzdCA9ICdQcmVtaXVtRmlyc3QnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcmJvbkVtaXNzaW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnO1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB1bml0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Q2FycmllckRldGFpbCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpYXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGljYW8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBiYW5uZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9wdWxhcml0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRGYXJlUnVsZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRGYXJlVG90YWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJztcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgdGF4PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeTogRmllbGRXcmFwcGVyPEN1cnJlbmN5Q29kZT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRJdGluZXJhcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JztcbiAgdWlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBiYXNlRmFyZUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHBhc3NlbmdlckNvdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBmYXJlUENDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG91dGJvdW5kRmxpZ2h0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+PjtcbiAgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0Sm91cm5leT4+Pj47XG4gIG91dGJvdW5kVG90YWxEdXJhdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zPj47XG4gIGluYm91bmRUb3RhbER1cmF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zPj47XG4gIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEFtb3VudD4+Pj47XG4gIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICB0b3RhbDogRmllbGRXcmFwcGVyPEZsaWdodEZhcmVUb3RhbD47XG4gIGZhcmVDb25kaXRpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25zPj47XG4gIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8QmFnZ2FnZUFsbG93YW5jZT4+Pj47XG4gIGRpc2Nsb3N1cmVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgYWRkaXRpb25hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgam91cm5leUhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRTcGVjaWFsRmFyZUluZm8+PjtcbiAgb3JpZ2luQWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luVGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQWlycG9ydERldGFpbDogRmllbGRXcmFwcGVyPEFpcnBvcnREZXRhaWw+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uVGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGF0ZVRpbWVEZXBhcnRpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZUFycml2aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZUFycml2aW5nVVRDOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdDYXJyaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdDYXJyaWVyTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsOiBGaWVsZFdyYXBwZXI8RmxpZ2h0Q2FycmllckRldGFpbD47XG4gIG1hcmtldGluZ0ZsaWdodE51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3BlcmF0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVxdWlwbWVudENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVxdWlwbWVudE5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHNlYXRzQXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNhYmluQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhYmluUmF3PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1hcmtldGluZ05hbWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz47XG4gIHZlbmRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RvcHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ292ZXJuaW5nQ2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJyaWFnZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBmYXJlQmFzaXNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRNZWFsT3B0aW9uUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25SZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnMnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uc1Jlc3BvbnNlJztcbiAgb3B0aW9uczogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRQYXNzZW5nZXJPYmplY3QgPSB7XG4gIHR5cGU6IEZsaWdodFBhc3NlbmdlclR5cGU7XG4gIGZpcnN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWlkZGxlTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZG9iPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIEZsaWdodFBhc3NlbmdlclR5cGUge1xuICBBZHVsdCA9ICdBRFVMVCcsXG4gIENoaWxkID0gJ0NISUxEJyxcbiAgSW5mYW50ID0gJ0lORkFOVCdcbn1cblxuZXhwb3J0IHR5cGUgRmxpZ2h0UmV2YWxpZGF0ZVJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFJldmFsaWRhdGVSZXNwb25zZSc7XG4gIHZhbGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBwcmljZURpZmZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hSZXN1bHQ+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWFyY2hSZXN1bHRWMiA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMic7XG4gIHJlc3VsdHM6IEZpZWxkV3JhcHBlcjxGZUZsaWdodFNlYXJjaFJlc3VsdHM+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xuICBydWxlQWN0aW9uU3VtbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXRNYXBBaXJjcmFmdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwQWlyY3JhZnQnO1xuICBjYXJyaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBudW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXRNYXBSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzcG9uc2UnO1xuICBhaXJjcmFmdDogRmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBBaXJjcmFmdD47XG4gIHNlYXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRzPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFJlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwU2VhdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFNlYXRzJztcbiAgcm93OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2x1bW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGF0dHJpYnV0ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXM+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U3BlY2lhbEZhcmVJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNwZWNpYWxGYXJlSW5mbyc7XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN1cHBsaWVyQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgR2VvQ29vcmRpbmF0ZXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnO1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdyb3VwRmxpZ2h0cyA9IHtcbiAgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnO1xuICByZWZlcmVuY2VJRDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmxpZ2h0SUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvdW5kSW5kaWNhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBtaW5QcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBtYXhQcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBmbGlnaHRzOiBGaWVsZFdyYXBwZXI8TWF0Y2hpbmdGbGlnaHRzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQWRkcmVzcyA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEFkZHJlc3MnO1xuICBhZGRyZXNzTGluZTE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RPclppcENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY3NpbWlsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBdmFpbGFiaWxpdHkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknO1xuICBob3RlbElkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbWFnZVVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxSb29tPj4+PjtcbiAgcHJwbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0J1c3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmVyc2lvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5UmVzdWx0JztcbiAgcmVzdWx0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxDb252ZXJzaW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbic7XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9jYWxDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb2NhbFRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvbnZlcnRlZENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnZlcnRlZFRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbERlcG9zaXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JztcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHBvbGljeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXF1aXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEl0aW5lcmFyeSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbWFnZVVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXA6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uOiBGaWVsZFdyYXBwZXI8SG90ZWxMb2NhdGlvbj47XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxIb3RlbEFkZHJlc3M+O1xuICB0cmFuc3BvcnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsVHJhbnNwb3J0Pj4+PjtcbiAgcHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8SG90ZWxQcmVmZXJyZWQ+O1xuICB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsVGFnPj4+PjtcbiAgYXZhaWxhYmxlUmF0ZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+PjtcbiAgc3RhcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjbzJQZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVySXRlbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbExvY2F0aW9uJztcbiAgZGlzdGFuY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZGlzdGFuY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTmlnaHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCc7XG4gIG5pZ2h0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICByYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFBheW1lbnRUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUGF5bWVudFR5cGUnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFBvbGljeSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFBvbGljeSc7XG4gIGNhbmNlbGxhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBvc2l0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc2FibGVkQWNjZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBnZW5lcmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGd1YXJhbnRlZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWZ1bmRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFByZWZlcnJlZCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCc7XG4gIGNsaWVudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbnN1bWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUm9vbSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFJvb20nO1xuICByb29tSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJvb21UeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvb21EZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYXRlU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVEZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3RhbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjdXJyZW5jeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1cnJlbmN5Q29udmVyc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbENvbnZlcnNpb24+PjtcbiAgZGVwb3NpdD86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbERlcG9zaXQ+PjtcbiAgbmlnaHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SG90ZWxOaWdodD4+O1xuICBwb2xpY2llczogRmllbGRXcmFwcGVyPEhvdGVsUG9saWN5PjtcbiAgdGF4OiBGaWVsZFdyYXBwZXI8SG90ZWxUYXg+O1xuICBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ2FyZD4+Pj47XG4gIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFBheW1lbnRUeXBlPj4+PjtcbiAgdG1jUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9mZmljZVByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRtY1ByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB1bmF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVuYXZhaWxhYmxlTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsSXRpbmVyYXJ5Pj4+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVGFnID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVGFnJztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpY29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUYXggPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnO1xuICBpbmNsdWRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsVHJhbnNwb3J0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JztcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXN0YW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkaXN0YW5jZVR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIElybER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybElkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpZ25hdHVyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFdpdGg6IEFycmF5PEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxJZGVudGlmaWVycz4+O1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbGxlcj4+PjtcbiAgZnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGNoYW5nZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VnbWVudHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VnbWVudD4+PjtcbiAgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFByb3ZpZGVyPj4+O1xuICB1bnNlbGxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxQbHVzQnVzPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxKb3VybmV5T3B0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucyc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxKb3VybmV5T3B0aW9uPj4+O1xuICBqcmZyZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybEpvdXJuZXlUeXBlIHtcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5J1xufVxuXG5leHBvcnQgdHlwZSBJcmxPZmZsaW5lTm90aWZ5UmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTE9mZmxpbmVOb3RpZnlSZXN1bHQnO1xuICBzdWNjZXNzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElybE9mZmxpbmVQYXNzZW5nZXIgPSB7XG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzY291bnRDYXJkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsb3lhbHR5Q2FyZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cyc7XG4gIG9yaWdpblBsdXNCdXNOTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblBsdXNCdXNOTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxQcm92aWRlciA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+PjtcbiAgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pj4+O1xuICBib29rZWRUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb25zPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWF0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXRQcmVmZXJlbmNlVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRWYWx1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3BlcmF0b3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXRQcmVmZXJlbmNlVHlwZT4+PjtcbiAgc2VhdFByZWZlcmVuY2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWF0Pj4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsU3VwcGxpZXIge1xuICBSZW5mZSA9ICdSZW5mZScsXG4gIEJlTmUgPSAnQmVOZScsXG4gIE50diA9ICdOdHYnXG59XG5cbmV4cG9ydCB0eXBlIElybFN1cHBsaWVyU3RhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTdXBwbGllclN0YXRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGV4dFZhbHVlUGFpciA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUZXh0VmFsdWVQYWlyJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnO1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VnbWVudHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VnbWVudD4+PjtcbiAgbnVtQ2hpbGRyZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbnVtQWR1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYSc7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldEV4dHJhSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZHVsdEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoaWxkQW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmFJZGVudGlmaWVycyc7XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgam91cm5leUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzT3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlUnVsZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXQ+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsQ2FyZCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxDYXJkJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ldENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVjbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VwcGxpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRyYXZlbGxlciA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUcmF2ZWxsZXInO1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVHJhdmVsbGVyU3RhdHVzPj47XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRvYj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgcmFpbGNhcmQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ2l2ZW5OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN1cm5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZVRpdGxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbnRhY3RJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlbGl2ZXJ5RW1haWxBZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIElybFRyYXZlbGxlclN0YXR1cyB7XG4gIFBsYWNlaG9sZGVyID0gJ3BsYWNlaG9sZGVyJyxcbiAgQ29tcGxldGUgPSAnY29tcGxldGUnXG59XG5cbmV4cG9ydCB0eXBlIElucHV0Q2FySGlyZURlcG90ID0ge1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cEV4dGVuZGVkTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wT2ZmTG9jYXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkcm9wT2ZmRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBJbnB1dEZsaWdodEpvdXJuZXkgPSB7XG4gIGlkOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZmFyZUluZm8/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcmlnaW5BaXJwb3J0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3JpZ2luVGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcmlnaW5BaXJwb3J0RGV0YWlsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzdGluYXRpb25UZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgZGF0ZVRpbWVEZXBhcnRpbmc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lQXJyaXZpbmc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkYXRlVGltZUFycml2aW5nVVRDOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbWFya2V0aW5nQ2FycmllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1hcmtldGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2FycmllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVxdWlwbWVudE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b3RhbER1cmF0aW9uOiBTY2FsYXJzWydJbnQnXTtcbiAgc2VhdHNBdmFpbGFibGU/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGNhYmluQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2FiaW5SYXc/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcmtldGluZ05hbWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBTY2FsYXJzWydKU09OJ107XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0b3BzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib29raW5nQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ292ZXJuaW5nQ2Fycmllcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZhcmVCYXNpc0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXRpbmVyYXJ5U3VtbWFyeSA9IHtcbiAgX190eXBlbmFtZT86ICdJdGluZXJhcnlTdW1tYXJ5JztcbiAgb3JkZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG9yaWdpbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRJdGluZXJhcnk+PjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpc29Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTGl2ZURlcEJvYXJkUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0xpdmVEZXBCb2FyZFJlc3VsdCc7XG4gIHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPERlcGFydHVyZUJvYXJkU2VydmljZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb2NhdGlvbic7XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbCA9IHtcbiAgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCc7XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29vcmRpbmF0ZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8R2VvQ29vcmRpbmF0ZXM+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9hZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBncmlkUmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5vcnRoaW5nPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVhc3Rpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIExvZ0xldmVsVHlwZSB7XG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgV2FybiA9ICdXQVJOJyxcbiAgSW5mbyA9ICdJTkZPJyxcbiAgSHR0cCA9ICdIVFRQJyxcbiAgVmVyYm9zZSA9ICdWRVJCT1NFJyxcbiAgRGVidWcgPSAnREVCVUcnLFxuICBTaWxseSA9ICdTSUxMWSdcbn1cblxuZXhwb3J0IHR5cGUgTG91bmdlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nO1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0ZXJtaW5hbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXg/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbnRyb2R1Y3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgYWR1bHRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgY2hpbGRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW5mYW50QWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGxhbmRzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWlyc2lkZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBvcGVuVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbG9zZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2lmaT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNuYWNrcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGludGVybmV0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjaGlsZHJlbkFsbG93ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRpc2FibGVkQWNjZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBkcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVEcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGZyZWVGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzbW9raW5nUGVybWl0dGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBtYWdhemluZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGluY2x1ZGVkRHJpbmtzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWVudUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWVudURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWREcmlua3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZEV4dHJhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBncm91cEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlY2tJbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHJlc3NDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZvb2RBbmRCZXZlcmFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5jZWxsYXRpb25JbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtZW5kbWVudHNJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pc2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgbG91bmdlOiBGaWVsZFdyYXBwZXI8TG91bmdlTG9jYXRpb24+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBMb3VuZ2VTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTG91bmdlU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPExvdW5nZVF1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRiSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGhhbmRvZmY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlTWFzaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHVpUHJlc2VudGF0aW9uOiBGaWVsZFdyYXBwZXI8VWlQcmVzZW50YXRpb24+O1xuICBtYW5kYXRvcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJCb29raW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZW5mb3JjZVVzZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBib29rZWRCeUZpZWxkPzogTWF5YmU8RmllbGRXcmFwcGVyPEJvb2tlZEJ5RmllbGQ+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBmaXhlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBkZWZhdWx0VmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICB2YWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGdyb3VwPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGxhYmVsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVmYXVsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hdGNoaW5nRmxpZ2h0cyA9IHtcbiAgX190eXBlbmFtZT86ICdNYXRjaGluZ0ZsaWdodHMnO1xuICBMaXRlRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlSZXN0cmljdGVkPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teU5vQmFncz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXlGbGV4aT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEVjb25vbXk/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIEJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgUHJlbWl1bUJ1c2luZXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtRmlyc3Q/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZSA9IHtcbiAgX190eXBlbmFtZT86ICdNZXNzYWdlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgdGFyZ2V0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRpc3BsYXlUYXJnZXQ6IEZpZWxkV3JhcHBlcjxNZXNzYWdlVGFyZ2V0PjtcbiAgYWdlbnRPbmx5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2xpY2tUb0NvbmZpcm06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB2YWxpZEZyb20/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICB2YWxpZFRvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VUYXJnZXQge1xuICBMb2dpbiA9ICdMT0dJTicsXG4gIFNlYXJjaEZvcm0gPSAnU0VBUkNIX0ZPUk0nLFxuICBSZXN1bHRzID0gJ1JFU1VMVFMnLFxuICBNaUZvcm0gPSAnTUlfRk9STScsXG4gIEJhc2tldEJlZm9yZUNvbmZpcm0gPSAnQkFTS0VUX0JFRk9SRV9DT05GSVJNJyxcbiAgRGFzaGJvYXJkID0gJ0RBU0hCT0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICBzYXZlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxBZGRyZXNzPjtcbiAgZGVsZXRlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRBZGRyZXNzQXNVc2VyUHJpbWFyeTogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjcmVhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBkZWxldGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1cGRhdGVCYXNrZXRUaXRsZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHVwZGF0ZUJhc2tldE5vdGVzOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkSXRlbVRvQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtc0Zyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkZFVzZXJzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVvcGVuQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXI6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBib29rQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgY2FuY2VsQm9va2luZzogRmllbGRXcmFwcGVyPEFmdGVyQ2FuY2VsbGF0aW9uSW5mbz47XG4gIHNldEJhc2tldEl0ZW1NSUdyb3VwOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2V0TUlEZWZhdWx0VmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtTUlWYWx1ZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNvbmZpcm1NZXNzYWdlczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmV2YWxpZGF0ZUJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWNjZXB0TmV3UHJpY2U6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZGVsZXRlRmF2b3VyaXRlU2VhcmNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVsZXRlUmVjZW50U2VhcmNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZWRpdFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgc2V0VXNlckxhbmd1YWdlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVVzZXJBZGRyZXNzQXJncyA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEFkZHJlc3NBc1VzZXJQcmltYXJ5QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2VuZEJhc2tldEZvckFwcHJvdmFsQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQmFza2V0QXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUJhc2tldFRpdGxlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV3VGl0bGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUJhc2tldE5vdGVzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90ZXM6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEl0ZW1Ub0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2VydmljZTogU2NhbGFyc1snSUQnXTtcbiAgZGV0YWlsOiBTY2FsYXJzWydKU09OJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmljZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY3VycmVuY3k6IEN1cnJlbmN5Q29kZTtcbiAgc2VhcmNoUXVlcnk6IFNjYWxhcnNbJ0pTT04nXTtcbiAgcXVpY2tBZGQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2Vycz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+Pj47XG4gIGxlYWRQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1Gcm9tQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlSXRlbXNGcm9tQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldElkOiBTY2FsYXJzWydJRCddO1xuICBiYXNrZXRJdGVtczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZFVzZXJzVG9CYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVVc2VyRnJvbUJhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcjogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQm9va0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pR3JvdXBBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0TWlEZWZhdWx0VmFsdWVBcmdzID0ge1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbU1pVmFsdWVBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Db25maXJtTWVzc2FnZXNBcmdzID0ge1xuICBtZXNzYWdlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHBheW1lbnRNZXRob2Q6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmV2YWxpZGF0ZUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BY2NlcHROZXdQcmljZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TYXZlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdHJhdmVsRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ0lEJ10+Pj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmF2b3VyaXRlU2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUmVjZW50U2VhcmNoQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRWRpdFVzZXJBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGZvcmVuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXV0aE1ldGhvZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBib29rZXJUeXBlPzogTWF5YmU8Qm9va2VyVHlwZT47XG4gIHRtY0FkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG9mZmljZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBsb2dMZXZlbD86IE1heWJlPExvZ0xldmVsVHlwZT47XG4gIGxpdmU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBhZG1pbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHNlbGVjdGVkTGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VwcGxpZXJSZWxhdGlvbnM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwaG9uZU51bWJlcnM/OiBNYXliZTxBcnJheTxQaG9uZU51bWJlcklucHV0Pj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEFkZHJlc3NJbnB1dD4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8VXNlck1pRGVmYXVsdFZhbHVlc0lucHV0Pj47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PERvY3VtZW50SW5wdXQ+PjtcbiAgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8VXNlckxveWFsdHlDb2RlSW5wdXQ+PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxVc2VyUHJlZmVyZW5jZUlucHV0Pj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VXNlckxhbmd1YWdlQXJncyA9IHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9mZmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdPZmZpY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgYWRkcmVzc2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlVG9BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgb25BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1heGltdW1DYXJTaXplPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlckluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyT3BlcmF0aW5nVGltZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWZhdWx0SW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYnJhbmRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjYXJQYXJrOiBGaWVsZFdyYXBwZXI8UGFya2luZ0xvY2F0aW9uPjtcbiAgcmVxdWlyZWRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFya2luZ1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRDb25maWcgPSB7XG4gIGNzcFVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2VySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwaUtleT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlcnZlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsaWVudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vc2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5QYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIGNvbmZpZz86IE1heWJlPFBheW1lbnRDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcmVhQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVUeXBlPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcmVhQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8UGhvbmVUeXBlPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUGhvbmVUeXBlIHtcbiAgTW9iaWxlID0gJ01PQklMRScsXG4gIExhbmRsaW5lID0gJ0xBTkRMSU5FJyxcbiAgRmF4ID0gJ0ZBWCcsXG4gIE90aGVyID0gJ09USEVSJ1xufVxuXG5leHBvcnQgdHlwZSBQb3N0Y29kZURldGFpbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJztcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZWFzdGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbm9ydGhpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXVyb3BlYW5FbGVjdG9yYWxSZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpbWFyeUNhcmVUcnVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbHNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmxpYW1lbnRhcnlDb25zdGl0dWVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5EaXN0cmljdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJpc2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5Db3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5XYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjY2c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnV0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmVyZW5jZUtleSB7XG4gIE1lYWxSZXF1ZXN0ID0gJ01FQUxfUkVRVUVTVCcsXG4gIFNlYXRpbmdQcmVmZXJlbmNlID0gJ1NFQVRJTkdfUFJFRkVSRU5DRScsXG4gIFNwZWFjaWFsTmVlZCA9ICdTUEVBQ0lBTF9ORUVEJyxcbiAgU2VhdExvY2F0aW9uID0gJ1NFQVRfTE9DQVRJT04nLFxuICBTZWF0UG9zaXRpb24gPSAnU0VBVF9QT1NJVElPTicsXG4gIFNlYXREaXJlY3Rpb24gPSAnU0VBVF9ESVJFQ1RJT04nXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgZ2V0QWxsQWlybGluZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIHNlYXJjaEFpcmxpbmVzOiBGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdHM+O1xuICBzZWFyY2hBaXJwb3J0czogRmllbGRXcmFwcGVyPEFpcnBvcnRSZXN1bHRzPjtcbiAgZ2V0VXNlckJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGdldFVzZXJCYXNrZXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0Pj47XG4gIGVtYWlsQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2VhcmNoQ2FiSGlyZTogRmllbGRXcmFwcGVyPENhYkhpcmVSZXN1bHQ+O1xuICBzZWFyY2hVc2VyQ2FuQm9va0ZvcjogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgZ2V0Q2FuY2VsbGF0aW9uSW5mbzogRmllbGRXcmFwcGVyPEJlZm9yZUNhbmNlbGxhdGlvbkluZm8+O1xuICBnZXRDYXJIaXJlUHJvdmlkZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoQ2FySGlyZTogRmllbGRXcmFwcGVyPENhckhpcmVSZXN1bHQ+O1xuICBnZXRDYXJIaXJlRGVwb3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZURlcG90Pj47XG4gIGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiBGaWVsZFdyYXBwZXI8Q2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZT47XG4gIGdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPENhcmJvbkFsbG93YW5jZT4+O1xuICBzZWFyY2hDaXRpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDaXR5Pj47XG4gIGdldENvbXBhbmllczogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgZ2V0Q29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPENvbXBhbnk+PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIGFwcGx5SklURmxpZ2h0UnVsZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBzZWFyY2hGbGlnaHRzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0PjtcbiAgc2VhcmNoRmxpZ2h0c1YyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBzZWFyY2hFdXJvc3RhcjogRmllbGRXcmFwcGVyPEZsaWdodFNlYXJjaFJlc3VsdFYyPjtcbiAgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiBGaWVsZFdyYXBwZXI8RmxpZ2h0RmFyZVJ1bGVzUmVzdWx0PjtcbiAgZ2V0RmxpZ2h0TWVhbE9wdGlvbnM6IEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9uUmVzdWx0PjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbENhcmQ+PjtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb246IEZpZWxkV3JhcHBlcjxJcmxPZmZsaW5lTm90aWZ5UmVzdWx0PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIGdldFJhaWxQcm92aWRlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hJUkw6IEZpZWxkV3JhcHBlcjxJcmxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IEZpZWxkV3JhcHBlcjxMaXZlRGVwQm9hcmRSZXN1bHQ+O1xuICBzZWFyY2hMb3VuZ2VzOiBGaWVsZFdyYXBwZXI8TG91bmdlU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRhdGVCYXNrZXRJdGVtTUk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNZXNzYWdlPj47XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBzZWFyY2hQYXJraW5nOiBGaWVsZFdyYXBwZXI8UGFya2luZ1NlYXJjaFJlc3VsdD47XG4gIGdldEJhc2tldEl0ZW1QYXltZW50U3VwcGxtZW50YXJ5SW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBnZXRQb3N0Y29kZURldGFpbHM6IEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+O1xuICBwb3N0Y29kZUF1dG9TdWdnZXN0OiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoUG9zdGNvZGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPj47XG4gIGlzUG9zdGNvZGVWYWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFJhaWxTdGF0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+O1xuICBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj4+O1xuICBzZWFyY2hSYWlsOiBGaWVsZFdyYXBwZXI8UmFpbFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxjYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyPj47XG4gIGdldFJpc2tBbGVydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSaXNrQWxlcnQ+PjtcbiAgZ2V0VXNlclRyYXZlbFJ1bGVzOiBGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZXNDb2xsZWN0aW9uPjtcbiAgYXBwbHlKSVRIb3RlbFJ1bGVzOiBGaWVsZFdyYXBwZXI8QXBwbHlKaXRSdWxlc1Jlc3VsdD47XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0RmxpZ2h0U2VhdE1hcDogRmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXN1bHQ+O1xuICBnZXRVc2VyU2VydmljZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIGdldFRGWFN1cHBsaWVyUm91dGVzOiBGaWVsZFdyYXBwZXI8VGZ4U3VwcGxpZXJSb3V0ZXNSZXN1bHQ+O1xuICBnZXRVc2VyVUlDb25maWdzOiBGaWVsZFdyYXBwZXI8VWlDb25maWdDb2xsZWN0aW9uPjtcbiAgZ2V0VXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcmxpbmVzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEFpcnBvcnRzQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGV4Y2x1ZGVOb25QdWJsaWM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB0cmF2ZWxsZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0U3RhdHVzPzogTWF5YmU8QmFza2V0U3RhdHVzPjtcbiAgY3JlYXRlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNyZWF0ZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYm9va2VkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0UmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRUaXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlFbWFpbEJhc2tldEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhYkhpcmVBcmdzID0ge1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFVzZXJDYW5Cb29rRm9yQXJncyA9IHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhbmNlbGxhdGlvbkluZm9BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhckhpcmVBcmdzID0ge1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYXJIaXJlRGVwb3RzQXJncyA9IHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0QXJncyA9IHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZUFyZ3MgPSB7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDaXRpZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbmllc0FyZ3MgPSB7XG4gIHF1ZXJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENvbmZlcm1hQ2l0aWVzQXJncyA9IHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFPZmZpY2VBcmdzID0ge1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFRdWlja2xpc3RBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFSb29tSW1hZ2VzQXJncyA9IHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmFzdFRyYWNrQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEZsaWdodFJ1bGVzQXJncyA9IHtcbiAgc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogU2NhbGFyc1snSlNPTiddO1xuICBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmxpZ2h0c1YyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRXVyb3N0YXJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRGYXJlUnVsZXNBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRNZWFsT3B0aW9uc0FyZ3MgPSB7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsQ2hhaW5zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsc0FyZ3MgPSB7XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGNpdHlOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRyYWluU3RhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByb29tczogU2NhbGFyc1snSW50J107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcztcbiAgZGlzdGFuY2U6IFNjYWxhcnNbJ0ludCddO1xuICBtYXhSZXN1bHRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBob3RlbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRIb3RlbEF2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsRGlzY291bnRDYXJkc0FyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkFyZ3MgPSB7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsTGl2ZURlcGFydHVyZXNBcmdzID0ge1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJpc2tBbGVydHNBcmdzID0ge1xuICBtaW5MZXZlbD86IE1heWJlPFJpc2tMZXZlbD47XG4gIG1heExldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgY291bnRyeUlzb0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmFpbFN0YXRpb24/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYWlycG9ydElhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXBwbHlKaXRIb3RlbFJ1bGVzQXJncyA9IHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyUmVjZW50U2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNBcmdzID0ge1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPFNlcnZpY2VUeXBlPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRTZWF0TWFwQXJncyA9IHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VGZ4U3VwcGxpZXJSb3V0ZXNBcmdzID0ge1xuICBzdXBwbGllcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG9uZVdheU9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJVaUNvbmZpZ3NBcmdzID0ge1xuICB0YXJnZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlckFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsQWNjb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQWNjb3VudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc0RlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxDYWxsaW5nUG9pbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbENhbGxpbmdQb2ludCc7XG4gIHN0YXRpb25OYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2NoZWR1bGVkUGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGlvbkNsYXNzaWZpY2F0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbj47XG4gIHN0b3BwaW5nUGF0dGVybjogRmllbGRXcmFwcGVyPFJhaWxTdG9wcGluZ1BhdHRlcm4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbENsYXNzIHtcbiAgQWxsID0gJ0FsbCcsXG4gIEZpcnN0ID0gJ0ZpcnN0JyxcbiAgU3RhbmRhcmQgPSAnU3RhbmRhcmQnXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VnbWVudElkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRXaXRoOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVyc0FsbG93ZWRXaXRoJztcbiAgdHJhbnNhY3Rpb25JZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nUmVmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUZhcmUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlck5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWxpdmVyeU9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5TGVnID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdG9yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcnJpdmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWxsaW5nUG9pbnRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nO1xuICBmcm9tOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmcm9tQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0bzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXBhcnREYXRlVGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlMZWdzOiBBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlMZWc+PjtcbiAgcmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlU3BsaXRPdXRib3VuZEZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0UmV0dXJuRmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBjaGFuZ2VzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsUHJvdmlkZXI+Pj47XG4gIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0UXVldWU+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRFeHRyYT4+PjtcbiAgcGx1c0J1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsUGx1c0J1cz4+O1xuICBvdmVydGFrZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHJldHVybj86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbj4+PjtcbiAgdHJhdmVsQ2FyZHNBZGRvbkZsYWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHN1bW1hcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFBsdXNCdXMnO1xuICBvcmlnaW5QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25QbHVzQnVzTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uU3RhdGlvbk5MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFBsdXNCdXNBdmFpbCA9IHtcbiAgb3JpZ2luPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVzdGluYXRpb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQcm92aWRlcic7XG4gIHByb3ZpZGVySWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVhcGVzdFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG4gIHRpY2tldE9wdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0T3B0aW9uPj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsU2VhcmNoSm91cm5leVR5cGUge1xuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknLFxuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBPcGVuUmV0dXJuSm91cm5leSA9ICdPcGVuUmV0dXJuSm91cm5leSdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VhcmNoUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9ucz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXQnO1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2FjaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc2l0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlY2s/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFNlbGVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNpbGl0aWVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbm90ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0UHJlZmVyZW5jZVR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VnbWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU2VnbWVudCc7XG4gIGlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0UHJlZmVyZW5jZVR5cGU+Pj47XG4gIHNlYXRQcmVmZXJlbmNlR3JvdXA/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFNlYXQ+Pj47XG4gIGNhbGxpbmdQb2ludHM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbENhbGxpbmdQb2ludD4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTdGF0aW9uJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGlvbkNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5sY0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJhaW5saW5lQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmxpbmVVbmlxdWVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uRGV0YWlscz86IE1heWJlPEZpZWxkV3JhcHBlcjxMb2NhdGlvbkRldGFpbD4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFN0YXRpb25DbGFzc2lmaWNhdGlvbiB7XG4gIE9yaWdpbiA9ICdPcmlnaW4nLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgRGVzdGluYXRpb24gPSAnRGVzdGluYXRpb24nLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCBlbnVtIFJhaWxTdG9wcGluZ1BhdHRlcm4ge1xuICBSZXF1ZXN0U3RvcCA9ICdSZXF1ZXN0U3RvcCcsXG4gIFBpY2tVcE9ubHkgPSAnUGlja1VwT25seScsXG4gIFNldERvd25Pbmx5ID0gJ1NldERvd25Pbmx5JyxcbiAgTm9ybWFsID0gJ05vcm1hbCcsXG4gIFBhc3NpbmcgPSAnUGFzc2luZycsXG4gIFVua25vd24gPSAnVW5rbm93bidcbn1cblxuZXhwb3J0IHR5cGUgUmFpbFRleHRWYWx1ZVBhaXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0JztcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJvdXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXREZWxpdmVyeU9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24nO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnO1xuICBpZGVudGlmaWVycz86IE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMnO1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGpvdXJuZXlJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpc09yaWdpbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFRpY2tldE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmxlU2VhdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0Pj4+PjtcbiAgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRRdWV1ZT4+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0UXVldWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0VGVybXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJztcbiAgZXJyb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQWx0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByZUJvb2tpbmdSZXF1aXJlbWVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsVmFsaWRpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRPdXRSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkUmV0dXJuUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hpbGREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYWlsY2FyZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZENhbmNlbGxhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlCcmVha1J1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmlsaXR5UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2RBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAga2lvc2tBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhcnREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RHluYW1pY0NvbmRpdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xuICBwYXltZW50TWV0aG9kRGV0YWlscz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgRHJvcGRvd24gPSAnRFJPUERPV04nLFxuICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25mZXJtYUlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBhZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdG1jQWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbXBhbnlBZG1pbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2VyVHlwZTogRmllbGRXcmFwcGVyPEJvb2tlclR5cGU+O1xuICBhdXRoTWV0aG9kczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhc3N3b3JkTGFzdFVwZGF0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBzZWxlY3RlZExhbmd1YWdlOiBGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+O1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxMYW5ndWFnZT4+O1xuICB0bWM6IEZpZWxkV3JhcHBlcjxUbWM+O1xuICBjb21wYW55OiBGaWVsZFdyYXBwZXI8Q29tcGFueT47XG4gIG9mZmljZTogRmllbGRXcmFwcGVyPE9mZmljZT47XG4gIGNvbXBhbnlHcm91cHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgYXBwcm92ZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZXI+PjtcbiAgYXBwcm92ZXJGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxBcHByb3ZlZT4+O1xuICBib29rZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjYW5Cb29rRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0RW1haWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbG9nTGV2ZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9nTGV2ZWxUeXBlPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj4+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJNaURlZmF1bHRWYWx1ZT4+PjtcbiAgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPERvY3VtZW50Pj4+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlckxveWFsdHlDb2RlPj4+O1xuICBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUHJlZmVyZW5jZT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZUlucHV0ID0ge1xuICBjYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnO1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQgPSB7XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIG1hbmFnZW1lbnRJbmZvOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGZyZWVUZXh0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyUGFzc2VuZ2VyVHlwZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHBhc3NlbmdlclR5cGU6IEZpZWxkV3JhcHBlcjxQYXNzZW5nZXJUeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBwYXNzZW5nZXJUeXBlOiBQYXNzZW5nZXJUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclByZWZlcmVuY2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB1c2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPj47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJlZmVyZW5jZUtleT4+O1xuICBwcmVmZXJlbmNlVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclByZWZlcmVuY2VJbnB1dCA9IHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG4gIHByZWZlcmVuY2VLZXk/OiBNYXliZTxQcmVmZXJlbmNlS2V5PjtcbiAgcHJlZmVyZW5jZVZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU3Vic2VxdWVudExvY2F0aW9ucyA9IHtcbiAgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm0/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcGxhdGZvcm1Jc0hpZGRlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXRhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8QXNzb2NpYXRpb24+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWNjZXB0TmV3UHJpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4gfCBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0O1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFkZFVzZXJzVG9CYXNrZXRJdGVtOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6IEFycmF5PFNjYWxhcnNbJ0pTT04nXT4gfCBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdhcHBseUpJVEZsaWdodFJ1bGVzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+IHwgU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgYXBwbHlKSVRIb3RlbFJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FwcGx5SklUUnVsZXNSZXN1bHQnIH1cbiAgICAmIFBpY2s8QXBwbHlKaXRSdWxlc1Jlc3VsdCwgJ3Jlc3VsdCc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJz5cbik7XG5cbmV4cG9ydCB0eXBlIE93bmVyRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuKTtcblxuZXhwb3J0IHR5cGUgQmFza2V0RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Jvb2tlZEF0JyB8ICdzdGF0dXMnIHwgJ3ZhbGlkYXRlZCc+XG4gICYgeyBvd25lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBPd25lckZpZWxkc0ZyYWdtZW50XG4gICksIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nIH1cbiAgICAmIE1ha2VPcHRpb25hbDxQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3N0YXR1cycgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz4sICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJz5cbiAgICAmIHsgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgKT4sIHNlcnZpY2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJz5cbiAgICApLCB1c2VyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgVHJhdmVsbGVyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnIH1cbiAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAmIHsgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBkZWZhdWx0VmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICYgeyB2YWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiwgY29tcGFueUdyb3VwPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnIH1cbiAgICAmIFBpY2s8Q29tcGFueUdyb3VwLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVCYXNrZXQnPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNyZWF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyByZW1vdmVJdGVtRnJvbUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2VuZEJhc2tldEZvckFwcHJvdmFsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzZXJ2aWNlOiBTY2FsYXJzWydJRCddO1xuICBkZXRhaWw6IFNjYWxhcnNbJ0pTT04nXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByaWNlOiBTY2FsYXJzWydGbG9hdCddO1xuICBjdXJyZW5jeTogQ3VycmVuY3lDb2RlO1xuICBzZWFyY2hRdWVyeTogU2NhbGFyc1snSlNPTiddO1xuICBxdWlja0FkZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+IHwgTWF5YmU8VXNlclBhc3NlbmdlclR5cGVJbnB1dD4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGNvMlBlckl0ZW0/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgaW5ib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRJdGVtVG9CYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgcmV2YWxpZGF0ZUJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQm9va0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN1cHBsZW1lbnRhcnlJbmZvOiBBcnJheTxTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8+IHwgU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBib29rQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlcGFydHM6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQ7XG4gIHRvTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdmlhcz86IE1heWJlPEFycmF5PE1heWJlPENhYkhpcmVMb2NhdGlvbklucHV0Pj4gfCBNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+O1xuICB2ZWhpY2xlVHlwZT86IE1heWJlPENhYkhpcmVWZWhpY2xlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDYWJIaXJlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2FiSGlyZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlUXVvdGUnIH1cbiAgICAgICYgUGljazxDYWJIaXJlUXVvdGUsICdpZCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnc3VwcGxpZXJOYW1lJyB8ICdlc3RpbWF0ZWRDTzInIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICd2ZWhpY2xlVHlwZScgfCAndHJpcERpc3RhbmNlTWV0cmVzJyB8ICd0cmlwRHVyYXRpb25TZWNvbmRzJyB8ICdkZXBhcnRzJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICAgJiB7IGZyb21Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB0b0xvY2F0aW9uOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICksIHZpYXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYW5jZWxCb29raW5nTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY2FuY2VsQm9va2luZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZnRlckNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QWZ0ZXJDYW5jZWxsYXRpb25JbmZvLCAnY2FuY2VsbGVkJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxvY2F0aW9uRGV0YWlsczogQ2FySGlyZUlucHV0SWRlbnRpZmllcnM7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2UnIH1cbiAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICk+LCB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcicgfVxuICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICApPiwgYWRkcmVzcz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUN1c3RvbScgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGFpcnBvcnQ/OiBNYXliZTxDYXJIaXJlQWlycG9ydElucHV0PjtcbiAgY2l0eT86IE1heWJlPENhckhpcmVDaXR5SW5wdXQ+O1xuICBsb2NhdGlvbj86IE1heWJlPENhckhpcmVMb2NhdGlvbklucHV0PjtcbiAgZGVwb3Q/OiBNYXliZTxJbnB1dENhckhpcmVEZXBvdD47XG4gIHBpY2t1cERhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZHJvcG9mZkRhdGVUaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVuZG9yPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbGFzcz86IE1heWJlPENhckhpcmVDbGFzcz47XG4gIHR5cGU/OiBNYXliZTxDYXJIaXJlVHlwZT47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPENhckhpcmVUcmFuc21pc3Npb24+O1xuICBhaXJjb24/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGVzdGltYXRlZERhaWx5RGlzdGFuY2VVbml0cz86IE1heWJlPERpc3RhbmNlVHlwZXM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhckhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHknIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZUlkZW50aWZpZXJzLCAnbG9jYXRvcicgfCAncnBoJyB8ICdzdGF0dXMnIHwgJ3ZlaFR5cGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ2xvY2F0aW9uTmFtZScgfCAnZHJvcE9mZkxvY2F0aW9uJyB8ICdwaWNrdXBEYXRlVGltZScgfCAnZHJvcG9mZkRhdGVUaW1lJyB8ICd2ZW5kb3InPlxuICAgICAgKT4sIGRpc3BsYXlSZWNvcmQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGlzcGxheVJlY29yZCcgfVxuICAgICAgICAmIFBpY2s8Q2FySGlyZURpc3BsYXlSZWNvcmQsICdzdGF0dXMnIHwgJ3BpY2t1cCcgfCAnZHJvcG9mZic+XG4gICAgICAgICYgeyB2ZW5kb3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlbmRvciwgJ25hbWUnIHwgJ2xvZ28nPlxuICAgICAgICApPiwgdmVoaWNsZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGUsICdjbGFzcycgfCAndHlwZScgfCAndHJhbnNtaXNzaW9uJyB8ICdhaXJjb24nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbWFnZXMnPlxuICAgICAgICApPiwgY2hhcmdlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUNoYXJnZScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQ2hhcmdlLCAnbGFiZWwnIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgKT4+PiwgcGlja3VwTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCByZXR1cm5Mb2NhdGlvbj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUFkZHJlc3MsICduYW1lJyB8ICd0b3BMaW5lJyB8ICdjaXR5JyB8ICdyZWdpb24nIHwgJ3Bvc3RDb2RlJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGVDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICAgKT4sIGFkZGl0aW9uYWxJbmZvPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0sICduYW1lJyB8ICd0ZXh0JyB8ICdqc29uJz5cbiAgICAgICAgICAmIHsgY3VzdG9tPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgICAgICYgUGljazxDYXJIaXJlQ3VzdG9tLCAnbmFtZScgfCAndGV4dCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+Pj4gfVxuICAgICAgKT4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWVzc2FnZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdjb25maXJtTWVzc2FnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVGYXZvdXJpdGVTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVSZWNlbnRTZWFyY2gnPlxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlVXNlckFkZHJlc3MnPlxuKTtcblxuZXhwb3J0IHR5cGUgRWRpdFVzZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdXRoTWV0aG9kcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWN0aXZlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VyVHlwZT86IE1heWJlPEJvb2tlclR5cGU+O1xuICB0bWNBZG1pbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxvZ0xldmVsPzogTWF5YmU8TG9nTGV2ZWxUeXBlPjtcbiAgbGl2ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbmZlcm1hSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIGFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29tcGFueUFkbWluPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2VsZWN0ZWRMYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjbzJBbGxvd2FuY2VQZXJpb2Q/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXBwbGllclJlbGF0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBob25lTnVtYmVycz86IE1heWJlPEFycmF5PFBob25lTnVtYmVySW5wdXQ+IHwgUGhvbmVOdW1iZXJJbnB1dD47XG4gIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PEFkZHJlc3NJbnB1dD4gfCBBZGRyZXNzSW5wdXQ+O1xuICB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8VXNlck1pRGVmYXVsdFZhbHVlc0lucHV0PiB8IFVzZXJNaURlZmF1bHRWYWx1ZXNJbnB1dD47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PERvY3VtZW50SW5wdXQ+IHwgRG9jdW1lbnRJbnB1dD47XG4gIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PFVzZXJMb3lhbHR5Q29kZUlucHV0PiB8IFVzZXJMb3lhbHR5Q29kZUlucHV0PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxVc2VyUHJlZmVyZW5jZUlucHV0PiB8IFVzZXJQcmVmZXJlbmNlSW5wdXQ+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRWRpdFVzZXJNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBlZGl0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NvbmZlcm1hSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCcgfCAnZW1lcmdlbmN5Q29udGFjdE5hbWUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RQaG9uZScgfCAnZW1lcmdlbmN5Q29udGFjdEVtYWlsJyB8ICdjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWwnIHwgJ2xpdmUnIHwgJ3N1cHBsaWVyUmVsYXRpb25zJyB8ICdsb2dMZXZlbCc+XG4gICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FwcHJvdmVyJyB9XG4gICAgICAmIFBpY2s8QXBwcm92ZXIsICdhY3RpdmUnIHwgJ3ByaW9yaXR5Jz5cbiAgICApPiwgYXBwcm92ZXJGb3I6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBcHByb3ZlZScgfVxuICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPj4sIHVzZXJNaURlZmF1bHRWYWx1ZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlck1pRGVmYXVsdFZhbHVlJyB9XG4gICAgICAmIFBpY2s8VXNlck1pRGVmYXVsdFZhbHVlLCAnZnJlZVRleHRWYWx1ZSc+XG4gICAgICAmIHsgc2VydmljZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICk+LCBtYW5hZ2VtZW50SW5mbz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZW5mb3JjZVVzZXJEZWZhdWx0JyB8ICdib29rZWRCeUZpZWxkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICAgICksIGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4gfVxuICAgICk+PiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RvY3VtZW50JyB9XG4gICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgKT4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEVtYWlsQmFza2V0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZW1haWxCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU6ICdCYXNrZXQnIH1cbiAgICAmIFBpY2s8QmFza2V0LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAndGl0bGUnIHwgJ25vdGVzJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3RhdHVzJyB8ICd2YWxpZGF0ZWQnIHwgJ2Jvb2tlZEF0Jz5cbiAgICAmIHsgb3duZXI6IChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgKT4sIHRtYzogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgJiBQaWNrPFRtYywgJ25hbWUnPlxuICAgICAgKSwgb2ZmaWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICApLCBjb21wYW55R3JvdXBzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnlHcm91cCcgfVxuICAgICAgICAmIFBpY2s8Q29tcGFueUdyb3VwLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueScgfVxuICAgICAgICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdzdXBwb3J0RW1haWwnIHwgJ2NvMkNvbnN1bXB0aW9uUG9saWN5JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKT4sIGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKSB9XG4gICAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdBcHByb3ZlcicgfVxuICAgICAgICAmIFBpY2s8QXBwcm92ZXIsICdhY3RpdmUnIHwgJ3ByaW9yaXR5Jz5cbiAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdBcHByb3ZlZScgfVxuICAgICAgICAmIFBpY2s8QXBwcm92ZWUsICdhY3RpdmUnIHwgJ3ByaW9yaXR5Jz5cbiAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICApPj4gfVxuICAgICksIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdCYXNrZXRJdGVtJyB9XG4gICAgICAmIFBpY2s8QmFza2V0SXRlbSwgJ2lkJyB8ICdhZHVsdHMnIHwgJ2NoaWxkcmVuJyB8ICdpbmZhbnRzJyB8ICdkZXRhaWwnIHwgJ2RldGFpbEhhc2gnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdleHBpcnknIHwgJ2V4cGlyZWQnIHwgJ3NlYXJjaFF1ZXJ5JyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pR3JvdXBzQXZhaWxhYmxlJyB8ICdtaUdyb3VwU2VsZWN0ZWQnIHwgJ3ZhbGlkYXRlZCcgfCAnbGF0ZXN0VmFsaWRhdGlvbicgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlJyB8ICdsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlJyB8ICdib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZScgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAnc3RhdHVzJyB8ICdwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEnIHwgJ3Blckl0ZW1BZGRyZXNzJyB8ICdwZXJJdGVtUGhvbmVOdW1iZXInIHwgJ3BlclBhc3NlbmdlckFkZHJlc3MnIHwgJ3BlclBhc3NlbmdlclBob25lTnVtYmVyJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nIHwgJ291dGJvdW5kRGF0ZScgfCAnaW5ib3VuZERhdGUnIHwgJ2NvbnZlcnRlZEN1cnJlbmN5QW1vdW50JyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUNvZGUnPlxuICAgICAgJiB7IHVzZXJzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCcgfCAnZW1lcmdlbmN5Q29udGFjdE5hbWUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RQaG9uZScgfCAnZW1lcmdlbmN5Q29udGFjdEVtYWlsJz5cbiAgICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICk+LCB0bWM6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICApLCBvZmZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICksIGNvbXBhbnlHcm91cHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICAgICAmIFBpY2s8Q29tcGFueUdyb3VwLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgJiB7IGNvbXBhbnk6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdzdXBwb3J0RW1haWwnIHwgJ2NvMkNvbnN1bXB0aW9uUG9saWN5JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgICAmIHsgdG1jOiAoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICAgKSwgb2ZmaWNlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgICAmIHsgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICAgICk+IH1cbiAgICAgICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKSB9XG4gICAgICAgICk+LCBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgKT4+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICApPiwgYXBwcm92ZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgICAmIFBpY2s8QXBwcm92ZXIsICdhY3RpdmUnIHwgJ3ByaW9yaXR5Jz5cbiAgICAgICAgKT4sIGFwcHJvdmVyRm9yOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgICAmIFBpY2s8QXBwcm92ZWUsICdhY3RpdmUnIHwgJ3ByaW9yaXR5Jz5cbiAgICAgICAgKT4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4sIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiB9XG4gICAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQYXNzZW5nZXJUeXBlJyB9XG4gICAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICAgICk+LCBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICYgeyBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnRG9jdW1lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4gfVxuICAgICAgKT4sIHNlcnZpY2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnU2VydmljZScgfVxuICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICd0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQnIHwgJ3Rha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0JyB8ICdlbmZvcmNlVXNlckRlZmF1bHQnIHwgJ2Jvb2tlZEJ5RmllbGQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAnZ3JvdXAnPlxuICAgICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnPlxuICAgICAgICApLCBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCcgfCAnZW1lcmdlbmN5Q29udGFjdE5hbWUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RQaG9uZScgfCAnZW1lcmdlbmN5Q29udGFjdEVtYWlsJz5cbiAgICAgICAgICAgICYgeyBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgICApPj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgKT4sIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICApPiB9XG4gICAgKT4sIGNvbXBhbnlHcm91cD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnlHcm91cCcgfVxuICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgJiB7IGNvbXBhbnk6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueScgfVxuICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAmIHsgdG1jOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKSwgb2ZmaWNlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAmIHsgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4sIGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICApPiwgdXNlcnM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCcgfCAnZW1lcmdlbmN5Q29udGFjdE5hbWUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RQaG9uZScgfCAnZW1lcmdlbmN5Q29udGFjdEVtYWlsJz5cbiAgICAgICAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICAgICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICAgKT4sIHRtYzogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICAgICAgICksIG9mZmljZTogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgICAmIHsgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+IH1cbiAgICAgICAgICApLCBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgKT4+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgYXBwcm92ZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBcHByb3ZlcicgfVxuICAgICAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICAgKT4sIGFwcHJvdmVyRm9yOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBcHByb3ZlZScgfVxuICAgICAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICAgKT4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICApPj4sIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgKT4+LCBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+LCBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4gfVxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEVycm9yc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJyB8ICdlcnJvckNvZGUnPlxuICAmIHsgc2VydmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdyb3VwZWRGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAmIFBpY2s8R3JvdXBGbGlnaHRzLCAncmVmZXJlbmNlSUQnIHwgJ2ZsaWdodElEJyB8ICdib3VuZEluZGljYXRvcicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgJiB7IGZsaWdodHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWF0Y2hpbmdGbGlnaHRzJyB9XG4gICAgJiBQaWNrPE1hdGNoaW5nRmxpZ2h0cywgJ0Vjb25vbXlSZXN0cmljdGVkJyB8ICdFY29ub215Tm9CYWdzJyB8ICdFY29ub215RmxleGknIHwgJ1ByZW1pdW1FY29ub215JyB8ICdCdXNpbmVzcycgfCAnRmlyc3QnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgJiBQaWNrPEZsaWdodEpvdXJuZXksICdpZCcgfCAnYm9va2luZ0NvZGUnIHwgJ2NhYmluQ2xhc3MnIHwgJ2NhYmluQ29kZScgfCAnY2FiaW5SYXcnIHwgJ2RhdGVUaW1lQXJyaXZpbmcnIHwgJ2RhdGVUaW1lQXJyaXZpbmdVVEMnIHwgJ2RhdGVUaW1lRGVwYXJ0aW5nJyB8ICdkYXRlVGltZURlcGFydGluZ1VUQycgfCAnZGVzdGluYXRpb25BaXJwb3J0JyB8ICdkZXN0aW5hdGlvbkFpcnBvcnROYW1lJyB8ICdkZXN0aW5hdGlvblRlcm1pbmFsJyB8ICdlcXVpcG1lbnRDb2RlJyB8ICdlcXVpcG1lbnROYW1lJyB8ICdmYXJlQmFzaXNDb2RlJyB8ICdnb3Zlcm5pbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyJyB8ICdtYXJrZXRpbmdDYXJyaWVyTmFtZScgfCAnbWFya2V0aW5nRmxpZ2h0TnVtYmVyJyB8ICdtYXJrZXRpbmdOYW1lcycgfCAnbWFycmlhZ2VHcm91cCcgfCAnb3BlcmF0aW5nQ2FycmllcicgfCAnb3BlcmF0aW5nQ2Fycmllck5hbWUnIHwgJ29wZXJhdGluZ0ZsaWdodE51bWJlcicgfCAnb3JpZ2luQWlycG9ydCcgfCAnb3JpZ2luQWlycG9ydE5hbWUnIHwgJ29yaWdpblRlcm1pbmFsJyB8ICdzdG9wcycgfCAndG90YWxEdXJhdGlvbicgfCAnc2VhdHNBdmFpbGFibGUnIHwgJ3ZlbmRvckNvZGUnIHwgJ2FkZGl0aW9uYWwnPlxuICAmIHsgZmFyZUluZm8/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNwZWNpYWxGYXJlSW5mbycgfVxuICAgICYgUGljazxGbGlnaHRTcGVjaWFsRmFyZUluZm8sICd0aXRsZScgfCAndHlwZScgfCAnY29kZScgfCAnc3VwcGxpZXJDb2RlJz5cbiAgKT4sIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSwgbWFya2V0aW5nQ2FycmllckRldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJyaWVyRGV0YWlsJyB9XG4gICAgJiBQaWNrPEZsaWdodENhcnJpZXJEZXRhaWwsICduYW1lJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xvZ28nIHwgJ2Jhbm5lcicgfCAncG9wdWxhcml0eSc+XG4gICksIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBmYXJlQ29uZGl0aW9uczogKFxuICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4gfVxuICApLCBvcmlnaW5BaXJwb3J0RGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnREZXRhaWwnIH1cbiAgICAmIFBpY2s8QWlycG9ydERldGFpbCwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncm9hZCcgfCAncG9wdWxhcml0eScgfCAnYXJlYScgfCAnbG9jYXRpb24nIHwgJ29mZnNldCcgfCAnYWlycG9ydE5hbWUnIHwgJ2NvdW50cnlOYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAncG9zdGNvZGUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEFsbEFpcmxpbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldEFsbEFpcmxpbmVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldENPVklETWljcm9zaXRlVG9rZW4nPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsYXRpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgbG9uZ2l0dWRlOiBTY2FsYXJzWydGbG9hdCddO1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByYWRpdXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGVwb3QnIH1cbiAgICAmIFBpY2s8Q2FySGlyZURlcG90LCAnY291bnRyeUNvZGUnIHwgJ2xvY2F0aW9uQ29kZScgfCAnZXh0ZW5kZWRMb2NhdGlvbkNvZGUnIHwgJ3ZlbmRvckNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ3ZlbmRvcicgfCAnYWRkcmVzc0xpbmVzJyB8ICdjaXR5TmFtZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVQcm92aWRlcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVQcm92aWRlcnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldENhckhpcmVQcm92aWRlcnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgb2ZmaWNlSWQ6IFNjYWxhcnNbJ0ludCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYU9mZmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSW5mbycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSW5mbywgJ2lkJyB8ICduYW1lJyB8ICdjbG9zZXN0QWlycG9ydCcgfCAnY2xvc2VzdFRyYWluU3RhdGlvbicgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICAmIHsgYWRkcmVzcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VBZGRyZXNzLCAnYWRkcmVzc05hbWUnIHwgJ2FkZHJlc3NMaW5lMScgfCAnYWRkcmVzc0xpbmUyJyB8ICdhZGRyZXNzTGluZTMnIHwgJ3Bvc3RhbENvZGUnIHwgJ2NpdHknIHwgJ2NvdW50cnlDb2RlJyB8ICdjb3VudHJ5TmFtZScgfCAndGVsZXBob25lTnVtYmVyJyB8ICdmYWNzaW1pbGVOdW1iZXInIHwgJ2VtYWlsQWRkcmVzcycgfCAnc3RhdGVQcm92aW5jZScgfCAnbW9iaWxlTnVtYmVyJz5cbiAgICAgICk+LCBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnIH1cbiAgICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSG90ZWxzLCAnaG90ZWxJZCcgfCAnaG90ZWxOYW1lJyB8ICdpc1ByZWZlcnJlZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlTmFtZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYU9mZmljZU5hbWVzLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFRdWlja2xpc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAndmVyc2lvbic+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICAgICk+LCBwb2xpY2llczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICAgKSwgdGF4OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGhvdGVsSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDb25mZXJtYVJvb21JbWFnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0U2VhdE1hcDogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwUmVzcG9uc2UsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJz5cbiAgICAgICYgeyBhaXJjcmFmdDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwQWlyY3JhZnQsICdjYXJyaWVyJyB8ICdudW1iZXInIHwgJ3R5cGUnPlxuICAgICAgKSwgc2VhdHM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cycgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcFNlYXRzLCAncm93JyB8ICdjb2x1bW4nIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICYgeyBhdHRyaWJ1dGVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXMsICdjb2RlJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEhvdGVsQ2hhaW5zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRIb3RlbENoYWlucyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JyB9XG4gICAgJiB7IHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZScgfVxuICAgICAgJiBQaWNrPERlcGFydHVyZUJvYXJkU2VydmljZSwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29wZXJhdG9yJyB8ICdvcGVyYXRvckNvZGUnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJz5cbiAgICAgICYgeyBvcmlnaW4/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBkZXN0aW5hdGlvbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJyB9XG4gICAgICAgICYgUGljazxTdWJzZXF1ZW50TG9jYXRpb25zLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2NycycgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nIHwgJ3N0YScgfCAnZXRhJyB8ICdhcnJpdmFsVHlwZScgfCAnYXJyaXZhbFNvdXJjZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZSc+XG4gICAgICAgICYgeyBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEFzc29jaWF0aW9uLCAnY2F0ZWdvcnknIHwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29yaWdpbicgfCAnb3JpZ2luQ1JTJyB8ICdvcmlnaW5UaXBsb2MnIHwgJ2Rlc3RpbmF0aW9uJyB8ICdkZXN0Q1JTJyB8ICdkZXN0VGlwbG9jJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxjYXJkc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UmFpbGNhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyJyB9XG4gICAgJiBQaWNrPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyLCAnbmFtZScgfCAnY29kZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFJhaWxQcm92aWRlcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJhaWxQcm92aWRlcnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ2dldFJhaWxQcm92aWRlcnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaW5MZXZlbDogUmlza0xldmVsO1xuICBtYXhMZXZlbDogUmlza0xldmVsO1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSaXNrQWxlcnRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Jpc2tBbGVydCcgfVxuICAgICYgUGljazxSaXNrQWxlcnQsICdpZCcgfCAndGl0bGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdicmVha2luZycgfCAncmlzaycgfCAnY2F0ZWdvcnknIHwgJ2NvdW50cnknIHwgJ2xvY2F0aW9uJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdzdGFydERhdGUnIHwgJ2VuZERhdGUnIHwgJ3JlY2VpdmVkRGF0ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJBZGRyZXNzZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckNvbXBhbnlPZmZpY2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2U/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZScgfVxuICAgICYgUGljazxDYXJib25BbGxvd2FuY2UsICdpZCcgfCAnc3RhcnRPZlBlcmlvZCcgfCAnZW5kT2ZQZXJpb2QnIHwgJ3JlbWFpbmluZ0NvMicgfCAndG90YWxDbzInIHwgJ2NhcmJvblBvbGljeVNvdXJjZSc+XG4gICAgJiB7IGNvbXBhbnk/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9mZmljZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIHVzZXI6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICksIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nIH1cbiAgICAgICYgUGljazxDYXJib25Db25zdW1wdGlvbiwgJ2lkJyB8ICdjb25zdW1lZCcgfCAnZGF0ZXRpbWUnPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3NlYXJjaEFyZ3MnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgcGFydGlhbExhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICduYW1lJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RyYXZlbERhdGUnPlxuICAgICYgeyB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdkb2InPlxuICAgICk+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZVNvdXJjZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnPlxuICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICApLCB0YXg6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICk+Pj4gfVxuICApPj4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hIb3RlbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFBhcmtpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJyB9XG4gICAgICAmIFBpY2s8UGFya2luZ1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAncmVxdWlyZWRJbmZvJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pc2MnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBjYXJQYXJrOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPFBhcmtpbmdMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhZGRyZXNzJyB8ICdkaXN0YW5jZVRvQWlycG9ydCcgfCAnb25BaXJwb3J0JyB8ICdjYXJQYXJrZWRGb3JZb3UnIHwgJ21lZXRBbmRHcmVldCcgfCAndGVsZXBob25lJyB8ICdmYXgnIHwgJ2RpcmVjdGlvbnMnIHwgJ2Fycml2YWxQcm9jZWR1cmUnIHwgJ2RlcGFydHVyZVByb2NlZHVyZScgfCAnbWF4aW11bUNhclNpemUnIHwgJ2ludHJvZHVjdGlvbicgfCAnaW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVySW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVyT3BlcmF0aW5nVGltZXMnIHwgJ3RyYW5zZmVyVGltZScgfCAnbG9nbycgfCAnZGVmYXVsdEltYWdlJyB8ICdicmFuZEltYWdlJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5RmFyZSwgJ3Byb3ZpZGVySWQnIHwgJ3Byb3ZpZGVyTmFtZScgfCAndHlwZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdmYXJlSGFzaCcgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJz5cbiAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnYXZhaWxhYmlsaXR5UnVsZScgfCAnY2hhbmdlUnVsZScgfCAnY2hpbGREaXNjb3VudCcgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdraW9za0F2YWlsYWJsZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyZWZ1bmRDYW5jZWxsYXRpb25SdWxlJyB8ICdyZXNlcnZhdGlvblJ1bGUnIHwgJ3RpY2tldFR5cGVBbHROYW1lJyB8ICd0aWNrZXRUeXBlQ2xhc3MnIHwgJ3RpY2tldFR5cGVDb2RlJyB8ICd0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uJyB8ICd0aWNrZXRUeXBlTmFtZScgfCAndG9kQXZhaWxhYmxlJyB8ICd0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlJyB8ICd2YWxpZE91dFJ1bGUnIHwgJ3ZhbGlkUmV0dXJuUnVsZSc+XG4gICAgJiB7IGR5bmFtaWNDb25kaXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0R5bmFtaWNDb25kaXRpb24nIH1cbiAgICAgICYgUGljazxEeW5hbWljQ29uZGl0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+Pj4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9uLCAnZnJvbScgfCAnZnJvbUNvZGUnIHwgJ3RvJyB8ICd0b0NvZGUnIHwgJ2pvdXJuZXlIYXNoJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY2hhbmdlcycgfCAnb3ZlcnRha2VuJz5cbiAgJiB7IGpvdXJuZXlMZWdzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5TGVnJyB9XG4gICAgJiBQaWNrPFJhaWxKb3VybmV5TGVnLCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJz5cbiAgICAmIHsgY2FsbGluZ1BvaW50czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxDYWxsaW5nUG9pbnQnIH1cbiAgICAgICYgUGljazxSYWlsQ2FsbGluZ1BvaW50LCAnc3RhdGlvbk5hbWUnIHwgJ3N0YXRpb25Db2RlJyB8ICdhcnJpdmFsRGF0ZVRpbWUnIHwgJ2RlcGFydHVyZURhdGVUaW1lJyB8ICdzY2hlZHVsZWRQbGF0Zm9ybScgfCAnc3RhdGlvbkNsYXNzaWZpY2F0aW9uJyB8ICdzdG9wcGluZ1BhdHRlcm4nPlxuICAgICk+IH1cbiAgKT4sIHNpbmdsZUpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIGR1YWxTaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBvcGVuUmV0dXJuSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+PiwgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0UXVldWUnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFF1ZXVlLCAnaWQnIHwgJ25hbWUnIHwgJ3R5cGUnPlxuICApPj4sIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEFjY291bnQnIH1cbiAgICAmIFBpY2s8UmFpbEFjY291bnQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNEZWZhdWx0JyB8ICd0eXBlJz5cbiAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYScgfVxuICAgICYgUGljazxSYWlsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnMsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnam91cm5leUlkJyB8ICdpc09yaWdpbic+XG4gICAgKT4gfVxuICApPj4sIHBsdXNCdXM/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJyB9XG4gICAgJiBQaWNrPFJhaWxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBqb3VybmV5VHlwZTogUmFpbFNlYXJjaEpvdXJuZXlUeXBlO1xuICBjbGFzcz86IE1heWJlPFJhaWxDbGFzcz47XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICB2aWFMb2NhdGlvbklkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgZXh0cmFUaW1lVG9DaGFuZ2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwbHVzQnVzT3V0PzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHBsdXNCdXNSZXR1cm4/OiBNYXliZTxSYWlsUGx1c0J1c0F2YWlsPjtcbiAgdHJhdmVsQ2FyZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydEYXRlJ10+IHwgU2NhbGFyc1snRGF0ZSddPjtcbiAgcmFpbENhcmRRdWFsaWZpZXJzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb25zJyB9XG4gICAgICAmIFBpY2s8UmFpbEpvdXJuZXlPcHRpb25zLCAnc291cmNlSWQnIHwgJ3N1bW1hcnknIHwgJ3RyYXZlbENhcmRzQWRkb25GbGFnJz5cbiAgICAgICYgeyBvdXRib3VuZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICAgICAgICYgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFxuICAgICAgKT4+LCByZXR1cm4/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRcbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGU7XG4gIHNlYXJjaEFyZ3M6IFNjYWxhcnNbJ0pTT04nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlRmF2b3VyaXRlU2VhcmNoOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaCcgfVxuICAgICYgUGljazxTZWFyY2gsICdpZCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG4gIHRyYXZlbERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydJRCddPj4gfCBNYXliZTxTY2FsYXJzWydJRCddPj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZVJlY2VudFNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXJPck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG93bj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0Y29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVVc2VyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEFpcmxpbmVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQWlybGluZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnIH1cbiAgICAmIHsgaWF0YU1hdGNoPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnIH1cbiAgICAgICYgUGljazxBaXJsaW5lUmVzdWx0LCAnaWQnIHwgJ25hbWUnIHwgJ2lhdGEnIHwgJ2ljYW8nIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnYWN0aXZlJyB8ICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdiYW5uZXJJbWFnZScgfCAnbG9nb0ltYWdlJz5cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoQ2l0aWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NpdHknIH1cbiAgICAmIFBpY2s8Q2l0eSwgJ2lkJyB8ICduYW1lJyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnY29udGluZW50TmFtZSc+XG4gICAgJiB7IGNvb3JkaW5hdGVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICApIH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENvbmZlcm1hQ2l0aWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uJyB9XG4gICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uLCAnZm91bmRFeGFjdCc+XG4gICAgJiB7IHN1Z2dlc3Rpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucywgJ25hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hFdXJvc3RhcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAnYmFzZUZhcmVJZCcgfCAndWlkJyB8ICdkaXNjbG9zdXJlcycgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2pvdXJuZXlIYXNoJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Sm91cm5leScgfVxuICAgICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVRvdGFsJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9ucycgfVxuICAgICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZScgfVxuICAgICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICksIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZhc3RUcmFja1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxvY2F0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRmFzdFRyYWNrUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRmFzdFRyYWNrOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFzdFRyYWNrUXVvdGUnIH1cbiAgICAgICYgUGljazxGYXN0VHJhY2tRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAncmVmdW5kYWJsZScgfCAndGVybWluYWwnIHwgJ2ltYWdlcycgfCAnbG9nbycgfCAnZGVzY3JpcHRpb24nIHwgJ2ltcG9ydGFudEluZm8nIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHBhc3NlbmdlcnM6IEFycmF5PEZsaWdodFBhc3Nlbmdlck9iamVjdD4gfCBGbGlnaHRQYXNzZW5nZXJPYmplY3Q7XG4gIG9yaWdpbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc3RpbmF0aW9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbXVsdGlEZXN0aW5hdGlvbj86IE1heWJlPEFycmF5PE1heWJlPERlc3RpbmF0aW9uRW50cnk+PiB8IE1heWJlPERlc3RpbmF0aW9uRW50cnk+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICBmYXJlVHlwZTogRmFyZVR5cGU7XG4gIHJlcXVpcmVGcmVlQmFnPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWF4Q29ubmVjdGlvbnM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHByZWZlcnJlZENhcnJpZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PiB8IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY2x1ZGVOZWFyYnlBaXJwb3J0cz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFzU2luZ2xlcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHdpdGhHcm91cGVkOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGdyb3VwTWF4PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRmxpZ2h0c1YyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXJjaFJlc3VsdFYyJyB9XG4gICAgJiBQaWNrPEZsaWdodFNlYXJjaFJlc3VsdFYyLCAncnVsZUFjdGlvblN1bW1hcnknPlxuICAgICYgeyByZXN1bHRzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRkVGbGlnaHRTZWFyY2hSZXN1bHRzJyB9XG4gICAgICAmIHsgam91cm5leXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeScgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAnYmFzZUZhcmVJZCcgfCAndWlkJyB8ICdkaXNjbG9zdXJlcycgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2pvdXJuZXlIYXNoJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInPlxuICAgICAgICAmIHsgb3V0Ym91bmRGbGlnaHRzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPiwgaW5ib3VuZEZsaWdodHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICApPj4+LCBvdXRib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgKT4sIHRheGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICk+Pj4sIHRvdGFsOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApLCBmYXJlQ29uZGl0aW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4sIGJhZ2dhZ2VBbGxvd2FuY2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICApPj4+IH1cbiAgICAgICk+LCBtdWx0aTogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSXRpbmVyYXJ5U3VtbWFyeScgfVxuICAgICAgICAmIFBpY2s8SXRpbmVyYXJ5U3VtbWFyeSwgJ29yZGVyJyB8ICdvcmlnaW4nIHwgJ2Rlc3RpbmF0aW9uJyB8ICdtaW5QcmljZScgfCAnbWF4UHJpY2UnPlxuICAgICAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0SXRpbmVyYXJ5LCAndWlkJyB8ICdwYXNzZW5nZXJDb3VudCcgfCAnb3V0Ym91bmRUb3RhbER1cmF0aW9uJyB8ICdpbmJvdW5kVG90YWxEdXJhdGlvbicgfCAnYWRkaXRpb25hbCcgfCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAndmVyc2lvbicgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdqb3VybmV5SGFzaCc+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBncm91cGVkPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJyB9XG4gICAgICAgICYgR3JvdXBlZEZpZWxkc0ZyYWdtZW50XG4gICAgICApPj4gfVxuICAgICksIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdzZWFyY2hIb3RlbENoYWlucyc+XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaElSTDogKFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb25zJyB9XG4gICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbnMsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICdqcmZyZWZlcmVuY2UnPlxuICAgICAgJiB7IG91dGJvdW5kPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFBpY2s8SXJsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ2NoYW5nZXMnIHwgJ3Vuc2VsbGFibGUnPlxuICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICApPiwgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVHJhdmVsbGVyJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRyYXZlbGxlciwgJ3N0YXR1cycgfCAnaWQnIHwgJ2RvYicgfCAncmFpbGNhcmQnIHwgJ2dpdmVuTmFtZScgfCAnc3VybmFtZScgfCAnbmFtZVRpdGxlJyB8ICdjb250YWN0SW5mbycgfCAnZGVsaXZlcnlFbWFpbEFkZHJlc3MnIHwgJ2ZhcmUnPlxuICAgICAgICApPj4sIHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICk+PiB9XG4gICAgICAgICk+PiwgcHJvdmlkZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQcm92aWRlcicgfVxuICAgICAgICAgICYgUGljazxJcmxQcm92aWRlciwgJ3Byb3ZpZGVySWQnIHwgJ25hbWUnPlxuICAgICAgICAgICYgeyBjaGVhcGVzdFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4+PiwgYm9va2VkVGlja2V0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldE9wdGlvbicgfVxuICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldE9wdGlvbiwgJ3R5cGUnIHwgJ2NsYXNzJyB8ICdzaW5nbGVPclJldHVybicgfCAncHJpY2UnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ2N1cnJlbmN5JyB8ICdyb3V0ZScgfCAncm91dGVDb2RlJyB8ICdmYXJlUnVsZXMnPlxuICAgICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdzaWduYXR1cmUnIHwgJ2pvdXJuZXlJZGVudGlmaWVyJyB8ICdwcm92aWRlcicgfCAnZmFyZUlkZW50aWZpZXInIHwgJ2RpcmVjdGlvbicgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ2Jvb2tpbmdSZWYnPlxuICAgICAgICAgICAgKT4sIHRpY2tldHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXQnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPElybFRpY2tldCwgJ3ByaWNlJyB8ICd0eXBlJyB8ICdyb3V0ZScgfCAnbnVtQ2hpbGRyZW4nIHwgJ251bUFkdWx0cyc+XG4gICAgICAgICAgICAgICYgeyBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgICApPj4gfVxuICAgICAgICAgICAgKT4+PiB9XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPj4sIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0RXh0cmEnIH1cbiAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmEsICd0eXBlJyB8ICdsb2NhdGlvbicgfCAnZGF0ZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnYWR1bHRBbW91bnQnIHwgJ2NoaWxkQW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhSWRlbnRpZmllcnMnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJyB9XG4gICAgICAgICAgJiBQaWNrPElybFBsdXNCdXMsICdvcmlnaW5QbHVzQnVzTkxDJyB8ICdvcmlnaW5TdGF0aW9uTkxDJyB8ICdkZXN0aW5hdGlvblBsdXNCdXNOTEMnIHwgJ2Rlc3RpbmF0aW9uU3RhdGlvbk5MQyc+XG4gICAgICAgICk+IH1cbiAgICAgICk+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbicgfVxuICAgICYgUGljazxJcmxTdXBwbGllclN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3VwcGxpZXInIHwgJ3N0YXRpb25Db2RlJyB8ICdubGNDb2RlJyB8ICd0cmFpbmxpbmVDb2RlJyB8ICd0cmFpbmxpbmVVbmlxdWVDb2RlJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRQb3N0Y29kZURldGFpbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJyB9XG4gICAgJiBQaWNrPFBvc3Rjb2RlRGV0YWlscywgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFJhaWxTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj4gfCBJcmxPZmZsaW5lUGFzc2VuZ2VyO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZW5kT2ZmbGluZU5vdGlmaWNhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxPZmZsaW5lTm90aWZ5UmVzdWx0JyB9XG4gICAgJiBQaWNrPElybE9mZmxpbmVOb3RpZnlSZXN1bHQsICdzdWNjZXNzJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlHcm91cDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyOiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1NSVZhbHVlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXROb3RlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV3VGl0bGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgdXBkYXRlQmFza2V0VGl0bGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVzZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICd0bWNBZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEb2N1bWVudCcgfVxuICAgICYgUGljazxEb2N1bWVudCwgJ2lkJyB8ICdkb2NUeXBlJyB8ICduYXRpb25hbGl0eScgfCAnZ2VuZGVyJyB8ICdudW1iZXInIHwgJ2NvdW50cnknIHwgJ2NvZGVPZklzc3VpbmdTdGF0ZScgfCAnZGF0ZU9mSXNzdWUnIHwgJ2RhdGVPZkV4cGlyeScgfCAncHJpbWFyeScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgJiBQaWNrPFVzZXJQcmVmZXJlbmNlLCAnaWQnIHwgJ3NlcnZpY2VUeXBlJyB8ICdwcmVmZXJlbmNlS2V5JyB8ICdwcmVmZXJlbmNlVmFsdWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+LCB1c2VyTWlEZWZhdWx0VmFsdWVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnIH1cbiAgICAmIFBpY2s8VXNlck1pRGVmYXVsdFZhbHVlLCAnZnJlZVRleHRWYWx1ZSc+XG4gICAgJiB7IHNlcnZpY2U/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICApPiwgbWFuYWdlbWVudEluZm8/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpeGVkJyB8ICdncm91cCc+XG4gICAgICAmIHsgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+LCBkZWZhdWx0VmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICYgeyB2YWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCB1c2VyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdkb2InIHwgJ2FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnPlxuICAgICAgICApPiB9XG4gICAgICApPiB9XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICApPiB9XG4gICk+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJTZXJ2aWNlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclVJQ29uZmlnczogKFxuICAgIHsgX190eXBlbmFtZT86ICdVSUNvbmZpZ0NvbGxlY3Rpb24nIH1cbiAgICAmIHsgYWxsOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWcnIH1cbiAgICAgICYgUGljazxVaUNvbmZpZywgJ2lkJyB8ICdjb25maWcnIHwgJ2tleSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlck1lc3NhZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1lc3NhZ2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnIH1cbiAgICAmIFBpY2s8TWVzc2FnZSwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY29uZmlnJyB8ICd0YXJnZXQnIHwgJ2tleScgfCAnZGlzcGxheVRhcmdldCcgfCAnYWdlbnRPbmx5JyB8ICdjbGlja1RvQ29uZmlybScgfCAndmFsaWRGcm9tJyB8ICd2YWxpZFRvJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRVc2VyTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ2RvYic+XG4gICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnPlxuICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgVXNlckZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hVc2VyQ2FuQm9va0ZvcjogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBmcmVlVmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgUGljazxRdWVyeSwgJ3ZhbGlkYXRlVXNlck1JRnJlZVZhbHVlJz5cbik7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWNjZXB0TmV3UHJpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblsnYWNjZXB0TmV3UHJpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRVc2Vyc1RvQmFza2V0SXRlbSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkVXNlcnNUb0Jhc2tldEl0ZW0gPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uWydhZGRVc2Vyc1RvQmFza2V0SXRlbSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFwcGx5Sml0RmxpZ2h0UnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFwcGx5Sml0SG90ZWxSdWxlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBBcHBseUppdEhvdGVsUnVsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVsnYXBwbHlKSVRIb3RlbFJ1bGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHJhdmVsbGVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPd25lckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3duZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCYXNrZXRGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBPd25lciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydvd25lciddO1xuICBleHBvcnQgdHlwZSBCYXNrZXRJdGVtcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVBheW1lbnRNZXRob2RzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFBheW1lbnRNZXRob2QgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgVXNlcnMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJQYXNzZW5nZXJUeXBlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJQYXNzZW5nZXJUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExlYWRQYXNzZW5nZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZGVmYXVsdFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFZhbHVlcyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50Wydjb21wYW55R3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckJhc2tldHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldHMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5WydnZXRVc2VyQmFza2V0cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQmFza2V0TXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldCA9IENyZWF0ZUJhc2tldE11dGF0aW9uWydjcmVhdGVCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVJdGVtRnJvbUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlSXRlbUZyb21CYXNrZXQgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uWydyZW1vdmVJdGVtRnJvbUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbmRCYXNrZXRGb3JBcHByb3ZhbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblsnc2VuZEJhc2tldEZvckFwcHJvdmFsJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkSXRlbVRvQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkSXRlbVRvQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldCA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uWydhZGRJdGVtVG9CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckJhc2tldCA9IEdldFVzZXJCYXNrZXRRdWVyeVsnZ2V0VXNlckJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJldmFsaWRhdGVCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZXZhbGlkYXRlQmFza2V0ID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uWydyZXZhbGlkYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQm9va0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBCb29rQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEJvb2tCYXNrZXQgPSBCb29rQmFza2V0TXV0YXRpb25bJ2Jvb2tCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDYWJIaXJlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENhYkhpcmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZSA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBGcm9tTG9jYXRpb24gPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Zyb21Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBUb0xvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b0xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFZpYXMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ3ZpYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxCb29raW5nIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FuY2VsQm9va2luZ011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENhbmNlbEJvb2tpbmdNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblsnY2FuY2VsQm9va2luZyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J107XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsndmVuZG9yJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddWydhZGRpdGlvbmFsSW5mbyddW251bWJlcl1bJ2N1c3RvbSddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FySGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYXJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmUgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIERpc3BsYXlSZWNvcmQgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXTtcbiAgZXhwb3J0IHR5cGUgVmVuZG9yID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBWZWhpY2xlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3ZlaGljbGUnXTtcbiAgZXhwb3J0IHR5cGUgQ2hhcmdlcyA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWydjaGFyZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGlja3VwTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncGlja3VwTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuTG9jYXRpb24gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsncmV0dXJuTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkaXRpb25hbEluZm8gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDdXN0b20gPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb25maXJtTWVzc2FnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDb25maXJtTWVzc2FnZXNNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0VXNlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVkaXRVc2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRWRpdFVzZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRWRpdFVzZXIgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlck1pRGVmYXVsdFZhbHVlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX1NlcnZpY2UgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm9WYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFbWFpbEJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVtYWlsQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gRW1haWxCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgRW1haWxCYXNrZXQgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddO1xuICBleHBvcnQgdHlwZSBPd25lciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgX0NvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIF9fRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fUHJlZmVyZW5jZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXVsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBfX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ107XG4gIGV4cG9ydCB0eXBlIF9fQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXNlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBfX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBfX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRXJyb3JzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvcnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVycm9yc0ZyYWdtZW50WydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR3JvdXBlZEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGbGlnaHRzID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50WydmbGlnaHRzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmxpZ2h0Sm91cm5leUZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGYXJlSW5mbyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3JpZ2luQWlycG9ydERldGFpbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFsbEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBbGxBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lcyA9IEdldEFsbEFpcmxpbmVzUXVlcnlbJ2dldEFsbEFpcmxpbmVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlRGVwb3RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVEZXBvdHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90cyA9IEdldENhckhpcmVEZXBvdHNRdWVyeVsnZ2V0Q2FySGlyZURlcG90cyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2FySGlyZVByb3ZpZGVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENhckhpcmVQcm92aWRlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBDbG9zZXN0SG90ZWxzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsncmVzdWx0cyddWydjbG9zZXN0SG90ZWxzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2UnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVF1aWNrbGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFRdWlja2xpc3QgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBUcmFuc3BvcnRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsndGFncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZVJhdGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnY3VycmVuY3lDb252ZXJzaW9uJ107XG4gIGV4cG9ydCB0eXBlIERlcG9zaXQgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncG9saWNpZXMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsncGF5bWVudFR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb25mZXJtYVJvb21JbWFnZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRGYXJlUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlbJ2dldEZsaWdodEZhcmVSdWxlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZsaWdodFNlYXRNYXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFpcmNyYWZ0ID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhaXJjcmFmdCddO1xuICBleHBvcnQgdHlwZSBTZWF0cyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdHRyaWJ1dGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl1bJ2F0dHJpYnV0ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0SXJsRGlzY291bnRDYXJkcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybERpc2NvdW50Q2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlbJ2dldElSTERpc2NvdW50Q2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybFN1cHBsaWVyU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxTdXBwbGllclN0YXRpb24gPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsTGl2ZURlcGFydHVyZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcmlnaW4gPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnb3JpZ2luJ107XG4gIGV4cG9ydCB0eXBlIERlc3RpbmF0aW9uID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ2Rlc3RpbmF0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFzc29jaWF0aW9ucyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydzdWJzZXF1ZW50TG9jYXRpb25zJ11bbnVtYmVyXVsnYXNzb2NpYXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsU3RhdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxTdGF0aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb24gPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5WydnZXRSYWlsU3RhdGlvbiddWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSYWlsY2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsY2FyZHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsY2FyZHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzID0gR2V0UmFpbGNhcmRzUXVlcnlbJ2dldFJhaWxjYXJkcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbFByb3ZpZGVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJhaWxQcm92aWRlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSYWlsUHJvdmlkZXJzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Umlza0FsZXJ0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJpc2tBbGVydHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSaXNrQWxlcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJpc2tBbGVydHMgPSBHZXRSaXNrQWxlcnRzUXVlcnlbJ2dldFJpc2tBbGVydHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJBZGRyZXNzZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5WydnZXRVc2VyQWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ29tcGFueU9mZmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlbJ2dldFVzZXJDb21wYW55T2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ107XG4gIGV4cG9ydCB0eXBlIENvbXBhbnkgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIE9mZmljZSA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ29mZmljZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBQZXJpb2RDb25zdW1wdGlvbiA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3BlcmlvZENvbnN1bXB0aW9uJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlbJ2dldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeVsnZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lUXVlcnlbJ2dldFVzZXJQaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXMgPSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVsnZ2V0VXNlclJlY2VudFNlYXJjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSb29tQXZhbGlhYmlsaXR5IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFJvb21zID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydjdXJyZW5jeUNvbnZlcnNpb24nXTtcbiAgZXhwb3J0IHR5cGUgRGVwb3NpdCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydkZXBvc2l0J107XG4gIGV4cG9ydCB0eXBlIE5pZ2h0cyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwb2xpY2llcyddO1xuICBleHBvcnQgdHlwZSBUYXggPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsndGF4J107XG4gIGV4cG9ydCB0eXBlIEFjY2VwdGVkQ2FyZHMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydwYXltZW50VHlwZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVscyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hIb3RlbHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2xvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhZGRyZXNzJ107XG4gIGV4cG9ydCB0eXBlIFRyYW5zcG9ydHMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsncHJlZmVycmVkJ107XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0YWdzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUmF0ZXMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIElzUG9zdGNvZGVWYWxpZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IElzUG9zdGNvZGVWYWxpZFF1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIExvY2F0aW9uX0RldGFpbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRbJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQWlycG9ydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEFpcnBvcnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEFpcnBvcnRzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXTtcbiAgZXhwb3J0IHR5cGUgSWF0YU1hdGNoID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ107XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2lhdGFNYXRjaCddWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaExvdW5nZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoTG91bmdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hMb3VuZ2VzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvdW5nZSA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG91bmdlJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25bJ21vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUGFya2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQYXJraW5nUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmcgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2FyUGFyayA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydyZXN1bHRzJ11bbnVtYmVyXVsnY2FyUGFyayddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hQYXJraW5nUXVlcnlbJ3NlYXJjaFBhcmtpbmcnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leUZhcmUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50WydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUZXJtcyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddO1xuICBleHBvcnQgdHlwZSBEeW5hbWljQ29uZGl0aW9ucyA9IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50Wyd0ZXJtcyddWydkeW5hbWljQ29uZGl0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmFpbEpvdXJuZXlPcHRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlMZWdzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYWxsaW5nUG9pbnRzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnam91cm5leUxlZ3MnXVtudW1iZXJdWydjYWxsaW5nUG9pbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnc2luZ2xlSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRHVhbFNpbmdsZUpvdXJuZXlGYXJlcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2R1YWxTaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPcGVuUmV0dXJuSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnb3BlblJldHVybkpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldFF1ZXVlTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldFF1ZXVlTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFjY291bnRzTGlzdCA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ2FjY291bnRzTGlzdCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRpY2tldEV4dHJhcyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRbJ3BsdXNCdXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hSYWlsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUmFpbCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoID0gU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uWydzYXZlRmF2b3VyaXRlU2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlUmVjZW50U2VhcmNoIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaCA9IFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblsnc2F2ZVJlY2VudFNlYXJjaCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZVVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVVc2VyQWRkcmVzcyA9IFNhdmVVc2VyQWRkcmVzc011dGF0aW9uWydzYXZlVXNlckFkZHJlc3MnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJsaW5lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlybGluZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlybGluZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgR2VuZXJhbE1hdGNoZXMgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5WydzZWFyY2hBaXJsaW5lcyddWydnZW5lcmFsTWF0Y2hlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENpdGllcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaENpdGllc1F1ZXJ5WydzZWFyY2hDaXRpZXMnXVtudW1iZXJdWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENvbmZlcm1hQ2l0aWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDb25mZXJtYUNpdGllcyA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlbJ3NlYXJjaENvbmZlcm1hQ2l0aWVzJ107XG4gIGV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25zID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXVsnc3VnZ2VzdGlvbnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEV1cm9zdGFyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hFdXJvc3RhciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBUYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzY291bnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX090aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGYXN0VHJhY2sge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmFzdFRyYWNrID0gU2VhcmNoRmFzdFRyYWNrUXVlcnlbJ3NlYXJjaEZhc3RUcmFjayddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmFzdFRyYWNrUXVlcnlbJ3NlYXJjaEZhc3RUcmFjayddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRmFzdFRyYWNrUXVlcnlbJ3NlYXJjaEZhc3RUcmFjayddWydlcnJvcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gU2VhcmNoRmFzdFRyYWNrUXVlcnlbJ3NlYXJjaEZhc3RUcmFjayddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRmxpZ2h0c1YyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddO1xuICBleHBvcnQgdHlwZSBKb3VybmV5cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIEluYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIFRheGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEaXNjb3VudHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUb3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXBncmFkZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBNdWx0aSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9SZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdXRib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RheGVzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0Rpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgX0ZhcmVDb25kaXRpb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIF9DYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfTm9TaG93ID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9VcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgR3JvdXBlZCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydncm91cGVkJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEhvdGVsQ2hhaW5zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaElybCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaElybFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hJcmwgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBPdXRib3VuZCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByb3ZpZGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ2hlYXBlc3RUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0T3B0aW9ucyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEJvb2tlZFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0RXh0cmFzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFBsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3BsdXNCdXMnXTtcbiAgZXhwb3J0IHR5cGUgUmV0dXJuID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UcmF2ZWxsZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Byb3ZpZGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9DaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fVGlja2V0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fU2VhdHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J107XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9QbHVzQnVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnMgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlbJ3NlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlbJ3NlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXTtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlbJ3NlYXJjaElSTFN1cHBsaWVyU3RhdGlvbnMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hQb3N0Y29kZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0UG9zdGNvZGVEZXRhaWxzID0gU2VhcmNoUG9zdGNvZGVzUXVlcnlbJ2dldFBvc3Rjb2RlRGV0YWlscyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFJhaWxTdGF0aW9ucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdWydsb2NhdGlvbkRldGFpbHMnXVsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3NlcyA9IFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlbJ2dldFVzZXJBZGRyZXNzZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbiA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlbJ3NlbmRPZmZsaW5lTm90aWZpY2F0aW9uJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaUdyb3VwID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JR3JvdXAnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uWydzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1NaVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZSA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1NSVZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblsnc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVCYXNrZXROb3RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXMgPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uWyd1cGRhdGVCYXNrZXROb3RlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldFRpdGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXRUaXRsZSA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb25bJ3VwZGF0ZUJhc2tldFRpdGxlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlckZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlckZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gVXNlckZpZWxkc0ZyYWdtZW50WydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERvY3VtZW50cyA9IFVzZXJGaWVsZHNGcmFnbWVudFsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncHJlZmVyZW5jZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mb1ZhbHVlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclNlcnZpY2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclNlcnZpY2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJTZXJ2aWNlcyA9IEdldFVzZXJTZXJ2aWNlc1F1ZXJ5WydnZXRVc2VyU2VydmljZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJVaUNvbmZpZ3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyVWlDb25maWdzID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ107XG4gIGV4cG9ydCB0eXBlIEFsbCA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVsnZ2V0VXNlclVJQ29uZmlncyddWydhbGwnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJNZXNzYWdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXMgPSBHZXRVc2VyTWVzc2FnZXNRdWVyeVsnZ2V0VXNlck1lc3NhZ2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclBob25lTnVtYmVycyA9IEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VXNlckxhbmd1YWdlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRMYW5ndWFnZSA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblsnc2V0VXNlckxhbmd1YWdlJ11bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBob25lTnVtYmVycyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlciA9IEdldFVzZXJRdWVyeVsnZ2V0VXNlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJDYW5Cb29rRm9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvciA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlbJ3NlYXJjaFVzZXJDYW5Cb29rRm9yJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeTtcbn1cblxuZXhwb3J0IGNvbnN0IE93bmVyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgT3duZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFRyYXZlbGxlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBCYXNrZXRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBCYXNrZXRGaWVsZHMgb24gQmFza2V0IHtcbiAgaWRcbiAgb3duZXIge1xuICAgIC4uLk93bmVyRmllbGRzXG4gIH1cbiAgcmVmZXJlbmNlXG4gIHRpdGxlXG4gIG5vdGVzXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgYm9va2VkQXRcbiAgYmFza2V0SXRlbXMge1xuICAgIGlkXG4gICAgYWR1bHRzXG4gICAgY2hpbGRyZW5cbiAgICBpbmZhbnRzXG4gICAgZGV0YWlsXG4gICAgZGV0YWlsSGFzaFxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGV4cGlyeVxuICAgIGV4cGlyZWRcbiAgICBzZWFyY2hRdWVyeVxuICAgIHByaWNlXG4gICAgY3VycmVuY3lcbiAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgIHZhbGlkYXRlZFxuICAgIGxhdGVzdFZhbGlkYXRpb25cbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZVxuICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgc3RhdHVzXG4gICAgcG5yTG9jYXRvclxuICAgIGJvb2tpbmdEZXRhaWxcbiAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWEgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlckl0ZW1BZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtUGhvbmVOdW1iZXIgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlckFkZHJlc3MgQGluY2x1ZGUoaWY6ICR3aXRoU3VwcGxlbWVudGFsKVxuICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBjYW5jZWxsYWJsZVxuICAgIGFtZW5kYWJsZVxuICAgIGNvMlBlckl0ZW1cbiAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICBvdXRib3VuZERhdGVcbiAgICBpbmJvdW5kRGF0ZVxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyRmllbGRzXG4gICAgfVxuICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICBpZFxuICAgICAgcGFzc2VuZ2VyVHlwZVxuICAgIH1cbiAgICBsZWFkUGFzc2VuZ2VyIHtcbiAgICAgIC4uLlRyYXZlbGxlckZpZWxkc1xuICAgIH1cbiAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICBpZFxuICAgICAgZGJJZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGhhbmRvZmZcbiAgICAgIHZhbHVlTWFza1xuICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgIG1hbmRhdG9yeVxuICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICBwZXJCb29raW5nXG4gICAgICBhZ2VudE9ubHlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBmaXhlZFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJGaWVsZHNGcmFnbWVudERvY31gO1xuZXhwb3J0IGNvbnN0IEVycm9yc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9ycyBvbiBTZWFyY2hFcnJvciB7XG4gIHNlcnZpY2Uge1xuICAgIGlkXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICB9XG4gIGVycm9yTWVzc2FnZVxuICBlcnJvckNvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEdyb3VwZWRGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBHcm91cGVkRmllbGRzIG9uIEdyb3VwRmxpZ2h0cyB7XG4gIHJlZmVyZW5jZUlEXG4gIGZsaWdodElEXG4gIGJvdW5kSW5kaWNhdG9yXG4gIG1pblByaWNlXG4gIG1heFByaWNlXG4gIGZsaWdodHMge1xuICAgIEVjb25vbXlSZXN0cmljdGVkXG4gICAgRWNvbm9teU5vQmFnc1xuICAgIEVjb25vbXlGbGV4aVxuICAgIFByZW1pdW1FY29ub215XG4gICAgQnVzaW5lc3NcbiAgICBGaXJzdFxuICB9XG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRmxpZ2h0Sm91cm5leUZpZWxkcyBvbiBGbGlnaHRKb3VybmV5IHtcbiAgaWRcbiAgYm9va2luZ0NvZGVcbiAgY2FiaW5DbGFzc1xuICBjYWJpbkNvZGVcbiAgY2FiaW5SYXdcbiAgZGF0ZVRpbWVBcnJpdmluZ1xuICBkYXRlVGltZUFycml2aW5nVVRDXG4gIGRhdGVUaW1lRGVwYXJ0aW5nXG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDXG4gIGRlc3RpbmF0aW9uQWlycG9ydFxuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lXG4gIGRlc3RpbmF0aW9uVGVybWluYWxcbiAgZXF1aXBtZW50Q29kZVxuICBlcXVpcG1lbnROYW1lXG4gIGZhcmVCYXNpc0NvZGVcbiAgZ292ZXJuaW5nQ2FycmllclxuICBtYXJrZXRpbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJOYW1lXG4gIG1hcmtldGluZ0ZsaWdodE51bWJlclxuICBtYXJrZXRpbmdOYW1lc1xuICBtYXJyaWFnZUdyb3VwXG4gIG9wZXJhdGluZ0NhcnJpZXJcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWVcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyXG4gIG9yaWdpbkFpcnBvcnRcbiAgb3JpZ2luQWlycG9ydE5hbWVcbiAgb3JpZ2luVGVybWluYWxcbiAgc3RvcHNcbiAgdG90YWxEdXJhdGlvblxuICBzZWF0c0F2YWlsYWJsZVxuICB2ZW5kb3JDb2RlXG4gIG9yaWdpbkFpcnBvcnRcbiAgZmFyZUluZm8ge1xuICAgIHRpdGxlXG4gICAgdHlwZVxuICAgIGNvZGVcbiAgICBzdXBwbGllckNvZGVcbiAgfVxuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxuICBtYXJrZXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsIHtcbiAgICBuYW1lXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbG9nb1xuICAgIGJhbm5lclxuICAgIHBvcHVsYXJpdHlcbiAgfVxuICBmYXJlQ29uZGl0aW9ucyB7XG4gICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgY2hhbmdlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgbm9TaG93IHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgdXBncmFkZSB7XG4gICAgICBuYW1lXG4gICAgICB0eXBlXG4gICAgICBjdXJyZW5jeVxuICAgICAgYW1vdW50XG4gICAgICByZW1hcmtcbiAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICByZWZ1bmRhYmxlSW5kXG4gICAgfVxuICAgIG90aGVyIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gIH1cbiAgYWRkaXRpb25hbFxuICBvcmlnaW5BaXJwb3J0RGV0YWlsIHtcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgICBzdGF0ZVxuICAgIGNpdHlcbiAgICByb2FkXG4gICAgcG9wdWxhcml0eVxuICAgIGFyZWFcbiAgICBsb2NhdGlvblxuICAgIG9mZnNldFxuICAgIGFpcnBvcnROYW1lXG4gICAgY291bnRyeU5hbWVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHBvc3Rjb2RlXG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gIH1cbiAgcHJwblxuICBjdXJyZW5jeUNvZGVcbiAgaXNCdXN5XG4gIHNvdXJjZVxuICB2ZXJzaW9uXG59XG4gICAgYDtcbmV4cG9ydCBjb25zdCBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBMT0NBVElPTl9ERVRBSUwgb24gTG9jYXRpb25EZXRhaWwge1xuICBjb250aW5lbnRcbiAgY291bnRyeVxuICBjb3VudHJ5Q29kZVxuICBzdGF0ZVxuICBjaXR5XG4gIGNvb3JkaW5hdGVzIHtcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gIH1cbiAgcG9zdGNvZGVcbiAgcm9hZFxuICBncmlkUmVmZXJlbmNlXG4gIG5vcnRoaW5nXG4gIGVhc3Rpbmdcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5RmFyZUZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFJhaWxKb3VybmV5RmFyZSBvbiBSYWlsSm91cm5leUZhcmUge1xuICBwcm92aWRlcklkXG4gIHByb3ZpZGVyTmFtZVxuICBpZGVudGlmaWVycyB7XG4gICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgam91cm5leUlkZW50aWZpZXJcbiAgICBwcm92aWRlclxuICAgIGZhcmVJZGVudGlmaWVyXG4gICAgZGlyZWN0aW9uXG4gICAgc2luZ2xlT3JSZXR1cm5cbiAgICBib29raW5nUmVmXG4gIH1cbiAgdHlwZVxuICBwcmljZVxuICBjdXJyZW5jeVxuICBmYXJlSGFzaFxuICB0ZXJtcyB7XG4gICAgYXZhaWxhYmlsaXR5UnVsZVxuICAgIGNoYW5nZVJ1bGVcbiAgICBjaGlsZERpc2NvdW50XG4gICAgZHluYW1pY0NvbmRpdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgZ2VuZXJhbERpc2NvdW50XG4gICAgZ2VuZXJhbFZhbGlkaXR5XG4gICAgam91cm5leUJyZWFrUnVsZVxuICAgIGpvdXJuZXlUeXBlXG4gICAga2lvc2tBdmFpbGFibGVcbiAgICBwcmVCb29raW5nUmVxdWlyZW1lbnRcbiAgICByYWlsY2FyZERpc2NvdW50XG4gICAgcmVmdW5kQ2FuY2VsbGF0aW9uUnVsZVxuICAgIHJlc2VydmF0aW9uUnVsZVxuICAgIHRpY2tldFR5cGVBbHROYW1lXG4gICAgdGlja2V0VHlwZUNsYXNzXG4gICAgdGlja2V0VHlwZUNvZGVcbiAgICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uXG4gICAgdGlja2V0VHlwZU5hbWVcbiAgICB0b2RBdmFpbGFibGVcbiAgICB0cmFpbk9wZXJhdGluZ0NvbXBhbnlDb2RlXG4gICAgdmFsaWRPdXRSdWxlXG4gICAgdmFsaWRSZXR1cm5SdWxlXG4gIH1cbiAgY2xhc3NcbiAgc2luZ2xlT3JSZXR1cm5cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlPcHRpb24gb24gUmFpbEpvdXJuZXlPcHRpb24ge1xuICBmcm9tXG4gIGZyb21Db2RlXG4gIHRvXG4gIHRvQ29kZVxuICBqb3VybmV5SGFzaFxuICBkZXBhcnREYXRlVGltZVxuICBhcnJpdmVEYXRlVGltZVxuICBjbzJQZXJJdGVtXG4gIGNvMlBlclBhc3NlbmdlclxuICBjaGFuZ2VzXG4gIG92ZXJ0YWtlblxuICBqb3VybmV5TGVncyB7XG4gICAgaWRcbiAgICBvcGVyYXRvclxuICAgIGRlcGFydFxuICAgIGFycml2ZVxuICAgIGFycml2ZURhdGVUaW1lXG4gICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICBzdGF0aW9uTmFtZVxuICAgICAgc3RhdGlvbkNvZGVcbiAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgIH1cbiAgfVxuICBzaW5nbGVKb3VybmV5RmFyZXMge1xuICAgIC4uLlJhaWxKb3VybmV5RmFyZVxuICB9XG4gIHJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgdGlja2V0UXVldWVMaXN0IHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0eXBlXG4gIH1cbiAgYWNjb3VudHNMaXN0IHtcbiAgICBpZFxuICAgIHJlZmVyZW5jZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgaXNEZWZhdWx0XG4gICAgdHlwZVxuICB9XG4gIHRpY2tldEV4dHJhcyB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgdHlwZVxuICAgICAgbG9jYXRpb25cbiAgICAgIGRhdGVcbiAgICAgIGpvdXJuZXlJZFxuICAgICAgaXNPcmlnaW5cbiAgICB9XG4gICAgdHlwZVxuICAgIGxvY2F0aW9uXG4gICAgZGF0ZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYW1vdW50XG4gICAgYWR1bHRBbW91bnRcbiAgICBjaGlsZEFtb3VudFxuICAgIGN1cnJlbmN5XG4gIH1cbiAgcGx1c0J1cyB7XG4gICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgIG9yaWdpblN0YXRpb25OTENcbiAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgfVxufVxuICAgICR7UmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdXNlck1pRGVmYXVsdFZhbHVlcyB7XG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIHN1cHBsaWVyVXJsXG4gICAgICBhY3RpdmVcbiAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBkZXRhaWxTY2hlbWFcbiAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgaWRcbiAgICAgIGxhYmVsXG4gICAgICB2YWx1ZVxuICAgICAgZGVmYXVsdFxuICAgICAgZml4ZWRcbiAgICAgIGFnZW50T25seVxuICAgIH1cbiAgICBmcmVlVGV4dFZhbHVlXG4gIH1cbiAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgQWNjZXB0TmV3UHJpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhY2NlcHROZXdQcmljZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWNjZXB0TmV3UHJpY2UoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFjY2VwdE5ld1ByaWNlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFjY2VwdE5ld1ByaWNlTXV0YXRpb24sIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWRkVXNlcnNUb0Jhc2tldEl0ZW0oJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICR1c2VyczogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXQhXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuISkge1xuICBhZGRVc2Vyc1RvQmFza2V0SXRlbShjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgdXNlcnM6ICR1c2Vycykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFkZFVzZXJzVG9CYXNrZXRJdGVtR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb24sIEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEZsaWdodFJ1bGVzKCRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBKU09OISwgJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEZsaWdodFJ1bGVzKHNlbGVjdGVkT3V0Ym91bmRGbGlnaHQ6ICRzZWxlY3RlZE91dGJvdW5kRmxpZ2h0LCBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogJGF2YWlsYWJsZUluYm91bmRGbGlnaHRzKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRGbGlnaHRSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxBcHBseUppdEZsaWdodFJ1bGVzUXVlcnksIEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRGbGlnaHRSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBhcHBseUpJVEhvdGVsUnVsZXMoJGRhdGE6IFtKU09OIV0hKSB7XG4gIGFwcGx5SklUSG90ZWxSdWxlcyhkYXRhOiAkZGF0YSkge1xuICAgIHJlc3VsdFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBcHBseUppdEhvdGVsUnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnksIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBcHBseUppdEhvdGVsUnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0cygkdXNlcjogSUQsICR0cmF2ZWxsZXI6IElELCAkYmFza2V0U3RhdHVzOiBCYXNrZXRTdGF0dXMsICRjcmVhdGVkQWZ0ZXI6IERhdGVUaW1lLCAkY3JlYXRlZEJlZm9yZTogRGF0ZVRpbWUsICRib29rZWRBZnRlcjogRGF0ZVRpbWUsICRib29rZWRCZWZvcmU6IERhdGVUaW1lLCAkZGF0ZU9mVHJhdmVsQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEFmdGVyOiBEYXRlVGltZSwgJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRSZWZlcmVuY2U6IFN0cmluZywgJGJhc2tldFRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UsICRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nKSB7XG4gIGdldFVzZXJCYXNrZXRzKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIHVzZXI6ICR1c2VyLCB0cmF2ZWxsZXI6ICR0cmF2ZWxsZXIsIGJhc2tldFN0YXR1czogJGJhc2tldFN0YXR1cywgY3JlYXRlZEFmdGVyOiAkY3JlYXRlZEFmdGVyLCBjcmVhdGVkQmVmb3JlOiAkY3JlYXRlZEJlZm9yZSwgYm9va2VkQWZ0ZXI6ICRib29rZWRBZnRlciwgYm9va2VkQmVmb3JlOiAkYm9va2VkQmVmb3JlLCBkYXRlT2ZUcmF2ZWxCZWZvcmU6ICRkYXRlT2ZUcmF2ZWxCZWZvcmUsIGRhdGVPZlRyYXZlbEFmdGVyOiAkZGF0ZU9mVHJhdmVsQWZ0ZXIsIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlOiAkYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2UsIGJhc2tldFJlZmVyZW5jZTogJGJhc2tldFJlZmVyZW5jZSwgYmFza2V0VGl0bGU6ICRiYXNrZXRUaXRsZSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRzUXVlcnksIEdldFVzZXJCYXNrZXRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUJhc2tldCgkaWQ6IElELCAkcmVmZXJlbmNlOiBTdHJpbmcpIHtcbiAgZGVsZXRlQmFza2V0KGlkOiAkaWQsIHJlZmVyZW5jZTogJHJlZmVyZW5jZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVCYXNrZXRNdXRhdGlvbiwgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjcmVhdGVCYXNrZXQoJHRpdGxlOiBTdHJpbmcsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgY3JlYXRlQmFza2V0KHRpdGxlOiAkdGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDcmVhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q3JlYXRlQmFza2V0TXV0YXRpb24sIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDcmVhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZW1vdmVJdGVtRnJvbUJhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZW1vdmVJdGVtRnJvbUJhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJlbW92ZUl0ZW1Gcm9tQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb24sIFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNlbmRCYXNrZXRGb3JBcHByb3ZhbCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IHRydWUpIHtcbiAgc2VuZEJhc2tldEZvckFwcHJvdmFsKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldDogJGJhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRCYXNrZXRGb3JBcHByb3ZhbEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiwgU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRCYXNrZXRGb3JBcHByb3ZhbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRJdGVtVG9CYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBhZGRJdGVtVG9CYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXQ6IElELCAkc2VydmljZTogSUQhLCAkZGV0YWlsOiBKU09OISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICRwcmljZTogRmxvYXQhLCAkY3VycmVuY3k6IEN1cnJlbmN5Q29kZSEsICRzZWFyY2hRdWVyeTogSlNPTiEsICRxdWlja0FkZDogQm9vbGVhbiwgJHVzZXJzOiBbVXNlclBhc3NlbmdlclR5cGVJbnB1dF0sICRsZWFkUGFzc2VuZ2VyOiBJRCwgJGNvMlBlckl0ZW06IEZsb2F0LCAkY28yUGVyUGFzc2VuZ2VyOiBGbG9hdCwgJG91dGJvdW5kRGF0ZTogRGF0ZVRpbWUhLCAkaW5ib3VuZERhdGU6IERhdGVUaW1lLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFkZEl0ZW1Ub0Jhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXQ6ICRiYXNrZXQsIHNlcnZpY2U6ICRzZXJ2aWNlLCBkZXRhaWw6ICRkZXRhaWwsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHByaWNlOiAkcHJpY2UsIGN1cnJlbmN5OiAkY3VycmVuY3ksIHNlYXJjaFF1ZXJ5OiAkc2VhcmNoUXVlcnksIHF1aWNrQWRkOiAkcXVpY2tBZGQsIHVzZXJzOiAkdXNlcnMsIGxlYWRQYXNzZW5nZXI6ICRsZWFkUGFzc2VuZ2VyLCBjbzJQZXJJdGVtOiAkY28yUGVySXRlbSwgY28yUGVyUGFzc2VuZ2VyOiAkY28yUGVyUGFzc2VuZ2VyLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIGluYm91bmREYXRlOiAkaW5ib3VuZERhdGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRJdGVtVG9CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248QWRkSXRlbVRvQmFza2V0TXV0YXRpb24sIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRJdGVtVG9CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGdldFVzZXJCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckJhc2tldFF1ZXJ5LCBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgUmV2YWxpZGF0ZUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHJldmFsaWRhdGVCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJldmFsaWRhdGVCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFJldmFsaWRhdGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uLCBSZXZhbGlkYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQm9va0Jhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGJvb2tCYXNrZXQoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkc3VwcGxlbWVudGFyeUluZm86IFtTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm8hXSEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYm9va0Jhc2tldChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBpZDogJGlkLCBzdXBwbGVtZW50YXJ5SW5mbzogJHN1cHBsZW1lbnRhcnlJbmZvKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQm9va0Jhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxCb29rQmFza2V0TXV0YXRpb24sIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQm9va0Jhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYWJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FiSGlyZSgkZGVwYXJ0czogRGF0ZVRpbWUhLCAkZnJvbUxvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICR0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dCEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdmlhczogW0NhYkhpcmVMb2NhdGlvbklucHV0XSwgJHZlaGljbGVUeXBlOiBDYWJIaXJlVmVoaWNsZVR5cGUpIHtcbiAgc2VhcmNoQ2FiSGlyZShkZXBhcnRzOiAkZGVwYXJ0cywgZnJvbUxvY2F0aW9uOiAkZnJvbUxvY2F0aW9uLCB0b0xvY2F0aW9uOiAkdG9Mb2NhdGlvbiwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgdmlhczogJHZpYXMsIHZlaGljbGVUeXBlOiAkdmVoaWNsZVR5cGUpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGlkXG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBzdXBwbGllck5hbWVcbiAgICAgIGVzdGltYXRlZENPMlxuICAgICAgY28yUGVySXRlbVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHZlaGljbGVUeXBlXG4gICAgICB0cmlwRGlzdGFuY2VNZXRyZXNcbiAgICAgIHRyaXBEdXJhdGlvblNlY29uZHNcbiAgICAgIGRlcGFydHNcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgZnJvbUxvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHRvTG9jYXRpb24ge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgICAgdmlhcyB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FiSGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYWJIaXJlUXVlcnksIFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FiSGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDYW5jZWxCb29raW5nRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY2FuY2VsQm9va2luZygkYmFza2V0SXRlbTogSUQhKSB7XG4gIGNhbmNlbEJvb2tpbmcoYmFza2V0SXRlbTogJGJhc2tldEl0ZW0pIHtcbiAgICBjYW5jZWxsZWRcbiAgICBjYW5jZWxsYXRpb25GZWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FuY2VsQm9va2luZ0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDYW5jZWxCb29raW5nTXV0YXRpb24sIENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FuY2VsQm9va2luZ0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0KCRsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzISkge1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdChsb2NhdGlvbkRldGFpbHM6ICRsb2NhdGlvbkRldGFpbHMpIHtcbiAgICBpZGVudGlmaWVycyB7XG4gICAgICBsb2NhdG9yXG4gICAgICBycGhcbiAgICAgIHN0YXR1c1xuICAgICAgdmVoVHlwZVxuICAgICAgbG9jYXRpb25Db2RlXG4gICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgbG9jYXRpb25OYW1lXG4gICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICBkcm9wb2ZmRGF0ZVRpbWVcbiAgICAgIHZlbmRvclxuICAgIH1cbiAgICB2ZW5kb3Ige1xuICAgICAgbmFtZVxuICAgICAgbG9nb1xuICAgIH1cbiAgICBhZGRyZXNzIHtcbiAgICAgIG5hbWVcbiAgICAgIHRvcExpbmVcbiAgICAgIGNpdHlcbiAgICAgIHJlZ2lvblxuICAgICAgcG9zdENvZGVcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgbmFtZVxuICAgICAgdGV4dFxuICAgICAganNvblxuICAgICAgY3VzdG9tIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5LCBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDYXJIaXJlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2FySGlyZSgkYWlycG9ydDogQ2FySGlyZUFpcnBvcnRJbnB1dCwgJGNpdHk6IENhckhpcmVDaXR5SW5wdXQsICRsb2NhdGlvbjogQ2FySGlyZUxvY2F0aW9uSW5wdXQsICRkZXBvdDogSW5wdXRDYXJIaXJlRGVwb3QsICRwaWNrdXBEYXRlVGltZTogU3RyaW5nISwgJGRyb3BvZmZEYXRlVGltZTogU3RyaW5nISwgJHZlbmRvcjogU3RyaW5nLCAkY2xhc3M6IENhckhpcmVDbGFzcywgJHR5cGU6IENhckhpcmVUeXBlLCAkdHJhbnNtaXNzaW9uOiBDYXJIaXJlVHJhbnNtaXNzaW9uLCAkYWlyY29uOiBCb29sZWFuLCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZTogRmxvYXQsICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6IERpc3RhbmNlVHlwZXMpIHtcbiAgc2VhcmNoQ2FySGlyZShhaXJwb3J0OiAkYWlycG9ydCwgY2l0eTogJGNpdHksIGxvY2F0aW9uOiAkbG9jYXRpb24sIGRlcG90OiAkZGVwb3QsIHBpY2t1cERhdGVUaW1lOiAkcGlja3VwRGF0ZVRpbWUsIGRyb3BvZmZEYXRlVGltZTogJGRyb3BvZmZEYXRlVGltZSwgdmVuZG9yOiAkdmVuZG9yLCBjbGFzczogJGNsYXNzLCB0eXBlOiAkdHlwZSwgdHJhbnNtaXNzaW9uOiAkdHJhbnNtaXNzaW9uLCBhaXJjb246ICRhaXJjb24sIGVzdGltYXRlZERhaWx5RGlzdGFuY2U6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM6ICRlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgbG9jYXRvclxuICAgICAgICBycGhcbiAgICAgICAgc3RhdHVzXG4gICAgICAgIHZlaFR5cGVcbiAgICAgICAgbG9jYXRpb25Db2RlXG4gICAgICAgIGV4dGVuZGVkTG9jYXRpb25Db2RlXG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICBkcm9wT2ZmTG9jYXRpb25cbiAgICAgICAgcGlja3VwRGF0ZVRpbWVcbiAgICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICAgIHZlbmRvclxuICAgICAgfVxuICAgICAgZGlzcGxheVJlY29yZCB7XG4gICAgICAgIHN0YXR1c1xuICAgICAgICBwaWNrdXBcbiAgICAgICAgZHJvcG9mZlxuICAgICAgICB2ZW5kb3Ige1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBsb2dvXG4gICAgICAgIH1cbiAgICAgICAgdmVoaWNsZSB7XG4gICAgICAgICAgY2xhc3NcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgdHJhbnNtaXNzaW9uXG4gICAgICAgICAgYWlyY29uXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBpbWFnZXNcbiAgICAgICAgfVxuICAgICAgICBjaGFyZ2VzIHtcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICB9XG4gICAgICAgIHBpY2t1cExvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuTG9jYXRpb24ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0b3BMaW5lXG4gICAgICAgICAgY2l0eVxuICAgICAgICAgIHJlZ2lvblxuICAgICAgICAgIHBvc3RDb2RlXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgc3RhdGVDb2RlXG4gICAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgfVxuICAgICAgICBhZGRpdGlvbmFsSW5mbyB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRleHRcbiAgICAgICAgICBqc29uXG4gICAgICAgICAgY3VzdG9tIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQ2FySGlyZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDYXJIaXJlUXVlcnksIFNlYXJjaENhckhpcmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQ2FySGlyZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDb25maXJtTWVzc2FnZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBjb25maXJtTWVzc2FnZXMoJG1lc3NhZ2VzOiBbU3RyaW5nIV0hKSB7XG4gIGNvbmZpcm1NZXNzYWdlcyhtZXNzYWdlczogJG1lc3NhZ2VzKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ29uZmlybU1lc3NhZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENvbmZpcm1NZXNzYWdlc011dGF0aW9uLCBDb25maXJtTWVzc2FnZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUZhdm91cml0ZVNlYXJjaCgkaWQ6IElEISkge1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2goaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUZhdm91cml0ZVNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiwgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVSZWNlbnRTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlUmVjZW50U2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24sIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVVc2VyQWRkcmVzcygkaWQ6IElEISkge1xuICBkZWxldGVVc2VyQWRkcmVzcyhpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiwgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRWRpdFVzZXJEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBlZGl0VXNlcigkaWQ6IElEISwgJHRpdGxlOiBTdHJpbmcsICRmb3JlbmFtZTogU3RyaW5nLCAkc3VybmFtZTogU3RyaW5nLCAkZW1haWw6IFN0cmluZywgJHVzZXJuYW1lOiBTdHJpbmcsICRhdXRoTWV0aG9kczogW1N0cmluZyFdLCAkYWN0aXZlOiBCb29sZWFuLCAkYm9va2VyVHlwZTogQm9va2VyVHlwZSwgJHRtY0FkbWluOiBCb29sZWFuLCAkY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsOiBCb29sZWFuLCAkbG9nTGV2ZWw6IExvZ0xldmVsVHlwZSwgJGxpdmU6IEJvb2xlYW4sICRlbXBsb3llZUlkOiBTdHJpbmcsICRjb25mZXJtYUlkOiBTdHJpbmcsICRkb2I6IERhdGUsICRhZG1pbjogQm9vbGVhbiwgJGNvbXBhbnlBZG1pbjogQm9vbGVhbiwgJHNlbGVjdGVkTGFuZ3VhZ2U6IElELCAkY28yQWxsb3dhbmNlUGVyaW9kOiBTdHJpbmcsICRjbzJBbGxvd2FuY2VQZXJQZXJpb2Q6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3ROYW1lOiBTdHJpbmcsICRlbWVyZ2VuY3lDb250YWN0UGhvbmU6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3RFbWFpbDogU3RyaW5nLCAkc3VwcGxpZXJSZWxhdGlvbnM6IEJvb2xlYW4sICRwaG9uZU51bWJlcnM6IFtQaG9uZU51bWJlcklucHV0IV0sICRhZGRyZXNzZXM6IFtBZGRyZXNzSW5wdXQhXSwgJHVzZXJNaURlZmF1bHRWYWx1ZXM6IFtVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQhXSwgJGRvY3VtZW50czogW0RvY3VtZW50SW5wdXQhXSwgJGxveWFsdHlDb2RlczogW1VzZXJMb3lhbHR5Q29kZUlucHV0IV0sICRwcmVmZXJlbmNlczogW1VzZXJQcmVmZXJlbmNlSW5wdXQhXSkge1xuICBlZGl0VXNlcihpZDogJGlkLCB0aXRsZTogJHRpdGxlLCBmb3JlbmFtZTogJGZvcmVuYW1lLCBzdXJuYW1lOiAkc3VybmFtZSwgZW1haWw6ICRlbWFpbCwgdXNlcm5hbWU6ICR1c2VybmFtZSwgYXV0aE1ldGhvZHM6ICRhdXRoTWV0aG9kcywgYWN0aXZlOiAkYWN0aXZlLCBib29rZXJUeXBlOiAkYm9va2VyVHlwZSwgdG1jQWRtaW46ICR0bWNBZG1pbiwgY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsOiAkY2FuQ3JlYXRlQWRtaW5BdE93bkxldmVsLCBsb2dMZXZlbDogJGxvZ0xldmVsLCBsaXZlOiAkbGl2ZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQsIGNvbmZlcm1hSWQ6ICRjb25mZXJtYUlkLCBkb2I6ICRkb2IsIGFkbWluOiAkYWRtaW4sIGNvbXBhbnlBZG1pbjogJGNvbXBhbnlBZG1pbiwgc2VsZWN0ZWRMYW5ndWFnZTogJHNlbGVjdGVkTGFuZ3VhZ2UsIGNvMkFsbG93YW5jZVBlcmlvZDogJGNvMkFsbG93YW5jZVBlcmlvZCwgY28yQWxsb3dhbmNlUGVyUGVyaW9kOiAkY28yQWxsb3dhbmNlUGVyUGVyaW9kLCBlbWVyZ2VuY3lDb250YWN0TmFtZTogJGVtZXJnZW5jeUNvbnRhY3ROYW1lLCBlbWVyZ2VuY3lDb250YWN0UGhvbmU6ICRlbWVyZ2VuY3lDb250YWN0UGhvbmUsIGVtZXJnZW5jeUNvbnRhY3RFbWFpbDogJGVtZXJnZW5jeUNvbnRhY3RFbWFpbCwgc3VwcGxpZXJSZWxhdGlvbnM6ICRzdXBwbGllclJlbGF0aW9ucywgcGhvbmVOdW1iZXJzOiAkcGhvbmVOdW1iZXJzLCBhZGRyZXNzZXM6ICRhZGRyZXNzZXMsIHVzZXJNaURlZmF1bHRWYWx1ZXM6ICR1c2VyTWlEZWZhdWx0VmFsdWVzLCBkb2N1bWVudHM6ICRkb2N1bWVudHMsIGxveWFsdHlDb2RlczogJGxveWFsdHlDb2RlcywgcHJlZmVyZW5jZXM6ICRwcmVmZXJlbmNlcykge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICAgIHVzZXJuYW1lXG4gICAgZW1wbG95ZWVJZFxuICAgIGNvbmZlcm1hSWRcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBkb2JcbiAgICBhZG1pblxuICAgIHRtY0FkbWluXG4gICAgY29tcGFueUFkbWluXG4gICAgYm9va2VyVHlwZVxuICAgIGF1dGhNZXRob2RzXG4gICAgYWN0aXZlXG4gICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlzb0NvZGVcbiAgICB9XG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpc29Db2RlXG4gICAgfVxuICAgIGFwcHJvdmVycyB7XG4gICAgICBhY3RpdmVcbiAgICAgIHByaW9yaXR5XG4gICAgfVxuICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgIGFjdGl2ZVxuICAgICAgcHJpb3JpdHlcbiAgICB9XG4gICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICBjYW5DcmVhdGVBZG1pbkF0T3duTGV2ZWxcbiAgICBsaXZlXG4gICAgc3VwcGxpZXJSZWxhdGlvbnNcbiAgICBsb2dMZXZlbFxuICAgIHBob25lTnVtYmVycyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBhcmVhQ29kZVxuICAgICAgbnVtYmVyXG4gICAgICBleHRlbnNpb25cbiAgICAgIHR5cGVcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgfVxuICAgIGFkZHJlc3NlcyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIG51bWJlck9yTmFtZVxuICAgICAgc3RyZWV0XG4gICAgICB0b3duXG4gICAgICBjb3VudHlcbiAgICAgIHBvc3Rjb2RlXG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgdXNlclByaW1hcnlcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICB9XG4gICAgdXNlck1pRGVmYXVsdFZhbHVlcyB7XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgIH1cbiAgICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGJJZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGhhbmRvZmZcbiAgICAgICAgdmFsdWVNYXNrXG4gICAgICAgIHNlcnZpY2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICB9XG4gICAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICAgIG1hbmRhdG9yeVxuICAgICAgICBwZXJQYXNzZW5nZXJcbiAgICAgICAgcGVyQm9va2luZ1xuICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICAgIGVuZm9yY2VVc2VyRGVmYXVsdFxuICAgICAgICBib29rZWRCeUZpZWxkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGdyb3VwXG4gICAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgICBmaXhlZFxuICAgICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICAgIGJhc2tldExldmVsVmFsdWVcbiAgICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBtYW5hZ2VtZW50SW5mb1ZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGZyZWVUZXh0VmFsdWVcbiAgICB9XG4gICAgZG9jdW1lbnRzIHtcbiAgICAgIGlkXG4gICAgICBkb2NUeXBlXG4gICAgICBuYXRpb25hbGl0eVxuICAgICAgZ2VuZGVyXG4gICAgICBudW1iZXJcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgcHJpbWFyeVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICB9XG4gICAgbG95YWx0eUNvZGVzIHtcbiAgICAgIGlkXG4gICAgICBjYXJyaWVyXG4gICAgICBjb2RlXG4gICAgICB0eXBlXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgIH1cbiAgICBwcmVmZXJlbmNlcyB7XG4gICAgICBpZFxuICAgICAgc2VydmljZVR5cGVcbiAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEVkaXRVc2VyR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEVkaXRVc2VyTXV0YXRpb24sIEVkaXRVc2VyTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEVkaXRVc2VyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEVtYWlsQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZW1haWxCYXNrZXQoJGlkOiBJRCEpIHtcbiAgZW1haWxCYXNrZXQoaWQ6ICRpZCkge1xuICAgIGlkXG4gICAgb3duZXIge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBlbXBsb3llZUlkXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZG9iXG4gICAgICBhZG1pblxuICAgICAgdG1jQWRtaW5cbiAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgYm9va2VyVHlwZVxuICAgICAgYXV0aE1ldGhvZHNcbiAgICAgIGFjdGl2ZVxuICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGlzb0NvZGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdG1jIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBvZmZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBjb21wYW55IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgIHN0cmVldFxuICAgICAgICB0b3duXG4gICAgICAgIGNvdW50eVxuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIGFyZWFDb2RlXG4gICAgICAgIG51bWJlclxuICAgICAgICBleHRlbnNpb25cbiAgICAgICAgdHlwZVxuICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwcmlvcml0eVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZG9jVHlwZVxuICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICBnZW5kZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGNvdW50cnlcbiAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICBwcmltYXJ5XG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICBpZFxuICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgY29kZVxuICAgICAgICB0eXBlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHJlZmVyZW5jZVxuICAgIHRpdGxlXG4gICAgbm90ZXNcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBiYXNrZXRJdGVtcyB7XG4gICAgICBpZFxuICAgICAgYWR1bHRzXG4gICAgICBjaGlsZHJlblxuICAgICAgaW5mYW50c1xuICAgICAgZGV0YWlsXG4gICAgICBkZXRhaWxIYXNoXG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgZXhwaXJ5XG4gICAgICBleHBpcmVkXG4gICAgICB1c2VycyB7XG4gICAgICAgIGlkXG4gICAgICAgIHRpdGxlXG4gICAgICAgIGZvcmVuYW1lXG4gICAgICAgIHN1cm5hbWVcbiAgICAgICAgZW1haWxcbiAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGRvYlxuICAgICAgICBhZG1pblxuICAgICAgICB0bWNBZG1pblxuICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICBhY3RpdmVcbiAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjb21wYW55R3JvdXBzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgIHN0cmVldFxuICAgICAgICAgIHRvd25cbiAgICAgICAgICBjb3VudHlcbiAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICBudW1iZXJcbiAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgIGdlbmRlclxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgY29kZVxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgICBpZFxuICAgICAgICBwYXNzZW5nZXJUeXBlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGxlYWRQYXNzZW5nZXIge1xuICAgICAgICBpZFxuICAgICAgICB0aXRsZVxuICAgICAgICBmb3JlbmFtZVxuICAgICAgICBzdXJuYW1lXG4gICAgICAgIGVtYWlsXG4gICAgICAgIHVzZXJuYW1lXG4gICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBkb2JcbiAgICAgICAgYWRtaW5cbiAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWFyY2hRdWVyeVxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICBtaUdyb3Vwc0F2YWlsYWJsZVxuICAgICAgbWlHcm91cFNlbGVjdGVkXG4gICAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRiSWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBoYW5kb2ZmXG4gICAgICAgIHZhbHVlTWFza1xuICAgICAgICBzZXJ2aWNlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBzdXBwbGllclVybFxuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICAgIG1hbmRhdG9yeVxuICAgICAgICBwZXJQYXNzZW5nZXJcbiAgICAgICAgcGVyQm9va2luZ1xuICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICAgIGVuZm9yY2VVc2VyRGVmYXVsdFxuICAgICAgICBib29rZWRCeUZpZWxkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHZhbHVlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBsYWJlbFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGdyb3VwXG4gICAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgICB2YWx1ZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgICBmaXhlZFxuICAgICAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICAgIGJhc2tldExldmVsVmFsdWVcbiAgICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgICAgc3VybmFtZVxuICAgICAgICAgICAgZW1haWxcbiAgICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgZG9iXG4gICAgICAgICAgICBhZG1pblxuICAgICAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgdmFsaWRhdGVkXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25QcmljZURpZmZlcmVuY2VcbiAgICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICAgIGJvb2tpbmdUaGlyZFBhcnR5UmVmZXJlbmNlXG4gICAgICBwbnJMb2NhdG9yXG4gICAgICBib29raW5nRGV0YWlsXG4gICAgICBzdGF0dXNcbiAgICAgIGF2YWlsYWJsZVBheW1lbnRNZXRob2RzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZWxlY3RlZFBheW1lbnRNZXRob2Qge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWFcbiAgICAgIHBlclBhc3NlbmdlclN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYVxuICAgICAgcGVySXRlbUFkZHJlc3NcbiAgICAgIHBlckl0ZW1QaG9uZU51bWJlclxuICAgICAgcGVyUGFzc2VuZ2VyQWRkcmVzc1xuICAgICAgcGVyUGFzc2VuZ2VyUGhvbmVOdW1iZXJcbiAgICAgIGNhbmNlbGxhYmxlXG4gICAgICBhbWVuZGFibGVcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgb3V0Ym91bmREYXRlXG4gICAgICBpbmJvdW5kRGF0ZVxuICAgICAgY29udmVydGVkQ3VycmVuY3lBbW91bnRcbiAgICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBzdGF0dXNcbiAgICBjb21wYW55R3JvdXAge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBjb21wYW55IHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICB0bWMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICB0b3duXG4gICAgICAgICAgY291bnR5XG4gICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB1c2VycyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0aXRsZVxuICAgICAgICAgIGZvcmVuYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgdXNlcm5hbWVcbiAgICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgZG9iXG4gICAgICAgICAgYWRtaW5cbiAgICAgICAgICB0bWNBZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICB0bWMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgb2ZmaWNlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgYXBwcm92ZXJGb3Ige1xuICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRvY1R5cGVcbiAgICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgICBnZW5kZXJcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgY291bnRyeVxuICAgICAgICAgICAgY29kZU9mSXNzdWluZ1N0YXRlXG4gICAgICAgICAgICBkYXRlT2ZJc3N1ZVxuICAgICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgICBwcmltYXJ5XG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2VydmljZVR5cGVcbiAgICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICAgIHByZWZlcmVuY2VWYWx1ZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjYXJyaWVyXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBzdXBwb3J0UGhvbmVOdW1iZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIHN1cHBvcnRFbWFpbFxuICAgICAgICBjbzJDb25zdW1wdGlvblBvbGljeVxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIHZhbGlkYXRlZFxuICAgIGJvb2tlZEF0XG4gICAgX190eXBlbmFtZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBFbWFpbEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxFbWFpbEJhc2tldFF1ZXJ5LCBFbWFpbEJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBFbWFpbEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRBbGxBaXJsaW5lc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEFsbEFpcmxpbmVzIHtcbiAgZ2V0QWxsQWlybGluZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgYWxpYXNcbiAgICBjYWxsc2lnblxuICAgIGFjdGl2ZVxuICAgIGNvbnRpbmVudFxuICAgIGNvdW50cnlcbiAgICBjb3VudHJ5Q29kZVxuICAgIGJhbm5lckltYWdlXG4gICAgbG9nb0ltYWdlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEFsbEFpcmxpbmVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEFsbEFpcmxpbmVzUXVlcnksIEdldEFsbEFpcmxpbmVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEFsbEFpcmxpbmVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvdmlkTWljcm9zaXRlVG9rZW5Eb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuIHtcbiAgZ2V0Q09WSURNaWNyb3NpdGVUb2tlblxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q292aWRNaWNyb3NpdGVUb2tlbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnksIEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDYXJIaXJlRGVwb3RzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q2FySGlyZURlcG90cygkbGF0aXR1ZGU6IEZsb2F0ISwgJGxvbmdpdHVkZTogRmxvYXQhLCAkdmVuZG9yQ29kZTogU3RyaW5nLCAkcmFkaXVzOiBTdHJpbmcpIHtcbiAgZ2V0Q2FySGlyZURlcG90cyhsYXRpdHVkZTogJGxhdGl0dWRlLCBsb25naXR1ZGU6ICRsb25naXR1ZGUsIHZlbmRvckNvZGU6ICR2ZW5kb3JDb2RlLCByYWRpdXM6ICRyYWRpdXMpIHtcbiAgICBjb3VudHJ5Q29kZVxuICAgIGxvY2F0aW9uQ29kZVxuICAgIGV4dGVuZGVkTG9jYXRpb25Db2RlXG4gICAgdmVuZG9yQ29kZVxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgdmVuZG9yXG4gICAgYWRkcmVzc0xpbmVzXG4gICAgY2l0eU5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q2FySGlyZURlcG90c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDYXJIaXJlRGVwb3RzUXVlcnksIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q2FySGlyZURlcG90c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDYXJIaXJlUHJvdmlkZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q2FySGlyZVByb3ZpZGVycyB7XG4gIGdldENhckhpcmVQcm92aWRlcnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVQcm92aWRlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5LCBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVQcm92aWRlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKCRob3RlbElkOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUm9vbUltYWdlcyhob3RlbElkOiAkaG90ZWxJZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUm9vbUltYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSwgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRGYXJlUnVsZXMoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRGYXJlUnVsZXMoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIGNoYW5nZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgbm9TaG93IHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICB1cGdyYWRlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBvdGhlciB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodEZhcmVSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSwgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0U2VhdE1hcCgkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodFNlYXRNYXAoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBhaXJjcmFmdCB7XG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIHR5cGVcbiAgICAgIH1cbiAgICAgIHNlYXRzIHtcbiAgICAgICAgcm93XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhdHRyaWJ1dGVzIHtcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfVxuICAgICAgICBwcmljZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0U2VhdE1hcEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRTZWF0TWFwUXVlcnksIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRIb3RlbENoYWluc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEhvdGVsQ2hhaW5zIHtcbiAgZ2V0SG90ZWxDaGFpbnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEhvdGVsQ2hhaW5zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEhvdGVsQ2hhaW5zUXVlcnksIEdldEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEhvdGVsQ2hhaW5zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRJUkxEaXNjb3VudENhcmRzKCRzdXBwbGllcjogSVJMU3VwcGxpZXIhKSB7XG4gIGdldElSTERpc2NvdW50Q2FyZHMoc3VwcGxpZXI6ICRzdXBwbGllcikge1xuICAgIGlkXG4gICAgbmV0Q29kZVxuICAgIHJlY29cbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldElybERpc2NvdW50Q2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5LCBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKCRpZDogSUQsICRzdXBwbGllcjogSVJMU3VwcGxpZXIsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKGlkOiAkaWQsIHN1cHBsaWVyOiAkc3VwcGxpZXIsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsU3VwcGxpZXJTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5LCBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxMaXZlRGVwYXJ0dXJlcygkc3RhdGlvbkNvZGU6IFN0cmluZyEsICRkZXBhcnREYXRlVGltZTogU3RyaW5nKSB7XG4gIGdldFJhaWxMaXZlRGVwYXJ0dXJlcyhzdGF0aW9uQ29kZTogJHN0YXRpb25Db2RlLCBkZXBhcnREYXRlVGltZTogJGRlcGFydERhdGVUaW1lKSB7XG4gICAgc2VydmljZXMge1xuICAgICAgcmlkXG4gICAgICB1aWRcbiAgICAgIHRyYWluaWRcbiAgICAgIHNkZFxuICAgICAgb3BlcmF0b3JcbiAgICAgIG9wZXJhdG9yQ29kZVxuICAgICAgc3RkXG4gICAgICBldGRcbiAgICAgIGRlcGFydHVyZVR5cGVcbiAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgcGxhdGZvcm1cbiAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgIG9yaWdpbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBzdWJzZXF1ZW50TG9jYXRpb25zIHtcbiAgICAgICAgbG9jYXRpb25OYW1lXG4gICAgICAgIHRpcGxvY1xuICAgICAgICBjcnNcbiAgICAgICAgcGxhdGZvcm1cbiAgICAgICAgcGxhdGZvcm1Jc0hpZGRlblxuICAgICAgICBzdGFcbiAgICAgICAgZXRhXG4gICAgICAgIGFycml2YWxUeXBlXG4gICAgICAgIGFycml2YWxTb3VyY2VcbiAgICAgICAgc3RkXG4gICAgICAgIGV0ZFxuICAgICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgICBhc3NvY2lhdGlvbnMge1xuICAgICAgICAgIGNhdGVnb3J5XG4gICAgICAgICAgcmlkXG4gICAgICAgICAgdWlkXG4gICAgICAgICAgdHJhaW5pZFxuICAgICAgICAgIHNkZFxuICAgICAgICAgIG9yaWdpblxuICAgICAgICAgIG9yaWdpbkNSU1xuICAgICAgICAgIG9yaWdpblRpcGxvY1xuICAgICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgICAgZGVzdENSU1xuICAgICAgICAgIGRlc3RUaXBsb2NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbExpdmVEZXBhcnR1cmVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5LCBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFN0YXRpb24oJGlkOiBJRCwgJGNvZGU6IFN0cmluZykge1xuICBnZXRSYWlsU3RhdGlvbihpZDogJGlkLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsU3RhdGlvblF1ZXJ5LCBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsY2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsY2FyZHMge1xuICBnZXRSYWlsY2FyZHMge1xuICAgIG5hbWVcbiAgICBjb2RlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxjYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsY2FyZHNRdWVyeSwgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxjYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsUHJvdmlkZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFByb3ZpZGVycyB7XG4gIGdldFJhaWxQcm92aWRlcnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxQcm92aWRlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFByb3ZpZGVyc1F1ZXJ5LCBHZXRSYWlsUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxQcm92aWRlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMoJG1pOiBJRCEsICRwYXJ0aWFsTGFiZWw6IFN0cmluZyEpIHtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXMobWk6ICRtaSwgcGFydGlhbExhYmVsOiAkcGFydGlhbExhYmVsKSB7XG4gICAgaWRcbiAgICBsYWJlbFxuICAgIHZhbHVlXG4gICAgZGVmYXVsdFxuICAgIGZpeGVkXG4gICAgYWdlbnRPbmx5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnksIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZSB7XG4gIGdldFVzZXJQaG9uZU51bWJlcnMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBjb3VudHJ5Q29kZVxuICAgIGFyZWFDb2RlXG4gICAgbnVtYmVyXG4gICAgZXh0ZW5zaW9uXG4gICAgdHlwZVxuICAgIG9mZmljZVByaW1hcnlcbiAgICB1c2VyUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyUGhvbmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lUXVlcnksIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyUGhvbmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclJlY2VudFNlYXJjaGVzKCRzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpIHtcbiAgZ2V0VXNlclJlY2VudFNlYXJjaGVzKHNlcnZpY2VUeXBlOiAkc2VydmljZVR5cGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICB0cmF2ZWxEYXRlXG4gICAgdHJhdmVsbGVycyB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGRvYlxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclJlY2VudFNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEhvdGVscygkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY2l0eU5hbWU6IFN0cmluZywgJHBvc3RPclppcENvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRsYXRpdHVkZTogRmxvYXQsICRsb25naXR1ZGU6IEZsb2F0LCAkdHJhaW5TdGF0aW9uQ29kZTogU3RyaW5nLCAkaWF0YTogU3RyaW5nLCAkb2ZmaWNlSWQ6IEludCwgJHJvb21zOiBJbnQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGN1cnJlbmN5OiBTdHJpbmchLCAkZGlzdGFuY2VUeXBlOiBEaXN0YW5jZVR5cGVzISwgJGRpc3RhbmNlOiBJbnQhLCAkbWF4UmVzdWx0czogSW50LCAkaG90ZWxOYW1lOiBTdHJpbmcsICRncm91cE5hbWU6IFN0cmluZykge1xuICBzZWFyY2hIb3RlbHMoc3RhcnREYXRlOiAkc3RhcnREYXRlLCBlbmREYXRlOiAkZW5kRGF0ZSwgY2l0eU5hbWU6ICRjaXR5TmFtZSwgcG9zdE9yWmlwQ29kZTogJHBvc3RPclppcENvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGxhdGl0dWRlOiAkbGF0aXR1ZGUsIGxvbmdpdHVkZTogJGxvbmdpdHVkZSwgdHJhaW5TdGF0aW9uQ29kZTogJHRyYWluU3RhdGlvbkNvZGUsIGlhdGE6ICRpYXRhLCBvZmZpY2VJZDogJG9mZmljZUlkLCByb29tczogJHJvb21zLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGN1cnJlbmN5OiAkY3VycmVuY3ksIGRpc3RhbmNlVHlwZTogJGRpc3RhbmNlVHlwZSwgZGlzdGFuY2U6ICRkaXN0YW5jZSwgbWF4UmVzdWx0czogJG1heFJlc3VsdHMsIGhvdGVsTmFtZTogJGhvdGVsTmFtZSwgZ3JvdXBOYW1lOiAkZ3JvdXBOYW1lKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaW1hZ2VVcmxcbiAgICAgIGdyb3VwXG4gICAgICBsb2NhdGlvbiB7XG4gICAgICAgIGRpc3RhbmNlXG4gICAgICAgIGRpc3RhbmNlVHlwZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgIH1cbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0T3JaaXBDb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYWNzaW1pbGVcbiAgICAgIH1cbiAgICAgIHRyYW5zcG9ydHMge1xuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgY29kZVxuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBwcmVmZXJyZWQge1xuICAgICAgICBjbGllbnRcbiAgICAgICAgY29uc3VtZXJcbiAgICAgIH1cbiAgICAgIHRhZ3Mge1xuICAgICAgICBuYW1lXG4gICAgICAgIGRpc3BsYXlcbiAgICAgICAgdHlwZVxuICAgICAgICBpY29uXG4gICAgICB9XG4gICAgICBhdmFpbGFibGVSYXRlcyB7XG4gICAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICAgIH1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgdmVyc2lvblxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSG90ZWxzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEhvdGVsc1F1ZXJ5LCBTZWFyY2hIb3RlbHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSG90ZWxzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkoJGhvdGVsOiBbU3RyaW5nIV0hLCAkc3RhcnREYXRlOiBEYXRlISwgJGVuZERhdGU6IERhdGUhLCAkY3VycmVuY3k6IFN0cmluZyEsICRvY2N1cGFudHM6IEludCEsICRyb29tczogSW50KSB7XG4gIGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KGhvdGVsOiAkaG90ZWwsIHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGN1cnJlbmN5OiAkY3VycmVuY3ksIG9jY3VwYW50czogJG9jY3VwYW50cywgcm9vbXM6ICRyb29tcykge1xuICAgIHJlc3VsdHMge1xuICAgICAgLi4uUm9vbUF2YWxpYWJpbGl0eVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeSwgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgSXNQb3N0Y29kZVZhbGlkRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgaXNQb3N0Y29kZVZhbGlkKCRwb3N0Y29kZTogU3RyaW5nISkge1xuICBpc1Bvc3Rjb2RlVmFsaWQocG9zdGNvZGU6ICRwb3N0Y29kZSlcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIElzUG9zdGNvZGVWYWxpZEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxJc1Bvc3Rjb2RlVmFsaWRRdWVyeSwgSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IElzUG9zdGNvZGVWYWxpZERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hBaXJwb3J0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEFpcnBvcnRzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcsICRoYXNMb3VuZ2U6IEJvb2xlYW4sICRoYXNQYXJraW5nOiBCb29sZWFuLCAkaGFzRmFzdFRyYWNrOiBCb29sZWFuKSB7XG4gIHNlYXJjaEFpcnBvcnRzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGhhc0xvdW5nZTogJGhhc0xvdW5nZSwgaGFzUGFya2luZzogJGhhc1BhcmtpbmcsIGhhc0Zhc3RUcmFjazogJGhhc0Zhc3RUcmFjaykge1xuICAgIGlhdGFNYXRjaCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaWF0YVxuICAgICAgaWNhb1xuICAgICAgdGVybWluYWxzXG4gICAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgICAuLi5MT0NBVElPTl9ERVRBSUxcbiAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhbE1hdGNoZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gICAgJHtMb2NhdGlvbl9EZXRhaWxGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEFpcnBvcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEFpcnBvcnRzUXVlcnksIFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEFpcnBvcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaExvdW5nZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hMb3VuZ2VzKCRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRpbmZhbnRzOiBJbnQsICR0ZXJtaW5hbDogU3RyaW5nKSB7XG4gIHNlYXJjaExvdW5nZXMobG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHRlcm1pbmFsOiAkdGVybWluYWwpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIG5hbWVcbiAgICAgIGNvZGVcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbG91bmdlIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmF4XG4gICAgICAgIGRpcmVjdGlvbnNcbiAgICAgICAgaW50cm9kdWN0aW9uXG4gICAgICAgIGxvZ29cbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBhZHVsdEFnZVxuICAgICAgICBjaGlsZEFnZVxuICAgICAgICBpbmZhbnRBZ2VcbiAgICAgICAgbGFuZHNpZGVcbiAgICAgICAgYWlyc2lkZVxuICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgIG9wZW5UaW1lXG4gICAgICAgIGNsb3NlVGltZVxuICAgICAgICB3aWZpXG4gICAgICAgIHR2XG4gICAgICAgIHNuYWNrc1xuICAgICAgICBwaG9uZVxuICAgICAgICBpbnRlcm5ldFxuICAgICAgICBjaGlsZHJlbkFsbG93ZWRcbiAgICAgICAgZGlzYWJsZWRBY2Nlc3NcbiAgICAgICAgZHJpbmtzXG4gICAgICAgIGZyZWVEcmlua3NcbiAgICAgICAgZnJlZUZvb2RcbiAgICAgICAgc21va2luZ1Blcm1pdHRlZFxuICAgICAgICBtYWdhemluZXNcbiAgICAgICAgaW5jbHVkZWREcmlua3NcbiAgICAgICAgbWVudUZvb2RcbiAgICAgICAgbWVudURyaW5rc1xuICAgICAgICBtZW51RXh0cmFzXG4gICAgICAgIHdoYXRzSW5jbHVkZWREcmlua3NcbiAgICAgICAgd2hhdHNJbmNsdWRlZEV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRm9vZFxuICAgICAgICBncm91cEluZm9cbiAgICAgICAgY2hlY2tJbkluZm9cbiAgICAgICAgZHJlc3NDb2RlXG4gICAgICAgIGZhY2lsaXRpZXNJbmZvXG4gICAgICAgIGZvb2RBbmRCZXZlcmFnZVxuICAgICAgICBjYW5jZWxsYXRpb25JbmZvXG4gICAgICAgIGFtZW5kbWVudHNJbmZvXG4gICAgICAgIG1pc2NcbiAgICAgIH1cbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoTG91bmdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hMb3VuZ2VzUXVlcnksIFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoTG91bmdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkbmV3QmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIG5ld0Jhc2tldDogJG5ld0Jhc2tldCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24sIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBhcmtpbmdEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hQYXJraW5nKCRhcnJpdmFsRGF0ZXRpbWU6IERhdGVUaW1lISwgJGRlcGFydERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRvdXRGbGlnaHROdW1iZXI6IFN0cmluZywgJHJlY29tbWVuZGVkOiBCb29sZWFuLCAkb25BaXJwb3J0OiBCb29sZWFuLCAkbWVldEFuZEdyZWV0OiBCb29sZWFuLCAkcGFya0FuZFJpZGU6IEJvb2xlYW4sICRwYXJrQW5kU3Ryb2xsOiBCb29sZWFuLCAkY2FyUGFya2VkRm9yWW91OiBCb29sZWFuLCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hQYXJraW5nKGFycml2YWxEYXRldGltZTogJGFycml2YWxEYXRldGltZSwgZGVwYXJ0RGF0ZXRpbWU6ICRkZXBhcnREYXRldGltZSwgbG9jYXRpb25Db2RlOiAkbG9jYXRpb25Db2RlLCBvdXRGbGlnaHROdW1iZXI6ICRvdXRGbGlnaHROdW1iZXIsIHJlY29tbWVuZGVkOiAkcmVjb21tZW5kZWQsIG9uQWlycG9ydDogJG9uQWlycG9ydCwgbWVldEFuZEdyZWV0OiAkbWVldEFuZEdyZWV0LCBwYXJrQW5kUmlkZTogJHBhcmtBbmRSaWRlLCBwYXJrQW5kU3Ryb2xsOiAkcGFya0FuZFN0cm9sbCwgY2FyUGFya2VkRm9yWW91OiAkY2FyUGFya2VkRm9yWW91LCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBjYXJQYXJrIHtcbiAgICAgICAgY29kZVxuICAgICAgICBuYW1lXG4gICAgICAgIGFpcnBvcnRcbiAgICAgICAgdGVybWluYWxcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgZGlzdGFuY2VUb0FpcnBvcnRcbiAgICAgICAgb25BaXJwb3J0XG4gICAgICAgIGNhclBhcmtlZEZvcllvdVxuICAgICAgICBtZWV0QW5kR3JlZXRcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGFycml2YWxQcm9jZWR1cmVcbiAgICAgICAgZGVwYXJ0dXJlUHJvY2VkdXJlXG4gICAgICAgIG1heGltdW1DYXJTaXplXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBpbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2ZlckluZm9ybWF0aW9uXG4gICAgICAgIHRyYW5zZmVyT3BlcmF0aW5nVGltZXNcbiAgICAgICAgdHJhbnNmZXJUaW1lXG4gICAgICAgIGxvZ29cbiAgICAgICAgZGVmYXVsdEltYWdlXG4gICAgICAgIGJyYW5kSW1hZ2VcbiAgICAgICAgbW9iaWxlSW1hZ2VcbiAgICAgICAgZnVydGhlckltYWdlc1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICByZXF1aXJlZEluZm9cbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlzY1xuICAgICAgdG1jUHJlZmVycmVkXG4gICAgICBjb21wYW55UHJlZmVycmVkXG4gICAgICBvZmZpY2VQcmVmZXJyZWRcbiAgICAgIHRtY1ByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlXG4gICAgICB1bmF2YWlsYWJsZVxuICAgICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RXJyb3JzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hQYXJraW5nR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFBhcmtpbmdRdWVyeSwgU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hQYXJraW5nRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFJhaWxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsKCRjb3VudHJ5Q29kZTogU3RyaW5nLCAkam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZSEsICRjbGFzczogUmFpbENsYXNzLCAkZGVwYXJ0dXJlTG9jYXRpb25JZDogSUQhLCAkYXJyaXZhbExvY2F0aW9uSWQ6IElEISwgJHZpYUxvY2F0aW9uSWQ6IElELCAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkFycml2YWxEYXRlVGltZTogU3RyaW5nLCAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6IFN0cmluZywgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRleHRyYVRpbWVUb0NoYW5nZTogQm9vbGVhbiwgJHBsdXNCdXNPdXQ6IFJhaWxQbHVzQnVzQXZhaWwsICRwbHVzQnVzUmV0dXJuOiBSYWlsUGx1c0J1c0F2YWlsLCAkdHJhdmVsQ2FyZHM6IFtEYXRlIV0sICRyYWlsQ2FyZFF1YWxpZmllcnM6IFtTdHJpbmchXSkge1xuICBzZWFyY2hSYWlsKGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIGpvdXJuZXlUeXBlOiAkam91cm5leVR5cGUsIGNsYXNzOiAkY2xhc3MsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCB2aWFMb2NhdGlvbklkOiAkdmlhTG9jYXRpb25JZCwgb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWU6ICRvdXRib3VuZEFycml2YWxEYXRlVGltZSwgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIHJldHVybkFycml2YWxEYXRlVGltZTogJHJldHVybkFycml2YWxEYXRlVGltZSwgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU6ICRyZXR1cm5EZXBhcnR1cmVEYXRlVGltZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBleHRyYVRpbWVUb0NoYW5nZTogJGV4dHJhVGltZVRvQ2hhbmdlLCBwbHVzQnVzT3V0OiAkcGx1c0J1c091dCwgcGx1c0J1c1JldHVybjogJHBsdXNCdXNSZXR1cm4sIHRyYXZlbENhcmRzOiAkdHJhdmVsQ2FyZHMsIHJhaWxDYXJkUXVhbGlmaWVyczogJHJhaWxDYXJkUXVhbGlmaWVycykge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZhc3RUcmFja0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZhc3RUcmFjaygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50KSB7XG4gIHNlYXJjaEZhc3RUcmFjayhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHJlZnVuZGFibGVcbiAgICAgIHRlcm1pbmFsXG4gICAgICBpbWFnZXNcbiAgICAgIGxvZ29cbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBpbXBvcnRhbnRJbmZvXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmFzdFRyYWNrR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZhc3RUcmFja1F1ZXJ5LCBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmFzdFRyYWNrRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAganJmcmVmZXJlbmNlXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFF1ZXJ5LCBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJHN1cHBsaWVyOiBJUkxTdXBwbGllcikge1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIHN1cHBsaWVyOiAkc3VwcGxpZXIpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSwgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFBvc3Rjb2RlcygkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzKHBvc3Rjb2RlOiAkcG9zdGNvZGUpIHtcbiAgICBwb3N0Y29kZVxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFBvc3Rjb2Rlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQb3N0Y29kZXNRdWVyeSwgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsU3RhdGlvbnMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZykge1xuICBzZWFyY2hSYWlsU3RhdGlvbnMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hSYWlsU3RhdGlvbnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoUmFpbFN0YXRpb25zUXVlcnksIFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hSYWlsU3RhdGlvbnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQWRkcmVzcyB7XG4gIGdldFVzZXJBZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hVc2VyQWRkcmVzc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5LCBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hVc2VyQWRkcmVzc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlbmRPZmZsaW5lTm90aWZpY2F0aW9uKCR0cmFpbk51bWJlcjogU3RyaW5nISwgJGRlcGFydHVyZVN0YXRpb246IFN0cmluZyEsICRkZXN0aW5hdGlvblN0YXRpb246IFN0cmluZyEsICRvdXRib3VuZERhdGU6IFN0cmluZyEsICRpbmJvdW5kRGF0ZTogU3RyaW5nISwgJGFkZGl0aW9uYWxJbmZvOiBTdHJpbmchLCAkb2ZmbGluZVJlZmVyZW5jZTogU3RyaW5nISwgJG5vdGlmeUVtYWlsOiBTdHJpbmchLCAkb25CZWhhbGZPZjogU3RyaW5nISwgJHNlcnZpY2VDbGFzczogU3RyaW5nISwgJHBhc3NlbmdlcnM6IFtJUkxPZmZsaW5lUGFzc2VuZ2VyIV0hKSB7XG4gIHNlbmRPZmZsaW5lTm90aWZpY2F0aW9uKHRyYWluTnVtYmVyOiAkdHJhaW5OdW1iZXIsIGRlcGFydHVyZVN0YXRpb246ICRkZXBhcnR1cmVTdGF0aW9uLCBkZXN0aW5hdGlvblN0YXRpb246ICRkZXN0aW5hdGlvblN0YXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgaW5ib3VuZERhdGU6ICRpbmJvdW5kRGF0ZSwgYWRkaXRpb25hbEluZm86ICRhZGRpdGlvbmFsSW5mbywgb2ZmbGluZVJlZmVyZW5jZTogJG9mZmxpbmVSZWZlcmVuY2UsIG5vdGlmeUVtYWlsOiAkbm90aWZ5RW1haWwsIG9uQmVoYWxmT2Y6ICRvbkJlaGFsZk9mLCBzZXJ2aWNlQ2xhc3M6ICRzZXJ2aWNlQ2xhc3MsIHBhc3NlbmdlcnM6ICRwYXNzZW5nZXJzKSB7XG4gICAgc3VjY2Vzc1xuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5LCBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTWlHcm91cERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1NSUdyb3VwKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkZ3JvdXA6IFN0cmluZywgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBzZXRCYXNrZXRJdGVtTUlHcm91cChjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCBiYXNrZXRJdGVtOiAkYmFza2V0SXRlbSwgZ3JvdXA6ICRncm91cCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1NaUdyb3VwR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb24sIFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1NaUdyb3VwRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkdXNlcjogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgc2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXIoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgdXNlcjogJHVzZXIpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1NSVZhbHVlKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkbWk6IElEISwgJG1pVmFsdWU6IElELCAkbWlGcmVlVmFsdWU6IFN0cmluZywgJHVzZXI6IElELCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIG1pOiAkbWksIG1pVmFsdWU6ICRtaVZhbHVlLCBtaUZyZWVWYWx1ZTogJG1pRnJlZVZhbHVlLCB1c2VyOiAkdXNlcikge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1NaVZhbHVlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24sIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1NaVZhbHVlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRwYXltZW50TWV0aG9kOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHBheW1lbnRNZXRob2Q6ICRwYXltZW50TWV0aG9kKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiwgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXROb3RlcygkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbm90ZXM6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0Tm90ZXMoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBub3RlczogJG5vdGVzKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0Tm90ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiwgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXRUaXRsZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbmV3VGl0bGU6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0VGl0bGUoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBuZXdUaXRsZTogJG5ld1RpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0VGl0bGVHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiwgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclNlcnZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclNlcnZpY2VzIHtcbiAgZ2V0VXNlclNlcnZpY2VzIHtcbiAgICBpZFxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGRldGFpbFNjaGVtYVxuICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJTZXJ2aWNlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyU2VydmljZXNRdWVyeSwgR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclVJQ29uZmlncyB7XG4gIGdldFVzZXJVSUNvbmZpZ3Mge1xuICAgIGFsbCB7XG4gICAgICBpZFxuICAgICAgY29uZmlnXG4gICAgICBrZXlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJVaUNvbmZpZ3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclVpQ29uZmlnc1F1ZXJ5LCBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJVaUNvbmZpZ3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlck1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvbmZpZ1xuICAgIHRhcmdldFxuICAgIGtleVxuICAgIGRpc3BsYXlUYXJnZXRcbiAgICBhZ2VudE9ubHlcbiAgICBjbGlja1RvQ29uZmlybVxuICAgIHZhbGlkRnJvbVxuICAgIHZhbGlkVG9cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlck1lc3NhZ2VzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJNZXNzYWdlc1F1ZXJ5LCBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlck1lc3NhZ2VzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJQaG9uZU51bWJlcnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgZ2V0VXNlclBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJQaG9uZU51bWJlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5LCBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJQaG9uZU51bWJlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0VXNlckxhbmd1YWdlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0VXNlckxhbmd1YWdlKCRsYW5ndWFnZTogSUQpIHtcbiAgc2V0VXNlckxhbmd1YWdlKGxhbmd1YWdlOiAkbGFuZ3VhZ2UpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgICBkb2JcbiAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaXNvQ29kZVxuICAgIH1cbiAgICBwaG9uZU51bWJlcnMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYXJlYUNvZGVcbiAgICAgIG51bWJlclxuICAgICAgZXh0ZW5zaW9uXG4gICAgICB0eXBlXG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICB1c2VyUHJpbWFyeVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0VXNlckxhbmd1YWdlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldFVzZXJMYW5ndWFnZU11dGF0aW9uLCBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0VXNlckxhbmd1YWdlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyKCRpZDogSUQpIHtcbiAgZ2V0VXNlcihpZDogJGlkKSB7XG4gICAgLi4uVXNlckZpZWxkc1xuICB9XG59XG4gICAgJHtVc2VyRmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJRdWVyeSwgR2V0VXNlclF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFVzZXJDYW5Cb29rRm9yRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoVXNlckNhbkJvb2tGb3IoJGVtYWlsOiBTdHJpbmcsICR1c2VyTmFtZTogU3RyaW5nLCAkZW1wbG95ZWVJZDogU3RyaW5nKSB7XG4gIHNlYXJjaFVzZXJDYW5Cb29rRm9yKGVtYWlsOiAkZW1haWwsIHVzZXJOYW1lOiAkdXNlck5hbWUsIGVtcGxveWVlSWQ6ICRlbXBsb3llZUlkKSB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFVzZXJDYW5Cb29rRm9yR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnksIFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUoJG1pOiBJRCEsICRmcmVlVmFsdWU6IFN0cmluZyEpIHtcbiAgdmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUobWk6ICRtaSwgZnJlZVZhbHVlOiAkZnJlZVZhbHVlKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8VmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeSwgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9Il19
|
|
6585
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC5hbmd1bGFyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb2J0c2VydmljZXMvYW5ndWxhci9zcmMvbGliL3ZlbmRvci90eXBlcy9ncmFwaHFsLmFuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBaUh6QyxNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQzFCLGtEQUE4QixDQUFBO0lBQzlCLGdEQUE0QixDQUFBO0FBQzlCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCO0FBNkNELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBd0VELE1BQU0sQ0FBTixJQUFZLGdCQUtYO0FBTEQsV0FBWSxnQkFBZ0I7SUFDMUIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLDJDQUF1QixDQUFBO0lBQ3ZCLG9EQUFnQyxDQUFBO0FBQ2xDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksWUFRWDtBQVJELFdBQVksWUFBWTtJQUN0Qiw2QkFBYSxDQUFBO0lBQ2IsaUNBQWlCLENBQUE7SUFDakIsc0RBQXNDLENBQUE7SUFDdEMscUNBQXFCLENBQUE7SUFDckIsMkNBQTJCLENBQUE7SUFDM0Isb0RBQW9DLENBQUE7SUFDcEMsZ0RBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQVJXLFlBQVksS0FB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WCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcsQ0FBQTtJQUNYLDJCQUFXLENBQUE7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsMkJBQVcs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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0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MEU7SUFHL0gsWUFBWSxNQUFxQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFIaEIsYUFBUSxHQUFHLCtCQUErQixDQUFDO0lBSTNDLENBQUM7Ozs7WUFSRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFyNlpTLE1BQU0sQ0F5NlphLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBBcG9sbG8gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuZXhwb3J0IHR5cGUgTWF5YmU8VD4gPSBUIHwgbnVsbDtcbmV4cG9ydCB0eXBlIEV4YWN0PFQgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4gPSB7IFtLIGluIGtleW9mIFRdOiBUW0tdIH07XG5leHBvcnQgdHlwZSBNYWtlT3B0aW9uYWw8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIHsgW1N1YktleSBpbiBLXT86IE1heWJlPFRbU3ViS2V5XT4gfTtcbmV4cG9ydCB0eXBlIE1ha2VNYXliZTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdOiBNYXliZTxUW1N1YktleV0+IH07XG5leHBvcnQgdHlwZSBGaWVsZFdyYXBwZXI8VD4gPSBUO1xuLyoqIEFsbCBidWlsdC1pbiBhbmQgY3VzdG9tIHNjYWxhcnMsIG1hcHBlZCB0byB0aGVpciBhY3R1YWwgdmFsdWVzICovXG5leHBvcnQgdHlwZSBTY2FsYXJzID0ge1xuICBJRDogc3RyaW5nO1xuICBTdHJpbmc6IHN0cmluZztcbiAgQm9vbGVhbjogYm9vbGVhbjtcbiAgSW50OiBudW1iZXI7XG4gIEZsb2F0OiBudW1iZXI7XG4gIERhdGU6IGFueTtcbiAgRGF0ZVRpbWU6IGFueTtcbiAgSlNPTjogYW55O1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlck9yTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdHJlZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG93bj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzSW5wdXQgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZnRlckNhbmNlbGxhdGlvbkluZm8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJztcbiAgY2FuY2VsbGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FuY2VsbGF0aW9uRmVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBBaXJsaW5lUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGlhcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWxsc2lnbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNvbnRpbmVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhbm5lckltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ29JbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQWlybGluZVJlc3VsdHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdHMnO1xuICBpYXRhTWF0Y2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdD4+O1xuICBnZW5lcmFsTWF0Y2hlczogQXJyYXk8RmllbGRXcmFwcGVyPEFpcmxpbmVSZXN1bHQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZXJtaW5hbHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBoYXNMb3VuZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaGFzUHVibGljVHJhdmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnREZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCc7XG4gIGlhdGE/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWNhbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFsdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgYXJlYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZzZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeU5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFpcnBvcnRSZXN1bHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJztcbiAgaWF0YU1hdGNoPzogTWF5YmU8RmllbGRXcmFwcGVyPEFpcnBvcnQ+PjtcbiAgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJwb3J0Pj47XG59O1xuXG5leHBvcnQgZW51bSBBcHBsaWNhdGlvblN0YWdlIHtcbiAgQmVmb3JlU2VhcmNoID0gJ0JFRk9SRV9TRUFSQ0gnLFxuICBBZnRlclNlYXJjaCA9ICdBRlRFUl9TRUFSQ0gnXG59XG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0UnVsZXNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwbHlKSVRSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBcHByb3ZlZSA9IHtcbiAgX190eXBlbmFtZT86ICdBcHByb3ZlZSc7XG4gIGFwcHJvdmVlOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIGFjdGl2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaW9yaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXBwcm92ZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQXBwcm92ZXInO1xuICBhcHByb3ZlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwcmlvcml0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc29jaWF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJztcbiAgY2F0ZWdvcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb3JpZ2luQ1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpblRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0Q1JTPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RUaXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhZ2dhZ2VBbGxvd2FuY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQmFnZ2FnZUFsbG93YW5jZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxCYWdnYWdlVHlwZT47XG4gIHF0eTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgd2VpZ2h0UHJvdmlkZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhLRz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIG1heExCUz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgZW51bSBCYWdnYWdlVHlwZSB7XG4gIENoZWNrSW4gPSAnQ2hlY2tJbicsXG4gIEhhbmRDYXJyeSA9ICdIYW5kQ2FycnknXG59XG5cbmV4cG9ydCB0eXBlIEJhc2tldCA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBvd25lcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBpbnZva2VkVXNlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHJlZmVyZW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbXM6IEFycmF5PEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtPj47XG4gIHN0YXR1czogRmllbGRXcmFwcGVyPEJhc2tldFN0YXR1cz47XG4gIGNvbXBhbnlHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55R3JvdXA+PjtcbiAgdmFsaWRhdGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYm9va2VkQXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFza2V0SXRlbSA9IHtcbiAgX190eXBlbmFtZT86ICdCYXNrZXRJdGVtJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWR1bHRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjaGlsZHJlbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZGV0YWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgZGV0YWlsSGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBleHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZXhwaXJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBndWVzdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxHdWVzdD4+O1xuICB1c2VyUGFzc2VuZ2VyVHlwZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyUGFzc2VuZ2VyVHlwZT4+O1xuICBndWVzdFBhc3NlbmdlclR5cGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8VXNlclBhc3NlbmdlclR5cGU+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxVc2VyT3JHdWVzdD4+O1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIHNlYXJjaFF1ZXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaUdyb3Vwc0F2YWlsYWJsZTogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1pR3JvdXBTZWxlY3RlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYW5hZ2VtZW50SW5mbzogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIHZhbGlkYXRlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGxhdGVzdFZhbGlkYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG5yTG9jYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBib29raW5nRGV0YWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBzdGF0dXM6IEZpZWxkV3JhcHBlcjxCYXNrZXRJdGVtU3RhdHVzPjtcbiAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHNlbGVjdGVkUGF5bWVudE1ldGhvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxQYXltZW50TWV0aG9kPj47XG4gIHBlckl0ZW1TdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWE6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICBwZXJJdGVtQWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckl0ZW1QaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbGxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYW1lbmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGluYm91bmREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY29udmVydGVkQ3VycmVuY3lBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQmFza2V0SXRlbVN0YXR1cyB7XG4gIE9wZW4gPSAnT1BFTicsXG4gIEJvb2tlZCA9ICdCT09LRUQnLFxuICBDYW5jZWxsZWQgPSAnQ0FOQ0VMTEVEJyxcbiAgQm9va2luZ0ZhaWxlZCA9ICdCT09LSU5HX0ZBSUxFRCdcbn1cblxuZXhwb3J0IGVudW0gQmFza2V0U3RhdHVzIHtcbiAgT3BlbiA9ICdPUEVOJyxcbiAgQm9va2VkID0gJ0JPT0tFRCcsXG4gIEF3YWl0aW5nQXBwcm92YWwgPSAnQVdBSVRJTkdfQVBQUk9WQUwnLFxuICBBcHByb3ZlZCA9ICdBUFBST1ZFRCcsXG4gIERpc2FwcHJvdmVkID0gJ0RJU0FQUFJPVkVEJyxcbiAgUGFydGlhbGx5Qm9va2VkID0gJ1BBUlRJQUxMWV9CT09LRUQnLFxuICBCb29raW5nRmFpbGVkID0gJ0JPT0tJTkdfRkFJTEVEJ1xufVxuXG5leHBvcnQgdHlwZSBCZWZvcmVDYW5jZWxsYXRpb25JbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nO1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FuY2VsbGF0aW9uRmVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEJvb2tlZEJ5RmllbGQge1xuICBOYW1lID0gJ05BTUUnLFxuICBFbWFpbCA9ICdFTUFJTCdcbn1cblxuZXhwb3J0IGVudW0gQm9va2VyVHlwZSB7XG4gIFJvb3QgPSAnUk9PVCcsXG4gIFRtYyA9ICdUTUMnLFxuICBDb21wYW55ID0gJ0NPTVBBTlknLFxuICBPZmZpY2UgPSAnT0ZGSUNFJyxcbiAgQ29tcGFueUdyb3VwID0gJ0NPTVBBTllfR1JPVVAnLFxuICBTZWxmQm9vayA9ICdTRUxGX0JPT0snLFxuICBCb29rZXIgPSAnQk9PS0VSJyxcbiAgVHJhdmVsbGVyID0gJ1RSQVZFTExFUicsXG4gIEJvb2tlcldpdGhTZWxmID0gJ0JPT0tFUl9XSVRIX1NFTEYnXG59XG5cbmV4cG9ydCB0eXBlIEJvb2tpbmdBZGRyZXNzID0ge1xuICBudW1iZXJPck5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdHJlZXQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b3duOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBCb29raW5nUGhvbmVOdW1iZXIgPSB7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYXJlYUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBudW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBleHRlbnNpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYWJIaXJlTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJztcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVMb2NhdGlvbklucHV0ID0ge1xuICBhZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ2FiSGlyZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhYkhpcmVRdW90ZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHN1cHBsaWVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXN0aW1hdGVkQ08yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8Q3VycmVuY3lDb2RlPjtcbiAgdmVoaWNsZVR5cGU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlVmVoaWNsZVR5cGU+O1xuICB0cmlwRGlzdGFuY2VNZXRyZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgdHJpcER1cmF0aW9uU2Vjb25kcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBkZXBhcnRzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZnJvbUxvY2F0aW9uOiBGaWVsZFdyYXBwZXI8Q2FiSGlyZUxvY2F0aW9uPjtcbiAgdG9Mb2NhdGlvbjogRmllbGRXcmFwcGVyPENhYkhpcmVMb2NhdGlvbj47XG4gIHZpYXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlTG9jYXRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhYkhpcmVSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxDYWJIaXJlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhYkhpcmVWZWhpY2xlVHlwZSB7XG4gIEFueSA9ICdBbnknLFxuICBEZGFDYXIgPSAnRERBQ2FyJyxcbiAgQ29hY2hMYXJnZSA9ICdDb2FjaExhcmdlJyxcbiAgQ29hY2hTbWFsbCA9ICdDb2FjaFNtYWxsJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUNvYWNoID0gJ0Vjb25vbXlDb2FjaCcsXG4gIEVjb25vbXlNcHZTbWFsbCA9ICdFY29ub215TVBWU21hbGwnLFxuICBFY29ub215TXB2TGFyZ2UgPSAnRWNvbm9teU1QVkxhcmdlJyxcbiAgRWNvbm9teVN1diA9ICdFY29ub215U1VWJyxcbiAgRXhlY3V0aXZlQ2FyID0gJ0V4ZWN1dGl2ZUNhcicsXG4gIEV4ZWN1dGl2ZVN1diA9ICdFeGVjdXRpdmVTVVYnLFxuICBHcmVlbkNhciA9ICdHcmVlbkNhcicsXG4gIEdyZWVuRXhlY3V0aXZlID0gJ0dyZWVuRXhlY3V0aXZlJyxcbiAgR3JlZW5TdXYgPSAnR3JlZW5TVVYnLFxuICBTbWFsbE1wdiA9ICdTbWFsbE1QVicsXG4gIE1lZGl1bU1wdiA9ICdNZWRpdW1NUFYnLFxuICBMYXJnZU1wdiA9ICdMYXJnZU1QVicsXG4gIFN0YW5kYXJkQ2FyID0gJ1N0YW5kYXJkQ2FyJyxcbiAgU3V2ID0gJ1NVVicsXG4gIEJsYWNrQ2FiID0gJ0JsYWNrQ2FiJyxcbiAgVGF4aVN1diA9ICdUYXhpU1VWJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRpdGlvbmFsSW5mb0l0ZW0nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBqc29uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQ3VzdG9tPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b3BMaW5lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVnaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvc3RDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVBaXJwb3J0SW5wdXQgPSB7XG4gIHBpY2t1cENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNoYXJnZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlQ2hhcmdlJztcbiAgbGFiZWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZUNpdHlJbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cENpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBDYXJIaXJlQ2xhc3Mge1xuICBNaW5pID0gJ01pbmknLFxuICBNaW5pRWxpdGUgPSAnTWluaUVsaXRlJyxcbiAgRWNvbm9teSA9ICdFY29ub215JyxcbiAgRWNvbm9teUVsaXRlID0gJ0Vjb25vbXlFbGl0ZScsXG4gIENvbXBhY3QgPSAnQ29tcGFjdCcsXG4gIENvbXBhY3RFbGl0ZSA9ICdDb21wYWN0RWxpdGUnLFxuICBJbnRlcm1lZGlhdGUgPSAnSW50ZXJtZWRpYXRlJyxcbiAgSW50ZXJtZWRpYXRlRWxpdGUgPSAnSW50ZXJtZWRpYXRlRWxpdGUnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCcsXG4gIFN0YW5kYXJkRWxpdGUgPSAnU3RhbmRhcmRFbGl0ZScsXG4gIEZ1bGxzaXplID0gJ0Z1bGxzaXplJyxcbiAgRnVsbHNpemVFbGl0ZSA9ICdGdWxsc2l6ZUVsaXRlJyxcbiAgUHJlbWl1bSA9ICdQcmVtaXVtJyxcbiAgUHJlbWl1bUVsaXRlID0gJ1ByZW1pdW1FbGl0ZScsXG4gIEx1eHVyeSA9ICdMdXh1cnknLFxuICBMdXh1cnlFbGl0ZSA9ICdMdXh1cnlFbGl0ZScsXG4gIE92ZXJzaXplID0gJ092ZXJzaXplJyxcbiAgU3BlY2lhbCA9ICdTcGVjaWFsJ1xufVxuXG5leHBvcnQgdHlwZSBDYXJIaXJlQ3VzdG9tID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRleHQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURlcG90ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEZXBvdCc7XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBleHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGNpdHlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlRGVwb3RSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90UmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FySGlyZURldGFpbFJlcXVlc3RSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUlkZW50aWZpZXJzPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZHJlc3M+PjtcbiAgYWRkaXRpb25hbEluZm8/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbT4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVEaXNwbGF5UmVjb3JkID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVEaXNwbGF5UmVjb3JkJztcbiAgc3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBpY2t1cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZlbmRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlVmVuZG9yPj47XG4gIHZlaGljbGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGU+PjtcbiAgcHJpY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjaGFyZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVDaGFyZ2U+Pj4+O1xuICBwaWNrdXBMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICByZXR1cm5Mb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkcmVzcz4+O1xuICBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnO1xuICBsb2NhdG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJwaD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVoVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRyb3BPZmZMb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcm9wb2ZmRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmVuZG9yPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyA9IHtcbiAgbG9jYXRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcnBoPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0dXM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZlaFR5cGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcE9mZkxvY2F0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaWNrdXBEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZkRhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3I/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlTG9jYXRpb25JbnB1dCA9IHtcbiAgcGlja3VwQ291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cFBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BvZmZDb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZHJvcG9mZlBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhckhpcmVSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHk+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIENhckhpcmVUcmFuc21pc3Npb24ge1xuICBNYW51YWwgPSAnTWFudWFsJyxcbiAgQXV0byA9ICdBdXRvJ1xufVxuXG5leHBvcnQgZW51bSBDYXJIaXJlVHlwZSB7XG4gIFR3b1RvVGhyZWVEb29yID0gJ1R3b1RvVGhyZWVEb29yJyxcbiAgVHdvT3JGb3VyRG9vciA9ICdUd29PckZvdXJEb29yJyxcbiAgRm91clRvRml2ZURvb3IgPSAnRm91clRvRml2ZURvb3InLFxuICBXYWdvbk9yRXN0YXRlID0gJ1dhZ29uT3JFc3RhdGUnLFxuICBQYXNzZW5nZXJWYW4gPSAnUGFzc2VuZ2VyVmFuJyxcbiAgTGltb3VzaW5lID0gJ0xpbW91c2luZScsXG4gIFNwb3J0ID0gJ1Nwb3J0JyxcbiAgQ29udmVydGlibGUgPSAnQ29udmVydGlibGUnLFxuICBTdXYgPSAnU1VWJyxcbiAgT3BlbkFpckFsbFRlcnJhaW4gPSAnT3BlbkFpckFsbFRlcnJhaW4nLFxuICBTcGVjaWFsID0gJ1NwZWNpYWwnLFxuICBQaWNrVXBSZWd1bGFyQ2FiID0gJ1BpY2tVcFJlZ3VsYXJDYWInLFxuICBQaWNrVXBFeHRlbmRlZENhYiA9ICdQaWNrVXBFeHRlbmRlZENhYicsXG4gIFNwZWNpYWxPZmZlckNhciA9ICdTcGVjaWFsT2ZmZXJDYXInLFxuICBDb3VwZSA9ICdDb3VwZScsXG4gIE1vbm9zcGFjZUV1cm9wZWFuVXNlID0gJ01vbm9zcGFjZUV1cm9wZWFuVXNlJyxcbiAgTW90b3JIb21lID0gJ01vdG9ySG9tZScsXG4gIFR3b1doZWVsVmVoaWNsZSA9ICdUd29XaGVlbFZlaGljbGUnLFxuICBSb2Fkc3RlciA9ICdSb2Fkc3Rlcidcbn1cblxuZXhwb3J0IHR5cGUgQ2FySGlyZVZlaGljbGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlaGljbGUnO1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zbWlzc2lvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhaXJjb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGltYWdlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDYXJIaXJlVmVoaWNsZUF2YWlsaWJpbGl0eSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVJZGVudGlmaWVycz4+O1xuICBkaXNwbGF5UmVjb3JkPzogTWF5YmU8RmllbGRXcmFwcGVyPENhckhpcmVEaXNwbGF5UmVjb3JkPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENhckhpcmVWZW5kb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FySGlyZVZlbmRvcic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQWxsb3dhbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0NhcmJvbkFsbG93YW5jZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHN0YXJ0T2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kT2ZQZXJpb2Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcmVtYWluaW5nQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRvdGFsQ28yOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNhcmJvblBvbGljeVNvdXJjZTogRmllbGRXcmFwcGVyPENhcmJvblBvbGljeVNvdXJjZT47XG4gIHBlcmlvZENvbnN1bXB0aW9uOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2FyYm9uQ29uc3VtcHRpb24+PjtcbiAgY29tcGFueT86IE1heWJlPEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIG9mZmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxPZmZpY2U+PjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQ2FyYm9uQ29uc3VtcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FyYm9uQ29uc3VtcHRpb24nO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBjb25zdW1lZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkYXRldGltZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IGVudW0gQ2FyYm9uUG9saWN5U291cmNlIHtcbiAgQ29tcGFueSA9ICdDT01QQU5ZJyxcbiAgT2ZmaWNlID0gJ09GRklDRScsXG4gIFVzZXIgPSAnVVNFUidcbn1cblxuZXhwb3J0IHR5cGUgQ2l0eSA9IHtcbiAgX190eXBlbmFtZT86ICdDaXR5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvb3JkaW5hdGVzOiBGaWVsZFdyYXBwZXI8R2VvQ29vcmRpbmF0ZXM+O1xuICBjb250aW5lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcGFueSA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgb2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgcGhvbmVOdW1iZXJzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGhvbmVOdW1iZXI+PjtcbiAgdXNlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHN1cHBvcnRFbWFpbDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY28yQ29uc3VtcHRpb25Qb2xpY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm9maWxlQ29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFByb2ZpbGVDb25maWc+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXBhbnlHcm91cCA9IHtcbiAgX190eXBlbmFtZT86ICdDb21wYW55R3JvdXAnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUJsb2NrZWRIb3RlbHNSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0JztcbiAgcmVzdWx0czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYUNpdHlMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbic7XG4gIGZvdW5kRXhhY3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFDaXR5TG9jYXRpb25PcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hQ2l0eUxvY2F0aW9uT3B0aW9ucyc7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUFkZHJlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VBZGRyZXNzJztcbiAgYWRkcmVzc05hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUxPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3NMaW5lMj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdGFsQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnlOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlbGVwaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYWNzaW1pbGVOdW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0YXRlUHJvdmluY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbW9iaWxlTnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZUhvdGVscyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZUhvdGVscyc7XG4gIGhvdGVsSWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzUHJlZmVycmVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSW5mbyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VBZGRyZXNzPj47XG4gIGNsb3Nlc3RBaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3Nlc3RUcmFpblN0YXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3Nlc3RIb3RlbHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VIb3RlbHM+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VOYW1lcyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZU5hbWVzJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBDb25mZXJtYU9mZmljZU5hbWVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXNSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlTmFtZXM+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmVybWFPZmZpY2VSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPENvbmZlcm1hT2ZmaWNlSW5mbz4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeSA9IHtcbiAgX190eXBlbmFtZT86ICdDb3VudHJ5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlhbENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIEN1cnJlbmN5Q29kZSB7XG4gIEFlZCA9ICdBRUQnLFxuICBBZm4gPSAnQUZOJyxcbiAgQWxsID0gJ0FMTCcsXG4gIEFtZCA9ICdBTUQnLFxuICBBbmcgPSAnQU5HJyxcbiAgQW9hID0gJ0FPQScsXG4gIEFycyA9ICdBUlMnLFxuICBBdWQgPSAnQVVEJyxcbiAgQXdnID0gJ0FXRycsXG4gIEF6biA9ICdBWk4nLFxuICBCYW0gPSAnQkFNJyxcbiAgQmJkID0gJ0JCRCcsXG4gIEJkdCA9ICdCRFQnLFxuICBCZ24gPSAnQkdOJyxcbiAgQmhkID0gJ0JIRCcsXG4gIEJpZiA9ICdCSUYnLFxuICBCbWQgPSAnQk1EJyxcbiAgQm5kID0gJ0JORCcsXG4gIEJvYiA9ICdCT0InLFxuICBCb3YgPSAnQk9WJyxcbiAgQnJsID0gJ0JSTCcsXG4gIEJzZCA9ICdCU0QnLFxuICBCdG4gPSAnQlROJyxcbiAgQndwID0gJ0JXUCcsXG4gIEJ5biA9ICdCWU4nLFxuICBCemQgPSAnQlpEJyxcbiAgQ2FkID0gJ0NBRCcsXG4gIENkZiA9ICdDREYnLFxuICBDaGUgPSAnQ0hFJyxcbiAgQ2hmID0gJ0NIRicsXG4gIENodyA9ICdDSFcnLFxuICBDbGYgPSAnQ0xGJyxcbiAgQ2xwID0gJ0NMUCcsXG4gIENueSA9ICdDTlknLFxuICBDb3AgPSAnQ09QJyxcbiAgQ291ID0gJ0NPVScsXG4gIENyYyA9ICdDUkMnLFxuICBDdWMgPSAnQ1VDJyxcbiAgQ3VwID0gJ0NVUCcsXG4gIEN2ZSA9ICdDVkUnLFxuICBDemsgPSAnQ1pLJyxcbiAgRGpmID0gJ0RKRicsXG4gIERrayA9ICdES0snLFxuICBEb3AgPSAnRE9QJyxcbiAgRHpkID0gJ0RaRCcsXG4gIEVncCA9ICdFR1AnLFxuICBFcm4gPSAnRVJOJyxcbiAgRXRiID0gJ0VUQicsXG4gIEV1ciA9ICdFVVInLFxuICBGamQgPSAnRkpEJyxcbiAgRmtwID0gJ0ZLUCcsXG4gIEdicCA9ICdHQlAnLFxuICBHZWwgPSAnR0VMJyxcbiAgR2hzID0gJ0dIUycsXG4gIEdpcCA9ICdHSVAnLFxuICBHbWQgPSAnR01EJyxcbiAgR25mID0gJ0dORicsXG4gIEd0cSA9ICdHVFEnLFxuICBHeWQgPSAnR1lEJyxcbiAgSGtkID0gJ0hLRCcsXG4gIEhubCA9ICdITkwnLFxuICBIcmsgPSAnSFJLJyxcbiAgSHRnID0gJ0hURycsXG4gIEh1ZiA9ICdIVUYnLFxuICBJZHIgPSAnSURSJyxcbiAgSWxzID0gJ0lMUycsXG4gIEluciA9ICdJTlInLFxuICBJcWQgPSAnSVFEJyxcbiAgSXJyID0gJ0lSUicsXG4gIElzayA9ICdJU0snLFxuICBKbWQgPSAnSk1EJyxcbiAgSm9kID0gJ0pPRCcsXG4gIEpweSA9ICdKUFknLFxuICBLZXMgPSAnS0VTJyxcbiAgS2dzID0gJ0tHUycsXG4gIEtociA9ICdLSFInLFxuICBLbWYgPSAnS01GJyxcbiAgS3B3ID0gJ0tQVycsXG4gIEtydyA9ICdLUlcnLFxuICBLd2QgPSAnS1dEJyxcbiAgS3lkID0gJ0tZRCcsXG4gIEt6dCA9ICdLWlQnLFxuICBMYWsgPSAnTEFLJyxcbiAgTGJwID0gJ0xCUCcsXG4gIExrciA9ICdMS1InLFxuICBMcmQgPSAnTFJEJyxcbiAgTHNsID0gJ0xTTCcsXG4gIEx5ZCA9ICdMWUQnLFxuICBNYWQgPSAnTUFEJyxcbiAgTWRsID0gJ01ETCcsXG4gIE1nYSA9ICdNR0EnLFxuICBNa2QgPSAnTUtEJyxcbiAgTW1rID0gJ01NSycsXG4gIE1udCA9ICdNTlQnLFxuICBNb3AgPSAnTU9QJyxcbiAgTXJ1ID0gJ01SVScsXG4gIE11ciA9ICdNVVInLFxuICBNdnIgPSAnTVZSJyxcbiAgTXdrID0gJ01XSycsXG4gIE14biA9ICdNWE4nLFxuICBNeHYgPSAnTVhWJyxcbiAgTXlyID0gJ01ZUicsXG4gIE16biA9ICdNWk4nLFxuICBOYWQgPSAnTkFEJyxcbiAgTmduID0gJ05HTicsXG4gIE5pbyA9ICdOSU8nLFxuICBOb2sgPSAnTk9LJyxcbiAgTnByID0gJ05QUicsXG4gIE56ZCA9ICdOWkQnLFxuICBPbXIgPSAnT01SJyxcbiAgUGFiID0gJ1BBQicsXG4gIFBlbiA9ICdQRU4nLFxuICBQZ2sgPSAnUEdLJyxcbiAgUGhwID0gJ1BIUCcsXG4gIFBrciA9ICdQS1InLFxuICBQbG4gPSAnUExOJyxcbiAgUHlnID0gJ1BZRycsXG4gIFFhciA9ICdRQVInLFxuICBSb24gPSAnUk9OJyxcbiAgUnNkID0gJ1JTRCcsXG4gIFJ1YiA9ICdSVUInLFxuICBSd2YgPSAnUldGJyxcbiAgU2FyID0gJ1NBUicsXG4gIFNiZCA9ICdTQkQnLFxuICBTY3IgPSAnU0NSJyxcbiAgU2RnID0gJ1NERycsXG4gIFNlayA9ICdTRUsnLFxuICBTZ2QgPSAnU0dEJyxcbiAgU2hwID0gJ1NIUCcsXG4gIFNsbCA9ICdTTEwnLFxuICBTb3MgPSAnU09TJyxcbiAgU3JkID0gJ1NSRCcsXG4gIFNzcCA9ICdTU1AnLFxuICBTdG4gPSAnU1ROJyxcbiAgU3ZjID0gJ1NWQycsXG4gIFN5cCA9ICdTWVAnLFxuICBTemwgPSAnU1pMJyxcbiAgVGhiID0gJ1RIQicsXG4gIFRqcyA9ICdUSlMnLFxuICBUbXQgPSAnVE1UJyxcbiAgVG5kID0gJ1RORCcsXG4gIFRvcCA9ICdUT1AnLFxuICBUcnkgPSAnVFJZJyxcbiAgVHRkID0gJ1RURCcsXG4gIFR3ZCA9ICdUV0QnLFxuICBUenMgPSAnVFpTJyxcbiAgVWFoID0gJ1VBSCcsXG4gIFVneCA9ICdVR1gnLFxuICBVc2QgPSAnVVNEJyxcbiAgVXNuID0gJ1VTTicsXG4gIFV5aSA9ICdVWUknLFxuICBVeXUgPSAnVVlVJyxcbiAgVXpzID0gJ1VaUycsXG4gIFZlZiA9ICdWRUYnLFxuICBWbmQgPSAnVk5EJyxcbiAgVnV2ID0gJ1ZVVicsXG4gIFdzdCA9ICdXU1QnLFxuICBYYWYgPSAnWEFGJyxcbiAgWGFnID0gJ1hBRycsXG4gIFhhdSA9ICdYQVUnLFxuICBYYmEgPSAnWEJBJyxcbiAgWGJiID0gJ1hCQicsXG4gIFhiYyA9ICdYQkMnLFxuICBYYmQgPSAnWEJEJyxcbiAgWGNkID0gJ1hDRCcsXG4gIFhkciA9ICdYRFInLFxuICBYb2YgPSAnWE9GJyxcbiAgWHBkID0gJ1hQRCcsXG4gIFhwZiA9ICdYUEYnLFxuICBYcHQgPSAnWFBUJyxcbiAgWHN1ID0gJ1hTVScsXG4gIFh0cyA9ICdYVFMnLFxuICBYdWEgPSAnWFVBJyxcbiAgWHh4ID0gJ1hYWCcsXG4gIFllciA9ICdZRVInLFxuICBaYXIgPSAnWkFSJyxcbiAgWm13ID0gJ1pNVycsXG4gIFp3bCA9ICdaV0wnXG59XG5cblxuXG5leHBvcnQgdHlwZSBEZXBhcnR1cmVCb2FyZFNlcnZpY2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRGVwYXJ0dXJlQm9hcmRTZXJ2aWNlJztcbiAgcmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFpbmlkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNkZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcGFydHVyZVNvdXJjZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwbGF0Zm9ybUlzSGlkZGVuOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb3JpZ2luPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uPj47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uPj47XG4gIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U3Vic2VxdWVudExvY2F0aW9ucz4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBEZXN0aW5hdGlvbkVudHJ5ID0ge1xuICBvcmlnOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzdDogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbn07XG5cbmV4cG9ydCBlbnVtIERpc3RhbmNlVHlwZXMge1xuICBLID0gJ0snLFxuICBNID0gJ00nXG59XG5cbmV4cG9ydCBlbnVtIERvY0dlbmRlciB7XG4gIE0gPSAnTScsXG4gIEYgPSAnRidcbn1cblxuZXhwb3J0IGVudW0gRG9jVHlwZSB7XG4gIFBhc3Nwb3J0ID0gJ1BBU1NQT1JUJyxcbiAgVmlzYSA9ICdWSVNBJyxcbiAgSWRDYXJkID0gJ0lEX0NBUkQnXG59XG5cbmV4cG9ydCB0eXBlIERvY3VtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0RvY3VtZW50JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBkb2NUeXBlOiBGaWVsZFdyYXBwZXI8RG9jVHlwZT47XG4gIG5hdGlvbmFsaXR5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdlbmRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxEb2NHZW5kZXI+PjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvZGVPZklzc3VpbmdTdGF0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlT2ZJc3N1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZFeHBpcnk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgcHJpbWFyeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRG9jdW1lbnRJbnB1dCA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZG9jVHlwZTogRG9jVHlwZTtcbiAgbmF0aW9uYWxpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdlbmRlcj86IE1heWJlPERvY0dlbmRlcj47XG4gIG51bWJlcjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGVPZklzc3VpbmdTdGF0ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZU9mSXNzdWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRhdGVPZkV4cGlyeTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgcHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBEb2N1bWVudFNob3J0SW5wdXQgPSB7XG4gIGRvY3VtZW50SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnRHluYW1pY0NvbmRpdGlvbic7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZlRmxpZ2h0U2VhcmNoUmVzdWx0cyA9IHtcbiAgX190eXBlbmFtZT86ICdGRUZsaWdodFNlYXJjaFJlc3VsdHMnO1xuICBqb3VybmV5czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtdWx0aTogQXJyYXk8RmllbGRXcmFwcGVyPEl0aW5lcmFyeVN1bW1hcnk+PjtcbiAgZ3JvdXBlZD86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxHcm91cEZsaWdodHM+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBGYXJlQ29uZGl0aW9uRW50cnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JztcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPEZhcmVSdWxlVHlwZT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcmVtYXJrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoYW5nZUZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhbmNlbEZlZUluZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlZnVuZGFibGVJbmQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnO1xuICBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG59O1xuXG5leHBvcnQgZW51bSBGYXJlUnVsZVR5cGUge1xuICBDYW5jZWxsYXRpb24gPSAnQ2FuY2VsbGF0aW9uJyxcbiAgQ2hhbmdlID0gJ0NoYW5nZScsXG4gIE5vU2hvdyA9ICdOb1Nob3cnLFxuICBVcGdyYWRlID0gJ1VwZ3JhZGUnLFxuICBPdGhlciA9ICdPdGhlcidcbn1cblxuZXhwb3J0IGVudW0gRmFyZVR5cGUge1xuICBGbGV4aWJsZSA9ICdGbGV4aWJsZScsXG4gIExvd2VzdCA9ICdMb3dlc3QnLFxuICBOZWdvdGlhdGVkID0gJ05lZ290aWF0ZWQnLFxuICBOb25OZWdvdGlhdGVkID0gJ05vbk5lZ290aWF0ZWQnLFxuICBMZWlzdXJlID0gJ0xlaXN1cmUnLFxuICBSZXF1ZXN0RmFyZVJ1bGVzID0gJ1JlcXVlc3RGYXJlUnVsZXMnLFxuICBTZWxlY3RBbmRQcm8gPSAnU2VsZWN0QW5kUHJvJ1xufVxuXG5leHBvcnQgdHlwZSBGYXN0VHJhY2tRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tRdW90ZSc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWZ1bmRhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgaW1hZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbXBvcnRhbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhc3RUcmFja1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmFzdFRyYWNrUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEFtb3VudCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnO1xuICBkZXNjcmlwdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYW1vdW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRmxpZ2h0Q2FiaW5DbGFzcyB7XG4gIEFueSA9ICdBbnknLFxuICBMaXRlRWNvbm9teSA9ICdMaXRlRWNvbm9teScsXG4gIEVjb25vbXkgPSAnRWNvbm9teScsXG4gIEVjb25vbXlSZXN0cmljdGVkID0gJ0Vjb25vbXlSZXN0cmljdGVkJyxcbiAgRWNvbm9teU5vQmFncyA9ICdFY29ub215Tm9CYWdzJyxcbiAgRWNvbm9teUZsZXhpID0gJ0Vjb25vbXlGbGV4aScsXG4gIFByZW1pdW1FY29ub215ID0gJ1ByZW1pdW1FY29ub215JyxcbiAgQnVzaW5lc3MgPSAnQnVzaW5lc3MnLFxuICBQcmVtaXVtQnVzaW5lc3MgPSAnUHJlbWl1bUJ1c2luZXNzJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBQcmVtaXVtRmlyc3QgPSAnUHJlbWl1bUZpcnN0J1xufVxuXG5leHBvcnQgdHlwZSBGbGlnaHRDYXJib25FbWlzc2lvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJztcbiAgYW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdW5pdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodENhcnJpZXJEZXRhaWwgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxpYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FsbHNpZ24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaWF0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpY2FvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvZ28/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYmFubmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBvcHVsYXJpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3BvbnNlJztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZhcmVDb25kaXRpb25FbnRyeT4+Pj47XG4gIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbkVudHJ5Pj4+PjtcbiAgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9uRW50cnk+Pj4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVJ1bGVzUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0RmFyZVRvdGFsID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCc7XG4gIHByaWNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGRpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0SXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodEl0aW5lcmFyeSc7XG4gIHVpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgYmFzZUZhcmVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBwYXNzZW5nZXJDb3VudDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgZmFyZVBDQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRib3VuZEZsaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRKb3VybmV5Pj47XG4gIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodEpvdXJuZXk+Pj4+O1xuICBvdXRib3VuZFRvdGFsRHVyYXRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICBpbmJvdW5kVG90YWxEdXJhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPEZsaWdodENhcmJvbkVtaXNzaW9ucz4+O1xuICB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxGbGlnaHRBbW91bnQ+Pj4+O1xuICBkaXNjb3VudHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0QW1vdW50Pj4+PjtcbiAgdG90YWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlVG90YWw+O1xuICBmYXJlQ29uZGl0aW9ucz86IE1heWJlPEZpZWxkV3JhcHBlcjxGYXJlQ29uZGl0aW9ucz4+O1xuICBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEJhZ2dhZ2VBbGxvd2FuY2U+Pj4+O1xuICBkaXNjbG9zdXJlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGFkZGl0aW9uYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGpvdXJuZXlIYXNoOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0Sm91cm5leSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvPj47XG4gIG9yaWdpbkFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnROYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw6IEZpZWxkV3JhcHBlcjxBaXJwb3J0RGV0YWlsPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVzdGluYXRpb25BaXJwb3J0RGV0YWlsOiBGaWVsZFdyYXBwZXI8QWlycG9ydERldGFpbD47XG4gIGRhdGVUaW1lRGVwYXJ0aW5nOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkYXRlVGltZURlcGFydGluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGF0ZVRpbWVBcnJpdmluZ1VUQzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFya2V0aW5nQ2FycmllckRldGFpbDogRmllbGRXcmFwcGVyPEZsaWdodENhcnJpZXJEZXRhaWw+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJOYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw6IEZpZWxkV3JhcHBlcjxGbGlnaHRDYXJyaWVyRGV0YWlsPjtcbiAgb3BlcmF0aW5nRmxpZ2h0TnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnRDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlcXVpcG1lbnROYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b3RhbER1cmF0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjYWJpbkNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2FiaW5DbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYWJpblJhdz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtYXJrZXRpbmdOYW1lcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIGZhcmVDb25kaXRpb25zOiBGaWVsZFdyYXBwZXI8RmFyZUNvbmRpdGlvbnM+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0b3BzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdvdmVybmluZ0NhcnJpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWFycmlhZ2VHcm91cD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRpdGlvbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0TWVhbE9wdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRNZWFsT3B0aW9uUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2U+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodE1lYWxPcHRpb25zJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRleHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodE1lYWxPcHRpb25zUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0TWVhbE9wdGlvbnNSZXNwb25zZSc7XG4gIG9wdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxGbGlnaHRNZWFsT3B0aW9ucz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0ID0ge1xuICB0eXBlOiBGbGlnaHRQYXNzZW5nZXJUeXBlO1xuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1pZGRsZU5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG59O1xuXG5leHBvcnQgZW51bSBGbGlnaHRQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIEZsaWdodFJldmFsaWRhdGVSZXNwb25zZSA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRSZXZhbGlkYXRlUmVzcG9uc2UnO1xuICB2YWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGF2YWlsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcHJpY2VEaWZmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoUmVzdWx0Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG4gIHJ1bGVBY3Rpb25TdW1tYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhcmNoUmVzdWx0VjIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInO1xuICByZXN1bHRzOiBGaWVsZFdyYXBwZXI8RmVGbGlnaHRTZWFyY2hSZXN1bHRzPjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+PjtcbiAgcnVsZUFjdGlvblN1bW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwQWlyY3JhZnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JztcbiAgY2FycmllcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBGbGlnaHRTZWF0TWFwUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcFJlc3BvbnNlJztcbiAgYWlyY3JhZnQ6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwQWlyY3JhZnQ+O1xuICBzZWF0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBTZWF0cz4+O1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JztcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodFNlYXRNYXBSZXNwb25zZT4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcyc7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxpZ2h0U2VhdE1hcFNlYXRzID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cyc7XG4gIHJvdzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29sdW1uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhdHRyaWJ1dGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhdE1hcFNlYXRBdHRyaWJ1dGVzPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEZsaWdodFNwZWNpYWxGYXJlSW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nO1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllckNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEdlb0Nvb3JkaW5hdGVzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJztcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhbHRpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBHcm91cEZsaWdodHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnR3JvdXBGbGlnaHRzJztcbiAgcmVmZXJlbmNlSUQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGZsaWdodElEOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBib3VuZEluZGljYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbWluUHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgbWF4UHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgZmxpZ2h0czogRmllbGRXcmFwcGVyPE1hdGNoaW5nRmxpZ2h0cz47XG59O1xuXG5leHBvcnQgdHlwZSBHdWVzdCA9IHtcbiAgX190eXBlbmFtZT86ICdHdWVzdCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHRpdGxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb3JlbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdlbmRlcjogRmllbGRXcmFwcGVyPERvY0dlbmRlcj47XG4gIG5hdGlvbmFsaXR5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcyc7XG4gIGFkZHJlc3NMaW5lMT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhZGRyZXNzTGluZTI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRkcmVzc0xpbmUzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0ZWxlcGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjc2ltaWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbEF2YWlsYWJpbGl0eSA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eSc7XG4gIGhvdGVsSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByb29tcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbFJvb20+Pj4+O1xuICBwcnBuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzQnVzeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZXJzaW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHlSZXN1bHQnO1xuICByZXN1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5Pj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENhcmQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbENvbnZlcnNpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJztcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBsb2NhbENvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvY2FsVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY29udmVydGVkQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29udmVydGVkVG90YWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsRGVwb3NpdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbERlcG9zaXQnO1xuICBhbW91bnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgcG9saWN5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsSXRpbmVyYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsSXRpbmVyYXJ5JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGltYWdlVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb246IEZpZWxkV3JhcHBlcjxIb3RlbExvY2F0aW9uPjtcbiAgYWRkcmVzczogRmllbGRXcmFwcGVyPEhvdGVsQWRkcmVzcz47XG4gIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUcmFuc3BvcnQ+Pj4+O1xuICBwcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxIb3RlbFByZWZlcnJlZD47XG4gIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxUYWc+Pj4+O1xuICBhdmFpbGFibGVSYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxIb3RlbEF2YWlsYWJpbGl0eT4+O1xuICBzdGFycz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHZlcnNpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nO1xuICBkaXN0YW5jZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBkaXN0YW5jZVR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxNdWx0aUF2YWlsYWJpbGl0eVJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxBdmFpbGFiaWxpdHk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxOaWdodCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbE5pZ2h0JztcbiAgbmlnaHQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIHJhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgaW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUGF5bWVudFR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZSc7XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUG9saWN5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JztcbiAgY2FuY2VsbGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlcG9zaXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGdlbmVyYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZ3VhcmFudGVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEhvdGVsUHJlZmVycmVkID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUHJlZmVycmVkJztcbiAgY2xpZW50OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29uc3VtZXI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxSb29tID0ge1xuICBfX3R5cGVuYW1lPzogJ0hvdGVsUm9vbSc7XG4gIHJvb21JZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9vbVR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm9vbURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJhdGVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmF0ZURlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvdGFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGN1cnJlbmN5Q29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsQ29udmVyc2lvbj4+O1xuICBkZXBvc2l0PzogTWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsRGVwb3NpdD4+O1xuICBuaWdodHM6IEFycmF5PEZpZWxkV3JhcHBlcjxIb3RlbE5pZ2h0Pj47XG4gIHBvbGljaWVzOiBGaWVsZFdyYXBwZXI8SG90ZWxQb2xpY3k+O1xuICB0YXg6IEZpZWxkV3JhcHBlcjxIb3RlbFRheD47XG4gIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxDYXJkPj4+PjtcbiAgcGF5bWVudFR5cGVzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEhvdGVsUGF5bWVudFR5cGU+Pj4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8SG90ZWxJdGluZXJhcnk+Pj4+O1xuICBlcnJvcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2hFcnJvcj4+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUYWcgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnO1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGljb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBIb3RlbFRheCA9IHtcbiAgX190eXBlbmFtZT86ICdIb3RlbFRheCc7XG4gIGluY2x1ZGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgSG90ZWxUcmFuc3BvcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSG90ZWxUcmFuc3BvcnQnO1xuICB0eXBlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGRpc3RhbmNlVHlwZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsQ2xhc3Mge1xuICBBbGwgPSAnQWxsJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCdcbn1cblxuZXhwb3J0IHR5cGUgSXJsRHluYW1pY0NvbmRpdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxEeW5hbWljQ29uZGl0aW9uJztcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsSWRlbnRpZmllcnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSWRlbnRpZmllcnMnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2lnbmF0dXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVJZGVudGlmaWVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbGxvd2VkV2l0aDogQXJyYXk8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybEpvdXJuZXlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMSm91cm5leU9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybElkZW50aWZpZXJzPj47XG4gIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsVHJhdmVsbGVyPj4+O1xuICBmcm9tPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZyb21Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRvQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnREYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgY2hhbmdlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsUHJvdmlkZXI+Pj47XG4gIHVuc2VsbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFRpY2tldEV4dHJhPj4+O1xuICBwbHVzQnVzPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFBsdXNCdXM+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybEpvdXJuZXlPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb25zJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbj4+PjtcbiAgcmV0dXJuPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybEpvdXJuZXlPcHRpb24+Pj47XG4gIGpyZnJlZmVyZW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsSm91cm5leVR5cGUge1xuICBSZXR1cm5Kb3VybmV5ID0gJ1JldHVybkpvdXJuZXknLFxuICBTaW5nbGVKb3VybmV5ID0gJ1NpbmdsZUpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIElybE9mZmxpbmVOb3RpZnlSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMT2ZmbGluZU5vdGlmeVJlc3VsdCc7XG4gIHN1Y2Nlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsT2ZmbGluZVBhc3NlbmdlciA9IHtcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNjb3VudENhcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxveWFsdHlDYXJkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsUGx1c0J1cyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFByb3ZpZGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFByb3ZpZGVyJztcbiAgcHJvdmlkZXJJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNoZWFwZXN0VGlja2V0PzogTWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldE9wdGlvbj4+Pj47XG4gIGJvb2tlZFRpY2tldD86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUaWNrZXRPcHRpb24+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFNlYXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMU2VhdCc7XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvYWNoPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcG9zaXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVjaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0VHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWF0U2VsZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhY2lsaXRpZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBub3RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZSc7XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFZhbHVlcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxTZWdtZW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBhcnJpdmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICByZXNlcnZhYmxlU3RhdHVzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8SXJsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPElybFNlYXQ+Pj47XG59O1xuXG5leHBvcnQgZW51bSBJcmxTdXBwbGllciB7XG4gIFJlbmZlID0gJ1JlbmZlJyxcbiAgQmVOZSA9ICdCZU5lJyxcbiAgTnR2ID0gJ050didcbn1cblxuZXhwb3J0IHR5cGUgSXJsU3VwcGxpZXJTdGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFN1cHBsaWVyU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGF0aW9uQ29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmxjQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICB0cmFpbmxpbmVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYWlubGluZVVuaXF1ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8RmllbGRXcmFwcGVyPExvY2F0aW9uRGV0YWlsPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRleHRWYWx1ZVBhaXInO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0ID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxJcmxTZWdtZW50Pj4+O1xuICBudW1DaGlsZHJlbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBudW1BZHVsdHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIElybFRpY2tldEV4dHJhID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGxvY2F0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZSddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGFkdWx0QW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY2hpbGRBbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVGlja2V0RXh0cmFJZGVudGlmaWVycyA9IHtcbiAgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8SXJsSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZhcmVSdWxlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPElybFRpY2tldD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBJcmxUcmF2ZWxDYXJkID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV0Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWNvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdXBwbGllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSXJsVHJhdmVsbGVyID0ge1xuICBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcic7XG4gIHN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxJcmxUcmF2ZWxsZXJTdGF0dXM+PjtcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZG9iPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICByYWlsY2FyZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnaXZlbk5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3VybmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBuYW1lVGl0bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29udGFjdEluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVsaXZlcnlFbWFpbEFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gSXJsVHJhdmVsbGVyU3RhdHVzIHtcbiAgUGxhY2Vob2xkZXIgPSAncGxhY2Vob2xkZXInLFxuICBDb21wbGV0ZSA9ICdjb21wbGV0ZSdcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXRDYXJIaXJlRGVwb3QgPSB7XG4gIHZlbmRvckNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBpY2t1cExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGlja3VwRXh0ZW5kZWRMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZMb2NhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRyb3BPZmZFeHRlbmRlZExvY2F0aW9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIElucHV0RmxpZ2h0Sm91cm5leSA9IHtcbiAgaWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmYXJlSW5mbz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIG9yaWdpbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcmlnaW5UZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3JpZ2luQWlycG9ydE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yaWdpbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXN0aW5hdGlvblRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBkYXRlVGltZURlcGFydGluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lRGVwYXJ0aW5nVVRDOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGF0ZVRpbWVBcnJpdmluZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRhdGVUaW1lQXJyaXZpbmdVVEM6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtYXJrZXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbWFya2V0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBtYXJrZXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcGVyYXRpbmdDYXJyaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3BlcmF0aW5nQ2Fycmllck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWw/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBvcGVyYXRpbmdGbGlnaHROdW1iZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlcXVpcG1lbnRDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXF1aXBtZW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRvdGFsRHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICBzZWF0c0F2YWlsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY2FiaW5Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpbkNsYXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjYWJpblJhdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWFya2V0aW5nTmFtZXM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgZmFyZUNvbmRpdGlvbnM6IFNjYWxhcnNbJ0pTT04nXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RvcHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJvb2tpbmdDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBnb3Zlcm5pbmdDYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtYXJyaWFnZUdyb3VwPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFyZUJhc2lzQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBJdGluZXJhcnlTdW1tYXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknO1xuICBvcmRlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgb3JpZ2luOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVzdWx0czogQXJyYXk8RmllbGRXcmFwcGVyPEZsaWdodEl0aW5lcmFyeT4+O1xuICBtaW5QcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBtYXhQcmljZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBMYW5ndWFnZSA9IHtcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzb0NvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgZW51bSBMZWFkUGFzc2VuZ2VyVHlwZSB7XG4gIFVzZXIgPSAnVVNFUicsXG4gIEd1ZXN0ID0gJ0dVRVNUJ1xufVxuXG5leHBvcnQgdHlwZSBMaXZlRGVwQm9hcmRSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JztcbiAgc2VydmljZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RGVwYXJ0dXJlQm9hcmRTZXJ2aWNlPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJztcbiAgbG9jYXRpb25OYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRpcGxvYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlsID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJztcbiAgY29udGluZW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2l0eT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb29yZGluYXRlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxHZW9Db29yZGluYXRlcz4+O1xuICBwb3N0Y29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb2FkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyaWRSZWZlcmVuY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm9ydGhpbmc/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZWFzdGluZz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gTG9nTGV2ZWxUeXBlIHtcbiAgRXJyb3IgPSAnRVJST1InLFxuICBXYXJuID0gJ1dBUk4nLFxuICBJbmZvID0gJ0lORk8nLFxuICBIdHRwID0gJ0hUVFAnLFxuICBWZXJib3NlID0gJ1ZFUkJPU0UnLFxuICBEZWJ1ZyA9ICdERUJVRycsXG4gIFNpbGx5ID0gJ1NJTExZJ1xufVxuXG5leHBvcnQgdHlwZSBMb3VuZ2VMb2NhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VMb2NhdGlvbic7XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFpcnBvcnQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGFkZHJlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2dvPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1vYmlsZUltYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZ1cnRoZXJJbWFnZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBhZHVsdEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBjaGlsZEFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+O1xuICBpbmZhbnRBZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGFuZHNpZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhaXJzaWRlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG9wZW5UaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNsb3NlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aWZpPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICB0dj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc25hY2tzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBwaG9uZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW50ZXJuZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGNoaWxkcmVuQWxsb3dlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZGlzYWJsZWRBY2Nlc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGRyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZURyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZnJlZUZvb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNtb2tpbmdQZXJtaXR0ZWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1hZ2F6aW5lcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgaW5jbHVkZWREcmlua3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBtZW51Rm9vZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtZW51RHJpbmtzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1lbnVFeHRyYXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgd2hhdHNJbmNsdWRlZERyaW5rcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB3aGF0c0luY2x1ZGVkRXh0cmFzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHdoYXRzSW5jbHVkZWRGb29kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGdyb3VwSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjaGVja0luSW5mbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkcmVzc0NvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllc0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZm9vZEFuZEJldmVyYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbmNlbGxhdGlvbkluZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYW1lbmRtZW50c0luZm8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvdW5nZVF1b3RlJztcbiAgc291cmNlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzb3VyY2VJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBsb3VuZ2U6IEZpZWxkV3JhcHBlcjxMb3VuZ2VMb2NhdGlvbj47XG4gIHRtY1ByZWZlcnJlZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNvbXBhbnlQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvZmZpY2VQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0bWNQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG9mZmljZVByZWZlcnJlZE1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdW5hdmFpbGFibGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1bmF2YWlsYWJsZU1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVxdWlyZXNSZWFzb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICByZXF1aXJlc1JlYXNvbk1lc3NhZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY28yUGVyUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlckl0ZW06IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIExvdW5nZVNlYXJjaFJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdMb3VuZ2VTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8TG91bmdlUXVvdGU+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0ge1xuICBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgZGJJZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaGFuZG9mZjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWVNYXNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2U6IEZpZWxkV3JhcHBlcjxTZXJ2aWNlPjtcbiAgdWlQcmVzZW50YXRpb246IEZpZWxkV3JhcHBlcjxVaVByZXNlbnRhdGlvbj47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlYXNvbjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBlckJvb2tpbmc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBlbmZvcmNlVXNlckRlZmF1bHQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlZEJ5RmllbGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8Qm9va2VkQnlGaWVsZD4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGZpeGVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZ3JvdXA/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBzZWxlY3RlZFZhbHVlczogQXJyYXk8RmllbGRXcmFwcGVyPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZT4+O1xufTtcblxuZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbGFiZWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZml4ZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTWF0Y2hpbmdGbGlnaHRzID0ge1xuICBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cyc7XG4gIExpdGVFY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teVJlc3RyaWN0ZWQ/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBFY29ub215Tm9CYWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teUZsZXhpPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgRWNvbm9teT86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1FY29ub215PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj4+PjtcbiAgQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBQcmVtaXVtQnVzaW5lc3M/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+Pj4+O1xuICBGaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG4gIFByZW1pdW1GaXJzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBNZXNzYWdlID0ge1xuICBfX3R5cGVuYW1lPzogJ01lc3NhZ2UnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb25maWc6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+O1xuICB0YXJnZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGtleTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGlzcGxheVRhcmdldDogRmllbGRXcmFwcGVyPE1lc3NhZ2VUYXJnZXQ+O1xuICBhZ2VudE9ubHk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjbGlja1RvQ29uZmlybTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHZhbGlkRnJvbT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPj47XG4gIHZhbGlkVG8/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT4+O1xuICBjb2xsYXBzZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+Pjtcbn07XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VUYXJnZXQge1xuICBMb2dpbiA9ICdMT0dJTicsXG4gIFNlYXJjaEZvcm0gPSAnU0VBUkNIX0ZPUk0nLFxuICBSZXN1bHRzID0gJ1JFU1VMVFMnLFxuICBNaUZvcm0gPSAnTUlfRk9STScsXG4gIEJhc2tldEJlZm9yZUNvbmZpcm0gPSAnQkFTS0VUX0JFRk9SRV9DT05GSVJNJyxcbiAgRGFzaGJvYXJkID0gJ0RBU0hCT0FSRCdcbn1cblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICBzYXZlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxBZGRyZXNzPjtcbiAgZGVsZXRlVXNlckFkZHJlc3M6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRBZGRyZXNzQXNVc2VyUHJpbWFyeTogRmllbGRXcmFwcGVyPEFkZHJlc3M+O1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjcmVhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBkZWxldGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1cGRhdGVCYXNrZXRUaXRsZTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHVwZGF0ZUJhc2tldE5vdGVzOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYWRkSXRlbVRvQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlSXRlbUZyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZW1vdmVJdGVtc0Zyb21CYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFkZFVzZXJzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgcmVtb3ZlR3Vlc3RGcm9tQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJlb3BlbkJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgYm9va0Jhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGNhbmNlbEJvb2tpbmc6IEZpZWxkV3JhcHBlcjxBZnRlckNhbmNlbGxhdGlvbkluZm8+O1xuICBjcmVhdGVHdWVzdDogRmllbGRXcmFwcGVyPEd1ZXN0PjtcbiAgYWRkR3Vlc3RzVG9CYXNrZXRJdGVtOiBGaWVsZFdyYXBwZXI8R3Vlc3Q+O1xuICBzZXRCYXNrZXRJdGVtTUlHcm91cDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHNldE1JRGVmYXVsdFZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc2V0QmFza2V0SXRlbU1JVmFsdWU6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICBjb25maXJtTWVzc2FnZXM6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIHJldmFsaWRhdGVCYXNrZXQ6IEZpZWxkV3JhcHBlcjxCYXNrZXQ+O1xuICByZXZhbGlkYXRlQmFza2V0SXRlbTogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGFjY2VwdE5ld1ByaWNlOiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaD4+O1xuICBzYXZlUmVjZW50U2VhcmNoOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGRlbGV0ZUZhdm91cml0ZVNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZVJlY2VudFNlYXJjaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGVkaXRVc2VyOiBGaWVsZFdyYXBwZXI8VXNlcj47XG4gIHNldFVzZXJMYW5ndWFnZTogRmllbGRXcmFwcGVyPFVzZXI+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVVc2VyQWRkcmVzc0FyZ3MgPSB7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlVXNlckFkZHJlc3NBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBZGRyZXNzQXNVc2VyUHJpbWFyeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNlbmRCYXNrZXRGb3JBcHByb3ZhbEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpbnZva2VkVXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUJhc2tldEFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXRUaXRsZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5ld1RpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVCYXNrZXROb3Rlc0FyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG5vdGVzOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRJdGVtVG9CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW52b2tlZFVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYmFza2V0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIGRldGFpbDogU2NhbGFyc1snSlNPTiddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJpY2U6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvZGU7XG4gIHNlYXJjaFF1ZXJ5OiBTY2FsYXJzWydKU09OJ107XG4gIHF1aWNrQWRkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4+O1xuICBndWVzdHM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4+O1xuICBsZWFkUGFzc2VuZ2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxlYWRQYXNzZW5nZXJUeXBlPzogTWF5YmU8TGVhZFBhc3NlbmdlclR5cGU+O1xuICBjbzJQZXJJdGVtPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBvdXRib3VuZERhdGU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGluYm91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHJlcXVpcmVzUmVhc29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVJdGVtRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUl0ZW1zRnJvbUJhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJZDogU2NhbGFyc1snSUQnXTtcbiAgYmFza2V0SXRlbXM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIG5ld0Jhc2tldDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRVc2Vyc1RvQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICB1c2VyczogQXJyYXk8VXNlclBhc3NlbmdlclR5cGVJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlVXNlckZyb21CYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXI6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlR3Vlc3RGcm9tQmFza2V0SXRlbUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBndWVzdDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW9wZW5CYXNrZXRBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHVzZXJPckd1ZXN0OiBTY2FsYXJzWydJRCddO1xuICBsZWFkUGFzc2VuZ2VyVHlwZTogTGVhZFBhc3NlbmdlclR5cGU7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQm9va0Jhc2tldEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3VwcGxlbWVudGFyeUluZm86IEFycmF5PFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ2FuY2VsQm9va2luZ0FyZ3MgPSB7XG4gIGJhc2tldEl0ZW06IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlR3Vlc3RBcmdzID0ge1xuICB0aXRsZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGZvcmVuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVtYWlsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZ2VuZGVyOiBEb2NHZW5kZXI7XG4gIG5hdGlvbmFsaXR5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRHdWVzdHNUb0Jhc2tldEl0ZW1BcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3Vlc3RzOiBBcnJheTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlHcm91cEFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xuICBncm91cD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRNaURlZmF1bHRWYWx1ZUFyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICB2YWx1ZTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRCYXNrZXRJdGVtTWlWYWx1ZUFyZ3MgPSB7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgbWlWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBtaUZyZWVWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBndWVzdD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNvbmZpcm1NZXNzYWdlc0FyZ3MgPSB7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZXZhbGlkYXRlQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJldmFsaWRhdGVCYXNrZXRJdGVtQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFjY2VwdE5ld1ByaWNlQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblNhdmVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2F2ZVJlY2VudFNlYXJjaEFyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYXZvdXJpdGVTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSZWNlbnRTZWFyY2hBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25FZGl0VXNlckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkb2I/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBzZWxlY3RlZExhbmd1YWdlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXJzPzogTWF5YmU8QXJyYXk8UGhvbmVOdW1iZXJJbnB1dD4+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxBZGRyZXNzSW5wdXQ+PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PFVzZXJNaURlZmF1bHRWYWx1ZXNJbnB1dD4+O1xuICBkb2N1bWVudHM/OiBNYXliZTxBcnJheTxEb2N1bWVudElucHV0Pj47XG4gIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PFVzZXJMb3lhbHR5Q29kZUlucHV0Pj47XG4gIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8VXNlclByZWZlcmVuY2VJbnB1dD4+O1xuICBhZGRpdGlvbmFsRW1haWw/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVc2VyTGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZT86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgT2ZmaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ09mZmljZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBhZGRyZXNzZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBZGRyZXNzPj47XG4gIHBob25lTnVtYmVyczogQXJyYXk8RmllbGRXcmFwcGVyPFBob25lTnVtYmVyPj47XG4gIGNvMkFsbG93YW5jZVBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjbzJBbGxvd2FuY2VQZXJQZXJpb2Q/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvZmlsZUNvbmZpZz86IE1heWJlPEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnPj47XG4gIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBzdXBwb3J0RW1haWw6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nTG9jYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGFya2luZ0xvY2F0aW9uJztcbiAgY29kZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGVybWluYWw/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZGRyZXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpc3RhbmNlVG9BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgb25BaXJwb3J0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjYXJQYXJrZWRGb3JZb3U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdGVsZXBob25lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGZheD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb25zPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxQcm9jZWR1cmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlUHJvY2VkdXJlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG1heGltdW1DYXJTaXplPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGludHJvZHVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmZvcm1hdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0cmFuc2ZlckluZm9ybWF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRyYW5zZmVyT3BlcmF0aW5nVGltZXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhbnNmZXJUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9nbz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWZhdWx0SW1hZ2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYnJhbmRJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtb2JpbGVJbWFnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmdXJ0aGVySW1hZ2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj4+PjtcbiAgbWlzYz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydKU09OJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhcmtpbmdRdW90ZSA9IHtcbiAgX190eXBlbmFtZT86ICdQYXJraW5nUXVvdGUnO1xuICBzb3VyY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZUlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+O1xuICBjYXJQYXJrOiBGaWVsZFdyYXBwZXI8UGFya2luZ0xvY2F0aW9uPjtcbiAgcmVxdWlyZWRJbmZvOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpY2U6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPjtcbiAgY3VycmVuY3k6IEZpZWxkV3JhcHBlcjxDdXJyZW5jeUNvZGU+O1xuICBtaXNjPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICB0bWNQcmVmZXJyZWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb21wYW55UHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb2ZmaWNlUHJlZmVycmVkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdG1jUHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb21wYW55UHJlZmVycmVkTWVzc2FnZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvZmZpY2VQcmVmZXJyZWRNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHVuYXZhaWxhYmxlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdW5hdmFpbGFibGVNZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlcXVpcmVzUmVhc29uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcmVxdWlyZXNSZWFzb25NZXNzYWdlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJraW5nU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1BhcmtpbmdTZWFyY2hSZXN1bHQnO1xuICByZXN1bHRzOiBBcnJheTxGaWVsZFdyYXBwZXI8UGFya2luZ1F1b3RlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgZW51bSBQYXNzZW5nZXJUeXBlIHtcbiAgQWR1bHQgPSAnQURVTFQnLFxuICBDaGlsZCA9ICdDSElMRCcsXG4gIEluZmFudCA9ICdJTkZBTlQnXG59XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRDb25maWcgPSB7XG4gIGNzcFVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWdlbnRJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYm9va2VySWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFwaUtleT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlcnZlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNsaWVudElkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY2NvdW50VHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWNjb3VudFZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlblVybD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29uc3VtZXJJZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5Vc2VybmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdG9rZW5QYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIGNvbmZpZz86IE1heWJlPFBheW1lbnRDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcmVhQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBudW1iZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8UGhvbmVUeXBlPj47XG4gIG9mZmljZVByaW1hcnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHVzZXJQcmltYXJ5PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcmVhQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZXh0ZW5zaW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8UGhvbmVUeXBlPjtcbiAgdXNlclByaW1hcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IGVudW0gUGhvbmVUeXBlIHtcbiAgTW9iaWxlID0gJ01PQklMRScsXG4gIExhbmRsaW5lID0gJ0xBTkRMSU5FJyxcbiAgRmF4ID0gJ0ZBWCcsXG4gIE90aGVyID0gJ09USEVSJ1xufVxuXG5leHBvcnQgdHlwZSBQb3N0Y29kZURldGFpbHMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUG9zdGNvZGVEZXRhaWxzJztcbiAgcG9zdGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgZWFzdGluZ3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbm9ydGhpbmdzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIGNvdW50cnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZXVyb3BlYW5FbGVjdG9yYWxSZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJpbWFyeUNhcmVUcnVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByZWdpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbHNvYT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBtc29hPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGluY29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvdXRjb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBhcmxpYW1lbnRhcnlDb25zdGl0dWVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5EaXN0cmljdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwYXJpc2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5Db3VudHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWRtaW5XYXJkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNlZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjY2c/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnV0cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJlZmVyZW5jZUtleSB7XG4gIE1lYWxSZXF1ZXN0ID0gJ01FQUxfUkVRVUVTVCcsXG4gIFNlYXRpbmdQcmVmZXJlbmNlID0gJ1NFQVRJTkdfUFJFRkVSRU5DRScsXG4gIFNwZWNpYWxOZWVkID0gJ1NQRUNJQUxfTkVFRCcsXG4gIFNlYXRMb2NhdGlvbiA9ICdTRUFUX0xPQ0FUSU9OJyxcbiAgU2VhdFBvc2l0aW9uID0gJ1NFQVRfUE9TSVRJT04nLFxuICBTZWF0RGlyZWN0aW9uID0gJ1NFQVRfRElSRUNUSU9OJ1xufVxuXG5leHBvcnQgdHlwZSBQcm9maWxlQ29uZmlnID0ge1xuICBfX3R5cGVuYW1lPzogJ1Byb2ZpbGVDb25maWcnO1xuICBwcm9maWxlOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGFkZHJlc3M6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgbWlEZWZhdWx0OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIGRvY3VtZW50czogRmllbGRXcmFwcGVyPFByb2ZpbGVDb25maWdPcHRpb24+O1xuICBsb3lhbHR5OiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHRyYXZlbFByZWZlcmVuY2VzOiBGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZ09wdGlvbj47XG4gIHBheW1lbnQ6IEZpZWxkV3JhcHBlcjxQcm9maWxlQ29uZmlnT3B0aW9uPjtcbiAgaW5oZXJpdGVkRnJvbUNvbXBhbnk/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gUHJvZmlsZUNvbmZpZ09wdGlvbiB7XG4gIEluaGVyaXRlZCA9ICdJTkhFUklURUQnLFxuICBFZGl0YWJsZSA9ICdFRElUQUJMRScsXG4gIFZpc2libGUgPSAnVklTSUJMRScsXG4gIEhpZGRlbiA9ICdISURERU4nXG59XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5ID0ge1xuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcbiAgZ2V0VXNlckFkZHJlc3NlczogQXJyYXk8RmllbGRXcmFwcGVyPEFkZHJlc3M+PjtcbiAgZ2V0QWxsQWlybGluZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxBaXJsaW5lUmVzdWx0Pj47XG4gIHNlYXJjaEFpcmxpbmVzOiBGaWVsZFdyYXBwZXI8QWlybGluZVJlc3VsdHM+O1xuICBzZWFyY2hBaXJwb3J0czogRmllbGRXcmFwcGVyPEFpcnBvcnRSZXN1bHRzPjtcbiAgZ2V0VXNlckJhc2tldDogRmllbGRXcmFwcGVyPEJhc2tldD47XG4gIGdldFVzZXJCYXNrZXRzOiBBcnJheTxGaWVsZFdyYXBwZXI8QmFza2V0Pj47XG4gIGVtYWlsQmFza2V0OiBGaWVsZFdyYXBwZXI8QmFza2V0PjtcbiAgZ2VuZXJhdGVCYXNrZXRQREY6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaENhYkhpcmU6IEZpZWxkV3JhcHBlcjxDYWJIaXJlUmVzdWx0PjtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3I6IEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj47XG4gIGdldENhbmNlbGxhdGlvbkluZm86IEZpZWxkV3JhcHBlcjxCZWZvcmVDYW5jZWxsYXRpb25JbmZvPjtcbiAgZ2V0Q2FySGlyZVByb3ZpZGVyczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaENhckhpcmU6IEZpZWxkV3JhcHBlcjxDYXJIaXJlUmVzdWx0PjtcbiAgZ2V0Q2FySGlyZURlcG90czogQXJyYXk8RmllbGRXcmFwcGVyPENhckhpcmVEZXBvdD4+O1xuICBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogRmllbGRXcmFwcGVyPENhckhpcmVEZXRhaWxSZXF1ZXN0UmVzcG9uc2U+O1xuICBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPEZpZWxkV3JhcHBlcjxDYXJib25BbGxvd2FuY2U+PjtcbiAgc2VhcmNoQ2l0aWVzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q2l0eT4+O1xuICBnZXRDb21wYW5pZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb21wYW55Pj47XG4gIGdldENvbXBhbnk6IEZpZWxkV3JhcHBlcjxDb21wYW55PjtcbiAgY29uZmVybWFCbG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NsaWVudEhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsczogRmllbGRXcmFwcGVyPENvbmZlcm1hQmxvY2tlZEhvdGVsc1Jlc3VsdD47XG4gIGNvbmZlcm1hVW5ibG9ja0NvbnN1bWVySG90ZWxzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFCbG9ja2VkSG90ZWxzUmVzdWx0PjtcbiAgc2VhcmNoQ29uZmVybWFDaXRpZXM6IEZpZWxkV3JhcHBlcjxDb25mZXJtYUNpdHlMb2NhdGlvbj47XG4gIGdldENvbmZlcm1hT2ZmaWNlOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VSZXN1bHQ+O1xuICBnZXRDb25mZXJtYU9mZmljZU5hbWVzOiBGaWVsZFdyYXBwZXI8Q29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdD47XG4gIGdldENvbmZlcm1hUXVpY2tsaXN0OiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRDb25mZXJtYVJvb21JbWFnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZXRDb3VudHJpZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxDb3VudHJ5Pj47XG4gIGdldENPVklETWljcm9zaXRlVG9rZW46IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNlYXJjaEZhc3RUcmFjazogRmllbGRXcmFwcGVyPEZhc3RUcmFja1Jlc3VsdD47XG4gIHNlYXJjaEZsaWdodHM6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHQ+O1xuICBzZWFyY2hGbGlnaHRzVjI6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWFyY2hSZXN1bHRWMj47XG4gIHNlYXJjaEV1cm9zdGFyOiBGaWVsZFdyYXBwZXI8RmxpZ2h0U2VhcmNoUmVzdWx0VjI+O1xuICBnZXRGbGlnaHRGYXJlUnVsZXM6IEZpZWxkV3JhcHBlcjxGbGlnaHRGYXJlUnVsZXNSZXN1bHQ+O1xuICBnZXRGbGlnaHRNZWFsT3B0aW9uczogRmllbGRXcmFwcGVyPEZsaWdodE1lYWxPcHRpb25SZXN1bHQ+O1xuICBnZXRVc2VyR3Vlc3RzOiBBcnJheTxGaWVsZFdyYXBwZXI8R3Vlc3Q+PjtcbiAgYWxpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRIb3RlbENoYWluczogQXJyYXk8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXJjaEhvdGVsQ2hhaW5zOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoSG90ZWxzOiBGaWVsZFdyYXBwZXI8SG90ZWxTZWFyY2hSZXN1bHQ+O1xuICBnZXRIb3RlbEF2YWlsYWJpbGl0eTogRmllbGRXcmFwcGVyPEhvdGVsQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHk6IEZpZWxkV3JhcHBlcjxIb3RlbE11bHRpQXZhaWxhYmlsaXR5UmVzdWx0PjtcbiAgZ2V0SVJMRGlzY291bnRDYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPElybFRyYXZlbENhcmQ+PjtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb246IEZpZWxkV3JhcHBlcjxJcmxPZmZsaW5lTm90aWZ5UmVzdWx0PjtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPElybFN1cHBsaWVyU3RhdGlvbj4+O1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zOiBBcnJheTxGaWVsZFdyYXBwZXI8SXJsU3VwcGxpZXJTdGF0aW9uPj47XG4gIGdldFJhaWxQcm92aWRlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWFyY2hJUkw6IEZpZWxkV3JhcHBlcjxJcmxTZWFyY2hSZXN1bHQ+O1xuICBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IEZpZWxkV3JhcHBlcjxMaXZlRGVwQm9hcmRSZXN1bHQ+O1xuICBzZWFyY2hMb3VuZ2VzOiBGaWVsZFdyYXBwZXI8TG91bmdlU2VhcmNoUmVzdWx0PjtcbiAgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj47XG4gIHZhbGlkYXRlVXNlck1JRnJlZVZhbHVlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdmFsaWRhdGVCYXNrZXRJdGVtTUk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBnZXRVc2VyTWVzc2FnZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxNZXNzYWdlPj47XG4gIGdldFVzZXJDb21wYW55T2ZmaWNlczogQXJyYXk8RmllbGRXcmFwcGVyPE9mZmljZT4+O1xuICBnZXRPZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBzZWFyY2hQYXJraW5nOiBGaWVsZFdyYXBwZXI8UGFya2luZ1NlYXJjaFJlc3VsdD47XG4gIGdldEJhc2tldEl0ZW1QYXltZW50U3VwcGxtZW50YXJ5SW5mb1NjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGdldFVzZXJQaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBnZXRQb3N0Y29kZURldGFpbHM6IEZpZWxkV3JhcHBlcjxQb3N0Y29kZURldGFpbHM+O1xuICBwb3N0Y29kZUF1dG9TdWdnZXN0OiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhcmNoUG9zdGNvZGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8UG9zdGNvZGVEZXRhaWxzPj47XG4gIGlzUG9zdGNvZGVWYWxpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGdldFJhaWxTdGF0aW9uOiBGaWVsZFdyYXBwZXI8UmFpbFN0YXRpb24+O1xuICBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbj4+O1xuICBzZWFyY2hSYWlsOiBGaWVsZFdyYXBwZXI8UmFpbFNlYXJjaFJlc3VsdD47XG4gIGdldFJhaWxjYXJkczogQXJyYXk8RmllbGRXcmFwcGVyPFJlZmVyZW5jZVJhaWxDYXJkUXVhbGlmaWVyPj47XG4gIGdldFJpc2tBbGVydHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSaXNrQWxlcnQ+PjtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlczogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIGFwcGx5SklUSG90ZWxSdWxlczogRmllbGRXcmFwcGVyPEFwcGx5Sml0UnVsZXNSZXN1bHQ+O1xuICBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PEZpZWxkV3JhcHBlcjxTZWFyY2g+PjtcbiAgZ2V0VXNlckZhdm91cml0ZVNlYXJjaGVzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoPj47XG4gIGdldEZsaWdodFNlYXRNYXA6IEZpZWxkV3JhcHBlcjxGbGlnaHRTZWF0TWFwUmVzdWx0PjtcbiAgZ2V0VXNlclNlcnZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VydmljZT4+O1xuICBnZXRURlhTdXBwbGllclJvdXRlczogRmllbGRXcmFwcGVyPFRmeFN1cHBsaWVyUm91dGVzUmVzdWx0PjtcbiAgZ2V0VXNlclVJQ29uZmlnczogRmllbGRXcmFwcGVyPFVpQ29uZmlnQ29sbGVjdGlvbj47XG4gIGdldFVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJsaW5lc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBaXJwb3J0c0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc0xvdW5nZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc1Bhcmtpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBoYXNGYXN0VHJhY2s/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBleGNsdWRlTm9uUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQmFza2V0QXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJCYXNrZXRzQXJncyA9IHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgdHJhdmVsbGVyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGJhc2tldFN0YXR1cz86IE1heWJlPEJhc2tldFN0YXR1cz47XG4gIGNyZWF0ZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjcmVhdGVkQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJvb2tlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBkYXRlT2ZUcmF2ZWxCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYmFza2V0SXRlbUJvb2tpbmdSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0VGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RW1haWxCYXNrZXRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZW5lcmF0ZUJhc2tldFBkZkFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhYkhpcmVBcmdzID0ge1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFVzZXJDYW5Cb29rRm9yQXJncyA9IHtcbiAgZW1haWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXJOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbXBsb3llZUlkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENhbmNlbGxhdGlvbkluZm9BcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENhckhpcmVBcmdzID0ge1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRDYXJIaXJlRGVwb3RzQXJncyA9IHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2ZW5kb3JDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0QXJncyA9IHtcbiAgbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycztcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZUFyZ3MgPSB7XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hDaXRpZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbmllc0FyZ3MgPSB7XG4gIHF1ZXJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldENvbXBhbnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYUJsb2NrQ2xpZW50SG90ZWxzQXJncyA9IHtcbiAgaG90ZWxJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBJZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb25mZXJtYVVuYmxvY2tDbGllbnRIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvbmZlcm1hQmxvY2tDb25zdW1lckhvdGVsc0FyZ3MgPSB7XG4gIGhvdGVsSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwSWRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Q29uZmVybWFVbmJsb2NrQ29uc3VtZXJIb3RlbHNBcmdzID0ge1xuICBob3RlbElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cElkczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaENvbmZlcm1hQ2l0aWVzQXJncyA9IHtcbiAgY2l0eU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFPZmZpY2VBcmdzID0ge1xuICBvZmZpY2VJZDogU2NhbGFyc1snSW50J107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFRdWlja2xpc3RBcmdzID0ge1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Q29uZmVybWFSb29tSW1hZ2VzQXJncyA9IHtcbiAgaG90ZWxJZDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmFzdFRyYWNrQXJncyA9IHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hGbGlnaHRzQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRmxpZ2h0c1YyQXJncyA9IHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PjtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+PjtcbiAgb3V0Ym91bmREYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZEFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvdXRib3VuZENhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZ3JvdXBNYXg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoRXVyb3N0YXJBcmdzID0ge1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+Pj47XG4gIHJldHVyblRyaXA6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcmV0dXJuRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkFycml2YWxUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5DYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRGYXJlUnVsZXNBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRGbGlnaHRNZWFsT3B0aW9uc0FyZ3MgPSB7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsQ2hhaW5zQXJncyA9IHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaEhvdGVsc0FyZ3MgPSB7XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGNpdHlOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0T3JaaXBDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbG9uZ2l0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRyYWluU3RhdGlvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlhdGE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9mZmljZUlkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICByb29tczogU2NhbGFyc1snSW50J107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXJyZW5jeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcztcbiAgZGlzdGFuY2U6IFNjYWxhcnNbJ0ludCddO1xuICBtYXhSZXN1bHRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBob3RlbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGdyb3VwTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRIb3RlbEF2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RhcnREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGVuZERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvY2N1cGFudHM6IFNjYWxhcnNbJ0ludCddO1xuICByb29tcz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eUFyZ3MgPSB7XG4gIGhvdGVsOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsRGlzY291bnRDYXJkc0FyZ3MgPSB7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZW5kT2ZmbGluZU5vdGlmaWNhdGlvbkFyZ3MgPSB7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0SXJsU3VwcGxpZXJTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc0FyZ3MgPSB7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoSXJsQXJncyA9IHtcbiAgc3VwcGxpZXI6IElybFN1cHBsaWVyO1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGpvdXJuZXlUeXBlOiBJcmxKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxJcmxDbGFzcz47XG4gIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydHVyZUxvY2F0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFycml2YWxMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgaXJsRGlzY291bnRDYXJkcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRSYWlsTGl2ZURlcGFydHVyZXNBcmdzID0ge1xuICBzdGF0aW9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlcGFydERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaExvdW5nZXNBcmdzID0ge1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0FyZ3MgPSB7XG4gIG1pOiBTY2FsYXJzWydJRCddO1xuICBwYXJ0aWFsTGFiZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVZhbGlkYXRlVXNlck1pRnJlZVZhbHVlQXJncyA9IHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VmFsaWRhdGVCYXNrZXRJdGVtTWlBcmdzID0ge1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJNZXNzYWdlc0FyZ3MgPSB7XG4gIGVudmlyb25tZW50PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkaXNwbGF5VGFyZ2V0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFBhcmtpbmdBcmdzID0ge1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGRlcGFydERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvdXRGbGlnaHROdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJlY29tbWVuZGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWVldEFuZEdyZWV0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFJpZGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXJrQW5kU3Ryb2xsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2FyUGFya2VkRm9yWW91PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdGVybWluYWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0QmFza2V0SXRlbVBheW1lbnRTdXBwbG1lbnRhcnlJbmZvU2NoZW1hQXJncyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRQb3N0Y29kZURldGFpbHNBcmdzID0ge1xuICBwb3N0Y29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UG9zdGNvZGVBdXRvU3VnZ2VzdEFyZ3MgPSB7XG4gIHBvc3Rjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hQb3N0Y29kZXNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5SXNQb3N0Y29kZVZhbGlkQXJncyA9IHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFJhaWxTdGF0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hSYWlsU3RhdGlvbnNBcmdzID0ge1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBoYXNUb2Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNlYXJjaFJhaWxBcmdzID0ge1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPj47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0Umlza0FsZXJ0c0FyZ3MgPSB7XG4gIG1pbkxldmVsPzogTWF5YmU8Umlza0xldmVsPjtcbiAgbWF4TGV2ZWw/OiBNYXliZTxSaXNrTGV2ZWw+O1xuICBjb3VudHJ5SXNvQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICByYWlsU3RhdGlvbj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBhaXJwb3J0SWF0YT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEZsaWdodFJ1bGVzQXJncyA9IHtcbiAgc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogU2NhbGFyc1snSlNPTiddO1xuICBhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogQXJyYXk8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBcHBseUppdEhvdGVsUnVsZXNBcmdzID0ge1xuICBkYXRhOiBBcnJheTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJSZWNlbnRTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0FyZ3MgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUdldEZsaWdodFNlYXRNYXBBcmdzID0ge1xuICBmbGlnaHQ6IElucHV0RmxpZ2h0Sm91cm5leTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRUZnhTdXBwbGllclJvdXRlc0FyZ3MgPSB7XG4gIHN1cHBsaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb25lV2F5T25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5R2V0VXNlclVpQ29uZmlnc0FyZ3MgPSB7XG4gIHRhcmdldD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlHZXRVc2VyQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxBY2NvdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGlzRGVmYXVsdD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbENhbGxpbmdQb2ludCA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JztcbiAgc3RhdGlvbk5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2YWxEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzY2hlZHVsZWRQbGF0Zm9ybT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzdGF0aW9uQ2xhc3NpZmljYXRpb246IEZpZWxkV3JhcHBlcjxSYWlsU3RhdGlvbkNsYXNzaWZpY2F0aW9uPjtcbiAgc3RvcHBpbmdQYXR0ZXJuOiBGaWVsZFdyYXBwZXI8UmFpbFN0b3BwaW5nUGF0dGVybj47XG59O1xuXG5leHBvcnQgZW51bSBSYWlsQ2xhc3Mge1xuICBBbGwgPSAnQWxsJyxcbiAgRmlyc3QgPSAnRmlyc3QnLFxuICBTdGFuZGFyZCA9ICdTdGFuZGFyZCdcbn1cblxuZXhwb3J0IHR5cGUgUmFpbElkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxJZGVudGlmaWVycyc7XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50SWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBmYXJlSWRlbnRpZmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkaXJlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYWxsb3dlZFdpdGg6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSWRlbnRpZmllcnM+PjtcbiAgc2luZ2xlT3JSZXR1cm4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYm9va2luZ1JlZj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbElkZW50aWZpZXJzQWxsb3dlZFdpdGggPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbElkZW50aWZpZXJzQWxsb3dlZFdpdGgnO1xuICB0cmFuc2FjdGlvbklkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgam91cm5leUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvdmlkZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUlkZW50aWZpZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGlyZWN0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJvb2tpbmdSZWY/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5RmFyZSA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByb3ZpZGVyTmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbElkZW50aWZpZXJzPj47XG4gIHR5cGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGVybXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFRlcm1zPj47XG4gIGNsYXNzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNpbmdsZU9yUmV0dXJuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1cz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXJyZW5jeT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFyZUhhc2g6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlbGl2ZXJ5T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24+Pj4+O1xuICBtb2JpbGVUaWNrZXRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGVUaWNrZXRBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHNlbGZQcmludEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgcmFpbGNhcmRDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsSm91cm5leUxlZyA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvcGVyYXRvcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVwYXJ0PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYXJyaXZlRGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YWJsZVN0YXR1czogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2FsbGluZ1BvaW50czogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxDYWxsaW5nUG9pbnQ+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxKb3VybmV5T3B0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJztcbiAgZnJvbTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZnJvbUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdG86IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBqb3VybmV5SGFzaDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVwYXJ0RGF0ZVRpbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGFycml2ZURhdGVUaW1lOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjbzJQZXJJdGVtOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT47XG4gIGNvMlBlclBhc3NlbmdlcjogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBqb3VybmV5TGVnczogQXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5TGVnPj47XG4gIHJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIG9wZW5SZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlGYXJlPj4+O1xuICBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgc2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgZHVhbFNpbmdsZVNwbGl0T3V0Ym91bmRGYXJlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leUZhcmU+Pj47XG4gIGR1YWxTaW5nbGVTcGxpdFJldHVybkZhcmVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5RmFyZT4+PjtcbiAgY2hhbmdlcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcm92aWRlcnM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFByb3ZpZGVyPj4+O1xuICB0aWNrZXRRdWV1ZUxpc3Q/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldFF1ZXVlPj4+O1xuICBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEFjY291bnQ+Pj47XG4gIHRpY2tldEV4dHJhcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0RXh0cmE+Pj47XG4gIHBsdXNCdXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFBsdXNCdXM+PjtcbiAgb3ZlcnRha2VuPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25zID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucyc7XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIG91dGJvdW5kPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxKb3VybmV5T3B0aW9uPj4+O1xuICByZXR1cm4/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8UmFpbEpvdXJuZXlPcHRpb24+Pj47XG4gIHRyYXZlbENhcmRzQWRkb25GbGFnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBzdW1tYXJ5OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxQbHVzQnVzJztcbiAgb3JpZ2luUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcmlnaW5TdGF0aW9uTkxDPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRlc3RpbmF0aW9uUGx1c0J1c05MQz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXN0aW5hdGlvblN0YXRpb25OTEM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQbHVzQnVzQXZhaWwgPSB7XG4gIG9yaWdpbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlc3RpbmF0aW9uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxQcm92aWRlciA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsUHJvdmlkZXInO1xuICBwcm92aWRlcklkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIG5hbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xuICB0aWNrZXRPcHRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRPcHRpb24+Pj4+O1xuICBib29rZWRUaWNrZXQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldE9wdGlvbj4+O1xufTtcblxuZXhwb3J0IGVudW0gUmFpbFNlYXJjaEpvdXJuZXlUeXBlIHtcbiAgU2luZ2xlSm91cm5leSA9ICdTaW5nbGVKb3VybmV5JyxcbiAgUmV0dXJuSm91cm5leSA9ICdSZXR1cm5Kb3VybmV5JyxcbiAgT3BlblJldHVybkpvdXJuZXkgPSAnT3BlblJldHVybkpvdXJuZXknXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWFyY2hSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlYXJjaFJlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsSm91cm5leU9wdGlvbnM+PjtcbiAgZXJyb3JzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2VhcmNoRXJyb3I+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxTZWF0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWF0JztcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29hY2g/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbnVtYmVyPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRpcmVjdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwb3NpdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZWNrPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRTZWxlY3Rpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZmFjaWxpdGllcz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+Pj47XG4gIG5vdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU2VhdFByZWZlcmVuY2VUeXBlID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxTZWF0UHJlZmVyZW5jZVR5cGUnO1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFsbG93ZWRWYWx1ZXM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xufTtcblxuZXhwb3J0IHR5cGUgUmFpbFNlZ21lbnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFNlZ21lbnQnO1xuICBpZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBvcGVyYXRvcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXJyaXZlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGFycml2ZURhdGVUaW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VhdFByZWZlcmVuY2VUeXBlPj4+O1xuICBzZWF0UHJlZmVyZW5jZUdyb3VwPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlYXRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxTZWF0Pj4+O1xuICBjYWxsaW5nUG9pbnRzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFJhaWxDYWxsaW5nUG9pbnQ+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsU3RhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbic7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0YXRpb25Db2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBubGNDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIHRyYWlubGluZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5saW5lVW5pcXVlQ29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTxGaWVsZFdyYXBwZXI8TG9jYXRpb25EZXRhaWw+PjtcbiAgaGFzVG9kOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJhaWxTdGF0aW9uQ2xhc3NpZmljYXRpb24ge1xuICBPcmlnaW4gPSAnT3JpZ2luJyxcbiAgSW50ZXJtZWRpYXRlID0gJ0ludGVybWVkaWF0ZScsXG4gIERlc3RpbmF0aW9uID0gJ0Rlc3RpbmF0aW9uJyxcbiAgVW5rbm93biA9ICdVbmtub3duJ1xufVxuXG5leHBvcnQgZW51bSBSYWlsU3RvcHBpbmdQYXR0ZXJuIHtcbiAgUmVxdWVzdFN0b3AgPSAnUmVxdWVzdFN0b3AnLFxuICBQaWNrVXBPbmx5ID0gJ1BpY2tVcE9ubHknLFxuICBTZXREb3duT25seSA9ICdTZXREb3duT25seScsXG4gIE5vcm1hbCA9ICdOb3JtYWwnLFxuICBQYXNzaW5nID0gJ1Bhc3NpbmcnLFxuICBVbmtub3duID0gJ1Vua25vd24nXG59XG5cbmV4cG9ydCB0eXBlIFJhaWxUZXh0VmFsdWVQYWlyID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUZXh0VmFsdWVQYWlyJztcbiAgdGV4dDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldCc7XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByb3V0ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzZWdtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxSYWlsU2VnbWVudD4+PjtcbiAgbnVtQ2hpbGRyZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+PjtcbiAgbnVtQWR1bHRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0RGVsaXZlcnlPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldERlbGl2ZXJ5T3B0aW9uJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0RXh0cmEgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldEV4dHJhJztcbiAgaWRlbnRpZmllcnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8UmFpbFRpY2tldEV4dHJhSWRlbnRpZmllcnM+PjtcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhbW91bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBhZHVsdEFtb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIGNoaWxkQW1vdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzID0ge1xuICBfX3R5cGVuYW1lPzogJ1JhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJztcbiAgdHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBsb2NhdGlvbj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGUnXT4+O1xuICBqb3VybmV5SWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaXNPcmlnaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHByaWNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFJhaWxUaWNrZXRPcHRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldE9wdGlvbic7XG4gIGlkZW50aWZpZXJzPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxJZGVudGlmaWVycz4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRlcm1zPzogTWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRUZXJtcz4+O1xuICBjbGFzcz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBzaW5nbGVPclJldHVybj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBwcmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydGbG9hdCddPj47XG4gIHJlc2VydmFibGVTdGF0dXM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3VycmVuY3k/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGVDb2RlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGF2YWlsYWJsZVNlYXRzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPj47XG4gIG1vYmlsZVRpY2tldEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgZVRpY2tldEF2YWlsYWJsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc2VsZlByaW50QXZhaWxhYmxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICByYWlsY2FyZENvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsVGlja2V0Pj4+PjtcbiAgdGlja2V0UXVldWVMaXN0PzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFJhaWxUaWNrZXRRdWV1ZT4+Pj47XG4gIGFjY291bnRzTGlzdD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxSYWlsQWNjb3VudD4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0UXVldWUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJztcbiAgaWQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBSYWlsVGlja2V0VGVybXMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFRlcm1zJztcbiAgZXJyb3I/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdGlja2V0VHlwZUNvZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQWx0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ2xhc3M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcmVzZXJ2YXRpb25SdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlUeXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHByZUJvb2tpbmdSZXF1aXJlbWVudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsVmFsaWRpdHk/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgdmFsaWRPdXRSdWxlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHZhbGlkUmV0dXJuUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBnZW5lcmFsRGlzY291bnQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hpbGREaXNjb3VudD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICByYWlsY2FyZERpc2NvdW50PzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZnVuZENhbmNlbGxhdGlvblJ1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY2hhbmdlUnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aWNrZXRUeXBlQ29uZGl0aW9uc0Rlc2NyaXB0aW9uPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGpvdXJuZXlCcmVha1J1bGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXZhaWxhYmlsaXR5UnVsZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0b2RBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAga2lvc2tBdmFpbGFibGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcm91dGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhcnREYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGVuZERhdGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZHluYW1pY0NvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8RHluYW1pY0NvbmRpdGlvbj4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllciA9IHtcbiAgX190eXBlbmFtZT86ICdSZWZlcmVuY2VSYWlsQ2FyZFF1YWxpZmllcic7XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSaXNrQWxlcnQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdGl0bGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBicmVha2luZzogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJpc2s6IEZpZWxkV3JhcHBlcjxSaXNrTGV2ZWw+O1xuICBjYXRlZ29yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbG9jYXRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbGF0aXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBsb25naXR1ZGU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snRmxvYXQnXT4+O1xuICBzdGFydERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kRGF0ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZWNlaXZlZERhdGU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFJpc2tMZXZlbCB7XG4gIExvdyA9ICdMb3cnLFxuICBNb2RlcmF0ZSA9ICdNb2RlcmF0ZScsXG4gIE1lZGl1bSA9ICdNZWRpdW0nLFxuICBIaWdoID0gJ0hpZ2gnLFxuICBFeHRyZW1lID0gJ0V4dHJlbWUnXG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaCA9IHtcbiAgX190eXBlbmFtZT86ICdTZWFyY2gnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBuYW1lPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHNlcnZpY2VUeXBlOiBGaWVsZFdyYXBwZXI8U2VydmljZVR5cGU+O1xuICBzZWFyY2hBcmdzOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbiAgY3JlYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHVwZGF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB0cmF2ZWxEYXRlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgdHJhdmVsbGVycz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyPj4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXJyb3IgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InO1xuICBzZXJ2aWNlOiBGaWVsZFdyYXBwZXI8U2VydmljZT47XG4gIGVycm9yTWVzc2FnZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZXJyb3JDb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0gRmxpZ2h0SXRpbmVyYXJ5IHwgSXRpbmVyYXJ5U3VtbWFyeTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSc7XG4gIHZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVmFsdWU+PjtcbiAgZnJlZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGJhc2tldExldmVsVmFsdWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB1c2VyTGV2ZWxWYWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHVzZXI/OiBNYXliZTxGaWVsZFdyYXBwZXI8VXNlcj4+O1xuICBndWVzdD86IE1heWJlPEZpZWxkV3JhcHBlcjxHdWVzdD4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VydmljZSA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2aWNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzY3JpcHRpb246IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cHBsaWVyVXJsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhcGlFbmRwb2ludFVybDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbVR0bDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjYW5jZWxsYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGFtZW5kYWJsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRldGFpbFNjaGVtYTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT47XG4gIHNlYXJjaFF1ZXJ5U2NoZW1hOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCBlbnVtIFNlcnZpY2VUeXBlIHtcbiAgRmxpZ2h0ID0gJ0ZMSUdIVCcsXG4gIEV1cm9zdGFyID0gJ0VVUk9TVEFSJyxcbiAgSW50ZXJuYXRpb25hbFJhaWwgPSAnSU5URVJOQVRJT05BTF9SQUlMJyxcbiAgUmFpbCA9ICdSQUlMJyxcbiAgSG90ZWwgPSAnSE9URUwnLFxuICBDYXIgPSAnQ0FSJyxcbiAgTG91bmdlID0gJ0xPVU5HRScsXG4gIEZhc3RUcmFjayA9ICdGQVNUX1RSQUNLJyxcbiAgUGFya2luZyA9ICdQQVJLSU5HJyxcbiAgQ2FiID0gJ0NBQicsXG4gIENvYWNoID0gJ0NPQUNIJ1xufVxuXG5leHBvcnQgdHlwZSBTdGF0aW9uU2VhcmNoUmVxdWVzdFJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1N0YXRpb25TZWFyY2hSZXF1ZXN0UmVzcG9uc2UnO1xuICB0ZXh0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbyA9IHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlckluZm86IEFycmF5PFVzZXJJbmZvPjtcbiAgZ3Vlc3RJbmZvOiBBcnJheTxVc2VySW5mbz47XG4gIGFkZHJlc3M/OiBNYXliZTxCb29raW5nQWRkcmVzcz47XG4gIHBob25lTnVtYmVyPzogTWF5YmU8Qm9va2luZ1Bob25lTnVtYmVyPjtcbiAgc3VwcGxlbWVudGFyeUluZm86IFNjYWxhcnNbJ0pTT04nXTtcbiAgcGF5bWVudE1ldGhvZERldGFpbHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBwYXNzcG9ydD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1RGWFN1cHBsaWVyUm91dGVzUmVzcG9uc2UnO1xuICBpYXRhMTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWF0YTI6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHNvdXJjZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc291cmNlSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZnhTdXBwbGllclJvdXRlc1Jlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdURlhTdXBwbGllclJvdXRlc1Jlc3VsdCc7XG4gIHJlc3VsdHM6IEFycmF5PEZpZWxkV3JhcHBlcjxUZnhTdXBwbGllclJvdXRlc1Jlc3BvbnNlPj47XG4gIGVycm9yczogQXJyYXk8RmllbGRXcmFwcGVyPFNlYXJjaEVycm9yPj47XG59O1xuXG5leHBvcnQgdHlwZSBUbWMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVE1DJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgbmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhcHBsaWVzVG86IEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT47XG4gIGFwcGxpY2F0aW9uU3RhZ2U6IEZpZWxkV3JhcHBlcjxBcHBsaWNhdGlvblN0YWdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYXZlbFJ1bGVBcHBsaWVzVG8gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZUFwcGxpZXNUbyc7XG4gIGZsaWdodD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgcmFpbD86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgaG90ZWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhcj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgbG91bmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPFRyYXZlbFJ1bGU+Pj4+O1xuICBmYXN0VHJhY2s/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIHBhcmtpbmc/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG4gIGNhYj86IE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj4+PjtcbiAgY29hY2g/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+Pj47XG59O1xuXG5leHBvcnQgdHlwZSBUcmF2ZWxSdWxlc0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVHJhdmVsUnVsZXNDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55OiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBvZmZpY2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICB1c2VyOiBBcnJheTxGaWVsZFdyYXBwZXI8VHJhdmVsUnVsZT4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlPj47XG4gIGFwcGxpZXNUbz86IE1heWJlPEZpZWxkV3JhcHBlcjxUcmF2ZWxSdWxlQXBwbGllc1RvPj47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdVSUNvbmZpZyc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRhcmdldDogRmllbGRXcmFwcGVyPFVpQ29uZmlnVGFyZ2V0PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY29uZmlnPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0pTT04nXT4+O1xuICBrZXk6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVaUNvbmZpZ0NvbGxlY3Rpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJztcbiAgdG1jOiBBcnJheTxGaWVsZFdyYXBwZXI8VWlDb25maWc+PjtcbiAgY29tcGFueTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIG9mZmljZTogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIGNvbXBhbnlHcm91cDogQXJyYXk8RmllbGRXcmFwcGVyPFVpQ29uZmlnPj47XG4gIHVzZXI6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xuICBhbGw6IEFycmF5PEZpZWxkV3JhcHBlcjxVaUNvbmZpZz4+O1xufTtcblxuZXhwb3J0IGVudW0gVWlDb25maWdUYXJnZXQge1xuICBBbGwgPSAnQUxMJyxcbiAgTW9jayA9ICdNT0NLJyxcbiAgTGlnaHRuaW5nID0gJ0xJR0hUTklORycsXG4gIEFwcCA9ICdBUFAnXG59XG5cbmV4cG9ydCBlbnVtIFVpUHJlc2VudGF0aW9uIHtcbiAgRnJlZVRleHQgPSAnRlJFRV9URVhUJyxcbiAgQXV0b1N1Z2dlc3QgPSAnQVVUT19TVUdHRVNUJyxcbiAgRHJvcGRvd24gPSAnRFJPUERPV04nLFxuICBIaWRkZW4gPSAnSElEREVOJ1xufVxuXG5leHBvcnQgdHlwZSBVc2VyID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXInO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICB0aXRsZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZm9yZW5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN1cm5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VybmFtZTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1wbG95ZWVJZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjcmVhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgdXBkYXRlZEF0OiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRvYj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlJ10+PjtcbiAgYWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIHRtY0FkbWluPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT4+O1xuICBjb21wYW55QWRtaW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGJvb2tlclR5cGU6IEZpZWxkV3JhcHBlcjxCb29rZXJUeXBlPjtcbiAgYXV0aE1ldGhvZHM6IEFycmF5PEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhY3RpdmU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBwYXNzd29yZExhc3RVcGRhdGVkPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+PjtcbiAgc2VsZWN0ZWRMYW5ndWFnZTogRmllbGRXcmFwcGVyPExhbmd1YWdlPjtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTxGaWVsZFdyYXBwZXI8TGFuZ3VhZ2U+PjtcbiAgdG1jOiBGaWVsZFdyYXBwZXI8VG1jPjtcbiAgY29tcGFueTogRmllbGRXcmFwcGVyPENvbXBhbnk+O1xuICBvZmZpY2U6IEZpZWxkV3JhcHBlcjxPZmZpY2U+O1xuICBjb21wYW55R3JvdXBzOiBBcnJheTxGaWVsZFdyYXBwZXI8Q29tcGFueUdyb3VwPj47XG4gIGFwcHJvdmVyczogQXJyYXk8RmllbGRXcmFwcGVyPEFwcHJvdmVyPj47XG4gIGFwcHJvdmVyRm9yOiBBcnJheTxGaWVsZFdyYXBwZXI8QXBwcm92ZWU+PjtcbiAgYm9va2VyczogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgY2FuQm9va0ZvcjogQXJyYXk8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgY28yQWxsb3dhbmNlUGVyaW9kPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNvMkFsbG93YW5jZVBlclBlcmlvZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjYW5Cb29rR3Vlc3Q6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlbWVyZ2VuY3lDb250YWN0TmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBlbWVyZ2VuY3lDb250YWN0UGhvbmU/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgbGl2ZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydCb29sZWFuJ10+PjtcbiAgc3VwcGxpZXJSZWxhdGlvbnM/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPj47XG4gIGxvZ0xldmVsPzogTWF5YmU8RmllbGRXcmFwcGVyPExvZ0xldmVsVHlwZT4+O1xuICBwaG9uZU51bWJlcnM6IEFycmF5PEZpZWxkV3JhcHBlcjxQaG9uZU51bWJlcj4+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8QWRkcmVzcz4+PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxVc2VyTWlEZWZhdWx0VmFsdWU+Pj47XG4gIGRvY3VtZW50cz86IE1heWJlPEFycmF5PEZpZWxkV3JhcHBlcjxEb2N1bWVudD4+PjtcbiAgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8RmllbGRXcmFwcGVyPFVzZXJMb3lhbHR5Q29kZT4+PjtcbiAgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTxGaWVsZFdyYXBwZXI8VXNlclByZWZlcmVuY2U+Pj47XG4gIHByb2ZpbGVDb25maWc/OiBNYXliZTxGaWVsZFdyYXBwZXI8UHJvZmlsZUNvbmZpZz4+O1xuICBhZGRpdGlvbmFsRW1haWw/OiBNYXliZTxBcnJheTxNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+Pj4+O1xuICBjYW5JbnZva2VVc2VyOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgYWRkcmVzcz86IE1heWJlPEJvb2tpbmdBZGRyZXNzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxCb29raW5nUGhvbmVOdW1iZXI+O1xuICBzdXBwbGVtZW50YXJ5SW5mbzogU2NhbGFyc1snSlNPTiddO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlckxveWFsdHlDb2RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZSc7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIHVzZXI6IEZpZWxkV3JhcHBlcjxVc2VyPjtcbiAgY2Fycmllcj86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjb2RlOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0eXBlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJMb3lhbHR5Q29kZUlucHV0ID0ge1xuICBjYXJyaWVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVc2VyTWlEZWZhdWx0VmFsdWUnO1xuICB1c2VyPzogTWF5YmU8RmllbGRXcmFwcGVyPFVzZXI+PjtcbiAgc2VydmljZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlPj47XG4gIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvPj47XG4gIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTxGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9WYWx1ZT4+O1xuICBmcmVlVGV4dFZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQgPSB7XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIG1hbmFnZW1lbnRJbmZvOiBTY2FsYXJzWydJRCddO1xuICBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGZyZWVUZXh0VmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyT3JHdWVzdCA9IEd1ZXN0IHwgVXNlcjtcblxuZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnO1xuICBpZDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0lEJ10+O1xuICBwYXNzZW5nZXJUeXBlOiBGaWVsZFdyYXBwZXI8UGFzc2VuZ2VyVHlwZT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZUlucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgcGFzc2VuZ2VyVHlwZTogUGFzc2VuZ2VyVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQcmVmZXJlbmNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJQcmVmZXJlbmNlJztcbiAgaWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJRCddPjtcbiAgdXNlcjogRmllbGRXcmFwcGVyPFVzZXI+O1xuICBzZXJ2aWNlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTZXJ2aWNlVHlwZT4+O1xuICBwcmVmZXJlbmNlS2V5PzogTWF5YmU8RmllbGRXcmFwcGVyPFByZWZlcmVuY2VLZXk+PjtcbiAgcHJlZmVyZW5jZVZhbHVlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGNyZWF0ZWRBdDogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICB1cGRhdGVkQXQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydEYXRlVGltZSddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZXJQcmVmZXJlbmNlSW5wdXQgPSB7XG4gIHNlcnZpY2VUeXBlPzogTWF5YmU8U2VydmljZVR5cGU+O1xuICBwcmVmZXJlbmNlS2V5PzogTWF5YmU8UHJlZmVyZW5jZUtleT47XG4gIHByZWZlcmVuY2VWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1YnNlcXVlbnRMb2NhdGlvbnMgPSB7XG4gIF9fdHlwZW5hbWU/OiAnc3Vic2VxdWVudExvY2F0aW9ucyc7XG4gIGxvY2F0aW9uTmFtZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICB0aXBsb2M/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgY3JzPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHBsYXRmb3JtSXNIaWRkZW4/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgc3RhPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGV0YT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhcnJpdmFsU291cmNlPzogTWF5YmU8RmllbGRXcmFwcGVyPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHN0ZD86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBldGQ/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgZGVwYXJ0dXJlVHlwZT86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBkZXBhcnR1cmVTb3VyY2U/OiBNYXliZTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgYXNzb2NpYXRpb25zPzogTWF5YmU8QXJyYXk8TWF5YmU8RmllbGRXcmFwcGVyPEFzc29jaWF0aW9uPj4+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFjY2VwdE5ld1ByaWNlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGFjY2VwdE5ld1ByaWNlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgdXNlcnM6IEFycmF5PFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+IHwgVXNlclBhc3NlbmdlclR5cGVJbnB1dDtcbiAgd2l0aFN1cHBsZW1lbnRhbDogU2NhbGFyc1snQm9vbGVhbiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBhZGRVc2Vyc1RvQmFza2V0SXRlbTogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiBTY2FsYXJzWydKU09OJ107XG4gIGF2YWlsYWJsZUluYm91bmRGbGlnaHRzOiBBcnJheTxTY2FsYXJzWydKU09OJ10+IHwgU2NhbGFyc1snSlNPTiddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnYXBwbHlKSVRGbGlnaHRSdWxlcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZGF0YTogQXJyYXk8U2NhbGFyc1snSlNPTiddPiB8IFNjYWxhcnNbJ0pTT04nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGFwcGx5SklUSG90ZWxSdWxlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBcHBseUpJVFJ1bGVzUmVzdWx0JyB9XG4gICAgJiBQaWNrPEFwcGx5Sml0UnVsZXNSZXN1bHQsICdyZXN1bHQnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFRyYXZlbGxlclVzZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAndXNlcm5hbWUnIHwgJ2VtcGxveWVlSWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgVHJhdmVsbGVyR3Vlc3RzRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAmIFBpY2s8R3Vlc3QsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnZ2VuZGVyJyB8ICduYXRpb25hbGl0eSc+XG4pO1xuXG5leHBvcnQgdHlwZSBPd25lckZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbik7XG5cbmV4cG9ydCB0eXBlIEJhc2tldEZpZWxkc0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICYgUGljazxCYXNrZXQsICdpZCcgfCAncmVmZXJlbmNlJyB8ICd0aXRsZScgfCAnbm90ZXMnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdib29rZWRBdCcgfCAnc3RhdHVzJyB8ICd2YWxpZGF0ZWQnPlxuICAmIHsgb3duZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgT3duZXJGaWVsZHNGcmFnbWVudFxuICApLCBpbnZva2VkVXNlcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2VtYWlsJz5cbiAgKT4sIGJhc2tldEl0ZW1zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldEl0ZW0nIH1cbiAgICAmIE1ha2VPcHRpb25hbDxQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3N0YXR1cycgfCAncG5yTG9jYXRvcicgfCAnYm9va2luZ0RldGFpbCcgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAnY29udmVydGVkQ3VycmVuY3lBbW91bnQnIHwgJ2NvbnZlcnRlZEN1cnJlbmN5Q29kZSc+LCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcic+XG4gICAgJiB7IGF2YWlsYWJsZVBheW1lbnRNZXRob2RzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZSc+XG4gICAgKSwgZ3Vlc3RzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnR3Vlc3QnIH1cbiAgICAgICYgUGljazxHdWVzdCwgJ2lkJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ3RpdGxlJz5cbiAgICApPiwgZ3Vlc3RQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJQYXNzZW5nZXJUeXBlJyB9XG4gICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgdXNlclBhc3NlbmdlclR5cGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclBhc3NlbmdlclR5cGUnIH1cbiAgICAgICYgUGljazxVc2VyUGFzc2VuZ2VyVHlwZSwgJ2lkJyB8ICdwYXNzZW5nZXJUeXBlJz5cbiAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAgICAgJiBUcmF2ZWxsZXJHdWVzdHNGaWVsZHNGcmFnbWVudFxuICAgICkgfCAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgJiBUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnRcbiAgICApPiwgbWFuYWdlbWVudEluZm86IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mbycgfVxuICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAncmVhc29uJyB8ICdmaXhlZCcgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4sIGNvbXBhbnlHcm91cD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueUdyb3VwJyB9XG4gICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICB1c2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHRyYXZlbGxlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBiYXNrZXRTdGF0dXM/OiBNYXliZTxCYXNrZXRTdGF0dXM+O1xuICBjcmVhdGVkQWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY3JlYXRlZEJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRBZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBib29rZWRCZWZvcmU/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZGF0ZU9mVHJhdmVsQmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGRhdGVPZlRyYXZlbEFmdGVyPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBiYXNrZXRSZWZlcmVuY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldFRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJCYXNrZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnZGVsZXRlQmFza2V0Jz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGludm9rZWRVc2VyPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgY3JlYXRlQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJlbW92ZUl0ZW1Gcm9tQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGJhc2tldDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZW5kQmFza2V0Rm9yQXBwcm92YWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNlcnZpY2U6IFNjYWxhcnNbJ0lEJ107XG4gIGRldGFpbDogU2NhbGFyc1snSlNPTiddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaW5mYW50cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJpY2U6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGN1cnJlbmN5OiBDdXJyZW5jeUNvZGU7XG4gIHNlYXJjaFF1ZXJ5OiBTY2FsYXJzWydKU09OJ107XG4gIHF1aWNrQWRkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdXNlcnM/OiBNYXliZTxBcnJheTxNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj4gfCBNYXliZTxVc2VyUGFzc2VuZ2VyVHlwZUlucHV0Pj47XG4gIGd1ZXN0cz86IE1heWJlPEFycmF5PE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PiB8IE1heWJlPFVzZXJQYXNzZW5nZXJUeXBlSW5wdXQ+PjtcbiAgbGVhZFBhc3Nlbmdlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBsZWFkUGFzc2VuZ2VyVHlwZT86IE1heWJlPExlYWRQYXNzZW5nZXJUeXBlPjtcbiAgY28yUGVySXRlbT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBjbzJQZXJQYXNzZW5nZXI/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgb3V0Ym91bmREYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpbmJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICByZXF1aXJlc1JlYXNvbj86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQWRkSXRlbVRvQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYWRkSXRlbVRvQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvbnZlcnRDdXJyZW5jeVRvPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQmFza2V0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlckJhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHJldmFsaWRhdGVCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEJvb2tCYXNrZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdXBwbGVtZW50YXJ5SW5mbzogQXJyYXk8U3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvPiB8IFN1cHBsZW1lbnRhcnlCb29raW5nSW5mbztcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBCb29rQmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgYm9va0Jhc2tldDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBkZXBhcnRzOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmcm9tTG9jYXRpb246IENhYkhpcmVMb2NhdGlvbklucHV0O1xuICB0b0xvY2F0aW9uOiBDYWJIaXJlTG9jYXRpb25JbnB1dDtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGluZmFudHM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHZpYXM/OiBNYXliZTxBcnJheTxNYXliZTxDYWJIaXJlTG9jYXRpb25JbnB1dD4+IHwgTWF5YmU8Q2FiSGlyZUxvY2F0aW9uSW5wdXQ+PjtcbiAgdmVoaWNsZVR5cGU/OiBNYXliZTxDYWJIaXJlVmVoaWNsZVR5cGU+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FiSGlyZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENhYkhpcmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZVF1b3RlJyB9XG4gICAgICAmIFBpY2s8Q2FiSGlyZVF1b3RlLCAnaWQnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3N1cHBsaWVyTmFtZScgfCAnZXN0aW1hdGVkQ08yJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndmVoaWNsZVR5cGUnIHwgJ3RyaXBEaXN0YW5jZU1ldHJlcycgfCAndHJpcER1cmF0aW9uU2Vjb25kcycgfCAnZGVwYXJ0cycgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAncmVxdWlyZXNSZWFzb25NZXNzYWdlJz5cbiAgICAgICYgeyBmcm9tTG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhYkhpcmVMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q2FiSGlyZUxvY2F0aW9uLCAnYWRkcmVzcycgfCAncG9zdGNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgKSwgdG9Mb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FiSGlyZUxvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxDYWJIaXJlTG9jYXRpb24sICdhZGRyZXNzJyB8ICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICApLCB2aWFzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYWJIaXJlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPENhYkhpcmVMb2NhdGlvbiwgJ2FkZHJlc3MnIHwgJ3Bvc3Rjb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBiYXNrZXRJdGVtOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FuY2VsQm9va2luZ011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IGNhbmNlbEJvb2tpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWZ0ZXJDYW5jZWxsYXRpb25JbmZvJyB9XG4gICAgJiBQaWNrPEFmdGVyQ2FuY2VsbGF0aW9uSW5mbywgJ2NhbmNlbGxlZCcgfCAnY2FuY2VsbGF0aW9uRmVlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkRldGFpbHM6IENhckhpcmVJbnB1dElkZW50aWZpZXJzO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlRGV0YWlsUmVxdWVzdFJlc3BvbnNlJyB9XG4gICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPENhckhpcmVJZGVudGlmaWVycywgJ2xvY2F0b3InIHwgJ3JwaCcgfCAnc3RhdHVzJyB8ICd2ZWhUeXBlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICdsb2NhdGlvbk5hbWUnIHwgJ2Ryb3BPZmZMb2NhdGlvbicgfCAncGlja3VwRGF0ZVRpbWUnIHwgJ2Ryb3BvZmZEYXRlVGltZScgfCAndmVuZG9yJz5cbiAgICApPiwgdmVuZG9yPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZW5kb3InIH1cbiAgICAgICYgUGljazxDYXJIaXJlVmVuZG9yLCAnbmFtZScgfCAnbG9nbyc+XG4gICAgKT4sIGFkZHJlc3M/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZHJlc3MnIH1cbiAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICk+LCBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtJyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbSwgJ25hbWUnIHwgJ3RleHQnIHwgJ2pzb24nPlxuICAgICAgJiB7IGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDdXN0b20nIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVDdXN0b20sICduYW1lJyB8ICd0ZXh0Jz5cbiAgICAgICk+Pj4gfVxuICAgICk+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQ2FySGlyZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBhaXJwb3J0PzogTWF5YmU8Q2FySGlyZUFpcnBvcnRJbnB1dD47XG4gIGNpdHk/OiBNYXliZTxDYXJIaXJlQ2l0eUlucHV0PjtcbiAgbG9jYXRpb24/OiBNYXliZTxDYXJIaXJlTG9jYXRpb25JbnB1dD47XG4gIGRlcG90PzogTWF5YmU8SW5wdXRDYXJIaXJlRGVwb3Q+O1xuICBwaWNrdXBEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRyb3BvZmZEYXRlVGltZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZlbmRvcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2xhc3M/OiBNYXliZTxDYXJIaXJlQ2xhc3M+O1xuICB0eXBlPzogTWF5YmU8Q2FySGlyZVR5cGU+O1xuICB0cmFuc21pc3Npb24/OiBNYXliZTxDYXJIaXJlVHJhbnNtaXNzaW9uPjtcbiAgYWlyY29uPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlc3RpbWF0ZWREYWlseURpc3RhbmNlVW5pdHM/OiBNYXliZTxEaXN0YW5jZVR5cGVzPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENhckhpcmVRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDYXJIaXJlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlQXZhaWxpYmlsaXR5JyB9XG4gICAgICAmIFBpY2s8Q2FySGlyZVZlaGljbGVBdmFpbGliaWxpdHksICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlSWRlbnRpZmllcnMnIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVJZGVudGlmaWVycywgJ2xvY2F0b3InIHwgJ3JwaCcgfCAnc3RhdHVzJyB8ICd2ZWhUeXBlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICdsb2NhdGlvbk5hbWUnIHwgJ2Ryb3BPZmZMb2NhdGlvbicgfCAncGlja3VwRGF0ZVRpbWUnIHwgJ2Ryb3BvZmZEYXRlVGltZScgfCAndmVuZG9yJz5cbiAgICAgICk+LCBkaXNwbGF5UmVjb3JkPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURpc3BsYXlSZWNvcmQnIH1cbiAgICAgICAgJiBQaWNrPENhckhpcmVEaXNwbGF5UmVjb3JkLCAnc3RhdHVzJyB8ICdwaWNrdXAnIHwgJ2Ryb3BvZmYnPlxuICAgICAgICAmIHsgdmVuZG9yPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlVmVuZG9yJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVWZW5kb3IsICduYW1lJyB8ICdsb2dvJz5cbiAgICAgICAgKT4sIHZlaGljbGU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVWZWhpY2xlJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVWZWhpY2xlLCAnY2xhc3MnIHwgJ3R5cGUnIHwgJ3RyYW5zbWlzc2lvbicgfCAnYWlyY29uJyB8ICdkZXNjcmlwdGlvbicgfCAnaW1hZ2VzJz5cbiAgICAgICAgKT4sIGNoYXJnZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVDaGFyZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8Q2FySGlyZUNoYXJnZSwgJ2xhYmVsJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICAgICAgICk+Pj4sIHBpY2t1cExvY2F0aW9uPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQWRkcmVzcycgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkcmVzcywgJ25hbWUnIHwgJ3RvcExpbmUnIHwgJ2NpdHknIHwgJ3JlZ2lvbicgfCAncG9zdENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZUNvZGUnIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnPlxuICAgICAgICApPiwgcmV0dXJuTG9jYXRpb24/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NhckhpcmVBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPENhckhpcmVBZGRyZXNzLCAnbmFtZScgfCAndG9wTGluZScgfCAnY2l0eScgfCAncmVnaW9uJyB8ICdwb3N0Q29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlQ29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgICAgICk+LCBhZGRpdGlvbmFsSW5mbz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZUFkZGl0aW9uYWxJbmZvSXRlbScgfVxuICAgICAgICAgICYgUGljazxDYXJIaXJlQWRkaXRpb25hbEluZm9JdGVtLCAnbmFtZScgfCAndGV4dCcgfCAnanNvbic+XG4gICAgICAgICAgJiB7IGN1c3RvbT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDYXJIaXJlQ3VzdG9tJyB9XG4gICAgICAgICAgICAmIFBpY2s8Q2FySGlyZUN1c3RvbSwgJ25hbWUnIHwgJ3RleHQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPj4+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1lc3NhZ2VzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4gfCBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENvbmZpcm1NZXNzYWdlc011dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiBQaWNrPE11dGF0aW9uLCAnY29uZmlybU1lc3NhZ2VzJz5cbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUd1ZXN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRpdGxlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZm9yZW5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBnZW5kZXI6IERvY0dlbmRlcjtcbiAgbmF0aW9uYWxpdHk6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlR3Vlc3RNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBjcmVhdGVHdWVzdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfVxuICAgICYgUGljazxHdWVzdCwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICdnZW5kZXInIHwgJ25hdGlvbmFsaXR5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZUZhdm91cml0ZVNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgUGljazxNdXRhdGlvbiwgJ2RlbGV0ZVJlY2VudFNlYXJjaCc+XG4pO1xuXG5leHBvcnQgdHlwZSBEZWxldGVVc2VyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIFBpY2s8TXV0YXRpb24sICdkZWxldGVVc2VyQWRkcmVzcyc+XG4pO1xuXG5leHBvcnQgdHlwZSBFZGl0VXNlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGZvcmVuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdXJuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWRkaXRpb25hbEVtYWlsPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PiB8IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGRvYj86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIHNlbGVjdGVkTGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZW1lcmdlbmN5Q29udGFjdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtZXJnZW5jeUNvbnRhY3RQaG9uZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1lcmdlbmN5Q29udGFjdEVtYWlsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwaG9uZU51bWJlcnM/OiBNYXliZTxBcnJheTxQaG9uZU51bWJlcklucHV0PiB8IFBob25lTnVtYmVySW5wdXQ+O1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxBZGRyZXNzSW5wdXQ+IHwgQWRkcmVzc0lucHV0PjtcbiAgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PFVzZXJNaURlZmF1bHRWYWx1ZXNJbnB1dD4gfCBVc2VyTWlEZWZhdWx0VmFsdWVzSW5wdXQ+O1xuICBkb2N1bWVudHM/OiBNYXliZTxBcnJheTxEb2N1bWVudElucHV0PiB8IERvY3VtZW50SW5wdXQ+O1xuICBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTxVc2VyTG95YWx0eUNvZGVJbnB1dD4gfCBVc2VyTG95YWx0eUNvZGVJbnB1dD47XG4gIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8VXNlclByZWZlcmVuY2VJbnB1dD4gfCBVc2VyUHJlZmVyZW5jZUlucHV0Pjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEVkaXRVc2VyTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgZWRpdFVzZXI6IChcbiAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnYWRkaXRpb25hbEVtYWlsJyB8ICd1c2VybmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnIHwgJ2NhbkNyZWF0ZUFkbWluQXRPd25MZXZlbCcgfCAnbGl2ZScgfCAnc3VwcGxpZXJSZWxhdGlvbnMnIHwgJ2xvZ0xldmVsJz5cbiAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICApLCBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICk+PiwgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJNaURlZmF1bHRWYWx1ZScgfVxuICAgICAgJiBQaWNrPFVzZXJNaURlZmF1bHRWYWx1ZSwgJ2ZyZWVUZXh0VmFsdWUnPlxuICAgICAgJiB7IHNlcnZpY2U/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICk+LCBtYW5hZ2VtZW50SW5mbz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm8nIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvLCAnaWQnIHwgJ2RiSWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdoYW5kb2ZmJyB8ICd2YWx1ZU1hc2snIHwgJ3VpUHJlc2VudGF0aW9uJyB8ICdtYW5kYXRvcnknIHwgJ3BlclBhc3NlbmdlcicgfCAncGVyQm9va2luZycgfCAnYWdlbnRPbmx5JyB8ICd0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHQnIHwgJ3Rha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0JyB8ICdlbmZvcmNlVXNlckRlZmF1bHQnIHwgJ2Jvb2tlZEJ5RmllbGQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAnZ3JvdXAnPlxuICAgICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgICApLCBmaXhlZFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICAgICk+LCBzZWxlY3RlZFZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1NlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICYgUGljazxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUsICdmcmVlVmFsdWUnIHwgJ2Jhc2tldExldmVsVmFsdWUnIHwgJ3VzZXJMZXZlbFZhbHVlJz5cbiAgICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4gfVxuICAgICAgKT4sIG1hbmFnZW1lbnRJbmZvVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICk+IH1cbiAgICApPj4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgJiBQaWNrPFVzZXJMb3lhbHR5Q29kZSwgJ2lkJyB8ICdjYXJyaWVyJyB8ICdjb2RlJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICk+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBFbWFpbEJhc2tldFF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGVtYWlsQmFza2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0JyB9XG4gICAgJiBQaWNrPEJhc2tldCwgJ2lkJyB8ICdyZWZlcmVuY2UnIHwgJ3RpdGxlJyB8ICdub3RlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N0YXR1cycgfCAndmFsaWRhdGVkJyB8ICdib29rZWRBdCc+XG4gICAgJiB7IG93bmVyOiAoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICAgICk+LCB0bWM6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICYgUGljazxUbWMsICduYW1lJz5cbiAgICAgICksIG9mZmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgKSwgY29tcGFueUdyb3VwczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAmIHsgY29tcGFueTogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICYgeyB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICYgeyBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIHN1cHBvcnRQaG9uZU51bWJlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICkgfVxuICAgICAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICApPj4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICk+LCBhcHByb3ZlcnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgYXBwcm92ZXJGb3I6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICApPiwgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4+IH1cbiAgICApLCBiYXNrZXRJdGVtczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lOiAnQmFza2V0SXRlbScgfVxuICAgICAgJiBQaWNrPEJhc2tldEl0ZW0sICdpZCcgfCAnYWR1bHRzJyB8ICdjaGlsZHJlbicgfCAnaW5mYW50cycgfCAnZGV0YWlsJyB8ICdkZXRhaWxIYXNoJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZXhwaXJ5JyB8ICdleHBpcmVkJyB8ICdzZWFyY2hRdWVyeScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdtaUdyb3Vwc0F2YWlsYWJsZScgfCAnbWlHcm91cFNlbGVjdGVkJyB8ICd2YWxpZGF0ZWQnIHwgJ2xhdGVzdFZhbGlkYXRpb24nIHwgJ2xhdGVzdFZhbGlkYXRpb25QcmljZScgfCAnbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZScgfCAnbGF0ZXN0VmFsaWRhdGlvbkF2YWlsYWJsZScgfCAnYm9va2luZ1RoaXJkUGFydHlSZWZlcmVuY2UnIHwgJ3BuckxvY2F0b3InIHwgJ2Jvb2tpbmdEZXRhaWwnIHwgJ3N0YXR1cycgfCAncGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYScgfCAncGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hJyB8ICdwZXJJdGVtQWRkcmVzcycgfCAncGVySXRlbVBob25lTnVtYmVyJyB8ICdwZXJQYXNzZW5nZXJBZGRyZXNzJyB8ICdwZXJQYXNzZW5nZXJQaG9uZU51bWJlcicgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdvdXRib3VuZERhdGUnIHwgJ2luYm91bmREYXRlJyB8ICdjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudCcgfCAnY29udmVydGVkQ3VycmVuY3lDb2RlJz5cbiAgICAgICYgeyB1c2VyczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyJyB9XG4gICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICYgeyBzZWxlY3RlZExhbmd1YWdlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTGFuZ3VhZ2UnIH1cbiAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICApPiwgdG1jOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVE1DJyB9XG4gICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgKSwgb2ZmaWNlOiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICApLCBjb21wYW55R3JvdXBzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQ29tcGFueUdyb3VwJyB9XG4gICAgICAgICAgJiBQaWNrPENvbXBhbnlHcm91cCwgJ2lkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55JyB9XG4gICAgICAgICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnc3VwcG9ydEVtYWlsJyB8ICdjbzJDb25zdW1wdGlvblBvbGljeScgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdUTUMnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnT2ZmaWNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgICApPiB9XG4gICAgICAgICAgICApPiwgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICAgKT4sIHBob25lTnVtYmVyczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBzdXBwb3J0UGhvbmVOdW1iZXI/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICAgICAgICAgKT4gfVxuICAgICAgICAgICkgfVxuICAgICAgICApPiwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FkZHJlc3MnIH1cbiAgICAgICAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVyJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVyLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0FwcHJvdmVlJyB9XG4gICAgICAgICAgJiBQaWNrPEFwcHJvdmVlLCAnYWN0aXZlJyB8ICdwcmlvcml0eSc+XG4gICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnRG9jdW1lbnQnIH1cbiAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4gfVxuICAgICAgKT4sIHVzZXJQYXNzZW5nZXJUeXBlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyUGFzc2VuZ2VyVHlwZScgfVxuICAgICAgICAmIFBpY2s8VXNlclBhc3NlbmdlclR5cGUsICdpZCcgfCAncGFzc2VuZ2VyVHlwZSc+XG4gICAgICApPiwgbGVhZFBhc3Nlbmdlcj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnR3Vlc3QnIH1cbiAgICAgICAgJiBQaWNrPEd1ZXN0LCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnPlxuICAgICAgKSB8IChcbiAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJyB8ICdlbWVyZ2VuY3lDb250YWN0TmFtZScgfCAnZW1lcmdlbmN5Q29udGFjdFBob25lJyB8ICdlbWVyZ2VuY3lDb250YWN0RW1haWwnPlxuICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ0RvY3VtZW50JyB9XG4gICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlclByZWZlcmVuY2UnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdVc2VyTG95YWx0eUNvZGUnIH1cbiAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgKT4+IH1cbiAgICAgICk+LCBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1NlcnZpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgICAgICksIG1hbmFnZW1lbnRJbmZvOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mbywgJ2lkJyB8ICdkYklkJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnaGFuZG9mZicgfCAndmFsdWVNYXNrJyB8ICd1aVByZXNlbnRhdGlvbicgfCAnbWFuZGF0b3J5JyB8ICdwZXJQYXNzZW5nZXInIHwgJ3BlckJvb2tpbmcnIHwgJ2FnZW50T25seScgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZW5mb3JjZVVzZXJEZWZhdWx0JyB8ICdib29rZWRCeUZpZWxkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZml4ZWQnIHwgJ2dyb3VwJz5cbiAgICAgICAgJiB7IHNlcnZpY2U6IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZXJ2aWNlJyB9XG4gICAgICAgICAgJiBQaWNrPFNlcnZpY2UsICdpZCcgfCAndHlwZScgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ3N1cHBsaWVyVXJsJyB8ICdhY3RpdmUnIHwgJ2FwaUVuZHBvaW50VXJsJyB8ICdiYXNrZXRJdGVtVHRsJyB8ICdjYW5jZWxsYWJsZScgfCAnYW1lbmRhYmxlJz5cbiAgICAgICAgKSwgZml4ZWRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIGRlZmF1bHRWYWx1ZT86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgc2VsZWN0ZWRWYWx1ZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8U2VsZWN0ZWRNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnZnJlZVZhbHVlJyB8ICdiYXNrZXRMZXZlbFZhbHVlJyB8ICd1c2VyTGV2ZWxWYWx1ZSc+XG4gICAgICAgICAgJiB7IHZhbHVlPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAgICAgJiBQaWNrPE1hbmFnZW1lbnRJbmZvVmFsdWUsICdpZCcgfCAnbGFiZWwnIHwgJ3ZhbHVlJyB8ICdkZWZhdWx0JyB8ICdmaXhlZCcgfCAnYWdlbnRPbmx5Jz5cbiAgICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXInIH1cbiAgICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgICAmIHsgZG9jdW1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICAgICk+PiwgcHJlZmVyZW5jZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgICApPj4sIGxveWFsdHlDb2Rlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBhdmFpbGFibGVQYXltZW50TWV0aG9kczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU6ICdQYXltZW50TWV0aG9kJyB9XG4gICAgICAgICYgUGljazxQYXltZW50TWV0aG9kLCAnaWQnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICAgICk+LCBzZWxlY3RlZFBheW1lbnRNZXRob2Q/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ1BheW1lbnRNZXRob2QnIH1cbiAgICAgICAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nPlxuICAgICAgKT4gfVxuICAgICk+LCBjb21wYW55R3JvdXA/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU6ICdDb21wYW55R3JvdXAnIH1cbiAgICAgICYgUGljazxDb21wYW55R3JvdXAsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICYgeyBjb21wYW55OiAoXG4gICAgICAgIHsgX190eXBlbmFtZTogJ0NvbXBhbnknIH1cbiAgICAgICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAgICAgJiB7IHRtYzogKFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICYgUGljazxUbWMsICdpZCcgfCAnbmFtZSc+XG4gICAgICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdPZmZpY2UnIH1cbiAgICAgICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+LCBhZGRyZXNzZXM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICAgICAgKT4sIHVzZXJzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAndG1jQWRtaW4nIHwgJ2NvbXBhbnlBZG1pbicgfCAnYm9va2VyVHlwZScgfCAnYXV0aE1ldGhvZHMnIHwgJ2FjdGl2ZScgfCAncGFzc3dvcmRMYXN0VXBkYXRlZCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCc+XG4gICAgICAgICAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ0xhbmd1YWdlJyB9XG4gICAgICAgICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICAgICAgICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdMYW5ndWFnZScgfVxuICAgICAgICAgICAgJiBQaWNrPExhbmd1YWdlLCAnaWQnIHwgJ25hbWUnIHwgJ2lzb0NvZGUnPlxuICAgICAgICAgICk+LCB0bWM6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1RNQycgfVxuICAgICAgICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApLCBvZmZpY2U6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ09mZmljZScgfVxuICAgICAgICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY28yQWxsb3dhbmNlUGVyaW9kJyB8ICdjbzJBbGxvd2FuY2VQZXJQZXJpb2QnPlxuICAgICAgICAgICAgJiB7IGFkZHJlc3NlczogQXJyYXk8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdBZGRyZXNzJyB9XG4gICAgICAgICAgICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgICAgICAgICAgICk+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgICApPiB9XG4gICAgICAgICAgKSwgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQWRkcmVzcycgfVxuICAgICAgICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICAgICAgICk+PiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdQaG9uZU51bWJlcicgfVxuICAgICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICAgKT4sIGFwcHJvdmVyczogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZXInIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlciwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBhcHByb3ZlckZvcjogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnQXBwcm92ZWUnIH1cbiAgICAgICAgICAgICYgUGljazxBcHByb3ZlZSwgJ2FjdGl2ZScgfCAncHJpb3JpdHknPlxuICAgICAgICAgICk+LCBkb2N1bWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU6ICdEb2N1bWVudCcgfVxuICAgICAgICAgICAgJiBQaWNrPERvY3VtZW50LCAnaWQnIHwgJ2RvY1R5cGUnIHwgJ25hdGlvbmFsaXR5JyB8ICdnZW5kZXInIHwgJ251bWJlcicgfCAnY291bnRyeScgfCAnY29kZU9mSXNzdWluZ1N0YXRlJyB8ICdkYXRlT2ZJc3N1ZScgfCAnZGF0ZU9mRXhwaXJ5JyB8ICdwcmltYXJ5JyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICAgICAgICAgKT4+LCBwcmVmZXJlbmNlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZTogJ1VzZXJQcmVmZXJlbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlclByZWZlcmVuY2UsICdpZCcgfCAnc2VydmljZVR5cGUnIHwgJ3ByZWZlcmVuY2VLZXknIHwgJ3ByZWZlcmVuY2VWYWx1ZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICAgICAgICk+PiwgbG95YWx0eUNvZGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lOiAnVXNlckxveWFsdHlDb2RlJyB9XG4gICAgICAgICAgICAmIFBpY2s8VXNlckxveWFsdHlDb2RlLCAnaWQnIHwgJ2NhcnJpZXInIHwgJ2NvZGUnIHwgJ3R5cGUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZTogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAgICAgJiBQaWNrPFBob25lTnVtYmVyLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdjb3VudHJ5Q29kZScgfCAnYXJlYUNvZGUnIHwgJ251bWJlcicgfCAnZXh0ZW5zaW9uJyB8ICd0eXBlJyB8ICdvZmZpY2VQcmltYXJ5JyB8ICd1c2VyUHJpbWFyeSc+XG4gICAgICAgICk+IH1cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBFcnJvcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgJiB7IHNlcnZpY2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHcm91cGVkRmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdHcm91cEZsaWdodHMnIH1cbiAgJiBQaWNrPEdyb3VwRmxpZ2h0cywgJ3JlZmVyZW5jZUlEJyB8ICdmbGlnaHRJRCcgfCAnYm91bmRJbmRpY2F0b3InIHwgJ21pblByaWNlJyB8ICdtYXhQcmljZSc+XG4gICYgeyBmbGlnaHRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hdGNoaW5nRmxpZ2h0cycgfVxuICAgICYgUGljazxNYXRjaGluZ0ZsaWdodHMsICdFY29ub215UmVzdHJpY3RlZCcgfCAnRWNvbm9teU5vQmFncycgfCAnRWNvbm9teUZsZXhpJyB8ICdQcmVtaXVtRWNvbm9teScgfCAnQnVzaW5lc3MnIHwgJ0ZpcnN0Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICYgUGljazxGbGlnaHRKb3VybmV5LCAnaWQnIHwgJ2Jvb2tpbmdDb2RlJyB8ICdjYWJpbkNsYXNzJyB8ICdjYWJpbkNvZGUnIHwgJ2NhYmluUmF3JyB8ICdkYXRlVGltZUFycml2aW5nJyB8ICdkYXRlVGltZUFycml2aW5nVVRDJyB8ICdkYXRlVGltZURlcGFydGluZycgfCAnZGF0ZVRpbWVEZXBhcnRpbmdVVEMnIHwgJ2Rlc3RpbmF0aW9uQWlycG9ydCcgfCAnZGVzdGluYXRpb25BaXJwb3J0TmFtZScgfCAnZGVzdGluYXRpb25UZXJtaW5hbCcgfCAnZXF1aXBtZW50Q29kZScgfCAnZXF1aXBtZW50TmFtZScgfCAnZmFyZUJhc2lzQ29kZScgfCAnZ292ZXJuaW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2FycmllcicgfCAnbWFya2V0aW5nQ2Fycmllck5hbWUnIHwgJ21hcmtldGluZ0ZsaWdodE51bWJlcicgfCAnbWFya2V0aW5nTmFtZXMnIHwgJ21hcnJpYWdlR3JvdXAnIHwgJ29wZXJhdGluZ0NhcnJpZXInIHwgJ29wZXJhdGluZ0NhcnJpZXJOYW1lJyB8ICdvcGVyYXRpbmdGbGlnaHROdW1iZXInIHwgJ29yaWdpbkFpcnBvcnQnIHwgJ29yaWdpbkFpcnBvcnROYW1lJyB8ICdvcmlnaW5UZXJtaW5hbCcgfCAnc3RvcHMnIHwgJ3RvdGFsRHVyYXRpb24nIHwgJ3NlYXRzQXZhaWxhYmxlJyB8ICd2ZW5kb3JDb2RlJyB8ICdhZGRpdGlvbmFsJz5cbiAgJiB7IGZhcmVJbmZvPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTcGVjaWFsRmFyZUluZm8nIH1cbiAgICAmIFBpY2s8RmxpZ2h0U3BlY2lhbEZhcmVJbmZvLCAndGl0bGUnIHwgJ3R5cGUnIHwgJ2NvZGUnIHwgJ3N1cHBsaWVyQ29kZSc+XG4gICk+LCBkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWlycG9ydERldGFpbCcgfVxuICAgICYgUGljazxBaXJwb3J0RGV0YWlsLCAnaWF0YScgfCAnaWNhbycgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdyb2FkJyB8ICdwb3B1bGFyaXR5JyB8ICdhcmVhJyB8ICdsb2NhdGlvbicgfCAnb2Zmc2V0JyB8ICdhaXJwb3J0TmFtZScgfCAnY291bnRyeU5hbWUnIHwgJ2NvdW50cnlDb2RlJyB8ICdwb3N0Y29kZSc+XG4gICksIG1hcmtldGluZ0NhcnJpZXJEZXRhaWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FycmllckRldGFpbCcgfVxuICAgICYgUGljazxGbGlnaHRDYXJyaWVyRGV0YWlsLCAnbmFtZScgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdsb2dvJyB8ICdiYW5uZXInIHwgJ3BvcHVsYXJpdHknPlxuICApLCBvcGVyYXRpbmdDYXJyaWVyRGV0YWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcnJpZXJEZXRhaWwnIH1cbiAgICAmIFBpY2s8RmxpZ2h0Q2FycmllckRldGFpbCwgJ25hbWUnIHwgJ2FsaWFzJyB8ICdjYWxsc2lnbicgfCAnaWF0YScgfCAnaWNhbycgfCAnbG9nbycgfCAnYmFubmVyJyB8ICdwb3B1bGFyaXR5Jz5cbiAgKSwgZmFyZUNvbmRpdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICApPj4+IH1cbiAgKSwgb3JpZ2luQWlycG9ydERldGFpbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0RGV0YWlsJyB9XG4gICAgJiBQaWNrPEFpcnBvcnREZXRhaWwsICdpYXRhJyB8ICdpY2FvJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3JvYWQnIHwgJ3BvcHVsYXJpdHknIHwgJ2FyZWEnIHwgJ2xvY2F0aW9uJyB8ICdvZmZzZXQnIHwgJ2FpcnBvcnROYW1lJyB8ICdjb3VudHJ5TmFtZScgfCAnY291bnRyeUNvZGUnIHwgJ3Bvc3Rjb2RlJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0QWxsQWlybGluZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRBbGxBaXJsaW5lczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDT1ZJRE1pY3Jvc2l0ZVRva2VuJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhbmNlbGxhdGlvbkluZm9RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENhbmNlbGxhdGlvbkluZm9RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDYW5jZWxsYXRpb25JbmZvOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0JlZm9yZUNhbmNlbGxhdGlvbkluZm8nIH1cbiAgICAmIFBpY2s8QmVmb3JlQ2FuY2VsbGF0aW9uSW5mbywgJ2NhbmNlbGxhYmxlJyB8ICdpbmZvJyB8ICdjYW5jZWxsYXRpb25GZWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENhckhpcmVEZXBvdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGF0aXR1ZGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGxvbmdpdHVkZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgdmVuZG9yQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmFkaXVzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2FySGlyZURlcG90c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENhckhpcmVEZXBvdHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FySGlyZURlcG90JyB9XG4gICAgJiBQaWNrPENhckhpcmVEZXBvdCwgJ2NvdW50cnlDb2RlJyB8ICdsb2NhdGlvbkNvZGUnIHwgJ2V4dGVuZGVkTG9jYXRpb25Db2RlJyB8ICd2ZW5kb3JDb2RlJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICd2ZW5kb3InIHwgJ2FkZHJlc3NMaW5lcycgfCAnY2l0eU5hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDYXJIaXJlUHJvdmlkZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDYXJIaXJlUHJvdmlkZXJzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbXBhbmllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbXBhbmllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbXBhbmllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55JyB9XG4gICAgJiBQaWNrPENvbXBhbnksICdpZCcgfCAnbmFtZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3N1cHBvcnRFbWFpbCcgfCAnY28yQ29uc3VtcHRpb25Qb2xpY3knIHwgJ2NvMkFsbG93YW5jZVBlcmlvZCcgfCAnY28yQWxsb3dhbmNlUGVyUGVyaW9kJz5cbiAgICAmIHsgdG1jOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVE1DJyB9XG4gICAgICAmIFBpY2s8VG1jLCAnaWQnIHwgJ25hbWUnPlxuICAgICksIG9mZmljZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPZmZpY2UnIH1cbiAgICAgICYgUGljazxPZmZpY2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDb21wYW55UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29tcGFueVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbXBhbnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29tcGFueScgfVxuICAgICYgUGljazxDb21wYW55LCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdzdXBwb3J0RW1haWwnIHwgJ2NvMkNvbnN1bXB0aW9uUG9saWN5JyB8ICdjbzJBbGxvd2FuY2VQZXJpb2QnIHwgJ2NvMkFsbG93YW5jZVBlclBlcmlvZCc+XG4gICAgJiB7IHRtYzogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RNQycgfVxuICAgICAgJiBQaWNrPFRtYywgJ2lkJyB8ICduYW1lJz5cbiAgICApLCBvZmZpY2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgICAmIFBpY2s8T2ZmaWNlLCAnaWQnIHwgJ25hbWUnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgICApPiwgdXNlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgICAmIFVzZXJzRnJhZ21lbnRcbiAgICApPiwgc3VwcG9ydFBob25lTnVtYmVyPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Bob25lTnVtYmVyJyB9XG4gICAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXNlcnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAnZW1haWwnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgb2ZmaWNlSWQ6IFNjYWxhcnNbJ0ludCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRDb25mZXJtYU9mZmljZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYU9mZmljZVJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlSW5mbycgfVxuICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSW5mbywgJ2lkJyB8ICduYW1lJyB8ICdjbG9zZXN0QWlycG9ydCcgfCAnY2xvc2VzdFRyYWluU3RhdGlvbicgfCAnbG9uZ2l0dWRlJyB8ICdsYXRpdHVkZSc+XG4gICAgICAmIHsgYWRkcmVzcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8Q29uZmVybWFPZmZpY2VBZGRyZXNzLCAnYWRkcmVzc05hbWUnIHwgJ2FkZHJlc3NMaW5lMScgfCAnYWRkcmVzc0xpbmUyJyB8ICdhZGRyZXNzTGluZTMnIHwgJ3Bvc3RhbENvZGUnIHwgJ2NpdHknIHwgJ2NvdW50cnlDb2RlJyB8ICdjb3VudHJ5TmFtZScgfCAndGVsZXBob25lTnVtYmVyJyB8ICdmYWNzaW1pbGVOdW1iZXInIHwgJ2VtYWlsQWRkcmVzcycgfCAnc3RhdGVQcm92aW5jZScgfCAnbW9iaWxlTnVtYmVyJz5cbiAgICAgICk+LCBjbG9zZXN0SG90ZWxzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VIb3RlbHMnIH1cbiAgICAgICAgJiBQaWNrPENvbmZlcm1hT2ZmaWNlSG90ZWxzLCAnaG90ZWxJZCcgfCAnaG90ZWxOYW1lJyB8ICdpc1ByZWZlcnJlZCc+XG4gICAgICApPj4+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldENvbmZlcm1hT2ZmaWNlTmFtZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmVybWFPZmZpY2VOYW1lc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZlcm1hT2ZmaWNlTmFtZXMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYU9mZmljZU5hbWVzLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNvdW50cnlDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0Q29uZmVybWFRdWlja2xpc3Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAndmVyc2lvbic+XG4gICAgICAmIHsgbG9jYXRpb246IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsTG9jYXRpb24sICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICksIGFkZHJlc3M6IChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQWRkcmVzcycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxBZGRyZXNzLCAnYWRkcmVzc0xpbmUxJyB8ICdhZGRyZXNzTGluZTInIHwgJ2FkZHJlc3NMaW5lMycgfCAncG9zdE9yWmlwQ29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3RlbGVwaG9uZScgfCAnZmFjc2ltaWxlJz5cbiAgICAgICksIHRyYW5zcG9ydHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRyYW5zcG9ydCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUcmFuc3BvcnQsICd0eXBlJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkaXN0YW5jZScgfCAnZGlzdGFuY2VUeXBlJyB8ICdsb25naXR1ZGUnIHwgJ2xhdGl0dWRlJz5cbiAgICAgICk+Pj4sIHByZWZlcnJlZDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQcmVmZXJyZWQnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsUHJlZmVycmVkLCAnY2xpZW50JyB8ICdjb25zdW1lcic+XG4gICAgICApLCB0YWdzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYWcnIH1cbiAgICAgICAgJiBQaWNrPEhvdGVsVGFnLCAnbmFtZScgfCAnZGlzcGxheScgfCAndHlwZScgfCAnaWNvbic+XG4gICAgICApPj4+LCBhdmFpbGFibGVSYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICAgICAgICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgICAgICAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAgICAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICAgICAgICAmIHsgY3VycmVuY3lDb252ZXJzaW9uPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ29udmVyc2lvbicgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ29udmVyc2lvbiwgJ3JhdGUnIHwgJ2xvY2FsQ29kZScgfCAnbG9jYWxUb3RhbCcgfCAnY29udmVydGVkQ29kZScgfCAnY29udmVydGVkVG90YWwnPlxuICAgICAgICAgICk+LCBkZXBvc2l0PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsRGVwb3NpdCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsRGVwb3NpdCwgJ2Ftb3VudCcgfCAncG9saWN5JyB8ICdyZXF1aXJlZCc+XG4gICAgICAgICAgKT4sIG5pZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTmlnaHQnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbE5pZ2h0LCAnbmlnaHQnIHwgJ3JhdGUnIHwgJ2luZm8nIHwgJ2RhdGUnPlxuICAgICAgICAgICk+LCBwb2xpY2llczogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsUG9saWN5JyB9XG4gICAgICAgICAgICAmIFBpY2s8SG90ZWxQb2xpY3ksICdjYW5jZWxsYXRpb24nIHwgJ2RlcG9zaXQnIHwgJ2Rpc2FibGVkQWNjZXNzJyB8ICdnZW5lcmFsJyB8ICdndWFyYW50ZWUnIHwgJ3JlZnVuZEF2YWlsYWJsZSc+XG4gICAgICAgICAgKSwgdGF4OiAoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxUYXgnIH1cbiAgICAgICAgICAgICYgUGljazxIb3RlbFRheCwgJ2luY2x1ZGVkJyB8ICdyYXRlJz5cbiAgICAgICAgICApLCBhY2NlcHRlZENhcmRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQ2FyZCcgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsQ2FyZCwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+LCBwYXltZW50VHlwZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQYXltZW50VHlwZScgfVxuICAgICAgICAgICAgJiBQaWNrPEhvdGVsUGF5bWVudFR5cGUsICd0eXBlJyB8ICduYW1lJz5cbiAgICAgICAgICApPj4+IH1cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiB9XG4gICAgKT4+PiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGhvdGVsSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRDb25mZXJtYVJvb21JbWFnZXMnPlxuKTtcblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0RmFyZVJ1bGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVSdWxlc1Jlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0RmFyZVJ1bGVzUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRGYXJlUnVsZXNSZXNwb25zZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnPlxuICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgKT4+PiB9XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIEVycm9yc0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXk7XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGbGlnaHRTZWF0TWFwUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0RmxpZ2h0U2VhdE1hcDogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWF0TWFwUmVzcG9uc2UnIH1cbiAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwUmVzcG9uc2UsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJz5cbiAgICAgICYgeyBhaXJjcmFmdDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhdE1hcEFpcmNyYWZ0JyB9XG4gICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwQWlyY3JhZnQsICdjYXJyaWVyJyB8ICdudW1iZXInIHwgJ3R5cGUnPlxuICAgICAgKSwgc2VhdHM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0cycgfVxuICAgICAgICAmIFBpY2s8RmxpZ2h0U2VhdE1hcFNlYXRzLCAncm93JyB8ICdjb2x1bW4nIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICYgeyBhdHRyaWJ1dGVzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodFNlYXRNYXBTZWF0QXR0cmlidXRlcycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRTZWF0TWFwU2VhdEF0dHJpYnV0ZXMsICdjb2RlJyB8ICdkZXNjcmlwdGlvbic+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgUGljazxTZWFyY2hFcnJvciwgJ2Vycm9yTWVzc2FnZScgfCAnZXJyb3JDb2RlJz5cbiAgICAgICYgeyBzZXJ2aWNlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZXJ2aWNlJyB9XG4gICAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEhvdGVsQ2hhaW5zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdnZXRIb3RlbENoYWlucyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybERpc2NvdW50Q2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRJUkxEaXNjb3VudENhcmRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbENhcmQnIH1cbiAgICAmIFBpY2s8SXJsVHJhdmVsQ2FyZCwgJ2lkJyB8ICduZXRDb2RlJyB8ICdyZWNvJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdzdXBwbGllcic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBzdXBwbGllcj86IE1heWJlPElybFN1cHBsaWVyPjtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldElSTFN1cHBsaWVyU3RhdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU3VwcGxpZXJTdGF0aW9uJyB9XG4gICAgJiBQaWNrPElybFN1cHBsaWVyU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdXBwbGllcicgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnPlxuICAgICYgeyBsb2NhdGlvbkRldGFpbHM/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYXRpb25EZXRhaWwnIH1cbiAgICAgICYgUGljazxMb2NhdGlvbkRldGFpbCwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3N0YXRlJyB8ICdjaXR5JyB8ICdwb3N0Y29kZScgfCAncm9hZCcgfCAnZ3JpZFJlZmVyZW5jZScgfCAnbm9ydGhpbmcnIHwgJ2Vhc3RpbmcnPlxuICAgICAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnR2VvQ29vcmRpbmF0ZXMnIH1cbiAgICAgICAgJiBQaWNrPEdlb0Nvb3JkaW5hdGVzLCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZScgfCAnYWx0aXR1ZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN0YXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0RGF0ZVRpbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsTGl2ZURlcGFydHVyZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGl2ZURlcEJvYXJkUmVzdWx0JyB9XG4gICAgJiB7IHNlcnZpY2VzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0RlcGFydHVyZUJvYXJkU2VydmljZScgfVxuICAgICAgJiBQaWNrPERlcGFydHVyZUJvYXJkU2VydmljZSwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29wZXJhdG9yJyB8ICdvcGVyYXRvckNvZGUnIHwgJ3N0ZCcgfCAnZXRkJyB8ICdkZXBhcnR1cmVUeXBlJyB8ICdkZXBhcnR1cmVTb3VyY2UnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUlzSGlkZGVuJz5cbiAgICAgICYgeyBvcmlnaW4/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8TG9jYXRpb24sICdsb2NhdGlvbk5hbWUnIHwgJ3RpcGxvYycgfCAnY3JzJz5cbiAgICAgICk+LCBkZXN0aW5hdGlvbj86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uJyB9XG4gICAgICAgICYgUGljazxMb2NhdGlvbiwgJ2xvY2F0aW9uTmFtZScgfCAndGlwbG9jJyB8ICdjcnMnPlxuICAgICAgKT4sIHN1YnNlcXVlbnRMb2NhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdzdWJzZXF1ZW50TG9jYXRpb25zJyB9XG4gICAgICAgICYgUGljazxTdWJzZXF1ZW50TG9jYXRpb25zLCAnbG9jYXRpb25OYW1lJyB8ICd0aXBsb2MnIHwgJ2NycycgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtSXNIaWRkZW4nIHwgJ3N0YScgfCAnZXRhJyB8ICdhcnJpdmFsVHlwZScgfCAnYXJyaXZhbFNvdXJjZScgfCAnc3RkJyB8ICdldGQnIHwgJ2RlcGFydHVyZVR5cGUnIHwgJ2RlcGFydHVyZVNvdXJjZSc+XG4gICAgICAgICYgeyBhc3NvY2lhdGlvbnM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc29jaWF0aW9uJyB9XG4gICAgICAgICAgJiBQaWNrPEFzc29jaWF0aW9uLCAnY2F0ZWdvcnknIHwgJ3JpZCcgfCAndWlkJyB8ICd0cmFpbmlkJyB8ICdzZGQnIHwgJ29yaWdpbicgfCAnb3JpZ2luQ1JTJyB8ICdvcmlnaW5UaXBsb2MnIHwgJ2Rlc3RpbmF0aW9uJyB8ICdkZXN0Q1JTJyB8ICdkZXN0VGlwbG9jJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPj4+IH1cbiAgICApPj4+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFN0YXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsU3RhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsU3RhdGlvbicgfVxuICAgICYgUGljazxSYWlsU3RhdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZScgfCAnaGFzVG9kJz5cbiAgICAmIHsgbG9jYXRpb25EZXRhaWxzPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgICAgICYgeyBjb29yZGluYXRlcz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRSYWlsY2FyZHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRSYWlsY2FyZHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXInIH1cbiAgICAmIFBpY2s8UmVmZXJlbmNlUmFpbENhcmRRdWFsaWZpZXIsICduYW1lJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnZ2V0UmFpbFByb3ZpZGVycyc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG1pbkxldmVsOiBSaXNrTGV2ZWw7XG4gIG1heExldmVsOiBSaXNrTGV2ZWw7XG4gIGNvdW50cnlJc29Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBhaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJhaWxTdGF0aW9uPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFpcnBvcnRJYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Umlza0FsZXJ0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFJpc2tBbGVydHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmlza0FsZXJ0JyB9XG4gICAgJiBQaWNrPFJpc2tBbGVydCwgJ2lkJyB8ICd0aXRsZScgfCAnZGVzY3JpcHRpb24nIHwgJ2JyZWFraW5nJyB8ICdyaXNrJyB8ICdjYXRlZ29yeScgfCAnY291bnRyeScgfCAnbG9jYXRpb24nIHwgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ3N0YXJ0RGF0ZScgfCAnZW5kRGF0ZScgfCAncmVjZWl2ZWREYXRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJBZGRyZXNzZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQ29tcGFueU9mZmljZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT2ZmaWNlJyB9XG4gICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJz5cbiAgICAmIHsgYWRkcmVzc2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ251bWJlck9yTmFtZScgfCAnc3RyZWV0JyB8ICd0b3duJyB8ICdjb3VudHknIHwgJ3Bvc3Rjb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndXNlclByaW1hcnknIHwgJ29mZmljZVByaW1hcnknPlxuICAgICk+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcj86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZT86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FyYm9uQWxsb3dhbmNlJyB9XG4gICAgJiBQaWNrPENhcmJvbkFsbG93YW5jZSwgJ2lkJyB8ICdzdGFydE9mUGVyaW9kJyB8ICdlbmRPZlBlcmlvZCcgfCAncmVtYWluaW5nQ28yJyB8ICd0b3RhbENvMicgfCAnY2FyYm9uUG9saWN5U291cmNlJz5cbiAgICAmIHsgY29tcGFueT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb21wYW55JyB9XG4gICAgICAmIFBpY2s8Q29tcGFueSwgJ2lkJyB8ICduYW1lJz5cbiAgICApPiwgb2ZmaWNlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09mZmljZScgfVxuICAgICAgJiBQaWNrPE9mZmljZSwgJ2lkJyB8ICduYW1lJz5cbiAgICApPiwgdXNlcjogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCc+XG4gICAgKSwgcGVyaW9kQ29uc3VtcHRpb246IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDYXJib25Db25zdW1wdGlvbicgfVxuICAgICAgJiBQaWNrPENhcmJvbkNvbnN1bXB0aW9uLCAnaWQnIHwgJ2NvbnN1bWVkJyB8ICdkYXRldGltZSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncyc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJHdWVzdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJHdWVzdHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyR3Vlc3RzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0d1ZXN0JyB9XG4gICAgJiBQaWNrPEd1ZXN0LCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ2dlbmRlcicgfCAnbmF0aW9uYWxpdHknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBtaTogU2NhbGFyc1snSUQnXTtcbiAgcGFydGlhbExhYmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlck1JQXV0b1N1Z2dlc3RWYWx1ZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclBob25lUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgc2VydmljZVR5cGU/OiBNYXliZTxTZXJ2aWNlVHlwZT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyUmVjZW50U2VhcmNoZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJyB8ICduYW1lJyB8ICdzZXJ2aWNlVHlwZScgfCAnc2VhcmNoQXJncycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RyYXZlbERhdGUnPlxuICAgICYgeyB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdkb2InPlxuICAgICk+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsQXZhaWxhYmlsaXR5JyB9XG4gICYgUGljazxIb3RlbEF2YWlsYWJpbGl0eSwgJ2hvdGVsSWQnIHwgJ2ltYWdlVXJsJyB8ICdwcnBuJyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2lzQnVzeScgfCAnc291cmNlJyB8ICd2ZXJzaW9uJz5cbiAgJiB7IHJvb21zPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFJvb20nIH1cbiAgICAmIFBpY2s8SG90ZWxSb29tLCAncm9vbUlkJyB8ICdyb29tVHlwZScgfCAncm9vbURlc2NyaXB0aW9uJyB8ICdyYXRlQ29kZScgfCAncmF0ZVNvdXJjZScgfCAncmF0ZURlc2NyaXB0aW9uJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnPlxuICAgICYgeyBjdXJyZW5jeUNvbnZlcnNpb24/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDb252ZXJzaW9uJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDb252ZXJzaW9uLCAncmF0ZScgfCAnbG9jYWxDb2RlJyB8ICdsb2NhbFRvdGFsJyB8ICdjb252ZXJ0ZWRDb2RlJyB8ICdjb252ZXJ0ZWRUb3RhbCc+XG4gICAgKT4sIGRlcG9zaXQ/OiBNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxEZXBvc2l0JyB9XG4gICAgICAmIFBpY2s8SG90ZWxEZXBvc2l0LCAnYW1vdW50JyB8ICdwb2xpY3knIHwgJ3JlcXVpcmVkJz5cbiAgICApPiwgbmlnaHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxOaWdodCcgfVxuICAgICAgJiBQaWNrPEhvdGVsTmlnaHQsICduaWdodCcgfCAncmF0ZScgfCAnaW5mbycgfCAnZGF0ZSc+XG4gICAgKT4sIHBvbGljaWVzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxQb2xpY3knIH1cbiAgICAgICYgUGljazxIb3RlbFBvbGljeSwgJ2NhbmNlbGxhdGlvbicgfCAnZGVwb3NpdCcgfCAnZGlzYWJsZWRBY2Nlc3MnIHwgJ2dlbmVyYWwnIHwgJ2d1YXJhbnRlZScgfCAncmVmdW5kQXZhaWxhYmxlJz5cbiAgICApLCB0YXg6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRheCcgfVxuICAgICAgJiBQaWNrPEhvdGVsVGF4LCAnaW5jbHVkZWQnIHwgJ3JhdGUnPlxuICAgICksIGFjY2VwdGVkQ2FyZHM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxDYXJkJyB9XG4gICAgICAmIFBpY2s8SG90ZWxDYXJkLCAnaWQnIHwgJ25hbWUnPlxuICAgICk+Pj4sIHBheW1lbnRUeXBlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFBheW1lbnRUeXBlJyB9XG4gICAgICAmIFBpY2s8SG90ZWxQYXltZW50VHlwZSwgJ3R5cGUnIHwgJ25hbWUnPlxuICAgICk+Pj4gfVxuICApPj4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEhvdGVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGFydERhdGU6IFNjYWxhcnNbJ0RhdGUnXTtcbiAgZW5kRGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBjaXR5TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdE9yWmlwQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGxhdGl0dWRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGxvbmdpdHVkZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICB0cmFpblN0YXRpb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBpYXRhPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBvZmZpY2VJZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcm9vbXM6IFNjYWxhcnNbJ0ludCddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY3VycmVuY3k6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXN0YW5jZVR5cGU6IERpc3RhbmNlVHlwZXM7XG4gIGRpc3RhbmNlOiBTY2FsYXJzWydJbnQnXTtcbiAgbWF4UmVzdWx0cz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgaG90ZWxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBncm91cE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbHNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hIb3RlbHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEl0aW5lcmFyeScgfVxuICAgICAgJiBQaWNrPEhvdGVsSXRpbmVyYXJ5LCAnaWQnIHwgJ25hbWUnIHwgJ2ltYWdlVXJsJyB8ICdncm91cCcgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJz5cbiAgICAgICYgeyBsb2NhdGlvbjogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxMb2NhdGlvbicgfVxuICAgICAgICAmIFBpY2s8SG90ZWxMb2NhdGlvbiwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKSwgYWRkcmVzczogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBZGRyZXNzJyB9XG4gICAgICAgICYgUGljazxIb3RlbEFkZHJlc3MsICdhZGRyZXNzTGluZTEnIHwgJ2FkZHJlc3NMaW5lMicgfCAnYWRkcmVzc0xpbmUzJyB8ICdwb3N0T3JaaXBDb2RlJyB8ICdjb3VudHJ5Q29kZScgfCAndGVsZXBob25lJyB8ICdmYWNzaW1pbGUnPlxuICAgICAgKSwgdHJhbnNwb3J0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsVHJhbnNwb3J0JyB9XG4gICAgICAgICYgUGljazxIb3RlbFRyYW5zcG9ydCwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rpc3RhbmNlJyB8ICdkaXN0YW5jZVR5cGUnIHwgJ2xvbmdpdHVkZScgfCAnbGF0aXR1ZGUnPlxuICAgICAgKT4+PiwgcHJlZmVycmVkOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFByZWZlcnJlZCcgfVxuICAgICAgICAmIFBpY2s8SG90ZWxQcmVmZXJyZWQsICdjbGllbnQnIHwgJ2NvbnN1bWVyJz5cbiAgICAgICksIHRhZ3M/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbFRhZycgfVxuICAgICAgICAmIFBpY2s8SG90ZWxUYWcsICduYW1lJyB8ICdkaXNwbGF5JyB8ICd0eXBlJyB8ICdpY29uJz5cbiAgICAgICk+Pj4sIGF2YWlsYWJsZVJhdGVzPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSG90ZWxBdmFpbGFiaWxpdHknIH1cbiAgICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBob3RlbDogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+IHwgU2NhbGFyc1snU3RyaW5nJ107XG4gIHN0YXJ0RGF0ZTogU2NhbGFyc1snRGF0ZSddO1xuICBlbmREYXRlOiBTY2FsYXJzWydEYXRlJ107XG4gIGN1cnJlbmN5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb2NjdXBhbnRzOiBTY2FsYXJzWydJbnQnXTtcbiAgcm9vbXM/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hvdGVsTXVsdGlBdmFpbGFiaWxpdHlSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIb3RlbEF2YWlsYWJpbGl0eScgfVxuICAgICAgJiBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRcbiAgICApPj4+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBJc1Bvc3Rjb2RlVmFsaWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgSXNQb3N0Y29kZVZhbGlkUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIFBpY2s8UXVlcnksICdpc1Bvc3Rjb2RlVmFsaWQnPlxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAmIFBpY2s8TG9jYXRpb25EZXRhaWwsICdjb250aW5lbnQnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdzdGF0ZScgfCAnY2l0eScgfCAncG9zdGNvZGUnIHwgJ3JvYWQnIHwgJ2dyaWRSZWZlcmVuY2UnIHwgJ25vcnRoaW5nJyB8ICdlYXN0aW5nJz5cbiAgJiB7IGNvb3JkaW5hdGVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICYgUGljazxHZW9Db29yZGluYXRlcywgJ2xhdGl0dWRlJyB8ICdsb25naXR1ZGUnIHwgJ2FsdGl0dWRlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaGFzTG91bmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaGFzUGFya2luZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGhhc0Zhc3RUcmFjaz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJwb3J0c1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcnBvcnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcnBvcnRSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiwgZ2VuZXJhbE1hdGNoZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJwb3J0JyB9XG4gICAgICAmIFBpY2s8QWlycG9ydCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICd0ZXJtaW5hbHMnPlxuICAgICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2F0aW9uRGV0YWlsJyB9XG4gICAgICAgICYgTG9jYXRpb25fRGV0YWlsRnJhZ21lbnRcbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoTG91bmdlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcnJpdmFsRGF0ZXRpbWU6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGFkdWx0czogU2NhbGFyc1snSW50J107XG4gIGNoaWxkcmVuPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBpbmZhbnRzPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0ZXJtaW5hbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hMb3VuZ2VzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0xvdW5nZVNlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlUXVvdGUnIH1cbiAgICAgICYgUGljazxMb3VuZ2VRdW90ZSwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ3ByaWNlJyB8ICdjdXJyZW5jeScgfCAndG1jUHJlZmVycmVkJyB8ICdjb21wYW55UHJlZmVycmVkJyB8ICdvZmZpY2VQcmVmZXJyZWQnIHwgJ3RtY1ByZWZlcnJlZE1lc3NhZ2UnIHwgJ2NvbXBhbnlQcmVmZXJyZWRNZXNzYWdlJyB8ICdvZmZpY2VQcmVmZXJyZWRNZXNzYWdlJyB8ICd1bmF2YWlsYWJsZScgfCAndW5hdmFpbGFibGVNZXNzYWdlJyB8ICdyZXF1aXJlc1JlYXNvbicgfCAncmVxdWlyZXNSZWFzb25NZXNzYWdlJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NvMlBlckl0ZW0nPlxuICAgICAgJiB7IGxvdW5nZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG91bmdlTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPExvdW5nZUxvY2F0aW9uLCAnY29kZScgfCAnbmFtZScgfCAnYWlycG9ydCcgfCAndGVybWluYWwnIHwgJ2FkZHJlc3MnIHwgJ3RlbGVwaG9uZScgfCAnZmF4JyB8ICdkaXJlY3Rpb25zJyB8ICdpbnRyb2R1Y3Rpb24nIHwgJ2xvZ28nIHwgJ21vYmlsZUltYWdlJyB8ICdmdXJ0aGVySW1hZ2VzJyB8ICdhZHVsdEFnZScgfCAnY2hpbGRBZ2UnIHwgJ2luZmFudEFnZScgfCAnbGFuZHNpZGUnIHwgJ2FpcnNpZGUnIHwgJ2ZhY2lsaXRpZXMnIHwgJ29wZW5UaW1lJyB8ICdjbG9zZVRpbWUnIHwgJ3dpZmknIHwgJ3R2JyB8ICdzbmFja3MnIHwgJ3Bob25lJyB8ICdpbnRlcm5ldCcgfCAnY2hpbGRyZW5BbGxvd2VkJyB8ICdkaXNhYmxlZEFjY2VzcycgfCAnZHJpbmtzJyB8ICdmcmVlRHJpbmtzJyB8ICdmcmVlRm9vZCcgfCAnc21va2luZ1Blcm1pdHRlZCcgfCAnbWFnYXppbmVzJyB8ICdpbmNsdWRlZERyaW5rcycgfCAnbWVudUZvb2QnIHwgJ21lbnVEcmlua3MnIHwgJ21lbnVFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWREcmlua3MnIHwgJ3doYXRzSW5jbHVkZWRFeHRyYXMnIHwgJ3doYXRzSW5jbHVkZWRGb29kJyB8ICdncm91cEluZm8nIHwgJ2NoZWNrSW5JbmZvJyB8ICdkcmVzc0NvZGUnIHwgJ2ZhY2lsaXRpZXNJbmZvJyB8ICdmb29kQW5kQmV2ZXJhZ2UnIHwgJ2NhbmNlbGxhdGlvbkluZm8nIHwgJ2FtZW5kbWVudHNJbmZvJyB8ICdtaXNjJz5cbiAgICAgICkgfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgbmV3QmFza2V0OiBTY2FsYXJzWydJRCddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnREYXRldGltZTogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbG9jYXRpb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3V0RmxpZ2h0TnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWNvbW1lbmRlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG9uQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1lZXRBbmRHcmVldD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhcmtBbmRSaWRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGFya0FuZFN0cm9sbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGNhclBhcmtlZEZvcllvdT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRlcm1pbmFsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZ1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFBhcmtpbmc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1NlYXJjaFJlc3VsdCcgfVxuICAgICYgeyByZXN1bHRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGFya2luZ1F1b3RlJyB9XG4gICAgICAmIFBpY2s8UGFya2luZ1F1b3RlLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAncmVxdWlyZWRJbmZvJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ21pc2MnIHwgJ3RtY1ByZWZlcnJlZCcgfCAnY29tcGFueVByZWZlcnJlZCcgfCAnb2ZmaWNlUHJlZmVycmVkJyB8ICd0bWNQcmVmZXJyZWRNZXNzYWdlJyB8ICdjb21wYW55UHJlZmVycmVkTWVzc2FnZScgfCAnb2ZmaWNlUHJlZmVycmVkTWVzc2FnZScgfCAndW5hdmFpbGFibGUnIHwgJ3VuYXZhaWxhYmxlTWVzc2FnZScgfCAncmVxdWlyZXNSZWFzb24nIHwgJ3JlcXVpcmVzUmVhc29uTWVzc2FnZScgfCAnY28yUGVyUGFzc2VuZ2VyJyB8ICdjbzJQZXJJdGVtJz5cbiAgICAgICYgeyBjYXJQYXJrOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQYXJraW5nTG9jYXRpb24nIH1cbiAgICAgICAgJiBQaWNrPFBhcmtpbmdMb2NhdGlvbiwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2FpcnBvcnQnIHwgJ3Rlcm1pbmFsJyB8ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhZGRyZXNzJyB8ICdkaXN0YW5jZVRvQWlycG9ydCcgfCAnb25BaXJwb3J0JyB8ICdjYXJQYXJrZWRGb3JZb3UnIHwgJ21lZXRBbmRHcmVldCcgfCAndGVsZXBob25lJyB8ICdmYXgnIHwgJ2RpcmVjdGlvbnMnIHwgJ2Fycml2YWxQcm9jZWR1cmUnIHwgJ2RlcGFydHVyZVByb2NlZHVyZScgfCAnbWF4aW11bUNhclNpemUnIHwgJ2ludHJvZHVjdGlvbicgfCAnaW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVySW5mb3JtYXRpb24nIHwgJ3RyYW5zZmVyT3BlcmF0aW5nVGltZXMnIHwgJ3RyYW5zZmVyVGltZScgfCAnbG9nbycgfCAnZGVmYXVsdEltYWdlJyB8ICdicmFuZEltYWdlJyB8ICdtb2JpbGVJbWFnZScgfCAnZnVydGhlckltYWdlcycgfCAnbWlzYyc+XG4gICAgICApIH1cbiAgICApPiwgZXJyb3JzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoRXJyb3InIH1cbiAgICAgICYgRXJyb3JzRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgJiBQaWNrPFJhaWxKb3VybmV5RmFyZSwgJ3Byb3ZpZGVySWQnIHwgJ3Byb3ZpZGVyTmFtZScgfCAndHlwZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5JyB8ICdmYXJlSGFzaCcgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdtb2JpbGVUaWNrZXRBdmFpbGFibGUnIHwgJ2VUaWNrZXRBdmFpbGFibGUnIHwgJ3NlbGZQcmludEF2YWlsYWJsZScgfCAncmFpbGNhcmRDb2RlJz5cbiAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSWRlbnRpZmllcnMnIH1cbiAgICAmIFBpY2s8UmFpbElkZW50aWZpZXJzLCAndHJhbnNhY3Rpb25JZGVudGlmaWVyJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgKT4sIHRlcm1zPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0VGVybXMnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldFRlcm1zLCAnYXZhaWxhYmlsaXR5UnVsZScgfCAnY2hhbmdlUnVsZScgfCAnY2hpbGREaXNjb3VudCcgfCAnZ2VuZXJhbERpc2NvdW50JyB8ICdnZW5lcmFsVmFsaWRpdHknIHwgJ2pvdXJuZXlCcmVha1J1bGUnIHwgJ2pvdXJuZXlUeXBlJyB8ICdraW9za0F2YWlsYWJsZScgfCAncHJlQm9va2luZ1JlcXVpcmVtZW50JyB8ICdyYWlsY2FyZERpc2NvdW50JyB8ICdyb3V0ZScgfCAncmVmdW5kQ2FuY2VsbGF0aW9uUnVsZScgfCAncmVzZXJ2YXRpb25SdWxlJyB8ICd0aWNrZXRUeXBlQWx0TmFtZScgfCAndGlja2V0VHlwZUNsYXNzJyB8ICd0aWNrZXRUeXBlQ29kZScgfCAndGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvbicgfCAndGlja2V0VHlwZU5hbWUnIHwgJ3RvZEF2YWlsYWJsZScgfCAndHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZScgfCAndmFsaWRPdXRSdWxlJyB8ICd2YWxpZFJldHVyblJ1bGUnPlxuICAgICYgeyBkeW5hbWljQ29uZGl0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdEeW5hbWljQ29uZGl0aW9uJyB9XG4gICAgICAmIFBpY2s8RHluYW1pY0NvbmRpdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApPj4+IH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9uJyB9XG4gICYgUGljazxSYWlsSm91cm5leU9wdGlvbiwgJ2Zyb20nIHwgJ2Zyb21Db2RlJyB8ICd0bycgfCAndG9Db2RlJyB8ICdqb3VybmV5SGFzaCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjbzJQZXJJdGVtJyB8ICdjbzJQZXJQYXNzZW5nZXInIHwgJ2NoYW5nZXMnIHwgJ292ZXJ0YWtlbic+XG4gICYgeyBqb3VybmV5TGVnczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUxlZycgfVxuICAgICYgUGljazxSYWlsSm91cm5leUxlZywgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdkZXBhcnREYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cyc+XG4gICAgJiB7IGNhbGxpbmdQb2ludHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsQ2FsbGluZ1BvaW50JyB9XG4gICAgICAmIFBpY2s8UmFpbENhbGxpbmdQb2ludCwgJ3N0YXRpb25OYW1lJyB8ICdzdGF0aW9uQ29kZScgfCAnYXJyaXZhbERhdGVUaW1lJyB8ICdkZXBhcnR1cmVEYXRlVGltZScgfCAnc2NoZWR1bGVkUGxhdGZvcm0nIHwgJ3N0YXRpb25DbGFzc2lmaWNhdGlvbicgfCAnc3RvcHBpbmdQYXR0ZXJuJz5cbiAgICApPiB9XG4gICk+LCBzaW5nbGVKb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCByZXR1cm5Kb3VybmV5RmFyZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5RmFyZScgfVxuICAgICYgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRcbiAgKT4+LCBkdWFsU2luZ2xlSm91cm5leUZhcmVzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leUZhcmUnIH1cbiAgICAmIFJhaWxKb3VybmV5RmFyZUZyYWdtZW50XG4gICk+Piwgb3BlblJldHVybkpvdXJuZXlGYXJlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlGYXJlJyB9XG4gICAgJiBSYWlsSm91cm5leUZhcmVGcmFnbWVudFxuICApPj4sIHRpY2tldFF1ZXVlTGlzdD86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFRpY2tldFF1ZXVlJyB9XG4gICAgJiBQaWNrPFJhaWxUaWNrZXRRdWV1ZSwgJ2lkJyB8ICduYW1lJyB8ICd0eXBlJz5cbiAgKT4+LCBhY2NvdW50c0xpc3Q/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxBY2NvdW50JyB9XG4gICAgJiBQaWNrPFJhaWxBY2NvdW50LCAnaWQnIHwgJ3JlZmVyZW5jZScgfCAnZGVzY3JpcHRpb24nIHwgJ2lzRGVmYXVsdCcgfCAndHlwZSc+XG4gICk+PiwgdGlja2V0RXh0cmFzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmEnIH1cbiAgICAmIFBpY2s8UmFpbFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsVGlja2V0RXh0cmFJZGVudGlmaWVycycgfVxuICAgICAgJiBQaWNrPFJhaWxUaWNrZXRFeHRyYUlkZW50aWZpZXJzLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2pvdXJuZXlJZCcgfCAnaXNPcmlnaW4nPlxuICAgICk+IH1cbiAgKT4+LCBwbHVzQnVzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSYWlsUGx1c0J1cycgfVxuICAgICYgUGljazxSYWlsUGx1c0J1cywgJ29yaWdpblBsdXNCdXNOTEMnIHwgJ29yaWdpblN0YXRpb25OTEMnIHwgJ2Rlc3RpbmF0aW9uUGx1c0J1c05MQycgfCAnZGVzdGluYXRpb25TdGF0aW9uTkxDJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgam91cm5leVR5cGU6IFJhaWxTZWFyY2hKb3VybmV5VHlwZTtcbiAgY2xhc3M/OiBNYXliZTxSYWlsQ2xhc3M+O1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgdmlhTG9jYXRpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvdXRib3VuZEFycml2YWxEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbERhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5EZXBhcnR1cmVEYXRlVGltZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGV4dHJhVGltZVRvQ2hhbmdlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGx1c0J1c091dD86IE1heWJlPFJhaWxQbHVzQnVzQXZhaWw+O1xuICBwbHVzQnVzUmV0dXJuPzogTWF5YmU8UmFpbFBsdXNCdXNBdmFpbD47XG4gIHRyYXZlbENhcmRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snRGF0ZSddPiB8IFNjYWxhcnNbJ0RhdGUnXT47XG4gIHJhaWxDYXJkUXVhbGlmaWVycz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPiB8IFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3BsaXRUaWNrZXRzRnJvbURlcGFydHVyZUpvdXJuZXk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzcGxpdFRpY2tldHNUb0Rlc3RpbmF0aW9uSm91cm5leT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRyYW5zYWN0aW9uSWRlbnRpZmllcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaFJhaWxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxTZWFyY2hSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JhaWxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPFJhaWxKb3VybmV5T3B0aW9ucywgJ3NvdXJjZUlkJyB8ICdzdW1tYXJ5JyB8ICd0cmF2ZWxDYXJkc0FkZG9uRmxhZyc+XG4gICAgICAmIHsgb3V0Ym91bmQ/OiBNYXliZTxBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdSYWlsSm91cm5leU9wdGlvbicgfVxuICAgICAgICAmIFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnRcbiAgICAgICk+PiwgcmV0dXJuPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBQaWNrPFNlYXJjaEVycm9yLCAnZXJyb3JNZXNzYWdlJz5cbiAgICApPiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlO1xuICBzZWFyY2hBcmdzOiBTY2FsYXJzWydKU09OJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgc2F2ZUZhdm91cml0ZVNlYXJjaDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2gnIH1cbiAgICAmIFBpY2s8U2VhcmNoLCAnaWQnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZTtcbiAgc2VhcmNoQXJnczogU2NhbGFyc1snSlNPTiddO1xuICB0cmF2ZWxEYXRlOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB0cmF2ZWxsZXJzPzogTWF5YmU8QXJyYXk8TWF5YmU8U2NhbGFyc1snSUQnXT4+IHwgTWF5YmU8U2NhbGFyc1snSUQnXT4+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNhdmVSZWNlbnRTZWFyY2g6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoJyB9XG4gICAgJiBQaWNrPFNlYXJjaCwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbnVtYmVyT3JOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRvd24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcG9zdGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB1c2VyUHJpbWFyeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzYXZlVXNlckFkZHJlc3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEFpcmxpbmVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FpcmxpbmVSZXN1bHRzJyB9XG4gICAgJiB7IGlhdGFNYXRjaD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBaXJsaW5lUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8QWlybGluZVJlc3VsdCwgJ2lkJyB8ICduYW1lJyB8ICdpYXRhJyB8ICdpY2FvJyB8ICdhbGlhcycgfCAnY2FsbHNpZ24nIHwgJ2FjdGl2ZScgfCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnYmFubmVySW1hZ2UnIHwgJ2xvZ29JbWFnZSc+XG4gICAgKT4sIGdlbmVyYWxNYXRjaGVzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQWlybGluZVJlc3VsdCcgfVxuICAgICAgJiBQaWNrPEFpcmxpbmVSZXN1bHQsICdpZCcgfCAnbmFtZScgfCAnaWF0YScgfCAnaWNhbycgfCAnYWxpYXMnIHwgJ2NhbGxzaWduJyB8ICdhY3RpdmUnIHwgJ2NvbnRpbmVudCcgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2Jhbm5lckltYWdlJyB8ICdsb2dvSW1hZ2UnPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcXVlcnk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaENpdGllc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaENpdGllczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDaXR5JyB9XG4gICAgJiBQaWNrPENpdHksICdpZCcgfCAnbmFtZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ2NvbnRpbmVudE5hbWUnPlxuICAgICYgeyBjb29yZGluYXRlczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0dlb0Nvb3JkaW5hdGVzJyB9XG4gICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgKSB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGNpdHlOYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hDb25mZXJtYUNpdGllczogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbicgfVxuICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbiwgJ2ZvdW5kRXhhY3QnPlxuICAgICYgeyBzdWdnZXN0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMnIH1cbiAgICAgICYgUGljazxDb25mZXJtYUNpdHlMb2NhdGlvbk9wdGlvbnMsICduYW1lJyB8ICdjb3VudHJ5Q29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICAgKT4+PiB9XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoRXVyb3N0YXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcGFzc2VuZ2VyczogQXJyYXk8RmxpZ2h0UGFzc2VuZ2VyT2JqZWN0PiB8IEZsaWdodFBhc3Nlbmdlck9iamVjdDtcbiAgb3JpZ2luQWlycG9ydD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVzdGluYXRpb25BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtdWx0aURlc3RpbmF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8RGVzdGluYXRpb25FbnRyeT4+IHwgTWF5YmU8RGVzdGluYXRpb25FbnRyeT4+O1xuICBvdXRib3VuZERhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICBvdXRib3VuZERlcGFydHVyZVRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG91dGJvdW5kQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgcmV0dXJuVHJpcDogU2NhbGFyc1snQm9vbGVhbiddO1xuICByZXR1cm5EYXRlPzogTWF5YmU8U2NhbGFyc1snRGF0ZSddPjtcbiAgcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHJldHVybkNhYmluQ2xhc3M/OiBNYXliZTxBcnJheTxNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj4gfCBNYXliZTxGbGlnaHRDYWJpbkNsYXNzPj47XG4gIGZhcmVUeXBlOiBGYXJlVHlwZTtcbiAgcmVxdWlyZUZyZWVCYWc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtYXhDb25uZWN0aW9ucz86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgcHJlZmVycmVkQ2FycmllcnM/OiBNYXliZTxBcnJheTxNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+IHwgTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgaW5jbHVkZU5lYXJieUFpcnBvcnRzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNTaW5nbGVzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoRXVyb3N0YXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0U2VhcmNoUmVzdWx0VjInIH1cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiwgbXVsdGk6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknIH1cbiAgICAgICAgJiBQaWNrPEl0aW5lcmFyeVN1bW1hcnksICdvcmRlcicgfCAnb3JpZ2luJyB8ICdkZXN0aW5hdGlvbicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3Nlbmdlcic+XG4gICAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEpvdXJuZXknIH1cbiAgICAgICAgICAgICYgRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50XG4gICAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRDYXJib25FbWlzc2lvbnMnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEFtb3VudCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodEZhcmVUb3RhbCcgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodEZhcmVUb3RhbCwgJ3ByaWNlJyB8ICd0YXgnIHwgJ2Rpc2NvdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbnMnIH1cbiAgICAgICAgICAgICYgeyBjYW5jZWxsYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgY2hhbmdlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG5vU2hvdz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCB1cGdyYWRlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIG90aGVyPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0JhZ2dhZ2VBbGxvd2FuY2UnIH1cbiAgICAgICAgICAgICYgUGljazxCYWdnYWdlQWxsb3dhbmNlLCAndHlwZScgfCAncXR5JyB8ICdtYXhLRycgfCAnbWF4TEJTJyB8ICd3ZWlnaHRQcm92aWRlZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgYXJyaXZhbERhdGV0aW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsb2NhdGlvbkNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZHVsdHM6IFNjYWxhcnNbJ0ludCddO1xuICBjaGlsZHJlbj86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZhc3RUcmFja1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZhc3RUcmFjazogKFxuICAgIHsgX190eXBlbmFtZT86ICdGYXN0VHJhY2tSZXN1bHQnIH1cbiAgICAmIHsgcmVzdWx0czogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zhc3RUcmFja1F1b3RlJyB9XG4gICAgICAmIFBpY2s8RmFzdFRyYWNrUXVvdGUsICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdwcmljZScgfCAnY3VycmVuY3knIHwgJ3JlZnVuZGFibGUnIHwgJ3Rlcm1pbmFsJyB8ICdpbWFnZXMnIHwgJ2xvZ28nIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpbXBvcnRhbnRJbmZvJyB8ICd0bWNQcmVmZXJyZWQnIHwgJ2NvbXBhbnlQcmVmZXJyZWQnIHwgJ29mZmljZVByZWZlcnJlZCcgfCAndG1jUHJlZmVycmVkTWVzc2FnZScgfCAnY29tcGFueVByZWZlcnJlZE1lc3NhZ2UnIHwgJ29mZmljZVByZWZlcnJlZE1lc3NhZ2UnIHwgJ3VuYXZhaWxhYmxlJyB8ICd1bmF2YWlsYWJsZU1lc3NhZ2UnIHwgJ3JlcXVpcmVzUmVhc29uJyB8ICdyZXF1aXJlc1JlYXNvbk1lc3NhZ2UnIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnY28yUGVySXRlbSc+XG4gICAgKT4sIGVycm9yczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaEVycm9yJyB9XG4gICAgICAmIFBpY2s8U2VhcmNoRXJyb3IsICdlcnJvck1lc3NhZ2UnIHwgJ2Vycm9yQ29kZSc+XG4gICAgICAmIHsgc2VydmljZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICAgICAmIFBpY2s8U2VydmljZSwgJ2lkJyB8ICd0eXBlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnc3VwcGxpZXJVcmwnIHwgJ2FjdGl2ZScgfCAnYXBpRW5kcG9pbnRVcmwnIHwgJ2Jhc2tldEl0ZW1UdGwnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ2RldGFpbFNjaGVtYScgfCAnc2VhcmNoUXVlcnlTY2hlbWEnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBwYXNzZW5nZXJzOiBBcnJheTxGbGlnaHRQYXNzZW5nZXJPYmplY3Q+IHwgRmxpZ2h0UGFzc2VuZ2VyT2JqZWN0O1xuICBvcmlnaW5BaXJwb3J0PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXN0aW5hdGlvbkFpcnBvcnQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG11bHRpRGVzdGluYXRpb24/OiBNYXliZTxBcnJheTxNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj4gfCBNYXliZTxEZXN0aW5hdGlvbkVudHJ5Pj47XG4gIG91dGJvdW5kRGF0ZT86IE1heWJlPFNjYWxhcnNbJ0RhdGUnXT47XG4gIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgb3V0Ym91bmRDYWJpbkNsYXNzPzogTWF5YmU8QXJyYXk8TWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+IHwgTWF5YmU8RmxpZ2h0Q2FiaW5DbGFzcz4+O1xuICByZXR1cm5UcmlwOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJldHVybkRhdGU/OiBNYXliZTxTY2FsYXJzWydEYXRlJ10+O1xuICByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZXR1cm5BcnJpdmFsVGltZVdpbmRvdz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmV0dXJuQ2FiaW5DbGFzcz86IE1heWJlPEFycmF5PE1heWJlPEZsaWdodENhYmluQ2xhc3M+PiB8IE1heWJlPEZsaWdodENhYmluQ2xhc3M+PjtcbiAgZmFyZVR5cGU6IEZhcmVUeXBlO1xuICByZXF1aXJlRnJlZUJhZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1heENvbm5lY3Rpb25zPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBwcmVmZXJyZWRDYXJyaWVycz86IE1heWJlPEFycmF5PE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPj4gfCBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBpbmNsdWRlTmVhcmJ5QWlycG9ydHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBhc1NpbmdsZXM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB3aXRoR3JvdXBlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBncm91cE1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZsaWdodHNWMlF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaEZsaWdodHNWMjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRTZWFyY2hSZXN1bHRWMicgfVxuICAgICYgUGljazxGbGlnaHRTZWFyY2hSZXN1bHRWMiwgJ3J1bGVBY3Rpb25TdW1tYXJ5Jz5cbiAgICAmIHsgcmVzdWx0czogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZFRmxpZ2h0U2VhcmNoUmVzdWx0cycgfVxuICAgICAgJiB7IGpvdXJuZXlzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRJdGluZXJhcnknIH1cbiAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ2Jhc2VGYXJlSWQnIHwgJ3VpZCcgfCAnZGlzY2xvc3VyZXMnIHwgJ3Bhc3NlbmdlckNvdW50JyB8ICdvdXRib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2luYm91bmRUb3RhbER1cmF0aW9uJyB8ICdhZGRpdGlvbmFsJyB8ICdzb3VyY2UnIHwgJ3NvdXJjZUlkJyB8ICd2ZXJzaW9uJyB8ICdqb3VybmV5SGFzaCcgfCAnY28yUGVySXRlbScgfCAnY28yUGVyUGFzc2VuZ2VyJz5cbiAgICAgICAgJiB7IG91dGJvdW5kRmxpZ2h0czogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4sIGluYm91bmRGbGlnaHRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgJiBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRcbiAgICAgICAgKT4+Piwgb3V0Ym91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICYgUGljazxGbGlnaHRDYXJib25FbWlzc2lvbnMsICdhbW91bnQnIHwgJ3VuaXQnPlxuICAgICAgICApPiwgaW5ib3VuZENhcmJvbkVtaXNzaW9ucz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICk+LCB0YXhlcz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEFtb3VudCwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKT4+PiwgZGlzY291bnRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICApPj4+LCB0b3RhbDogKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAmIFBpY2s8RmxpZ2h0RmFyZVRvdGFsLCAncHJpY2UnIHwgJ3RheCcgfCAnZGlzY291bnQnIHwgJ2N1cnJlbmN5Jz5cbiAgICAgICAgKSwgZmFyZUNvbmRpdGlvbnM/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgJiB7IGNhbmNlbGxhdGlvbj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICApPj4+LCBjaGFuZ2U/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgbm9TaG93PzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICk+Pj4sIHVwZ3JhZGU/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+Piwgb3RoZXI/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgKT4+PiB9XG4gICAgICAgICk+LCBiYWdnYWdlQWxsb3dhbmNlPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgJiBQaWNrPEJhZ2dhZ2VBbGxvd2FuY2UsICd0eXBlJyB8ICdxdHknIHwgJ21heEtHJyB8ICdtYXhMQlMnIHwgJ3dlaWdodFByb3ZpZGVkJz5cbiAgICAgICAgKT4+PiB9XG4gICAgICApPiwgbXVsdGk6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0l0aW5lcmFyeVN1bW1hcnknIH1cbiAgICAgICAgJiBQaWNrPEl0aW5lcmFyeVN1bW1hcnksICdvcmRlcicgfCAnb3JpZ2luJyB8ICdkZXN0aW5hdGlvbicgfCAnbWluUHJpY2UnIHwgJ21heFByaWNlJz5cbiAgICAgICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0SXRpbmVyYXJ5JyB9XG4gICAgICAgICAgJiBQaWNrPEZsaWdodEl0aW5lcmFyeSwgJ3VpZCcgfCAncGFzc2VuZ2VyQ291bnQnIHwgJ291dGJvdW5kVG90YWxEdXJhdGlvbicgfCAnaW5ib3VuZFRvdGFsRHVyYXRpb24nIHwgJ2FkZGl0aW9uYWwnIHwgJ3NvdXJjZScgfCAnc291cmNlSWQnIHwgJ3ZlcnNpb24nIHwgJ2NvMlBlckl0ZW0nIHwgJ2NvMlBlclBhc3NlbmdlcicgfCAnam91cm5leUhhc2gnPlxuICAgICAgICAgICYgeyBvdXRib3VuZEZsaWdodHM6IEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+LCBpbmJvdW5kRmxpZ2h0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRKb3VybmV5JyB9XG4gICAgICAgICAgICAmIEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFxuICAgICAgICAgICk+Pj4sIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZsaWdodENhcmJvbkVtaXNzaW9ucycgfVxuICAgICAgICAgICAgJiBQaWNrPEZsaWdodENhcmJvbkVtaXNzaW9ucywgJ2Ftb3VudCcgfCAndW5pdCc+XG4gICAgICAgICAgKT4sIGluYm91bmRDYXJib25FbWlzc2lvbnM/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0Q2FyYm9uRW1pc3Npb25zJyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0Q2FyYm9uRW1pc3Npb25zLCAnYW1vdW50JyB8ICd1bml0Jz5cbiAgICAgICAgICApPiwgdGF4ZXM/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxpZ2h0QW1vdW50JyB9XG4gICAgICAgICAgICAmIFBpY2s8RmxpZ2h0QW1vdW50LCAnZGVzY3JpcHRpb24nIHwgJ2Ftb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICk+Pj4sIGRpc2NvdW50cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRBbW91bnQnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRBbW91bnQsICdkZXNjcmlwdGlvbicgfCAnYW1vdW50JyB8ICdjdXJyZW5jeSc+XG4gICAgICAgICAgKT4+PiwgdG90YWw6IChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbGlnaHRGYXJlVG90YWwnIH1cbiAgICAgICAgICAgICYgUGljazxGbGlnaHRGYXJlVG90YWwsICdwcmljZScgfCAndGF4JyB8ICdkaXNjb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICksIGZhcmVDb25kaXRpb25zPzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25zJyB9XG4gICAgICAgICAgICAmIHsgY2FuY2VsbGF0aW9uPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFyZUNvbmRpdGlvbkVudHJ5JyB9XG4gICAgICAgICAgICAgICYgUGljazxGYXJlQ29uZGl0aW9uRW50cnksICduYW1lJyB8ICd0eXBlJyB8ICdjdXJyZW5jeScgfCAnYW1vdW50JyB8ICdyZW1hcmsnIHwgJ2NoYW5nZUZlZUluZCcgfCAnY2FuY2VsRmVlSW5kJyB8ICdyZWZ1bmRhYmxlSW5kJz5cbiAgICAgICAgICAgICk+Pj4sIGNoYW5nZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBub1Nob3c/OiBNYXliZTxBcnJheTxNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYXJlQ29uZGl0aW9uRW50cnknIH1cbiAgICAgICAgICAgICAgJiBQaWNrPEZhcmVDb25kaXRpb25FbnRyeSwgJ25hbWUnIHwgJ3R5cGUnIHwgJ2N1cnJlbmN5JyB8ICdhbW91bnQnIHwgJ3JlbWFyaycgfCAnY2hhbmdlRmVlSW5kJyB8ICdjYW5jZWxGZWVJbmQnIHwgJ3JlZnVuZGFibGVJbmQnPlxuICAgICAgICAgICAgKT4+PiwgdXBncmFkZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+LCBvdGhlcj86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhcmVDb25kaXRpb25FbnRyeScgfVxuICAgICAgICAgICAgICAmIFBpY2s8RmFyZUNvbmRpdGlvbkVudHJ5LCAnbmFtZScgfCAndHlwZScgfCAnY3VycmVuY3knIHwgJ2Ftb3VudCcgfCAncmVtYXJrJyB8ICdjaGFuZ2VGZWVJbmQnIHwgJ2NhbmNlbEZlZUluZCcgfCAncmVmdW5kYWJsZUluZCc+XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgYmFnZ2FnZUFsbG93YW5jZT86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCYWdnYWdlQWxsb3dhbmNlJyB9XG4gICAgICAgICAgICAmIFBpY2s8QmFnZ2FnZUFsbG93YW5jZSwgJ3R5cGUnIHwgJ3F0eScgfCAnbWF4S0cnIHwgJ21heExCUycgfCAnd2VpZ2h0UHJvdmlkZWQnPlxuICAgICAgICAgICk+Pj4gfVxuICAgICAgICApPiB9XG4gICAgICApPiwgZ3JvdXBlZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0dyb3VwRmxpZ2h0cycgfVxuICAgICAgICAmIEdyb3VwZWRGaWVsZHNGcmFnbWVudFxuICAgICAgKT4+IH1cbiAgICApLCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBxdWVyeTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAnc2VhcmNoSG90ZWxDaGFpbnMnPlxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHN1cHBsaWVyOiBJcmxTdXBwbGllcjtcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBqb3VybmV5VHlwZTogSXJsSm91cm5leVR5cGU7XG4gIGNsYXNzPzogTWF5YmU8SXJsQ2xhc3M+O1xuICBvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXBhcnR1cmVMb2NhdGlvbklkOiBTY2FsYXJzWydJRCddO1xuICBhcnJpdmFsTG9jYXRpb25JZDogU2NhbGFyc1snSUQnXTtcbiAgYWR1bHRzOiBTY2FsYXJzWydJbnQnXTtcbiAgY2hpbGRyZW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIHJldHVybkRlcGFydHVyZURhdGVUaW1lPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGlybERpc2NvdW50Q2FyZHM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hJUkw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhcmNoUmVzdWx0JyB9XG4gICAgJiB7IHJlc3VsdHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdJUkxKb3VybmV5T3B0aW9ucycgfVxuICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb25zLCAnc291cmNlJyB8ICdzb3VyY2VJZCcgfCAnanJmcmVmZXJlbmNlJz5cbiAgICAgICYgeyBvdXRib3VuZD86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb24sICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxJcmxUcmF2ZWxsZXIsICdzdGF0dXMnIHwgJ2lkJyB8ICdkb2InIHwgJ3JhaWxjYXJkJyB8ICdnaXZlbk5hbWUnIHwgJ3N1cm5hbWUnIHwgJ25hbWVUaXRsZScgfCAnY29udGFjdEluZm8nIHwgJ2RlbGl2ZXJ5RW1haWxBZGRyZXNzJyB8ICdmYXJlJz5cbiAgICAgICAgKT4+LCBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPj4sIHByb3ZpZGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxJcmxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICAgICAgICApPiB9XG4gICAgICApPj4sIHJldHVybj86IE1heWJlPEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTEpvdXJuZXlPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPElybEpvdXJuZXlPcHRpb24sICdmcm9tJyB8ICdmcm9tQ29kZScgfCAndG8nIHwgJ3RvQ29kZScgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdjaGFuZ2VzJyB8ICd1bnNlbGxhYmxlJz5cbiAgICAgICAgJiB7IGlkZW50aWZpZXJzPzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgKT4sIHRyYXZlbGxlcnM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRyYXZlbGxlcicgfVxuICAgICAgICAgICYgUGljazxJcmxUcmF2ZWxsZXIsICdzdGF0dXMnIHwgJ2lkJyB8ICdkb2InIHwgJ3JhaWxjYXJkJyB8ICdnaXZlbk5hbWUnIHwgJ3N1cm5hbWUnIHwgJ25hbWVUaXRsZScgfCAnY29udGFjdEluZm8nIHwgJ2RlbGl2ZXJ5RW1haWxBZGRyZXNzJyB8ICdmYXJlJz5cbiAgICAgICAgKT4+LCBzZWdtZW50cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VnbWVudCcgfVxuICAgICAgICAgICYgUGljazxJcmxTZWdtZW50LCAnaWQnIHwgJ29wZXJhdG9yJyB8ICdkZXBhcnQnIHwgJ2RlcGFydERhdGVUaW1lJyB8ICdhcnJpdmUnIHwgJ2Fycml2ZURhdGVUaW1lJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdzZWF0UHJlZmVyZW5jZUdyb3VwJz5cbiAgICAgICAgICAmIHsgc2VhdFByZWZlcmVuY2VUeXBlcz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0UHJlZmVyZW5jZVR5cGUnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0UHJlZmVyZW5jZVR5cGUsICduYW1lJyB8ICdhbGxvd2VkVmFsdWVzJz5cbiAgICAgICAgICApPj4sIHNlYXRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXQnIH1cbiAgICAgICAgICAgICYgUGljazxJcmxTZWF0LCAnbG9jYXRpb24nIHwgJ2NvYWNoJyB8ICdudW1iZXInIHwgJ2RpcmVjdGlvbicgfCAncG9zaXRpb24nIHwgJ2RlY2snIHwgJ3NlYXRUeXBlJyB8ICdzZWF0U2VsZWN0aW9uJyB8ICdmYWNpbGl0aWVzJyB8ICdub3RlJz5cbiAgICAgICAgICApPj4gfVxuICAgICAgICApPj4sIHByb3ZpZGVycz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUHJvdmlkZXInIH1cbiAgICAgICAgICAmIFBpY2s8SXJsUHJvdmlkZXIsICdwcm92aWRlcklkJyB8ICduYW1lJz5cbiAgICAgICAgICAmIHsgY2hlYXBlc3RUaWNrZXQ/OiBNYXliZTwoXG4gICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0T3B0aW9uJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0T3B0aW9uLCAndHlwZScgfCAnY2xhc3MnIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdwcmljZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnY3VycmVuY3knIHwgJ3JvdXRlJyB8ICdyb3V0ZUNvZGUnIHwgJ2ZhcmVSdWxlcyc+XG4gICAgICAgICAgICAmIHsgaWRlbnRpZmllcnM/OiBNYXliZTwoXG4gICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxJZGVudGlmaWVycycgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsSWRlbnRpZmllcnMsICd0cmFuc2FjdGlvbklkZW50aWZpZXInIHwgJ3NpZ25hdHVyZScgfCAnam91cm5leUlkZW50aWZpZXInIHwgJ3Byb3ZpZGVyJyB8ICdmYXJlSWRlbnRpZmllcicgfCAnZGlyZWN0aW9uJyB8ICdzaW5nbGVPclJldHVybicgfCAnYm9va2luZ1JlZic+XG4gICAgICAgICAgICApPiwgdGlja2V0cz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldCcgfVxuICAgICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0LCAncHJpY2UnIHwgJ3R5cGUnIHwgJ3JvdXRlJyB8ICdudW1DaGlsZHJlbicgfCAnbnVtQWR1bHRzJz5cbiAgICAgICAgICAgICAgJiB7IHNlZ21lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWdtZW50JyB9XG4gICAgICAgICAgICAgICAgJiBQaWNrPElybFNlZ21lbnQsICdpZCcgfCAnb3BlcmF0b3InIHwgJ2RlcGFydCcgfCAnZGVwYXJ0RGF0ZVRpbWUnIHwgJ2Fycml2ZScgfCAnYXJyaXZlRGF0ZVRpbWUnIHwgJ3Jlc2VydmFibGVTdGF0dXMnIHwgJ3NlYXRQcmVmZXJlbmNlR3JvdXAnPlxuICAgICAgICAgICAgICAgICYgeyBzZWF0UHJlZmVyZW5jZVR5cGVzPzogTWF5YmU8QXJyYXk8KFxuICAgICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlYXRQcmVmZXJlbmNlVHlwZScgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXRQcmVmZXJlbmNlVHlwZSwgJ25hbWUnIHwgJ2FsbG93ZWRWYWx1ZXMnPlxuICAgICAgICAgICAgICAgICk+Piwgc2VhdHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdCcgfVxuICAgICAgICAgICAgICAgICAgJiBQaWNrPElybFNlYXQsICdsb2NhdGlvbicgfCAnY29hY2gnIHwgJ251bWJlcicgfCAnZGlyZWN0aW9uJyB8ICdwb3NpdGlvbicgfCAnZGVjaycgfCAnc2VhdFR5cGUnIHwgJ3NlYXRTZWxlY3Rpb24nIHwgJ2ZhY2lsaXRpZXMnIHwgJ25vdGUnPlxuICAgICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICAgICk+PiB9XG4gICAgICAgICAgICApPj4+IH1cbiAgICAgICAgICApPiwgdGlja2V0T3B0aW9ucz86IE1heWJlPEFycmF5PE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+Pj4sIGJvb2tlZFRpY2tldD86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRPcHRpb24nIH1cbiAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXRPcHRpb24sICd0eXBlJyB8ICdjbGFzcycgfCAnc2luZ2xlT3JSZXR1cm4nIHwgJ3ByaWNlJyB8ICdyZXNlcnZhYmxlU3RhdHVzJyB8ICdjdXJyZW5jeScgfCAncm91dGUnIHwgJ3JvdXRlQ29kZScgfCAnZmFyZVJ1bGVzJz5cbiAgICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTElkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxJZGVudGlmaWVycywgJ3RyYW5zYWN0aW9uSWRlbnRpZmllcicgfCAnc2lnbmF0dXJlJyB8ICdqb3VybmV5SWRlbnRpZmllcicgfCAncHJvdmlkZXInIHwgJ2ZhcmVJZGVudGlmaWVyJyB8ICdkaXJlY3Rpb24nIHwgJ3NpbmdsZU9yUmV0dXJuJyB8ICdib29raW5nUmVmJz5cbiAgICAgICAgICAgICk+LCB0aWNrZXRzPzogTWF5YmU8QXJyYXk8TWF5YmU8KFxuICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMVGlja2V0JyB9XG4gICAgICAgICAgICAgICYgUGljazxJcmxUaWNrZXQsICdwcmljZScgfCAndHlwZScgfCAncm91dGUnIHwgJ251bUNoaWxkcmVuJyB8ICdudW1BZHVsdHMnPlxuICAgICAgICAgICAgICAmIHsgc2VnbWVudHM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFNlZ21lbnQnIH1cbiAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VnbWVudCwgJ2lkJyB8ICdvcGVyYXRvcicgfCAnZGVwYXJ0JyB8ICdkZXBhcnREYXRlVGltZScgfCAnYXJyaXZlJyB8ICdhcnJpdmVEYXRlVGltZScgfCAncmVzZXJ2YWJsZVN0YXR1cycgfCAnc2VhdFByZWZlcmVuY2VHcm91cCc+XG4gICAgICAgICAgICAgICAgJiB7IHNlYXRQcmVmZXJlbmNlVHlwZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMU2VhdFByZWZlcmVuY2VUeXBlJyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdFByZWZlcmVuY2VUeXBlLCAnbmFtZScgfCAnYWxsb3dlZFZhbHVlcyc+XG4gICAgICAgICAgICAgICAgKT4+LCBzZWF0cz86IE1heWJlPEFycmF5PChcbiAgICAgICAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxTZWF0JyB9XG4gICAgICAgICAgICAgICAgICAmIFBpY2s8SXJsU2VhdCwgJ2xvY2F0aW9uJyB8ICdjb2FjaCcgfCAnbnVtYmVyJyB8ICdkaXJlY3Rpb24nIHwgJ3Bvc2l0aW9uJyB8ICdkZWNrJyB8ICdzZWF0VHlwZScgfCAnc2VhdFNlbGVjdGlvbicgfCAnZmFjaWxpdGllcycgfCAnbm90ZSc+XG4gICAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICAgKT4+IH1cbiAgICAgICAgICAgICk+Pj4gfVxuICAgICAgICAgICk+IH1cbiAgICAgICAgKT4+LCB0aWNrZXRFeHRyYXM/OiBNYXliZTxBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0lSTFRpY2tldEV4dHJhJyB9XG4gICAgICAgICAgJiBQaWNrPElybFRpY2tldEV4dHJhLCAndHlwZScgfCAnbG9jYXRpb24nIHwgJ2RhdGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhbW91bnQnIHwgJ2FkdWx0QW1vdW50JyB8ICdjaGlsZEFtb3VudCcgfCAnY3VycmVuY3knPlxuICAgICAgICAgICYgeyBpZGVudGlmaWVycz86IE1heWJlPChcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJUkxUaWNrZXRFeHRyYUlkZW50aWZpZXJzJyB9XG4gICAgICAgICAgICAmIFBpY2s8SXJsVGlja2V0RXh0cmFJZGVudGlmaWVycywgJ3R5cGUnIHwgJ2xvY2F0aW9uJyB8ICdkYXRlJyB8ICdqb3VybmV5SWQnIHwgJ2lzT3JpZ2luJz5cbiAgICAgICAgICApPiB9XG4gICAgICAgICk+PiwgcGx1c0J1cz86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSVJMUGx1c0J1cycgfVxuICAgICAgICAgICYgUGljazxJcmxQbHVzQnVzLCAnb3JpZ2luUGx1c0J1c05MQycgfCAnb3JpZ2luU3RhdGlvbk5MQycgfCAnZGVzdGluYXRpb25QbHVzQnVzTkxDJyB8ICdkZXN0aW5hdGlvblN0YXRpb25OTEMnPlxuICAgICAgICApPiB9XG4gICAgICApPj4gfVxuICAgICk+LCBlcnJvcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hFcnJvcicgfVxuICAgICAgJiBFcnJvcnNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3VwcGxpZXI/OiBNYXliZTxJcmxTdXBwbGllcj47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxTdXBwbGllclN0YXRpb24nIH1cbiAgICAmIFBpY2s8SXJsU3VwcGxpZXJTdGF0aW9uLCAnaWQnIHwgJ25hbWUnIHwgJ3N1cHBsaWVyJyB8ICdzdGF0aW9uQ29kZScgfCAnbmxjQ29kZScgfCAndHJhaW5saW5lQ29kZScgfCAndHJhaW5saW5lVW5pcXVlQ29kZSc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hQb3N0Y29kZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgcG9zdGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoUG9zdGNvZGVzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0UG9zdGNvZGVEZXRhaWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Bvc3Rjb2RlRGV0YWlscycgfVxuICAgICYgUGljazxQb3N0Y29kZURldGFpbHMsICdwb3N0Y29kZScgfCAnbGF0aXR1ZGUnIHwgJ2xvbmdpdHVkZSc+XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHF1ZXJ5OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGhhc1RvZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZWFyY2hSYWlsU3RhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmFpbFN0YXRpb24nIH1cbiAgICAmIFBpY2s8UmFpbFN0YXRpb24sICdpZCcgfCAnbmFtZScgfCAnc3RhdGlvbkNvZGUnIHwgJ25sY0NvZGUnIHwgJ3RyYWlubGluZUNvZGUnIHwgJ3RyYWlubGluZVVuaXF1ZUNvZGUnIHwgJ2hhc1RvZCc+XG4gICAgJiB7IGxvY2F0aW9uRGV0YWlscz86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhdGlvbkRldGFpbCcgfVxuICAgICAgJiBQaWNrPExvY2F0aW9uRGV0YWlsLCAnY29udGluZW50JyB8ICdjb3VudHJ5JyB8ICdjb3VudHJ5Q29kZScgfCAnc3RhdGUnIHwgJ2NpdHknIHwgJ3Bvc3Rjb2RlJyB8ICdyb2FkJyB8ICdncmlkUmVmZXJlbmNlJyB8ICdub3J0aGluZycgfCAnZWFzdGluZyc+XG4gICAgICAmIHsgY29vcmRpbmF0ZXM/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdHZW9Db29yZGluYXRlcycgfVxuICAgICAgICAmIFBpY2s8R2VvQ29vcmRpbmF0ZXMsICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJyB8ICdhbHRpdHVkZSc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgU2VhcmNoVXNlckFkZHJlc3NRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyQWRkcmVzc2VzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnbnVtYmVyT3JOYW1lJyB8ICdzdHJlZXQnIHwgJ3Rvd24nIHwgJ2NvdW50eScgfCAncG9zdGNvZGUnIHwgJ2NvdW50cnlDb2RlJyB8ICd1c2VyUHJpbWFyeScgfCAnb2ZmaWNlUHJpbWFyeSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRyYWluTnVtYmVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVwYXJ0dXJlU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc3RpbmF0aW9uU3RhdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIG91dGJvdW5kRGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGluYm91bmREYXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWRkaXRpb25hbEluZm86IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvZmZsaW5lUmVmZXJlbmNlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbm90aWZ5RW1haWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvbkJlaGFsZk9mOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2VydmljZUNsYXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc2VuZ2VyczogQXJyYXk8SXJsT2ZmbGluZVBhc3Nlbmdlcj4gfCBJcmxPZmZsaW5lUGFzc2VuZ2VyO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBzZW5kT2ZmbGluZU5vdGlmaWNhdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdJUkxPZmZsaW5lTm90aWZ5UmVzdWx0JyB9XG4gICAgJiBQaWNrPElybE9mZmxpbmVOb3RpZnlSZXN1bHQsICdzdWNjZXNzJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgZ3JvdXA/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyBzZXRCYXNrZXRJdGVtTUlHcm91cDogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB1c2VyT3JHdWVzdDogU2NhbGFyc1snSUQnXTtcbiAgbGVhZFBhc3NlbmdlclR5cGU6IExlYWRQYXNzZW5nZXJUeXBlO1xuICB3aXRoU3VwcGxlbWVudGFsOiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIG1pVmFsdWU/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbWlGcmVlVmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVzZXI/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgZ3Vlc3Q/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1NSVZhbHVlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgYmFza2V0SXRlbTogU2NhbGFyc1snSUQnXTtcbiAgcGF5bWVudE1ldGhvZDogU2NhbGFyc1snSUQnXTtcbiAgd2l0aFN1cHBsZW1lbnRhbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Jhc2tldCcgfVxuICAgICYgQmFza2V0RmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjb252ZXJ0Q3VycmVuY3lUbz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcmVmZXJlbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RlczogU2NhbGFyc1snU3RyaW5nJ107XG4gIHdpdGhTdXBwbGVtZW50YWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011dGF0aW9uJyB9XG4gICYgeyB1cGRhdGVCYXNrZXROb3RlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdCYXNrZXQnIH1cbiAgICAmIEJhc2tldEZpZWxkc0ZyYWdtZW50XG4gICkgfVxuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY29udmVydEN1cnJlbmN5VG8/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHJlZmVyZW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbmV3VGl0bGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB3aXRoU3VwcGxlbWVudGFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb24gPSAoXG4gIHsgX190eXBlbmFtZT86ICdNdXRhdGlvbicgfVxuICAmIHsgdXBkYXRlQmFza2V0VGl0bGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQmFza2V0JyB9XG4gICAgJiBCYXNrZXRGaWVsZHNGcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIFVzZXJGaWVsZHNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnYWRkaXRpb25hbEVtYWlsJyB8ICdjYW5JbnZva2VVc2VyJyB8ICd1c2VybmFtZScgfCAnZW1wbG95ZWVJZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2RvYicgfCAnYWRtaW4nIHwgJ3RtY0FkbWluJyB8ICdjb21wYW55QWRtaW4nIHwgJ2Jvb2tlclR5cGUnIHwgJ2F1dGhNZXRob2RzJyB8ICdhY3RpdmUnIHwgJ3Bhc3N3b3JkTGFzdFVwZGF0ZWQnIHwgJ2VtZXJnZW5jeUNvbnRhY3ROYW1lJyB8ICdlbWVyZ2VuY3lDb250YWN0UGhvbmUnIHwgJ2VtZXJnZW5jeUNvbnRhY3RFbWFpbCcgfCAnY2FuQm9va0d1ZXN0Jz5cbiAgJiB7IHNlbGVjdGVkTGFuZ3VhZ2U6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZScgfCAnaXNvQ29kZSc+XG4gICksIGF2YWlsYWJsZUxhbmd1YWdlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZScgfVxuICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgUGljazxBZGRyZXNzLCAnaWQnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdudW1iZXJPck5hbWUnIHwgJ3N0cmVldCcgfCAndG93bicgfCAnY291bnR5JyB8ICdwb3N0Y29kZScgfCAnY291bnRyeUNvZGUnIHwgJ3VzZXJQcmltYXJ5JyB8ICdvZmZpY2VQcmltYXJ5Jz5cbiAgKT4+LCBwaG9uZU51bWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAmIFBpY2s8UGhvbmVOdW1iZXIsICdpZCcgfCAnZGVzY3JpcHRpb24nIHwgJ2NvdW50cnlDb2RlJyB8ICdhcmVhQ29kZScgfCAnbnVtYmVyJyB8ICdleHRlbnNpb24nIHwgJ3R5cGUnIHwgJ29mZmljZVByaW1hcnknIHwgJ3VzZXJQcmltYXJ5Jz5cbiAgKT4sIGRvY3VtZW50cz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRG9jdW1lbnQnIH1cbiAgICAmIFBpY2s8RG9jdW1lbnQsICdpZCcgfCAnZG9jVHlwZScgfCAnbmF0aW9uYWxpdHknIHwgJ2dlbmRlcicgfCAnbnVtYmVyJyB8ICdjb3VudHJ5JyB8ICdjb2RlT2ZJc3N1aW5nU3RhdGUnIHwgJ2RhdGVPZklzc3VlJyB8ICdkYXRlT2ZFeHBpcnknIHwgJ3ByaW1hcnknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cbiAgKT4+LCBsb3lhbHR5Q29kZXM/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJMb3lhbHR5Q29kZScgfVxuICAgICYgUGljazxVc2VyTG95YWx0eUNvZGUsICdpZCcgfCAnY2FycmllcicgfCAnY29kZScgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICApPj4sIHByZWZlcmVuY2VzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyUHJlZmVyZW5jZScgfVxuICAgICYgUGljazxVc2VyUHJlZmVyZW5jZSwgJ2lkJyB8ICdzZXJ2aWNlVHlwZScgfCAncHJlZmVyZW5jZUtleScgfCAncHJlZmVyZW5jZVZhbHVlJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCc+XG4gICk+PiwgdXNlck1pRGVmYXVsdFZhbHVlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlck1pRGVmYXVsdFZhbHVlJyB9XG4gICAgJiBQaWNrPFVzZXJNaURlZmF1bHRWYWx1ZSwgJ2ZyZWVUZXh0VmFsdWUnPlxuICAgICYgeyBzZXJ2aWNlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZpY2UnIH1cbiAgICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdzdXBwbGllclVybCcgfCAnYWN0aXZlJyB8ICdhcGlFbmRwb2ludFVybCcgfCAnYmFza2V0SXRlbVR0bCcgfCAnY2FuY2VsbGFibGUnIHwgJ2FtZW5kYWJsZScgfCAnZGV0YWlsU2NoZW1hJyB8ICdzZWFyY2hRdWVyeVNjaGVtYSc+XG4gICAgKT4sIG1hbmFnZW1lbnRJbmZvPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvJyB9XG4gICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm8sICdpZCcgfCAnZGJJZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2hhbmRvZmYnIHwgJ3ZhbHVlTWFzaycgfCAndWlQcmVzZW50YXRpb24nIHwgJ21hbmRhdG9yeScgfCAncGVyUGFzc2VuZ2VyJyB8ICdwZXJCb29raW5nJyB8ICdhZ2VudE9ubHknIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXhlZCcgfCAndGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0JyB8ICd0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdCcgfCAnZ3JvdXAnPlxuICAgICAgJiB7IGZpeGVkVmFsdWU/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdNYW5hZ2VtZW50SW5mb1ZhbHVlJyB9XG4gICAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgICApPiwgZGVmYXVsdFZhbHVlPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHZhbHVlczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTWFuYWdlbWVudEluZm9WYWx1ZScgfVxuICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgKT4sIHNlbGVjdGVkVmFsdWVzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgJiBQaWNrPFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSwgJ2ZyZWVWYWx1ZScgfCAnYmFza2V0TGV2ZWxWYWx1ZScgfCAndXNlckxldmVsVmFsdWUnPlxuICAgICAgICAmIHsgdmFsdWU/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICAgICAmIFBpY2s8TWFuYWdlbWVudEluZm9WYWx1ZSwgJ2lkJyB8ICdsYWJlbCcgfCAndmFsdWUnIHwgJ2RlZmF1bHQnIHwgJ2ZpeGVkJyB8ICdhZ2VudE9ubHknPlxuICAgICAgICApPiwgdXNlcj86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ3RpdGxlJyB8ICdmb3JlbmFtZScgfCAnc3VybmFtZScgfCAnZW1haWwnIHwgJ3VzZXJuYW1lJyB8ICdlbXBsb3llZUlkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZG9iJyB8ICdhZG1pbicgfCAnY29tcGFueUFkbWluJyB8ICdib29rZXJUeXBlJyB8ICdhdXRoTWV0aG9kcycgfCAnYWN0aXZlJyB8ICdwYXNzd29yZExhc3RVcGRhdGVkJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICk+LCBtYW5hZ2VtZW50SW5mb1ZhbHVlPzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ01hbmFnZW1lbnRJbmZvVmFsdWUnIH1cbiAgICAgICYgUGljazxNYW5hZ2VtZW50SW5mb1ZhbHVlLCAnaWQnIHwgJ2xhYmVsJyB8ICd2YWx1ZScgfCAnZGVmYXVsdCcgfCAnZml4ZWQnIHwgJ2FnZW50T25seSc+XG4gICAgKT4gfVxuICApPj4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyU2VydmljZXNRdWVyeSA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1ZXJ5JyB9XG4gICYgeyBnZXRVc2VyU2VydmljZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmljZScgfVxuICAgICYgUGljazxTZXJ2aWNlLCAnaWQnIHwgJ2NhbmNlbGxhYmxlJyB8ICdhbWVuZGFibGUnIHwgJ3R5cGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdkZXRhaWxTY2hlbWEnIHwgJ3NlYXJjaFF1ZXJ5U2NoZW1hJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VXNlclVpQ29uZmlnc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJVSUNvbmZpZ3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVUlDb25maWdDb2xsZWN0aW9uJyB9XG4gICAgJiB7IGFsbDogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1VJQ29uZmlnJyB9XG4gICAgICAmIFBpY2s8VWlDb25maWcsICdpZCcgfCAnY29uZmlnJyB8ICdrZXknPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyTWVzc2FnZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlc1F1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IGdldFVzZXJNZXNzYWdlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdNZXNzYWdlJyB9XG4gICAgJiBQaWNrPE1lc3NhZ2UsICdpZCcgfCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2NvbmZpZycgfCAndGFyZ2V0JyB8ICdrZXknIHwgJ2Rpc3BsYXlUYXJnZXQnIHwgJ2FnZW50T25seScgfCAnY2xpY2tUb0NvbmZpcm0nIHwgJ3ZhbGlkRnJvbScgfCAndmFsaWRUbycgfCAnY29sbGFwc2UnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlclBob25lTnVtYmVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQaG9uZU51bWJlcicgfVxuICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGFuZ3VhZ2U/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nIH1cbiAgJiB7IHNldFVzZXJMYW5ndWFnZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndGl0bGUnIHwgJ2ZvcmVuYW1lJyB8ICdzdXJuYW1lJyB8ICdlbWFpbCcgfCAnZG9iJz5cbiAgICAmIHsgc2VsZWN0ZWRMYW5ndWFnZTogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlJyB9XG4gICAgICAmIFBpY2s8TGFuZ3VhZ2UsICdpZCcgfCAnbmFtZSc+XG4gICAgKSwgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2UnIH1cbiAgICAgICYgUGljazxMYW5ndWFnZSwgJ2lkJyB8ICduYW1lJyB8ICdpc29Db2RlJz5cbiAgICApPiwgcGhvbmVOdW1iZXJzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGhvbmVOdW1iZXInIH1cbiAgICAgICYgUGljazxQaG9uZU51bWJlciwgJ2lkJyB8ICdkZXNjcmlwdGlvbicgfCAnY291bnRyeUNvZGUnIHwgJ2FyZWFDb2RlJyB8ICdudW1iZXInIHwgJ2V4dGVuc2lvbicgfCAndHlwZScgfCAnb2ZmaWNlUHJpbWFyeScgfCAndXNlclByaW1hcnknPlxuICAgICk+IH1cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVc2VyUXVlcnkgPSAoXG4gIHsgX190eXBlbmFtZT86ICdRdWVyeScgfVxuICAmIHsgZ2V0VXNlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XG4gICAgJiBVc2VyRmllbGRzRnJhZ21lbnRcbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBlbWFpbD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdXNlck5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtcGxveWVlSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiB7IHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd0aXRsZScgfCAnZm9yZW5hbWUnIHwgJ3N1cm5hbWUnIHwgJ2VtYWlsJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbWk6IFNjYWxhcnNbJ0lEJ107XG4gIGZyZWVWYWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUXVlcnknIH1cbiAgJiBQaWNrPFF1ZXJ5LCAndmFsaWRhdGVVc2VyTUlGcmVlVmFsdWUnPlxuKTtcblxudHlwZSBEaXNjcmltaW5hdGVVbmlvbjxULCBVPiA9IFQgZXh0ZW5kcyBVID8gVCA6IG5ldmVyO1xuXG5leHBvcnQgbmFtZXNwYWNlIEFjY2VwdE5ld1ByaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWNjZXB0TmV3UHJpY2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBY2NlcHROZXdQcmljZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBY2NlcHROZXdQcmljZSA9IEFjY2VwdE5ld1ByaWNlTXV0YXRpb25bJ2FjY2VwdE5ld1ByaWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkVXNlcnNUb0Jhc2tldEl0ZW0ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZFVzZXJzVG9CYXNrZXRJdGVtTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZFVzZXJzVG9CYXNrZXRJdGVtID0gQWRkVXNlcnNUb0Jhc2tldEl0ZW1NdXRhdGlvblsnYWRkVXNlcnNUb0Jhc2tldEl0ZW0nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEZsaWdodFJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBcHBseUppdEhvdGVsUnVsZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBBcHBseUppdEhvdGVsUnVsZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQXBwbHlKaXRIb3RlbFJ1bGVzID0gQXBwbHlKaXRIb3RlbFJ1bGVzUXVlcnlbJ2FwcGx5SklUSG90ZWxSdWxlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYXZlbGxlclVzZXJGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlclVzZXJGaWVsZHNGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmF2ZWxsZXJHdWVzdHNGaWVsZHMge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRyYXZlbGxlckd1ZXN0c0ZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE93bmVyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPd25lckZpZWxkc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJhc2tldEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQmFza2V0RmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIE93bmVyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIEludm9rZWRVc2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2ludm9rZWRVc2VyJ107XG4gIGV4cG9ydCB0eXBlIEJhc2tldEl0ZW1zID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydhdmFpbGFibGVQYXltZW50TWV0aG9kcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkUGF5bWVudE1ldGhvZCA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3NlbGVjdGVkUGF5bWVudE1ldGhvZCddO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBHdWVzdHMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydndWVzdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHdWVzdFBhc3NlbmdlclR5cGVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnZ3Vlc3RQYXNzZW5nZXJUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVc2VyUGFzc2VuZ2VyVHlwZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbGVhZFBhc3NlbmdlciddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEJhc2tldEZpZWxkc0ZyYWdtZW50WydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnZml4ZWRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEZWZhdWx0VmFsdWUgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFZhbHVlID0gQmFza2V0RmllbGRzRnJhZ21lbnRbJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBDb21wYW55R3JvdXAgPSBCYXNrZXRGaWVsZHNGcmFnbWVudFsnY29tcGFueUdyb3VwJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJCYXNrZXRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXRzID0gR2V0VXNlckJhc2tldHNRdWVyeVsnZ2V0VXNlckJhc2tldHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUJhc2tldE11dGF0aW9uO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUJhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVCYXNrZXQgPSBDcmVhdGVCYXNrZXRNdXRhdGlvblsnY3JlYXRlQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlSXRlbUZyb21CYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVJdGVtRnJvbUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZUl0ZW1Gcm9tQmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZUl0ZW1Gcm9tQmFza2V0ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblsncmVtb3ZlSXRlbUZyb21CYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZW5kQmFza2V0Rm9yQXBwcm92YWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2VuZEJhc2tldEZvckFwcHJvdmFsID0gU2VuZEJhc2tldEZvckFwcHJvdmFsTXV0YXRpb25bJ3NlbmRCYXNrZXRGb3JBcHByb3ZhbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZEl0ZW1Ub0Jhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRJdGVtVG9CYXNrZXQgPSBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblsnYWRkSXRlbVRvQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJCYXNrZXRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyQmFza2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJCYXNrZXQgPSBHZXRVc2VyQmFza2V0UXVlcnlbJ2dldFVzZXJCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZXZhbGlkYXRlQmFza2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmV2YWxpZGF0ZUJhc2tldCA9IFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvblsncmV2YWxpZGF0ZUJhc2tldCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEJvb2tCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQm9va0Jhc2tldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBCb29rQmFza2V0ID0gQm9va0Jhc2tldE11dGF0aW9uWydib29rQmFza2V0J107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ2FiSGlyZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaENhYkhpcmVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDYWJIaXJlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENhYkhpcmUgPSBTZWFyY2hDYWJIaXJlUXVlcnlbJ3NlYXJjaENhYkhpcmUnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRnJvbUxvY2F0aW9uID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydmcm9tTG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgVG9Mb2NhdGlvbiA9IFNlYXJjaENhYkhpcmVRdWVyeVsnc2VhcmNoQ2FiSGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsndG9Mb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBWaWFzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd2aWFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FiSGlyZVF1ZXJ5WydzZWFyY2hDYWJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsQm9va2luZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbEJvb2tpbmdNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxCb29raW5nTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENhbmNlbEJvb2tpbmcgPSBDYW5jZWxCb29raW5nTXV0YXRpb25bJ2NhbmNlbEJvb2tpbmcnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QgPSBDYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdFF1ZXJ5WydjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCddO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ3ZlbmRvciddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkcmVzcyddO1xuICBleHBvcnQgdHlwZSBBZGRpdGlvbmFsSW5mbyA9IENhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0UXVlcnlbJ2NhckhpcmVBdmFpbGFiaWxpdHlEZXRhaWxSZXF1ZXN0J11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVsnY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QnXVsnYWRkaXRpb25hbEluZm8nXVtudW1iZXJdWydjdXN0b20nXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaENhckhpcmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQ2FySGlyZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hDYXJIaXJlID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBEaXNwbGF5UmVjb3JkID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ107XG4gIGV4cG9ydCB0eXBlIFZlbmRvciA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZW5kb3InXTtcbiAgZXhwb3J0IHR5cGUgVmVoaWNsZSA9IFNlYXJjaENhckhpcmVRdWVyeVsnc2VhcmNoQ2FySGlyZSddWydyZXN1bHRzJ11bbnVtYmVyXVsnZGlzcGxheVJlY29yZCddWyd2ZWhpY2xlJ107XG4gIGV4cG9ydCB0eXBlIENoYXJnZXMgPSBTZWFyY2hDYXJIaXJlUXVlcnlbJ3NlYXJjaENhckhpcmUnXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc3BsYXlSZWNvcmQnXVsnY2hhcmdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBpY2t1cExvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3BpY2t1cExvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIFJldHVybkxvY2F0aW9uID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ3JldHVybkxvY2F0aW9uJ107XG4gIGV4cG9ydCB0eXBlIEFkZGl0aW9uYWxJbmZvID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNwbGF5UmVjb3JkJ11bJ2FkZGl0aW9uYWxJbmZvJ11bbnVtYmVyXVsnY3VzdG9tJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoQ2FySGlyZVF1ZXJ5WydzZWFyY2hDYXJIaXJlJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlybU1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ29uZmlybU1lc3NhZ2VzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlR3Vlc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVHdWVzdE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUd1ZXN0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUd1ZXN0ID0gQ3JlYXRlR3Vlc3RNdXRhdGlvblsnY3JlYXRlR3Vlc3QnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYXZvdXJpdGVTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVSZWNlbnRTZWFyY2hNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVVc2VyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVVzZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0VXNlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVkaXRVc2VyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRWRpdFVzZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRWRpdFVzZXIgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVMYW5ndWFnZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlcnMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBcHByb3ZlckZvciA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlck1pRGVmYXVsdFZhbHVlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm8gPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXTtcbiAgZXhwb3J0IHR5cGUgX1NlcnZpY2UgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBGaXhlZFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2ZpeGVkVmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFZhbHVlID0gRWRpdFVzZXJNdXRhdGlvblsnZWRpdFVzZXInXVsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsndmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRWYWx1ZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBWYWx1ZSA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvVmFsdWUgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm9WYWx1ZSddO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBFZGl0VXNlck11dGF0aW9uWydlZGl0VXNlciddWydsb3lhbHR5Q29kZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVkaXRVc2VyTXV0YXRpb25bJ2VkaXRVc2VyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFbWFpbEJhc2tldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEVtYWlsQmFza2V0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gRW1haWxCYXNrZXRRdWVyeTtcbiAgZXhwb3J0IHR5cGUgRW1haWxCYXNrZXQgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddO1xuICBleHBvcnQgdHlwZSBPd25lciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ107XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2F2YWlsYWJsZUxhbmd1YWdlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXTtcbiAgZXhwb3J0IHR5cGUgX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBPZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTdXBwb3J0UGhvbmVOdW1iZXIgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3Bob25lTnVtYmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEFwcHJvdmVyRm9yID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydvd25lciddWydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ293bmVyJ11bJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG95YWx0eUNvZGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnb3duZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFza2V0SXRlbXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWxlY3RlZExhbmd1YWdlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgX0NvbXBhbnlHcm91cHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Db21wYW55ID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX1RtYyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX09mZmljZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fUGhvbmVOdW1iZXJzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2NvbXBhbnlHcm91cHMnXVtudW1iZXJdWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnY29tcGFueUdyb3VwcyddW251bWJlcl1bJ2NvbXBhbnknXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1N1cHBvcnRQaG9uZU51bWJlciA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydjb21wYW55R3JvdXBzJ11bbnVtYmVyXVsnY29tcGFueSddWydzdXBwb3J0UGhvbmVOdW1iZXInXTtcbiAgZXhwb3J0IHR5cGUgX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0FwcHJvdmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydhcHByb3ZlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnYXBwcm92ZXJGb3InXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRG9jdW1lbnRzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VycyddW251bWJlcl1bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9QcmVmZXJlbmNlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ3VzZXJzJ11bbnVtYmVyXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVXNlclBhc3NlbmdlclR5cGVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWyd1c2VyUGFzc2VuZ2VyVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMZWFkUGFzc2VuZ2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ107XG4gIGV4cG9ydCB0eXBlIFVzZXJJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2xlYWRQYXNzZW5nZXInXSwgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH0+KTtcbiAgZXhwb3J0IHR5cGUgX19Eb2N1bWVudHMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fUHJlZmVyZW5jZXMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ3ByZWZlcmVuY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19Mb3lhbHR5Q29kZXMgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdVc2VyJyB9PilbJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEd1ZXN0SW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248RW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydsZWFkUGFzc2VuZ2VyJ10sIHsgX190eXBlbmFtZT86ICdHdWVzdCcgfT4pO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG4gIGV4cG9ydCB0eXBlIE1hbmFnZW1lbnRJbmZvID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZXJ2aWNlID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgRml4ZWRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydkZWZhdWx0VmFsdWUnXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3ZhbHVlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkVmFsdWVzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd2YWx1ZSddO1xuICBleHBvcnQgdHlwZSBVc2VyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddO1xuICBleHBvcnQgdHlwZSBfX19Eb2N1bWVudHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bbnVtYmVyXVsnc2VsZWN0ZWRWYWx1ZXMnXVtudW1iZXJdWyd1c2VyJ11bJ2RvY3VtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddW251bWJlcl1bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXVsndXNlciddWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX0xveWFsdHlDb2RlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2Jhc2tldEl0ZW1zJ11bbnVtYmVyXVsnbWFuYWdlbWVudEluZm8nXVtudW1iZXJdWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXVsnbG95YWx0eUNvZGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlUGF5bWVudE1ldGhvZHMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydiYXNrZXRJdGVtcyddW251bWJlcl1bJ2F2YWlsYWJsZVBheW1lbnRNZXRob2RzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU2VsZWN0ZWRQYXltZW50TWV0aG9kID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnYmFza2V0SXRlbXMnXVtudW1iZXJdWydzZWxlY3RlZFBheW1lbnRNZXRob2QnXTtcbiAgZXhwb3J0IHR5cGUgQ29tcGFueUdyb3VwID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ107XG4gIGV4cG9ydCB0eXBlIF9fQ29tcGFueSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J107XG4gIGV4cG9ydCB0eXBlIF9fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgX19PZmZpY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ29mZmljZXMnXVtudW1iZXJdWydhZGRyZXNzZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydvZmZpY2VzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0FkZHJlc3NlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVXNlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VsZWN0ZWRMYW5ndWFnZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnc2VsZWN0ZWRMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBfX0F2YWlsYWJsZUxhbmd1YWdlcyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19UbWMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ3RtYyddO1xuICBleHBvcnQgdHlwZSBfX09mZmljZSA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnb2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fQWRkcmVzc2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydvZmZpY2UnXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19QaG9uZU51bWJlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ29mZmljZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fX19BZGRyZXNzZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX1Bob25lTnVtYmVycyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19BcHByb3ZlcnMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fQXBwcm92ZXJGb3IgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2FwcHJvdmVyRm9yJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX0RvY3VtZW50cyA9IEVtYWlsQmFza2V0UXVlcnlbJ2VtYWlsQmFza2V0J11bJ2NvbXBhbnlHcm91cCddWydjb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXVsnZG9jdW1lbnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1ByZWZlcmVuY2VzID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsndXNlcnMnXVtudW1iZXJdWydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19Mb3lhbHR5Q29kZXMgPSBFbWFpbEJhc2tldFF1ZXJ5WydlbWFpbEJhc2tldCddWydjb21wYW55R3JvdXAnXVsnY29tcGFueSddWyd1c2VycyddW251bWJlcl1bJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU3VwcG9ydFBob25lTnVtYmVyID0gRW1haWxCYXNrZXRRdWVyeVsnZW1haWxCYXNrZXQnXVsnY29tcGFueUdyb3VwJ11bJ2NvbXBhbnknXVsnc3VwcG9ydFBob25lTnVtYmVyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRXJyb3JzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvcnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgU2VydmljZSA9IEVycm9yc0ZyYWdtZW50WydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR3JvdXBlZEZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGbGlnaHRzID0gR3JvdXBlZEZpZWxkc0ZyYWdtZW50WydmbGlnaHRzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmxpZ2h0Sm91cm5leUZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGYXJlSW5mbyA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUluZm8nXTtcbiAgZXhwb3J0IHR5cGUgRGVzdGluYXRpb25BaXJwb3J0RGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydkZXN0aW5hdGlvbkFpcnBvcnREZXRhaWwnXTtcbiAgZXhwb3J0IHR5cGUgTWFya2V0aW5nQ2FycmllckRldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnbWFya2V0aW5nQ2FycmllckRldGFpbCddO1xuICBleHBvcnQgdHlwZSBPcGVyYXRpbmdDYXJyaWVyRGV0YWlsID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydvcGVyYXRpbmdDYXJyaWVyRGV0YWlsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gRmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50WydmYXJlQ29uZGl0aW9ucyddWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBGbGlnaHRKb3VybmV5RmllbGRzRnJhZ21lbnRbJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luQWlycG9ydERldGFpbCA9IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudFsnb3JpZ2luQWlycG9ydERldGFpbCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFsbEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBbGxBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRBbGxBaXJsaW5lcyA9IEdldEFsbEFpcmxpbmVzUXVlcnlbJ2dldEFsbEFpcmxpbmVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5RdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYW5jZWxsYXRpb25JbmZvIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q2FuY2VsbGF0aW9uSW5mbyA9IEdldENhbmNlbGxhdGlvbkluZm9RdWVyeVsnZ2V0Q2FuY2VsbGF0aW9uSW5mbyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENhckhpcmVEZXBvdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDYXJIaXJlRGVwb3RzID0gR2V0Q2FySGlyZURlcG90c1F1ZXJ5WydnZXRDYXJIaXJlRGVwb3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDYXJIaXJlUHJvdmlkZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENhckhpcmVQcm92aWRlcnNRdWVyeTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb21wYW5pZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb21wYW5pZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb21wYW5pZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29tcGFuaWVzID0gR2V0Q29tcGFuaWVzUXVlcnlbJ2dldENvbXBhbmllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRtYyA9IEdldENvbXBhbmllc1F1ZXJ5WydnZXRDb21wYW5pZXMnXVtudW1iZXJdWyd0bWMnXTtcbiAgZXhwb3J0IHR5cGUgT2ZmaWNlcyA9IEdldENvbXBhbmllc1F1ZXJ5WydnZXRDb21wYW5pZXMnXVtudW1iZXJdWydvZmZpY2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb21wYW55IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29tcGFueVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbXBhbnlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0Q29tcGFueSA9IEdldENvbXBhbnlRdWVyeVsnZ2V0Q29tcGFueSddO1xuICBleHBvcnQgdHlwZSBUbWMgPSBHZXRDb21wYW55UXVlcnlbJ2dldENvbXBhbnknXVsndG1jJ107XG4gIGV4cG9ydCB0eXBlIE9mZmljZXMgPSBHZXRDb21wYW55UXVlcnlbJ2dldENvbXBhbnknXVsnb2ZmaWNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJzID0gR2V0Q29tcGFueVF1ZXJ5WydnZXRDb21wYW55J11bJ3VzZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgU3VwcG9ydFBob25lTnVtYmVyID0gR2V0Q29tcGFueVF1ZXJ5WydnZXRDb21wYW55J11bJ3N1cHBvcnRQaG9uZU51bWJlciddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVzZXJzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2Vyc0ZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbmZlcm1hT2ZmaWNlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFPZmZpY2VRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRDb25mZXJtYU9mZmljZSA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydyZXN1bHRzJ11bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgQ2xvc2VzdEhvdGVscyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ3Jlc3VsdHMnXVsnY2xvc2VzdEhvdGVscyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hT2ZmaWNlUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBHZXRDb25mZXJtYU9mZmljZVF1ZXJ5WydnZXRDb25mZXJtYU9mZmljZSddWydlcnJvcnMnXVtudW1iZXJdWydzZXJ2aWNlJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hT2ZmaWNlTmFtZXMgPSBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlbJ2dldENvbmZlcm1hT2ZmaWNlTmFtZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNRdWVyeVsnZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5WydnZXRDb25mZXJtYU9mZmljZU5hbWVzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFRdWlja2xpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldENvbmZlcm1hUXVpY2tsaXN0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb2NhdGlvbiddO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0cmFuc3BvcnRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJlZmVycmVkID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3ByZWZlcnJlZCddO1xuICBleHBvcnQgdHlwZSBUYWdzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddO1xuICBleHBvcnQgdHlwZSBSb29tcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEN1cnJlbmN5Q29udmVyc2lvbiA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnZGVwb3NpdCddO1xuICBleHBvcnQgdHlwZSBOaWdodHMgPSBHZXRDb25mZXJtYVF1aWNrbGlzdFF1ZXJ5WydnZXRDb25mZXJtYVF1aWNrbGlzdCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYXZhaWxhYmxlUmF0ZXMnXVsncm9vbXMnXVtudW1iZXJdWyduaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQb2xpY2llcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3RheCddO1xuICBleHBvcnQgdHlwZSBBY2NlcHRlZENhcmRzID0gR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVsnZ2V0Q29uZmVybWFRdWlja2xpc3QnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ11bJ3Jvb21zJ11bbnVtYmVyXVsnYWNjZXB0ZWRDYXJkcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRUeXBlcyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ3Jlc3VsdHMnXVtudW1iZXJdWydhdmFpbGFibGVSYXRlcyddWydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldENvbmZlcm1hUXVpY2tsaXN0UXVlcnlbJ2dldENvbmZlcm1hUXVpY2tsaXN0J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29uZmVybWFSb29tSW1hZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0RmxpZ2h0RmFyZVJ1bGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldEZsaWdodEZhcmVSdWxlcyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ2NhbmNlbGxhdGlvbiddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENoYW5nZSA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE5vU2hvdyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsncmVzdWx0cyddW251bWJlcl1bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWyd1cGdyYWRlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3RoZXIgPSBHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeVsnZ2V0RmxpZ2h0RmFyZVJ1bGVzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldEZsaWdodEZhcmVSdWxlc1F1ZXJ5WydnZXRGbGlnaHRGYXJlUnVsZXMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGbGlnaHRTZWF0TWFwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZsaWdodFNlYXRNYXBRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0RmxpZ2h0U2VhdE1hcCA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBaXJjcmFmdCA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnYWlyY3JhZnQnXTtcbiAgZXhwb3J0IHR5cGUgU2VhdHMgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsncmVzdWx0cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQXR0cmlidXRlcyA9IEdldEZsaWdodFNlYXRNYXBRdWVyeVsnZ2V0RmxpZ2h0U2VhdE1hcCddWydyZXN1bHRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdWydhdHRyaWJ1dGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gR2V0RmxpZ2h0U2VhdE1hcFF1ZXJ5WydnZXRGbGlnaHRTZWF0TWFwJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBHZXRGbGlnaHRTZWF0TWFwUXVlcnlbJ2dldEZsaWdodFNlYXRNYXAnXVsnZXJyb3JzJ11bbnVtYmVyXVsnc2VydmljZSddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEhvdGVsQ2hhaW5zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0SG90ZWxDaGFpbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRIb3RlbENoYWluc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldElybERpc2NvdW50Q2FyZHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRJcmxEaXNjb3VudENhcmRzID0gR2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5WydnZXRJUkxEaXNjb3VudENhcmRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRJcmxTdXBwbGllclN0YXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0SXJsU3VwcGxpZXJTdGF0aW9uID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uUXVlcnlbJ2dldElSTFN1cHBsaWVyU3RhdGlvbiddO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVsnZ2V0SVJMU3VwcGxpZXJTdGF0aW9uJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5WydnZXRJUkxTdXBwbGllclN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbExpdmVEZXBhcnR1cmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxMaXZlRGVwYXJ0dXJlcyA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXTtcbiAgZXhwb3J0IHR5cGUgU2VydmljZXMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3JpZ2luID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ29yaWdpbiddO1xuICBleHBvcnQgdHlwZSBEZXN0aW5hdGlvbiA9IEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5WydnZXRSYWlsTGl2ZURlcGFydHVyZXMnXVsnc2VydmljZXMnXVtudW1iZXJdWydkZXN0aW5hdGlvbiddO1xuICBleHBvcnQgdHlwZSBTdWJzZXF1ZW50TG9jYXRpb25zID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzUXVlcnlbJ2dldFJhaWxMaXZlRGVwYXJ0dXJlcyddWydzZXJ2aWNlcyddW251bWJlcl1bJ3N1YnNlcXVlbnRMb2NhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBc3NvY2lhdGlvbnMgPSBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVsnZ2V0UmFpbExpdmVEZXBhcnR1cmVzJ11bJ3NlcnZpY2VzJ11bbnVtYmVyXVsnc3Vic2VxdWVudExvY2F0aW9ucyddW251bWJlcl1bJ2Fzc29jaWF0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbFN0YXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJhaWxTdGF0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxTdGF0aW9uID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gR2V0UmFpbFN0YXRpb25RdWVyeVsnZ2V0UmFpbFN0YXRpb24nXVsnbG9jYXRpb25EZXRhaWxzJ11bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UmFpbGNhcmRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbGNhcmRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFJhaWxjYXJkcyA9IEdldFJhaWxjYXJkc1F1ZXJ5WydnZXRSYWlsY2FyZHMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJhaWxQcm92aWRlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSYWlsUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UmFpbFByb3ZpZGVyc1F1ZXJ5O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJpc2tBbGVydHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSaXNrQWxlcnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Umlza0FsZXJ0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRSaXNrQWxlcnRzID0gR2V0Umlza0FsZXJ0c1F1ZXJ5WydnZXRSaXNrQWxlcnRzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQWRkcmVzc2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckFkZHJlc3Nlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckFkZHJlc3NlcyA9IEdldFVzZXJBZGRyZXNzZXNRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJDb21wYW55T2ZmaWNlcyA9IEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5WydnZXRVc2VyQ29tcGFueU9mZmljZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNRdWVyeVsnZ2V0VXNlckNvbXBhbnlPZmZpY2VzJ11bbnVtYmVyXVsnYWRkcmVzc2VzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddO1xuICBleHBvcnQgdHlwZSBDb21wYW55ID0gR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VRdWVyeVsnZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UnXVsnY29tcGFueSddO1xuICBleHBvcnQgdHlwZSBPZmZpY2UgPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydvZmZpY2UnXTtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlbJ2dldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlJ11bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgUGVyaW9kQ29uc3VtcHRpb24gPSBHZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZVF1ZXJ5WydnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSddWydwZXJpb2RDb25zdW1wdGlvbiddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyA9IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJHdWVzdHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyR3Vlc3RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlckd1ZXN0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyR3Vlc3RzID0gR2V0VXNlckd1ZXN0c1F1ZXJ5WydnZXRVc2VyR3Vlc3RzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJNaUF1dG9TdWdnZXN0VmFsdWVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlck1pQXV0b1N1Z2dlc3RWYWx1ZXMgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5WydnZXRVc2VyTUlBdXRvU3VnZ2VzdFZhbHVlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclBob25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclBob25lUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJQaG9uZU51bWJlcnMgPSBHZXRVc2VyUGhvbmVRdWVyeVsnZ2V0VXNlclBob25lTnVtYmVycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclJlY2VudFNlYXJjaGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJSZWNlbnRTZWFyY2hlcyA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc1F1ZXJ5WydnZXRVc2VyUmVjZW50U2VhcmNoZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUcmF2ZWxsZXJzID0gR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlbJ2dldFVzZXJSZWNlbnRTZWFyY2hlcyddW251bWJlcl1bJ3RyYXZlbGxlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJvb21BdmFsaWFiaWxpdHkge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgUm9vbXMgPSBSb29tQXZhbGlhYmlsaXR5RnJhZ21lbnRbJ3Jvb21zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQ3VycmVuY3lDb252ZXJzaW9uID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2N1cnJlbmN5Q29udmVyc2lvbiddO1xuICBleHBvcnQgdHlwZSBEZXBvc2l0ID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ2RlcG9zaXQnXTtcbiAgZXhwb3J0IHR5cGUgTmlnaHRzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ25pZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBvbGljaWVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BvbGljaWVzJ107XG4gIGV4cG9ydCB0eXBlIFRheCA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWyd0YXgnXTtcbiAgZXhwb3J0IHR5cGUgQWNjZXB0ZWRDYXJkcyA9IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudFsncm9vbXMnXVtudW1iZXJdWydhY2NlcHRlZENhcmRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFR5cGVzID0gUm9vbUF2YWxpYWJpbGl0eUZyYWdtZW50Wydyb29tcyddW251bWJlcl1bJ3BheW1lbnRUeXBlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSG90ZWxzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEhvdGVscyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uID0gU2VhcmNoSG90ZWxzUXVlcnlbJ3NlYXJjaEhvdGVscyddWydyZXN1bHRzJ11bbnVtYmVyXVsnbG9jYXRpb24nXTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2FkZHJlc3MnXTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNwb3J0cyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RyYW5zcG9ydHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBQcmVmZXJyZWQgPSBTZWFyY2hIb3RlbHNRdWVyeVsnc2VhcmNoSG90ZWxzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydwcmVmZXJyZWQnXTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ3RhZ3MnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBdmFpbGFibGVSYXRlcyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsncmVzdWx0cyddW251bWJlcl1bJ2F2YWlsYWJsZVJhdGVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaEhvdGVsc1F1ZXJ5WydzZWFyY2hIb3RlbHMnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHkgPSBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eVF1ZXJ5WydnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eSddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gR2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHlRdWVyeVsnZ2V0TXVsdGlwbGVIb3RlbHNBdmFpbGFiaWxpdHknXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlbJ2dldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5J11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgSXNQb3N0Y29kZVZhbGlkIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gSXNQb3N0Y29kZVZhbGlkUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gSXNQb3N0Y29kZVZhbGlkUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTG9jYXRpb25fRGV0YWlsIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZXMgPSBMb2NhdGlvbl9EZXRhaWxGcmFnbWVudFsnY29vcmRpbmF0ZXMnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hBaXJwb3J0cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoQWlycG9ydHNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQWlycG9ydHMgPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddO1xuICBleHBvcnQgdHlwZSBJYXRhTWF0Y2ggPSBTZWFyY2hBaXJwb3J0c1F1ZXJ5WydzZWFyY2hBaXJwb3J0cyddWydpYXRhTWF0Y2gnXTtcbiAgZXhwb3J0IHR5cGUgTG9jYXRpb25EZXRhaWxzID0gU2VhcmNoQWlycG9ydHNRdWVyeVsnc2VhcmNoQWlycG9ydHMnXVsnaWF0YU1hdGNoJ11bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0xvY2F0aW9uRGV0YWlscyA9IFNlYXJjaEFpcnBvcnRzUXVlcnlbJ3NlYXJjaEFpcnBvcnRzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoTG91bmdlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaExvdW5nZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hMb3VuZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaExvdW5nZXMgPSBTZWFyY2hMb3VuZ2VzUXVlcnlbJ3NlYXJjaExvdW5nZXMnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaExvdW5nZXNRdWVyeVsnc2VhcmNoTG91bmdlcyddWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTG91bmdlID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydsb3VuZ2UnXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoTG91bmdlc1F1ZXJ5WydzZWFyY2hMb3VuZ2VzJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIE1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0ID0gTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXRNdXRhdGlvblsnbW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXQnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hQYXJraW5nIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUGFya2luZ1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBhcmtpbmdRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoUGFya2luZyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDYXJQYXJrID0gU2VhcmNoUGFya2luZ1F1ZXJ5WydzZWFyY2hQYXJraW5nJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydjYXJQYXJrJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaFBhcmtpbmdRdWVyeVsnc2VhcmNoUGFya2luZyddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJhaWxKb3VybmV5RmFyZSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIElkZW50aWZpZXJzID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIFRlcm1zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ107XG4gIGV4cG9ydCB0eXBlIER5bmFtaWNDb25kaXRpb25zID0gUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnRbJ3Rlcm1zJ11bJ2R5bmFtaWNDb25kaXRpb25zJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSYWlsSm91cm5leU9wdGlvbiB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgSm91cm5leUxlZ3MgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENhbGxpbmdQb2ludHMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wydqb3VybmV5TGVncyddW251bWJlcl1bJ2NhbGxpbmdQb2ludHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTaW5nbGVKb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydzaW5nbGVKb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBSZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydyZXR1cm5Kb3VybmV5RmFyZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBEdWFsU2luZ2xlSm91cm5leUZhcmVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE9wZW5SZXR1cm5Kb3VybmV5RmFyZXMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50WydvcGVuUmV0dXJuSm91cm5leUZhcmVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0UXVldWVMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0UXVldWVMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQWNjb3VudHNMaXN0ID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsnYWNjb3VudHNMaXN0J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVGlja2V0RXh0cmFzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsndGlja2V0RXh0cmFzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSWRlbnRpZmllcnMgPSBSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50Wyd0aWNrZXRFeHRyYXMnXVtudW1iZXJdWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBQbHVzQnVzID0gUmFpbEpvdXJuZXlPcHRpb25GcmFnbWVudFsncGx1c0J1cyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFJhaWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hSYWlsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hSYWlsID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hSYWlsUXVlcnlbJ3NlYXJjaFJhaWwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFJldHVybiA9IFNlYXJjaFJhaWxRdWVyeVsnc2VhcmNoUmFpbCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRXJyb3JzID0gU2VhcmNoUmFpbFF1ZXJ5WydzZWFyY2hSYWlsJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2F2ZUZhdm91cml0ZVNlYXJjaCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNhdmVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNhdmVGYXZvdXJpdGVTZWFyY2ggPSBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25bJ3NhdmVGYXZvdXJpdGVTZWFyY2gnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNhdmVSZWNlbnRTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlUmVjZW50U2VhcmNoTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTYXZlUmVjZW50U2VhcmNoID0gU2F2ZVJlY2VudFNlYXJjaE11dGF0aW9uWydzYXZlUmVjZW50U2VhcmNoJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTYXZlVXNlckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTYXZlVXNlckFkZHJlc3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2F2ZVVzZXJBZGRyZXNzID0gU2F2ZVVzZXJBZGRyZXNzTXV0YXRpb25bJ3NhdmVVc2VyQWRkcmVzcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEFpcmxpbmVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hBaXJsaW5lc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hBaXJsaW5lcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ107XG4gIGV4cG9ydCB0eXBlIElhdGFNYXRjaCA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2lhdGFNYXRjaCddO1xuICBleHBvcnQgdHlwZSBHZW5lcmFsTWF0Y2hlcyA9IFNlYXJjaEFpcmxpbmVzUXVlcnlbJ3NlYXJjaEFpcmxpbmVzJ11bJ2dlbmVyYWxNYXRjaGVzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDaXRpZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hDaXRpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoQ2l0aWVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoQ2l0aWVzUXVlcnlbJ3NlYXJjaENpdGllcyddW251bWJlcl1bJ2Nvb3JkaW5hdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoQ29uZmVybWFDaXRpZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaENvbmZlcm1hQ2l0aWVzID0gU2VhcmNoQ29uZmVybWFDaXRpZXNRdWVyeVsnc2VhcmNoQ29uZmVybWFDaXRpZXMnXTtcbiAgZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbnMgPSBTZWFyY2hDb25mZXJtYUNpdGllc1F1ZXJ5WydzZWFyY2hDb25mZXJtYUNpdGllcyddWydzdWdnZXN0aW9ucyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoRXVyb3N0YXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEV1cm9zdGFyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaEV1cm9zdGFyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXTtcbiAgZXhwb3J0IHR5cGUgSm91cm5leXMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIEluYm91bmRGbGlnaHRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIFRheGVzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RheGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIEZhcmVDb25kaXRpb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ107XG4gIGV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTm9TaG93ID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ25vU2hvdyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQmFnZ2FnZUFsbG93YW5jZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydiYWdnYWdlQWxsb3dhbmNlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgTXVsdGkgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdXRib3VuZEZsaWdodHMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kRmxpZ2h0cyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9JbmJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydpbmJvdW5kQ2FyYm9uRW1pc3Npb25zJ107XG4gIGV4cG9ydCB0eXBlIF9UYXhlcyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRXVyb3N0YXJRdWVyeVsnc2VhcmNoRXVyb3N0YXInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydkaXNjb3VudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfVG90YWwgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ3RvdGFsJ107XG4gIGV4cG9ydCB0eXBlIF9GYXJlQ29uZGl0aW9ucyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2FuY2VsbGF0aW9uJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoYW5nZSA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnY2hhbmdlJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX05vU2hvdyA9IFNlYXJjaEV1cm9zdGFyUXVlcnlbJ3NlYXJjaEV1cm9zdGFyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ3VwZ3JhZGUnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3RoZXIgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ290aGVyJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0JhZ2dhZ2VBbGxvd2FuY2UgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hFdXJvc3RhclF1ZXJ5WydzZWFyY2hFdXJvc3RhciddWydlcnJvcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaEZhc3RUcmFjayB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEZhc3RUcmFja1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2hGYXN0VHJhY2sgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ107XG4gIGV4cG9ydCB0eXBlIFJlc3VsdHMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ3Jlc3VsdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlcnZpY2UgPSBTZWFyY2hGYXN0VHJhY2tRdWVyeVsnc2VhcmNoRmFzdFRyYWNrJ11bJ2Vycm9ycyddW251bWJlcl1bJ3NlcnZpY2UnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hGbGlnaHRzVjIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoRmxpZ2h0c1YyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddO1xuICBleHBvcnQgdHlwZSBSZXN1bHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ107XG4gIGV4cG9ydCB0eXBlIEpvdXJuZXlzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgT3V0Ym91bmRGbGlnaHRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRGbGlnaHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydpbmJvdW5kRmxpZ2h0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kQ2FyYm9uRW1pc3Npb25zID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgSW5ib3VuZENhcmJvbkVtaXNzaW9ucyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2luYm91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWyd0YXhlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIERpc2NvdW50cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydqb3VybmV5cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFRvdGFsID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsndG90YWwnXTtcbiAgZXhwb3J0IHR5cGUgRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddO1xuICBleHBvcnQgdHlwZSBDYW5jZWxsYXRpb24gPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGFuZ2UgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjaGFuZ2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBOb1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnam91cm5leXMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydub1Nob3cnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBVcGdyYWRlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE90aGVyID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnb3RoZXInXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBCYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2pvdXJuZXlzJ11bbnVtYmVyXVsnYmFnZ2FnZUFsbG93YW5jZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE11bHRpID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1Jlc3VsdHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX091dGJvdW5kRmxpZ2h0cyA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfSW5ib3VuZEZsaWdodHMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZEZsaWdodHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfT3V0Ym91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmRDYXJib25FbWlzc2lvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0luYm91bmRDYXJib25FbWlzc2lvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnaW5ib3VuZENhcmJvbkVtaXNzaW9ucyddO1xuICBleHBvcnQgdHlwZSBfVGF4ZXMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsndGF4ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfRGlzY291bnRzID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2Rpc2NvdW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ub3RhbCA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWyd0b3RhbCddO1xuICBleHBvcnQgdHlwZSBfRmFyZUNvbmRpdGlvbnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXTtcbiAgZXhwb3J0IHR5cGUgX0NhbmNlbGxhdGlvbiA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydjYW5jZWxsYXRpb24nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfQ2hhbmdlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2ZhcmVDb25kaXRpb25zJ11bJ2NoYW5nZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Ob1Nob3cgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsnbm9TaG93J11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1VwZ3JhZGUgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ3Jlc3VsdHMnXVsnbXVsdGknXVtudW1iZXJdWydyZXN1bHRzJ11bbnVtYmVyXVsnZmFyZUNvbmRpdGlvbnMnXVsndXBncmFkZSddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9PdGhlciA9IFNlYXJjaEZsaWdodHNWMlF1ZXJ5WydzZWFyY2hGbGlnaHRzVjInXVsncmVzdWx0cyddWydtdWx0aSddW251bWJlcl1bJ3Jlc3VsdHMnXVtudW1iZXJdWydmYXJlQ29uZGl0aW9ucyddWydvdGhlciddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9CYWdnYWdlQWxsb3dhbmNlID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ211bHRpJ11bbnVtYmVyXVsncmVzdWx0cyddW251bWJlcl1bJ2JhZ2dhZ2VBbGxvd2FuY2UnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBHcm91cGVkID0gU2VhcmNoRmxpZ2h0c1YyUXVlcnlbJ3NlYXJjaEZsaWdodHNWMiddWydyZXN1bHRzJ11bJ2dyb3VwZWQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBFcnJvcnMgPSBTZWFyY2hGbGlnaHRzVjJRdWVyeVsnc2VhcmNoRmxpZ2h0c1YyJ11bJ2Vycm9ycyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSG90ZWxDaGFpbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaEhvdGVsQ2hhaW5zUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoSXJsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoSXJsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaElybCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXTtcbiAgZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIE91dGJvdW5kID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBJZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgVHJhdmVsbGVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndHJhdmVsbGVycyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFNlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBDaGVhcGVzdFRpY2tldCA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBUaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRPcHRpb25zID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgQm9va2VkVGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsnb3V0Ym91bmQnXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBUaWNrZXRFeHRyYXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydvdXRib3VuZCddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgUGx1c0J1cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ291dGJvdW5kJ11bbnVtYmVyXVsncGx1c0J1cyddO1xuICBleHBvcnQgdHlwZSBSZXR1cm4gPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1RyYXZlbGxlcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWyd0cmF2ZWxsZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX1NlZ21lbnRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdFByZWZlcmVuY2VUeXBlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3NlZ21lbnRzJ11bbnVtYmVyXVsnc2VhdHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfUHJvdmlkZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX0NoZWFwZXN0VGlja2V0ID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fSWRlbnRpZmllcnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnY2hlYXBlc3RUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fU2VnbWVudHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX1NlYXRQcmVmZXJlbmNlVHlwZXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydjaGVhcGVzdFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2NoZWFwZXN0VGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldE9wdGlvbnMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWyd0aWNrZXRPcHRpb25zJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ2lkZW50aWZpZXJzJ107XG4gIGV4cG9ydCB0eXBlIF9fX19UaWNrZXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0UHJlZmVyZW5jZVR5cGVzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsndGlja2V0T3B0aW9ucyddW251bWJlcl1bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRQcmVmZXJlbmNlVHlwZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19TZWF0cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ3RpY2tldE9wdGlvbnMnXVtudW1iZXJdWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9Cb29rZWRUaWNrZXQgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX19JZGVudGlmaWVycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWydpZGVudGlmaWVycyddO1xuICBleHBvcnQgdHlwZSBfX19fX1RpY2tldHMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwcm92aWRlcnMnXVtudW1iZXJdWydib29rZWRUaWNrZXQnXVsndGlja2V0cyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19TZWdtZW50cyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBfX19fX19fU2VhdFByZWZlcmVuY2VUeXBlcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3Byb3ZpZGVycyddW251bWJlcl1bJ2Jvb2tlZFRpY2tldCddWyd0aWNrZXRzJ11bbnVtYmVyXVsnc2VnbWVudHMnXVtudW1iZXJdWydzZWF0UHJlZmVyZW5jZVR5cGVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX19fX19fX1NlYXRzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsncHJvdmlkZXJzJ11bbnVtYmVyXVsnYm9va2VkVGlja2V0J11bJ3RpY2tldHMnXVtudW1iZXJdWydzZWdtZW50cyddW251bWJlcl1bJ3NlYXRzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgX1RpY2tldEV4dHJhcyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsncmVzdWx0cyddW251bWJlcl1bJ3JldHVybiddW251bWJlcl1bJ3RpY2tldEV4dHJhcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIF9fX19fX19fX0lkZW50aWZpZXJzID0gU2VhcmNoSXJsUXVlcnlbJ3NlYXJjaElSTCddWydyZXN1bHRzJ11bbnVtYmVyXVsncmV0dXJuJ11bbnVtYmVyXVsndGlja2V0RXh0cmFzJ11bbnVtYmVyXVsnaWRlbnRpZmllcnMnXTtcbiAgZXhwb3J0IHR5cGUgX1BsdXNCdXMgPSBTZWFyY2hJcmxRdWVyeVsnc2VhcmNoSVJMJ11bJ3Jlc3VsdHMnXVtudW1iZXJdWydyZXR1cm4nXVtudW1iZXJdWydwbHVzQnVzJ107XG4gIGV4cG9ydCB0eXBlIEVycm9ycyA9IFNlYXJjaElybFF1ZXJ5WydzZWFyY2hJUkwnXVsnZXJyb3JzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9ucyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIExvY2F0aW9uRGV0YWlscyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddO1xuICBleHBvcnQgdHlwZSBDb29yZGluYXRlcyA9IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeVsnc2VhcmNoSVJMU3VwcGxpZXJTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFBvc3Rjb2RlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFBvc3Rjb2Rlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRQb3N0Y29kZURldGFpbHMgPSBTZWFyY2hQb3N0Y29kZXNRdWVyeVsnZ2V0UG9zdGNvZGVEZXRhaWxzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUmFpbFN0YXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFJhaWxTdGF0aW9ucyA9IFNlYXJjaFJhaWxTdGF0aW9uc1F1ZXJ5WydzZWFyY2hSYWlsU3RhdGlvbnMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb2NhdGlvbkRldGFpbHMgPSBTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeVsnc2VhcmNoUmFpbFN0YXRpb25zJ11bbnVtYmVyXVsnbG9jYXRpb25EZXRhaWxzJ107XG4gIGV4cG9ydCB0eXBlIENvb3JkaW5hdGVzID0gU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlbJ3NlYXJjaFJhaWxTdGF0aW9ucyddW251bWJlcl1bJ2xvY2F0aW9uRGV0YWlscyddWydjb29yZGluYXRlcyddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hVc2VyQWRkcmVzc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyQWRkcmVzc2VzID0gU2VhcmNoVXNlckFkZHJlc3NRdWVyeVsnZ2V0VXNlckFkZHJlc3NlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VuZE9mZmxpbmVOb3RpZmljYXRpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZW5kT2ZmbGluZU5vdGlmaWNhdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uID0gU2VuZE9mZmxpbmVOb3RpZmljYXRpb25RdWVyeVsnc2VuZE9mZmxpbmVOb3RpZmljYXRpb24nXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtTWlHcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1NaUdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbU1pR3JvdXAgPSBTZXRCYXNrZXRJdGVtTWlHcm91cE11dGF0aW9uWydzZXRCYXNrZXRJdGVtTUlHcm91cCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlciA9IFNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyTXV0YXRpb25bJ3NldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QmFza2V0SXRlbU1pVmFsdWUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRCYXNrZXRJdGVtTWlWYWx1ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEJhc2tldEl0ZW1NaVZhbHVlID0gU2V0QmFza2V0SXRlbU1pVmFsdWVNdXRhdGlvblsnc2V0QmFza2V0SXRlbU1JVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QgPSBTZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZE11dGF0aW9uWydzZXRCYXNrZXRJdGVtUGF5bWVudE1ldGhvZCddO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUJhc2tldE5vdGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVCYXNrZXROb3Rlc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVCYXNrZXROb3RlcyA9IFVwZGF0ZUJhc2tldE5vdGVzTXV0YXRpb25bJ3VwZGF0ZUJhc2tldE5vdGVzJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQmFza2V0VGl0bGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVCYXNrZXRUaXRsZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUJhc2tldFRpdGxlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUJhc2tldFRpdGxlID0gVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblsndXBkYXRlQmFza2V0VGl0bGUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBVc2VyRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlbGVjdGVkTGFuZ3VhZ2UgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3NlbGVjdGVkTGFuZ3VhZ2UnXTtcbiAgZXhwb3J0IHR5cGUgQXZhaWxhYmxlTGFuZ3VhZ2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydhdmFpbGFibGVMYW5ndWFnZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2FkZHJlc3NlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFBob25lTnVtYmVycyA9IFVzZXJGaWVsZHNGcmFnbWVudFsncGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgRG9jdW1lbnRzID0gVXNlckZpZWxkc0ZyYWdtZW50Wydkb2N1bWVudHMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBMb3lhbHR5Q29kZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ2xveWFsdHlDb2RlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFByZWZlcmVuY2VzID0gVXNlckZpZWxkc0ZyYWdtZW50WydwcmVmZXJlbmNlcyddW251bWJlcl07XG4gIGV4cG9ydCB0eXBlIFVzZXJNaURlZmF1bHRWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZXJ2aWNlID0gVXNlckZpZWxkc0ZyYWdtZW50Wyd1c2VyTWlEZWZhdWx0VmFsdWVzJ11bbnVtYmVyXVsnc2VydmljZSddO1xuICBleHBvcnQgdHlwZSBNYW5hZ2VtZW50SW5mbyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ107XG4gIGV4cG9ydCB0eXBlIEZpeGVkVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydmaXhlZFZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRWYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ2RlZmF1bHRWYWx1ZSddO1xuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWyd2YWx1ZXMnXVtudW1iZXJdO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZFZhbHVlcyA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvJ11bJ3NlbGVjdGVkVmFsdWVzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgVmFsdWUgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3ZhbHVlJ107XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBVc2VyRmllbGRzRnJhZ21lbnRbJ3VzZXJNaURlZmF1bHRWYWx1ZXMnXVtudW1iZXJdWydtYW5hZ2VtZW50SW5mbyddWydzZWxlY3RlZFZhbHVlcyddW251bWJlcl1bJ3VzZXInXTtcbiAgZXhwb3J0IHR5cGUgTWFuYWdlbWVudEluZm9WYWx1ZSA9IFVzZXJGaWVsZHNGcmFnbWVudFsndXNlck1pRGVmYXVsdFZhbHVlcyddW251bWJlcl1bJ21hbmFnZW1lbnRJbmZvVmFsdWUnXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU2VydmljZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyU2VydmljZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyU2VydmljZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgR2V0VXNlclNlcnZpY2VzID0gR2V0VXNlclNlcnZpY2VzUXVlcnlbJ2dldFVzZXJTZXJ2aWNlcyddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlclVpQ29uZmlncyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJVaUNvbmZpZ3NRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRVc2VyVWlDb25maWdzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJVaUNvbmZpZ3MgPSBHZXRVc2VyVWlDb25maWdzUXVlcnlbJ2dldFVzZXJVSUNvbmZpZ3MnXTtcbiAgZXhwb3J0IHR5cGUgQWxsID0gR2V0VXNlclVpQ29uZmlnc1F1ZXJ5WydnZXRVc2VyVUlDb25maWdzJ11bJ2FsbCddW251bWJlcl07XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VXNlck1lc3NhZ2VzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlck1lc3NhZ2VzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlck1lc3NhZ2VzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdldFVzZXJNZXNzYWdlcyA9IEdldFVzZXJNZXNzYWdlc1F1ZXJ5WydnZXRVc2VyTWVzc2FnZXMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJQaG9uZU51bWJlcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyUGhvbmVOdW1iZXJzID0gR2V0VXNlclBob25lTnVtYmVyc1F1ZXJ5WydnZXRVc2VyUGhvbmVOdW1iZXJzJ11bbnVtYmVyXTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRVc2VyTGFuZ3VhZ2Uge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVc2VyTGFuZ3VhZ2VNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0VXNlckxhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddO1xuICBleHBvcnQgdHlwZSBTZWxlY3RlZExhbmd1YWdlID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydzZWxlY3RlZExhbmd1YWdlJ107XG4gIGV4cG9ydCB0eXBlIEF2YWlsYWJsZUxhbmd1YWdlcyA9IFNldFVzZXJMYW5ndWFnZU11dGF0aW9uWydzZXRVc2VyTGFuZ3VhZ2UnXVsnYXZhaWxhYmxlTGFuZ3VhZ2VzJ11bbnVtYmVyXTtcbiAgZXhwb3J0IHR5cGUgUGhvbmVOdW1iZXJzID0gU2V0VXNlckxhbmd1YWdlTXV0YXRpb25bJ3NldFVzZXJMYW5ndWFnZSddWydwaG9uZU51bWJlcnMnXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVc2VyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBHZXRVc2VyID0gR2V0VXNlclF1ZXJ5WydnZXRVc2VyJ107XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoVXNlckNhbkJvb2tGb3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZWFyY2hVc2VyQ2FuQm9va0ZvclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IFNlYXJjaFVzZXJDYW5Cb29rRm9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFVzZXJDYW5Cb29rRm9yID0gU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVsnc2VhcmNoVXNlckNhbkJvb2tGb3InXVtudW1iZXJdO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFZhbGlkYXRlVXNlck1pRnJlZVZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5O1xufVxuXG5leHBvcnQgY29uc3QgT3duZXJGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBPd25lckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyVXNlckZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IFRyYXZlbGxlclVzZXJGaWVsZHMgb24gVXNlciB7XG4gIGlkXG4gIHRpdGxlXG4gIGZvcmVuYW1lXG4gIHN1cm5hbWVcbiAgZW1haWxcbiAgdXNlcm5hbWVcbiAgZW1wbG95ZWVJZFxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVHJhdmVsbGVyR3Vlc3RzRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVHJhdmVsbGVyR3Vlc3RzRmllbGRzIG9uIEd1ZXN0IHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICBnZW5kZXJcbiAgbmF0aW9uYWxpdHlcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEJhc2tldEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEJhc2tldEZpZWxkcyBvbiBCYXNrZXQge1xuICBpZFxuICBvd25lciB7XG4gICAgLi4uT3duZXJGaWVsZHNcbiAgfVxuICBpbnZva2VkVXNlciB7XG4gICAgaWRcbiAgICBlbWFpbFxuICB9XG4gIHJlZmVyZW5jZVxuICB0aXRsZVxuICBub3Rlc1xuICBjcmVhdGVkQXRcbiAgdXBkYXRlZEF0XG4gIGJvb2tlZEF0XG4gIGJhc2tldEl0ZW1zIHtcbiAgICBpZFxuICAgIGFkdWx0c1xuICAgIGNoaWxkcmVuXG4gICAgaW5mYW50c1xuICAgIGRldGFpbFxuICAgIGRldGFpbEhhc2hcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgICBleHBpcnlcbiAgICBleHBpcmVkXG4gICAgc2VhcmNoUXVlcnlcbiAgICBwcmljZVxuICAgIGN1cnJlbmN5XG4gICAgbWlHcm91cHNBdmFpbGFibGVcbiAgICBtaUdyb3VwU2VsZWN0ZWRcbiAgICB2YWxpZGF0ZWRcbiAgICBsYXRlc3RWYWxpZGF0aW9uXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlXG4gICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlRGlmZmVyZW5jZVxuICAgIGxhdGVzdFZhbGlkYXRpb25BdmFpbGFibGVcbiAgICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZVxuICAgIHN0YXR1c1xuICAgIHBuckxvY2F0b3JcbiAgICBib29raW5nRGV0YWlsXG4gICAgYXZhaWxhYmxlUGF5bWVudE1ldGhvZHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfVxuICAgIHNlbGVjdGVkUGF5bWVudE1ldGhvZCB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG4gICAgcGVySXRlbVN1cHBsZW1lbnRhcnlCb29raW5nSW5mb1NjaGVtYSBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVyUGFzc2VuZ2VyU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJJdGVtQWRkcmVzcyBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgcGVySXRlbVBob25lTnVtYmVyIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJBZGRyZXNzIEBpbmNsdWRlKGlmOiAkd2l0aFN1cHBsZW1lbnRhbClcbiAgICBwZXJQYXNzZW5nZXJQaG9uZU51bWJlciBAaW5jbHVkZShpZjogJHdpdGhTdXBwbGVtZW50YWwpXG4gICAgY2FuY2VsbGFibGVcbiAgICBhbWVuZGFibGVcbiAgICBjbzJQZXJJdGVtXG4gICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgb3V0Ym91bmREYXRlXG4gICAgaW5ib3VuZERhdGVcbiAgICByZXF1aXJlc1JlYXNvblxuICAgIHNlcnZpY2Uge1xuICAgICAgaWRcbiAgICAgIHR5cGVcbiAgICB9XG4gICAgZ3Vlc3RzIHtcbiAgICAgIGlkXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIG5hdGlvbmFsaXR5XG4gICAgICBnZW5kZXJcbiAgICAgIHRpdGxlXG4gICAgfVxuICAgIGd1ZXN0UGFzc2VuZ2VyVHlwZXMge1xuICAgICAgaWRcbiAgICAgIHBhc3NlbmdlclR5cGVcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVHJhdmVsbGVyVXNlckZpZWxkc1xuICAgIH1cbiAgICB1c2VyUGFzc2VuZ2VyVHlwZXMge1xuICAgICAgaWRcbiAgICAgIHBhc3NlbmdlclR5cGVcbiAgICB9XG4gICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAuLi5UcmF2ZWxsZXJVc2VyRmllbGRzXG4gICAgICAuLi5UcmF2ZWxsZXJHdWVzdHNGaWVsZHNcbiAgICB9XG4gICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgaWRcbiAgICAgIGRiSWRcbiAgICAgIG5hbWVcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBoYW5kb2ZmXG4gICAgICB2YWx1ZU1hc2tcbiAgICAgIHVpUHJlc2VudGF0aW9uXG4gICAgICBtYW5kYXRvcnlcbiAgICAgIHBlclBhc3NlbmdlclxuICAgICAgcGVyQm9va2luZ1xuICAgICAgYWdlbnRPbmx5XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgcmVhc29uXG4gICAgICBmaXhlZFxuICAgICAgdGFrZVZhbHVlRnJvbVVzZXJEZWZhdWx0XG4gICAgICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdFxuICAgICAgZml4ZWRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgdmFsdWVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGdyb3VwXG4gICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgIHZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgfVxuICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyTGV2ZWxWYWx1ZVxuICAgICAgICB1c2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICBhdXRoTWV0aG9kc1xuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWRDdXJyZW5jeUFtb3VudFxuICAgIGNvbnZlcnRlZEN1cnJlbmN5Q29kZVxuICB9XG4gIHN0YXR1c1xuICBjb21wYW55R3JvdXAge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdmFsaWRhdGVkXG59XG4gICAgJHtPd25lckZpZWxkc0ZyYWdtZW50RG9jfVxuJHtUcmF2ZWxsZXJVc2VyRmllbGRzRnJhZ21lbnREb2N9XG4ke1RyYXZlbGxlckd1ZXN0c0ZpZWxkc0ZyYWdtZW50RG9jfWA7XG5leHBvcnQgY29uc3QgRXJyb3JzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgRXJyb3JzIG9uIFNlYXJjaEVycm9yIHtcbiAgc2VydmljZSB7XG4gICAgaWRcbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIGRlc2NyaXB0aW9uXG4gIH1cbiAgZXJyb3JNZXNzYWdlXG4gIGVycm9yQ29kZVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgR3JvdXBlZEZpZWxkc0ZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IEdyb3VwZWRGaWVsZHMgb24gR3JvdXBGbGlnaHRzIHtcbiAgcmVmZXJlbmNlSURcbiAgZmxpZ2h0SURcbiAgYm91bmRJbmRpY2F0b3JcbiAgbWluUHJpY2VcbiAgbWF4UHJpY2VcbiAgZmxpZ2h0cyB7XG4gICAgRWNvbm9teVJlc3RyaWN0ZWRcbiAgICBFY29ub215Tm9CYWdzXG4gICAgRWNvbm9teUZsZXhpXG4gICAgUHJlbWl1bUVjb25vbXlcbiAgICBCdXNpbmVzc1xuICAgIEZpcnN0XG4gIH1cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEZsaWdodEpvdXJuZXlGaWVsZHNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBGbGlnaHRKb3VybmV5RmllbGRzIG9uIEZsaWdodEpvdXJuZXkge1xuICBpZFxuICBib29raW5nQ29kZVxuICBjYWJpbkNsYXNzXG4gIGNhYmluQ29kZVxuICBjYWJpblJhd1xuICBkYXRlVGltZUFycml2aW5nXG4gIGRhdGVUaW1lQXJyaXZpbmdVVENcbiAgZGF0ZVRpbWVEZXBhcnRpbmdcbiAgZGF0ZVRpbWVEZXBhcnRpbmdVVENcbiAgZGVzdGluYXRpb25BaXJwb3J0XG4gIGRlc3RpbmF0aW9uQWlycG9ydE5hbWVcbiAgZGVzdGluYXRpb25UZXJtaW5hbFxuICBlcXVpcG1lbnRDb2RlXG4gIGVxdWlwbWVudE5hbWVcbiAgZmFyZUJhc2lzQ29kZVxuICBnb3Zlcm5pbmdDYXJyaWVyXG4gIG1hcmtldGluZ0NhcnJpZXJcbiAgbWFya2V0aW5nQ2Fycmllck5hbWVcbiAgbWFya2V0aW5nRmxpZ2h0TnVtYmVyXG4gIG1hcmtldGluZ05hbWVzXG4gIG1hcnJpYWdlR3JvdXBcbiAgb3BlcmF0aW5nQ2FycmllclxuICBvcGVyYXRpbmdDYXJyaWVyTmFtZVxuICBvcGVyYXRpbmdGbGlnaHROdW1iZXJcbiAgb3JpZ2luQWlycG9ydFxuICBvcmlnaW5BaXJwb3J0TmFtZVxuICBvcmlnaW5UZXJtaW5hbFxuICBzdG9wc1xuICB0b3RhbER1cmF0aW9uXG4gIHNlYXRzQXZhaWxhYmxlXG4gIHZlbmRvckNvZGVcbiAgb3JpZ2luQWlycG9ydFxuICBmYXJlSW5mbyB7XG4gICAgdGl0bGVcbiAgICB0eXBlXG4gICAgY29kZVxuICAgIHN1cHBsaWVyQ29kZVxuICB9XG4gIGRlc3RpbmF0aW9uQWlycG9ydERldGFpbCB7XG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIGFsdGl0dWRlXG4gICAgc3RhdGVcbiAgICBjaXR5XG4gICAgcm9hZFxuICAgIHBvcHVsYXJpdHlcbiAgICBhcmVhXG4gICAgbG9jYXRpb25cbiAgICBvZmZzZXRcbiAgICBhaXJwb3J0TmFtZVxuICAgIGNvdW50cnlOYW1lXG4gICAgY291bnRyeUNvZGVcbiAgICBwb3N0Y29kZVxuICB9XG4gIG1hcmtldGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIG9wZXJhdGluZ0NhcnJpZXJEZXRhaWwge1xuICAgIG5hbWVcbiAgICBhbGlhc1xuICAgIGNhbGxzaWduXG4gICAgaWF0YVxuICAgIGljYW9cbiAgICBsb2dvXG4gICAgYmFubmVyXG4gICAgcG9wdWxhcml0eVxuICB9XG4gIGZhcmVDb25kaXRpb25zIHtcbiAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBjaGFuZ2Uge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICBub1Nob3cge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgICB1cGdyYWRlIHtcbiAgICAgIG5hbWVcbiAgICAgIHR5cGVcbiAgICAgIGN1cnJlbmN5XG4gICAgICBhbW91bnRcbiAgICAgIHJlbWFya1xuICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICBjYW5jZWxGZWVJbmRcbiAgICAgIHJlZnVuZGFibGVJbmRcbiAgICB9XG4gICAgb3RoZXIge1xuICAgICAgbmFtZVxuICAgICAgdHlwZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGFtb3VudFxuICAgICAgcmVtYXJrXG4gICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgcmVmdW5kYWJsZUluZFxuICAgIH1cbiAgfVxuICBhZGRpdGlvbmFsXG4gIG9yaWdpbkFpcnBvcnREZXRhaWwge1xuICAgIGlhdGFcbiAgICBpY2FvXG4gICAgbGF0aXR1ZGVcbiAgICBsb25naXR1ZGVcbiAgICBhbHRpdHVkZVxuICAgIHN0YXRlXG4gICAgY2l0eVxuICAgIHJvYWRcbiAgICBwb3B1bGFyaXR5XG4gICAgYXJlYVxuICAgIGxvY2F0aW9uXG4gICAgb2Zmc2V0XG4gICAgYWlycG9ydE5hbWVcbiAgICBjb3VudHJ5TmFtZVxuICAgIGNvdW50cnlDb2RlXG4gICAgcG9zdGNvZGVcbiAgfVxufVxuICAgIGA7XG5leHBvcnQgY29uc3QgVXNlcnNGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBVU0VSUyBvbiBVc2VyIHtcbiAgaWRcbiAgZW1haWxcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJvb21BdmFsaWFiaWxpdHlGcmFnbWVudERvYyA9IGdxbGBcbiAgICBmcmFnbWVudCBSb29tQXZhbGlhYmlsaXR5IG9uIEhvdGVsQXZhaWxhYmlsaXR5IHtcbiAgaG90ZWxJZFxuICBpbWFnZVVybFxuICByb29tcyB7XG4gICAgcm9vbUlkXG4gICAgcm9vbVR5cGVcbiAgICByb29tRGVzY3JpcHRpb25cbiAgICByYXRlQ29kZVxuICAgIHJhdGVTb3VyY2VcbiAgICByYXRlRGVzY3JpcHRpb25cbiAgICB0b3RhbFxuICAgIGN1cnJlbmN5Q29kZVxuICAgIGN1cnJlbmN5Q29udmVyc2lvbiB7XG4gICAgICByYXRlXG4gICAgICBsb2NhbENvZGVcbiAgICAgIGxvY2FsVG90YWxcbiAgICAgIGNvbnZlcnRlZENvZGVcbiAgICAgIGNvbnZlcnRlZFRvdGFsXG4gICAgfVxuICAgIGRlcG9zaXQge1xuICAgICAgYW1vdW50XG4gICAgICBwb2xpY3lcbiAgICAgIHJlcXVpcmVkXG4gICAgfVxuICAgIG5pZ2h0cyB7XG4gICAgICBuaWdodFxuICAgICAgcmF0ZVxuICAgICAgaW5mb1xuICAgICAgZGF0ZVxuICAgIH1cbiAgICBwb2xpY2llcyB7XG4gICAgICBjYW5jZWxsYXRpb25cbiAgICAgIGRlcG9zaXRcbiAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICBnZW5lcmFsXG4gICAgICBndWFyYW50ZWVcbiAgICAgIHJlZnVuZEF2YWlsYWJsZVxuICAgIH1cbiAgICB0YXgge1xuICAgICAgaW5jbHVkZWRcbiAgICAgIHJhdGVcbiAgICB9XG4gICAgYWNjZXB0ZWRDYXJkcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBwYXltZW50VHlwZXMge1xuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgIH1cbiAgICB0bWNQcmVmZXJyZWRcbiAgICBjb21wYW55UHJlZmVycmVkXG4gICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgIGNvbXBhbnlQcmVmZXJyZWRNZXNzYWdlXG4gICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgIHVuYXZhaWxhYmxlXG4gICAgdW5hdmFpbGFibGVNZXNzYWdlXG4gICAgcmVxdWlyZXNSZWFzb25cbiAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgfVxuICBwcnBuXG4gIGN1cnJlbmN5Q29kZVxuICBpc0J1c3lcbiAgc291cmNlXG4gIHZlcnNpb25cbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IExvY2F0aW9uX0RldGFpbEZyYWdtZW50RG9jID0gZ3FsYFxuICAgIGZyYWdtZW50IExPQ0FUSU9OX0RFVEFJTCBvbiBMb2NhdGlvbkRldGFpbCB7XG4gIGNvbnRpbmVudFxuICBjb3VudHJ5XG4gIGNvdW50cnlDb2RlXG4gIHN0YXRlXG4gIGNpdHlcbiAgY29vcmRpbmF0ZXMge1xuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgYWx0aXR1ZGVcbiAgfVxuICBwb3N0Y29kZVxuICByb2FkXG4gIGdyaWRSZWZlcmVuY2VcbiAgbm9ydGhpbmdcbiAgZWFzdGluZ1xufVxuICAgIGA7XG5leHBvcnQgY29uc3QgUmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlGYXJlIG9uIFJhaWxKb3VybmV5RmFyZSB7XG4gIHByb3ZpZGVySWRcbiAgcHJvdmlkZXJOYW1lXG4gIGlkZW50aWZpZXJzIHtcbiAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICBqb3VybmV5SWRlbnRpZmllclxuICAgIHByb3ZpZGVyXG4gICAgZmFyZUlkZW50aWZpZXJcbiAgICBkaXJlY3Rpb25cbiAgICBzaW5nbGVPclJldHVyblxuICAgIGJvb2tpbmdSZWZcbiAgfVxuICB0eXBlXG4gIHByaWNlXG4gIGN1cnJlbmN5XG4gIGZhcmVIYXNoXG4gIHRlcm1zIHtcbiAgICBhdmFpbGFiaWxpdHlSdWxlXG4gICAgY2hhbmdlUnVsZVxuICAgIGNoaWxkRGlzY291bnRcbiAgICBkeW5hbWljQ29uZGl0aW9ucyB7XG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgIH1cbiAgICBnZW5lcmFsRGlzY291bnRcbiAgICBnZW5lcmFsVmFsaWRpdHlcbiAgICBqb3VybmV5QnJlYWtSdWxlXG4gICAgam91cm5leVR5cGVcbiAgICBraW9za0F2YWlsYWJsZVxuICAgIHByZUJvb2tpbmdSZXF1aXJlbWVudFxuICAgIHJhaWxjYXJkRGlzY291bnRcbiAgICByb3V0ZVxuICAgIHJlZnVuZENhbmNlbGxhdGlvblJ1bGVcbiAgICByZXNlcnZhdGlvblJ1bGVcbiAgICB0aWNrZXRUeXBlQWx0TmFtZVxuICAgIHRpY2tldFR5cGVDbGFzc1xuICAgIHRpY2tldFR5cGVDb2RlXG4gICAgdGlja2V0VHlwZUNvbmRpdGlvbnNEZXNjcmlwdGlvblxuICAgIHRpY2tldFR5cGVOYW1lXG4gICAgdG9kQXZhaWxhYmxlXG4gICAgdHJhaW5PcGVyYXRpbmdDb21wYW55Q29kZVxuICAgIHZhbGlkT3V0UnVsZVxuICAgIHZhbGlkUmV0dXJuUnVsZVxuICB9XG4gIGNsYXNzXG4gIHNpbmdsZU9yUmV0dXJuXG4gIG1vYmlsZVRpY2tldEF2YWlsYWJsZVxuICBlVGlja2V0QXZhaWxhYmxlXG4gIHNlbGZQcmludEF2YWlsYWJsZVxuICByYWlsY2FyZENvZGVcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IFJhaWxKb3VybmV5T3B0aW9uRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgUmFpbEpvdXJuZXlPcHRpb24gb24gUmFpbEpvdXJuZXlPcHRpb24ge1xuICBmcm9tXG4gIGZyb21Db2RlXG4gIHRvXG4gIHRvQ29kZVxuICBqb3VybmV5SGFzaFxuICBkZXBhcnREYXRlVGltZVxuICBhcnJpdmVEYXRlVGltZVxuICBjbzJQZXJJdGVtXG4gIGNvMlBlclBhc3NlbmdlclxuICBjaGFuZ2VzXG4gIG92ZXJ0YWtlblxuICBqb3VybmV5TGVncyB7XG4gICAgaWRcbiAgICBvcGVyYXRvclxuICAgIGRlcGFydFxuICAgIGFycml2ZVxuICAgIGFycml2ZURhdGVUaW1lXG4gICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgY2FsbGluZ1BvaW50cyB7XG4gICAgICBzdGF0aW9uTmFtZVxuICAgICAgc3RhdGlvbkNvZGVcbiAgICAgIGFycml2YWxEYXRlVGltZVxuICAgICAgZGVwYXJ0dXJlRGF0ZVRpbWVcbiAgICAgIHNjaGVkdWxlZFBsYXRmb3JtXG4gICAgICBzdGF0aW9uQ2xhc3NpZmljYXRpb25cbiAgICAgIHN0b3BwaW5nUGF0dGVyblxuICAgIH1cbiAgfVxuICBzaW5nbGVKb3VybmV5RmFyZXMge1xuICAgIC4uLlJhaWxKb3VybmV5RmFyZVxuICB9XG4gIHJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgZHVhbFNpbmdsZUpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgb3BlblJldHVybkpvdXJuZXlGYXJlcyB7XG4gICAgLi4uUmFpbEpvdXJuZXlGYXJlXG4gIH1cbiAgdGlja2V0UXVldWVMaXN0IHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0eXBlXG4gIH1cbiAgYWNjb3VudHNMaXN0IHtcbiAgICBpZFxuICAgIHJlZmVyZW5jZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgaXNEZWZhdWx0XG4gICAgdHlwZVxuICB9XG4gIHRpY2tldEV4dHJhcyB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgdHlwZVxuICAgICAgbG9jYXRpb25cbiAgICAgIGRhdGVcbiAgICAgIGpvdXJuZXlJZFxuICAgICAgaXNPcmlnaW5cbiAgICB9XG4gICAgdHlwZVxuICAgIGxvY2F0aW9uXG4gICAgZGF0ZVxuICAgIGRlc2NyaXB0aW9uXG4gICAgYW1vdW50XG4gICAgYWR1bHRBbW91bnRcbiAgICBjaGlsZEFtb3VudFxuICAgIGN1cnJlbmN5XG4gIH1cbiAgcGx1c0J1cyB7XG4gICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgIG9yaWdpblN0YXRpb25OTENcbiAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgfVxufVxuICAgICR7UmFpbEpvdXJuZXlGYXJlRnJhZ21lbnREb2N9YDtcbmV4cG9ydCBjb25zdCBVc2VyRmllbGRzRnJhZ21lbnREb2MgPSBncWxgXG4gICAgZnJhZ21lbnQgVXNlckZpZWxkcyBvbiBVc2VyIHtcbiAgaWRcbiAgdGl0bGVcbiAgZm9yZW5hbWVcbiAgc3VybmFtZVxuICBlbWFpbFxuICBhZGRpdGlvbmFsRW1haWxcbiAgY2FuSW52b2tlVXNlclxuICB1c2VybmFtZVxuICBlbXBsb3llZUlkXG4gIGNyZWF0ZWRBdFxuICB1cGRhdGVkQXRcbiAgZG9iXG4gIGFkbWluXG4gIHRtY0FkbWluXG4gIGNvbXBhbnlBZG1pblxuICBib29rZXJUeXBlXG4gIGF1dGhNZXRob2RzXG4gIGFjdGl2ZVxuICBwYXNzd29yZExhc3RVcGRhdGVkXG4gIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIGlzb0NvZGVcbiAgfVxuICBhZGRyZXNzZXMge1xuICAgIGlkXG4gICAgZGVzY3JpcHRpb25cbiAgICBudW1iZXJPck5hbWVcbiAgICBzdHJlZXRcbiAgICB0b3duXG4gICAgY291bnR5XG4gICAgcG9zdGNvZGVcbiAgICBjb3VudHJ5Q29kZVxuICAgIHVzZXJQcmltYXJ5XG4gICAgb2ZmaWNlUHJpbWFyeVxuICB9XG4gIHBob25lTnVtYmVycyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvdW50cnlDb2RlXG4gICAgYXJlYUNvZGVcbiAgICBudW1iZXJcbiAgICBleHRlbnNpb25cbiAgICB0eXBlXG4gICAgb2ZmaWNlUHJpbWFyeVxuICAgIHVzZXJQcmltYXJ5XG4gIH1cbiAgZG9jdW1lbnRzIHtcbiAgICBpZFxuICAgIGRvY1R5cGVcbiAgICBuYXRpb25hbGl0eVxuICAgIGdlbmRlclxuICAgIG51bWJlclxuICAgIGNvdW50cnlcbiAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICBkYXRlT2ZJc3N1ZVxuICAgIGRhdGVPZkV4cGlyeVxuICAgIHByaW1hcnlcbiAgICBjcmVhdGVkQXRcbiAgICB1cGRhdGVkQXRcbiAgfVxuICBsb3lhbHR5Q29kZXMge1xuICAgIGlkXG4gICAgY2FycmllclxuICAgIGNvZGVcbiAgICB0eXBlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgcHJlZmVyZW5jZXMge1xuICAgIGlkXG4gICAgc2VydmljZVR5cGVcbiAgICBwcmVmZXJlbmNlS2V5XG4gICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gIH1cbiAgdXNlck1pRGVmYXVsdFZhbHVlcyB7XG4gICAgc2VydmljZSB7XG4gICAgICBpZFxuICAgICAgdHlwZVxuICAgICAgbmFtZVxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIHN1cHBsaWVyVXJsXG4gICAgICBhY3RpdmVcbiAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBkZXRhaWxTY2hlbWFcbiAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvIHtcbiAgICAgIGlkXG4gICAgICBkYklkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgaGFuZG9mZlxuICAgICAgdmFsdWVNYXNrXG4gICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgbWFuZGF0b3J5XG4gICAgICBwZXJQYXNzZW5nZXJcbiAgICAgIHBlckJvb2tpbmdcbiAgICAgIGFnZW50T25seVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIGZpeGVkXG4gICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgIHRha2VWYWx1ZUZyb21Cb29rZXJEZWZhdWx0XG4gICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbGFiZWxcbiAgICAgICAgdmFsdWVcbiAgICAgICAgZGVmYXVsdFxuICAgICAgICBmaXhlZFxuICAgICAgICBhZ2VudE9ubHlcbiAgICAgIH1cbiAgICAgIGRlZmF1bHRWYWx1ZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIHZhbHVlXG4gICAgICAgIGRlZmF1bHRcbiAgICAgICAgZml4ZWRcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICB9XG4gICAgICB2YWx1ZXMge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgfVxuICAgICAgZ3JvdXBcbiAgICAgIHNlbGVjdGVkVmFsdWVzIHtcbiAgICAgICAgdmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICB9XG4gICAgICAgIGZyZWVWYWx1ZVxuICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgIHVzZXIge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgaWRcbiAgICAgIGxhYmVsXG4gICAgICB2YWx1ZVxuICAgICAgZGVmYXVsdFxuICAgICAgZml4ZWRcbiAgICAgIGFnZW50T25seVxuICAgIH1cbiAgICBmcmVlVGV4dFZhbHVlXG4gIH1cbiAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICBjYW5Cb29rR3Vlc3Rcbn1cbiAgICBgO1xuZXhwb3J0IGNvbnN0IEFjY2VwdE5ld1ByaWNlRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gYWNjZXB0TmV3UHJpY2UoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRpZDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGFjY2VwdE5ld1ByaWNlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBY2NlcHROZXdQcmljZUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBY2NlcHROZXdQcmljZU11dGF0aW9uLCBBY2NlcHROZXdQcmljZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBY2NlcHROZXdQcmljZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZFVzZXJzVG9CYXNrZXRJdGVtKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0IV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiEpIHtcbiAgYWRkVXNlcnNUb0Jhc2tldEl0ZW0oY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHVzZXJzOiAkdXNlcnMpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBBZGRVc2Vyc1RvQmFza2V0SXRlbUdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uLCBBZGRVc2Vyc1RvQmFza2V0SXRlbU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBBZGRVc2Vyc1RvQmFza2V0SXRlbURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBBcHBseUppdEZsaWdodFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRGbGlnaHRSdWxlcygkc2VsZWN0ZWRPdXRib3VuZEZsaWdodDogSlNPTiEsICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0czogW0pTT04hXSEpIHtcbiAgYXBwbHlKSVRGbGlnaHRSdWxlcyhzZWxlY3RlZE91dGJvdW5kRmxpZ2h0OiAkc2VsZWN0ZWRPdXRib3VuZEZsaWdodCwgYXZhaWxhYmxlSW5ib3VuZEZsaWdodHM6ICRhdmFpbGFibGVJbmJvdW5kRmxpZ2h0cylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEFwcGx5Sml0RmxpZ2h0UnVsZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8QXBwbHlKaXRGbGlnaHRSdWxlc1F1ZXJ5LCBBcHBseUppdEZsaWdodFJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEFwcGx5Sml0RmxpZ2h0UnVsZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgYXBwbHlKSVRIb3RlbFJ1bGVzKCRkYXRhOiBbSlNPTiFdISkge1xuICBhcHBseUpJVEhvdGVsUnVsZXMoZGF0YTogJGRhdGEpIHtcbiAgICByZXN1bHRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQXBwbHlKaXRIb3RlbFJ1bGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEFwcGx5Sml0SG90ZWxSdWxlc1F1ZXJ5LCBBcHBseUppdEhvdGVsUnVsZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQXBwbHlKaXRIb3RlbFJ1bGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXRzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckJhc2tldHMoJHVzZXI6IElELCAkdHJhdmVsbGVyOiBJRCwgJGJhc2tldFN0YXR1czogQmFza2V0U3RhdHVzLCAkY3JlYXRlZEFmdGVyOiBEYXRlVGltZSwgJGNyZWF0ZWRCZWZvcmU6IERhdGVUaW1lLCAkYm9va2VkQWZ0ZXI6IERhdGVUaW1lLCAkYm9va2VkQmVmb3JlOiBEYXRlVGltZSwgJGRhdGVPZlRyYXZlbEJlZm9yZTogRGF0ZVRpbWUsICRkYXRlT2ZUcmF2ZWxBZnRlcjogRGF0ZVRpbWUsICRiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogU3RyaW5nLCAkYmFza2V0UmVmZXJlbmNlOiBTdHJpbmcsICRiYXNrZXRUaXRsZTogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlLCAkY29udmVydEN1cnJlbmN5VG86IFN0cmluZykge1xuICBnZXRVc2VyQmFza2V0cyhjb252ZXJ0Q3VycmVuY3lUbzogJGNvbnZlcnRDdXJyZW5jeVRvLCB1c2VyOiAkdXNlciwgdHJhdmVsbGVyOiAkdHJhdmVsbGVyLCBiYXNrZXRTdGF0dXM6ICRiYXNrZXRTdGF0dXMsIGNyZWF0ZWRBZnRlcjogJGNyZWF0ZWRBZnRlciwgY3JlYXRlZEJlZm9yZTogJGNyZWF0ZWRCZWZvcmUsIGJvb2tlZEFmdGVyOiAkYm9va2VkQWZ0ZXIsIGJvb2tlZEJlZm9yZTogJGJvb2tlZEJlZm9yZSwgZGF0ZU9mVHJhdmVsQmVmb3JlOiAkZGF0ZU9mVHJhdmVsQmVmb3JlLCBkYXRlT2ZUcmF2ZWxBZnRlcjogJGRhdGVPZlRyYXZlbEFmdGVyLCBiYXNrZXRJdGVtQm9va2luZ1JlZmVyZW5jZTogJGJhc2tldEl0ZW1Cb29raW5nUmVmZXJlbmNlLCBiYXNrZXRSZWZlcmVuY2U6ICRiYXNrZXRSZWZlcmVuY2UsIGJhc2tldFRpdGxlOiAkYmFza2V0VGl0bGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyQmFza2V0c1F1ZXJ5LCBHZXRVc2VyQmFza2V0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVCYXNrZXQoJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nKSB7XG4gIGRlbGV0ZUJhc2tldChpZDogJGlkLCByZWZlcmVuY2U6ICRyZWZlcmVuY2UpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlQmFza2V0TXV0YXRpb24sIERlbGV0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ3JlYXRlQmFza2V0RG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY3JlYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkdGl0bGU6IFN0cmluZywgJGludm9rZWRVc2VyOiBJRCwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBjcmVhdGVCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgdGl0bGU6ICR0aXRsZSwgaW52b2tlZFVzZXI6ICRpbnZva2VkVXNlcikge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENyZWF0ZUJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDcmVhdGVCYXNrZXRNdXRhdGlvbiwgQ3JlYXRlQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENyZWF0ZUJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBSZW1vdmVJdGVtRnJvbUJhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0SXRlbTogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHJlbW92ZUl0ZW1Gcm9tQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgUmVtb3ZlSXRlbUZyb21CYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248UmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvbiwgUmVtb3ZlSXRlbUZyb21CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gUmVtb3ZlSXRlbUZyb21CYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VuZEJhc2tldEZvckFwcHJvdmFsRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2VuZEJhc2tldEZvckFwcHJvdmFsKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkYmFza2V0OiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gdHJ1ZSkge1xuICBzZW5kQmFza2V0Rm9yQXBwcm92YWwoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0OiAkYmFza2V0KSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VuZEJhc2tldEZvckFwcHJvdmFsR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNlbmRCYXNrZXRGb3JBcHByb3ZhbE11dGF0aW9uLCBTZW5kQmFza2V0Rm9yQXBwcm92YWxNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VuZEJhc2tldEZvckFwcHJvdmFsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEFkZEl0ZW1Ub0Jhc2tldERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGFkZEl0ZW1Ub0Jhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldDogSUQsICRzZXJ2aWNlOiBJRCEsICRkZXRhaWw6IEpTT04hLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHByaWNlOiBGbG9hdCEsICRjdXJyZW5jeTogQ3VycmVuY3lDb2RlISwgJHNlYXJjaFF1ZXJ5OiBKU09OISwgJHF1aWNrQWRkOiBCb29sZWFuLCAkdXNlcnM6IFtVc2VyUGFzc2VuZ2VyVHlwZUlucHV0XSwgJGd1ZXN0czogW1VzZXJQYXNzZW5nZXJUeXBlSW5wdXRdLCAkbGVhZFBhc3NlbmdlcjogSUQsICRsZWFkUGFzc2VuZ2VyVHlwZTogTGVhZFBhc3NlbmdlclR5cGUsICRjbzJQZXJJdGVtOiBGbG9hdCwgJGNvMlBlclBhc3NlbmdlcjogRmxvYXQsICRvdXRib3VuZERhdGU6IERhdGVUaW1lISwgJGluYm91bmREYXRlOiBEYXRlVGltZSwgJHJlcXVpcmVzUmVhc29uOiBCb29sZWFuID0gZmFsc2UsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgYWRkSXRlbVRvQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldDogJGJhc2tldCwgc2VydmljZTogJHNlcnZpY2UsIGRldGFpbDogJGRldGFpbCwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBpbmZhbnRzOiAkaW5mYW50cywgcHJpY2U6ICRwcmljZSwgY3VycmVuY3k6ICRjdXJyZW5jeSwgc2VhcmNoUXVlcnk6ICRzZWFyY2hRdWVyeSwgcXVpY2tBZGQ6ICRxdWlja0FkZCwgdXNlcnM6ICR1c2VycywgZ3Vlc3RzOiAkZ3Vlc3RzLCBsZWFkUGFzc2VuZ2VyOiAkbGVhZFBhc3NlbmdlciwgbGVhZFBhc3NlbmdlclR5cGU6ICRsZWFkUGFzc2VuZ2VyVHlwZSwgY28yUGVySXRlbTogJGNvMlBlckl0ZW0sIGNvMlBlclBhc3NlbmdlcjogJGNvMlBlclBhc3Nlbmdlciwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlLCByZXF1aXJlc1JlYXNvbjogJHJlcXVpcmVzUmVhc29uKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQWRkSXRlbVRvQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPEFkZEl0ZW1Ub0Jhc2tldE11dGF0aW9uLCBBZGRJdGVtVG9CYXNrZXRNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQWRkSXRlbVRvQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICBnZXRVc2VyQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJCYXNrZXRRdWVyeSwgR2V0VXNlckJhc2tldFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFJldmFsaWRhdGVCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiByZXZhbGlkYXRlQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4gPSBmYWxzZSkge1xuICByZXZhbGlkYXRlQmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBSZXZhbGlkYXRlQmFza2V0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFJldmFsaWRhdGVCYXNrZXRNdXRhdGlvbiwgUmV2YWxpZGF0ZUJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBSZXZhbGlkYXRlQmFza2V0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEJvb2tCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBib29rQmFza2V0KCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkaWQ6IElEISwgJHN1cHBsZW1lbnRhcnlJbmZvOiBbU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvIV0hLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIGJvb2tCYXNrZXQoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgc3VwcGxlbWVudGFyeUluZm86ICRzdXBwbGVtZW50YXJ5SW5mbykge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEJvb2tCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Qm9va0Jhc2tldE11dGF0aW9uLCBCb29rQmFza2V0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEJvb2tCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FiSGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhYkhpcmUoJGRlcGFydHM6IERhdGVUaW1lISwgJGZyb21Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkdG9Mb2NhdGlvbjogQ2FiSGlyZUxvY2F0aW9uSW5wdXQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJGluZmFudHM6IEludCwgJHZpYXM6IFtDYWJIaXJlTG9jYXRpb25JbnB1dF0sICR2ZWhpY2xlVHlwZTogQ2FiSGlyZVZlaGljbGVUeXBlKSB7XG4gIHNlYXJjaENhYkhpcmUoZGVwYXJ0czogJGRlcGFydHMsIGZyb21Mb2NhdGlvbjogJGZyb21Mb2NhdGlvbiwgdG9Mb2NhdGlvbjogJHRvTG9jYXRpb24sIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgaW5mYW50czogJGluZmFudHMsIHZpYXM6ICR2aWFzLCB2ZWhpY2xlVHlwZTogJHZlaGljbGVUeXBlKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgc3VwcGxpZXJOYW1lXG4gICAgICBlc3RpbWF0ZWRDTzJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgcHJpY2VcbiAgICAgIGN1cnJlbmN5XG4gICAgICB2ZWhpY2xlVHlwZVxuICAgICAgdHJpcERpc3RhbmNlTWV0cmVzXG4gICAgICB0cmlwRHVyYXRpb25TZWNvbmRzXG4gICAgICBkZXBhcnRzXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGZyb21Mb2NhdGlvbiB7XG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICB9XG4gICAgICB0b0xvY2F0aW9uIHtcbiAgICAgICAgYWRkcmVzc1xuICAgICAgICBwb3N0Y29kZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgIH1cbiAgICAgIHZpYXMge1xuICAgICAgICBhZGRyZXNzXG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhYkhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FiSGlyZVF1ZXJ5LCBTZWFyY2hDYWJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhYkhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FuY2VsQm9va2luZ0RvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNhbmNlbEJvb2tpbmcoJGJhc2tldEl0ZW06IElEISkge1xuICBjYW5jZWxCb29raW5nKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGVkXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENhbmNlbEJvb2tpbmdHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248Q2FuY2VsQm9va2luZ011dGF0aW9uLCBDYW5jZWxCb29raW5nTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENhbmNlbEJvb2tpbmdEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBjYXJIaXJlQXZhaWxhYmlsaXR5RGV0YWlsUmVxdWVzdCgkbG9jYXRpb25EZXRhaWxzOiBDYXJIaXJlSW5wdXRJZGVudGlmaWVycyEpIHtcbiAgY2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3QobG9jYXRpb25EZXRhaWxzOiAkbG9jYXRpb25EZXRhaWxzKSB7XG4gICAgaWRlbnRpZmllcnMge1xuICAgICAgbG9jYXRvclxuICAgICAgcnBoXG4gICAgICBzdGF0dXNcbiAgICAgIHZlaFR5cGVcbiAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgZXh0ZW5kZWRMb2NhdGlvbkNvZGVcbiAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICBwaWNrdXBEYXRlVGltZVxuICAgICAgZHJvcG9mZkRhdGVUaW1lXG4gICAgICB2ZW5kb3JcbiAgICB9XG4gICAgdmVuZG9yIHtcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICB9XG4gICAgYWRkcmVzcyB7XG4gICAgICBuYW1lXG4gICAgICB0b3BMaW5lXG4gICAgICBjaXR5XG4gICAgICByZWdpb25cbiAgICAgIHBvc3RDb2RlXG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVDb2RlXG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgfVxuICAgIGFkZGl0aW9uYWxJbmZvIHtcbiAgICAgIG5hbWVcbiAgICAgIHRleHRcbiAgICAgIGpzb25cbiAgICAgIGN1c3RvbSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8Q2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeSwgQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gQ2FySGlyZUF2YWlsYWJpbGl0eURldGFpbFJlcXVlc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2FySGlyZURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENhckhpcmUoJGFpcnBvcnQ6IENhckhpcmVBaXJwb3J0SW5wdXQsICRjaXR5OiBDYXJIaXJlQ2l0eUlucHV0LCAkbG9jYXRpb246IENhckhpcmVMb2NhdGlvbklucHV0LCAkZGVwb3Q6IElucHV0Q2FySGlyZURlcG90LCAkcGlja3VwRGF0ZVRpbWU6IFN0cmluZyEsICRkcm9wb2ZmRGF0ZVRpbWU6IFN0cmluZyEsICR2ZW5kb3I6IFN0cmluZywgJGNsYXNzOiBDYXJIaXJlQ2xhc3MsICR0eXBlOiBDYXJIaXJlVHlwZSwgJHRyYW5zbWlzc2lvbjogQ2FySGlyZVRyYW5zbWlzc2lvbiwgJGFpcmNvbjogQm9vbGVhbiwgJGVzdGltYXRlZERhaWx5RGlzdGFuY2U6IEZsb2F0LCAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiBEaXN0YW5jZVR5cGVzKSB7XG4gIHNlYXJjaENhckhpcmUoYWlycG9ydDogJGFpcnBvcnQsIGNpdHk6ICRjaXR5LCBsb2NhdGlvbjogJGxvY2F0aW9uLCBkZXBvdDogJGRlcG90LCBwaWNrdXBEYXRlVGltZTogJHBpY2t1cERhdGVUaW1lLCBkcm9wb2ZmRGF0ZVRpbWU6ICRkcm9wb2ZmRGF0ZVRpbWUsIHZlbmRvcjogJHZlbmRvciwgY2xhc3M6ICRjbGFzcywgdHlwZTogJHR5cGUsIHRyYW5zbWlzc2lvbjogJHRyYW5zbWlzc2lvbiwgYWlyY29uOiAkYWlyY29uLCBlc3RpbWF0ZWREYWlseURpc3RhbmNlOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZSwgZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzOiAkZXN0aW1hdGVkRGFpbHlEaXN0YW5jZVVuaXRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgIGxvY2F0b3JcbiAgICAgICAgcnBoXG4gICAgICAgIHN0YXR1c1xuICAgICAgICB2ZWhUeXBlXG4gICAgICAgIGxvY2F0aW9uQ29kZVxuICAgICAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgICAgICBsb2NhdGlvbk5hbWVcbiAgICAgICAgZHJvcE9mZkxvY2F0aW9uXG4gICAgICAgIHBpY2t1cERhdGVUaW1lXG4gICAgICAgIGRyb3BvZmZEYXRlVGltZVxuICAgICAgICB2ZW5kb3JcbiAgICAgIH1cbiAgICAgIGRpc3BsYXlSZWNvcmQge1xuICAgICAgICBzdGF0dXNcbiAgICAgICAgcGlja3VwXG4gICAgICAgIGRyb3BvZmZcbiAgICAgICAgdmVuZG9yIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgbG9nb1xuICAgICAgICB9XG4gICAgICAgIHZlaGljbGUge1xuICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIHRyYW5zbWlzc2lvblxuICAgICAgICAgIGFpcmNvblxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgaW1hZ2VzXG4gICAgICAgIH1cbiAgICAgICAgY2hhcmdlcyB7XG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgfVxuICAgICAgICBwaWNrdXBMb2NhdGlvbiB7XG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRvcExpbmVcbiAgICAgICAgICBjaXR5XG4gICAgICAgICAgcmVnaW9uXG4gICAgICAgICAgcG9zdENvZGVcbiAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBzdGF0ZUNvZGVcbiAgICAgICAgICBsYXRpdHVkZVxuICAgICAgICAgIGxvbmdpdHVkZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybkxvY2F0aW9uIHtcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgdG9wTGluZVxuICAgICAgICAgIGNpdHlcbiAgICAgICAgICByZWdpb25cbiAgICAgICAgICBwb3N0Q29kZVxuICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgIHN0YXRlQ29kZVxuICAgICAgICAgIGxhdGl0dWRlXG4gICAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbEluZm8ge1xuICAgICAgICAgIG5hbWVcbiAgICAgICAgICB0ZXh0XG4gICAgICAgICAganNvblxuICAgICAgICAgIGN1c3RvbSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0ZXh0XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENhckhpcmVHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQ2FySGlyZVF1ZXJ5LCBTZWFyY2hDYXJIaXJlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENhckhpcmVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgQ29uZmlybU1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gY29uZmlybU1lc3NhZ2VzKCRtZXNzYWdlczogW1N0cmluZyFdISkge1xuICBjb25maXJtTWVzc2FnZXMobWVzc2FnZXM6ICRtZXNzYWdlcylcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENvbmZpcm1NZXNzYWdlc0dRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxDb25maXJtTWVzc2FnZXNNdXRhdGlvbiwgQ29uZmlybU1lc3NhZ2VzTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENvbmZpcm1NZXNzYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBDcmVhdGVHdWVzdERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGNyZWF0ZUd1ZXN0KCR0aXRsZTogU3RyaW5nISwgJGZvcmVuYW1lOiBTdHJpbmchLCAkc3VybmFtZTogU3RyaW5nISwgJGVtYWlsOiBTdHJpbmchLCAkZ2VuZGVyOiBEb2NHZW5kZXIhLCAkbmF0aW9uYWxpdHk6IFN0cmluZyEpIHtcbiAgY3JlYXRlR3Vlc3QodGl0bGU6ICR0aXRsZSwgZm9yZW5hbWU6ICRmb3JlbmFtZSwgc3VybmFtZTogJHN1cm5hbWUsIGVtYWlsOiAkZW1haWwsIGdlbmRlcjogJGdlbmRlciwgbmF0aW9uYWxpdHk6ICRuYXRpb25hbGl0eSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICAgIGdlbmRlclxuICAgIG5hdGlvbmFsaXR5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIENyZWF0ZUd1ZXN0R1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPENyZWF0ZUd1ZXN0TXV0YXRpb24sIENyZWF0ZUd1ZXN0TXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IENyZWF0ZUd1ZXN0RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZUZhdm91cml0ZVNlYXJjaCgkaWQ6IElEISkge1xuICBkZWxldGVGYXZvdXJpdGVTZWFyY2goaWQ6ICRpZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIERlbGV0ZUZhdm91cml0ZVNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxEZWxldGVGYXZvdXJpdGVTZWFyY2hNdXRhdGlvbiwgRGVsZXRlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IERlbGV0ZUZhdm91cml0ZVNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVSZWNlbnRTZWFyY2goJGlkOiBJRCEpIHtcbiAgZGVsZXRlUmVjZW50U2VhcmNoKGlkOiAkaWQpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBEZWxldGVSZWNlbnRTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlUmVjZW50U2VhcmNoTXV0YXRpb24sIERlbGV0ZVJlY2VudFNlYXJjaE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBEZWxldGVSZWNlbnRTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBkZWxldGVVc2VyQWRkcmVzcygkaWQ6IElEISkge1xuICBkZWxldGVVc2VyQWRkcmVzcyhpZDogJGlkKVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRGVsZXRlVXNlckFkZHJlc3NHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvbiwgRGVsZXRlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRGVsZXRlVXNlckFkZHJlc3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRWRpdFVzZXJEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBlZGl0VXNlcigkaWQ6IElEISwgJHRpdGxlOiBTdHJpbmcsICRmb3JlbmFtZTogU3RyaW5nLCAkc3VybmFtZTogU3RyaW5nLCAkZW1haWw6IFN0cmluZywgJGFkZGl0aW9uYWxFbWFpbDogW1N0cmluZ10sICRkb2I6IERhdGUsICRzZWxlY3RlZExhbmd1YWdlOiBJRCwgJGVtZXJnZW5jeUNvbnRhY3ROYW1lOiBTdHJpbmcsICRlbWVyZ2VuY3lDb250YWN0UGhvbmU6IFN0cmluZywgJGVtZXJnZW5jeUNvbnRhY3RFbWFpbDogU3RyaW5nLCAkcGhvbmVOdW1iZXJzOiBbUGhvbmVOdW1iZXJJbnB1dCFdLCAkYWRkcmVzc2VzOiBbQWRkcmVzc0lucHV0IV0sICR1c2VyTWlEZWZhdWx0VmFsdWVzOiBbVXNlck1pRGVmYXVsdFZhbHVlc0lucHV0IV0sICRkb2N1bWVudHM6IFtEb2N1bWVudElucHV0IV0sICRsb3lhbHR5Q29kZXM6IFtVc2VyTG95YWx0eUNvZGVJbnB1dCFdLCAkcHJlZmVyZW5jZXM6IFtVc2VyUHJlZmVyZW5jZUlucHV0IV0pIHtcbiAgZWRpdFVzZXIoaWQ6ICRpZCwgdGl0bGU6ICR0aXRsZSwgZm9yZW5hbWU6ICRmb3JlbmFtZSwgc3VybmFtZTogJHN1cm5hbWUsIGVtYWlsOiAkZW1haWwsIGFkZGl0aW9uYWxFbWFpbDogJGFkZGl0aW9uYWxFbWFpbCwgZG9iOiAkZG9iLCBzZWxlY3RlZExhbmd1YWdlOiAkc2VsZWN0ZWRMYW5ndWFnZSwgZW1lcmdlbmN5Q29udGFjdE5hbWU6ICRlbWVyZ2VuY3lDb250YWN0TmFtZSwgZW1lcmdlbmN5Q29udGFjdFBob25lOiAkZW1lcmdlbmN5Q29udGFjdFBob25lLCBlbWVyZ2VuY3lDb250YWN0RW1haWw6ICRlbWVyZ2VuY3lDb250YWN0RW1haWwsIHBob25lTnVtYmVyczogJHBob25lTnVtYmVycywgYWRkcmVzc2VzOiAkYWRkcmVzc2VzLCB1c2VyTWlEZWZhdWx0VmFsdWVzOiAkdXNlck1pRGVmYXVsdFZhbHVlcywgZG9jdW1lbnRzOiAkZG9jdW1lbnRzLCBsb3lhbHR5Q29kZXM6ICRsb3lhbHR5Q29kZXMsIHByZWZlcmVuY2VzOiAkcHJlZmVyZW5jZXMpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgICBhZGRpdGlvbmFsRW1haWxcbiAgICB1c2VybmFtZVxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGRvYlxuICAgIGFkbWluXG4gICAgdG1jQWRtaW5cbiAgICBjb21wYW55QWRtaW5cbiAgICBib29rZXJUeXBlXG4gICAgYXV0aE1ldGhvZHNcbiAgICBhY3RpdmVcbiAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgaXNvQ29kZVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlzb0NvZGVcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYXBwcm92ZXJzIHtcbiAgICAgIGFjdGl2ZVxuICAgICAgcHJpb3JpdHlcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYXBwcm92ZXJGb3Ige1xuICAgICAgYWN0aXZlXG4gICAgICBwcmlvcml0eVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RQaG9uZVxuICAgIGVtZXJnZW5jeUNvbnRhY3RFbWFpbFxuICAgIGNhbkNyZWF0ZUFkbWluQXRPd25MZXZlbFxuICAgIGxpdmVcbiAgICBzdXBwbGllclJlbGF0aW9uc1xuICAgIGxvZ0xldmVsXG4gICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgYWRkcmVzc2VzIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICBzdHJlZXRcbiAgICAgIHRvd25cbiAgICAgIGNvdW50eVxuICAgICAgcG9zdGNvZGVcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICB1c2VyUHJpbWFyeVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICB1c2VyTWlEZWZhdWx0VmFsdWVzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBtYW5hZ2VtZW50SW5mbyB7XG4gICAgICAgIGlkXG4gICAgICAgIGRiSWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBoYW5kb2ZmXG4gICAgICAgIHZhbHVlTWFza1xuICAgICAgICBzZXJ2aWNlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBzdXBwbGllclVybFxuICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdWlQcmVzZW50YXRpb25cbiAgICAgICAgbWFuZGF0b3J5XG4gICAgICAgIHBlclBhc3NlbmdlclxuICAgICAgICBwZXJCb29raW5nXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICB0YWtlVmFsdWVGcm9tVXNlckRlZmF1bHRcbiAgICAgICAgdGFrZVZhbHVlRnJvbUJvb2tlckRlZmF1bHRcbiAgICAgICAgZW5mb3JjZVVzZXJEZWZhdWx0XG4gICAgICAgIGJvb2tlZEJ5RmllbGRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBmaXhlZFxuICAgICAgICBmaXhlZFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdFZhbHVlIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgICBkZWZhdWx0XG4gICAgICAgICAgZml4ZWRcbiAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgZ3JvdXBcbiAgICAgICAgc2VsZWN0ZWRWYWx1ZXMge1xuICAgICAgICAgIHZhbHVlIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICAgIGZpeGVkXG4gICAgICAgICAgICBhZ2VudE9ubHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZnJlZVZhbHVlXG4gICAgICAgICAgYmFza2V0TGV2ZWxWYWx1ZVxuICAgICAgICAgIHVzZXJMZXZlbFZhbHVlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIG1hbmFnZW1lbnRJbmZvVmFsdWUge1xuICAgICAgICBpZFxuICAgICAgICBsYWJlbFxuICAgICAgICB2YWx1ZVxuICAgICAgICBkZWZhdWx0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGFnZW50T25seVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBmcmVlVGV4dFZhbHVlXG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIGRvY3VtZW50cyB7XG4gICAgICBpZFxuICAgICAgZG9jVHlwZVxuICAgICAgbmF0aW9uYWxpdHlcbiAgICAgIGdlbmRlclxuICAgICAgbnVtYmVyXG4gICAgICBjb3VudHJ5XG4gICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgIGRhdGVPZklzc3VlXG4gICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgIHByaW1hcnlcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICBpZFxuICAgICAgY2FycmllclxuICAgICAgY29kZVxuICAgICAgdHlwZVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgcHJlZmVyZW5jZXMge1xuICAgICAgaWRcbiAgICAgIHNlcnZpY2VUeXBlXG4gICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICAgIF9fdHlwZW5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRWRpdFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248RWRpdFVzZXJNdXRhdGlvbiwgRWRpdFVzZXJNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRWRpdFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgRW1haWxCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBlbWFpbEJhc2tldCgkaWQ6IElEISkge1xuICBlbWFpbEJhc2tldChpZDogJGlkKSB7XG4gICAgaWRcbiAgICBvd25lciB7XG4gICAgICBpZFxuICAgICAgdGl0bGVcbiAgICAgIGZvcmVuYW1lXG4gICAgICBzdXJuYW1lXG4gICAgICBlbWFpbFxuICAgICAgdXNlcm5hbWVcbiAgICAgIGVtcGxveWVlSWRcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBkb2JcbiAgICAgIGFkbWluXG4gICAgICB0bWNBZG1pblxuICAgICAgY29tcGFueUFkbWluXG4gICAgICBib29rZXJUeXBlXG4gICAgICBhdXRoTWV0aG9kc1xuICAgICAgYWN0aXZlXG4gICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICBzZWxlY3RlZExhbmd1YWdlIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBpc29Db2RlXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGF2YWlsYWJsZUxhbmd1YWdlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgaXNvQ29kZVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICB0bWMge1xuICAgICAgICBuYW1lXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIG9mZmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICBpZFxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIGNvbXBhbnkge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIHRtYyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgICB0b3duXG4gICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgc3VwcG9ydEVtYWlsXG4gICAgICAgICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBhZGRyZXNzZXMge1xuICAgICAgICBpZFxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgc3RyZWV0XG4gICAgICAgIHRvd25cbiAgICAgICAgY291bnR5XG4gICAgICAgIHBvc3Rjb2RlXG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIGV4dGVuc2lvblxuICAgICAgICB0eXBlXG4gICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIHByaW9yaXR5XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICBkb2N1bWVudHMge1xuICAgICAgICBpZFxuICAgICAgICBkb2NUeXBlXG4gICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgIGdlbmRlclxuICAgICAgICBudW1iZXJcbiAgICAgICAgY291bnRyeVxuICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgIHByaW1hcnlcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgaWRcbiAgICAgICAgY2FycmllclxuICAgICAgICBjb2RlXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgcmVmZXJlbmNlXG4gICAgdGl0bGVcbiAgICBub3Rlc1xuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIGJhc2tldEl0ZW1zIHtcbiAgICAgIGlkXG4gICAgICBhZHVsdHNcbiAgICAgIGNoaWxkcmVuXG4gICAgICBpbmZhbnRzXG4gICAgICBkZXRhaWxcbiAgICAgIGRldGFpbEhhc2hcbiAgICAgIGNyZWF0ZWRBdFxuICAgICAgdXBkYXRlZEF0XG4gICAgICBleHBpcnlcbiAgICAgIGV4cGlyZWRcbiAgICAgIHVzZXJzIHtcbiAgICAgICAgaWRcbiAgICAgICAgdGl0bGVcbiAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgc3VybmFtZVxuICAgICAgICBlbWFpbFxuICAgICAgICB1c2VybmFtZVxuICAgICAgICBlbXBsb3llZUlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZG9iXG4gICAgICAgIGFkbWluXG4gICAgICAgIHRtY0FkbWluXG4gICAgICAgIGNvbXBhbnlBZG1pblxuICAgICAgICBib29rZXJUeXBlXG4gICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBpc29Db2RlXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIHRtYyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIG9mZmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIGNvbXBhbnlHcm91cHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY29tcGFueSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdG1jIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvZmZpY2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgICB0b3duXG4gICAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cHBvcnRQaG9uZU51bWJlciB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICAgIGFyZWFDb2RlXG4gICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBzdXBwb3J0RW1haWxcbiAgICAgICAgICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgdG93blxuICAgICAgICAgIGNvdW50eVxuICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYXBwcm92ZXJzIHtcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBwcmlvcml0eVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBhcHByb3ZlckZvciB7XG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgY291bnRyeVxuICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHVzZXJQYXNzZW5nZXJUeXBlcyB7XG4gICAgICAgIGlkXG4gICAgICAgIHBhc3NlbmdlclR5cGVcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgbGVhZFBhc3NlbmdlciB7XG4gICAgICAgIC4uLiBvbiBVc2VyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgIGVtcGxveWVlSWRcbiAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICBhZG1pblxuICAgICAgICAgIHRtY0FkbWluXG4gICAgICAgICAgY29tcGFueUFkbWluXG4gICAgICAgICAgYm9va2VyVHlwZVxuICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgcGFzc3dvcmRMYXN0VXBkYXRlZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgIGRvY3VtZW50cyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZG9jVHlwZVxuICAgICAgICAgICAgbmF0aW9uYWxpdHlcbiAgICAgICAgICAgIGdlbmRlclxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBjb3VudHJ5XG4gICAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICAgIGRhdGVPZklzc3VlXG4gICAgICAgICAgICBkYXRlT2ZFeHBpcnlcbiAgICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHByZWZlcmVuY2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzZXJ2aWNlVHlwZVxuICAgICAgICAgICAgcHJlZmVyZW5jZUtleVxuICAgICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBsb3lhbHR5Q29kZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNhcnJpZXJcbiAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGVtZXJnZW5jeUNvbnRhY3ROYW1lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdEVtYWlsXG4gICAgICAgIH1cbiAgICAgICAgLi4uIG9uIEd1ZXN0IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIHRpdGxlXG4gICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICBzdXJuYW1lXG4gICAgICAgICAgZW1haWxcbiAgICAgICAgfVxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBzZXJ2aWNlIHtcbiAgICAgICAgaWRcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHN1cHBsaWVyVXJsXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICBiYXNrZXRJdGVtVHRsXG4gICAgICAgIGNhbmNlbGxhYmxlXG4gICAgICAgIGFtZW5kYWJsZVxuICAgICAgICBkZXRhaWxTY2hlbWFcbiAgICAgICAgc2VhcmNoUXVlcnlTY2hlbWFcbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgc2VhcmNoUXVlcnlcbiAgICAgIHByaWNlXG4gICAgICBjdXJyZW5jeVxuICAgICAgbWlHcm91cHNBdmFpbGFibGVcbiAgICAgIG1pR3JvdXBTZWxlY3RlZFxuICAgICAgbWFuYWdlbWVudEluZm8ge1xuICAgICAgICBpZFxuICAgICAgICBkYklkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgaGFuZG9mZlxuICAgICAgICB2YWx1ZU1hc2tcbiAgICAgICAgc2VydmljZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBhcGlFbmRwb2ludFVybFxuICAgICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICAgIGFtZW5kYWJsZVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB1aVByZXNlbnRhdGlvblxuICAgICAgICBtYW5kYXRvcnlcbiAgICAgICAgcGVyUGFzc2VuZ2VyXG4gICAgICAgIHBlckJvb2tpbmdcbiAgICAgICAgYWdlbnRPbmx5XG4gICAgICAgIHRha2VWYWx1ZUZyb21Vc2VyRGVmYXVsdFxuICAgICAgICB0YWtlVmFsdWVGcm9tQm9va2VyRGVmYXVsdFxuICAgICAgICBlbmZvcmNlVXNlckRlZmF1bHRcbiAgICAgICAgYm9va2VkQnlGaWVsZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGZpeGVkXG4gICAgICAgIGZpeGVkVmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0VmFsdWUge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgbGFiZWxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIGRlZmF1bHRcbiAgICAgICAgICBmaXhlZFxuICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgfVxuICAgICAgICBncm91cFxuICAgICAgICBzZWxlY3RlZFZhbHVlcyB7XG4gICAgICAgICAgdmFsdWUge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgZGVmYXVsdFxuICAgICAgICAgICAgZml4ZWRcbiAgICAgICAgICAgIGFnZW50T25seVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBmcmVlVmFsdWVcbiAgICAgICAgICBiYXNrZXRMZXZlbFZhbHVlXG4gICAgICAgICAgdXNlckxldmVsVmFsdWVcbiAgICAgICAgICB1c2VyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgZm9yZW5hbWVcbiAgICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICAgIGVtYWlsXG4gICAgICAgICAgICB1c2VybmFtZVxuICAgICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGRvYlxuICAgICAgICAgICAgYWRtaW5cbiAgICAgICAgICAgIHRtY0FkbWluXG4gICAgICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgICAgIGJvb2tlclR5cGVcbiAgICAgICAgICAgIGF1dGhNZXRob2RzXG4gICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgIHBhc3N3b3JkTGFzdFVwZGF0ZWRcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlcmlvZFxuICAgICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgICBkb2N1bWVudHMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkb2NUeXBlXG4gICAgICAgICAgICAgIG5hdGlvbmFsaXR5XG4gICAgICAgICAgICAgIGdlbmRlclxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgY291bnRyeVxuICAgICAgICAgICAgICBjb2RlT2ZJc3N1aW5nU3RhdGVcbiAgICAgICAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgICAgICAgZGF0ZU9mRXhwaXJ5XG4gICAgICAgICAgICAgIHByaW1hcnlcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVmZXJlbmNlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgICAgICAgIHByZWZlcmVuY2VLZXlcbiAgICAgICAgICAgICAgcHJlZmVyZW5jZVZhbHVlXG4gICAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbG95YWx0eUNvZGVzIHtcbiAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgY2FycmllclxuICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0TmFtZVxuICAgICAgICAgICAgZW1lcmdlbmN5Q29udGFjdFBob25lXG4gICAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICB9XG4gICAgICAgIF9fdHlwZW5hbWVcbiAgICAgIH1cbiAgICAgIHZhbGlkYXRlZFxuICAgICAgbGF0ZXN0VmFsaWRhdGlvblxuICAgICAgbGF0ZXN0VmFsaWRhdGlvblByaWNlXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uUHJpY2VEaWZmZXJlbmNlXG4gICAgICBsYXRlc3RWYWxpZGF0aW9uQXZhaWxhYmxlXG4gICAgICBib29raW5nVGhpcmRQYXJ0eVJlZmVyZW5jZVxuICAgICAgcG5yTG9jYXRvclxuICAgICAgYm9va2luZ0RldGFpbFxuICAgICAgc3RhdHVzXG4gICAgICBhdmFpbGFibGVQYXltZW50TWV0aG9kcyB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgX190eXBlbmFtZVxuICAgICAgfVxuICAgICAgc2VsZWN0ZWRQYXltZW50TWV0aG9kIHtcbiAgICAgICAgaWRcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBwZXJJdGVtU3VwcGxlbWVudGFyeUJvb2tpbmdJbmZvU2NoZW1hXG4gICAgICBwZXJQYXNzZW5nZXJTdXBwbGVtZW50YXJ5Qm9va2luZ0luZm9TY2hlbWFcbiAgICAgIHBlckl0ZW1BZGRyZXNzXG4gICAgICBwZXJJdGVtUGhvbmVOdW1iZXJcbiAgICAgIHBlclBhc3NlbmdlckFkZHJlc3NcbiAgICAgIHBlclBhc3NlbmdlclBob25lTnVtYmVyXG4gICAgICBjYW5jZWxsYWJsZVxuICAgICAgYW1lbmRhYmxlXG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIG91dGJvdW5kRGF0ZVxuICAgICAgaW5ib3VuZERhdGVcbiAgICAgIGNvbnZlcnRlZEN1cnJlbmN5QW1vdW50XG4gICAgICBjb252ZXJ0ZWRDdXJyZW5jeUNvZGVcbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgc3RhdHVzXG4gICAgY29tcGFueUdyb3VwIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY29tcGFueSB7XG4gICAgICAgIGlkXG4gICAgICAgIG5hbWVcbiAgICAgICAgdG1jIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgb2ZmaWNlcyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBuYW1lXG4gICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgIHRvd25cbiAgICAgICAgICAgIGNvdW50eVxuICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgYXJlYUNvZGVcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgYWRkcmVzc2VzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgbnVtYmVyT3JOYW1lXG4gICAgICAgICAgc3RyZWV0XG4gICAgICAgICAgdG93blxuICAgICAgICAgIGNvdW50eVxuICAgICAgICAgIHBvc3Rjb2RlXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgcGhvbmVOdW1iZXJzIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgdXNlcnMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgdGl0bGVcbiAgICAgICAgICBmb3JlbmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBlbWFpbFxuICAgICAgICAgIHVzZXJuYW1lXG4gICAgICAgICAgZW1wbG95ZWVJZFxuICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIGFkbWluXG4gICAgICAgICAgdG1jQWRtaW5cbiAgICAgICAgICBjb21wYW55QWRtaW5cbiAgICAgICAgICBib29rZXJUeXBlXG4gICAgICAgICAgYXV0aE1ldGhvZHNcbiAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICBwYXNzd29yZExhc3RVcGRhdGVkXG4gICAgICAgICAgc2VsZWN0ZWRMYW5ndWFnZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgaXNvQ29kZVxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhdmFpbGFibGVMYW5ndWFnZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIGlzb0NvZGVcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgdG1jIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIG9mZmljZSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIGFkZHJlc3NlcyB7XG4gICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgIG51bWJlck9yTmFtZVxuICAgICAgICAgICAgICBzdHJlZXRcbiAgICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgICBjb3VudHlcbiAgICAgICAgICAgICAgcG9zdGNvZGVcbiAgICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwaG9uZU51bWJlcnMge1xuICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgZXh0ZW5zaW9uXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgICAgICAgICB1c2VyUHJpbWFyeVxuICAgICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICAgICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICAgICAgX190eXBlbmFtZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRyZXNzZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBudW1iZXJPck5hbWVcbiAgICAgICAgICAgIHN0cmVldFxuICAgICAgICAgICAgdG93blxuICAgICAgICAgICAgY291bnR5XG4gICAgICAgICAgICBwb3N0Y29kZVxuICAgICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIHBob25lTnVtYmVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICBleHRlbnNpb25cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgICAgICAgIHVzZXJQcmltYXJ5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFwcHJvdmVycyB7XG4gICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgIHByaW9yaXR5XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGFwcHJvdmVyRm9yIHtcbiAgICAgICAgICAgIGFjdGl2ZVxuICAgICAgICAgICAgcHJpb3JpdHlcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gICAgICAgICAgZG9jdW1lbnRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkb2NUeXBlXG4gICAgICAgICAgICBuYXRpb25hbGl0eVxuICAgICAgICAgICAgZ2VuZGVyXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGNvdW50cnlcbiAgICAgICAgICAgIGNvZGVPZklzc3VpbmdTdGF0ZVxuICAgICAgICAgICAgZGF0ZU9mSXNzdWVcbiAgICAgICAgICAgIGRhdGVPZkV4cGlyeVxuICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJlZmVyZW5jZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHNlcnZpY2VUeXBlXG4gICAgICAgICAgICBwcmVmZXJlbmNlS2V5XG4gICAgICAgICAgICBwcmVmZXJlbmNlVmFsdWVcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgICAgfVxuICAgICAgICAgIGxveWFsdHlDb2RlcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY2FycmllclxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgICAgIF9fdHlwZW5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZW1lcmdlbmN5Q29udGFjdE5hbWVcbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0UGhvbmVcbiAgICAgICAgICBlbWVyZ2VuY3lDb250YWN0RW1haWxcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgICBhcmVhQ29kZVxuICAgICAgICAgIG51bWJlclxuICAgICAgICAgIGV4dGVuc2lvblxuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBvZmZpY2VQcmltYXJ5XG4gICAgICAgICAgdXNlclByaW1hcnlcbiAgICAgICAgICBfX3R5cGVuYW1lXG4gICAgICAgIH1cbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBzdXBwb3J0RW1haWxcbiAgICAgICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICAgICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgICAgIGNvMkFsbG93YW5jZVBlclBlcmlvZFxuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBjcmVhdGVkQXRcbiAgICAgIHVwZGF0ZWRBdFxuICAgICAgX190eXBlbmFtZVxuICAgIH1cbiAgICB2YWxpZGF0ZWRcbiAgICBib29rZWRBdFxuICAgIF9fdHlwZW5hbWVcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgRW1haWxCYXNrZXRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8RW1haWxCYXNrZXRRdWVyeSwgRW1haWxCYXNrZXRRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gRW1haWxCYXNrZXREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0QWxsQWlybGluZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRBbGxBaXJsaW5lcyB7XG4gIGdldEFsbEFpcmxpbmVzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBpYXRhXG4gICAgaWNhb1xuICAgIGFsaWFzXG4gICAgY2FsbHNpZ25cbiAgICBhY3RpdmVcbiAgICBjb250aW5lbnRcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBiYW5uZXJJbWFnZVxuICAgIGxvZ29JbWFnZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRBbGxBaXJsaW5lc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRBbGxBaXJsaW5lc1F1ZXJ5LCBHZXRBbGxBaXJsaW5lc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRBbGxBaXJsaW5lc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q09WSURNaWNyb3NpdGVUb2tlbiB7XG4gIGdldENPVklETWljcm9zaXRlVG9rZW5cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvdmlkTWljcm9zaXRlVG9rZW5HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q292aWRNaWNyb3NpdGVUb2tlblF1ZXJ5LCBHZXRDb3ZpZE1pY3Jvc2l0ZVRva2VuUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvdmlkTWljcm9zaXRlVG9rZW5Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FuY2VsbGF0aW9uSW5mb0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhbmNlbGxhdGlvbkluZm8oJGJhc2tldEl0ZW06IElEISkge1xuICBnZXRDYW5jZWxsYXRpb25JbmZvKGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtKSB7XG4gICAgY2FuY2VsbGFibGVcbiAgICBpbmZvXG4gICAgY2FuY2VsbGF0aW9uRmVlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhbmNlbGxhdGlvbkluZm9HUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FuY2VsbGF0aW9uSW5mb1F1ZXJ5LCBHZXRDYW5jZWxsYXRpb25JbmZvUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhbmNlbGxhdGlvbkluZm9Eb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZURlcG90c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVEZXBvdHMoJGxhdGl0dWRlOiBGbG9hdCEsICRsb25naXR1ZGU6IEZsb2F0ISwgJHZlbmRvckNvZGU6IFN0cmluZywgJHJhZGl1czogU3RyaW5nKSB7XG4gIGdldENhckhpcmVEZXBvdHMobGF0aXR1ZGU6ICRsYXRpdHVkZSwgbG9uZ2l0dWRlOiAkbG9uZ2l0dWRlLCB2ZW5kb3JDb2RlOiAkdmVuZG9yQ29kZSwgcmFkaXVzOiAkcmFkaXVzKSB7XG4gICAgY291bnRyeUNvZGVcbiAgICBsb2NhdGlvbkNvZGVcbiAgICBleHRlbmRlZExvY2F0aW9uQ29kZVxuICAgIHZlbmRvckNvZGVcbiAgICBsYXRpdHVkZVxuICAgIGxvbmdpdHVkZVxuICAgIHZlbmRvclxuICAgIGFkZHJlc3NMaW5lc1xuICAgIGNpdHlOYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENhckhpcmVEZXBvdHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q2FySGlyZURlcG90c1F1ZXJ5LCBHZXRDYXJIaXJlRGVwb3RzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENhckhpcmVEZXBvdHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q2FySGlyZVByb3ZpZGVyc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENhckhpcmVQcm92aWRlcnMge1xuICBnZXRDYXJIaXJlUHJvdmlkZXJzXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRDYXJIaXJlUHJvdmlkZXJzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENhckhpcmVQcm92aWRlcnNRdWVyeSwgR2V0Q2FySGlyZVByb3ZpZGVyc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRDYXJIaXJlUHJvdmlkZXJzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbXBhbmllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldENvbXBhbmllcygkcXVlcnk6IFN0cmluZykge1xuICBnZXRDb21wYW5pZXMocXVlcnk6ICRxdWVyeSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHRtYyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2VzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgfVxuICAgIGNyZWF0ZWRBdFxuICAgIHVwZGF0ZWRBdFxuICAgIHN1cHBvcnRFbWFpbFxuICAgIGNvMkNvbnN1bXB0aW9uUG9saWN5XG4gICAgY28yQWxsb3dhbmNlUGVyaW9kXG4gICAgY28yQWxsb3dhbmNlUGVyUGVyaW9kXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbXBhbmllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb21wYW5pZXNRdWVyeSwgR2V0Q29tcGFuaWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbXBhbmllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRDb21wYW55RG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29tcGFueSgkaWQ6IElEISkge1xuICBnZXRDb21wYW55KGlkOiAkaWQpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICB0bWMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgb2ZmaWNlcyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgICAgY3JlYXRlZEF0XG4gICAgICB1cGRhdGVkQXRcbiAgICB9XG4gICAgdXNlcnMge1xuICAgICAgLi4uVVNFUlNcbiAgICB9XG4gICAgc3VwcG9ydFBob25lTnVtYmVyIHtcbiAgICAgIGlkXG4gICAgICBkZXNjcmlwdGlvblxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGFyZWFDb2RlXG4gICAgICBudW1iZXJcbiAgICAgIGV4dGVuc2lvblxuICAgICAgdHlwZVxuICAgICAgb2ZmaWNlUHJpbWFyeVxuICAgICAgdXNlclByaW1hcnlcbiAgICB9XG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgc3VwcG9ydEVtYWlsXG4gICAgY28yQ29uc3VtcHRpb25Qb2xpY3lcbiAgICBjbzJBbGxvd2FuY2VQZXJpb2RcbiAgICBjbzJBbGxvd2FuY2VQZXJQZXJpb2RcbiAgfVxufVxuICAgICR7VXNlcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbXBhbnlHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29tcGFueVF1ZXJ5LCBHZXRDb21wYW55UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbXBhbnlEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFPZmZpY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZSgkb2ZmaWNlSWQ6IEludCEpIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2Uob2ZmaWNlSWQ6ICRvZmZpY2VJZCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGFkZHJlc3Mge1xuICAgICAgICBhZGRyZXNzTmFtZVxuICAgICAgICBhZGRyZXNzTGluZTFcbiAgICAgICAgYWRkcmVzc0xpbmUyXG4gICAgICAgIGFkZHJlc3NMaW5lM1xuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNpdHlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgY291bnRyeU5hbWVcbiAgICAgICAgdGVsZXBob25lTnVtYmVyXG4gICAgICAgIGZhY3NpbWlsZU51bWJlclxuICAgICAgICBlbWFpbEFkZHJlc3NcbiAgICAgICAgc3RhdGVQcm92aW5jZVxuICAgICAgICBtb2JpbGVOdW1iZXJcbiAgICAgIH1cbiAgICAgIGNsb3Nlc3RBaXJwb3J0XG4gICAgICBjbG9zZXN0VHJhaW5TdGF0aW9uXG4gICAgICBsb25naXR1ZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBjbG9zZXN0SG90ZWxzIHtcbiAgICAgICAgaG90ZWxJZFxuICAgICAgICBob3RlbE5hbWVcbiAgICAgICAgaXNQcmVmZXJyZWRcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIHNlcnZpY2Uge1xuICAgICAgICBpZFxuICAgICAgICB0eXBlXG4gICAgICAgIG5hbWVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgc3VwcGxpZXJVcmxcbiAgICAgICAgYWN0aXZlXG4gICAgICAgIGFwaUVuZHBvaW50VXJsXG4gICAgICAgIGJhc2tldEl0ZW1UdGxcbiAgICAgICAgY2FuY2VsbGFibGVcbiAgICAgICAgYW1lbmRhYmxlXG4gICAgICAgIGRldGFpbFNjaGVtYVxuICAgICAgICBzZWFyY2hRdWVyeVNjaGVtYVxuICAgICAgfVxuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgICBlcnJvckNvZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldENvbmZlcm1hT2ZmaWNlUXVlcnksIEdldENvbmZlcm1hT2ZmaWNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYU9mZmljZU5hbWVzIHtcbiAgZ2V0Q29uZmVybWFPZmZpY2VOYW1lcyB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hT2ZmaWNlTmFtZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFPZmZpY2VOYW1lc1F1ZXJ5LCBHZXRDb25mZXJtYU9mZmljZU5hbWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hT2ZmaWNlTmFtZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRDb25mZXJtYVF1aWNrbGlzdCgkY291bnRyeUNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0Q29uZmVybWFRdWlja2xpc3QoY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICBob3RlbElkXG4gICAgICAgIGltYWdlVXJsXG4gICAgICAgIHJvb21zIHtcbiAgICAgICAgICByb29tSWRcbiAgICAgICAgICByb29tVHlwZVxuICAgICAgICAgIHJvb21EZXNjcmlwdGlvblxuICAgICAgICAgIHJhdGVDb2RlXG4gICAgICAgICAgcmF0ZURlc2NyaXB0aW9uXG4gICAgICAgICAgdG90YWxcbiAgICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgICBjdXJyZW5jeUNvbnZlcnNpb24ge1xuICAgICAgICAgICAgcmF0ZVxuICAgICAgICAgICAgbG9jYWxDb2RlXG4gICAgICAgICAgICBsb2NhbFRvdGFsXG4gICAgICAgICAgICBjb252ZXJ0ZWRDb2RlXG4gICAgICAgICAgICBjb252ZXJ0ZWRUb3RhbFxuICAgICAgICAgIH1cbiAgICAgICAgICBkZXBvc2l0IHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcG9saWN5XG4gICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBuaWdodHMge1xuICAgICAgICAgICAgbmlnaHRcbiAgICAgICAgICAgIHJhdGVcbiAgICAgICAgICAgIGluZm9cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICB9XG4gICAgICAgICAgcG9saWNpZXMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uXG4gICAgICAgICAgICBkZXBvc2l0XG4gICAgICAgICAgICBkaXNhYmxlZEFjY2Vzc1xuICAgICAgICAgICAgZ2VuZXJhbFxuICAgICAgICAgICAgZ3VhcmFudGVlXG4gICAgICAgICAgICByZWZ1bmRBdmFpbGFibGVcbiAgICAgICAgICB9XG4gICAgICAgICAgdGF4IHtcbiAgICAgICAgICAgIGluY2x1ZGVkXG4gICAgICAgICAgICByYXRlXG4gICAgICAgICAgfVxuICAgICAgICAgIGFjY2VwdGVkQ2FyZHMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcGF5bWVudFR5cGVzIHtcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJwblxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgaXNCdXN5XG4gICAgICAgIHNvdXJjZVxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgICB2ZXJzaW9uXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0Q29uZmVybWFRdWlja2xpc3RHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeSwgR2V0Q29uZmVybWFRdWlja2xpc3RRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0Q29uZmVybWFRdWlja2xpc3REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Q29uZmVybWFSb29tSW1hZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0Q29uZmVybWFSb29tSW1hZ2VzKCRob3RlbElkOiBTdHJpbmchKSB7XG4gIGdldENvbmZlcm1hUm9vbUltYWdlcyhob3RlbElkOiAkaG90ZWxJZClcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldENvbmZlcm1hUm9vbUltYWdlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRDb25mZXJtYVJvb21JbWFnZXNRdWVyeSwgR2V0Q29uZmVybWFSb29tSW1hZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldENvbmZlcm1hUm9vbUltYWdlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRGYXJlUnVsZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRGbGlnaHRGYXJlUnVsZXMoJGZsaWdodDogSW5wdXRGbGlnaHRKb3VybmV5ISkge1xuICBnZXRGbGlnaHRGYXJlUnVsZXMoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICBuYW1lXG4gICAgICAgIHR5cGVcbiAgICAgICAgY3VycmVuY3lcbiAgICAgICAgYW1vdW50XG4gICAgICAgIHJlbWFya1xuICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgIH1cbiAgICAgIGNoYW5nZSB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgbm9TaG93IHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICB1cGdyYWRlIHtcbiAgICAgICAgbmFtZVxuICAgICAgICB0eXBlXG4gICAgICAgIGN1cnJlbmN5XG4gICAgICAgIGFtb3VudFxuICAgICAgICByZW1hcmtcbiAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICB9XG4gICAgICBvdGhlciB7XG4gICAgICAgIG5hbWVcbiAgICAgICAgdHlwZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgICBhbW91bnRcbiAgICAgICAgcmVtYXJrXG4gICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEZsaWdodEZhcmVSdWxlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRGYXJlUnVsZXNRdWVyeSwgR2V0RmxpZ2h0RmFyZVJ1bGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEZsaWdodEZhcmVSdWxlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRGbGlnaHRTZWF0TWFwRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0RmxpZ2h0U2VhdE1hcCgkZmxpZ2h0OiBJbnB1dEZsaWdodEpvdXJuZXkhKSB7XG4gIGdldEZsaWdodFNlYXRNYXAoZmxpZ2h0OiAkZmxpZ2h0KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBhaXJjcmFmdCB7XG4gICAgICAgIGNhcnJpZXJcbiAgICAgICAgbnVtYmVyXG4gICAgICAgIHR5cGVcbiAgICAgIH1cbiAgICAgIHNlYXRzIHtcbiAgICAgICAgcm93XG4gICAgICAgIGNvbHVtblxuICAgICAgICBhdHRyaWJ1dGVzIHtcbiAgICAgICAgICBjb2RlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfVxuICAgICAgICBwcmljZVxuICAgICAgICBjdXJyZW5jeVxuICAgICAgfVxuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0RmxpZ2h0U2VhdE1hcEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRGbGlnaHRTZWF0TWFwUXVlcnksIEdldEZsaWdodFNlYXRNYXBRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0RmxpZ2h0U2VhdE1hcERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRIb3RlbENoYWluc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldEhvdGVsQ2hhaW5zIHtcbiAgZ2V0SG90ZWxDaGFpbnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldEhvdGVsQ2hhaW5zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldEhvdGVsQ2hhaW5zUXVlcnksIEdldEhvdGVsQ2hhaW5zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldEhvdGVsQ2hhaW5zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRJUkxEaXNjb3VudENhcmRzKCRzdXBwbGllcjogSVJMU3VwcGxpZXIhKSB7XG4gIGdldElSTERpc2NvdW50Q2FyZHMoc3VwcGxpZXI6ICRzdXBwbGllcikge1xuICAgIGlkXG4gICAgbmV0Q29kZVxuICAgIHJlY29cbiAgICB0eXBlXG4gICAgbmFtZVxuICAgIHN1cHBsaWVyXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldElybERpc2NvdW50Q2FyZHNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0SXJsRGlzY291bnRDYXJkc1F1ZXJ5LCBHZXRJcmxEaXNjb3VudENhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldElybERpc2NvdW50Q2FyZHNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKCRpZDogSUQsICRzdXBwbGllcjogSVJMU3VwcGxpZXIsICRjb2RlOiBTdHJpbmcpIHtcbiAgZ2V0SVJMU3VwcGxpZXJTdGF0aW9uKGlkOiAkaWQsIHN1cHBsaWVyOiAkc3VwcGxpZXIsIGNvZGU6ICRjb2RlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3VwcGxpZXJcbiAgICBzdGF0aW9uQ29kZVxuICAgIG5sY0NvZGVcbiAgICB0cmFpbmxpbmVDb2RlXG4gICAgdHJhaW5saW5lVW5pcXVlQ29kZVxuICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBzdGF0ZVxuICAgICAgY2l0eVxuICAgICAgY29vcmRpbmF0ZXMge1xuICAgICAgICBsYXRpdHVkZVxuICAgICAgICBsb25naXR1ZGVcbiAgICAgICAgYWx0aXR1ZGVcbiAgICAgIH1cbiAgICAgIHBvc3Rjb2RlXG4gICAgICByb2FkXG4gICAgICBncmlkUmVmZXJlbmNlXG4gICAgICBub3J0aGluZ1xuICAgICAgZWFzdGluZ1xuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0SXJsU3VwcGxpZXJTdGF0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldElybFN1cHBsaWVyU3RhdGlvblF1ZXJ5LCBHZXRJcmxTdXBwbGllclN0YXRpb25RdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0SXJsU3VwcGxpZXJTdGF0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxMaXZlRGVwYXJ0dXJlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJhaWxMaXZlRGVwYXJ0dXJlcygkc3RhdGlvbkNvZGU6IFN0cmluZyEsICRkZXBhcnREYXRlVGltZTogU3RyaW5nKSB7XG4gIGdldFJhaWxMaXZlRGVwYXJ0dXJlcyhzdGF0aW9uQ29kZTogJHN0YXRpb25Db2RlLCBkZXBhcnREYXRlVGltZTogJGRlcGFydERhdGVUaW1lKSB7XG4gICAgc2VydmljZXMge1xuICAgICAgcmlkXG4gICAgICB1aWRcbiAgICAgIHRyYWluaWRcbiAgICAgIHNkZFxuICAgICAgb3BlcmF0b3JcbiAgICAgIG9wZXJhdG9yQ29kZVxuICAgICAgc3RkXG4gICAgICBldGRcbiAgICAgIGRlcGFydHVyZVR5cGVcbiAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgcGxhdGZvcm1cbiAgICAgIHBsYXRmb3JtSXNIaWRkZW5cbiAgICAgIG9yaWdpbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBkZXN0aW5hdGlvbiB7XG4gICAgICAgIGxvY2F0aW9uTmFtZVxuICAgICAgICB0aXBsb2NcbiAgICAgICAgY3JzXG4gICAgICB9XG4gICAgICBzdWJzZXF1ZW50TG9jYXRpb25zIHtcbiAgICAgICAgbG9jYXRpb25OYW1lXG4gICAgICAgIHRpcGxvY1xuICAgICAgICBjcnNcbiAgICAgICAgcGxhdGZvcm1cbiAgICAgICAgcGxhdGZvcm1Jc0hpZGRlblxuICAgICAgICBzdGFcbiAgICAgICAgZXRhXG4gICAgICAgIGFycml2YWxUeXBlXG4gICAgICAgIGFycml2YWxTb3VyY2VcbiAgICAgICAgc3RkXG4gICAgICAgIGV0ZFxuICAgICAgICBkZXBhcnR1cmVUeXBlXG4gICAgICAgIGRlcGFydHVyZVNvdXJjZVxuICAgICAgICBhc3NvY2lhdGlvbnMge1xuICAgICAgICAgIGNhdGVnb3J5XG4gICAgICAgICAgcmlkXG4gICAgICAgICAgdWlkXG4gICAgICAgICAgdHJhaW5pZFxuICAgICAgICAgIHNkZFxuICAgICAgICAgIG9yaWdpblxuICAgICAgICAgIG9yaWdpbkNSU1xuICAgICAgICAgIG9yaWdpblRpcGxvY1xuICAgICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgICAgZGVzdENSU1xuICAgICAgICAgIGRlc3RUaXBsb2NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0UmFpbExpdmVEZXBhcnR1cmVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJhaWxMaXZlRGVwYXJ0dXJlc1F1ZXJ5LCBHZXRSYWlsTGl2ZURlcGFydHVyZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0UmFpbExpdmVEZXBhcnR1cmVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFJhaWxTdGF0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFN0YXRpb24oJGlkOiBJRCwgJGNvZGU6IFN0cmluZykge1xuICBnZXRSYWlsU3RhdGlvbihpZDogJGlkLCBjb2RlOiAkY29kZSkge1xuICAgIGlkXG4gICAgbmFtZVxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICAgIGhhc1RvZFxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSYWlsU3RhdGlvbkdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsU3RhdGlvblF1ZXJ5LCBHZXRSYWlsU3RhdGlvblF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSYWlsU3RhdGlvbkRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsY2FyZHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRSYWlsY2FyZHMge1xuICBnZXRSYWlsY2FyZHMge1xuICAgIG5hbWVcbiAgICBjb2RlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxjYXJkc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRSYWlsY2FyZHNRdWVyeSwgR2V0UmFpbGNhcmRzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxjYXJkc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRSYWlsUHJvdmlkZXJzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0UmFpbFByb3ZpZGVycyB7XG4gIGdldFJhaWxQcm92aWRlcnNcbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFJhaWxQcm92aWRlcnNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0UmFpbFByb3ZpZGVyc1F1ZXJ5LCBHZXRSYWlsUHJvdmlkZXJzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFJhaWxQcm92aWRlcnNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0Umlza0FsZXJ0c0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFJpc2tBbGVydHMoJG1pbkxldmVsOiBSaXNrTGV2ZWwhLCAkbWF4TGV2ZWw6IFJpc2tMZXZlbCEsICRjb3VudHJ5SXNvQ29kZTogU3RyaW5nLCAkYWlycG9ydDogSUQsICRyYWlsU3RhdGlvbjogSUQsICRhaXJwb3J0SWF0YTogU3RyaW5nKSB7XG4gIGdldFJpc2tBbGVydHMobWluTGV2ZWw6ICRtaW5MZXZlbCwgbWF4TGV2ZWw6ICRtYXhMZXZlbCwgY291bnRyeUlzb0NvZGU6ICRjb3VudHJ5SXNvQ29kZSwgYWlycG9ydDogJGFpcnBvcnQsIHJhaWxTdGF0aW9uOiAkcmFpbFN0YXRpb24sIGFpcnBvcnRJYXRhOiAkYWlycG9ydElhdGEpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZGVzY3JpcHRpb25cbiAgICBicmVha2luZ1xuICAgIHJpc2tcbiAgICBjYXRlZ29yeVxuICAgIGNvdW50cnlcbiAgICBsb2NhdGlvblxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gICAgc3RhcnREYXRlXG4gICAgZW5kRGF0ZVxuICAgIHJlY2VpdmVkRGF0ZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRSaXNrQWxlcnRzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFJpc2tBbGVydHNRdWVyeSwgR2V0Umlza0FsZXJ0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRSaXNrQWxlcnRzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQWRkcmVzc2VzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJBZGRyZXNzZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckFkZHJlc3Nlc1F1ZXJ5LCBHZXRVc2VyQWRkcmVzc2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJBZGRyZXNzZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckNvbXBhbnlPZmZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgZ2V0VXNlckNvbXBhbnlPZmZpY2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBhZGRyZXNzZXMge1xuICAgICAgaWRcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBudW1iZXJPck5hbWVcbiAgICAgIHN0cmVldFxuICAgICAgdG93blxuICAgICAgY291bnR5XG4gICAgICBwb3N0Y29kZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgICBvZmZpY2VQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyQ29tcGFueU9mZmljZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlckNvbXBhbnlPZmZpY2VzUXVlcnksIEdldFVzZXJDb21wYW55T2ZmaWNlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyQ29tcGFueU9mZmljZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2VEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyQ3VycmVudENhcmJvbkFsbG93YW5jZSgkdXNlcjogSUQpIHtcbiAgZ2V0VXNlckN1cnJlbnRDYXJib25BbGxvd2FuY2UodXNlcjogJHVzZXIpIHtcbiAgICBpZFxuICAgIHN0YXJ0T2ZQZXJpb2RcbiAgICBlbmRPZlBlcmlvZFxuICAgIHJlbWFpbmluZ0NvMlxuICAgIHRvdGFsQ28yXG4gICAgY2FyYm9uUG9saWN5U291cmNlXG4gICAgY29tcGFueSB7XG4gICAgICBpZFxuICAgICAgbmFtZVxuICAgIH1cbiAgICBvZmZpY2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgdXNlciB7XG4gICAgICBpZFxuICAgICAgZm9yZW5hbWVcbiAgICAgIHN1cm5hbWVcbiAgICAgIGVtYWlsXG4gICAgfVxuICAgIHBlcmlvZENvbnN1bXB0aW9uIHtcbiAgICAgIGlkXG4gICAgICBjb25zdW1lZFxuICAgICAgZGF0ZXRpbWVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnksIEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJDdXJyZW50Q2FyYm9uQWxsb3dhbmNlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJGYXZvdXJpdGVTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBzZXJ2aWNlVHlwZVxuICAgIHNlYXJjaEFyZ3NcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJGYXZvdXJpdGVTZWFyY2hlc1F1ZXJ5LCBHZXRVc2VyRmF2b3VyaXRlU2VhcmNoZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckZhdm91cml0ZVNlYXJjaGVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJHdWVzdHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyR3Vlc3RzIHtcbiAgZ2V0VXNlckd1ZXN0cyB7XG4gICAgaWRcbiAgICB0aXRsZVxuICAgIGZvcmVuYW1lXG4gICAgc3VybmFtZVxuICAgIGVtYWlsXG4gICAgZ2VuZGVyXG4gICAgbmF0aW9uYWxpdHlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlckd1ZXN0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyR3Vlc3RzUXVlcnksIEdldFVzZXJHdWVzdHNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlckd1ZXN0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKCRtaTogSUQhLCAkcGFydGlhbExhYmVsOiBTdHJpbmchKSB7XG4gIGdldFVzZXJNSUF1dG9TdWdnZXN0VmFsdWVzKG1pOiAkbWksIHBhcnRpYWxMYWJlbDogJHBhcnRpYWxMYWJlbCkge1xuICAgIGlkXG4gICAgbGFiZWxcbiAgICB2YWx1ZVxuICAgIGRlZmF1bHRcbiAgICBmaXhlZFxuICAgIGFnZW50T25seVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5LCBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyTWlBdXRvU3VnZ2VzdFZhbHVlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyUGhvbmVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBnZXRVc2VyUGhvbmUge1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclBob25lR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldFVzZXJQaG9uZVF1ZXJ5LCBHZXRVc2VyUGhvbmVRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclBob25lRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJSZWNlbnRTZWFyY2hlcygkc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlKSB7XG4gIGdldFVzZXJSZWNlbnRTZWFyY2hlcyhzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc2VydmljZVR5cGVcbiAgICBzZWFyY2hBcmdzXG4gICAgY3JlYXRlZEF0XG4gICAgdXBkYXRlZEF0XG4gICAgdHJhdmVsRGF0ZVxuICAgIHRyYXZlbGxlcnMge1xuICAgICAgaWRcbiAgICAgIHRpdGxlXG4gICAgICBmb3JlbmFtZVxuICAgICAgc3VybmFtZVxuICAgICAgZW1haWxcbiAgICAgIHVzZXJuYW1lXG4gICAgICBkb2JcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJSZWNlbnRTZWFyY2hlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUmVjZW50U2VhcmNoZXNRdWVyeSwgR2V0VXNlclJlY2VudFNlYXJjaGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJSZWNlbnRTZWFyY2hlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hIb3RlbHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hIb3RlbHMoJHN0YXJ0RGF0ZTogRGF0ZSEsICRlbmREYXRlOiBEYXRlISwgJGNpdHlOYW1lOiBTdHJpbmcsICRwb3N0T3JaaXBDb2RlOiBTdHJpbmcsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkbGF0aXR1ZGU6IEZsb2F0LCAkbG9uZ2l0dWRlOiBGbG9hdCwgJHRyYWluU3RhdGlvbkNvZGU6IFN0cmluZywgJGlhdGE6IFN0cmluZywgJG9mZmljZUlkOiBJbnQsICRyb29tczogSW50ISwgJGFkdWx0czogSW50ISwgJGNoaWxkcmVuOiBJbnQsICRjdXJyZW5jeTogU3RyaW5nISwgJGRpc3RhbmNlVHlwZTogRGlzdGFuY2VUeXBlcyEsICRkaXN0YW5jZTogSW50ISwgJG1heFJlc3VsdHM6IEludCwgJGhvdGVsTmFtZTogU3RyaW5nLCAkZ3JvdXBOYW1lOiBTdHJpbmcpIHtcbiAgc2VhcmNoSG90ZWxzKHN0YXJ0RGF0ZTogJHN0YXJ0RGF0ZSwgZW5kRGF0ZTogJGVuZERhdGUsIGNpdHlOYW1lOiAkY2l0eU5hbWUsIHBvc3RPclppcENvZGU6ICRwb3N0T3JaaXBDb2RlLCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBsYXRpdHVkZTogJGxhdGl0dWRlLCBsb25naXR1ZGU6ICRsb25naXR1ZGUsIHRyYWluU3RhdGlvbkNvZGU6ICR0cmFpblN0YXRpb25Db2RlLCBpYXRhOiAkaWF0YSwgb2ZmaWNlSWQ6ICRvZmZpY2VJZCwgcm9vbXM6ICRyb29tcywgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBkaXN0YW5jZVR5cGU6ICRkaXN0YW5jZVR5cGUsIGRpc3RhbmNlOiAkZGlzdGFuY2UsIG1heFJlc3VsdHM6ICRtYXhSZXN1bHRzLCBob3RlbE5hbWU6ICRob3RlbE5hbWUsIGdyb3VwTmFtZTogJGdyb3VwTmFtZSkge1xuICAgIHJlc3VsdHMge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGltYWdlVXJsXG4gICAgICBncm91cFxuICAgICAgbG9jYXRpb24ge1xuICAgICAgICBkaXN0YW5jZVxuICAgICAgICBkaXN0YW5jZVR5cGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICB9XG4gICAgICBhZGRyZXNzIHtcbiAgICAgICAgYWRkcmVzc0xpbmUxXG4gICAgICAgIGFkZHJlc3NMaW5lMlxuICAgICAgICBhZGRyZXNzTGluZTNcbiAgICAgICAgcG9zdE9yWmlwQ29kZVxuICAgICAgICBjb3VudHJ5Q29kZVxuICAgICAgICB0ZWxlcGhvbmVcbiAgICAgICAgZmFjc2ltaWxlXG4gICAgICB9XG4gICAgICB0cmFuc3BvcnRzIHtcbiAgICAgICAgdHlwZVxuICAgICAgICBuYW1lXG4gICAgICAgIGNvZGVcbiAgICAgICAgZGlzdGFuY2VcbiAgICAgICAgZGlzdGFuY2VUeXBlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBsYXRpdHVkZVxuICAgICAgfVxuICAgICAgcHJlZmVycmVkIHtcbiAgICAgICAgY2xpZW50XG4gICAgICAgIGNvbnN1bWVyXG4gICAgICB9XG4gICAgICB0YWdzIHtcbiAgICAgICAgbmFtZVxuICAgICAgICBkaXNwbGF5XG4gICAgICAgIHR5cGVcbiAgICAgICAgaWNvblxuICAgICAgfVxuICAgICAgYXZhaWxhYmxlUmF0ZXMge1xuICAgICAgICAuLi5Sb29tQXZhbGlhYmlsaXR5XG4gICAgICB9XG4gICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgIGNvMlBlckl0ZW1cbiAgICAgIHNvdXJjZVxuICAgICAgc291cmNlSWRcbiAgICAgIHZlcnNpb25cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7Um9vbUF2YWxpYWJpbGl0eUZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEhvdGVsc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbHNRdWVyeSwgU2VhcmNoSG90ZWxzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEhvdGVsc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eURvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5KCRob3RlbDogW1N0cmluZyFdISwgJHN0YXJ0RGF0ZTogRGF0ZSEsICRlbmREYXRlOiBEYXRlISwgJGN1cnJlbmN5OiBTdHJpbmchLCAkb2NjdXBhbnRzOiBJbnQhLCAkcm9vbXM6IEludCkge1xuICBnZXRNdWx0aXBsZUhvdGVsc0F2YWlsYWJpbGl0eShob3RlbDogJGhvdGVsLCBzdGFydERhdGU6ICRzdGFydERhdGUsIGVuZERhdGU6ICRlbmREYXRlLCBjdXJyZW5jeTogJGN1cnJlbmN5LCBvY2N1cGFudHM6ICRvY2N1cGFudHMsIHJvb21zOiAkcm9vbXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIC4uLlJvb21BdmFsaWFiaWxpdHlcbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7Um9vbUF2YWxpYWJpbGl0eUZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5R1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnksIEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5UXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldE11bHRpcGxlSG90ZWxzQXZhaWxhYmlsaXR5RG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IElzUG9zdGNvZGVWYWxpZERvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGlzUG9zdGNvZGVWYWxpZCgkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgaXNQb3N0Y29kZVZhbGlkKHBvc3Rjb2RlOiAkcG9zdGNvZGUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBJc1Bvc3Rjb2RlVmFsaWRHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8SXNQb3N0Y29kZVZhbGlkUXVlcnksIElzUG9zdGNvZGVWYWxpZFF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBJc1Bvc3Rjb2RlVmFsaWREb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQWlycG9ydHNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hBaXJwb3J0cygkcXVlcnk6IFN0cmluZyEsICRjb3VudHJ5Q29kZTogU3RyaW5nLCAkaGFzTG91bmdlOiBCb29sZWFuLCAkaGFzUGFya2luZzogQm9vbGVhbiwgJGhhc0Zhc3RUcmFjazogQm9vbGVhbikge1xuICBzZWFyY2hBaXJwb3J0cyhxdWVyeTogJHF1ZXJ5LCBjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBoYXNMb3VuZ2U6ICRoYXNMb3VuZ2UsIGhhc1Bhcmtpbmc6ICRoYXNQYXJraW5nLCBoYXNGYXN0VHJhY2s6ICRoYXNGYXN0VHJhY2spIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIHRlcm1pbmFsc1xuICAgICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgICAgLi4uTE9DQVRJT05fREVUQUlMXG4gICAgICB9XG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICB0ZXJtaW5hbHNcbiAgICAgIGxvY2F0aW9uRGV0YWlscyB7XG4gICAgICAgIC4uLkxPQ0FUSU9OX0RFVEFJTFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuICAgICR7TG9jYXRpb25fRGV0YWlsRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hBaXJwb3J0c0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hBaXJwb3J0c1F1ZXJ5LCBTZWFyY2hBaXJwb3J0c1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hBaXJwb3J0c0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hMb3VuZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoTG91bmdlcygkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkaW5mYW50czogSW50LCAkdGVybWluYWw6IFN0cmluZykge1xuICBzZWFyY2hMb3VuZ2VzKGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYXJyaXZhbERhdGV0aW1lOiAkYXJyaXZhbERhdGV0aW1lLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIGluZmFudHM6ICRpbmZhbnRzLCB0ZXJtaW5hbDogJHRlcm1pbmFsKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIGxvdW5nZSB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGFkZHJlc3NcbiAgICAgICAgdGVsZXBob25lXG4gICAgICAgIGZheFxuICAgICAgICBkaXJlY3Rpb25zXG4gICAgICAgIGludHJvZHVjdGlvblxuICAgICAgICBsb2dvXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgYWR1bHRBZ2VcbiAgICAgICAgY2hpbGRBZ2VcbiAgICAgICAgaW5mYW50QWdlXG4gICAgICAgIGxhbmRzaWRlXG4gICAgICAgIGFpcnNpZGVcbiAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICBvcGVuVGltZVxuICAgICAgICBjbG9zZVRpbWVcbiAgICAgICAgd2lmaVxuICAgICAgICB0dlxuICAgICAgICBzbmFja3NcbiAgICAgICAgcGhvbmVcbiAgICAgICAgaW50ZXJuZXRcbiAgICAgICAgY2hpbGRyZW5BbGxvd2VkXG4gICAgICAgIGRpc2FibGVkQWNjZXNzXG4gICAgICAgIGRyaW5rc1xuICAgICAgICBmcmVlRHJpbmtzXG4gICAgICAgIGZyZWVGb29kXG4gICAgICAgIHNtb2tpbmdQZXJtaXR0ZWRcbiAgICAgICAgbWFnYXppbmVzXG4gICAgICAgIGluY2x1ZGVkRHJpbmtzXG4gICAgICAgIG1lbnVGb29kXG4gICAgICAgIG1lbnVEcmlua3NcbiAgICAgICAgbWVudUV4dHJhc1xuICAgICAgICB3aGF0c0luY2x1ZGVkRHJpbmtzXG4gICAgICAgIHdoYXRzSW5jbHVkZWRFeHRyYXNcbiAgICAgICAgd2hhdHNJbmNsdWRlZEZvb2RcbiAgICAgICAgZ3JvdXBJbmZvXG4gICAgICAgIGNoZWNrSW5JbmZvXG4gICAgICAgIGRyZXNzQ29kZVxuICAgICAgICBmYWNpbGl0aWVzSW5mb1xuICAgICAgICBmb29kQW5kQmV2ZXJhZ2VcbiAgICAgICAgY2FuY2VsbGF0aW9uSW5mb1xuICAgICAgICBhbWVuZG1lbnRzSW5mb1xuICAgICAgICBtaXNjXG4gICAgICB9XG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgLi4uRXJyb3JzXG4gICAgfVxuICB9XG59XG4gICAgJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaExvdW5nZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoTG91bmdlc1F1ZXJ5LCBTZWFyY2hMb3VuZ2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaExvdW5nZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgTW92ZUl0ZW1Ub0FEaWZmZXJlbnRCYXNrZXREb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBtb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldCgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGJhc2tldEl0ZW06IElEISwgJG5ld0Jhc2tldDogSUQhLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIG1vdmVJdGVtVG9BRGlmZmVyZW50QmFza2V0KGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBuZXdCYXNrZXQ6ICRuZXdCYXNrZXQpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uLCBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldE11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBNb3ZlSXRlbVRvQURpZmZlcmVudEJhc2tldERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hQYXJraW5nRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUGFya2luZygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRkZXBhcnREYXRldGltZTogRGF0ZVRpbWUhLCAkbG9jYXRpb25Db2RlOiBTdHJpbmchLCAkb3V0RmxpZ2h0TnVtYmVyOiBTdHJpbmcsICRyZWNvbW1lbmRlZDogQm9vbGVhbiwgJG9uQWlycG9ydDogQm9vbGVhbiwgJG1lZXRBbmRHcmVldDogQm9vbGVhbiwgJHBhcmtBbmRSaWRlOiBCb29sZWFuLCAkcGFya0FuZFN0cm9sbDogQm9vbGVhbiwgJGNhclBhcmtlZEZvcllvdTogQm9vbGVhbiwgJHRlcm1pbmFsOiBTdHJpbmcpIHtcbiAgc2VhcmNoUGFya2luZyhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGRlcGFydERhdGV0aW1lOiAkZGVwYXJ0RGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgb3V0RmxpZ2h0TnVtYmVyOiAkb3V0RmxpZ2h0TnVtYmVyLCByZWNvbW1lbmRlZDogJHJlY29tbWVuZGVkLCBvbkFpcnBvcnQ6ICRvbkFpcnBvcnQsIG1lZXRBbmRHcmVldDogJG1lZXRBbmRHcmVldCwgcGFya0FuZFJpZGU6ICRwYXJrQW5kUmlkZSwgcGFya0FuZFN0cm9sbDogJHBhcmtBbmRTdHJvbGwsIGNhclBhcmtlZEZvcllvdTogJGNhclBhcmtlZEZvcllvdSwgdGVybWluYWw6ICR0ZXJtaW5hbCkge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlXG4gICAgICBzb3VyY2VJZFxuICAgICAgY2FyUGFyayB7XG4gICAgICAgIGNvZGVcbiAgICAgICAgbmFtZVxuICAgICAgICBhaXJwb3J0XG4gICAgICAgIHRlcm1pbmFsXG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhZGRyZXNzXG4gICAgICAgIGRpc3RhbmNlVG9BaXJwb3J0XG4gICAgICAgIG9uQWlycG9ydFxuICAgICAgICBjYXJQYXJrZWRGb3JZb3VcbiAgICAgICAgbWVldEFuZEdyZWV0XG4gICAgICAgIHRlbGVwaG9uZVxuICAgICAgICBmYXhcbiAgICAgICAgZGlyZWN0aW9uc1xuICAgICAgICBhcnJpdmFsUHJvY2VkdXJlXG4gICAgICAgIGRlcGFydHVyZVByb2NlZHVyZVxuICAgICAgICBtYXhpbXVtQ2FyU2l6ZVxuICAgICAgICBpbnRyb2R1Y3Rpb25cbiAgICAgICAgaW5mb3JtYXRpb25cbiAgICAgICAgdHJhbnNmZXJJbmZvcm1hdGlvblxuICAgICAgICB0cmFuc2Zlck9wZXJhdGluZ1RpbWVzXG4gICAgICAgIHRyYW5zZmVyVGltZVxuICAgICAgICBsb2dvXG4gICAgICAgIGRlZmF1bHRJbWFnZVxuICAgICAgICBicmFuZEltYWdlXG4gICAgICAgIG1vYmlsZUltYWdlXG4gICAgICAgIGZ1cnRoZXJJbWFnZXNcbiAgICAgICAgbWlzY1xuICAgICAgfVxuICAgICAgcmVxdWlyZWRJbmZvXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIG1pc2NcbiAgICAgIHRtY1ByZWZlcnJlZFxuICAgICAgY29tcGFueVByZWZlcnJlZFxuICAgICAgb2ZmaWNlUHJlZmVycmVkXG4gICAgICB0bWNQcmVmZXJyZWRNZXNzYWdlXG4gICAgICBjb21wYW55UHJlZmVycmVkTWVzc2FnZVxuICAgICAgb2ZmaWNlUHJlZmVycmVkTWVzc2FnZVxuICAgICAgdW5hdmFpbGFibGVcbiAgICAgIHVuYXZhaWxhYmxlTWVzc2FnZVxuICAgICAgcmVxdWlyZXNSZWFzb25cbiAgICAgIHJlcXVpcmVzUmVhc29uTWVzc2FnZVxuICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICBjbzJQZXJJdGVtXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUGFya2luZ0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQYXJraW5nUXVlcnksIFNlYXJjaFBhcmtpbmdRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUGFya2luZ0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoUmFpbCgkY291bnRyeUNvZGU6IFN0cmluZywgJGpvdXJuZXlUeXBlOiBSYWlsU2VhcmNoSm91cm5leVR5cGUhLCAkY2xhc3M6IFJhaWxDbGFzcywgJGRlcGFydHVyZUxvY2F0aW9uSWQ6IElEISwgJGFycml2YWxMb2NhdGlvbklkOiBJRCEsICR2aWFMb2NhdGlvbklkOiBJRCwgJG91dGJvdW5kQXJyaXZhbERhdGVUaW1lOiBTdHJpbmcsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsRGF0ZVRpbWU6IFN0cmluZywgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBTdHJpbmcsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50LCAkZXh0cmFUaW1lVG9DaGFuZ2U6IEJvb2xlYW4sICRwbHVzQnVzT3V0OiBSYWlsUGx1c0J1c0F2YWlsLCAkcGx1c0J1c1JldHVybjogUmFpbFBsdXNCdXNBdmFpbCwgJHRyYXZlbENhcmRzOiBbRGF0ZSFdLCAkcmFpbENhcmRRdWFsaWZpZXJzOiBbU3RyaW5nIV0sICRzcGxpdFRpY2tldHNGcm9tRGVwYXJ0dXJlSm91cm5leTogQm9vbGVhbiwgJHNwbGl0VGlja2V0c1RvRGVzdGluYXRpb25Kb3VybmV5OiBCb29sZWFuLCAkdHJhbnNhY3Rpb25JZGVudGlmaWVyOiBTdHJpbmcpIHtcbiAgc2VhcmNoUmFpbChjb3VudHJ5Q29kZTogJGNvdW50cnlDb2RlLCBqb3VybmV5VHlwZTogJGpvdXJuZXlUeXBlLCBjbGFzczogJGNsYXNzLCBkZXBhcnR1cmVMb2NhdGlvbklkOiAkZGVwYXJ0dXJlTG9jYXRpb25JZCwgYXJyaXZhbExvY2F0aW9uSWQ6ICRhcnJpdmFsTG9jYXRpb25JZCwgdmlhTG9jYXRpb25JZDogJHZpYUxvY2F0aW9uSWQsIG91dGJvdW5kQXJyaXZhbERhdGVUaW1lOiAkb3V0Ym91bmRBcnJpdmFsRGF0ZVRpbWUsIG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWU6ICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lLCByZXR1cm5BcnJpdmFsRGF0ZVRpbWU6ICRyZXR1cm5BcnJpdmFsRGF0ZVRpbWUsIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGFkdWx0czogJGFkdWx0cywgY2hpbGRyZW46ICRjaGlsZHJlbiwgZXh0cmFUaW1lVG9DaGFuZ2U6ICRleHRyYVRpbWVUb0NoYW5nZSwgcGx1c0J1c091dDogJHBsdXNCdXNPdXQsIHBsdXNCdXNSZXR1cm46ICRwbHVzQnVzUmV0dXJuLCB0cmF2ZWxDYXJkczogJHRyYXZlbENhcmRzLCByYWlsQ2FyZFF1YWxpZmllcnM6ICRyYWlsQ2FyZFF1YWxpZmllcnMsIHNwbGl0VGlja2V0c0Zyb21EZXBhcnR1cmVKb3VybmV5OiAkc3BsaXRUaWNrZXRzRnJvbURlcGFydHVyZUpvdXJuZXksIHNwbGl0VGlja2V0c1RvRGVzdGluYXRpb25Kb3VybmV5OiAkc3BsaXRUaWNrZXRzVG9EZXN0aW5hdGlvbkpvdXJuZXksIHRyYW5zYWN0aW9uSWRlbnRpZmllcjogJHRyYW5zYWN0aW9uSWRlbnRpZmllcikge1xuICAgIHJlc3VsdHMge1xuICAgICAgc291cmNlSWRcbiAgICAgIHN1bW1hcnlcbiAgICAgIHRyYXZlbENhcmRzQWRkb25GbGFnXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIC4uLlJhaWxKb3VybmV5T3B0aW9uXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5SYWlsSm91cm5leU9wdGlvblxuICAgICAgfVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgZXJyb3JNZXNzYWdlXG4gICAgfVxuICB9XG59XG4gICAgJHtSYWlsSm91cm5leU9wdGlvbkZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoUmFpbEdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsUXVlcnksIFNlYXJjaFJhaWxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoUmFpbERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlRmF2b3VyaXRlU2VhcmNoRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2F2ZUZhdm91cml0ZVNlYXJjaCgkbmFtZTogU3RyaW5nISwgJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISkge1xuICBzYXZlRmF2b3VyaXRlU2VhcmNoKG5hbWU6ICRuYW1lLCBzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncykge1xuICAgIGlkXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNhdmVGYXZvdXJpdGVTZWFyY2hHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2F2ZUZhdm91cml0ZVNlYXJjaE11dGF0aW9uLCBTYXZlRmF2b3VyaXRlU2VhcmNoTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNhdmVGYXZvdXJpdGVTZWFyY2hEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNhdmVSZWNlbnRTZWFyY2goJHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSEsICRzZWFyY2hBcmdzOiBKU09OISwgJHRyYXZlbERhdGU6IERhdGVUaW1lISwgJHRyYXZlbGxlcnM6IFtJRF0pIHtcbiAgc2F2ZVJlY2VudFNlYXJjaChzZXJ2aWNlVHlwZTogJHNlcnZpY2VUeXBlLCBzZWFyY2hBcmdzOiAkc2VhcmNoQXJncywgdHJhdmVsRGF0ZTogJHRyYXZlbERhdGUsIHRyYXZlbGxlcnM6ICR0cmF2ZWxsZXJzKSB7XG4gICAgaWRcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVJlY2VudFNlYXJjaEdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTYXZlUmVjZW50U2VhcmNoTXV0YXRpb24sIFNhdmVSZWNlbnRTZWFyY2hNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVJlY2VudFNlYXJjaERvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTYXZlVXNlckFkZHJlc3NEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzYXZlVXNlckFkZHJlc3MoJGRlc2NyaXB0aW9uOiBTdHJpbmchLCAkbnVtYmVyT3JOYW1lOiBTdHJpbmcsICRzdHJlZXQ6IFN0cmluZywgJHRvd246IFN0cmluZywgJGNvdW50eTogU3RyaW5nLCAkcG9zdGNvZGU6IFN0cmluZywgJGNvdW50cnlDb2RlOiBTdHJpbmcsICR1c2VyUHJpbWFyeTogQm9vbGVhbikge1xuICBzYXZlVXNlckFkZHJlc3MoZGVzY3JpcHRpb246ICRkZXNjcmlwdGlvbiwgbnVtYmVyT3JOYW1lOiAkbnVtYmVyT3JOYW1lLCBzdHJlZXQ6ICRzdHJlZXQsIHRvd246ICR0b3duLCBjb3VudHk6ICRjb3VudHksIHBvc3Rjb2RlOiAkcG9zdGNvZGUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUsIHVzZXJQcmltYXJ5OiAkdXNlclByaW1hcnkpIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgbnVtYmVyT3JOYW1lXG4gICAgc3RyZWV0XG4gICAgdG93blxuICAgIGNvdW50eVxuICAgIHBvc3Rjb2RlXG4gICAgY291bnRyeUNvZGVcbiAgICB1c2VyUHJpbWFyeVxuICAgIG9mZmljZVByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2F2ZVVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNhdmVVc2VyQWRkcmVzc011dGF0aW9uLCBTYXZlVXNlckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2F2ZVVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEFpcmxpbmVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQWlybGluZXMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEFpcmxpbmVzKHF1ZXJ5OiAkcXVlcnkpIHtcbiAgICBpYXRhTWF0Y2gge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICAgIGlhdGFcbiAgICAgIGljYW9cbiAgICAgIGFsaWFzXG4gICAgICBjYWxsc2lnblxuICAgICAgYWN0aXZlXG4gICAgICBjb250aW5lbnRcbiAgICAgIGNvdW50cnlcbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBiYW5uZXJJbWFnZVxuICAgICAgbG9nb0ltYWdlXG4gICAgfVxuICAgIGdlbmVyYWxNYXRjaGVzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpYXRhXG4gICAgICBpY2FvXG4gICAgICBhbGlhc1xuICAgICAgY2FsbHNpZ25cbiAgICAgIGFjdGl2ZVxuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgYmFubmVySW1hZ2VcbiAgICAgIGxvZ29JbWFnZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoQWlybGluZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoQWlybGluZXNRdWVyeSwgU2VhcmNoQWlybGluZXNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoQWlybGluZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoQ2l0aWVzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoQ2l0aWVzKCRxdWVyeTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmcpIHtcbiAgc2VhcmNoQ2l0aWVzKHF1ZXJ5OiAkcXVlcnksIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBjb3VudHJ5XG4gICAgY291bnRyeUNvZGVcbiAgICBjb29yZGluYXRlcyB7XG4gICAgICBsYXRpdHVkZVxuICAgICAgbG9uZ2l0dWRlXG4gICAgICBhbHRpdHVkZVxuICAgIH1cbiAgICBjb250aW5lbnROYW1lXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENpdGllc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hDaXRpZXNRdWVyeSwgU2VhcmNoQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENpdGllc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hDb25mZXJtYUNpdGllc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaENvbmZlcm1hQ2l0aWVzKCRjaXR5TmFtZTogU3RyaW5nISwgJGNvdW50cnlDb2RlOiBTdHJpbmchKSB7XG4gIHNlYXJjaENvbmZlcm1hQ2l0aWVzKGNpdHlOYW1lOiAkY2l0eU5hbWUsIGNvdW50cnlDb2RlOiAkY291bnRyeUNvZGUpIHtcbiAgICBmb3VuZEV4YWN0XG4gICAgc3VnZ2VzdGlvbnMge1xuICAgICAgbmFtZVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIGxhdGl0dWRlXG4gICAgICBsb25naXR1ZGVcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaENvbmZlcm1hQ2l0aWVzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnksIFNlYXJjaENvbmZlcm1hQ2l0aWVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaENvbmZlcm1hQ2l0aWVzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoRXVyb3N0YXIoJHBhc3NlbmdlcnM6IFtGbGlnaHRQYXNzZW5nZXJPYmplY3QhXSEsICRvcmlnaW5BaXJwb3J0OiBTdHJpbmcsICRkZXN0aW5hdGlvbkFpcnBvcnQ6IFN0cmluZywgJG11bHRpRGVzdGluYXRpb246IFtEZXN0aW5hdGlvbkVudHJ5XSwgJG91dGJvdW5kRGF0ZTogRGF0ZSwgJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkb3V0Ym91bmRDYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRyZXR1cm5UcmlwOiBCb29sZWFuISwgJHJldHVybkRhdGU6IERhdGUsICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogU3RyaW5nLCAkcmV0dXJuQ2FiaW5DbGFzczogW0ZsaWdodENhYmluQ2xhc3NdLCAkZmFyZVR5cGU6IEZhcmVUeXBlISwgJHJlcXVpcmVGcmVlQmFnOiBCb29sZWFuLCAkbWF4Q29ubmVjdGlvbnM6IEludCwgJHByZWZlcnJlZENhcnJpZXJzOiBbU3RyaW5nXSwgJGluY2x1ZGVOZWFyYnlBaXJwb3J0czogQm9vbGVhbiwgJGFzU2luZ2xlczogQm9vbGVhbikge1xuICBzZWFyY2hFdXJvc3RhcihwYXNzZW5nZXJzOiAkcGFzc2VuZ2Vycywgb3JpZ2luQWlycG9ydDogJG9yaWdpbkFpcnBvcnQsIGRlc3RpbmF0aW9uQWlycG9ydDogJGRlc3RpbmF0aW9uQWlycG9ydCwgbXVsdGlEZXN0aW5hdGlvbjogJG11bHRpRGVzdGluYXRpb24sIG91dGJvdW5kRGF0ZTogJG91dGJvdW5kRGF0ZSwgb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93LCBvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiAkb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdywgb3V0Ym91bmRDYWJpbkNsYXNzOiAkb3V0Ym91bmRDYWJpbkNsYXNzLCByZXR1cm5UcmlwOiAkcmV0dXJuVHJpcCwgcmV0dXJuRGF0ZTogJHJldHVybkRhdGUsIHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6ICRyZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93LCByZXR1cm5BcnJpdmFsVGltZVdpbmRvdzogJHJldHVybkFycml2YWxUaW1lV2luZG93LCByZXR1cm5DYWJpbkNsYXNzOiAkcmV0dXJuQ2FiaW5DbGFzcywgZmFyZVR5cGU6ICRmYXJlVHlwZSwgcmVxdWlyZUZyZWVCYWc6ICRyZXF1aXJlRnJlZUJhZywgbWF4Q29ubmVjdGlvbnM6ICRtYXhDb25uZWN0aW9ucywgcHJlZmVycmVkQ2FycmllcnM6ICRwcmVmZXJyZWRDYXJyaWVycywgaW5jbHVkZU5lYXJieUFpcnBvcnRzOiAkaW5jbHVkZU5lYXJieUFpcnBvcnRzLCBhc1NpbmdsZXM6ICRhc1NpbmdsZXMpIHtcbiAgICByZXN1bHRzIHtcbiAgICAgIGpvdXJuZXlzIHtcbiAgICAgICAgYmFzZUZhcmVJZFxuICAgICAgICB1aWRcbiAgICAgICAgZGlzY2xvc3VyZXNcbiAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgfVxuICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgb3V0Ym91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIHVuaXRcbiAgICAgICAgfVxuICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgdGF4ZXMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgcHJpY2VcbiAgICAgICAgICB0YXhcbiAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIGNoYW5nZSB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBvdGhlciB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgIHR5cGVcbiAgICAgICAgICBxdHlcbiAgICAgICAgICBtYXhLR1xuICAgICAgICAgIG1heExCU1xuICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgIH1cbiAgICAgICAgYWRkaXRpb25hbFxuICAgICAgICBzb3VyY2VcbiAgICAgICAgc291cmNlSWRcbiAgICAgICAgdmVyc2lvblxuICAgICAgICBqb3VybmV5SGFzaFxuICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgfVxuICAgICAgbXVsdGkge1xuICAgICAgICBvcmRlclxuICAgICAgICBvcmlnaW5cbiAgICAgICAgZGVzdGluYXRpb25cbiAgICAgICAgcmVzdWx0cyB7XG4gICAgICAgICAgdWlkXG4gICAgICAgICAgcGFzc2VuZ2VyQ291bnRcbiAgICAgICAgICBvdXRib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgICAgfVxuICAgICAgICAgIG91dGJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICBpbmJvdW5kVG90YWxEdXJhdGlvblxuICAgICAgICAgIGluYm91bmRDYXJib25FbWlzc2lvbnMge1xuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICB1bml0XG4gICAgICAgICAgfVxuICAgICAgICAgIHRheGVzIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICB0b3RhbCB7XG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgdGF4XG4gICAgICAgICAgICBkaXNjb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgZmFyZUNvbmRpdGlvbnMge1xuICAgICAgICAgICAgY2FuY2VsbGF0aW9uIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vU2hvdyB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXBncmFkZSB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYmFnZ2FnZUFsbG93YW5jZSB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBxdHlcbiAgICAgICAgICAgIG1heEtHXG4gICAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICAgIHdlaWdodFByb3ZpZGVkXG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgICBzb3VyY2VcbiAgICAgICAgICBzb3VyY2VJZFxuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgICBjbzJQZXJJdGVtXG4gICAgICAgICAgY28yUGVyUGFzc2VuZ2VyXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICB9XG4gICAgZXJyb3JzIHtcbiAgICAgIC4uLkVycm9yc1xuICAgIH1cbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtFcnJvcnNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaEV1cm9zdGFyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEV1cm9zdGFyUXVlcnksIFNlYXJjaEV1cm9zdGFyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaEV1cm9zdGFyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZhc3RUcmFja0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZhc3RUcmFjaygkYXJyaXZhbERhdGV0aW1lOiBEYXRlVGltZSEsICRsb2NhdGlvbkNvZGU6IFN0cmluZyEsICRhZHVsdHM6IEludCEsICRjaGlsZHJlbjogSW50KSB7XG4gIHNlYXJjaEZhc3RUcmFjayhhcnJpdmFsRGF0ZXRpbWU6ICRhcnJpdmFsRGF0ZXRpbWUsIGxvY2F0aW9uQ29kZTogJGxvY2F0aW9uQ29kZSwgYWR1bHRzOiAkYWR1bHRzLCBjaGlsZHJlbjogJGNoaWxkcmVuKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBuYW1lXG4gICAgICBjb2RlXG4gICAgICBwcmljZVxuICAgICAgY3VycmVuY3lcbiAgICAgIHJlZnVuZGFibGVcbiAgICAgIHRlcm1pbmFsXG4gICAgICBpbWFnZXNcbiAgICAgIGxvZ29cbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgICBpbXBvcnRhbnRJbmZvXG4gICAgICB0bWNQcmVmZXJyZWRcbiAgICAgIGNvbXBhbnlQcmVmZXJyZWRcbiAgICAgIG9mZmljZVByZWZlcnJlZFxuICAgICAgdG1jUHJlZmVycmVkTWVzc2FnZVxuICAgICAgY29tcGFueVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIG9mZmljZVByZWZlcnJlZE1lc3NhZ2VcbiAgICAgIHVuYXZhaWxhYmxlXG4gICAgICB1bmF2YWlsYWJsZU1lc3NhZ2VcbiAgICAgIHJlcXVpcmVzUmVhc29uXG4gICAgICByZXF1aXJlc1JlYXNvbk1lc3NhZ2VcbiAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgY28yUGVySXRlbVxuICAgIH1cbiAgICBlcnJvcnMge1xuICAgICAgc2VydmljZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHR5cGVcbiAgICAgICAgbmFtZVxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICBzdXBwbGllclVybFxuICAgICAgICBhY3RpdmVcbiAgICAgICAgYXBpRW5kcG9pbnRVcmxcbiAgICAgICAgYmFza2V0SXRlbVR0bFxuICAgICAgICBjYW5jZWxsYWJsZVxuICAgICAgICBhbWVuZGFibGVcbiAgICAgICAgZGV0YWlsU2NoZW1hXG4gICAgICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gICAgICB9XG4gICAgICBlcnJvck1lc3NhZ2VcbiAgICAgIGVycm9yQ29kZVxuICAgIH1cbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmFzdFRyYWNrR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZhc3RUcmFja1F1ZXJ5LCBTZWFyY2hGYXN0VHJhY2tRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmFzdFRyYWNrRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEZsaWdodHNWMkRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaEZsaWdodHNWMigkcGFzc2VuZ2VyczogW0ZsaWdodFBhc3Nlbmdlck9iamVjdCFdISwgJG9yaWdpbkFpcnBvcnQ6IFN0cmluZywgJGRlc3RpbmF0aW9uQWlycG9ydDogU3RyaW5nLCAkbXVsdGlEZXN0aW5hdGlvbjogW0Rlc3RpbmF0aW9uRW50cnldLCAkb3V0Ym91bmREYXRlOiBEYXRlLCAkb3V0Ym91bmREZXBhcnR1cmVUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZEFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRvdXRib3VuZENhYmluQ2xhc3M6IFtGbGlnaHRDYWJpbkNsYXNzXSwgJHJldHVyblRyaXA6IEJvb2xlYW4hLCAkcmV0dXJuRGF0ZTogRGF0ZSwgJHJldHVybkRlcGFydHVyZVRpbWVXaW5kb3c6IFN0cmluZywgJHJldHVybkFycml2YWxUaW1lV2luZG93OiBTdHJpbmcsICRyZXR1cm5DYWJpbkNsYXNzOiBbRmxpZ2h0Q2FiaW5DbGFzc10sICRmYXJlVHlwZTogRmFyZVR5cGUhLCAkcmVxdWlyZUZyZWVCYWc6IEJvb2xlYW4sICRtYXhDb25uZWN0aW9uczogSW50LCAkcHJlZmVycmVkQ2FycmllcnM6IFtTdHJpbmddLCAkaW5jbHVkZU5lYXJieUFpcnBvcnRzOiBCb29sZWFuLCAkYXNTaW5nbGVzOiBCb29sZWFuLCAkd2l0aEdyb3VwZWQ6IEJvb2xlYW4hLCAkZ3JvdXBNYXg6IEludCkge1xuICBzZWFyY2hGbGlnaHRzVjIocGFzc2VuZ2VyczogJHBhc3NlbmdlcnMsIG9yaWdpbkFpcnBvcnQ6ICRvcmlnaW5BaXJwb3J0LCBkZXN0aW5hdGlvbkFpcnBvcnQ6ICRkZXN0aW5hdGlvbkFpcnBvcnQsIG11bHRpRGVzdGluYXRpb246ICRtdWx0aURlc3RpbmF0aW9uLCBvdXRib3VuZERhdGU6ICRvdXRib3VuZERhdGUsIG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdzogJG91dGJvdW5kRGVwYXJ0dXJlVGltZVdpbmRvdywgb3V0Ym91bmRBcnJpdmFsVGltZVdpbmRvdzogJG91dGJvdW5kQXJyaXZhbFRpbWVXaW5kb3csIG91dGJvdW5kQ2FiaW5DbGFzczogJG91dGJvdW5kQ2FiaW5DbGFzcywgcmV0dXJuVHJpcDogJHJldHVyblRyaXAsIHJldHVybkRhdGU6ICRyZXR1cm5EYXRlLCByZXR1cm5EZXBhcnR1cmVUaW1lV2luZG93OiAkcmV0dXJuRGVwYXJ0dXJlVGltZVdpbmRvdywgcmV0dXJuQXJyaXZhbFRpbWVXaW5kb3c6ICRyZXR1cm5BcnJpdmFsVGltZVdpbmRvdywgcmV0dXJuQ2FiaW5DbGFzczogJHJldHVybkNhYmluQ2xhc3MsIGZhcmVUeXBlOiAkZmFyZVR5cGUsIHJlcXVpcmVGcmVlQmFnOiAkcmVxdWlyZUZyZWVCYWcsIG1heENvbm5lY3Rpb25zOiAkbWF4Q29ubmVjdGlvbnMsIHByZWZlcnJlZENhcnJpZXJzOiAkcHJlZmVycmVkQ2FycmllcnMsIGluY2x1ZGVOZWFyYnlBaXJwb3J0czogJGluY2x1ZGVOZWFyYnlBaXJwb3J0cywgYXNTaW5nbGVzOiAkYXNTaW5nbGVzLCBncm91cE1heDogJGdyb3VwTWF4KSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBqb3VybmV5cyB7XG4gICAgICAgIGJhc2VGYXJlSWRcbiAgICAgICAgdWlkXG4gICAgICAgIGRpc2Nsb3N1cmVzXG4gICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgIG91dGJvdW5kRmxpZ2h0cyB7XG4gICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICB9XG4gICAgICAgIGluYm91bmRGbGlnaHRzIHtcbiAgICAgICAgICAuLi5GbGlnaHRKb3VybmV5RmllbGRzXG4gICAgICAgIH1cbiAgICAgICAgb3V0Ym91bmRUb3RhbER1cmF0aW9uXG4gICAgICAgIG91dGJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICB1bml0XG4gICAgICAgIH1cbiAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgaW5ib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgdW5pdFxuICAgICAgICB9XG4gICAgICAgIHRheGVzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIGFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgdG90YWwge1xuICAgICAgICAgIHByaWNlXG4gICAgICAgICAgdGF4XG4gICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICB9XG4gICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICBjYW5jZWxsYXRpb24ge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBjaGFuZ2Uge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgICB1cGdyYWRlIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBiYWdnYWdlQWxsb3dhbmNlIHtcbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgcXR5XG4gICAgICAgICAgbWF4S0dcbiAgICAgICAgICBtYXhMQlNcbiAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICB9XG4gICAgICAgIGFkZGl0aW9uYWxcbiAgICAgICAgc291cmNlXG4gICAgICAgIHNvdXJjZUlkXG4gICAgICAgIHZlcnNpb25cbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgICAgY28yUGVySXRlbVxuICAgICAgICBjbzJQZXJQYXNzZW5nZXJcbiAgICAgICAgam91cm5leUhhc2hcbiAgICAgIH1cbiAgICAgIG11bHRpIHtcbiAgICAgICAgb3JkZXJcbiAgICAgICAgb3JpZ2luXG4gICAgICAgIGRlc3RpbmF0aW9uXG4gICAgICAgIHJlc3VsdHMge1xuICAgICAgICAgIHVpZFxuICAgICAgICAgIHBhc3NlbmdlckNvdW50XG4gICAgICAgICAgb3V0Ym91bmRGbGlnaHRzIHtcbiAgICAgICAgICAgIC4uLkZsaWdodEpvdXJuZXlGaWVsZHNcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZEZsaWdodHMge1xuICAgICAgICAgICAgLi4uRmxpZ2h0Sm91cm5leUZpZWxkc1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBvdXRib3VuZENhcmJvbkVtaXNzaW9ucyB7XG4gICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIHVuaXRcbiAgICAgICAgICB9XG4gICAgICAgICAgaW5ib3VuZFRvdGFsRHVyYXRpb25cbiAgICAgICAgICBpbmJvdW5kQ2FyYm9uRW1pc3Npb25zIHtcbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgdW5pdFxuICAgICAgICAgIH1cbiAgICAgICAgICB0YXhlcyB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgIH1cbiAgICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICB9XG4gICAgICAgICAgdG90YWwge1xuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHRheFxuICAgICAgICAgICAgZGlzY291bnRcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhcmVDb25kaXRpb25zIHtcbiAgICAgICAgICAgIGNhbmNlbGxhdGlvbiB7XG4gICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgICAgcmVtYXJrXG4gICAgICAgICAgICAgIGNoYW5nZUZlZUluZFxuICAgICAgICAgICAgICBjYW5jZWxGZWVJbmRcbiAgICAgICAgICAgICAgcmVmdW5kYWJsZUluZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hhbmdlIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub1Nob3cge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZ3JhZGUge1xuICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgICAgYW1vdW50XG4gICAgICAgICAgICAgIHJlbWFya1xuICAgICAgICAgICAgICBjaGFuZ2VGZWVJbmRcbiAgICAgICAgICAgICAgY2FuY2VsRmVlSW5kXG4gICAgICAgICAgICAgIHJlZnVuZGFibGVJbmRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG90aGVyIHtcbiAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgICByZW1hcmtcbiAgICAgICAgICAgICAgY2hhbmdlRmVlSW5kXG4gICAgICAgICAgICAgIGNhbmNlbEZlZUluZFxuICAgICAgICAgICAgICByZWZ1bmRhYmxlSW5kXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhZ2dhZ2VBbGxvd2FuY2Uge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgcXR5XG4gICAgICAgICAgICBtYXhLR1xuICAgICAgICAgICAgbWF4TEJTXG4gICAgICAgICAgICB3ZWlnaHRQcm92aWRlZFxuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRpdGlvbmFsXG4gICAgICAgICAgc291cmNlXG4gICAgICAgICAgc291cmNlSWRcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgICAgY28yUGVySXRlbVxuICAgICAgICAgIGNvMlBlclBhc3NlbmdlclxuICAgICAgICAgIGpvdXJuZXlIYXNoXG4gICAgICAgIH1cbiAgICAgICAgbWluUHJpY2VcbiAgICAgICAgbWF4UHJpY2VcbiAgICAgIH1cbiAgICAgIGdyb3VwZWQge1xuICAgICAgICAuLi5Hcm91cGVkRmllbGRzIEBpbmNsdWRlKGlmOiAkd2l0aEdyb3VwZWQpXG4gICAgICB9XG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gICAgcnVsZUFjdGlvblN1bW1hcnlcbiAgfVxufVxuICAgICR7RmxpZ2h0Sm91cm5leUZpZWxkc0ZyYWdtZW50RG9jfVxuJHtHcm91cGVkRmllbGRzRnJhZ21lbnREb2N9XG4ke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoRmxpZ2h0c1YyR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaEZsaWdodHNWMlF1ZXJ5LCBTZWFyY2hGbGlnaHRzVjJRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoRmxpZ2h0c1YyRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaEhvdGVsQ2hhaW5zRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VhcmNoSG90ZWxDaGFpbnMoJHF1ZXJ5OiBTdHJpbmchKSB7XG4gIHNlYXJjaEhvdGVsQ2hhaW5zKHF1ZXJ5OiAkcXVlcnkpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hIb3RlbENoYWluc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hIb3RlbENoYWluc1F1ZXJ5LCBTZWFyY2hIb3RlbENoYWluc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hIb3RlbENoYWluc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hJcmxEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkwoJHN1cHBsaWVyOiBJUkxTdXBwbGllciEsICRjb3VudHJ5Q29kZTogU3RyaW5nISwgJGpvdXJuZXlUeXBlOiBJUkxKb3VybmV5VHlwZSEsICRjbGFzczogSVJMQ2xhc3MsICRvdXRib3VuZERlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSEsICRkZXBhcnR1cmVMb2NhdGlvbklkOiBJRCEsICRhcnJpdmFsTG9jYXRpb25JZDogSUQhLCAkYWR1bHRzOiBJbnQhLCAkY2hpbGRyZW46IEludCwgJHJldHVybkRlcGFydHVyZURhdGVUaW1lOiBEYXRlVGltZSwgJGlybERpc2NvdW50Q2FyZHM6IFN0cmluZykge1xuICBzZWFyY2hJUkwoc3VwcGxpZXI6ICRzdXBwbGllciwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgam91cm5leVR5cGU6ICRqb3VybmV5VHlwZSwgY2xhc3M6ICRjbGFzcywgb3V0Ym91bmREZXBhcnR1cmVEYXRlVGltZTogJG91dGJvdW5kRGVwYXJ0dXJlRGF0ZVRpbWUsIGRlcGFydHVyZUxvY2F0aW9uSWQ6ICRkZXBhcnR1cmVMb2NhdGlvbklkLCBhcnJpdmFsTG9jYXRpb25JZDogJGFycml2YWxMb2NhdGlvbklkLCBhZHVsdHM6ICRhZHVsdHMsIGNoaWxkcmVuOiAkY2hpbGRyZW4sIHJldHVybkRlcGFydHVyZURhdGVUaW1lOiAkcmV0dXJuRGVwYXJ0dXJlRGF0ZVRpbWUsIGlybERpc2NvdW50Q2FyZHM6ICRpcmxEaXNjb3VudENhcmRzKSB7XG4gICAgcmVzdWx0cyB7XG4gICAgICBzb3VyY2VcbiAgICAgIHNvdXJjZUlkXG4gICAgICBvdXRib3VuZCB7XG4gICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgfVxuICAgICAgICB0cmF2ZWxsZXJzIHtcbiAgICAgICAgICBzdGF0dXNcbiAgICAgICAgICBpZFxuICAgICAgICAgIGRvYlxuICAgICAgICAgIHJhaWxjYXJkXG4gICAgICAgICAgZ2l2ZW5OYW1lXG4gICAgICAgICAgc3VybmFtZVxuICAgICAgICAgIG5hbWVUaXRsZVxuICAgICAgICAgIGNvbnRhY3RJbmZvXG4gICAgICAgICAgZGVsaXZlcnlFbWFpbEFkZHJlc3NcbiAgICAgICAgICBmYXJlXG4gICAgICAgIH1cbiAgICAgICAgZnJvbVxuICAgICAgICBmcm9tQ29kZVxuICAgICAgICB0b1xuICAgICAgICB0b0NvZGVcbiAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgY2hhbmdlc1xuICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgIGRlcGFydFxuICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgfVxuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvdmlkZXJzIHtcbiAgICAgICAgICBwcm92aWRlcklkXG4gICAgICAgICAgbmFtZVxuICAgICAgICAgIGNoZWFwZXN0VGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aWNrZXRPcHRpb25zIHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBib29rZWRUaWNrZXQge1xuICAgICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbklkZW50aWZpZXJcbiAgICAgICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgICAgIGpvdXJuZXlJZGVudGlmaWVyXG4gICAgICAgICAgICAgIHByb3ZpZGVyXG4gICAgICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBjbGFzc1xuICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICBjdXJyZW5jeVxuICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgIHJvdXRlQ29kZVxuICAgICAgICAgICAgZmFyZVJ1bGVzXG4gICAgICAgICAgICB0aWNrZXRzIHtcbiAgICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgICBzZWdtZW50cyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBvcGVyYXRvclxuICAgICAgICAgICAgICAgIGRlcGFydFxuICAgICAgICAgICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgICAgICAgICAgYXJyaXZlXG4gICAgICAgICAgICAgICAgYXJyaXZlRGF0ZVRpbWVcbiAgICAgICAgICAgICAgICByZXNlcnZhYmxlU3RhdHVzXG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VUeXBlcyB7XG4gICAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgICBhbGxvd2VkVmFsdWVzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlR3JvdXBcbiAgICAgICAgICAgICAgICBzZWF0cyB7XG4gICAgICAgICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgICAgICAgY29hY2hcbiAgICAgICAgICAgICAgICAgIG51bWJlclxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgZGVja1xuICAgICAgICAgICAgICAgICAgc2VhdFR5cGVcbiAgICAgICAgICAgICAgICAgIHNlYXRTZWxlY3Rpb25cbiAgICAgICAgICAgICAgICAgIGZhY2lsaXRpZXNcbiAgICAgICAgICAgICAgICAgIG5vdGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgbnVtQ2hpbGRyZW5cbiAgICAgICAgICAgICAgbnVtQWR1bHRzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVuc2VsbGFibGVcbiAgICAgICAgdGlja2V0RXh0cmFzIHtcbiAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICBsb2NhdGlvblxuICAgICAgICAgICAgZGF0ZVxuICAgICAgICAgICAgam91cm5leUlkXG4gICAgICAgICAgICBpc09yaWdpblxuICAgICAgICAgIH1cbiAgICAgICAgICB0eXBlXG4gICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICBkYXRlXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICBhbW91bnRcbiAgICAgICAgICBhZHVsdEFtb3VudFxuICAgICAgICAgIGNoaWxkQW1vdW50XG4gICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgfVxuICAgICAgICBwbHVzQnVzIHtcbiAgICAgICAgICBvcmlnaW5QbHVzQnVzTkxDXG4gICAgICAgICAgb3JpZ2luU3RhdGlvbk5MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uUGx1c0J1c05MQ1xuICAgICAgICAgIGRlc3RpbmF0aW9uU3RhdGlvbk5MQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgc2lnbmF0dXJlXG4gICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgIGZhcmVJZGVudGlmaWVyXG4gICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICBib29raW5nUmVmXG4gICAgICAgIH1cbiAgICAgICAgdHJhdmVsbGVycyB7XG4gICAgICAgICAgc3RhdHVzXG4gICAgICAgICAgaWRcbiAgICAgICAgICBkb2JcbiAgICAgICAgICByYWlsY2FyZFxuICAgICAgICAgIGdpdmVuTmFtZVxuICAgICAgICAgIHN1cm5hbWVcbiAgICAgICAgICBuYW1lVGl0bGVcbiAgICAgICAgICBjb250YWN0SW5mb1xuICAgICAgICAgIGRlbGl2ZXJ5RW1haWxBZGRyZXNzXG4gICAgICAgICAgZmFyZVxuICAgICAgICB9XG4gICAgICAgIGZyb21cbiAgICAgICAgZnJvbUNvZGVcbiAgICAgICAgdG9cbiAgICAgICAgdG9Db2RlXG4gICAgICAgIGRlcGFydERhdGVUaW1lXG4gICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgIGNoYW5nZXNcbiAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgIGlkXG4gICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgIGFycml2ZVxuICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgIH1cbiAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHByb3ZpZGVycyB7XG4gICAgICAgICAgcHJvdmlkZXJJZFxuICAgICAgICAgIG5hbWVcbiAgICAgICAgICBjaGVhcGVzdFRpY2tldCB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGlja2V0T3B0aW9ucyB7XG4gICAgICAgICAgICBpZGVudGlmaWVycyB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uSWRlbnRpZmllclxuICAgICAgICAgICAgICBzaWduYXR1cmVcbiAgICAgICAgICAgICAgam91cm5leUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAgICAgZmFyZUlkZW50aWZpZXJcbiAgICAgICAgICAgICAgZGlyZWN0aW9uXG4gICAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICAgIGJvb2tpbmdSZWZcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIGNsYXNzXG4gICAgICAgICAgICBzaW5nbGVPclJldHVyblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgICAgICByb3V0ZVxuICAgICAgICAgICAgcm91dGVDb2RlXG4gICAgICAgICAgICBmYXJlUnVsZXNcbiAgICAgICAgICAgIHRpY2tldHMge1xuICAgICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgICB0eXBlXG4gICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgIHNlZ21lbnRzIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yXG4gICAgICAgICAgICAgICAgZGVwYXJ0XG4gICAgICAgICAgICAgICAgZGVwYXJ0RGF0ZVRpbWVcbiAgICAgICAgICAgICAgICBhcnJpdmVcbiAgICAgICAgICAgICAgICBhcnJpdmVEYXRlVGltZVxuICAgICAgICAgICAgICAgIHJlc2VydmFibGVTdGF0dXNcbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZVR5cGVzIHtcbiAgICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRWYWx1ZXNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VhdFByZWZlcmVuY2VHcm91cFxuICAgICAgICAgICAgICAgIHNlYXRzIHtcbiAgICAgICAgICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgICAgICAgICBjb2FjaFxuICAgICAgICAgICAgICAgICAgbnVtYmVyXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBkZWNrXG4gICAgICAgICAgICAgICAgICBzZWF0VHlwZVxuICAgICAgICAgICAgICAgICAgc2VhdFNlbGVjdGlvblxuICAgICAgICAgICAgICAgICAgZmFjaWxpdGllc1xuICAgICAgICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBudW1DaGlsZHJlblxuICAgICAgICAgICAgICBudW1BZHVsdHNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgYm9va2VkVGlja2V0IHtcbiAgICAgICAgICAgIGlkZW50aWZpZXJzIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb25JZGVudGlmaWVyXG4gICAgICAgICAgICAgIHNpZ25hdHVyZVxuICAgICAgICAgICAgICBqb3VybmV5SWRlbnRpZmllclxuICAgICAgICAgICAgICBwcm92aWRlclxuICAgICAgICAgICAgICBmYXJlSWRlbnRpZmllclxuICAgICAgICAgICAgICBkaXJlY3Rpb25cbiAgICAgICAgICAgICAgc2luZ2xlT3JSZXR1cm5cbiAgICAgICAgICAgICAgYm9va2luZ1JlZlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgY2xhc3NcbiAgICAgICAgICAgIHNpbmdsZU9yUmV0dXJuXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgY3VycmVuY3lcbiAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICByb3V0ZUNvZGVcbiAgICAgICAgICAgIGZhcmVSdWxlc1xuICAgICAgICAgICAgdGlja2V0cyB7XG4gICAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgcm91dGVcbiAgICAgICAgICAgICAgc2VnbWVudHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICAgICAgICBkZXBhcnRcbiAgICAgICAgICAgICAgICBkZXBhcnREYXRlVGltZVxuICAgICAgICAgICAgICAgIGFycml2ZVxuICAgICAgICAgICAgICAgIGFycml2ZURhdGVUaW1lXG4gICAgICAgICAgICAgICAgcmVzZXJ2YWJsZVN0YXR1c1xuICAgICAgICAgICAgICAgIHNlYXRQcmVmZXJlbmNlVHlwZXMge1xuICAgICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgICAgYWxsb3dlZFZhbHVlc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzZWF0UHJlZmVyZW5jZUdyb3VwXG4gICAgICAgICAgICAgICAgc2VhdHMge1xuICAgICAgICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgICAgICAgIGNvYWNoXG4gICAgICAgICAgICAgICAgICBudW1iZXJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgICAgICAgIGRlY2tcbiAgICAgICAgICAgICAgICAgIHNlYXRUeXBlXG4gICAgICAgICAgICAgICAgICBzZWF0U2VsZWN0aW9uXG4gICAgICAgICAgICAgICAgICBmYWNpbGl0aWVzXG4gICAgICAgICAgICAgICAgICBub3RlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG51bUNoaWxkcmVuXG4gICAgICAgICAgICAgIG51bUFkdWx0c1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bnNlbGxhYmxlXG4gICAgICAgIHRpY2tldEV4dHJhcyB7XG4gICAgICAgICAgaWRlbnRpZmllcnMge1xuICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgbG9jYXRpb25cbiAgICAgICAgICAgIGRhdGVcbiAgICAgICAgICAgIGpvdXJuZXlJZFxuICAgICAgICAgICAgaXNPcmlnaW5cbiAgICAgICAgICB9XG4gICAgICAgICAgdHlwZVxuICAgICAgICAgIGxvY2F0aW9uXG4gICAgICAgICAgZGF0ZVxuICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgYW1vdW50XG4gICAgICAgICAgYWR1bHRBbW91bnRcbiAgICAgICAgICBjaGlsZEFtb3VudFxuICAgICAgICAgIGN1cnJlbmN5XG4gICAgICAgIH1cbiAgICAgICAgcGx1c0J1cyB7XG4gICAgICAgICAgb3JpZ2luUGx1c0J1c05MQ1xuICAgICAgICAgIG9yaWdpblN0YXRpb25OTENcbiAgICAgICAgICBkZXN0aW5hdGlvblBsdXNCdXNOTENcbiAgICAgICAgICBkZXN0aW5hdGlvblN0YXRpb25OTENcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAganJmcmVmZXJlbmNlXG4gICAgfVxuICAgIGVycm9ycyB7XG4gICAgICAuLi5FcnJvcnNcbiAgICB9XG4gIH1cbn1cbiAgICAke0Vycm9yc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoSXJsR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFF1ZXJ5LCBTZWFyY2hJcmxRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoSXJsRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKCRxdWVyeTogU3RyaW5nISwgJHN1cHBsaWVyOiBJUkxTdXBwbGllcikge1xuICBzZWFyY2hJUkxTdXBwbGllclN0YXRpb25zKHF1ZXJ5OiAkcXVlcnksIHN1cHBsaWVyOiAkc3VwcGxpZXIpIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBzdXBwbGllclxuICAgIHN0YXRpb25Db2RlXG4gICAgbmxjQ29kZVxuICAgIHRyYWlubGluZUNvZGVcbiAgICB0cmFpbmxpbmVVbmlxdWVDb2RlXG4gICAgbG9jYXRpb25EZXRhaWxzIHtcbiAgICAgIGNvbnRpbmVudFxuICAgICAgY291bnRyeVxuICAgICAgY291bnRyeUNvZGVcbiAgICAgIHN0YXRlXG4gICAgICBjaXR5XG4gICAgICBjb29yZGluYXRlcyB7XG4gICAgICAgIGxhdGl0dWRlXG4gICAgICAgIGxvbmdpdHVkZVxuICAgICAgICBhbHRpdHVkZVxuICAgICAgfVxuICAgICAgcG9zdGNvZGVcbiAgICAgIHJvYWRcbiAgICAgIGdyaWRSZWZlcmVuY2VcbiAgICAgIG5vcnRoaW5nXG4gICAgICBlYXN0aW5nXG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaElybFN1cHBsaWVyU3RhdGlvbnNRdWVyeSwgU2VhcmNoSXJsU3VwcGxpZXJTdGF0aW9uc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZWFyY2hJcmxTdXBwbGllclN0YXRpb25zRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFBvc3Rjb2RlcygkcG9zdGNvZGU6IFN0cmluZyEpIHtcbiAgZ2V0UG9zdGNvZGVEZXRhaWxzKHBvc3Rjb2RlOiAkcG9zdGNvZGUpIHtcbiAgICBwb3N0Y29kZVxuICAgIGxhdGl0dWRlXG4gICAgbG9uZ2l0dWRlXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFBvc3Rjb2Rlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hQb3N0Y29kZXNRdWVyeSwgU2VhcmNoUG9zdGNvZGVzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFBvc3Rjb2Rlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hSYWlsU3RhdGlvbnNEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hSYWlsU3RhdGlvbnMoJHF1ZXJ5OiBTdHJpbmchLCAkY291bnRyeUNvZGU6IFN0cmluZywgJGhhc1RvZDogQm9vbGVhbikge1xuICBzZWFyY2hSYWlsU3RhdGlvbnMocXVlcnk6ICRxdWVyeSwgY291bnRyeUNvZGU6ICRjb3VudHJ5Q29kZSwgaGFzVG9kOiAkaGFzVG9kKSB7XG4gICAgaWRcbiAgICBuYW1lXG4gICAgc3RhdGlvbkNvZGVcbiAgICBubGNDb2RlXG4gICAgdHJhaW5saW5lQ29kZVxuICAgIHRyYWlubGluZVVuaXF1ZUNvZGVcbiAgICBsb2NhdGlvbkRldGFpbHMge1xuICAgICAgY29udGluZW50XG4gICAgICBjb3VudHJ5XG4gICAgICBjb3VudHJ5Q29kZVxuICAgICAgc3RhdGVcbiAgICAgIGNpdHlcbiAgICAgIGNvb3JkaW5hdGVzIHtcbiAgICAgICAgbGF0aXR1ZGVcbiAgICAgICAgbG9uZ2l0dWRlXG4gICAgICAgIGFsdGl0dWRlXG4gICAgICB9XG4gICAgICBwb3N0Y29kZVxuICAgICAgcm9hZFxuICAgICAgZ3JpZFJlZmVyZW5jZVxuICAgICAgbm9ydGhpbmdcbiAgICAgIGVhc3RpbmdcbiAgICB9XG4gICAgaGFzVG9kXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFJhaWxTdGF0aW9uc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxTZWFyY2hSYWlsU3RhdGlvbnNRdWVyeSwgU2VhcmNoUmFpbFN0YXRpb25zUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFJhaWxTdGF0aW9uc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZWFyY2hVc2VyQWRkcmVzc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IHNlYXJjaFVzZXJBZGRyZXNzIHtcbiAgZ2V0VXNlckFkZHJlc3NlcyB7XG4gICAgaWRcbiAgICBkZXNjcmlwdGlvblxuICAgIG51bWJlck9yTmFtZVxuICAgIHN0cmVldFxuICAgIHRvd25cbiAgICBjb3VudHlcbiAgICBwb3N0Y29kZVxuICAgIGNvdW50cnlDb2RlXG4gICAgdXNlclByaW1hcnlcbiAgICBvZmZpY2VQcmltYXJ5XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlYXJjaFVzZXJBZGRyZXNzR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlYXJjaFVzZXJBZGRyZXNzUXVlcnksIFNlYXJjaFVzZXJBZGRyZXNzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlYXJjaFVzZXJBZGRyZXNzRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgc2VuZE9mZmxpbmVOb3RpZmljYXRpb24oJHRyYWluTnVtYmVyOiBTdHJpbmchLCAkZGVwYXJ0dXJlU3RhdGlvbjogU3RyaW5nISwgJGRlc3RpbmF0aW9uU3RhdGlvbjogU3RyaW5nISwgJG91dGJvdW5kRGF0ZTogU3RyaW5nISwgJGluYm91bmREYXRlOiBTdHJpbmchLCAkYWRkaXRpb25hbEluZm86IFN0cmluZyEsICRvZmZsaW5lUmVmZXJlbmNlOiBTdHJpbmchLCAkbm90aWZ5RW1haWw6IFN0cmluZyEsICRvbkJlaGFsZk9mOiBTdHJpbmchLCAkc2VydmljZUNsYXNzOiBTdHJpbmchLCAkcGFzc2VuZ2VyczogW0lSTE9mZmxpbmVQYXNzZW5nZXIhXSEpIHtcbiAgc2VuZE9mZmxpbmVOb3RpZmljYXRpb24odHJhaW5OdW1iZXI6ICR0cmFpbk51bWJlciwgZGVwYXJ0dXJlU3RhdGlvbjogJGRlcGFydHVyZVN0YXRpb24sIGRlc3RpbmF0aW9uU3RhdGlvbjogJGRlc3RpbmF0aW9uU3RhdGlvbiwgb3V0Ym91bmREYXRlOiAkb3V0Ym91bmREYXRlLCBpbmJvdW5kRGF0ZTogJGluYm91bmREYXRlLCBhZGRpdGlvbmFsSW5mbzogJGFkZGl0aW9uYWxJbmZvLCBvZmZsaW5lUmVmZXJlbmNlOiAkb2ZmbGluZVJlZmVyZW5jZSwgbm90aWZ5RW1haWw6ICRub3RpZnlFbWFpbCwgb25CZWhhbGZPZjogJG9uQmVoYWxmT2YsIHNlcnZpY2VDbGFzczogJHNlcnZpY2VDbGFzcywgcGFzc2VuZ2VyczogJHBhc3NlbmdlcnMpIHtcbiAgICBzdWNjZXNzXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uR1FMIGV4dGVuZHMgQXBvbGxvLlF1ZXJ5PFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnksIFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNlbmRPZmZsaW5lTm90aWZpY2F0aW9uRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1NaUdyb3VwRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbU1JR3JvdXAoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRncm91cDogU3RyaW5nLCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1NSUdyb3VwKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGJhc2tldEl0ZW06ICRiYXNrZXRJdGVtLCBncm91cDogJGdyb3VwKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbU1pR3JvdXBHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvbiwgU2V0QmFza2V0SXRlbU1pR3JvdXBNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbU1pR3JvdXBEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2V0QmFza2V0SXRlbUxlYWRQYXNzZW5nZXJEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlcigkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCEsICR1c2VyT3JHdWVzdDogSUQhLCAkbGVhZFBhc3NlbmdlclR5cGU6IExlYWRQYXNzZW5nZXJUeXBlISwgJHdpdGhTdXBwbGVtZW50YWw6IEJvb2xlYW4hKSB7XG4gIHNldEJhc2tldEl0ZW1MZWFkUGFzc2VuZ2VyKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIGlkOiAkaWQsIHVzZXJPckd1ZXN0OiAkdXNlck9yR3Vlc3QsIGxlYWRQYXNzZW5nZXJUeXBlOiAkbGVhZFBhc3NlbmdlclR5cGUpIHtcbiAgICAuLi5CYXNrZXRGaWVsZHNcbiAgfVxufVxuICAgICR7QmFza2V0RmllbGRzRnJhZ21lbnREb2N9YDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckdRTCBleHRlbmRzIEFwb2xsby5NdXRhdGlvbjxTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uLCBTZXRCYXNrZXRJdGVtTGVhZFBhc3Nlbmdlck11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRCYXNrZXRJdGVtTGVhZFBhc3NlbmdlckRvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRCYXNrZXRJdGVtTWlWYWx1ZURvY3VtZW50ID0gZ3FsYFxuICAgIG11dGF0aW9uIHNldEJhc2tldEl0ZW1NSVZhbHVlKCRjb252ZXJ0Q3VycmVuY3lUbzogU3RyaW5nLCAkbWk6IElEISwgJG1pVmFsdWU6IElELCAkbWlGcmVlVmFsdWU6IFN0cmluZywgJHVzZXI6IElELCAkZ3Vlc3Q6IElELCAkd2l0aFN1cHBsZW1lbnRhbDogQm9vbGVhbiA9IGZhbHNlKSB7XG4gIHNldEJhc2tldEl0ZW1NSVZhbHVlKGNvbnZlcnRDdXJyZW5jeVRvOiAkY29udmVydEN1cnJlbmN5VG8sIG1pOiAkbWksIG1pVmFsdWU6ICRtaVZhbHVlLCBtaUZyZWVWYWx1ZTogJG1pRnJlZVZhbHVlLCB1c2VyOiAkdXNlciwgZ3Vlc3Q6ICRndWVzdCkge1xuICAgIC4uLkJhc2tldEZpZWxkc1xuICB9XG59XG4gICAgJHtCYXNrZXRGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIFNldEJhc2tldEl0ZW1NaVZhbHVlR1FMIGV4dGVuZHMgQXBvbGxvLk11dGF0aW9uPFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb24sIFNldEJhc2tldEl0ZW1NaVZhbHVlTXV0YXRpb25WYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IFNldEJhc2tldEl0ZW1NaVZhbHVlRG9jdW1lbnQ7XG4gICAgXG4gICAgY29uc3RydWN0b3IoYXBvbGxvOiBBcG9sbG8uQXBvbGxvKSB7XG4gICAgICBzdXBlcihhcG9sbG8pO1xuICAgIH1cbiAgfVxuZXhwb3J0IGNvbnN0IFNldEJhc2tldEl0ZW1QYXltZW50TWV0aG9kRG9jdW1lbnQgPSBncWxgXG4gICAgbXV0YXRpb24gc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoJGNvbnZlcnRDdXJyZW5jeVRvOiBTdHJpbmcsICRiYXNrZXRJdGVtOiBJRCEsICRwYXltZW50TWV0aG9kOiBJRCEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgc2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2QoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgYmFza2V0SXRlbTogJGJhc2tldEl0ZW0sIHBheW1lbnRNZXRob2Q6ICRwYXltZW50TWV0aG9kKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvbiwgU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2V0QmFza2V0SXRlbVBheW1lbnRNZXRob2REb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXROb3RlcygkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbm90ZXM6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0Tm90ZXMoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBub3RlczogJG5vdGVzKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0Tm90ZXNHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvbiwgVXBkYXRlQmFza2V0Tm90ZXNNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0Tm90ZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiB1cGRhdGVCYXNrZXRUaXRsZSgkY29udmVydEN1cnJlbmN5VG86IFN0cmluZywgJGlkOiBJRCwgJHJlZmVyZW5jZTogU3RyaW5nLCAkbmV3VGl0bGU6IFN0cmluZyEsICR3aXRoU3VwcGxlbWVudGFsOiBCb29sZWFuID0gZmFsc2UpIHtcbiAgdXBkYXRlQmFza2V0VGl0bGUoY29udmVydEN1cnJlbmN5VG86ICRjb252ZXJ0Q3VycmVuY3lUbywgaWQ6ICRpZCwgcmVmZXJlbmNlOiAkcmVmZXJlbmNlLCBuZXdUaXRsZTogJG5ld1RpdGxlKSB7XG4gICAgLi4uQmFza2V0RmllbGRzXG4gIH1cbn1cbiAgICAke0Jhc2tldEZpZWxkc0ZyYWdtZW50RG9jfWA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgVXBkYXRlQmFza2V0VGl0bGVHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248VXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvbiwgVXBkYXRlQmFza2V0VGl0bGVNdXRhdGlvblZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gVXBkYXRlQmFza2V0VGl0bGVEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclNlcnZpY2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclNlcnZpY2VzIHtcbiAgZ2V0VXNlclNlcnZpY2VzIHtcbiAgICBpZFxuICAgIGNhbmNlbGxhYmxlXG4gICAgYW1lbmRhYmxlXG4gICAgdHlwZVxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGRldGFpbFNjaGVtYVxuICAgIHNlYXJjaFF1ZXJ5U2NoZW1hXG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJTZXJ2aWNlc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyU2VydmljZXNRdWVyeSwgR2V0VXNlclNlcnZpY2VzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJTZXJ2aWNlc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBHZXRVc2VyVWlDb25maWdzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlclVJQ29uZmlncyB7XG4gIGdldFVzZXJVSUNvbmZpZ3Mge1xuICAgIGFsbCB7XG4gICAgICBpZFxuICAgICAgY29uZmlnXG4gICAgICBrZXlcbiAgICB9XG4gIH1cbn1cbiAgICBgO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJVaUNvbmZpZ3NHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclVpQ29uZmlnc1F1ZXJ5LCBHZXRVc2VyVWlDb25maWdzUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJVaUNvbmZpZ3NEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlck1lc3NhZ2VzRG9jdW1lbnQgPSBncWxgXG4gICAgcXVlcnkgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgZ2V0VXNlck1lc3NhZ2VzIHtcbiAgICBpZFxuICAgIG5hbWVcbiAgICBkZXNjcmlwdGlvblxuICAgIGNvbmZpZ1xuICAgIHRhcmdldFxuICAgIGtleVxuICAgIGRpc3BsYXlUYXJnZXRcbiAgICBhZ2VudE9ubHlcbiAgICBjbGlja1RvQ29uZmlybVxuICAgIHZhbGlkRnJvbVxuICAgIHZhbGlkVG9cbiAgICBjb2xsYXBzZVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBHZXRVc2VyTWVzc2FnZXNHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlck1lc3NhZ2VzUXVlcnksIEdldFVzZXJNZXNzYWdlc1F1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBHZXRVc2VyTWVzc2FnZXNEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlclBob25lTnVtYmVyc0RvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXJQaG9uZU51bWJlcnMge1xuICBnZXRVc2VyUGhvbmVOdW1iZXJzIHtcbiAgICBpZFxuICAgIGRlc2NyaXB0aW9uXG4gICAgY291bnRyeUNvZGVcbiAgICBhcmVhQ29kZVxuICAgIG51bWJlclxuICAgIGV4dGVuc2lvblxuICAgIHR5cGVcbiAgICBvZmZpY2VQcmltYXJ5XG4gICAgdXNlclByaW1hcnlcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgR2V0VXNlclBob25lTnVtYmVyc0dRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxHZXRVc2VyUGhvbmVOdW1iZXJzUXVlcnksIEdldFVzZXJQaG9uZU51bWJlcnNRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gR2V0VXNlclBob25lTnVtYmVyc0RvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH1cbmV4cG9ydCBjb25zdCBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudCA9IGdxbGBcbiAgICBtdXRhdGlvbiBzZXRVc2VyTGFuZ3VhZ2UoJGxhbmd1YWdlOiBJRCkge1xuICBzZXRVc2VyTGFuZ3VhZ2UobGFuZ3VhZ2U6ICRsYW5ndWFnZSkge1xuICAgIGlkXG4gICAgdGl0bGVcbiAgICBmb3JlbmFtZVxuICAgIHN1cm5hbWVcbiAgICBlbWFpbFxuICAgIGRvYlxuICAgIHNlbGVjdGVkTGFuZ3VhZ2Uge1xuICAgICAgaWRcbiAgICAgIG5hbWVcbiAgICB9XG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzIHtcbiAgICAgIGlkXG4gICAgICBuYW1lXG4gICAgICBpc29Db2RlXG4gICAgfVxuICAgIHBob25lTnVtYmVycyB7XG4gICAgICBpZFxuICAgICAgZGVzY3JpcHRpb25cbiAgICAgIGNvdW50cnlDb2RlXG4gICAgICBhcmVhQ29kZVxuICAgICAgbnVtYmVyXG4gICAgICBleHRlbnNpb25cbiAgICAgIHR5cGVcbiAgICAgIG9mZmljZVByaW1hcnlcbiAgICAgIHVzZXJQcmltYXJ5XG4gICAgfVxuICB9XG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBTZXRVc2VyTGFuZ3VhZ2VHUUwgZXh0ZW5kcyBBcG9sbG8uTXV0YXRpb248U2V0VXNlckxhbmd1YWdlTXV0YXRpb24sIFNldFVzZXJMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBTZXRVc2VyTGFuZ3VhZ2VEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgR2V0VXNlckRvY3VtZW50ID0gZ3FsYFxuICAgIHF1ZXJ5IGdldFVzZXIoJGlkOiBJRCkge1xuICBnZXRVc2VyKGlkOiAkaWQpIHtcbiAgICAuLi5Vc2VyRmllbGRzXG4gIH1cbn1cbiAgICAke1VzZXJGaWVsZHNGcmFnbWVudERvY31gO1xuXG4gIEBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbiAgZXhwb3J0IGNsYXNzIEdldFVzZXJHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8R2V0VXNlclF1ZXJ5LCBHZXRVc2VyUXVlcnlWYXJpYWJsZXM+IHtcbiAgICBkb2N1bWVudCA9IEdldFVzZXJEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSBzZWFyY2hVc2VyQ2FuQm9va0ZvcigkZW1haWw6IFN0cmluZywgJHVzZXJOYW1lOiBTdHJpbmcsICRlbXBsb3llZUlkOiBTdHJpbmcpIHtcbiAgc2VhcmNoVXNlckNhbkJvb2tGb3IoZW1haWw6ICRlbWFpbCwgdXNlck5hbWU6ICR1c2VyTmFtZSwgZW1wbG95ZWVJZDogJGVtcGxveWVlSWQpIHtcbiAgICBpZFxuICAgIHRpdGxlXG4gICAgZm9yZW5hbWVcbiAgICBzdXJuYW1lXG4gICAgZW1haWxcbiAgfVxufVxuICAgIGA7XG5cbiAgQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuICBleHBvcnQgY2xhc3MgU2VhcmNoVXNlckNhbkJvb2tGb3JHUUwgZXh0ZW5kcyBBcG9sbG8uUXVlcnk8U2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeSwgU2VhcmNoVXNlckNhbkJvb2tGb3JRdWVyeVZhcmlhYmxlcz4ge1xuICAgIGRvY3VtZW50ID0gU2VhcmNoVXNlckNhbkJvb2tGb3JEb2N1bWVudDtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihhcG9sbG86IEFwb2xsby5BcG9sbG8pIHtcbiAgICAgIHN1cGVyKGFwb2xsbyk7XG4gICAgfVxuICB9XG5leHBvcnQgY29uc3QgVmFsaWRhdGVVc2VyTWlGcmVlVmFsdWVEb2N1bWVudCA9IGdxbGBcbiAgICBxdWVyeSB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZSgkbWk6IElEISwgJGZyZWVWYWx1ZTogU3RyaW5nISkge1xuICB2YWxpZGF0ZVVzZXJNSUZyZWVWYWx1ZShtaTogJG1pLCBmcmVlVmFsdWU6ICRmcmVlVmFsdWUpXG59XG4gICAgYDtcblxuICBASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG4gIGV4cG9ydCBjbGFzcyBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZUdRTCBleHRlbmRzIEFwb2xsby5RdWVyeTxWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5LCBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZVF1ZXJ5VmFyaWFibGVzPiB7XG4gICAgZG9jdW1lbnQgPSBWYWxpZGF0ZVVzZXJNaUZyZWVWYWx1ZURvY3VtZW50O1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKGFwb2xsbzogQXBvbGxvLkFwb2xsbykge1xuICAgICAgc3VwZXIoYXBvbGxvKTtcbiAgICB9XG4gIH0iXX0=
|