forked from experianplc/Experian-Address-Validation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
experian-address-validation.js
2 lines (2 loc) · 517 KB
/
experian-address-validation.js
1
2
!function(){"use strict";var e,o,t=function(){function e(){this.collection={}}return e.prototype.on=function(e,o){this.collection[e]=this.collection[e]||[],this.collection[e].push(o)},e.prototype.trigger=function(e,o){if(this.collection[e])for(var t=0;t<this.collection[e].length;t++){for(var s=[o],i=2;i<arguments.length;i++)s.push(arguments[i]);try{this.collection[e][t].apply(this.collection,s)}catch(e){}}},e}(),s=t,i=function(){function e(e){this.instance=e}return e.prototype.send=function(e,o,t,s,i){var a=this;void 0===i&&(i=[]),this.currentRequest=new XMLHttpRequest,this.currentRequest.open(o,e,!0),this.currentRequest.timeout=5e3,this.currentRequest.setRequestHeader("auth-token",this.instance.options.token),this.currentRequest.setRequestHeader("Content-Type","application/json"),this.currentRequest.setRequestHeader("Accept","application/json"),i.forEach((function(e){return a.currentRequest.setRequestHeader(e.key,e.value)})),this.currentRequest.onload=function(e){if(a.currentRequest.status>=200&&a.currentRequest.status<400){var o=JSON.parse(a.currentRequest.responseText);t(o)}else a.instance.searchSpinner.hide(),a.instance.events.trigger("request-error",e),a.instance.events.trigger("request-error-".concat(a.currentRequest.status),e)},this.currentRequest.onerror=function(e){a.instance.searchSpinner.hide(),a.instance.events.trigger("request-error",e)},this.currentRequest.ontimeout=function(e){a.instance.searchSpinner.hide(),a.instance.events.trigger("request-timeout",e)},this.currentRequest.send(s)},e}();!function(e){e.AUTOCOMPLETE="autocomplete",e.SINGLELINE="singleline",e.VALIDATE="validate",e.LOOKUPV2="lookupv2"}(e||(e={})),function(e){e[e.SEARCH=1]="SEARCH",e[e.WHAT3WORDS=2]="WHAT3WORDS",e[e.UDPRN=3]="UDPRN",e[e.LOOKUPV2=4]="LOOKUPV2"}(o||(o={}));var a,d={LOCALITY:{key:"locality",display:"Locality"},POSTAL_CODE:{key:"postal_code",display:"Postal code"},UDPRN:{key:"udprn",display:"UDPRN"},WHAT3WORDS:{key:"what3words",display:"what3words"}},r={TRUE:{key:"true",display:"True"},FALSE:{key:"false",display:"False"}};!function(e){e.NO_MATCHES="No matches",e.VERIFIED_MATCH="Verified match",e.INTERACTION_REQUIRED="Interaction required",e.PREMISES_PARTIAL="Premises partial",e.STREET_PARTIAL="Street partial",e.MULTIPLE_MATCHES="Multiple matches"}(a||(a={}));var n={avMode:o.SEARCH,searchType:e.AUTOCOMPLETE,input:{placeholderText:"Start typing an address...",applyFocus:!1},formattedAddressContainer:{showHeading:!1,headingType:"h3",validatedHeadingText:"Validated address",manualHeadingText:"Manual address entered"},searchAgain:{visible:!0,text:"Search again"},useAddressEnteredText:"<em> - Use address entered or try again...</em>",useSpinner:!1,language:"en",addressLineLabels:["address_line_1","address_line_2","address_line_3","locality","region","postal_code","country"]},l=[{country:"Afghanistan",iso3Code:"AFG",iso2Code:"AF",datasetCode:"af-address-ed",searchType:"singleline, validate"},{country:"Afghanistan",iso3Code:"AFG",iso2Code:"AF",datasetCode:"af-address-eh",searchType:"autocomplete, lookupv2"},{country:"Albania",iso3Code:"ALB",iso2Code:"AL",datasetCode:"al-address-ed",searchType:"singleline, validate"},{country:"Albania",iso3Code:"ALB",iso2Code:"AL",datasetCode:"al-address-eh",searchType:"autocomplete, lookupv2"},{country:"Algeria",iso3Code:"DZA",iso2Code:"DZ",datasetCode:"dz-address-ed",searchType:"singleline, validate"},{country:"Algeria",iso3Code:"DZA",iso2Code:"DZ",datasetCode:"dz-address-eh",searchType:"autocomplete, lookupv2"},{country:"American Samoa",iso3Code:"ASM",iso2Code:"AS",datasetCode:"as-address-eh",searchType:"autocomplete, lookupv2"},{country:"Andorra",iso3Code:"AND",iso2Code:"AD",datasetCode:"ad-address-ed",searchType:"singleline, validate"},{country:"Andorra",iso3Code:"AND",iso2Code:"AD",datasetCode:"ad-address-eh",searchType:"autocomplete, lookupv2"},{country:"Angola",iso3Code:"AGO",iso2Code:"AO",datasetCode:"ao-address-ed",searchType:"singleline, validate"},{country:"Angola",iso3Code:"AGO",iso2Code:"AO",datasetCode:"ao-address-eh",searchType:"autocomplete, lookupv2"},{country:"Anguilla",iso3Code:"AIA",iso2Code:"AI",datasetCode:"ai-address-eh",searchType:"autocomplete, lookupv2"},{country:"Antarctica",iso3Code:"ATA",iso2Code:"AQ",datasetCode:"aq-address-ed",searchType:"singleline, validate"},{country:"Antigua and Barbuda",iso3Code:"ATG",iso2Code:"AG",datasetCode:"ag-address-ed",searchType:"singleline, validate"},{country:"Antigua and Barbuda",iso3Code:"ATG",iso2Code:"AG",datasetCode:"ag-address-eh",searchType:"autocomplete, lookupv2"},{country:"Argentina",iso3Code:"ARG",iso2Code:"AR",datasetCode:"ar-address-ed",searchType:"singleline, validate"},{country:"Argentina",iso3Code:"ARG",iso2Code:"AR",datasetCode:"ar-address-eh",searchType:"autocomplete, lookupv2"},{country:"Armenia",iso3Code:"ARM",iso2Code:"AM",datasetCode:"am-address-ed",searchType:"singleline, validate"},{country:"Armenia",iso3Code:"ARM",iso2Code:"AM",datasetCode:"am-address-eh",searchType:"autocomplete, lookupv2"},{country:"Aruba",iso3Code:"ABW",iso2Code:"AW",datasetCode:"aw-address-ed",searchType:"singleline, validate"},{country:"Aruba",iso3Code:"ABW",iso2Code:"AW",datasetCode:"aw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Australia DataFusion",iso3Code:"AUS",iso2Code:"AU",datasetCode:"au-address-datafusion",searchType:"autocomplete, singleline, typedown, lookupv2"},{country:"Australia Geocoded National Address",iso3Code:"AUS",iso2Code:"AU",datasetCode:"au-address-gnaf",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Australia Postal Address",iso3Code:"AUS",iso2Code:"AU",datasetCode:"au-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Austria",iso3Code:"AUT",iso2Code:"AT",datasetCode:"at-address-eh",searchType:"autocomplete, lookupv2"},{country:"Austria",iso3Code:"AUT",iso2Code:"AT",datasetCode:"az-address-ed",searchType:"singleline, validate"},{country:"Azerbaijan",iso3Code:"AZE",iso2Code:"AZ",datasetCode:"az-address-ed",searchType:"singleline, validate"},{country:"Azerbaijan",iso3Code:"AZE",iso2Code:"AZ",datasetCode:"az-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bahamas",iso3Code:"BHS",iso2Code:"BS",datasetCode:"bs-address-ed",searchType:"singleline, validate"},{country:"Bahamas",iso3Code:"BHS",iso2Code:"BS",datasetCode:"bs-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bahrain",iso3Code:"BHR",iso2Code:"BH",datasetCode:"bh-address-ed",searchType:"singleline, validate"},{country:"Bahrain",iso3Code:"BHR",iso2Code:"BH",datasetCode:"bh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bangladesh",iso3Code:"BGD",iso2Code:"BD",datasetCode:"bd-address-ed",searchType:"singleline, validate"},{country:"Bangladesh",iso3Code:"BGD",iso2Code:"BD",datasetCode:"bd-address-eh",searchType:"autocomplete, lookupv2"},{country:"Barbados",iso3Code:"BRB",iso2Code:"BB",datasetCode:"bb-address-ed",searchType:"singleline, validate"},{country:"Barbados",iso3Code:"BRB",iso2Code:"BB",datasetCode:"bb-address-eh",searchType:"autocomplete, lookupv2"},{country:"Belarus",iso3Code:"BLR",iso2Code:"BY",datasetCode:"by-address-ed",searchType:"singleline, validate"},{country:"Belarus",iso3Code:"BLR",iso2Code:"BY",datasetCode:"by-address-eh",searchType:"autocomplete, lookupv2"},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCode:"be-address",searchType:"singleline, typedown"},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCode:"be-address-ed",searchType:" validate"},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCode:"be-address-eh",searchType:"autocomplete, lookupv2"},{country:"Belize",iso3Code:"BLZ",iso2Code:"BZ",datasetCode:"bz-address-ed",searchType:"singleline, validate"},{country:"Belize",iso3Code:"BLZ",iso2Code:"BZ",datasetCode:"bz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Benin",iso3Code:"BEN",iso2Code:"BJ",datasetCode:"bj-address-ed",searchType:"singleline, validate"},{country:"Benin",iso3Code:"BEN",iso2Code:"BJ",datasetCode:"bj-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bermuda",iso3Code:"BMU",iso2Code:"BM",datasetCode:"bm-address-ed",searchType:"singleline, validate"},{country:"Bermuda",iso3Code:"BMU",iso2Code:"BM",datasetCode:"bm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bhutan",iso3Code:"BTN",iso2Code:"BT",datasetCode:"bt-address-ed",searchType:"singleline, validate"},{country:"Bhutan",iso3Code:"BTN",iso2Code:"BT",datasetCode:"bt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bolivia",iso3Code:"BOL",iso2Code:"BO",datasetCode:"bo-address-ed",searchType:"singleline, validate"},{country:"Bolivia",iso3Code:"BOL",iso2Code:"BO",datasetCode:"bo-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bonaire, Sint Eustatius and Saba",iso3Code:"BES",iso2Code:"BQ",datasetCode:"bq-address-ed",searchType:"singleline, validate"},{country:"Bonaire, Sint Eustatius and Saba",iso3Code:"BES",iso2Code:"BQ",datasetCode:"bq-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bosnia and Herzegovina",iso3Code:"BIH",iso2Code:"BA",datasetCode:"ba-address-ed",searchType:"singleline, validate"},{country:"Bosnia and Herzegovina",iso3Code:"BIH",iso2Code:"BA",datasetCode:"ba-address-eh",searchType:"autocomplete, lookupv2"},{country:"Botswana",iso3Code:"BWA",iso2Code:"BW",datasetCode:"bw-address-ed",searchType:"singleline, validate"},{country:"Botswana",iso3Code:"BWA",iso2Code:"BW",datasetCode:"bw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Brazil",iso3Code:"BRA",iso2Code:"BR",datasetCode:"br-address-ed",searchType:"singleline, validate"},{country:"Brazil",iso3Code:"BRA",iso2Code:"BR",datasetCode:"br-address-eh",searchType:"autocomplete, lookupv2"},{country:"Brunei Darussalam",iso3Code:"BRN",iso2Code:"BN",datasetCode:"bn-address-ed",searchType:"singleline, validate"},{country:"Brunei Darussalam",iso3Code:"BRN",iso2Code:"BN",datasetCode:"bn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Bulgaria",iso3Code:"BGR",iso2Code:"BG",datasetCode:"bg-address-ed",searchType:"singleline, validate"},{country:"Bulgaria",iso3Code:"BGR",iso2Code:"BG",datasetCode:"bg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Burkina Faso",iso3Code:"BFA",iso2Code:"BF",datasetCode:"bf-address-ed",searchType:"singleline, validate"},{country:"Burkina Faso",iso3Code:"BFA",iso2Code:"BF",datasetCode:"bf-address-eh",searchType:"autocomplete, lookupv2"},{country:"Burundi",iso3Code:"BDI",iso2Code:"BI",datasetCode:"bi-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cambodia",iso3Code:"KHM",iso2Code:"KH",datasetCode:"kh-address-ed",searchType:"singleline, validate"},{country:"Cambodia",iso3Code:"KHM",iso2Code:"KH",datasetCode:"kh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cameroon",iso3Code:"CMR",iso2Code:"CM",datasetCode:"cm-address-ed",searchType:"singleline, validate"},{country:"Cameroon",iso3Code:"CMR",iso2Code:"CM",datasetCode:"cm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Canada",iso3Code:"CAN",iso2Code:"CA",datasetCode:"ca-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Cape Verde",iso3Code:"CPV",iso2Code:"CV",datasetCode:"cv-address-ed",searchType:"singleline, validate"},{country:"Cape Verde",iso3Code:"CPV",iso2Code:"CV",datasetCode:"cv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cayman Islands",iso3Code:"CYM",iso2Code:"KY",datasetCode:"ky-address-ed",searchType:"singleline, validate"},{country:"Cayman Islands",iso3Code:"CYM",iso2Code:"KY",datasetCode:"ky-address-eh",searchType:"autocomplete, lookupv2"},{country:"Central African Republic",iso3Code:"CAF",iso2Code:"CF",datasetCode:"cf-address-ed",searchType:"singleline, validate"},{country:"Central African Republic",iso3Code:"CAF",iso2Code:"CF",datasetCode:"cf-address-eh",searchType:"autocomplete, lookupv2"},{country:"Chad",iso3Code:"TCD",iso2Code:"TD",datasetCode:"td-address-ed",searchType:"singleline, validate"},{country:"Chad",iso3Code:"TCD",iso2Code:"TD",datasetCode:"td-address-eh",searchType:"autocomplete, lookupv2"},{country:"Chile",iso3Code:"CHL",iso2Code:"CL",datasetCode:"cl-address-ed",searchType:"singleline, validate"},{country:"Chile",iso3Code:"CHL",iso2Code:"CL",datasetCode:"cl-address-eh",searchType:"autocomplete, lookupv2"},{country:"China",iso3Code:"CHN",iso2Code:"CN",datasetCode:"cn-address-ed",searchType:"singleline, validate"},{country:"China",iso3Code:"CHN",iso2Code:"CN",datasetCode:"cn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Christmas Island",iso3Code:"CXR",iso2Code:"CX",datasetCode:"cx-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cocos Island",iso3Code:"CCK",iso2Code:"CC",datasetCode:"cc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Colombia",iso3Code:"COL",iso2Code:"CO",datasetCode:"co-address-ed",searchType:"singleline, validate"},{country:"Colombia",iso3Code:"COL",iso2Code:"CO",datasetCode:"co-address-eh",searchType:"autocomplete, lookupv2"},{country:"Comoros",iso3Code:"COM",iso2Code:"KM",datasetCode:"km-address-ed",searchType:"singleline, validate"},{country:"Comoros",iso3Code:"COM",iso2Code:"KM",datasetCode:"km-address-eh",searchType:"autocomplete, lookupv2"},{country:"Congo",iso3Code:"COG",iso2Code:"CG",datasetCode:"cg-address-ed",searchType:"singleline, validate"},{country:"Congo",iso3Code:"COG",iso2Code:"CG",datasetCode:"cg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Congo, The Democratic Republic of the",iso3Code:"COD",iso2Code:"CD",datasetCode:"cd-address-ed",searchType:"singleline, validate"},{country:"Congo, The Democratic Republic of the",iso3Code:"COD",iso2Code:"CD",datasetCode:"cd-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cook Islands",iso3Code:"COK",iso2Code:"CK",datasetCode:"ck-address-ed",searchType:"singleline, validate"},{country:"Cook Islands",iso3Code:"COK",iso2Code:"CK",datasetCode:"ck-address-eh",searchType:"autocomplete, lookupv2"},{country:"Costa Rica",iso3Code:"CRI",iso2Code:"CR",datasetCode:"cr-address-ed",searchType:"singleline, validate"},{country:"Costa Rica",iso3Code:"CRI",iso2Code:"CR",datasetCode:"cr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Croatia",iso3Code:"HRV",iso2Code:"HR",datasetCode:"hr-address-ed",searchType:"singleline, validate"},{country:"Croatia",iso3Code:"HRV",iso2Code:"HR",datasetCode:"hr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cuba",iso3Code:"CUB",iso2Code:"CU",datasetCode:"cu-address-ed",searchType:"singleline, validate"},{country:"Cuba",iso3Code:"CUB",iso2Code:"CU",datasetCode:"cu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Curaçao",iso3Code:"CUW",iso2Code:"CW",datasetCode:"cw-address-ed",searchType:"singleline, validate"},{country:"Curaçao",iso3Code:"CUW",iso2Code:"CW",datasetCode:"cw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Cyprus",iso3Code:"CYP",iso2Code:"CY",datasetCode:"cy-address-ed",searchType:"singleline, validate"},{country:"Cyprus",iso3Code:"CYP",iso2Code:"CY",datasetCode:"cy-address-eh",searchType:"autocomplete, lookupv2"},{country:"Czech Republic",iso3Code:"CZE",iso2Code:"CZ",datasetCode:"cz-address-ed",searchType:"singleline, validate"},{country:"Czech Republic",iso3Code:"CZE",iso2Code:"CZ",datasetCode:"cz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Côte d'Ivoire",iso3Code:"CIV",iso2Code:"CI",datasetCode:"ci-address-ed",searchType:"singleline, validate"},{country:"Côte d'Ivoire",iso3Code:"CIV",iso2Code:"CI",datasetCode:"ci-address-eh",searchType:"autocomplete, lookupv2"},{country:"Denmark",iso3Code:"DNK",iso2Code:"DK",datasetCode:"dk-address",searchType:"singleline, typedown, validate"},{country:"Denmark",iso3Code:"DNK",iso2Code:"DK",datasetCode:"dk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Djibouti",iso3Code:"DJI",iso2Code:"DJ",datasetCode:"dj-address-ed",searchType:"singleline, validate"},{country:"Djibouti",iso3Code:"DJI",iso2Code:"DJ",datasetCode:"dj-address-eh",searchType:"autocomplete, lookupv2"},{country:"Dominica",iso3Code:"DMA",iso2Code:"DM",datasetCode:"dm-address-ed",searchType:"singleline, validate"},{country:"Dominica",iso3Code:"DMA",iso2Code:"DM",datasetCode:"dm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Dominican Republic",iso3Code:"DOM",iso2Code:"DO",datasetCode:"do-address-ed",searchType:"singleline, validate"},{country:"Dominican Republic",iso3Code:"DOM",iso2Code:"DO",datasetCode:"do-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ecuador",iso3Code:"ECU",iso2Code:"EC",datasetCode:"ec-address-ed",searchType:"singleline, validate"},{country:"Ecuador",iso3Code:"ECU",iso2Code:"EC",datasetCode:"ec-address-eh",searchType:"autocomplete, lookupv2"},{country:"Egypt",iso3Code:"EGY",iso2Code:"EG",datasetCode:"eg-address-ed",searchType:"singleline, validate"},{country:"Egypt",iso3Code:"EGY",iso2Code:"EG",datasetCode:"eg-address-eh",searchType:"autocomplete, lookupv2"},{country:"El Salvador",iso3Code:"SLV",iso2Code:"SV",datasetCode:"sv-address-ed",searchType:"singleline, validate"},{country:"El Salvador",iso3Code:"SLV",iso2Code:"SV",datasetCode:"sv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Equatorial Guinea",iso3Code:"GNQ",iso2Code:"GQ",datasetCode:"gq-address-ed",searchType:"singleline, validate"},{country:"Equatorial Guinea",iso3Code:"GNQ",iso2Code:"GQ",datasetCode:"gq-address-eh",searchType:"autocomplete, lookupv2"},{country:"Eritrea",iso3Code:"ERI",iso2Code:"ER",datasetCode:"er-address-ed",searchType:"singleline, validate"},{country:"Eritrea",iso3Code:"ERI",iso2Code:"ER",datasetCode:"er-address-eh",searchType:"autocomplete, lookupv2"},{country:"Estonia",iso3Code:"EST",iso2Code:"EE",datasetCode:"ee-address-ed",searchType:"singleline, validate"},{country:"Estonia",iso3Code:"EST",iso2Code:"EE",datasetCode:"ee-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ethiopia",iso3Code:"ETH",iso2Code:"ET",datasetCode:"et-address-ed",searchType:"singleline, validate"},{country:"Ethiopia",iso3Code:"ETH",iso2Code:"ET",datasetCode:"et-address-eh",searchType:"autocomplete, lookupv2"},{country:"Falkland Islands (Malvinas)",iso3Code:"FLK",iso2Code:"FK",datasetCode:"fk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Faroe Islands",iso3Code:"FRO",iso2Code:"FO",datasetCode:"fo-address-ed",searchType:"singleline, validate"},{country:"Faroe Islands",iso3Code:"FRO",iso2Code:"FO",datasetCode:"fo-address-eh",searchType:"autocomplete, lookupv2"},{country:"Fiji",iso3Code:"FJI",iso2Code:"FJ",datasetCode:"fj-address-ed",searchType:"singleline, validate"},{country:"Fiji",iso3Code:"FJI",iso2Code:"FJ",datasetCode:"fj-address-eh",searchType:"autocomplete, lookupv2"},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCode:"fi-address",searchType:"singleline, typedown"},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCode:"fi-address-ed",searchType:"validate"},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCode:"fi-address-eh",searchType:"autocomplete, lookupv2"},{country:"France Street Level",iso3Code:"FRA",iso2Code:"FR",datasetCode:"fr-address-streetlevel",searchType:"singleline, typedown, validate"},{country:"France Sub-Premises Level",iso3Code:"FRA",iso2Code:"FR",datasetCode:"fr-additional-hexaline3",searchType:"autocomplete, singleline, typedown"},{country:"France Premises Level",iso3Code:"FRA",iso2Code:"FR",datasetCode:"fr-address",searchType:"singleline, typedown, validate"},{country:"French Guiana",iso3Code:"GUF",iso2Code:"GF",datasetCode:"gf-address-eh",searchType:"autocomplete, lookupv2"},{country:"French Polynesia",iso3Code:"PYF",iso2Code:"PF",datasetCode:"pf-address-eh",searchType:"autocomplete, lookupv2"},{country:"Gabon",iso3Code:"GAB",iso2Code:"GA",datasetCode:"ga-address-ed",searchType:"singleline, validate"},{country:"Gabon",iso3Code:"GAB",iso2Code:"GA",datasetCode:"ga-address-eh",searchType:"autocomplete, lookupv2"},{country:"Gambia",iso3Code:"GMB",iso2Code:"GM",datasetCode:"gm-address-ed",searchType:"singleline, validate"},{country:"Gambia",iso3Code:"GMB",iso2Code:"GM",datasetCode:"gm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Georgia",iso3Code:"GEO",iso2Code:"GE",datasetCode:"ge-address-ed",searchType:"singleline, validate"},{country:"Georgia",iso3Code:"GEO",iso2Code:"GE",datasetCode:"ge-address-eh",searchType:"autocomplete, lookupv2"},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCode:"de-address",searchType:"singleline, typedown, validate"},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCode:"de-address-ed",searchType:"validate"},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCode:"de-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ghana",iso3Code:"GHA",iso2Code:"GH",datasetCode:"gh-address-ed",searchType:"singleline, validate"},{country:"Ghana",iso3Code:"GHA",iso2Code:"GH",datasetCode:"gh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Gibraltar",iso3Code:"GIB",iso2Code:"GI",datasetCode:"gi-address-eh",searchType:"autocomplete, lookupv2"},{country:"Greece",iso3Code:"GRC",iso2Code:"GR",datasetCode:"gr-address-ed",searchType:"singleline, validate"},{country:"Greece",iso3Code:"GRC",iso2Code:"GR",datasetCode:"gr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Greenland",iso3Code:"GRL",iso2Code:"GL",datasetCode:"gl-address-ed",searchType:"singleline, validate"},{country:"Greenland",iso3Code:"GRL",iso2Code:"GL",datasetCode:"gl-address-eh",searchType:"autocomplete, lookupv2"},{country:"Grenada",iso3Code:"GRD",iso2Code:"GD",datasetCode:"gd-address-ed",searchType:"singleline, validate"},{country:"Grenada",iso3Code:"GRD",iso2Code:"GD",datasetCode:"gd-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guadeloupe",iso3Code:"GLP",iso2Code:"GP",datasetCode:"gp-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guam",iso3Code:"GUM",iso2Code:"GU",datasetCode:"gu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guatemala",iso3Code:"GTM",iso2Code:"GT",datasetCode:"gt-address-ed",searchType:"singleline, validate"},{country:"Guatemala",iso3Code:"GTM",iso2Code:"GT",datasetCode:"gt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guinea",iso3Code:"GIN",iso2Code:"GN",datasetCode:"gn-address-ed",searchType:"singleline, validate"},{country:"Guinea",iso3Code:"GIN",iso2Code:"GN",datasetCode:"gn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guinea-Bissau",iso3Code:"GNB",iso2Code:"GW",datasetCode:"gw-address-ed",searchType:"singleline, validate"},{country:"Guinea-Bissau",iso3Code:"GNB",iso2Code:"GW",datasetCode:"gw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Guyana",iso3Code:"GUY",iso2Code:"GY",datasetCode:"gy-address-ed",searchType:"singleline, validate"},{country:"Guyana",iso3Code:"GUY",iso2Code:"GY",datasetCode:"gy-address-eh",searchType:"autocomplete, lookupv2"},{country:"Haiti",iso3Code:"HTI",iso2Code:"HT",datasetCode:"ht-address-ed",searchType:"singleline, validate"},{country:"Haiti",iso3Code:"HTI",iso2Code:"HT",datasetCode:"ht-address-eh",searchType:"autocomplete, lookupv2"},{country:"Honduras",iso3Code:"HND",iso2Code:"HN",datasetCode:"hn-address-ed",searchType:"singleline, validate"},{country:"Honduras",iso3Code:"HND",iso2Code:"HN",datasetCode:"hn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Hong Kong",iso3Code:"HKG",iso2Code:"HK",datasetCode:"hk-address-ed",searchType:"singleline, validate"},{country:"Hong Kong",iso3Code:"HKG",iso2Code:"HK",datasetCode:"hk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Hungary",iso3Code:"HUN",iso2Code:"HU",datasetCode:"hu-address-ed",searchType:"singleline, validate"},{country:"Hungary",iso3Code:"HUN",iso2Code:"HU",datasetCode:"hu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Iceland",iso3Code:"ISL",iso2Code:"IS",datasetCode:"is-address-ed",searchType:"singleline, validate"},{country:"Iceland",iso3Code:"ISL",iso2Code:"IS",datasetCode:"is-address-eh",searchType:"autocomplete, lookupv2"},{country:"India",iso3Code:"IND",iso2Code:"IN",datasetCode:"in-address-ed",searchType:"singleline, validate"},{country:"India",iso3Code:"IND",iso2Code:"IN",datasetCode:"in-address-eh",searchType:"autocomplete, lookupv2"},{country:"Indonesia",iso3Code:"IDN",iso2Code:"ID",datasetCode:"id-address-ed",searchType:"singleline, validate"},{country:"Indonesia",iso3Code:"IDN",iso2Code:"ID",datasetCode:"id-address-eh",searchType:"autocomplete, lookupv2"},{country:"Iran, Islamic Republic of",iso3Code:"IRN",iso2Code:"IR",datasetCode:"ir-address-ed",searchType:"singleline, validate"},{country:"Iran, Islamic Republic of",iso3Code:"IRN",iso2Code:"IR",datasetCode:"ir-address-eh",searchType:"autocomplete, lookupv2"},{country:"Iraq",iso3Code:"IRQ",iso2Code:"IQ",datasetCode:"iq-address-ed",searchType:"singleline, validate"},{country:"Iraq",iso3Code:"IRQ",iso2Code:"IQ",datasetCode:"iq-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ireland",iso3Code:"IRL",iso2Code:"IE",datasetCode:"ie-address",searchType:"singleline, typedown"},{country:"Ireland",iso3Code:"IRL",iso2Code:"IE",datasetCode:"ie-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ireland Eircode",iso3Code:"IRL",iso2Code:"IE",datasetCode:"ie-additional-eircode",searchType:"autocomplete, lookupv2"},{country:"Ireland ECAD",iso3Code:"IRL",iso2Code:"IE",datasetCode:"ie-address-ecad",searchType:"autocomplete, lookupv2, singleline, typedown"},{country:"Israel",iso3Code:"ISR",iso2Code:"IL",datasetCode:"il-address-ed",searchType:"singleline, validate"},{country:"Israel",iso3Code:"ISR",iso2Code:"IL",datasetCode:"il-address-eh",searchType:"autocomplete, lookupv2"},{country:"Italy",iso3Code:"ITA",iso2Code:"IT",datasetCode:"it-address-ed",searchType:"singleline, validate"},{country:"Italy",iso3Code:"ITA",iso2Code:"IT",datasetCode:"it-address-eh",searchType:"autocomplete, lookupv2"},{country:"Jamaica",iso3Code:"JAM",iso2Code:"JM",datasetCode:"jm-address-ed",searchType:"singleline, validate"},{country:"Jamaica",iso3Code:"JAM",iso2Code:"JM",datasetCode:"jm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Japan",iso3Code:"JPN",iso2Code:"JP",datasetCode:"jp-address-ed",searchType:"singleline, validate"},{country:"Japan",iso3Code:"JPN",iso2Code:"JP",datasetCode:"jp-address-eh",searchType:"autocomplete, lookupv2"},{country:"Jordan",iso3Code:"JOR",iso2Code:"JO",datasetCode:"jo-address-ed",searchType:"singleline, validate"},{country:"Jordan",iso3Code:"JOR",iso2Code:"JO",datasetCode:"jo-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kazakhstan",iso3Code:"KAZ",iso2Code:"KZ",datasetCode:"kz-address-ed",searchType:"singleline, validate"},{country:"Kazakhstan",iso3Code:"KAZ",iso2Code:"KZ",datasetCode:"kz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kenya",iso3Code:"KEN",iso2Code:"KE",datasetCode:"ke-address-ed",searchType:"singleline, validate"},{country:"Kenya",iso3Code:"KEN",iso2Code:"KE",datasetCode:"ke-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kiribati",iso3Code:"KIR",iso2Code:"KI",datasetCode:"ki-address-ed",searchType:"singleline, validate"},{country:"Kiribati",iso3Code:"KIR",iso2Code:"KI",datasetCode:"ki-address-eh",searchType:"autocomplete, lookupv2"},{country:"Korea, Democratic People's Republic of",iso3Code:"PRK",iso2Code:"KP",datasetCode:"kp-address-ed",searchType:"singleline, validate"},{country:"Korea, Democratic People's Republic of",iso3Code:"PRK",iso2Code:"KP",datasetCode:"kp-address-eh",searchType:"autocomplete, lookupv2"},{country:"Korea, Republic of",iso3Code:"KOR",iso2Code:"KR",datasetCode:"kr-address-ed",searchType:"singleline, validate"},{country:"Korea, Republic of",iso3Code:"KOR",iso2Code:"KR",datasetCode:"kr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kosovo",iso3Code:"KOS",iso2Code:"XK",datasetCode:"kv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kuwait",iso3Code:"KWT",iso2Code:"KW",datasetCode:"kw-address-ed",searchType:"singleline, validate"},{country:"Kuwait",iso3Code:"KWT",iso2Code:"KW",datasetCode:"kw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Kyrgyzstan",iso3Code:"KGZ",iso2Code:"KG",datasetCode:"kg-address-ed",searchType:"singleline, validate"},{country:"Kyrgyzstan",iso3Code:"KGZ",iso2Code:"KG",datasetCode:"kg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Laos",iso3Code:"LAO",iso2Code:"LA",datasetCode:"la-address-ed",searchType:"singleline, validate"},{country:"Laos",iso3Code:"LAO",iso2Code:"LA",datasetCode:"la-address-eh",searchType:"autocomplete, lookupv2"},{country:"Latvia",iso3Code:"LVA",iso2Code:"LV",datasetCode:"lv-address-ed",searchType:"singleline, validate"},{country:"Latvia",iso3Code:"LVA",iso2Code:"LV",datasetCode:"lv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Lebanon",iso3Code:"LBN",iso2Code:"LB",datasetCode:"lb-address-ed",searchType:"singleline, validate"},{country:"Lebanon",iso3Code:"LBN",iso2Code:"LB",datasetCode:"lb-address-eh",searchType:"autocomplete, lookupv2"},{country:"Lesotho",iso3Code:"LSO",iso2Code:"LS",datasetCode:"ls-address-ed",searchType:"singleline, validate"},{country:"Lesotho",iso3Code:"LSO",iso2Code:"LS",datasetCode:"ls-address-eh",searchType:"autocomplete, lookupv2"},{country:"Liberia",iso3Code:"LBR",iso2Code:"LR",datasetCode:"lr-address-ed",searchType:"singleline, validate"},{country:"Liberia",iso3Code:"LBR",iso2Code:"LR",datasetCode:"lr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Libya",iso3Code:"LBY",iso2Code:"LY",datasetCode:"ly-address-ed",searchType:"singleline, validate"},{country:"Libya",iso3Code:"LBY",iso2Code:"LY",datasetCode:"ly-address-eh",searchType:"autocomplete, lookupv2"},{country:"Liechtenstein",iso3Code:"LIE",iso2Code:"LI",datasetCode:"li-address-ed",searchType:"singleline, validate"},{country:"Liechtenstein",iso3Code:"LIE",iso2Code:"LI",datasetCode:"li-address-eh",searchType:"autocomplete, lookupv2"},{country:"Lithuania",iso3Code:"LTU",iso2Code:"LT",datasetCode:"lt-address-ed",searchType:"singleline, validate"},{country:"Lithuania",iso3Code:"LTU",iso2Code:"LT",datasetCode:"lt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Luxembourg",iso3Code:"LUX",iso2Code:"LU",datasetCode:"lu-address",searchType:"singleline, typedown, validate"},{country:"Luxembourg",iso3Code:"LUX",iso2Code:"LU",datasetCode:"lu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Macau",iso3Code:"MAC",iso2Code:"MO",datasetCode:"lv-address-ed",searchType:"singleline, validate"},{country:"Macau",iso3Code:"MAC",iso2Code:"MO",datasetCode:"lv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Madagascar",iso3Code:"MDG",iso2Code:"MG",datasetCode:"mo-address-ed",searchType:"singleline, validate"},{country:"Madagascar",iso3Code:"MDG",iso2Code:"MG",datasetCode:"mo-address-eh",searchType:"autocomplete, lookupv2"},{country:"Malawi",iso3Code:"MWI",iso2Code:"MW",datasetCode:"mw-address-ed",searchType:"singleline, validate"},{country:"Malawi",iso3Code:"MWI",iso2Code:"MW",datasetCode:"mw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Malaysia",iso3Code:"MYS",iso2Code:"MY",datasetCode:"my-address-ed",searchType:"singleline, validate"},{country:"Malaysia",iso3Code:"MYS",iso2Code:"MY",datasetCode:"my-address-eh",searchType:"autocomplete, lookupv2"},{country:"Maldives",iso3Code:"MDV",iso2Code:"MV",datasetCode:"mv-address-ed",searchType:"singleline, validate"},{country:"Maldives",iso3Code:"MDV",iso2Code:"MV",datasetCode:"mv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mali",iso3Code:"MLI",iso2Code:"ML",datasetCode:"ml-address-ed",searchType:"singleline, validate"},{country:"Mali",iso3Code:"MLI",iso2Code:"ML",datasetCode:"ml-address-eh",searchType:"autocomplete, lookupv2"},{country:"Malta",iso3Code:"MLT",iso2Code:"MT",datasetCode:"mt-address-ed",searchType:"singleline, validate"},{country:"Malta",iso3Code:"MLT",iso2Code:"MT",datasetCode:"mt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Marshall Islands",iso3Code:"MHL",iso2Code:"MH",datasetCode:"mh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Martinique",iso3Code:"MTQ",iso2Code:"MQ",datasetCode:"mq-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mauritania",iso3Code:"MRT",iso2Code:"MR",datasetCode:"mr-address-ed",searchType:"singleline, validate"},{country:"Mauritania",iso3Code:"MRT",iso2Code:"MR",datasetCode:"mr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mauritius",iso3Code:"MUS",iso2Code:"MU",datasetCode:"mu-address-ed",searchType:"singleline, validate"},{country:"Mauritius",iso3Code:"MUS",iso2Code:"MU",datasetCode:"mu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mayotte",iso3Code:"MYT",iso2Code:"YT",datasetCode:"yt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mexico",iso3Code:"MEX",iso2Code:"MX",datasetCode:"mx-address-ed",searchType:"singleline, validate"},{country:"Mexico",iso3Code:"MEX",iso2Code:"MX",datasetCode:"mx-address-eh",searchType:"autocomplete, lookupv2"},{country:"Micronesia, Federated States of",iso3Code:"FSM",iso2Code:"FM",datasetCode:"fm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Moldova",iso3Code:"MDA",iso2Code:"MD",datasetCode:"md-address-ed",searchType:"singleline, validate"},{country:"Moldova",iso3Code:"MDA",iso2Code:"MD",datasetCode:"md-address-eh",searchType:"autocomplete, lookupv2"},{country:"Monaco",iso3Code:"MCO",iso2Code:"MC",datasetCode:"mc-address-ed",searchType:"singleline, validate"},{country:"Monaco",iso3Code:"MCO",iso2Code:"MC",datasetCode:"mc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mongolia",iso3Code:"MNG",iso2Code:"MN",datasetCode:"mn-address-ed",searchType:"singleline, validate"},{country:"Mongolia",iso3Code:"MNG",iso2Code:"MN",datasetCode:"mn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Montenegro",iso3Code:"MNE",iso2Code:"ME",datasetCode:"me-address-ed",searchType:"singleline, validate"},{country:"Montenegro",iso3Code:"MNE",iso2Code:"ME",datasetCode:"me-address-eh",searchType:"autocomplete, lookupv2"},{country:"Montserrat",iso3Code:"MSR",iso2Code:"MS",datasetCode:"ms-address-eh",searchType:"autocomplete, lookupv2"},{country:"Morocco",iso3Code:"MAR",iso2Code:"MA",datasetCode:"ma-address-ed",searchType:"singleline, validate"},{country:"Morocco",iso3Code:"MAR",iso2Code:"MA",datasetCode:"ma-address-eh",searchType:"autocomplete, lookupv2"},{country:"Mozambique",iso3Code:"MOZ",iso2Code:"MZ",datasetCode:"mz-address-ed",searchType:"singleline, validate"},{country:"Mozambique",iso3Code:"MOZ",iso2Code:"MZ",datasetCode:"mz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Myanmar",iso3Code:"MMR",iso2Code:"MM",datasetCode:"mm-address-ed",searchType:"singleline, validate"},{country:"Myanmar",iso3Code:"MMR",iso2Code:"MM",datasetCode:"mm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Namibia",iso3Code:"NAM",iso2Code:"NA",datasetCode:"na-address-ed",searchType:"singleline, validate"},{country:"Namibia",iso3Code:"NAM",iso2Code:"NA",datasetCode:"na-address-eh",searchType:"autocomplete, lookupv2"},{country:"Nauru",iso3Code:"NRU",iso2Code:"NR",datasetCode:"nr-address-ed",searchType:"singleline, validate"},{country:"Nauru",iso3Code:"NRU",iso2Code:"NR",datasetCode:"nr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Nepal",iso3Code:"NPL",iso2Code:"NP",datasetCode:"np-address-ed",searchType:"singleline, validate"},{country:"Nepal",iso3Code:"NPL",iso2Code:"NP",datasetCode:"np-address-eh",searchType:"autocomplete, lookupv2"},{country:"Netherlands",iso3Code:"NLD",iso2Code:"NL",datasetCode:"nl-address",searchType:"singleline, typedown, validate"},{country:"Netherlands",iso3Code:"NLD",iso2Code:"NL",datasetCode:"nl-address-eh",searchType:"autocomplete, lookupv2"},{country:"New Caledonia",iso3Code:"NCL",iso2Code:"NC",datasetCode:"nc-address-eh",searchType:"autocomplete, lookupv2"},{country:"New Zealand DataFusion",iso3Code:"NZL",iso2Code:"NZ",datasetCode:"nz-additional-datafusion",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"New Zealand Postal Address",iso3Code:"NZL",iso2Code:"NZ",datasetCode:"nz-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Nicaragua",iso3Code:"NIC",iso2Code:"NI",datasetCode:"ni-address-ed",searchType:"singleline, validate"},{country:"Nicaragua",iso3Code:"NIC",iso2Code:"NI",datasetCode:"ni-address-eh",searchType:"autocomplete, lookupv2"},{country:"Niger",iso3Code:"NER",iso2Code:"NE",datasetCode:"ne-address-ed",searchType:"singleline, validate"},{country:"Niger",iso3Code:"NER",iso2Code:"NE",datasetCode:"ne-address-eh",searchType:"autocomplete, lookupv2"},{country:"Nigeria",iso3Code:"NGA",iso2Code:"NG",datasetCode:"ng-address-ed",searchType:"singleline, validate"},{country:"Nigeria",iso3Code:"NGA",iso2Code:"NG",datasetCode:"ng-address-eh",searchType:"autocomplete, lookupv2"},{country:"Niue",iso3Code:"NIU",iso2Code:"NU",datasetCode:"nu-address-ed",searchType:"singleline, validate"},{country:"Niue",iso3Code:"NIU",iso2Code:"NU",datasetCode:"nu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Norfolk Island",iso3Code:"NFK",iso2Code:"NF",datasetCode:"nf-address-ed",searchType:"singleline, validate"},{country:"Norfolk Island",iso3Code:"NFK",iso2Code:"NF",datasetCode:"nf-address-eh",searchType:"autocomplete, lookupv2"},{country:"North Macedonia",iso3Code:"MKD",iso2Code:"MK",datasetCode:"mk-address-ed",searchType:"singleline, validate"},{country:"North Macedonia",iso3Code:"MKD",iso2Code:"MK",datasetCode:"mk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Northern Mariana Islands",iso3Code:"MNP",iso2Code:"MP",datasetCode:"mp-address-eh",searchType:"autocomplete, lookupv2"},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCode:"no-address",searchType:"singleline, typedown"},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCode:"no-address-ed",searchType:"validate"},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCode:"no-address-eh",searchType:"autocomplete, lookupv2"},{country:"Oman",iso3Code:"OMN",iso2Code:"OM",datasetCode:"om-address-ed",searchType:"singleline, validate"},{country:"Oman",iso3Code:"OMN",iso2Code:"OM",datasetCode:"om-address-eh",searchType:"autocomplete, lookupv2"},{country:"Pakistan",iso3Code:"PAK",iso2Code:"PK",datasetCode:"pk-address-ed",searchType:"singleline, validate"},{country:"Pakistan",iso3Code:"PAK",iso2Code:"PK",datasetCode:"pk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Palau",iso3Code:"PLW",iso2Code:"PW",datasetCode:"pw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Palestine",iso3Code:"PSE",iso2Code:"PS",datasetCode:"ps-address-eh",searchType:"autocomplete, lookupv2"},{country:"Panama",iso3Code:"PAN",iso2Code:"PA",datasetCode:"pa-address-ed",searchType:"singleline, validate"},{country:"Panama",iso3Code:"PAN",iso2Code:"PA",datasetCode:"pa-address-eh",searchType:"autocomplete, lookupv2"},{country:"Papua New Guinea",iso3Code:"PNG",iso2Code:"PG",datasetCode:"pg-address-ed",searchType:"singleline, validate"},{country:"Papua New Guinea",iso3Code:"PNG",iso2Code:"PG",datasetCode:"pg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Paraguay",iso3Code:"PRY",iso2Code:"PY",datasetCode:"py-address-ed",searchType:"singleline, validate"},{country:"Paraguay",iso3Code:"PRY",iso2Code:"PY",datasetCode:"py-address-eh",searchType:"autocomplete, lookupv2"},{country:"Peru",iso3Code:"PER",iso2Code:"PE",datasetCode:"pe-address-ed",searchType:"singleline, validate"},{country:"Peru",iso3Code:"PER",iso2Code:"PE",datasetCode:"pe-address-eh",searchType:"autocomplete, lookupv2"},{country:"Philippines",iso3Code:"PHL",iso2Code:"PH",datasetCode:"ph-address-ed",searchType:"singleline, validate"},{country:"Philippines",iso3Code:"PHL",iso2Code:"PH",datasetCode:"ph-address-eh",searchType:"autocomplete, lookupv2"},{country:"Pitcairn Islands",iso3Code:"PCN",iso2Code:"PN",datasetCode:"pn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Poland",iso3Code:"POL",iso2Code:"PL",datasetCode:"pl-address-ed",searchType:"singleline, validate"},{country:"Poland",iso3Code:"POL",iso2Code:"PL",datasetCode:"pl-address-eh",searchType:"autocomplete, lookupv2"},{country:"Portugal",iso3Code:"PRT",iso2Code:"PT",datasetCode:"pt-address-ed",searchType:"singleline, validate"},{country:"Portugal",iso3Code:"PRT",iso2Code:"PT",datasetCode:"pt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Qatar",iso3Code:"QAT",iso2Code:"QA",datasetCode:"qa-address-ed",searchType:"singleline, validate"},{country:"Qatar",iso3Code:"QAT",iso2Code:"QA",datasetCode:"qa-address-eh",searchType:"autocomplete, lookupv2"},{country:"Romania",iso3Code:"ROU",iso2Code:"RO",datasetCode:"ro-address-ed",searchType:"singleline, validate"},{country:"Romania",iso3Code:"ROU",iso2Code:"RO",datasetCode:"ro-address-eh",searchType:"autocomplete, lookupv2"},{country:"Russian Federation",iso3Code:"RUS",iso2Code:"RU",datasetCode:"ru-address-ed",searchType:"singleline, validate"},{country:"Russian Federation",iso3Code:"RUS",iso2Code:"RU",datasetCode:"ru-address-eh",searchType:"autocomplete, lookupv2"},{country:"Rwanda",iso3Code:"RWA",iso2Code:"RW",datasetCode:"rw-address-ed",searchType:"singleline, validate"},{country:"Rwanda",iso3Code:"RWA",iso2Code:"RW",datasetCode:"rw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Réunion",iso3Code:"REU",iso2Code:"RE",datasetCode:"re-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Barthélemy",iso3Code:"BLM",iso2Code:"BL",datasetCode:"bl-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Helena",iso3Code:"SHN",iso2Code:"SH",datasetCode:"sh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Kitts and Nevis",iso3Code:"KNA",iso2Code:"KN",datasetCode:"kn-address-ed",searchType:"singleline, validate"},{country:"Saint Kitts and Nevis",iso3Code:"KNA",iso2Code:"KN",datasetCode:"kn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Lucia",iso3Code:"LCA",iso2Code:"LC",datasetCode:"lc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Martin",iso3Code:"MAF",iso2Code:"MF",datasetCode:"mf-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Pierre and Miquelon",iso3Code:"SPM",iso2Code:"PM",datasetCode:"pm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saint Vincent and the Grenadines",iso3Code:"VCT",iso2Code:"VC",datasetCode:"vc-address-ed",searchType:"singleline, validate"},{country:"Saint Vincent and the Grenadines",iso3Code:"VCT",iso2Code:"VC",datasetCode:"vc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Samoa",iso3Code:"WSM",iso2Code:"WS",datasetCode:"ws-address-ed",searchType:"singleline, validate"},{country:"Samoa",iso3Code:"WSM",iso2Code:"WS",datasetCode:"ws-address-eh",searchType:"autocomplete, lookupv2"},{country:"San Marino",iso3Code:"SMR",iso2Code:"SM",datasetCode:"sm-address-ed",searchType:"singleline, validate"},{country:"San Marino",iso3Code:"SMR",iso2Code:"SM",datasetCode:"sm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Sao Tome and Principe",iso3Code:"STP",iso2Code:"ST",datasetCode:"st-address-ed",searchType:"singleline, validate"},{country:"Sao Tome and Principe",iso3Code:"STP",iso2Code:"ST",datasetCode:"st-address-eh",searchType:"autocomplete, lookupv2"},{country:"Saudi Arabia",iso3Code:"SAU",iso2Code:"SA",datasetCode:"sa-address-ed",searchType:"singleline, validate"},{country:"Saudi Arabia",iso3Code:"SAU",iso2Code:"SA",datasetCode:"sa-address-eh",searchType:"autocomplete, lookupv2"},{country:"Senegal",iso3Code:"SEN",iso2Code:"SN",datasetCode:"sn-address-ed",searchType:"singleline, validate"},{country:"Senegal",iso3Code:"SEN",iso2Code:"SN",datasetCode:"sn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Serbia",iso3Code:"SRB",iso2Code:"RS",datasetCode:"rs-address-ed",searchType:"singleline, validate"},{country:"Serbia",iso3Code:"SRB",iso2Code:"RS",datasetCode:"rs-address-eh",searchType:"autocomplete, lookupv2"},{country:"Seychelles",iso3Code:"SYC",iso2Code:"SC",datasetCode:"sc-address-ed",searchType:"singleline, validate"},{country:"Seychelles",iso3Code:"SYC",iso2Code:"SC",datasetCode:"sc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Sierra Leone",iso3Code:"SLE",iso2Code:"SL",datasetCode:"sl-address-ed",searchType:"singleline, validate"},{country:"Sierra Leone",iso3Code:"SLE",iso2Code:"SL",datasetCode:"sl-address-eh",searchType:"autocomplete, lookupv2"},{country:"Singapore",iso3Code:"SGP",iso2Code:"SG",datasetCode:"sg-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Sint Maarten",iso3Code:"SXM",iso2Code:"SX",datasetCode:"sx-address-ed",searchType:"singleline, validate"},{country:"Sint Maarten",iso3Code:"SXM",iso2Code:"SX",datasetCode:"sx-address-eh",searchType:"autocomplete, lookupv2"},{country:"Slovakia",iso3Code:"SVK",iso2Code:"SK",datasetCode:"sk-address-ed",searchType:"singleline, validate"},{country:"Slovakia",iso3Code:"SVK",iso2Code:"SK",datasetCode:"sk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Slovenia",iso3Code:"SVN",iso2Code:"SI",datasetCode:"si-address-ed",searchType:"singleline, validate"},{country:"Slovenia",iso3Code:"SVN",iso2Code:"SI",datasetCode:"si-address-eh",searchType:"autocomplete, lookupv2"},{country:"Solomon Islands",iso3Code:"SLB",iso2Code:"SB",datasetCode:"sb-address-ed",searchType:"singleline, validate"},{country:"Solomon Islands",iso3Code:"SLB",iso2Code:"SB",datasetCode:"sb-address-eh",searchType:"autocomplete, lookupv2"},{country:"Somalia",iso3Code:"SOM",iso2Code:"SO",datasetCode:"so-address-ed",searchType:"singleline, validate"},{country:"Somalia",iso3Code:"SOM",iso2Code:"SO",datasetCode:"so-address-eh",searchType:"autocomplete, lookupv2"},{country:"South Africa",iso3Code:"ZAF",iso2Code:"ZA",datasetCode:"za-address-ed",searchType:"singleline, validate"},{country:"South Africa",iso3Code:"ZAF",iso2Code:"ZA",datasetCode:"za-address-eh",searchType:"autocomplete, lookupv2"},{country:"South Georgia and the South Sandwich Islands",iso3Code:"SGS",iso2Code:"GS",datasetCode:"gs-address-eh",searchType:"autocomplete, lookupv2"},{country:"South Sudan",iso3Code:"SSD",iso2Code:"SS",datasetCode:"ss-address-ed",searchType:"singleline, validate"},{country:"South Sudan",iso3Code:"SSD",iso2Code:"SS",datasetCode:"ss-address-eh",searchType:"autocomplete, lookupv2"},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCode:"es-address",searchType:"singleline, typedown"},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCode:"es-address-ed",searchType:"validate"},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCode:"es-address-eh",searchType:"autocomplete, lookupv2"},{country:"Sri Lanka",iso3Code:"LKA",iso2Code:"LK",datasetCode:"lk-address-ed",searchType:"singleline, validate"},{country:"Sudan",iso3Code:"SDN",iso2Code:"SD",datasetCode:"sd-address-ed",searchType:"singleline, validate"},{country:"Sudan",iso3Code:"SDN",iso2Code:"SD",datasetCode:"sd-address-eh",searchType:"autocomplete, lookupv2"},{country:"Suriname",iso3Code:"SUR",iso2Code:"SR",datasetCode:"sr-address-ed",searchType:"singleline, validate"},{country:"Suriname",iso3Code:"SUR",iso2Code:"SR",datasetCode:"sr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Svalbard and Jan Mayen Islands",iso3Code:"SJM",iso2Code:"SJ",datasetCode:"sj-address-eh",searchType:"autocomplete, lookupv2"},{country:"Swaziland (Eswatini)",iso3Code:"SWZ",iso2Code:"SZ",datasetCode:"sz-address-ed",searchType:"singleline, validate"},{country:"Swaziland (Eswatini)",iso3Code:"SWZ",iso2Code:"SZ",datasetCode:"sz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCode:"se-address",searchType:"singleline, typedown"},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCode:"se-address-ed",searchType:"validate"},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCode:"se-address-eh",searchType:"autocomplete, lookupv2"},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCode:"ch-address",searchType:"singleline, typedown"},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCode:"ch-address-ed",searchType:"validate"},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCode:"ch-address-eh",searchType:"autocomplete, lookupv2"},{country:"Syria",iso3Code:"SYR",iso2Code:"SY",datasetCode:"sy-address-ed",searchType:"singleline, validate"},{country:"Syria",iso3Code:"SYR",iso2Code:"SY",datasetCode:"sy-address-eh",searchType:"autocomplete, lookupv2"},{country:"Taiwan",iso3Code:"TWN",iso2Code:"TW",datasetCode:"tw-address-ed",searchType:"singleline, validate"},{country:"Taiwan",iso3Code:"TWN",iso2Code:"TW",datasetCode:"tw-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tajikistan",iso3Code:"TJK",iso2Code:"TJ",datasetCode:"tj-address-ed",searchType:"singleline, validate"},{country:"Tajikistan",iso3Code:"TJK",iso2Code:"TJ",datasetCode:"tj-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tanzania",iso3Code:"TZA",iso2Code:"TZ",datasetCode:"tz-address-ed",searchType:"singleline, validate"},{country:"Tanzania",iso3Code:"TZA",iso2Code:"TZ",datasetCode:"tz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Thailand",iso3Code:"THA",iso2Code:"TH",datasetCode:"th-address-ed",searchType:"singleline, validate"},{country:"Thailand",iso3Code:"THA",iso2Code:"TH",datasetCode:"th-address-eh",searchType:"autocomplete, lookupv2"},{country:"Timor-Leste",iso3Code:"TLS",iso2Code:"TL",datasetCode:"tl-address-ed",searchType:"singleline, validate"},{country:"Timor-Leste",iso3Code:"TLS",iso2Code:"TL",datasetCode:"tl-address-eh",searchType:"autocomplete, lookupv2"},{country:"Togo",iso3Code:"TGO",iso2Code:"TG",datasetCode:"tg-address-ed",searchType:"singleline, validate"},{country:"Togo",iso3Code:"TGO",iso2Code:"TG",datasetCode:"tg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tokelau",iso3Code:"TKL",iso2Code:"TK",datasetCode:"tk-address-ed",searchType:"singleline, validate"},{country:"Tokelau",iso3Code:"TKL",iso2Code:"TK",datasetCode:"tk-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tonga",iso3Code:"TON",iso2Code:"TO",datasetCode:"to-address-ed",searchType:"singleline, validate"},{country:"Tonga",iso3Code:"TON",iso2Code:"TO",datasetCode:"to-address-eh",searchType:"autocomplete, lookupv2"},{country:"Trinidad and Tobago",iso3Code:"TTO",iso2Code:"TT",datasetCode:"tt-address-ed",searchType:"singleline, validate"},{country:"Trinidad and Tobago",iso3Code:"TTO",iso2Code:"TT",datasetCode:"tt-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tunisia",iso3Code:"TUN",iso2Code:"TN",datasetCode:"tn-address-ed",searchType:"singleline, validate"},{country:"Tunisia",iso3Code:"TUN",iso2Code:"TN",datasetCode:"tn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Turkey",iso3Code:"TUR",iso2Code:"TR",datasetCode:"tr-address-ed",searchType:"singleline, validate"},{country:"Turkey",iso3Code:"TUR",iso2Code:"TR",datasetCode:"tr-address-eh",searchType:"autocomplete, lookupv2"},{country:"Turkish Republic of Northern Cyprus",iso3Code:"NCY",iso2Code:"CY",datasetCode:"ny-address-eh",searchType:"autocomplete, lookupv2"},{country:"Turkmenistan",iso3Code:"TKM",iso2Code:"TM",datasetCode:"tm-address-ed",searchType:"singleline, validate"},{country:"Turkmenistan",iso3Code:"TKM",iso2Code:"TM",datasetCode:"tm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Turks and Caicos Islands",iso3Code:"TCA",iso2Code:"TC",datasetCode:"tc-address-eh",searchType:"autocomplete, lookupv2"},{country:"Tuvalu",iso3Code:"TUV",iso2Code:"TV",datasetCode:"tv-address-ed",searchType:"singleline, validate"},{country:"Tuvalu",iso3Code:"TUV",iso2Code:"TV",datasetCode:"tv-address-eh",searchType:"autocomplete, lookupv2"},{country:"Uganda",iso3Code:"UGA",iso2Code:"UG",datasetCode:"ug-address-ed",searchType:"singleline, validate"},{country:"Uganda",iso3Code:"UGA",iso2Code:"UG",datasetCode:"ug-address-eh",searchType:"autocomplete, lookupv2"},{country:"Ukraine",iso3Code:"UKR",iso2Code:"UA",datasetCode:"ua-address-ed",searchType:"singleline, validate"},{country:"Ukraine",iso3Code:"UKR",iso2Code:"UA",datasetCode:"ua-address-eh",searchType:"autocomplete, lookupv2"},{country:"United Arab Emirates",iso3Code:"ARE",iso2Code:"AE",datasetCode:"ae-address-ed",searchType:"singleline, validate"},{country:"United Arab Emirates",iso3Code:"ARE",iso2Code:"AE",datasetCode:"ae-address-eh",searchType:"autocomplete, lookupv2"},{country:"United Kingdom",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"United Kingdom",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-multipleresidence",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"United Kingdom",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-notyetbuilt",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"United Kingdom AddressBase Premium",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-address-addressbase",searchType:"singleline, typedown, validate, lookup"},{country:"United Kingdom AddressBase Premium with Islands",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-addressbaseislands",searchType:"singleline, typedown, validate, lookup"},{country:"United Kingdom Business Names",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-business",searchType:"singleline, typedown"},{country:"United Kingdom Electricity",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-electricity",searchType:"autocomplete, singleline, typedown, lookupv2"},{country:"United Kingdom Gas",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-gas",searchType:"autocomplete, singleline, typedown, lookupv2"},{country:"United Kingdom Street Level",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-address-streetlevel",searchType:"singleline, typedown"},{country:"United Kingdom Extended Business",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-additional-businessextended",searchType:"singleline, typedown, validate, lookup"},{country:"United Kingdom Cymraeg (Welsh Language) Postal Address",iso3Code:"GBR",iso2Code:"GB",datasetCode:"gb-address-wales",searchType:"singleline, typedown, validate"},{country:"United States of America",iso3Code:"USA",iso2Code:"US",datasetCode:"us-address",searchType:"autocomplete, singleline, typedown, validate, lookupv2"},{country:"Uruguay",iso3Code:"URY",iso2Code:"UY",datasetCode:"uy-address-ed",searchType:"singleline, validate"},{country:"Uruguay",iso3Code:"URY",iso2Code:"UY",datasetCode:"uy-address-eh",searchType:"autocomplete, lookupv2"},{country:"Uzbekistan",iso3Code:"UZB",iso2Code:"UZ",datasetCode:"uz-address-ed",searchType:"singleline, validate"},{country:"Uzbekistan",iso3Code:"UZB",iso2Code:"UZ",datasetCode:"uz-address-eh",searchType:"autocomplete, lookupv2"},{country:"Vanuatu",iso3Code:"VUT",iso2Code:"VU",datasetCode:"vu-address-ed",searchType:"singleline, validate"},{country:"Vanuatu",iso3Code:"VUT",iso2Code:"VU",datasetCode:"vu-address-eh",searchType:"autocomplete, lookupv2"},{country:"Vatican City (Holy See)",iso3Code:"VAT",iso2Code:"VA",datasetCode:"va-address-ed",searchType:"singleline, validate"},{country:"Vatican City (Holy See)",iso3Code:"VAT",iso2Code:"VA",datasetCode:"va-address-eh",searchType:"autocomplete, lookupv2"},{country:"Venezuela",iso3Code:"VEN",iso2Code:"VE",datasetCode:"ve-address-ed",searchType:"singleline, validate"},{country:"Venezuela",iso3Code:"VEN",iso2Code:"VE",datasetCode:"ve-address-eh",searchType:"autocomplete, lookupv2"},{country:"Viet Nam",iso3Code:"VNM",iso2Code:"VN",datasetCode:"vn-address-ed",searchType:"singleline, validate"},{country:"Viet Nam",iso3Code:"VNM",iso2Code:"VN",datasetCode:"vn-address-eh",searchType:"autocomplete, lookupv2"},{country:"Virgin Islands, British",iso3Code:"VGB",iso2Code:"VG",datasetCode:"vg-address-eh",searchType:"autocomplete, lookupv2"},{country:"Virgin Islands, U.S.",iso3Code:"VIR",iso2Code:"VI",datasetCode:"vi-address-eh",searchType:"autocomplete, lookupv2"},{country:"Wallis and Futuna Islands",iso3Code:"WLF",iso2Code:"WF",datasetCode:"wf-address-eh",searchType:"autocomplete, lookupv2"},{country:"Western Sahara",iso3Code:"ESH",iso2Code:"EH",datasetCode:"eh-address-ed",searchType:"singleline, validate"},{country:"Western Sahara",iso3Code:"ESH",iso2Code:"EH",datasetCode:"eh-address-eh",searchType:"autocomplete, lookupv2"},{country:"Yemen",iso3Code:"YEM",iso2Code:"YE",datasetCode:"ye-address-ed",searchType:"singleline, validate"},{country:"Yemen",iso3Code:"YEM",iso2Code:"YE",datasetCode:"ye-address-eh",searchType:"autocomplete, lookupv2"},{country:"Zambia",iso3Code:"ZMB",iso2Code:"ZM",datasetCode:"zm-address-ed",searchType:"singleline, validate"},{country:"Zambia",iso3Code:"ZMB",iso2Code:"ZM",datasetCode:"zm-address-eh",searchType:"autocomplete, lookupv2"},{country:"Zimbabwe",iso3Code:"ZWE",iso2Code:"ZW",datasetCode:"zw-address-ed",searchType:"singleline, validate"},{country:"Zimbabwe",iso3Code:"ZWE",iso2Code:"ZW",datasetCode:"zw-address-eh",searchType:"autocomplete, lookupv2"}],c={en:{gbr:{locality:"Locality",region:"Region",postal_code:"Postal code"},usa:{locality:"Locality",region:"Region",postal_code:"Postal code"}}},u=function(){this.size=0,this.maxSuggestions=25},p=function(){this.detailsMap=new Map},h="AUS Geocodes",C={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level",sa1:"Sa1",meshblock:"Meshblock",lga_code:"Lga Code",lga_name:"Lga Name",street_pid:"Street Pid",locality_pid:"Locality Pid",geocode_level_code:"Geocode Level Code",geocode_level_description:"Geocode Level Description",geocode_type_code:"Geocode Type Code",geocode_type_description:"Geocode Type Description",highest_level_longitude:"Highest Level Longitude",highest_level_latitude:"Highest Level Latitude",highest_level_geocode_reliability_code:"Highest Level Geocode Reliability Code",highest_level_geocode_reliability_description:"Highest Level Geocode Reliability Description",confidence_level_code:"Confidence Level Code",confidence_level_description:"Confidence Level Description","2016_meshblock_id":"2016 Meshblock Id","2016_meshblock_code":"2016 Meshblock Code","2016_meshblock_match_code":"2016 Meshblock Match Code","2016_meshblock_match_description":"2016 Meshblock Match Description",collector_district_id:"Collector District Id",collector_district_code:"Collector District Code",commonwealth_electoral_boundary_id:"Commonwealth Electoral Boundary Id",commonwealth_electoral_boundary_name:"Commonwealth Electoral Boundary Name",statistical_local_area_id:"Statistical Local Area Id",statistical_local_area_code:"Statistical Local Area Code",statistical_local_area_name:"Statistical Local Area Name",state_electoral_boundary_id:"State Electoral Boundary Id",state_electoral_boundary_name:"State Electoral Boundary Name",state_electoral_effective_start:"State Electoral Effective Start",state_electoral_effective_end:"State Electoral Effective End",state_electoral_new_pid:"State Electoral New Pid",state_electoral_new_name:"State Electoral New Name",state_electoral_new_effective_start:"State Electoral New Effective Start",address_level_longitude:"Address Level Longitude",address_level_latitude:"Address Level Latitude",address_level_geocode_reliability_code:"Address Level Geocode Reliability Code",address_level_geocode_reliability_description:"Address Level Geocode Reliability Description",street_level_longitude:"Street Level Longitude",street_level_latitude:"Street Level Latitude",street_level_boundary_extent:"Street Level Boundary Extent",street_level_geocode_reliability_code:"Street Level Geocode Reliability Code",street_level_geocode_reliability_description:"Street Level Geocode Reliability Description",locality_level_longitude:"Locality Level Longitude",locality_level_latitude:"Locality Level Latitude",locality_level_geocode_reliability_code:"Locality Level Geocode Reliability Code",locality_level_geocode_reliability_description:"Locality Level Geocode Reliability Description",gnaf_legal_parcel_identifier:"Gnaf Legal Parcel Identifier",locality_class_code:"Locality Class Code"},y="AUS Consumer View Household",m={address:"Address",adults_at_address_code:"Adults At Address Code",adults_at_address_description:"Adults At Address Description",affluence_code:"Affluence Code",affluence_description:"Affluence Description",channel_preference:"Channel Preference",channel_preference_description:"Channel Preference Description",children_at_address_code_0_10_years:"Children At Address Code 0 10 Years",children_at_address_code_11_18_years:"Children At Address Code 11 18 Years",children_at_address_description_0_10_years:"Children At Address Description 0 10 Years",children_at_address_description_11_18_years:"Children At Address Description 11 18 Years",credit_demand_code:"Credit Demand Code",credit_demand_description:"Credit Demand Description",gnaf_latitude:"Gnaf Latitude",gnaf_longitude:"Gnaf Longitude",gnaf_pid:"Gnaf Pid",head_of_household_age_code:"Head Of Household Age Code",head_of_household_age_description:"Head Of Household Age Description",hin:"Hin",household_composition_code:"Household Composition Code",household_composition_description:"Household Composition Description",household_income_code:"Household Income Code",household_income_description:"Household Income Description",length_of_residence_code:"Length Of Residence Code",length_of_residence_description:"Length Of Residence Description",lifestage_code:"Lifestage Code",lifestage_description:"Lifestage Description",local_government_area_code:"Local Government Area Code",local_government_area_name:"Local Government Area Name",meshblock:"Meshblock",mosaic_group:"Mosaic Group",mosaic_type:"Mosaic Type",postcode:"Postcode",residential_flag:"Residential Flag",risk_insight_code:"Risk Insight Code",risk_insight_description:"Risk Insight Description",sa1:"Sa1",state:"State",suburb:"Suburb"},g="NZL Geocodes",v={front_of_property_nztm_x_coordinate:"Front of Property NZTM X Coordinate",front_of_property_nztm_y_coordinate:"Front of Property NZTM Y Coordinate",centroid_of_property_nztm_x_coordinate:"Centroid of Property NZTM X Coordinate",centroid_of_property_nztm_y_coordinate:"Centroid of Property NZTM Y Coordinate",front_of_property_latitude:"Front of Property Latitude",front_of_property_longitude:"Front of Property Longitude",centroid_of_property_latitude:"Centroid of Property Latitude",centroid_of_property_longitude:"Centroid of Property Longitude",linz_parcel_id:"Linz Parcel Id",property_purpose_type:"Property Purpose Type",addressable:"Addressable",mesh_block_code:"Mesh Block Code",territorial_authority_code:"Territorial Authority Code",territorial_authority_name:"Territorial Authority Name",regional_council_code:"Regional Council Code",regional_council_name:"Regional Council Name",general_electorate_code:"General Electorate Code",general_electorate_name:"General Electorate Name",maori_electorate_code:"Maori Electorate Code",maori_electorate_name:"Maori Electorate Name",match_level:"Match Level"},T="NZL Consumer View Household",f={adults_at_address:"Adults At Address",children_at_address:"Children At Address",head_of_household_age:"Head Of Household Age",head_of_household_lifestage:"Head Of Household Lifestage",household_composition:"Household Composition",mosaic_group:"Mosaic Group",mosaic_segment:"Mosaic Segment",mosaic_type_group:"Mosaic Type Group"},k="USA Geocodes",b={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level",census_tract:"Census Tract",census_block:"Census Block",core_based_statistical_area:"Core Based Statistical Area",congressional_district_code:"Congressional District Code",county_code:"Country Code"},w="GBR Location Essential",_={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level",udprn:"UDPRN",uprn:"UPRN",x_coordinate:"X Coordinate",y_coordinate:"Y Coordinate"},A={latitude:"Latitude",longitude:"Longitude",name:"Name",description:"Description"},S="Global Geocodes",M={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level"},L={mosaic_group:[{id:"A",title:"First Class Life",description:"Wealthiest group in Australia, typically older middle-aged families with significant assets and income"},{id:"B",title:"Comfortable Foundations",description:"Gen X families with school-aged children, working in white-collar professions and living in suburban areas"},{id:"C",title:"Striving for Status",description:"Young, successful, career-driven professionals living in central city areas with high income and no children"},{id:"D",title:"Secure Tranquillity",description:"Affluent retirees living in higher valued properties in desirable areas"},{id:"E",title:"Family Fringes",description:"Middle-aged traditional families living on large outer-suburban plots, with comfortable incomes and long commutes"},{id:"F",title:"Establishing Roots",description:"Millennial first home buyers, living 10km+ from the city centre with above average income"},{id:"G",title:"Growing Independence",description:"Educated millennials at the start of their careers, renting apartments close to city centres"},{id:"H",title:"Middle Blue-collars",description:"Younger blue-collar workers renting far from city centres, with below average income"},{id:"I",title:"Traditional Pursuits",description:"Average income traditional families & single parents with school-aged children living in outer suburban and regional locations"},{id:"J",title:"True Grit",description:"Blue-collar households in gainful employment, residing in locations across outer suburban, regional and mining towns"},{id:"K",title:"Mature Freedom",description:"Gen X couples without children, renting apartments and terraces in high growth suburbs"},{id:"L",title:"Hardship & Perseverance",description:"Unemployed and blue-collar workers living in units and flats on low incomes"},{id:"M",title:"Graceful Ageing",description:"Older retirees with below average income, living in owned properties or retirement villages"},{id:"N",title:"Rural Commitment",description:"Rural people working in agriculture, living on large plots of land far from main roads and main towns"}],mosaic_type:[{id:"A01",title:"Top of the Ladder",description:"Wealthiest families, married couples often with adult children, owning very expensive properties in exclusive inner-urban areas"},{id:"A02",title:"Luxury Living",description:"Baby boomer families, often with adult children, owning expensive properties in inner-urban & coastal areas"},{id:"A03",title:"Central Prosperity",description:"Middle-older aged empty nester couples renting very expensive properties in inner-urban areas, with high income"},{id:"A04",title:"Suburban Esteem",description:"Traditional baby boomer couples with adult children, owning expensive properties in inner-urban & suburban areas of Sydney & Melbourne"},{id:"B05",title:"Successful Spending",description:"Young, married couples with children and high income, living in outer-suburban/metro-fringe areas"},{id:"B06",title:"Careers & Kids",description:"Gen X families with children, living in expensive properties in suburban areas, with high income"},{id:"B07",title:"Fruitful Families",description:"Gen X families with many children, living in metro-fringe areas, with high income"},{id:"C08",title:"Rooftops & Careers",description:"Well-educated, high-powered business people with very high income and no children, living in expensive properties in central Sydney"},{id:"C09",title:"Elite Alternatives",description:"Well-educated professionals, living in trendy inner-urban areas, with high income"},{id:"C10",title:"Power Couples",description:"Young diverse couples, well-educated, transient, city centre renters with high income and no children"},{id:"D11",title:"Scenic Connection",description:"Older couples in semi-retirement, living in suburban areas and nearby towns for many years, with high income"},{id:"D12",title:"Journeyed Equity",description:"Elderly couples from multicultural backgrounds living in expensive properties in suburban areas of Sydney & Melbourne"},{id:"D13",title:"Coastal Comfort",description:"Retired, traditional couples living in coastal and scenic areas, with average pensionable income levels"},{id:"E14",title:"Spacious Traditions",description:"Middle-aged, traditional families with older children, owning large and expensive properties in outer-suburban areas with high income"},{id:"E15",title:"Opulent Designs",description:"Middle-aged families owning huge houses in outer-suburban areas, with high income"},{id:"E16",title:"Hardware & Acreage",description:"Working in trades, middle-aged families owning acreages of land with large properties just outside the metro fringe"},{id:"F17",title:"Determined Suburbans",description:"Professional couples and singles with high income, owning their first home in high growth inner suburbs"},{id:"F18",title:"Developing Domestics",description:"Young first-home-owner families with very young children, recently moved into new housing estates, with above average income"},{id:"F19",title:"Striving Scholars",description:"Young, highly educated singles and couples, with above average income, living in high growth suburbs"},{id:"G20",title:"Youthful Ambition",description:"Young singles and couples, some students, with no children, renting flats in inner-urban areas, with average income"},{id:"G21",title:"Emerging Metros",description:"Young, well-educated and culturally diverse, renting flats in suburban areas of Sydney, with above average income and no children"},{id:"G22",title:"Spirit Questers",description:"Millennial singles renting in coastal tourist areas, with below average income"},{id:"G23",title:"Global Studies",description:"Young student renters near university campuses, culturally diverse with very low or no income but high spend"},{id:"H24",title:"Backyards & Mates",description:"Millennial blue-collar couples and singles, living in outer-suburban areas and surrounding towns with average income"},{id:"H25",title:"Prams & Trades",description:"Younger blue-collar families with many children, living in new outer-suburban housing estates, with low to average income"},{id:"H26",title:"Earnest Internationals",description:"Younger, diverse blue-collar commuters renting apartments in Sydney outer-suburban areas, with low income"},{id:"H27",title:"Township Solos",description:"Younger blue-collar singles in regional towns, with low income but have financial stability"},{id:"I28",title:"Schools & Bills",description:"Millennial families with young children, sometimes single parents, commuting from outer-suburban areas with average incomes"},{id:"I29",title:"Middle of the Road",description:"Older traditional families with older children, commuting from the metro-fringe with average to high incomes"},{id:"I30",title:"Regional Essentials",description:"Couples and single parents with children living in regional areas with low to average incomes"},{id:"J31",title:"Minerals & Airports",description:"Mixture of singles and couples in mining towns, sometimes with children, earning high incomes"},{id:"J32",title:"Selfless & Hardworking",description:"Blue-collar families from multicultural backgrounds, living in outer-suburban areas, with average to high income"},{id:"J33",title:"Life in the Slow Lane",description:"Middle-aged, blue-collar couples living in outer-suburban/metro-fringe areas, with average income"},{id:"J34",title:"Country Town Courage",description:"Low education, monocultural, manual workers with low income, living in low value properties in rural towns"},{id:"K35",title:"Mature Modernites",description:"Middle-aged couples without children, renting in inner suburban apartments and terraces"},{id:"K36",title:"New-found Freedom",description:"Middle-aged, empty nester couples living in outer-suburban/metro-fringe areas, with above average income"},{id:"K37",title:"Realistic Horizons",description:"Gen X couples and sharers living in outer-suburban and regional areas, with low income and small properties"},{id:"L38",title:"Reset Regionals",description:"Blue-collar families, often single parents, living in rural towns with low income and dependent children"},{id:"L39",title:"New-found Life",description:"Multicultural families, sometimes single parents, living in outer-suburban areas with low income"},{id:"L40",title:"Satellite Battlers",description:"Low income singles in regional towns, sometimes living in social housing"},{id:"L41",title:"Downtown Blues",description:"Older single and diverse, city centre renters with very low income, often living in social housing"},{id:"L42",title:"Township Assistance",description:"Younger families, often single parents, with low incomes in regional towns, often living in social housing"},{id:"M43",title:"Blue-collar Retirees",description:"Multicultural older couples living in outer-suburban areas for a long time, with low income but high property value"},{id:"M44",title:"Staying Put",description:"Older, retired couples, sometimes with adult children or carers, who are long term resident in outer-suburban areas"},{id:"M45",title:"Lonesome Elders",description:"Older singles, living in outer-suburban areas and satellite towns, with below average income"},{id:"M46",title:"Retirement Village",description:"Elderly, traditional couples and singles living in retirement villages in cities and regional towns"},{id:"M47",title:"Rural Retirement",description:"Elderly couples, sometimes with adult children or carers, who are long term residents in rural towns, with low pension income"},{id:"N48",title:"Farming Reliance",description:"Rural farmers and farm owners with below average income, living 10-40km away from the nearest town"},{id:"N49",title:"Outback Comfort",description:"Very rural farmers and farm owners with below average income, living 40km+ from the nearest town"},{id:"N50",title:"Soil & Toil",description:"Single farm workers in very small rural towns. with low income and low value properties"},{id:"N51",title:"Rustic Isolation",description:"Low education, traditional, singles in far inland remote towns, with low income and low value properties"}]},E={adults_at_address:[{id:"1",title:"One adult",description:"The residential property is likely to contain one adult over the age of 18 years residing within the dwelling"},{id:"2",title:"Two adults",description:"The residential property is likely to contain two adults over the age of 18 years residing within the dwelling"},{id:"3",title:"Three adults",description:"The residential property is likely to contain three adults over the age of 18 years residing within the dwelling"},{id:"4",title:"Four adults",description:"The residential property is likely to contain four adults over the age of 18 years residing within the dwelling"},{id:"5",title:"Five adults",description:"The residential property is likely to contain five adults over the age of 18 years residing within the dwelling"},{id:"6",title:"Six adults",description:"The residential property is likely to contain six adults over the age of 18 years residing within the dwelling"},{id:"7",title:"Seven adults",description:"The residential property is likely to contain seven adults over the age of 18 years residing within the dwelling"},{id:"8",title:"Eight adults",description:"The residential property is likely to contain eight adults over the age of 18 years residing within the dwelling"}],children_at_address:[{id:"1",title:"Extremely low likelihood",description:"Extremely low likelihood of the presence of children in the household"},{id:"2",title:"Very low likelihood",description:"Very low likelihood of the presence of children in the household"},{id:"3",title:"Low likelihood",description:"Low likelihood of the presence of children in the household"},{id:"4",title:"Below average likelihood",description:"Below average likelihood of the presence of children in the household"},{id:"5",title:"Average likelihood",description:"Average likelihood of the presence of children in the household"},{id:"6",title:"Above average likelihood",description:"Above average likelihood of the presence of children in the household"},{id:"7",title:"Moderately high likelihood",description:"Moderately high likelihood of the presence of children in the household"},{id:"8",title:"High likelihood",description:"High likelihood of the presence of children in the household"},{id:"9",title:"Very high likelihood",description:"Very high likelihood of the presence of children in the household"},{id:"10",title:"Extremely high likelihood",description:"Extremely high likelihood of the presence of children in the household"}],head_of_household_age:[{id:"1",title:"Under 20",description:"The age of the consumer (combination of both actual and estimated) is under 20 years"},{id:"2",title:"20 to 24 years",description:"The age of the consumer (combination of both actual and estimated) is between 20 to 24 years"},{id:"3",title:"25 to 29 years",description:"The age of the consumer (combination of both actual and estimated) is between 25 to 29 years"},{id:"4",title:"30 to 34 years",description:"The age of the consumer (combination of both actual and estimated) is between 30 to 34 years"},{id:"5",title:"35 to 39 years",description:"The age of the consumer (combination of both actual and estimated) is between 35 to 39 years"},{id:"6",title:"40 to 44 years",description:"The age of the consumer (combination of both actual and estimated) is between 40 to 44 years"},{id:"7",title:"45 to 49 years",description:"The age of the consumer (combination of both actual and estimated) is between 45 to 49 years"},{id:"8",title:"50 to 54 years",description:"The age of the consumer (combination of both actual and estimated) is between 50 to 54 years"},{id:"9",title:"55 to 59 years",description:"The age of the consumer (combination of both actual and estimated) is between 55 to 59 years"},{id:"10",title:"60 to 64 years",description:"The age of the consumer (combination of both actual and estimated) is between 60 to 64 years"},{id:"11",title:"65 to 69 years",description:"The age of the consumer (combination of both actual and estimated) is between 65 to 69 years"},{id:"12",title:"70 to 74 years",description:"The age of the consumer (combination of both actual and estimated) is between 70 to 74 years"},{id:"13",title:"75 to 79 years",description:"The age of the consumer (combination of both actual and estimated) is between 75 to 79 years"},{id:"14",title:"80 to 84 years",description:"The age of the consumer (combination of both actual and estimated) is between 80 to 84 years"},{id:"15",title:">= 85 year",description:"The age of the consumer (combination of both actual and estimated) is greater than or equal to 85 years"}],head_of_household_lifestage:[{id:"1",title:"Young families",description:"Families, Extended Families and Single Parents under 35"},{id:"2",title:"Independent Youth",description:"Couples, Singles and Homesharers under 35"},{id:"3",title:"Maturing Couples and Families",description:"Families, Couples, Extended Families and Single Parents aged 35-44"},{id:"4",title:"Maturing Independence",description:"Singles and Homesharers aged 35-54"},{id:"5",title:"Established Couples and Families",description:"Families, Couples, Extended Families and Single Parents aged 45-54"},{id:"6",title:"Older Couples and Families",description:"Families, Couples, Extended Families and Single Parents aged 55-64"},{id:"7",title:"Older Independence",description:"Singles and Homesharers aged 55-64"},{id:"8",title:"Elderly Families",description:"Families, Extended Families and Single Parents 65 and over"},{id:"9",title:"Elderly Couples",description:"Couples 65 and over"},{id:"10",title:"Elderly Singles",description:"Singles and Homesharers 65 and over"}],household_composition:[{id:"1",title:"Families",description:"The residential property is likely to contain a family unit which is made up of two adults with children"},{id:"2",title:"Extended Families",description:"The residential property is likely to contain an extended family unit which is made up of three or more adults with the same surname"},{id:"3",title:"Couples",description:"The residential property is likely to contain people living as a couple which is made up of two adults and no children"},{id:"4",title:"Single Parent",description:"The residential property is likely to contain an single parent family unit which is made up of one adult with children"},{id:"5",title:"Single",description:"The residential property is likely to contain a single adult only"},{id:"6",title:"Homeshares",description:"The residential property is likely to contain a home share environment which is made up of three or more adults with different surnames"}],mosaic_group:[{id:"A",title:"Corporate Ladder Kings",description:"Educated professionals living in large houses in desirable areas, looking for balance to their busy lives and planning for the future"},{id:"B",title:"Reaping The Rewards",description:"Established conservative older couples living comfortable lives in high quality houses, appreciating traditional country pursuits"},{id:"C",title:"Tractors And Trees",description:"Hard working rural farming families living in large comfortable homes, who are engaged in the local community"},{id:"D",title:"Smartphone Savvies",description:"Young technology savvy home sharers or families living comfortably in urban apartments with strong career goals and a positive outlook"},{id:"E",title:"Watching The Pennies",description:"Older families and couples with conservative views, who are careful with their money and have an easy going attitude to life"},{id:"F",title:"Generation Next",description:"Young singles who are studying or just starting out in their careers, living in urban apartments, and love technology and new gadgets"},{id:"G",title:"Crochet Communities",description:"Elderly singles living in rented apartments, living off their investments, who watch TV and listen to the radio to stay in touch"},{id:"H",title:"Bargains, Benefits And Babies",description:"Young families focused on their young kids who are finding it hard to balance work and leisure, feeling burdened by their finances"},{id:"I",title:"Extended Cultural Living",description:"Mixed family Maori or Pacific Islander households with a strong family focus, financially stressed and making do"}],mosaic_segment:[{id:"01_1",title:"More elderly, more employers and more single person households"},{id:"01_2",title:"More children, higher affluent and more 7+ person households"},{id:"02_1",title:"Much more elderly, more employers and more single person households"},{id:"02_2",title:"More overseas born, more 7+ person households and higher property ownership"},{id:"02_3",title:"Much more children, higher affluent and higher property ownership"},{id:"03_1",title:"Shorter time at address, higher affluent, larger properties"},{id:"03_2",title:"More elderly, longer time at address and more urban"},{id:"03_3",title:"Much longer time at address, more highly educated and more single person households"},{id:"04_1",title:"Higher affluent, higher household income, larger properties"},{id:"04_2",title:"Longer time at address, more single person households and more urban"},{id:"04_3",title:"Less educated, higher property ownership and more rural"},{id:"05_1",title:"More highly educated, higher affluent and larger properties"},{id:"05_2",title:"More children, more employees and more urban"},{id:"05_3",title:"More children, less educated, higher property ownership"},{id:"06_1",title:"More employers, smaller properties and more rural"},{id:"06_2",title:"More elderly, more 3+ children households, less educated"},{id:"06_3",title:"More highly educated, more overseas born and more urban"},{id:"06_4",title:"Higher affluence, higher household income, larger properties"},{id:"07_1",title:"Much more elderly, much more 3+ children households, higher affluence"},{id:"07_2",title:"More elderly, more employers, larger properties"},{id:"07_3",title:"More children, more longer time at address, more 7+ person households"},{id:"08_1",title:"Less educated, smaller properties, more rural"},{id:"08_2",title:"More elderly, more New Zealand born, higher property ownership"},{id:"08_3",title:"Much more overseas born, higher household income, more urban"},{id:"09_1",title:"Much more children, shorter time at address, much lower property ownership"},{id:"09_2",title:"Much longer time at address, much less educated, more single person households"},{id:"09_3",title:"More elderly, higher affluent, much higher property ownership"},{id:"10_1",title:"Much more children, more employees, much higher property ownership"},{id:"10_2",title:"Much more elderly, much more single person households, much more urban"},{id:"10_3",title:"Much longer time at address, much more employers, more rural"},{id:"10_4",title:"Shorter time at address, higher affluent, more 7+ person households"},{id:"11_1",title:"More no children households, more longer time at address, higher property ownership"},{id:"11_2",title:"Much more no children households, much lower property ownership, much smaller properties"},{id:"11_3",title:"More 3+ children households, less educated, larger properties"},{id:"12_1",title:"More longer time at address, more overseas born, more urban"},{id:"12_2",title:"Much more no children households, more highly educated, lower property ownership"},{id:"12_3",title:"More elderly, more longer time at address, less educated"},{id:"12_4",title:"Much more children, shorter time at address, more rural"},{id:"13_1",title:"More highly educated, higher affluence, higher household income"},{id:"13_2",title:"Much longer time at address, much less educated, much more single person households"},{id:"13_3",title:"Much more deprived, much more 7+ person households, much lower property ownership"},{id:"14_1",title:"More single person households, lower property ownership, smaller properties"},{id:"14_2",title:"More New Zealand born, more single person households, smaller properties"},{id:"14_3",title:"Higher household income, much more 7+ person households, larger properties"},{id:"15_1",title:"More children, more New Zealand born, more single person households"},{id:"15_2",title:"Much more 7+ person households, much lower property ownership, smaller properties"},{id:"15_3",title:"More highly educated, higher household income, larger properties"},{id:"16_1",title:"Much more overseas born, much more 7+ person households, much lower property ownership"},{id:"16_2",title:"More children, less educated, much more New Zealand born"},{id:"16_3",title:"More highly educated, higher affluence, higher household income"},{id:"16_4",title:"Much less educated, lower household income, much more single person households"},{id:"17_1",title:"More no children households, more longer time at address, smaller properties"},{id:"17_2",title:"More elderly, more employers, larger properties"},{id:"17_3",title:"More elderly, more deprived, more urban"},{id:"18_1",title:"More no children households, more 7+ person households, more urban"},{id:"18_2",title:"More highly educated, higher affluent, more single person households"},{id:"18_3",title:"More deprived, more single person households, larger properties"},{id:"18_4",title:"More children, more 7+ person households, lower property ownership"},{id:"18_5",title:"More elderly, lower household income, smaller properties"},{id:"19_1",title:"More children, higher household income, higher property ownership"},{id:"19_2",title:"Much less educated, much more deprived, lower household income"},{id:"19_3",title:"More no children households, more highly educated, more single person households"},{id:"19_4",title:"More elderly, higher affluent, more 7+ person households"},{id:"20_1",title:"More children, less educated, larger properties"},{id:"20_2",title:"More highly educated, much smaller properties, much more urban"},{id:"21_1",title:"More New Zealand born, much more deprived, much more single person households"},{id:"21_2",title:"Much more overseas born, much more 7+ person households, much higher property ownership"},{id:"21_3",title:"Much more no children households, lower property ownership, much smaller properties"},{id:"22_1",title:"More longer time at address, much more 7+ person households, larger properties"},{id:"22_2",title:"Much more overseas born, much more deprived, much smaller properties"},{id:"23_1",title:"More highly educated, much more employers, much smaller properties"},{id:"23_2",title:"More children, less educated, higher property ownership"},{id:"23_3",title:"More highly educated, more overseas born, higher household income"},{id:"23_4",title:"Much longer time at address, much less educated, more rural"},{id:"24_1",title:"More children, much more deprived, larger properties"},{id:"24_2",title:"Much more elderly, much more single person households, much smaller properties"},{id:"25_1",title:"More no children households, lower property ownership, much more urban"},{id:"25_2",title:"Much longer time at address, much more deprived, more rural"},{id:"25_3",title:"Much more elderly, more 3+ children households, more urban"},{id:"26_1",title:"Much more children, more overseas born, more urban"},{id:"26_2",title:"Much more elderly, much longer time at address, more rural"},{id:"26_3",title:"More children, higher household income, more 7+ person households"},{id:"26_4",title:"Much more elderly, more single person households, more rural"},{id:"27_1",title:"More elderly, larger properties, much more urban"},{id:"27_2",title:"Much more children, more highly educated, higher affluence"},{id:"27_3",title:"Much more elderly, much more single person households, smaller properties"},{id:"27_4",title:"More longer time at address, less educated, higher property ownership"},{id:"28_1",title:"More children, more deprived, more 7+ person households"},{id:"28_2",title:"More children, more 7+ person households, more urban"},{id:"28_3",title:"More 7+ person households, larger properties, more rural"},{id:"28_4",title:"Much more elderly, much more single person households, much smaller properties"},{id:"29_1",title:"More employers, more single person households, smaller properties"},{id:"29_2",title:"Much more deprived, more employers, much more 7+ person households"},{id:"29_3",title:"More children, shorter time at address, lower property ownership"},{id:"29_4",title:"No children households, more longer time at address, less educated, higher property ownership, urban"},{id:"30_1",title:"Much more deprived, much more single person households, much smaller properties"},{id:"30_2",title:"More overseas born, higher household income, much more 7+ person households"},{id:"30_3",title:"Much more children, more longer time at address, more 7+ person households"},{id:"31_1",title:"More New Zealand born, more single person households, higher property ownership"},{id:"31_2",title:"Much less educated, much more deprived, much more 7+ person households"},{id:"31_3",title:"More highly educated, more single person households, smaller properties"},{id:"31_4",title:"More children, much more 7+ person households, larger properties"},{id:"32_1",title:"Much more overseas born, much more deprived, much smaller properties"},{id:"32_2",title:"More longer time at address, much more New Zealand born, much higher property ownership"},{id:"33_1",title:"More employers, smaller properties, more rural"},{id:"33_2",title:"Much more deprived, lower property ownership, more urban"},{id:"33_3",title:"More employees, higher property ownership, more urban"},{id:"34_1",title:"More longer time at address, more New Zealand born, much higher property ownership"},{id:"34_2",title:"More single person households, much higher property ownership, more rural"},{id:"34_3",title:"Much more overseas born, lower property ownership, much more 7+ person households"}],mosaic_type_group:[{id:"A01",title:"Power Professionals",description:"Highly prosperous households comprising of finance savvy professionals and business owners, living in grand houses in desirable areas"},{id:"A02",title:"Wine And Waves",description:"Older, well-educated families on the verge of retirement enjoying the rewards of successful careers, using the internet to keep updated"},{id:"A03",title:"Double Dollar Suits ",description:"Well-educated double income professional couples with young families, using technology to juggle their busy lifestyles"},{id:"A04",title:"Gold Plated Ride-Ons",description:"Wealthy families with large modern properties on the rural outskirts, enjoying the outdoors and have practical technology needs"},{id:"B05",title:"Tea And Biscuits",description:"Financially secure, older couples who have paid off their homes close to the city, now enjoying more time for their hobbies"},{id:"B06",title:"Outdoor Wanderers",description:"Established couples or families living in larger rural properties who embrace the outdoor life and enjoy traditional country pursuits"},{id:"B07",title:"Backwater Bowls",description:"Traditional New Zealander wealthy retired couples, enjoying a comfortable settled life in regional towns, leading healthy lifestyles"},{id:"C08",title:"High Speed Harvesters",description:"Older hard working families with farming backgrounds in rural locations, transferring the running of the farm to the next generation"},{id:"C09",title:"Farming The Wilderness",description:"Practically minded rural farming families with modest lifestyles, financial burdens, and a passion for fast cars and motorbikes"},{id:"C10",title:"Rustic Retirees",description:"Semi-retired older couples living in outer regional and rural locations, with simple tastes, enjoying the local community spirit"},{id:"D11",title:"Working The Network",description:"Financially established and techno savvy, highly educated singles who own their urban apartments and enjoy a fast paced lifestyle"},{id:"D12",title:"Hash Tag Look At Me ",description:"Fashion focused, social and technologically astute younger families, renting modern properties in the major cities"},{id:"D13",title:"Sharing Spaces",description:"Middle-aged home sharers, living in the suburbs who enjoy social networking and trying to find a balance between work and play"},{id:"D14",title:"Touchscreens And Takeaways",description:"Extended families in modern suburban houses, with low disposable income who like to stand out and are influenced by their social sphere"},{id:"D15",title:"Halftime Hopes",description:"Financially comfortable families who require technology to be practical, living in city apartments and optimistic about the future"},{id:"E16",title:"Carefree Suburbia",description:"Older families keeping an eye on their finances but enjoying an easy going life using traditional media to stay informed and up to date"},{id:"E17",title:"Creatures Of Habit",description:"Elderly couples enjoying a stress free life while residing in segregated neighbourhoods, and listening to the radio to stay in touch"},{id:"E18",title:"Mortgages And Microwaves",description:"Hands-on people who enjoy fixing and tinkering with cars and an active outdoor lifestyle who are balancing large financial commitments"},{id:"E19",title:"Newspapers And Knitting",description:"Senior, mainly divorced singles, retired and financially comfortable with traditional values, preferring bricks and mortar to online"},{id:"F20",title:"Turbo Treadmills",description:"Driven, degree-educated individuals in early stages of their careers, living in shared spaces and using their mobile to stay connected"},{id:"F21",title:"Win The Better Life",description:"Younger singles living in shared rental apartments where job security is important and are searching for something better in life"},{id:"F22",title:"Just Add Water ",description:"Young students in full time study who are connected 24/7, living in campus accommodation, spending their free time with friends"},{id:"G23",title:"Messaging Motorheads",description:"Mix of older and young singles renting in the suburbs, heavy texters and social networkers wanting to be taken seriously"},{id:"G24",title:"Community Greys ",description:"Retired, mainly single, elderly, living off their investments in retirement villages and taking each day as it comes"},{id:"G25",title:"Talkback And Telly",description:"Price sensitive seniors, renting government housing in rural locations, living a low-key lifestyle to keep on top of their finances"},{id:"H26",title:"Fishing For A Bargain",description:"Mature, dual income, family centric households in mortgaged moderate sized homes, on a tight budget and enjoy hunting for bargains"},{id:"H27",title:"Hiring The Lifestyle",description:"Shopping fanatic young families in small homes, with average incomes, who love loyalty cards and coupons, and pay attention to adverts"},{id:"H28",title:"Remote Controlling",description:"Busy mixed families on low incomes in rented government housing, where kids come first and who impulse purchase for the latest gadgets"},{id:"H29",title:"Stately Renters ",description:"Older single parents of Maori descent, living in state housing, who feel quite isolated and have financial challenges"},{id:"H30",title:"Kids And Cars ",description:"Single parents with young kids, living in some of the poorer areas with strong focus on their kids and a preference for online shopping"},{id:"I31",title:"Window Shopping Strugglers",description:"Ethnic minorities living in large multi family households struggling on low incomes, but with an active social life"},{id:"I32",title:"Square Eyes And Empty Pockets",description:"Singles on low incomes or benefits, living in Government housing, with a low key lifestyle and high television and radio consumption"},{id:"I33",title:"Extending The Benefits",description:"Large multi-family Maori households on low income or benefits,who enjoy down to earth pursuits and more traditional media channels"},{id:"I34",title:"Play Dough And Pizza",description:"Mixed family Maori and Pacific Islander households, with a strong focus on their young children but struggling financially"}]},R={locality_class_code:[{id:"A",title:"ALIAS ONLY LOCALITY"},{id:"D",title:"DISTRICT"},{id:"G",title:"GAZETTED LOCALITY"},{id:"H",title:"HUNDRED"},{id:"I",title:"INDIGENOUS LOCATION",description:"Location identified in the Australian government indigenous programs and policy locations (AGIL) dataset available at http://data.gov.au"},{id:"M",title:"MANUALLY VALIDATED"},{id:"T",title:"TOPOGRAPHIC LOCALITY"},{id:"U",title:"UNOFFICIAL SUBURB"},{id:"V",title:"UNOFFICIAL TOPOGRAPHIC FEATURE"}]},N=function(){function t(o){var t=this;this.countryDropdown=[],this.componentsCollectionMap=new Map,this.metadataCollectionMap=new Map,this.geocodes=new p,this.cvHousehold=new p,this.tooltipDescriptionMap=new Map,this.premiumLocationInsightMap=new Map,this.baseUrl="https://api.experianaperture.io/",this.datasetsEndpoint="address/datasets/v1",this.searchEndpoint="address/search/v1",this.lookupV2Endpoint="address/lookup/v2",this.validateEndpoint="address/validate/v1",this.promptsetEndpoint="address/promptsets/v1",this.stepInEndpoint="address/suggestions/stepin/v1",this.refineEndpoint="address/suggestions/refine/v1",this.enrichmentEndpoint="enrichment/v2",this.poweredByLogo={element:null,create:function(e){var o={text:"".concat(this.svg," <em>Powered by Experian</em>"),format:""},t=e.createListItem(o);return t.classList.add("powered-by-experian"),e.list.parentNode.appendChild(t),t},destroy:function(e){this.element&&(e.list.parentNode.removeChild(this.element),this.element=void 0)},svg:'<svg class="experian-logo" version="1.1" width="18" height="18" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 120 120" style="" xml:space="preserve" role="img" aria-label="Powered by Experian">\n <title>Experian logo</title>\n <g>\n <path style="fill: #0E6EB6" d="M56.1,27h-13c-3.9,0-7-3.1-7-7V7c0-3.9,3.1-7,7-7h13c3.9,0,7,3.1,7,7v13C63.1,23.8,60,27,56.1,27"></path>\n <path style="fill: #72217B" d="M22.5,56.1H7.9c-4.3,0-7.9-3.5-7.9-7.9V33.6c0-4.3,3.5-7.9,7.9-7.9h14.6c4.3,0,7.9,3.5,7.9,7.9v14.6C30.4,52.6,26.8,56.1,22.5,56.1"></path>\n <path style="fill: #B12384" d="M21.1,86.4h-8.9c-2.7,0-4.8-2.1-4.8-4.8v-8.9c0-2.7,2.2-4.8,4.8-4.8h8.9c2.7,0,4.8,2.2,4.8,4.8v8.9C25.9,84.3,23.7,86.4,21.1,86.4"></path>\n <path style="fill: #E72887" d="M45.1,114.7H34.5c-3.1,0-5.7-2.5-5.7-5.7V98.4c0-3.1,2.5-5.7,5.7-5.7h10.6c3.1,0,5.7,2.5,5.7,5.7V109C50.7,112.1,48.2,114.7,45.1,114.7"></path>\n <path style="fill: #E72887" d="M83.8,32.3h-7.3c-2.2,0-3.9-1.8-3.9-3.9v-7.3c0-2.2,1.8-3.9,3.9-3.9h7.3c2.2,0,3.9,1.8,3.9,3.9v7.3C87.7,30.5,85.9,32.3,83.8,32.3"></path>\n <path style="fill: #004691" d="M81.7,61.8C81.5,51.1,72,42,60.7,42C49,42,39.6,51.3,39.6,62.9C39.6,74.6,49,84,60.7,84c5.6,0,10.8-2.2,14.6-5.9c0.7-0.7,1.2-1.6,1.2-2.6c0-1.9-1.6-3.5-3.5-3.5c-1.1,0-2,0.7-2.8,1.4c-2.4,2.5-5.9,3.7-9.5,3.7c-7,0-12.7-4.8-13.9-11.5h31.5c0,0,0,0,0.1,0h0.1c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.4-0.1C80.4,65,81.7,63.6,81.7,61.8z M60.7,48.9c6.3,0,11.6,4.1,13.4,9.7H47.3C49.1,53,54.3,48.9,60.7,48.9z"></path>\n </g>\n </svg>'},this.result={formattedAddressContainer:null,lastAddressField:null,generateAddressLineRequired:!1,show:function(o){if(t.searchSpinner.hide(),t.picklist.hide(),t.lastSearchTerm="",t.searchType===e.AUTOCOMPLETE||o.result.address&&o.result.confidence!==a.NO_MATCHES){t.inputs.forEach((function(e){return e.value=""})),t.result.calculateIfAddressLineGenerationRequired(),t.result.formattedAddressContainer=t.options.elements.formattedAddressContainer,!t.result.formattedAddressContainer&&t.result.generateAddressLineRequired&&t.result.createFormattedAddressContainer();for(var s=0;s<Object.keys(o.result.address).length;s++){var i=Object.keys(o.result.address)[s],d=o.result.address[i];t.result.updateAddressLine(i,d,"address-line-input")}t.componentsCollectionMap.clear();var r=o.result.components;if(r)for(s=0;s<Object.keys(r).length;s++)i=Object.keys(r)[s],t.componentsCollectionMap.set(i,r[i]);t.metadataCollectionMap.clear();var n=o.metadata;if(n)for(s=0;s<Object.keys(n).length;s++)i=Object.keys(n)[s],t.metadataCollectionMap.set(i,n[i]);if(t.toggleSearchInputs("hide"),t.hasSearchInputBeenReset=!0,t.searchType===e.AUTOCOMPLETE)for(var l in t.options.elements)if(Object.prototype.hasOwnProperty.call(t.options.elements,l)&&"input"!==l&&t.options.elements[l]===t.inputs[0]){t.hasSearchInputBeenReset=!1;break}t.result.createSearchAgainLink()}t.events.trigger("post-formatting-search",o)},hide:function(){for(var e in t.result.formattedAddressContainer&&(t.result.formattedAddressContainer.parentNode.removeChild(t.result.formattedAddressContainer),t.result.formattedAddressContainer=void 0),t.options.searchAgain.link&&(t.options.searchAgain.link.parentNode.removeChild(t.options.searchAgain.link),t.options.searchAgain.link=void 0),t.options.elements)if(Object.prototype.hasOwnProperty.call(t.options.elements,e))for(var o=0;o<n.addressLineLabels.length;o++)if(n.addressLineLabels[o]===e&&t.options.elements[e]!==t.inputs[0]){t.options.elements[e].value="";break}},createAddressLine:{input:function(e,o,t){var s=document.createElement("div");s.classList.add(t);var i=document.createElement("label");i.innerHTML=e.replace(/([A-Z])/g," $1").replace(/([0-9])/g," $1").replace(/^./,(function(e){return e.toUpperCase()})),s.appendChild(i);var a=document.createElement("input");return a.setAttribute("type","text"),a.setAttribute("name",e),a.setAttribute("value",o),s.appendChild(a),s},label:function(e){var o=e,s=t.options.language.toLowerCase(),i=t.currentCountryCode.toLowerCase();if(c)try{var a=c[s][i][e];a&&(o=a)}catch(e){}return o}},createFormattedAddressContainer:function(){var o=document.createElement("div");o.classList.add("formatted-address");var s=t.searchType===e.SINGLELINE?t.inputs.length-1:0;t.inputs[s].parentNode.insertBefore(o,t.inputs[s].nextSibling),t.result.formattedAddressContainer=o},createHeading:function(){if(t.options.formattedAddressContainer.showHeading){var e=document.createElement(t.options.formattedAddressContainer.headingType);e.innerHTML=t.options.formattedAddressContainer.validatedHeadingText,t.result.formattedAddressContainer.appendChild(e)}},updateHeading:function(e){t.options.formattedAddressContainer.showHeading&&(t.result.formattedAddressContainer.querySelector(t.options.formattedAddressContainer.headingType).innerHTML=e)},calculateIfAddressLineGenerationRequired:function(){t.result.generateAddressLineRequired=!0;for(var e=0;e<n.addressLineLabels.length;e++){var o=n.addressLineLabels[e];if(t.options.elements[o]){t.result.generateAddressLineRequired=!1;break}}},updateAddressLine:function(e,o,s){if(t.options.elements[e]){var i=t.options.elements[e];t.result.updateLabel(e);var a=o;i.value&&a&&(a=", "+a),"INPUT"===i.nodeName||"TEXTAREA"===i.nodeName||"SELECT"===i.nodeName?i.value+=a:i.innerText+=a,t.result.lastAddressField=i}else if(t.result.generateAddressLineRequired){var d=t.result.createAddressLine.label(e),r=t.result.createAddressLine.input(d,o,s);t.result.formattedAddressContainer.appendChild(r)}},updateLabel:function(e){var o=e,s=t.options.language.toLowerCase(),i=t.currentCountryCode.toLowerCase();if(c)try{var a=c[s][i][e];if(a){o=a;for(var d=document.getElementsByTagName("label"),r=0;r<d.length;r++)d[r].htmlFor===e&&(d[r].innerHTML=a)}}catch(e){}return o},createSearchAgainLink:function(){if(t.options.searchAgain.visible){var e=document.createElement("button");e.setAttribute("type","button"),e.classList.add("search-again-button"),e.innerText=t.options.searchAgain.text,e.addEventListener("click",t.globalReset.bind(t)),t.options.searchAgain.link=e,t.result.formattedAddressContainer?t.result.formattedAddressContainer.appendChild(e):t.result.lastAddressField&&t.result.lastAddressField.parentNode.insertBefore(e,t.result.lastAddressField.nextSibling)}},renderInputList:function(e){if(e.length>0)for(var o=0;o<e.length;o++)t.result.formattedAddressContainer.appendChild(e[o])},handleValidateResponse:function(e){e.result.confidence===a.VERIFIED_MATCH||e.result.confidence===a.INTERACTION_REQUIRED?e.result.address?t.result.show(e):e.result.suggestions&&t.format(e.result.suggestions[0].format):e.result.suggestions?t.picklist.show(e):"No matches"===e.result.confidence&&t.picklist.handleEmptyPicklist(e)},handleEnrichmentResponse:function(e){var o,s,i,a,d,r,n=t.geocodes.detailsMap,l=t.cvHousehold.detailsMap;n.clear(),l.clear(),t.premiumLocationInsightMap.clear(),e.result.aus_regional_geocodes?(t.geocodes.title=h,t.cvHousehold.title=y,o=Object.entries(e.result.aus_regional_geocodes),s=new Map(Object.entries(C)),a=Object.entries(e.result.aus_cv_household),d=new Map(Object.entries(m)),r=new Map(Object.entries(L)),i=new Map(Object.entries(R))):e.result.nzl_regional_geocodes?(t.geocodes.title=g,t.cvHousehold.title=T,o=Object.entries(e.result.nzl_regional_geocodes),s=new Map(Object.entries(v)),a=Object.entries(e.result.nzl_cv_household),d=new Map(Object.entries(f)),r=new Map(Object.entries(E))):e.result.usa_regional_geocodes?(t.geocodes.title=k,o=Object.entries(e.result.usa_regional_geocodes),s=new Map(Object.entries(b))):e.result.uk_location_essential?(t.geocodes.title=w,o=Object.entries(e.result.uk_location_essential),s=new Map(Object.entries(_))):(t.geocodes.title=S,o=Object.entries(e.result.geocodes),s=new Map(Object.entries(M)));var c=e.result.premium_location_insight;if(c)for(var u=0;u<Object.keys(c).length;u++){var p=Object.keys(c)[u],A=c[p];Array.isArray(A)&&1===A.length?t.premiumLocationInsightMap.set(p,A[0]):t.premiumLocationInsightMap.set(p,A)}t.populateResponseToMap(o,s,i,n),t.populateResponseToMap(a,d,r,l),t.events.trigger("post-enrichment",e)}},this.searchSpinner={show:function(){var e;if(t.options.useSpinner){var o=document.createElement("div");o.classList.add("loader"),o.classList.add("loader-inline");var s=document.createElement("div");s.classList.add("spinner"),o.appendChild(s),null===(e=t.inputs[0].parentNode)||void 0===e||e.insertBefore(o,t.inputs[0].nextSibling)}},hide:function(){var e,o;if(t.options.useSpinner){var s=null===(e=t.inputs[0].parentNode)||void 0===e?void 0:e.querySelector(".loader-inline");s&&(null===(o=t.inputs[0].parentNode)||void 0===o||o.removeChild(s))}}},this.options=this.mergeDefaultOptions(o),this.events=new s,this.setup()}return t.prototype.setToken=function(e){this.options.token=e,this.setup()},t.prototype.setSearchType=function(e){this.searchType=e,this.globalReset(),this.setInputs(),this.events.trigger("post-search-type-change",e)},t.prototype.getLookupEnrichmentData=function(e){if(e){var o={geocodes:Object.keys(M),premium_location_insight:["geocodes","geocodes_building_xy","geocodes_access","time"]};this.callEnrichment(e,o)}},t.prototype.getEnrichmentData=function(e){this.events.trigger("pre-enrichment"),this.result.handleEnrichmentResponse(e)},t.prototype.getEnrichmentAttributes=function(e){if(e){var o=["geocodes","geocodes_building_xy","geocodes_access","time"];return"NZL"==this.currentCountryCode?{nzl_regional_geocodes:Object.keys(v),nzl_cv_household:Object.keys(f),premium_location_insight:o}:"AUS"==this.currentCountryCode?{aus_regional_geocodes:Object.keys(C),aus_cv_household:Object.keys(m),premium_location_insight:o}:"USA"==this.currentCountryCode?{usa_regional_geocodes:Object.keys(b),premium_location_insight:o}:"GBR"==this.currentCountryCode?{uk_location_essential:Object.keys(_),what3words:Object.keys(A),premium_location_insight:o}:{geocodes:Object.keys(M),premium_location_insight:o}}},t.prototype.callEnrichment=function(e,o){var t={country_iso:this.currentCountryCode,keys:{global_address_key:e},attributes:o};this.events.trigger("pre-enrichment"),this.request.send(this.baseUrl+this.enrichmentEndpoint,"POST",this.result.handleEnrichmentResponse,JSON.stringify(t))},t.prototype.setup=function(){var e=this;this.token?(this.hasSearchInputBeenReset=!0,this.request=new i(this),this.setCountryList(),this.setInputs(),this.createPicklist(),this.avMode=o.SEARCH):setTimeout((function(){return e.events.trigger("request-error-401")}))},t.prototype.getParameter=function(e){e=e.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var o=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null===o?"":decodeURIComponent(o[1].replace(/\+/g," "))},Object.defineProperty(t.prototype,"token",{get:function(){return this.options.token||(this.options.token=this.getParameter("token")),this.options.token},enumerable:!1,configurable:!0}),t.prototype.mergeDefaultOptions=function(e){var o=e||{};return o.enabled=!0,this.searchType=o.searchType||n.searchType,o.searchType=o.searchType||n.searchType,o.language=o.language||n.language,o.useSpinner=o.useSpinner||n.useSpinner,o.applyFocus=void 0!==o.applyFocus?o.applyFocus:n.input.applyFocus,o.placeholderText=o.placeholderText||n.input.placeholderText,o.searchAgain=o.searchAgain||{},o.searchAgain.visible=void 0!==o.searchAgain.visible?o.searchAgain.visible:n.searchAgain.visible,o.searchAgain.text=o.searchAgain.text||n.searchAgain.text,o.formattedAddressContainer=o.formattedAddressContainer||n.formattedAddressContainer,o.formattedAddressContainer.showHeading=void 0!==o.formattedAddressContainer.showHeading?o.formattedAddressContainer.showHeading:n.formattedAddressContainer.showHeading,o.formattedAddressContainer.headingType=o.formattedAddressContainer.headingType||n.formattedAddressContainer.headingType,o.formattedAddressContainer.validatedHeadingText=o.formattedAddressContainer.validatedHeadingText||n.formattedAddressContainer.validatedHeadingText,o.formattedAddressContainer.manualHeadingText=o.formattedAddressContainer.manualHeadingText||n.formattedAddressContainer.manualHeadingText,o.useAddressEnteredText=o.useAddressEnteredText||n.useAddressEnteredText,o.elements=o.elements||{},o},t.prototype.getPromptset=function(){var o=this;if(this.currentCountryCode){if(this.currentDataSet=this.lookupDatasetCode(),this.currentDataSet){if(this.searchType===e.AUTOCOMPLETE)return void setTimeout((function(){return o.handlePromptsetResult({result:{lines:[{example:o.options.placeholderText,prompt:"Address",suggested_input_length:160}]}})}));if(this.searchType===e.VALIDATE){var t=[{prompt:"Address line 1",suggested_input_length:160},{prompt:"Address line 2",suggested_input_length:160},{prompt:"Address line 3",suggested_input_length:160},{prompt:this.result.createAddressLine.label("locality"),suggested_input_length:160},{prompt:this.result.createAddressLine.label("region"),suggested_input_length:160},{prompt:this.result.createAddressLine.label("postal_code"),suggested_input_length:160}];return void setTimeout((function(){return o.handlePromptsetResult({result:{lines:t}})}))}if(this.searchType===e.LOOKUPV2){var s=[{prompt:"Lookup type",suggested_input_length:160,dropdown_options:[d.LOCALITY,d.POSTAL_CODE]},{prompt:'Add addresses (If "true" concrete addresses are returned in the response)',suggested_input_length:160,dropdown_options:Object.values(r)},{prompt:"Lookup value ",suggested_input_length:160}];return void setTimeout((function(){return o.handlePromptsetResult({result:{lines:s}})}))}var i={country_iso:this.currentCountryCode,datasets:Array.isArray(this.currentDataSet)?this.currentDataSet:[this.currentDataSet],search_type:this.searchType,prompt_set:"optimal"};return this.events.trigger("pre-promptset-check"),void this.request.send(this.baseUrl+this.promptsetEndpoint,"POST",this.handlePromptsetResult.bind(this),JSON.stringify(i))}this.events.trigger("error-display","Unsupported search type '"+this.searchType+"' for country dataset '"+this.currentCountryName+"'.")}},t.prototype.lookupDatasetCode=function(){var e=this,o=l.find((function(o){return o.iso3Code===e.currentCountryCode&&o.country===e.currentCountryName&&o.searchType.includes(e.searchType)}));if(o)return o.datasetCode},t.prototype.handlePromptsetResult=function(e){this.picklist.hide(),this.events.trigger("post-promptset-check",e)},t.prototype.setInputs=function(o){void 0===o&&(o=this.options.elements.inputs),o?this.registerInputs(o):this.getPromptset(),this.searchType!==e.AUTOCOMPLETE&&this.options.elements.lookupButton&&(this.lookupFn=this.search.bind(this),this.options.elements.lookupButton.addEventListener("click",this.lookupFn))},t.prototype.registerInputs=function(o){var t=this;this.inputs=Array.from(o),this.inputs.forEach((function(o){o.setAttribute("autocomplete","new-password"),t.searchType===e.AUTOCOMPLETE&&(t.keyUpFn=t.search.bind(t),o.addEventListener("keyup",t.keyUpFn),t.checkTabFn=t.checkTab.bind(t),o.addEventListener("keydown",t.checkTabFn),o.setAttribute("placeholder",t.options.placeholderText)),o.addEventListener("keyup",t.handleKeyboardEvent.bind(t))})),this.countryCodeMapping=this.options.countryCodeMapping||{},this.options.applyFocus&&this.inputs[0].focus()},t.prototype.setCountryList=function(){var e=this.baseUrl+this.datasetsEndpoint;if(this.request.send(e,"GET",this.handleDatasetsResponse.bind(this)),this.options.elements.countryList)this.currentCountryCode=this.options.elements.countryList.value,this.currentCountryName=this.options.elements.countryList[this.options.elements.countryList.selectedIndex].label,this.options.elements.countryList.addEventListener("change",this.handleCountryListChange.bind(this));else{if(!this.options.countryCode)throw new Error("Please provide a country code or a country list element");this.currentCountryCode=this.options.countryCode}},t.prototype.handleDatasetsResponse=function(e){var o=e.result;if(this.countryDropdown=[],o&&o.length>0){for(var t=0,s=o;t<s.length;t++)for(var i=s[t],a=function(e){var o=l.find((function(o){return o.datasetCode===e.id}));o&&!d.countryDropdown.find((function(e){return e.country===o.country}))&&d.countryDropdown.push(o)},d=this,r=0,n=Object.values(i.datasets);r<n.length;r++)a(n[r]);this.countryDropdown.sort((function(e,o){return e.country.localeCompare(o.country)})),this.events.trigger("post-datasets-update")}},t.prototype.handleCountryListChange=function(){var e=this.options.elements.countryList;this.currentCountryCode=e.value,this.currentCountryName=e[e.selectedIndex].label,this.getPromptset(),this.avMode=o.SEARCH},t.prototype.generateSearchDataForApiCall=function(){this.currentDataSet||(this.currentDataSet=this.lookupDatasetCode());var o={country_iso:this.currentCountryCode,components:{unspecified:[this.currentSearchTerm]},datasets:Array.isArray(this.currentDataSet)?this.currentDataSet:[this.currentDataSet],max_suggestions:this.options.maxSuggestions||this.picklist.maxSuggestions};return this.searchType!==e.SINGLELINE&&this.searchType!==e.VALIDATE||(o.options=[{name:"flatten",Value:"true"},{name:"intensity",Value:"close"},{name:"prompt_set",Value:"default"}],this.searchType===e.SINGLELINE&&o.options.push({name:"search_type",Value:"singleline"}),this.searchType===e.VALIDATE&&(o.layouts=["default"],o.layout_format="default")),this.options.location&&(o.location=this.options.location),JSON.stringify(o)},t.prototype.generateLookupDataForApiCall=function(e,o){this.currentDataSet||(this.currentDataSet=this.lookupDatasetCode());var t={country_iso:this.currentCountryCode,datasets:Array.isArray(this.currentDataSet)?this.currentDataSet:[this.currentDataSet],max_suggestions:this.options.maxSuggestions||this.picklist.maxSuggestions,key:{type:o,value:e}};return JSON.stringify(t)},t.prototype.getWhat3WordsLookupValue=function(e,o){return e.startsWith("///")&&o&&(e=e.slice(3)),e},t.prototype.handleKeyboardEvent=function(e){e.preventDefault();var o=this.getKey(e);if(this.picklist.size){if("ArrowUp"===o||"ArrowDown"===o||"Enter"===o)return void this.picklist.keyup(e)}else if("Enter"===o)return void this.search(e)},t.prototype.search=function(t){t.preventDefault();var s=(this.countryCodeMapping[this.currentCountryCode]||this.currentCountryCode).split(";");this.currentCountryCode=s[0],s[1]&&(this.currentDataSet=s[1]),""===this.currentSearchTerm&&(this.hasSearchInputBeenReset=!0);var i=this.isInternationalValidation()?"|":",";if(this.currentSearchTerm=this.inputs.map((function(e){return e.value})).join(i),this.canSearch()){this.request.currentRequest&&this.request.currentRequest.abort();var a=/^\/{0,}(?:[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+|[^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3}[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3}[.。。・・︒។։။۔።।][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+([\u0020\u00A0][^0-9`~!@#$%^&*()+\-_=[{\]}\\|'<,.>?/";:£§º©®\s]+){1,3})$/;a.test(this.currentSearchTerm.trim())?(this.avMode=o.WHAT3WORDS,this.currentSearchTerm=this.currentSearchTerm.trim()):this.avMode!=o.LOOKUPV2&&(this.avMode=o.SEARCH),(a=/^\d{12}|\d{8}$/).test(this.currentSearchTerm.trim())&&(this.avMode=o.UDPRN,this.currentSearchTerm=this.currentSearchTerm.trim()),(this.currentSearchTerm.includes("locality",0)||this.currentSearchTerm.includes("postal_code",0))&&(this.avMode=o.LOOKUPV2),this.events.trigger("pre-search",this.currentSearchTerm),this.lastSearchTerm=this.currentSearchTerm,this.searchSpinner.hide(),this.searchSpinner.show();var r=void 0,n=void 0,l=void 0,c=void 0;switch(this.avMode){case o.WHAT3WORDS:c=this.generateLookupDataForApiCall(this.getWhat3WordsLookupValue(this.currentSearchTerm,!0),d.WHAT3WORDS.key),r=this.baseUrl+this.lookupV2Endpoint,n=[],l=this.picklist.showWhat3Words;break;case o.UDPRN:this.returnAddresses=!0,c=this.generateLookupDataForApiCall(this.currentSearchTerm,d.UDPRN.key),r=this.baseUrl+this.lookupV2Endpoint,n=[{key:"Add-Addresses",value:!0}],l=this.picklist.showLookup;break;case o.LOOKUPV2:var u=this.currentSearchTerm.split(",");this.lookupType=u[0],this.returnAddresses="true"===u[1];var p=u[2];c=this.generateLookupDataForApiCall(p.trim(),this.lookupType),r=this.baseUrl+this.lookupV2Endpoint,n=[{key:"Add-Addresses",value:!0}],l=this.picklist.showLookup;break;default:c=this.generateSearchDataForApiCall(),r=this.baseUrl+(this.searchType===e.VALIDATE?this.validateEndpoint:this.searchEndpoint),n=this.searchType===e.VALIDATE?[{key:"Add-Components",value:!0},{key:"Add-Metadata",value:!0}]:[],l=this.searchType===e.VALIDATE?this.result.handleValidateResponse:this.picklist.show}this.request.send(r,"POST",l,c,n)}else this.lastSearchTerm!==this.currentSearchTerm&&this.picklist.hide()},t.prototype.getKey=function(e){var o=e.key;switch(o){case"Down":case"ArrowDown":return"ArrowDown";case"Up":case"ArrowUp":return"ArrowUp";case"Spacebar":case" ":return" ";case"Escape":case"Esc":return"Escape";default:return o}},t.prototype.canSearch=function(){return this.options.enabled&&""!==this.currentSearchTerm&&this.currentSearchTerm.length>3&&this.lastSearchTerm!==this.currentSearchTerm&&this.currentCountryCode&&!0===this.hasSearchInputBeenReset},t.prototype.createPicklist=function(){var o=this;this.picklist=new u,this.picklist.maxSuggestions=25,this.picklist.tabCount=-1,this.picklist.show=function(t){var s;o.picklist.items=null==t?void 0:t.result.suggestions,o.picklist.handleCommonShowPicklistLogic(),(null===(s=o.picklist.items)||void 0===s?void 0:s.length)>0?(o.picklist.refine.isNeeded(t)&&o.picklist.refine.createInput(t.result.suggestions_prompt,t.result.suggestions_key),o.searchType===e.VALIDATE&&o.picklist.displaySuggestionsHeader(),o.picklist.items.forEach((function(e){var t=o.picklist.createListItem(e);o.picklist.list.appendChild(t),o.picklist.listen(t)})),o.searchType===e.VALIDATE&&o.picklist.displayUseAddressEnteredFooter(),o.picklist.scrollIntoViewIfNeeded()):o.picklist.handleEmptyPicklist(t),o.poweredByLogo.element=o.poweredByLogo.element||o.poweredByLogo.create(o.picklist),o.events.trigger("post-picklist-create",o.picklist.items)},this.picklist.showWhat3Words=function(e){var t;o.picklist.what3wordsItems=null==e?void 0:e.result.suggestions,o.picklist.handleCommonShowPicklistLogic(),(null===(t=o.picklist.what3wordsItems)||void 0===t?void 0:t.length)>0?(o.picklist.what3wordsItems.forEach((function(e){var t=o.picklist.createWhat3WordsListItem(e);o.picklist.list.appendChild(t),o.picklist.listen(t)})),o.picklist.scrollIntoViewIfNeeded()):o.picklist.handleEmptyPicklist(e),o.poweredByLogo.element=o.poweredByLogo.element||o.poweredByLogo.create(o.picklist),o.events.trigger("post-picklist-create",o.picklist.items)},this.picklist.showLookup=function(e){var t=o.returnAddresses?null==e?void 0:e.result.addresses:null==e?void 0:e.result.suggestions;o.picklist.handleCommonShowPicklistLogic(),(null==t?void 0:t.length)>0?(t.forEach((function(e){var t=o.returnAddresses?o.picklist.createLookupListItem(e):o.picklist.createLookupSuggestionListItem(e);o.picklist.list.appendChild(t),o.picklist.listen(t)})),o.picklist.scrollIntoViewIfNeeded()):o.picklist.handleEmptyPicklist(e),o.poweredByLogo.element=o.poweredByLogo.element||o.poweredByLogo.create(o.picklist),o.events.trigger("post-picklist-create",o.picklist.items)},this.picklist.handleCommonShowPicklistLogic=function(){var e;o.picklist.currentItem=null,o.picklist.size=null===(e=o.picklist.items)||void 0===e?void 0:e.length,o.picklist.resetTabCount(),o.searchSpinner.hide(),o.picklist.list=o.picklist.list||o.picklist.createList(),o.picklist.list.innerHTML="",o.picklist.useAddressEntered.destroy(),o.events.trigger("pre-picklist-create",o.picklist.items)},this.picklist.hide=function(){if(o.picklist.currentItem=null,o.picklist.useAddressEntered.destroy(),o.poweredByLogo.destroy(o.picklist),o.inputs){var t=o.searchType===e.SINGLELINE?o.inputs.length-1:0;o.inputs[t].classList.remove("showing-suggestions")}o.picklist.list&&(o.picklist.container.remove(),o.picklist.list=void 0)},this.picklist.handleEmptyPicklist=function(e){var t;o.picklist.useAddressEntered.element=o.picklist.useAddressEntered.element||o.picklist.useAddressEntered.create(null===(t=e.result)||void 0===t?void 0:t.confidence),o.picklist.scrollIntoViewIfNeeded(),"function"==typeof o.picklist.handleEmptyPicklistCallback&&o.picklist.handleEmptyPicklistCallback()},this.picklist.displaySuggestionsHeader=function(){var e=document.querySelector(".picklist-suggestions-header")||document.createElement("div");e.classList.add("picklist-suggestions-header"),e.innerText="Suggestions:",o.picklist.list.parentNode.insertBefore(e,o.picklist.list)},this.picklist.displayUseAddressEnteredFooter=function(){var e=document.querySelector(".picklist-use-entered-container")||document.createElement("div");e.classList.add("picklist-use-entered-container"),o.picklist.list.parentNode.insertBefore(e,o.picklist.list.nextElementSibling);var t=document.querySelector(".picklist-use-entered-header")||document.createElement("div");t.classList.add("picklist-use-entered-header"),t.innerText="Or use address entered:",e.appendChild(t);var s=document.querySelector(".picklist-use-entered-option")||document.createElement("div");s.classList.add("picklist-use-entered-option"),s.innerText=o.currentSearchTerm.replace(/,+/g,", "),s.addEventListener("click",o.picklist.useAddressEntered.click),e.appendChild(s)},this.picklist.scrollIntoViewIfNeeded=function(){var e=o.picklist.container.getBoundingClientRect().top<0,t=o.picklist.container.getBoundingClientRect().bottom>window.innerHeight;(e||t)&&o.picklist.container.scrollIntoView()},this.picklist.useAddressEntered={element:null,create:function(e){var t={text:"".concat(e," ").concat(o.options.useAddressEnteredText)},s=o.picklist.createListItem(t);return s.classList.add("use-address-entered"),s.setAttribute("title","Enter address manually"),o.picklist.list=o.picklist.list||o.picklist.createList(),o.picklist.list.parentNode.insertBefore(s,o.picklist.container.firstChild),s.addEventListener("click",o.picklist.useAddressEntered.click),s},destroy:function(){o.picklist.useAddressEntered.element&&(o.picklist.list.parentNode.removeChild(o.picklist.useAddressEntered.element),o.picklist.useAddressEntered.element=void 0)},click:function(){var e={result:{confidence:"No matches",address:{address_line_1:"",address_line_2:"",address_line_3:"",locality:"",region:"",postal_code:"",country:""}}};if(o.currentSearchTerm){var t=o.currentSearchTerm.split(",");t[0]&&(e.result.address.address_line_1=t[0]),t[1]&&(e.result.address.address_line_2=t[1]),t[2]&&(e.result.address.address_line_3=t[2]);for(var s=3;s<t.length;s++)e.result.address.address_line_3+=t[s]}o.result.show(e),o.result.updateHeading(o.options.formattedAddressContainer.manualHeadingText)},formatManualAddressLine:function(e,o){var t={};return t[n.addressLineLabels[o]]=e[o]||"",t}},this.picklist.createList=function(){var t=o.searchType===e.SINGLELINE||o.searchType===e.LOOKUPV2?o.inputs.length-1:0,s=document.createElement("div");s.classList.add("address-picklist-container"),o.picklist.container=s,o.inputs[t].parentNode.insertBefore(o.picklist.container,o.inputs[t].nextElementSibling);var i=document.createElement("div");return i.classList.add("address-picklist"),o.picklist.container.appendChild(i),o.inputs[t].classList.add("showing-suggestions"),i.addEventListener("keydown",o.picklist.checkEnter),i},this.picklist.createListItem=function(e){var t=document.createElement("div");return t.innerHTML=o.picklist.addMatchingEmphasis(e),e.format?t.setAttribute("format",e.format):e.global_address_key&&t.setAttribute("refine",e.global_address_key),t},this.picklist.createWhat3WordsListItem=function(e){var o=document.createElement("div"),t=document.createElement("div"),s=document.createElement("div");return o.className=d.WHAT3WORDS.key,t.className="what3Words-name",s.className="what3Words-description",t.innerHTML="///"+e.what3words.name,s.innerHTML=e.what3words.description,o.appendChild(t),o.appendChild(s),o},this.picklist.createLookupListItem=function(e){var o=document.createElement("div");return o.innerHTML=e.text,e.format?o.setAttribute("format",e.format):e.global_address_key&&o.setAttribute("refine",e.global_address_key),o},this.picklist.createLookupSuggestionListItem=function(e){var t=document.createElement("div"),s=e.locality,i=e.postal_code;return t.innerHTML=s.town.name+" "+s.region.name+" "+i.full_name,t.setAttribute("region_name",s.region.name),t.setAttribute("town_name",s.town?s.town.name:""),t.setAttribute("postal_code_name",i.full_name),t.setAttribute("country",o.currentCountryCode),t.setAttribute("postal_code_key",e.postal_code_key),t.setAttribute("locality_key",e.locality_key),t},this.picklist.refine={element:null,isNeeded:function(t){return o.searchType!==e.AUTOCOMPLETE&&(t.result.confidence===a.PREMISES_PARTIAL||t.result.confidence===a.STREET_PARTIAL||t.result.confidence===a.MULTIPLE_MATCHES)},createInput:function(e,t){var s=document.querySelector(".picklist-refinement-box")||document.createElement("div");s.classList.add("picklist-refinement-box");var i=document.querySelector(".picklist-refinement-box input")||document.createElement("input");i.setAttribute("type","text"),i.setAttribute("placeholder",e),i.setAttribute("key",t),i.setAttribute("autocomplete","new-password"),i.addEventListener("keydown",o.picklist.refine.enter.bind(o)),o.picklist.refine.element=i;var a=document.querySelector(".picklist-refinement-box button")||document.createElement("button");a.innerText="Refine",a.addEventListener("click",o.picklist.refine.enter),s.appendChild(i),s.appendChild(a),o.picklist.list.parentNode.insertBefore(s,o.picklist.list),i.focus()},enter:function(e){if(e instanceof KeyboardEvent&&"Enter"===e.key||e instanceof MouseEvent){if(e.preventDefault(),o.picklist.currentItem)return void o.picklist.checkEnter(e);if(e.stopPropagation(),o.picklist.refine.element.value){var t=JSON.stringify({refinement:o.picklist.refine.element.value}),s=o.picklist.refine.element.getAttribute("key");o.request.send("".concat(o.baseUrl).concat(o.refineEndpoint,"/").concat(s),"POST",o.result.handleValidateResponse,t)}}else o.picklist.size&&e instanceof KeyboardEvent&&("ArrowUp"===e.key||"ArrowDown"===e.key||"Enter"===e.key)&&o.picklist.keyup(e)}},this.picklist.resetTabCount=function(){o.picklist.tabCount=-1},this.picklist.keyup=function(e){if(o.picklist.list){o.picklist.checkEnter(e);var t,s,i=o.picklist.list.querySelectorAll("div");if(0!==i.length){"ArrowUp"===e.key?o.picklist.tabCount--:"ArrowDown"===e.key&&o.picklist.tabCount++,o.picklist.tabCount<0&&(o.picklist.tabCount=i.length-1,s=!0),o.picklist.tabCount>i.length-1&&(o.picklist.tabCount=0,t=!0);var a=i[o.picklist.tabCount],d=o.picklist.list.querySelector(".selected");d&&d.classList.remove("selected"),a.classList.add("selected"),o.picklist.currentItem=a;var r=o.picklist.list.offsetTop,n=o.picklist.list.offsetTop+o.picklist.list.offsetHeight,l=o.picklist.list.scrollTop,c=a.offsetTop,u=a.offsetTop+a.offsetHeight,p=a.offsetHeight;t?o.picklist.list.scrollTop=0:s?o.picklist.list.scrollTop=999:u+p>n?o.picklist.list.scrollTop=l+p:c-p-r<l&&(o.picklist.list.scrollTop=l-p)}}},this.picklist.addMatchingEmphasis=function(e){for(var o=e.matched||[],t=e.text,s=0;s<o.length;s++){var i="<b>"+t.substring(o[s][0],o[s][1])+"</b>";t=t.substring(0,o[s][0])+i+t.substring(o[s][1])}return t},this.picklist.listen=function(e){e.addEventListener("click",o.picklist.pick.bind(null,e))},this.picklist.checkEnter=function(e){if("Enter"===e.key||"Tab"===e.key){var t=void 0;1===o.picklist.size?t=o.picklist.list.querySelectorAll("div")[0]:o.picklist.currentItem&&(t=o.picklist.currentItem),t&&o.picklist.pick(t)}},this.picklist.pick=function(t){if(o.events.trigger("post-picklist-selection",t),t.classList.contains(d.WHAT3WORDS.key)){var s=t.getElementsByTagName("div");return o.returnAddresses=!0,void o.lookup(s[0].innerHTML)}e.LOOKUPV2!==o.searchType||o.returnAddresses?t.getAttribute("format")?o.format(t.getAttribute("format")):o.refine(t.getAttribute("refine")):o.formatLookupLocalityWithoutAddresses(t)}},t.prototype.formatLookupLocalityWithoutAddresses=function(e){this.result.updateAddressLine("locality",e.getAttribute("town_name"),"address-line-input"),this.result.updateAddressLine("region",e.getAttribute("region_name"),"address-line-input"),this.result.updateAddressLine("postal_code",e.getAttribute("postal_code_name"),"address-line-input"),this.result.updateAddressLine("country",e.getAttribute("country"),"address-line-input");var o=d.POSTAL_CODE.key===this.lookupType?"postal_code_key":"locality_key";this.result.createSearchAgainLink(),this.events.trigger("post-formatting-lookup",e.getAttribute(o),e)},t.prototype.format=function(e){this.events.trigger("pre-formatting-search",e),this.searchSpinner.hide();var o={layouts:["default"],layout_format:"default",attributes:this.getEnrichmentAttributes(e.split("/")[6])};this.request.send(e,"POST",this.result.show,JSON.stringify(o),[{key:"Add-Components",value:!0},{key:"Add-Metadata",value:!0},{key:"Add-Enrichment",value:!0}])},t.prototype.refine=function(e){this.events.trigger("pre-refinement",e),this.searchSpinner.hide(),this.request.send("".concat(this.baseUrl).concat(this.stepInEndpoint,"/").concat(e),"GET",this.picklist.show)},t.prototype.lookup=function(e){this.events.trigger("pre-lookup",e),this.searchSpinner.hide();var o=this.generateLookupDataForApiCall(e,d.WHAT3WORDS.key),t=this.baseUrl+this.lookupV2Endpoint,s=this.picklist.showLookup;this.request.send(t,"POST",s,o,[{key:"Add-Addresses",value:!0}])},t.prototype.populateResponseToMap=function(e,o,t,s){if(e)for(var i=function(e,i){if(!o.has(e))return"continue";var d=o.get(e);if(t&&t.has(e)){var r=t.get(e),n=Object.values(r).find((function(e){return e.id===i}));n&&a.tooltipDescriptionMap.set(d,n.title)}s.set(d,i)},a=this,d=0,r=e;d<r.length;d++){var n=r[d];i(n[0],n[1])}},t.prototype.checkTab=function(e){var o=this.getKey(e);"Tab"!==o?"Enter"===o&&e.preventDefault():this.picklist.keyup(e)},t.prototype.toggleSearchInputs=function(e){var o,t,s,i="show"===e?"remove":"add";null===(o=this.options.elements.inputs)||void 0===o||o.forEach((function(e){return e.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")}))})),null===(t=this.options.elements.countryList)||void 0===t||t.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")})),null===(s=this.options.elements.lookupButton)||void 0===s||s.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")}))},t.prototype.globalReset=function(t){t&&t.preventDefault(),this.options.enabled=!0,this.result.hide(),this.hasSearchInputBeenReset=!0,this.inputs.forEach((function(e){return e.value=""})),this.picklist.hide(),this.toggleSearchInputs("show"),this.inputs[0].focus(),this.avMode=e.LOOKUPV2===this.searchType?o.LOOKUPV2:o.SEARCH,this.events.trigger("post-reset")},t.prototype.isInternationalValidation=function(){return!(this.searchType!==e.VALIDATE||Array.isArray(this.currentDataSet)||!this.currentDataSet.toUpperCase().endsWith("-ED"))},t}();window.AddressValidation=N}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFFBQVMsU0FBVUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDL0YsQ0FBQ2tCLFFBQVMsUUFBU0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDOUYsQ0FBQ2tCLFFBQVMsUUFBU0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDOUYsQ0FBQ2tCLFFBQVMsV0FBWUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDakcsQ0FBQ2tCLFFBQVMsV0FBWUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDakcsQ0FBQ2tCLFFBQVMsWUFBYUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDbEcsQ0FBQ2tCLFFBQVMsWUFBYUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDbEcsQ0FBQ2tCLFFBQVMsVUFBV0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDaEcsQ0FBQ2tCLFFBQVMsVUFBV0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDaEcsQ0FBQ2tCLFFBQVMsVUFBV0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDaEcsQ0FBQ2tCLFFBQVMsVUFBV0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDaEcsQ0FBQ2tCLFFBQVMsUUFBU0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSx3QkFDOUYsQ0FBQ2tCLFFBQVMsUUFBU0MsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JBQWlCckIsV0FBWSwwQkFDOUYsQ0FBQ2tCLFFBQVMsWUFBYUMsU0FBVSxNQUFPQyxTQUFVLEtBQU1DLFlBQWEsZ0JB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LFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ2pHLENBQUNrQixRQUFTLGFBQWNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQ25HLENBQUNrQixRQUFTLGFBQWNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ25HLENBQUNrQixRQUFTLGFBQWNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ25HLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQ2hHLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ2hHLENBQUNrQixRQUFTLGFBQWNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQ25HLENBQUNrQixRQUFTLGFBQWNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ25HLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQ2hHLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ2hHLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQ2hHLENBQUNrQixRQUFTLFVBQVdDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksMEJBQ2hHLENBQUNrQixRQUFTLFFBQVNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVksd0JBQzlGLENBQUNrQixRQUFTLFFBQVNDLFNBQVUsTUFBT0MsU0FBVSxLQUFNQyxZQUFhLGdCQUFpQnJCLFdBQVks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cy12YWxpZGF0aW9uLy4vc3JjL3RzL2V2ZW50LWZhY3RvcnkudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL3NlYXJjaC1vcHRpb25zLnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9yZXF1ZXN0LnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9kYXRhc2V0cy1jb2Rlcy50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvdHJhbnNsYXRpb25zLnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9jbGFzcy10eXBlcy50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvZW5yaWNobWVudC1vdXRwdXQudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL2NvbnN1bWVyLXZpZXctZGVzY3JpcHRpb24udHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL3JlZ2lvbmFsLWdlb2NvZGVzLWRlc2NyaXB0aW9uLnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9hZGRyZXNzLXNlYXJjaC50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNZXRob2QgZXZlbnQgbGlzdGVuZXIgKHB1Yi9zdWIgdHlwZSB0aGluZylcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXZlbnRGYWN0b3J5IHtcbiAgLy8gQ3JlYXRlIGFuIG9iamVjdCB0byBob2xkIHRoZSBjb2xsZWN0aW9uIG9mIGV2ZW50c1xuICBjb2xsZWN0aW9uID0ge307XG5cbiAgLy8gU3Vic2NyaWJlIGEgbmV3IGV2ZW50XG4gIG9uKGV2ZW50LCBhY3Rpb24pIHtcbiAgICAvLyBDcmVhdGUgdGhlIHByb3BlcnR5IGFycmF5IG9uIHRoZSBjb2xsZWN0aW9uIG9iamVjdFxuICAgIHRoaXMuY29sbGVjdGlvbltldmVudF0gPSB0aGlzLmNvbGxlY3Rpb25bZXZlbnRdIHx8IFtdO1xuICAgIC8vIFB1c2ggYSBuZXcgYWN0aW9uIGZvciB0aGlzIGV2ZW50IG9udG8gdGhlIGFycmF5XG4gICAgdGhpcy5jb2xsZWN0aW9uW2V2ZW50XS5wdXNoKGFjdGlvbik7XG4gIH1cblxuICAvLyBQdWJsaXNoICh0cmlnZ2VyKSBhbiBldmVudFxuICB0cmlnZ2VyKGV2ZW50LCBkYXRhKSB7XG4gICAgLy8gSWYgdGhpcyBldmVudCBpcyBpbiBvdXIgY29sbGVjdGlvbiAoaS5lLiBhbnlvbmUncyBzdWJzY3JpYmVkKVxuICAgIGlmICh0aGlzLmNvbGxlY3Rpb25bZXZlbnRdKSB7XG4gICAgICAvLyBMb29wIG92ZXIgYWxsIHRoZSBhY3Rpb25zIGZvciB0aGlzIGV2ZW50XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29sbGVjdGlvbltldmVudF0ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gQ3JlYXRlIGFycmF5IHdpdGggZGVmYXVsdCBkYXRhIGFzIDFzdCBpdGVtXG4gICAgICAgIGNvbnN0IGFyZ3MgPSBbZGF0YV07XG5cbiAgICAgICAgLy8gTG9vcCBvdmVyIGFkZGl0aW9uYWwgYXJncyBhbmQgYWRkIHRvIGFycmF5XG4gICAgICAgIGZvciAobGV0IGEgPSAyOyBhIDwgYXJndW1lbnRzLmxlbmd0aDsgYSsrKSB7XG4gICAgICAgICAgYXJncy5wdXNoKGFyZ3VtZW50c1thXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDYWxsIGVhY2ggYWN0aW9uIGZvciB0aGlzIGV2ZW50IHR5cGUsIHBhc3NpbmcgdGhlIGFyZ3NcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25bZXZlbnRdW2ldLmFwcGx5KHRoaXMuY29sbGVjdGlvbiwgYXJncyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBXaGF0IHRvIGRvPyBVbmNvbW1lbnQgdGhlIGJlbG93IHRvIHNob3cgZXJyb3JzIGluIHlvdXIgZXZlbnQgYWN0aW9uc1xuICAgICAgICAgIC8vY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzU2VhcmNoT3B0aW9ucyB7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuICB0b2tlbjogc3RyaW5nO1xyXG4gIGF2TW9kZTogQWRkcmVzc1ZhbGlkYXRpb25Nb2RlO1xyXG4gIHNlYXJjaFR5cGU6IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZTtcclxuICBtYXhTdWdnZXN0aW9uczogbnVtYmVyO1xyXG4gIGxhbmd1YWdlOiBzdHJpbmc7XHJcbiAgbG9jYXRpb246IHN0cmluZztcclxuICB1c2VTcGlubmVyOiBib29sZWFuO1xyXG4gIGNvdW50cnlDb2RlPzogc3RyaW5nO1xyXG4gIGNvdW50cnlDb2RlTWFwcGluZz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgYXBwbHlGb2N1czogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlclRleHQ6IHN0cmluZztcclxuICB1c2VBZGRyZXNzRW50ZXJlZFRleHQ6IHN0cmluZztcclxuICBzZWFyY2hBZ2FpbjogeyB2aXNpYmxlPzogYm9vbGVhbiwgdGV4dD86IHN0cmluZywgbGluaz86IEhUTUxCdXR0b25FbGVtZW50IH07XHJcbiAgZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcjogeyBzaG93SGVhZGluZzogYm9vbGVhbiwgaGVhZGluZ1R5cGU6IHN0cmluZywgdmFsaWRhdGVkSGVhZGluZ1RleHQ6IHN0cmluZywgbWFudWFsSGVhZGluZ1RleHQ6IHN0cmluZyB9O1xyXG4gIGVsZW1lbnRzOiB7IGlucHV0PzogSFRNTElucHV0RWxlbWVudCwgaW5wdXRzPzogSFRNTElucHV0RWxlbWVudFtdLCBjb3VudHJ5TGlzdD86IEhUTUxTZWxlY3RFbGVtZW50LCBhZGRyZXNzX2xpbmVfMT86IEhUTUxJbnB1dEVsZW1lbnQsIGFkZHJlc3NfbGluZV8yPzogSFRNTElucHV0RWxlbWVudCwgYWRkcmVzc19saW5lXzM/OiBIVE1MSW5wdXRFbGVtZW50LCBsb2NhbGl0eT86IEhUTUxJbnB1dEVsZW1lbnQsIHJlZ2lvbj86IEhUTUxJbnB1dEVsZW1lbnQsIHBvc3RhbF9jb2RlPzogSFRNTElucHV0RWxlbWVudCwgY291bnRyeT86IEhUTUxJbnB1dEVsZW1lbnQsIGZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI/OiBIVE1MRWxlbWVudCwgbG9va3VwQnV0dG9uPzogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlIHtcclxuICBBVVRPQ09NUExFVEUgPSAnYXV0b2NvbXBsZXRlJyxcclxuICBTSU5HTEVMSU5FID0gJ3NpbmdsZWxpbmUnLFxyXG4gIFZBTElEQVRFID0gJ3ZhbGlkYXRlJyxcclxuICBMT09LVVBWMiA9ICdsb29rdXB2MidcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlIHtcclxuICBTRUFSQ0ggPSAxLFxyXG4gIFdIQVQzV09SRFMsXHJcbiAgVURQUk4sXHJcbiAgTE9PS1VQVjIsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzID0ge1xyXG4gIExPQ0FMSVRZOiB7a2V5OiBcImxvY2FsaXR5XCIsIGRpc3BsYXk6ICdMb2NhbGl0eSd9LFxyXG4gIFBPU1RBTF9DT0RFOiB7a2V5OiBcInBvc3RhbF9jb2RlXCIsIGRpc3BsYXk6IFwiUG9zdGFsIGNvZGVcIn0sXHJcbiAgVURQUk46IHtrZXk6IFwidWRwcm5cIiwgZGlzcGxheTogXCJVRFBSTlwifSxcclxuICBXSEFUM1dPUkRTOiB7a2V5OiBcIndoYXQzd29yZHNcIiwgZGlzcGxheTogXCJ3aGF0M3dvcmRzXCJ9LFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQWRkQWRkcmVzc2VzT3B0aW9ucyA9IHtcclxuICBUUlVFOiB7a2V5OiBcInRydWVcIiwgZGlzcGxheTogJ1RydWUnfSxcclxuICBGQUxTRToge2tleTogXCJmYWxzZVwiLCBkaXNwbGF5OiBcIkZhbHNlXCJ9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUge1xyXG4gIE5PX01BVENIRVMgPSAnTm8gbWF0Y2hlcycsXHJcbiAgVkVSSUZJRURfTUFUQ0ggPSAnVmVyaWZpZWQgbWF0Y2gnLFxyXG4gIElOVEVSQUNUSU9OX1JFUVVJUkVEID0gJ0ludGVyYWN0aW9uIHJlcXVpcmVkJyxcclxuICBQUkVNSVNFU19QQVJUSUFMID0gJ1ByZW1pc2VzIHBhcnRpYWwnLFxyXG4gIFNUUkVFVF9QQVJUSUFMID0gJ1N0cmVldCBwYXJ0aWFsJyxcclxuICBNVUxUSVBMRV9NQVRDSEVTID0gJ011bHRpcGxlIG1hdGNoZXMnXHJcbn1cclxuXHJcbi8vIERlZmF1bHQgc2V0dGluZ3NcclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0ge1xyXG4gIGF2TW9kZTogQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSCxcclxuICBzZWFyY2hUeXBlOiBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQVVUT0NPTVBMRVRFLFxyXG4gIGlucHV0OiB7IHBsYWNlaG9sZGVyVGV4dDogJ1N0YXJ0IHR5cGluZyBhbiBhZGRyZXNzLi4uJywgYXBwbHlGb2N1czogZmFsc2UgfSxcclxuICBmb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiB7IHNob3dIZWFkaW5nOiBmYWxzZSwgaGVhZGluZ1R5cGU6ICdoMycsIHZhbGlkYXRlZEhlYWRpbmdUZXh0OiAnVmFsaWRhdGVkIGFkZHJlc3MnLCBtYW51YWxIZWFkaW5nVGV4dDogJ01hbnVhbCBhZGRyZXNzIGVudGVyZWQnIH0sXHJcbiAgc2VhcmNoQWdhaW46IHsgdmlzaWJsZTogdHJ1ZSwgdGV4dDogJ1NlYXJjaCBhZ2FpbicgfSxcclxuICB1c2VBZGRyZXNzRW50ZXJlZFRleHQ6ICc8ZW0+IC0gVXNlIGFkZHJlc3MgZW50ZXJlZCBvciB0cnkgYWdhaW4uLi48L2VtPicsXHJcbiAgdXNlU3Bpbm5lcjogZmFsc2UsXHJcbiAgbGFuZ3VhZ2U6ICdlbicsXHJcbiAgYWRkcmVzc0xpbmVMYWJlbHM6IFtcclxuICAgICdhZGRyZXNzX2xpbmVfMScsXHJcbiAgICAnYWRkcmVzc19saW5lXzInLFxyXG4gICAgJ2FkZHJlc3NfbGluZV8zJyxcclxuICAgICdsb2NhbGl0eScsXHJcbiAgICAncmVnaW9uJyxcclxuICAgICdwb3N0YWxfY29kZScsXHJcbiAgICAnY291bnRyeSdcclxuICBdXHJcbn07IiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVxdWVzdCB7XG4gIGluc3RhbmNlO1xuICBjb25zdHJ1Y3RvcihpbnN0YW5jZSkge1xuICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBjdXJyZW50UmVxdWVzdDtcblxuXG4gIHB1YmxpYyBzZW5kKHVybDogc3RyaW5nLCBtZXRob2Q6ICdHRVQnIHwgJ1BPU1QnLCBjYWxsYmFjazogKGRhdGE6IG9iamVjdCkgPT4gdm9pZCwgZGF0YT86IHN0cmluZywgaGVhZGVyczoge2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbn1bXSA9IFtdKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgIHRoaXMuY3VycmVudFJlcXVlc3Qub3BlbihtZXRob2QsIHVybCwgdHJ1ZSk7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC50aW1lb3V0ID0gNTAwMDsgLy8gNSBzZWNvbmRzXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKCdhdXRoLXRva2VuJywgdGhpcy5pbnN0YW5jZS5vcHRpb25zLnRva2VuKTtcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyk7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbicpO1xuXG4gICAgLy8gQWRkIGFkZGl0aW9uYWwgaGVhZGVycyBpZiBzdXBwbGllZFxuICAgIGhlYWRlcnMuZm9yRWFjaChoZWFkZXIgPT4gdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSkpO1xuXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5vbmxvYWQgPSAoeGhyKSA9PiB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50UmVxdWVzdC5zdGF0dXMgPj0gMjAwICYmIHRoaXMuY3VycmVudFJlcXVlc3Quc3RhdHVzIDwgNDAwKSB7XG4gICAgICAgIC8vIFN1Y2Nlc3MhXG4gICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHRoaXMuY3VycmVudFJlcXVlc3QucmVzcG9uc2VUZXh0KTtcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSByZWFjaGVkIG91ciB0YXJnZXQgc2VydmVyLCBidXQgaXQgcmV0dXJuZWQgYW4gZXJyb3JcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zZWFyY2hTcGlubmVyLmhpZGUoKTtcblxuICAgICAgICAvLyBGaXJlIGFuIGV2ZW50IHRvIG5vdGlmeSB1c2VycyBvZiBhIGdlbmVyYWwgZXJyb3JcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudHMudHJpZ2dlcigncmVxdWVzdC1lcnJvcicsIHhocik7XG4gICAgICAgIC8vIEZpcmUgYW4gZXZlbnQgZm9yIHRoZSBzcGVjaWZpYyBzdGF0dXMgY29kZVxuICAgICAgICB0aGlzLmluc3RhbmNlLmV2ZW50cy50cmlnZ2VyKGByZXF1ZXN0LWVycm9yLSR7dGhpcy5jdXJyZW50UmVxdWVzdC5zdGF0dXN9YCwgeGhyKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5vbmVycm9yID0gKHhocikgPT4ge1xuICAgICAgLy8gVGhlcmUgd2FzIGEgY29ubmVjdGlvbiBlcnJvciBvZiBzb21lIHNvcnRcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxuICAgICAgdGhpcy5pbnN0YW5jZS5zZWFyY2hTcGlubmVyLmhpZGUoKTtcblxuICAgICAgLy8gRmlyZSBhbiBldmVudCB0byBub3RpZnkgdXNlcnMgb2YgYW4gZXJyb3JcbiAgICAgIHRoaXMuaW5zdGFuY2UuZXZlbnRzLnRyaWdnZXIoJ3JlcXVlc3QtZXJyb3InLCB4aHIpO1xuICAgIH07XG5cbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0Lm9udGltZW91dCA9ICh4aHIpID0+IHtcbiAgICAgIC8vIFRoZXJlIHdhcyBhIGNvbm5lY3Rpb24gdGltZW91dFxuICAgICAgLy8gSGlkZSB0aGUgaW5saW5lIHNlYXJjaCBzcGlubmVyXG4gICAgICB0aGlzLmluc3RhbmNlLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xuXG4gICAgICAvLyBGaXJlIGFuIGV2ZW50IHRvIG5vdGlmeSB1c2VycyBvZiB0aGUgdGltZW91dFxuICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudHMudHJpZ2dlcigncmVxdWVzdC10aW1lb3V0JywgeGhyKTtcbiAgICB9O1xuXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZW5kKGRhdGEpO1xuICB9XG59IiwiZXhwb3J0IGNvbnN0IGRhdGFzZXRDb2RlcyA9IFtcbiAge2NvdW50cnk6ICdBZmdoYW5pc3RhbicsIGlzbzNDb2RlOiAnQUZHJywgaXNvMkNvZGU6ICdBRicsIGRhdGFzZXRDb2RlOiAnYWYtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0FmZ2hhbmlzdGFuJywgaXNvM0NvZGU6ICdBRkcnLCBpc28yQ29kZTogJ0FGJywgZGF0YXNldENvZGU6ICdhZi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBbGJhbmlhJywgaXNvM0NvZGU6ICdBTEInLCBpc28yQ29kZTogJ0FMJywgZGF0YXNldENvZGU6ICdhbC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQWxiYW5pYScsIGlzbzNDb2RlOiAnQUxCJywgaXNvMkNvZGU6ICdBTCcsIGRhdGFzZXRDb2RlOiAnYWwtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQWxnZXJpYScsIGlzbzNDb2RlOiAnRFpBJywgaXNvMkNvZGU6ICdEWicsIGRhdGFzZXRDb2RlOiAnZHotYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0FsZ2VyaWEnLCBpc28zQ29kZTogJ0RaQScsIGlzbzJDb2RlOiAnRFonLCBkYXRhc2V0Q29kZTogJ2R6LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0FtZXJpY2FuIFNhbW9hJywgaXNvM0NvZGU6ICdBU00nLCBpc28yQ29kZTogJ0FTJywgZGF0YXNldENvZGU6ICdhcy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBbmRvcnJhJywgaXNvM0NvZGU6ICdBTkQnLCBpc28yQ29kZTogJ0FEJywgZGF0YXNldENvZGU6ICdhZC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQW5kb3JyYScsIGlzbzNDb2RlOiAnQU5EJywgaXNvMkNvZGU6ICdBRCcsIGRhdGFzZXRDb2RlOiAnYWQtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQW5nb2xhJywgaXNvM0NvZGU6ICdBR08nLCBpc28yQ29kZTogJ0FPJywgZGF0YXNldENvZGU6ICdhby1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQW5nb2xhJywgaXNvM0NvZGU6ICdBR08nLCBpc28yQ29kZTogJ0FPJywgZGF0YXNldENvZGU6ICdhby1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBbmd1aWxsYScsIGlzbzNDb2RlOiAnQUlBJywgaXNvMkNvZGU6ICdBSScsIGRhdGFzZXRDb2RlOiAnYWktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQW50YXJjdGljYScsIGlzbzNDb2RlOiAnQVRBJywgaXNvMkNvZGU6ICdBUScsIGRhdGFzZXRDb2RlOiAnYXEtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0FudGlndWEgYW5kIEJhcmJ1ZGEnLCBpc28zQ29kZTogJ0FURycsIGlzbzJDb2RlOiAnQUcnLCBkYXRhc2V0Q29kZTogJ2FnLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdBbnRpZ3VhIGFuZCBCYXJidWRhJywgaXNvM0NvZGU6ICdBVEcnLCBpc28yQ29kZTogJ0FHJywgZGF0YXNldENvZGU6ICdhZy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBcmdlbnRpbmEnLCBpc28zQ29kZTogJ0FSRycsIGlzbzJDb2RlOiAnQVInLCBkYXRhc2V0Q29kZTogJ2FyLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdBcmdlbnRpbmEnLCBpc28zQ29kZTogJ0FSRycsIGlzbzJDb2RlOiAnQVInLCBkYXRhc2V0Q29kZTogJ2FyLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0FybWVuaWEnLCBpc28zQ29kZTogJ0FSTScsIGlzbzJDb2RlOiAnQU0nLCBkYXRhc2V0Q29kZTogJ2FtLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdBcm1lbmlhJywgaXNvM0NvZGU6ICdBUk0nLCBpc28yQ29kZTogJ0FNJywgZGF0YXNldENvZGU6ICdhbS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBcnViYScsIGlzbzNDb2RlOiAnQUJXJywgaXNvMkNvZGU6ICdBVycsIGRhdGFzZXRDb2RlOiAnYXctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0FydWJhJywgaXNvM0NvZGU6ICdBQlcnLCBpc28yQ29kZTogJ0FXJywgZGF0YXNldENvZGU6ICdhdy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBdXN0cmFsaWEgRGF0YUZ1c2lvbicsIGlzbzNDb2RlOiAnQVVTJywgaXNvMkNvZGU6ICdBVScsIGRhdGFzZXRDb2RlOiAnYXUtYWRkcmVzcy1kYXRhZnVzaW9uJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQXVzdHJhbGlhIEdlb2NvZGVkIE5hdGlvbmFsIEFkZHJlc3MnLCBpc28zQ29kZTogJ0FVUycsIGlzbzJDb2RlOiAnQVUnLCBkYXRhc2V0Q29kZTogJ2F1LWFkZHJlc3MtZ25hZicsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIHNpbmdsZWxpbmUsIHR5cGVkb3duLCB2YWxpZGF0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdBdXN0cmFsaWEgUG9zdGFsIEFkZHJlc3MnLCBpc28zQ29kZTogJ0FVUycsIGlzbzJDb2RlOiAnQVUnLCBkYXRhc2V0Q29kZTogJ2F1LWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBzaW5nbGVsaW5lLCB0eXBlZG93biwgdmFsaWRhdGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQXVzdHJpYScsIGlzbzNDb2RlOiAnQVVUJywgaXNvMkNvZGU6ICdBVCcsIGRhdGFzZXRDb2RlOiAnYXQtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQXVzdHJpYScsIGlzbzNDb2RlOiAnQVVUJywgaXNvMkNvZGU6ICdBVCcsIGRhdGFzZXRDb2RlOiAnYXotYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0F6ZXJiYWlqYW4nLCBpc28zQ29kZTogJ0FaRScsIGlzbzJDb2RlOiAnQVonLCBkYXRhc2V0Q29kZTogJ2F6LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdBemVyYmFpamFuJywgaXNvM0NvZGU6ICdBWkUnLCBpc28yQ29kZTogJ0FaJywgZGF0YXNldENvZGU6ICdhei1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCYWhhbWFzJywgaXNvM0NvZGU6ICdCSFMnLCBpc28yQ29kZTogJ0JTJywgZGF0YXNldENvZGU6ICdicy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmFoYW1hcycsIGlzbzNDb2RlOiAnQkhTJywgaXNvMkNvZGU6ICdCUycsIGRhdGFzZXRDb2RlOiAnYnMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQmFocmFpbicsIGlzbzNDb2RlOiAnQkhSJywgaXNvMkNvZGU6ICdCSCcsIGRhdGFzZXRDb2RlOiAnYmgtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0JhaHJhaW4nLCBpc28zQ29kZTogJ0JIUicsIGlzbzJDb2RlOiAnQkgnLCBkYXRhc2V0Q29kZTogJ2JoLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0JhbmdsYWRlc2gnLCBpc28zQ29kZTogJ0JHRCcsIGlzbzJDb2RlOiAnQkQnLCBkYXRhc2V0Q29kZTogJ2JkLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdCYW5nbGFkZXNoJywgaXNvM0NvZGU6ICdCR0QnLCBpc28yQ29kZTogJ0JEJywgZGF0YXNldENvZGU6ICdiZC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCYXJiYWRvcycsIGlzbzNDb2RlOiAnQlJCJywgaXNvMkNvZGU6ICdCQicsIGRhdGFzZXRDb2RlOiAnYmItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0JhcmJhZG9zJywgaXNvM0NvZGU6ICdCUkInLCBpc28yQ29kZTogJ0JCJywgZGF0YXNldENvZGU6ICdiYi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCZWxhcnVzJywgaXNvM0NvZGU6ICdCTFInLCBpc28yQ29kZTogJ0JZJywgZGF0YXNldENvZGU6ICdieS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmVsYXJ1cycsIGlzbzNDb2RlOiAnQkxSJywgaXNvMkNvZGU6ICdCWScsIGRhdGFzZXRDb2RlOiAnYnktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQmVsZ2l1bScsIGlzbzNDb2RlOiAnQkVMJywgaXNvMkNvZGU6ICdCRScsIGRhdGFzZXRDb2RlOiAnYmUtYWRkcmVzcycsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93bid9LFxuICB7Y291bnRyeTogJ0JlbGdpdW0nLCBpc28zQ29kZTogJ0JFTCcsIGlzbzJDb2RlOiAnQkUnLCBkYXRhc2V0Q29kZTogJ2JlLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmVsZ2l1bScsIGlzbzNDb2RlOiAnQkVMJywgaXNvMkNvZGU6ICdCRScsIGRhdGFzZXRDb2RlOiAnYmUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQmVsaXplJywgaXNvM0NvZGU6ICdCTFonLCBpc28yQ29kZTogJ0JaJywgZGF0YXNldENvZGU6ICdiei1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmVsaXplJywgaXNvM0NvZGU6ICdCTFonLCBpc28yQ29kZTogJ0JaJywgZGF0YXNldENvZGU6ICdiei1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCZW5pbicsIGlzbzNDb2RlOiAnQkVOJywgaXNvMkNvZGU6ICdCSicsIGRhdGFzZXRDb2RlOiAnYmotYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0JlbmluJywgaXNvM0NvZGU6ICdCRU4nLCBpc28yQ29kZTogJ0JKJywgZGF0YXNldENvZGU6ICdiai1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCZXJtdWRhJywgaXNvM0NvZGU6ICdCTVUnLCBpc28yQ29kZTogJ0JNJywgZGF0YXNldENvZGU6ICdibS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmVybXVkYScsIGlzbzNDb2RlOiAnQk1VJywgaXNvMkNvZGU6ICdCTScsIGRhdGFzZXRDb2RlOiAnYm0tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQmh1dGFuJywgaXNvM0NvZGU6ICdCVE4nLCBpc28yQ29kZTogJ0JUJywgZGF0YXNldENvZGU6ICdidC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQmh1dGFuJywgaXNvM0NvZGU6ICdCVE4nLCBpc28yQ29kZTogJ0JUJywgZGF0YXNldENvZGU6ICdidC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCb2xpdmlhJywgaXNvM0NvZGU6ICdCT0wnLCBpc28yQ29kZTogJ0JPJywgZGF0YXNldENvZGU6ICdiby1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQm9saXZpYScsIGlzbzNDb2RlOiAnQk9MJywgaXNvMkNvZGU6ICdCTycsIGRhdGFzZXRDb2RlOiAnYm8tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEnLCBpc28zQ29kZTogJ0JFUycsIGlzbzJDb2RlOiAnQlEnLCBkYXRhc2V0Q29kZTogJ2JxLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYScsIGlzbzNDb2RlOiAnQkVTJywgaXNvMkNvZGU6ICdCUScsIGRhdGFzZXRDb2RlOiAnYnEtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScsIGlzbzNDb2RlOiAnQklIJywgaXNvMkNvZGU6ICdCQScsIGRhdGFzZXRDb2RlOiAnYmEtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEnLCBpc28zQ29kZTogJ0JJSCcsIGlzbzJDb2RlOiAnQkEnLCBkYXRhc2V0Q29kZTogJ2JhLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0JvdHN3YW5hJywgaXNvM0NvZGU6ICdCV0EnLCBpc28yQ29kZTogJ0JXJywgZGF0YXNldENvZGU6ICdidy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQm90c3dhbmEnLCBpc28zQ29kZTogJ0JXQScsIGlzbzJDb2RlOiAnQlcnLCBkYXRhc2V0Q29kZTogJ2J3LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0JyYXppbCcsIGlzbzNDb2RlOiAnQlJBJywgaXNvMkNvZGU6ICdCUicsIGRhdGFzZXRDb2RlOiAnYnItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0JyYXppbCcsIGlzbzNDb2RlOiAnQlJBJywgaXNvMkNvZGU6ICdCUicsIGRhdGFzZXRDb2RlOiAnYnItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQnJ1bmVpIERhcnVzc2FsYW0nLCBpc28zQ29kZTogJ0JSTicsIGlzbzJDb2RlOiAnQk4nLCBkYXRhc2V0Q29kZTogJ2JuLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdCcnVuZWkgRGFydXNzYWxhbScsIGlzbzNDb2RlOiAnQlJOJywgaXNvMkNvZGU6ICdCTicsIGRhdGFzZXRDb2RlOiAnYm4tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQnVsZ2FyaWEnLCBpc28zQ29kZTogJ0JHUicsIGlzbzJDb2RlOiAnQkcnLCBkYXRhc2V0Q29kZTogJ2JnLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdCdWxnYXJpYScsIGlzbzNDb2RlOiAnQkdSJywgaXNvMkNvZGU6ICdCRycsIGRhdGFzZXRDb2RlOiAnYmctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQnVya2luYSBGYXNvJywgaXNvM0NvZGU6ICdCRkEnLCBpc28yQ29kZTogJ0JGJywgZGF0YXNldENvZGU6ICdiZi1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQnVya2luYSBGYXNvJywgaXNvM0NvZGU6ICdCRkEnLCBpc28yQ29kZTogJ0JGJywgZGF0YXNldENvZGU6ICdiZi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdCdXJ1bmRpJywgaXNvM0NvZGU6ICdCREknLCBpc28yQ29kZTogJ0JJJywgZGF0YXNldENvZGU6ICdiaS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdDYW1ib2RpYScsIGlzbzNDb2RlOiAnS0hNJywgaXNvMkNvZGU6ICdLSCcsIGRhdGFzZXRDb2RlOiAna2gtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NhbWJvZGlhJywgaXNvM0NvZGU6ICdLSE0nLCBpc28yQ29kZTogJ0tIJywgZGF0YXNldENvZGU6ICdraC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdDYW1lcm9vbicsIGlzbzNDb2RlOiAnQ01SJywgaXNvMkNvZGU6ICdDTScsIGRhdGFzZXRDb2RlOiAnY20tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NhbWVyb29uJywgaXNvM0NvZGU6ICdDTVInLCBpc28yQ29kZTogJ0NNJywgZGF0YXNldENvZGU6ICdjbS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdDYW5hZGEnLCBpc28zQ29kZTogJ0NBTicsIGlzbzJDb2RlOiAnQ0EnLCBkYXRhc2V0Q29kZTogJ2NhLWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBzaW5nbGVsaW5lLCB0eXBlZG93biwgdmFsaWRhdGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ2FwZSBWZXJkZScsIGlzbzNDb2RlOiAnQ1BWJywgaXNvMkNvZGU6ICdDVicsIGRhdGFzZXRDb2RlOiAnY3YtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NhcGUgVmVyZGUnLCBpc28zQ29kZTogJ0NQVicsIGlzbzJDb2RlOiAnQ1YnLCBkYXRhc2V0Q29kZTogJ2N2LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NheW1hbiBJc2xhbmRzJywgaXNvM0NvZGU6ICdDWU0nLCBpc28yQ29kZTogJ0tZJywgZGF0YXNldENvZGU6ICdreS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ2F5bWFuIElzbGFuZHMnLCBpc28zQ29kZTogJ0NZTScsIGlzbzJDb2RlOiAnS1knLCBkYXRhc2V0Q29kZTogJ2t5LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsIGlzbzNDb2RlOiAnQ0FGJywgaXNvMkNvZGU6ICdDRicsIGRhdGFzZXRDb2RlOiAnY2YtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYycsIGlzbzNDb2RlOiAnQ0FGJywgaXNvMkNvZGU6ICdDRicsIGRhdGFzZXRDb2RlOiAnY2YtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ2hhZCcsIGlzbzNDb2RlOiAnVENEJywgaXNvMkNvZGU6ICdURCcsIGRhdGFzZXRDb2RlOiAndGQtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NoYWQnLCBpc28zQ29kZTogJ1RDRCcsIGlzbzJDb2RlOiAnVEQnLCBkYXRhc2V0Q29kZTogJ3RkLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NoaWxlJywgaXNvM0NvZGU6ICdDSEwnLCBpc28yQ29kZTogJ0NMJywgZGF0YXNldENvZGU6ICdjbC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ2hpbGUnLCBpc28zQ29kZTogJ0NITCcsIGlzbzJDb2RlOiAnQ0wnLCBkYXRhc2V0Q29kZTogJ2NsLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NoaW5hJywgaXNvM0NvZGU6ICdDSE4nLCBpc28yQ29kZTogJ0NOJywgZGF0YXNldENvZGU6ICdjbi1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ2hpbmEnLCBpc28zQ29kZTogJ0NITicsIGlzbzJDb2RlOiAnQ04nLCBkYXRhc2V0Q29kZTogJ2NuLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NocmlzdG1hcyBJc2xhbmQnLCBpc28zQ29kZTogJ0NYUicsIGlzbzJDb2RlOiAnQ1gnLCBkYXRhc2V0Q29kZTogJ2N4LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NvY29zIElzbGFuZCcsIGlzbzNDb2RlOiAnQ0NLJywgaXNvMkNvZGU6ICdDQycsIGRhdGFzZXRDb2RlOiAnY2MtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ29sb21iaWEnLCBpc28zQ29kZTogJ0NPTCcsIGlzbzJDb2RlOiAnQ08nLCBkYXRhc2V0Q29kZTogJ2NvLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdDb2xvbWJpYScsIGlzbzNDb2RlOiAnQ09MJywgaXNvMkNvZGU6ICdDTycsIGRhdGFzZXRDb2RlOiAnY28tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ29tb3JvcycsIGlzbzNDb2RlOiAnQ09NJywgaXNvMkNvZGU6ICdLTScsIGRhdGFzZXRDb2RlOiAna20tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0NvbW9yb3MnLCBpc28zQ29kZTogJ0NPTScsIGlzbzJDb2RlOiAnS00nLCBkYXRhc2V0Q29kZTogJ2ttLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NvbmdvJywgaXNvM0NvZGU6ICdDT0cnLCBpc28yQ29kZTogJ0NHJywgZGF0YXNldENvZGU6ICdjZy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ29uZ28nLCBpc28zQ29kZTogJ0NPRycsIGlzbzJDb2RlOiAnQ0cnLCBkYXRhc2V0Q29kZTogJ2NnLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0NvbmdvLCBUaGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnLCBpc28zQ29kZTogJ0NPRCcsIGlzbzJDb2RlOiAnQ0QnLCBkYXRhc2V0Q29kZTogJ2NkLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdDb25nbywgVGhlIERlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlJywgaXNvM0NvZGU6ICdDT0QnLCBpc28yQ29kZTogJ0NEJywgZGF0YXNldENvZGU6ICdjZC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdDb29rIElzbGFuZHMnLCBpc28zQ29kZTogJ0NPSycsIGlzbzJDb2RlOiAnQ0snLCBkYXRhc2V0Q29kZTogJ2NrLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdDb29rIElzbGFuZHMnLCBpc28zQ29kZTogJ0NPSycsIGlzbzJDb2RlOiAnQ0snLCBkYXRhc2V0Q29kZTogJ2NrLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0Nvc3RhIFJpY2EnLCBpc28zQ29kZTogJ0NSSScsIGlzbzJDb2RlOiAnQ1InLCBkYXRhc2V0Q29kZTogJ2NyLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdDb3N0YSBSaWNhJywgaXNvM0NvZGU6ICdDUkknLCBpc28yQ29kZTogJ0NSJywgZGF0YXNldENvZGU6ICdjci1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdDcm9hdGlhJywgaXNvM0NvZGU6ICdIUlYnLCBpc28yQ29kZTogJ0hSJywgZGF0YXNldENvZGU6ICdoci1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ3JvYXRpYScsIGlzbzNDb2RlOiAnSFJWJywgaXNvMkNvZGU6ICdIUicsIGRhdGFzZXRDb2RlOiAnaHItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ3ViYScsIGlzbzNDb2RlOiAnQ1VCJywgaXNvMkNvZGU6ICdDVScsIGRhdGFzZXRDb2RlOiAnY3UtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0N1YmEnLCBpc28zQ29kZTogJ0NVQicsIGlzbzJDb2RlOiAnQ1UnLCBkYXRhc2V0Q29kZTogJ2N1LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0N1cmHDp2FvJywgaXNvM0NvZGU6ICdDVVcnLCBpc28yQ29kZTogJ0NXJywgZGF0YXNldENvZGU6ICdjdy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnQ3VyYcOnYW8nLCBpc28zQ29kZTogJ0NVVycsIGlzbzJDb2RlOiAnQ1cnLCBkYXRhc2V0Q29kZTogJ2N3LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0N5cHJ1cycsIGlzbzNDb2RlOiAnQ1lQJywgaXNvMkNvZGU6ICdDWScsIGRhdGFzZXRDb2RlOiAnY3ktYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0N5cHJ1cycsIGlzbzNDb2RlOiAnQ1lQJywgaXNvMkNvZGU6ICdDWScsIGRhdGFzZXRDb2RlOiAnY3ktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ3plY2ggUmVwdWJsaWMnLCBpc28zQ29kZTogJ0NaRScsIGlzbzJDb2RlOiAnQ1onLCBkYXRhc2V0Q29kZTogJ2N6LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdDemVjaCBSZXB1YmxpYycsIGlzbzNDb2RlOiAnQ1pFJywgaXNvMkNvZGU6ICdDWicsIGRhdGFzZXRDb2RlOiAnY3otYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnQ8O0dGUgZFxcJ0l2b2lyZScsIGlzbzNDb2RlOiAnQ0lWJywgaXNvMkNvZGU6ICdDSScsIGRhdGFzZXRDb2RlOiAnY2ktYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0PDtHRlIGRcXCdJdm9pcmUnLCBpc28zQ29kZTogJ0NJVicsIGlzbzJDb2RlOiAnQ0knLCBkYXRhc2V0Q29kZTogJ2NpLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0Rlbm1hcmsnLCBpc28zQ29kZTogJ0ROSycsIGlzbzJDb2RlOiAnREsnLCBkYXRhc2V0Q29kZTogJ2RrLWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnRGVubWFyaycsIGlzbzNDb2RlOiAnRE5LJywgaXNvMkNvZGU6ICdESycsIGRhdGFzZXRDb2RlOiAnZGstYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRGppYm91dGknLCBpc28zQ29kZTogJ0RKSScsIGlzbzJDb2RlOiAnREonLCBkYXRhc2V0Q29kZTogJ2RqLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdEamlib3V0aScsIGlzbzNDb2RlOiAnREpJJywgaXNvMkNvZGU6ICdESicsIGRhdGFzZXRDb2RlOiAnZGotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRG9taW5pY2EnLCBpc28zQ29kZTogJ0RNQScsIGlzbzJDb2RlOiAnRE0nLCBkYXRhc2V0Q29kZTogJ2RtLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdEb21pbmljYScsIGlzbzNDb2RlOiAnRE1BJywgaXNvMkNvZGU6ICdETScsIGRhdGFzZXRDb2RlOiAnZG0tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRG9taW5pY2FuIFJlcHVibGljJywgaXNvM0NvZGU6ICdET00nLCBpc28yQ29kZTogJ0RPJywgZGF0YXNldENvZGU6ICdkby1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnRG9taW5pY2FuIFJlcHVibGljJywgaXNvM0NvZGU6ICdET00nLCBpc28yQ29kZTogJ0RPJywgZGF0YXNldENvZGU6ICdkby1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdFY3VhZG9yJywgaXNvM0NvZGU6ICdFQ1UnLCBpc28yQ29kZTogJ0VDJywgZGF0YXNldENvZGU6ICdlYy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnRWN1YWRvcicsIGlzbzNDb2RlOiAnRUNVJywgaXNvMkNvZGU6ICdFQycsIGRhdGFzZXRDb2RlOiAnZWMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRWd5cHQnLCBpc28zQ29kZTogJ0VHWScsIGlzbzJDb2RlOiAnRUcnLCBkYXRhc2V0Q29kZTogJ2VnLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdFZ3lwdCcsIGlzbzNDb2RlOiAnRUdZJywgaXNvMkNvZGU6ICdFRycsIGRhdGFzZXRDb2RlOiAnZWctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRWwgU2FsdmFkb3InLCBpc28zQ29kZTogJ1NMVicsIGlzbzJDb2RlOiAnU1YnLCBkYXRhc2V0Q29kZTogJ3N2LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdFbCBTYWx2YWRvcicsIGlzbzNDb2RlOiAnU0xWJywgaXNvMkNvZGU6ICdTVicsIGRhdGFzZXRDb2RlOiAnc3YtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRXF1YXRvcmlhbCBHdWluZWEnLCBpc28zQ29kZTogJ0dOUScsIGlzbzJDb2RlOiAnR1EnLCBkYXRhc2V0Q29kZTogJ2dxLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdFcXVhdG9yaWFsIEd1aW5lYScsIGlzbzNDb2RlOiAnR05RJywgaXNvMkNvZGU6ICdHUScsIGRhdGFzZXRDb2RlOiAnZ3EtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRXJpdHJlYScsIGlzbzNDb2RlOiAnRVJJJywgaXNvMkNvZGU6ICdFUicsIGRhdGFzZXRDb2RlOiAnZXItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0VyaXRyZWEnLCBpc28zQ29kZTogJ0VSSScsIGlzbzJDb2RlOiAnRVInLCBkYXRhc2V0Q29kZTogJ2VyLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0VzdG9uaWEnLCBpc28zQ29kZTogJ0VTVCcsIGlzbzJDb2RlOiAnRUUnLCBkYXRhc2V0Q29kZTogJ2VlLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdFc3RvbmlhJywgaXNvM0NvZGU6ICdFU1QnLCBpc28yQ29kZTogJ0VFJywgZGF0YXNldENvZGU6ICdlZS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdFdGhpb3BpYScsIGlzbzNDb2RlOiAnRVRIJywgaXNvMkNvZGU6ICdFVCcsIGRhdGFzZXRDb2RlOiAnZXQtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0V0aGlvcGlhJywgaXNvM0NvZGU6ICdFVEgnLCBpc28yQ29kZTogJ0VUJywgZGF0YXNldENvZGU6ICdldC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdGYWxrbGFuZCBJc2xhbmRzIChNYWx2aW5hcyknLCBpc28zQ29kZTogJ0ZMSycsIGlzbzJDb2RlOiAnRksnLCBkYXRhc2V0Q29kZTogJ2ZrLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0Zhcm9lIElzbGFuZHMnLCBpc28zQ29kZTogJ0ZSTycsIGlzbzJDb2RlOiAnRk8nLCBkYXRhc2V0Q29kZTogJ2ZvLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdGYXJvZSBJc2xhbmRzJywgaXNvM0NvZGU6ICdGUk8nLCBpc28yQ29kZTogJ0ZPJywgZGF0YXNldENvZGU6ICdmby1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdGaWppJywgaXNvM0NvZGU6ICdGSkknLCBpc28yQ29kZTogJ0ZKJywgZGF0YXNldENvZGU6ICdmai1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnRmlqaScsIGlzbzNDb2RlOiAnRkpJJywgaXNvMkNvZGU6ICdGSicsIGRhdGFzZXRDb2RlOiAnZmotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRmlubGFuZCcsIGlzbzNDb2RlOiAnRklOJywgaXNvMkNvZGU6ICdGSScsIGRhdGFzZXRDb2RlOiAnZmktYWRkcmVzcycsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93bid9LFxuICB7Y291bnRyeTogJ0ZpbmxhbmQnLCBpc28zQ29kZTogJ0ZJTicsIGlzbzJDb2RlOiAnRkknLCBkYXRhc2V0Q29kZTogJ2ZpLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAndmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdGaW5sYW5kJywgaXNvM0NvZGU6ICdGSU4nLCBpc28yQ29kZTogJ0ZJJywgZGF0YXNldENvZGU6ICdmaS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdGcmFuY2UgU3RyZWV0IExldmVsJywgaXNvM0NvZGU6ICdGUkEnLCBpc28yQ29kZTogJ0ZSJywgZGF0YXNldENvZGU6ICdmci1hZGRyZXNzLXN0cmVldGxldmVsJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHR5cGVkb3duLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0ZyYW5jZSBTdWItUHJlbWlzZXMgTGV2ZWwnLCBpc28zQ29kZTogJ0ZSQScsIGlzbzJDb2RlOiAnRlInLCBkYXRhc2V0Q29kZTogJ2ZyLWFkZGl0aW9uYWwtaGV4YWxpbmUzJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24nfSxcbiAge2NvdW50cnk6ICdGcmFuY2UgUHJlbWlzZXMgTGV2ZWwnLCBpc28zQ29kZTogJ0ZSQScsIGlzbzJDb2RlOiAnRlInLCBkYXRhc2V0Q29kZTogJ2ZyLWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnRnJlbmNoIEd1aWFuYScsIGlzbzNDb2RlOiAnR1VGJywgaXNvMkNvZGU6ICdHRicsIGRhdGFzZXRDb2RlOiAnZ2YtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnRnJlbmNoIFBvbHluZXNpYScsIGlzbzNDb2RlOiAnUFlGJywgaXNvMkNvZGU6ICdQRicsIGRhdGFzZXRDb2RlOiAncGYtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR2Fib24nLCBpc28zQ29kZTogJ0dBQicsIGlzbzJDb2RlOiAnR0EnLCBkYXRhc2V0Q29kZTogJ2dhLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdHYWJvbicsIGlzbzNDb2RlOiAnR0FCJywgaXNvMkNvZGU6ICdHQScsIGRhdGFzZXRDb2RlOiAnZ2EtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR2FtYmlhJywgaXNvM0NvZGU6ICdHTUInLCBpc28yQ29kZTogJ0dNJywgZGF0YXNldENvZGU6ICdnbS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR2FtYmlhJywgaXNvM0NvZGU6ICdHTUInLCBpc28yQ29kZTogJ0dNJywgZGF0YXNldENvZGU6ICdnbS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdHZW9yZ2lhJywgaXNvM0NvZGU6ICdHRU8nLCBpc28yQ29kZTogJ0dFJywgZGF0YXNldENvZGU6ICdnZS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR2VvcmdpYScsIGlzbzNDb2RlOiAnR0VPJywgaXNvMkNvZGU6ICdHRScsIGRhdGFzZXRDb2RlOiAnZ2UtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR2VybWFueScsIGlzbzNDb2RlOiAnREVVJywgaXNvMkNvZGU6ICdERScsIGRhdGFzZXRDb2RlOiAnZGUtYWRkcmVzcycsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93biwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdHZXJtYW55JywgaXNvM0NvZGU6ICdERVUnLCBpc28yQ29kZTogJ0RFJywgZGF0YXNldENvZGU6ICdkZS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3ZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR2VybWFueScsIGlzbzNDb2RlOiAnREVVJywgaXNvMkNvZGU6ICdERScsIGRhdGFzZXRDb2RlOiAnZGUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR2hhbmEnLCBpc28zQ29kZTogJ0dIQScsIGlzbzJDb2RlOiAnR0gnLCBkYXRhc2V0Q29kZTogJ2doLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdHaGFuYScsIGlzbzNDb2RlOiAnR0hBJywgaXNvMkNvZGU6ICdHSCcsIGRhdGFzZXRDb2RlOiAnZ2gtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR2licmFsdGFyJywgaXNvM0NvZGU6ICdHSUInLCBpc28yQ29kZTogJ0dJJywgZGF0YXNldENvZGU6ICdnaS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdHcmVlY2UnLCBpc28zQ29kZTogJ0dSQycsIGlzbzJDb2RlOiAnR1InLCBkYXRhc2V0Q29kZTogJ2dyLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdHcmVlY2UnLCBpc28zQ29kZTogJ0dSQycsIGlzbzJDb2RlOiAnR1InLCBkYXRhc2V0Q29kZTogJ2dyLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0dyZWVubGFuZCcsIGlzbzNDb2RlOiAnR1JMJywgaXNvMkNvZGU6ICdHTCcsIGRhdGFzZXRDb2RlOiAnZ2wtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0dyZWVubGFuZCcsIGlzbzNDb2RlOiAnR1JMJywgaXNvMkNvZGU6ICdHTCcsIGRhdGFzZXRDb2RlOiAnZ2wtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR3JlbmFkYScsIGlzbzNDb2RlOiAnR1JEJywgaXNvMkNvZGU6ICdHRCcsIGRhdGFzZXRDb2RlOiAnZ2QtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0dyZW5hZGEnLCBpc28zQ29kZTogJ0dSRCcsIGlzbzJDb2RlOiAnR0QnLCBkYXRhc2V0Q29kZTogJ2dkLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0d1YWRlbG91cGUnLCBpc28zQ29kZTogJ0dMUCcsIGlzbzJDb2RlOiAnR1AnLCBkYXRhc2V0Q29kZTogJ2dwLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0d1YW0nLCBpc28zQ29kZTogJ0dVTScsIGlzbzJDb2RlOiAnR1UnLCBkYXRhc2V0Q29kZTogJ2d1LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0d1YXRlbWFsYScsIGlzbzNDb2RlOiAnR1RNJywgaXNvMkNvZGU6ICdHVCcsIGRhdGFzZXRDb2RlOiAnZ3QtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0d1YXRlbWFsYScsIGlzbzNDb2RlOiAnR1RNJywgaXNvMkNvZGU6ICdHVCcsIGRhdGFzZXRDb2RlOiAnZ3QtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR3VpbmVhJywgaXNvM0NvZGU6ICdHSU4nLCBpc28yQ29kZTogJ0dOJywgZGF0YXNldENvZGU6ICdnbi1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR3VpbmVhJywgaXNvM0NvZGU6ICdHSU4nLCBpc28yQ29kZTogJ0dOJywgZGF0YXNldENvZGU6ICdnbi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdHdWluZWEtQmlzc2F1JywgaXNvM0NvZGU6ICdHTkInLCBpc28yQ29kZTogJ0dXJywgZGF0YXNldENvZGU6ICdndy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR3VpbmVhLUJpc3NhdScsIGlzbzNDb2RlOiAnR05CJywgaXNvMkNvZGU6ICdHVycsIGRhdGFzZXRDb2RlOiAnZ3ctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnR3V5YW5hJywgaXNvM0NvZGU6ICdHVVknLCBpc28yQ29kZTogJ0dZJywgZGF0YXNldENvZGU6ICdneS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnR3V5YW5hJywgaXNvM0NvZGU6ICdHVVknLCBpc28yQ29kZTogJ0dZJywgZGF0YXNldENvZGU6ICdneS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdIYWl0aScsIGlzbzNDb2RlOiAnSFRJJywgaXNvMkNvZGU6ICdIVCcsIGRhdGFzZXRDb2RlOiAnaHQtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0hhaXRpJywgaXNvM0NvZGU6ICdIVEknLCBpc28yQ29kZTogJ0hUJywgZGF0YXNldENvZGU6ICdodC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdIb25kdXJhcycsIGlzbzNDb2RlOiAnSE5EJywgaXNvMkNvZGU6ICdITicsIGRhdGFzZXRDb2RlOiAnaG4tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0hvbmR1cmFzJywgaXNvM0NvZGU6ICdITkQnLCBpc28yQ29kZTogJ0hOJywgZGF0YXNldENvZGU6ICdobi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdIb25nIEtvbmcnLCBpc28zQ29kZTogJ0hLRycsIGlzbzJDb2RlOiAnSEsnLCBkYXRhc2V0Q29kZTogJ2hrLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdIb25nIEtvbmcnLCBpc28zQ29kZTogJ0hLRycsIGlzbzJDb2RlOiAnSEsnLCBkYXRhc2V0Q29kZTogJ2hrLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0h1bmdhcnknLCBpc28zQ29kZTogJ0hVTicsIGlzbzJDb2RlOiAnSFUnLCBkYXRhc2V0Q29kZTogJ2h1LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdIdW5nYXJ5JywgaXNvM0NvZGU6ICdIVU4nLCBpc28yQ29kZTogJ0hVJywgZGF0YXNldENvZGU6ICdodS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdJY2VsYW5kJywgaXNvM0NvZGU6ICdJU0wnLCBpc28yQ29kZTogJ0lTJywgZGF0YXNldENvZGU6ICdpcy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnSWNlbGFuZCcsIGlzbzNDb2RlOiAnSVNMJywgaXNvMkNvZGU6ICdJUycsIGRhdGFzZXRDb2RlOiAnaXMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnSW5kaWEnLCBpc28zQ29kZTogJ0lORCcsIGlzbzJDb2RlOiAnSU4nLCBkYXRhc2V0Q29kZTogJ2luLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdJbmRpYScsIGlzbzNDb2RlOiAnSU5EJywgaXNvMkNvZGU6ICdJTicsIGRhdGFzZXRDb2RlOiAnaW4tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnSW5kb25lc2lhJywgaXNvM0NvZGU6ICdJRE4nLCBpc28yQ29kZTogJ0lEJywgZGF0YXNldENvZGU6ICdpZC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnSW5kb25lc2lhJywgaXNvM0NvZGU6ICdJRE4nLCBpc28yQ29kZTogJ0lEJywgZGF0YXNldENvZGU6ICdpZC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdJUk4nLCBpc28yQ29kZTogJ0lSJywgZGF0YXNldENvZGU6ICdpci1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnSXJhbiwgSXNsYW1pYyBSZXB1YmxpYyBvZicsIGlzbzNDb2RlOiAnSVJOJywgaXNvMkNvZGU6ICdJUicsIGRhdGFzZXRDb2RlOiAnaXItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnSXJhcScsIGlzbzNDb2RlOiAnSVJRJywgaXNvMkNvZGU6ICdJUScsIGRhdGFzZXRDb2RlOiAnaXEtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0lyYXEnLCBpc28zQ29kZTogJ0lSUScsIGlzbzJDb2RlOiAnSVEnLCBkYXRhc2V0Q29kZTogJ2lxLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0lyZWxhbmQnLCBpc28zQ29kZTogJ0lSTCcsIGlzbzJDb2RlOiAnSUUnLCBkYXRhc2V0Q29kZTogJ2llLWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24nfSxcbiAge2NvdW50cnk6ICdJcmVsYW5kJywgaXNvM0NvZGU6ICdJUkwnLCBpc28yQ29kZTogJ0lFJywgZGF0YXNldENvZGU6ICdpZS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdJcmVsYW5kIEVpcmNvZGUnLCBpc28zQ29kZTogJ0lSTCcsIGlzbzJDb2RlOiAnSUUnLCBkYXRhc2V0Q29kZTogJ2llLWFkZGl0aW9uYWwtZWlyY29kZScsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnSXJlbGFuZCBFQ0FEJywgaXNvM0NvZGU6ICdJUkwnLCBpc28yQ29kZTogJ0lFJywgZGF0YXNldENvZGU6ICdpZS1hZGRyZXNzLWVjYWQnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Miwgc2luZ2xlbGluZSwgdHlwZWRvd24nfSxcbiAge2NvdW50cnk6ICdJc3JhZWwnLCBpc28zQ29kZTogJ0lTUicsIGlzbzJDb2RlOiAnSUwnLCBkYXRhc2V0Q29kZTogJ2lsLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdJc3JhZWwnLCBpc28zQ29kZTogJ0lTUicsIGlzbzJDb2RlOiAnSUwnLCBkYXRhc2V0Q29kZTogJ2lsLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0l0YWx5JywgaXNvM0NvZGU6ICdJVEEnLCBpc28yQ29kZTogJ0lUJywgZGF0YXNldENvZGU6ICdpdC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnSXRhbHknLCBpc28zQ29kZTogJ0lUQScsIGlzbzJDb2RlOiAnSVQnLCBkYXRhc2V0Q29kZTogJ2l0LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0phbWFpY2EnLCBpc28zQ29kZTogJ0pBTScsIGlzbzJDb2RlOiAnSk0nLCBkYXRhc2V0Q29kZTogJ2ptLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdKYW1haWNhJywgaXNvM0NvZGU6ICdKQU0nLCBpc28yQ29kZTogJ0pNJywgZGF0YXNldENvZGU6ICdqbS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdKYXBhbicsIGlzbzNDb2RlOiAnSlBOJywgaXNvMkNvZGU6ICdKUCcsIGRhdGFzZXRDb2RlOiAnanAtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0phcGFuJywgaXNvM0NvZGU6ICdKUE4nLCBpc28yQ29kZTogJ0pQJywgZGF0YXNldENvZGU6ICdqcC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdKb3JkYW4nLCBpc28zQ29kZTogJ0pPUicsIGlzbzJDb2RlOiAnSk8nLCBkYXRhc2V0Q29kZTogJ2pvLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdKb3JkYW4nLCBpc28zQ29kZTogJ0pPUicsIGlzbzJDb2RlOiAnSk8nLCBkYXRhc2V0Q29kZTogJ2pvLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0themFraHN0YW4nLCBpc28zQ29kZTogJ0tBWicsIGlzbzJDb2RlOiAnS1onLCBkYXRhc2V0Q29kZTogJ2t6LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdLYXpha2hzdGFuJywgaXNvM0NvZGU6ICdLQVonLCBpc28yQ29kZTogJ0taJywgZGF0YXNldENvZGU6ICdrei1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdLZW55YScsIGlzbzNDb2RlOiAnS0VOJywgaXNvMkNvZGU6ICdLRScsIGRhdGFzZXRDb2RlOiAna2UtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0tlbnlhJywgaXNvM0NvZGU6ICdLRU4nLCBpc28yQ29kZTogJ0tFJywgZGF0YXNldENvZGU6ICdrZS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdLaXJpYmF0aScsIGlzbzNDb2RlOiAnS0lSJywgaXNvMkNvZGU6ICdLSScsIGRhdGFzZXRDb2RlOiAna2ktYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0tpcmliYXRpJywgaXNvM0NvZGU6ICdLSVInLCBpc28yQ29kZTogJ0tJJywgZGF0YXNldENvZGU6ICdraS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGVcXCdzIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdQUksnLCBpc28yQ29kZTogJ0tQJywgZGF0YXNldENvZGU6ICdrcC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlXFwncyBSZXB1YmxpYyBvZicsIGlzbzNDb2RlOiAnUFJLJywgaXNvMkNvZGU6ICdLUCcsIGRhdGFzZXRDb2RlOiAna3AtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnS29yZWEsIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdLT1InLCBpc28yQ29kZTogJ0tSJywgZGF0YXNldENvZGU6ICdrci1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnS29yZWEsIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdLT1InLCBpc28yQ29kZTogJ0tSJywgZGF0YXNldENvZGU6ICdrci1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdLb3Nvdm8nLCBpc28zQ29kZTogJ0tPUycsIGlzbzJDb2RlOiAnWEsnLCBkYXRhc2V0Q29kZTogJ2t2LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0t1d2FpdCcsIGlzbzNDb2RlOiAnS1dUJywgaXNvMkNvZGU6ICdLVycsIGRhdGFzZXRDb2RlOiAna3ctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0t1d2FpdCcsIGlzbzNDb2RlOiAnS1dUJywgaXNvMkNvZGU6ICdLVycsIGRhdGFzZXRDb2RlOiAna3ctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnS3lyZ3l6c3RhbicsIGlzbzNDb2RlOiAnS0daJywgaXNvMkNvZGU6ICdLRycsIGRhdGFzZXRDb2RlOiAna2ctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0t5cmd5enN0YW4nLCBpc28zQ29kZTogJ0tHWicsIGlzbzJDb2RlOiAnS0cnLCBkYXRhc2V0Q29kZTogJ2tnLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0xhb3MnLCBpc28zQ29kZTogJ0xBTycsIGlzbzJDb2RlOiAnTEEnLCBkYXRhc2V0Q29kZTogJ2xhLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdMYW9zJywgaXNvM0NvZGU6ICdMQU8nLCBpc28yQ29kZTogJ0xBJywgZGF0YXNldENvZGU6ICdsYS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdMYXR2aWEnLCBpc28zQ29kZTogJ0xWQScsIGlzbzJDb2RlOiAnTFYnLCBkYXRhc2V0Q29kZTogJ2x2LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdMYXR2aWEnLCBpc28zQ29kZTogJ0xWQScsIGlzbzJDb2RlOiAnTFYnLCBkYXRhc2V0Q29kZTogJ2x2LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0xlYmFub24nLCBpc28zQ29kZTogJ0xCTicsIGlzbzJDb2RlOiAnTEInLCBkYXRhc2V0Q29kZTogJ2xiLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdMZWJhbm9uJywgaXNvM0NvZGU6ICdMQk4nLCBpc28yQ29kZTogJ0xCJywgZGF0YXNldENvZGU6ICdsYi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdMZXNvdGhvJywgaXNvM0NvZGU6ICdMU08nLCBpc28yQ29kZTogJ0xTJywgZGF0YXNldENvZGU6ICdscy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTGVzb3RobycsIGlzbzNDb2RlOiAnTFNPJywgaXNvMkNvZGU6ICdMUycsIGRhdGFzZXRDb2RlOiAnbHMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTGliZXJpYScsIGlzbzNDb2RlOiAnTEJSJywgaXNvMkNvZGU6ICdMUicsIGRhdGFzZXRDb2RlOiAnbHItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ0xpYmVyaWEnLCBpc28zQ29kZTogJ0xCUicsIGlzbzJDb2RlOiAnTFInLCBkYXRhc2V0Q29kZTogJ2xyLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0xpYnlhJywgaXNvM0NvZGU6ICdMQlknLCBpc28yQ29kZTogJ0xZJywgZGF0YXNldENvZGU6ICdseS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTGlieWEnLCBpc28zQ29kZTogJ0xCWScsIGlzbzJDb2RlOiAnTFknLCBkYXRhc2V0Q29kZTogJ2x5LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0xpZWNodGVuc3RlaW4nLCBpc28zQ29kZTogJ0xJRScsIGlzbzJDb2RlOiAnTEknLCBkYXRhc2V0Q29kZTogJ2xpLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdMaWVjaHRlbnN0ZWluJywgaXNvM0NvZGU6ICdMSUUnLCBpc28yQ29kZTogJ0xJJywgZGF0YXNldENvZGU6ICdsaS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdMaXRodWFuaWEnLCBpc28zQ29kZTogJ0xUVScsIGlzbzJDb2RlOiAnTFQnLCBkYXRhc2V0Q29kZTogJ2x0LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdMaXRodWFuaWEnLCBpc28zQ29kZTogJ0xUVScsIGlzbzJDb2RlOiAnTFQnLCBkYXRhc2V0Q29kZTogJ2x0LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ0x1eGVtYm91cmcnLCBpc28zQ29kZTogJ0xVWCcsIGlzbzJDb2RlOiAnTFUnLCBkYXRhc2V0Q29kZTogJ2x1LWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTHV4ZW1ib3VyZycsIGlzbzNDb2RlOiAnTFVYJywgaXNvMkNvZGU6ICdMVScsIGRhdGFzZXRDb2RlOiAnbHUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWFjYXUnLCBpc28zQ29kZTogJ01BQycsIGlzbzJDb2RlOiAnTU8nLCBkYXRhc2V0Q29kZTogJ2x2LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNYWNhdScsIGlzbzNDb2RlOiAnTUFDJywgaXNvMkNvZGU6ICdNTycsIGRhdGFzZXRDb2RlOiAnbHYtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWFkYWdhc2NhcicsIGlzbzNDb2RlOiAnTURHJywgaXNvMkNvZGU6ICdNRycsIGRhdGFzZXRDb2RlOiAnbW8tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01hZGFnYXNjYXInLCBpc28zQ29kZTogJ01ERycsIGlzbzJDb2RlOiAnTUcnLCBkYXRhc2V0Q29kZTogJ21vLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01hbGF3aScsIGlzbzNDb2RlOiAnTVdJJywgaXNvMkNvZGU6ICdNVycsIGRhdGFzZXRDb2RlOiAnbXctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01hbGF3aScsIGlzbzNDb2RlOiAnTVdJJywgaXNvMkNvZGU6ICdNVycsIGRhdGFzZXRDb2RlOiAnbXctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWFsYXlzaWEnLCBpc28zQ29kZTogJ01ZUycsIGlzbzJDb2RlOiAnTVknLCBkYXRhc2V0Q29kZTogJ215LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNYWxheXNpYScsIGlzbzNDb2RlOiAnTVlTJywgaXNvMkNvZGU6ICdNWScsIGRhdGFzZXRDb2RlOiAnbXktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWFsZGl2ZXMnLCBpc28zQ29kZTogJ01EVicsIGlzbzJDb2RlOiAnTVYnLCBkYXRhc2V0Q29kZTogJ212LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNYWxkaXZlcycsIGlzbzNDb2RlOiAnTURWJywgaXNvMkNvZGU6ICdNVicsIGRhdGFzZXRDb2RlOiAnbXYtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWFsaScsIGlzbzNDb2RlOiAnTUxJJywgaXNvMkNvZGU6ICdNTCcsIGRhdGFzZXRDb2RlOiAnbWwtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01hbGknLCBpc28zQ29kZTogJ01MSScsIGlzbzJDb2RlOiAnTUwnLCBkYXRhc2V0Q29kZTogJ21sLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01hbHRhJywgaXNvM0NvZGU6ICdNTFQnLCBpc28yQ29kZTogJ01UJywgZGF0YXNldENvZGU6ICdtdC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTWFsdGEnLCBpc28zQ29kZTogJ01MVCcsIGlzbzJDb2RlOiAnTVQnLCBkYXRhc2V0Q29kZTogJ210LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01hcnNoYWxsIElzbGFuZHMnLCBpc28zQ29kZTogJ01ITCcsIGlzbzJDb2RlOiAnTUgnLCBkYXRhc2V0Q29kZTogJ21oLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01hcnRpbmlxdWUnLCBpc28zQ29kZTogJ01UUScsIGlzbzJDb2RlOiAnTVEnLCBkYXRhc2V0Q29kZTogJ21xLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01hdXJpdGFuaWEnLCBpc28zQ29kZTogJ01SVCcsIGlzbzJDb2RlOiAnTVInLCBkYXRhc2V0Q29kZTogJ21yLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNYXVyaXRhbmlhJywgaXNvM0NvZGU6ICdNUlQnLCBpc28yQ29kZTogJ01SJywgZGF0YXNldENvZGU6ICdtci1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdNYXVyaXRpdXMnLCBpc28zQ29kZTogJ01VUycsIGlzbzJDb2RlOiAnTVUnLCBkYXRhc2V0Q29kZTogJ211LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNYXVyaXRpdXMnLCBpc28zQ29kZTogJ01VUycsIGlzbzJDb2RlOiAnTVUnLCBkYXRhc2V0Q29kZTogJ211LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01heW90dGUnLCBpc28zQ29kZTogJ01ZVCcsIGlzbzJDb2RlOiAnWVQnLCBkYXRhc2V0Q29kZTogJ3l0LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01leGljbycsIGlzbzNDb2RlOiAnTUVYJywgaXNvMkNvZGU6ICdNWCcsIGRhdGFzZXRDb2RlOiAnbXgtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01leGljbycsIGlzbzNDb2RlOiAnTUVYJywgaXNvMkNvZGU6ICdNWCcsIGRhdGFzZXRDb2RlOiAnbXgtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBvZicsIGlzbzNDb2RlOiAnRlNNJywgaXNvMkNvZGU6ICdGTScsIGRhdGFzZXRDb2RlOiAnZm0tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTW9sZG92YScsIGlzbzNDb2RlOiAnTURBJywgaXNvMkNvZGU6ICdNRCcsIGRhdGFzZXRDb2RlOiAnbWQtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01vbGRvdmEnLCBpc28zQ29kZTogJ01EQScsIGlzbzJDb2RlOiAnTUQnLCBkYXRhc2V0Q29kZTogJ21kLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01vbmFjbycsIGlzbzNDb2RlOiAnTUNPJywgaXNvMkNvZGU6ICdNQycsIGRhdGFzZXRDb2RlOiAnbWMtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01vbmFjbycsIGlzbzNDb2RlOiAnTUNPJywgaXNvMkNvZGU6ICdNQycsIGRhdGFzZXRDb2RlOiAnbWMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTW9uZ29saWEnLCBpc28zQ29kZTogJ01ORycsIGlzbzJDb2RlOiAnTU4nLCBkYXRhc2V0Q29kZTogJ21uLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNb25nb2xpYScsIGlzbzNDb2RlOiAnTU5HJywgaXNvMkNvZGU6ICdNTicsIGRhdGFzZXRDb2RlOiAnbW4tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTW9udGVuZWdybycsIGlzbzNDb2RlOiAnTU5FJywgaXNvMkNvZGU6ICdNRScsIGRhdGFzZXRDb2RlOiAnbWUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ01vbnRlbmVncm8nLCBpc28zQ29kZTogJ01ORScsIGlzbzJDb2RlOiAnTUUnLCBkYXRhc2V0Q29kZTogJ21lLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01vbnRzZXJyYXQnLCBpc28zQ29kZTogJ01TUicsIGlzbzJDb2RlOiAnTVMnLCBkYXRhc2V0Q29kZTogJ21zLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ01vcm9jY28nLCBpc28zQ29kZTogJ01BUicsIGlzbzJDb2RlOiAnTUEnLCBkYXRhc2V0Q29kZTogJ21hLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdNb3JvY2NvJywgaXNvM0NvZGU6ICdNQVInLCBpc28yQ29kZTogJ01BJywgZGF0YXNldENvZGU6ICdtYS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdNb3phbWJpcXVlJywgaXNvM0NvZGU6ICdNT1onLCBpc28yQ29kZTogJ01aJywgZGF0YXNldENvZGU6ICdtei1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTW96YW1iaXF1ZScsIGlzbzNDb2RlOiAnTU9aJywgaXNvMkNvZGU6ICdNWicsIGRhdGFzZXRDb2RlOiAnbXotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTXlhbm1hcicsIGlzbzNDb2RlOiAnTU1SJywgaXNvMkNvZGU6ICdNTScsIGRhdGFzZXRDb2RlOiAnbW0tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ015YW5tYXInLCBpc28zQ29kZTogJ01NUicsIGlzbzJDb2RlOiAnTU0nLCBkYXRhc2V0Q29kZTogJ21tLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ05hbWliaWEnLCBpc28zQ29kZTogJ05BTScsIGlzbzJDb2RlOiAnTkEnLCBkYXRhc2V0Q29kZTogJ25hLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdOYW1pYmlhJywgaXNvM0NvZGU6ICdOQU0nLCBpc28yQ29kZTogJ05BJywgZGF0YXNldENvZGU6ICduYS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdOYXVydScsIGlzbzNDb2RlOiAnTlJVJywgaXNvMkNvZGU6ICdOUicsIGRhdGFzZXRDb2RlOiAnbnItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ05hdXJ1JywgaXNvM0NvZGU6ICdOUlUnLCBpc28yQ29kZTogJ05SJywgZGF0YXNldENvZGU6ICduci1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdOZXBhbCcsIGlzbzNDb2RlOiAnTlBMJywgaXNvMkNvZGU6ICdOUCcsIGRhdGFzZXRDb2RlOiAnbnAtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ05lcGFsJywgaXNvM0NvZGU6ICdOUEwnLCBpc28yQ29kZTogJ05QJywgZGF0YXNldENvZGU6ICducC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdOZXRoZXJsYW5kcycsIGlzbzNDb2RlOiAnTkxEJywgaXNvMkNvZGU6ICdOTCcsIGRhdGFzZXRDb2RlOiAnbmwtYWRkcmVzcycsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93biwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdOZXRoZXJsYW5kcycsIGlzbzNDb2RlOiAnTkxEJywgaXNvMkNvZGU6ICdOTCcsIGRhdGFzZXRDb2RlOiAnbmwtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTmV3IENhbGVkb25pYScsIGlzbzNDb2RlOiAnTkNMJywgaXNvMkNvZGU6ICdOQycsIGRhdGFzZXRDb2RlOiAnbmMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTmV3IFplYWxhbmQgRGF0YUZ1c2lvbicsIGlzbzNDb2RlOiAnTlpMJywgaXNvMkNvZGU6ICdOWicsIGRhdGFzZXRDb2RlOiAnbnotYWRkaXRpb25hbC1kYXRhZnVzaW9uJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ05ldyBaZWFsYW5kIFBvc3RhbCBBZGRyZXNzJywgaXNvM0NvZGU6ICdOWkwnLCBpc28yQ29kZTogJ05aJywgZGF0YXNldENvZGU6ICduei1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ05pY2FyYWd1YScsIGlzbzNDb2RlOiAnTklDJywgaXNvMkNvZGU6ICdOSScsIGRhdGFzZXRDb2RlOiAnbmktYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ05pY2FyYWd1YScsIGlzbzNDb2RlOiAnTklDJywgaXNvMkNvZGU6ICdOSScsIGRhdGFzZXRDb2RlOiAnbmktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTmlnZXInLCBpc28zQ29kZTogJ05FUicsIGlzbzJDb2RlOiAnTkUnLCBkYXRhc2V0Q29kZTogJ25lLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdOaWdlcicsIGlzbzNDb2RlOiAnTkVSJywgaXNvMkNvZGU6ICdORScsIGRhdGFzZXRDb2RlOiAnbmUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTmlnZXJpYScsIGlzbzNDb2RlOiAnTkdBJywgaXNvMkNvZGU6ICdORycsIGRhdGFzZXRDb2RlOiAnbmctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ05pZ2VyaWEnLCBpc28zQ29kZTogJ05HQScsIGlzbzJDb2RlOiAnTkcnLCBkYXRhc2V0Q29kZTogJ25nLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ05pdWUnLCBpc28zQ29kZTogJ05JVScsIGlzbzJDb2RlOiAnTlUnLCBkYXRhc2V0Q29kZTogJ251LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdOaXVlJywgaXNvM0NvZGU6ICdOSVUnLCBpc28yQ29kZTogJ05VJywgZGF0YXNldENvZGU6ICdudS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdOb3Jmb2xrIElzbGFuZCcsIGlzbzNDb2RlOiAnTkZLJywgaXNvMkNvZGU6ICdORicsIGRhdGFzZXRDb2RlOiAnbmYtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ05vcmZvbGsgSXNsYW5kJywgaXNvM0NvZGU6ICdORksnLCBpc28yQ29kZTogJ05GJywgZGF0YXNldENvZGU6ICduZi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdOb3J0aCBNYWNlZG9uaWEnLCBpc28zQ29kZTogJ01LRCcsIGlzbzJDb2RlOiAnTUsnLCBkYXRhc2V0Q29kZTogJ21rLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdOb3J0aCBNYWNlZG9uaWEnLCBpc28zQ29kZTogJ01LRCcsIGlzbzJDb2RlOiAnTUsnLCBkYXRhc2V0Q29kZTogJ21rLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ05vcnRoZXJuIE1hcmlhbmEgSXNsYW5kcycsIGlzbzNDb2RlOiAnTU5QJywgaXNvMkNvZGU6ICdNUCcsIGRhdGFzZXRDb2RlOiAnbXAtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnTm9yd2F5JywgaXNvM0NvZGU6ICdOT1InLCBpc28yQ29kZTogJ05PJywgZGF0YXNldENvZGU6ICduby1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHR5cGVkb3duJ30sXG4gIHtjb3VudHJ5OiAnTm9yd2F5JywgaXNvM0NvZGU6ICdOT1InLCBpc28yQ29kZTogJ05PJywgZGF0YXNldENvZGU6ICduby1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3ZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnTm9yd2F5JywgaXNvM0NvZGU6ICdOT1InLCBpc28yQ29kZTogJ05PJywgZGF0YXNldENvZGU6ICduby1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdPbWFuJywgaXNvM0NvZGU6ICdPTU4nLCBpc28yQ29kZTogJ09NJywgZGF0YXNldENvZGU6ICdvbS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnT21hbicsIGlzbzNDb2RlOiAnT01OJywgaXNvMkNvZGU6ICdPTScsIGRhdGFzZXRDb2RlOiAnb20tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUGFraXN0YW4nLCBpc28zQ29kZTogJ1BBSycsIGlzbzJDb2RlOiAnUEsnLCBkYXRhc2V0Q29kZTogJ3BrLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdQYWtpc3RhbicsIGlzbzNDb2RlOiAnUEFLJywgaXNvMkNvZGU6ICdQSycsIGRhdGFzZXRDb2RlOiAncGstYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUGFsYXUnLCBpc28zQ29kZTogJ1BMVycsIGlzbzJDb2RlOiAnUFcnLCBkYXRhc2V0Q29kZTogJ3B3LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1BhbGVzdGluZScsIGlzbzNDb2RlOiAnUFNFJywgaXNvMkNvZGU6ICdQUycsIGRhdGFzZXRDb2RlOiAncHMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUGFuYW1hJywgaXNvM0NvZGU6ICdQQU4nLCBpc28yQ29kZTogJ1BBJywgZGF0YXNldENvZGU6ICdwYS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnUGFuYW1hJywgaXNvM0NvZGU6ICdQQU4nLCBpc28yQ29kZTogJ1BBJywgZGF0YXNldENvZGU6ICdwYS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdQYXB1YSBOZXcgR3VpbmVhJywgaXNvM0NvZGU6ICdQTkcnLCBpc28yQ29kZTogJ1BHJywgZGF0YXNldENvZGU6ICdwZy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnUGFwdWEgTmV3IEd1aW5lYScsIGlzbzNDb2RlOiAnUE5HJywgaXNvMkNvZGU6ICdQRycsIGRhdGFzZXRDb2RlOiAncGctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUGFyYWd1YXknLCBpc28zQ29kZTogJ1BSWScsIGlzbzJDb2RlOiAnUFknLCBkYXRhc2V0Q29kZTogJ3B5LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdQYXJhZ3VheScsIGlzbzNDb2RlOiAnUFJZJywgaXNvMkNvZGU6ICdQWScsIGRhdGFzZXRDb2RlOiAncHktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUGVydScsIGlzbzNDb2RlOiAnUEVSJywgaXNvMkNvZGU6ICdQRScsIGRhdGFzZXRDb2RlOiAncGUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1BlcnUnLCBpc28zQ29kZTogJ1BFUicsIGlzbzJDb2RlOiAnUEUnLCBkYXRhc2V0Q29kZTogJ3BlLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1BoaWxpcHBpbmVzJywgaXNvM0NvZGU6ICdQSEwnLCBpc28yQ29kZTogJ1BIJywgZGF0YXNldENvZGU6ICdwaC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnUGhpbGlwcGluZXMnLCBpc28zQ29kZTogJ1BITCcsIGlzbzJDb2RlOiAnUEgnLCBkYXRhc2V0Q29kZTogJ3BoLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1BpdGNhaXJuIElzbGFuZHMnLCBpc28zQ29kZTogJ1BDTicsIGlzbzJDb2RlOiAnUE4nLCBkYXRhc2V0Q29kZTogJ3BuLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1BvbGFuZCcsIGlzbzNDb2RlOiAnUE9MJywgaXNvMkNvZGU6ICdQTCcsIGRhdGFzZXRDb2RlOiAncGwtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1BvbGFuZCcsIGlzbzNDb2RlOiAnUE9MJywgaXNvMkNvZGU6ICdQTCcsIGRhdGFzZXRDb2RlOiAncGwtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUG9ydHVnYWwnLCBpc28zQ29kZTogJ1BSVCcsIGlzbzJDb2RlOiAnUFQnLCBkYXRhc2V0Q29kZTogJ3B0LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdQb3J0dWdhbCcsIGlzbzNDb2RlOiAnUFJUJywgaXNvMkNvZGU6ICdQVCcsIGRhdGFzZXRDb2RlOiAncHQtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUWF0YXInLCBpc28zQ29kZTogJ1FBVCcsIGlzbzJDb2RlOiAnUUEnLCBkYXRhc2V0Q29kZTogJ3FhLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdRYXRhcicsIGlzbzNDb2RlOiAnUUFUJywgaXNvMkNvZGU6ICdRQScsIGRhdGFzZXRDb2RlOiAncWEtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUm9tYW5pYScsIGlzbzNDb2RlOiAnUk9VJywgaXNvMkNvZGU6ICdSTycsIGRhdGFzZXRDb2RlOiAncm8tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1JvbWFuaWEnLCBpc28zQ29kZTogJ1JPVScsIGlzbzJDb2RlOiAnUk8nLCBkYXRhc2V0Q29kZTogJ3JvLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1J1c3NpYW4gRmVkZXJhdGlvbicsIGlzbzNDb2RlOiAnUlVTJywgaXNvMkNvZGU6ICdSVScsIGRhdGFzZXRDb2RlOiAncnUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1J1c3NpYW4gRmVkZXJhdGlvbicsIGlzbzNDb2RlOiAnUlVTJywgaXNvMkNvZGU6ICdSVScsIGRhdGFzZXRDb2RlOiAncnUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnUndhbmRhJywgaXNvM0NvZGU6ICdSV0EnLCBpc28yQ29kZTogJ1JXJywgZGF0YXNldENvZGU6ICdydy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnUndhbmRhJywgaXNvM0NvZGU6ICdSV0EnLCBpc28yQ29kZTogJ1JXJywgZGF0YXNldENvZGU6ICdydy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdSw6l1bmlvbicsIGlzbzNDb2RlOiAnUkVVJywgaXNvMkNvZGU6ICdSRScsIGRhdGFzZXRDb2RlOiAncmUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU2FpbnQgQmFydGjDqWxlbXknLCBpc28zQ29kZTogJ0JMTScsIGlzbzJDb2RlOiAnQkwnLCBkYXRhc2V0Q29kZTogJ2JsLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NhaW50IEhlbGVuYScsIGlzbzNDb2RlOiAnU0hOJywgaXNvMkNvZGU6ICdTSCcsIGRhdGFzZXRDb2RlOiAnc2gtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJywgaXNvM0NvZGU6ICdLTkEnLCBpc28yQ29kZTogJ0tOJywgZGF0YXNldENvZGU6ICdrbi1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU2FpbnQgS2l0dHMgYW5kIE5ldmlzJywgaXNvM0NvZGU6ICdLTkEnLCBpc28yQ29kZTogJ0tOJywgZGF0YXNldENvZGU6ICdrbi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYWludCBMdWNpYScsIGlzbzNDb2RlOiAnTENBJywgaXNvMkNvZGU6ICdMQycsIGRhdGFzZXRDb2RlOiAnbGMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU2FpbnQgTWFydGluJywgaXNvM0NvZGU6ICdNQUYnLCBpc28yQ29kZTogJ01GJywgZGF0YXNldENvZGU6ICdtZi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uJywgaXNvM0NvZGU6ICdTUE0nLCBpc28yQ29kZTogJ1BNJywgZGF0YXNldENvZGU6ICdwbS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYWludCBWaW5jZW50IGFuZCB0aGUgR3JlbmFkaW5lcycsIGlzbzNDb2RlOiAnVkNUJywgaXNvMkNvZGU6ICdWQycsIGRhdGFzZXRDb2RlOiAndmMtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJywgaXNvM0NvZGU6ICdWQ1QnLCBpc28yQ29kZTogJ1ZDJywgZGF0YXNldENvZGU6ICd2Yy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYW1vYScsIGlzbzNDb2RlOiAnV1NNJywgaXNvMkNvZGU6ICdXUycsIGRhdGFzZXRDb2RlOiAnd3MtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1NhbW9hJywgaXNvM0NvZGU6ICdXU00nLCBpc28yQ29kZTogJ1dTJywgZGF0YXNldENvZGU6ICd3cy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYW4gTWFyaW5vJywgaXNvM0NvZGU6ICdTTVInLCBpc28yQ29kZTogJ1NNJywgZGF0YXNldENvZGU6ICdzbS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU2FuIE1hcmlubycsIGlzbzNDb2RlOiAnU01SJywgaXNvMkNvZGU6ICdTTScsIGRhdGFzZXRDb2RlOiAnc20tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU2FvIFRvbWUgYW5kIFByaW5jaXBlJywgaXNvM0NvZGU6ICdTVFAnLCBpc28yQ29kZTogJ1NUJywgZGF0YXNldENvZGU6ICdzdC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU2FvIFRvbWUgYW5kIFByaW5jaXBlJywgaXNvM0NvZGU6ICdTVFAnLCBpc28yQ29kZTogJ1NUJywgZGF0YXNldENvZGU6ICdzdC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTYXVkaSBBcmFiaWEnLCBpc28zQ29kZTogJ1NBVScsIGlzbzJDb2RlOiAnU0EnLCBkYXRhc2V0Q29kZTogJ3NhLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTYXVkaSBBcmFiaWEnLCBpc28zQ29kZTogJ1NBVScsIGlzbzJDb2RlOiAnU0EnLCBkYXRhc2V0Q29kZTogJ3NhLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NlbmVnYWwnLCBpc28zQ29kZTogJ1NFTicsIGlzbzJDb2RlOiAnU04nLCBkYXRhc2V0Q29kZTogJ3NuLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTZW5lZ2FsJywgaXNvM0NvZGU6ICdTRU4nLCBpc28yQ29kZTogJ1NOJywgZGF0YXNldENvZGU6ICdzbi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTZXJiaWEnLCBpc28zQ29kZTogJ1NSQicsIGlzbzJDb2RlOiAnUlMnLCBkYXRhc2V0Q29kZTogJ3JzLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTZXJiaWEnLCBpc28zQ29kZTogJ1NSQicsIGlzbzJDb2RlOiAnUlMnLCBkYXRhc2V0Q29kZTogJ3JzLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NleWNoZWxsZXMnLCBpc28zQ29kZTogJ1NZQycsIGlzbzJDb2RlOiAnU0MnLCBkYXRhc2V0Q29kZTogJ3NjLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTZXljaGVsbGVzJywgaXNvM0NvZGU6ICdTWUMnLCBpc28yQ29kZTogJ1NDJywgZGF0YXNldENvZGU6ICdzYy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTaWVycmEgTGVvbmUnLCBpc28zQ29kZTogJ1NMRScsIGlzbzJDb2RlOiAnU0wnLCBkYXRhc2V0Q29kZTogJ3NsLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTaWVycmEgTGVvbmUnLCBpc28zQ29kZTogJ1NMRScsIGlzbzJDb2RlOiAnU0wnLCBkYXRhc2V0Q29kZTogJ3NsLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NpbmdhcG9yZScsIGlzbzNDb2RlOiAnU0dQJywgaXNvMkNvZGU6ICdTRycsIGRhdGFzZXRDb2RlOiAnc2ctYWRkcmVzcycsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIHNpbmdsZWxpbmUsIHR5cGVkb3duLCB2YWxpZGF0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTaW50IE1hYXJ0ZW4nLCBpc28zQ29kZTogJ1NYTScsIGlzbzJDb2RlOiAnU1gnLCBkYXRhc2V0Q29kZTogJ3N4LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTaW50IE1hYXJ0ZW4nLCBpc28zQ29kZTogJ1NYTScsIGlzbzJDb2RlOiAnU1gnLCBkYXRhc2V0Q29kZTogJ3N4LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1Nsb3Zha2lhJywgaXNvM0NvZGU6ICdTVksnLCBpc28yQ29kZTogJ1NLJywgZGF0YXNldENvZGU6ICdzay1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU2xvdmFraWEnLCBpc28zQ29kZTogJ1NWSycsIGlzbzJDb2RlOiAnU0snLCBkYXRhc2V0Q29kZTogJ3NrLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1Nsb3ZlbmlhJywgaXNvM0NvZGU6ICdTVk4nLCBpc28yQ29kZTogJ1NJJywgZGF0YXNldENvZGU6ICdzaS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU2xvdmVuaWEnLCBpc28zQ29kZTogJ1NWTicsIGlzbzJDb2RlOiAnU0knLCBkYXRhc2V0Q29kZTogJ3NpLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NvbG9tb24gSXNsYW5kcycsIGlzbzNDb2RlOiAnU0xCJywgaXNvMkNvZGU6ICdTQicsIGRhdGFzZXRDb2RlOiAnc2ItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1NvbG9tb24gSXNsYW5kcycsIGlzbzNDb2RlOiAnU0xCJywgaXNvMkNvZGU6ICdTQicsIGRhdGFzZXRDb2RlOiAnc2ItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU29tYWxpYScsIGlzbzNDb2RlOiAnU09NJywgaXNvMkNvZGU6ICdTTycsIGRhdGFzZXRDb2RlOiAnc28tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1NvbWFsaWEnLCBpc28zQ29kZTogJ1NPTScsIGlzbzJDb2RlOiAnU08nLCBkYXRhc2V0Q29kZTogJ3NvLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NvdXRoIEFmcmljYScsIGlzbzNDb2RlOiAnWkFGJywgaXNvMkNvZGU6ICdaQScsIGRhdGFzZXRDb2RlOiAnemEtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1NvdXRoIEFmcmljYScsIGlzbzNDb2RlOiAnWkFGJywgaXNvMkNvZGU6ICdaQScsIGRhdGFzZXRDb2RlOiAnemEtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU291dGggR2VvcmdpYSBhbmQgdGhlIFNvdXRoIFNhbmR3aWNoIElzbGFuZHMnLCBpc28zQ29kZTogJ1NHUycsIGlzbzJDb2RlOiAnR1MnLCBkYXRhc2V0Q29kZTogJ2dzLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NvdXRoIFN1ZGFuJywgaXNvM0NvZGU6ICdTU0QnLCBpc28yQ29kZTogJ1NTJywgZGF0YXNldENvZGU6ICdzcy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU291dGggU3VkYW4nLCBpc28zQ29kZTogJ1NTRCcsIGlzbzJDb2RlOiAnU1MnLCBkYXRhc2V0Q29kZTogJ3NzLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1NwYWluJywgaXNvM0NvZGU6ICdFU1AnLCBpc28yQ29kZTogJ0VTJywgZGF0YXNldENvZGU6ICdlcy1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHR5cGVkb3duJ30sXG4gIHtjb3VudHJ5OiAnU3BhaW4nLCBpc28zQ29kZTogJ0VTUCcsIGlzbzJDb2RlOiAnRVMnLCBkYXRhc2V0Q29kZTogJ2VzLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAndmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTcGFpbicsIGlzbzNDb2RlOiAnRVNQJywgaXNvMkNvZGU6ICdFUycsIGRhdGFzZXRDb2RlOiAnZXMtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU3JpIExhbmthJywgaXNvM0NvZGU6ICdMS0EnLCBpc28yQ29kZTogJ0xLJywgZGF0YXNldENvZGU6ICdsay1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnU3VkYW4nLCBpc28zQ29kZTogJ1NETicsIGlzbzJDb2RlOiAnU0QnLCBkYXRhc2V0Q29kZTogJ3NkLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTdWRhbicsIGlzbzNDb2RlOiAnU0ROJywgaXNvMkNvZGU6ICdTRCcsIGRhdGFzZXRDb2RlOiAnc2QtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU3VyaW5hbWUnLCBpc28zQ29kZTogJ1NVUicsIGlzbzJDb2RlOiAnU1InLCBkYXRhc2V0Q29kZTogJ3NyLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTdXJpbmFtZScsIGlzbzNDb2RlOiAnU1VSJywgaXNvMkNvZGU6ICdTUicsIGRhdGFzZXRDb2RlOiAnc3ItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU3ZhbGJhcmQgYW5kIEphbiBNYXllbiBJc2xhbmRzJywgaXNvM0NvZGU6ICdTSk0nLCBpc28yQ29kZTogJ1NKJywgZGF0YXNldENvZGU6ICdzai1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTd2F6aWxhbmQgKEVzd2F0aW5pKScsIGlzbzNDb2RlOiAnU1daJywgaXNvMkNvZGU6ICdTWicsIGRhdGFzZXRDb2RlOiAnc3otYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1N3YXppbGFuZCAoRXN3YXRpbmkpJywgaXNvM0NvZGU6ICdTV1onLCBpc28yQ29kZTogJ1NaJywgZGF0YXNldENvZGU6ICdzei1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdTd2VkZW4nLCBpc28zQ29kZTogJ1NXRScsIGlzbzJDb2RlOiAnU0UnLCBkYXRhc2V0Q29kZTogJ3NlLWFkZHJlc3MnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24nfSxcbiAge2NvdW50cnk6ICdTd2VkZW4nLCBpc28zQ29kZTogJ1NXRScsIGlzbzJDb2RlOiAnU0UnLCBkYXRhc2V0Q29kZTogJ3NlLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAndmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTd2VkZW4nLCBpc28zQ29kZTogJ1NXRScsIGlzbzJDb2RlOiAnU0UnLCBkYXRhc2V0Q29kZTogJ3NlLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1N3aXR6ZXJsYW5kJywgaXNvM0NvZGU6ICdDSEUnLCBpc28yQ29kZTogJ0NIJywgZGF0YXNldENvZGU6ICdjaC1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHR5cGVkb3duJ30sXG4gIHtjb3VudHJ5OiAnU3dpdHplcmxhbmQnLCBpc28zQ29kZTogJ0NIRScsIGlzbzJDb2RlOiAnQ0gnLCBkYXRhc2V0Q29kZTogJ2NoLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAndmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTd2l0emVybGFuZCcsIGlzbzNDb2RlOiAnQ0hFJywgaXNvMkNvZGU6ICdDSCcsIGRhdGFzZXRDb2RlOiAnY2gtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnU3lyaWEnLCBpc28zQ29kZTogJ1NZUicsIGlzbzJDb2RlOiAnU1knLCBkYXRhc2V0Q29kZTogJ3N5LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdTeXJpYScsIGlzbzNDb2RlOiAnU1lSJywgaXNvMkNvZGU6ICdTWScsIGRhdGFzZXRDb2RlOiAnc3ktYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVGFpd2FuJywgaXNvM0NvZGU6ICdUV04nLCBpc28yQ29kZTogJ1RXJywgZGF0YXNldENvZGU6ICd0dy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVGFpd2FuJywgaXNvM0NvZGU6ICdUV04nLCBpc28yQ29kZTogJ1RXJywgZGF0YXNldENvZGU6ICd0dy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdUYWppa2lzdGFuJywgaXNvM0NvZGU6ICdUSksnLCBpc28yQ29kZTogJ1RKJywgZGF0YXNldENvZGU6ICd0ai1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVGFqaWtpc3RhbicsIGlzbzNDb2RlOiAnVEpLJywgaXNvMkNvZGU6ICdUSicsIGRhdGFzZXRDb2RlOiAndGotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVGFuemFuaWEnLCBpc28zQ29kZTogJ1RaQScsIGlzbzJDb2RlOiAnVFonLCBkYXRhc2V0Q29kZTogJ3R6LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdUYW56YW5pYScsIGlzbzNDb2RlOiAnVFpBJywgaXNvMkNvZGU6ICdUWicsIGRhdGFzZXRDb2RlOiAndHotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVGhhaWxhbmQnLCBpc28zQ29kZTogJ1RIQScsIGlzbzJDb2RlOiAnVEgnLCBkYXRhc2V0Q29kZTogJ3RoLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdUaGFpbGFuZCcsIGlzbzNDb2RlOiAnVEhBJywgaXNvMkNvZGU6ICdUSCcsIGRhdGFzZXRDb2RlOiAndGgtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVGltb3ItTGVzdGUnLCBpc28zQ29kZTogJ1RMUycsIGlzbzJDb2RlOiAnVEwnLCBkYXRhc2V0Q29kZTogJ3RsLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdUaW1vci1MZXN0ZScsIGlzbzNDb2RlOiAnVExTJywgaXNvMkNvZGU6ICdUTCcsIGRhdGFzZXRDb2RlOiAndGwtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVG9nbycsIGlzbzNDb2RlOiAnVEdPJywgaXNvMkNvZGU6ICdURycsIGRhdGFzZXRDb2RlOiAndGctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1RvZ28nLCBpc28zQ29kZTogJ1RHTycsIGlzbzJDb2RlOiAnVEcnLCBkYXRhc2V0Q29kZTogJ3RnLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1Rva2VsYXUnLCBpc28zQ29kZTogJ1RLTCcsIGlzbzJDb2RlOiAnVEsnLCBkYXRhc2V0Q29kZTogJ3RrLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdUb2tlbGF1JywgaXNvM0NvZGU6ICdUS0wnLCBpc28yQ29kZTogJ1RLJywgZGF0YXNldENvZGU6ICd0ay1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdUb25nYScsIGlzbzNDb2RlOiAnVE9OJywgaXNvMkNvZGU6ICdUTycsIGRhdGFzZXRDb2RlOiAndG8tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1RvbmdhJywgaXNvM0NvZGU6ICdUT04nLCBpc28yQ29kZTogJ1RPJywgZGF0YXNldENvZGU6ICd0by1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdUcmluaWRhZCBhbmQgVG9iYWdvJywgaXNvM0NvZGU6ICdUVE8nLCBpc28yQ29kZTogJ1RUJywgZGF0YXNldENvZGU6ICd0dC1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVHJpbmlkYWQgYW5kIFRvYmFnbycsIGlzbzNDb2RlOiAnVFRPJywgaXNvMkNvZGU6ICdUVCcsIGRhdGFzZXRDb2RlOiAndHQtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVHVuaXNpYScsIGlzbzNDb2RlOiAnVFVOJywgaXNvMkNvZGU6ICdUTicsIGRhdGFzZXRDb2RlOiAndG4tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1R1bmlzaWEnLCBpc28zQ29kZTogJ1RVTicsIGlzbzJDb2RlOiAnVE4nLCBkYXRhc2V0Q29kZTogJ3RuLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1R1cmtleScsIGlzbzNDb2RlOiAnVFVSJywgaXNvMkNvZGU6ICdUUicsIGRhdGFzZXRDb2RlOiAndHItYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1R1cmtleScsIGlzbzNDb2RlOiAnVFVSJywgaXNvMkNvZGU6ICdUUicsIGRhdGFzZXRDb2RlOiAndHItYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVHVya2lzaCBSZXB1YmxpYyBvZiBOb3J0aGVybiBDeXBydXMnLCBpc28zQ29kZTogJ05DWScsIGlzbzJDb2RlOiAnQ1knLCBkYXRhc2V0Q29kZTogJ255LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1R1cmttZW5pc3RhbicsIGlzbzNDb2RlOiAnVEtNJywgaXNvMkNvZGU6ICdUTScsIGRhdGFzZXRDb2RlOiAndG0tYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1R1cmttZW5pc3RhbicsIGlzbzNDb2RlOiAnVEtNJywgaXNvMkNvZGU6ICdUTScsIGRhdGFzZXRDb2RlOiAndG0tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzJywgaXNvM0NvZGU6ICdUQ0EnLCBpc28yQ29kZTogJ1RDJywgZGF0YXNldENvZGU6ICd0Yy1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdUdXZhbHUnLCBpc28zQ29kZTogJ1RVVicsIGlzbzJDb2RlOiAnVFYnLCBkYXRhc2V0Q29kZTogJ3R2LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdUdXZhbHUnLCBpc28zQ29kZTogJ1RVVicsIGlzbzJDb2RlOiAnVFYnLCBkYXRhc2V0Q29kZTogJ3R2LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VnYW5kYScsIGlzbzNDb2RlOiAnVUdBJywgaXNvMkNvZGU6ICdVRycsIGRhdGFzZXRDb2RlOiAndWctYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1VnYW5kYScsIGlzbzNDb2RlOiAnVUdBJywgaXNvMkNvZGU6ICdVRycsIGRhdGFzZXRDb2RlOiAndWctYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVWtyYWluZScsIGlzbzNDb2RlOiAnVUtSJywgaXNvMkNvZGU6ICdVQScsIGRhdGFzZXRDb2RlOiAndWEtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1VrcmFpbmUnLCBpc28zQ29kZTogJ1VLUicsIGlzbzJDb2RlOiAnVUEnLCBkYXRhc2V0Q29kZTogJ3VhLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJywgaXNvM0NvZGU6ICdBUkUnLCBpc28yQ29kZTogJ0FFJywgZGF0YXNldENvZGU6ICdhZS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLCBpc28zQ29kZTogJ0FSRScsIGlzbzJDb2RlOiAnQUUnLCBkYXRhc2V0Q29kZTogJ2FlLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRpdGlvbmFsLW11bHRpcGxlcmVzaWRlbmNlJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0Jywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tIEFkZHJlc3NCYXNlIFByZW1pdW0nLCBpc28zQ29kZTogJ0dCUicsIGlzbzJDb2RlOiAnR0InLCBkYXRhc2V0Q29kZTogJ2diLWFkZHJlc3MtYWRkcmVzc2Jhc2UnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXAnfSxcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBBZGRyZXNzQmFzZSBQcmVtaXVtIHdpdGggSXNsYW5kcycsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlOiAnZ2ItYWRkaXRpb25hbC1hZGRyZXNzYmFzZWlzbGFuZHMnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXAnfSxcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBCdXNpbmVzcyBOYW1lcycsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlOiAnZ2ItYWRkaXRpb25hbC1idXNpbmVzcycsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93bid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tIEVsZWN0cmljaXR5JywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRpdGlvbmFsLWVsZWN0cmljaXR5Jywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20gR2FzJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRpdGlvbmFsLWdhcycsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIHNpbmdsZWxpbmUsIHR5cGVkb3duLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tIFN0cmVldCBMZXZlbCcsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlOiAnZ2ItYWRkcmVzcy1zdHJlZXRsZXZlbCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB0eXBlZG93bid9LFxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tIEV4dGVuZGVkIEJ1c2luZXNzJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGU6ICdnYi1hZGRpdGlvbmFsLWJ1c2luZXNzZXh0ZW5kZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXAnfSxcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBDeW1yYWVnIChXZWxzaCBMYW5ndWFnZSkgUG9zdGFsIEFkZHJlc3MnLCBpc28zQ29kZTogJ0dCUicsIGlzbzJDb2RlOiAnR0InLCBkYXRhc2V0Q29kZTogJ2diLWFkZHJlc3Mtd2FsZXMnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhJywgaXNvM0NvZGU6ICdVU0EnLCBpc28yQ29kZTogJ1VTJywgZGF0YXNldENvZGU6ICd1cy1hZGRyZXNzJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgc2luZ2xlbGluZSwgdHlwZWRvd24sIHZhbGlkYXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1VydWd1YXknLCBpc28zQ29kZTogJ1VSWScsIGlzbzJDb2RlOiAnVVknLCBkYXRhc2V0Q29kZTogJ3V5LWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdVcnVndWF5JywgaXNvM0NvZGU6ICdVUlknLCBpc28yQ29kZTogJ1VZJywgZGF0YXNldENvZGU6ICd1eS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdVemJla2lzdGFuJywgaXNvM0NvZGU6ICdVWkInLCBpc28yQ29kZTogJ1VaJywgZGF0YXNldENvZGU6ICd1ei1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVXpiZWtpc3RhbicsIGlzbzNDb2RlOiAnVVpCJywgaXNvMkNvZGU6ICdVWicsIGRhdGFzZXRDb2RlOiAndXotYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVmFudWF0dScsIGlzbzNDb2RlOiAnVlVUJywgaXNvMkNvZGU6ICdWVScsIGRhdGFzZXRDb2RlOiAndnUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1ZhbnVhdHUnLCBpc28zQ29kZTogJ1ZVVCcsIGlzbzJDb2RlOiAnVlUnLCBkYXRhc2V0Q29kZTogJ3Z1LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1ZhdGljYW4gQ2l0eSAoSG9seSBTZWUpJywgaXNvM0NvZGU6ICdWQVQnLCBpc28yQ29kZTogJ1ZBJywgZGF0YXNldENvZGU6ICd2YS1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnVmF0aWNhbiBDaXR5IChIb2x5IFNlZSknLCBpc28zQ29kZTogJ1ZBVCcsIGlzbzJDb2RlOiAnVkEnLCBkYXRhc2V0Q29kZTogJ3ZhLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1ZlbmV6dWVsYScsIGlzbzNDb2RlOiAnVkVOJywgaXNvMkNvZGU6ICdWRScsIGRhdGFzZXRDb2RlOiAndmUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1ZlbmV6dWVsYScsIGlzbzNDb2RlOiAnVkVOJywgaXNvMkNvZGU6ICdWRScsIGRhdGFzZXRDb2RlOiAndmUtYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVmlldCBOYW0nLCBpc28zQ29kZTogJ1ZOTScsIGlzbzJDb2RlOiAnVk4nLCBkYXRhc2V0Q29kZTogJ3ZuLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdWaWV0IE5hbScsIGlzbzNDb2RlOiAnVk5NJywgaXNvMkNvZGU6ICdWTicsIGRhdGFzZXRDb2RlOiAndm4tYWRkcmVzcy1laCcsIHNlYXJjaFR5cGU6ICdhdXRvY29tcGxldGUsIGxvb2t1cHYyJ30sXG4gIHtjb3VudHJ5OiAnVmlyZ2luIElzbGFuZHMsIEJyaXRpc2gnLCBpc28zQ29kZTogJ1ZHQicsIGlzbzJDb2RlOiAnVkcnLCBkYXRhc2V0Q29kZTogJ3ZnLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1ZpcmdpbiBJc2xhbmRzLCBVLlMuJywgaXNvM0NvZGU6ICdWSVInLCBpc28yQ29kZTogJ1ZJJywgZGF0YXNldENvZGU6ICd2aS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdXYWxsaXMgYW5kIEZ1dHVuYSBJc2xhbmRzJywgaXNvM0NvZGU6ICdXTEYnLCBpc28yQ29kZTogJ1dGJywgZGF0YXNldENvZGU6ICd3Zi1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdXZXN0ZXJuIFNhaGFyYScsIGlzbzNDb2RlOiAnRVNIJywgaXNvMkNvZGU6ICdFSCcsIGRhdGFzZXRDb2RlOiAnZWgtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1dlc3Rlcm4gU2FoYXJhJywgaXNvM0NvZGU6ICdFU0gnLCBpc28yQ29kZTogJ0VIJywgZGF0YXNldENvZGU6ICdlaC1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdZZW1lbicsIGlzbzNDb2RlOiAnWUVNJywgaXNvMkNvZGU6ICdZRScsIGRhdGFzZXRDb2RlOiAneWUtYWRkcmVzcy1lZCcsIHNlYXJjaFR5cGU6ICdzaW5nbGVsaW5lLCB2YWxpZGF0ZSd9LFxuICB7Y291bnRyeTogJ1llbWVuJywgaXNvM0NvZGU6ICdZRU0nLCBpc28yQ29kZTogJ1lFJywgZGF0YXNldENvZGU6ICd5ZS1hZGRyZXNzLWVoJywgc2VhcmNoVHlwZTogJ2F1dG9jb21wbGV0ZSwgbG9va3VwdjInfSxcbiAge2NvdW50cnk6ICdaYW1iaWEnLCBpc28zQ29kZTogJ1pNQicsIGlzbzJDb2RlOiAnWk0nLCBkYXRhc2V0Q29kZTogJ3ptLWFkZHJlc3MtZWQnLCBzZWFyY2hUeXBlOiAnc2luZ2xlbGluZSwgdmFsaWRhdGUnfSxcbiAge2NvdW50cnk6ICdaYW1iaWEnLCBpc28zQ29kZTogJ1pNQicsIGlzbzJDb2RlOiAnWk0nLCBkYXRhc2V0Q29kZTogJ3ptLWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9LFxuICB7Y291bnRyeTogJ1ppbWJhYndlJywgaXNvM0NvZGU6ICdaV0UnLCBpc28yQ29kZTogJ1pXJywgZGF0YXNldENvZGU6ICd6dy1hZGRyZXNzLWVkJywgc2VhcmNoVHlwZTogJ3NpbmdsZWxpbmUsIHZhbGlkYXRlJ30sXG4gIHtjb3VudHJ5OiAnWmltYmFid2UnLCBpc28zQ29kZTogJ1pXRScsIGlzbzJDb2RlOiAnWlcnLCBkYXRhc2V0Q29kZTogJ3p3LWFkZHJlc3MtZWgnLCBzZWFyY2hUeXBlOiAnYXV0b2NvbXBsZXRlLCBsb29rdXB2Mid9XG5dO1xuIiwiLy8gVHJhbnNsYXRpb25zXG5leHBvcnQgY29uc3QgdHJhbnNsYXRpb25zID0ge1xuICAvLyBsYW5ndWFnZSAvIGNvdW50cnkgLyBwcm9wZXJ0eVxuICBlbjoge1xuICAgIGdicjoge1xuICAgICAgbG9jYWxpdHk6ICdMb2NhbGl0eScsXG4gICAgICByZWdpb246ICdSZWdpb24nLFxuICAgICAgcG9zdGFsX2NvZGU6ICdQb3N0YWwgY29kZSdcbiAgICB9LFxuICAgIHVzYToge1xuICAgICAgbG9jYWxpdHk6ICdMb2NhbGl0eScsXG4gICAgICByZWdpb246ICdSZWdpb24nLFxuICAgICAgcG9zdGFsX2NvZGU6ICdQb3N0YWwgY29kZSdcbiAgICB9XG4gIH1cbiAgLy8gQWRkIG90aGVyIGxhbmd1YWdlcyBiZWxvd1xufTsiLCJleHBvcnQgY2xhc3MgUGlja2xpc3Qge1xyXG4gIGl0ZW1zOiBQaWNrbGlzdEl0ZW1bXTtcclxuICB3aGF0M3dvcmRzSXRlbXM6IFdoYXQzV29yZHNQaWNrTGlzdFtdO1xyXG4gIGxvb2t1cEl0ZW1zOiBMb29rdXBBZGRyZXNzW107XHJcbiAgY3VycmVudEl0ZW07XHJcbiAgbGlzdDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICBzaXplID0gMDtcclxuICBtYXhTdWdnZXN0aW9ucyA9IDI1O1xyXG4gIHNob3c6IChpdGVtczogU2VhcmNoUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgc2hvd1doYXQzV29yZHM6IChpdGVtczogTG9va3VwVzNXUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgc2hvd0xvb2t1cDogKGl0ZW1zOiBMb29rdXBWMlJlc3BvbnNlKSA9PiB2b2lkO1xyXG4gIGhpZGU6ICgpID0+IHZvaWQ7XHJcbiAgaGFuZGxlRW1wdHlQaWNrbGlzdDogKGl0ZW1zOiBTZWFyY2hSZXNwb25zZSB8IExvb2t1cFczV1Jlc3BvbnNlIHwgTG9va3VwVjJSZXNwb25zZSkgPT4gdm9pZDtcclxuICBoYW5kbGVFbXB0eVBpY2tsaXN0Q2FsbGJhY2s6ICgpID0+IHZvaWQ7XHJcbiAgaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWM6ICgpID0+IHZvaWQ7XHJcbiAgcmVmaW5lOiBSZWZpbmVtZW50O1xyXG4gIHVzZUFkZHJlc3NFbnRlcmVkOiBVc2VBZGRyZXNzRW50ZXJlZDtcclxuICBjcmVhdGVMaXN0OiAoKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVMaXN0SXRlbTogKGl0ZW06IFBpY2tsaXN0SXRlbSkgPT4gSFRNTERpdkVsZW1lbnQ7XHJcbiAgY3JlYXRlTG9va3VwTGlzdEl0ZW06IChpdGVtOiBMb29rdXBBZGRyZXNzKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVMb29rdXBTdWdnZXN0aW9uTGlzdEl0ZW06IChpdGVtOiBMb29rdXBTdWdnZXN0aW9uKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVXaGF0M1dvcmRzTGlzdEl0ZW06IChpdGVtOiBXaGF0M1dvcmRzUGlja0xpc3QpID0+IEhUTUxEaXZFbGVtZW50O1xyXG4gIHRhYkNvdW50OiBudW1iZXI7XHJcbiAgcmVzZXRUYWJDb3VudDogKCkgPT4gdm9pZDtcclxuICBrZXl1cDogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xyXG4gIGFkZE1hdGNoaW5nRW1waGFzaXM6IChpdGVtKSA9PiBzdHJpbmc7XHJcbiAgbGlzdGVuOiAocm93KSA9PiB2b2lkO1xyXG4gIGNoZWNrRW50ZXI6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcclxuICBwaWNrOiAoaXRlbSkgPT4gdm9pZDtcclxuICBzY3JvbGxJbnRvVmlld0lmTmVlZGVkOiAoKSA9PiB2b2lkO1xyXG4gIGRpc3BsYXlTdWdnZXN0aW9uc0hlYWRlcjogKCkgPT4gdm9pZDtcclxuICBkaXNwbGF5VXNlQWRkcmVzc0VudGVyZWRGb290ZXI6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBZGRyZXNzVmFsaWRhdGlvblJlc3VsdCB7XHJcbiAgZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcjtcclxuICBsYXN0QWRkcmVzc0ZpZWxkO1xyXG4gIGdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZDogYm9vbGVhbjtcclxuICBzaG93OiAoZGF0YSkgPT4gdm9pZDtcclxuICBoaWRlOiAoKSA9PiB2b2lkO1xyXG4gIGNyZWF0ZUFkZHJlc3NMaW5lOiBDcmVhdGVBZGRyZXNzTGluZTtcclxuICBjcmVhdGVGb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiAoKSA9PiB2b2lkO1xyXG4gIGNyZWF0ZUhlYWRpbmc6ICgpID0+IHZvaWQ7XHJcbiAgdXBkYXRlSGVhZGluZzogKHRleHQ6IHN0cmluZykgPT4gdm9pZDtcclxuICBjYWxjdWxhdGVJZkFkZHJlc3NMaW5lR2VuZXJhdGlvblJlcXVpcmVkOiAoKSA9PiB2b2lkO1xyXG4gIHVwZGF0ZUFkZHJlc3NMaW5lOiAoa2V5OiBzdHJpbmcsIGFkZHJlc3NMaW5lT2JqZWN0LCBjbGFzc05hbWU6IHN0cmluZykgPT4gdm9pZDtcclxuICB1cGRhdGVMYWJlbDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbiAgY3JlYXRlU2VhcmNoQWdhaW5MaW5rOiAoKSA9PiB2b2lkO1xyXG4gIHJlbmRlcklucHV0TGlzdDogKGlucHV0QXJyYXkpID0+IHZvaWQ7XHJcbiAgaGFuZGxlVmFsaWRhdGVSZXNwb25zZTogKHJlc3BvbnNlOiBTZWFyY2hSZXNwb25zZSkgPT4gdm9pZDtcclxuICBoYW5kbGVFbnJpY2htZW50UmVzcG9uc2U6IChyZXNwb25zZTogRW5yaWNobWVudFJlc3BvbnNlKSA9PiB2b2lkO1xyXG59XHJcblxyXG5jbGFzcyBDcmVhdGVBZGRyZXNzTGluZSB7XHJcbiAgaW5wdXQ6IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcpID0+IEhUTUxEaXZFbGVtZW50O1xyXG4gIGxhYmVsOiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXNwb25zZSB7XHJcbiAgcmVzdWx0Pzoge1xyXG4gICAgc3VnZ2VzdGlvbnM6IFBpY2tsaXN0SXRlbVtdO1xyXG4gICAgc3VnZ2VzdGlvbnNfcHJvbXB0Pzogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbnNfa2V5Pzogc3RyaW5nO1xyXG4gICAgY29uZmlkZW5jZTogc3RyaW5nO1xyXG4gICAgYWRkcmVzcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICBjb21wb25lbnRzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICB9LFxyXG4gIG1ldGFkYXRhPyA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBXM1dSZXNwb25zZSB7XHJcbiAgcmVzdWx0Pzoge1xyXG4gICAgbW9yZV9yZXN1bHRzX2F2YWlsYWJsZTogYm9vbGVhbjtcclxuICAgIHN1Z2dlc3Rpb25zOiBXaGF0M1dvcmRzUGlja0xpc3RbXTtcclxuICAgIGNvbmZpZGVuY2U6IHN0cmluZztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwVjJSZXNwb25zZSB7XHJcbiAgcmVzdWx0Pzoge1xyXG4gICAgbW9yZV9yZXN1bHRzX2F2YWlsYWJsZTogYm9vbGVhbjtcclxuICAgIGNvbmZpZGVuY2U6IHN0cmluZztcclxuICAgIHN1Z2dlc3Rpb25zOiBMb29rdXBTdWdnZXN0aW9uW107XHJcbiAgICBhZGRyZXNzZXM6IExvb2t1cEFkZHJlc3NbXTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwU3VnZ2VzdGlvbiB7XHJcbiAgbG9jYWxpdHk6IExvY2FsaXR5Q29tcG9uZW50cztcclxuICBwb3N0YWxfY29kZTogUG9zdGFsQ29kZTtcclxuICBwb3N0YWxfY29kZV9rZXk6IHN0cmluZztcclxuICBsb2NhbGl0eV9rZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGl0eUNvbXBvbmVudHMge1xyXG4gIHJlZ2lvbjogTG9jYWxpdHlJdGVtLFxyXG4gIHN1Yl9yZWdpb246IExvY2FsaXR5SXRlbSxcclxuICB0b3duOiBMb2NhbGl0eUl0ZW0sXHJcbiAgZGlzdHJpY3Q6IExvY2FsaXR5SXRlbSxcclxuICBzdWJfZGlzdHJpY3Q6IExvY2FsaXR5SXRlbVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsaXR5SXRlbSB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RhbENvZGUge1xyXG4gIGZ1bGxfbmFtZTogc3RyaW5nLFxyXG4gIHByaW1hcnk6IHN0cmluZyxcclxuICBzZWNvbmRhcnk6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cEFkZHJlc3Mge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBnbG9iYWxfYWRkcmVzc19rZXk6IHN0cmluZztcclxuICBmb3JtYXQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXaGF0M1dvcmRzUGlja0xpc3Qge1xyXG4gIHdoYXQzd29yZHM6IFdoYXQzV29yZHNTdWdnZXN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdoYXQzV29yZHNTdWdnZXN0aW9uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tsaXN0SXRlbSB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBtYXRjaGVkPzogbnVtYmVyW11bXTtcclxuICBnbG9iYWxfYWRkcmVzc19rZXk/OiBzdHJpbmc7XHJcbiAgYWRkaXRpb25hbF9hdHRyaWJ1dGVzPzogeyBuYW1lOiBzdHJpbmcsIFZhbHVlOiBzdHJpbmcgfVtdO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBFbnJpY2htZW50RGV0YWlscyB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkZXRhaWxzTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEVucmljaG1lbnRSZXNwb25zZSB7XHJcbiAgcmVzdWx0Pzoge1xyXG4gICAgYXVzX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIGF1c19jdl9ob3VzZWhvbGQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgbnpsX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIG56bF9jdl9ob3VzZWhvbGQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgdXNhX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIHVrX2xvY2F0aW9uX2Vzc2VudGlhbD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB3aGF0M3dvcmRzPzogV2hhdDNXb3JkcztcclxuICAgIGdlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdoYXQzV29yZHMge1xyXG4gIGxhdGl0dWRlPzogc3RyaW5nO1xyXG4gIGxvbmdpdHVkZT86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHNSZXNwb25zZSB7XHJcbiAgcmVzdWx0PyA6IERhdGFzZXRzQ291bnRyeVJlc3VsdFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHNDb3VudHJ5UmVzdWx0IHtcclxuICBjb3VudHJ5X2lzb18zPzogc3RyaW5nO1xyXG4gIGNvdW50cnlfbmFtZT86IHN0cmluZztcclxuICBkYXRhc2V0cz86IERhdGFzZXRbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXR7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgbmFtZT86IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgVXNlQWRkcmVzc0VudGVyZWQge1xyXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGNyZWF0ZTogKGNvbmZpZGVuY2U6IHN0cmluZykgPT4gSFRNTERpdkVsZW1lbnQ7XHJcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcclxuICBjbGljazogKCkgPT4gdm9pZDtcclxuICBmb3JtYXRNYW51YWxBZGRyZXNzTGluZTogKGxpbmVzLCBpKSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVmaW5lbWVudCB7XHJcbiAgZWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuICBpc05lZWRlZDogKHJlc3BvbnNlOiBTZWFyY2hSZXNwb25zZSkgPT4gYm9vbGVhbjtcclxuICBjcmVhdGVJbnB1dDogKHByb21wdDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4gdm9pZDtcclxuICBlbnRlcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNwaW5uZXIge1xyXG4gIHNob3c6ICgpID0+IHZvaWQ7XHJcbiAgaGlkZTogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFBvd2VyZWRCeUxvZ28ge1xyXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIGNyZWF0ZTogKHBpY2tsaXN0KSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBkZXN0cm95OiAocGlja2xpc3QpID0+IHZvaWQ7XHJcbiAgc3ZnOiBzdHJpbmc7XHJcbn0iLCJleHBvcnQgY29uc3QgZW5yaWNobWVudE91dHB1dCA9IHtcbiAgICBBVVM6IHtcbiAgICAgICAgZ2VvY29kZXNfdGl0bGUgOiBcIkFVUyBHZW9jb2Rlc1wiLFxuICAgICAgICBhdXNfcmVnaW9uYWxfZ2VvY29kZXM6IHtcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIjogXCJMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJsb25naXR1ZGVcIjogXCJMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwibWF0Y2hfbGV2ZWxcIjogXCJNYXRjaCBMZXZlbFwiLFxuICAgICAgICAgICAgXCJzYTFcIjogXCJTYTFcIixcbiAgICAgICAgICAgIFwibWVzaGJsb2NrXCI6IFwiTWVzaGJsb2NrXCIsXG4gICAgICAgICAgICBcImxnYV9jb2RlXCI6IFwiTGdhIENvZGVcIixcbiAgICAgICAgICAgIFwibGdhX25hbWVcIjogXCJMZ2EgTmFtZVwiLFxuICAgICAgICAgICAgXCJzdHJlZXRfcGlkXCI6IFwiU3RyZWV0IFBpZFwiLFxuICAgICAgICAgICAgXCJsb2NhbGl0eV9waWRcIjogXCJMb2NhbGl0eSBQaWRcIixcbiAgICAgICAgICAgIFwiZ2VvY29kZV9sZXZlbF9jb2RlXCI6IFwiR2VvY29kZSBMZXZlbCBDb2RlXCIsXG4gICAgICAgICAgICBcImdlb2NvZGVfbGV2ZWxfZGVzY3JpcHRpb25cIjogXCJHZW9jb2RlIExldmVsIERlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBcImdlb2NvZGVfdHlwZV9jb2RlXCI6IFwiR2VvY29kZSBUeXBlIENvZGVcIixcbiAgICAgICAgICAgIFwiZ2VvY29kZV90eXBlX2Rlc2NyaXB0aW9uXCI6IFwiR2VvY29kZSBUeXBlIERlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBcImhpZ2hlc3RfbGV2ZWxfbG9uZ2l0dWRlXCI6IFwiSGlnaGVzdCBMZXZlbCBMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9sYXRpdHVkZVwiOiBcIkhpZ2hlc3QgTGV2ZWwgTGF0aXR1ZGVcIixcbiAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIjogXCJIaWdoZXN0IExldmVsIEdlb2NvZGUgUmVsaWFiaWxpdHkgQ29kZVwiLFxuICAgICAgICAgICAgXCJoaWdoZXN0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfZGVzY3JpcHRpb25cIjogXCJIaWdoZXN0IExldmVsIEdlb2NvZGUgUmVsaWFiaWxpdHkgRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwiY29uZmlkZW5jZV9sZXZlbF9jb2RlXCI6IFwiQ29uZmlkZW5jZSBMZXZlbCBDb2RlXCIsXG4gICAgICAgICAgICBcImNvbmZpZGVuY2VfbGV2ZWxfZGVzY3JpcHRpb25cIjogXCJDb25maWRlbmNlIExldmVsIERlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBcIjIwMTZfbWVzaGJsb2NrX2lkXCI6IFwiMjAxNiBNZXNoYmxvY2sgSWRcIixcbiAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfY29kZVwiOiBcIjIwMTYgTWVzaGJsb2NrIENvZGVcIixcbiAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfbWF0Y2hfY29kZVwiOiBcIjIwMTYgTWVzaGJsb2NrIE1hdGNoIENvZGVcIixcbiAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfbWF0Y2hfZGVzY3JpcHRpb25cIjogXCIyMDE2IE1lc2hibG9jayBNYXRjaCBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJjb2xsZWN0b3JfZGlzdHJpY3RfaWRcIjogXCJDb2xsZWN0b3IgRGlzdHJpY3QgSWRcIixcbiAgICAgICAgICAgIFwiY29sbGVjdG9yX2Rpc3RyaWN0X2NvZGVcIjogXCJDb2xsZWN0b3IgRGlzdHJpY3QgQ29kZVwiLFxuICAgICAgICAgICAgXCJjb21tb253ZWFsdGhfZWxlY3RvcmFsX2JvdW5kYXJ5X2lkXCI6IFwiQ29tbW9ud2VhbHRoIEVsZWN0b3JhbCBCb3VuZGFyeSBJZFwiLFxuICAgICAgICAgICAgXCJjb21tb253ZWFsdGhfZWxlY3RvcmFsX2JvdW5kYXJ5X25hbWVcIjogXCJDb21tb253ZWFsdGggRWxlY3RvcmFsIEJvdW5kYXJ5IE5hbWVcIixcbiAgICAgICAgICAgIFwic3RhdGlzdGljYWxfbG9jYWxfYXJlYV9pZFwiOiBcIlN0YXRpc3RpY2FsIExvY2FsIEFyZWEgSWRcIixcbiAgICAgICAgICAgIFwic3RhdGlzdGljYWxfbG9jYWxfYXJlYV9jb2RlXCI6IFwiU3RhdGlzdGljYWwgTG9jYWwgQXJlYSBDb2RlXCIsXG4gICAgICAgICAgICBcInN0YXRpc3RpY2FsX2xvY2FsX2FyZWFfbmFtZVwiOiBcIlN0YXRpc3RpY2FsIExvY2FsIEFyZWEgTmFtZVwiLFxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfYm91bmRhcnlfaWRcIjogXCJTdGF0ZSBFbGVjdG9yYWwgQm91bmRhcnkgSWRcIixcbiAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX2JvdW5kYXJ5X25hbWVcIjogXCJTdGF0ZSBFbGVjdG9yYWwgQm91bmRhcnkgTmFtZVwiLFxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfZWZmZWN0aXZlX3N0YXJ0XCI6IFwiU3RhdGUgRWxlY3RvcmFsIEVmZmVjdGl2ZSBTdGFydFwiLFxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfZWZmZWN0aXZlX2VuZFwiOiBcIlN0YXRlIEVsZWN0b3JhbCBFZmZlY3RpdmUgRW5kXCIsXG4gICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9uZXdfcGlkXCI6IFwiU3RhdGUgRWxlY3RvcmFsIE5ldyBQaWRcIixcbiAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX25ld19uYW1lXCI6IFwiU3RhdGUgRWxlY3RvcmFsIE5ldyBOYW1lXCIsXG4gICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9uZXdfZWZmZWN0aXZlX3N0YXJ0XCI6IFwiU3RhdGUgRWxlY3RvcmFsIE5ldyBFZmZlY3RpdmUgU3RhcnRcIixcbiAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9sb25naXR1ZGVcIjogXCJBZGRyZXNzIExldmVsIExvbmdpdHVkZVwiLFxuICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2xhdGl0dWRlXCI6IFwiQWRkcmVzcyBMZXZlbCBMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiOiBcIkFkZHJlc3MgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBDb2RlXCIsXG4gICAgICAgICAgICBcImFkZHJlc3NfbGV2ZWxfZ2VvY29kZV9yZWxpYWJpbGl0eV9kZXNjcmlwdGlvblwiOiBcIkFkZHJlc3MgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfbG9uZ2l0dWRlXCI6IFwiU3RyZWV0IExldmVsIExvbmdpdHVkZVwiLFxuICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfbGF0aXR1ZGVcIjogXCJTdHJlZXQgTGV2ZWwgTGF0aXR1ZGVcIixcbiAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2JvdW5kYXJ5X2V4dGVudFwiOiBcIlN0cmVldCBMZXZlbCBCb3VuZGFyeSBFeHRlbnRcIixcbiAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiOiBcIlN0cmVldCBMZXZlbCBHZW9jb2RlIFJlbGlhYmlsaXR5IENvZGVcIixcbiAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfZGVzY3JpcHRpb25cIjogXCJTdHJlZXQgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJsb2NhbGl0eV9sZXZlbF9sb25naXR1ZGVcIjogXCJMb2NhbGl0eSBMZXZlbCBMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwibG9jYWxpdHlfbGV2ZWxfbGF0aXR1ZGVcIjogXCJMb2NhbGl0eSBMZXZlbCBMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJsb2NhbGl0eV9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIjogXCJMb2NhbGl0eSBMZXZlbCBHZW9jb2RlIFJlbGlhYmlsaXR5IENvZGVcIixcbiAgICAgICAgICAgIFwibG9jYWxpdHlfbGV2ZWxfZ2VvY29kZV9yZWxpYWJpbGl0eV9kZXNjcmlwdGlvblwiOiBcIkxvY2FsaXR5IExldmVsIEdlb2NvZGUgUmVsaWFiaWxpdHkgRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwiZ25hZl9sZWdhbF9wYXJjZWxfaWRlbnRpZmllclwiOiBcIkduYWYgTGVnYWwgUGFyY2VsIElkZW50aWZpZXJcIixcbiAgICAgICAgICAgIFwibG9jYWxpdHlfY2xhc3NfY29kZVwiOiBcIkxvY2FsaXR5IENsYXNzIENvZGVcIlxuICAgICAgICB9LFxuICAgICAgICBjdl9ob3VzZWhvbGRfdGl0bGUgOiBcIkFVUyBDb25zdW1lciBWaWV3IEhvdXNlaG9sZFwiLFxuICAgICAgICBhdXNfY3ZfaG91c2Vob2xkOiB7XG4gICAgICAgICAgICBcImFkZHJlc3NcIjogXCJBZGRyZXNzXCIsXG4gICAgICAgICAgICBcImFkdWx0c19hdF9hZGRyZXNzX2NvZGVcIjogXCJBZHVsdHMgQXQgQWRkcmVzcyBDb2RlXCIsXG4gICAgICAgICAgICBcImFkdWx0c19hdF9hZGRyZXNzX2Rlc2NyaXB0aW9uXCI6IFwiQWR1bHRzIEF0IEFkZHJlc3MgRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwiYWZmbHVlbmNlX2NvZGVcIjogXCJBZmZsdWVuY2UgQ29kZVwiLFxuICAgICAgICAgICAgXCJhZmZsdWVuY2VfZGVzY3JpcHRpb25cIjogXCJBZmZsdWVuY2UgRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwiY2hhbm5lbF9wcmVmZXJlbmNlXCI6IFwiQ2hhbm5lbCBQcmVmZXJlbmNlXCIsXG4gICAgICAgICAgICBcImNoYW5uZWxfcHJlZmVyZW5jZV9kZXNjcmlwdGlvblwiOiBcIkNoYW5uZWwgUHJlZmVyZW5jZSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJjaGlsZHJlbl9hdF9hZGRyZXNzX2NvZGVfMF8xMF95ZWFyc1wiOiBcIkNoaWxkcmVuIEF0IEFkZHJlc3MgQ29kZSAwIDEwIFllYXJzXCIsXG4gICAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NfY29kZV8xMV8xOF95ZWFyc1wiOiBcIkNoaWxkcmVuIEF0IEFkZHJlc3MgQ29kZSAxMSAxOCBZZWFyc1wiLFxuICAgICAgICAgICAgXCJjaGlsZHJlbl9hdF9hZGRyZXNzX2Rlc2NyaXB0aW9uXzBfMTBfeWVhcnNcIjogXCJDaGlsZHJlbiBBdCBBZGRyZXNzIERlc2NyaXB0aW9uIDAgMTAgWWVhcnNcIixcbiAgICAgICAgICAgIFwiY2hpbGRyZW5fYXRfYWRkcmVzc19kZXNjcmlwdGlvbl8xMV8xOF95ZWFyc1wiOiBcIkNoaWxkcmVuIEF0IEFkZHJlc3MgRGVzY3JpcHRpb24gMTEgMTggWWVhcnNcIixcbiAgICAgICAgICAgIFwiY3JlZGl0X2RlbWFuZF9jb2RlXCI6IFwiQ3JlZGl0IERlbWFuZCBDb2RlXCIsXG4gICAgICAgICAgICBcImNyZWRpdF9kZW1hbmRfZGVzY3JpcHRpb25cIjogXCJDcmVkaXQgRGVtYW5kIERlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBcImduYWZfbGF0aXR1ZGVcIjogXCJHbmFmIExhdGl0dWRlXCIsXG4gICAgICAgICAgICBcImduYWZfbG9uZ2l0dWRlXCI6IFwiR25hZiBMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwiZ25hZl9waWRcIjogXCJHbmFmIFBpZFwiLFxuICAgICAgICAgICAgXCJoZWFkX29mX2hvdXNlaG9sZF9hZ2VfY29kZVwiOiBcIkhlYWQgT2YgSG91c2Vob2xkIEFnZSBDb2RlXCIsXG4gICAgICAgICAgICBcImhlYWRfb2ZfaG91c2Vob2xkX2FnZV9kZXNjcmlwdGlvblwiOiBcIkhlYWQgT2YgSG91c2Vob2xkIEFnZSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJoaW5cIjogXCJIaW5cIixcbiAgICAgICAgICAgIFwiaG91c2Vob2xkX2NvbXBvc2l0aW9uX2NvZGVcIjogXCJIb3VzZWhvbGQgQ29tcG9zaXRpb24gQ29kZVwiLFxuICAgICAgICAgICAgXCJob3VzZWhvbGRfY29tcG9zaXRpb25fZGVzY3JpcHRpb25cIjogXCJIb3VzZWhvbGQgQ29tcG9zaXRpb24gRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwiaG91c2Vob2xkX2luY29tZV9jb2RlXCI6IFwiSG91c2Vob2xkIEluY29tZSBDb2RlXCIsXG4gICAgICAgICAgICBcImhvdXNlaG9sZF9pbmNvbWVfZGVzY3JpcHRpb25cIjogXCJIb3VzZWhvbGQgSW5jb21lIERlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICBcImxlbmd0aF9vZl9yZXNpZGVuY2VfY29kZVwiOiBcIkxlbmd0aCBPZiBSZXNpZGVuY2UgQ29kZVwiLFxuICAgICAgICAgICAgXCJsZW5ndGhfb2ZfcmVzaWRlbmNlX2Rlc2NyaXB0aW9uXCI6IFwiTGVuZ3RoIE9mIFJlc2lkZW5jZSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJsaWZlc3RhZ2VfY29kZVwiOiBcIkxpZmVzdGFnZSBDb2RlXCIsXG4gICAgICAgICAgICBcImxpZmVzdGFnZV9kZXNjcmlwdGlvblwiOiBcIkxpZmVzdGFnZSBEZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgXCJsb2NhbF9nb3Zlcm5tZW50X2FyZWFfY29kZVwiOiBcIkxvY2FsIEdvdmVybm1lbnQgQXJlYSBDb2RlXCIsXG4gICAgICAgICAgICBcImxvY2FsX2dvdmVybm1lbnRfYXJlYV9uYW1lXCI6IFwiTG9jYWwgR292ZXJubWVudCBBcmVhIE5hbWVcIixcbiAgICAgICAgICAgIFwibWVzaGJsb2NrXCI6IFwiTWVzaGJsb2NrXCIsXG4gICAgICAgICAgICBcIm1vc2FpY19ncm91cFwiOiBcIk1vc2FpYyBHcm91cFwiLFxuICAgICAgICAgICAgXCJtb3NhaWNfdHlwZVwiOiBcIk1vc2FpYyBUeXBlXCIsXG4gICAgICAgICAgICBcInBvc3Rjb2RlXCI6IFwiUG9zdGNvZGVcIixcbiAgICAgICAgICAgIFwicmVzaWRlbnRpYWxfZmxhZ1wiOiBcIlJlc2lkZW50aWFsIEZsYWdcIixcbiAgICAgICAgICAgIFwicmlza19pbnNpZ2h0X2NvZGVcIjogXCJSaXNrIEluc2lnaHQgQ29kZVwiLFxuICAgICAgICAgICAgXCJyaXNrX2luc2lnaHRfZGVzY3JpcHRpb25cIjogXCJSaXNrIEluc2lnaHQgRGVzY3JpcHRpb25cIixcbiAgICAgICAgICAgIFwic2ExXCI6IFwiU2ExXCIsXG4gICAgICAgICAgICBcInN0YXRlXCI6IFwiU3RhdGVcIixcbiAgICAgICAgICAgIFwic3VidXJiXCI6IFwiU3VidXJiXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgTlpMOiB7XG4gICAgICAgIGdlb2NvZGVzX3RpdGxlIDogXCJOWkwgR2VvY29kZXNcIixcbiAgICAgICAgbnpsX3JlZ2lvbmFsX2dlb2NvZGVzOiB7XG4gICAgICAgICAgICBcImZyb250X29mX3Byb3BlcnR5X256dG1feF9jb29yZGluYXRlXCI6IFwiRnJvbnQgb2YgUHJvcGVydHkgTlpUTSBYIENvb3JkaW5hdGVcIixcbiAgICAgICAgICAgIFwiZnJvbnRfb2ZfcHJvcGVydHlfbnp0bV95X2Nvb3JkaW5hdGVcIjogXCJGcm9udCBvZiBQcm9wZXJ0eSBOWlRNIFkgQ29vcmRpbmF0ZVwiLFxuICAgICAgICAgICAgXCJjZW50cm9pZF9vZl9wcm9wZXJ0eV9uenRtX3hfY29vcmRpbmF0ZVwiOiBcIkNlbnRyb2lkIG9mIFByb3BlcnR5IE5aVE0gWCBDb29yZGluYXRlXCIsXG4gICAgICAgICAgICBcImNlbnRyb2lkX29mX3Byb3BlcnR5X256dG1feV9jb29yZGluYXRlXCI6IFwiQ2VudHJvaWQgb2YgUHJvcGVydHkgTlpUTSBZIENvb3JkaW5hdGVcIixcbiAgICAgICAgICAgIFwiZnJvbnRfb2ZfcHJvcGVydHlfbGF0aXR1ZGVcIjogXCJGcm9udCBvZiBQcm9wZXJ0eSBMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJmcm9udF9vZl9wcm9wZXJ0eV9sb25naXR1ZGVcIjogXCJGcm9udCBvZiBQcm9wZXJ0eSBMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwiY2VudHJvaWRfb2ZfcHJvcGVydHlfbGF0aXR1ZGVcIjogXCJDZW50cm9pZCBvZiBQcm9wZXJ0eSBMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJjZW50cm9pZF9vZl9wcm9wZXJ0eV9sb25naXR1ZGVcIjogXCJDZW50cm9pZCBvZiBQcm9wZXJ0eSBMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwibGluel9wYXJjZWxfaWRcIjogXCJMaW56IFBhcmNlbCBJZFwiLFxuICAgICAgICAgICAgXCJwcm9wZXJ0eV9wdXJwb3NlX3R5cGVcIjogXCJQcm9wZXJ0eSBQdXJwb3NlIFR5cGVcIixcbiAgICAgICAgICAgIFwiYWRkcmVzc2FibGVcIjogXCJBZGRyZXNzYWJsZVwiLFxuICAgICAgICAgICAgXCJtZXNoX2Jsb2NrX2NvZGVcIjogXCJNZXNoIEJsb2NrIENvZGVcIixcbiAgICAgICAgICAgIFwidGVycml0b3JpYWxfYXV0aG9yaXR5X2NvZGVcIjogXCJUZXJyaXRvcmlhbCBBdXRob3JpdHkgQ29kZVwiLFxuICAgICAgICAgICAgXCJ0ZXJyaXRvcmlhbF9hdXRob3JpdHlfbmFtZVwiOiBcIlRlcnJpdG9yaWFsIEF1dGhvcml0eSBOYW1lXCIsXG4gICAgICAgICAgICBcInJlZ2lvbmFsX2NvdW5jaWxfY29kZVwiOiBcIlJlZ2lvbmFsIENvdW5jaWwgQ29kZVwiLFxuICAgICAgICAgICAgXCJyZWdpb25hbF9jb3VuY2lsX25hbWVcIjogXCJSZWdpb25hbCBDb3VuY2lsIE5hbWVcIixcbiAgICAgICAgICAgIFwiZ2VuZXJhbF9lbGVjdG9yYXRlX2NvZGVcIjogXCJHZW5lcmFsIEVsZWN0b3JhdGUgQ29kZVwiLFxuICAgICAgICAgICAgXCJnZW5lcmFsX2VsZWN0b3JhdGVfbmFtZVwiOiBcIkdlbmVyYWwgRWxlY3RvcmF0ZSBOYW1lXCIsXG4gICAgICAgICAgICBcIm1hb3JpX2VsZWN0b3JhdGVfY29kZVwiOiBcIk1hb3JpIEVsZWN0b3JhdGUgQ29kZVwiLFxuICAgICAgICAgICAgXCJtYW9yaV9lbGVjdG9yYXRlX25hbWVcIjogXCJNYW9yaSBFbGVjdG9yYXRlIE5hbWVcIixcbiAgICAgICAgICAgIFwibWF0Y2hfbGV2ZWxcIjogXCJNYXRjaCBMZXZlbFwiXG4gICAgICAgIH0sXG4gICAgICAgIGN2X2hvdXNlaG9sZF90aXRsZSA6IFwiTlpMIENvbnN1bWVyIFZpZXcgSG91c2Vob2xkXCIsXG4gICAgICAgIG56bF9jdl9ob3VzZWhvbGQ6IHtcbiAgICAgICAgICAgIFwiYWR1bHRzX2F0X2FkZHJlc3NcIjogXCJBZHVsdHMgQXQgQWRkcmVzc1wiLFxuICAgICAgICAgICAgXCJjaGlsZHJlbl9hdF9hZGRyZXNzXCI6IFwiQ2hpbGRyZW4gQXQgQWRkcmVzc1wiLFxuICAgICAgICAgICAgXCJoZWFkX29mX2hvdXNlaG9sZF9hZ2VcIjogXCJIZWFkIE9mIEhvdXNlaG9sZCBBZ2VcIixcbiAgICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfbGlmZXN0YWdlXCI6IFwiSGVhZCBPZiBIb3VzZWhvbGQgTGlmZXN0YWdlXCIsXG4gICAgICAgICAgICBcImhvdXNlaG9sZF9jb21wb3NpdGlvblwiOiBcIkhvdXNlaG9sZCBDb21wb3NpdGlvblwiLFxuICAgICAgICAgICAgXCJtb3NhaWNfZ3JvdXBcIjogXCJNb3NhaWMgR3JvdXBcIixcbiAgICAgICAgICAgIFwibW9zYWljX3NlZ21lbnRcIjogXCJNb3NhaWMgU2VnbWVudFwiLFxuICAgICAgICAgICAgXCJtb3NhaWNfdHlwZV9ncm91cFwiOiBcIk1vc2FpYyBUeXBlIEdyb3VwXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgVVNBOiB7XG4gICAgICAgIGdlb2NvZGVzX3RpdGxlIDogXCJVU0EgR2VvY29kZXNcIixcbiAgICAgICAgdXNhX3JlZ2lvbmFsX2dlb2NvZGVzOiB7XG4gICAgICAgICAgICBcImxhdGl0dWRlXCI6IFwiTGF0aXR1ZGVcIixcbiAgICAgICAgICAgIFwibG9uZ2l0dWRlXCI6IFwiTG9uZ2l0dWRlXCIsXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIixcbiAgICAgICAgICAgIFwiY2Vuc3VzX3RyYWN0XCI6IFwiQ2Vuc3VzIFRyYWN0XCIsXG4gICAgICAgICAgICBcImNlbnN1c19ibG9ja1wiOiBcIkNlbnN1cyBCbG9ja1wiLFxuICAgICAgICAgICAgXCJjb3JlX2Jhc2VkX3N0YXRpc3RpY2FsX2FyZWFcIjogXCJDb3JlIEJhc2VkIFN0YXRpc3RpY2FsIEFyZWFcIixcbiAgICAgICAgICAgIFwiY29uZ3Jlc3Npb25hbF9kaXN0cmljdF9jb2RlXCI6IFwiQ29uZ3Jlc3Npb25hbCBEaXN0cmljdCBDb2RlXCIsXG4gICAgICAgICAgICBcImNvdW50eV9jb2RlXCI6IFwiQ291bnRyeSBDb2RlXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgR0JSOiB7XG4gICAgICAgIGdlb2NvZGVzX3RpdGxlIDogXCJHQlIgTG9jYXRpb24gRXNzZW50aWFsXCIsXG4gICAgICAgIHVrX2xvY2F0aW9uX2Vzc2VudGlhbDoge1xuICAgICAgICAgICAgXCJsYXRpdHVkZVwiOiBcIkxhdGl0dWRlXCIsXG4gICAgICAgICAgICBcImxvbmdpdHVkZVwiOiBcIkxvbmdpdHVkZVwiLFxuICAgICAgICAgICAgXCJtYXRjaF9sZXZlbFwiOiBcIk1hdGNoIExldmVsXCIsXG4gICAgICAgICAgICBcInVkcHJuXCI6IFwiVURQUk5cIixcbiAgICAgICAgICAgIFwidXByblwiOiBcIlVQUk5cIixcbiAgICAgICAgICAgIFwieF9jb29yZGluYXRlXCI6IFwiWCBDb29yZGluYXRlXCIsXG4gICAgICAgICAgICBcInlfY29vcmRpbmF0ZVwiOiBcIlkgQ29vcmRpbmF0ZVwiXG4gICAgICAgIH0sXG4gICAgICAgIHdoYXQzd29yZHM6IHtcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIjogXCJMYXRpdHVkZVwiLFxuICAgICAgICAgICAgXCJsb25naXR1ZGVcIjogXCJMb25naXR1ZGVcIixcbiAgICAgICAgICAgIFwibmFtZVwiOiBcIk5hbWVcIixcbiAgICAgICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJEZXNjcmlwdGlvblwiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIEdMT0JBTDoge1xuICAgICAgICBnZW9jb2Rlc190aXRsZSA6IFwiR2xvYmFsIEdlb2NvZGVzXCIsXG4gICAgICAgIGdlb2NvZGVzOiB7XG4gICAgICAgICAgICBcImxhdGl0dWRlXCI6IFwiTGF0aXR1ZGVcIixcbiAgICAgICAgICAgIFwibG9uZ2l0dWRlXCI6IFwiTG9uZ2l0dWRlXCIsXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIlxuICAgICAgICB9XG4gICAgfVxufTsiLCJleHBvcnQgY29uc3QgY29uc3VtZXJWaWV3RGVzY3JpcHRpb25zID0ge1xuICAgIEFVUzoge1xuICAgICAgICBtb3NhaWNfZ3JvdXA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJBXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmlyc3QgQ2xhc3MgTGlmZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlYWx0aGllc3QgZ3JvdXAgaW4gQXVzdHJhbGlhLCB0eXBpY2FsbHkgb2xkZXIgbWlkZGxlLWFnZWQgZmFtaWxpZXMgd2l0aCBzaWduaWZpY2FudCBhc3NldHMgYW5kIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb21mb3J0YWJsZSBGb3VuZGF0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbiBYIGZhbWlsaWVzIHdpdGggc2Nob29sLWFnZWQgY2hpbGRyZW4sIHdvcmtpbmcgaW4gd2hpdGUtY29sbGFyIHByb2Zlc3Npb25zIGFuZCBsaXZpbmcgaW4gc3VidXJiYW4gYXJlYXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJDXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3RyaXZpbmcgZm9yIFN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nLCBzdWNjZXNzZnVsLCBjYXJlZXItZHJpdmVuIHByb2Zlc3Npb25hbHMgbGl2aW5nIGluIGNlbnRyYWwgY2l0eSBhcmVhcyB3aXRoIGhpZ2ggaW5jb21lIGFuZCBubyBjaGlsZHJlblwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTZWN1cmUgVHJhbnF1aWxsaXR5XCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQWZmbHVlbnQgcmV0aXJlZXMgbGl2aW5nIGluIGhpZ2hlciB2YWx1ZWQgcHJvcGVydGllcyBpbiBkZXNpcmFibGUgYXJlYXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJFXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmFtaWx5IEZyaW5nZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWRkbGUtYWdlZCB0cmFkaXRpb25hbCBmYW1pbGllcyBsaXZpbmcgb24gbGFyZ2Ugb3V0ZXItc3VidXJiYW4gcGxvdHMsIHdpdGggY29tZm9ydGFibGUgaW5jb21lcyBhbmQgbG9uZyBjb21tdXRlc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFc3RhYmxpc2hpbmcgUm9vdHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWxsZW5uaWFsIGZpcnN0IGhvbWUgYnV5ZXJzLCBsaXZpbmcgMTBrbSsgZnJvbSB0aGUgY2l0eSBjZW50cmUgd2l0aCBhYm92ZSBhdmVyYWdlIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkdcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHcm93aW5nIEluZGVwZW5kZW5jZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVkdWNhdGVkIG1pbGxlbm5pYWxzIGF0IHRoZSBzdGFydCBvZiB0aGVpciBjYXJlZXJzLCByZW50aW5nIGFwYXJ0bWVudHMgY2xvc2UgdG8gY2l0eSBjZW50cmVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1pZGRsZSBCbHVlLWNvbGxhcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZ2VyIGJsdWUtY29sbGFyIHdvcmtlcnMgcmVudGluZyBmYXIgZnJvbSBjaXR5IGNlbnRyZXMsIHdpdGggYmVsb3cgYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJJXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHJhZGl0aW9uYWwgUHVyc3VpdHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBdmVyYWdlIGluY29tZSB0cmFkaXRpb25hbCBmYW1pbGllcyAmIHNpbmdsZSBwYXJlbnRzIHdpdGggc2Nob29sLWFnZWQgY2hpbGRyZW4gbGl2aW5nIGluIG91dGVyIHN1YnVyYmFuIGFuZCByZWdpb25hbCBsb2NhdGlvbnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJKXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHJ1ZSBHcml0XCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQmx1ZS1jb2xsYXIgaG91c2Vob2xkcyBpbiBnYWluZnVsIGVtcGxveW1lbnQsIHJlc2lkaW5nIGluIGxvY2F0aW9ucyBhY3Jvc3Mgb3V0ZXIgc3VidXJiYW4sIHJlZ2lvbmFsIGFuZCBtaW5pbmcgdG93bnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJLXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTWF0dXJlIEZyZWVkb21cIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW4gWCBjb3VwbGVzIHdpdGhvdXQgY2hpbGRyZW4sIHJlbnRpbmcgYXBhcnRtZW50cyBhbmQgdGVycmFjZXMgaW4gaGlnaCBncm93dGggc3VidXJic1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkxcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIYXJkc2hpcCAmIFBlcnNldmVyYW5jZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlVuZW1wbG95ZWQgYW5kIGJsdWUtY29sbGFyIHdvcmtlcnMgbGl2aW5nIGluIHVuaXRzIGFuZCBmbGF0cyBvbiBsb3cgaW5jb21lc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk1cIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHcmFjZWZ1bCBBZ2VpbmdcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciByZXRpcmVlcyB3aXRoIGJlbG93IGF2ZXJhZ2UgaW5jb21lLCBsaXZpbmcgaW4gb3duZWQgcHJvcGVydGllcyBvciByZXRpcmVtZW50IHZpbGxhZ2VzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiTlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJ1cmFsIENvbW1pdG1lbnRcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSdXJhbCBwZW9wbGUgd29ya2luZyBpbiBhZ3JpY3VsdHVyZSwgbGl2aW5nIG9uIGxhcmdlIHBsb3RzIG9mIGxhbmQgZmFyIGZyb20gbWFpbiByb2FkcyBhbmQgbWFpbiB0b3duc1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIG1vc2FpY190eXBlOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQTAxXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVG9wIG9mIHRoZSBMYWRkZXJcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZWFsdGhpZXN0IGZhbWlsaWVzLCBtYXJyaWVkIGNvdXBsZXMgb2Z0ZW4gd2l0aCBhZHVsdCBjaGlsZHJlbiwgb3duaW5nIHZlcnkgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gZXhjbHVzaXZlIGlubmVyLXVyYmFuIGFyZWFzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQTAyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTHV4dXJ5IExpdmluZ1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJhYnkgYm9vbWVyIGZhbWlsaWVzLCBvZnRlbiB3aXRoIGFkdWx0IGNoaWxkcmVuLCBvd25pbmcgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gaW5uZXItdXJiYW4gJiBjb2FzdGFsIGFyZWFzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQTAzXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ2VudHJhbCBQcm9zcGVyaXR5XCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlkZGxlLW9sZGVyIGFnZWQgZW1wdHkgbmVzdGVyIGNvdXBsZXMgcmVudGluZyB2ZXJ5IGV4cGVuc2l2ZSBwcm9wZXJ0aWVzIGluIGlubmVyLXVyYmFuIGFyZWFzLCB3aXRoIGhpZ2ggaW5jb21lXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQTA0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3VidXJiYW4gRXN0ZWVtXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVHJhZGl0aW9uYWwgYmFieSBib29tZXIgY291cGxlcyB3aXRoIGFkdWx0IGNoaWxkcmVuLCBvd25pbmcgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gaW5uZXItdXJiYW4gJiBzdWJ1cmJhbiBhcmVhcyBvZiBTeWRuZXkgJiBNZWxib3VybmVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJCMDVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTdWNjZXNzZnVsIFNwZW5kaW5nXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcsIG1hcnJpZWQgY291cGxlcyB3aXRoIGNoaWxkcmVuIGFuZCBoaWdoIGluY29tZSwgbGl2aW5nIGluIG91dGVyLXN1YnVyYmFuL21ldHJvLWZyaW5nZSBhcmVhc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkIwNlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNhcmVlcnMgJiBLaWRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiR2VuIFggZmFtaWxpZXMgd2l0aCBjaGlsZHJlbiwgbGl2aW5nIGluIGV4cGVuc2l2ZSBwcm9wZXJ0aWVzIGluIHN1YnVyYmFuIGFyZWFzLCB3aXRoIGhpZ2ggaW5jb21lXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQjA3XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRnJ1aXRmdWwgRmFtaWxpZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW4gWCBmYW1pbGllcyB3aXRoIG1hbnkgY2hpbGRyZW4sIGxpdmluZyBpbiBtZXRyby1mcmluZ2UgYXJlYXMsIHdpdGggaGlnaCBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJDMDhcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSb29mdG9wcyAmIENhcmVlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZWxsLWVkdWNhdGVkLCBoaWdoLXBvd2VyZWQgYnVzaW5lc3MgcGVvcGxlIHdpdGggdmVyeSBoaWdoIGluY29tZSBhbmQgbm8gY2hpbGRyZW4sIGxpdmluZyBpbiBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBjZW50cmFsIFN5ZG5leVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkMwOVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkVsaXRlIEFsdGVybmF0aXZlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlbGwtZWR1Y2F0ZWQgcHJvZmVzc2lvbmFscywgbGl2aW5nIGluIHRyZW5keSBpbm5lci11cmJhbiBhcmVhcywgd2l0aCBoaWdoIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkMxMFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBvd2VyIENvdXBsZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZyBkaXZlcnNlIGNvdXBsZXMsIHdlbGwtZWR1Y2F0ZWQsIHRyYW5zaWVudCwgY2l0eSBjZW50cmUgcmVudGVycyB3aXRoIGhpZ2ggaW5jb21lIGFuZCBubyBjaGlsZHJlblwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkQxMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNjZW5pYyBDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgY291cGxlcyBpbiBzZW1pLXJldGlyZW1lbnQsIGxpdmluZyBpbiBzdWJ1cmJhbiBhcmVhcyBhbmQgbmVhcmJ5IHRvd25zIGZvciBtYW55IHllYXJzLCB3aXRoIGhpZ2ggaW5jb21lXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRDEyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSm91cm5leWVkIEVxdWl0eVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVsZGVybHkgY291cGxlcyBmcm9tIG11bHRpY3VsdHVyYWwgYmFja2dyb3VuZHMgbGl2aW5nIGluIGV4cGVuc2l2ZSBwcm9wZXJ0aWVzIGluIHN1YnVyYmFuIGFyZWFzIG9mIFN5ZG5leSAmIE1lbGJvdXJuZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkQxM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNvYXN0YWwgQ29tZm9ydFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJldGlyZWQsIHRyYWRpdGlvbmFsIGNvdXBsZXMgbGl2aW5nIGluIGNvYXN0YWwgYW5kIHNjZW5pYyBhcmVhcywgd2l0aCBhdmVyYWdlIHBlbnNpb25hYmxlIGluY29tZSBsZXZlbHNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJFMTRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTcGFjaW91cyBUcmFkaXRpb25zXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlkZGxlLWFnZWQsIHRyYWRpdGlvbmFsIGZhbWlsaWVzIHdpdGggb2xkZXIgY2hpbGRyZW4sIG93bmluZyBsYXJnZSBhbmQgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgd2l0aCBoaWdoIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkUxNVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk9wdWxlbnQgRGVzaWduc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1hZ2VkIGZhbWlsaWVzIG93bmluZyBodWdlIGhvdXNlcyBpbiBvdXRlci1zdWJ1cmJhbiBhcmVhcywgd2l0aCBoaWdoIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkUxNlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhhcmR3YXJlICYgQWNyZWFnZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldvcmtpbmcgaW4gdHJhZGVzLCBtaWRkbGUtYWdlZCBmYW1pbGllcyBvd25pbmcgYWNyZWFnZXMgb2YgbGFuZCB3aXRoIGxhcmdlIHByb3BlcnRpZXMganVzdCBvdXRzaWRlIHRoZSBtZXRybyBmcmluZ2VcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJGMTdcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJEZXRlcm1pbmVkIFN1YnVyYmFuc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlByb2Zlc3Npb25hbCBjb3VwbGVzIGFuZCBzaW5nbGVzIHdpdGggaGlnaCBpbmNvbWUsIG93bmluZyB0aGVpciBmaXJzdCBob21lIGluIGhpZ2ggZ3Jvd3RoIGlubmVyIHN1YnVyYnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJGMThcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJEZXZlbG9waW5nIERvbWVzdGljc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIGZpcnN0LWhvbWUtb3duZXIgZmFtaWxpZXMgd2l0aCB2ZXJ5IHlvdW5nIGNoaWxkcmVuLCByZWNlbnRseSBtb3ZlZCBpbnRvIG5ldyBob3VzaW5nIGVzdGF0ZXMsIHdpdGggYWJvdmUgYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJGMTlcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTdHJpdmluZyBTY2hvbGFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nLCBoaWdobHkgZWR1Y2F0ZWQgc2luZ2xlcyBhbmQgY291cGxlcywgd2l0aCBhYm92ZSBhdmVyYWdlIGluY29tZSwgbGl2aW5nIGluIGhpZ2ggZ3Jvd3RoIHN1YnVyYnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJHMjBcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJZb3V0aGZ1bCBBbWJpdGlvblwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIHNpbmdsZXMgYW5kIGNvdXBsZXMsIHNvbWUgc3R1ZGVudHMsIHdpdGggbm8gY2hpbGRyZW4sIHJlbnRpbmcgZmxhdHMgaW4gaW5uZXItdXJiYW4gYXJlYXMsIHdpdGggYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJHMjFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFbWVyZ2luZyBNZXRyb3NcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZywgd2VsbC1lZHVjYXRlZCBhbmQgY3VsdHVyYWxseSBkaXZlcnNlLCByZW50aW5nIGZsYXRzIGluIHN1YnVyYmFuIGFyZWFzIG9mIFN5ZG5leSwgd2l0aCBhYm92ZSBhdmVyYWdlIGluY29tZSBhbmQgbm8gY2hpbGRyZW5cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJHMjJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTcGlyaXQgUXVlc3RlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWxsZW5uaWFsIHNpbmdsZXMgcmVudGluZyBpbiBjb2FzdGFsIHRvdXJpc3QgYXJlYXMsIHdpdGggYmVsb3cgYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJHMjNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHbG9iYWwgU3R1ZGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIHN0dWRlbnQgcmVudGVycyBuZWFyIHVuaXZlcnNpdHkgY2FtcHVzZXMsIGN1bHR1cmFsbHkgZGl2ZXJzZSB3aXRoIHZlcnkgbG93IG9yIG5vIGluY29tZSBidXQgaGlnaCBzcGVuZFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkgyNFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkJhY2t5YXJkcyAmIE1hdGVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlsbGVubmlhbCBibHVlLWNvbGxhciBjb3VwbGVzIGFuZCBzaW5nbGVzLCBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgYW5kIHN1cnJvdW5kaW5nIHRvd25zIHdpdGggYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJIMjVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJQcmFtcyAmIFRyYWRlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nZXIgYmx1ZS1jb2xsYXIgZmFtaWxpZXMgd2l0aCBtYW55IGNoaWxkcmVuLCBsaXZpbmcgaW4gbmV3IG91dGVyLXN1YnVyYmFuIGhvdXNpbmcgZXN0YXRlcywgd2l0aCBsb3cgdG8gYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJIMjZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFYXJuZXN0IEludGVybmF0aW9uYWxzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmdlciwgZGl2ZXJzZSBibHVlLWNvbGxhciBjb21tdXRlcnMgcmVudGluZyBhcGFydG1lbnRzIGluIFN5ZG5leSBvdXRlci1zdWJ1cmJhbiBhcmVhcywgd2l0aCBsb3cgaW5jb21lXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI3XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVG93bnNoaXAgU29sb3NcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZ2VyIGJsdWUtY29sbGFyIHNpbmdsZXMgaW4gcmVnaW9uYWwgdG93bnMsIHdpdGggbG93IGluY29tZSBidXQgaGF2ZSBmaW5hbmNpYWwgc3RhYmlsaXR5XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSTI4XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2Nob29scyAmIEJpbGxzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlsbGVubmlhbCBmYW1pbGllcyB3aXRoIHlvdW5nIGNoaWxkcmVuLCBzb21ldGltZXMgc2luZ2xlIHBhcmVudHMsIGNvbW11dGluZyBmcm9tIG91dGVyLXN1YnVyYmFuIGFyZWFzIHdpdGggYXZlcmFnZSBpbmNvbWVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSTI5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTWlkZGxlIG9mIHRoZSBSb2FkXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgdHJhZGl0aW9uYWwgZmFtaWxpZXMgd2l0aCBvbGRlciBjaGlsZHJlbiwgY29tbXV0aW5nIGZyb20gdGhlIG1ldHJvLWZyaW5nZSB3aXRoIGF2ZXJhZ2UgdG8gaGlnaCBpbmNvbWVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSTMwXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiUmVnaW9uYWwgRXNzZW50aWFsc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkNvdXBsZXMgYW5kIHNpbmdsZSBwYXJlbnRzIHdpdGggY2hpbGRyZW4gbGl2aW5nIGluIHJlZ2lvbmFsIGFyZWFzIHdpdGggbG93IHRvIGF2ZXJhZ2UgaW5jb21lc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkozMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1pbmVyYWxzICYgQWlycG9ydHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaXh0dXJlIG9mIHNpbmdsZXMgYW5kIGNvdXBsZXMgaW4gbWluaW5nIHRvd25zLCBzb21ldGltZXMgd2l0aCBjaGlsZHJlbiwgZWFybmluZyBoaWdoIGluY29tZXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJKMzJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTZWxmbGVzcyAmIEhhcmR3b3JraW5nXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQmx1ZS1jb2xsYXIgZmFtaWxpZXMgZnJvbSBtdWx0aWN1bHR1cmFsIGJhY2tncm91bmRzLCBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMsIHdpdGggYXZlcmFnZSB0byBoaWdoIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkozM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkxpZmUgaW4gdGhlIFNsb3cgTGFuZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1hZ2VkLCBibHVlLWNvbGxhciBjb3VwbGVzIGxpdmluZyBpbiBvdXRlci1zdWJ1cmJhbi9tZXRyby1mcmluZ2UgYXJlYXMsIHdpdGggYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJKMzRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb3VudHJ5IFRvd24gQ291cmFnZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxvdyBlZHVjYXRpb24sIG1vbm9jdWx0dXJhbCwgbWFudWFsIHdvcmtlcnMgd2l0aCBsb3cgaW5jb21lLCBsaXZpbmcgaW4gbG93IHZhbHVlIHByb3BlcnRpZXMgaW4gcnVyYWwgdG93bnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJLMzVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNYXR1cmUgTW9kZXJuaXRlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1hZ2VkIGNvdXBsZXMgd2l0aG91dCBjaGlsZHJlbiwgcmVudGluZyBpbiBpbm5lciBzdWJ1cmJhbiBhcGFydG1lbnRzIGFuZCB0ZXJyYWNlc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkszNlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5ldy1mb3VuZCBGcmVlZG9tXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlkZGxlLWFnZWQsIGVtcHR5IG5lc3RlciBjb3VwbGVzIGxpdmluZyBpbiBvdXRlci1zdWJ1cmJhbi9tZXRyby1mcmluZ2UgYXJlYXMsIHdpdGggYWJvdmUgYXZlcmFnZSBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJLMzdcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZWFsaXN0aWMgSG9yaXpvbnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW4gWCBjb3VwbGVzIGFuZCBzaGFyZXJzIGxpdmluZyBpbiBvdXRlci1zdWJ1cmJhbiBhbmQgcmVnaW9uYWwgYXJlYXMsIHdpdGggbG93IGluY29tZSBhbmQgc21hbGwgcHJvcGVydGllc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkwzOFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJlc2V0IFJlZ2lvbmFsc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJsdWUtY29sbGFyIGZhbWlsaWVzLCBvZnRlbiBzaW5nbGUgcGFyZW50cywgbGl2aW5nIGluIHJ1cmFsIHRvd25zIHdpdGggbG93IGluY29tZSBhbmQgZGVwZW5kZW50IGNoaWxkcmVuXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiTDM5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTmV3LWZvdW5kIExpZmVcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNdWx0aWN1bHR1cmFsIGZhbWlsaWVzLCBzb21ldGltZXMgc2luZ2xlIHBhcmVudHMsIGxpdmluZyBpbiBvdXRlci1zdWJ1cmJhbiBhcmVhcyB3aXRoIGxvdyBpbmNvbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJMNDBcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTYXRlbGxpdGUgQmF0dGxlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb3cgaW5jb21lIHNpbmdsZXMgaW4gcmVnaW9uYWwgdG93bnMsIHNvbWV0aW1lcyBsaXZpbmcgaW4gc29jaWFsIGhvdXNpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJMNDFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJEb3dudG93biBCbHVlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIHNpbmdsZSBhbmQgZGl2ZXJzZSwgY2l0eSBjZW50cmUgcmVudGVycyB3aXRoIHZlcnkgbG93IGluY29tZSwgb2Z0ZW4gbGl2aW5nIGluIHNvY2lhbCBob3VzaW5nXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiTDQyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVG93bnNoaXAgQXNzaXN0YW5jZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nZXIgZmFtaWxpZXMsIG9mdGVuIHNpbmdsZSBwYXJlbnRzLCB3aXRoIGxvdyBpbmNvbWVzIGluIHJlZ2lvbmFsIHRvd25zLCBvZnRlbiBsaXZpbmcgaW4gc29jaWFsIGhvdXNpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJNNDNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJCbHVlLWNvbGxhciBSZXRpcmVlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk11bHRpY3VsdHVyYWwgb2xkZXIgY291cGxlcyBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgZm9yIGEgbG9uZyB0aW1lLCB3aXRoIGxvdyBpbmNvbWUgYnV0IGhpZ2ggcHJvcGVydHkgdmFsdWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJNNDRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTdGF5aW5nIFB1dFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyLCByZXRpcmVkIGNvdXBsZXMsIHNvbWV0aW1lcyB3aXRoIGFkdWx0IGNoaWxkcmVuIG9yIGNhcmVycywgd2hvIGFyZSBsb25nIHRlcm0gcmVzaWRlbnQgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJNNDVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJMb25lc29tZSBFbGRlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciBzaW5nbGVzLCBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgYW5kIHNhdGVsbGl0ZSB0b3ducywgd2l0aCBiZWxvdyBhdmVyYWdlIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk00NlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJldGlyZW1lbnQgVmlsbGFnZVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVsZGVybHksIHRyYWRpdGlvbmFsIGNvdXBsZXMgYW5kIHNpbmdsZXMgbGl2aW5nIGluIHJldGlyZW1lbnQgdmlsbGFnZXMgaW4gY2l0aWVzIGFuZCByZWdpb25hbCB0b3duc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk00N1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJ1cmFsIFJldGlyZW1lbnRcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFbGRlcmx5IGNvdXBsZXMsIHNvbWV0aW1lcyB3aXRoIGFkdWx0IGNoaWxkcmVuIG9yIGNhcmVycywgd2hvIGFyZSBsb25nIHRlcm0gcmVzaWRlbnRzIGluIHJ1cmFsIHRvd25zLCB3aXRoIGxvdyBwZW5zaW9uIGluY29tZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk40OFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkZhcm1pbmcgUmVsaWFuY2VcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSdXJhbCBmYXJtZXJzIGFuZCBmYXJtIG93bmVycyB3aXRoIGJlbG93IGF2ZXJhZ2UgaW5jb21lLCBsaXZpbmcgMTAtNDBrbSBhd2F5IGZyb20gdGhlIG5lYXJlc3QgdG93blwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk40OVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk91dGJhY2sgQ29tZm9ydFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlZlcnkgcnVyYWwgZmFybWVycyBhbmQgZmFybSBvd25lcnMgd2l0aCBiZWxvdyBhdmVyYWdlIGluY29tZSwgbGl2aW5nIDQwa20rIGZyb20gdGhlIG5lYXJlc3QgdG93blwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIk41MFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNvaWwgJiBUb2lsXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2luZ2xlIGZhcm0gd29ya2VycyBpbiB2ZXJ5IHNtYWxsIHJ1cmFsIHRvd25zLiB3aXRoIGxvdyBpbmNvbWUgYW5kIGxvdyB2YWx1ZSBwcm9wZXJ0aWVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiTjUxXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiUnVzdGljIElzb2xhdGlvblwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxvdyBlZHVjYXRpb24sIHRyYWRpdGlvbmFsLCBzaW5nbGVzIGluIGZhciBpbmxhbmQgcmVtb3RlIHRvd25zLCB3aXRoIGxvdyBpbmNvbWUgYW5kIGxvdyB2YWx1ZSBwcm9wZXJ0aWVzXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0sXG4gICAgTlpMOiB7XG4gICAgICAgIGFkdWx0c19hdF9hZGRyZXNzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk9uZSBhZHVsdFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBvbmUgYWR1bHQgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHdvIGFkdWx0c1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiB0d28gYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRocmVlIGFkdWx0c1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiB0aHJlZSBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRm91ciBhZHVsdHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gZm91ciBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI1XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRml2ZSBhZHVsdHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gZml2ZSBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI2XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2l4IGFkdWx0c1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBzaXggYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiN1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNldmVuIGFkdWx0c1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBzZXZlbiBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI4XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWlnaHQgYWR1bHRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc2lkZW50aWFsIHByb3BlcnR5IGlzIGxpa2VseSB0byBjb250YWluIGVpZ2h0IGFkdWx0cyBvdmVyIHRoZSBhZ2Ugb2YgMTggeWVhcnMgcmVzaWRpbmcgd2l0aGluIHRoZSBkd2VsbGluZ1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIGNoaWxkcmVuX2F0X2FkZHJlc3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIxXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRXh0cmVtZWx5IGxvdyBsaWtlbGlob29kXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRXh0cmVtZWx5IGxvdyBsaWtlbGlob29kIG9mIHRoZSBwcmVzZW5jZSBvZiBjaGlsZHJlbiBpbiB0aGUgaG91c2Vob2xkXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlZlcnkgbG93IGxpa2VsaWhvb2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJWZXJ5IGxvdyBsaWtlbGlob29kIG9mIHRoZSBwcmVzZW5jZSBvZiBjaGlsZHJlbiBpbiB0aGUgaG91c2Vob2xkXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkxvdyBsaWtlbGlob29kXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG93IGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQmVsb3cgYXZlcmFnZSBsaWtlbGlob29kXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQmVsb3cgYXZlcmFnZSBsaWtlbGlob29kIG9mIHRoZSBwcmVzZW5jZSBvZiBjaGlsZHJlbiBpbiB0aGUgaG91c2Vob2xkXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiNVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkF2ZXJhZ2UgbGlrZWxpaG9vZFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkF2ZXJhZ2UgbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJBYm92ZSBhdmVyYWdlIGxpa2VsaWhvb2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBYm92ZSBhdmVyYWdlIGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI3XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTW9kZXJhdGVseSBoaWdoIGxpa2VsaWhvb2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNb2RlcmF0ZWx5IGhpZ2ggbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjhcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIaWdoIGxpa2VsaWhvb2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJIaWdoIGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVmVyeSBoaWdoIGxpa2VsaWhvb2RcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJWZXJ5IGhpZ2ggbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjEwXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRXh0cmVtZWx5IGhpZ2ggbGlrZWxpaG9vZFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkV4dHJlbWVseSBoaWdoIGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxuICAgICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBoZWFkX29mX2hvdXNlaG9sZF9hZ2U6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIxXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVW5kZXIgMjBcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgdW5kZXIgMjAgeWVhcnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiMjAgdG8gMjQgeWVhcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgYmV0d2VlbiAyMCB0byAyNCB5ZWFyc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCIyNSB0byAyOSB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDI1IHRvIDI5IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiNFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIjMwIHRvIDM0IHllYXJzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gMzAgdG8gMzQgeWVhcnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI1XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiMzUgdG8gMzkgeWVhcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgYmV0d2VlbiAzNSB0byAzOSB5ZWFyc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI0MCB0byA0NCB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDQwIHRvIDQ0IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiN1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIjQ1IHRvIDQ5IHllYXJzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNDUgdG8gNDkgeWVhcnNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI4XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiNTAgdG8gNTQgeWVhcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgYmV0d2VlbiA1MCB0byA1NCB5ZWFyc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjlcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI1NSB0byA1OSB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDU1IHRvIDU5IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTBcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI2MCB0byA2NCB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDYwIHRvIDY0IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI2NSB0byA2OSB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDY1IHRvIDY5IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI3MCB0byA3NCB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDcwIHRvIDc0IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI3NSB0byA3OSB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDc1IHRvIDc5IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI4MCB0byA4NCB5ZWFyc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDgwIHRvIDg0IHllYXJzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI+PSA4NSB5ZWFyXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA4NSB5ZWFyc1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIGhlYWRfb2ZfaG91c2Vob2xkX2xpZmVzdGFnZTogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJZb3VuZyBmYW1pbGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhbWlsaWVzLCBFeHRlbmRlZCBGYW1pbGllcyBhbmQgU2luZ2xlIFBhcmVudHMgdW5kZXIgMzVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsIHRpdGxlOiBcIkluZGVwZW5kZW50IFlvdXRoXCIsIGRlc2NyaXB0aW9uOiBcIkNvdXBsZXMsIFNpbmdsZXMgYW5kIEhvbWVzaGFyZXJzIHVuZGVyIDM1XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1hdHVyaW5nIENvdXBsZXMgYW5kIEZhbWlsaWVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmFtaWxpZXMsIENvdXBsZXMsIEV4dGVuZGVkIEZhbWlsaWVzIGFuZCBTaW5nbGUgUGFyZW50cyBhZ2VkIDM1LTQ0XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiNFwiLCB0aXRsZTogXCJNYXR1cmluZyBJbmRlcGVuZGVuY2VcIiwgZGVzY3JpcHRpb246IFwiU2luZ2xlcyBhbmQgSG9tZXNoYXJlcnMgYWdlZCAzNS01NFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFc3RhYmxpc2hlZCBDb3VwbGVzIGFuZCBGYW1pbGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhbWlsaWVzLCBDb3VwbGVzLCBFeHRlbmRlZCBGYW1pbGllcyBhbmQgU2luZ2xlIFBhcmVudHMgYWdlZCA0NS01NFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJPbGRlciBDb3VwbGVzIGFuZCBGYW1pbGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhbWlsaWVzLCBDb3VwbGVzLCBFeHRlbmRlZCBGYW1pbGllcyBhbmQgU2luZ2xlIFBhcmVudHMgYWdlZCA1NS02NFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjdcIiwgdGl0bGU6IFwiT2xkZXIgSW5kZXBlbmRlbmNlXCIsIGRlc2NyaXB0aW9uOiBcIlNpbmdsZXMgYW5kIEhvbWVzaGFyZXJzIGFnZWQgNTUtNjRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI4XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWxkZXJseSBGYW1pbGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhbWlsaWVzLCBFeHRlbmRlZCBGYW1pbGllcyBhbmQgU2luZ2xlIFBhcmVudHMgNjUgYW5kIG92ZXJcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI5XCIsIHRpdGxlOiBcIkVsZGVybHkgQ291cGxlc1wiLCBkZXNjcmlwdGlvbjogXCJDb3VwbGVzIDY1IGFuZCBvdmVyXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTBcIiwgdGl0bGU6IFwiRWxkZXJseSBTaW5nbGVzXCIsIGRlc2NyaXB0aW9uOiBcIlNpbmdsZXMgYW5kIEhvbWVzaGFyZXJzIDY1IGFuZCBvdmVyXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgaG91c2Vob2xkX2NvbXBvc2l0aW9uOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkZhbWlsaWVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc2lkZW50aWFsIHByb3BlcnR5IGlzIGxpa2VseSB0byBjb250YWluIGEgZmFtaWx5IHVuaXQgd2hpY2ggaXMgbWFkZSB1cCBvZiB0d28gYWR1bHRzIHdpdGggY2hpbGRyZW5cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRXh0ZW5kZWQgRmFtaWxpZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gYW4gZXh0ZW5kZWQgZmFtaWx5IHVuaXQgd2hpY2ggaXMgbWFkZSB1cCBvZiB0aHJlZSBvciBtb3JlIGFkdWx0cyB3aXRoIHRoZSBzYW1lIHN1cm5hbWVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIzXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ291cGxlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBwZW9wbGUgbGl2aW5nIGFzIGEgY291cGxlIHdoaWNoIGlzIG1hZGUgdXAgb2YgdHdvIGFkdWx0cyBhbmQgbm8gY2hpbGRyZW5cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2luZ2xlIFBhcmVudFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBhbiBzaW5nbGUgcGFyZW50IGZhbWlseSB1bml0IHdoaWNoIGlzIG1hZGUgdXAgb2Ygb25lIGFkdWx0IHdpdGggY2hpbGRyZW5cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI1XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2luZ2xlXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc2lkZW50aWFsIHByb3BlcnR5IGlzIGxpa2VseSB0byBjb250YWluIGEgc2luZ2xlIGFkdWx0IG9ubHlcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCI2XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSG9tZXNoYXJlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBhIGhvbWUgc2hhcmUgZW52aXJvbm1lbnQgd2hpY2ggaXMgbWFkZSB1cCBvZiB0aHJlZSBvciBtb3JlIGFkdWx0cyB3aXRoIGRpZmZlcmVudCBzdXJuYW1lc1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIG1vc2FpY19ncm91cDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb3Jwb3JhdGUgTGFkZGVyIEtpbmdzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRWR1Y2F0ZWQgcHJvZmVzc2lvbmFscyBsaXZpbmcgaW4gbGFyZ2UgaG91c2VzIGluIGRlc2lyYWJsZSBhcmVhcywgbG9va2luZyBmb3IgYmFsYW5jZSB0byB0aGVpciBidXN5IGxpdmVzIGFuZCBwbGFubmluZyBmb3IgdGhlIGZ1dHVyZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZWFwaW5nIFRoZSBSZXdhcmRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRXN0YWJsaXNoZWQgY29uc2VydmF0aXZlIG9sZGVyIGNvdXBsZXMgbGl2aW5nIGNvbWZvcnRhYmxlIGxpdmVzIGluIGhpZ2ggcXVhbGl0eSBob3VzZXMsIGFwcHJlY2lhdGluZyB0cmFkaXRpb25hbCBjb3VudHJ5IHB1cnN1aXRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQ1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRyYWN0b3JzIEFuZCBUcmVlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkhhcmQgd29ya2luZyBydXJhbCBmYXJtaW5nIGZhbWlsaWVzIGxpdmluZyBpbiBsYXJnZSBjb21mb3J0YWJsZSBob21lcywgd2hvIGFyZSBlbmdhZ2VkIGluIHRoZSBsb2NhbCBjb21tdW5pdHlcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJEXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU21hcnRwaG9uZSBTYXZ2aWVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcgdGVjaG5vbG9neSBzYXZ2eSBob21lIHNoYXJlcnMgb3IgZmFtaWxpZXMgbGl2aW5nIGNvbWZvcnRhYmx5IGluIHVyYmFuIGFwYXJ0bWVudHMgd2l0aCBzdHJvbmcgY2FyZWVyIGdvYWxzIGFuZCBhIHBvc2l0aXZlIG91dGxvb2tcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJFXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiV2F0Y2hpbmcgVGhlIFBlbm5pZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciBmYW1pbGllcyBhbmQgY291cGxlcyB3aXRoIGNvbnNlcnZhdGl2ZSB2aWV3cywgd2hvIGFyZSBjYXJlZnVsIHdpdGggdGhlaXIgbW9uZXkgYW5kIGhhdmUgYW4gZWFzeSBnb2luZyBhdHRpdHVkZSB0byBsaWZlXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkdlbmVyYXRpb24gTmV4dFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIHNpbmdsZXMgd2hvIGFyZSBzdHVkeWluZyBvciBqdXN0IHN0YXJ0aW5nIG91dCBpbiB0aGVpciBjYXJlZXJzLCBsaXZpbmcgaW4gdXJiYW4gYXBhcnRtZW50cywgYW5kIGxvdmUgdGVjaG5vbG9neSBhbmQgbmV3IGdhZGdldHNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJHXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ3JvY2hldCBDb21tdW5pdGllc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVsZGVybHkgc2luZ2xlcyBsaXZpbmcgaW4gcmVudGVkIGFwYXJ0bWVudHMsIGxpdmluZyBvZmYgdGhlaXIgaW52ZXN0bWVudHMsIHdobyB3YXRjaCBUViBhbmQgbGlzdGVuIHRvIHRoZSByYWRpbyB0byBzdGF5IGluIHRvdWNoXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkJhcmdhaW5zLCBCZW5lZml0cyBBbmQgQmFiaWVzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcgZmFtaWxpZXMgZm9jdXNlZCBvbiB0aGVpciB5b3VuZyBraWRzIHdobyBhcmUgZmluZGluZyBpdCBoYXJkIHRvIGJhbGFuY2Ugd29yayBhbmQgbGVpc3VyZSwgZmVlbGluZyBidXJkZW5lZCBieSB0aGVpciBmaW5hbmNlc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIklcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFeHRlbmRlZCBDdWx0dXJhbCBMaXZpbmdcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaXhlZCBmYW1pbHkgTWFvcmkgb3IgUGFjaWZpYyBJc2xhbmRlciBob3VzZWhvbGRzIHdpdGggYSBzdHJvbmcgZmFtaWx5IGZvY3VzLCBmaW5hbmNpYWxseSBzdHJlc3NlZCBhbmQgbWFraW5nIGRvXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgbW9zYWljX3NlZ21lbnQ6IFtcbiAgICAgICAgICAgIHtpZDogXCIwMV8xXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbW9yZSBlbXBsb3llcnMgYW5kIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjAxXzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgaGlnaGVyIGFmZmx1ZW50IGFuZCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjAyXzFcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGVsZGVybHksIG1vcmUgZW1wbG95ZXJzIGFuZCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIwMl8yXCIsIHRpdGxlOiBcIk1vcmUgb3ZlcnNlYXMgYm9ybiwgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkcyBhbmQgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcbiAgICAgICAgICAgIHtpZDogXCIwMl8zXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBjaGlsZHJlbiwgaGlnaGVyIGFmZmx1ZW50IGFuZCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjAzXzFcIiwgdGl0bGU6IFwiU2hvcnRlciB0aW1lIGF0IGFkZHJlc3MsIGhpZ2hlciBhZmZsdWVudCwgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMDNfMlwiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MgYW5kIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMDNfM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSBoaWdobHkgZWR1Y2F0ZWQgYW5kIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7aWQ6IFwiMDRfMVwiLCB0aXRsZTogXCJIaWdoZXIgYWZmbHVlbnQsIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIwNF8yXCIsIHRpdGxlOiBcIkxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzIGFuZCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA0XzNcIiwgdGl0bGU6IFwiTGVzcyBlZHVjYXRlZCwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCBhbmQgbW9yZSBydXJhbFwifSxcbiAgICAgICAgICAgIHtpZDogXCIwNV8xXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgYWZmbHVlbnQgYW5kIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA1XzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbW9yZSBlbXBsb3llZXMgYW5kIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMDVfM1wiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBsZXNzIGVkdWNhdGVkLCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA2XzFcIiwgdGl0bGU6IFwiTW9yZSBlbXBsb3llcnMsIHNtYWxsZXIgcHJvcGVydGllcyBhbmQgbW9yZSBydXJhbFwifSxcbiAgICAgICAgICAgIHtpZDogXCIwNl8yXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBsZXNzIGVkdWNhdGVkXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA2XzNcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG1vcmUgb3ZlcnNlYXMgYm9ybiBhbmQgbW9yZSB1cmJhblwifSxcbiAgICAgICAgICAgIHtpZDogXCIwNl80XCIsIHRpdGxlOiBcIkhpZ2hlciBhZmZsdWVuY2UsIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIwN18xXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBlbGRlcmx5LCBtdWNoIG1vcmUgMysgY2hpbGRyZW4gaG91c2Vob2xkcywgaGlnaGVyIGFmZmx1ZW5jZVwifSxcbiAgICAgICAgICAgIHtpZDogXCIwN18yXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbW9yZSBlbXBsb3llcnMsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA3XzNcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbW9yZSBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA4XzFcIiwgdGl0bGU6IFwiTGVzcyBlZHVjYXRlZCwgc21hbGxlciBwcm9wZXJ0aWVzLCBtb3JlIHJ1cmFsXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjA4XzJcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBtb3JlIE5ldyBaZWFsYW5kIGJvcm4sIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMDhfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgb3ZlcnNlYXMgYm9ybiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWUsIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMDlfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIHNob3J0ZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcbiAgICAgICAgICAgIHtpZDogXCIwOV8yXCIsIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBsZXNzIGVkdWNhdGVkLCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIwOV8zXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgaGlnaGVyIGFmZmx1ZW50LCBtdWNoIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTBfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgZW1wbG95ZWVzLCBtdWNoIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTBfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjEwXzNcIiwgdGl0bGU6IFwiTXVjaCBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIG1vcmUgZW1wbG95ZXJzLCBtb3JlIHJ1cmFsXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjEwXzRcIiwgdGl0bGU6IFwiU2hvcnRlciB0aW1lIGF0IGFkZHJlc3MsIGhpZ2hlciBhZmZsdWVudCwgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIxMV8xXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTW9yZSBubyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIxMV8yXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTXVjaCBtb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG11Y2ggbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtdWNoIHNtYWxsZXIgcHJvcGVydGllc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2lkOiBcIjExXzNcIiwgdGl0bGU6IFwiTW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBsZXNzIGVkdWNhdGVkLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIxMl8xXCIsIHRpdGxlOiBcIk1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSBvdmVyc2VhcyBib3JuLCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjEyXzJcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgaGlnaGx5IGVkdWNhdGVkLCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTJfM1wiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbGVzcyBlZHVjYXRlZFwifSxcbiAgICAgICAgICAgIHtpZDogXCIxMl80XCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBjaGlsZHJlbiwgc2hvcnRlciB0aW1lIGF0IGFkZHJlc3MsIG1vcmUgcnVyYWxcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTNfMVwiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgaGlnaGVyIGFmZmx1ZW5jZSwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWVcIn0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMTNfMlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBsZXNzIGVkdWNhdGVkLCBtdWNoIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7aWQ6IFwiMTNfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgZGVwcml2ZWQsIG11Y2ggbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTRfMVwiLCB0aXRsZTogXCJNb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTRfMlwiLCB0aXRsZTogXCJNb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTRfM1wiLCB0aXRsZTogXCJIaWdoZXIgaG91c2Vob2xkIGluY29tZSwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIxNV8xXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgTmV3IFplYWxhbmQgYm9ybiwgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTVfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTVfM1wiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWUsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjE2XzFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIG1vcmUgb3ZlcnNlYXMgYm9ybiwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBtdWNoIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2lkOiBcIjE2XzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbGVzcyBlZHVjYXRlZCwgbXVjaCBtb3JlIE5ldyBaZWFsYW5kIGJvcm5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTZfM1wiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgaGlnaGVyIGFmZmx1ZW5jZSwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWVcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTZfNFwiLCB0aXRsZTogXCJNdWNoIGxlc3MgZWR1Y2F0ZWQsIGxvd2VyIGhvdXNlaG9sZCBpbmNvbWUsIG11Y2ggbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTdfMVwiLCB0aXRsZTogXCJNb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjE3XzJcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBtb3JlIGVtcGxveWVycywgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTdfM1wiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIG1vcmUgZGVwcml2ZWQsIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMThfMVwiLCB0aXRsZTogXCJNb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMThfMlwiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgaGlnaGVyIGFmZmx1ZW50LCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIxOF8zXCIsIHRpdGxlOiBcIk1vcmUgZGVwcml2ZWQsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIxOF80XCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcbiAgICAgICAgICAgIHtpZDogXCIxOF81XCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbG93ZXIgaG91c2Vob2xkIGluY29tZSwgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjE5XzFcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWUsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMTlfMlwiLCB0aXRsZTogXCJNdWNoIGxlc3MgZWR1Y2F0ZWQsIG11Y2ggbW9yZSBkZXByaXZlZCwgbG93ZXIgaG91c2Vob2xkIGluY29tZVwifSxcbiAgICAgICAgICAgIHtpZDogXCIxOV8zXCIsIHRpdGxlOiBcIk1vcmUgbm8gY2hpbGRyZW4gaG91c2Vob2xkcywgbW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjE5XzRcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBoaWdoZXIgYWZmbHVlbnQsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjBfMVwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBsZXNzIGVkdWNhdGVkLCBsYXJnZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIyMF8yXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBtdWNoIHNtYWxsZXIgcHJvcGVydGllcywgbXVjaCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjIxXzFcIiwgdGl0bGU6IFwiTW9yZSBOZXcgWmVhbGFuZCBib3JuLCBtdWNoIG1vcmUgZGVwcml2ZWQsIG11Y2ggbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMjFfMlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk11Y2ggbW9yZSBvdmVyc2VhcyBib3JuLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjIxXzNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIG1vcmUgbm8gY2hpbGRyZW4gaG91c2Vob2xkcywgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtdWNoIHNtYWxsZXIgcHJvcGVydGllc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2lkOiBcIjIyXzFcIiwgdGl0bGU6IFwiTW9yZSBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjIyXzJcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjNfMVwiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgbXVjaCBtb3JlIGVtcGxveWVycywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjNfMlwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBsZXNzIGVkdWNhdGVkLCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjIzXzNcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG1vcmUgb3ZlcnNlYXMgYm9ybiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWVcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjNfNFwiLCB0aXRsZTogXCJNdWNoIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIG11Y2ggbGVzcyBlZHVjYXRlZCwgbW9yZSBydXJhbFwifSxcbiAgICAgICAgICAgIHtpZDogXCIyNF8xXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG11Y2ggbW9yZSBkZXByaXZlZCwgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjRfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjVfMVwiLCB0aXRsZTogXCJNb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcCwgbXVjaCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjI1XzJcIiwgdGl0bGU6IFwiTXVjaCBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIG1vcmUgZGVwcml2ZWQsIG1vcmUgcnVyYWxcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjVfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjI2XzFcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGNoaWxkcmVuLCBtb3JlIG92ZXJzZWFzIGJvcm4sIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjZfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtb3JlIHJ1cmFsXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjI2XzNcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWUsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjZfNFwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIG1vcmUgcnVyYWxcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjdfMVwiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIGxhcmdlciBwcm9wZXJ0aWVzLCBtdWNoIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjdfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgYWZmbHVlbmNlXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjI3XzNcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGVsZGVybHksIG11Y2ggbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIHNtYWxsZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIyN180XCIsIHRpdGxlOiBcIk1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbGVzcyBlZHVjYXRlZCwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcbiAgICAgICAgICAgIHtpZDogXCIyOF8xXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgZGVwcml2ZWQsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjhfMlwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjI4XzNcIiwgdGl0bGU6IFwiTW9yZSA3KyBwZXJzb24gaG91c2Vob2xkcywgbGFyZ2VyIHByb3BlcnRpZXMsIG1vcmUgcnVyYWxcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjhfNFwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMjlfMVwiLCB0aXRsZTogXCJNb3JlIGVtcGxveWVycywgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIHNtYWxsZXIgcHJvcGVydGllc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIyOV8yXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBkZXByaXZlZCwgbW9yZSBlbXBsb3llcnMsIG11Y2ggbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIyOV8zXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIHNob3J0ZXIgdGltZSBhdCBhZGRyZXNzLCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMjlfNFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbGVzcyBlZHVjYXRlZCwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCwgdXJiYW5cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtpZDogXCIzMF8xXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMzBfMlwiLCB0aXRsZTogXCJNb3JlIG92ZXJzZWFzIGJvcm4sIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMzBfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifSxcbiAgICAgICAgICAgIHtpZDogXCIzMV8xXCIsIHRpdGxlOiBcIk1vcmUgTmV3IFplYWxhbmQgYm9ybiwgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMzFfMlwiLCB0aXRsZTogXCJNdWNoIGxlc3MgZWR1Y2F0ZWQsIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjMxXzNcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMzFfNFwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjMyXzFcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMzJfMlwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBtb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge2lkOiBcIjMzXzFcIiwgdGl0bGU6IFwiTW9yZSBlbXBsb3llcnMsIHNtYWxsZXIgcHJvcGVydGllcywgbW9yZSBydXJhbFwifSxcbiAgICAgICAgICAgIHtpZDogXCIzM18yXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBkZXByaXZlZCwgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtb3JlIHVyYmFuXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjMzXzNcIiwgdGl0bGU6IFwiTW9yZSBlbXBsb3llZXMsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXAsIG1vcmUgdXJiYW5cIn0sXG4gICAgICAgICAgICB7aWQ6IFwiMzRfMVwiLCB0aXRsZTogXCJNb3JlIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIG1vcmUgTmV3IFplYWxhbmQgYm9ybiwgbXVjaCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxuICAgICAgICAgICAge2lkOiBcIjM0XzJcIiwgdGl0bGU6IFwiTW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCwgbW9yZSBydXJhbFwifSxcbiAgICAgICAgICAgIHtpZDogXCIzNF8zXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBvdmVyc2VhcyBib3JuLCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXAsIG11Y2ggbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifVxuICAgICAgICBdLFxuICAgICAgICBtb3NhaWNfdHlwZV9ncm91cDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkEwMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBvd2VyIFByb2Zlc3Npb25hbHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJIaWdobHkgcHJvc3Blcm91cyBob3VzZWhvbGRzIGNvbXByaXNpbmcgb2YgZmluYW5jZSBzYXZ2eSBwcm9mZXNzaW9uYWxzIGFuZCBidXNpbmVzcyBvd25lcnMsIGxpdmluZyBpbiBncmFuZCBob3VzZXMgaW4gZGVzaXJhYmxlIGFyZWFzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQTAyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiV2luZSBBbmQgV2F2ZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciwgd2VsbC1lZHVjYXRlZCBmYW1pbGllcyBvbiB0aGUgdmVyZ2Ugb2YgcmV0aXJlbWVudCBlbmpveWluZyB0aGUgcmV3YXJkcyBvZiBzdWNjZXNzZnVsIGNhcmVlcnMsIHVzaW5nIHRoZSBpbnRlcm5ldCB0byBrZWVwIHVwZGF0ZWRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJBMDNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJEb3VibGUgRG9sbGFyIFN1aXRzIFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlbGwtZWR1Y2F0ZWQgZG91YmxlIGluY29tZSBwcm9mZXNzaW9uYWwgY291cGxlcyB3aXRoIHlvdW5nIGZhbWlsaWVzLCB1c2luZyB0ZWNobm9sb2d5IHRvIGp1Z2dsZSB0aGVpciBidXN5IGxpZmVzdHlsZXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJBMDRcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHb2xkIFBsYXRlZCBSaWRlLU9uc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlYWx0aHkgZmFtaWxpZXMgd2l0aCBsYXJnZSBtb2Rlcm4gcHJvcGVydGllcyBvbiB0aGUgcnVyYWwgb3V0c2tpcnRzLCBlbmpveWluZyB0aGUgb3V0ZG9vcnMgYW5kIGhhdmUgcHJhY3RpY2FsIHRlY2hub2xvZ3kgbmVlZHNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJCMDVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUZWEgQW5kIEJpc2N1aXRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmluYW5jaWFsbHkgc2VjdXJlLCBvbGRlciBjb3VwbGVzIHdobyBoYXZlIHBhaWQgb2ZmIHRoZWlyIGhvbWVzIGNsb3NlIHRvIHRoZSBjaXR5LCBub3cgZW5qb3lpbmcgbW9yZSB0aW1lIGZvciB0aGVpciBob2JiaWVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQjA2XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiT3V0ZG9vciBXYW5kZXJlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFc3RhYmxpc2hlZCBjb3VwbGVzIG9yIGZhbWlsaWVzIGxpdmluZyBpbiBsYXJnZXIgcnVyYWwgcHJvcGVydGllcyB3aG8gZW1icmFjZSB0aGUgb3V0ZG9vciBsaWZlIGFuZCBlbmpveSB0cmFkaXRpb25hbCBjb3VudHJ5IHB1cnN1aXRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQjA3XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQmFja3dhdGVyIEJvd2xzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVHJhZGl0aW9uYWwgTmV3IFplYWxhbmRlciB3ZWFsdGh5IHJldGlyZWQgY291cGxlcywgZW5qb3lpbmcgYSBjb21mb3J0YWJsZSBzZXR0bGVkIGxpZmUgaW4gcmVnaW9uYWwgdG93bnMsIGxlYWRpbmcgaGVhbHRoeSBsaWZlc3R5bGVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQzA4XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSGlnaCBTcGVlZCBIYXJ2ZXN0ZXJzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgaGFyZCB3b3JraW5nIGZhbWlsaWVzIHdpdGggZmFybWluZyBiYWNrZ3JvdW5kcyBpbiBydXJhbCBsb2NhdGlvbnMsIHRyYW5zZmVycmluZyB0aGUgcnVubmluZyBvZiB0aGUgZmFybSB0byB0aGUgbmV4dCBnZW5lcmF0aW9uXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiQzA5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmFybWluZyBUaGUgV2lsZGVybmVzc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlByYWN0aWNhbGx5IG1pbmRlZCBydXJhbCBmYXJtaW5nIGZhbWlsaWVzIHdpdGggbW9kZXN0IGxpZmVzdHlsZXMsIGZpbmFuY2lhbCBidXJkZW5zLCBhbmQgYSBwYXNzaW9uIGZvciBmYXN0IGNhcnMgYW5kIG1vdG9yYmlrZXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJDMTBcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSdXN0aWMgUmV0aXJlZXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTZW1pLXJldGlyZWQgb2xkZXIgY291cGxlcyBsaXZpbmcgaW4gb3V0ZXIgcmVnaW9uYWwgYW5kIHJ1cmFsIGxvY2F0aW9ucywgd2l0aCBzaW1wbGUgdGFzdGVzLCBlbmpveWluZyB0aGUgbG9jYWwgY29tbXVuaXR5IHNwaXJpdFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkQxMVwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIldvcmtpbmcgVGhlIE5ldHdvcmtcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGaW5hbmNpYWxseSBlc3RhYmxpc2hlZCBhbmQgdGVjaG5vIHNhdnZ5LCBoaWdobHkgZWR1Y2F0ZWQgc2luZ2xlcyB3aG8gb3duIHRoZWlyIHVyYmFuIGFwYXJ0bWVudHMgYW5kIGVuam95IGEgZmFzdCBwYWNlZCBsaWZlc3R5bGVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJEMTJcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIYXNoIFRhZyBMb29rIEF0IE1lIFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhc2hpb24gZm9jdXNlZCwgc29jaWFsIGFuZCB0ZWNobm9sb2dpY2FsbHkgYXN0dXRlIHlvdW5nZXIgZmFtaWxpZXMsIHJlbnRpbmcgbW9kZXJuIHByb3BlcnRpZXMgaW4gdGhlIG1ham9yIGNpdGllc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkQxM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNoYXJpbmcgU3BhY2VzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlkZGxlLWFnZWQgaG9tZSBzaGFyZXJzLCBsaXZpbmcgaW4gdGhlIHN1YnVyYnMgd2hvIGVuam95IHNvY2lhbCBuZXR3b3JraW5nIGFuZCB0cnlpbmcgdG8gZmluZCBhIGJhbGFuY2UgYmV0d2VlbiB3b3JrIGFuZCBwbGF5XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRDE0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVG91Y2hzY3JlZW5zIEFuZCBUYWtlYXdheXNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFeHRlbmRlZCBmYW1pbGllcyBpbiBtb2Rlcm4gc3VidXJiYW4gaG91c2VzLCB3aXRoIGxvdyBkaXNwb3NhYmxlIGluY29tZSB3aG8gbGlrZSB0byBzdGFuZCBvdXQgYW5kIGFyZSBpbmZsdWVuY2VkIGJ5IHRoZWlyIHNvY2lhbCBzcGhlcmVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJEMTVcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIYWxmdGltZSBIb3Blc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZpbmFuY2lhbGx5IGNvbWZvcnRhYmxlIGZhbWlsaWVzIHdobyByZXF1aXJlIHRlY2hub2xvZ3kgdG8gYmUgcHJhY3RpY2FsLCBsaXZpbmcgaW4gY2l0eSBhcGFydG1lbnRzIGFuZCBvcHRpbWlzdGljIGFib3V0IHRoZSBmdXR1cmVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJFMTZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDYXJlZnJlZSBTdWJ1cmJpYVwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIGZhbWlsaWVzIGtlZXBpbmcgYW4gZXllIG9uIHRoZWlyIGZpbmFuY2VzIGJ1dCBlbmpveWluZyBhbiBlYXN5IGdvaW5nIGxpZmUgdXNpbmcgdHJhZGl0aW9uYWwgbWVkaWEgdG8gc3RheSBpbmZvcm1lZCBhbmQgdXAgdG8gZGF0ZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkUxN1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNyZWF0dXJlcyBPZiBIYWJpdFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVsZGVybHkgY291cGxlcyBlbmpveWluZyBhIHN0cmVzcyBmcmVlIGxpZmUgd2hpbGUgcmVzaWRpbmcgaW4gc2VncmVnYXRlZCBuZWlnaGJvdXJob29kcywgYW5kIGxpc3RlbmluZyB0byB0aGUgcmFkaW8gdG8gc3RheSBpbiB0b3VjaFwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkUxOFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1vcnRnYWdlcyBBbmQgTWljcm93YXZlc1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkhhbmRzLW9uIHBlb3BsZSB3aG8gZW5qb3kgZml4aW5nIGFuZCB0aW5rZXJpbmcgd2l0aCBjYXJzIGFuZCBhbiBhY3RpdmUgb3V0ZG9vciBsaWZlc3R5bGUgd2hvIGFyZSBiYWxhbmNpbmcgbGFyZ2UgZmluYW5jaWFsIGNvbW1pdG1lbnRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRTE5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTmV3c3BhcGVycyBBbmQgS25pdHRpbmdcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTZW5pb3IsIG1haW5seSBkaXZvcmNlZCBzaW5nbGVzLCByZXRpcmVkIGFuZCBmaW5hbmNpYWxseSBjb21mb3J0YWJsZSB3aXRoIHRyYWRpdGlvbmFsIHZhbHVlcywgcHJlZmVycmluZyBicmlja3MgYW5kIG1vcnRhciB0byBvbmxpbmVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJGMjBcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUdXJibyBUcmVhZG1pbGxzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRHJpdmVuLCBkZWdyZWUtZWR1Y2F0ZWQgaW5kaXZpZHVhbHMgaW4gZWFybHkgc3RhZ2VzIG9mIHRoZWlyIGNhcmVlcnMsIGxpdmluZyBpbiBzaGFyZWQgc3BhY2VzIGFuZCB1c2luZyB0aGVpciBtb2JpbGUgdG8gc3RheSBjb25uZWN0ZWRcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJGMjFcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJXaW4gVGhlIEJldHRlciBMaWZlXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmdlciBzaW5nbGVzIGxpdmluZyBpbiBzaGFyZWQgcmVudGFsIGFwYXJ0bWVudHMgd2hlcmUgam9iIHNlY3VyaXR5IGlzIGltcG9ydGFudCBhbmQgYXJlIHNlYXJjaGluZyBmb3Igc29tZXRoaW5nIGJldHRlciBpbiBsaWZlXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRjIyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSnVzdCBBZGQgV2F0ZXIgXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcgc3R1ZGVudHMgaW4gZnVsbCB0aW1lIHN0dWR5IHdobyBhcmUgY29ubmVjdGVkIDI0LzcsIGxpdmluZyBpbiBjYW1wdXMgYWNjb21tb2RhdGlvbiwgc3BlbmRpbmcgdGhlaXIgZnJlZSB0aW1lIHdpdGggZnJpZW5kc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkcyM1wiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1lc3NhZ2luZyBNb3RvcmhlYWRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWl4IG9mIG9sZGVyIGFuZCB5b3VuZyBzaW5nbGVzIHJlbnRpbmcgaW4gdGhlIHN1YnVyYnMsIGhlYXZ5IHRleHRlcnMgYW5kIHNvY2lhbCBuZXR3b3JrZXJzIHdhbnRpbmcgdG8gYmUgdGFrZW4gc2VyaW91c2x5XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRzI0XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ29tbXVuaXR5IEdyZXlzIFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJldGlyZWQsIG1haW5seSBzaW5nbGUsIGVsZGVybHksIGxpdmluZyBvZmYgdGhlaXIgaW52ZXN0bWVudHMgaW4gcmV0aXJlbWVudCB2aWxsYWdlcyBhbmQgdGFraW5nIGVhY2ggZGF5IGFzIGl0IGNvbWVzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiRzI1XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVGFsa2JhY2sgQW5kIFRlbGx5XCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUHJpY2Ugc2Vuc2l0aXZlIHNlbmlvcnMsIHJlbnRpbmcgZ292ZXJubWVudCBob3VzaW5nIGluIHJ1cmFsIGxvY2F0aW9ucywgbGl2aW5nIGEgbG93LWtleSBsaWZlc3R5bGUgdG8ga2VlcCBvbiB0b3Agb2YgdGhlaXIgZmluYW5jZXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJIMjZcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJGaXNoaW5nIEZvciBBIEJhcmdhaW5cIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNYXR1cmUsIGR1YWwgaW5jb21lLCBmYW1pbHkgY2VudHJpYyBob3VzZWhvbGRzIGluIG1vcnRnYWdlZCBtb2RlcmF0ZSBzaXplZCBob21lcywgb24gYSB0aWdodCBidWRnZXQgYW5kIGVuam95IGh1bnRpbmcgZm9yIGJhcmdhaW5zXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI3XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSGlyaW5nIFRoZSBMaWZlc3R5bGVcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTaG9wcGluZyBmYW5hdGljIHlvdW5nIGZhbWlsaWVzIGluIHNtYWxsIGhvbWVzLCB3aXRoIGF2ZXJhZ2UgaW5jb21lcywgd2hvIGxvdmUgbG95YWx0eSBjYXJkcyBhbmQgY291cG9ucywgYW5kIHBheSBhdHRlbnRpb24gdG8gYWR2ZXJ0c1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkgyOFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJlbW90ZSBDb250cm9sbGluZ1wiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJ1c3kgbWl4ZWQgZmFtaWxpZXMgb24gbG93IGluY29tZXMgaW4gcmVudGVkIGdvdmVybm1lbnQgaG91c2luZywgd2hlcmUga2lkcyBjb21lIGZpcnN0IGFuZCB3aG8gaW1wdWxzZSBwdXJjaGFzZSBmb3IgdGhlIGxhdGVzdCBnYWRnZXRzXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI5XCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3RhdGVseSBSZW50ZXJzIFwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIHNpbmdsZSBwYXJlbnRzIG9mIE1hb3JpIGRlc2NlbnQsIGxpdmluZyBpbiBzdGF0ZSBob3VzaW5nLCB3aG8gZmVlbCBxdWl0ZSBpc29sYXRlZCBhbmQgaGF2ZSBmaW5hbmNpYWwgY2hhbGxlbmdlc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkgzMFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIktpZHMgQW5kIENhcnMgXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2luZ2xlIHBhcmVudHMgd2l0aCB5b3VuZyBraWRzLCBsaXZpbmcgaW4gc29tZSBvZiB0aGUgcG9vcmVyIGFyZWFzIHdpdGggc3Ryb25nIGZvY3VzIG9uIHRoZWlyIGtpZHMgYW5kIGEgcHJlZmVyZW5jZSBmb3Igb25saW5lIHNob3BwaW5nXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSTMxXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiV2luZG93IFNob3BwaW5nIFN0cnVnZ2xlcnNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFdGhuaWMgbWlub3JpdGllcyBsaXZpbmcgaW4gbGFyZ2UgbXVsdGkgZmFtaWx5IGhvdXNlaG9sZHMgc3RydWdnbGluZyBvbiBsb3cgaW5jb21lcywgYnV0IHdpdGggYW4gYWN0aXZlIHNvY2lhbCBsaWZlXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiSTMyXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3F1YXJlIEV5ZXMgQW5kIEVtcHR5IFBvY2tldHNcIixcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTaW5nbGVzIG9uIGxvdyBpbmNvbWVzIG9yIGJlbmVmaXRzLCBsaXZpbmcgaW4gR292ZXJubWVudCBob3VzaW5nLCB3aXRoIGEgbG93IGtleSBsaWZlc3R5bGUgYW5kIGhpZ2ggdGVsZXZpc2lvbiBhbmQgcmFkaW8gY29uc3VtcHRpb25cIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJJMzNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFeHRlbmRpbmcgVGhlIEJlbmVmaXRzXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTGFyZ2UgbXVsdGktZmFtaWx5IE1hb3JpIGhvdXNlaG9sZHMgb24gbG93IGluY29tZSBvciBiZW5lZml0cyx3aG8gZW5qb3kgZG93biB0byBlYXJ0aCBwdXJzdWl0cyBhbmQgbW9yZSB0cmFkaXRpb25hbCBtZWRpYSBjaGFubmVsc1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIkkzNFwiLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBsYXkgRG91Z2ggQW5kIFBpenphXCIsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWl4ZWQgZmFtaWx5IE1hb3JpIGFuZCBQYWNpZmljIElzbGFuZGVyIGhvdXNlaG9sZHMsIHdpdGggYSBzdHJvbmcgZm9jdXMgb24gdGhlaXIgeW91bmcgY2hpbGRyZW4gYnV0IHN0cnVnZ2xpbmcgZmluYW5jaWFsbHlcIlxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfVxufTtcbiIsImV4cG9ydCBjb25zdCByZWdpb25hbEdlb2NvZGVEZXNjcmlwdGlvbnMgPSB7XG4gICAgQVVTOiB7XG4gICAgICAgIGxvY2FsaXR5X2NsYXNzX2NvZGU6IFtcbiAgICAgICAgICAgIHtpZDogXCJBXCIsIHRpdGxlOiBcIkFMSUFTIE9OTFkgTE9DQUxJVFlcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiRFwiLCB0aXRsZTogXCJESVNUUklDVFwifSxcbiAgICAgICAgICAgIHtpZDogXCJHXCIsIHRpdGxlOiBcIkdBWkVUVEVEIExPQ0FMSVRZXCJ9LFxuICAgICAgICAgICAge2lkOiBcIkhcIiwgdGl0bGU6IFwiSFVORFJFRFwifSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCJJXCIsXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSU5ESUdFTk9VUyBMT0NBVElPTlwiLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxvY2F0aW9uIGlkZW50aWZpZWQgaW4gdGhlIEF1c3RyYWxpYW4gZ292ZXJubWVudCBpbmRpZ2Vub3VzIHByb2dyYW1zIGFuZCBwb2xpY3kgbG9jYXRpb25zIChBR0lMKSBkYXRhc2V0IGF2YWlsYWJsZSBhdCBodHRwOi8vZGF0YS5nb3YuYXVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtpZDogXCJNXCIsIHRpdGxlOiBcIk1BTlVBTExZIFZBTElEQVRFRFwifSxcbiAgICAgICAgICAgIHtpZDogXCJUXCIsIHRpdGxlOiBcIlRPUE9HUkFQSElDIExPQ0FMSVRZXCJ9LFxuICAgICAgICAgICAge2lkOiBcIlVcIiwgdGl0bGU6IFwiVU5PRkZJQ0lBTCBTVUJVUkJcIn0sXG4gICAgICAgICAgICB7aWQ6IFwiVlwiLCB0aXRsZTogXCJVTk9GRklDSUFMIFRPUE9HUkFQSElDIEZFQVRVUkVcIn1cbiAgICAgICAgXVxuICAgIH1cbn07IiwiaW1wb3J0IEV2ZW50RmFjdG9yeSBmcm9tICcuL2V2ZW50LWZhY3RvcnknO1xyXG5pbXBvcnQgUmVxdWVzdCBmcm9tICcuL3JlcXVlc3QnO1xyXG5pbXBvcnQge1xyXG4gIEFkZEFkZHJlc3Nlc09wdGlvbnMsXHJcbiAgQWRkcmVzc1NlYXJjaE9wdGlvbnMsXHJcbiAgQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZSxcclxuICBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLFxyXG4gIEFkZHJlc3NWYWxpZGF0aW9uTW9kZSxcclxuICBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUsXHJcbiAgZGVmYXVsdHNcclxufSBmcm9tICcuL3NlYXJjaC1vcHRpb25zJztcclxuaW1wb3J0IHtkYXRhc2V0Q29kZXN9IGZyb20gJy4vZGF0YXNldHMtY29kZXMnO1xyXG5pbXBvcnQge3RyYW5zbGF0aW9uc30gZnJvbSAnLi90cmFuc2xhdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gIEFkZHJlc3NWYWxpZGF0aW9uUmVzdWx0LFxyXG4gIERhdGFzZXRzUmVzcG9uc2UsXHJcbiAgRW5yaWNobWVudERldGFpbHMsXHJcbiAgRW5yaWNobWVudFJlc3BvbnNlLFxyXG4gIExvb2t1cEFkZHJlc3MsIExvb2t1cFN1Z2dlc3Rpb24sXHJcbiAgTG9va3VwVjJSZXNwb25zZSxcclxuICBMb29rdXBXM1dSZXNwb25zZSxcclxuICBQaWNrbGlzdCxcclxuICBQaWNrbGlzdEl0ZW0sXHJcbiAgUG93ZXJlZEJ5TG9nbyxcclxuICBTZWFyY2hSZXNwb25zZSxcclxuICBXaGF0M1dvcmRzUGlja0xpc3RcclxufSBmcm9tICcuL2NsYXNzLXR5cGVzJztcclxuaW1wb3J0IHtlbnJpY2htZW50T3V0cHV0fSBmcm9tIFwiLi9lbnJpY2htZW50LW91dHB1dFwiO1xyXG5pbXBvcnQge2NvbnN1bWVyVmlld0Rlc2NyaXB0aW9uc30gZnJvbSBcIi4vY29uc3VtZXItdmlldy1kZXNjcmlwdGlvblwiO1xyXG5pbXBvcnQge3JlZ2lvbmFsR2VvY29kZURlc2NyaXB0aW9uc30gZnJvbSBcIi4vcmVnaW9uYWwtZ2VvY29kZXMtZGVzY3JpcHRpb25cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFkZHJlc3NWYWxpZGF0aW9uIHtcclxuICBwdWJsaWMgb3B0aW9uczogQWRkcmVzc1NlYXJjaE9wdGlvbnM7XHJcbiAgcHVibGljIHNlYXJjaFR5cGU6IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZTtcclxuICBwdWJsaWMgYXZNb2RlOiBBZGRyZXNzVmFsaWRhdGlvbk1vZGU7XHJcbiAgcHVibGljIGV2ZW50cztcclxuICBwdWJsaWMgcmVxdWVzdDogUmVxdWVzdDtcclxuXHJcbiAgcHVibGljIGNvdW50cnlEcm9wZG93bjoge2NvdW50cnk6IHN0cmluZywgaXNvM0NvZGU6IHN0cmluZywgaXNvMkNvZGU6IHN0cmluZywgZGF0YXNldENvZGU6IHN0cmluZywgc2VhcmNoVHlwZTogc3RyaW5nfVtdID0gW107XHJcbiAgcHVibGljIGNvbXBvbmVudHNDb2xsZWN0aW9uTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBwdWJsaWMgbWV0YWRhdGFDb2xsZWN0aW9uTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBwdWJsaWMgZ2VvY29kZXM6IEVucmljaG1lbnREZXRhaWxzID0gbmV3IEVucmljaG1lbnREZXRhaWxzKCk7XHJcbiAgcHVibGljIGN2SG91c2Vob2xkOiBFbnJpY2htZW50RGV0YWlscyA9IG5ldyBFbnJpY2htZW50RGV0YWlscygpO1xyXG4gIHB1YmxpYyB0b29sdGlwRGVzY3JpcHRpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG4gIHB1YmxpYyBwcmVtaXVtTG9jYXRpb25JbnNpZ2h0TWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuXHJcbiAgcHJpdmF0ZSBiYXNlVXJsID0gJ2h0dHBzOi8vYXBpLmV4cGVyaWFuYXBlcnR1cmUuaW8vJztcclxuICBwcml2YXRlIGRhdGFzZXRzRW5kcG9pbnQgPSAnYWRkcmVzcy9kYXRhc2V0cy92MSc7XHJcbiAgcHJpdmF0ZSBzZWFyY2hFbmRwb2ludCA9ICdhZGRyZXNzL3NlYXJjaC92MSc7XHJcbiAgcHJpdmF0ZSBsb29rdXBWMkVuZHBvaW50ID0gJ2FkZHJlc3MvbG9va3VwL3YyJztcclxuICBwcml2YXRlIHZhbGlkYXRlRW5kcG9pbnQgPSAnYWRkcmVzcy92YWxpZGF0ZS92MSc7XHJcbiAgcHJpdmF0ZSBwcm9tcHRzZXRFbmRwb2ludCA9ICdhZGRyZXNzL3Byb21wdHNldHMvdjEnO1xyXG4gIHByaXZhdGUgc3RlcEluRW5kcG9pbnQgPSAnYWRkcmVzcy9zdWdnZXN0aW9ucy9zdGVwaW4vdjEnO1xyXG4gIHByaXZhdGUgcmVmaW5lRW5kcG9pbnQgPSAnYWRkcmVzcy9zdWdnZXN0aW9ucy9yZWZpbmUvdjEnO1xyXG4gIHByaXZhdGUgZW5yaWNobWVudEVuZHBvaW50ID0gJ2VucmljaG1lbnQvdjInO1xyXG5cclxuICBwcml2YXRlIHBpY2tsaXN0OiBQaWNrbGlzdDtcclxuICBwcml2YXRlIGlucHV0czogSFRNTElucHV0RWxlbWVudFtdO1xyXG4gIHByaXZhdGUgbGFzdFNlYXJjaFRlcm06IHN0cmluZztcclxuICBwcml2YXRlIGN1cnJlbnRTZWFyY2hUZXJtOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBsb29rdXBUeXBlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSByZXR1cm5BZGRyZXNzZXM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBjdXJyZW50Q291bnRyeUNvZGU6IHN0cmluZztcclxuICBwcml2YXRlIGN1cnJlbnRDb3VudHJ5TmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgY3VycmVudERhdGFTZXQ6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBjb3VudHJ5Q29kZU1hcHBpbmc7XHJcbiAgcHJpdmF0ZSBsb29rdXBGbjtcclxuICBwcml2YXRlIGtleVVwRm47XHJcbiAgcHJpdmF0ZSBjaGVja1RhYkZuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBZGRyZXNzU2VhcmNoT3B0aW9ucykge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5tZXJnZURlZmF1bHRPcHRpb25zKG9wdGlvbnMpO1xyXG5cclxuICAgIHRoaXMuZXZlbnRzID0gbmV3IEV2ZW50RmFjdG9yeSgpO1xyXG5cclxuICAgIHRoaXMuc2V0dXAoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGlvbnMudG9rZW4gPSB0b2tlbjtcclxuICAgIHRoaXMuc2V0dXAoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTZWFyY2hUeXBlKHNlYXJjaFR5cGU6IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hUeXBlID0gc2VhcmNoVHlwZTtcclxuICAgIHRoaXMuZ2xvYmFsUmVzZXQoKTtcclxuICAgIHRoaXMuc2V0SW5wdXRzKCk7XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LXNlYXJjaC10eXBlLWNoYW5nZScsIHNlYXJjaFR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExvb2t1cEVucmljaG1lbnREYXRhKGtleTogc3RyaW5nKSB7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGxldCByZWdpb25hbEF0dHJpYnV0ZXMgPSB7XHJcbiAgICAgICAgZ2VvY29kZXM6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuR0xPQkFMLmdlb2NvZGVzKSxcclxuICAgICAgICBwcmVtaXVtX2xvY2F0aW9uX2luc2lnaHQ6IHt9ID0gW1xyXG4gICAgICAgICAgXCJnZW9jb2Rlc1wiLFxyXG4gICAgICAgICAgXCJnZW9jb2Rlc19idWlsZGluZ194eVwiLFxyXG4gICAgICAgICAgXCJnZW9jb2Rlc19hY2Nlc3NcIixcclxuICAgICAgICAgIFwidGltZVwiXHJcbiAgICAgICAgXVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2FsbEVucmljaG1lbnQoa2V5LCByZWdpb25hbEF0dHJpYnV0ZXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEVucmljaG1lbnREYXRhKGRhdGE6IEVucmljaG1lbnRSZXNwb25zZSkge1xyXG4gICAgdGhpcy5ldmVudHMudHJpZ2dlcigncHJlLWVucmljaG1lbnQnKTtcclxuICAgIHRoaXMucmVzdWx0LmhhbmRsZUVucmljaG1lbnRSZXNwb25zZShkYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RW5yaWNobWVudEF0dHJpYnV0ZXMoZ2xvYmFsQWRkcmVzc0tleTogc3RyaW5nKSB7XHJcbiAgICBpZiAoZ2xvYmFsQWRkcmVzc0tleSkge1xyXG4gICAgICBsZXQgcmVnaW9uYWxBdHRyaWJ1dGVzOiB7fTtcclxuICAgICAgbGV0IHByZW1pdW1fbG9jYXRpb25faW5zaWdodDoge30gPSBbXHJcbiAgICAgICAgXCJnZW9jb2Rlc1wiLFxyXG4gICAgICAgIFwiZ2VvY29kZXNfYnVpbGRpbmdfeHlcIixcclxuICAgICAgICBcImdlb2NvZGVzX2FjY2Vzc1wiLFxyXG4gICAgICAgIFwidGltZVwiXHJcbiAgICAgIF1cclxuICAgICAgaWYgKHRoaXMuY3VycmVudENvdW50cnlDb2RlID09IFwiTlpMXCIpIHtcclxuICAgICAgICByZWdpb25hbEF0dHJpYnV0ZXMgPSB7XHJcbiAgICAgICAgICBuemxfcmVnaW9uYWxfZ2VvY29kZXM6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuTlpMLm56bF9yZWdpb25hbF9nZW9jb2RlcyksXHJcbiAgICAgICAgICBuemxfY3ZfaG91c2Vob2xkOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0Lk5aTC5uemxfY3ZfaG91c2Vob2xkKSxcclxuICAgICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9PSBcIkFVU1wiKSB7XHJcbiAgICAgICAgcmVnaW9uYWxBdHRyaWJ1dGVzID0ge1xyXG4gICAgICAgICAgYXVzX3JlZ2lvbmFsX2dlb2NvZGVzOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0LkFVUy5hdXNfcmVnaW9uYWxfZ2VvY29kZXMpLFxyXG4gICAgICAgICAgYXVzX2N2X2hvdXNlaG9sZDogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5BVVMuYXVzX2N2X2hvdXNlaG9sZCksXHJcbiAgICAgICAgICBwcmVtaXVtX2xvY2F0aW9uX2luc2lnaHRcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50Q291bnRyeUNvZGUgPT0gXCJVU0FcIikge1xyXG4gICAgICAgIHJlZ2lvbmFsQXR0cmlidXRlcyA9IHtcclxuICAgICAgICAgIHVzYV9yZWdpb25hbF9nZW9jb2RlczogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5VU0EudXNhX3JlZ2lvbmFsX2dlb2NvZGVzKSxcclxuICAgICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9PSBcIkdCUlwiKSB7XHJcbiAgICAgICAgcmVnaW9uYWxBdHRyaWJ1dGVzID0ge1xyXG4gICAgICAgICAgdWtfbG9jYXRpb25fZXNzZW50aWFsOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0LkdCUi51a19sb2NhdGlvbl9lc3NlbnRpYWwpLFxyXG4gICAgICAgICAgd2hhdDN3b3JkczogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5HQlIud2hhdDN3b3JkcyksXHJcbiAgICAgICAgICBwcmVtaXVtX2xvY2F0aW9uX2luc2lnaHRcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVnaW9uYWxBdHRyaWJ1dGVzID0ge1xyXG4gICAgICAgICAgZ2VvY29kZXM6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuR0xPQkFMLmdlb2NvZGVzKSxcclxuICAgICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcmVnaW9uYWxBdHRyaWJ1dGVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxsRW5yaWNobWVudChrZXk6IHN0cmluZywgcmVnaW9uYWxBdHRyaWJ1dGVzKSA6IHZvaWQge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNvdW50cnlfaXNvOiB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSxcclxuICAgICAga2V5czoge1xyXG4gICAgICAgIGdsb2JhbF9hZGRyZXNzX2tleToga2V5XHJcbiAgICAgIH0sXHJcbiAgICAgIGF0dHJpYnV0ZXM6IHJlZ2lvbmFsQXR0cmlidXRlc1xyXG4gICAgfVxyXG4gICAgdGhpcy5ldmVudHMudHJpZ2dlcigncHJlLWVucmljaG1lbnQnKTtcclxuICAgIHRoaXMucmVxdWVzdC5zZW5kKHRoaXMuYmFzZVVybCArIHRoaXMuZW5yaWNobWVudEVuZHBvaW50LCAnUE9TVCcsIHRoaXMucmVzdWx0LmhhbmRsZUVucmljaG1lbnRSZXNwb25zZSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cCgpOiB2b2lkIHtcclxuICAgIC8vIEdldCB0b2tlbiBhbmQgcHJvY2VlZCBpZiBpdCdzIHByZXNlbnRcclxuICAgIGlmICh0aGlzLnRva2VuKSB7XHJcbiAgICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPSB0cnVlO1xyXG5cclxuICAgICAgLy8gSW5zdGFudGlhdGUgYSBuZXcgUmVxdWVzdCBjbGFzcyBmb3IgdXNlIHdoZW4gbWFraW5nIEFQSSBjYWxsc1xyXG4gICAgICB0aGlzLnJlcXVlc3QgPSBuZXcgUmVxdWVzdCh0aGlzKTtcclxuXHJcbiAgICAgIC8vIFNldCB0aGUgY291bnRyeSBsaXN0XHJcbiAgICAgIHRoaXMuc2V0Q291bnRyeUxpc3QoKTtcclxuXHJcbiAgICAgIC8vIFNldCB0aGUgaW5wdXQgZmllbGRzIGZvciB0aGlzIHNlYXJjaCB0eXBlXHJcbiAgICAgIHRoaXMuc2V0SW5wdXRzKCk7XHJcblxyXG4gICAgICAvLyBTZXR1cCBhIHBpY2tsaXN0IG9iamVjdFxyXG4gICAgICB0aGlzLmNyZWF0ZVBpY2tsaXN0KCk7XHJcblxyXG4gICAgICAvLyBTZXQgdGhlIGRlZmF1bHQgc2VhcmNoIG1vZGVcclxuICAgICAgdGhpcy5hdk1vZGUgPSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuU0VBUkNIO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gVHJpZ2dlciBhIDQwMSBVbmF1dGhvcml6ZWQgZXZlbnQgaWYgYSB0b2tlbiBkb2VzIG5vdCBleGlzdFxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3JlcXVlc3QtZXJyb3ItNDAxJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXIobmFtZSk6IHN0cmluZyB7XHJcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bW10vLCAnXFxcXFsnKS5yZXBsYWNlKC9bXFxdXS8sICdcXFxcXScpO1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCdbXFxcXD8mXScgKyBuYW1lICsgJz0oW14mI10qKScpLFxyXG4gICAgICByZXN1bHRzID0gcmVnZXguZXhlYyhsb2NhdGlvbi5zZWFyY2gpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHMgPT09IG51bGwgPyAnJyA6IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxuICB9XHJcblxyXG4gIC8vIFRyeSBhbmQgZ2V0IHRva2VuIGZyb20gdGhlIHF1ZXJ5IHN0cmluZyBpZiBpdCdzIG5vdCBhbHJlYWR5IHByb3ZpZGVkXHJcbiAgcHJpdmF0ZSBnZXQgdG9rZW4oKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5vcHRpb25zLnRva2VuKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy50b2tlbiA9IHRoaXMuZ2V0UGFyYW1ldGVyKCd0b2tlbicpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy50b2tlbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWVyZ2VEZWZhdWx0T3B0aW9ucyhjdXN0b21PcHRpb25zKTogQWRkcmVzc1NlYXJjaE9wdGlvbnMge1xyXG4gICAgY29uc3QgaW5zdGFuY2U6IEFkZHJlc3NTZWFyY2hPcHRpb25zID0gY3VzdG9tT3B0aW9ucyB8fCB7fTtcclxuXHJcbiAgICBpbnN0YW5jZS5lbmFibGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVHlwZSA9IGluc3RhbmNlLnNlYXJjaFR5cGUgfHwgZGVmYXVsdHMuc2VhcmNoVHlwZTtcclxuICAgIGluc3RhbmNlLnNlYXJjaFR5cGUgPSBpbnN0YW5jZS5zZWFyY2hUeXBlIHx8IGRlZmF1bHRzLnNlYXJjaFR5cGU7XHJcbiAgICBpbnN0YW5jZS5sYW5ndWFnZSA9IGluc3RhbmNlLmxhbmd1YWdlIHx8IGRlZmF1bHRzLmxhbmd1YWdlO1xyXG4gICAgaW5zdGFuY2UudXNlU3Bpbm5lciA9IGluc3RhbmNlLnVzZVNwaW5uZXIgfHwgZGVmYXVsdHMudXNlU3Bpbm5lcjtcclxuICAgIGluc3RhbmNlLmFwcGx5Rm9jdXMgPSAodHlwZW9mIGluc3RhbmNlLmFwcGx5Rm9jdXMgIT09ICd1bmRlZmluZWQnKSA/IGluc3RhbmNlLmFwcGx5Rm9jdXMgOiBkZWZhdWx0cy5pbnB1dC5hcHBseUZvY3VzO1xyXG4gICAgaW5zdGFuY2UucGxhY2Vob2xkZXJUZXh0ID0gaW5zdGFuY2UucGxhY2Vob2xkZXJUZXh0IHx8IGRlZmF1bHRzLmlucHV0LnBsYWNlaG9sZGVyVGV4dDtcclxuICAgIGluc3RhbmNlLnNlYXJjaEFnYWluID0gaW5zdGFuY2Uuc2VhcmNoQWdhaW4gfHwge307XHJcbiAgICBpbnN0YW5jZS5zZWFyY2hBZ2Fpbi52aXNpYmxlID0gKHR5cGVvZiBpbnN0YW5jZS5zZWFyY2hBZ2Fpbi52aXNpYmxlICE9PSAndW5kZWZpbmVkJykgPyBpbnN0YW5jZS5zZWFyY2hBZ2Fpbi52aXNpYmxlIDogZGVmYXVsdHMuc2VhcmNoQWdhaW4udmlzaWJsZTtcclxuICAgIGluc3RhbmNlLnNlYXJjaEFnYWluLnRleHQgPSBpbnN0YW5jZS5zZWFyY2hBZ2Fpbi50ZXh0IHx8IGRlZmF1bHRzLnNlYXJjaEFnYWluLnRleHQ7XHJcbiAgICBpbnN0YW5jZS5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyID0gaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lciB8fCBkZWZhdWx0cy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyO1xyXG4gICAgaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5zaG93SGVhZGluZyA9ICh0eXBlb2YgaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5zaG93SGVhZGluZyAhPT0gJ3VuZGVmaW5lZCcpID8gaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5zaG93SGVhZGluZyA6IGRlZmF1bHRzLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuc2hvd0hlYWRpbmc7XHJcbiAgICBpbnN0YW5jZS5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLmhlYWRpbmdUeXBlID0gaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5oZWFkaW5nVHlwZSB8fCBkZWZhdWx0cy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLmhlYWRpbmdUeXBlO1xyXG4gICAgaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci52YWxpZGF0ZWRIZWFkaW5nVGV4dCA9IGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIudmFsaWRhdGVkSGVhZGluZ1RleHQgfHwgZGVmYXVsdHMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci52YWxpZGF0ZWRIZWFkaW5nVGV4dDtcclxuICAgIGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIubWFudWFsSGVhZGluZ1RleHQgPSBpbnN0YW5jZS5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLm1hbnVhbEhlYWRpbmdUZXh0IHx8IGRlZmF1bHRzLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIubWFudWFsSGVhZGluZ1RleHQ7XHJcbiAgICBpbnN0YW5jZS51c2VBZGRyZXNzRW50ZXJlZFRleHQgPSBpbnN0YW5jZS51c2VBZGRyZXNzRW50ZXJlZFRleHQgfHwgZGVmYXVsdHMudXNlQWRkcmVzc0VudGVyZWRUZXh0O1xyXG4gICAgaW5zdGFuY2UuZWxlbWVudHMgPSBpbnN0YW5jZS5lbGVtZW50cyB8fCB7fTtcclxuXHJcbiAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFByb21wdHNldCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSkge1xyXG4gICAgICAvLyBVc2luZyB0aGUgY291bnRyeSBjb2RlIGFuZCB0aGUgc2VhcmNoIHR5cGUsIGxvb2t1cCB3aGF0IHRoZSByZWxldmFudCBkYXRhc2V0IGNvZGUgc2hvdWxkIGJlXHJcbiAgICAgIHRoaXMuY3VycmVudERhdGFTZXQgPSB0aGlzLmxvb2t1cERhdGFzZXRDb2RlKCk7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnREYXRhU2V0KSB7XHJcblxyXG4gICAgICAgIC8vLyBUZW1wb3JhcnkgbWVhc3VyZSB1bnRpbCB0aGUgcHJvbXB0c2V0IGVuZHBvaW50IHN1cHBvcnRzIEF1dG9jb21wbGV0ZSBhbmQgVmFsaWRhdGVcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQVVUT0NPTVBMRVRFKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUHJvbXB0c2V0UmVzdWx0KHsgcmVzdWx0OiB7IGxpbmVzOiBbeyBleGFtcGxlOiB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJUZXh0LCBwcm9tcHQ6ICdBZGRyZXNzJywgc3VnZ2VzdGVkX2lucHV0X2xlbmd0aDogMTYwIH1dIH0gfSkpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUpIHtcclxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gW1xyXG4gICAgICAgICAgICB7IHByb21wdDogJ0FkZHJlc3MgbGluZSAxJywgc3VnZ2VzdGVkX2lucHV0X2xlbmd0aDogMTYwIH0sXHJcbiAgICAgICAgICAgIHsgcHJvbXB0OiAnQWRkcmVzcyBsaW5lIDInLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAgfSxcclxuICAgICAgICAgICAgeyBwcm9tcHQ6ICdBZGRyZXNzIGxpbmUgMycsIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCB9LFxyXG4gICAgICAgICAgICB7IHByb21wdDogdGhpcy5yZXN1bHQuY3JlYXRlQWRkcmVzc0xpbmUubGFiZWwoJ2xvY2FsaXR5JyksIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCB9LFxyXG4gICAgICAgICAgICB7IHByb21wdDogdGhpcy5yZXN1bHQuY3JlYXRlQWRkcmVzc0xpbmUubGFiZWwoJ3JlZ2lvbicpLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAgfSxcclxuICAgICAgICAgICAgeyBwcm9tcHQ6IHRoaXMucmVzdWx0LmNyZWF0ZUFkZHJlc3NMaW5lLmxhYmVsKCdwb3N0YWxfY29kZScpLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAgfVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVQcm9tcHRzZXRSZXN1bHQoeyByZXN1bHQ6IHsgbGluZXMgfSB9KSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5MT09LVVBWMikge1xyXG4gICAgICAgICAgY29uc3QgbGluZXMgPSBbXHJcbiAgICAgICAgICAgIHtwcm9tcHQ6ICdMb29rdXAgdHlwZScsIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCxcclxuICAgICAgICAgICAgICBkcm9wZG93bl9vcHRpb25zOiBbQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5MT0NBTElUWSwgQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5QT1NUQUxfQ09ERV19LFxyXG4gICAgICAgICAgICB7cHJvbXB0OiAnQWRkIGFkZHJlc3NlcyAoSWYgXCJ0cnVlXCIgY29uY3JldGUgYWRkcmVzc2VzIGFyZSByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UpJyxcclxuICAgICAgICAgICAgICBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAsIGRyb3Bkb3duX29wdGlvbnM6IE9iamVjdC52YWx1ZXMoQWRkQWRkcmVzc2VzT3B0aW9ucyl9LFxyXG4gICAgICAgICAgICB7cHJvbXB0OiAnTG9va3VwIHZhbHVlICcsIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MH1cclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUHJvbXB0c2V0UmVzdWx0KHtyZXN1bHQ6IHtsaW5lc319KSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgICAgY291bnRyeV9pc286IHRoaXMuY3VycmVudENvdW50cnlDb2RlLFxyXG4gICAgICAgICAgZGF0YXNldHM6IEFycmF5LmlzQXJyYXkodGhpcy5jdXJyZW50RGF0YVNldCkgPyB0aGlzLmN1cnJlbnREYXRhU2V0IDogW3RoaXMuY3VycmVudERhdGFTZXRdLFxyXG4gICAgICAgICAgc2VhcmNoX3R5cGU6IHRoaXMuc2VhcmNoVHlwZSxcclxuICAgICAgICAgIHByb21wdF9zZXQ6ICdvcHRpbWFsJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncHJlLXByb21wdHNldC1jaGVjaycpO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdC5zZW5kKHRoaXMuYmFzZVVybCArIHRoaXMucHJvbXB0c2V0RW5kcG9pbnQsICdQT1NUJywgdGhpcy5oYW5kbGVQcm9tcHRzZXRSZXN1bHQuYmluZCh0aGlzKSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcignZXJyb3ItZGlzcGxheScsIFwiVW5zdXBwb3J0ZWQgc2VhcmNoIHR5cGUgJ1wiICsgdGhpcy5zZWFyY2hUeXBlICsgXCInIGZvciBjb3VudHJ5IGRhdGFzZXQgJ1wiICsgdGhpcy5jdXJyZW50Q291bnRyeU5hbWUgKyBcIicuXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb29rdXBEYXRhc2V0Q29kZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBpdGVtID0gZGF0YXNldENvZGVzLmZpbmQoZGF0YXNldCA9PlxyXG4gICAgICAgIGRhdGFzZXQuaXNvM0NvZGUgPT09IHRoaXMuY3VycmVudENvdW50cnlDb2RlXHJcbiAgICAgICAgJiYgZGF0YXNldC5jb3VudHJ5ID09PSB0aGlzLmN1cnJlbnRDb3VudHJ5TmFtZVxyXG4gICAgICAgICYmIGRhdGFzZXQuc2VhcmNoVHlwZS5pbmNsdWRlcyh0aGlzLnNlYXJjaFR5cGUpKTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLmRhdGFzZXRDb2RlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVQcm9tcHRzZXRSZXN1bHQocmVzcG9uc2UpOiB2b2lkIHtcclxuICAgIC8vIFJlbW92ZSBhbnkgY3VycmVudGx5IGRpc3BsYXllZCBwaWNrbGlzdCB3aGVuIHRoZSBwcm9tcHRzZXQgY2hhbmdlc1xyXG4gICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcblxyXG4gICAgLy8gVHJpZ2dlciBhIG5ldyBldmVudCB0byBub3RpZnkgc3Vic2NyaWJlcnNcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcHJvbXB0c2V0LWNoZWNrJywgcmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldElucHV0cyhpbnB1dHMgPSB0aGlzLm9wdGlvbnMuZWxlbWVudHMuaW5wdXRzKTogdm9pZCB7XHJcbiAgICAvLyBJZiBhZGRyZXNzIGlucHV0cyBleGlzdCB0aGVuIHJlZ2lzdGVyIHRoZXNlIHdpdGggZXZlbnQgbGlzdGVuZXJzLCBvdGhlcndpc2UgY2FsbCB0aGUgcHJvbXB0c2V0IGVuZHBvaW50IHRvIHJldHJpZXZlIHRoZW1cclxuICAgIGlmIChpbnB1dHMpIHtcclxuICAgICAgdGhpcy5yZWdpc3RlcklucHV0cyhpbnB1dHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gTWFrZSBhbiBBUEkgY2FsbCB0byBnZXQgdGhlIHByb21wdHNldCBmb3IgdGhpcyBjb3VudHJ5L2RhdGFzZXQvZW5naW5lXHJcbiAgICAgIHRoaXMuZ2V0UHJvbXB0c2V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSAhPT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkFVVE9DT01QTEVURSkge1xyXG4gICAgICAvLyBCaW5kIGFuIGV2ZW50IGxpc3RlbmVyIG9uIHRoZSBsb29rdXAgYnV0dG9uXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZWxlbWVudHMubG9va3VwQnV0dG9uKSB7XHJcbiAgICAgICAgdGhpcy5sb29rdXBGbiA9IHRoaXMuc2VhcmNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmxvb2t1cEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubG9va3VwRm4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZ2lzdGVySW5wdXRzKGlucHV0czogSFRNTElucHV0RWxlbWVudFtdKSB7XHJcbiAgICAvLyBJZiBuZXcgaW5wdXRzIGhhdmUgYmVlbiBwcm92aWRlZCwgZW5zdXJlIHdlIHVwZGF0ZSB0aGUgZWxlbWVudHMgYXJyYXkgdG8gY2FwdHVyZSB0aGVtXHJcbiAgICB0aGlzLmlucHV0cyA9IEFycmF5LmZyb20oaW5wdXRzKTtcclxuXHJcbiAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucHV0ID0+IHtcclxuICAgICAgLy8gRGlzYWJsZSBhdXRvY29tcGxldGUgb24gdGhlIGZvcm0gZmllbGRcclxuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdhdXRvY29tcGxldGUnLCAnbmV3LXBhc3N3b3JkJyk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQVVUT0NPTVBMRVRFKSB7XHJcbiAgICAgICAgLy8gQmluZCBhbiBldmVudCBsaXN0ZW5lciBvbiB0aGUgaW5wdXRcclxuICAgICAgICB0aGlzLmtleVVwRm4gPSB0aGlzLnNlYXJjaC5iaW5kKHRoaXMpO1xyXG4gICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5rZXlVcEZuKTtcclxuICAgICAgICB0aGlzLmNoZWNrVGFiRm4gPSB0aGlzLmNoZWNrVGFiLmJpbmQodGhpcyk7XHJcbiAgICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuY2hlY2tUYWJGbik7XHJcbiAgICAgICAgLy8gU2V0IGEgcGxhY2Vob2xkZXIgZm9yIHRoZSBpbnB1dFxyXG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgncGxhY2Vob2xkZXInLCB0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXJUZXh0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQmluZCBhbiBldmVudCBsaXN0ZW5lciBvbiB0aGUgaW5wdXQgdG8gYWxsb3cgdXNlcnMgdG8gdHJhdmVyc2UgdXAgYW5kIGRvd24gdGhlIHBpY2tsaXN0IHVzaW5nIHRoZSBrZXlib2FyZFxyXG4gICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuaGFuZGxlS2V5Ym9hcmRFdmVudC5iaW5kKHRoaXMpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY291bnRyeUNvZGVNYXBwaW5nID0gdGhpcy5vcHRpb25zLmNvdW50cnlDb2RlTWFwcGluZyB8fCB7fTtcclxuXHJcbiAgICAvLyBBcHBseSBmb2N1cyB0byB0aGUgZmlyc3QgaW5wdXRcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYXBwbHlGb2N1cykge1xyXG4gICAgICB0aGlzLmlucHV0c1swXS5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb3VudHJ5TGlzdCgpOiB2b2lkIHtcclxuICAgIGxldCB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmRhdGFzZXRzRW5kcG9pbnQ7XHJcbiAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdHRVQnLCB0aGlzLmhhbmRsZURhdGFzZXRzUmVzcG9uc2UuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgLy8gU2V0IHRoZSBpbml0aWFsIGNvdW50cnkgY29kZSBmcm9tIGVpdGhlciB0aGUgdmFsdWUgb2YgYSBjb3VudHJ5IGxpc3QgSFRNTCBlbGVtZW50IG9yIGEgc3RhdGljIGNvdW50cnkgY29kZVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5lbGVtZW50cy5jb3VudHJ5TGlzdCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5lbGVtZW50cy5jb3VudHJ5TGlzdC52YWx1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50Q291bnRyeU5hbWUgPSB0aGlzLm9wdGlvbnMuZWxlbWVudHMuY291bnRyeUxpc3RbdGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0LnNlbGVjdGVkSW5kZXhdLmxhYmVsO1xyXG5cclxuICAgICAgLy8gTGlzdGVuIGZvciB3aGVuIGEgY291bnRyeSBpcyBjaGFuZ2VkIGFuZCBjYWxsIHRoZSBwcm9tcHRzZXQgZW5kcG9pbnRcclxuICAgICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuaGFuZGxlQ291bnRyeUxpc3RDaGFuZ2UuYmluZCh0aGlzKSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5jb3VudHJ5Q29kZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9IHRoaXMub3B0aW9ucy5jb3VudHJ5Q29kZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgYSBjb3VudHJ5IGNvZGUgb3IgYSBjb3VudHJ5IGxpc3QgZWxlbWVudCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVEYXRhc2V0c1Jlc3BvbnNlKHJlc3BvbnNlOiBEYXRhc2V0c1Jlc3BvbnNlKTogdm9pZCB7XHJcbiAgICBsZXQgY291bnRyaWVzID0gcmVzcG9uc2UucmVzdWx0O1xyXG4gICAgdGhpcy5jb3VudHJ5RHJvcGRvd24gPSBbXTtcclxuICAgIGlmIChjb3VudHJpZXMgJiYgY291bnRyaWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yIChjb25zdCBjb3VudHJ5IG9mIGNvdW50cmllcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgY291bnRyeURhdGFzZXQgb2YgT2JqZWN0LnZhbHVlcyhjb3VudHJ5LmRhdGFzZXRzKSkge1xyXG4gICAgICAgICAgY29uc3QgaXRlbSA9IGRhdGFzZXRDb2Rlcy5maW5kKGRhdGFzZXQgPT4gZGF0YXNldC5kYXRhc2V0Q29kZSA9PT0gY291bnRyeURhdGFzZXQuaWQpO1xyXG4gICAgICAgICAgaWYgKGl0ZW0gJiYgIXRoaXMuY291bnRyeURyb3Bkb3duLmZpbmQobyA9PiBvLmNvdW50cnkgPT09IGl0ZW0uY291bnRyeSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5RHJvcGRvd24ucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb3VudHJ5RHJvcGRvd24uc29ydCgoYSwgYikgPT4gYS5jb3VudHJ5LmxvY2FsZUNvbXBhcmUoYi5jb3VudHJ5KSlcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1kYXRhc2V0cy11cGRhdGUnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFdoZW4gYSBjb3VudHJ5IGZyb20gdGhlIGxpc3QgaXMgY2hhbmdlZCwgdXBkYXRlIHRoZSBjdXJyZW50IGNvdW50cnkgY29kZSwgY2FsbCB0aGUgcHJvbXB0c2V0IGVuZHBvaW50IGFnYWluIGFuZCByZXNldCB0byB0aGUgZGVmYXVsdCBzZWFyY2ggbW9kZVxyXG4gIHByaXZhdGUgaGFuZGxlQ291bnRyeUxpc3RDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBsZXQgY291bnRyeUxpc3QgPSB0aGlzLm9wdGlvbnMuZWxlbWVudHMuY291bnRyeUxpc3Q7XHJcbiAgICB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9IGNvdW50cnlMaXN0LnZhbHVlO1xyXG4gICAgdGhpcy5jdXJyZW50Q291bnRyeU5hbWUgPSBjb3VudHJ5TGlzdFtjb3VudHJ5TGlzdC5zZWxlY3RlZEluZGV4XS5sYWJlbDtcclxuICAgIHRoaXMuZ2V0UHJvbXB0c2V0KCk7XHJcbiAgICB0aGlzLmF2TW9kZSA9IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5TRUFSQ0g7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlU2VhcmNoRGF0YUZvckFwaUNhbGwoKTogc3RyaW5nIHtcclxuICAgIC8vIElmIGEgZGF0YXNldCBjb2RlIGhhc24ndCBiZWVuIHNldCB5ZXQsIHRyeSBhbmQgbG9vayBpdCB1cFxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnREYXRhU2V0KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudERhdGFTZXQgPSB0aGlzLmxvb2t1cERhdGFzZXRDb2RlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgY291bnRyeV9pc286IHRoaXMuY3VycmVudENvdW50cnlDb2RlLFxyXG4gICAgICBjb21wb25lbnRzOiB7IHVuc3BlY2lmaWVkOiBbdGhpcy5jdXJyZW50U2VhcmNoVGVybV0gfSxcclxuICAgICAgZGF0YXNldHM6IEFycmF5LmlzQXJyYXkodGhpcy5jdXJyZW50RGF0YVNldCkgPyB0aGlzLmN1cnJlbnREYXRhU2V0IDogW3RoaXMuY3VycmVudERhdGFTZXRdLFxyXG4gICAgICBtYXhfc3VnZ2VzdGlvbnM6ICh0aGlzLm9wdGlvbnMubWF4U3VnZ2VzdGlvbnMgfHwgdGhpcy5waWNrbGlzdC5tYXhTdWdnZXN0aW9ucylcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlNJTkdMRUxJTkUgfHwgdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUpIHtcclxuICAgICAgZGF0YVsnb3B0aW9ucyddID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdmbGF0dGVuJyxcclxuICAgICAgICAgIFZhbHVlOiAndHJ1ZSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdpbnRlbnNpdHknLFxyXG4gICAgICAgICAgVmFsdWU6ICdjbG9zZSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdwcm9tcHRfc2V0JyxcclxuICAgICAgICAgIFZhbHVlOiAnZGVmYXVsdCdcclxuICAgICAgICB9XHJcbiAgICAgIF07XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuU0lOR0xFTElORSkge1xyXG4gICAgICAgIGRhdGFbJ29wdGlvbnMnXS5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6ICdzZWFyY2hfdHlwZScsXHJcbiAgICAgICAgICBWYWx1ZTogJ3NpbmdsZWxpbmUnXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5WQUxJREFURSkge1xyXG4gICAgICAgIGRhdGFbJ2xheW91dHMnXSA9IFsnZGVmYXVsdCddO1xyXG4gICAgICAgIGRhdGFbJ2xheW91dF9mb3JtYXQnXSA9ICdkZWZhdWx0JztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMubG9jYXRpb24pIHtcclxuICAgICAgZGF0YVsnbG9jYXRpb24nXSA9IHRoaXMub3B0aW9ucy5sb2NhdGlvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcbiAgXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUxvb2t1cERhdGFGb3JBcGlDYWxsKGlucHV0OiBzdHJpbmcsIGxvb2t1cEtleXdvcmQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBJZiBhIGRhdGFzZXQgY29kZSBoYXNuJ3QgYmVlbiBzZXQgeWV0LCB0cnkgYW5kIGxvb2sgaXQgdXBcclxuICAgIGlmICghdGhpcy5jdXJyZW50RGF0YVNldCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnREYXRhU2V0ID0gdGhpcy5sb29rdXBEYXRhc2V0Q29kZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIGNvdW50cnlfaXNvOiB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSxcclxuICAgICAgZGF0YXNldHM6IEFycmF5LmlzQXJyYXkodGhpcy5jdXJyZW50RGF0YVNldCkgPyB0aGlzLmN1cnJlbnREYXRhU2V0IDogW3RoaXMuY3VycmVudERhdGFTZXRdLFxyXG4gICAgICBtYXhfc3VnZ2VzdGlvbnM6ICh0aGlzLm9wdGlvbnMubWF4U3VnZ2VzdGlvbnMgfHwgdGhpcy5waWNrbGlzdC5tYXhTdWdnZXN0aW9ucyksXHJcbiAgICAgIGtleToge1xyXG4gICAgICAgIHR5cGU6IGxvb2t1cEtleXdvcmQsXHJcbiAgICAgICAgdmFsdWU6IGlucHV0LFxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0V2hhdDNXb3Jkc0xvb2t1cFZhbHVlKGlucHV0OiBzdHJpbmcsIHNob3VsZEdldFN1Z2dlc3Rpb25zOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKCcvLy8nKSAmJiBzaG91bGRHZXRTdWdnZXN0aW9ucykge1xyXG4gICAgICBpbnB1dCA9IGlucHV0LnNsaWNlKDMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnB1dDtcclxuICB9XHJcblxyXG4gIC8vIEFsbG93IHRoZSBrZXlib2FyZCB0byBiZSB1c2VkIHRvIGVpdGhlciB0cmF2ZXJzZSB1cCBhbmQgZG93biB0aGUgcGlja2xpc3QgYW5kIHNlbGVjdCBhbiBpdGVtLCBvciB0cmlnZ2VyIGEgbmV3IHNlYXJjaFxyXG4gIHByaXZhdGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAvLyBIYW5kbGUga2V5Ym9hcmQgbmF2aWdhdGlvblxyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkoZXZlbnQpO1xyXG5cclxuICAgIC8vIElmIGEgcGlja2xpc3QgaXMgcG9wdWxhdGVkIHRoZW4gdHJpZ2dlciBpdHMga2V5dXAgZXZlbnQgdG8gc2VsZWN0IGFuIGl0ZW1cclxuICAgIGlmICh0aGlzLnBpY2tsaXN0LnNpemUpIHtcclxuICAgICAgaWYgKGtleSA9PT0gJ0Fycm93VXAnIHx8IGtleSA9PT0gJ0Fycm93RG93bicgfHwga2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5rZXl1cChldmVudCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBPdGhlcndpc2UsIGVuYWJsZSBwcmVzc2luZyAnZW50ZXInIHRvIHRyaWdnZXIgYSBuZXcgc2VhcmNoXHJcbiAgICAgIGlmIChrZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgICB0aGlzLnNlYXJjaChldmVudCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNYWluIGZ1bmN0aW9uIHRvIHNlYXJjaCBmb3IgYW4gYWRkcmVzcyBmcm9tIGFuIGlucHV0IHN0cmluZ1xyXG4gIHByaXZhdGUgc2VhcmNoKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgIC8vIEdyYWIgdGhlIGNvdW50cnkgSVNPIGNvZGUgYW5kIChpZiBpdCBpcyBwcmVzZW50KSB0aGUgZGF0YXNldCBuYW1lIGZyb20gdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGNvdW50cnlMaXN0IChmb3JtYXQ6IHtjb3VudHJ5SXNvQ29kZX07e2RhdGFzZXR9KVxyXG4gICAgY29uc3QgY3VycmVudENvdW50cnlJbmZvID0gdGhpcy5jb3VudHJ5Q29kZU1hcHBpbmdbdGhpcy5jdXJyZW50Q291bnRyeUNvZGVdIHx8IHRoaXMuY3VycmVudENvdW50cnlDb2RlO1xyXG4gICAgY29uc3QgY291bnRyeUNvZGVBbmREYXRhc2V0ID0gY3VycmVudENvdW50cnlJbmZvLnNwbGl0KCc7Jyk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50Q291bnRyeUNvZGUgPSBjb3VudHJ5Q29kZUFuZERhdGFzZXRbMF07XHJcbiAgICBpZiAoY291bnRyeUNvZGVBbmREYXRhc2V0WzFdKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudERhdGFTZXQgPSBjb3VudHJ5Q29kZUFuZERhdGFzZXRbMV07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gKFJlLSlzZXQgdGhlIHByb3BlcnR5IHN0YXRpbmcgd2hldGhlciB0aGUgc2VhcmNoIGlucHV0IGhhcyBiZWVuIHJlc2V0LlxyXG4gICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGluc3RhbmNlcyB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaXMgYWxzbyBhbiBhZGRyZXNzXHJcbiAgICAvLyBvdXRwdXQgZmllbGQuIEFmdGVyIGFuIGFkZHJlc3MgaGFzIGJlZW4gcmV0dXJuZWQsIHlvdSBkb24ndCB3YW50IGEgbmV3XHJcbiAgICAvLyBzZWFyY2ggYmVpbmcgdHJpZ2dlcmVkIHVudGlsIHRoZSBmaWVsZCBoYXMgYmVlbiBjbGVhcmVkLlxyXG4gICAgaWYgKHRoaXMuY3VycmVudFNlYXJjaFRlcm0gPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbmNhdGVuYXRpbmcgdGhlIGlucHV0IGNvbXBvbmVudHMgZGVwZW5kaW5nIG9uIHNlYXJjaCB0eXBlIGFuZCBkYXRhc2V0IHRvIG1heGltaXplIG1hdGNoIHJlc3VsdHNcclxuICAgIGNvbnN0IGRlbGltaXRlciA9IHRoaXMuaXNJbnRlcm5hdGlvbmFsVmFsaWRhdGlvbigpID8gXCJ8XCI6IFwiLFwiO1xyXG4gICAgdGhpcy5jdXJyZW50U2VhcmNoVGVybSA9IHRoaXMuaW5wdXRzLm1hcChpbnB1dCA9PiBpbnB1dC52YWx1ZSkuam9pbihkZWxpbWl0ZXIpO1xyXG5cclxuICAgIC8vIENoZWNrIGlmIHNlYXJjaGluZyBpcyBwZXJtaXR0ZWRcclxuICAgIGlmICh0aGlzLmNhblNlYXJjaCgpKSB7XHJcbiAgICAgIC8vIEFib3J0IGFueSBvdXRzdGFuZGluZyByZXF1ZXN0c1xyXG4gICAgICBpZiAodGhpcy5yZXF1ZXN0LmN1cnJlbnRSZXF1ZXN0KSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0LmN1cnJlbnRSZXF1ZXN0LmFib3J0KCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFJlZ2V4IHRoYXQgY2hlY2tzIGlmIHRoZSBpbnB1dCBpcyB0aGUgZm9ybWF0IGZvciBhIHdoYXQzd29yZHMgc2VhcmNoLiBFeDogLy8vYS5iLmNcclxuICAgICAgbGV0IHJlZ2V4ID0gL15cXC97MCx9KD86W14wLTlgfiFAIyQlXiYqKCkrXFwtXz1be1xcXX1cXFxcfCc8LC4+Py9cIjs6wqPCp8K6wqnCrlxcc10rWy7vvaHjgILvvaXjg7vvuJLhn5TWieGBi9uU4Y2i4KWkXVteMC05YH4hQCMkJV4mKigpK1xcLV89W3tcXF19XFxcXHwnPCwuPj8vXCI7OsKjwqfCusKpwq5cXHNdK1su772h44CC772l44O777iS4Z+U1onhgYvblOGNouClpF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSt8W14wLTlgfiFAIyQlXiYqKCkrXFwtXz1be1xcXX1cXFxcfCc8LC4+Py9cIjs6wqPCp8K6wqnCrlxcc10rKFtcXHUwMDIwXFx1MDBBMF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSspezEsM31bLu+9oeOAgu+9peODu++4kuGflNaJ4YGL25ThjaLgpaRdW14wLTlgfiFAIyQlXiYqKCkrXFwtXz1be1xcXX1cXFxcfCc8LC4+Py9cIjs6wqPCp8K6wqnCrlxcc10rKFtcXHUwMDIwXFx1MDBBMF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSspezEsM31bLu+9oeOAgu+9peODu++4kuGflNaJ4YGL25ThjaLgpaRdW14wLTlgfiFAIyQlXiYqKCkrXFwtXz1be1xcXX1cXFxcfCc8LC4+Py9cIjs6wqPCp8K6wqnCrlxcc10rKFtcXHUwMDIwXFx1MDBBMF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSspezEsM30pJC87XHJcblxyXG4gICAgICBpZiAocmVnZXgudGVzdCh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLnRyaW0oKSkpIHtcclxuICAgICAgICB0aGlzLmF2TW9kZSA9IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5XSEFUM1dPUkRTO1xyXG4gICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFRlcm0gPSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLnRyaW0oKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmF2TW9kZSAhPSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuTE9PS1VQVjIpe1xyXG4gICAgICAgIHRoaXMuYXZNb2RlID0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gaXMgVVBSTiBvciBVRFBSTlxyXG4gICAgICByZWdleCA9IC9eXFxkezEyfXxcXGR7OH0kLztcclxuICAgICAgaWYgKHJlZ2V4LnRlc3QodGhpcy5jdXJyZW50U2VhcmNoVGVybS50cmltKCkpKSB7XHJcbiAgICAgICAgdGhpcy5hdk1vZGUgPSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuVURQUk47XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoVGVybSA9IHRoaXMuY3VycmVudFNlYXJjaFRlcm0udHJpbSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBGaXJlIGFuIGV2ZW50IGJlZm9yZSBhIHNlYXJjaCB0YWtlcyBwbGFjZVxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtc2VhcmNoJywgdGhpcy5jdXJyZW50U2VhcmNoVGVybSk7XHJcblxyXG4gICAgICAvLyBTdG9yZSB0aGUgbGFzdCBzZWFyY2ggdGVybVxyXG4gICAgICB0aGlzLmxhc3RTZWFyY2hUZXJtID0gdGhpcy5jdXJyZW50U2VhcmNoVGVybTtcclxuXHJcbiAgICAgIC8vIEhpZGUgYW5kIHNob3cgYW4gaW5saW5lIHNwaW5uZXIgd2hpbHN0IHNlYXJjaGluZy4gSGlkZSBpdCBmaXJzdCBzbyB3ZSBkb24ndCBzaG93IDIgc3Bpbm5lcnMgYnkgYWNjaWRlbnQuXHJcbiAgICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5oaWRlKCk7XHJcbiAgICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5zaG93KCk7XHJcbiAgICAgIGxldCB1cmwsIGhlYWRlcnMsIGNhbGxiYWNrLCBkYXRhO1xyXG5cclxuICAgICAgLy8gQ29uc3RydWN0IHRoZSBuZXcgU2VhcmNoIFVSTCBhbmQgZGF0YVxyXG4gICAgICBzd2l0Y2godGhpcy5hdk1vZGUgYXMgYW55KSB7XHJcbiAgICAgICAgY2FzZSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuV0hBVDNXT1JEUzoge1xyXG4gICAgICAgICAgZGF0YSA9IHRoaXMuZ2VuZXJhdGVMb29rdXBEYXRhRm9yQXBpQ2FsbCh0aGlzLmdldFdoYXQzV29yZHNMb29rdXBWYWx1ZSh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLCB0cnVlKSwgQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5XSEFUM1dPUkRTLmtleSk7XHJcbiAgICAgICAgICB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmxvb2t1cFYyRW5kcG9pbnQ7XHJcbiAgICAgICAgICBoZWFkZXJzID0gW107XHJcbiAgICAgICAgICBjYWxsYmFjayA9IHRoaXMucGlja2xpc3Quc2hvd1doYXQzV29yZHM7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuVURQUk46IHtcclxuICAgICAgICAgIHRoaXMucmV0dXJuQWRkcmVzc2VzID0gdHJ1ZTtcclxuICAgICAgICAgIGRhdGEgPSB0aGlzLmdlbmVyYXRlTG9va3VwRGF0YUZvckFwaUNhbGwodGhpcy5jdXJyZW50U2VhcmNoVGVybSwgQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5VRFBSTi5rZXkpO1xyXG4gICAgICAgICAgdXJsID0gdGhpcy5iYXNlVXJsICsgdGhpcy5sb29rdXBWMkVuZHBvaW50O1xyXG4gICAgICAgICAgaGVhZGVycyA9IFt7IGtleTogJ0FkZC1BZGRyZXNzZXMnLCB2YWx1ZTogdHJ1ZSB9XTtcclxuICAgICAgICAgIGNhbGxiYWNrID0gdGhpcy5waWNrbGlzdC5zaG93TG9va3VwO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLkxPT0tVUFYyOiB7XHJcbiAgICAgICAgICBjb25zdCBsb29rdXBTZWFyY2hUZXJtID0gdGhpcy5jdXJyZW50U2VhcmNoVGVybS5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgdGhpcy5sb29rdXBUeXBlID0gbG9va3VwU2VhcmNoVGVybVswXTtcclxuICAgICAgICAgIHRoaXMucmV0dXJuQWRkcmVzc2VzID0gbG9va3VwU2VhcmNoVGVybVsxXSA9PT0gXCJ0cnVlXCI7XHJcbiAgICAgICAgICBsZXQgbG9va3VwVmFsdWUgPSBsb29rdXBTZWFyY2hUZXJtWzJdO1xyXG5cclxuICAgICAgICAgIGRhdGEgPSB0aGlzLmdlbmVyYXRlTG9va3VwRGF0YUZvckFwaUNhbGwobG9va3VwVmFsdWUudHJpbSgpLCB0aGlzLmxvb2t1cFR5cGUpO1xyXG4gICAgICAgICAgdXJsID0gdGhpcy5iYXNlVXJsICsgdGhpcy5sb29rdXBWMkVuZHBvaW50O1xyXG4gICAgICAgICAgaGVhZGVycyA9IFt7a2V5OiAnQWRkLUFkZHJlc3NlcycsIHZhbHVlOiB0cnVlfV07XHJcbiAgICAgICAgICBjYWxsYmFjayA9IHRoaXMucGlja2xpc3Quc2hvd0xvb2t1cDtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OiB7IFxyXG4gICAgICAgICAgZGF0YSA9IHRoaXMuZ2VuZXJhdGVTZWFyY2hEYXRhRm9yQXBpQ2FsbCgpO1xyXG4gICAgICAgICAgdXJsID0gdGhpcy5iYXNlVXJsICsgKHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlZBTElEQVRFID8gdGhpcy52YWxpZGF0ZUVuZHBvaW50IDogdGhpcy5zZWFyY2hFbmRwb2ludCk7XHJcbiAgICAgICAgICBoZWFkZXJzID0gdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUgPyBbeyBrZXk6ICdBZGQtQ29tcG9uZW50cycsIHZhbHVlOiB0cnVlIH0sIHsga2V5OiAnQWRkLU1ldGFkYXRhJywgdmFsdWU6IHRydWUgfV0gOiBbXTtcclxuICAgICAgICAgIGNhbGxiYWNrID0gdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUgPyB0aGlzLnJlc3VsdC5oYW5kbGVWYWxpZGF0ZVJlc3BvbnNlIDogdGhpcy5waWNrbGlzdC5zaG93O1xyXG4gICAgICAgICAgYnJlYWs7IFxyXG4gICAgICAgIH0gXHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvLyBJbml0aWF0ZSBuZXcgU2VhcmNoIHJlcXVlc3RcclxuICAgICAgdGhpcy5yZXF1ZXN0LnNlbmQodXJsLCAnUE9TVCcsIGNhbGxiYWNrLCBkYXRhLCBoZWFkZXJzKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubGFzdFNlYXJjaFRlcm0gIT09IHRoaXMuY3VycmVudFNlYXJjaFRlcm0pIHtcclxuICAgICAgLy8gQ2xlYXIgdGhlIHBpY2tsaXN0IGlmIHRoZSBzZWFyY2ggdGVybSBpcyBjbGVhcmVkL2VtcHR5XHJcbiAgICAgIHRoaXMucGlja2xpc3QuaGlkZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSGVscGVyIG1ldGhvZCB0byByZXR1cm4gYSBjb25zaXN0ZW50IGtleSBuYW1lXHJcbiAgcHJpdmF0ZSBnZXRLZXkoeyBrZXkgfSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGtleSkge1xyXG4gICAgICBjYXNlICdEb3duJzpcclxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcclxuICAgICAgICByZXR1cm4gJ0Fycm93RG93bic7XHJcbiAgICAgIGNhc2UgJ1VwJzpcclxuICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgcmV0dXJuICdBcnJvd1VwJztcclxuICAgICAgY2FzZSAnU3BhY2ViYXInOlxyXG4gICAgICBjYXNlICcgJzpcclxuICAgICAgICByZXR1cm4gJyAnO1xyXG4gICAgICBjYXNlICdFc2NhcGUnOlxyXG4gICAgICBjYXNlICdFc2MnOlxyXG4gICAgICAgIHJldHVybiAnRXNjYXBlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4ga2V5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYW5TZWFyY2goKTogYm9vbGVhbiB7XHJcbiAgICAvLyBJZiBzZWFyY2hpbmcgb24gdGhpcyBpbnN0YW5jZSBpcyBlbmFibGVkLCBhbmRcclxuICAgIHJldHVybiAodGhpcy5vcHRpb25zLmVuYWJsZWQgJiZcclxuICAgICAgLy8gSWYgc2VhcmNoIHRlcm0gaXMgbm90IGVtcHR5LCBhbmRcclxuICAgICAgdGhpcy5jdXJyZW50U2VhcmNoVGVybSAhPT0gJycgJiZcclxuICAgICAgLy8gSWYgdGhlIHNlYXJjaCB0ZXJtIGlzIGF0IGxlYXN0IDQgY2hhcmFjdGVyc1xyXG4gICAgICB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLmxlbmd0aCA+IDMgJiZcclxuICAgICAgLy8gSWYgc2VhcmNoIHRlcm0gaXMgbm90IHRoZSBzYW1lIGFzIHByZXZpb3VzIHNlYXJjaCB0ZXJtLCBhbmRcclxuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSAhPT0gdGhpcy5jdXJyZW50U2VhcmNoVGVybSAmJlxyXG4gICAgICAvLyBJZiB0aGUgY291bnRyeSBpcyBub3QgZW1wdHksIGFuZFxyXG4gICAgICB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSAmJlxyXG4gICAgICAvLyBJZiBzZWFyY2ggaW5wdXQgaGFzIGJlZW4gcmVzZXQgKGlmIGFwcGxpY2FibGUpXHJcbiAgICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPT09IHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwb3dlcmVkQnlMb2dvOiBQb3dlcmVkQnlMb2dvID0ge1xyXG4gICAgZWxlbWVudDogbnVsbCxcclxuICAgIC8vIENyZWF0ZSBhIFwiUG93ZXJlZCBieSBFeHBlcmlhblwiIGZvb3RlclxyXG4gICAgY3JlYXRlKHBpY2tsaXN0KSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB7XHJcbiAgICAgICAgdGV4dDogYCR7dGhpcy5zdmd9IDxlbT5Qb3dlcmVkIGJ5IEV4cGVyaWFuPC9lbT5gLFxyXG4gICAgICAgIGZvcm1hdDogJydcclxuICAgICAgfTtcclxuICAgICAgY29uc3QgbGlzdEl0ZW0gPSBwaWNrbGlzdC5jcmVhdGVMaXN0SXRlbShpdGVtKTtcclxuICAgICAgbGlzdEl0ZW0uY2xhc3NMaXN0LmFkZCgncG93ZXJlZC1ieS1leHBlcmlhbicpO1xyXG4gICAgICBwaWNrbGlzdC5saXN0LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xyXG4gICAgICByZXR1cm4gbGlzdEl0ZW07XHJcbiAgICB9LFxyXG4gICAgLy8gRGVzdHJveSB0aGUgXCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCIgZm9vdGVyXHJcbiAgICBkZXN0cm95KHBpY2tsaXN0KSB7XHJcbiAgICAgIGlmICh0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgICBwaWNrbGlzdC5saXN0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50KTtcclxuICAgICAgICB0aGlzLmVsZW1lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzdmc6IGA8c3ZnIGNsYXNzPVwiZXhwZXJpYW4tbG9nb1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeD1cIjBweFwiIHk9XCIwcHhcIiB2aWV3Qm94PVwiMCAwIDEyMCAxMjBcIiBzdHlsZT1cIlwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCI+XHJcbiAgICAgICAgICAgIDx0aXRsZT5FeHBlcmlhbiBsb2dvPC90aXRsZT5cclxuICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT1cImZpbGw6ICMwRTZFQjZcIiBkPVwiTTU2LjEsMjdoLTEzYy0zLjksMC03LTMuMS03LTdWN2MwLTMuOSwzLjEtNyw3LTdoMTNjMy45LDAsNywzLjEsNyw3djEzQzYzLjEsMjMuOCw2MCwyNyw1Ni4xLDI3XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggc3R5bGU9XCJmaWxsOiAjNzIyMTdCXCIgZD1cIk0yMi41LDU2LjFINy45Yy00LjMsMC03LjktMy41LTcuOS03LjlWMzMuNmMwLTQuMywzLjUtNy45LDcuOS03LjloMTQuNmM0LjMsMCw3LjksMy41LDcuOSw3Ljl2MTQuNkMzMC40LDUyLjYsMjYuOCw1Ni4xLDIyLjUsNTYuMVwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDxwYXRoIHN0eWxlPVwiZmlsbDogI0IxMjM4NFwiIGQ9XCJNMjEuMSw4Ni40aC04LjljLTIuNywwLTQuOC0yLjEtNC44LTQuOHYtOC45YzAtMi43LDIuMi00LjgsNC44LTQuOGg4LjljMi43LDAsNC44LDIuMiw0LjgsNC44djguOUMyNS45LDg0LjMsMjMuNyw4Ni40LDIxLjEsODYuNFwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgIDxwYXRoIHN0eWxlPVwiZmlsbDogI0U3Mjg4N1wiIGQ9XCJNNDUuMSwxMTQuN0gzNC41Yy0zLjEsMC01LjctMi41LTUuNy01LjdWOTguNGMwLTMuMSwyLjUtNS43LDUuNy01LjdoMTAuNmMzLjEsMCw1LjcsMi41LDUuNyw1LjdWMTA5QzUwLjcsMTEyLjEsNDguMiwxMTQuNyw0NS4xLDExNC43XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggc3R5bGU9XCJmaWxsOiAjRTcyODg3XCIgZD1cIk04My44LDMyLjNoLTcuM2MtMi4yLDAtMy45LTEuOC0zLjktMy45di03LjNjMC0yLjIsMS44LTMuOSwzLjktMy45aDcuM2MyLjIsMCwzLjksMS44LDMuOSwzLjl2Ny4zQzg3LjcsMzAuNSw4NS45LDMyLjMsODMuOCwzMi4zXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggc3R5bGU9XCJmaWxsOiAjMDA0NjkxXCIgZD1cIk04MS43LDYxLjhDODEuNSw1MS4xLDcyLDQyLDYwLjcsNDJDNDksNDIsMzkuNiw1MS4zLDM5LjYsNjIuOUMzOS42LDc0LjYsNDksODQsNjAuNyw4NGM1LjYsMCwxMC44LTIuMiwxNC42LTUuOWMwLjctMC43LDEuMi0xLjYsMS4yLTIuNmMwLTEuOS0xLjYtMy41LTMuNS0zLjVjLTEuMSwwLTIsMC43LTIuOCwxLjRjLTIuNCwyLjUtNS45LDMuNy05LjUsMy43Yy03LDAtMTIuNy00LjgtMTMuOS0xMS41aDMxLjVjMCwwLDAsMCwwLjEsMGgwLjFjMC4xLDAsMC4xLDAsMC4yLDBjMC4xLDAsMC4yLDAsMC40LTAuMUM4MC40LDY1LDgxLjcsNjMuNiw4MS43LDYxLjh6IE02MC43LDQ4LjljNi4zLDAsMTEuNiw0LjEsMTMuNCw5LjdINDcuM0M0OS4xLDUzLDU0LjMsNDguOSw2MC43LDQ4Ljl6XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgPC9zdmc+YFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUGlja2xpc3QoKSB7XHJcbiAgICAvLyBJbnN0YW50aWF0ZSBhIG5ldyBQaWNrbGlzdCBjbGFzcyBhbmQgc2V0IHRoZSBwcm9wZXJ0aWVzIGJlbG93XHJcbiAgICB0aGlzLnBpY2tsaXN0ID0gbmV3IFBpY2tsaXN0KCk7XHJcblxyXG4gICAgLy8gU2V0IGluaXRpYWwgbWF4IHNpemVcclxuICAgIHRoaXMucGlja2xpc3QubWF4U3VnZ2VzdGlvbnMgPSAyNTtcclxuICAgIC8vIFRhYiBjb3VudCB1c2VkIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uXHJcbiAgICB0aGlzLnBpY2tsaXN0LnRhYkNvdW50ID0gLTE7XHJcbiAgICAvLyBSZW5kZXIgYSBwaWNrbGlzdCBvZiBzZWFyY2ggcmVzdWx0c1xyXG5cclxuICAgIHRoaXMucGlja2xpc3Quc2hvdyA9IChpdGVtczogU2VhcmNoUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gU3RvcmUgdGhlIHBpY2tsaXN0IGl0ZW1zXHJcbiAgICAgIHRoaXMucGlja2xpc3QuaXRlbXMgPSBpdGVtcz8ucmVzdWx0LnN1Z2dlc3Rpb25zO1xyXG5cclxuICAgICAgdGhpcy5waWNrbGlzdC5oYW5kbGVDb21tb25TaG93UGlja2xpc3RMb2dpYygpO1xyXG5cclxuICAgICAgaWYgKHRoaXMucGlja2xpc3QuaXRlbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBJZiBhIHBpY2tsaXN0IG5lZWRzIFwicmVmaW5pbmdcIiB0aGVuIHByZXBlbmQgYSB0ZXh0Ym94IHRvIGFsbG93IHRoZSB1c2VyIHRvIGVudGVyIHRoZWlyIHNlbGVjdGlvblxyXG4gICAgICAgIGlmICh0aGlzLnBpY2tsaXN0LnJlZmluZS5pc05lZWRlZChpdGVtcykpIHtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QucmVmaW5lLmNyZWF0ZUlucHV0KGl0ZW1zLnJlc3VsdC5zdWdnZXN0aW9uc19wcm9tcHQsIGl0ZW1zLnJlc3VsdC5zdWdnZXN0aW9uc19rZXkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlZBTElEQVRFKSB7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0LmRpc3BsYXlTdWdnZXN0aW9uc0hlYWRlcigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGFuZCBzaG93IHJlc3VsdHNcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgaXRlbS9yb3cgaW4gdGhlIHBpY2tsaXN0XHJcbiAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMucGlja2xpc3QuY3JlYXRlTGlzdEl0ZW0oaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xyXG5cclxuICAgICAgICAgIC8vIExpc3RlbiBmb3Igc2VsZWN0aW9uIG9uIHRoaXMgaXRlbVxyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0ZW4obGlzdEl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUpIHtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QuZGlzcGxheVVzZUFkZHJlc3NFbnRlcmVkRm9vdGVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUVtcHR5UGlja2xpc3QoaXRlbXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGQgYSBcIlBvd2VyZWQgYnkgRXhwZXJpYW5cIiBsb2dvIHRvIHRoZSBwaWNrbGlzdCBmb290ZXJcclxuICAgICAgdGhpcy5wb3dlcmVkQnlMb2dvLmVsZW1lbnQgPSB0aGlzLnBvd2VyZWRCeUxvZ28uZWxlbWVudCB8fCB0aGlzLnBvd2VyZWRCeUxvZ28uY3JlYXRlKHRoaXMucGlja2xpc3QpO1xyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCBhZnRlciBwaWNrbGlzdCBpcyBjcmVhdGVkXHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcGlja2xpc3QtY3JlYXRlJywgdGhpcy5waWNrbGlzdC5pdGVtcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3Quc2hvd1doYXQzV29yZHMgPSAoaXRlbXM6IExvb2t1cFczV1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgIC8vIFN0b3JlIHRoZSBwaWNrbGlzdCBpdGVtc1xyXG4gICAgICB0aGlzLnBpY2tsaXN0LndoYXQzd29yZHNJdGVtcyA9IGl0ZW1zPy5yZXN1bHQuc3VnZ2VzdGlvbnM7XHJcblxyXG4gICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUNvbW1vblNob3dQaWNrbGlzdExvZ2ljKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5waWNrbGlzdC53aGF0M3dvcmRzSXRlbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgYW5kIHNob3cgcmVzdWx0c1xyXG4gICAgICAgIHRoaXMucGlja2xpc3Qud2hhdDN3b3Jkc0l0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgaXRlbS9yb3cgaW4gdGhlIHBpY2tsaXN0XHJcbiAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMucGlja2xpc3QuY3JlYXRlV2hhdDNXb3Jkc0xpc3RJdGVtKGl0ZW0pO1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LmFwcGVuZENoaWxkKGxpc3RJdGVtKTtcclxuXHJcbiAgICAgICAgICAvLyBMaXN0ZW4gZm9yIHNlbGVjdGlvbiBvbiB0aGlzIGl0ZW1cclxuICAgICAgICAgIHRoaXMucGlja2xpc3QubGlzdGVuKGxpc3RJdGVtKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5oYW5kbGVFbXB0eVBpY2tsaXN0KGl0ZW1zKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWRkIGEgXCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCIgbG9nbyB0byB0aGUgcGlja2xpc3QgZm9vdGVyXHJcbiAgICAgIHRoaXMucG93ZXJlZEJ5TG9nby5lbGVtZW50ID0gdGhpcy5wb3dlcmVkQnlMb2dvLmVsZW1lbnQgfHwgdGhpcy5wb3dlcmVkQnlMb2dvLmNyZWF0ZSh0aGlzLnBpY2tsaXN0KTtcclxuXHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgYWZ0ZXIgcGlja2xpc3QgaXMgY3JlYXRlZFxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LXBpY2tsaXN0LWNyZWF0ZScsIHRoaXMucGlja2xpc3QuaXRlbXMpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBpY2tsaXN0LnNob3dMb29rdXAgPSAoaXRlbXM6IExvb2t1cFYyUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gU3RvcmUgdGhlIHBpY2tsaXN0IGl0ZW1zXHJcbiAgICAgIGxldCBwaWNrbGlzdEl0ZW0gPSB0aGlzLnJldHVybkFkZHJlc3NlcyA/IGl0ZW1zPy5yZXN1bHQuYWRkcmVzc2VzOiBpdGVtcz8ucmVzdWx0LnN1Z2dlc3Rpb25zO1xyXG4gICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUNvbW1vblNob3dQaWNrbGlzdExvZ2ljKCk7XHJcbiAgICAgIGlmIChwaWNrbGlzdEl0ZW0/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgYW5kIHNob3cgcmVzdWx0c1xyXG4gICAgICAgIHBpY2tsaXN0SXRlbS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IGl0ZW0vcm93IGluIHRoZSBwaWNrbGlzdFxyXG4gICAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSB0aGlzLnJldHVybkFkZHJlc3Nlc1xyXG4gICAgICAgICAgICAgID8gdGhpcy5waWNrbGlzdC5jcmVhdGVMb29rdXBMaXN0SXRlbShpdGVtKTogdGhpcy5waWNrbGlzdC5jcmVhdGVMb29rdXBTdWdnZXN0aW9uTGlzdEl0ZW0oaXRlbSkgO1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LmFwcGVuZENoaWxkKGxpc3RJdGVtKTtcclxuXHJcbiAgICAgICAgICAvLyBMaXN0ZW4gZm9yIHNlbGVjdGlvbiBvbiB0aGlzIGl0ZW1cclxuICAgICAgICAgIHRoaXMucGlja2xpc3QubGlzdGVuKGxpc3RJdGVtKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5oYW5kbGVFbXB0eVBpY2tsaXN0KGl0ZW1zKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQWRkIGEgXCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCIgbG9nbyB0byB0aGUgcGlja2xpc3QgZm9vdGVyXHJcbiAgICAgIHRoaXMucG93ZXJlZEJ5TG9nby5lbGVtZW50ID0gdGhpcy5wb3dlcmVkQnlMb2dvLmVsZW1lbnQgfHwgdGhpcy5wb3dlcmVkQnlMb2dvLmNyZWF0ZSh0aGlzLnBpY2tsaXN0KTtcclxuXHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgYWZ0ZXIgcGlja2xpc3QgaXMgY3JlYXRlZFxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LXBpY2tsaXN0LWNyZWF0ZScsIHRoaXMucGlja2xpc3QuaXRlbXMpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUNvbW1vblNob3dQaWNrbGlzdExvZ2ljID0gKCkgPT4ge1xyXG4gICAgICAvLyBSZXNldCBhbnkgcHJldmlvdXNseSBzZWxlY3RlZCBjdXJyZW50IGl0ZW1cclxuICAgICAgdGhpcy5waWNrbGlzdC5jdXJyZW50SXRlbSA9IG51bGw7XHJcblxyXG4gICAgICAvLyBVcGRhdGUgcGlja2xpc3Qgc2l6ZVxyXG4gICAgICB0aGlzLnBpY2tsaXN0LnNpemUgPSB0aGlzLnBpY2tsaXN0Lml0ZW1zPy5sZW5ndGg7XHJcblxyXG4gICAgICAvLyBSZXNldCB0aGUgcGlja2xpc3QgdGFiIGNvdW50ICh1c2VkIGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uKVxyXG4gICAgICB0aGlzLnBpY2tsaXN0LnJlc2V0VGFiQ291bnQoKTtcclxuXHJcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgICAgLy8gR2V0L0NyZWF0ZSBwaWNrbGlzdCBjb250YWluZXIgZWxlbWVudFxyXG4gICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QgPSB0aGlzLnBpY2tsaXN0Lmxpc3QgfHwgdGhpcy5waWNrbGlzdC5jcmVhdGVMaXN0KCk7XHJcblxyXG4gICAgICAvLyBFbnN1cmUgcHJldmlvdXMgcmVzdWx0cyBhcmUgY2xlYXJlZFxyXG4gICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QuaW5uZXJIVE1MID0gJyc7XHJcbiAgICAgIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZGVzdHJveSgpO1xyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCBiZWZvcmUgcGlja2xpc3QgaXMgY3JlYXRlZFxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtcGlja2xpc3QtY3JlYXRlJywgdGhpcy5waWNrbGlzdC5pdGVtcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFJlbW92ZSB0aGUgcGlja2xpc3RcclxuICAgIHRoaXMucGlja2xpc3QuaGlkZSA9ICgpID0+IHtcclxuICAgICAgLy8gQ2xlYXIgdGhlIGN1cnJlbnQgcGlja2xpc3QgaXRlbVxyXG4gICAgICB0aGlzLnBpY2tsaXN0LmN1cnJlbnRJdGVtID0gbnVsbDtcclxuICAgICAgLy8gUmVtb3ZlIHRoZSBcInVzZSBhZGRyZXNzIGVudGVyZWRcIiBvcHRpb24gdG9vXHJcbiAgICAgIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZGVzdHJveSgpO1xyXG4gICAgICAvLyBSZW1vdmUgdGhlIFwiUG93ZXJlZCBieSBFeHBlcmlhblwiIGxvZ29cclxuICAgICAgdGhpcy5wb3dlcmVkQnlMb2dvLmRlc3Ryb3kodGhpcy5waWNrbGlzdCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5pbnB1dHMpIHtcclxuICAgICAgICAvLyBSZW1vdmUgdGhlIGNsYXNzIGRlbm90aW5nIGEgcGlja2xpc3QgLSBpZiBTaW5nbGVsaW5lIG1vZGUgaXMgdXNlZCwgdGhlbiBpdCBpcyB0aGUgbGFzdCBpbnB1dCBmaWVsZCwgb3RoZXJ3aXNlIHVzZSB0aGUgZmlyc3Qgb25lXHJcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5TSU5HTEVMSU5FID8gdGhpcy5pbnB1dHMubGVuZ3RoIC0gMSA6IDA7XHJcbiAgICAgICAgdGhpcy5pbnB1dHNbcG9zaXRpb25dLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3dpbmctc3VnZ2VzdGlvbnMnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUmVtb3ZlIHRoZSBtYWluIHBpY2tsaXN0IGNvbnRhaW5lclxyXG4gICAgICBpZiAodGhpcy5waWNrbGlzdC5saXN0KSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5jb250YWluZXIucmVtb3ZlKCk7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0ID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3QuaGFuZGxlRW1wdHlQaWNrbGlzdCA9IChpdGVtczogU2VhcmNoUmVzcG9uc2UgfCBMb29rdXBXM1dSZXNwb25zZSB8IExvb2t1cFYyUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IGl0ZW0vcm93IGluIHRoZSBwaWNrbGlzdCBzaG93aW5nIFwiTm8gbWF0Y2hlc1wiIHRoYXQgYWxsb3dzIHRoZSBcInVzZSBhZGRyZXNzIGVudGVyZWRcIiBvcHRpb25cclxuICAgICAgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5lbGVtZW50ID0gdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5lbGVtZW50IHx8IHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuY3JlYXRlKGl0ZW1zLnJlc3VsdD8uY29uZmlkZW5jZSk7XHJcblxyXG4gICAgICB0aGlzLnBpY2tsaXN0LnNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTtcclxuXHJcbiAgICAgIC8vIFByb3ZpZGUgaW1wbGVtZW50aW5nIHNlYXJjaCB0eXBlcyB3aXRoIGEgbWVhbnMgb2YgaW52b2tpbmcgYSBjdXN0b20gY2FsbGJhY2tcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnBpY2tsaXN0LmhhbmRsZUVtcHR5UGlja2xpc3RDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlRW1wdHlQaWNrbGlzdENhbGxiYWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgLy8gUHJlcGVuZCBhIHRpdGxlIGJlZm9yZSB0aGUgc3VnZ2VzdGlvbnNcclxuICAgIHRoaXMucGlja2xpc3QuZGlzcGxheVN1Z2dlc3Rpb25zSGVhZGVyID0gKCkgPT4ge1xyXG4gICAgICBjb25zdCB0aXRsZURpdiA9ICg8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXN1Z2dlc3Rpb25zLWhlYWRlcicpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgICAgdGl0bGVEaXYuY2xhc3NMaXN0LmFkZCgncGlja2xpc3Qtc3VnZ2VzdGlvbnMtaGVhZGVyJyk7XHJcbiAgICAgIHRpdGxlRGl2LmlubmVyVGV4dCA9ICdTdWdnZXN0aW9uczonO1xyXG4gICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGl0bGVEaXYsIHRoaXMucGlja2xpc3QubGlzdCk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEFwcGVuZCBhIGZvb3RlciBhdCB0aGUgYm90dG9tIG9mIHRoZSBwaWNrbGlzdCBwcm92aWRpbmcgYW4gb3B0aW9uIHRvIFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiXHJcbiAgICB0aGlzLnBpY2tsaXN0LmRpc3BsYXlVc2VBZGRyZXNzRW50ZXJlZEZvb3RlciA9ICgpID0+IHtcclxuICAgICAgY29uc3QgY29udGFpbmVyRGl2ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXVzZS1lbnRlcmVkLWNvbnRhaW5lcicpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBjb250YWluZXJEaXYuY2xhc3NMaXN0LmFkZCgncGlja2xpc3QtdXNlLWVudGVyZWQtY29udGFpbmVyJyk7XHJcbiAgICAgIHRoaXMucGlja2xpc3QubGlzdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjb250YWluZXJEaXYsIHRoaXMucGlja2xpc3QubGlzdC5uZXh0RWxlbWVudFNpYmxpbmcpO1xyXG5cclxuICAgICAgY29uc3QgdGl0bGVEaXYgPSAoPEhUTUxFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5waWNrbGlzdC11c2UtZW50ZXJlZC1oZWFkZXInKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcbiAgICAgIHRpdGxlRGl2LmNsYXNzTGlzdC5hZGQoJ3BpY2tsaXN0LXVzZS1lbnRlcmVkLWhlYWRlcicpO1xyXG4gICAgICB0aXRsZURpdi5pbm5lclRleHQgPSAnT3IgdXNlIGFkZHJlc3MgZW50ZXJlZDonO1xyXG4gICAgICBjb250YWluZXJEaXYuYXBwZW5kQ2hpbGQodGl0bGVEaXYpO1xyXG5cclxuICAgICAgY29uc3QgaXRlbURpdiA9ICg8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXVzZS1lbnRlcmVkLW9wdGlvbicpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTtcclxuICAgICAgaXRlbURpdi5jbGFzc0xpc3QuYWRkKCdwaWNrbGlzdC11c2UtZW50ZXJlZC1vcHRpb24nKTtcclxuICAgICAgaXRlbURpdi5pbm5lclRleHQgPSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLnJlcGxhY2UoLywrL2csICcsICcpO1xyXG4gICAgICBpdGVtRGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5jbGljayk7XHJcbiAgICAgIGNvbnRhaW5lckRpdi5hcHBlbmRDaGlsZChpdGVtRGl2KTtcclxuICAgIH07XHJcblxyXG4gICAgLy8gSWYgdGhlIHBpY2tsaXN0IGNvbnRhaW5lciBpcyBvdXQgb2YgYm91bmRzIHRvIHRoZSB0b3Agb3IgYm90dG9tLCB0aGVuIHNjcm9sbCBpdCBpbnRvIHZpZXdcclxuICAgIHRoaXMucGlja2xpc3Quc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCA9ICgpID0+IHtcclxuICAgICAgY29uc3Qgb3V0T2ZCb3VuZHNUb3AgPSB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgPCAwO1xyXG4gICAgICBjb25zdCBvdXRPZkJvdW5kc0JvdHRvbSA9IHRoaXMucGlja2xpc3QuY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmJvdHRvbSA+IHdpbmRvdy5pbm5lckhlaWdodDtcclxuXHJcbiAgICAgIGlmIChvdXRPZkJvdW5kc1RvcCB8fCBvdXRPZkJvdW5kc0JvdHRvbSkge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QuY29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZCA9IHtcclxuICAgICAgZWxlbWVudDogbnVsbCxcclxuICAgICAgLy8gQ3JlYXRlIGEgXCJ1c2UgYWRkcmVzcyBlbnRlcmVkXCIgb3B0aW9uXHJcbiAgICAgIGNyZWF0ZTogKGNvbmZpZGVuY2U6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB7XHJcbiAgICAgICAgICB0ZXh0OiBgJHtjb25maWRlbmNlfSAke3RoaXMub3B0aW9ucy51c2VBZGRyZXNzRW50ZXJlZFRleHR9YFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxpc3RJdGVtKGl0ZW0pO1xyXG4gICAgICAgIGxpc3RJdGVtLmNsYXNzTGlzdC5hZGQoJ3VzZS1hZGRyZXNzLWVudGVyZWQnKTtcclxuICAgICAgICBsaXN0SXRlbS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ0VudGVyIGFkZHJlc3MgbWFudWFsbHknKTtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QgPSB0aGlzLnBpY2tsaXN0Lmxpc3QgfHwgdGhpcy5waWNrbGlzdC5jcmVhdGVMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGxpc3RJdGVtLCB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5maXJzdENoaWxkKTtcclxuICAgICAgICBsaXN0SXRlbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuY2xpY2spO1xyXG4gICAgICAgIHJldHVybiBsaXN0SXRlbTtcclxuICAgICAgfSxcclxuICAgICAgLy8gRGVzdHJveSB0aGUgXCJ1c2UgYWRkcmVzcyBlbnRlcmVkXCIgb3B0aW9uXHJcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5lbGVtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBpY2tsaXN0LnVzZUFkZHJlc3NFbnRlcmVkLmVsZW1lbnQpO1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5lbGVtZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgLy8gVXNlIHRoZSBhZGRyZXNzIGVudGVyZWQgYXMgdGhlIEZvcm1hdHRlZCBhZGRyZXNzXHJcbiAgICAgIGNsaWNrOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaW5wdXREYXRhID0ge1xyXG4gICAgICAgICAgcmVzdWx0OiB7XHJcbiAgICAgICAgICAgIGNvbmZpZGVuY2U6ICdObyBtYXRjaGVzJyxcclxuICAgICAgICAgICAgYWRkcmVzczoge1xyXG4gICAgICAgICAgICAgIGFkZHJlc3NfbGluZV8xOiAnJyxcclxuICAgICAgICAgICAgICBhZGRyZXNzX2xpbmVfMjogJycsXHJcbiAgICAgICAgICAgICAgYWRkcmVzc19saW5lXzM6ICcnLFxyXG4gICAgICAgICAgICAgIGxvY2FsaXR5OiAnJyxcclxuICAgICAgICAgICAgICByZWdpb246ICcnLFxyXG4gICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiAnJyxcclxuICAgICAgICAgICAgICBjb3VudHJ5OiAnJ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFNlYXJjaFRlcm0pIHtcclxuICAgICAgICAgIC8vIFRyeSBhbmQgc3BsaXQgaW50byBsaW5lcyBieSB1c2luZyBjb21tYSBkZWxpbWl0ZXJcclxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gdGhpcy5jdXJyZW50U2VhcmNoVGVybS5zcGxpdCgnLCcpO1xyXG4gICAgICAgICAgaWYgKGxpbmVzWzBdKSB7XHJcbiAgICAgICAgICAgIGlucHV0RGF0YS5yZXN1bHQuYWRkcmVzcy5hZGRyZXNzX2xpbmVfMSA9IGxpbmVzWzBdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGxpbmVzWzFdKSB7XHJcbiAgICAgICAgICAgIGlucHV0RGF0YS5yZXN1bHQuYWRkcmVzcy5hZGRyZXNzX2xpbmVfMiA9IGxpbmVzWzFdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGxpbmVzWzJdKSB7XHJcbiAgICAgICAgICAgIGlucHV0RGF0YS5yZXN1bHQuYWRkcmVzcy5hZGRyZXNzX2xpbmVfMyA9IGxpbmVzWzJdO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDM7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpbnB1dERhdGEucmVzdWx0LmFkZHJlc3MuYWRkcmVzc19saW5lXzMgKz0gbGluZXNbaV07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJlc3VsdC5zaG93KGlucHV0RGF0YSk7XHJcbiAgICAgICAgdGhpcy5yZXN1bHQudXBkYXRlSGVhZGluZyh0aGlzLm9wdGlvbnMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5tYW51YWxIZWFkaW5nVGV4dCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIENyZWF0ZSBhbmQgcmV0dXJuIGFuIGFkZHJlc3MgbGluZSBvYmplY3Qgd2l0aCB0aGUga2V5IGFzIHRoZSBsYWJlbFxyXG4gICAgICBmb3JtYXRNYW51YWxBZGRyZXNzTGluZTogZnVuY3Rpb24gKGxpbmVzLCBpKSB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gZGVmYXVsdHMuYWRkcmVzc0xpbmVMYWJlbHNbaV07XHJcbiAgICAgICAgY29uc3QgbGluZU9iamVjdCA9IHt9O1xyXG4gICAgICAgIGxpbmVPYmplY3Rba2V5XSA9IGxpbmVzW2ldIHx8ICcnO1xyXG4gICAgICAgIHJldHVybiBsaW5lT2JqZWN0O1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgcGlja2xpc3QgbGlzdCAoYW5kIGNvbnRhaW5lcikgYW5kIGluamVjdCBhZnRlciB0aGUgaW5wdXRcclxuICAgIHRoaXMucGlja2xpc3QuY3JlYXRlTGlzdCA9ICgpID0+IHtcclxuICAgICAgLy8gSWYgU2luZ2xlbGluZSBtb2RlIGlzIHVzZWQsIHRoZW4gYXBwZW5kIHRoZSBwaWNrbGlzdCBhZnRlciB0aGUgbGFzdCBpbnB1dCBmaWVsZCwgb3RoZXJ3aXNlIHVzZSB0aGUgZmlyc3Qgb25lXHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuU0lOR0xFTElORVxyXG4gICAgICB8fCB0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5MT09LVVBWMiA/IHRoaXMuaW5wdXRzLmxlbmd0aCAtIDEgOiAwO1xyXG5cclxuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdhZGRyZXNzLXBpY2tsaXN0LWNvbnRhaW5lcicpO1xyXG4gICAgICB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lciA9IGNvbnRhaW5lcjtcclxuXHJcbiAgICAgIC8vIEluc2VydCB0aGUgcGlja2xpc3QgY29udGFpbmVyIGFmdGVyIHRoZSBpbnB1dFxyXG4gICAgICB0aGlzLmlucHV0c1twb3NpdGlvbl0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5waWNrbGlzdC5jb250YWluZXIsIHRoaXMuaW5wdXRzW3Bvc2l0aW9uXS5uZXh0RWxlbWVudFNpYmxpbmcpO1xyXG5cclxuICAgICAgY29uc3QgbGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBsaXN0LmNsYXNzTGlzdC5hZGQoJ2FkZHJlc3MtcGlja2xpc3QnKTtcclxuICAgICAgLy8gQXBwZW5kIHRoZSBwaWNrbGlzdCB0byB0aGUgaW5uZXIgd3JhcHBlclxyXG4gICAgICB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5hcHBlbmRDaGlsZChsaXN0KTtcclxuXHJcbiAgICAgIC8vIEFkZCBhIGNsYXNzIHRvIHRoZSBpbnB1dCB0byBkZW5vdGUgdGhhdCBhIHBpY2tsaXN0IHdpdGggc3VnZ2VzdGlvbnMgaXMgYmVpbmcgc2hvd25cclxuICAgICAgdGhpcy5pbnB1dHNbcG9zaXRpb25dLmNsYXNzTGlzdC5hZGQoJ3Nob3dpbmctc3VnZ2VzdGlvbnMnKTtcclxuXHJcbiAgICAgIGxpc3QuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMucGlja2xpc3QuY2hlY2tFbnRlcik7XHJcbiAgICAgIHJldHVybiBsaXN0O1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgYSBuZXcgcGlja2xpc3QgaXRlbS9yb3dcclxuICAgIHRoaXMucGlja2xpc3QuY3JlYXRlTGlzdEl0ZW0gPSAoaXRlbTogUGlja2xpc3RJdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICByb3cuaW5uZXJIVE1MID0gdGhpcy5waWNrbGlzdC5hZGRNYXRjaGluZ0VtcGhhc2lzKGl0ZW0pO1xyXG5cclxuICAgICAgLy8gU3RvcmUgdGhlIEZvcm1hdCBVUkwgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgdXNlIHRoZSBnbG9iYWxfYWRkcmVzc19rZXkgYXMgYSBcInJlZmluZW1lbnRcIiBwcm9wZXJ0eVxyXG4gICAgICBpZiAoaXRlbS5mb3JtYXQpIHtcclxuICAgICAgICByb3cuc2V0QXR0cmlidXRlKCdmb3JtYXQnLCBpdGVtLmZvcm1hdCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5nbG9iYWxfYWRkcmVzc19rZXkpIHtcclxuICAgICAgICByb3cuc2V0QXR0cmlidXRlKCdyZWZpbmUnLCBpdGVtLmdsb2JhbF9hZGRyZXNzX2tleSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHJvdztcclxuICAgIH07XHJcblxyXG4gICAgLy8gQ3JlYXRlIGEgbmV3IHBpY2tsaXN0IGl0ZW0vcm93IGZvciB3aGF0M3dvcmRzXHJcbiAgICB0aGlzLnBpY2tsaXN0LmNyZWF0ZVdoYXQzV29yZHNMaXN0SXRlbSA9IChpdGVtOiBXaGF0M1dvcmRzUGlja0xpc3QpID0+IHtcclxuICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIHJvdy5jbGFzc05hbWUgPSBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLldIQVQzV09SRFMua2V5O1xyXG4gICAgICBuYW1lLmNsYXNzTmFtZSA9ICd3aGF0M1dvcmRzLW5hbWUnO1xyXG4gICAgICBkZXNjcmlwdGlvbi5jbGFzc05hbWUgPSAnd2hhdDNXb3Jkcy1kZXNjcmlwdGlvbic7XHJcblxyXG4gICAgICBuYW1lLmlubmVySFRNTCA9ICcvLy8nICsgaXRlbS53aGF0M3dvcmRzLm5hbWU7XHJcbiAgICAgIGRlc2NyaXB0aW9uLmlubmVySFRNTCA9IGl0ZW0ud2hhdDN3b3Jkcy5kZXNjcmlwdGlvbjtcclxuXHJcbiAgICAgIHJvdy5hcHBlbmRDaGlsZChuYW1lKTtcclxuICAgICAgcm93LmFwcGVuZENoaWxkKGRlc2NyaXB0aW9uKTtcclxuXHJcbiAgICAgIHJldHVybiByb3c7XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvLyBDcmVhdGUgYSBuZXcgcGlja2xpc3QgaXRlbS9yb3cgZm9yIGxvb2t1cCBpdGVtc1xyXG4gICAgdGhpcy5waWNrbGlzdC5jcmVhdGVMb29rdXBMaXN0SXRlbSA9IChpdGVtOiBMb29rdXBBZGRyZXNzKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cclxuICAgICAgcm93LmlubmVySFRNTCA9IGl0ZW0udGV4dDtcclxuXHJcbiAgICAgIC8vIFN0b3JlIHRoZSBGb3JtYXQgVVJMIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVzZSB0aGUgZ2xvYmFsX2FkZHJlc3Nfa2V5IGFzIGEgXCJyZWZpbmVtZW50XCIgcHJvcGVydHlcclxuICAgICAgaWYgKGl0ZW0uZm9ybWF0KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgnZm9ybWF0JywgaXRlbS5mb3JtYXQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uZ2xvYmFsX2FkZHJlc3Nfa2V5KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgncmVmaW5lJywgaXRlbS5nbG9iYWxfYWRkcmVzc19rZXkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByb3c7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3QuY3JlYXRlTG9va3VwU3VnZ2VzdGlvbkxpc3RJdGVtID0gKGl0ZW06IExvb2t1cFN1Z2dlc3Rpb24pID0+IHtcclxuICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgICBsZXQgbG9jYWxpdHkgPSBpdGVtLmxvY2FsaXR5O1xyXG4gICAgICBsZXQgcG9zdGFsQ29kZSA9IGl0ZW0ucG9zdGFsX2NvZGU7XHJcbiAgICAgIHJvdy5pbm5lckhUTUwgPSBsb2NhbGl0eS50b3duLm5hbWUgKyBcIiBcIiArIGxvY2FsaXR5LnJlZ2lvbi5uYW1lICsgXCIgXCIgKyBwb3N0YWxDb2RlLmZ1bGxfbmFtZTtcclxuXHJcbiAgICAgIHJvdy5zZXRBdHRyaWJ1dGUoJ3JlZ2lvbl9uYW1lJywgbG9jYWxpdHkucmVnaW9uLm5hbWUpO1xyXG4gICAgICByb3cuc2V0QXR0cmlidXRlKCd0b3duX25hbWUnLCBsb2NhbGl0eS50b3duID8gbG9jYWxpdHkudG93bi5uYW1lIDogXCJcIik7XHJcbiAgICAgIHJvdy5zZXRBdHRyaWJ1dGUoJ3Bvc3RhbF9jb2RlX25hbWUnLCBwb3N0YWxDb2RlLmZ1bGxfbmFtZSk7XHJcbiAgICAgIHJvdy5zZXRBdHRyaWJ1dGUoJ2NvdW50cnknLCB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSk7XHJcbiAgICAgIHJvdy5zZXRBdHRyaWJ1dGUoJ3Bvc3RhbF9jb2RlX2tleScsIGl0ZW0ucG9zdGFsX2NvZGVfa2V5KTtcclxuICAgICAgcm93LnNldEF0dHJpYnV0ZSgnbG9jYWxpdHlfa2V5JywgaXRlbS5sb2NhbGl0eV9rZXkpO1xyXG4gICAgICByZXR1cm4gcm93O1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBpY2tsaXN0LnJlZmluZSA9IHtcclxuICAgICAgZWxlbWVudDogbnVsbCxcclxuICAgICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBwaWNrbGlzdCBuZWVkcyByZWZpbmluZy4gVGhpcyBoYXBwZW5zIGFmdGVyIGFuIGl0ZW0gaGFzIGJlZW4gXCJzdGVwcGVkIGludG9cIiBidXQgaGFzIGFuIHVucmVzb2x2YWJsZSByYW5nZS5cclxuICAgICAgLy8gVGhlIHVzZXIgaXMgcHJvbXB0ZWQgdG8gZW50ZXIgdGhlaXIgc2VsZWN0aW9uIChlLmcuIGJ1aWxkaW5nIG51bWJlcikuXHJcbiAgICAgIGlzTmVlZGVkOiAocmVzcG9uc2U6IFNlYXJjaFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoVHlwZSAhPT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkFVVE9DT01QTEVURVxyXG4gICAgICAgICAgICAmJiAocmVzcG9uc2UucmVzdWx0LmNvbmZpZGVuY2UgPT09IEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUuUFJFTUlTRVNfUEFSVElBTFxyXG4gICAgICAgICAgICB8fCByZXNwb25zZS5yZXN1bHQuY29uZmlkZW5jZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZS5TVFJFRVRfUEFSVElBTFxyXG4gICAgICAgICAgICAgICAgfHwgcmVzcG9uc2UucmVzdWx0LmNvbmZpZGVuY2UgPT09IEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUuTVVMVElQTEVfTUFUQ0hFUyk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNyZWF0ZUlucHV0OiAocHJvbXB0OiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXJlZmluZW1lbnQtYm94JykgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgcm93LmNsYXNzTGlzdC5hZGQoJ3BpY2tsaXN0LXJlZmluZW1lbnQtYm94Jyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gKDxIVE1MSW5wdXRFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5waWNrbGlzdC1yZWZpbmVtZW50LWJveCBpbnB1dCcpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0JykpO1xyXG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0Jyk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIHByb21wdCk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdrZXknLCBrZXkpO1xyXG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnYXV0b2NvbXBsZXRlJywgJ25ldy1wYXNzd29yZCcpO1xyXG4gICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLnBpY2tsaXN0LnJlZmluZS5lbnRlci5iaW5kKHRoaXMpKTtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnJlZmluZS5lbGVtZW50ID0gaW5wdXQ7XHJcblxyXG4gICAgICAgIGNvbnN0IGJ1dHRvbiA9ICg8SFRNTEJ1dHRvbkVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXJlZmluZW1lbnQtYm94IGJ1dHRvbicpIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpKTtcclxuICAgICAgICBidXR0b24uaW5uZXJUZXh0ID0gJ1JlZmluZSc7XHJcbiAgICAgICAgYnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5waWNrbGlzdC5yZWZpbmUuZW50ZXIpO1xyXG5cclxuICAgICAgICByb3cuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgIHJvdy5hcHBlbmRDaGlsZChidXR0b24pO1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QubGlzdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyb3csIHRoaXMucGlja2xpc3QubGlzdCk7XHJcblxyXG4gICAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVudGVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgLy8gQWxsb3cgYSBuZXcgcmVmaW5lbWVudCBlbnRyeSBpZiB0aGUgZW50ZXIga2V5IHdhcyB1c2VkIGluc2lkZSB0aGUgdGV4dGJveCBvciB0aGUgYnV0dG9uIHdhcyBjbGlja2VkXHJcbiAgICAgICAgaWYgKChldmVudCBpbnN0YW5jZW9mIEtleWJvYXJkRXZlbnQgJiYgZXZlbnQua2V5ID09PSAnRW50ZXInKSB8fCBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgICAgICAgLy8gSWYgYSBwaWNrbGlzdCBpdGVtIGlzIGN1cnJlbnRseSBzZWxlY3RlZCwgdGhlbiBwb3RlbnRpYWxseSB1c2UgdGhpcyBpbnN0ZWFkIG9mIHdoYXQncyBpbiB0aGUgaW5wdXQgZmllbGRcclxuICAgICAgICAgIGlmICh0aGlzLnBpY2tsaXN0LmN1cnJlbnRJdGVtKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGlja2xpc3QuY2hlY2tFbnRlcihldmVudCBhcyBLZXlib2FyZEV2ZW50KTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICAgIC8vIFRha2UgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IGZpZWxkIGFuZCB1c2UgdGhpcyB0byBmdXJ0aGVyIHJlZmluZSB0aGUgYWRkcmVzc1xyXG4gICAgICAgICAgaWYgKHRoaXMucGlja2xpc3QucmVmaW5lLmVsZW1lbnQudmFsdWUpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KHsgcmVmaW5lbWVudDogdGhpcy5waWNrbGlzdC5yZWZpbmUuZWxlbWVudC52YWx1ZSB9KTtcclxuICAgICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5waWNrbGlzdC5yZWZpbmUuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2tleScpO1xyXG4gICAgICAgICAgICB0aGlzLnJlcXVlc3Quc2VuZChgJHt0aGlzLmJhc2VVcmx9JHt0aGlzLnJlZmluZUVuZHBvaW50fS8ke2tleX1gLCAnUE9TVCcsIHRoaXMucmVzdWx0LmhhbmRsZVZhbGlkYXRlUmVzcG9uc2UsIGRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5waWNrbGlzdC5zaXplICYmIGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCAmJiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5rZXkgPT09ICdFbnRlcicpKSB7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0LmtleXVwKGV2ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5yZXNldFRhYkNvdW50ID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnBpY2tsaXN0LnRhYkNvdW50ID0gLTE7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEtleWJvYXJkIG5hdmlnYXRpb25cclxuICAgIHRoaXMucGlja2xpc3Qua2V5dXAgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLnBpY2tsaXN0Lmxpc3QpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucGlja2xpc3QuY2hlY2tFbnRlcihldmVudCk7XHJcblxyXG4gICAgICAvLyBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgYWRkcmVzc2VzIGluIHRoZSBwaWNrbGlzdFxyXG4gICAgICBjb25zdCBhZGRyZXNzZXMgPSB0aGlzLnBpY2tsaXN0Lmxpc3QucXVlcnlTZWxlY3RvckFsbCgnZGl2Jyk7XHJcbiAgICAgIGxldCBmaXJzdEFkZHJlc3M7XHJcbiAgICAgIGxldCBsYXN0QWRkcmVzcztcclxuXHJcbiAgICAgIC8vIElmIHRoZSBwaWNrbGlzdCBpcyBlbXB0eSwganVzdCByZXR1cm5cclxuICAgICAgaWYgKGFkZHJlc3Nlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNldCB0aGUgdGFiQ291bnQgYmFzZWQgb24gcHJldmlvdXMgYW5kIGRpcmVjdGlvblxyXG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnRhYkNvdW50LS07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQrKztcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU2V0IHRvcCBhbmQgYm90dG9tIHBvc2l0aW9ucyBhbmQgZW5hYmxlIHdyYXAtYXJvdW5kXHJcbiAgICAgIGlmICh0aGlzLnBpY2tsaXN0LnRhYkNvdW50IDwgMCkge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQgPSBhZGRyZXNzZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICBsYXN0QWRkcmVzcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucGlja2xpc3QudGFiQ291bnQgPiBhZGRyZXNzZXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQgPSAwO1xyXG4gICAgICAgIGZpcnN0QWRkcmVzcyA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEhpZ2hsaWdodCB0aGUgc2VsZWN0ZWQgYWRkcmVzc1xyXG4gICAgICBjb25zdCBjdXJyZW50bHlIaWdobGlnaHRlZCA9IGFkZHJlc3Nlc1t0aGlzLnBpY2tsaXN0LnRhYkNvdW50XTtcclxuICAgICAgLy8gUmVtb3ZlIGFueSBwcmV2aW91c2x5IGhpZ2hsaWdodGVkIG9uZXNcclxuICAgICAgY29uc3QgcHJldmlvdXNseUhpZ2hsaWdodGVkID0gdGhpcy5waWNrbGlzdC5saXN0LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpO1xyXG4gICAgICBpZiAocHJldmlvdXNseUhpZ2hsaWdodGVkKSB7XHJcbiAgICAgICAgcHJldmlvdXNseUhpZ2hsaWdodGVkLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XHJcbiAgICAgIH1cclxuICAgICAgY3VycmVudGx5SGlnaGxpZ2h0ZWQuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcclxuICAgICAgLy8gU2V0IHRoZSBjdXJyZW50SXRlbSBvbiB0aGUgcGlja2xpc3QgdG8gdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBhZGRyZXNzXHJcbiAgICAgIHRoaXMucGlja2xpc3QuY3VycmVudEl0ZW0gPSBjdXJyZW50bHlIaWdobGlnaHRlZDtcclxuXHJcbiAgICAgIC8vIFNjcm9sbCBhZGRyZXNzIGludG8gdmlldywgaWYgcmVxdWlyZWRcclxuICAgICAgY29uc3QgYWRkcmVzc0xpc3RDb29yZHMgPSB7XHJcbiAgICAgICAgdG9wOiB0aGlzLnBpY2tsaXN0Lmxpc3Qub2Zmc2V0VG9wLFxyXG4gICAgICAgIGJvdHRvbTogdGhpcy5waWNrbGlzdC5saXN0Lm9mZnNldFRvcCArIHRoaXMucGlja2xpc3QubGlzdC5vZmZzZXRIZWlnaHQsXHJcbiAgICAgICAgc2Nyb2xsVG9wOiB0aGlzLnBpY2tsaXN0Lmxpc3Quc2Nyb2xsVG9wLFxyXG4gICAgICAgIHNlbGVjdGVkVG9wOiBjdXJyZW50bHlIaWdobGlnaHRlZC5vZmZzZXRUb3AsXHJcbiAgICAgICAgc2VsZWN0ZWRCb3R0b206IGN1cnJlbnRseUhpZ2hsaWdodGVkLm9mZnNldFRvcCArIGN1cnJlbnRseUhpZ2hsaWdodGVkLm9mZnNldEhlaWdodCxcclxuICAgICAgICBzY3JvbGxBbW91bnQ6IGN1cnJlbnRseUhpZ2hsaWdodGVkLm9mZnNldEhlaWdodFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoZmlyc3RBZGRyZXNzKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobGFzdEFkZHJlc3MpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3Quc2Nyb2xsVG9wID0gOTk5O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFkZHJlc3NMaXN0Q29vcmRzLnNlbGVjdGVkQm90dG9tICsgYWRkcmVzc0xpc3RDb29yZHMuc2Nyb2xsQW1vdW50ID4gYWRkcmVzc0xpc3RDb29yZHMuYm90dG9tKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnNjcm9sbFRvcCA9IGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbFRvcCArIGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbEFtb3VudDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChhZGRyZXNzTGlzdENvb3Jkcy5zZWxlY3RlZFRvcCAtIGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbEFtb3VudCAtIGFkZHJlc3NMaXN0Q29vcmRzLnRvcCA8IGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbFRvcCkge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QubGlzdC5zY3JvbGxUb3AgPSBhZGRyZXNzTGlzdENvb3Jkcy5zY3JvbGxUb3AgLSBhZGRyZXNzTGlzdENvb3Jkcy5zY3JvbGxBbW91bnQ7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgLy8gQWRkIGVtcGhhc2lzIHRvIHRoZSBwaWNrbGlzdCBpdGVtcyBoaWdobGlnaHRpbmcgdGhlIG1hdGNoXHJcbiAgICB0aGlzLnBpY2tsaXN0LmFkZE1hdGNoaW5nRW1waGFzaXMgPSBmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBoaWdobGlnaHRzID0gaXRlbS5tYXRjaGVkIHx8IFtdO1xyXG4gICAgICBsZXQgbGFiZWwgPSBpdGVtLnRleHQ7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGlnaGxpZ2h0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gJzxiPicgKyBsYWJlbC5zdWJzdHJpbmcoaGlnaGxpZ2h0c1tpXVswXSwgaGlnaGxpZ2h0c1tpXVsxXSkgKyAnPC9iPic7XHJcbiAgICAgICAgbGFiZWwgPSBsYWJlbC5zdWJzdHJpbmcoMCwgaGlnaGxpZ2h0c1tpXVswXSkgKyByZXBsYWNlbWVudCArIGxhYmVsLnN1YnN0cmluZyhoaWdobGlnaHRzW2ldWzFdKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBMaXN0ZW4gdG8gYSBwaWNrbGlzdCBzZWxlY3Rpb25cclxuICAgIHRoaXMucGlja2xpc3QubGlzdGVuID0gKHJvdykgPT4ge1xyXG4gICAgICByb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBpY2tsaXN0LnBpY2suYmluZChudWxsLCByb3cpKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5jaGVja0VudGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnVGFiJykge1xyXG4gICAgICAgIGxldCBwaWNrbGlzdEl0ZW07XHJcbiAgICAgICAgLy8gSWYgcGlja2xpc3QgY29udGFpbnMgMSBhZGRyZXNzIHRoZW4gdXNlIHRoaXMgb25lIHRvIGZvcm1hdFxyXG4gICAgICAgIGlmICh0aGlzLnBpY2tsaXN0LnNpemUgPT09IDEpIHtcclxuICAgICAgICAgIHBpY2tsaXN0SXRlbSA9IHRoaXMucGlja2xpc3QubGlzdC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKVswXTtcclxuICAgICAgICB9IC8vIEVsc2UgdXNlIHRoZSBjdXJyZW50bHkgaGlnaGxpZ2h0ZWQgb25lIHdoZW4gbmF2aWdhdGlvbiB1c2luZyBrZXlib2FyZFxyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucGlja2xpc3QuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgIHBpY2tsaXN0SXRlbSA9IHRoaXMucGlja2xpc3QuY3VycmVudEl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwaWNrbGlzdEl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QucGljayhwaWNrbGlzdEl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBIb3cgdG8gaGFuZGxlIGEgcGlja2xpc3Qgc2VsZWN0aW9uXHJcbiAgICB0aGlzLnBpY2tsaXN0LnBpY2sgPSAoaXRlbSkgPT4ge1xyXG4gICAgICAvLyBGaXJlIGFuIGV2ZW50IHdoZW4gYW4gYWRkcmVzcyBpcyBwaWNrZWRcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1waWNrbGlzdC1zZWxlY3Rpb24nLCBpdGVtKTtcclxuXHJcbiAgICAgIGlmIChpdGVtLmNsYXNzTGlzdC5jb250YWlucyhBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLldIQVQzV09SRFMua2V5KSl7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBpdGVtLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKTtcclxuICAgICAgICB0aGlzLnJldHVybkFkZHJlc3NlcyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5sb29rdXAoZWxlbWVudHNbMF0uaW5uZXJIVE1MKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuTE9PS1VQVjIgPT09IHRoaXMuc2VhcmNoVHlwZSAmJiAhdGhpcy5yZXR1cm5BZGRyZXNzZXMpIHtcclxuICAgICAgICB0aGlzLmZvcm1hdExvb2t1cExvY2FsaXR5V2l0aG91dEFkZHJlc3NlcyhpdGVtKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEdldCBhIGZpbmFsIGFkZHJlc3MgdXNpbmcgcGlja2xpc3QgaXRlbSB1bmxlc3MgaXQgbmVlZHMgcmVmaW5lbWVudFxyXG4gICAgICBpZiAoaXRlbS5nZXRBdHRyaWJ1dGUoJ2Zvcm1hdCcpKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtYXQoaXRlbS5nZXRBdHRyaWJ1dGUoJ2Zvcm1hdCcpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJlZmluZShpdGVtLmdldEF0dHJpYnV0ZSgncmVmaW5lJykpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRMb29rdXBMb2NhbGl0eVdpdGhvdXRBZGRyZXNzZXMoaXRlbSkge1xyXG4gICAgdGhpcy5yZXN1bHQudXBkYXRlQWRkcmVzc0xpbmUoXCJsb2NhbGl0eVwiLCBpdGVtLmdldEF0dHJpYnV0ZShcInRvd25fbmFtZVwiKSwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG4gICAgdGhpcy5yZXN1bHQudXBkYXRlQWRkcmVzc0xpbmUoXCJyZWdpb25cIiwgaXRlbS5nZXRBdHRyaWJ1dGUoXCJyZWdpb25fbmFtZVwiKSwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG4gICAgdGhpcy5yZXN1bHQudXBkYXRlQWRkcmVzc0xpbmUoXCJwb3N0YWxfY29kZVwiLCBpdGVtLmdldEF0dHJpYnV0ZShcInBvc3RhbF9jb2RlX25hbWVcIiksICdhZGRyZXNzLWxpbmUtaW5wdXQnKTtcclxuICAgIHRoaXMucmVzdWx0LnVwZGF0ZUFkZHJlc3NMaW5lKFwiY291bnRyeVwiLCBpdGVtLmdldEF0dHJpYnV0ZShcImNvdW50cnlcIiksICdhZGRyZXNzLWxpbmUtaW5wdXQnKTtcclxuXHJcbiAgICBsZXQga2V5ID0gQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5QT1NUQUxfQ09ERS5rZXkgPT09IHRoaXMubG9va3VwVHlwZVxyXG4gICAgICAgID8gJ3Bvc3RhbF9jb2RlX2tleScgOiAnbG9jYWxpdHlfa2V5JztcclxuICAgIC8vIENyZWF0ZSB0aGUgJ1NlYXJjaCBhZ2FpbicgbGluayBhbmQgaW5zZXJ0IGludG8gRE9NXHJcbiAgICB0aGlzLnJlc3VsdC5jcmVhdGVTZWFyY2hBZ2FpbkxpbmsoKTtcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtZm9ybWF0dGluZy1sb29rdXAnLCBpdGVtLmdldEF0dHJpYnV0ZShrZXkpLCBpdGVtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0KHVybDogc3RyaW5nKSB7XHJcbiAgICAvLyBUcmlnZ2VyIGFuIGV2ZW50XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtZm9ybWF0dGluZy1zZWFyY2gnLCB1cmwpO1xyXG5cclxuICAgIC8vIEhpZGUgdGhlIHNlYXJjaGluZyBzcGlubmVyXHJcbiAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBsYXlvdXRzOiBbIFwiZGVmYXVsdFwiIF0sXHJcbiAgICAgIGxheW91dF9mb3JtYXQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICBhdHRyaWJ1dGVzOiB0aGlzLmdldEVucmljaG1lbnRBdHRyaWJ1dGVzKHVybC5zcGxpdCgnLycpWzZdKVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYXRlIGEgbmV3IEZvcm1hdCByZXF1ZXN0XHJcbiAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdQT1NUJywgdGhpcy5yZXN1bHQuc2hvdywgSlNPTi5zdHJpbmdpZnkoZGF0YSksXHJcbiAgICAgIFt7IGtleTogJ0FkZC1Db21wb25lbnRzJywgdmFsdWU6IHRydWUgfSwgeyBrZXk6ICdBZGQtTWV0YWRhdGEnLCB2YWx1ZTogdHJ1ZSB9LCB7IGtleTogJ0FkZC1FbnJpY2htZW50JywgdmFsdWU6IHRydWV9XSk7XHJcbiAgICB9XHJcblxyXG4gIHByaXZhdGUgcmVmaW5lKGtleTogc3RyaW5nKSB7XHJcbiAgICAvLyBUcmlnZ2VyIGFuIGV2ZW50XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtcmVmaW5lbWVudCcsIGtleSk7XHJcblxyXG4gICAgLy8gSGlkZSB0aGUgc2VhcmNoaW5nIHNwaW5uZXJcclxuICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5oaWRlKCk7XHJcblxyXG4gICAgLy8gSW5pdGlhdGUgYSBuZXcgU3RlcC1pbiByZXF1ZXN0IHVzaW5nIHRoZSBnbG9iYWwgYWRkcmVzcyBrZXlcclxuICAgIHRoaXMucmVxdWVzdC5zZW5kKGAke3RoaXMuYmFzZVVybH0ke3RoaXMuc3RlcEluRW5kcG9pbnR9LyR7a2V5fWAsICdHRVQnLCB0aGlzLnBpY2tsaXN0LnNob3cpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb29rdXAoa2V5OiBzdHJpbmcpIHtcclxuICAgIC8vIFRyaWdnZXIgYW4gZXZlbnRcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3ByZS1sb29rdXAnLCBrZXkpO1xyXG5cclxuICAgIC8vIEhpZGUgdGhlIHNlYXJjaGluZyBzcGlubmVyXHJcbiAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgIC8vR2V0IHRoZSBsb29rdXAgcmVxdWV0XHJcbiAgICBjb25zdCBsb29rdXBWMlJlcXVlc3QgPSB0aGlzLmdlbmVyYXRlTG9va3VwRGF0YUZvckFwaUNhbGwoa2V5LCBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLldIQVQzV09SRFMua2V5KTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmxvb2t1cFYyRW5kcG9pbnQ7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gW3sga2V5OiAnQWRkLUFkZHJlc3NlcycsIHZhbHVlOiB0cnVlIH1dO1xyXG4gICAgY29uc3QgY2FsbGJhY2sgPSB0aGlzLnBpY2tsaXN0LnNob3dMb29rdXA7XHJcblxyXG4gICAgLy8gSW5pdGlhdGUgbmV3IFNlYXJjaCByZXF1ZXN0XHJcbiAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdQT1NUJywgY2FsbGJhY2ssIGxvb2t1cFYyUmVxdWVzdCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc3VsdDogQWRkcmVzc1ZhbGlkYXRpb25SZXN1bHQgPSB7XHJcbiAgICBmb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiBudWxsLFxyXG4gICAgbGFzdEFkZHJlc3NGaWVsZDogbnVsbCxcclxuICAgIGdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAvLyBSZW5kZXIgYSBGb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgc2hvdzogKGRhdGE6IFNlYXJjaFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgICAgLy8gSGlkZSB0aGUgcGlja2xpc3RcclxuICAgICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcblxyXG4gICAgICAvLyBDbGVhciB0aGUgcHJldmlvdXMgc2VhcmNoIHRlcm1cclxuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9ICcnO1xyXG5cclxuICAgICAgLy8gQWxsb3cgQXV0b2NvbXBsZXRlIHRocm91Z2ggYXMgaXQgd2lsbCBuZWVkIHRvIGNyZWF0ZSB0aGUgYWRkaXRpb25hbCBvdXRwdXQgZmllbGRzIGZvciB0aGUgZmluYWwgYWRkcmVzcy5cclxuICAgICAgLy8gT3RoZXJ3aXNlLCBvbmx5IHJlbmRlciB0aGUgZmluYWwgYWRkcmVzcyBpZiB0aGVyZSBhcmUgcmVzdWx0cyBhdmFpbGFibGUuXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEVcclxuICAgICAgICAgIHx8IChkYXRhLnJlc3VsdC5hZGRyZXNzICYmIGRhdGEucmVzdWx0LmNvbmZpZGVuY2UgIT09IEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUuTk9fTUFUQ0hFUykpIHtcclxuXHJcbiAgICAgICAgLy8gQ2xlYXIgc2VhcmNoIGlucHV0KHMpXHJcbiAgICAgICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBpbnB1dC52YWx1ZSA9ICcnKTtcclxuXHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIGlmIHdlIG5lZWRlZCB0byBnZW5lcmF0ZSB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgaW5wdXQgZmllbGRzIGxhdGVyXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuY2FsY3VsYXRlSWZBZGRyZXNzTGluZUdlbmVyYXRpb25SZXF1aXJlZCgpO1xyXG5cclxuICAgICAgICAvLyBHZXQgZm9ybWF0dGVkIGFkZHJlc3MgY29udGFpbmVyIGVsZW1lbnRcclxuICAgICAgICAvLyBPbmx5IGNyZWF0ZSBhIGNvbnRhaW5lciBpZiB3ZSdyZSBjcmVhdGluZyBpbnB1dHMuIE90aGVyd2lzZSB0aGUgdXNlciB3aWxsIGhhdmUgdGhlaXIgb3duIGNvbnRhaW5lci5cclxuICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyID0gdGhpcy5vcHRpb25zLmVsZW1lbnRzLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyICYmIHRoaXMucmVzdWx0LmdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZCkge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHQuY3JlYXRlRm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggZm9ybWF0dGVkIGFkZHJlc3MgY29tcG9uZW50XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhkYXRhLnJlc3VsdC5hZGRyZXNzKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMoZGF0YS5yZXN1bHQuYWRkcmVzcylbaV07XHJcbiAgICAgICAgICBjb25zdCBhZGRyZXNzQ29tcG9uZW50ID0gZGF0YS5yZXN1bHQuYWRkcmVzc1trZXldO1xyXG4gICAgICAgICAgLy8gQmluZCB0aGUgYWRkcmVzcyBlbGVtZW50IHRvIHRoZSB1c2VyJ3MgYWRkcmVzcyBmaWVsZCAob3IgY3JlYXRlIGEgbmV3IG9uZSlcclxuICAgICAgICAgIHRoaXMucmVzdWx0LnVwZGF0ZUFkZHJlc3NMaW5lKGtleSwgYWRkcmVzc0NvbXBvbmVudCwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRzQ29sbGVjdGlvbk1hcC5jbGVhcigpO1xyXG4gICAgICAgIGxldCBjb21wb25lbnRzID0gZGF0YS5yZXN1bHQuY29tcG9uZW50cztcclxuICAgICAgICBpZiAoY29tcG9uZW50cykge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhjb21wb25lbnRzKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhjb21wb25lbnRzKVtpXTtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzQ29sbGVjdGlvbk1hcC5zZXQoa2V5LCBjb21wb25lbnRzW2tleV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YUNvbGxlY3Rpb25NYXAuY2xlYXIoKTtcclxuICAgICAgICBsZXQgbWV0YWRhdGEgPSBkYXRhLm1ldGFkYXRhO1xyXG4gICAgICAgIGlmIChtZXRhZGF0YSkge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMobWV0YWRhdGEpW2ldO1xyXG4gICAgICAgICAgICB0aGlzLm1ldGFkYXRhQ29sbGVjdGlvbk1hcC5zZXQoa2V5LCBtZXRhZGF0YVtrZXldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEhpZGUgY291bnRyeSBhbmQgYWRkcmVzcyBzZWFyY2ggZmllbGRzIChpZiB0aGV5IGhhdmUgYSAndG9nZ2xlJyBjbGFzcylcclxuICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaElucHV0cygnaGlkZScpO1xyXG5cclxuICAgICAgICAvLyBFbmFibGUgdXNlcnMgdG8gc2VhcmNoIGFnYWluIHN1YnNlcXVlbnRseVxyXG4gICAgICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPSB0cnVlO1xyXG5cclxuICAgICAgICAvLyBJZiBhbiBhZGRyZXNzIGxpbmUgaXMgYWxzbyB0aGUgbWFpbiBzZWFyY2ggaW5wdXQsIHNldCBwcm9wZXJ0eSB0byBmYWxzZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCB0eXBpbmcgaW4gdGhlIGZpZWxkIGFnYWluIChhZnRlciBhbiBhZGRyZXNzIGhhcyBiZWVuXHJcbiAgICAgICAgLy8gcmV0dXJuZWQpIHdpbGwgbm90IHRyaWdnZXIgYSBuZXcgc2VhcmNoLlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEUpIHtcclxuICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBpbiB0aGlzLm9wdGlvbnMuZWxlbWVudHMpIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLm9wdGlvbnMuZWxlbWVudHMsIGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgLy8gRXhjbHVkaW5nIHRoZSBpbnB1dCBpdHNlbGYsIGRvZXMgYW5vdGhlciBlbGVtZW50IG1hdGNoIHRoZSBpbnB1dCBmaWVsZD9cclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudCAhPT0gJ2lucHV0JyAmJiB0aGlzLm9wdGlvbnMuZWxlbWVudHNbZWxlbWVudF0gPT09IHRoaXMuaW5wdXRzWzBdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1NlYXJjaElucHV0QmVlblJlc2V0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgJ1NlYXJjaCBhZ2FpbicgbGluayBhbmQgaW5zZXJ0IGludG8gRE9NXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuY3JlYXRlU2VhcmNoQWdhaW5MaW5rKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgdG8gc2F5IHdlJ3ZlIGdvdCB0aGUgZm9ybWF0dGVkIGFkZHJlc3NcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1mb3JtYXR0aW5nLXNlYXJjaCcsIGRhdGEpO1xyXG4gICAgfSxcclxuICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgLy8gRGVsZXRlIHRoZSBmb3JtYXR0ZWQgYWRkcmVzcyBjb250YWluZXJcclxuICAgICAgaWYgKHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcik7XHJcbiAgICAgICAgdGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lciA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICAvLyBEZWxldGUgdGhlIHNlYXJjaCBhZ2FpbiBsaW5rXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2VhcmNoQWdhaW4ubGluaykge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5zZWFyY2hBZ2Fpbi5saW5rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5vcHRpb25zLnNlYXJjaEFnYWluLmxpbmspO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5zZWFyY2hBZ2Fpbi5saW5rID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFJlbW92ZSBwcmV2aW91cyB2YWx1ZSBmcm9tIHVzZXIncyByZXN1bHQgZmllbGRcclxuICAgICAgLy8gTG9vcCBvdmVyIHRoZWlyIGVsZW1lbnRzXHJcbiAgICAgIGZvciAoY29uc3QgZWxlbWVudCBpbiB0aGlzLm9wdGlvbnMuZWxlbWVudHMpIHtcclxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMub3B0aW9ucy5lbGVtZW50cywgZWxlbWVudCkpIHtcclxuICAgICAgICAgIC8vIElmIGl0IG1hdGNoZXMgYW4gXCJhZGRyZXNzXCIgZWxlbWVudFxyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWZhdWx0cy5hZGRyZXNzTGluZUxhYmVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBsYWJlbCA9IGRlZmF1bHRzLmFkZHJlc3NMaW5lTGFiZWxzW2ldO1xyXG4gICAgICAgICAgICAvLyBPbmx5IHJlc2V0IHRoZSB2YWx1ZSBpZiBpdCdzIG5vdCBhbiBpbnB1dCBmaWVsZFxyXG4gICAgICAgICAgICBpZiAobGFiZWwgPT09IGVsZW1lbnQgJiYgdGhpcy5vcHRpb25zLmVsZW1lbnRzW2VsZW1lbnRdICE9PSB0aGlzLmlucHV0c1swXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5lbGVtZW50c1tlbGVtZW50XS52YWx1ZSA9ICcnO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgY3JlYXRlQWRkcmVzc0xpbmU6IHtcclxuICAgICAgLy8gQ3JlYXRlIGFuIGlucHV0IHRvIHN0b3JlIHRoZSBhZGRyZXNzIGxpbmVcclxuICAgICAgaW5wdXQ6IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAvLyBDcmVhdGUgYSB3cmFwcGVyXHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgZGl2LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcclxuXHJcbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBsYWJlbFxyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGFiZWwnKTtcclxuICAgICAgICBsYWJlbC5pbm5lckhUTUwgPSBrZXkucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJykgLy8gQWRkIHNwYWNlIGJlZm9yZSBjYXBpdGFsIExldHRlcnNcclxuICAgICAgICAgIC5yZXBsYWNlKC8oWzAtOV0pL2csICcgJDEnKSAvLyBBZGQgc3BhY2UgYmVmb3JlIG51bWJlcnNcclxuICAgICAgICAgIC5yZXBsYWNlKC9eLi8sIGZ1bmN0aW9uIChzdHIpIHsgcmV0dXJuIHN0ci50b1VwcGVyQ2FzZSgpOyB9KTsgLy8gTWFrZSBmaXJzdCBsZXR0ZXIgb2Ygd29yZCBhIGNhcGl0YWwgbGV0dGVyXHJcbiAgICAgICAgZGl2LmFwcGVuZENoaWxkKGxhYmVsKTtcclxuXHJcbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBpbnB1dFxyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dCcpO1xyXG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnbmFtZScsIGtleSk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHZhbHVlKTtcclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoaW5wdXQpO1xyXG4gICAgICAgIHJldHVybiBkaXY7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIENyZWF0ZSB0aGUgYWRkcmVzcyBsaW5lIGxhYmVsIGJhc2VkIG9uIHRoZSBjb3VudHJ5IGFuZCBsYW5ndWFnZVxyXG4gICAgICBsYWJlbDogKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0ga2V5O1xyXG4gICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5vcHRpb25zLmxhbmd1YWdlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgY29uc3QgY291bnRyeSA9IHRoaXMuY3VycmVudENvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9ucykge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdHJhbnNsYXRpb25zW2xhbmd1YWdlXVtjb3VudHJ5XVtrZXldO1xyXG4gICAgICAgICAgICBpZiAodHJhbnNsYXRlZExhYmVsKSB7XHJcbiAgICAgICAgICAgICAgbGFiZWwgPSB0cmFuc2xhdGVkTGFiZWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgLy8gVHJhbnNsYXRpb24gZG9lc24ndCBleGlzdCBmb3Iga2V5XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsYWJlbDtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIENyZWF0ZSB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgY29udGFpbmVyIGFuZCBpbmplY3QgYWZ0ZXIgdGhlIGlucHV0XHJcbiAgICBjcmVhdGVGb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZm9ybWF0dGVkLWFkZHJlc3MnKTtcclxuXHJcbiAgICAgIC8vIElmIFNpbmdsZWxpbmUgbW9kZSBpcyB1c2VkLCB0aGVuIGFwcGVuZCB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgYWZ0ZXIgdGhlIGxhc3QgaW5wdXQgZmllbGQsIG90aGVyd2lzZSB1c2UgdGhlIGZpcnN0IG9uZVxyXG4gICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlNJTkdMRUxJTkUgPyB0aGlzLmlucHV0cy5sZW5ndGggLSAxIDogMDtcclxuXHJcbiAgICAgIC8vIEluc2VydCB0aGUgY29udGFpbmVyIGFmdGVyIHRoZSBpbnB1dFxyXG4gICAgICB0aGlzLmlucHV0c1twb3NpdGlvbl0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY29udGFpbmVyLCB0aGlzLmlucHV0c1twb3NpdGlvbl0ubmV4dFNpYmxpbmcpO1xyXG4gICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyID0gY29udGFpbmVyO1xyXG4gICAgfSxcclxuICAgIC8vIENyZWF0ZSBhIGhlYWRpbmcgZm9yIHRoZSBmb3JtYXR0ZWQgYWRkcmVzcyBjb250YWluZXJcclxuICAgIGNyZWF0ZUhlYWRpbmc6ICgpID0+IHtcclxuICAgICAgLy8gQ3JlYXRlIGEgaGVhZGluZyBmb3IgdGhlIGZvcm1hdHRlZCBhZGRyZXNzXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5zaG93SGVhZGluZykge1xyXG4gICAgICAgIGNvbnN0IGhlYWRpbmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMub3B0aW9ucy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLmhlYWRpbmdUeXBlKTtcclxuICAgICAgICBoZWFkaW5nLmlubmVySFRNTCA9IHRoaXMub3B0aW9ucy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnZhbGlkYXRlZEhlYWRpbmdUZXh0O1xyXG4gICAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuYXBwZW5kQ2hpbGQoaGVhZGluZyk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyBVcGRhdGUgdGhlIGhlYWRpbmcgdGV4dCBpbiB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgY29udGFpbmVyXHJcbiAgICB1cGRhdGVIZWFkaW5nOiAodGV4dCkgPT4ge1xyXG4gICAgICAvL0NoYW5nZSB0aGUgaGVhZGluZyB0ZXh0IHRvIFwiTWFudWFsIGFkZHJlc3MgZW50ZXJlZFwiXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5zaG93SGVhZGluZykge1xyXG4gICAgICAgIGNvbnN0IGhlYWRpbmcgPSB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IodGhpcy5vcHRpb25zLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuaGVhZGluZ1R5cGUpO1xyXG4gICAgICAgIGhlYWRpbmcuaW5uZXJIVE1MID0gdGV4dDtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGNhbGN1bGF0ZUlmQWRkcmVzc0xpbmVHZW5lcmF0aW9uUmVxdWlyZWQ6ICgpID0+IHtcclxuICAgICAgdGhpcy5yZXN1bHQuZ2VuZXJhdGVBZGRyZXNzTGluZVJlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWZhdWx0cy5hZGRyZXNzTGluZUxhYmVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGRlZmF1bHRzLmFkZHJlc3NMaW5lTGFiZWxzW2ldO1xyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZWxlbWVudHNba2V5XSkge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHQuZ2VuZXJhdGVBZGRyZXNzTGluZVJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICB1cGRhdGVBZGRyZXNzTGluZTogKGtleTogc3RyaW5nLCBhZGRyZXNzTGluZU9iamVjdCwgY2xhc3NOYW1lOiBzdHJpbmcpID0+IHtcclxuICAgICAgLy8gRWl0aGVyIGFwcGVuZCB0aGUgcmVzdWx0IHRvIHRoZSB1c2VyJ3MgYWRkcmVzcyBmaWVsZCBvciBjcmVhdGUgYSBuZXcgZmllbGQgZm9yIHRoZW1cclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5lbGVtZW50c1trZXldKSB7XHJcbiAgICAgICAgY29uc3QgYWRkcmVzc0ZpZWxkID0gdGhpcy5vcHRpb25zLmVsZW1lbnRzW2tleV07XHJcbiAgICAgICAgdGhpcy5yZXN1bHQudXBkYXRlTGFiZWwoa2V5KTtcclxuICAgICAgICBsZXQgdmFsdWUgPSBhZGRyZXNzTGluZU9iamVjdDtcclxuICAgICAgICAvLyBJZiBhIHZhbHVlIGlzIGFscmVhZHkgcHJlc2VudCwgcHJlcGVuZCBhIGNvbW1hIGFuZCBzcGFjZVxyXG4gICAgICAgIGlmIChhZGRyZXNzRmllbGQudmFsdWUgJiYgdmFsdWUpIHtcclxuICAgICAgICAgIHZhbHVlID0gJywgJyArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEZWNpZGUgd2hhdCBwcm9wZXJ0eSBvZiB0aGUgbm9kZSB3ZSBuZWVkIHRvIHVwZGF0ZS4gaS5lLiBpZiBpdCdzIG5vdCBhIGZvcm0gZmllbGQsIHVwZGF0ZSB0aGUgaW5uZXJUZXh0LlxyXG4gICAgICAgIGlmIChhZGRyZXNzRmllbGQubm9kZU5hbWUgPT09ICdJTlBVVCcgfHwgYWRkcmVzc0ZpZWxkLm5vZGVOYW1lID09PSAnVEVYVEFSRUEnIHx8IGFkZHJlc3NGaWVsZC5ub2RlTmFtZSA9PT0gJ1NFTEVDVCcpIHtcclxuICAgICAgICAgIGFkZHJlc3NGaWVsZC52YWx1ZSArPSB2YWx1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYWRkcmVzc0ZpZWxkLmlubmVyVGV4dCArPSB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3RvcmUgYSByZWNvcmQgb2YgdGhlaXIgbGFzdCBhZGRyZXNzIGZpZWxkXHJcbiAgICAgICAgdGhpcy5yZXN1bHQubGFzdEFkZHJlc3NGaWVsZCA9IGFkZHJlc3NGaWVsZDtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnJlc3VsdC5nZW5lcmF0ZUFkZHJlc3NMaW5lUmVxdWlyZWQpIHtcclxuICAgICAgICAvLyBDcmVhdGUgYW4gaW5wdXQgdG8gc3RvcmUgdGhlIGFkZHJlc3MgbGluZVxyXG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5yZXN1bHQuY3JlYXRlQWRkcmVzc0xpbmUubGFiZWwoa2V5KTtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IHRoaXMucmVzdWx0LmNyZWF0ZUFkZHJlc3NMaW5lLmlucHV0KGxhYmVsLCBhZGRyZXNzTGluZU9iamVjdCwgY2xhc3NOYW1lKTtcclxuICAgICAgICAvLyBJbnNlcnQgaW50byBET01cclxuICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZpZWxkKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIFVwZGF0ZSB0aGUgbGFiZWwgaWYgdHJhbnNsYXRpb24gaXMgcHJlc2VudFxyXG4gICAgdXBkYXRlTGFiZWw6IChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICBsZXQgbGFiZWwgPSBrZXk7XHJcbiAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5vcHRpb25zLmxhbmd1YWdlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBpZiAodHJhbnNsYXRpb25zKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRMYWJlbCA9IHRyYW5zbGF0aW9uc1tsYW5ndWFnZV1bY291bnRyeV1ba2V5XTtcclxuICAgICAgICAgIGlmICh0cmFuc2xhdGVkTGFiZWwpIHtcclxuICAgICAgICAgICAgbGFiZWwgPSB0cmFuc2xhdGVkTGFiZWw7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhYmVscyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsYWJlbCcpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxhYmVscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgIGlmIChsYWJlbHNbaV0uaHRtbEZvciA9PT0ga2V5KSB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbHNbaV0uaW5uZXJIVE1MID0gdHJhbnNsYXRlZExhYmVsO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgIC8vIFRyYW5zbGF0aW9uIGRvZXNuJ3QgZXhpc3QgZm9yIGtleVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbGFiZWw7XHJcbiAgICB9LFxyXG4gICAgLy8gQ3JlYXRlIHRoZSAnU2VhcmNoIGFnYWluJyBsaW5rIHRoYXQgcmVzZXRzIHRoZSBzZWFyY2hcclxuICAgIGNyZWF0ZVNlYXJjaEFnYWluTGluazogKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNlYXJjaEFnYWluLnZpc2libGUpIHtcclxuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7XHJcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnYnV0dG9uJyk7XHJcbiAgICAgICAgbGluay5jbGFzc0xpc3QuYWRkKCdzZWFyY2gtYWdhaW4tYnV0dG9uJyk7XHJcbiAgICAgICAgbGluay5pbm5lclRleHQgPSB0aGlzLm9wdGlvbnMuc2VhcmNoQWdhaW4udGV4dDtcclxuICAgICAgICAvLyBCaW5kIGV2ZW50IGxpc3RlbmVyXHJcbiAgICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuZ2xvYmFsUmVzZXQuYmluZCh0aGlzKSk7XHJcbiAgICAgICAgLy8gU3RvcmUgYSByZWZlcmVuY2UgdG8gdGhlIGxpbmsgZWxlbWVudFxyXG4gICAgICAgIHRoaXMub3B0aW9ucy5zZWFyY2hBZ2Fpbi5saW5rID0gbGluaztcclxuXHJcbiAgICAgICAgLy8gSW5zZXJ0IGludG8gdGhlIGZvcm1hdHRlZCBhZGRyZXNzIGNvbnRhaW5lclxyXG4gICAgICAgIGlmICh0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyKSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXN1bHQubGFzdEFkZHJlc3NGaWVsZCkge1xyXG4gICAgICAgICAgLy8gSW5zZXJ0IGFmdGVyIGxhc3QgYWRkcmVzcyBmaWVsZFxyXG4gICAgICAgICAgdGhpcy5yZXN1bHQubGFzdEFkZHJlc3NGaWVsZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShsaW5rLCB0aGlzLnJlc3VsdC5sYXN0QWRkcmVzc0ZpZWxkLm5leHRTaWJsaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyBXcml0ZSB0aGUgbGlzdCBvZiBoaWRkZW4gYWRkcmVzcyBsaW5lIGlucHV0cyB0byB0aGUgRE9NXHJcbiAgICByZW5kZXJJbnB1dExpc3Q6IChpbnB1dEFycmF5KSA9PiB7XHJcbiAgICAgIGlmIChpbnB1dEFycmF5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0QXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuYXBwZW5kQ2hpbGQoaW5wdXRBcnJheVtpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8gRGVjaWRlIHdoZXRoZXIgdG8gZWl0aGVyIHNob3cgYSBwaWNrbGlzdCBvciBhIHZlcmlmaWVkIHJlc3VsdCBmcm9tIGEgVmFsaWRhdGUgcmVzcG9uc2VcclxuICAgIGhhbmRsZVZhbGlkYXRlUmVzcG9uc2U6IChyZXNwb25zZTogU2VhcmNoUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdC5jb25maWRlbmNlID09PSBBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlLlZFUklGSUVEX01BVENIXHJcbiAgICAgICAgICB8fCByZXNwb25zZS5yZXN1bHQuY29uZmlkZW5jZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZS5JTlRFUkFDVElPTl9SRVFVSVJFRCkge1xyXG4gICAgICAgIC8vIElmIHRoZSByZXNwb25zZSBjb250YWlucyBhbiBhZGRyZXNzLCB0aGVuIHVzZSB0aGlzIGRpcmVjdGx5IGluIHRoZSByZXN1bHRcclxuICAgICAgICBpZiAocmVzcG9uc2UucmVzdWx0LmFkZHJlc3MpIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0LnNob3cocmVzcG9uc2UpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UucmVzdWx0LnN1Z2dlc3Rpb25zKSB7XHJcbiAgICAgICAgICAvLyBJZiB0aGUgdmVyaWZpZWQgbWF0Y2ggc3RpbGwgY29udGFpbnMgYSBzdWdnZXN0aW9uLCB0aGVuIHdlIG5lZWQgdG8gZm9ybWF0IHRoaXMgZmlyc3RcclxuICAgICAgICAgIHRoaXMuZm9ybWF0KHJlc3BvbnNlLnJlc3VsdC5zdWdnZXN0aW9uc1swXS5mb3JtYXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5yZXN1bHQuc3VnZ2VzdGlvbnMpIHtcclxuICAgICAgICAvLyBJZiB0aGUgdXNlciBuZWVkcyB0byBwaWNrIGEgc3VnZ2VzdGlvbiwgdGhlbiBkaXNwbGF5IHRoZSBwaWNrbGlzdFxyXG4gICAgICAgIHRoaXMucGlja2xpc3Quc2hvdyhyZXNwb25zZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UucmVzdWx0LmNvbmZpZGVuY2UgPT09ICdObyBtYXRjaGVzJykge1xyXG4gICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBtYXRjaGVzLCB0aGVuIGFsbG93IFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiXHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5oYW5kbGVFbXB0eVBpY2tsaXN0KHJlc3BvbnNlKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBoYW5kbGVFbnJpY2htZW50UmVzcG9uc2U6IChyZXNwb25zZTogRW5yaWNobWVudFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGxldCBnZW9jb2Rlc0RldGFpbHNNYXAgPSB0aGlzLmdlb2NvZGVzLmRldGFpbHNNYXA7XHJcbiAgICAgIGxldCBjdkRldGFpbHNNYXAgPSB0aGlzLmN2SG91c2Vob2xkLmRldGFpbHNNYXA7XHJcbiAgICAgIGdlb2NvZGVzRGV0YWlsc01hcC5jbGVhcigpO1xyXG4gICAgICBjdkRldGFpbHNNYXAuY2xlYXIoKTtcclxuICAgICAgdGhpcy5wcmVtaXVtTG9jYXRpb25JbnNpZ2h0TWFwLmNsZWFyKCk7XHJcblxyXG4gICAgICBsZXQgZ2VvY29kZVJlc3BvbnNlO1xyXG4gICAgICBsZXQgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXM7XHJcbiAgICAgIGxldCBnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb247XHJcbiAgICAgIGxldCBjdkhvdXNlaG9sZFJlc3BvbnNlO1xyXG4gICAgICBsZXQgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZXM7XHJcbiAgICAgIGxldCBjdkhvdXNlaG9sZEV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb247XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2UucmVzdWx0LmF1c19yZWdpb25hbF9nZW9jb2Rlcykge1xyXG4gICAgICAgIHRoaXMuZ2VvY29kZXMudGl0bGUgPSBlbnJpY2htZW50T3V0cHV0LkFVUy5nZW9jb2Rlc190aXRsZTtcclxuICAgICAgICB0aGlzLmN2SG91c2Vob2xkLnRpdGxlID0gZW5yaWNobWVudE91dHB1dC5BVVMuY3ZfaG91c2Vob2xkX3RpdGxlO1xyXG4gICAgICAgIGdlb2NvZGVSZXNwb25zZSA9IE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLnJlc3VsdC5hdXNfcmVnaW9uYWxfZ2VvY29kZXMpO1xyXG4gICAgICAgIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oT2JqZWN0LmVudHJpZXMoZW5yaWNobWVudE91dHB1dC5BVVMuYXVzX3JlZ2lvbmFsX2dlb2NvZGVzKSk7XHJcbiAgICAgICAgY3ZIb3VzZWhvbGRSZXNwb25zZSA9IE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLnJlc3VsdC5hdXNfY3ZfaG91c2Vob2xkKTtcclxuICAgICAgICBjdkhvdXNlaG9sZEV4cGVjdGVkQXR0cmlidXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KE9iamVjdC5lbnRyaWVzKGVucmljaG1lbnRPdXRwdXQuQVVTLmF1c19jdl9ob3VzZWhvbGQpKTtcclxuICAgICAgICBjdkhvdXNlaG9sZEV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24gPSBuZXcgTWFwPHN0cmluZywgb2JqZWN0PihPYmplY3QuZW50cmllcyhjb25zdW1lclZpZXdEZXNjcmlwdGlvbnMuQVVTKSk7XHJcbiAgICAgICAgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uID0gbmV3IE1hcDxzdHJpbmcsIG9iamVjdD4oT2JqZWN0LmVudHJpZXMocmVnaW9uYWxHZW9jb2RlRGVzY3JpcHRpb25zLkFVUykpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlc3VsdC5uemxfcmVnaW9uYWxfZ2VvY29kZXMpIHtcclxuICAgICAgICB0aGlzLmdlb2NvZGVzLnRpdGxlID0gZW5yaWNobWVudE91dHB1dC5OWkwuZ2VvY29kZXNfdGl0bGU7XHJcbiAgICAgICAgdGhpcy5jdkhvdXNlaG9sZC50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuTlpMLmN2X2hvdXNlaG9sZF90aXRsZTtcclxuICAgICAgICBnZW9jb2RlUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQubnpsX3JlZ2lvbmFsX2dlb2NvZGVzKTtcclxuICAgICAgICBnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KE9iamVjdC5lbnRyaWVzKGVucmljaG1lbnRPdXRwdXQuTlpMLm56bF9yZWdpb25hbF9nZW9jb2RlcykpO1xyXG4gICAgICAgIGN2SG91c2Vob2xkUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQubnpsX2N2X2hvdXNlaG9sZCk7XHJcbiAgICAgICAgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhlbnJpY2htZW50T3V0cHV0Lk5aTC5uemxfY3ZfaG91c2Vob2xkKSk7XHJcbiAgICAgICAgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uID0gbmV3IE1hcDxzdHJpbmcsIG9iamVjdD4oT2JqZWN0LmVudHJpZXMoY29uc3VtZXJWaWV3RGVzY3JpcHRpb25zLk5aTCkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlc3VsdC51c2FfcmVnaW9uYWxfZ2VvY29kZXMpIHtcclxuICAgICAgICB0aGlzLmdlb2NvZGVzLnRpdGxlID0gZW5yaWNobWVudE91dHB1dC5VU0EuZ2VvY29kZXNfdGl0bGU7XHJcbiAgICAgICAgZ2VvY29kZVJlc3BvbnNlID0gT2JqZWN0LmVudHJpZXMocmVzcG9uc2UucmVzdWx0LnVzYV9yZWdpb25hbF9nZW9jb2Rlcyk7XHJcbiAgICAgICAgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhlbnJpY2htZW50T3V0cHV0LlVTQS51c2FfcmVnaW9uYWxfZ2VvY29kZXMpKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5yZXN1bHQudWtfbG9jYXRpb25fZXNzZW50aWFsKSB7XHJcbiAgICAgICAgdGhpcy5nZW9jb2Rlcy50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuR0JSLmdlb2NvZGVzX3RpdGxlO1xyXG4gICAgICAgIGdlb2NvZGVSZXNwb25zZSA9IE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLnJlc3VsdC51a19sb2NhdGlvbl9lc3NlbnRpYWwpO1xyXG4gICAgICAgIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oT2JqZWN0LmVudHJpZXMoZW5yaWNobWVudE91dHB1dC5HQlIudWtfbG9jYXRpb25fZXNzZW50aWFsKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZW9jb2Rlcy50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuR0xPQkFMLmdlb2NvZGVzX3RpdGxlO1xyXG4gICAgICAgIGdlb2NvZGVSZXNwb25zZSA9IE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLnJlc3VsdC5nZW9jb2Rlcyk7XHJcbiAgICAgICAgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhlbnJpY2htZW50T3V0cHV0LkdMT0JBTC5nZW9jb2RlcykpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgcHJlbWl1bUxvY2F0aW9uSW5zaWdodFJlc3BvbnNlID0gcmVzcG9uc2UucmVzdWx0LnByZW1pdW1fbG9jYXRpb25faW5zaWdodDtcclxuICAgICAgaWYgKHByZW1pdW1Mb2NhdGlvbkluc2lnaHRSZXNwb25zZSkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgT2JqZWN0LmtleXMocHJlbWl1bUxvY2F0aW9uSW5zaWdodFJlc3BvbnNlKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IGtleSA9IE9iamVjdC5rZXlzKHByZW1pdW1Mb2NhdGlvbkluc2lnaHRSZXNwb25zZSlbaV07XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBwcmVtaXVtTG9jYXRpb25JbnNpZ2h0UmVzcG9uc2Vba2V5XTtcclxuICAgICAgICAgIC8vIHRvIHNraXAgZGlzcGxheSB1bm5lY2Vzc2FyeSAwIGluZGV4IGluIHRoZSBVSSBpZiBvbmx5IDEgYXJyYXkgb2JqZWN0IGlzIHJldHVybmVkXHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJlbWl1bUxvY2F0aW9uSW5zaWdodE1hcC5zZXQoa2V5LCB2YWx1ZVswXSk7XHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5wcmVtaXVtTG9jYXRpb25JbnNpZ2h0TWFwLnNldChrZXksIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucG9wdWxhdGVSZXNwb25zZVRvTWFwKGdlb2NvZGVSZXNwb25zZSwgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXMsIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbiwgZ2VvY29kZXNEZXRhaWxzTWFwKTtcclxuICAgICAgdGhpcy5wb3B1bGF0ZVJlc3BvbnNlVG9NYXAoY3ZIb3VzZWhvbGRSZXNwb25zZSwgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZXMsIGN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbiwgY3ZEZXRhaWxzTWFwKTtcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1lbnJpY2htZW50JywgcmVzcG9uc2UpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcG9wdWxhdGVSZXNwb25zZVRvTWFwKHJlc3BvbnNlLCBleHBlY3RlZEF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbjogTWFwPHN0cmluZywgb2JqZWN0PiwgZGV0YWlsc01hcDogTWFwPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xyXG4gICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHJlc3BvbnNlKSB7XHJcbiAgICAgICAgaWYgKCFleHBlY3RlZEF0dHJpYnV0ZXMuaGFzKGtleSkpIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGxhYmVsID0gZXhwZWN0ZWRBdHRyaWJ1dGVzLmdldChrZXkpO1xyXG4gICAgICAgIGlmIChleHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uICYmIGV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24uaGFzKGtleSkpIHtcclxuICAgICAgICAgIGxldCB2YWx1ZU9iaiA9IGV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24uZ2V0KGtleSk7XHJcbiAgICAgICAgICBsZXQgaXRlbSA9IE9iamVjdC52YWx1ZXModmFsdWVPYmopLmZpbmQoZGF0YXNldCA9PiBkYXRhc2V0LmlkID09PSB2YWx1ZSk7XHJcbiAgICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBEZXNjcmlwdGlvbk1hcC5zZXQobGFiZWwsIGl0ZW0udGl0bGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBkZXRhaWxzTWFwLnNldChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrVGFiKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleShldmVudCk7XHJcbiAgICBpZiAoa2V5ID09PSAnVGFiJykge1xyXG4gICAgICB0aGlzLnBpY2tsaXN0LmtleXVwKGV2ZW50KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIGlmIChrZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgLy8gUHJldmVudCBhbiAnRW50ZXInIGtleXByZXNzIG9uIHRoZSBpbnB1dCBzdWJtaXR0aW5nIHRoZSBmb3JtXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlYXJjaFNwaW5uZXIgPSB7XHJcbiAgICBzaG93OiAoKSA9PiB7XHJcbiAgICAgIC8vIFJldHVybiBpZiB3ZSdyZSBub3QgZGlzcGxheWluZyBhIHNwaW5uZXJcclxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMudXNlU3Bpbm5lcikge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICAvLyBDcmVhdGUgdGhlIHNwaW5uZXIgY29udGFpbmVyXHJcbiAgICAgIGNvbnN0IHNwaW5uZXJDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgc3Bpbm5lckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdsb2FkZXInKTtcclxuICAgICAgc3Bpbm5lckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdsb2FkZXItaW5saW5lJyk7XHJcblxyXG4gICAgICAvLyBDcmVhdGUgdGhlIHNwaW5uZXJcclxuICAgICAgY29uc3Qgc3Bpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBzcGlubmVyLmNsYXNzTGlzdC5hZGQoJ3NwaW5uZXInKTtcclxuICAgICAgc3Bpbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZChzcGlubmVyKTtcclxuXHJcbiAgICAgIC8vIEluc2VydCB0aGUgc3Bpbm5lciBhZnRlciB0aGUgZmllbGRcclxuICAgICAgdGhpcy5pbnB1dHNbMF0ucGFyZW50Tm9kZT8uaW5zZXJ0QmVmb3JlKHNwaW5uZXJDb250YWluZXIsIHRoaXMuaW5wdXRzWzBdLm5leHRTaWJsaW5nKTtcclxuICAgIH0sXHJcblxyXG4gICAgaGlkZTogKCkgPT4ge1xyXG4gICAgICAvLyBSZXR1cm4gaWYgd2UncmUgbm90IGRpc3BsYXlpbmcgYSBzcGlubmVyXHJcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnVzZVNwaW5uZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgc3Bpbm5lciA9IHRoaXMuaW5wdXRzWzBdLnBhcmVudE5vZGU/LnF1ZXJ5U2VsZWN0b3IoJy5sb2FkZXItaW5saW5lJyk7XHJcbiAgICAgIGlmIChzcGlubmVyKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dHNbMF0ucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoc3Bpbm5lcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvLyBUb2dnbGUgdGhlIFwiaGlkZGVuXCIgY2xhc3MgdG8gZWl0aGVyIHNob3cgb3IgaGlkZSB0aGUgaW5wdXQgYW5kIGNvdW50cnkgZmllbGQocylcclxuICBwcml2YXRlIHRvZ2dsZVNlYXJjaElucHV0cyhzdGF0ZTogJ3Nob3cnIHwgJ2hpZGUnKSB7XHJcbiAgICBjb25zdCBtb2RpZmllciA9IHN0YXRlID09PSAnc2hvdycgPyAncmVtb3ZlJyA6ICdhZGQnO1xyXG4gICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmlucHV0cz8uZm9yRWFjaChpbnB1dCA9PiBpbnB1dC5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJy50b2dnbGUnKS5mb3JFYWNoKGVsZW1lbnQgPT4gZWxlbWVudC5jbGFzc0xpc3RbbW9kaWZpZXJdKCdoaWRkZW4nKSkpO1xyXG4gICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0Py5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJy50b2dnbGUnKS5mb3JFYWNoKGVsZW1lbnQgPT4gZWxlbWVudC5jbGFzc0xpc3RbbW9kaWZpZXJdKCdoaWRkZW4nKSk7XHJcbiAgICB0aGlzLm9wdGlvbnMuZWxlbWVudHMubG9va3VwQnV0dG9uPy5wYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJy50b2dnbGUnKS5mb3JFYWNoKGVsZW1lbnQgPT4gZWxlbWVudC5jbGFzc0xpc3RbbW9kaWZpZXJdKCdoaWRkZW4nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdsb2JhbFJlc2V0KGV2ZW50Pykge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICAvLyBFbmFibGUgc2VhcmNoaW5nXHJcbiAgICB0aGlzLm9wdGlvbnMuZW5hYmxlZCA9IHRydWU7XHJcbiAgICAvLyBIaWRlIGZvcm1hdHRlZCBhZGRyZXNzXHJcbiAgICB0aGlzLnJlc3VsdC5oaWRlKCk7XHJcbiAgICAvLyBSZXNldCBzZWFyY2ggaW5wdXQgYmFja1xyXG4gICAgdGhpcy5oYXNTZWFyY2hJbnB1dEJlZW5SZXNldCA9IHRydWU7XHJcblxyXG4gICAgLy8gQ2xlYXIgdGhlIGlucHV0IGZpZWxkKHMpXHJcbiAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucHV0ID0+IGlucHV0LnZhbHVlID0gJycpO1xyXG4gICAgLy8gUmVtb3ZlIHRoZSBwaWNrbGlzdCAoaWYgcHJlc2VudClcclxuICAgIHRoaXMucGlja2xpc3QuaGlkZSgpO1xyXG4gICAgLy8gU2hvdyBzZWFyY2ggaW5wdXRcclxuICAgIHRoaXMudG9nZ2xlU2VhcmNoSW5wdXRzKCdzaG93Jyk7XHJcbiAgICAvLyBBcHBseSBmb2N1cyB0byBpbnB1dFxyXG4gICAgdGhpcy5pbnB1dHNbMF0uZm9jdXMoKTtcclxuXHJcbiAgICAvLyBzZXQgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlIGJhc2VkIG9uIHRoZSBzZWFyY2ggdHlwZSBzZWxlY3RlZFxyXG4gICAgdGhpcy5hdk1vZGUgPSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuTE9PS1VQVjIgPT09IHRoaXMuc2VhcmNoVHlwZVxyXG4gICAgICAgID8gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLkxPT0tVUFYyIDogQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSDtcclxuXHJcbiAgICAvLyBGaXJlIGFuIGV2ZW50IGFmdGVyIGEgcmVzZXRcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcmVzZXQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNJbnRlcm5hdGlvbmFsVmFsaWRhdGlvbigpOiBib29sZWFuIHtcclxuICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBjdXJyZW50IGRhdGFzZXQgaW5kaWNhdGVzIHRoaXMgaXMgYSBpbnRlcm5hdGlvbmFsIGRhdGEgdmFsaWRhdGlvbiBjYWxsXHJcbiAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEVcclxuICAgICAgJiYgIUFycmF5LmlzQXJyYXkodGhpcy5jdXJyZW50RGF0YVNldCkgXHJcbiAgICAgICYmIHRoaXMuY3VycmVudERhdGFTZXQudG9VcHBlckNhc2UoKS5lbmRzV2l0aChcIi1FRFwiKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IEFkZHJlc3NWYWxpZGF0aW9uIGZyb20gJy4vYWRkcmVzcy1zZWFyY2gnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIEFkZHJlc3NWYWxpZGF0aW9uOiBhbnk7XG4gIH1cbn1cblxud2luZG93LkFkZHJlc3NWYWxpZGF0aW9uID0gQWRkcmVzc1ZhbGlkYXRpb247Il0sIm5hbWVzIjpbIkFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZSIsIkFkZHJlc3NWYWxpZGF0aW9uTW9kZSIsImNvbGxlY3Rpb24iLCJvbiIsImV2ZW50IiwiYWN0aW9uIiwidGhpcyIsInB1c2giLCJ0cmlnZ2VyIiwiZGF0YSIsImkiLCJsZW5ndGgiLCJhcmdzIiwiYSIsImFyZ3VtZW50cyIsImFwcGx5IiwiZSIsImluc3RhbmNlIiwic2VuZCIsInVybCIsIm1ldGhvZCIsImNhbGxiYWNrIiwiaGVhZGVycyIsImN1cnJlbnRSZXF1ZXN0IiwiWE1MSHR0cFJlcXVlc3QiLCJvcGVuIiwidGltZW91dCIsInNldFJlcXVlc3RIZWFkZXIiLCJvcHRpb25zIiwidG9rZW4iLCJmb3JFYWNoIiwiaGVhZGVyIiwia2V5IiwidmFsdWUiLCJvbmxvYWQiLCJ4aHIiLCJzdGF0dXMiLCJKU09OIiwicGFyc2UiLCJyZXNwb25zZVRleHQiLCJzZWFyY2hTcGlubmVyIiwiaGlkZSIsImV2ZW50cyIsIm9uZXJyb3IiLCJvbnRpbWVvdXQiLCJBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlIiwiQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3JkcyIsIkxPQ0FMSVRZIiwiZGlzcGxheSIsIlBPU1RBTF9DT0RFIiwiVURQUk4iLCJXSEFUM1dPUkRTIiwiQWRkQWRkcmVzc2VzT3B0aW9ucyIsIlRSVUUiLCJGQUxTRSIsImRlZmF1bHRzIiwiYXZNb2RlIiwiU0VBUkNIIiwic2VhcmNoVHlwZSIsIkFVVE9DT01QTEVURSIsImlucHV0IiwicGxhY2Vob2xkZXJUZXh0IiwiYXBwbHlGb2N1cyIsImZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIiLCJzaG93SGVhZGluZyIsImhlYWRpbmdUeXBlIiwidmFsaWRhdGVkSGVhZGluZ1RleHQiLCJtYW51YWxIZWFkaW5nVGV4dCIsInNlYXJjaEFnYWluIiwidmlzaWJsZSIsInRleHQiLCJ1c2VBZGRyZXNzRW50ZXJlZFRleHQiLCJ1c2VTcGlubmVyIiwibGFuZ3VhZ2UiLCJhZGRyZXNzTGluZUxhYmVscyIsImRhdGFzZXRDb2RlcyIsImNvdW50cnkiLCJpc28zQ29kZSIsImlzbzJDb2RlIiwiZGF0YXNldENvZGUiLCJ0cmFuc2xhdGlvbnMiLCJlbiIsImdiciIsImxvY2FsaXR5IiwicmVnaW9uIiwicG9zdGFsX2NvZGUiLCJ1c2EiLCJzaXplIiwibWF4U3VnZ2VzdGlvbnMiLCJkZXRhaWxzTWFwIiwiTWFwIiwiZW5yaWNobWVudE91dHB1dCIsImNvbnN1bWVyVmlld0Rlc2NyaXB0aW9ucyIsIm1vc2FpY19ncm91cCIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIm1vc2FpY190eXBlIiwiYWR1bHRzX2F0X2FkZHJlc3MiLCJjaGlsZHJlbl9hdF9hZGRyZXNzIiwiaGVhZF9vZl9ob3VzZWhvbGRfYWdlIiwiaGVhZF9vZl9ob3VzZWhvbGRfbGlmZXN0YWdlIiwiaG91c2Vob2xkX2NvbXBvc2l0aW9uIiwibW9zYWljX3NlZ21lbnQiLCJtb3NhaWNfdHlwZV9ncm91cCIsInJlZ2lvbmFsR2VvY29kZURlc2NyaXB0aW9ucyIsImxvY2FsaXR5X2NsYXNzX2NvZGUiLCJjb3VudHJ5RHJvcGRvd24iLCJjb21wb25lbnRzQ29sbGVjdGlvbk1hcCIsIm1ldGFkYXRhQ29sbGVjdGlvbk1hcCIsImdlb2NvZGVzIiwiRW5yaWNobWVudERldGFpbHMiLCJjdkhvdXNlaG9sZCIsInRvb2x0aXBEZXNjcmlwdGlvbk1hcCIsInByZW1pdW1Mb2NhdGlvbkluc2lnaHRNYXAiLCJiYXNlVXJsIiwiZGF0YXNldHNFbmRwb2ludCIsInNlYXJjaEVuZHBvaW50IiwibG9va3VwVjJFbmRwb2ludCIsInZhbGlkYXRlRW5kcG9pbnQiLCJwcm9tcHRzZXRFbmRwb2ludCIsInN0ZXBJbkVuZHBvaW50IiwicmVmaW5lRW5kcG9pbnQiLCJlbnJpY2htZW50RW5kcG9pbnQiLCJwb3dlcmVkQnlMb2dvIiwiZWxlbWVudCIsImNyZWF0ZSIsInBpY2tsaXN0IiwiaXRlbSIsInN2ZyIsImZvcm1hdCIsImxpc3RJdGVtIiwiY3JlYXRlTGlzdEl0ZW0iLCJjbGFzc0xpc3QiLCJhZGQiLCJsaXN0IiwicGFyZW50Tm9kZSIsImFwcGVuZENoaWxkIiwiZGVzdHJveSIsInJlbW92ZUNoaWxkIiwidW5kZWZpbmVkIiwicmVzdWx0IiwibGFzdEFkZHJlc3NGaWVsZCIsImdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZCIsInNob3ciLCJsYXN0U2VhcmNoVGVybSIsImFkZHJlc3MiLCJjb25maWRlbmNlIiwiTk9fTUFUQ0hFUyIsImlucHV0cyIsImNhbGN1bGF0ZUlmQWRkcmVzc0xpbmVHZW5lcmF0aW9uUmVxdWlyZWQiLCJlbGVtZW50cyIsImNyZWF0ZUZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIiLCJPYmplY3QiLCJrZXlzIiwiYWRkcmVzc0NvbXBvbmVudCIsInVwZGF0ZUFkZHJlc3NMaW5lIiwiY2xlYXIiLCJjb21wb25lbnRzIiwic2V0IiwibWV0YWRhdGEiLCJ0b2dnbGVTZWFyY2hJbnB1dHMiLCJoYXNTZWFyY2hJbnB1dEJlZW5SZXNldCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNyZWF0ZVNlYXJjaEFnYWluTGluayIsImxpbmsiLCJjcmVhdGVBZGRyZXNzTGluZSIsImNsYXNzTmFtZSIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhYmVsIiwiaW5uZXJIVE1MIiwicmVwbGFjZSIsInN0ciIsInRvVXBwZXJDYXNlIiwic2V0QXR0cmlidXRlIiwidG9Mb3dlckNhc2UiLCJjdXJyZW50Q291bnRyeUNvZGUiLCJ0cmFuc2xhdGVkTGFiZWwiLCJjb250YWluZXIiLCJwb3NpdGlvbiIsIlNJTkdMRUxJTkUiLCJpbnNlcnRCZWZvcmUiLCJuZXh0U2libGluZyIsImNyZWF0ZUhlYWRpbmciLCJoZWFkaW5nIiwidXBkYXRlSGVhZGluZyIsInF1ZXJ5U2VsZWN0b3IiLCJhZGRyZXNzTGluZU9iamVjdCIsImFkZHJlc3NGaWVsZCIsInVwZGF0ZUxhYmVsIiwibm9kZU5hbWUiLCJpbm5lclRleHQiLCJmaWVsZCIsImxhYmVscyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaHRtbEZvciIsImFkZEV2ZW50TGlzdGVuZXIiLCJnbG9iYWxSZXNldCIsImJpbmQiLCJyZW5kZXJJbnB1dExpc3QiLCJpbnB1dEFycmF5IiwiaGFuZGxlVmFsaWRhdGVSZXNwb25zZSIsInJlc3BvbnNlIiwiVkVSSUZJRURfTUFUQ0giLCJJTlRFUkFDVElPTl9SRVFVSVJFRCIsInN1Z2dlc3Rpb25zIiwiaGFuZGxlRW1wdHlQaWNrbGlzdCIsImhhbmRsZUVucmljaG1lbnRSZXNwb25zZSIsImdlb2NvZGVSZXNwb25zZSIsImdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzIiwiZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uIiwiY3ZIb3VzZWhvbGRSZXNwb25zZSIsImN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVzIiwiY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uIiwiZ2VvY29kZXNEZXRhaWxzTWFwIiwiY3ZEZXRhaWxzTWFwIiwiYXVzX3JlZ2lvbmFsX2dlb2NvZGVzIiwiZW50cmllcyIsImF1c19jdl9ob3VzZWhvbGQiLCJuemxfcmVnaW9uYWxfZ2VvY29kZXMiLCJuemxfY3ZfaG91c2Vob2xkIiwidXNhX3JlZ2lvbmFsX2dlb2NvZGVzIiwidWtfbG9jYXRpb25fZXNzZW50aWFsIiwicHJlbWl1bUxvY2F0aW9uSW5zaWdodFJlc3BvbnNlIiwicHJlbWl1bV9sb2NhdGlvbl9pbnNpZ2h0IiwiQXJyYXkiLCJpc0FycmF5IiwicG9wdWxhdGVSZXNwb25zZVRvTWFwIiwic3Bpbm5lckNvbnRhaW5lciIsInNwaW5uZXIiLCJtZXJnZURlZmF1bHRPcHRpb25zIiwic2V0dXAiLCJzZXRUb2tlbiIsInNldFNlYXJjaFR5cGUiLCJzZXRJbnB1dHMiLCJnZXRMb29rdXBFbnJpY2htZW50RGF0YSIsInJlZ2lvbmFsQXR0cmlidXRlcyIsImNhbGxFbnJpY2htZW50IiwiZ2V0RW5yaWNobWVudERhdGEiLCJnZXRFbnJpY2htZW50QXR0cmlidXRlcyIsImdsb2JhbEFkZHJlc3NLZXkiLCJ3aGF0M3dvcmRzIiwiY291bnRyeV9pc28iLCJnbG9iYWxfYWRkcmVzc19rZXkiLCJhdHRyaWJ1dGVzIiwicmVxdWVzdCIsInN0cmluZ2lmeSIsInNldENvdW50cnlMaXN0IiwiY3JlYXRlUGlja2xpc3QiLCJzZXRUaW1lb3V0IiwiZ2V0UGFyYW1ldGVyIiwibmFtZSIsInJlc3VsdHMiLCJSZWdFeHAiLCJleGVjIiwibG9jYXRpb24iLCJzZWFyY2giLCJkZWNvZGVVUklDb21wb25lbnQiLCJjdXN0b21PcHRpb25zIiwiZW5hYmxlZCIsImdldFByb21wdHNldCIsImN1cnJlbnREYXRhU2V0IiwibG9va3VwRGF0YXNldENvZGUiLCJoYW5kbGVQcm9tcHRzZXRSZXN1bHQiLCJsaW5lcyIsImV4YW1wbGUiLCJwcm9tcHQiLCJzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoIiwiVkFMSURBVEUiLCJMT09LVVBWMiIsImRyb3Bkb3duX29wdGlvbnMiLCJ2YWx1ZXMiLCJkYXRhc2V0cyIsInNlYXJjaF90eXBlIiwicHJvbXB0X3NldCIsImN1cnJlbnRDb3VudHJ5TmFtZSIsImZpbmQiLCJkYXRhc2V0IiwiaW5jbHVkZXMiLCJyZWdpc3RlcklucHV0cyIsImxvb2t1cEJ1dHRvbiIsImxvb2t1cEZuIiwiZnJvbSIsImtleVVwRm4iLCJjaGVja1RhYkZuIiwiY2hlY2tUYWIiLCJoYW5kbGVLZXlib2FyZEV2ZW50IiwiY291bnRyeUNvZGVNYXBwaW5nIiwiZm9jdXMiLCJoYW5kbGVEYXRhc2V0c1Jlc3BvbnNlIiwiY291bnRyeUxpc3QiLCJzZWxlY3RlZEluZGV4IiwiaGFuZGxlQ291bnRyeUxpc3RDaGFuZ2UiLCJjb3VudHJ5Q29kZSIsIkVycm9yIiwiY291bnRyaWVzIiwiY291bnRyeURhdGFzZXQiLCJvIiwic29ydCIsImIiLCJsb2NhbGVDb21wYXJlIiwiZ2VuZXJhdGVTZWFyY2hEYXRhRm9yQXBpQ2FsbCIsInVuc3BlY2lmaWVkIiwiY3VycmVudFNlYXJjaFRlcm0iLCJtYXhfc3VnZ2VzdGlvbnMiLCJWYWx1ZSIsImdlbmVyYXRlTG9va3VwRGF0YUZvckFwaUNhbGwiLCJsb29rdXBLZXl3b3JkIiwidHlwZSIsImdldFdoYXQzV29yZHNMb29rdXBWYWx1ZSIsInNob3VsZEdldFN1Z2dlc3Rpb25zIiwic3RhcnRzV2l0aCIsInNsaWNlIiwicHJldmVudERlZmF1bHQiLCJnZXRLZXkiLCJrZXl1cCIsImNvdW50cnlDb2RlQW5kRGF0YXNldCIsInNwbGl0IiwiZGVsaW1pdGVyIiwiaXNJbnRlcm5hdGlvbmFsVmFsaWRhdGlvbiIsIm1hcCIsImpvaW4iLCJjYW5TZWFyY2giLCJhYm9ydCIsInJlZ2V4IiwidGVzdCIsInRyaW0iLCJzaG93V2hhdDNXb3JkcyIsInJldHVybkFkZHJlc3NlcyIsInNob3dMb29rdXAiLCJsb29rdXBTZWFyY2hUZXJtIiwibG9va3VwVHlwZSIsImxvb2t1cFZhbHVlIiwiUGlja2xpc3QiLCJ0YWJDb3VudCIsIml0ZW1zIiwiaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWMiLCJyZWZpbmUiLCJpc05lZWRlZCIsImNyZWF0ZUlucHV0Iiwic3VnZ2VzdGlvbnNfcHJvbXB0Iiwic3VnZ2VzdGlvbnNfa2V5IiwiZGlzcGxheVN1Z2dlc3Rpb25zSGVhZGVyIiwibGlzdGVuIiwiZGlzcGxheVVzZUFkZHJlc3NFbnRlcmVkRm9vdGVyIiwic2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCIsIndoYXQzd29yZHNJdGVtcyIsImNyZWF0ZVdoYXQzV29yZHNMaXN0SXRlbSIsInBpY2tsaXN0SXRlbSIsImFkZHJlc3NlcyIsImNyZWF0ZUxvb2t1cExpc3RJdGVtIiwiY3JlYXRlTG9va3VwU3VnZ2VzdGlvbkxpc3RJdGVtIiwiY3VycmVudEl0ZW0iLCJyZXNldFRhYkNvdW50IiwiY3JlYXRlTGlzdCIsInVzZUFkZHJlc3NFbnRlcmVkIiwicmVtb3ZlIiwiaGFuZGxlRW1wdHlQaWNrbGlzdENhbGxiYWNrIiwidGl0bGVEaXYiLCJjb250YWluZXJEaXYiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJpdGVtRGl2IiwiY2xpY2siLCJvdXRPZkJvdW5kc1RvcCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRvcCIsIm91dE9mQm91bmRzQm90dG9tIiwiYm90dG9tIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJzY3JvbGxJbnRvVmlldyIsImZpcnN0Q2hpbGQiLCJpbnB1dERhdGEiLCJhZGRyZXNzX2xpbmVfMSIsImFkZHJlc3NfbGluZV8yIiwiYWRkcmVzc19saW5lXzMiLCJmb3JtYXRNYW51YWxBZGRyZXNzTGluZSIsImxpbmVPYmplY3QiLCJjaGVja0VudGVyIiwicm93IiwiYWRkTWF0Y2hpbmdFbXBoYXNpcyIsInBvc3RhbENvZGUiLCJ0b3duIiwiZnVsbF9uYW1lIiwicG9zdGFsX2NvZGVfa2V5IiwibG9jYWxpdHlfa2V5IiwiUFJFTUlTRVNfUEFSVElBTCIsIlNUUkVFVF9QQVJUSUFMIiwiTVVMVElQTEVfTUFUQ0hFUyIsImVudGVyIiwiYnV0dG9uIiwiS2V5Ym9hcmRFdmVudCIsIk1vdXNlRXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJyZWZpbmVtZW50IiwiZ2V0QXR0cmlidXRlIiwiZmlyc3RBZGRyZXNzIiwibGFzdEFkZHJlc3MiLCJxdWVyeVNlbGVjdG9yQWxsIiwiY3VycmVudGx5SGlnaGxpZ2h0ZWQiLCJwcmV2aW91c2x5SGlnaGxpZ2h0ZWQiLCJhZGRyZXNzTGlzdENvb3JkcyIsIm9mZnNldFRvcCIsIm9mZnNldEhlaWdodCIsInNjcm9sbFRvcCIsImhpZ2hsaWdodHMiLCJtYXRjaGVkIiwicmVwbGFjZW1lbnQiLCJzdWJzdHJpbmciLCJwaWNrIiwiY29udGFpbnMiLCJsb29rdXAiLCJmb3JtYXRMb29rdXBMb2NhbGl0eVdpdGhvdXRBZGRyZXNzZXMiLCJsYXlvdXRzIiwibGF5b3V0X2Zvcm1hdCIsImxvb2t1cFYyUmVxdWVzdCIsImV4cGVjdGVkQXR0cmlidXRlcyIsImV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24iLCJoYXMiLCJnZXQiLCJ2YWx1ZU9iaiIsInN0YXRlIiwibW9kaWZpZXIiLCJlbmRzV2l0aCIsIkFkZHJlc3NWYWxpZGF0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==