forked from experiandataquality/GlobalIntuitive
-
Notifications
You must be signed in to change notification settings - Fork 17
/
experian-address-validation.js
2 lines (2 loc) · 586 KB
/
experian-address-validation.js
1
2
!function(){"use strict";var e,s,o=function(){function e(){this.collection={}}return e.prototype.on=function(e,s){this.collection[e]=this.collection[e]||[],this.collection[e].push(s)},e.prototype.trigger=function(e,s){if(this.collection[e])for(var o=0;o<this.collection[e].length;o++){for(var t=[s],i=2;i<arguments.length;i++)t.push(arguments[i]);try{this.collection[e][o].apply(this.collection,t)}catch(e){}}},e}(),t=o,i=function(){function e(e){this.instance=e}return e.prototype.send=function(e,s,o,t,i){var a=this;void 0===i&&(i=[]),this.currentRequest=new XMLHttpRequest,this.currentRequest.open(s,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 s=JSON.parse(a.currentRequest.responseText);o(s)}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(t)},e}();!function(e){e.COMBINED="combined",e.AUTOCOMPLETE="autocomplete",e.VALIDATE="validate",e.SINGLELINE="singleline",e.TYPEDOWN="typedown",e.LOOKUPV2="lookupv2"}(e||(e={})),function(e){e[e.SEARCH=1]="SEARCH",e[e.WHAT3WORDS=2]="WHAT3WORDS",e[e.UDPRN=3]="UDPRN",e[e.LOCALITY=4]="LOCALITY",e[e.POSTAL_CODE=5]="POSTAL_CODE",e[e.MPAN=6]="MPAN",e[e.MPRN=7]="MPRN"}(s||(s={}));var a,d={WHAT3WORDS:{key:"what3words",display:"What3Words",dataset:[["gb-address"],["gb-additional-multipleresidence"],["gb-additional-notyetbuilt"],["gb-additional-notyetbuilt","gb-additional-multipleresidence"]]},UDPRN:{key:"udprn",display:"UDPRN",dataset:[["gb-address"],["gb-additional-multipleresidence"],["gb-additional-notyetbuilt"],["gb-additional-notyetbuilt","gb-additional-multipleresidence"]]},MPAN:{key:"mpan",display:"MPAN",dataset:[["gb-additional-electricity"],["gb-additional-electricity","gb-additional-gas"]]},MPRN:{key:"mprn",display:"MPRN",dataset:[["gb-additional-gas"],["gb-additional-electricity","gb-additional-gas"]]},POSTAL_CODE:{key:"postal_code",display:"Postal code",dataset:[]},LOCALITY:{key:"locality",display:"Locality",dataset:[]}},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:s.SEARCH,searchType:e.COMBINED,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",datasetCodes:["af-address-ed"],searchTypes:["singleline","validate"]},{country:"Afghanistan",iso3Code:"AFG",iso2Code:"AF",datasetCodes:["af-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Albania",iso3Code:"ALB",iso2Code:"AL",datasetCodes:["al-address-ed"],searchTypes:["singleline","validate"]},{country:"Albania",iso3Code:"ALB",iso2Code:"AL",datasetCodes:["al-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Algeria",iso3Code:"DZA",iso2Code:"DZ",datasetCodes:["dz-address-ed"],searchTypes:["singleline","validate"]},{country:"Algeria",iso3Code:"DZA",iso2Code:"DZ",datasetCodes:["dz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"American Samoa",iso3Code:"ASM",iso2Code:"AS",datasetCodes:["as-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Andorra",iso3Code:"AND",iso2Code:"AD",datasetCodes:["ad-address-ed"],searchTypes:["singleline","validate"]},{country:"Andorra",iso3Code:"AND",iso2Code:"AD",datasetCodes:["ad-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Angola",iso3Code:"AGO",iso2Code:"AO",datasetCodes:["ao-address-ed"],searchTypes:["singleline","validate"]},{country:"Angola",iso3Code:"AGO",iso2Code:"AO",datasetCodes:["ao-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Anguilla",iso3Code:"AIA",iso2Code:"AI",datasetCodes:["ai-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Antarctica",iso3Code:"ATA",iso2Code:"AQ",datasetCodes:["aq-address-ed"],searchTypes:["singleline","validate"]},{country:"Antigua and Barbuda",iso3Code:"ATG",iso2Code:"AG",datasetCodes:["ag-address-ed"],searchTypes:["singleline","validate"]},{country:"Antigua and Barbuda",iso3Code:"ATG",iso2Code:"AG",datasetCodes:["ag-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Argentina",iso3Code:"ARG",iso2Code:"AR",datasetCodes:["ar-address-ed"],searchTypes:["singleline","validate"]},{country:"Argentina",iso3Code:"ARG",iso2Code:"AR",datasetCodes:["ar-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Armenia",iso3Code:"ARM",iso2Code:"AM",datasetCodes:["am-address-ed"],searchTypes:["singleline","validate"]},{country:"Armenia",iso3Code:"ARM",iso2Code:"AM",datasetCodes:["am-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Aruba",iso3Code:"ABW",iso2Code:"AW",datasetCodes:["aw-address-ed"],searchTypes:["singleline","validate"]},{country:"Aruba",iso3Code:"ABW",iso2Code:"AW",datasetCodes:["aw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Australia DataFusion",iso3Code:"AUS",iso2Code:"AU",datasetCodes:["au-address-datafusion"],searchTypes:["autocomplete","singleline","typedown","lookupv2"]},{country:"Australia Geocoded National Address",iso3Code:"AUS",iso2Code:"AU",datasetCodes:["au-address-gnaf"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Australia Postal Address",iso3Code:"AUS",iso2Code:"AU",datasetCodes:["au-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Austria",iso3Code:"AUT",iso2Code:"AT",datasetCodes:["at-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Austria",iso3Code:"AUT",iso2Code:"AT",datasetCodes:["az-address-ed"],searchTypes:["singleline","validate"]},{country:"Azerbaijan",iso3Code:"AZE",iso2Code:"AZ",datasetCodes:["az-address-ed"],searchTypes:["singleline","validate"]},{country:"Azerbaijan",iso3Code:"AZE",iso2Code:"AZ",datasetCodes:["az-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bahamas",iso3Code:"BHS",iso2Code:"BS",datasetCodes:["bs-address-ed"],searchTypes:["singleline","validate"]},{country:"Bahamas",iso3Code:"BHS",iso2Code:"BS",datasetCodes:["bs-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bahrain",iso3Code:"BHR",iso2Code:"BH",datasetCodes:["bh-address-ed"],searchTypes:["singleline","validate"]},{country:"Bahrain",iso3Code:"BHR",iso2Code:"BH",datasetCodes:["bh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bangladesh",iso3Code:"BGD",iso2Code:"BD",datasetCodes:["bd-address-ed"],searchTypes:["singleline","validate"]},{country:"Bangladesh",iso3Code:"BGD",iso2Code:"BD",datasetCodes:["bd-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Barbados",iso3Code:"BRB",iso2Code:"BB",datasetCodes:["bb-address-ed"],searchTypes:["singleline","validate"]},{country:"Barbados",iso3Code:"BRB",iso2Code:"BB",datasetCodes:["bb-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Belarus",iso3Code:"BLR",iso2Code:"BY",datasetCodes:["by-address-ed"],searchTypes:["singleline","validate"]},{country:"Belarus",iso3Code:"BLR",iso2Code:"BY",datasetCodes:["by-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCodes:["be-address"],searchTypes:["singleline","typedown"]},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCodes:["be-address-ed"],searchTypes:[" validate"]},{country:"Belgium",iso3Code:"BEL",iso2Code:"BE",datasetCodes:["be-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Belize",iso3Code:"BLZ",iso2Code:"BZ",datasetCodes:["bz-address-ed"],searchTypes:["singleline","validate"]},{country:"Belize",iso3Code:"BLZ",iso2Code:"BZ",datasetCodes:["bz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Benin",iso3Code:"BEN",iso2Code:"BJ",datasetCodes:["bj-address-ed"],searchTypes:["singleline","validate"]},{country:"Benin",iso3Code:"BEN",iso2Code:"BJ",datasetCodes:["bj-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bermuda",iso3Code:"BMU",iso2Code:"BM",datasetCodes:["bm-address-ed"],searchTypes:["singleline","validate"]},{country:"Bermuda",iso3Code:"BMU",iso2Code:"BM",datasetCodes:["bm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bhutan",iso3Code:"BTN",iso2Code:"BT",datasetCodes:["bt-address-ed"],searchTypes:["singleline","validate"]},{country:"Bhutan",iso3Code:"BTN",iso2Code:"BT",datasetCodes:["bt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bolivia",iso3Code:"BOL",iso2Code:"BO",datasetCodes:["bo-address-ed"],searchTypes:["singleline","validate"]},{country:"Bolivia",iso3Code:"BOL",iso2Code:"BO",datasetCodes:["bo-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bonaire, Sint Eustatius and Saba",iso3Code:"BES",iso2Code:"BQ",datasetCodes:["bq-address-ed"],searchTypes:["singleline","validate"]},{country:"Bonaire, Sint Eustatius and Saba",iso3Code:"BES",iso2Code:"BQ",datasetCodes:["bq-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bosnia and Herzegovina",iso3Code:"BIH",iso2Code:"BA",datasetCodes:["ba-address-ed"],searchTypes:["singleline","validate"]},{country:"Bosnia and Herzegovina",iso3Code:"BIH",iso2Code:"BA",datasetCodes:["ba-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Botswana",iso3Code:"BWA",iso2Code:"BW",datasetCodes:["bw-address-ed"],searchTypes:["singleline","validate"]},{country:"Botswana",iso3Code:"BWA",iso2Code:"BW",datasetCodes:["bw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Brazil",iso3Code:"BRA",iso2Code:"BR",datasetCodes:["br-address-ed"],searchTypes:["singleline","validate"]},{country:"Brazil",iso3Code:"BRA",iso2Code:"BR",datasetCodes:["br-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Brunei Darussalam",iso3Code:"BRN",iso2Code:"BN",datasetCodes:["bn-address-ed"],searchTypes:["singleline","validate"]},{country:"Brunei Darussalam",iso3Code:"BRN",iso2Code:"BN",datasetCodes:["bn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Bulgaria",iso3Code:"BGR",iso2Code:"BG",datasetCodes:["bg-address-ed"],searchTypes:["singleline","validate"]},{country:"Bulgaria",iso3Code:"BGR",iso2Code:"BG",datasetCodes:["bg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Burkina Faso",iso3Code:"BFA",iso2Code:"BF",datasetCodes:["bf-address-ed"],searchTypes:["singleline","validate"]},{country:"Burkina Faso",iso3Code:"BFA",iso2Code:"BF",datasetCodes:["bf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Burundi",iso3Code:"BDI",iso2Code:"BI",datasetCodes:["bi-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cambodia",iso3Code:"KHM",iso2Code:"KH",datasetCodes:["kh-address-ed"],searchTypes:["singleline","validate"]},{country:"Cambodia",iso3Code:"KHM",iso2Code:"KH",datasetCodes:["kh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cameroon",iso3Code:"CMR",iso2Code:"CM",datasetCodes:["cm-address-ed"],searchTypes:["singleline","validate"]},{country:"Cameroon",iso3Code:"CMR",iso2Code:"CM",datasetCodes:["cm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Canada",iso3Code:"CAN",iso2Code:"CA",datasetCodes:["ca-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Cape Verde",iso3Code:"CPV",iso2Code:"CV",datasetCodes:["cv-address-ed"],searchTypes:["singleline","validate"]},{country:"Cape Verde",iso3Code:"CPV",iso2Code:"CV",datasetCodes:["cv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cayman Islands",iso3Code:"CYM",iso2Code:"KY",datasetCodes:["ky-address-ed"],searchTypes:["singleline","validate"]},{country:"Cayman Islands",iso3Code:"CYM",iso2Code:"KY",datasetCodes:["ky-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Central African Republic",iso3Code:"CAF",iso2Code:"CF",datasetCodes:["cf-address-ed"],searchTypes:["singleline","validate"]},{country:"Central African Republic",iso3Code:"CAF",iso2Code:"CF",datasetCodes:["cf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Chad",iso3Code:"TCD",iso2Code:"TD",datasetCodes:["td-address-ed"],searchTypes:["singleline","validate"]},{country:"Chad",iso3Code:"TCD",iso2Code:"TD",datasetCodes:["td-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Chile",iso3Code:"CHL",iso2Code:"CL",datasetCodes:["cl-address-ed"],searchTypes:["singleline","validate"]},{country:"Chile",iso3Code:"CHL",iso2Code:"CL",datasetCodes:["cl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"China",iso3Code:"CHN",iso2Code:"CN",datasetCodes:["cn-address-ed"],searchTypes:["singleline","validate"]},{country:"China",iso3Code:"CHN",iso2Code:"CN",datasetCodes:["cn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Christmas Island",iso3Code:"CXR",iso2Code:"CX",datasetCodes:["cx-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cocos Island",iso3Code:"CCK",iso2Code:"CC",datasetCodes:["cc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Colombia",iso3Code:"COL",iso2Code:"CO",datasetCodes:["co-address-ed"],searchTypes:["singleline","validate"]},{country:"Colombia",iso3Code:"COL",iso2Code:"CO",datasetCodes:["co-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Comoros",iso3Code:"COM",iso2Code:"KM",datasetCodes:["km-address-ed"],searchTypes:["singleline","validate"]},{country:"Comoros",iso3Code:"COM",iso2Code:"KM",datasetCodes:["km-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Congo",iso3Code:"COG",iso2Code:"CG",datasetCodes:["cg-address-ed"],searchTypes:["singleline","validate"]},{country:"Congo",iso3Code:"COG",iso2Code:"CG",datasetCodes:["cg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Congo, The Democratic Republic of the",iso3Code:"COD",iso2Code:"CD",datasetCodes:["cd-address-ed"],searchTypes:["singleline","validate"]},{country:"Congo, The Democratic Republic of the",iso3Code:"COD",iso2Code:"CD",datasetCodes:["cd-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cook Islands",iso3Code:"COK",iso2Code:"CK",datasetCodes:["ck-address-ed"],searchTypes:["singleline","validate"]},{country:"Cook Islands",iso3Code:"COK",iso2Code:"CK",datasetCodes:["ck-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Costa Rica",iso3Code:"CRI",iso2Code:"CR",datasetCodes:["cr-address-ed"],searchTypes:["singleline","validate"]},{country:"Costa Rica",iso3Code:"CRI",iso2Code:"CR",datasetCodes:["cr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Croatia",iso3Code:"HRV",iso2Code:"HR",datasetCodes:["hr-address-ed"],searchTypes:["singleline","validate"]},{country:"Croatia",iso3Code:"HRV",iso2Code:"HR",datasetCodes:["hr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cuba",iso3Code:"CUB",iso2Code:"CU",datasetCodes:["cu-address-ed"],searchTypes:["singleline","validate"]},{country:"Cuba",iso3Code:"CUB",iso2Code:"CU",datasetCodes:["cu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Curaçao",iso3Code:"CUW",iso2Code:"CW",datasetCodes:["cw-address-ed"],searchTypes:["singleline","validate"]},{country:"Curaçao",iso3Code:"CUW",iso2Code:"CW",datasetCodes:["cw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Cyprus",iso3Code:"CYP",iso2Code:"CY",datasetCodes:["cy-address-ed"],searchTypes:["singleline","validate"]},{country:"Cyprus",iso3Code:"CYP",iso2Code:"CY",datasetCodes:["cy-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Czech Republic",iso3Code:"CZE",iso2Code:"CZ",datasetCodes:["cz-address-ed"],searchTypes:["singleline","validate"]},{country:"Czech Republic",iso3Code:"CZE",iso2Code:"CZ",datasetCodes:["cz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Côte d'Ivoire",iso3Code:"CIV",iso2Code:"CI",datasetCodes:["ci-address-ed"],searchTypes:["singleline","validate"]},{country:"Côte d'Ivoire",iso3Code:"CIV",iso2Code:"CI",datasetCodes:["ci-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Denmark",iso3Code:"DNK",iso2Code:"DK",datasetCodes:["dk-address"],searchTypes:["singleline","typedown","validate"]},{country:"Denmark",iso3Code:"DNK",iso2Code:"DK",datasetCodes:["dk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Djibouti",iso3Code:"DJI",iso2Code:"DJ",datasetCodes:["dj-address-ed"],searchTypes:["singleline","validate"]},{country:"Djibouti",iso3Code:"DJI",iso2Code:"DJ",datasetCodes:["dj-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Dominica",iso3Code:"DMA",iso2Code:"DM",datasetCodes:["dm-address-ed"],searchTypes:["singleline","validate"]},{country:"Dominica",iso3Code:"DMA",iso2Code:"DM",datasetCodes:["dm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Dominican Republic",iso3Code:"DOM",iso2Code:"DO",datasetCodes:["do-address-ed"],searchTypes:["singleline","validate"]},{country:"Dominican Republic",iso3Code:"DOM",iso2Code:"DO",datasetCodes:["do-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ecuador",iso3Code:"ECU",iso2Code:"EC",datasetCodes:["ec-address-ed"],searchTypes:["singleline","validate"]},{country:"Ecuador",iso3Code:"ECU",iso2Code:"EC",datasetCodes:["ec-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Egypt",iso3Code:"EGY",iso2Code:"EG",datasetCodes:["eg-address-ed"],searchTypes:["singleline","validate"]},{country:"Egypt",iso3Code:"EGY",iso2Code:"EG",datasetCodes:["eg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"El Salvador",iso3Code:"SLV",iso2Code:"SV",datasetCodes:["sv-address-ed"],searchTypes:["singleline","validate"]},{country:"El Salvador",iso3Code:"SLV",iso2Code:"SV",datasetCodes:["sv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Equatorial Guinea",iso3Code:"GNQ",iso2Code:"GQ",datasetCodes:["gq-address-ed"],searchTypes:["singleline","validate"]},{country:"Equatorial Guinea",iso3Code:"GNQ",iso2Code:"GQ",datasetCodes:["gq-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Eritrea",iso3Code:"ERI",iso2Code:"ER",datasetCodes:["er-address-ed"],searchTypes:["singleline","validate"]},{country:"Eritrea",iso3Code:"ERI",iso2Code:"ER",datasetCodes:["er-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Estonia",iso3Code:"EST",iso2Code:"EE",datasetCodes:["ee-address-ed"],searchTypes:["singleline","validate"]},{country:"Estonia",iso3Code:"EST",iso2Code:"EE",datasetCodes:["ee-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ethiopia",iso3Code:"ETH",iso2Code:"ET",datasetCodes:["et-address-ed"],searchTypes:["singleline","validate"]},{country:"Ethiopia",iso3Code:"ETH",iso2Code:"ET",datasetCodes:["et-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Falkland Islands (Malvinas)",iso3Code:"FLK",iso2Code:"FK",datasetCodes:["fk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Faroe Islands",iso3Code:"FRO",iso2Code:"FO",datasetCodes:["fo-address-ed"],searchTypes:["singleline","validate"]},{country:"Faroe Islands",iso3Code:"FRO",iso2Code:"FO",datasetCodes:["fo-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Fiji",iso3Code:"FJI",iso2Code:"FJ",datasetCodes:["fj-address-ed"],searchTypes:["singleline","validate"]},{country:"Fiji",iso3Code:"FJI",iso2Code:"FJ",datasetCodes:["fj-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCodes:["fi-address"],searchTypes:["singleline","typedown"]},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCodes:["fi-address-ed"],searchTypes:["validate"]},{country:"Finland",iso3Code:"FIN",iso2Code:"FI",datasetCodes:["fi-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"France Street Level",iso3Code:"FRA",iso2Code:"FR",datasetCodes:["fr-address-streetlevel"],searchTypes:["singleline","typedown","validate"]},{country:"France Sub-Premises Level",iso3Code:"FRA",iso2Code:"FR",datasetCodes:["fr-additional-hexaline3"],searchTypes:["autocomplete","singleline","typedown"]},{country:"France Premises Level",iso3Code:"FRA",iso2Code:"FR",datasetCodes:["fr-address"],searchTypes:["singleline","typedown","validate"]},{country:"French Guiana",iso3Code:"GUF",iso2Code:"GF",datasetCodes:["gf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"French Polynesia",iso3Code:"PYF",iso2Code:"PF",datasetCodes:["pf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Gabon",iso3Code:"GAB",iso2Code:"GA",datasetCodes:["ga-address-ed"],searchTypes:["singleline","validate"]},{country:"Gabon",iso3Code:"GAB",iso2Code:"GA",datasetCodes:["ga-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Gambia",iso3Code:"GMB",iso2Code:"GM",datasetCodes:["gm-address-ed"],searchTypes:["singleline","validate"]},{country:"Gambia",iso3Code:"GMB",iso2Code:"GM",datasetCodes:["gm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Georgia",iso3Code:"GEO",iso2Code:"GE",datasetCodes:["ge-address-ed"],searchTypes:["singleline","validate"]},{country:"Georgia",iso3Code:"GEO",iso2Code:"GE",datasetCodes:["ge-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCodes:["de-address"],searchTypes:["singleline","typedown","validate"]},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCodes:["de-address-ed"],searchTypes:["validate"]},{country:"Germany",iso3Code:"DEU",iso2Code:"DE",datasetCodes:["de-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ghana",iso3Code:"GHA",iso2Code:"GH",datasetCodes:["gh-address-ed"],searchTypes:["singleline","validate"]},{country:"Ghana",iso3Code:"GHA",iso2Code:"GH",datasetCodes:["gh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Gibraltar",iso3Code:"GIB",iso2Code:"GI",datasetCodes:["gi-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Greece",iso3Code:"GRC",iso2Code:"GR",datasetCodes:["gr-address-ed"],searchTypes:["singleline","validate"]},{country:"Greece",iso3Code:"GRC",iso2Code:"GR",datasetCodes:["gr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Greenland",iso3Code:"GRL",iso2Code:"GL",datasetCodes:["gl-address-ed"],searchTypes:["singleline","validate"]},{country:"Greenland",iso3Code:"GRL",iso2Code:"GL",datasetCodes:["gl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Grenada",iso3Code:"GRD",iso2Code:"GD",datasetCodes:["gd-address-ed"],searchTypes:["singleline","validate"]},{country:"Grenada",iso3Code:"GRD",iso2Code:"GD",datasetCodes:["gd-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guadeloupe",iso3Code:"GLP",iso2Code:"GP",datasetCodes:["gp-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guam",iso3Code:"GUM",iso2Code:"GU",datasetCodes:["gu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guatemala",iso3Code:"GTM",iso2Code:"GT",datasetCodes:["gt-address-ed"],searchTypes:["singleline","validate"]},{country:"Guatemala",iso3Code:"GTM",iso2Code:"GT",datasetCodes:["gt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guinea",iso3Code:"GIN",iso2Code:"GN",datasetCodes:["gn-address-ed"],searchTypes:["singleline","validate"]},{country:"Guinea",iso3Code:"GIN",iso2Code:"GN",datasetCodes:["gn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guinea-Bissau",iso3Code:"GNB",iso2Code:"GW",datasetCodes:["gw-address-ed"],searchTypes:["singleline","validate"]},{country:"Guinea-Bissau",iso3Code:"GNB",iso2Code:"GW",datasetCodes:["gw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Guyana",iso3Code:"GUY",iso2Code:"GY",datasetCodes:["gy-address-ed"],searchTypes:["singleline","validate"]},{country:"Guyana",iso3Code:"GUY",iso2Code:"GY",datasetCodes:["gy-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Haiti",iso3Code:"HTI",iso2Code:"HT",datasetCodes:["ht-address-ed"],searchTypes:["singleline","validate"]},{country:"Haiti",iso3Code:"HTI",iso2Code:"HT",datasetCodes:["ht-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Honduras",iso3Code:"HND",iso2Code:"HN",datasetCodes:["hn-address-ed"],searchTypes:["singleline","validate"]},{country:"Honduras",iso3Code:"HND",iso2Code:"HN",datasetCodes:["hn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Hong Kong",iso3Code:"HKG",iso2Code:"HK",datasetCodes:["hk-address-ed"],searchTypes:["singleline","validate"]},{country:"Hong Kong",iso3Code:"HKG",iso2Code:"HK",datasetCodes:["hk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Hungary",iso3Code:"HUN",iso2Code:"HU",datasetCodes:["hu-address-ed"],searchTypes:["singleline","validate"]},{country:"Hungary",iso3Code:"HUN",iso2Code:"HU",datasetCodes:["hu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Iceland",iso3Code:"ISL",iso2Code:"IS",datasetCodes:["is-address-ed"],searchTypes:["singleline","validate"]},{country:"Iceland",iso3Code:"ISL",iso2Code:"IS",datasetCodes:["is-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"India",iso3Code:"IND",iso2Code:"IN",datasetCodes:["in-address-ed"],searchTypes:["singleline","validate"]},{country:"India",iso3Code:"IND",iso2Code:"IN",datasetCodes:["in-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Indonesia",iso3Code:"IDN",iso2Code:"ID",datasetCodes:["id-address-ed"],searchTypes:["singleline","validate"]},{country:"Indonesia",iso3Code:"IDN",iso2Code:"ID",datasetCodes:["id-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Iran, Islamic Republic of",iso3Code:"IRN",iso2Code:"IR",datasetCodes:["ir-address-ed"],searchTypes:["singleline","validate"]},{country:"Iran, Islamic Republic of",iso3Code:"IRN",iso2Code:"IR",datasetCodes:["ir-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Iraq",iso3Code:"IRQ",iso2Code:"IQ",datasetCodes:["iq-address-ed"],searchTypes:["singleline","validate"]},{country:"Iraq",iso3Code:"IRQ",iso2Code:"IQ",datasetCodes:["iq-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ireland",iso3Code:"IRL",iso2Code:"IE",datasetCodes:["ie-address"],searchTypes:["singleline","typedown"]},{country:"Ireland",iso3Code:"IRL",iso2Code:"IE",datasetCodes:["ie-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ireland Eircode",iso3Code:"IRL",iso2Code:"IE",datasetCodes:["ie-additional-eircode"],searchTypes:["autocomplete","lookupv2"]},{country:"Ireland ECAD",iso3Code:"IRL",iso2Code:"IE",datasetCodes:["ie-address-ecad"],searchTypes:["autocomplete","lookupv2","singleline","typedown"]},{country:"Israel",iso3Code:"ISR",iso2Code:"IL",datasetCodes:["il-address-ed"],searchTypes:["singleline","validate"]},{country:"Israel",iso3Code:"ISR",iso2Code:"IL",datasetCodes:["il-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Italy",iso3Code:"ITA",iso2Code:"IT",datasetCodes:["it-address-ed"],searchTypes:["singleline","validate"]},{country:"Italy",iso3Code:"ITA",iso2Code:"IT",datasetCodes:["it-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Jamaica",iso3Code:"JAM",iso2Code:"JM",datasetCodes:["jm-address-ed"],searchTypes:["singleline","validate"]},{country:"Jamaica",iso3Code:"JAM",iso2Code:"JM",datasetCodes:["jm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Japan",iso3Code:"JPN",iso2Code:"JP",datasetCodes:["jp-address-ed"],searchTypes:["singleline","validate"]},{country:"Japan",iso3Code:"JPN",iso2Code:"JP",datasetCodes:["jp-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Jordan",iso3Code:"JOR",iso2Code:"JO",datasetCodes:["jo-address-ed"],searchTypes:["singleline","validate"]},{country:"Jordan",iso3Code:"JOR",iso2Code:"JO",datasetCodes:["jo-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kazakhstan",iso3Code:"KAZ",iso2Code:"KZ",datasetCodes:["kz-address-ed"],searchTypes:["singleline","validate"]},{country:"Kazakhstan",iso3Code:"KAZ",iso2Code:"KZ",datasetCodes:["kz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kenya",iso3Code:"KEN",iso2Code:"KE",datasetCodes:["ke-address-ed"],searchTypes:["singleline","validate"]},{country:"Kenya",iso3Code:"KEN",iso2Code:"KE",datasetCodes:["ke-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kiribati",iso3Code:"KIR",iso2Code:"KI",datasetCodes:["ki-address-ed"],searchTypes:["singleline","validate"]},{country:"Kiribati",iso3Code:"KIR",iso2Code:"KI",datasetCodes:["ki-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Korea, Democratic People's Republic of",iso3Code:"PRK",iso2Code:"KP",datasetCodes:["kp-address-ed"],searchTypes:["singleline","validate"]},{country:"Korea, Democratic People's Republic of",iso3Code:"PRK",iso2Code:"KP",datasetCodes:["kp-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Korea, Republic of",iso3Code:"KOR",iso2Code:"KR",datasetCodes:["kr-address-ed"],searchTypes:["singleline","validate"]},{country:"Korea, Republic of",iso3Code:"KOR",iso2Code:"KR",datasetCodes:["kr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kosovo",iso3Code:"KOS",iso2Code:"XK",datasetCodes:["kv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kuwait",iso3Code:"KWT",iso2Code:"KW",datasetCodes:["kw-address-ed"],searchTypes:["singleline","validate"]},{country:"Kuwait",iso3Code:"KWT",iso2Code:"KW",datasetCodes:["kw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Kyrgyzstan",iso3Code:"KGZ",iso2Code:"KG",datasetCodes:["kg-address-ed"],searchTypes:["singleline","validate"]},{country:"Kyrgyzstan",iso3Code:"KGZ",iso2Code:"KG",datasetCodes:["kg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Laos",iso3Code:"LAO",iso2Code:"LA",datasetCodes:["la-address-ed"],searchTypes:["singleline","validate"]},{country:"Laos",iso3Code:"LAO",iso2Code:"LA",datasetCodes:["la-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Latvia",iso3Code:"LVA",iso2Code:"LV",datasetCodes:["lv-address-ed"],searchTypes:["singleline","validate"]},{country:"Latvia",iso3Code:"LVA",iso2Code:"LV",datasetCodes:["lv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Lebanon",iso3Code:"LBN",iso2Code:"LB",datasetCodes:["lb-address-ed"],searchTypes:["singleline","validate"]},{country:"Lebanon",iso3Code:"LBN",iso2Code:"LB",datasetCodes:["lb-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Lesotho",iso3Code:"LSO",iso2Code:"LS",datasetCodes:["ls-address-ed"],searchTypes:["singleline","validate"]},{country:"Lesotho",iso3Code:"LSO",iso2Code:"LS",datasetCodes:["ls-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Liberia",iso3Code:"LBR",iso2Code:"LR",datasetCodes:["lr-address-ed"],searchTypes:["singleline","validate"]},{country:"Liberia",iso3Code:"LBR",iso2Code:"LR",datasetCodes:["lr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Libya",iso3Code:"LBY",iso2Code:"LY",datasetCodes:["ly-address-ed"],searchTypes:["singleline","validate"]},{country:"Libya",iso3Code:"LBY",iso2Code:"LY",datasetCodes:["ly-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Liechtenstein",iso3Code:"LIE",iso2Code:"LI",datasetCodes:["li-address-ed"],searchTypes:["singleline","validate"]},{country:"Liechtenstein",iso3Code:"LIE",iso2Code:"LI",datasetCodes:["li-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Lithuania",iso3Code:"LTU",iso2Code:"LT",datasetCodes:["lt-address-ed"],searchTypes:["singleline","validate"]},{country:"Lithuania",iso3Code:"LTU",iso2Code:"LT",datasetCodes:["lt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Luxembourg",iso3Code:"LUX",iso2Code:"LU",datasetCodes:["lu-address"],searchTypes:["singleline","typedown","validate"]},{country:"Luxembourg",iso3Code:"LUX",iso2Code:"LU",datasetCodes:["lu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Macau",iso3Code:"MAC",iso2Code:"MO",datasetCodes:["lv-address-ed"],searchTypes:["singleline","validate"]},{country:"Macau",iso3Code:"MAC",iso2Code:"MO",datasetCodes:["lv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Madagascar",iso3Code:"MDG",iso2Code:"MG",datasetCodes:["mo-address-ed"],searchTypes:["singleline","validate"]},{country:"Madagascar",iso3Code:"MDG",iso2Code:"MG",datasetCodes:["mo-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Malawi",iso3Code:"MWI",iso2Code:"MW",datasetCodes:["mw-address-ed"],searchTypes:["singleline","validate"]},{country:"Malawi",iso3Code:"MWI",iso2Code:"MW",datasetCodes:["mw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Malaysia",iso3Code:"MYS",iso2Code:"MY",datasetCodes:["my-address-ed"],searchTypes:["singleline","validate"]},{country:"Malaysia",iso3Code:"MYS",iso2Code:"MY",datasetCodes:["my-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Maldives",iso3Code:"MDV",iso2Code:"MV",datasetCodes:["mv-address-ed"],searchTypes:["singleline","validate"]},{country:"Maldives",iso3Code:"MDV",iso2Code:"MV",datasetCodes:["mv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mali",iso3Code:"MLI",iso2Code:"ML",datasetCodes:["ml-address-ed"],searchTypes:["singleline","validate"]},{country:"Mali",iso3Code:"MLI",iso2Code:"ML",datasetCodes:["ml-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Malta",iso3Code:"MLT",iso2Code:"MT",datasetCodes:["mt-address-ed"],searchTypes:["singleline","validate"]},{country:"Malta",iso3Code:"MLT",iso2Code:"MT",datasetCodes:["mt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Marshall Islands",iso3Code:"MHL",iso2Code:"MH",datasetCodes:["mh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Martinique",iso3Code:"MTQ",iso2Code:"MQ",datasetCodes:["mq-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mauritania",iso3Code:"MRT",iso2Code:"MR",datasetCodes:["mr-address-ed"],searchTypes:["singleline","validate"]},{country:"Mauritania",iso3Code:"MRT",iso2Code:"MR",datasetCodes:["mr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mauritius",iso3Code:"MUS",iso2Code:"MU",datasetCodes:["mu-address-ed"],searchTypes:["singleline","validate"]},{country:"Mauritius",iso3Code:"MUS",iso2Code:"MU",datasetCodes:["mu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mayotte",iso3Code:"MYT",iso2Code:"YT",datasetCodes:["yt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mexico",iso3Code:"MEX",iso2Code:"MX",datasetCodes:["mx-address-ed"],searchTypes:["singleline","validate"]},{country:"Mexico",iso3Code:"MEX",iso2Code:"MX",datasetCodes:["mx-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Micronesia, Federated States of",iso3Code:"FSM",iso2Code:"FM",datasetCodes:["fm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Moldova",iso3Code:"MDA",iso2Code:"MD",datasetCodes:["md-address-ed"],searchTypes:["singleline","validate"]},{country:"Moldova",iso3Code:"MDA",iso2Code:"MD",datasetCodes:["md-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Monaco",iso3Code:"MCO",iso2Code:"MC",datasetCodes:["mc-address-ed"],searchTypes:["singleline","validate"]},{country:"Monaco",iso3Code:"MCO",iso2Code:"MC",datasetCodes:["mc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mongolia",iso3Code:"MNG",iso2Code:"MN",datasetCodes:["mn-address-ed"],searchTypes:["singleline","validate"]},{country:"Mongolia",iso3Code:"MNG",iso2Code:"MN",datasetCodes:["mn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Montenegro",iso3Code:"MNE",iso2Code:"ME",datasetCodes:["me-address-ed"],searchTypes:["singleline","validate"]},{country:"Montenegro",iso3Code:"MNE",iso2Code:"ME",datasetCodes:["me-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Montserrat",iso3Code:"MSR",iso2Code:"MS",datasetCodes:["ms-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Morocco",iso3Code:"MAR",iso2Code:"MA",datasetCodes:["ma-address-ed"],searchTypes:["singleline","validate"]},{country:"Morocco",iso3Code:"MAR",iso2Code:"MA",datasetCodes:["ma-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Mozambique",iso3Code:"MOZ",iso2Code:"MZ",datasetCodes:["mz-address-ed"],searchTypes:["singleline","validate"]},{country:"Mozambique",iso3Code:"MOZ",iso2Code:"MZ",datasetCodes:["mz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Myanmar",iso3Code:"MMR",iso2Code:"MM",datasetCodes:["mm-address-ed"],searchTypes:["singleline","validate"]},{country:"Myanmar",iso3Code:"MMR",iso2Code:"MM",datasetCodes:["mm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Namibia",iso3Code:"NAM",iso2Code:"NA",datasetCodes:["na-address-ed"],searchTypes:["singleline","validate"]},{country:"Namibia",iso3Code:"NAM",iso2Code:"NA",datasetCodes:["na-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Nauru",iso3Code:"NRU",iso2Code:"NR",datasetCodes:["nr-address-ed"],searchTypes:["singleline","validate"]},{country:"Nauru",iso3Code:"NRU",iso2Code:"NR",datasetCodes:["nr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Nepal",iso3Code:"NPL",iso2Code:"NP",datasetCodes:["np-address-ed"],searchTypes:["singleline","validate"]},{country:"Nepal",iso3Code:"NPL",iso2Code:"NP",datasetCodes:["np-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Netherlands",iso3Code:"NLD",iso2Code:"NL",datasetCodes:["nl-address"],searchTypes:["singleline","typedown","validate"]},{country:"Netherlands",iso3Code:"NLD",iso2Code:"NL",datasetCodes:["nl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"New Caledonia",iso3Code:"NCL",iso2Code:"NC",datasetCodes:["nc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"New Zealand DataFusion",iso3Code:"NZL",iso2Code:"NZ",datasetCodes:["nz-additional-datafusion"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"New Zealand Postal Address",iso3Code:"NZL",iso2Code:"NZ",datasetCodes:["nz-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Nicaragua",iso3Code:"NIC",iso2Code:"NI",datasetCodes:["ni-address-ed"],searchTypes:["singleline","validate"]},{country:"Nicaragua",iso3Code:"NIC",iso2Code:"NI",datasetCodes:["ni-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Niger",iso3Code:"NER",iso2Code:"NE",datasetCodes:["ne-address-ed"],searchTypes:["singleline","validate"]},{country:"Niger",iso3Code:"NER",iso2Code:"NE",datasetCodes:["ne-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Nigeria",iso3Code:"NGA",iso2Code:"NG",datasetCodes:["ng-address-ed"],searchTypes:["singleline","validate"]},{country:"Nigeria",iso3Code:"NGA",iso2Code:"NG",datasetCodes:["ng-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Niue",iso3Code:"NIU",iso2Code:"NU",datasetCodes:["nu-address-ed"],searchTypes:["singleline","validate"]},{country:"Niue",iso3Code:"NIU",iso2Code:"NU",datasetCodes:["nu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Norfolk Island",iso3Code:"NFK",iso2Code:"NF",datasetCodes:["nf-address-ed"],searchTypes:["singleline","validate"]},{country:"Norfolk Island",iso3Code:"NFK",iso2Code:"NF",datasetCodes:["nf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"North Macedonia",iso3Code:"MKD",iso2Code:"MK",datasetCodes:["mk-address-ed"],searchTypes:["singleline","validate"]},{country:"North Macedonia",iso3Code:"MKD",iso2Code:"MK",datasetCodes:["mk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Northern Mariana Islands",iso3Code:"MNP",iso2Code:"MP",datasetCodes:["mp-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCodes:["no-address"],searchTypes:["singleline","typedown"]},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCodes:["no-address-ed"],searchTypes:["validate"]},{country:"Norway",iso3Code:"NOR",iso2Code:"NO",datasetCodes:["no-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Oman",iso3Code:"OMN",iso2Code:"OM",datasetCodes:["om-address-ed"],searchTypes:["singleline","validate"]},{country:"Oman",iso3Code:"OMN",iso2Code:"OM",datasetCodes:["om-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Pakistan",iso3Code:"PAK",iso2Code:"PK",datasetCodes:["pk-address-ed"],searchTypes:["singleline","validate"]},{country:"Pakistan",iso3Code:"PAK",iso2Code:"PK",datasetCodes:["pk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Palau",iso3Code:"PLW",iso2Code:"PW",datasetCodes:["pw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Palestine",iso3Code:"PSE",iso2Code:"PS",datasetCodes:["ps-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Panama",iso3Code:"PAN",iso2Code:"PA",datasetCodes:["pa-address-ed"],searchTypes:["singleline","validate"]},{country:"Panama",iso3Code:"PAN",iso2Code:"PA",datasetCodes:["pa-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Papua New Guinea",iso3Code:"PNG",iso2Code:"PG",datasetCodes:["pg-address-ed"],searchTypes:["singleline","validate"]},{country:"Papua New Guinea",iso3Code:"PNG",iso2Code:"PG",datasetCodes:["pg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Paraguay",iso3Code:"PRY",iso2Code:"PY",datasetCodes:["py-address-ed"],searchTypes:["singleline","validate"]},{country:"Paraguay",iso3Code:"PRY",iso2Code:"PY",datasetCodes:["py-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Peru",iso3Code:"PER",iso2Code:"PE",datasetCodes:["pe-address-ed"],searchTypes:["singleline","validate"]},{country:"Peru",iso3Code:"PER",iso2Code:"PE",datasetCodes:["pe-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Philippines",iso3Code:"PHL",iso2Code:"PH",datasetCodes:["ph-address-ed"],searchTypes:["singleline","validate"]},{country:"Philippines",iso3Code:"PHL",iso2Code:"PH",datasetCodes:["ph-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Pitcairn Islands",iso3Code:"PCN",iso2Code:"PN",datasetCodes:["pn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Poland",iso3Code:"POL",iso2Code:"PL",datasetCodes:["pl-address-ed"],searchTypes:["singleline","validate"]},{country:"Poland",iso3Code:"POL",iso2Code:"PL",datasetCodes:["pl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Portugal",iso3Code:"PRT",iso2Code:"PT",datasetCodes:["pt-address-ed"],searchTypes:["singleline","validate"]},{country:"Portugal",iso3Code:"PRT",iso2Code:"PT",datasetCodes:["pt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Qatar",iso3Code:"QAT",iso2Code:"QA",datasetCodes:["qa-address-ed"],searchTypes:["singleline","validate"]},{country:"Qatar",iso3Code:"QAT",iso2Code:"QA",datasetCodes:["qa-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Romania",iso3Code:"ROU",iso2Code:"RO",datasetCodes:["ro-address-ed"],searchTypes:["singleline","validate"]},{country:"Romania",iso3Code:"ROU",iso2Code:"RO",datasetCodes:["ro-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Russian Federation",iso3Code:"RUS",iso2Code:"RU",datasetCodes:["ru-address-ed"],searchTypes:["singleline","validate"]},{country:"Russian Federation",iso3Code:"RUS",iso2Code:"RU",datasetCodes:["ru-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Rwanda",iso3Code:"RWA",iso2Code:"RW",datasetCodes:["rw-address-ed"],searchTypes:["singleline","validate"]},{country:"Rwanda",iso3Code:"RWA",iso2Code:"RW",datasetCodes:["rw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Réunion",iso3Code:"REU",iso2Code:"RE",datasetCodes:["re-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Barthélemy",iso3Code:"BLM",iso2Code:"BL",datasetCodes:["bl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Helena",iso3Code:"SHN",iso2Code:"SH",datasetCodes:["sh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Kitts and Nevis",iso3Code:"KNA",iso2Code:"KN",datasetCodes:["kn-address-ed"],searchTypes:["singleline","validate"]},{country:"Saint Kitts and Nevis",iso3Code:"KNA",iso2Code:"KN",datasetCodes:["kn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Lucia",iso3Code:"LCA",iso2Code:"LC",datasetCodes:["lc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Martin",iso3Code:"MAF",iso2Code:"MF",datasetCodes:["mf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Pierre and Miquelon",iso3Code:"SPM",iso2Code:"PM",datasetCodes:["pm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saint Vincent and the Grenadines",iso3Code:"VCT",iso2Code:"VC",datasetCodes:["vc-address-ed"],searchTypes:["singleline","validate"]},{country:"Saint Vincent and the Grenadines",iso3Code:"VCT",iso2Code:"VC",datasetCodes:["vc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Samoa",iso3Code:"WSM",iso2Code:"WS",datasetCodes:["ws-address-ed"],searchTypes:["singleline","validate"]},{country:"Samoa",iso3Code:"WSM",iso2Code:"WS",datasetCodes:["ws-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"San Marino",iso3Code:"SMR",iso2Code:"SM",datasetCodes:["sm-address-ed"],searchTypes:["singleline","validate"]},{country:"San Marino",iso3Code:"SMR",iso2Code:"SM",datasetCodes:["sm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Sao Tome and Principe",iso3Code:"STP",iso2Code:"ST",datasetCodes:["st-address-ed"],searchTypes:["singleline","validate"]},{country:"Sao Tome and Principe",iso3Code:"STP",iso2Code:"ST",datasetCodes:["st-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Saudi Arabia",iso3Code:"SAU",iso2Code:"SA",datasetCodes:["sa-address-ed"],searchTypes:["singleline","validate"]},{country:"Saudi Arabia",iso3Code:"SAU",iso2Code:"SA",datasetCodes:["sa-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Senegal",iso3Code:"SEN",iso2Code:"SN",datasetCodes:["sn-address-ed"],searchTypes:["singleline","validate"]},{country:"Senegal",iso3Code:"SEN",iso2Code:"SN",datasetCodes:["sn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Serbia",iso3Code:"SRB",iso2Code:"RS",datasetCodes:["rs-address-ed"],searchTypes:["singleline","validate"]},{country:"Serbia",iso3Code:"SRB",iso2Code:"RS",datasetCodes:["rs-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Seychelles",iso3Code:"SYC",iso2Code:"SC",datasetCodes:["sc-address-ed"],searchTypes:["singleline","validate"]},{country:"Seychelles",iso3Code:"SYC",iso2Code:"SC",datasetCodes:["sc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Sierra Leone",iso3Code:"SLE",iso2Code:"SL",datasetCodes:["sl-address-ed"],searchTypes:["singleline","validate"]},{country:"Sierra Leone",iso3Code:"SLE",iso2Code:"SL",datasetCodes:["sl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Singapore",iso3Code:"SGP",iso2Code:"SG",datasetCodes:["sg-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Sint Maarten",iso3Code:"SXM",iso2Code:"SX",datasetCodes:["sx-address-ed"],searchTypes:["singleline","validate"]},{country:"Sint Maarten",iso3Code:"SXM",iso2Code:"SX",datasetCodes:["sx-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Slovakia",iso3Code:"SVK",iso2Code:"SK",datasetCodes:["sk-address-ed"],searchTypes:["singleline","validate"]},{country:"Slovakia",iso3Code:"SVK",iso2Code:"SK",datasetCodes:["sk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Slovenia",iso3Code:"SVN",iso2Code:"SI",datasetCodes:["si-address-ed"],searchTypes:["singleline","validate"]},{country:"Slovenia",iso3Code:"SVN",iso2Code:"SI",datasetCodes:["si-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Solomon Islands",iso3Code:"SLB",iso2Code:"SB",datasetCodes:["sb-address-ed"],searchTypes:["singleline","validate"]},{country:"Solomon Islands",iso3Code:"SLB",iso2Code:"SB",datasetCodes:["sb-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Somalia",iso3Code:"SOM",iso2Code:"SO",datasetCodes:["so-address-ed"],searchTypes:["singleline","validate"]},{country:"Somalia",iso3Code:"SOM",iso2Code:"SO",datasetCodes:["so-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"South Africa",iso3Code:"ZAF",iso2Code:"ZA",datasetCodes:["za-address-ed"],searchTypes:["singleline","validate"]},{country:"South Africa",iso3Code:"ZAF",iso2Code:"ZA",datasetCodes:["za-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"South Georgia and the South Sandwich Islands",iso3Code:"SGS",iso2Code:"GS",datasetCodes:["gs-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"South Sudan",iso3Code:"SSD",iso2Code:"SS",datasetCodes:["ss-address-ed"],searchTypes:["singleline","validate"]},{country:"South Sudan",iso3Code:"SSD",iso2Code:"SS",datasetCodes:["ss-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCodes:["es-address"],searchTypes:["singleline","typedown"]},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCodes:["es-address-ed"],searchTypes:["validate"]},{country:"Spain",iso3Code:"ESP",iso2Code:"ES",datasetCodes:["es-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Sri Lanka",iso3Code:"LKA",iso2Code:"LK",datasetCodes:["lk-address-ed"],searchTypes:["singleline","validate"]},{country:"Sudan",iso3Code:"SDN",iso2Code:"SD",datasetCodes:["sd-address-ed"],searchTypes:["singleline","validate"]},{country:"Sudan",iso3Code:"SDN",iso2Code:"SD",datasetCodes:["sd-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Suriname",iso3Code:"SUR",iso2Code:"SR",datasetCodes:["sr-address-ed"],searchTypes:["singleline","validate"]},{country:"Suriname",iso3Code:"SUR",iso2Code:"SR",datasetCodes:["sr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Svalbard and Jan Mayen Islands",iso3Code:"SJM",iso2Code:"SJ",datasetCodes:["sj-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Swaziland (Eswatini)",iso3Code:"SWZ",iso2Code:"SZ",datasetCodes:["sz-address-ed"],searchTypes:["singleline","validate"]},{country:"Swaziland (Eswatini)",iso3Code:"SWZ",iso2Code:"SZ",datasetCodes:["sz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCodes:["se-address"],searchTypes:["singleline","typedown"]},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCodes:["se-address-ed"],searchTypes:["validate"]},{country:"Sweden",iso3Code:"SWE",iso2Code:"SE",datasetCodes:["se-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCodes:["ch-address"],searchTypes:["singleline","typedown"]},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCodes:["ch-address-ed"],searchTypes:["validate"]},{country:"Switzerland",iso3Code:"CHE",iso2Code:"CH",datasetCodes:["ch-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Syria",iso3Code:"SYR",iso2Code:"SY",datasetCodes:["sy-address-ed"],searchTypes:["singleline","validate"]},{country:"Syria",iso3Code:"SYR",iso2Code:"SY",datasetCodes:["sy-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Taiwan",iso3Code:"TWN",iso2Code:"TW",datasetCodes:["tw-address-ed"],searchTypes:["singleline","validate"]},{country:"Taiwan",iso3Code:"TWN",iso2Code:"TW",datasetCodes:["tw-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tajikistan",iso3Code:"TJK",iso2Code:"TJ",datasetCodes:["tj-address-ed"],searchTypes:["singleline","validate"]},{country:"Tajikistan",iso3Code:"TJK",iso2Code:"TJ",datasetCodes:["tj-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tanzania",iso3Code:"TZA",iso2Code:"TZ",datasetCodes:["tz-address-ed"],searchTypes:["singleline","validate"]},{country:"Tanzania",iso3Code:"TZA",iso2Code:"TZ",datasetCodes:["tz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Thailand",iso3Code:"THA",iso2Code:"TH",datasetCodes:["th-address-ed"],searchTypes:["singleline","validate"]},{country:"Thailand",iso3Code:"THA",iso2Code:"TH",datasetCodes:["th-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Timor-Leste",iso3Code:"TLS",iso2Code:"TL",datasetCodes:["tl-address-ed"],searchTypes:["singleline","validate"]},{country:"Timor-Leste",iso3Code:"TLS",iso2Code:"TL",datasetCodes:["tl-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Togo",iso3Code:"TGO",iso2Code:"TG",datasetCodes:["tg-address-ed"],searchTypes:["singleline","validate"]},{country:"Togo",iso3Code:"TGO",iso2Code:"TG",datasetCodes:["tg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tokelau",iso3Code:"TKL",iso2Code:"TK",datasetCodes:["tk-address-ed"],searchTypes:["singleline","validate"]},{country:"Tokelau",iso3Code:"TKL",iso2Code:"TK",datasetCodes:["tk-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tonga",iso3Code:"TON",iso2Code:"TO",datasetCodes:["to-address-ed"],searchTypes:["singleline","validate"]},{country:"Tonga",iso3Code:"TON",iso2Code:"TO",datasetCodes:["to-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Trinidad and Tobago",iso3Code:"TTO",iso2Code:"TT",datasetCodes:["tt-address-ed"],searchTypes:["singleline","validate"]},{country:"Trinidad and Tobago",iso3Code:"TTO",iso2Code:"TT",datasetCodes:["tt-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tunisia",iso3Code:"TUN",iso2Code:"TN",datasetCodes:["tn-address-ed"],searchTypes:["singleline","validate"]},{country:"Tunisia",iso3Code:"TUN",iso2Code:"TN",datasetCodes:["tn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Turkey",iso3Code:"TUR",iso2Code:"TR",datasetCodes:["tr-address-ed"],searchTypes:["singleline","validate"]},{country:"Turkey",iso3Code:"TUR",iso2Code:"TR",datasetCodes:["tr-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Turkish Republic of Northern Cyprus",iso3Code:"NCY",iso2Code:"CY",datasetCodes:["ny-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Turkmenistan",iso3Code:"TKM",iso2Code:"TM",datasetCodes:["tm-address-ed"],searchTypes:["singleline","validate"]},{country:"Turkmenistan",iso3Code:"TKM",iso2Code:"TM",datasetCodes:["tm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Turks and Caicos Islands",iso3Code:"TCA",iso2Code:"TC",datasetCodes:["tc-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Tuvalu",iso3Code:"TUV",iso2Code:"TV",datasetCodes:["tv-address-ed"],searchTypes:["singleline","validate"]},{country:"Tuvalu",iso3Code:"TUV",iso2Code:"TV",datasetCodes:["tv-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Uganda",iso3Code:"UGA",iso2Code:"UG",datasetCodes:["ug-address-ed"],searchTypes:["singleline","validate"]},{country:"Uganda",iso3Code:"UGA",iso2Code:"UG",datasetCodes:["ug-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Ukraine",iso3Code:"UKR",iso2Code:"UA",datasetCodes:["ua-address-ed"],searchTypes:["singleline","validate"]},{country:"Ukraine",iso3Code:"UKR",iso2Code:"UA",datasetCodes:["ua-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"United Arab Emirates",iso3Code:"ARE",iso2Code:"AE",datasetCodes:["ae-address-ed"],searchTypes:["singleline","validate"]},{country:"United Arab Emirates",iso3Code:"ARE",iso2Code:"AE",datasetCodes:["ae-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"United Kingdom",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-multipleresidence","gb-additional-notyetbuilt"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2","combined"]},{country:"United Kingdom (Postal Address File only)",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2","combined"]},{country:"United Kingdom AddressBase Premium",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-address-addressbase"],searchTypes:["singleline","typedown","validate","lookup"]},{country:"United Kingdom AddressBase Premium with Islands",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-addressbaseislands"],searchTypes:["singleline","typedown","validate","lookup"]},{country:"United Kingdom Business Names",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-business"],searchTypes:["autocomplete","singleline","typedown"]},{country:"United Kingdom Multiple Residence",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-multipleresidence"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2","combined"]},{country:"United Kingdom Not Yet Built",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-notyetbuilt"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2","combined"]},{country:"United Kingdom Utilities (Electricity and Gas)",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-electricity","gb-additional-gas"],searchTypes:["autocomplete","singleline","typedown","lookupv2","combined"]},{country:"United Kingdom Street Level",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-address-streetlevel"],searchTypes:["singleline","typedown"]},{country:"United Kingdom Extended Business",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-additional-businessextended"],searchTypes:["singleline","typedown","validate","lookup"]},{country:"United Kingdom Cymraeg (Welsh Language) Postal Address",iso3Code:"GBR",iso2Code:"GB",datasetCodes:["gb-address-wales"],searchTypes:["singleline","typedown","validate"]},{country:"United States of America",iso3Code:"USA",iso2Code:"US",datasetCodes:["us-address"],searchTypes:["autocomplete","singleline","typedown","validate","lookupv2"]},{country:"Uruguay",iso3Code:"URY",iso2Code:"UY",datasetCodes:["uy-address-ed"],searchTypes:["singleline","validate"]},{country:"Uruguay",iso3Code:"URY",iso2Code:"UY",datasetCodes:["uy-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Uzbekistan",iso3Code:"UZB",iso2Code:"UZ",datasetCodes:["uz-address-ed"],searchTypes:["singleline","validate"]},{country:"Uzbekistan",iso3Code:"UZB",iso2Code:"UZ",datasetCodes:["uz-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Vanuatu",iso3Code:"VUT",iso2Code:"VU",datasetCodes:["vu-address-ed"],searchTypes:["singleline","validate"]},{country:"Vanuatu",iso3Code:"VUT",iso2Code:"VU",datasetCodes:["vu-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Vatican City (Holy See)",iso3Code:"VAT",iso2Code:"VA",datasetCodes:["va-address-ed"],searchTypes:["singleline","validate"]},{country:"Vatican City (Holy See)",iso3Code:"VAT",iso2Code:"VA",datasetCodes:["va-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Venezuela",iso3Code:"VEN",iso2Code:"VE",datasetCodes:["ve-address-ed"],searchTypes:["singleline","validate"]},{country:"Venezuela",iso3Code:"VEN",iso2Code:"VE",datasetCodes:["ve-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Viet Nam",iso3Code:"VNM",iso2Code:"VN",datasetCodes:["vn-address-ed"],searchTypes:["singleline","validate"]},{country:"Viet Nam",iso3Code:"VNM",iso2Code:"VN",datasetCodes:["vn-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Virgin Islands, British",iso3Code:"VGB",iso2Code:"VG",datasetCodes:["vg-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Virgin Islands, U.S.",iso3Code:"VIR",iso2Code:"VI",datasetCodes:["vi-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Wallis and Futuna Islands",iso3Code:"WLF",iso2Code:"WF",datasetCodes:["wf-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Western Sahara",iso3Code:"ESH",iso2Code:"EH",datasetCodes:["eh-address-ed"],searchTypes:["singleline","validate"]},{country:"Western Sahara",iso3Code:"ESH",iso2Code:"EH",datasetCodes:["eh-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Yemen",iso3Code:"YEM",iso2Code:"YE",datasetCodes:["ye-address-ed"],searchTypes:["singleline","validate"]},{country:"Yemen",iso3Code:"YEM",iso2Code:"YE",datasetCodes:["ye-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Zambia",iso3Code:"ZMB",iso2Code:"ZM",datasetCodes:["zm-address-ed"],searchTypes:["singleline","validate"]},{country:"Zambia",iso3Code:"ZMB",iso2Code:"ZM",datasetCodes:["zm-address-eh"],searchTypes:["autocomplete","lookupv2"]},{country:"Zimbabwe",iso3Code:"ZWE",iso2Code:"ZW",datasetCodes:["zw-address-ed"],searchTypes:["singleline","validate"]},{country:"Zimbabwe",iso3Code:"ZWE",iso2Code:"ZW",datasetCodes:["zw-address-eh"],searchTypes:["autocomplete","lookupv2"]}],c=[{countryIso:"GBR",minLength:4,mode:s.POSTAL_CODE,format:/^[A-Za-z]{1,2}[0-9][A-Za-z0-9]? ?[0-9][A-Za-z]{0,2}$/},{countryIso:"GBR",minLength:null,mode:s.WHAT3WORDS,format:/^\/{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})$/},{countryIso:"GBR",minLength:null,mode:s.MPAN,format:/^\d{13,21}$/},{countryIso:"GBR",minLength:null,mode:s.MPRN,format:/^\d{8,10}$/},{countryIso:"GBR",minLength:null,mode:s.UDPRN,format:/^\d{8}$/}],u={en:{gbr:{locality:"Locality",region:"Region",postal_code:"Postal code"},usa:{locality:"Locality",region:"Region",postal_code:"Postal code"}}},p=function(){this.size=0,this.maxSuggestions=25},h=function(){this.detailsMap=new Map},y="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"},m="AUS Consumer View Household",g={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"},v="NZL Geocodes",_={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",A={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level",udprn:"UDPRN",uprn:"UPRN",x_coordinate:"X Coordinate",y_coordinate:"Y Coordinate"},S={latitude:"Latitude",longitude:"Longitude",name:"Name",description:"Description"},M="Global Geocodes",L={latitude:"Latitude",longitude:"Longitude",match_level:"Match Level"},E={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"}]},R={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"}]},N={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"}]},I=function(){function o(s){var o=this;this.countryDropdown=[],this.componentsCollectionMap=new Map,this.metadataCollectionMap=new Map,this.geocodes=new h,this.cvHousehold=new h,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 s={text:"".concat(this.svg," <em>Powered by Experian</em>"),format:""},o=e.createListItem(s);return o.classList.add("powered-by-experian"),e.list.parentNode.appendChild(o),o},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(s){if(o.searchSpinner.hide(),o.picklist.hide(),o.lastSearchTerm="",o.searchType===e.AUTOCOMPLETE||s.result.address&&s.result.confidence!==a.NO_MATCHES){o.inputs.forEach((function(e){return e.value=""})),o.result.calculateIfAddressLineGenerationRequired(),o.result.formattedAddressContainer=o.options.elements.formattedAddressContainer,!o.result.formattedAddressContainer&&o.result.generateAddressLineRequired&&o.result.createFormattedAddressContainer();for(var t=0;t<Object.keys(s.result.address).length;t++){var i=Object.keys(s.result.address)[t],d=s.result.address[i];o.result.updateAddressLine(i,d,"address-line-input")}o.componentsCollectionMap.clear();var r=s.result.components;if(r)for(t=0;t<Object.keys(r).length;t++)i=Object.keys(r)[t],o.componentsCollectionMap.set(i,r[i]);o.metadataCollectionMap.clear();var n=s.metadata;if(n)for(t=0;t<Object.keys(n).length;t++)i=Object.keys(n)[t],o.metadataCollectionMap.set(i,n[i]);if(o.toggleSearchInputs("hide"),o.hasSearchInputBeenReset=!0,o.searchType===e.AUTOCOMPLETE)for(var l in o.options.elements)if(Object.prototype.hasOwnProperty.call(o.options.elements,l)&&"input"!==l&&o.options.elements[l]===o.inputs[0]){o.hasSearchInputBeenReset=!1;break}o.result.createSearchAgainLink()}o.events.trigger("post-formatting-search",s)},showLookupV2:function(e){if(o.searchSpinner.hide(),o.picklist.hide(),o.lastSearchTerm="",e.result.addresses_formatted){o.inputs.forEach((function(e){return e.value=""})),o.result.calculateIfAddressLineGenerationRequired(),o.result.formattedAddressContainer=o.options.elements.formattedAddressContainer,!o.result.formattedAddressContainer&&o.result.generateAddressLineRequired&&o.result.createFormattedAddressContainer();var s={};e.result.addresses_formatted[0].address.gas_meters?s={address_line_1:e.result.addresses_formatted[0].address.gas_meters[0].rel_address_primary_name,address_line_2:e.result.addresses_formatted[0].address.gas_meters[0].rel_address_street1,locality:e.result.addresses_formatted[0].address.gas_meters[0].rel_address_town,postal_code:e.result.addresses_formatted[0].address.gas_meters[0].rel_address_postcode,country:e.result.addresses_formatted[0].address.gas_meters[0].rel_address_country?e.result.addresses_formatted[0].address.gas_meters[0].rel_address_country:"United Kingdom"}:e.result.addresses_formatted[0].address.electricity_meters&&(s={address_line_1:e.result.addresses_formatted[0].address.electricity_meters[0].address_line_3,address_line_2:e.result.addresses_formatted[0].address.electricity_meters[0].address_line_5,locality:e.result.addresses_formatted[0].address.electricity_meters[0].address_line_8,postal_code:e.result.addresses_formatted[0].address.electricity_meters[0].address_postal_code,country:e.result.addresses_formatted[0].address.electricity_meters[0].address_country?e.result.addresses_formatted[0].address.electricity_meters[0].address_country:"United Kingdom"});for(var t=0;t<Object.keys(s).length;t++){var i=Object.keys(s)[t],a=s[i];o.result.updateAddressLine(i,a,"address-line-input")}o.toggleSearchInputs("hide"),o.hasSearchInputBeenReset=!0,o.result.createSearchAgainLink()}o.events.trigger("post-formatting-search",e)},hide:function(){for(var e in o.result.formattedAddressContainer&&(o.result.formattedAddressContainer.parentNode.removeChild(o.result.formattedAddressContainer),o.result.formattedAddressContainer=void 0),o.options.searchAgain.link&&(o.options.searchAgain.link.parentNode.removeChild(o.options.searchAgain.link),o.options.searchAgain.link=void 0),o.options.elements)if(Object.prototype.hasOwnProperty.call(o.options.elements,e))for(var s=0;s<n.addressLineLabels.length;s++)if(n.addressLineLabels[s]===e&&o.options.elements[e]!==o.inputs[0]){o.options.elements[e].value="";break}},createAddressLine:{input:function(e,s,o){var t=document.createElement("div");t.classList.add(o);var i=document.createElement("label");i.innerHTML=e.replace(/([A-Z])/g," $1").replace(/([0-9])/g," $1").replace(/^./,(function(e){return e.toUpperCase()})),t.appendChild(i);var a=document.createElement("input");return a.setAttribute("type","text"),a.setAttribute("name",e),a.setAttribute("value",s),t.appendChild(a),t},label:function(e){var s=e,t=o.options.language.toLowerCase(),i=o.currentCountryCode.toLowerCase();if(u)try{var a=u[t][i][e];a&&(s=a)}catch(e){}return s}},createFormattedAddressContainer:function(){var s=document.createElement("div");s.classList.add("formatted-address");var t=o.searchType===e.SINGLELINE?o.inputs.length-1:0;o.inputs[t].parentNode.insertBefore(s,o.inputs[t].nextSibling),o.result.formattedAddressContainer=s},createHeading:function(){if(o.options.formattedAddressContainer.showHeading){var e=document.createElement(o.options.formattedAddressContainer.headingType);e.innerHTML=o.options.formattedAddressContainer.validatedHeadingText,o.result.formattedAddressContainer.appendChild(e)}},updateHeading:function(e){o.options.formattedAddressContainer.showHeading&&(o.result.formattedAddressContainer.querySelector(o.options.formattedAddressContainer.headingType).innerHTML=e)},calculateIfAddressLineGenerationRequired:function(){o.result.generateAddressLineRequired=!0;for(var e=0;e<n.addressLineLabels.length;e++){var s=n.addressLineLabels[e];if(o.options.elements[s]){o.result.generateAddressLineRequired=!1;break}}},updateAddressLine:function(e,s,t){if(o.options.elements[e]){var i=o.options.elements[e];o.result.updateLabel(e);var a=s;i.value&&a&&(a=", "+a),"INPUT"===i.nodeName||"TEXTAREA"===i.nodeName||"SELECT"===i.nodeName?i.value+=a:i.innerText+=a,o.result.lastAddressField=i}else if(o.result.generateAddressLineRequired){var d=o.result.createAddressLine.label(e),r=o.result.createAddressLine.input(d,s,t);o.result.formattedAddressContainer.appendChild(r)}},updateLabel:function(e){var s=e,t=o.options.language.toLowerCase(),i=o.currentCountryCode.toLowerCase();if(u)try{var a=u[t][i][e];if(a){s=a;for(var d=document.getElementsByTagName("label"),r=0;r<d.length;r++)d[r].htmlFor===e&&(d[r].innerHTML=a)}}catch(e){}return s},createSearchAgainLink:function(){if(o.options.searchAgain.visible){var e=document.createElement("button");e.setAttribute("type","button"),e.classList.add("search-again-button"),e.innerText=o.options.searchAgain.text,e.addEventListener("click",o.globalReset.bind(o)),o.options.searchAgain.link=e,o.result.formattedAddressContainer?o.result.formattedAddressContainer.appendChild(e):o.result.lastAddressField&&o.result.lastAddressField.parentNode.insertBefore(e,o.result.lastAddressField.nextSibling)}},renderInputList:function(e){if(e.length>0)for(var s=0;s<e.length;s++)o.result.formattedAddressContainer.appendChild(e[s])},handleUtilitiesLookupResponse:function(e){e.result.confidence===a.VERIFIED_MATCH?e.result.addresses_formatted&&o.result.showLookupV2(e):"No matches"===e.result.confidence&&o.picklist.handleEmptyPicklist(e),o.events.trigger("post-formatting-search",e)},handleValidateResponse:function(e){e.result.confidence===a.VERIFIED_MATCH||e.result.confidence===a.INTERACTION_REQUIRED?e.result.address?o.result.show(e):e.result.suggestions&&o.format(e.result.suggestions[0].format):e.result.suggestions?o.picklist.show(e):"No matches"===e.result.confidence&&o.picklist.handleEmptyPicklist(e)},handleEnrichmentResponse:function(e){var s,t,i,a,d,r,n=o.geocodes.detailsMap,l=o.cvHousehold.detailsMap;n.clear(),l.clear(),o.premiumLocationInsightMap.clear(),e.result.aus_regional_geocodes?(o.geocodes.title=y,o.cvHousehold.title=m,s=Object.entries(e.result.aus_regional_geocodes),t=new Map(Object.entries(C)),a=Object.entries(e.result.aus_cv_household),d=new Map(Object.entries(g)),r=new Map(Object.entries(E)),i=new Map(Object.entries(N))):e.result.nzl_regional_geocodes?(o.geocodes.title=v,o.cvHousehold.title=T,s=Object.entries(e.result.nzl_regional_geocodes),t=new Map(Object.entries(_)),a=Object.entries(e.result.nzl_cv_household),d=new Map(Object.entries(f)),r=new Map(Object.entries(R))):e.result.usa_regional_geocodes?(o.geocodes.title=k,s=Object.entries(e.result.usa_regional_geocodes),t=new Map(Object.entries(b))):e.result.uk_location_essential?(o.geocodes.title=w,s=Object.entries(e.result.uk_location_essential),t=new Map(Object.entries(A))):(o.geocodes.title=M,s=Object.entries(e.result.geocodes),t=new Map(Object.entries(L)));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],h=c[p];Array.isArray(h)&&1===h.length?o.premiumLocationInsightMap.set(p,h[0]):o.premiumLocationInsightMap.set(p,h)}o.populateResponseToMap(s,t,i,n),o.populateResponseToMap(a,d,r,l),o.events.trigger("post-enrichment",e)}},this.searchSpinner={show:function(){var e;if(o.options.useSpinner){var s=document.createElement("div");s.classList.add("loader"),s.classList.add("loader-inline");var t=document.createElement("div");t.classList.add("spinner"),s.appendChild(t),null===(e=o.inputs[0].parentNode)||void 0===e||e.insertBefore(s,o.inputs[0].nextSibling)}},hide:function(){var e,s;if(o.options.useSpinner){var t=null===(e=o.inputs[0].parentNode)||void 0===e?void 0:e.querySelector(".loader-inline");t&&(null===(s=o.inputs[0].parentNode)||void 0===s||s.removeChild(t))}}},this.options=this.mergeDefaultOptions(s),this.events=new t,this.setup()}return o.prototype.setToken=function(e){this.options.token=e,this.setup()},o.prototype.setSearchType=function(e){this.searchType=e,this.globalReset(),this.setInputs(),this.events.trigger("post-search-type-change",e)},o.prototype.getLookupEnrichmentData=function(e){if(e){var s={geocodes:Object.keys(L),premium_location_insight:["geocodes","geocodes_building_xy","geocodes_access","time"]};this.callEnrichment(e,s)}},o.prototype.getEnrichmentData=function(e){this.events.trigger("pre-enrichment"),this.result.handleEnrichmentResponse(e)},o.prototype.getEnrichmentAttributes=function(e){if(e){var s=["geocodes","geocodes_building_xy","geocodes_access","time"];return"NZL"==this.currentCountryCode?{nzl_regional_geocodes:Object.keys(_),nzl_cv_household:Object.keys(f),premium_location_insight:s}:"AUS"==this.currentCountryCode?{aus_regional_geocodes:Object.keys(C),aus_cv_household:Object.keys(g),premium_location_insight:s}:"USA"==this.currentCountryCode?{usa_regional_geocodes:Object.keys(b),premium_location_insight:s}:"GBR"==this.currentCountryCode?{uk_location_essential:Object.keys(A),what3words:Object.keys(S),premium_location_insight:s}:{geocodes:Object.keys(L),premium_location_insight:s}}},o.prototype.callEnrichment=function(e,s){var o={country_iso:this.currentCountryCode,keys:{global_address_key:e},attributes:s};this.events.trigger("pre-enrichment"),this.request.send(this.baseUrl+this.enrichmentEndpoint,"POST",this.result.handleEnrichmentResponse,JSON.stringify(o))},o.prototype.setup=function(){var o=this;this.token?(this.hasSearchInputBeenReset=!0,this.request=new i(this),this.setCountryList(),this.setInputs(),this.createPicklist(),this.searchType=e.COMBINED,this.avMode=s.SEARCH):setTimeout((function(){return o.events.trigger("request-error-401")}))},o.prototype.getParameter=function(e){e=e.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var s=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(location.search);return null===s?"":decodeURIComponent(s[1].replace(/\+/g," "))},Object.defineProperty(o.prototype,"token",{get:function(){return this.options.token||(this.options.token=this.getParameter("token")),this.options.token},enumerable:!1,configurable:!0}),o.prototype.mergeDefaultOptions=function(e){var s=e||{};return s.enabled=!0,this.searchType=s.searchType||n.searchType,s.searchType=s.searchType||n.searchType,s.language=s.language||n.language,s.useSpinner=s.useSpinner||n.useSpinner,s.applyFocus=void 0!==s.applyFocus?s.applyFocus:n.input.applyFocus,s.placeholderText=s.placeholderText||n.input.placeholderText,s.searchAgain=s.searchAgain||{},s.searchAgain.visible=void 0!==s.searchAgain.visible?s.searchAgain.visible:n.searchAgain.visible,s.searchAgain.text=s.searchAgain.text||n.searchAgain.text,s.formattedAddressContainer=s.formattedAddressContainer||n.formattedAddressContainer,s.formattedAddressContainer.showHeading=void 0!==s.formattedAddressContainer.showHeading?s.formattedAddressContainer.showHeading:n.formattedAddressContainer.showHeading,s.formattedAddressContainer.headingType=s.formattedAddressContainer.headingType||n.formattedAddressContainer.headingType,s.formattedAddressContainer.validatedHeadingText=s.formattedAddressContainer.validatedHeadingText||n.formattedAddressContainer.validatedHeadingText,s.formattedAddressContainer.manualHeadingText=s.formattedAddressContainer.manualHeadingText||n.formattedAddressContainer.manualHeadingText,s.useAddressEnteredText=s.useAddressEnteredText||n.useAddressEnteredText,s.elements=s.elements||{},s},o.prototype.getPromptset=function(){var s=this;if(this.currentCountryCode){if(this.currentDataSet=this.lookupDatasetCodes(),this.currentDataSet){if(this.searchType===e.AUTOCOMPLETE||this.searchType===e.COMBINED)return void setTimeout((function(){return s.handlePromptsetResult({result:{lines:[{example:s.options.placeholderText,prompt:"Address",suggested_input_length:160}]}})}));if(this.searchType===e.VALIDATE){var o=[{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 s.handlePromptsetResult({result:{lines:o}})}))}if(this.searchType===e.LOOKUPV2){var t=JSON.stringify(this.currentDataSet.map((function(e){return e.toUpperCase()})).sort()),i=[{prompt:"Lookup type",suggested_input_length:160,dropdown_options:Object.values(d).filter((function(e){return 0==e.dataset.length||e.dataset.map((function(e){return JSON.stringify(e.map((function(e){return e.toUpperCase()})).sort())})).some((function(e){return e==t}))}))},{prompt:'Return addresses - if "true" 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 s.handlePromptsetResult({result:{lines:i}})}))}var a={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(a))}this.events.trigger("error-display","Unsupported search type '"+this.searchType+"' for country dataset '"+this.currentCountryName+"'.")}},o.prototype.lookupDatasetCodes=function(){var e=this,s=l.find((function(s){return s.iso3Code===e.currentCountryCode&&s.country===e.currentCountryName&&s.searchTypes.includes(e.searchType)}));if(s)return s.datasetCodes},o.prototype.lookupSearchTypes=function(s,o){var t=l.filter((function(e){return e.iso3Code===s&&e.country===o}));if(t.length>0){var i=Object.values(e);return t.flatMap((function(e){return e.searchTypes})).map((function(s){return e[s.toUpperCase()]})).sort((function(e,s){return i.indexOf(e)-i.indexOf(s)}))}},o.prototype.readPredefinedFormats=function(){var e=this,s=c.filter((function(s){return s.countryIso===e.currentCountryCode}));if(s)return s},o.prototype.handlePromptsetResult=function(e){this.picklist.hide(),this.events.trigger("post-promptset-check",e)},o.prototype.setInputs=function(s){void 0===s&&(s=this.options.elements.inputs),s?this.registerInputs(s):this.getPromptset(),this.searchType!==e.AUTOCOMPLETE&&this.searchType!==e.COMBINED&&this.options.elements.lookupButton&&(this.lookupFn=this.search.bind(this),this.options.elements.lookupButton.addEventListener("click",this.lookupFn))},o.prototype.registerInputs=function(s){var o=this;this.inputs=Array.from(s),this.inputs.forEach((function(s){s.setAttribute(e.AUTOCOMPLETE,"new-password"),s.setAttribute(e.COMBINED,"new-password"),o.searchType!==e.AUTOCOMPLETE&&o.searchType!==e.COMBINED||(o.keyUpFn=o.search.bind(o),s.addEventListener("keyup",o.keyUpFn),o.checkTabFn=o.checkTab.bind(o),s.addEventListener("keydown",o.checkTabFn),s.setAttribute("placeholder",o.options.placeholderText)),s.addEventListener("keyup",o.handleKeyboardEvent.bind(o))})),this.countryCodeMapping=this.options.countryCodeMapping||{},this.options.applyFocus&&this.inputs[0].focus()},o.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}},o.prototype.handleDatasetsResponse=function(e){var s=this,o=e.result;if(this.countryDropdown=[],o&&o.length>0){for(var t=0,i=o;t<i.length;t++){for(var a=i[t],d=function(e){var s=l.find((function(s){return 1==s.datasetCodes.length&&s.datasetCodes[0]===e.id}));s&&!r.countryDropdown.find((function(e){return e.country===s.country}))&&r.countryDropdown.push(s)},r=this,n=0,c=Object.values(a.datasets);n<c.length;n++)d(c[n]);a.valid_combinations&&a.valid_combinations.forEach((function(e){var o=e.slice().sort(),t=l.find((function(e){return Array.isArray(e.datasetCodes)&&e.datasetCodes.length===o.length&&e.datasetCodes.slice().sort().every((function(e,s){return e===o[s]}))}));t&&!s.countryDropdown.find((function(e){return e.country===t.country}))&&s.countryDropdown.push(t)}))}this.countryDropdown.sort((function(e,s){return e.country.localeCompare(s.country)})),this.events.trigger("post-datasets-update")}},o.prototype.handleCountryListChange=function(){var o=this.options.elements.countryList;this.currentCountryCode=o.value,this.currentCountryName=o[o.selectedIndex].label,this.getPromptset();var t=this.lookupSearchTypes(this.currentCountryCode,this.currentCountryName),i=!1;null!==this.searchType&&(i=t.indexOf(this.searchType)>=0),i||(this.searchType=e[t[0].toUpperCase()],this.setInputs(),this.events.trigger("post-search-type-change",this.searchType)),this.avMode=s.SEARCH,this.events.trigger("post-country-list-change",t,this.searchType)},o.prototype.generateSearchDataForApiCall=function(){this.currentDataSet||(this.currentDataSet=this.lookupDatasetCodes());var s={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||(s.attributes={},s.options=[{name:"flatten",Value:"true"},{name:"intensity",Value:"close"},{name:"prompt_set",Value:"default"}],this.currentDataSet.includes("gb-address")||this.currentDataSet.includes("gb-additional-multipleresidence")||this.currentDataSet.includes("gb-additional-notyetbuilt")||this.currentDataSet.includes("gb-address-addressbase")||this.currentDataSet.includes("gb-additional-addressbaseislands")||this.currentDataSet.includes("gb-additional-business")||this.currentDataSet.includes("gb-additional-electricity")||this.currentDataSet.includes("gb-additional-gas")||this.currentDataSet.includes("gb-address-streetlevel")||this.currentDataSet.includes("gb-additional-businessextended")||this.currentDataSet.includes("gb-address-wales")?s.attributes={uk_location_essential:["latitude","longitude","match_level","uprn","x_coordinate","y_coordinate","udprn"]}:this.currentDataSet.includes("us-address")?s.attributes={usa_location_insight:["delivery_point_barcode","dpc","check_digit","congressional_district_code","county_code","record_type","latitude","longitude","match_level","carrier_route","census_tract_number"]}:(this.currentDataSet.includes("au-address")||this.currentDataSet.includes("au-address-gnaf")||this.currentDataSet.includes("au-address-datafusion"))&&(s.attributes.AUS_CV_Household=["address","adults_at_address_code","adults_at_address_description","affluence_code","affluence_description","channel_preference","channel_preference_description","children_at_address_code_0_10_years","children_at_address_code_11_18_years","children_at_address_description_0_10_years","children_at_address_description_11_18_years","credit_demand_code","credit_demand_description","gnaf_latitude","gnaf_longitude","gnaf_pid","head_of_household_age_code","head_of_household_age_description","hin","household_composition_code","household_composition_description","household_income_code","household_income_description","length_of_residence_code","length_of_residence_description","lifestage_code","lifestage_description","local_government_area_code","local_government_area_name","meshblock","mosaic_group","mosaic_segment","mosaic_type","postcode","residential_flag","risk_insight_code","risk_insight_description","sa1","state","suburb","mosaic_factor1_percentile","mosaic_factor1_score","mosaic_factor2_percentile","mosaic_factor2_score","mosaic_factor3_percentile","mosaic_factor3_score","mosaic_factor4_percentile","mosaic_factor4_score","mosaic_factor5_percentile","mosaic_factor5_score"],s.attributes.aus_regional_geocodes=["latitude","longitude","match_level","sa1","meshblock","lga_code","lga_name","street_pid","locality_pid","geocode_level_code","geocode_level_description","geocode_type_code","geocode_type_description","highest_level_longitude","highest_level_latitude","highest_level_elevation","highest_level_planimetric_accuracy","highest_level_boundary_extent","highest_level_geocode_reliability_code","highest_level_geocode_reliability_description","confidence_level_code","confidence_level_description","2021_meshblock_id","2021_meshblock_code","2021_meshblock_match_code","2021_meshblock_match_description","2016_meshblock_id","2016_meshblock_code","2016_meshblock_match_code","2016_meshblock_match_description","address_type_code","primary_address_pid","address_join_type","collector_district_id","collector_district_code","commonwealth_electoral_boundary_id","commonwealth_electoral_boundary_name","statistical_local_area_id","statistical_local_area_code","statistical_local_area_name","state_electoral_boundary_id","state_electoral_boundary_name","state_electoral_effective_start","state_electoral_effective_end","state_electoral_new_pid","state_electoral_new_name","state_electoral_new_effective_start","state_electoral_new_effective_end","address_level_longitude","address_level_latitude","address_level_elevation","address_level_planimetric_accuracy","address_level_boundary_extent","address_level_geocode_reliability_code","address_level_geocode_reliability_description","street_level_longitude","street_level_latitude","street_level_planimetric_accuracy","street_level_boundary_extent","street_level_geocode_reliability_code","street_level_geocode_reliability_description","locality_level_longitude","locality_level_latitude","locality_level_planimetric_accuracy","locality_level_geocode_reliability_code","locality_level_geocode_reliability_description","gnaf_legal_parcel_identifier","locality_class_code"]),s.attributes.premium_location_insight=["geocodes","geocodes_access","geocodes_building_xy","time"],this.searchType===e.SINGLELINE&&s.options.push({name:"search_type",Value:"singleline"}),this.searchType===e.VALIDATE&&(s.layouts=["default"],s.layout_format="default")),this.options.location&&(s.location=this.options.location),JSON.stringify(s)},o.prototype.generateLookupDataForApiCall=function(e,o){this.currentDataSet||(this.currentDataSet=this.lookupDatasetCodes());var t=[],i=[];switch(o){case s.MPAN:this.currentDataSet.includes("gb-additional-electricity")&&t.push("gb-additional-electricity"),i.push("ElectricityUtilityLookup");break;case s.MPRN:this.currentDataSet.includes("gb-additional-gas")&&t.push("gb-additional-gas"),i.push("GasUtilityLookup");break;default:t=Array.isArray(this.currentDataSet)?this.currentDataSet:[this.currentDataSet]}var a={country_iso:this.currentCountryCode,datasets:t,max_suggestions:this.options.maxSuggestionsForLookup||this.picklist.maxSuggestions,key:{type:this.generateLookupType(o),value:e},layouts:i};return JSON.stringify(a)},o.prototype.getWhat3WordsLookupValue=function(e,s){return e.startsWith("///")&&s&&(e=e.slice(3)),e},o.prototype.handleKeyboardEvent=function(e){e.preventDefault();var s=this.getKey(e);if(this.picklist.size){if("ArrowUp"===s||"ArrowDown"===s||"Enter"===s)return void this.picklist.keyup(e)}else if("Enter"===s)return void this.search(e)},o.prototype.search=function(o){var t=this;o.preventDefault(),this.avMode=s.SEARCH;var i=(this.countryCodeMapping[this.currentCountryCode]||this.currentCountryCode).split(";");this.currentCountryCode=i[0],i[1]&&(this.currentDataSet=i[1]),""===this.currentSearchTerm&&(this.hasSearchInputBeenReset=!0);var a=this.isInternationalValidation()?"|":",";if(this.currentSearchTerm=this.inputs.map((function(e){return e.value})).join(a),this.canSearch()){this.request.currentRequest&&this.request.currentRequest.abort(),this.searchType==e.COMBINED&&this.readPredefinedFormats().find((function(e){e.format.test(t.currentSearchTerm.trim())&&(t.avMode=e.mode,t.currentSearchTerm=t.currentSearchTerm.trim())})),this.events.trigger("pre-search",this.currentSearchTerm),this.lastSearchTerm=this.currentSearchTerm,this.searchSpinner.hide(),this.searchSpinner.show();var d=void 0,r=void 0,n=void 0,l=void 0;if(this.searchType===e.LOOKUPV2){var c=this.currentSearchTerm.split(",");this.avMode=s[c[0].toUpperCase()],this.returnAddresses="true"===c[1],this.currentSearchTerm=c[2].trim()}switch(this.avMode){case s.WHAT3WORDS:l=this.generateLookupDataForApiCall(this.getWhat3WordsLookupValue(this.currentSearchTerm,!0),this.avMode),d=this.baseUrl+this.lookupV2Endpoint,r=[],n=this.picklist.showWhat3Words;break;case s.MPAN:case s.MPRN:this.returnAddresses=!0,l=this.generateLookupDataForApiCall(this.currentSearchTerm,this.avMode),d=this.baseUrl+this.lookupV2Endpoint,r=[{key:"Add-FinalAddress",value:!0}],n=this.result.handleUtilitiesLookupResponse;break;case s.UDPRN:case s.POSTAL_CODE:case s.LOCALITY:this.searchType===e.COMBINED&&(this.returnAddresses=!0),l=this.generateLookupDataForApiCall(this.currentSearchTerm,this.avMode),d=this.baseUrl+this.lookupV2Endpoint,r=[{key:"Add-Addresses",value:!0}],n=this.picklist.showLookup;break;default:l=this.generateSearchDataForApiCall(),d=this.baseUrl+(this.searchType===e.VALIDATE?this.validateEndpoint:this.searchEndpoint),r=this.searchType===e.VALIDATE?[{key:"Add-Components",value:!0},{key:"Add-Metadata",value:!0},{key:"Add-Enrichment",value:!0}]:[],n=this.searchType===e.VALIDATE?this.result.handleValidateResponse:this.picklist.show}this.request.send(d,"POST",n,l,r)}else this.lastSearchTerm!==this.currentSearchTerm&&this.picklist.hide()},o.prototype.getKey=function(e){var s=e.key;switch(s){case"Down":case"ArrowDown":return"ArrowDown";case"Up":case"ArrowUp":return"ArrowUp";case"Spacebar":case" ":return" ";case"Escape":case"Esc":return"Escape";default:return s}},o.prototype.canSearch=function(){return this.options.enabled&&""!==this.currentSearchTerm&&this.currentSearchTerm.length>3&&this.lastSearchTerm!==this.currentSearchTerm&&this.currentCountryCode&&!0===this.hasSearchInputBeenReset},o.prototype.createPicklist=function(){var s=this;this.picklist=new p,this.picklist.maxSuggestions=25,this.picklist.tabCount=-1,this.picklist.show=function(o){var t;s.picklist.items=null==o?void 0:o.result.suggestions,s.picklist.handleCommonShowPicklistLogic(),(null===(t=s.picklist.items)||void 0===t?void 0:t.length)>0?(s.picklist.refine.isNeeded(o)&&s.picklist.refine.createInput(o.result.suggestions_prompt,o.result.suggestions_key),s.searchType===e.VALIDATE&&s.picklist.displaySuggestionsHeader(),s.picklist.items.forEach((function(e){var o=s.picklist.createListItem(e);s.picklist.list.appendChild(o),s.picklist.listen(o)})),s.searchType===e.VALIDATE&&s.picklist.displayUseAddressEnteredFooter(),s.picklist.scrollIntoViewIfNeeded()):s.picklist.handleEmptyPicklist(o),s.poweredByLogo.element=s.poweredByLogo.element||s.poweredByLogo.create(s.picklist),s.events.trigger("post-picklist-create",s.picklist.items)},this.picklist.showWhat3Words=function(e){var o;s.picklist.what3wordsItems=null==e?void 0:e.result.suggestions,s.picklist.handleCommonShowPicklistLogic(),(null===(o=s.picklist.what3wordsItems)||void 0===o?void 0:o.length)>0?(s.picklist.what3wordsItems.forEach((function(e){var o=s.picklist.createWhat3WordsListItem(e);s.picklist.list.appendChild(o),s.picklist.listen(o)})),s.picklist.scrollIntoViewIfNeeded()):s.picklist.handleEmptyPicklist(e),s.poweredByLogo.element=s.poweredByLogo.element||s.poweredByLogo.create(s.picklist),s.events.trigger("post-picklist-create",s.picklist.items)},this.picklist.showLookup=function(e){var o=s.returnAddresses?null==e?void 0:e.result.addresses:null==e?void 0:e.result.suggestions;s.picklist.handleCommonShowPicklistLogic(),(null==o?void 0:o.length)>0?(o.forEach((function(e){var o=s.returnAddresses?s.picklist.createLookupListItem(e):s.picklist.createLookupSuggestionListItem(e);s.picklist.list.appendChild(o),s.picklist.listen(o)})),s.picklist.scrollIntoViewIfNeeded()):s.picklist.handleEmptyPicklist(e),s.poweredByLogo.element=s.poweredByLogo.element||s.poweredByLogo.create(s.picklist),s.events.trigger("post-picklist-create",s.picklist.items)},this.picklist.handleCommonShowPicklistLogic=function(){var e;s.picklist.currentItem=null,s.picklist.size=null===(e=s.picklist.items)||void 0===e?void 0:e.length,s.picklist.resetTabCount(),s.searchSpinner.hide(),s.picklist.list=s.picklist.list||s.picklist.createList(),s.picklist.list.innerHTML="",s.picklist.useAddressEntered.destroy(),s.events.trigger("pre-picklist-create",s.picklist.items)},this.picklist.hide=function(){if(s.picklist.currentItem=null,s.picklist.useAddressEntered.destroy(),s.poweredByLogo.destroy(s.picklist),s.inputs){var o=s.searchType===e.SINGLELINE?s.inputs.length-1:0;s.inputs[o].classList.remove("showing-suggestions")}s.picklist.list&&(s.picklist.container.remove(),s.picklist.list=void 0)},this.picklist.handleEmptyPicklist=function(e){var o;s.picklist.useAddressEntered.element=s.picklist.useAddressEntered.element||s.picklist.useAddressEntered.create(null===(o=e.result)||void 0===o?void 0:o.confidence),s.picklist.scrollIntoViewIfNeeded(),"function"==typeof s.picklist.handleEmptyPicklistCallback&&s.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:",s.picklist.list.parentNode.insertBefore(e,s.picklist.list)},this.picklist.displayUseAddressEnteredFooter=function(){var e=document.querySelector(".picklist-use-entered-container")||document.createElement("div");e.classList.add("picklist-use-entered-container"),s.picklist.list.parentNode.insertBefore(e,s.picklist.list.nextElementSibling);var o=document.querySelector(".picklist-use-entered-header")||document.createElement("div");o.classList.add("picklist-use-entered-header"),o.innerText="Or use address entered:",e.appendChild(o);var t=document.querySelector(".picklist-use-entered-option")||document.createElement("div");t.classList.add("picklist-use-entered-option"),t.innerText=s.currentSearchTerm.replace(/,+/g,", "),t.addEventListener("click",s.picklist.useAddressEntered.click),e.appendChild(t)},this.picklist.scrollIntoViewIfNeeded=function(){var e=s.picklist.container.getBoundingClientRect().top<0,o=s.picklist.container.getBoundingClientRect().bottom>window.innerHeight;(e||o)&&s.picklist.container.scrollIntoView()},this.picklist.useAddressEntered={element:null,create:function(e){var o={text:"".concat(e," ").concat(s.options.useAddressEnteredText)},t=s.picklist.createListItem(o);return t.classList.add("use-address-entered"),t.setAttribute("title","Enter address manually"),s.picklist.list=s.picklist.list||s.picklist.createList(),s.picklist.list.parentNode.insertBefore(t,s.picklist.container.firstChild),t.addEventListener("click",s.picklist.useAddressEntered.click),t},destroy:function(){s.picklist.useAddressEntered.element&&(s.picklist.list.parentNode.removeChild(s.picklist.useAddressEntered.element),s.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(s.currentSearchTerm){var o=s.currentSearchTerm.split(",");o[0]&&(e.result.address.address_line_1=o[0]),o[1]&&(e.result.address.address_line_2=o[1]),o[2]&&(e.result.address.address_line_3=o[2]);for(var t=3;t<o.length;t++)e.result.address.address_line_3+=o[t]}s.result.show(e),s.result.updateHeading(s.options.formattedAddressContainer.manualHeadingText)},formatManualAddressLine:function(e,s){var o={};return o[n.addressLineLabels[s]]=e[s]||"",o}},this.picklist.createList=function(){var o=s.searchType===e.SINGLELINE||s.searchType===e.LOOKUPV2?s.inputs.length-1:0,t=document.createElement("div");t.classList.add("address-picklist-container"),s.picklist.container=t,s.inputs[o].parentNode.insertBefore(s.picklist.container,s.inputs[o].nextElementSibling);var i=document.createElement("div");return i.classList.add("address-picklist"),s.picklist.container.appendChild(i),s.inputs[o].classList.add("showing-suggestions"),i.addEventListener("keydown",s.picklist.checkEnter),i},this.picklist.createListItem=function(e){var o=document.createElement("div");return o.innerHTML=s.picklist.addMatchingEmphasis(e),e.format?o.setAttribute("format",e.format):e.global_address_key&&o.setAttribute("refine",e.global_address_key),o},this.picklist.createWhat3WordsListItem=function(e){var s=document.createElement("div"),o=document.createElement("div"),t=document.createElement("div");return s.className="what3words",o.className="what3words-name",t.className="what3words-description",o.innerHTML="///"+e.what3words.name,t.innerHTML=e.what3words.description,s.appendChild(o),s.appendChild(t),s},this.picklist.createLookupListItem=function(e){var o=document.createElement("div");return o.innerHTML=s.picklist.addMatchingEmphasis(e),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 o,t,i=document.createElement("div"),a=e.locality,d=e.postal_code,r=a.town?a.town.name:"",n=null!==(o=a.region.name)&&void 0!==o?o:a.region.code,l=null!==(t=d.full_name)&&void 0!==t?t:d.primary;return i.innerHTML=r+" "+n+" "+l,i.setAttribute("region_name",n),i.setAttribute("town_name",a.town?a.town.name:""),i.setAttribute("postal_code_name",l),i.setAttribute("country",s.currentCountryCode),i.setAttribute("postal_code_key",e.postal_code_key),i.setAttribute("locality_key",e.locality_key),i},this.picklist.refine={element:null,isNeeded:function(o){return s.searchType!==e.AUTOCOMPLETE&&s.searchType!==e.COMBINED&&(o.result.confidence===a.PREMISES_PARTIAL||o.result.confidence===a.STREET_PARTIAL||o.result.confidence===a.MULTIPLE_MATCHES)},createInput:function(o,t){var i=document.querySelector(".picklist-refinement-box")||document.createElement("div");i.classList.add("picklist-refinement-box");var a=document.querySelector(".picklist-refinement-box input")||document.createElement("input");a.setAttribute("type","text"),a.setAttribute("placeholder",o),a.setAttribute("key",t),a.setAttribute(e.AUTOCOMPLETE,"new-password"),a.setAttribute(e.COMBINED,"new-password"),a.addEventListener("keydown",s.picklist.refine.enter.bind(s)),s.picklist.refine.element=a;var d=document.querySelector(".picklist-refinement-box button")||document.createElement("button");d.innerText="Refine",d.addEventListener("click",s.picklist.refine.enter),i.appendChild(a),i.appendChild(d),s.picklist.list.parentNode.insertBefore(i,s.picklist.list),a.focus()},enter:function(e){if(e instanceof KeyboardEvent&&"Enter"===e.key||e instanceof MouseEvent){if(e.preventDefault(),s.picklist.currentItem)return void s.picklist.checkEnter(e);if(e.stopPropagation(),s.picklist.refine.element.value){var o=JSON.stringify({refinement:s.picklist.refine.element.value}),t=s.picklist.refine.element.getAttribute("key");s.request.send("".concat(s.baseUrl).concat(s.refineEndpoint,"/").concat(t),"POST",s.result.handleValidateResponse,o)}}else s.picklist.size&&e instanceof KeyboardEvent&&("ArrowUp"===e.key||"ArrowDown"===e.key||"Enter"===e.key)&&s.picklist.keyup(e)}},this.picklist.resetTabCount=function(){s.picklist.tabCount=-1},this.picklist.keyup=function(e){if(s.picklist.list){s.picklist.checkEnter(e);var o,t,i=s.picklist.list.querySelectorAll("div");if(0!==i.length){"ArrowUp"===e.key?s.picklist.tabCount--:"ArrowDown"===e.key&&s.picklist.tabCount++,s.picklist.tabCount<0&&(s.picklist.tabCount=i.length-1,t=!0),s.picklist.tabCount>i.length-1&&(s.picklist.tabCount=0,o=!0);var a=i[s.picklist.tabCount],d=s.picklist.list.querySelector(".selected");d&&d.classList.remove("selected"),a.classList.add("selected"),s.picklist.currentItem=a;var r=s.picklist.list.offsetTop,n=s.picklist.list.offsetTop+s.picklist.list.offsetHeight,l=s.picklist.list.scrollTop,c=a.offsetTop,u=a.offsetTop+a.offsetHeight,p=a.offsetHeight;o?s.picklist.list.scrollTop=0:t?s.picklist.list.scrollTop=999:u+p>n?s.picklist.list.scrollTop=l+p:c-p-r<l&&(s.picklist.list.scrollTop=l-p)}}},this.picklist.addMatchingEmphasis=function(e){for(var s=e.matched||[],o=e.text,t=0;t<s.length;t++){var i="<b>"+o.substring(s[t][0],s[t][1])+"</b>";o=o.substring(0,s[t][0])+i+o.substring(s[t][1])}return o},this.picklist.listen=function(e){e.addEventListener("click",s.picklist.pick.bind(null,e))},this.picklist.checkEnter=function(e){if("Enter"===e.key||"Tab"===e.key){var o=void 0;1===s.picklist.size?o=s.picklist.list.querySelectorAll("div")[0]:s.picklist.currentItem&&(o=s.picklist.currentItem),o&&s.picklist.pick(o)}},this.picklist.pick=function(o){if(s.events.trigger("post-picklist-selection",o),o.classList.contains(d.WHAT3WORDS.key)){var t=o.getElementsByTagName("div");return s.returnAddresses=!0,void s.lookup(t[0].innerHTML)}e.LOOKUPV2!==s.searchType||s.returnAddresses?o.getAttribute("format")?Array.isArray(s.currentDataSet)&&s.currentDataSet.slice().sort()===["gb-additional-electricity","gb-additional-gas"].slice().sort()?s.format(o.getAttribute("format","utilities")):s.format(o.getAttribute("format")):s.refine(o.getAttribute("refine")):s.formatLookupLocalityWithoutAddresses(o)}},o.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 s=d.POSTAL_CODE.key===this.lookupType?"postal_code_key":"locality_key";this.result.createSearchAgainLink(),this.events.trigger("post-formatting-lookup",e.getAttribute(s),e)},o.prototype.format=function(e,s){this.events.trigger("pre-formatting-search",e),this.searchSpinner.hide();var o={layouts:s?[s]:["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}])},o.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)},o.prototype.lookup=function(e){this.events.trigger("pre-lookup",e),this.searchSpinner.hide();var o=this.generateLookupDataForApiCall(e,s.WHAT3WORDS),t=this.baseUrl+this.lookupV2Endpoint,i=this.picklist.showLookup;this.request.send(t,"POST",i,o,[{key:"Add-Addresses",value:!0}])},o.prototype.populateResponseToMap=function(e,s,o,t){if(e)for(var i=function(e,i){if(!s.has(e))return"continue";var d=s.get(e);if(o&&o.has(e)){var r=o.get(e),n=Object.values(r).find((function(e){return e.id===i}));n&&a.tooltipDescriptionMap.set(d,n.title)}t.set(d,i)},a=this,d=0,r=e;d<r.length;d++){var n=r[d];i(n[0],n[1])}},o.prototype.checkTab=function(e){var s=this.getKey(e);"Tab"!==s?"Enter"===s&&e.preventDefault():this.picklist.keyup(e)},o.prototype.toggleSearchInputs=function(e){var s,o,t,i="show"===e?"remove":"add";null===(s=this.options.elements.inputs)||void 0===s||s.forEach((function(e){return e.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")}))})),null===(o=this.options.elements.countryList)||void 0===o||o.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")})),null===(t=this.options.elements.lookupButton)||void 0===t||t.parentNode.querySelectorAll(".toggle").forEach((function(e){return e.classList[i]("hidden")}))},o.prototype.globalReset=function(e){e&&e.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=s.SEARCH,this.events.trigger("post-reset")},o.prototype.isInternationalValidation=function(){return!(this.searchType!==e.VALIDATE||1!=this.currentDataSet.length||!this.currentDataSet[0].toUpperCase().endsWith("-ED"))},o.prototype.generateLookupType=function(e){switch(e){case s.WHAT3WORDS:return d.WHAT3WORDS.key;case s.UDPRN:return d.UDPRN.key;case s.LOCALITY:return d.LOCALITY.key;case s.POSTAL_CODE:return d.POSTAL_CODE.key;case s.MPAN:return d.MPAN.key;case s.MPRN:return d.MPRN.key}},o}();window.AddressValidation=I}();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUVFLFFBQUkxVyxLQUFLdUQsYUFBZTdELEVBQTRCMFMsVUFDakIsR0FBOUJwUyxLQUFLNlIsZUFBZXhSLFNBQ3BCTCxLQUFLNlIsZUFBZSxHQUFHekYsY0FBYzZRLFNBQVMsT0FLckQsRUFFUSxZQUFBakgsbUJBQVIsU0FBMkIzUyxHQUN6QixPQUFPQSxHQUNMLEtBQUsxRCxFQUFzQjhDLFdBQ3pCLE9BQU9ELEVBQWdDQyxXQUFXZixJQUNwRCxLQUFLL0IsRUFBc0JpRCxNQUN6QixPQUFPSixFQUFnQ0ksTUFBTWxCLElBQy9DLEtBQUsvQixFQUFzQnFELFNBQ3pCLE9BQU9SLEVBQWdDUSxTQUFTdEIsSUFDbEQsS0FBSy9CLEVBQXNCb0QsWUFDekIsT0FBT1AsRUFBZ0NPLFlBQVlyQixJQUNyRCxLQUFLL0IsRUFBc0JrRCxLQUN6QixPQUFPTCxFQUFnQ0ssS0FBS25CLElBQzlDLEtBQUsvQixFQUFzQm1ELEtBQ3pCLE9BQU9OLEVBQWdDTSxLQUFLcEIsSUFFbEQsRUFDRixFQTNoRUEsR0N6QkE2WCxPQUFPMkQsa0JBQW9CLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvZXZlbnQtZmFjdG9yeS50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvc2VhcmNoLW9wdGlvbnMudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL3JlcXVlc3QudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL2RhdGFzZXRzLWNvZGVzLnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9wcmVkZWZpbmVkLWZvcm1hdHMudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL3RyYW5zbGF0aW9ucy50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvY2xhc3MtdHlwZXMudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL2VucmljaG1lbnQtb3V0cHV0LnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9jb25zdW1lci12aWV3LWRlc2NyaXB0aW9uLnRzIiwid2VicGFjazovL2V4cGVyaWFuLWFkZHJlc3MtdmFsaWRhdGlvbi8uL3NyYy90cy9yZWdpb25hbC1nZW9jb2Rlcy1kZXNjcmlwdGlvbi50cyIsIndlYnBhY2s6Ly9leHBlcmlhbi1hZGRyZXNzLXZhbGlkYXRpb24vLi9zcmMvdHMvYWRkcmVzcy1zZWFyY2gudHMiLCJ3ZWJwYWNrOi8vZXhwZXJpYW4tYWRkcmVzcy12YWxpZGF0aW9uLy4vc3JjL3RzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBNZXRob2QgZXZlbnQgbGlzdGVuZXIgKHB1Yi9zdWIgdHlwZSB0aGluZylcclxuICovXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV2ZW50RmFjdG9yeSB7XHJcbiAgLy8gQ3JlYXRlIGFuIG9iamVjdCB0byBob2xkIHRoZSBjb2xsZWN0aW9uIG9mIGV2ZW50c1xyXG4gIGNvbGxlY3Rpb24gPSB7fTtcclxuXHJcbiAgLy8gU3Vic2NyaWJlIGEgbmV3IGV2ZW50XHJcbiAgb24oZXZlbnQsIGFjdGlvbikge1xyXG4gICAgLy8gQ3JlYXRlIHRoZSBwcm9wZXJ0eSBhcnJheSBvbiB0aGUgY29sbGVjdGlvbiBvYmplY3RcclxuICAgIHRoaXMuY29sbGVjdGlvbltldmVudF0gPSB0aGlzLmNvbGxlY3Rpb25bZXZlbnRdIHx8IFtdO1xyXG4gICAgLy8gUHVzaCBhIG5ldyBhY3Rpb24gZm9yIHRoaXMgZXZlbnQgb250byB0aGUgYXJyYXlcclxuICAgIHRoaXMuY29sbGVjdGlvbltldmVudF0ucHVzaChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8gUHVibGlzaCAodHJpZ2dlcikgYW4gZXZlbnRcclxuICB0cmlnZ2VyKGV2ZW50LCBkYXRhKSB7XHJcbiAgICAvLyBJZiB0aGlzIGV2ZW50IGlzIGluIG91ciBjb2xsZWN0aW9uIChpLmUuIGFueW9uZSdzIHN1YnNjcmliZWQpXHJcbiAgICBpZiAodGhpcy5jb2xsZWN0aW9uW2V2ZW50XSkge1xyXG4gICAgICAvLyBMb29wIG92ZXIgYWxsIHRoZSBhY3Rpb25zIGZvciB0aGlzIGV2ZW50XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb2xsZWN0aW9uW2V2ZW50XS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIC8vIENyZWF0ZSBhcnJheSB3aXRoIGRlZmF1bHQgZGF0YSBhcyAxc3QgaXRlbVxyXG4gICAgICAgIGNvbnN0IGFyZ3MgPSBbZGF0YV07XHJcblxyXG4gICAgICAgIC8vIExvb3Agb3ZlciBhZGRpdGlvbmFsIGFyZ3MgYW5kIGFkZCB0byBhcnJheVxyXG4gICAgICAgIGZvciAobGV0IGEgPSAyOyBhIDwgYXJndW1lbnRzLmxlbmd0aDsgYSsrKSB7XHJcbiAgICAgICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2FdKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENhbGwgZWFjaCBhY3Rpb24gZm9yIHRoaXMgZXZlbnQgdHlwZSwgcGFzc2luZyB0aGUgYXJnc1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25bZXZlbnRdW2ldLmFwcGx5KHRoaXMuY29sbGVjdGlvbiwgYXJncyk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gV2hhdCB0byBkbz8gVW5jb21tZW50IHRoZSBiZWxvdyB0byBzaG93IGVycm9ycyBpbiB5b3VyIGV2ZW50IGFjdGlvbnNcclxuICAgICAgICAgIC8vY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiZXhwb3J0IGludGVyZmFjZSBBZGRyZXNzU2VhcmNoT3B0aW9ucyB7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuICB0b2tlbjogc3RyaW5nO1xyXG4gIGF2TW9kZTogQWRkcmVzc1ZhbGlkYXRpb25Nb2RlO1xyXG4gIHNlYXJjaFR5cGU6IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZTtcclxuICBtYXhTdWdnZXN0aW9uczogbnVtYmVyO1xyXG4gIG1heFN1Z2dlc3Rpb25zRm9yTG9va3VwOiBudW1iZXI7XHJcbiAgbGFuZ3VhZ2U6IHN0cmluZztcclxuICBsb2NhdGlvbjogc3RyaW5nO1xyXG4gIHVzZVNwaW5uZXI6IGJvb2xlYW47XHJcbiAgY291bnRyeUNvZGU/OiBzdHJpbmc7XHJcbiAgY291bnRyeUNvZGVNYXBwaW5nPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICBhcHBseUZvY3VzOiBib29sZWFuO1xyXG4gIHBsYWNlaG9sZGVyVGV4dDogc3RyaW5nO1xyXG4gIHVzZUFkZHJlc3NFbnRlcmVkVGV4dDogc3RyaW5nO1xyXG4gIHNlYXJjaEFnYWluOiB7IHZpc2libGU/OiBib29sZWFuLCB0ZXh0Pzogc3RyaW5nLCBsaW5rPzogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcclxuICBmb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiB7IHNob3dIZWFkaW5nOiBib29sZWFuLCBoZWFkaW5nVHlwZTogc3RyaW5nLCB2YWxpZGF0ZWRIZWFkaW5nVGV4dDogc3RyaW5nLCBtYW51YWxIZWFkaW5nVGV4dDogc3RyaW5nIH07XHJcbiAgZWxlbWVudHM6IHsgXHJcbiAgICBpbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQsIFxyXG4gICAgaW5wdXRzPzogSFRNTElucHV0RWxlbWVudFtdLCBcclxuICAgIGNvdW50cnlMaXN0PzogSFRNTFNlbGVjdEVsZW1lbnQsIFxyXG4gICAgYWRkcmVzc19saW5lXzE/OiBIVE1MSW5wdXRFbGVtZW50LCBcclxuICAgIGFkZHJlc3NfbGluZV8yPzogSFRNTElucHV0RWxlbWVudCwgXHJcbiAgICBhZGRyZXNzX2xpbmVfMz86IEhUTUxJbnB1dEVsZW1lbnQsIFxyXG4gICAgbG9jYWxpdHk/OiBIVE1MSW5wdXRFbGVtZW50LCBcclxuICAgIHJlZ2lvbj86IEhUTUxJbnB1dEVsZW1lbnQsIFxyXG4gICAgcG9zdGFsX2NvZGU/OiBIVE1MSW5wdXRFbGVtZW50LCBcclxuICAgIGNvdW50cnk/OiBIVE1MSW5wdXRFbGVtZW50LCBcclxuICAgIGZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI/OiBIVE1MRWxlbWVudCwgXHJcbiAgICBsb29rdXBCdXR0b24/OiBIVE1MQnV0dG9uRWxlbWVudCxcclxuICB9O1xyXG59XHJcblxyXG4vLyBEZWZpbmVkIGluIG9yZGVyIG9mIHByZWZlcmVuY2VcclxuZXhwb3J0IGVudW0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlIHtcclxuICBDT01CSU5FRCA9ICdjb21iaW5lZCcsXHJcbiAgQVVUT0NPTVBMRVRFID0gJ2F1dG9jb21wbGV0ZScsXHJcbiAgVkFMSURBVEUgPSAndmFsaWRhdGUnLFxyXG4gIFNJTkdMRUxJTkUgPSAnc2luZ2xlbGluZScsXHJcbiAgVFlQRURPV04gPSAndHlwZWRvd24nLFxyXG4gIExPT0tVUFYyID0gJ2xvb2t1cHYyJyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlIHtcclxuICBTRUFSQ0ggPSAxLFxyXG4gIFdIQVQzV09SRFMsXHJcbiAgVURQUk4sXHJcbiAgTE9DQUxJVFksXHJcbiAgUE9TVEFMX0NPREUsXHJcbiAgTVBBTixcclxuICBNUFJOLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3JkcyA9IHtcclxuICBXSEFUM1dPUkRTOiB7a2V5OiBcIndoYXQzd29yZHNcIiwgZGlzcGxheTogXCJXaGF0M1dvcmRzXCIsIGRhdGFzZXQ6IFtbXCJnYi1hZGRyZXNzXCJdLCBbXCJnYi1hZGRpdGlvbmFsLW11bHRpcGxlcmVzaWRlbmNlXCJdLCBbXCJnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0XCJdLCBbXCJnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0XCIsIFwiZ2ItYWRkaXRpb25hbC1tdWx0aXBsZXJlc2lkZW5jZVwiXV19LFxyXG4gIFVEUFJOOiB7a2V5OiBcInVkcHJuXCIsIGRpc3BsYXk6IFwiVURQUk5cIiwgZGF0YXNldDogW1tcImdiLWFkZHJlc3NcIl0sIFtcImdiLWFkZGl0aW9uYWwtbXVsdGlwbGVyZXNpZGVuY2VcIl0sIFtcImdiLWFkZGl0aW9uYWwtbm90eWV0YnVpbHRcIl0sIFtcImdiLWFkZGl0aW9uYWwtbm90eWV0YnVpbHRcIiwgXCJnYi1hZGRpdGlvbmFsLW11bHRpcGxlcmVzaWRlbmNlXCJdXX0sXHJcbiAgTVBBTjoge2tleTogXCJtcGFuXCIsIGRpc3BsYXk6IFwiTVBBTlwiLCBkYXRhc2V0OiBbW1wiZ2ItYWRkaXRpb25hbC1lbGVjdHJpY2l0eVwiXSwgW1wiZ2ItYWRkaXRpb25hbC1lbGVjdHJpY2l0eVwiLCBcImdiLWFkZGl0aW9uYWwtZ2FzXCJdXX0sXHJcbiAgTVBSTjoge2tleTogXCJtcHJuXCIsIGRpc3BsYXk6IFwiTVBSTlwiLCBkYXRhc2V0OiBbW1wiZ2ItYWRkaXRpb25hbC1nYXNcIl0sIFtcImdiLWFkZGl0aW9uYWwtZWxlY3RyaWNpdHlcIiwgXCJnYi1hZGRpdGlvbmFsLWdhc1wiXV19LFxyXG4gIFBPU1RBTF9DT0RFOiB7a2V5OiBcInBvc3RhbF9jb2RlXCIsIGRpc3BsYXk6IFwiUG9zdGFsIGNvZGVcIiwgZGF0YXNldDogW119LFxyXG4gIExPQ0FMSVRZOiB7a2V5OiBcImxvY2FsaXR5XCIsIGRpc3BsYXk6ICdMb2NhbGl0eScsIGRhdGFzZXQ6IFtdfSxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IEFkZEFkZHJlc3Nlc09wdGlvbnMgPSB7XHJcbiAgVFJVRToge2tleTogXCJ0cnVlXCIsIGRpc3BsYXk6ICdUcnVlJ30sXHJcbiAgRkFMU0U6IHtrZXk6IFwiZmFsc2VcIiwgZGlzcGxheTogXCJGYWxzZVwifVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlIHtcclxuICBOT19NQVRDSEVTID0gJ05vIG1hdGNoZXMnLFxyXG4gIFZFUklGSUVEX01BVENIID0gJ1ZlcmlmaWVkIG1hdGNoJyxcclxuICBJTlRFUkFDVElPTl9SRVFVSVJFRCA9ICdJbnRlcmFjdGlvbiByZXF1aXJlZCcsXHJcbiAgUFJFTUlTRVNfUEFSVElBTCA9ICdQcmVtaXNlcyBwYXJ0aWFsJyxcclxuICBTVFJFRVRfUEFSVElBTCA9ICdTdHJlZXQgcGFydGlhbCcsXHJcbiAgTVVMVElQTEVfTUFUQ0hFUyA9ICdNdWx0aXBsZSBtYXRjaGVzJ1xyXG59XHJcblxyXG4vLyBEZWZhdWx0IHNldHRpbmdzXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHtcclxuICBhdk1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5TRUFSQ0gsXHJcbiAgc2VhcmNoVHlwZTogQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkNPTUJJTkVELFxyXG4gIGlucHV0OiB7IHBsYWNlaG9sZGVyVGV4dDogJ1N0YXJ0IHR5cGluZyBhbiBhZGRyZXNzLi4uJywgYXBwbHlGb2N1czogZmFsc2UgfSxcclxuICBmb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiB7IHNob3dIZWFkaW5nOiBmYWxzZSwgaGVhZGluZ1R5cGU6ICdoMycsIHZhbGlkYXRlZEhlYWRpbmdUZXh0OiAnVmFsaWRhdGVkIGFkZHJlc3MnLCBtYW51YWxIZWFkaW5nVGV4dDogJ01hbnVhbCBhZGRyZXNzIGVudGVyZWQnIH0sXHJcbiAgc2VhcmNoQWdhaW46IHsgdmlzaWJsZTogdHJ1ZSwgdGV4dDogJ1NlYXJjaCBhZ2FpbicgfSxcclxuICB1c2VBZGRyZXNzRW50ZXJlZFRleHQ6ICc8ZW0+IC0gVXNlIGFkZHJlc3MgZW50ZXJlZCBvciB0cnkgYWdhaW4uLi48L2VtPicsXHJcbiAgdXNlU3Bpbm5lcjogZmFsc2UsXHJcbiAgbGFuZ3VhZ2U6ICdlbicsXHJcbiAgYWRkcmVzc0xpbmVMYWJlbHM6IFtcclxuICAgICdhZGRyZXNzX2xpbmVfMScsXHJcbiAgICAnYWRkcmVzc19saW5lXzInLFxyXG4gICAgJ2FkZHJlc3NfbGluZV8zJyxcclxuICAgICdsb2NhbGl0eScsXHJcbiAgICAncmVnaW9uJyxcclxuICAgICdwb3N0YWxfY29kZScsXHJcbiAgICAnY291bnRyeSdcclxuICBdXHJcbn07IiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVxdWVzdCB7XHJcbiAgaW5zdGFuY2U7XHJcbiAgY29uc3RydWN0b3IoaW5zdGFuY2UpIHtcclxuICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50UmVxdWVzdDtcclxuXHJcblxyXG4gIHB1YmxpYyBzZW5kKHVybDogc3RyaW5nLCBtZXRob2Q6ICdHRVQnIHwgJ1BPU1QnLCBjYWxsYmFjazogKGRhdGE6IG9iamVjdCkgPT4gdm9pZCwgZGF0YT86IHN0cmluZywgaGVhZGVyczoge2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbn1bXSA9IFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwsIHRydWUpO1xyXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC50aW1lb3V0ID0gNTAwMDsgLy8gNSBzZWNvbmRzXHJcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoJ2F1dGgtdG9rZW4nLCB0aGlzLmluc3RhbmNlLm9wdGlvbnMudG9rZW4pO1xyXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbicpO1xyXG5cclxuICAgIC8vIEFkZCBhZGRpdGlvbmFsIGhlYWRlcnMgaWYgc3VwcGxpZWRcclxuICAgIGhlYWRlcnMuZm9yRWFjaChoZWFkZXIgPT4gdGhpcy5jdXJyZW50UmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGhlYWRlci5rZXksIGhlYWRlci52YWx1ZSkpO1xyXG5cclxuICAgIHRoaXMuY3VycmVudFJlcXVlc3Qub25sb2FkID0gKHhocikgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXJyZW50UmVxdWVzdC5zdGF0dXMgPj0gMjAwICYmIHRoaXMuY3VycmVudFJlcXVlc3Quc3RhdHVzIDwgNDAwKSB7XHJcbiAgICAgICAgLy8gU3VjY2VzcyFcclxuICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZSh0aGlzLmN1cnJlbnRSZXF1ZXN0LnJlc3BvbnNlVGV4dCk7XHJcbiAgICAgICAgY2FsbGJhY2soZGF0YSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gV2UgcmVhY2hlZCBvdXIgdGFyZ2V0IHNlcnZlciwgYnV0IGl0IHJldHVybmVkIGFuIGVycm9yXHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5zZWFyY2hTcGlubmVyLmhpZGUoKTtcclxuXHJcbiAgICAgICAgLy8gRmlyZSBhbiBldmVudCB0byBub3RpZnkgdXNlcnMgb2YgYSBnZW5lcmFsIGVycm9yXHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudHMudHJpZ2dlcigncmVxdWVzdC1lcnJvcicsIHhocik7XHJcbiAgICAgICAgLy8gRmlyZSBhbiBldmVudCBmb3IgdGhlIHNwZWNpZmljIHN0YXR1cyBjb2RlXHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudHMudHJpZ2dlcihgcmVxdWVzdC1lcnJvci0ke3RoaXMuY3VycmVudFJlcXVlc3Quc3RhdHVzfWAsIHhocik7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5vbmVycm9yID0gKHhocikgPT4ge1xyXG4gICAgICAvLyBUaGVyZSB3YXMgYSBjb25uZWN0aW9uIGVycm9yIG9mIHNvbWUgc29ydFxyXG4gICAgICAvLyBIaWRlIHRoZSBpbmxpbmUgc2VhcmNoIHNwaW5uZXJcclxuICAgICAgdGhpcy5pbnN0YW5jZS5zZWFyY2hTcGlubmVyLmhpZGUoKTtcclxuXHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgdG8gbm90aWZ5IHVzZXJzIG9mIGFuIGVycm9yXHJcbiAgICAgIHRoaXMuaW5zdGFuY2UuZXZlbnRzLnRyaWdnZXIoJ3JlcXVlc3QtZXJyb3InLCB4aHIpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0Lm9udGltZW91dCA9ICh4aHIpID0+IHtcclxuICAgICAgLy8gVGhlcmUgd2FzIGEgY29ubmVjdGlvbiB0aW1lb3V0XHJcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxyXG4gICAgICB0aGlzLmluc3RhbmNlLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCB0byBub3RpZnkgdXNlcnMgb2YgdGhlIHRpbWVvdXRcclxuICAgICAgdGhpcy5pbnN0YW5jZS5ldmVudHMudHJpZ2dlcigncmVxdWVzdC10aW1lb3V0JywgeGhyKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdC5zZW5kKGRhdGEpO1xyXG4gIH1cclxufSIsImV4cG9ydCBjb25zdCBkYXRhc2V0Q29kZXMgPSBbXHJcbiAge2NvdW50cnk6ICdBZmdoYW5pc3RhbicsIGlzbzNDb2RlOiAnQUZHJywgaXNvMkNvZGU6ICdBRicsIGRhdGFzZXRDb2RlczogWydhZi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0FmZ2hhbmlzdGFuJywgaXNvM0NvZGU6ICdBRkcnLCBpc28yQ29kZTogJ0FGJywgZGF0YXNldENvZGVzOiBbJ2FmLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBbGJhbmlhJywgaXNvM0NvZGU6ICdBTEInLCBpc28yQ29kZTogJ0FMJywgZGF0YXNldENvZGVzOiBbJ2FsLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQWxiYW5pYScsIGlzbzNDb2RlOiAnQUxCJywgaXNvMkNvZGU6ICdBTCcsIGRhdGFzZXRDb2RlczogWydhbC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQWxnZXJpYScsIGlzbzNDb2RlOiAnRFpBJywgaXNvMkNvZGU6ICdEWicsIGRhdGFzZXRDb2RlczogWydkei1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0FsZ2VyaWEnLCBpc28zQ29kZTogJ0RaQScsIGlzbzJDb2RlOiAnRFonLCBkYXRhc2V0Q29kZXM6IFsnZHotYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0FtZXJpY2FuIFNhbW9hJywgaXNvM0NvZGU6ICdBU00nLCBpc28yQ29kZTogJ0FTJywgZGF0YXNldENvZGVzOiBbJ2FzLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBbmRvcnJhJywgaXNvM0NvZGU6ICdBTkQnLCBpc28yQ29kZTogJ0FEJywgZGF0YXNldENvZGVzOiBbJ2FkLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQW5kb3JyYScsIGlzbzNDb2RlOiAnQU5EJywgaXNvMkNvZGU6ICdBRCcsIGRhdGFzZXRDb2RlczogWydhZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQW5nb2xhJywgaXNvM0NvZGU6ICdBR08nLCBpc28yQ29kZTogJ0FPJywgZGF0YXNldENvZGVzOiBbJ2FvLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQW5nb2xhJywgaXNvM0NvZGU6ICdBR08nLCBpc28yQ29kZTogJ0FPJywgZGF0YXNldENvZGVzOiBbJ2FvLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBbmd1aWxsYScsIGlzbzNDb2RlOiAnQUlBJywgaXNvMkNvZGU6ICdBSScsIGRhdGFzZXRDb2RlczogWydhaS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQW50YXJjdGljYScsIGlzbzNDb2RlOiAnQVRBJywgaXNvMkNvZGU6ICdBUScsIGRhdGFzZXRDb2RlczogWydhcS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0FudGlndWEgYW5kIEJhcmJ1ZGEnLCBpc28zQ29kZTogJ0FURycsIGlzbzJDb2RlOiAnQUcnLCBkYXRhc2V0Q29kZXM6IFsnYWctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdBbnRpZ3VhIGFuZCBCYXJidWRhJywgaXNvM0NvZGU6ICdBVEcnLCBpc28yQ29kZTogJ0FHJywgZGF0YXNldENvZGVzOiBbJ2FnLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBcmdlbnRpbmEnLCBpc28zQ29kZTogJ0FSRycsIGlzbzJDb2RlOiAnQVInLCBkYXRhc2V0Q29kZXM6IFsnYXItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdBcmdlbnRpbmEnLCBpc28zQ29kZTogJ0FSRycsIGlzbzJDb2RlOiAnQVInLCBkYXRhc2V0Q29kZXM6IFsnYXItYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0FybWVuaWEnLCBpc28zQ29kZTogJ0FSTScsIGlzbzJDb2RlOiAnQU0nLCBkYXRhc2V0Q29kZXM6IFsnYW0tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdBcm1lbmlhJywgaXNvM0NvZGU6ICdBUk0nLCBpc28yQ29kZTogJ0FNJywgZGF0YXNldENvZGVzOiBbJ2FtLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBcnViYScsIGlzbzNDb2RlOiAnQUJXJywgaXNvMkNvZGU6ICdBVycsIGRhdGFzZXRDb2RlczogWydhdy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0FydWJhJywgaXNvM0NvZGU6ICdBQlcnLCBpc28yQ29kZTogJ0FXJywgZGF0YXNldENvZGVzOiBbJ2F3LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdBdXN0cmFsaWEgRGF0YUZ1c2lvbicsIGlzbzNDb2RlOiAnQVVTJywgaXNvMkNvZGU6ICdBVScsIGRhdGFzZXRDb2RlczogWydhdS1hZGRyZXNzLWRhdGFmdXNpb24nXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0F1c3RyYWxpYSBHZW9jb2RlZCBOYXRpb25hbCBBZGRyZXNzJywgaXNvM0NvZGU6ICdBVVMnLCBpc28yQ29kZTogJ0FVJywgZGF0YXNldENvZGVzOiBbJ2F1LWFkZHJlc3MtZ25hZiddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQXVzdHJhbGlhIFBvc3RhbCBBZGRyZXNzJywgaXNvM0NvZGU6ICdBVVMnLCBpc28yQ29kZTogJ0FVJywgZGF0YXNldENvZGVzOiBbJ2F1LWFkZHJlc3MnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0F1c3RyaWEnLCBpc28zQ29kZTogJ0FVVCcsIGlzbzJDb2RlOiAnQVQnLCBkYXRhc2V0Q29kZXM6IFsnYXQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0F1c3RyaWEnLCBpc28zQ29kZTogJ0FVVCcsIGlzbzJDb2RlOiAnQVQnLCBkYXRhc2V0Q29kZXM6IFsnYXotYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdBemVyYmFpamFuJywgaXNvM0NvZGU6ICdBWkUnLCBpc28yQ29kZTogJ0FaJywgZGF0YXNldENvZGVzOiBbJ2F6LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQXplcmJhaWphbicsIGlzbzNDb2RlOiAnQVpFJywgaXNvMkNvZGU6ICdBWicsIGRhdGFzZXRDb2RlczogWydhei1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQmFoYW1hcycsIGlzbzNDb2RlOiAnQkhTJywgaXNvMkNvZGU6ICdCUycsIGRhdGFzZXRDb2RlczogWydicy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0JhaGFtYXMnLCBpc28zQ29kZTogJ0JIUycsIGlzbzJDb2RlOiAnQlMnLCBkYXRhc2V0Q29kZXM6IFsnYnMtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0JhaHJhaW4nLCBpc28zQ29kZTogJ0JIUicsIGlzbzJDb2RlOiAnQkgnLCBkYXRhc2V0Q29kZXM6IFsnYmgtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCYWhyYWluJywgaXNvM0NvZGU6ICdCSFInLCBpc28yQ29kZTogJ0JIJywgZGF0YXNldENvZGVzOiBbJ2JoLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCYW5nbGFkZXNoJywgaXNvM0NvZGU6ICdCR0QnLCBpc28yQ29kZTogJ0JEJywgZGF0YXNldENvZGVzOiBbJ2JkLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQmFuZ2xhZGVzaCcsIGlzbzNDb2RlOiAnQkdEJywgaXNvMkNvZGU6ICdCRCcsIGRhdGFzZXRDb2RlczogWydiZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQmFyYmFkb3MnLCBpc28zQ29kZTogJ0JSQicsIGlzbzJDb2RlOiAnQkInLCBkYXRhc2V0Q29kZXM6IFsnYmItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCYXJiYWRvcycsIGlzbzNDb2RlOiAnQlJCJywgaXNvMkNvZGU6ICdCQicsIGRhdGFzZXRDb2RlczogWydiYi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQmVsYXJ1cycsIGlzbzNDb2RlOiAnQkxSJywgaXNvMkNvZGU6ICdCWScsIGRhdGFzZXRDb2RlczogWydieS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0JlbGFydXMnLCBpc28zQ29kZTogJ0JMUicsIGlzbzJDb2RlOiAnQlknLCBkYXRhc2V0Q29kZXM6IFsnYnktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0JlbGdpdW0nLCBpc28zQ29kZTogJ0JFTCcsIGlzbzJDb2RlOiAnQkUnLCBkYXRhc2V0Q29kZXM6IFsnYmUtYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdCZWxnaXVtJywgaXNvM0NvZGU6ICdCRUwnLCBpc28yQ29kZTogJ0JFJywgZGF0YXNldENvZGVzOiBbJ2JlLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJyB2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCZWxnaXVtJywgaXNvM0NvZGU6ICdCRUwnLCBpc28yQ29kZTogJ0JFJywgZGF0YXNldENvZGVzOiBbJ2JlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCZWxpemUnLCBpc28zQ29kZTogJ0JMWicsIGlzbzJDb2RlOiAnQlonLCBkYXRhc2V0Q29kZXM6IFsnYnotYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCZWxpemUnLCBpc28zQ29kZTogJ0JMWicsIGlzbzJDb2RlOiAnQlonLCBkYXRhc2V0Q29kZXM6IFsnYnotYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0JlbmluJywgaXNvM0NvZGU6ICdCRU4nLCBpc28yQ29kZTogJ0JKJywgZGF0YXNldENvZGVzOiBbJ2JqLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQmVuaW4nLCBpc28zQ29kZTogJ0JFTicsIGlzbzJDb2RlOiAnQkonLCBkYXRhc2V0Q29kZXM6IFsnYmotYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0Jlcm11ZGEnLCBpc28zQ29kZTogJ0JNVScsIGlzbzJDb2RlOiAnQk0nLCBkYXRhc2V0Q29kZXM6IFsnYm0tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCZXJtdWRhJywgaXNvM0NvZGU6ICdCTVUnLCBpc28yQ29kZTogJ0JNJywgZGF0YXNldENvZGVzOiBbJ2JtLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCaHV0YW4nLCBpc28zQ29kZTogJ0JUTicsIGlzbzJDb2RlOiAnQlQnLCBkYXRhc2V0Q29kZXM6IFsnYnQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCaHV0YW4nLCBpc28zQ29kZTogJ0JUTicsIGlzbzJDb2RlOiAnQlQnLCBkYXRhc2V0Q29kZXM6IFsnYnQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0JvbGl2aWEnLCBpc28zQ29kZTogJ0JPTCcsIGlzbzJDb2RlOiAnQk8nLCBkYXRhc2V0Q29kZXM6IFsnYm8tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCb2xpdmlhJywgaXNvM0NvZGU6ICdCT0wnLCBpc28yQ29kZTogJ0JPJywgZGF0YXNldENvZGVzOiBbJ2JvLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCb25haXJlLCBTaW50IEV1c3RhdGl1cyBhbmQgU2FiYScsIGlzbzNDb2RlOiAnQkVTJywgaXNvMkNvZGU6ICdCUScsIGRhdGFzZXRDb2RlczogWydicS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0JvbmFpcmUsIFNpbnQgRXVzdGF0aXVzIGFuZCBTYWJhJywgaXNvM0NvZGU6ICdCRVMnLCBpc28yQ29kZTogJ0JRJywgZGF0YXNldENvZGVzOiBbJ2JxLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCb3NuaWEgYW5kIEhlcnplZ292aW5hJywgaXNvM0NvZGU6ICdCSUgnLCBpc28yQ29kZTogJ0JBJywgZGF0YXNldENvZGVzOiBbJ2JhLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYScsIGlzbzNDb2RlOiAnQklIJywgaXNvMkNvZGU6ICdCQScsIGRhdGFzZXRDb2RlczogWydiYS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQm90c3dhbmEnLCBpc28zQ29kZTogJ0JXQScsIGlzbzJDb2RlOiAnQlcnLCBkYXRhc2V0Q29kZXM6IFsnYnctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCb3Rzd2FuYScsIGlzbzNDb2RlOiAnQldBJywgaXNvMkNvZGU6ICdCVycsIGRhdGFzZXRDb2RlczogWydidy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQnJhemlsJywgaXNvM0NvZGU6ICdCUkEnLCBpc28yQ29kZTogJ0JSJywgZGF0YXNldENvZGVzOiBbJ2JyLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQnJhemlsJywgaXNvM0NvZGU6ICdCUkEnLCBpc28yQ29kZTogJ0JSJywgZGF0YXNldENvZGVzOiBbJ2JyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCcnVuZWkgRGFydXNzYWxhbScsIGlzbzNDb2RlOiAnQlJOJywgaXNvMkNvZGU6ICdCTicsIGRhdGFzZXRDb2RlczogWydibi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0JydW5laSBEYXJ1c3NhbGFtJywgaXNvM0NvZGU6ICdCUk4nLCBpc28yQ29kZTogJ0JOJywgZGF0YXNldENvZGVzOiBbJ2JuLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCdWxnYXJpYScsIGlzbzNDb2RlOiAnQkdSJywgaXNvMkNvZGU6ICdCRycsIGRhdGFzZXRDb2RlczogWydiZy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0J1bGdhcmlhJywgaXNvM0NvZGU6ICdCR1InLCBpc28yQ29kZTogJ0JHJywgZGF0YXNldENvZGVzOiBbJ2JnLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdCdXJraW5hIEZhc28nLCBpc28zQ29kZTogJ0JGQScsIGlzbzJDb2RlOiAnQkYnLCBkYXRhc2V0Q29kZXM6IFsnYmYtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdCdXJraW5hIEZhc28nLCBpc28zQ29kZTogJ0JGQScsIGlzbzJDb2RlOiAnQkYnLCBkYXRhc2V0Q29kZXM6IFsnYmYtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0J1cnVuZGknLCBpc28zQ29kZTogJ0JESScsIGlzbzJDb2RlOiAnQkknLCBkYXRhc2V0Q29kZXM6IFsnYmktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0NhbWJvZGlhJywgaXNvM0NvZGU6ICdLSE0nLCBpc28yQ29kZTogJ0tIJywgZGF0YXNldENvZGVzOiBbJ2toLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2FtYm9kaWEnLCBpc28zQ29kZTogJ0tITScsIGlzbzJDb2RlOiAnS0gnLCBkYXRhc2V0Q29kZXM6IFsna2gtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0NhbWVyb29uJywgaXNvM0NvZGU6ICdDTVInLCBpc28yQ29kZTogJ0NNJywgZGF0YXNldENvZGVzOiBbJ2NtLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2FtZXJvb24nLCBpc28zQ29kZTogJ0NNUicsIGlzbzJDb2RlOiAnQ00nLCBkYXRhc2V0Q29kZXM6IFsnY20tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0NhbmFkYScsIGlzbzNDb2RlOiAnQ0FOJywgaXNvMkNvZGU6ICdDQScsIGRhdGFzZXRDb2RlczogWydjYS1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDYXBlIFZlcmRlJywgaXNvM0NvZGU6ICdDUFYnLCBpc28yQ29kZTogJ0NWJywgZGF0YXNldENvZGVzOiBbJ2N2LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2FwZSBWZXJkZScsIGlzbzNDb2RlOiAnQ1BWJywgaXNvMkNvZGU6ICdDVicsIGRhdGFzZXRDb2RlczogWydjdi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2F5bWFuIElzbGFuZHMnLCBpc28zQ29kZTogJ0NZTScsIGlzbzJDb2RlOiAnS1knLCBkYXRhc2V0Q29kZXM6IFsna3ktYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDYXltYW4gSXNsYW5kcycsIGlzbzNDb2RlOiAnQ1lNJywgaXNvMkNvZGU6ICdLWScsIGRhdGFzZXRDb2RlczogWydreS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywgaXNvM0NvZGU6ICdDQUYnLCBpc28yQ29kZTogJ0NGJywgZGF0YXNldENvZGVzOiBbJ2NmLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJywgaXNvM0NvZGU6ICdDQUYnLCBpc28yQ29kZTogJ0NGJywgZGF0YXNldENvZGVzOiBbJ2NmLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDaGFkJywgaXNvM0NvZGU6ICdUQ0QnLCBpc28yQ29kZTogJ1REJywgZGF0YXNldENvZGVzOiBbJ3RkLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2hhZCcsIGlzbzNDb2RlOiAnVENEJywgaXNvMkNvZGU6ICdURCcsIGRhdGFzZXRDb2RlczogWyd0ZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2hpbGUnLCBpc28zQ29kZTogJ0NITCcsIGlzbzJDb2RlOiAnQ0wnLCBkYXRhc2V0Q29kZXM6IFsnY2wtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDaGlsZScsIGlzbzNDb2RlOiAnQ0hMJywgaXNvMkNvZGU6ICdDTCcsIGRhdGFzZXRDb2RlczogWydjbC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2hpbmEnLCBpc28zQ29kZTogJ0NITicsIGlzbzJDb2RlOiAnQ04nLCBkYXRhc2V0Q29kZXM6IFsnY24tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDaGluYScsIGlzbzNDb2RlOiAnQ0hOJywgaXNvMkNvZGU6ICdDTicsIGRhdGFzZXRDb2RlczogWydjbi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ2hyaXN0bWFzIElzbGFuZCcsIGlzbzNDb2RlOiAnQ1hSJywgaXNvMkNvZGU6ICdDWCcsIGRhdGFzZXRDb2RlczogWydjeC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ29jb3MgSXNsYW5kJywgaXNvM0NvZGU6ICdDQ0snLCBpc28yQ29kZTogJ0NDJywgZGF0YXNldENvZGVzOiBbJ2NjLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDb2xvbWJpYScsIGlzbzNDb2RlOiAnQ09MJywgaXNvMkNvZGU6ICdDTycsIGRhdGFzZXRDb2RlczogWydjby1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0NvbG9tYmlhJywgaXNvM0NvZGU6ICdDT0wnLCBpc28yQ29kZTogJ0NPJywgZGF0YXNldENvZGVzOiBbJ2NvLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDb21vcm9zJywgaXNvM0NvZGU6ICdDT00nLCBpc28yQ29kZTogJ0tNJywgZGF0YXNldENvZGVzOiBbJ2ttLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ29tb3JvcycsIGlzbzNDb2RlOiAnQ09NJywgaXNvMkNvZGU6ICdLTScsIGRhdGFzZXRDb2RlczogWydrbS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ29uZ28nLCBpc28zQ29kZTogJ0NPRycsIGlzbzJDb2RlOiAnQ0cnLCBkYXRhc2V0Q29kZXM6IFsnY2ctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDb25nbycsIGlzbzNDb2RlOiAnQ09HJywgaXNvMkNvZGU6ICdDRycsIGRhdGFzZXRDb2RlczogWydjZy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ29uZ28sIFRoZSBEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZScsIGlzbzNDb2RlOiAnQ09EJywgaXNvMkNvZGU6ICdDRCcsIGRhdGFzZXRDb2RlczogWydjZC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0NvbmdvLCBUaGUgRGVtb2NyYXRpYyBSZXB1YmxpYyBvZiB0aGUnLCBpc28zQ29kZTogJ0NPRCcsIGlzbzJDb2RlOiAnQ0QnLCBkYXRhc2V0Q29kZXM6IFsnY2QtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0Nvb2sgSXNsYW5kcycsIGlzbzNDb2RlOiAnQ09LJywgaXNvMkNvZGU6ICdDSycsIGRhdGFzZXRDb2RlczogWydjay1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0Nvb2sgSXNsYW5kcycsIGlzbzNDb2RlOiAnQ09LJywgaXNvMkNvZGU6ICdDSycsIGRhdGFzZXRDb2RlczogWydjay1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ29zdGEgUmljYScsIGlzbzNDb2RlOiAnQ1JJJywgaXNvMkNvZGU6ICdDUicsIGRhdGFzZXRDb2RlczogWydjci1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0Nvc3RhIFJpY2EnLCBpc28zQ29kZTogJ0NSSScsIGlzbzJDb2RlOiAnQ1InLCBkYXRhc2V0Q29kZXM6IFsnY3ItYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0Nyb2F0aWEnLCBpc28zQ29kZTogJ0hSVicsIGlzbzJDb2RlOiAnSFInLCBkYXRhc2V0Q29kZXM6IFsnaHItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDcm9hdGlhJywgaXNvM0NvZGU6ICdIUlYnLCBpc28yQ29kZTogJ0hSJywgZGF0YXNldENvZGVzOiBbJ2hyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDdWJhJywgaXNvM0NvZGU6ICdDVUInLCBpc28yQ29kZTogJ0NVJywgZGF0YXNldENvZGVzOiBbJ2N1LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ3ViYScsIGlzbzNDb2RlOiAnQ1VCJywgaXNvMkNvZGU6ICdDVScsIGRhdGFzZXRDb2RlczogWydjdS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ3VyYcOnYW8nLCBpc28zQ29kZTogJ0NVVycsIGlzbzJDb2RlOiAnQ1cnLCBkYXRhc2V0Q29kZXM6IFsnY3ctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdDdXJhw6dhbycsIGlzbzNDb2RlOiAnQ1VXJywgaXNvMkNvZGU6ICdDVycsIGRhdGFzZXRDb2RlczogWydjdy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnQ3lwcnVzJywgaXNvM0NvZGU6ICdDWVAnLCBpc28yQ29kZTogJ0NZJywgZGF0YXNldENvZGVzOiBbJ2N5LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ3lwcnVzJywgaXNvM0NvZGU6ICdDWVAnLCBpc28yQ29kZTogJ0NZJywgZGF0YXNldENvZGVzOiBbJ2N5LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDemVjaCBSZXB1YmxpYycsIGlzbzNDb2RlOiAnQ1pFJywgaXNvMkNvZGU6ICdDWicsIGRhdGFzZXRDb2RlczogWydjei1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0N6ZWNoIFJlcHVibGljJywgaXNvM0NvZGU6ICdDWkUnLCBpc28yQ29kZTogJ0NaJywgZGF0YXNldENvZGVzOiBbJ2N6LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdDw7R0ZSBkXFwnSXZvaXJlJywgaXNvM0NvZGU6ICdDSVYnLCBpc28yQ29kZTogJ0NJJywgZGF0YXNldENvZGVzOiBbJ2NpLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnQ8O0dGUgZFxcJ0l2b2lyZScsIGlzbzNDb2RlOiAnQ0lWJywgaXNvMkNvZGU6ICdDSScsIGRhdGFzZXRDb2RlczogWydjaS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnRGVubWFyaycsIGlzbzNDb2RlOiAnRE5LJywgaXNvMkNvZGU6ICdESycsIGRhdGFzZXRDb2RlczogWydkay1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0Rlbm1hcmsnLCBpc28zQ29kZTogJ0ROSycsIGlzbzJDb2RlOiAnREsnLCBkYXRhc2V0Q29kZXM6IFsnZGstYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0RqaWJvdXRpJywgaXNvM0NvZGU6ICdESkknLCBpc28yQ29kZTogJ0RKJywgZGF0YXNldENvZGVzOiBbJ2RqLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRGppYm91dGknLCBpc28zQ29kZTogJ0RKSScsIGlzbzJDb2RlOiAnREonLCBkYXRhc2V0Q29kZXM6IFsnZGotYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0RvbWluaWNhJywgaXNvM0NvZGU6ICdETUEnLCBpc28yQ29kZTogJ0RNJywgZGF0YXNldENvZGVzOiBbJ2RtLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRG9taW5pY2EnLCBpc28zQ29kZTogJ0RNQScsIGlzbzJDb2RlOiAnRE0nLCBkYXRhc2V0Q29kZXM6IFsnZG0tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0RvbWluaWNhbiBSZXB1YmxpYycsIGlzbzNDb2RlOiAnRE9NJywgaXNvMkNvZGU6ICdETycsIGRhdGFzZXRDb2RlczogWydkby1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0RvbWluaWNhbiBSZXB1YmxpYycsIGlzbzNDb2RlOiAnRE9NJywgaXNvMkNvZGU6ICdETycsIGRhdGFzZXRDb2RlczogWydkby1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnRWN1YWRvcicsIGlzbzNDb2RlOiAnRUNVJywgaXNvMkNvZGU6ICdFQycsIGRhdGFzZXRDb2RlczogWydlYy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0VjdWFkb3InLCBpc28zQ29kZTogJ0VDVScsIGlzbzJDb2RlOiAnRUMnLCBkYXRhc2V0Q29kZXM6IFsnZWMtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0VneXB0JywgaXNvM0NvZGU6ICdFR1knLCBpc28yQ29kZTogJ0VHJywgZGF0YXNldENvZGVzOiBbJ2VnLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRWd5cHQnLCBpc28zQ29kZTogJ0VHWScsIGlzbzJDb2RlOiAnRUcnLCBkYXRhc2V0Q29kZXM6IFsnZWctYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0VsIFNhbHZhZG9yJywgaXNvM0NvZGU6ICdTTFYnLCBpc28yQ29kZTogJ1NWJywgZGF0YXNldENvZGVzOiBbJ3N2LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRWwgU2FsdmFkb3InLCBpc28zQ29kZTogJ1NMVicsIGlzbzJDb2RlOiAnU1YnLCBkYXRhc2V0Q29kZXM6IFsnc3YtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0VxdWF0b3JpYWwgR3VpbmVhJywgaXNvM0NvZGU6ICdHTlEnLCBpc28yQ29kZTogJ0dRJywgZGF0YXNldENvZGVzOiBbJ2dxLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRXF1YXRvcmlhbCBHdWluZWEnLCBpc28zQ29kZTogJ0dOUScsIGlzbzJDb2RlOiAnR1EnLCBkYXRhc2V0Q29kZXM6IFsnZ3EtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0VyaXRyZWEnLCBpc28zQ29kZTogJ0VSSScsIGlzbzJDb2RlOiAnRVInLCBkYXRhc2V0Q29kZXM6IFsnZXItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdFcml0cmVhJywgaXNvM0NvZGU6ICdFUkknLCBpc28yQ29kZTogJ0VSJywgZGF0YXNldENvZGVzOiBbJ2VyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdFc3RvbmlhJywgaXNvM0NvZGU6ICdFU1QnLCBpc28yQ29kZTogJ0VFJywgZGF0YXNldENvZGVzOiBbJ2VlLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRXN0b25pYScsIGlzbzNDb2RlOiAnRVNUJywgaXNvMkNvZGU6ICdFRScsIGRhdGFzZXRDb2RlczogWydlZS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnRXRoaW9waWEnLCBpc28zQ29kZTogJ0VUSCcsIGlzbzJDb2RlOiAnRVQnLCBkYXRhc2V0Q29kZXM6IFsnZXQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdFdGhpb3BpYScsIGlzbzNDb2RlOiAnRVRIJywgaXNvMkNvZGU6ICdFVCcsIGRhdGFzZXRDb2RlczogWydldC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpJywgaXNvM0NvZGU6ICdGTEsnLCBpc28yQ29kZTogJ0ZLJywgZGF0YXNldENvZGVzOiBbJ2ZrLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdGYXJvZSBJc2xhbmRzJywgaXNvM0NvZGU6ICdGUk8nLCBpc28yQ29kZTogJ0ZPJywgZGF0YXNldENvZGVzOiBbJ2ZvLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnRmFyb2UgSXNsYW5kcycsIGlzbzNDb2RlOiAnRlJPJywgaXNvMkNvZGU6ICdGTycsIGRhdGFzZXRDb2RlczogWydmby1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnRmlqaScsIGlzbzNDb2RlOiAnRkpJJywgaXNvMkNvZGU6ICdGSicsIGRhdGFzZXRDb2RlczogWydmai1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0ZpamknLCBpc28zQ29kZTogJ0ZKSScsIGlzbzJDb2RlOiAnRkonLCBkYXRhc2V0Q29kZXM6IFsnZmotYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0ZpbmxhbmQnLCBpc28zQ29kZTogJ0ZJTicsIGlzbzJDb2RlOiAnRkknLCBkYXRhc2V0Q29kZXM6IFsnZmktYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdGaW5sYW5kJywgaXNvM0NvZGU6ICdGSU4nLCBpc28yQ29kZTogJ0ZJJywgZGF0YXNldENvZGVzOiBbJ2ZpLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0ZpbmxhbmQnLCBpc28zQ29kZTogJ0ZJTicsIGlzbzJDb2RlOiAnRkknLCBkYXRhc2V0Q29kZXM6IFsnZmktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0ZyYW5jZSBTdHJlZXQgTGV2ZWwnLCBpc28zQ29kZTogJ0ZSQScsIGlzbzJDb2RlOiAnRlInLCBkYXRhc2V0Q29kZXM6IFsnZnItYWRkcmVzcy1zdHJlZXRsZXZlbCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdGcmFuY2UgU3ViLVByZW1pc2VzIExldmVsJywgaXNvM0NvZGU6ICdGUkEnLCBpc28yQ29kZTogJ0ZSJywgZGF0YXNldENvZGVzOiBbJ2ZyLWFkZGl0aW9uYWwtaGV4YWxpbmUzJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdGcmFuY2UgUHJlbWlzZXMgTGV2ZWwnLCBpc28zQ29kZTogJ0ZSQScsIGlzbzJDb2RlOiAnRlInLCBkYXRhc2V0Q29kZXM6IFsnZnItYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdGcmVuY2ggR3VpYW5hJywgaXNvM0NvZGU6ICdHVUYnLCBpc28yQ29kZTogJ0dGJywgZGF0YXNldENvZGVzOiBbJ2dmLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdGcmVuY2ggUG9seW5lc2lhJywgaXNvM0NvZGU6ICdQWUYnLCBpc28yQ29kZTogJ1BGJywgZGF0YXNldENvZGVzOiBbJ3BmLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHYWJvbicsIGlzbzNDb2RlOiAnR0FCJywgaXNvMkNvZGU6ICdHQScsIGRhdGFzZXRDb2RlczogWydnYS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0dhYm9uJywgaXNvM0NvZGU6ICdHQUInLCBpc28yQ29kZTogJ0dBJywgZGF0YXNldENvZGVzOiBbJ2dhLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHYW1iaWEnLCBpc28zQ29kZTogJ0dNQicsIGlzbzJDb2RlOiAnR00nLCBkYXRhc2V0Q29kZXM6IFsnZ20tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHYW1iaWEnLCBpc28zQ29kZTogJ0dNQicsIGlzbzJDb2RlOiAnR00nLCBkYXRhc2V0Q29kZXM6IFsnZ20tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0dlb3JnaWEnLCBpc28zQ29kZTogJ0dFTycsIGlzbzJDb2RlOiAnR0UnLCBkYXRhc2V0Q29kZXM6IFsnZ2UtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHZW9yZ2lhJywgaXNvM0NvZGU6ICdHRU8nLCBpc28yQ29kZTogJ0dFJywgZGF0YXNldENvZGVzOiBbJ2dlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHZXJtYW55JywgaXNvM0NvZGU6ICdERVUnLCBpc28yQ29kZTogJ0RFJywgZGF0YXNldENvZGVzOiBbJ2RlLWFkZHJlc3MnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnR2VybWFueScsIGlzbzNDb2RlOiAnREVVJywgaXNvMkNvZGU6ICdERScsIGRhdGFzZXRDb2RlczogWydkZS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHZXJtYW55JywgaXNvM0NvZGU6ICdERVUnLCBpc28yQ29kZTogJ0RFJywgZGF0YXNldENvZGVzOiBbJ2RlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHaGFuYScsIGlzbzNDb2RlOiAnR0hBJywgaXNvMkNvZGU6ICdHSCcsIGRhdGFzZXRDb2RlczogWydnaC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0doYW5hJywgaXNvM0NvZGU6ICdHSEEnLCBpc28yQ29kZTogJ0dIJywgZGF0YXNldENvZGVzOiBbJ2doLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHaWJyYWx0YXInLCBpc28zQ29kZTogJ0dJQicsIGlzbzJDb2RlOiAnR0knLCBkYXRhc2V0Q29kZXM6IFsnZ2ktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0dyZWVjZScsIGlzbzNDb2RlOiAnR1JDJywgaXNvMkNvZGU6ICdHUicsIGRhdGFzZXRDb2RlczogWydnci1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0dyZWVjZScsIGlzbzNDb2RlOiAnR1JDJywgaXNvMkNvZGU6ICdHUicsIGRhdGFzZXRDb2RlczogWydnci1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnR3JlZW5sYW5kJywgaXNvM0NvZGU6ICdHUkwnLCBpc28yQ29kZTogJ0dMJywgZGF0YXNldENvZGVzOiBbJ2dsLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnR3JlZW5sYW5kJywgaXNvM0NvZGU6ICdHUkwnLCBpc28yQ29kZTogJ0dMJywgZGF0YXNldENvZGVzOiBbJ2dsLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHcmVuYWRhJywgaXNvM0NvZGU6ICdHUkQnLCBpc28yQ29kZTogJ0dEJywgZGF0YXNldENvZGVzOiBbJ2dkLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnR3JlbmFkYScsIGlzbzNDb2RlOiAnR1JEJywgaXNvMkNvZGU6ICdHRCcsIGRhdGFzZXRDb2RlczogWydnZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnR3VhZGVsb3VwZScsIGlzbzNDb2RlOiAnR0xQJywgaXNvMkNvZGU6ICdHUCcsIGRhdGFzZXRDb2RlczogWydncC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnR3VhbScsIGlzbzNDb2RlOiAnR1VNJywgaXNvMkNvZGU6ICdHVScsIGRhdGFzZXRDb2RlczogWydndS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnR3VhdGVtYWxhJywgaXNvM0NvZGU6ICdHVE0nLCBpc28yQ29kZTogJ0dUJywgZGF0YXNldENvZGVzOiBbJ2d0LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnR3VhdGVtYWxhJywgaXNvM0NvZGU6ICdHVE0nLCBpc28yQ29kZTogJ0dUJywgZGF0YXNldENvZGVzOiBbJ2d0LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHdWluZWEnLCBpc28zQ29kZTogJ0dJTicsIGlzbzJDb2RlOiAnR04nLCBkYXRhc2V0Q29kZXM6IFsnZ24tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHdWluZWEnLCBpc28zQ29kZTogJ0dJTicsIGlzbzJDb2RlOiAnR04nLCBkYXRhc2V0Q29kZXM6IFsnZ24tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0d1aW5lYS1CaXNzYXUnLCBpc28zQ29kZTogJ0dOQicsIGlzbzJDb2RlOiAnR1cnLCBkYXRhc2V0Q29kZXM6IFsnZ3ctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHdWluZWEtQmlzc2F1JywgaXNvM0NvZGU6ICdHTkInLCBpc28yQ29kZTogJ0dXJywgZGF0YXNldENvZGVzOiBbJ2d3LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdHdXlhbmEnLCBpc28zQ29kZTogJ0dVWScsIGlzbzJDb2RlOiAnR1knLCBkYXRhc2V0Q29kZXM6IFsnZ3ktYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdHdXlhbmEnLCBpc28zQ29kZTogJ0dVWScsIGlzbzJDb2RlOiAnR1knLCBkYXRhc2V0Q29kZXM6IFsnZ3ktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0hhaXRpJywgaXNvM0NvZGU6ICdIVEknLCBpc28yQ29kZTogJ0hUJywgZGF0YXNldENvZGVzOiBbJ2h0LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnSGFpdGknLCBpc28zQ29kZTogJ0hUSScsIGlzbzJDb2RlOiAnSFQnLCBkYXRhc2V0Q29kZXM6IFsnaHQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0hvbmR1cmFzJywgaXNvM0NvZGU6ICdITkQnLCBpc28yQ29kZTogJ0hOJywgZGF0YXNldENvZGVzOiBbJ2huLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnSG9uZHVyYXMnLCBpc28zQ29kZTogJ0hORCcsIGlzbzJDb2RlOiAnSE4nLCBkYXRhc2V0Q29kZXM6IFsnaG4tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0hvbmcgS29uZycsIGlzbzNDb2RlOiAnSEtHJywgaXNvMkNvZGU6ICdISycsIGRhdGFzZXRDb2RlczogWydoay1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0hvbmcgS29uZycsIGlzbzNDb2RlOiAnSEtHJywgaXNvMkNvZGU6ICdISycsIGRhdGFzZXRDb2RlczogWydoay1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnSHVuZ2FyeScsIGlzbzNDb2RlOiAnSFVOJywgaXNvMkNvZGU6ICdIVScsIGRhdGFzZXRDb2RlczogWydodS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0h1bmdhcnknLCBpc28zQ29kZTogJ0hVTicsIGlzbzJDb2RlOiAnSFUnLCBkYXRhc2V0Q29kZXM6IFsnaHUtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0ljZWxhbmQnLCBpc28zQ29kZTogJ0lTTCcsIGlzbzJDb2RlOiAnSVMnLCBkYXRhc2V0Q29kZXM6IFsnaXMtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdJY2VsYW5kJywgaXNvM0NvZGU6ICdJU0wnLCBpc28yQ29kZTogJ0lTJywgZGF0YXNldENvZGVzOiBbJ2lzLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdJbmRpYScsIGlzbzNDb2RlOiAnSU5EJywgaXNvMkNvZGU6ICdJTicsIGRhdGFzZXRDb2RlczogWydpbi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0luZGlhJywgaXNvM0NvZGU6ICdJTkQnLCBpc28yQ29kZTogJ0lOJywgZGF0YXNldENvZGVzOiBbJ2luLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdJbmRvbmVzaWEnLCBpc28zQ29kZTogJ0lETicsIGlzbzJDb2RlOiAnSUQnLCBkYXRhc2V0Q29kZXM6IFsnaWQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdJbmRvbmVzaWEnLCBpc28zQ29kZTogJ0lETicsIGlzbzJDb2RlOiAnSUQnLCBkYXRhc2V0Q29kZXM6IFsnaWQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0lyYW4sIElzbGFtaWMgUmVwdWJsaWMgb2YnLCBpc28zQ29kZTogJ0lSTicsIGlzbzJDb2RlOiAnSVInLCBkYXRhc2V0Q29kZXM6IFsnaXItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdJcmFuLCBJc2xhbWljIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdJUk4nLCBpc28yQ29kZTogJ0lSJywgZGF0YXNldENvZGVzOiBbJ2lyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdJcmFxJywgaXNvM0NvZGU6ICdJUlEnLCBpc28yQ29kZTogJ0lRJywgZGF0YXNldENvZGVzOiBbJ2lxLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnSXJhcScsIGlzbzNDb2RlOiAnSVJRJywgaXNvMkNvZGU6ICdJUScsIGRhdGFzZXRDb2RlczogWydpcS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnSXJlbGFuZCcsIGlzbzNDb2RlOiAnSVJMJywgaXNvMkNvZGU6ICdJRScsIGRhdGFzZXRDb2RlczogWydpZS1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJyBdfSxcclxuICB7Y291bnRyeTogJ0lyZWxhbmQnLCBpc28zQ29kZTogJ0lSTCcsIGlzbzJDb2RlOiAnSUUnLCBkYXRhc2V0Q29kZXM6IFsnaWUtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0lyZWxhbmQgRWlyY29kZScsIGlzbzNDb2RlOiAnSVJMJywgaXNvMkNvZGU6ICdJRScsIGRhdGFzZXRDb2RlczogWydpZS1hZGRpdGlvbmFsLWVpcmNvZGUnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdJcmVsYW5kIEVDQUQnLCBpc28zQ29kZTogJ0lSTCcsIGlzbzJDb2RlOiAnSUUnLCBkYXRhc2V0Q29kZXM6IFsnaWUtYWRkcmVzcy1lY2FkJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdJc3JhZWwnLCBpc28zQ29kZTogJ0lTUicsIGlzbzJDb2RlOiAnSUwnLCBkYXRhc2V0Q29kZXM6IFsnaWwtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdJc3JhZWwnLCBpc28zQ29kZTogJ0lTUicsIGlzbzJDb2RlOiAnSUwnLCBkYXRhc2V0Q29kZXM6IFsnaWwtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0l0YWx5JywgaXNvM0NvZGU6ICdJVEEnLCBpc28yQ29kZTogJ0lUJywgZGF0YXNldENvZGVzOiBbJ2l0LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnSXRhbHknLCBpc28zQ29kZTogJ0lUQScsIGlzbzJDb2RlOiAnSVQnLCBkYXRhc2V0Q29kZXM6IFsnaXQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0phbWFpY2EnLCBpc28zQ29kZTogJ0pBTScsIGlzbzJDb2RlOiAnSk0nLCBkYXRhc2V0Q29kZXM6IFsnam0tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdKYW1haWNhJywgaXNvM0NvZGU6ICdKQU0nLCBpc28yQ29kZTogJ0pNJywgZGF0YXNldENvZGVzOiBbJ2ptLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdKYXBhbicsIGlzbzNDb2RlOiAnSlBOJywgaXNvMkNvZGU6ICdKUCcsIGRhdGFzZXRDb2RlczogWydqcC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0phcGFuJywgaXNvM0NvZGU6ICdKUE4nLCBpc28yQ29kZTogJ0pQJywgZGF0YXNldENvZGVzOiBbJ2pwLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdKb3JkYW4nLCBpc28zQ29kZTogJ0pPUicsIGlzbzJDb2RlOiAnSk8nLCBkYXRhc2V0Q29kZXM6IFsnam8tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdKb3JkYW4nLCBpc28zQ29kZTogJ0pPUicsIGlzbzJDb2RlOiAnSk8nLCBkYXRhc2V0Q29kZXM6IFsnam8tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0themFraHN0YW4nLCBpc28zQ29kZTogJ0tBWicsIGlzbzJDb2RlOiAnS1onLCBkYXRhc2V0Q29kZXM6IFsna3otYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdLYXpha2hzdGFuJywgaXNvM0NvZGU6ICdLQVonLCBpc28yQ29kZTogJ0taJywgZGF0YXNldENvZGVzOiBbJ2t6LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdLZW55YScsIGlzbzNDb2RlOiAnS0VOJywgaXNvMkNvZGU6ICdLRScsIGRhdGFzZXRDb2RlczogWydrZS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0tlbnlhJywgaXNvM0NvZGU6ICdLRU4nLCBpc28yQ29kZTogJ0tFJywgZGF0YXNldENvZGVzOiBbJ2tlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdLaXJpYmF0aScsIGlzbzNDb2RlOiAnS0lSJywgaXNvMkNvZGU6ICdLSScsIGRhdGFzZXRDb2RlczogWydraS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0tpcmliYXRpJywgaXNvM0NvZGU6ICdLSVInLCBpc28yQ29kZTogJ0tJJywgZGF0YXNldENvZGVzOiBbJ2tpLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdLb3JlYSwgRGVtb2NyYXRpYyBQZW9wbGVcXCdzIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdQUksnLCBpc28yQ29kZTogJ0tQJywgZGF0YXNldENvZGVzOiBbJ2twLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnS29yZWEsIERlbW9jcmF0aWMgUGVvcGxlXFwncyBSZXB1YmxpYyBvZicsIGlzbzNDb2RlOiAnUFJLJywgaXNvMkNvZGU6ICdLUCcsIGRhdGFzZXRDb2RlczogWydrcC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnS29yZWEsIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdLT1InLCBpc28yQ29kZTogJ0tSJywgZGF0YXNldENvZGVzOiBbJ2tyLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnS29yZWEsIFJlcHVibGljIG9mJywgaXNvM0NvZGU6ICdLT1InLCBpc28yQ29kZTogJ0tSJywgZGF0YXNldENvZGVzOiBbJ2tyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdLb3Nvdm8nLCBpc28zQ29kZTogJ0tPUycsIGlzbzJDb2RlOiAnWEsnLCBkYXRhc2V0Q29kZXM6IFsna3YtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0t1d2FpdCcsIGlzbzNDb2RlOiAnS1dUJywgaXNvMkNvZGU6ICdLVycsIGRhdGFzZXRDb2RlczogWydrdy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0t1d2FpdCcsIGlzbzNDb2RlOiAnS1dUJywgaXNvMkNvZGU6ICdLVycsIGRhdGFzZXRDb2RlczogWydrdy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnS3lyZ3l6c3RhbicsIGlzbzNDb2RlOiAnS0daJywgaXNvMkNvZGU6ICdLRycsIGRhdGFzZXRDb2RlczogWydrZy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0t5cmd5enN0YW4nLCBpc28zQ29kZTogJ0tHWicsIGlzbzJDb2RlOiAnS0cnLCBkYXRhc2V0Q29kZXM6IFsna2ctYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0xhb3MnLCBpc28zQ29kZTogJ0xBTycsIGlzbzJDb2RlOiAnTEEnLCBkYXRhc2V0Q29kZXM6IFsnbGEtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMYW9zJywgaXNvM0NvZGU6ICdMQU8nLCBpc28yQ29kZTogJ0xBJywgZGF0YXNldENvZGVzOiBbJ2xhLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdMYXR2aWEnLCBpc28zQ29kZTogJ0xWQScsIGlzbzJDb2RlOiAnTFYnLCBkYXRhc2V0Q29kZXM6IFsnbHYtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMYXR2aWEnLCBpc28zQ29kZTogJ0xWQScsIGlzbzJDb2RlOiAnTFYnLCBkYXRhc2V0Q29kZXM6IFsnbHYtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0xlYmFub24nLCBpc28zQ29kZTogJ0xCTicsIGlzbzJDb2RlOiAnTEInLCBkYXRhc2V0Q29kZXM6IFsnbGItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMZWJhbm9uJywgaXNvM0NvZGU6ICdMQk4nLCBpc28yQ29kZTogJ0xCJywgZGF0YXNldENvZGVzOiBbJ2xiLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdMZXNvdGhvJywgaXNvM0NvZGU6ICdMU08nLCBpc28yQ29kZTogJ0xTJywgZGF0YXNldENvZGVzOiBbJ2xzLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTGVzb3RobycsIGlzbzNDb2RlOiAnTFNPJywgaXNvMkNvZGU6ICdMUycsIGRhdGFzZXRDb2RlczogWydscy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTGliZXJpYScsIGlzbzNDb2RlOiAnTEJSJywgaXNvMkNvZGU6ICdMUicsIGRhdGFzZXRDb2RlczogWydsci1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ0xpYmVyaWEnLCBpc28zQ29kZTogJ0xCUicsIGlzbzJDb2RlOiAnTFInLCBkYXRhc2V0Q29kZXM6IFsnbHItYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0xpYnlhJywgaXNvM0NvZGU6ICdMQlknLCBpc28yQ29kZTogJ0xZJywgZGF0YXNldENvZGVzOiBbJ2x5LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTGlieWEnLCBpc28zQ29kZTogJ0xCWScsIGlzbzJDb2RlOiAnTFknLCBkYXRhc2V0Q29kZXM6IFsnbHktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0xpZWNodGVuc3RlaW4nLCBpc28zQ29kZTogJ0xJRScsIGlzbzJDb2RlOiAnTEknLCBkYXRhc2V0Q29kZXM6IFsnbGktYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMaWVjaHRlbnN0ZWluJywgaXNvM0NvZGU6ICdMSUUnLCBpc28yQ29kZTogJ0xJJywgZGF0YXNldENvZGVzOiBbJ2xpLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdMaXRodWFuaWEnLCBpc28zQ29kZTogJ0xUVScsIGlzbzJDb2RlOiAnTFQnLCBkYXRhc2V0Q29kZXM6IFsnbHQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMaXRodWFuaWEnLCBpc28zQ29kZTogJ0xUVScsIGlzbzJDb2RlOiAnTFQnLCBkYXRhc2V0Q29kZXM6IFsnbHQtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ0x1eGVtYm91cmcnLCBpc28zQ29kZTogJ0xVWCcsIGlzbzJDb2RlOiAnTFUnLCBkYXRhc2V0Q29kZXM6IFsnbHUtYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdMdXhlbWJvdXJnJywgaXNvM0NvZGU6ICdMVVgnLCBpc28yQ29kZTogJ0xVJywgZGF0YXNldENvZGVzOiBbJ2x1LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNYWNhdScsIGlzbzNDb2RlOiAnTUFDJywgaXNvMkNvZGU6ICdNTycsIGRhdGFzZXRDb2RlczogWydsdi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01hY2F1JywgaXNvM0NvZGU6ICdNQUMnLCBpc28yQ29kZTogJ01PJywgZGF0YXNldENvZGVzOiBbJ2x2LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNYWRhZ2FzY2FyJywgaXNvM0NvZGU6ICdNREcnLCBpc28yQ29kZTogJ01HJywgZGF0YXNldENvZGVzOiBbJ21vLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFkYWdhc2NhcicsIGlzbzNDb2RlOiAnTURHJywgaXNvMkNvZGU6ICdNRycsIGRhdGFzZXRDb2RlczogWydtby1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFsYXdpJywgaXNvM0NvZGU6ICdNV0knLCBpc28yQ29kZTogJ01XJywgZGF0YXNldENvZGVzOiBbJ213LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFsYXdpJywgaXNvM0NvZGU6ICdNV0knLCBpc28yQ29kZTogJ01XJywgZGF0YXNldENvZGVzOiBbJ213LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNYWxheXNpYScsIGlzbzNDb2RlOiAnTVlTJywgaXNvMkNvZGU6ICdNWScsIGRhdGFzZXRDb2RlczogWydteS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01hbGF5c2lhJywgaXNvM0NvZGU6ICdNWVMnLCBpc28yQ29kZTogJ01ZJywgZGF0YXNldENvZGVzOiBbJ215LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNYWxkaXZlcycsIGlzbzNDb2RlOiAnTURWJywgaXNvMkNvZGU6ICdNVicsIGRhdGFzZXRDb2RlczogWydtdi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01hbGRpdmVzJywgaXNvM0NvZGU6ICdNRFYnLCBpc28yQ29kZTogJ01WJywgZGF0YXNldENvZGVzOiBbJ212LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNYWxpJywgaXNvM0NvZGU6ICdNTEknLCBpc28yQ29kZTogJ01MJywgZGF0YXNldENvZGVzOiBbJ21sLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFsaScsIGlzbzNDb2RlOiAnTUxJJywgaXNvMkNvZGU6ICdNTCcsIGRhdGFzZXRDb2RlczogWydtbC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFsdGEnLCBpc28zQ29kZTogJ01MVCcsIGlzbzJDb2RlOiAnTVQnLCBkYXRhc2V0Q29kZXM6IFsnbXQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdNYWx0YScsIGlzbzNDb2RlOiAnTUxUJywgaXNvMkNvZGU6ICdNVCcsIGRhdGFzZXRDb2RlczogWydtdC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFyc2hhbGwgSXNsYW5kcycsIGlzbzNDb2RlOiAnTUhMJywgaXNvMkNvZGU6ICdNSCcsIGRhdGFzZXRDb2RlczogWydtaC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWFydGluaXF1ZScsIGlzbzNDb2RlOiAnTVRRJywgaXNvMkNvZGU6ICdNUScsIGRhdGFzZXRDb2RlczogWydtcS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWF1cml0YW5pYScsIGlzbzNDb2RlOiAnTVJUJywgaXNvMkNvZGU6ICdNUicsIGRhdGFzZXRDb2RlczogWydtci1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01hdXJpdGFuaWEnLCBpc28zQ29kZTogJ01SVCcsIGlzbzJDb2RlOiAnTVInLCBkYXRhc2V0Q29kZXM6IFsnbXItYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ01hdXJpdGl1cycsIGlzbzNDb2RlOiAnTVVTJywgaXNvMkNvZGU6ICdNVScsIGRhdGFzZXRDb2RlczogWydtdS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01hdXJpdGl1cycsIGlzbzNDb2RlOiAnTVVTJywgaXNvMkNvZGU6ICdNVScsIGRhdGFzZXRDb2RlczogWydtdS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWF5b3R0ZScsIGlzbzNDb2RlOiAnTVlUJywgaXNvMkNvZGU6ICdZVCcsIGRhdGFzZXRDb2RlczogWyd5dC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTWV4aWNvJywgaXNvM0NvZGU6ICdNRVgnLCBpc28yQ29kZTogJ01YJywgZGF0YXNldENvZGVzOiBbJ214LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTWV4aWNvJywgaXNvM0NvZGU6ICdNRVgnLCBpc28yQ29kZTogJ01YJywgZGF0YXNldENvZGVzOiBbJ214LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNaWNyb25lc2lhLCBGZWRlcmF0ZWQgU3RhdGVzIG9mJywgaXNvM0NvZGU6ICdGU00nLCBpc28yQ29kZTogJ0ZNJywgZGF0YXNldENvZGVzOiBbJ2ZtLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNb2xkb3ZhJywgaXNvM0NvZGU6ICdNREEnLCBpc28yQ29kZTogJ01EJywgZGF0YXNldENvZGVzOiBbJ21kLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9sZG92YScsIGlzbzNDb2RlOiAnTURBJywgaXNvMkNvZGU6ICdNRCcsIGRhdGFzZXRDb2RlczogWydtZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9uYWNvJywgaXNvM0NvZGU6ICdNQ08nLCBpc28yQ29kZTogJ01DJywgZGF0YXNldENvZGVzOiBbJ21jLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9uYWNvJywgaXNvM0NvZGU6ICdNQ08nLCBpc28yQ29kZTogJ01DJywgZGF0YXNldENvZGVzOiBbJ21jLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNb25nb2xpYScsIGlzbzNDb2RlOiAnTU5HJywgaXNvMkNvZGU6ICdNTicsIGRhdGFzZXRDb2RlczogWydtbi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01vbmdvbGlhJywgaXNvM0NvZGU6ICdNTkcnLCBpc28yQ29kZTogJ01OJywgZGF0YXNldENvZGVzOiBbJ21uLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNb250ZW5lZ3JvJywgaXNvM0NvZGU6ICdNTkUnLCBpc28yQ29kZTogJ01FJywgZGF0YXNldENvZGVzOiBbJ21lLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9udGVuZWdybycsIGlzbzNDb2RlOiAnTU5FJywgaXNvMkNvZGU6ICdNRScsIGRhdGFzZXRDb2RlczogWydtZS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9udHNlcnJhdCcsIGlzbzNDb2RlOiAnTVNSJywgaXNvMkNvZGU6ICdNUycsIGRhdGFzZXRDb2RlczogWydtcy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTW9yb2NjbycsIGlzbzNDb2RlOiAnTUFSJywgaXNvMkNvZGU6ICdNQScsIGRhdGFzZXRDb2RlczogWydtYS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ01vcm9jY28nLCBpc28zQ29kZTogJ01BUicsIGlzbzJDb2RlOiAnTUEnLCBkYXRhc2V0Q29kZXM6IFsnbWEtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ01vemFtYmlxdWUnLCBpc28zQ29kZTogJ01PWicsIGlzbzJDb2RlOiAnTVonLCBkYXRhc2V0Q29kZXM6IFsnbXotYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdNb3phbWJpcXVlJywgaXNvM0NvZGU6ICdNT1onLCBpc28yQ29kZTogJ01aJywgZGF0YXNldENvZGVzOiBbJ216LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdNeWFubWFyJywgaXNvM0NvZGU6ICdNTVInLCBpc28yQ29kZTogJ01NJywgZGF0YXNldENvZGVzOiBbJ21tLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTXlhbm1hcicsIGlzbzNDb2RlOiAnTU1SJywgaXNvMkNvZGU6ICdNTScsIGRhdGFzZXRDb2RlczogWydtbS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTmFtaWJpYScsIGlzbzNDb2RlOiAnTkFNJywgaXNvMkNvZGU6ICdOQScsIGRhdGFzZXRDb2RlczogWyduYS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ05hbWliaWEnLCBpc28zQ29kZTogJ05BTScsIGlzbzJDb2RlOiAnTkEnLCBkYXRhc2V0Q29kZXM6IFsnbmEtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05hdXJ1JywgaXNvM0NvZGU6ICdOUlUnLCBpc28yQ29kZTogJ05SJywgZGF0YXNldENvZGVzOiBbJ25yLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTmF1cnUnLCBpc28zQ29kZTogJ05SVScsIGlzbzJDb2RlOiAnTlInLCBkYXRhc2V0Q29kZXM6IFsnbnItYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05lcGFsJywgaXNvM0NvZGU6ICdOUEwnLCBpc28yQ29kZTogJ05QJywgZGF0YXNldENvZGVzOiBbJ25wLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTmVwYWwnLCBpc28zQ29kZTogJ05QTCcsIGlzbzJDb2RlOiAnTlAnLCBkYXRhc2V0Q29kZXM6IFsnbnAtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05ldGhlcmxhbmRzJywgaXNvM0NvZGU6ICdOTEQnLCBpc28yQ29kZTogJ05MJywgZGF0YXNldENvZGVzOiBbJ25sLWFkZHJlc3MnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTmV0aGVybGFuZHMnLCBpc28zQ29kZTogJ05MRCcsIGlzbzJDb2RlOiAnTkwnLCBkYXRhc2V0Q29kZXM6IFsnbmwtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05ldyBDYWxlZG9uaWEnLCBpc28zQ29kZTogJ05DTCcsIGlzbzJDb2RlOiAnTkMnLCBkYXRhc2V0Q29kZXM6IFsnbmMtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05ldyBaZWFsYW5kIERhdGFGdXNpb24nLCBpc28zQ29kZTogJ05aTCcsIGlzbzJDb2RlOiAnTlonLCBkYXRhc2V0Q29kZXM6IFsnbnotYWRkaXRpb25hbC1kYXRhZnVzaW9uJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdOZXcgWmVhbGFuZCBQb3N0YWwgQWRkcmVzcycsIGlzbzNDb2RlOiAnTlpMJywgaXNvMkNvZGU6ICdOWicsIGRhdGFzZXRDb2RlczogWyduei1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdOaWNhcmFndWEnLCBpc28zQ29kZTogJ05JQycsIGlzbzJDb2RlOiAnTkknLCBkYXRhc2V0Q29kZXM6IFsnbmktYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdOaWNhcmFndWEnLCBpc28zQ29kZTogJ05JQycsIGlzbzJDb2RlOiAnTkknLCBkYXRhc2V0Q29kZXM6IFsnbmktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05pZ2VyJywgaXNvM0NvZGU6ICdORVInLCBpc28yQ29kZTogJ05FJywgZGF0YXNldENvZGVzOiBbJ25lLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTmlnZXInLCBpc28zQ29kZTogJ05FUicsIGlzbzJDb2RlOiAnTkUnLCBkYXRhc2V0Q29kZXM6IFsnbmUtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05pZ2VyaWEnLCBpc28zQ29kZTogJ05HQScsIGlzbzJDb2RlOiAnTkcnLCBkYXRhc2V0Q29kZXM6IFsnbmctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdOaWdlcmlhJywgaXNvM0NvZGU6ICdOR0EnLCBpc28yQ29kZTogJ05HJywgZGF0YXNldENvZGVzOiBbJ25nLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdOaXVlJywgaXNvM0NvZGU6ICdOSVUnLCBpc28yQ29kZTogJ05VJywgZGF0YXNldENvZGVzOiBbJ251LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTml1ZScsIGlzbzNDb2RlOiAnTklVJywgaXNvMkNvZGU6ICdOVScsIGRhdGFzZXRDb2RlczogWydudS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTm9yZm9sayBJc2xhbmQnLCBpc28zQ29kZTogJ05GSycsIGlzbzJDb2RlOiAnTkYnLCBkYXRhc2V0Q29kZXM6IFsnbmYtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdOb3Jmb2xrIElzbGFuZCcsIGlzbzNDb2RlOiAnTkZLJywgaXNvMkNvZGU6ICdORicsIGRhdGFzZXRDb2RlczogWyduZi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnTm9ydGggTWFjZWRvbmlhJywgaXNvM0NvZGU6ICdNS0QnLCBpc28yQ29kZTogJ01LJywgZGF0YXNldENvZGVzOiBbJ21rLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnTm9ydGggTWFjZWRvbmlhJywgaXNvM0NvZGU6ICdNS0QnLCBpc28yQ29kZTogJ01LJywgZGF0YXNldENvZGVzOiBbJ21rLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdOb3J0aGVybiBNYXJpYW5hIElzbGFuZHMnLCBpc28zQ29kZTogJ01OUCcsIGlzbzJDb2RlOiAnTVAnLCBkYXRhc2V0Q29kZXM6IFsnbXAtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ05vcndheScsIGlzbzNDb2RlOiAnTk9SJywgaXNvMkNvZGU6ICdOTycsIGRhdGFzZXRDb2RlczogWyduby1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJyBdfSxcclxuICB7Y291bnRyeTogJ05vcndheScsIGlzbzNDb2RlOiAnTk9SJywgaXNvMkNvZGU6ICdOTycsIGRhdGFzZXRDb2RlczogWyduby1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdOb3J3YXknLCBpc28zQ29kZTogJ05PUicsIGlzbzJDb2RlOiAnTk8nLCBkYXRhc2V0Q29kZXM6IFsnbm8tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ09tYW4nLCBpc28zQ29kZTogJ09NTicsIGlzbzJDb2RlOiAnT00nLCBkYXRhc2V0Q29kZXM6IFsnb20tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdPbWFuJywgaXNvM0NvZGU6ICdPTU4nLCBpc28yQ29kZTogJ09NJywgZGF0YXNldENvZGVzOiBbJ29tLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQYWtpc3RhbicsIGlzbzNDb2RlOiAnUEFLJywgaXNvMkNvZGU6ICdQSycsIGRhdGFzZXRDb2RlczogWydway1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1Bha2lzdGFuJywgaXNvM0NvZGU6ICdQQUsnLCBpc28yQ29kZTogJ1BLJywgZGF0YXNldENvZGVzOiBbJ3BrLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQYWxhdScsIGlzbzNDb2RlOiAnUExXJywgaXNvMkNvZGU6ICdQVycsIGRhdGFzZXRDb2RlczogWydwdy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnUGFsZXN0aW5lJywgaXNvM0NvZGU6ICdQU0UnLCBpc28yQ29kZTogJ1BTJywgZGF0YXNldENvZGVzOiBbJ3BzLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQYW5hbWEnLCBpc28zQ29kZTogJ1BBTicsIGlzbzJDb2RlOiAnUEEnLCBkYXRhc2V0Q29kZXM6IFsncGEtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdQYW5hbWEnLCBpc28zQ29kZTogJ1BBTicsIGlzbzJDb2RlOiAnUEEnLCBkYXRhc2V0Q29kZXM6IFsncGEtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1BhcHVhIE5ldyBHdWluZWEnLCBpc28zQ29kZTogJ1BORycsIGlzbzJDb2RlOiAnUEcnLCBkYXRhc2V0Q29kZXM6IFsncGctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdQYXB1YSBOZXcgR3VpbmVhJywgaXNvM0NvZGU6ICdQTkcnLCBpc28yQ29kZTogJ1BHJywgZGF0YXNldENvZGVzOiBbJ3BnLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQYXJhZ3VheScsIGlzbzNDb2RlOiAnUFJZJywgaXNvMkNvZGU6ICdQWScsIGRhdGFzZXRDb2RlczogWydweS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1BhcmFndWF5JywgaXNvM0NvZGU6ICdQUlknLCBpc28yQ29kZTogJ1BZJywgZGF0YXNldENvZGVzOiBbJ3B5LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQZXJ1JywgaXNvM0NvZGU6ICdQRVInLCBpc28yQ29kZTogJ1BFJywgZGF0YXNldENvZGVzOiBbJ3BlLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnUGVydScsIGlzbzNDb2RlOiAnUEVSJywgaXNvMkNvZGU6ICdQRScsIGRhdGFzZXRDb2RlczogWydwZS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnUGhpbGlwcGluZXMnLCBpc28zQ29kZTogJ1BITCcsIGlzbzJDb2RlOiAnUEgnLCBkYXRhc2V0Q29kZXM6IFsncGgtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdQaGlsaXBwaW5lcycsIGlzbzNDb2RlOiAnUEhMJywgaXNvMkNvZGU6ICdQSCcsIGRhdGFzZXRDb2RlczogWydwaC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnUGl0Y2Fpcm4gSXNsYW5kcycsIGlzbzNDb2RlOiAnUENOJywgaXNvMkNvZGU6ICdQTicsIGRhdGFzZXRDb2RlczogWydwbi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnUG9sYW5kJywgaXNvM0NvZGU6ICdQT0wnLCBpc28yQ29kZTogJ1BMJywgZGF0YXNldENvZGVzOiBbJ3BsLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnUG9sYW5kJywgaXNvM0NvZGU6ICdQT0wnLCBpc28yQ29kZTogJ1BMJywgZGF0YXNldENvZGVzOiBbJ3BsLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdQb3J0dWdhbCcsIGlzbzNDb2RlOiAnUFJUJywgaXNvMkNvZGU6ICdQVCcsIGRhdGFzZXRDb2RlczogWydwdC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1BvcnR1Z2FsJywgaXNvM0NvZGU6ICdQUlQnLCBpc28yQ29kZTogJ1BUJywgZGF0YXNldENvZGVzOiBbJ3B0LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdRYXRhcicsIGlzbzNDb2RlOiAnUUFUJywgaXNvMkNvZGU6ICdRQScsIGRhdGFzZXRDb2RlczogWydxYS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1FhdGFyJywgaXNvM0NvZGU6ICdRQVQnLCBpc28yQ29kZTogJ1FBJywgZGF0YXNldENvZGVzOiBbJ3FhLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdSb21hbmlhJywgaXNvM0NvZGU6ICdST1UnLCBpc28yQ29kZTogJ1JPJywgZGF0YXNldENvZGVzOiBbJ3JvLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnUm9tYW5pYScsIGlzbzNDb2RlOiAnUk9VJywgaXNvMkNvZGU6ICdSTycsIGRhdGFzZXRDb2RlczogWydyby1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnUnVzc2lhbiBGZWRlcmF0aW9uJywgaXNvM0NvZGU6ICdSVVMnLCBpc28yQ29kZTogJ1JVJywgZGF0YXNldENvZGVzOiBbJ3J1LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnUnVzc2lhbiBGZWRlcmF0aW9uJywgaXNvM0NvZGU6ICdSVVMnLCBpc28yQ29kZTogJ1JVJywgZGF0YXNldENvZGVzOiBbJ3J1LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdSd2FuZGEnLCBpc28zQ29kZTogJ1JXQScsIGlzbzJDb2RlOiAnUlcnLCBkYXRhc2V0Q29kZXM6IFsncnctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdSd2FuZGEnLCBpc28zQ29kZTogJ1JXQScsIGlzbzJDb2RlOiAnUlcnLCBkYXRhc2V0Q29kZXM6IFsncnctYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1LDqXVuaW9uJywgaXNvM0NvZGU6ICdSRVUnLCBpc28yQ29kZTogJ1JFJywgZGF0YXNldENvZGVzOiBbJ3JlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTYWludCBCYXJ0aMOpbGVteScsIGlzbzNDb2RlOiAnQkxNJywgaXNvMkNvZGU6ICdCTCcsIGRhdGFzZXRDb2RlczogWydibC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2FpbnQgSGVsZW5hJywgaXNvM0NvZGU6ICdTSE4nLCBpc28yQ29kZTogJ1NIJywgZGF0YXNldENvZGVzOiBbJ3NoLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTYWludCBLaXR0cyBhbmQgTmV2aXMnLCBpc28zQ29kZTogJ0tOQScsIGlzbzJDb2RlOiAnS04nLCBkYXRhc2V0Q29kZXM6IFsna24tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTYWludCBLaXR0cyBhbmQgTmV2aXMnLCBpc28zQ29kZTogJ0tOQScsIGlzbzJDb2RlOiAnS04nLCBkYXRhc2V0Q29kZXM6IFsna24tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhaW50IEx1Y2lhJywgaXNvM0NvZGU6ICdMQ0EnLCBpc28yQ29kZTogJ0xDJywgZGF0YXNldENvZGVzOiBbJ2xjLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTYWludCBNYXJ0aW4nLCBpc28zQ29kZTogJ01BRicsIGlzbzJDb2RlOiAnTUYnLCBkYXRhc2V0Q29kZXM6IFsnbWYtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhaW50IFBpZXJyZSBhbmQgTWlxdWVsb24nLCBpc28zQ29kZTogJ1NQTScsIGlzbzJDb2RlOiAnUE0nLCBkYXRhc2V0Q29kZXM6IFsncG0tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhaW50IFZpbmNlbnQgYW5kIHRoZSBHcmVuYWRpbmVzJywgaXNvM0NvZGU6ICdWQ1QnLCBpc28yQ29kZTogJ1ZDJywgZGF0YXNldENvZGVzOiBbJ3ZjLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU2FpbnQgVmluY2VudCBhbmQgdGhlIEdyZW5hZGluZXMnLCBpc28zQ29kZTogJ1ZDVCcsIGlzbzJDb2RlOiAnVkMnLCBkYXRhc2V0Q29kZXM6IFsndmMtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhbW9hJywgaXNvM0NvZGU6ICdXU00nLCBpc28yQ29kZTogJ1dTJywgZGF0YXNldENvZGVzOiBbJ3dzLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU2Ftb2EnLCBpc28zQ29kZTogJ1dTTScsIGlzbzJDb2RlOiAnV1MnLCBkYXRhc2V0Q29kZXM6IFsnd3MtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhbiBNYXJpbm8nLCBpc28zQ29kZTogJ1NNUicsIGlzbzJDb2RlOiAnU00nLCBkYXRhc2V0Q29kZXM6IFsnc20tYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTYW4gTWFyaW5vJywgaXNvM0NvZGU6ICdTTVInLCBpc28yQ29kZTogJ1NNJywgZGF0YXNldENvZGVzOiBbJ3NtLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnLCBpc28zQ29kZTogJ1NUUCcsIGlzbzJDb2RlOiAnU1QnLCBkYXRhc2V0Q29kZXM6IFsnc3QtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTYW8gVG9tZSBhbmQgUHJpbmNpcGUnLCBpc28zQ29kZTogJ1NUUCcsIGlzbzJDb2RlOiAnU1QnLCBkYXRhc2V0Q29kZXM6IFsnc3QtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NhdWRpIEFyYWJpYScsIGlzbzNDb2RlOiAnU0FVJywgaXNvMkNvZGU6ICdTQScsIGRhdGFzZXRDb2RlczogWydzYS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NhdWRpIEFyYWJpYScsIGlzbzNDb2RlOiAnU0FVJywgaXNvMkNvZGU6ICdTQScsIGRhdGFzZXRDb2RlczogWydzYS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2VuZWdhbCcsIGlzbzNDb2RlOiAnU0VOJywgaXNvMkNvZGU6ICdTTicsIGRhdGFzZXRDb2RlczogWydzbi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NlbmVnYWwnLCBpc28zQ29kZTogJ1NFTicsIGlzbzJDb2RlOiAnU04nLCBkYXRhc2V0Q29kZXM6IFsnc24tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NlcmJpYScsIGlzbzNDb2RlOiAnU1JCJywgaXNvMkNvZGU6ICdSUycsIGRhdGFzZXRDb2RlczogWydycy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NlcmJpYScsIGlzbzNDb2RlOiAnU1JCJywgaXNvMkNvZGU6ICdSUycsIGRhdGFzZXRDb2RlczogWydycy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2V5Y2hlbGxlcycsIGlzbzNDb2RlOiAnU1lDJywgaXNvMkNvZGU6ICdTQycsIGRhdGFzZXRDb2RlczogWydzYy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NleWNoZWxsZXMnLCBpc28zQ29kZTogJ1NZQycsIGlzbzJDb2RlOiAnU0MnLCBkYXRhc2V0Q29kZXM6IFsnc2MtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NpZXJyYSBMZW9uZScsIGlzbzNDb2RlOiAnU0xFJywgaXNvMkNvZGU6ICdTTCcsIGRhdGFzZXRDb2RlczogWydzbC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NpZXJyYSBMZW9uZScsIGlzbzNDb2RlOiAnU0xFJywgaXNvMkNvZGU6ICdTTCcsIGRhdGFzZXRDb2RlczogWydzbC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2luZ2Fwb3JlJywgaXNvM0NvZGU6ICdTR1AnLCBpc28yQ29kZTogJ1NHJywgZGF0YXNldENvZGVzOiBbJ3NnLWFkZHJlc3MnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1NpbnQgTWFhcnRlbicsIGlzbzNDb2RlOiAnU1hNJywgaXNvMkNvZGU6ICdTWCcsIGRhdGFzZXRDb2RlczogWydzeC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1NpbnQgTWFhcnRlbicsIGlzbzNDb2RlOiAnU1hNJywgaXNvMkNvZGU6ICdTWCcsIGRhdGFzZXRDb2RlczogWydzeC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2xvdmFraWEnLCBpc28zQ29kZTogJ1NWSycsIGlzbzJDb2RlOiAnU0snLCBkYXRhc2V0Q29kZXM6IFsnc2stYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTbG92YWtpYScsIGlzbzNDb2RlOiAnU1ZLJywgaXNvMkNvZGU6ICdTSycsIGRhdGFzZXRDb2RlczogWydzay1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU2xvdmVuaWEnLCBpc28zQ29kZTogJ1NWTicsIGlzbzJDb2RlOiAnU0knLCBkYXRhc2V0Q29kZXM6IFsnc2ktYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTbG92ZW5pYScsIGlzbzNDb2RlOiAnU1ZOJywgaXNvMkNvZGU6ICdTSScsIGRhdGFzZXRDb2RlczogWydzaS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU29sb21vbiBJc2xhbmRzJywgaXNvM0NvZGU6ICdTTEInLCBpc28yQ29kZTogJ1NCJywgZGF0YXNldENvZGVzOiBbJ3NiLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU29sb21vbiBJc2xhbmRzJywgaXNvM0NvZGU6ICdTTEInLCBpc28yQ29kZTogJ1NCJywgZGF0YXNldENvZGVzOiBbJ3NiLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTb21hbGlhJywgaXNvM0NvZGU6ICdTT00nLCBpc28yQ29kZTogJ1NPJywgZGF0YXNldENvZGVzOiBbJ3NvLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU29tYWxpYScsIGlzbzNDb2RlOiAnU09NJywgaXNvMkNvZGU6ICdTTycsIGRhdGFzZXRDb2RlczogWydzby1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU291dGggQWZyaWNhJywgaXNvM0NvZGU6ICdaQUYnLCBpc28yQ29kZTogJ1pBJywgZGF0YXNldENvZGVzOiBbJ3phLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU291dGggQWZyaWNhJywgaXNvM0NvZGU6ICdaQUYnLCBpc28yQ29kZTogJ1pBJywgZGF0YXNldENvZGVzOiBbJ3phLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTb3V0aCBHZW9yZ2lhIGFuZCB0aGUgU291dGggU2FuZHdpY2ggSXNsYW5kcycsIGlzbzNDb2RlOiAnU0dTJywgaXNvMkNvZGU6ICdHUycsIGRhdGFzZXRDb2RlczogWydncy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU291dGggU3VkYW4nLCBpc28zQ29kZTogJ1NTRCcsIGlzbzJDb2RlOiAnU1MnLCBkYXRhc2V0Q29kZXM6IFsnc3MtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTb3V0aCBTdWRhbicsIGlzbzNDb2RlOiAnU1NEJywgaXNvMkNvZGU6ICdTUycsIGRhdGFzZXRDb2RlczogWydzcy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU3BhaW4nLCBpc28zQ29kZTogJ0VTUCcsIGlzbzJDb2RlOiAnRVMnLCBkYXRhc2V0Q29kZXM6IFsnZXMtYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdTcGFpbicsIGlzbzNDb2RlOiAnRVNQJywgaXNvMkNvZGU6ICdFUycsIGRhdGFzZXRDb2RlczogWydlcy1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTcGFpbicsIGlzbzNDb2RlOiAnRVNQJywgaXNvMkNvZGU6ICdFUycsIGRhdGFzZXRDb2RlczogWydlcy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU3JpIExhbmthJywgaXNvM0NvZGU6ICdMS0EnLCBpc28yQ29kZTogJ0xLJywgZGF0YXNldENvZGVzOiBbJ2xrLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU3VkYW4nLCBpc28zQ29kZTogJ1NETicsIGlzbzJDb2RlOiAnU0QnLCBkYXRhc2V0Q29kZXM6IFsnc2QtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTdWRhbicsIGlzbzNDb2RlOiAnU0ROJywgaXNvMkNvZGU6ICdTRCcsIGRhdGFzZXRDb2RlczogWydzZC1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU3VyaW5hbWUnLCBpc28zQ29kZTogJ1NVUicsIGlzbzJDb2RlOiAnU1InLCBkYXRhc2V0Q29kZXM6IFsnc3ItYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdTdXJpbmFtZScsIGlzbzNDb2RlOiAnU1VSJywgaXNvMkNvZGU6ICdTUicsIGRhdGFzZXRDb2RlczogWydzci1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnU3ZhbGJhcmQgYW5kIEphbiBNYXllbiBJc2xhbmRzJywgaXNvM0NvZGU6ICdTSk0nLCBpc28yQ29kZTogJ1NKJywgZGF0YXNldENvZGVzOiBbJ3NqLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTd2F6aWxhbmQgKEVzd2F0aW5pKScsIGlzbzNDb2RlOiAnU1daJywgaXNvMkNvZGU6ICdTWicsIGRhdGFzZXRDb2RlczogWydzei1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1N3YXppbGFuZCAoRXN3YXRpbmkpJywgaXNvM0NvZGU6ICdTV1onLCBpc28yQ29kZTogJ1NaJywgZGF0YXNldENvZGVzOiBbJ3N6LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTd2VkZW4nLCBpc28zQ29kZTogJ1NXRScsIGlzbzJDb2RlOiAnU0UnLCBkYXRhc2V0Q29kZXM6IFsnc2UtYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdTd2VkZW4nLCBpc28zQ29kZTogJ1NXRScsIGlzbzJDb2RlOiAnU0UnLCBkYXRhc2V0Q29kZXM6IFsnc2UtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnU3dlZGVuJywgaXNvM0NvZGU6ICdTV0UnLCBpc28yQ29kZTogJ1NFJywgZGF0YXNldENvZGVzOiBbJ3NlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTd2l0emVybGFuZCcsIGlzbzNDb2RlOiAnQ0hFJywgaXNvMkNvZGU6ICdDSCcsIGRhdGFzZXRDb2RlczogWydjaC1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJyBdfSxcclxuICB7Y291bnRyeTogJ1N3aXR6ZXJsYW5kJywgaXNvM0NvZGU6ICdDSEUnLCBpc28yQ29kZTogJ0NIJywgZGF0YXNldENvZGVzOiBbJ2NoLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1N3aXR6ZXJsYW5kJywgaXNvM0NvZGU6ICdDSEUnLCBpc28yQ29kZTogJ0NIJywgZGF0YXNldENvZGVzOiBbJ2NoLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdTeXJpYScsIGlzbzNDb2RlOiAnU1lSJywgaXNvMkNvZGU6ICdTWScsIGRhdGFzZXRDb2RlczogWydzeS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1N5cmlhJywgaXNvM0NvZGU6ICdTWVInLCBpc28yQ29kZTogJ1NZJywgZGF0YXNldENvZGVzOiBbJ3N5LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUYWl3YW4nLCBpc28zQ29kZTogJ1RXTicsIGlzbzJDb2RlOiAnVFcnLCBkYXRhc2V0Q29kZXM6IFsndHctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdUYWl3YW4nLCBpc28zQ29kZTogJ1RXTicsIGlzbzJDb2RlOiAnVFcnLCBkYXRhc2V0Q29kZXM6IFsndHctYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1RhamlraXN0YW4nLCBpc28zQ29kZTogJ1RKSycsIGlzbzJDb2RlOiAnVEonLCBkYXRhc2V0Q29kZXM6IFsndGotYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdUYWppa2lzdGFuJywgaXNvM0NvZGU6ICdUSksnLCBpc28yQ29kZTogJ1RKJywgZGF0YXNldENvZGVzOiBbJ3RqLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUYW56YW5pYScsIGlzbzNDb2RlOiAnVFpBJywgaXNvMkNvZGU6ICdUWicsIGRhdGFzZXRDb2RlczogWyd0ei1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1RhbnphbmlhJywgaXNvM0NvZGU6ICdUWkEnLCBpc28yQ29kZTogJ1RaJywgZGF0YXNldENvZGVzOiBbJ3R6LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUaGFpbGFuZCcsIGlzbzNDb2RlOiAnVEhBJywgaXNvMkNvZGU6ICdUSCcsIGRhdGFzZXRDb2RlczogWyd0aC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1RoYWlsYW5kJywgaXNvM0NvZGU6ICdUSEEnLCBpc28yQ29kZTogJ1RIJywgZGF0YXNldENvZGVzOiBbJ3RoLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUaW1vci1MZXN0ZScsIGlzbzNDb2RlOiAnVExTJywgaXNvMkNvZGU6ICdUTCcsIGRhdGFzZXRDb2RlczogWyd0bC1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1RpbW9yLUxlc3RlJywgaXNvM0NvZGU6ICdUTFMnLCBpc28yQ29kZTogJ1RMJywgZGF0YXNldENvZGVzOiBbJ3RsLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUb2dvJywgaXNvM0NvZGU6ICdUR08nLCBpc28yQ29kZTogJ1RHJywgZGF0YXNldENvZGVzOiBbJ3RnLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVG9nbycsIGlzbzNDb2RlOiAnVEdPJywgaXNvMkNvZGU6ICdURycsIGRhdGFzZXRDb2RlczogWyd0Zy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVG9rZWxhdScsIGlzbzNDb2RlOiAnVEtMJywgaXNvMkNvZGU6ICdUSycsIGRhdGFzZXRDb2RlczogWyd0ay1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1Rva2VsYXUnLCBpc28zQ29kZTogJ1RLTCcsIGlzbzJDb2RlOiAnVEsnLCBkYXRhc2V0Q29kZXM6IFsndGstYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1RvbmdhJywgaXNvM0NvZGU6ICdUT04nLCBpc28yQ29kZTogJ1RPJywgZGF0YXNldENvZGVzOiBbJ3RvLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVG9uZ2EnLCBpc28zQ29kZTogJ1RPTicsIGlzbzJDb2RlOiAnVE8nLCBkYXRhc2V0Q29kZXM6IFsndG8tYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1RyaW5pZGFkIGFuZCBUb2JhZ28nLCBpc28zQ29kZTogJ1RUTycsIGlzbzJDb2RlOiAnVFQnLCBkYXRhc2V0Q29kZXM6IFsndHQtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdUcmluaWRhZCBhbmQgVG9iYWdvJywgaXNvM0NvZGU6ICdUVE8nLCBpc28yQ29kZTogJ1RUJywgZGF0YXNldENvZGVzOiBbJ3R0LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUdW5pc2lhJywgaXNvM0NvZGU6ICdUVU4nLCBpc28yQ29kZTogJ1ROJywgZGF0YXNldENvZGVzOiBbJ3RuLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVHVuaXNpYScsIGlzbzNDb2RlOiAnVFVOJywgaXNvMkNvZGU6ICdUTicsIGRhdGFzZXRDb2RlczogWyd0bi1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVHVya2V5JywgaXNvM0NvZGU6ICdUVVInLCBpc28yQ29kZTogJ1RSJywgZGF0YXNldENvZGVzOiBbJ3RyLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVHVya2V5JywgaXNvM0NvZGU6ICdUVVInLCBpc28yQ29kZTogJ1RSJywgZGF0YXNldENvZGVzOiBbJ3RyLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUdXJraXNoIFJlcHVibGljIG9mIE5vcnRoZXJuIEN5cHJ1cycsIGlzbzNDb2RlOiAnTkNZJywgaXNvMkNvZGU6ICdDWScsIGRhdGFzZXRDb2RlczogWydueS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVHVya21lbmlzdGFuJywgaXNvM0NvZGU6ICdUS00nLCBpc28yQ29kZTogJ1RNJywgZGF0YXNldENvZGVzOiBbJ3RtLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVHVya21lbmlzdGFuJywgaXNvM0NvZGU6ICdUS00nLCBpc28yQ29kZTogJ1RNJywgZGF0YXNldENvZGVzOiBbJ3RtLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdUdXJrcyBhbmQgQ2FpY29zIElzbGFuZHMnLCBpc28zQ29kZTogJ1RDQScsIGlzbzJDb2RlOiAnVEMnLCBkYXRhc2V0Q29kZXM6IFsndGMtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1R1dmFsdScsIGlzbzNDb2RlOiAnVFVWJywgaXNvMkNvZGU6ICdUVicsIGRhdGFzZXRDb2RlczogWyd0di1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1R1dmFsdScsIGlzbzNDb2RlOiAnVFVWJywgaXNvMkNvZGU6ICdUVicsIGRhdGFzZXRDb2RlczogWyd0di1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVWdhbmRhJywgaXNvM0NvZGU6ICdVR0EnLCBpc28yQ29kZTogJ1VHJywgZGF0YXNldENvZGVzOiBbJ3VnLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVWdhbmRhJywgaXNvM0NvZGU6ICdVR0EnLCBpc28yQ29kZTogJ1VHJywgZGF0YXNldENvZGVzOiBbJ3VnLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdVa3JhaW5lJywgaXNvM0NvZGU6ICdVS1InLCBpc28yQ29kZTogJ1VBJywgZGF0YXNldENvZGVzOiBbJ3VhLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVWtyYWluZScsIGlzbzNDb2RlOiAnVUtSJywgaXNvMkNvZGU6ICdVQScsIGRhdGFzZXRDb2RlczogWyd1YS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnLCBpc28zQ29kZTogJ0FSRScsIGlzbzJDb2RlOiAnQUUnLCBkYXRhc2V0Q29kZXM6IFsnYWUtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgQXJhYiBFbWlyYXRlcycsIGlzbzNDb2RlOiAnQVJFJywgaXNvMkNvZGU6ICdBRScsIGRhdGFzZXRDb2RlczogWydhZS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIC8ve2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbScsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlczogWydnYi1hZGRpdGlvbmFsLW11bHRpcGxlcmVzaWRlbmNlJywnZ2ItYWRkaXRpb25hbC1ub3R5ZXRidWlsdCcsJ2diLWFkZGl0aW9uYWwtYnVzaW5lc3MnLCdnYi1hZGRpdGlvbmFsLWVsZWN0cmljaXR5JywnZ2ItYWRkaXRpb25hbC1nYXMnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJywgJ2xvb2t1cHYyJywgJ2NvbWJpbmVkJyBdfSxcclxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGVzOiBbJ2diLWFkZGl0aW9uYWwtbXVsdGlwbGVyZXNpZGVuY2UnLCdnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0J10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicsICdjb21iaW5lZCcgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSAoUG9zdGFsIEFkZHJlc3MgRmlsZSBvbmx5KScsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlczogWydnYi1hZGRyZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicsICdjb21iaW5lZCcgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBBZGRyZXNzQmFzZSBQcmVtaXVtJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGVzOiBbJ2diLWFkZHJlc3MtYWRkcmVzc2Jhc2UnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnLCAnbG9va3VwJyBdfSxcclxuICB7Y291bnRyeTogJ1VuaXRlZCBLaW5nZG9tIEFkZHJlc3NCYXNlIFByZW1pdW0gd2l0aCBJc2xhbmRzJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGVzOiBbJ2diLWFkZGl0aW9uYWwtYWRkcmVzc2Jhc2Vpc2xhbmRzJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJywgJ2xvb2t1cCcgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBCdXNpbmVzcyBOYW1lcycsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlczogWydnYi1hZGRpdGlvbmFsLWJ1c2luZXNzJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBNdWx0aXBsZSBSZXNpZGVuY2UnLCBpc28zQ29kZTogJ0dCUicsIGlzbzJDb2RlOiAnR0InLCBkYXRhc2V0Q29kZXM6IFsnZ2ItYWRkaXRpb25hbC1tdWx0aXBsZXJlc2lkZW5jZSddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnLCAnbG9va3VwdjInLCAnY29tYmluZWQnIF19LFxyXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20gTm90IFlldCBCdWlsdCcsIGlzbzNDb2RlOiAnR0JSJywgaXNvMkNvZGU6ICdHQicsIGRhdGFzZXRDb2RlczogWydnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0J10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScsICdsb29rdXB2MicsICdjb21iaW5lZCcgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBVdGlsaXRpZXMgKEVsZWN0cmljaXR5IGFuZCBHYXMpJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGVzOiBbJ2diLWFkZGl0aW9uYWwtZWxlY3RyaWNpdHknLCdnYi1hZGRpdGlvbmFsLWdhcyddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAnbG9va3VwdjInLCAnY29tYmluZWQnIF19LFxyXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20gU3RyZWV0IExldmVsJywgaXNvM0NvZGU6ICdHQlInLCBpc28yQ29kZTogJ0dCJywgZGF0YXNldENvZGVzOiBbJ2diLWFkZHJlc3Mtc3RyZWV0bGV2ZWwnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nIF19LFxyXG4gIHtjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20gRXh0ZW5kZWQgQnVzaW5lc3MnLCBpc28zQ29kZTogJ0dCUicsIGlzbzJDb2RlOiAnR0InLCBkYXRhc2V0Q29kZXM6IFsnZ2ItYWRkaXRpb25hbC1idXNpbmVzc2V4dGVuZGVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3R5cGVkb3duJywgJ3ZhbGlkYXRlJywgJ2xvb2t1cCcgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgS2luZ2RvbSBDeW1yYWVnIChXZWxzaCBMYW5ndWFnZSkgUG9zdGFsIEFkZHJlc3MnLCBpc28zQ29kZTogJ0dCUicsIGlzbzJDb2RlOiAnR0InLCBkYXRhc2V0Q29kZXM6IFsnZ2ItYWRkcmVzcy13YWxlcyddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd0eXBlZG93bicsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdVbml0ZWQgU3RhdGVzIG9mIEFtZXJpY2EnLCBpc28zQ29kZTogJ1VTQScsIGlzbzJDb2RlOiAnVVMnLCBkYXRhc2V0Q29kZXM6IFsndXMtYWRkcmVzcyddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ3NpbmdsZWxpbmUnLCAndHlwZWRvd24nLCAndmFsaWRhdGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVXJ1Z3VheScsIGlzbzNDb2RlOiAnVVJZJywgaXNvMkNvZGU6ICdVWScsIGRhdGFzZXRDb2RlczogWyd1eS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1VydWd1YXknLCBpc28zQ29kZTogJ1VSWScsIGlzbzJDb2RlOiAnVVknLCBkYXRhc2V0Q29kZXM6IFsndXktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1V6YmVraXN0YW4nLCBpc28zQ29kZTogJ1VaQicsIGlzbzJDb2RlOiAnVVonLCBkYXRhc2V0Q29kZXM6IFsndXotYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdVemJla2lzdGFuJywgaXNvM0NvZGU6ICdVWkInLCBpc28yQ29kZTogJ1VaJywgZGF0YXNldENvZGVzOiBbJ3V6LWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdWYW51YXR1JywgaXNvM0NvZGU6ICdWVVQnLCBpc28yQ29kZTogJ1ZVJywgZGF0YXNldENvZGVzOiBbJ3Z1LWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVmFudWF0dScsIGlzbzNDb2RlOiAnVlVUJywgaXNvMkNvZGU6ICdWVScsIGRhdGFzZXRDb2RlczogWyd2dS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVmF0aWNhbiBDaXR5IChIb2x5IFNlZSknLCBpc28zQ29kZTogJ1ZBVCcsIGlzbzJDb2RlOiAnVkEnLCBkYXRhc2V0Q29kZXM6IFsndmEtYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdWYXRpY2FuIENpdHkgKEhvbHkgU2VlKScsIGlzbzNDb2RlOiAnVkFUJywgaXNvMkNvZGU6ICdWQScsIGRhdGFzZXRDb2RlczogWyd2YS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVmVuZXp1ZWxhJywgaXNvM0NvZGU6ICdWRU4nLCBpc28yQ29kZTogJ1ZFJywgZGF0YXNldENvZGVzOiBbJ3ZlLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnVmVuZXp1ZWxhJywgaXNvM0NvZGU6ICdWRU4nLCBpc28yQ29kZTogJ1ZFJywgZGF0YXNldENvZGVzOiBbJ3ZlLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdWaWV0IE5hbScsIGlzbzNDb2RlOiAnVk5NJywgaXNvMkNvZGU6ICdWTicsIGRhdGFzZXRDb2RlczogWyd2bi1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1ZpZXQgTmFtJywgaXNvM0NvZGU6ICdWTk0nLCBpc28yQ29kZTogJ1ZOJywgZGF0YXNldENvZGVzOiBbJ3ZuLWFkZHJlc3MtZWgnXSwgc2VhcmNoVHlwZXM6IFsgJ2F1dG9jb21wbGV0ZScsICdsb29rdXB2MicgXX0sXHJcbiAge2NvdW50cnk6ICdWaXJnaW4gSXNsYW5kcywgQnJpdGlzaCcsIGlzbzNDb2RlOiAnVkdCJywgaXNvMkNvZGU6ICdWRycsIGRhdGFzZXRDb2RlczogWyd2Zy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnVmlyZ2luIElzbGFuZHMsIFUuUy4nLCBpc28zQ29kZTogJ1ZJUicsIGlzbzJDb2RlOiAnVkknLCBkYXRhc2V0Q29kZXM6IFsndmktYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1dhbGxpcyBhbmQgRnV0dW5hIElzbGFuZHMnLCBpc28zQ29kZTogJ1dMRicsIGlzbzJDb2RlOiAnV0YnLCBkYXRhc2V0Q29kZXM6IFsnd2YtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1dlc3Rlcm4gU2FoYXJhJywgaXNvM0NvZGU6ICdFU0gnLCBpc28yQ29kZTogJ0VIJywgZGF0YXNldENvZGVzOiBbJ2VoLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnV2VzdGVybiBTYWhhcmEnLCBpc28zQ29kZTogJ0VTSCcsIGlzbzJDb2RlOiAnRUgnLCBkYXRhc2V0Q29kZXM6IFsnZWgtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1llbWVuJywgaXNvM0NvZGU6ICdZRU0nLCBpc28yQ29kZTogJ1lFJywgZGF0YXNldENvZGVzOiBbJ3llLWFkZHJlc3MtZWQnXSwgc2VhcmNoVHlwZXM6IFsgJ3NpbmdsZWxpbmUnLCAndmFsaWRhdGUnIF19LFxyXG4gIHtjb3VudHJ5OiAnWWVtZW4nLCBpc28zQ29kZTogJ1lFTScsIGlzbzJDb2RlOiAnWUUnLCBkYXRhc2V0Q29kZXM6IFsneWUtYWRkcmVzcy1laCddLCBzZWFyY2hUeXBlczogWyAnYXV0b2NvbXBsZXRlJywgJ2xvb2t1cHYyJyBdfSxcclxuICB7Y291bnRyeTogJ1phbWJpYScsIGlzbzNDb2RlOiAnWk1CJywgaXNvMkNvZGU6ICdaTScsIGRhdGFzZXRDb2RlczogWyd6bS1hZGRyZXNzLWVkJ10sIHNlYXJjaFR5cGVzOiBbICdzaW5nbGVsaW5lJywgJ3ZhbGlkYXRlJyBdfSxcclxuICB7Y291bnRyeTogJ1phbWJpYScsIGlzbzNDb2RlOiAnWk1CJywgaXNvMkNvZGU6ICdaTScsIGRhdGFzZXRDb2RlczogWyd6bS1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19LFxyXG4gIHtjb3VudHJ5OiAnWmltYmFid2UnLCBpc28zQ29kZTogJ1pXRScsIGlzbzJDb2RlOiAnWlcnLCBkYXRhc2V0Q29kZXM6IFsnenctYWRkcmVzcy1lZCddLCBzZWFyY2hUeXBlczogWyAnc2luZ2xlbGluZScsICd2YWxpZGF0ZScgXX0sXHJcbiAge2NvdW50cnk6ICdaaW1iYWJ3ZScsIGlzbzNDb2RlOiAnWldFJywgaXNvMkNvZGU6ICdaVycsIGRhdGFzZXRDb2RlczogWyd6dy1hZGRyZXNzLWVoJ10sIHNlYXJjaFR5cGVzOiBbICdhdXRvY29tcGxldGUnLCAnbG9va3VwdjInIF19XHJcbl07XHJcbiIsImltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uTW9kZSB9IGZyb20gXCIuL3NlYXJjaC1vcHRpb25zXCI7XHJcblxyXG4vLyBOZWVkcyB0byBiZSBpbiBvcmRlciBvZiBwcmlvcml0eSBmb3IgY29tYmluZWQgc2VhcmNoIHR5cGUuIExBU1QgZm9ybWF0IG1hdGNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHJlc3BvbnNlLlxyXG5leHBvcnQgY29uc3QgcHJlZGVmaW5lZEZvcm1hdHMgPSBbXHJcbiAge2NvdW50cnlJc286ICdHQlInLCBtaW5MZW5ndGg6IDQsIG1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5QT1NUQUxfQ09ERSwgZm9ybWF0OiAvXltBLVphLXpdezEsMn1bMC05XVtBLVphLXowLTldPyA/WzAtOV1bQS1aYS16XXswLDJ9JC99LFxyXG4gIHtjb3VudHJ5SXNvOiAnR0JSJywgbWluTGVuZ3RoOiBudWxsLCBtb2RlOiBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuV0hBVDNXT1JEUywgZm9ybWF0OiAvXlxcL3swLH0oPzpbXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXStbLu+9oeOAgu+9peODu++4kuGflNaJ4YGL25ThjaLgpaRdW14wLTlgfiFAIyQlXiYqKCkrXFwtXz1be1xcXX1cXFxcfCc8LC4+Py9cIjs6wqPCp8K6wqnCrlxcc10rWy7vvaHjgILvvaXjg7vvuJLhn5TWieGBi9uU4Y2i4KWkXVteMC05YH4hQCMkJV4mKigpK1xcLV89W3tcXF19XFxcXHwnPCwuPj8vXCI7OsKjwqfCusKpwq5cXHNdK3xbXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSsoW1xcdTAwMjBcXHUwMEEwXVteMC05YH4hQCMkJV4mKigpK1xcLV89W3tcXF19XFxcXHwnPCwuPj8vXCI7OsKjwqfCusKpwq5cXHNdKyl7MSwzfVsu772h44CC772l44O777iS4Z+U1onhgYvblOGNouClpF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSsoW1xcdTAwMjBcXHUwMEEwXVteMC05YH4hQCMkJV4mKigpK1xcLV89W3tcXF19XFxcXHwnPCwuPj8vXCI7OsKjwqfCusKpwq5cXHNdKyl7MSwzfVsu772h44CC772l44O777iS4Z+U1onhgYvblOGNouClpF1bXjAtOWB+IUAjJCVeJiooKStcXC1fPVt7XFxdfVxcXFx8JzwsLj4/L1wiOzrCo8KnwrrCqcKuXFxzXSsoW1xcdTAwMjBcXHUwMEEwXVteMC05YH4hQCMkJV4mKigpK1xcLV89W3tcXF19XFxcXHwnPCwuPj8vXCI7OsKjwqfCusKpwq5cXHNdKyl7MSwzfSkkL30sXHJcbiAge2NvdW50cnlJc286ICdHQlInLCBtaW5MZW5ndGg6IG51bGwsIG1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5NUEFOLCBmb3JtYXQ6IC9eXFxkezEzLDIxfSQvfSxcclxuICB7Y291bnRyeUlzbzogJ0dCUicsIG1pbkxlbmd0aDogbnVsbCwgbW9kZTogQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLk1QUk4sIGZvcm1hdDogL15cXGR7OCwxMH0kL30sXHJcbiAge2NvdW50cnlJc286ICdHQlInLCBtaW5MZW5ndGg6IG51bGwsIG1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5VRFBSTiwgZm9ybWF0OiAvXlxcZHs4fSQvfSxcclxuXTtcclxuIiwiLy8gVHJhbnNsYXRpb25zXHJcbmV4cG9ydCBjb25zdCB0cmFuc2xhdGlvbnMgPSB7XHJcbiAgLy8gbGFuZ3VhZ2UgLyBjb3VudHJ5IC8gcHJvcGVydHlcclxuICBlbjoge1xyXG4gICAgZ2JyOiB7XHJcbiAgICAgIGxvY2FsaXR5OiAnTG9jYWxpdHknLFxyXG4gICAgICByZWdpb246ICdSZWdpb24nLFxyXG4gICAgICBwb3N0YWxfY29kZTogJ1Bvc3RhbCBjb2RlJ1xyXG4gICAgfSxcclxuICAgIHVzYToge1xyXG4gICAgICBsb2NhbGl0eTogJ0xvY2FsaXR5JyxcclxuICAgICAgcmVnaW9uOiAnUmVnaW9uJyxcclxuICAgICAgcG9zdGFsX2NvZGU6ICdQb3N0YWwgY29kZSdcclxuICAgIH1cclxuICB9XHJcbiAgLy8gQWRkIG90aGVyIGxhbmd1YWdlcyBiZWxvd1xyXG59OyIsImltcG9ydCB7IEFkZHJlc3NWYWxpZGF0aW9uTW9kZSB9IGZyb20gXCIuL3NlYXJjaC1vcHRpb25zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGlja2xpc3Qge1xyXG4gIGl0ZW1zOiBQaWNrbGlzdEl0ZW1bXTtcclxuICB3aGF0M3dvcmRzSXRlbXM6IFdoYXQzV29yZHNQaWNrTGlzdFtdO1xyXG4gIGxvb2t1cEl0ZW1zOiBMb29rdXBBZGRyZXNzW107XHJcbiAgY3VycmVudEl0ZW07XHJcbiAgbGlzdDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcclxuICBzaXplID0gMDtcclxuICBtYXhTdWdnZXN0aW9ucyA9IDI1O1xyXG4gIHNob3c6IChpdGVtczogU2VhcmNoUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgc2hvd1doYXQzV29yZHM6IChpdGVtczogTG9va3VwVzNXUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgc2hvd0xvb2t1cDogKGl0ZW1zOiBMb29rdXBWMlJlc3BvbnNlKSA9PiB2b2lkO1xyXG4gIGhpZGU6ICgpID0+IHZvaWQ7XHJcbiAgaGFuZGxlRW1wdHlQaWNrbGlzdDogKGl0ZW1zOiBTZWFyY2hSZXNwb25zZSB8IExvb2t1cFczV1Jlc3BvbnNlIHwgTG9va3VwVjJSZXNwb25zZSkgPT4gdm9pZDtcclxuICBoYW5kbGVFbXB0eVBpY2tsaXN0Q2FsbGJhY2s6ICgpID0+IHZvaWQ7XHJcbiAgaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWM6ICgpID0+IHZvaWQ7XHJcbiAgcmVmaW5lOiBSZWZpbmVtZW50O1xyXG4gIHVzZUFkZHJlc3NFbnRlcmVkOiBVc2VBZGRyZXNzRW50ZXJlZDtcclxuICBjcmVhdGVMaXN0OiAoKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVMaXN0SXRlbTogKGl0ZW06IFBpY2tsaXN0SXRlbSkgPT4gSFRNTERpdkVsZW1lbnQ7XHJcbiAgY3JlYXRlTG9va3VwTGlzdEl0ZW06IChpdGVtOiBMb29rdXBBZGRyZXNzKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVMb29rdXBTdWdnZXN0aW9uTGlzdEl0ZW06IChpdGVtOiBMb29rdXBTdWdnZXN0aW9uKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBjcmVhdGVXaGF0M1dvcmRzTGlzdEl0ZW06IChpdGVtOiBXaGF0M1dvcmRzUGlja0xpc3QpID0+IEhUTUxEaXZFbGVtZW50O1xyXG4gIHRhYkNvdW50OiBudW1iZXI7XHJcbiAgcmVzZXRUYWJDb3VudDogKCkgPT4gdm9pZDtcclxuICBrZXl1cDogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB2b2lkO1xyXG4gIGFkZE1hdGNoaW5nRW1waGFzaXM6IChpdGVtKSA9PiBzdHJpbmc7XHJcbiAgbGlzdGVuOiAocm93KSA9PiB2b2lkO1xyXG4gIGNoZWNrRW50ZXI6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcclxuICBwaWNrOiAoaXRlbSkgPT4gdm9pZDtcclxuICBzY3JvbGxJbnRvVmlld0lmTmVlZGVkOiAoKSA9PiB2b2lkO1xyXG4gIGRpc3BsYXlTdWdnZXN0aW9uc0hlYWRlcjogKCkgPT4gdm9pZDtcclxuICBkaXNwbGF5VXNlQWRkcmVzc0VudGVyZWRGb290ZXI6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBZGRyZXNzVmFsaWRhdGlvblJlc3VsdCB7XHJcbiAgZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcjtcclxuICBsYXN0QWRkcmVzc0ZpZWxkO1xyXG4gIGdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZDogYm9vbGVhbjtcclxuICBzaG93OiAoZGF0YSkgPT4gdm9pZDtcclxuICBzaG93TG9va3VwVjI6IChkYXRhOiBMb29rdXBWMlJlc3BvbnNlKSA9PiB2b2lkO1xyXG4gIGhpZGU6ICgpID0+IHZvaWQ7XHJcbiAgY3JlYXRlQWRkcmVzc0xpbmU6IENyZWF0ZUFkZHJlc3NMaW5lO1xyXG4gIGNyZWF0ZUZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI6ICgpID0+IHZvaWQ7XHJcbiAgY3JlYXRlSGVhZGluZzogKCkgPT4gdm9pZDtcclxuICB1cGRhdGVIZWFkaW5nOiAodGV4dDogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIGNhbGN1bGF0ZUlmQWRkcmVzc0xpbmVHZW5lcmF0aW9uUmVxdWlyZWQ6ICgpID0+IHZvaWQ7XHJcbiAgdXBkYXRlQWRkcmVzc0xpbmU6IChrZXk6IHN0cmluZywgYWRkcmVzc0xpbmVPYmplY3QsIGNsYXNzTmFtZTogc3RyaW5nKSA9PiB2b2lkO1xyXG4gIHVwZGF0ZUxhYmVsOiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZztcclxuICBjcmVhdGVTZWFyY2hBZ2Fpbkxpbms6ICgpID0+IHZvaWQ7XHJcbiAgcmVuZGVySW5wdXRMaXN0OiAoaW5wdXRBcnJheSkgPT4gdm9pZDtcclxuICBoYW5kbGVWYWxpZGF0ZVJlc3BvbnNlOiAocmVzcG9uc2U6IFNlYXJjaFJlc3BvbnNlKSA9PiB2b2lkO1xyXG4gIGhhbmRsZVV0aWxpdGllc0xvb2t1cFJlc3BvbnNlOiAocmVzcG9uc2U6IExvb2t1cFYyUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgaGFuZGxlRW5yaWNobWVudFJlc3BvbnNlOiAocmVzcG9uc2U6IEVucmljaG1lbnRSZXNwb25zZSkgPT4gdm9pZDtcclxufVxyXG5cclxuY2xhc3MgQ3JlYXRlQWRkcmVzc0xpbmUge1xyXG4gIGlucHV0OiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGNsYXNzTmFtZTogc3RyaW5nKSA9PiBIVE1MRGl2RWxlbWVudDtcclxuICBsYWJlbDogKGtleTogc3RyaW5nKSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzcG9uc2Uge1xyXG4gIHJlc3VsdD86IHtcclxuICAgIHN1Z2dlc3Rpb25zOiBQaWNrbGlzdEl0ZW1bXTtcclxuICAgIHN1Z2dlc3Rpb25zX3Byb21wdD86IHN0cmluZztcclxuICAgIHN1Z2dlc3Rpb25zX2tleT86IHN0cmluZztcclxuICAgIGNvbmZpZGVuY2U6IHN0cmluZztcclxuICAgIGFkZHJlc3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgY29tcG9uZW50cz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgfSxcclxuICBtZXRhZGF0YT8gOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cFczV1Jlc3BvbnNlIHtcclxuICByZXN1bHQ/OiB7XHJcbiAgICBtb3JlX3Jlc3VsdHNfYXZhaWxhYmxlOiBib29sZWFuO1xyXG4gICAgc3VnZ2VzdGlvbnM6IFdoYXQzV29yZHNQaWNrTGlzdFtdO1xyXG4gICAgY29uZmlkZW5jZTogc3RyaW5nO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBWMlJlc3BvbnNlIHtcclxuICByZXN1bHQ/OiB7XHJcbiAgICBtb3JlX3Jlc3VsdHNfYXZhaWxhYmxlOiBib29sZWFuO1xyXG4gICAgY29uZmlkZW5jZTogc3RyaW5nO1xyXG4gICAgc3VnZ2VzdGlvbnM6IExvb2t1cFN1Z2dlc3Rpb25bXTtcclxuICAgIGFkZHJlc3NlczogTG9va3VwQWRkcmVzc1tdO1xyXG4gICAgYWRkcmVzc2VzX2Zvcm1hdHRlZDogQ3VzdG9tTG9va3VwQWRkcmVzc0Zvcm1hdHRlZFtdO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21Mb29rdXBBZGRyZXNzRm9ybWF0dGVkIHtcclxuICBsYXlvdXRfbmFtZTogc3RyaW5nO1xyXG4gIGFkZHJlc3M6IEN1c3RvbUxvb2t1cEFkZHJlc3M7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tTG9va3VwQWRkcmVzcyB7XHJcbiAgZWxlY3RyaWNpdHlfbWV0ZXJzPzogT2JqZWN0O1xyXG4gIGdhc19tZXRlcnM/OiBPYmplY3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwU3VnZ2VzdGlvbiB7XHJcbiAgbG9jYWxpdHk6IExvY2FsaXR5Q29tcG9uZW50cztcclxuICBwb3N0YWxfY29kZTogUG9zdGFsQ29kZTtcclxuICBwb3N0YWxfY29kZV9rZXk6IHN0cmluZztcclxuICBsb2NhbGl0eV9rZXk6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhbGl0eUNvbXBvbmVudHMge1xyXG4gIHJlZ2lvbjogTG9jYWxpdHlJdGVtLFxyXG4gIHN1Yl9yZWdpb246IExvY2FsaXR5SXRlbSxcclxuICB0b3duOiBMb2NhbGl0eUl0ZW0sXHJcbiAgZGlzdHJpY3Q6IExvY2FsaXR5SXRlbSxcclxuICBzdWJfZGlzdHJpY3Q6IExvY2FsaXR5SXRlbVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsaXR5SXRlbSB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RhbENvZGUge1xyXG4gIGZ1bGxfbmFtZTogc3RyaW5nLFxyXG4gIHByaW1hcnk6IHN0cmluZyxcclxuICBzZWNvbmRhcnk6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cEFkZHJlc3Mge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBnbG9iYWxfYWRkcmVzc19rZXk6IHN0cmluZztcclxuICBmb3JtYXQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXaGF0M1dvcmRzUGlja0xpc3Qge1xyXG4gIHdoYXQzd29yZHM6IFdoYXQzV29yZHNTdWdnZXN0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdoYXQzV29yZHNTdWdnZXN0aW9uIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBpY2tsaXN0SXRlbSB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBtYXRjaGVkPzogbnVtYmVyW11bXTtcclxuICBnbG9iYWxfYWRkcmVzc19rZXk/OiBzdHJpbmc7XHJcbiAgYWRkaXRpb25hbF9hdHRyaWJ1dGVzPzogeyBuYW1lOiBzdHJpbmcsIFZhbHVlOiBzdHJpbmcgfVtdO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBFbnJpY2htZW50RGV0YWlscyB7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkZXRhaWxzTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEVucmljaG1lbnRSZXNwb25zZSB7XHJcbiAgcmVzdWx0Pzoge1xyXG4gICAgYXVzX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIGF1c19jdl9ob3VzZWhvbGQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgbnpsX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIG56bF9jdl9ob3VzZWhvbGQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG4gICAgdXNhX3JlZ2lvbmFsX2dlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIHVrX2xvY2F0aW9uX2Vzc2VudGlhbD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgICB3aGF0M3dvcmRzPzogV2hhdDNXb3JkcztcclxuICAgIGdlb2NvZGVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdoYXQzV29yZHMge1xyXG4gIGxhdGl0dWRlPzogc3RyaW5nO1xyXG4gIGxvbmdpdHVkZT86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHNSZXNwb25zZSB7XHJcbiAgcmVzdWx0PyA6IERhdGFzZXRzQ291bnRyeVJlc3VsdFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0YXNldHNDb3VudHJ5UmVzdWx0IHtcclxuICBjb3VudHJ5X2lzb18zPzogc3RyaW5nO1xyXG4gIGNvdW50cnlfbmFtZT86IHN0cmluZztcclxuICBkYXRhc2V0cz86IERhdGFzZXRbXTtcclxuICB2YWxpZF9jb21iaW5hdGlvbnM/OiBzdHJpbmdbXVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXR7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgbmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVzZUFkZHJlc3NFbnRlcmVkIHtcclxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBjcmVhdGU6IChjb25maWRlbmNlOiBzdHJpbmcpID0+IEhUTUxEaXZFbGVtZW50O1xyXG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XHJcbiAgY2xpY2s6ICgpID0+IHZvaWQ7XHJcbiAgZm9ybWF0TWFudWFsQWRkcmVzc0xpbmU6IChsaW5lcywgaSkgPT4geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlZmluZW1lbnQge1xyXG4gIGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgaXNOZWVkZWQ6IChyZXNwb25zZTogU2VhcmNoUmVzcG9uc2UpID0+IGJvb2xlYW47XHJcbiAgY3JlYXRlSW5wdXQ6IChwcm9tcHQ6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHZvaWQ7XHJcbiAgZW50ZXI6IChldmVudDogRXZlbnQpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTcGlubmVyIHtcclxuICBzaG93OiAoKSA9PiB2b2lkO1xyXG4gIGhpZGU6ICgpID0+IHZvaWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQb3dlcmVkQnlMb2dvIHtcclxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBjcmVhdGU6IChwaWNrbGlzdCkgPT4gSFRNTERpdkVsZW1lbnQ7XHJcbiAgZGVzdHJveTogKHBpY2tsaXN0KSA9PiB2b2lkO1xyXG4gIHN2Zzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJlZGVmaW5lZEZvcm1hdHMge1xyXG4gIGNvdW50cnlJc286IHN0cmluZztcclxuICBmb3JtYXQ6IFJlZ0V4cDtcclxuICBtaW5MZW5ndGg6IG51bWJlcjtcclxuICBtb2RlOiBBZGRyZXNzVmFsaWRhdGlvbk1vZGU7XHJcbn1cclxuIiwiZXhwb3J0IGNvbnN0IGVucmljaG1lbnRPdXRwdXQgPSB7XHJcbiAgICBBVVM6IHtcclxuICAgICAgICBnZW9jb2Rlc190aXRsZSA6IFwiQVVTIEdlb2NvZGVzXCIsXHJcbiAgICAgICAgYXVzX3JlZ2lvbmFsX2dlb2NvZGVzOiB7XHJcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIjogXCJMYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxvbmdpdHVkZVwiOiBcIkxvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIixcclxuICAgICAgICAgICAgXCJzYTFcIjogXCJTYTFcIixcclxuICAgICAgICAgICAgXCJtZXNoYmxvY2tcIjogXCJNZXNoYmxvY2tcIixcclxuICAgICAgICAgICAgXCJsZ2FfY29kZVwiOiBcIkxnYSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwibGdhX25hbWVcIjogXCJMZ2EgTmFtZVwiLFxyXG4gICAgICAgICAgICBcInN0cmVldF9waWRcIjogXCJTdHJlZXQgUGlkXCIsXHJcbiAgICAgICAgICAgIFwibG9jYWxpdHlfcGlkXCI6IFwiTG9jYWxpdHkgUGlkXCIsXHJcbiAgICAgICAgICAgIFwiZ2VvY29kZV9sZXZlbF9jb2RlXCI6IFwiR2VvY29kZSBMZXZlbCBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiZ2VvY29kZV9sZXZlbF9kZXNjcmlwdGlvblwiOiBcIkdlb2NvZGUgTGV2ZWwgRGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgXCJnZW9jb2RlX3R5cGVfY29kZVwiOiBcIkdlb2NvZGUgVHlwZSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiZ2VvY29kZV90eXBlX2Rlc2NyaXB0aW9uXCI6IFwiR2VvY29kZSBUeXBlIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9sb25naXR1ZGVcIjogXCJIaWdoZXN0IExldmVsIExvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImhpZ2hlc3RfbGV2ZWxfbGF0aXR1ZGVcIjogXCJIaWdoZXN0IExldmVsIExhdGl0dWRlXCIsXHJcbiAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIjogXCJIaWdoZXN0IExldmVsIEdlb2NvZGUgUmVsaWFiaWxpdHkgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImhpZ2hlc3RfbGV2ZWxfZ2VvY29kZV9yZWxpYWJpbGl0eV9kZXNjcmlwdGlvblwiOiBcIkhpZ2hlc3QgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImNvbmZpZGVuY2VfbGV2ZWxfY29kZVwiOiBcIkNvbmZpZGVuY2UgTGV2ZWwgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImNvbmZpZGVuY2VfbGV2ZWxfZGVzY3JpcHRpb25cIjogXCJDb25maWRlbmNlIExldmVsIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfaWRcIjogXCIyMDE2IE1lc2hibG9jayBJZFwiLFxyXG4gICAgICAgICAgICBcIjIwMTZfbWVzaGJsb2NrX2NvZGVcIjogXCIyMDE2IE1lc2hibG9jayBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfbWF0Y2hfY29kZVwiOiBcIjIwMTYgTWVzaGJsb2NrIE1hdGNoIENvZGVcIixcclxuICAgICAgICAgICAgXCIyMDE2X21lc2hibG9ja19tYXRjaF9kZXNjcmlwdGlvblwiOiBcIjIwMTYgTWVzaGJsb2NrIE1hdGNoIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwiY29sbGVjdG9yX2Rpc3RyaWN0X2lkXCI6IFwiQ29sbGVjdG9yIERpc3RyaWN0IElkXCIsXHJcbiAgICAgICAgICAgIFwiY29sbGVjdG9yX2Rpc3RyaWN0X2NvZGVcIjogXCJDb2xsZWN0b3IgRGlzdHJpY3QgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImNvbW1vbndlYWx0aF9lbGVjdG9yYWxfYm91bmRhcnlfaWRcIjogXCJDb21tb253ZWFsdGggRWxlY3RvcmFsIEJvdW5kYXJ5IElkXCIsXHJcbiAgICAgICAgICAgIFwiY29tbW9ud2VhbHRoX2VsZWN0b3JhbF9ib3VuZGFyeV9uYW1lXCI6IFwiQ29tbW9ud2VhbHRoIEVsZWN0b3JhbCBCb3VuZGFyeSBOYW1lXCIsXHJcbiAgICAgICAgICAgIFwic3RhdGlzdGljYWxfbG9jYWxfYXJlYV9pZFwiOiBcIlN0YXRpc3RpY2FsIExvY2FsIEFyZWEgSWRcIixcclxuICAgICAgICAgICAgXCJzdGF0aXN0aWNhbF9sb2NhbF9hcmVhX2NvZGVcIjogXCJTdGF0aXN0aWNhbCBMb2NhbCBBcmVhIENvZGVcIixcclxuICAgICAgICAgICAgXCJzdGF0aXN0aWNhbF9sb2NhbF9hcmVhX25hbWVcIjogXCJTdGF0aXN0aWNhbCBMb2NhbCBBcmVhIE5hbWVcIixcclxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfYm91bmRhcnlfaWRcIjogXCJTdGF0ZSBFbGVjdG9yYWwgQm91bmRhcnkgSWRcIixcclxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfYm91bmRhcnlfbmFtZVwiOiBcIlN0YXRlIEVsZWN0b3JhbCBCb3VuZGFyeSBOYW1lXCIsXHJcbiAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX2VmZmVjdGl2ZV9zdGFydFwiOiBcIlN0YXRlIEVsZWN0b3JhbCBFZmZlY3RpdmUgU3RhcnRcIixcclxuICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfZWZmZWN0aXZlX2VuZFwiOiBcIlN0YXRlIEVsZWN0b3JhbCBFZmZlY3RpdmUgRW5kXCIsXHJcbiAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX25ld19waWRcIjogXCJTdGF0ZSBFbGVjdG9yYWwgTmV3IFBpZFwiLFxyXG4gICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9uZXdfbmFtZVwiOiBcIlN0YXRlIEVsZWN0b3JhbCBOZXcgTmFtZVwiLFxyXG4gICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9uZXdfZWZmZWN0aXZlX3N0YXJ0XCI6IFwiU3RhdGUgRWxlY3RvcmFsIE5ldyBFZmZlY3RpdmUgU3RhcnRcIixcclxuICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2xvbmdpdHVkZVwiOiBcIkFkZHJlc3MgTGV2ZWwgTG9uZ2l0dWRlXCIsXHJcbiAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9sYXRpdHVkZVwiOiBcIkFkZHJlc3MgTGV2ZWwgTGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiOiBcIkFkZHJlc3MgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2Rlc2NyaXB0aW9uXCI6IFwiQWRkcmVzcyBMZXZlbCBHZW9jb2RlIFJlbGlhYmlsaXR5IERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2xvbmdpdHVkZVwiOiBcIlN0cmVldCBMZXZlbCBMb25naXR1ZGVcIixcclxuICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfbGF0aXR1ZGVcIjogXCJTdHJlZXQgTGV2ZWwgTGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfYm91bmRhcnlfZXh0ZW50XCI6IFwiU3RyZWV0IExldmVsIEJvdW5kYXJ5IEV4dGVudFwiLFxyXG4gICAgICAgICAgICBcInN0cmVldF9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIjogXCJTdHJlZXQgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfZGVzY3JpcHRpb25cIjogXCJTdHJlZXQgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImxvY2FsaXR5X2xldmVsX2xvbmdpdHVkZVwiOiBcIkxvY2FsaXR5IExldmVsIExvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxvY2FsaXR5X2xldmVsX2xhdGl0dWRlXCI6IFwiTG9jYWxpdHkgTGV2ZWwgTGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgXCJsb2NhbGl0eV9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIjogXCJMb2NhbGl0eSBMZXZlbCBHZW9jb2RlIFJlbGlhYmlsaXR5IENvZGVcIixcclxuICAgICAgICAgICAgXCJsb2NhbGl0eV9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2Rlc2NyaXB0aW9uXCI6IFwiTG9jYWxpdHkgTGV2ZWwgR2VvY29kZSBSZWxpYWJpbGl0eSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImduYWZfbGVnYWxfcGFyY2VsX2lkZW50aWZpZXJcIjogXCJHbmFmIExlZ2FsIFBhcmNlbCBJZGVudGlmaWVyXCIsXHJcbiAgICAgICAgICAgIFwibG9jYWxpdHlfY2xhc3NfY29kZVwiOiBcIkxvY2FsaXR5IENsYXNzIENvZGVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3ZfaG91c2Vob2xkX3RpdGxlIDogXCJBVVMgQ29uc3VtZXIgVmlldyBIb3VzZWhvbGRcIixcclxuICAgICAgICBhdXNfY3ZfaG91c2Vob2xkOiB7XHJcbiAgICAgICAgICAgIFwiYWRkcmVzc1wiOiBcIkFkZHJlc3NcIixcclxuICAgICAgICAgICAgXCJhZHVsdHNfYXRfYWRkcmVzc19jb2RlXCI6IFwiQWR1bHRzIEF0IEFkZHJlc3MgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImFkdWx0c19hdF9hZGRyZXNzX2Rlc2NyaXB0aW9uXCI6IFwiQWR1bHRzIEF0IEFkZHJlc3MgRGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgXCJhZmZsdWVuY2VfY29kZVwiOiBcIkFmZmx1ZW5jZSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiYWZmbHVlbmNlX2Rlc2NyaXB0aW9uXCI6IFwiQWZmbHVlbmNlIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwiY2hhbm5lbF9wcmVmZXJlbmNlXCI6IFwiQ2hhbm5lbCBQcmVmZXJlbmNlXCIsXHJcbiAgICAgICAgICAgIFwiY2hhbm5lbF9wcmVmZXJlbmNlX2Rlc2NyaXB0aW9uXCI6IFwiQ2hhbm5lbCBQcmVmZXJlbmNlIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwiY2hpbGRyZW5fYXRfYWRkcmVzc19jb2RlXzBfMTBfeWVhcnNcIjogXCJDaGlsZHJlbiBBdCBBZGRyZXNzIENvZGUgMCAxMCBZZWFyc1wiLFxyXG4gICAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NfY29kZV8xMV8xOF95ZWFyc1wiOiBcIkNoaWxkcmVuIEF0IEFkZHJlc3MgQ29kZSAxMSAxOCBZZWFyc1wiLFxyXG4gICAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NfZGVzY3JpcHRpb25fMF8xMF95ZWFyc1wiOiBcIkNoaWxkcmVuIEF0IEFkZHJlc3MgRGVzY3JpcHRpb24gMCAxMCBZZWFyc1wiLFxyXG4gICAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NfZGVzY3JpcHRpb25fMTFfMThfeWVhcnNcIjogXCJDaGlsZHJlbiBBdCBBZGRyZXNzIERlc2NyaXB0aW9uIDExIDE4IFllYXJzXCIsXHJcbiAgICAgICAgICAgIFwiY3JlZGl0X2RlbWFuZF9jb2RlXCI6IFwiQ3JlZGl0IERlbWFuZCBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiY3JlZGl0X2RlbWFuZF9kZXNjcmlwdGlvblwiOiBcIkNyZWRpdCBEZW1hbmQgRGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgXCJnbmFmX2xhdGl0dWRlXCI6IFwiR25hZiBMYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImduYWZfbG9uZ2l0dWRlXCI6IFwiR25hZiBMb25naXR1ZGVcIixcclxuICAgICAgICAgICAgXCJnbmFmX3BpZFwiOiBcIkduYWYgUGlkXCIsXHJcbiAgICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfYWdlX2NvZGVcIjogXCJIZWFkIE9mIEhvdXNlaG9sZCBBZ2UgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImhlYWRfb2ZfaG91c2Vob2xkX2FnZV9kZXNjcmlwdGlvblwiOiBcIkhlYWQgT2YgSG91c2Vob2xkIEFnZSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImhpblwiOiBcIkhpblwiLFxyXG4gICAgICAgICAgICBcImhvdXNlaG9sZF9jb21wb3NpdGlvbl9jb2RlXCI6IFwiSG91c2Vob2xkIENvbXBvc2l0aW9uIENvZGVcIixcclxuICAgICAgICAgICAgXCJob3VzZWhvbGRfY29tcG9zaXRpb25fZGVzY3JpcHRpb25cIjogXCJIb3VzZWhvbGQgQ29tcG9zaXRpb24gRGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgXCJob3VzZWhvbGRfaW5jb21lX2NvZGVcIjogXCJIb3VzZWhvbGQgSW5jb21lIENvZGVcIixcclxuICAgICAgICAgICAgXCJob3VzZWhvbGRfaW5jb21lX2Rlc2NyaXB0aW9uXCI6IFwiSG91c2Vob2xkIEluY29tZSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImxlbmd0aF9vZl9yZXNpZGVuY2VfY29kZVwiOiBcIkxlbmd0aCBPZiBSZXNpZGVuY2UgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImxlbmd0aF9vZl9yZXNpZGVuY2VfZGVzY3JpcHRpb25cIjogXCJMZW5ndGggT2YgUmVzaWRlbmNlIERlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIFwibGlmZXN0YWdlX2NvZGVcIjogXCJMaWZlc3RhZ2UgQ29kZVwiLFxyXG4gICAgICAgICAgICBcImxpZmVzdGFnZV9kZXNjcmlwdGlvblwiOiBcIkxpZmVzdGFnZSBEZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBcImxvY2FsX2dvdmVybm1lbnRfYXJlYV9jb2RlXCI6IFwiTG9jYWwgR292ZXJubWVudCBBcmVhIENvZGVcIixcclxuICAgICAgICAgICAgXCJsb2NhbF9nb3Zlcm5tZW50X2FyZWFfbmFtZVwiOiBcIkxvY2FsIEdvdmVybm1lbnQgQXJlYSBOYW1lXCIsXHJcbiAgICAgICAgICAgIFwibWVzaGJsb2NrXCI6IFwiTWVzaGJsb2NrXCIsXHJcbiAgICAgICAgICAgIFwibW9zYWljX2dyb3VwXCI6IFwiTW9zYWljIEdyb3VwXCIsXHJcbiAgICAgICAgICAgIFwibW9zYWljX3R5cGVcIjogXCJNb3NhaWMgVHlwZVwiLFxyXG4gICAgICAgICAgICBcInBvc3Rjb2RlXCI6IFwiUG9zdGNvZGVcIixcclxuICAgICAgICAgICAgXCJyZXNpZGVudGlhbF9mbGFnXCI6IFwiUmVzaWRlbnRpYWwgRmxhZ1wiLFxyXG4gICAgICAgICAgICBcInJpc2tfaW5zaWdodF9jb2RlXCI6IFwiUmlzayBJbnNpZ2h0IENvZGVcIixcclxuICAgICAgICAgICAgXCJyaXNrX2luc2lnaHRfZGVzY3JpcHRpb25cIjogXCJSaXNrIEluc2lnaHQgRGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgXCJzYTFcIjogXCJTYTFcIixcclxuICAgICAgICAgICAgXCJzdGF0ZVwiOiBcIlN0YXRlXCIsXHJcbiAgICAgICAgICAgIFwic3VidXJiXCI6IFwiU3VidXJiXCJcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgTlpMOiB7XHJcbiAgICAgICAgZ2VvY29kZXNfdGl0bGUgOiBcIk5aTCBHZW9jb2Rlc1wiLFxyXG4gICAgICAgIG56bF9yZWdpb25hbF9nZW9jb2Rlczoge1xyXG4gICAgICAgICAgICBcImZyb250X29mX3Byb3BlcnR5X256dG1feF9jb29yZGluYXRlXCI6IFwiRnJvbnQgb2YgUHJvcGVydHkgTlpUTSBYIENvb3JkaW5hdGVcIixcclxuICAgICAgICAgICAgXCJmcm9udF9vZl9wcm9wZXJ0eV9uenRtX3lfY29vcmRpbmF0ZVwiOiBcIkZyb250IG9mIFByb3BlcnR5IE5aVE0gWSBDb29yZGluYXRlXCIsXHJcbiAgICAgICAgICAgIFwiY2VudHJvaWRfb2ZfcHJvcGVydHlfbnp0bV94X2Nvb3JkaW5hdGVcIjogXCJDZW50cm9pZCBvZiBQcm9wZXJ0eSBOWlRNIFggQ29vcmRpbmF0ZVwiLFxyXG4gICAgICAgICAgICBcImNlbnRyb2lkX29mX3Byb3BlcnR5X256dG1feV9jb29yZGluYXRlXCI6IFwiQ2VudHJvaWQgb2YgUHJvcGVydHkgTlpUTSBZIENvb3JkaW5hdGVcIixcclxuICAgICAgICAgICAgXCJmcm9udF9vZl9wcm9wZXJ0eV9sYXRpdHVkZVwiOiBcIkZyb250IG9mIFByb3BlcnR5IExhdGl0dWRlXCIsXHJcbiAgICAgICAgICAgIFwiZnJvbnRfb2ZfcHJvcGVydHlfbG9uZ2l0dWRlXCI6IFwiRnJvbnQgb2YgUHJvcGVydHkgTG9uZ2l0dWRlXCIsXHJcbiAgICAgICAgICAgIFwiY2VudHJvaWRfb2ZfcHJvcGVydHlfbGF0aXR1ZGVcIjogXCJDZW50cm9pZCBvZiBQcm9wZXJ0eSBMYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImNlbnRyb2lkX29mX3Byb3BlcnR5X2xvbmdpdHVkZVwiOiBcIkNlbnRyb2lkIG9mIFByb3BlcnR5IExvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxpbnpfcGFyY2VsX2lkXCI6IFwiTGlueiBQYXJjZWwgSWRcIixcclxuICAgICAgICAgICAgXCJwcm9wZXJ0eV9wdXJwb3NlX3R5cGVcIjogXCJQcm9wZXJ0eSBQdXJwb3NlIFR5cGVcIixcclxuICAgICAgICAgICAgXCJhZGRyZXNzYWJsZVwiOiBcIkFkZHJlc3NhYmxlXCIsXHJcbiAgICAgICAgICAgIFwibWVzaF9ibG9ja19jb2RlXCI6IFwiTWVzaCBCbG9jayBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwidGVycml0b3JpYWxfYXV0aG9yaXR5X2NvZGVcIjogXCJUZXJyaXRvcmlhbCBBdXRob3JpdHkgQ29kZVwiLFxyXG4gICAgICAgICAgICBcInRlcnJpdG9yaWFsX2F1dGhvcml0eV9uYW1lXCI6IFwiVGVycml0b3JpYWwgQXV0aG9yaXR5IE5hbWVcIixcclxuICAgICAgICAgICAgXCJyZWdpb25hbF9jb3VuY2lsX2NvZGVcIjogXCJSZWdpb25hbCBDb3VuY2lsIENvZGVcIixcclxuICAgICAgICAgICAgXCJyZWdpb25hbF9jb3VuY2lsX25hbWVcIjogXCJSZWdpb25hbCBDb3VuY2lsIE5hbWVcIixcclxuICAgICAgICAgICAgXCJnZW5lcmFsX2VsZWN0b3JhdGVfY29kZVwiOiBcIkdlbmVyYWwgRWxlY3RvcmF0ZSBDb2RlXCIsXHJcbiAgICAgICAgICAgIFwiZ2VuZXJhbF9lbGVjdG9yYXRlX25hbWVcIjogXCJHZW5lcmFsIEVsZWN0b3JhdGUgTmFtZVwiLFxyXG4gICAgICAgICAgICBcIm1hb3JpX2VsZWN0b3JhdGVfY29kZVwiOiBcIk1hb3JpIEVsZWN0b3JhdGUgQ29kZVwiLFxyXG4gICAgICAgICAgICBcIm1hb3JpX2VsZWN0b3JhdGVfbmFtZVwiOiBcIk1hb3JpIEVsZWN0b3JhdGUgTmFtZVwiLFxyXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3ZfaG91c2Vob2xkX3RpdGxlIDogXCJOWkwgQ29uc3VtZXIgVmlldyBIb3VzZWhvbGRcIixcclxuICAgICAgICBuemxfY3ZfaG91c2Vob2xkOiB7XHJcbiAgICAgICAgICAgIFwiYWR1bHRzX2F0X2FkZHJlc3NcIjogXCJBZHVsdHMgQXQgQWRkcmVzc1wiLFxyXG4gICAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NcIjogXCJDaGlsZHJlbiBBdCBBZGRyZXNzXCIsXHJcbiAgICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfYWdlXCI6IFwiSGVhZCBPZiBIb3VzZWhvbGQgQWdlXCIsXHJcbiAgICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfbGlmZXN0YWdlXCI6IFwiSGVhZCBPZiBIb3VzZWhvbGQgTGlmZXN0YWdlXCIsXHJcbiAgICAgICAgICAgIFwiaG91c2Vob2xkX2NvbXBvc2l0aW9uXCI6IFwiSG91c2Vob2xkIENvbXBvc2l0aW9uXCIsXHJcbiAgICAgICAgICAgIFwibW9zYWljX2dyb3VwXCI6IFwiTW9zYWljIEdyb3VwXCIsXHJcbiAgICAgICAgICAgIFwibW9zYWljX3NlZ21lbnRcIjogXCJNb3NhaWMgU2VnbWVudFwiLFxyXG4gICAgICAgICAgICBcIm1vc2FpY190eXBlX2dyb3VwXCI6IFwiTW9zYWljIFR5cGUgR3JvdXBcIlxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBVU0E6IHtcclxuICAgICAgICBnZW9jb2Rlc190aXRsZSA6IFwiVVNBIEdlb2NvZGVzXCIsXHJcbiAgICAgICAgdXNhX3JlZ2lvbmFsX2dlb2NvZGVzOiB7XHJcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIjogXCJMYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxvbmdpdHVkZVwiOiBcIkxvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIixcclxuICAgICAgICAgICAgXCJjZW5zdXNfdHJhY3RcIjogXCJDZW5zdXMgVHJhY3RcIixcclxuICAgICAgICAgICAgXCJjZW5zdXNfYmxvY2tcIjogXCJDZW5zdXMgQmxvY2tcIixcclxuICAgICAgICAgICAgXCJjb3JlX2Jhc2VkX3N0YXRpc3RpY2FsX2FyZWFcIjogXCJDb3JlIEJhc2VkIFN0YXRpc3RpY2FsIEFyZWFcIixcclxuICAgICAgICAgICAgXCJjb25ncmVzc2lvbmFsX2Rpc3RyaWN0X2NvZGVcIjogXCJDb25ncmVzc2lvbmFsIERpc3RyaWN0IENvZGVcIixcclxuICAgICAgICAgICAgXCJjb3VudHlfY29kZVwiOiBcIkNvdW50cnkgQ29kZVwiXHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIEdCUjoge1xyXG4gICAgICAgIGdlb2NvZGVzX3RpdGxlIDogXCJHQlIgTG9jYXRpb24gRXNzZW50aWFsXCIsXHJcbiAgICAgICAgdWtfbG9jYXRpb25fZXNzZW50aWFsOiB7XHJcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIjogXCJMYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxvbmdpdHVkZVwiOiBcIkxvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCI6IFwiTWF0Y2ggTGV2ZWxcIixcclxuICAgICAgICAgICAgXCJ1ZHByblwiOiBcIlVEUFJOXCIsXHJcbiAgICAgICAgICAgIFwidXByblwiOiBcIlVQUk5cIixcclxuICAgICAgICAgICAgXCJ4X2Nvb3JkaW5hdGVcIjogXCJYIENvb3JkaW5hdGVcIixcclxuICAgICAgICAgICAgXCJ5X2Nvb3JkaW5hdGVcIjogXCJZIENvb3JkaW5hdGVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgd2hhdDN3b3Jkczoge1xyXG4gICAgICAgICAgICBcImxhdGl0dWRlXCI6IFwiTGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgXCJsb25naXR1ZGVcIjogXCJMb25naXR1ZGVcIixcclxuICAgICAgICAgICAgXCJuYW1lXCI6IFwiTmFtZVwiLFxyXG4gICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRGVzY3JpcHRpb25cIlxyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBHTE9CQUw6IHtcclxuICAgICAgICBnZW9jb2Rlc190aXRsZSA6IFwiR2xvYmFsIEdlb2NvZGVzXCIsXHJcbiAgICAgICAgZ2VvY29kZXM6IHtcclxuICAgICAgICAgICAgXCJsYXRpdHVkZVwiOiBcIkxhdGl0dWRlXCIsXHJcbiAgICAgICAgICAgIFwibG9uZ2l0dWRlXCI6IFwiTG9uZ2l0dWRlXCIsXHJcbiAgICAgICAgICAgIFwibWF0Y2hfbGV2ZWxcIjogXCJNYXRjaCBMZXZlbFwiXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59OyIsImV4cG9ydCBjb25zdCBjb25zdW1lclZpZXdEZXNjcmlwdGlvbnMgPSB7XHJcbiAgICBBVVM6IHtcclxuICAgICAgICBtb3NhaWNfZ3JvdXA6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmlyc3QgQ2xhc3MgTGlmZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2VhbHRoaWVzdCBncm91cCBpbiBBdXN0cmFsaWEsIHR5cGljYWxseSBvbGRlciBtaWRkbGUtYWdlZCBmYW1pbGllcyB3aXRoIHNpZ25pZmljYW50IGFzc2V0cyBhbmQgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ29tZm9ydGFibGUgRm91bmRhdGlvbnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbiBYIGZhbWlsaWVzIHdpdGggc2Nob29sLWFnZWQgY2hpbGRyZW4sIHdvcmtpbmcgaW4gd2hpdGUtY29sbGFyIHByb2Zlc3Npb25zIGFuZCBsaXZpbmcgaW4gc3VidXJiYW4gYXJlYXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJDXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTdHJpdmluZyBmb3IgU3RhdHVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZywgc3VjY2Vzc2Z1bCwgY2FyZWVyLWRyaXZlbiBwcm9mZXNzaW9uYWxzIGxpdmluZyBpbiBjZW50cmFsIGNpdHkgYXJlYXMgd2l0aCBoaWdoIGluY29tZSBhbmQgbm8gY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTZWN1cmUgVHJhbnF1aWxsaXR5XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBZmZsdWVudCByZXRpcmVlcyBsaXZpbmcgaW4gaGlnaGVyIHZhbHVlZCBwcm9wZXJ0aWVzIGluIGRlc2lyYWJsZSBhcmVhc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkZhbWlseSBGcmluZ2VzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWRkbGUtYWdlZCB0cmFkaXRpb25hbCBmYW1pbGllcyBsaXZpbmcgb24gbGFyZ2Ugb3V0ZXItc3VidXJiYW4gcGxvdHMsIHdpdGggY29tZm9ydGFibGUgaW5jb21lcyBhbmQgbG9uZyBjb21tdXRlc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkVzdGFibGlzaGluZyBSb290c1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlsbGVubmlhbCBmaXJzdCBob21lIGJ1eWVycywgbGl2aW5nIDEwa20rIGZyb20gdGhlIGNpdHkgY2VudHJlIHdpdGggYWJvdmUgYXZlcmFnZSBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJHXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHcm93aW5nIEluZGVwZW5kZW5jZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRWR1Y2F0ZWQgbWlsbGVubmlhbHMgYXQgdGhlIHN0YXJ0IG9mIHRoZWlyIGNhcmVlcnMsIHJlbnRpbmcgYXBhcnRtZW50cyBjbG9zZSB0byBjaXR5IGNlbnRyZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJIXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNaWRkbGUgQmx1ZS1jb2xsYXJzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZ2VyIGJsdWUtY29sbGFyIHdvcmtlcnMgcmVudGluZyBmYXIgZnJvbSBjaXR5IGNlbnRyZXMsIHdpdGggYmVsb3cgYXZlcmFnZSBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJJXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUcmFkaXRpb25hbCBQdXJzdWl0c1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQXZlcmFnZSBpbmNvbWUgdHJhZGl0aW9uYWwgZmFtaWxpZXMgJiBzaW5nbGUgcGFyZW50cyB3aXRoIHNjaG9vbC1hZ2VkIGNoaWxkcmVuIGxpdmluZyBpbiBvdXRlciBzdWJ1cmJhbiBhbmQgcmVnaW9uYWwgbG9jYXRpb25zXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHJ1ZSBHcml0XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJCbHVlLWNvbGxhciBob3VzZWhvbGRzIGluIGdhaW5mdWwgZW1wbG95bWVudCwgcmVzaWRpbmcgaW4gbG9jYXRpb25zIGFjcm9zcyBvdXRlciBzdWJ1cmJhbiwgcmVnaW9uYWwgYW5kIG1pbmluZyB0b3duc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIktcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1hdHVyZSBGcmVlZG9tXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJHZW4gWCBjb3VwbGVzIHdpdGhvdXQgY2hpbGRyZW4sIHJlbnRpbmcgYXBhcnRtZW50cyBhbmQgdGVycmFjZXMgaW4gaGlnaCBncm93dGggc3VidXJic1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkxcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhhcmRzaGlwICYgUGVyc2V2ZXJhbmNlXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJVbmVtcGxveWVkIGFuZCBibHVlLWNvbGxhciB3b3JrZXJzIGxpdmluZyBpbiB1bml0cyBhbmQgZmxhdHMgb24gbG93IGluY29tZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJNXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHcmFjZWZ1bCBBZ2VpbmdcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIHJldGlyZWVzIHdpdGggYmVsb3cgYXZlcmFnZSBpbmNvbWUsIGxpdmluZyBpbiBvd25lZCBwcm9wZXJ0aWVzIG9yIHJldGlyZW1lbnQgdmlsbGFnZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJOXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSdXJhbCBDb21taXRtZW50XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSdXJhbCBwZW9wbGUgd29ya2luZyBpbiBhZ3JpY3VsdHVyZSwgbGl2aW5nIG9uIGxhcmdlIHBsb3RzIG9mIGxhbmQgZmFyIGZyb20gbWFpbiByb2FkcyBhbmQgbWFpbiB0b3duc1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIG1vc2FpY190eXBlOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkEwMVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVG9wIG9mIHRoZSBMYWRkZXJcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIldlYWx0aGllc3QgZmFtaWxpZXMsIG1hcnJpZWQgY291cGxlcyBvZnRlbiB3aXRoIGFkdWx0IGNoaWxkcmVuLCBvd25pbmcgdmVyeSBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBleGNsdXNpdmUgaW5uZXItdXJiYW4gYXJlYXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJBMDJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkx1eHVyeSBMaXZpbmdcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJhYnkgYm9vbWVyIGZhbWlsaWVzLCBvZnRlbiB3aXRoIGFkdWx0IGNoaWxkcmVuLCBvd25pbmcgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gaW5uZXItdXJiYW4gJiBjb2FzdGFsIGFyZWFzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQTAzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDZW50cmFsIFByb3NwZXJpdHlcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1vbGRlciBhZ2VkIGVtcHR5IG5lc3RlciBjb3VwbGVzIHJlbnRpbmcgdmVyeSBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBpbm5lci11cmJhbiBhcmVhcywgd2l0aCBoaWdoIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkEwNFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3VidXJiYW4gRXN0ZWVtXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUcmFkaXRpb25hbCBiYWJ5IGJvb21lciBjb3VwbGVzIHdpdGggYWR1bHQgY2hpbGRyZW4sIG93bmluZyBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBpbm5lci11cmJhbiAmIHN1YnVyYmFuIGFyZWFzIG9mIFN5ZG5leSAmIE1lbGJvdXJuZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkIwNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3VjY2Vzc2Z1bCBTcGVuZGluZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcsIG1hcnJpZWQgY291cGxlcyB3aXRoIGNoaWxkcmVuIGFuZCBoaWdoIGluY29tZSwgbGl2aW5nIGluIG91dGVyLXN1YnVyYmFuL21ldHJvLWZyaW5nZSBhcmVhc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkIwNlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ2FyZWVycyAmIEtpZHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbiBYIGZhbWlsaWVzIHdpdGggY2hpbGRyZW4sIGxpdmluZyBpbiBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBzdWJ1cmJhbiBhcmVhcywgd2l0aCBoaWdoIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkIwN1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRnJ1aXRmdWwgRmFtaWxpZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbiBYIGZhbWlsaWVzIHdpdGggbWFueSBjaGlsZHJlbiwgbGl2aW5nIGluIG1ldHJvLWZyaW5nZSBhcmVhcywgd2l0aCBoaWdoIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkMwOFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiUm9vZnRvcHMgJiBDYXJlZXJzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZWxsLWVkdWNhdGVkLCBoaWdoLXBvd2VyZWQgYnVzaW5lc3MgcGVvcGxlIHdpdGggdmVyeSBoaWdoIGluY29tZSBhbmQgbm8gY2hpbGRyZW4sIGxpdmluZyBpbiBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBjZW50cmFsIFN5ZG5leVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkMwOVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWxpdGUgQWx0ZXJuYXRpdmVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZWxsLWVkdWNhdGVkIHByb2Zlc3Npb25hbHMsIGxpdmluZyBpbiB0cmVuZHkgaW5uZXItdXJiYW4gYXJlYXMsIHdpdGggaGlnaCBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJDMTBcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBvd2VyIENvdXBsZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIGRpdmVyc2UgY291cGxlcywgd2VsbC1lZHVjYXRlZCwgdHJhbnNpZW50LCBjaXR5IGNlbnRyZSByZW50ZXJzIHdpdGggaGlnaCBpbmNvbWUgYW5kIG5vIGNoaWxkcmVuXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRDExXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTY2VuaWMgQ29ubmVjdGlvblwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgY291cGxlcyBpbiBzZW1pLXJldGlyZW1lbnQsIGxpdmluZyBpbiBzdWJ1cmJhbiBhcmVhcyBhbmQgbmVhcmJ5IHRvd25zIGZvciBtYW55IHllYXJzLCB3aXRoIGhpZ2ggaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRDEyXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJKb3VybmV5ZWQgRXF1aXR5XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFbGRlcmx5IGNvdXBsZXMgZnJvbSBtdWx0aWN1bHR1cmFsIGJhY2tncm91bmRzIGxpdmluZyBpbiBleHBlbnNpdmUgcHJvcGVydGllcyBpbiBzdWJ1cmJhbiBhcmVhcyBvZiBTeWRuZXkgJiBNZWxib3VybmVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEMTNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNvYXN0YWwgQ29tZm9ydFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUmV0aXJlZCwgdHJhZGl0aW9uYWwgY291cGxlcyBsaXZpbmcgaW4gY29hc3RhbCBhbmQgc2NlbmljIGFyZWFzLCB3aXRoIGF2ZXJhZ2UgcGVuc2lvbmFibGUgaW5jb21lIGxldmVsc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkUxNFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3BhY2lvdXMgVHJhZGl0aW9uc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWlkZGxlLWFnZWQsIHRyYWRpdGlvbmFsIGZhbWlsaWVzIHdpdGggb2xkZXIgY2hpbGRyZW4sIG93bmluZyBsYXJnZSBhbmQgZXhwZW5zaXZlIHByb3BlcnRpZXMgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgd2l0aCBoaWdoIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkUxNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiT3B1bGVudCBEZXNpZ25zXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWRkbGUtYWdlZCBmYW1pbGllcyBvd25pbmcgaHVnZSBob3VzZXMgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMsIHdpdGggaGlnaCBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJFMTZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhhcmR3YXJlICYgQWNyZWFnZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV29ya2luZyBpbiB0cmFkZXMsIG1pZGRsZS1hZ2VkIGZhbWlsaWVzIG93bmluZyBhY3JlYWdlcyBvZiBsYW5kIHdpdGggbGFyZ2UgcHJvcGVydGllcyBqdXN0IG91dHNpZGUgdGhlIG1ldHJvIGZyaW5nZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkYxN1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRGV0ZXJtaW5lZCBTdWJ1cmJhbnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlByb2Zlc3Npb25hbCBjb3VwbGVzIGFuZCBzaW5nbGVzIHdpdGggaGlnaCBpbmNvbWUsIG93bmluZyB0aGVpciBmaXJzdCBob21lIGluIGhpZ2ggZ3Jvd3RoIGlubmVyIHN1YnVyYnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJGMThcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkRldmVsb3BpbmcgRG9tZXN0aWNzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZyBmaXJzdC1ob21lLW93bmVyIGZhbWlsaWVzIHdpdGggdmVyeSB5b3VuZyBjaGlsZHJlbiwgcmVjZW50bHkgbW92ZWQgaW50byBuZXcgaG91c2luZyBlc3RhdGVzLCB3aXRoIGFib3ZlIGF2ZXJhZ2UgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRjE5XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTdHJpdmluZyBTY2hvbGFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcsIGhpZ2hseSBlZHVjYXRlZCBzaW5nbGVzIGFuZCBjb3VwbGVzLCB3aXRoIGFib3ZlIGF2ZXJhZ2UgaW5jb21lLCBsaXZpbmcgaW4gaGlnaCBncm93dGggc3VidXJic1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkcyMFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiWW91dGhmdWwgQW1iaXRpb25cIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIHNpbmdsZXMgYW5kIGNvdXBsZXMsIHNvbWUgc3R1ZGVudHMsIHdpdGggbm8gY2hpbGRyZW4sIHJlbnRpbmcgZmxhdHMgaW4gaW5uZXItdXJiYW4gYXJlYXMsIHdpdGggYXZlcmFnZSBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJHMjFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkVtZXJnaW5nIE1ldHJvc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcsIHdlbGwtZWR1Y2F0ZWQgYW5kIGN1bHR1cmFsbHkgZGl2ZXJzZSwgcmVudGluZyBmbGF0cyBpbiBzdWJ1cmJhbiBhcmVhcyBvZiBTeWRuZXksIHdpdGggYWJvdmUgYXZlcmFnZSBpbmNvbWUgYW5kIG5vIGNoaWxkcmVuXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRzIyXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTcGlyaXQgUXVlc3RlcnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pbGxlbm5pYWwgc2luZ2xlcyByZW50aW5nIGluIGNvYXN0YWwgdG91cmlzdCBhcmVhcywgd2l0aCBiZWxvdyBhdmVyYWdlIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkcyM1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiR2xvYmFsIFN0dWRpZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nIHN0dWRlbnQgcmVudGVycyBuZWFyIHVuaXZlcnNpdHkgY2FtcHVzZXMsIGN1bHR1cmFsbHkgZGl2ZXJzZSB3aXRoIHZlcnkgbG93IG9yIG5vIGluY29tZSBidXQgaGlnaCBzcGVuZFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkgyNFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQmFja3lhcmRzICYgTWF0ZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pbGxlbm5pYWwgYmx1ZS1jb2xsYXIgY291cGxlcyBhbmQgc2luZ2xlcywgbGl2aW5nIGluIG91dGVyLXN1YnVyYmFuIGFyZWFzIGFuZCBzdXJyb3VuZGluZyB0b3ducyB3aXRoIGF2ZXJhZ2UgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI1XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJQcmFtcyAmIFRyYWRlc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmdlciBibHVlLWNvbGxhciBmYW1pbGllcyB3aXRoIG1hbnkgY2hpbGRyZW4sIGxpdmluZyBpbiBuZXcgb3V0ZXItc3VidXJiYW4gaG91c2luZyBlc3RhdGVzLCB3aXRoIGxvdyB0byBhdmVyYWdlIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkgyNlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWFybmVzdCBJbnRlcm5hdGlvbmFsc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmdlciwgZGl2ZXJzZSBibHVlLWNvbGxhciBjb21tdXRlcnMgcmVudGluZyBhcGFydG1lbnRzIGluIFN5ZG5leSBvdXRlci1zdWJ1cmJhbiBhcmVhcywgd2l0aCBsb3cgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUb3duc2hpcCBTb2xvc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmdlciBibHVlLWNvbGxhciBzaW5nbGVzIGluIHJlZ2lvbmFsIHRvd25zLCB3aXRoIGxvdyBpbmNvbWUgYnV0IGhhdmUgZmluYW5jaWFsIHN0YWJpbGl0eVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkkyOFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2Nob29scyAmIEJpbGxzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWxsZW5uaWFsIGZhbWlsaWVzIHdpdGggeW91bmcgY2hpbGRyZW4sIHNvbWV0aW1lcyBzaW5nbGUgcGFyZW50cywgY29tbXV0aW5nIGZyb20gb3V0ZXItc3VidXJiYW4gYXJlYXMgd2l0aCBhdmVyYWdlIGluY29tZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJJMjlcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1pZGRsZSBvZiB0aGUgUm9hZFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgdHJhZGl0aW9uYWwgZmFtaWxpZXMgd2l0aCBvbGRlciBjaGlsZHJlbiwgY29tbXV0aW5nIGZyb20gdGhlIG1ldHJvLWZyaW5nZSB3aXRoIGF2ZXJhZ2UgdG8gaGlnaCBpbmNvbWVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSTMwXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZWdpb25hbCBFc3NlbnRpYWxzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJDb3VwbGVzIGFuZCBzaW5nbGUgcGFyZW50cyB3aXRoIGNoaWxkcmVuIGxpdmluZyBpbiByZWdpb25hbCBhcmVhcyB3aXRoIGxvdyB0byBhdmVyYWdlIGluY29tZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJKMzFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1pbmVyYWxzICYgQWlycG9ydHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1peHR1cmUgb2Ygc2luZ2xlcyBhbmQgY291cGxlcyBpbiBtaW5pbmcgdG93bnMsIHNvbWV0aW1lcyB3aXRoIGNoaWxkcmVuLCBlYXJuaW5nIGhpZ2ggaW5jb21lc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkozMlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2VsZmxlc3MgJiBIYXJkd29ya2luZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQmx1ZS1jb2xsYXIgZmFtaWxpZXMgZnJvbSBtdWx0aWN1bHR1cmFsIGJhY2tncm91bmRzLCBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMsIHdpdGggYXZlcmFnZSB0byBoaWdoIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkozM1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTGlmZSBpbiB0aGUgU2xvdyBMYW5lXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWRkbGUtYWdlZCwgYmx1ZS1jb2xsYXIgY291cGxlcyBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4vbWV0cm8tZnJpbmdlIGFyZWFzLCB3aXRoIGF2ZXJhZ2UgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSjM0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb3VudHJ5IFRvd24gQ291cmFnZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG93IGVkdWNhdGlvbiwgbW9ub2N1bHR1cmFsLCBtYW51YWwgd29ya2VycyB3aXRoIGxvdyBpbmNvbWUsIGxpdmluZyBpbiBsb3cgdmFsdWUgcHJvcGVydGllcyBpbiBydXJhbCB0b3duc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkszNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTWF0dXJlIE1vZGVybml0ZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1hZ2VkIGNvdXBsZXMgd2l0aG91dCBjaGlsZHJlbiwgcmVudGluZyBpbiBpbm5lciBzdWJ1cmJhbiBhcGFydG1lbnRzIGFuZCB0ZXJyYWNlc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkszNlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTmV3LWZvdW5kIEZyZWVkb21cIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1pZGRsZS1hZ2VkLCBlbXB0eSBuZXN0ZXIgY291cGxlcyBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4vbWV0cm8tZnJpbmdlIGFyZWFzLCB3aXRoIGFib3ZlIGF2ZXJhZ2UgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSzM3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZWFsaXN0aWMgSG9yaXpvbnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkdlbiBYIGNvdXBsZXMgYW5kIHNoYXJlcnMgbGl2aW5nIGluIG91dGVyLXN1YnVyYmFuIGFuZCByZWdpb25hbCBhcmVhcywgd2l0aCBsb3cgaW5jb21lIGFuZCBzbWFsbCBwcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTDM4XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSZXNldCBSZWdpb25hbHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJsdWUtY29sbGFyIGZhbWlsaWVzLCBvZnRlbiBzaW5nbGUgcGFyZW50cywgbGl2aW5nIGluIHJ1cmFsIHRvd25zIHdpdGggbG93IGluY29tZSBhbmQgZGVwZW5kZW50IGNoaWxkcmVuXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTDM5XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJOZXctZm91bmQgTGlmZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTXVsdGljdWx0dXJhbCBmYW1pbGllcywgc29tZXRpbWVzIHNpbmdsZSBwYXJlbnRzLCBsaXZpbmcgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXMgd2l0aCBsb3cgaW5jb21lXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTDQwXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTYXRlbGxpdGUgQmF0dGxlcnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxvdyBpbmNvbWUgc2luZ2xlcyBpbiByZWdpb25hbCB0b3ducywgc29tZXRpbWVzIGxpdmluZyBpbiBzb2NpYWwgaG91c2luZ1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkw0MVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRG93bnRvd24gQmx1ZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIHNpbmdsZSBhbmQgZGl2ZXJzZSwgY2l0eSBjZW50cmUgcmVudGVycyB3aXRoIHZlcnkgbG93IGluY29tZSwgb2Z0ZW4gbGl2aW5nIGluIHNvY2lhbCBob3VzaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTDQyXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUb3duc2hpcCBBc3Npc3RhbmNlXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZ2VyIGZhbWlsaWVzLCBvZnRlbiBzaW5nbGUgcGFyZW50cywgd2l0aCBsb3cgaW5jb21lcyBpbiByZWdpb25hbCB0b3ducywgb2Z0ZW4gbGl2aW5nIGluIHNvY2lhbCBob3VzaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTTQzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJCbHVlLWNvbGxhciBSZXRpcmVlc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTXVsdGljdWx0dXJhbCBvbGRlciBjb3VwbGVzIGxpdmluZyBpbiBvdXRlci1zdWJ1cmJhbiBhcmVhcyBmb3IgYSBsb25nIHRpbWUsIHdpdGggbG93IGluY29tZSBidXQgaGlnaCBwcm9wZXJ0eSB2YWx1ZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIk00NFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU3RheWluZyBQdXRcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyLCByZXRpcmVkIGNvdXBsZXMsIHNvbWV0aW1lcyB3aXRoIGFkdWx0IGNoaWxkcmVuIG9yIGNhcmVycywgd2hvIGFyZSBsb25nIHRlcm0gcmVzaWRlbnQgaW4gb3V0ZXItc3VidXJiYW4gYXJlYXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJNNDVcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkxvbmVzb21lIEVsZGVyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgc2luZ2xlcywgbGl2aW5nIGluIG91dGVyLXN1YnVyYmFuIGFyZWFzIGFuZCBzYXRlbGxpdGUgdG93bnMsIHdpdGggYmVsb3cgYXZlcmFnZSBpbmNvbWVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJNNDZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJldGlyZW1lbnQgVmlsbGFnZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRWxkZXJseSwgdHJhZGl0aW9uYWwgY291cGxlcyBhbmQgc2luZ2xlcyBsaXZpbmcgaW4gcmV0aXJlbWVudCB2aWxsYWdlcyBpbiBjaXRpZXMgYW5kIHJlZ2lvbmFsIHRvd25zXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTTQ3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSdXJhbCBSZXRpcmVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFbGRlcmx5IGNvdXBsZXMsIHNvbWV0aW1lcyB3aXRoIGFkdWx0IGNoaWxkcmVuIG9yIGNhcmVycywgd2hvIGFyZSBsb25nIHRlcm0gcmVzaWRlbnRzIGluIHJ1cmFsIHRvd25zLCB3aXRoIGxvdyBwZW5zaW9uIGluY29tZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIk40OFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmFybWluZyBSZWxpYW5jZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUnVyYWwgZmFybWVycyBhbmQgZmFybSBvd25lcnMgd2l0aCBiZWxvdyBhdmVyYWdlIGluY29tZSwgbGl2aW5nIDEwLTQwa20gYXdheSBmcm9tIHRoZSBuZWFyZXN0IHRvd25cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJONDlcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk91dGJhY2sgQ29tZm9ydFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVmVyeSBydXJhbCBmYXJtZXJzIGFuZCBmYXJtIG93bmVycyB3aXRoIGJlbG93IGF2ZXJhZ2UgaW5jb21lLCBsaXZpbmcgNDBrbSsgZnJvbSB0aGUgbmVhcmVzdCB0b3duXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTjUwXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTb2lsICYgVG9pbFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2luZ2xlIGZhcm0gd29ya2VycyBpbiB2ZXJ5IHNtYWxsIHJ1cmFsIHRvd25zLiB3aXRoIGxvdyBpbmNvbWUgYW5kIGxvdyB2YWx1ZSBwcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiTjUxXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSdXN0aWMgSXNvbGF0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb3cgZWR1Y2F0aW9uLCB0cmFkaXRpb25hbCwgc2luZ2xlcyBpbiBmYXIgaW5sYW5kIHJlbW90ZSB0b3ducywgd2l0aCBsb3cgaW5jb21lIGFuZCBsb3cgdmFsdWUgcHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9LFxyXG4gICAgTlpMOiB7XHJcbiAgICAgICAgYWR1bHRzX2F0X2FkZHJlc3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiT25lIGFkdWx0XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gb25lIGFkdWx0IG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHdvIGFkdWx0c1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc2lkZW50aWFsIHByb3BlcnR5IGlzIGxpa2VseSB0byBjb250YWluIHR3byBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUaHJlZSBhZHVsdHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiB0aHJlZSBhZHVsdHMgb3ZlciB0aGUgYWdlIG9mIDE4IHllYXJzIHJlc2lkaW5nIHdpdGhpbiB0aGUgZHdlbGxpbmdcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJGb3VyIGFkdWx0c1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc2lkZW50aWFsIHByb3BlcnR5IGlzIGxpa2VseSB0byBjb250YWluIGZvdXIgYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRml2ZSBhZHVsdHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBmaXZlIGFkdWx0cyBvdmVyIHRoZSBhZ2Ugb2YgMTggeWVhcnMgcmVzaWRpbmcgd2l0aGluIHRoZSBkd2VsbGluZ1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNpeCBhZHVsdHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBzaXggYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiN1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2V2ZW4gYWR1bHRzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gc2V2ZW4gYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiOFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWlnaHQgYWR1bHRzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gZWlnaHQgYWR1bHRzIG92ZXIgdGhlIGFnZSBvZiAxOCB5ZWFycyByZXNpZGluZyB3aXRoaW4gdGhlIGR3ZWxsaW5nXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgY2hpbGRyZW5fYXRfYWRkcmVzczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFeHRyZW1lbHkgbG93IGxpa2VsaWhvb2RcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkV4dHJlbWVseSBsb3cgbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlZlcnkgbG93IGxpa2VsaWhvb2RcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlZlcnkgbG93IGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJMb3cgbGlrZWxpaG9vZFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG93IGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJCZWxvdyBhdmVyYWdlIGxpa2VsaWhvb2RcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkJlbG93IGF2ZXJhZ2UgbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjVcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkF2ZXJhZ2UgbGlrZWxpaG9vZFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQXZlcmFnZSBsaWtlbGlob29kIG9mIHRoZSBwcmVzZW5jZSBvZiBjaGlsZHJlbiBpbiB0aGUgaG91c2Vob2xkXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiNlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQWJvdmUgYXZlcmFnZSBsaWtlbGlob29kXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBYm92ZSBhdmVyYWdlIGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNb2RlcmF0ZWx5IGhpZ2ggbGlrZWxpaG9vZFwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTW9kZXJhdGVseSBoaWdoIGxpa2VsaWhvb2Qgb2YgdGhlIHByZXNlbmNlIG9mIGNoaWxkcmVuIGluIHRoZSBob3VzZWhvbGRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI4XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIaWdoIGxpa2VsaWhvb2RcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkhpZ2ggbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjlcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlZlcnkgaGlnaCBsaWtlbGlob29kXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJWZXJ5IGhpZ2ggbGlrZWxpaG9vZCBvZiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGRyZW4gaW4gdGhlIGhvdXNlaG9sZFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjEwXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJFeHRyZW1lbHkgaGlnaCBsaWtlbGlob29kXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFeHRyZW1lbHkgaGlnaCBsaWtlbGlob29kIG9mIHRoZSBwcmVzZW5jZSBvZiBjaGlsZHJlbiBpbiB0aGUgaG91c2Vob2xkXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgaGVhZF9vZl9ob3VzZWhvbGRfYWdlOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlVuZGVyIDIwXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgdW5kZXIgMjAgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIyXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCIyMCB0byAyNCB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gMjAgdG8gMjQgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCIyNSB0byAyOSB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gMjUgdG8gMjkgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCIzMCB0byAzNCB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gMzAgdG8gMzQgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI1XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCIzNSB0byAzOSB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gMzUgdG8gMzkgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI2XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI0MCB0byA0NCB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNDAgdG8gNDQgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI0NSB0byA0OSB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNDUgdG8gNDkgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI4XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI1MCB0byA1NCB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNTAgdG8gNTQgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI5XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI1NSB0byA1OSB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNTUgdG8gNTkgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxMFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiNjAgdG8gNjQgeWVhcnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDYwIHRvIDY0IHllYXJzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMTFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIjY1IHRvIDY5IHllYXJzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgYmV0d2VlbiA2NSB0byA2OSB5ZWFyc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjEyXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI3MCB0byA3NCB5ZWFyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiVGhlIGFnZSBvZiB0aGUgY29uc3VtZXIgKGNvbWJpbmF0aW9uIG9mIGJvdGggYWN0dWFsIGFuZCBlc3RpbWF0ZWQpIGlzIGJldHdlZW4gNzAgdG8gNzQgeWVhcnNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxM1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiNzUgdG8gNzkgeWVhcnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBhZ2Ugb2YgdGhlIGNvbnN1bWVyIChjb21iaW5hdGlvbiBvZiBib3RoIGFjdHVhbCBhbmQgZXN0aW1hdGVkKSBpcyBiZXR3ZWVuIDc1IHRvIDc5IHllYXJzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMTRcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIjgwIHRvIDg0IHllYXJzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgYmV0d2VlbiA4MCB0byA4NCB5ZWFyc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjE1XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCI+PSA4NSB5ZWFyXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgYWdlIG9mIHRoZSBjb25zdW1lciAoY29tYmluYXRpb24gb2YgYm90aCBhY3R1YWwgYW5kIGVzdGltYXRlZCkgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDg1IHllYXJzXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgaGVhZF9vZl9ob3VzZWhvbGRfbGlmZXN0YWdlOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIllvdW5nIGZhbWlsaWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGYW1pbGllcywgRXh0ZW5kZWQgRmFtaWxpZXMgYW5kIFNpbmdsZSBQYXJlbnRzIHVuZGVyIDM1XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMlwiLCB0aXRsZTogXCJJbmRlcGVuZGVudCBZb3V0aFwiLCBkZXNjcmlwdGlvbjogXCJDb3VwbGVzLCBTaW5nbGVzIGFuZCBIb21lc2hhcmVycyB1bmRlciAzNVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1hdHVyaW5nIENvdXBsZXMgYW5kIEZhbWlsaWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGYW1pbGllcywgQ291cGxlcywgRXh0ZW5kZWQgRmFtaWxpZXMgYW5kIFNpbmdsZSBQYXJlbnRzIGFnZWQgMzUtNDRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsIHRpdGxlOiBcIk1hdHVyaW5nIEluZGVwZW5kZW5jZVwiLCBkZXNjcmlwdGlvbjogXCJTaW5nbGVzIGFuZCBIb21lc2hhcmVycyBhZ2VkIDM1LTU0XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRXN0YWJsaXNoZWQgQ291cGxlcyBhbmQgRmFtaWxpZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkZhbWlsaWVzLCBDb3VwbGVzLCBFeHRlbmRlZCBGYW1pbGllcyBhbmQgU2luZ2xlIFBhcmVudHMgYWdlZCA0NS01NFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk9sZGVyIENvdXBsZXMgYW5kIEZhbWlsaWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGYW1pbGllcywgQ291cGxlcywgRXh0ZW5kZWQgRmFtaWxpZXMgYW5kIFNpbmdsZSBQYXJlbnRzIGFnZWQgNTUtNjRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI3XCIsIHRpdGxlOiBcIk9sZGVyIEluZGVwZW5kZW5jZVwiLCBkZXNjcmlwdGlvbjogXCJTaW5nbGVzIGFuZCBIb21lc2hhcmVycyBhZ2VkIDU1LTY0XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiOFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRWxkZXJseSBGYW1pbGllc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmFtaWxpZXMsIEV4dGVuZGVkIEZhbWlsaWVzIGFuZCBTaW5nbGUgUGFyZW50cyA2NSBhbmQgb3ZlclwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjlcIiwgdGl0bGU6IFwiRWxkZXJseSBDb3VwbGVzXCIsIGRlc2NyaXB0aW9uOiBcIkNvdXBsZXMgNjUgYW5kIG92ZXJcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxMFwiLCB0aXRsZTogXCJFbGRlcmx5IFNpbmdsZXNcIiwgZGVzY3JpcHRpb246IFwiU2luZ2xlcyBhbmQgSG9tZXNoYXJlcnMgNjUgYW5kIG92ZXJcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBob3VzZWhvbGRfY29tcG9zaXRpb246IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmFtaWxpZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBhIGZhbWlseSB1bml0IHdoaWNoIGlzIG1hZGUgdXAgb2YgdHdvIGFkdWx0cyB3aXRoIGNoaWxkcmVuXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRXh0ZW5kZWQgRmFtaWxpZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBhbiBleHRlbmRlZCBmYW1pbHkgdW5pdCB3aGljaCBpcyBtYWRlIHVwIG9mIHRocmVlIG9yIG1vcmUgYWR1bHRzIHdpdGggdGhlIHNhbWUgc3VybmFtZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNvdXBsZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBwZW9wbGUgbGl2aW5nIGFzIGEgY291cGxlIHdoaWNoIGlzIG1hZGUgdXAgb2YgdHdvIGFkdWx0cyBhbmQgbm8gY2hpbGRyZW5cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCI0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTaW5nbGUgUGFyZW50XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gYW4gc2luZ2xlIHBhcmVudCBmYW1pbHkgdW5pdCB3aGljaCBpcyBtYWRlIHVwIG9mIG9uZSBhZHVsdCB3aXRoIGNoaWxkcmVuXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU2luZ2xlXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzaWRlbnRpYWwgcHJvcGVydHkgaXMgbGlrZWx5IHRvIGNvbnRhaW4gYSBzaW5nbGUgYWR1bHQgb25seVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjZcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhvbWVzaGFyZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSByZXNpZGVudGlhbCBwcm9wZXJ0eSBpcyBsaWtlbHkgdG8gY29udGFpbiBhIGhvbWUgc2hhcmUgZW52aXJvbm1lbnQgd2hpY2ggaXMgbWFkZSB1cCBvZiB0aHJlZSBvciBtb3JlIGFkdWx0cyB3aXRoIGRpZmZlcmVudCBzdXJuYW1lc1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIG1vc2FpY19ncm91cDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJBXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb3Jwb3JhdGUgTGFkZGVyIEtpbmdzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFZHVjYXRlZCBwcm9mZXNzaW9uYWxzIGxpdmluZyBpbiBsYXJnZSBob3VzZXMgaW4gZGVzaXJhYmxlIGFyZWFzLCBsb29raW5nIGZvciBiYWxhbmNlIHRvIHRoZWlyIGJ1c3kgbGl2ZXMgYW5kIHBsYW5uaW5nIGZvciB0aGUgZnV0dXJlXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiUmVhcGluZyBUaGUgUmV3YXJkc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRXN0YWJsaXNoZWQgY29uc2VydmF0aXZlIG9sZGVyIGNvdXBsZXMgbGl2aW5nIGNvbWZvcnRhYmxlIGxpdmVzIGluIGhpZ2ggcXVhbGl0eSBob3VzZXMsIGFwcHJlY2lhdGluZyB0cmFkaXRpb25hbCBjb3VudHJ5IHB1cnN1aXRzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQ1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHJhY3RvcnMgQW5kIFRyZWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJIYXJkIHdvcmtpbmcgcnVyYWwgZmFybWluZyBmYW1pbGllcyBsaXZpbmcgaW4gbGFyZ2UgY29tZm9ydGFibGUgaG9tZXMsIHdobyBhcmUgZW5nYWdlZCBpbiB0aGUgbG9jYWwgY29tbXVuaXR5XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiU21hcnRwaG9uZSBTYXZ2aWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZyB0ZWNobm9sb2d5IHNhdnZ5IGhvbWUgc2hhcmVycyBvciBmYW1pbGllcyBsaXZpbmcgY29tZm9ydGFibHkgaW4gdXJiYW4gYXBhcnRtZW50cyB3aXRoIHN0cm9uZyBjYXJlZXIgZ29hbHMgYW5kIGEgcG9zaXRpdmUgb3V0bG9va1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIldhdGNoaW5nIFRoZSBQZW5uaWVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciBmYW1pbGllcyBhbmQgY291cGxlcyB3aXRoIGNvbnNlcnZhdGl2ZSB2aWV3cywgd2hvIGFyZSBjYXJlZnVsIHdpdGggdGhlaXIgbW9uZXkgYW5kIGhhdmUgYW4gZWFzeSBnb2luZyBhdHRpdHVkZSB0byBsaWZlXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiR2VuZXJhdGlvbiBOZXh0XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZyBzaW5nbGVzIHdobyBhcmUgc3R1ZHlpbmcgb3IganVzdCBzdGFydGluZyBvdXQgaW4gdGhlaXIgY2FyZWVycywgbGl2aW5nIGluIHVyYmFuIGFwYXJ0bWVudHMsIGFuZCBsb3ZlIHRlY2hub2xvZ3kgYW5kIG5ldyBnYWRnZXRzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiR1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ3JvY2hldCBDb21tdW5pdGllc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRWxkZXJseSBzaW5nbGVzIGxpdmluZyBpbiByZW50ZWQgYXBhcnRtZW50cywgbGl2aW5nIG9mZiB0aGVpciBpbnZlc3RtZW50cywgd2hvIHdhdGNoIFRWIGFuZCBsaXN0ZW4gdG8gdGhlIHJhZGlvIHRvIHN0YXkgaW4gdG91Y2hcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJIXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJCYXJnYWlucywgQmVuZWZpdHMgQW5kIEJhYmllc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiWW91bmcgZmFtaWxpZXMgZm9jdXNlZCBvbiB0aGVpciB5b3VuZyBraWRzIHdobyBhcmUgZmluZGluZyBpdCBoYXJkIHRvIGJhbGFuY2Ugd29yayBhbmQgbGVpc3VyZSwgZmVlbGluZyBidXJkZW5lZCBieSB0aGVpciBmaW5hbmNlc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIklcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkV4dGVuZGVkIEN1bHR1cmFsIExpdmluZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWl4ZWQgZmFtaWx5IE1hb3JpIG9yIFBhY2lmaWMgSXNsYW5kZXIgaG91c2Vob2xkcyB3aXRoIGEgc3Ryb25nIGZhbWlseSBmb2N1cywgZmluYW5jaWFsbHkgc3RyZXNzZWQgYW5kIG1ha2luZyBkb1wiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdLFxyXG4gICAgICAgIG1vc2FpY19zZWdtZW50OiBbXHJcbiAgICAgICAgICAgIHtpZDogXCIwMV8xXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbW9yZSBlbXBsb3llcnMgYW5kIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDFfMlwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBoaWdoZXIgYWZmbHVlbnQgYW5kIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwMl8xXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBlbGRlcmx5LCBtb3JlIGVtcGxveWVycyBhbmQgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwMl8yXCIsIHRpdGxlOiBcIk1vcmUgb3ZlcnNlYXMgYm9ybiwgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkcyBhbmQgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjAyXzNcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGNoaWxkcmVuLCBoaWdoZXIgYWZmbHVlbnQgYW5kIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwM18xXCIsIHRpdGxlOiBcIlNob3J0ZXIgdGltZSBhdCBhZGRyZXNzLCBoaWdoZXIgYWZmbHVlbnQsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDNfMlwiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MgYW5kIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjAzXzNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSBoaWdobHkgZWR1Y2F0ZWQgYW5kIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge2lkOiBcIjA0XzFcIiwgdGl0bGU6IFwiSGlnaGVyIGFmZmx1ZW50LCBoaWdoZXIgaG91c2Vob2xkIGluY29tZSwgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwNF8yXCIsIHRpdGxlOiBcIkxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzIGFuZCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDRfM1wiLCB0aXRsZTogXCJMZXNzIGVkdWNhdGVkLCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwIGFuZCBtb3JlIHJ1cmFsXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDVfMVwiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgaGlnaGVyIGFmZmx1ZW50IGFuZCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjA1XzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbW9yZSBlbXBsb3llZXMgYW5kIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwNV8zXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIGxlc3MgZWR1Y2F0ZWQsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwNl8xXCIsIHRpdGxlOiBcIk1vcmUgZW1wbG95ZXJzLCBzbWFsbGVyIHByb3BlcnRpZXMgYW5kIG1vcmUgcnVyYWxcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwNl8yXCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgbW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBsZXNzIGVkdWNhdGVkXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDZfM1wiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgbW9yZSBvdmVyc2VhcyBib3JuIGFuZCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDZfNFwiLCB0aXRsZTogXCJIaWdoZXIgYWZmbHVlbmNlLCBoaWdoZXIgaG91c2Vob2xkIGluY29tZSwgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwN18xXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBlbGRlcmx5LCBtdWNoIG1vcmUgMysgY2hpbGRyZW4gaG91c2Vob2xkcywgaGlnaGVyIGFmZmx1ZW5jZVwifSxcclxuICAgICAgICAgICAge2lkOiBcIjA3XzJcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBtb3JlIGVtcGxveWVycywgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIwN18zXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjA4XzFcIiwgdGl0bGU6IFwiTGVzcyBlZHVjYXRlZCwgc21hbGxlciBwcm9wZXJ0aWVzLCBtb3JlIHJ1cmFsXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDhfMlwiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIG1vcmUgTmV3IFplYWxhbmQgYm9ybiwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjA4XzNcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDlfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIHNob3J0ZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjA5XzJcIiwgdGl0bGU6IFwiTXVjaCBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtdWNoIGxlc3MgZWR1Y2F0ZWQsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMDlfM1wiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIGhpZ2hlciBhZmZsdWVudCwgbXVjaCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTBfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgZW1wbG95ZWVzLCBtdWNoIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxMF8yXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBlbGRlcmx5LCBtdWNoIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBtdWNoIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxMF8zXCIsIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBtb3JlIGVtcGxveWVycywgbW9yZSBydXJhbFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjEwXzRcIiwgdGl0bGU6IFwiU2hvcnRlciB0aW1lIGF0IGFkZHJlc3MsIGhpZ2hlciBhZmZsdWVudCwgbW9yZSA3KyBwZXJzb24gaG91c2Vob2xkc1wifSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiMTFfMVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTW9yZSBubyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxMV8yXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIG1vcmUgbm8gY2hpbGRyZW4gaG91c2Vob2xkcywgbXVjaCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXAsIG11Y2ggc21hbGxlciBwcm9wZXJ0aWVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge2lkOiBcIjExXzNcIiwgdGl0bGU6IFwiTW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBsZXNzIGVkdWNhdGVkLCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjEyXzFcIiwgdGl0bGU6IFwiTW9yZSBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtb3JlIG92ZXJzZWFzIGJvcm4sIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxMl8yXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBubyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIGhpZ2hseSBlZHVjYXRlZCwgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTJfM1wiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbGVzcyBlZHVjYXRlZFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjEyXzRcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGNoaWxkcmVuLCBzaG9ydGVyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSBydXJhbFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjEzXzFcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIGhpZ2hlciBhZmZsdWVuY2UsIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lXCJ9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIxM18yXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIG11Y2ggbGVzcyBlZHVjYXRlZCwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxM18zXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBtdWNoIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjE0XzFcIiwgdGl0bGU6IFwiTW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcCwgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTRfMlwiLCB0aXRsZTogXCJNb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxNF8zXCIsIHRpdGxlOiBcIkhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTVfMVwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBtb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTVfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxNV8zXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgaG91c2Vob2xkIGluY29tZSwgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjE2XzFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk11Y2ggbW9yZSBvdmVyc2VhcyBib3JuLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge2lkOiBcIjE2XzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbGVzcyBlZHVjYXRlZCwgbXVjaCBtb3JlIE5ldyBaZWFsYW5kIGJvcm5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxNl8zXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgYWZmbHVlbmNlLCBoaWdoZXIgaG91c2Vob2xkIGluY29tZVwifSxcclxuICAgICAgICAgICAge2lkOiBcIjE2XzRcIiwgdGl0bGU6IFwiTXVjaCBsZXNzIGVkdWNhdGVkLCBsb3dlciBob3VzZWhvbGQgaW5jb21lLCBtdWNoIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTdfMVwiLCB0aXRsZTogXCJNb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTdfMlwiLCB0aXRsZTogXCJNb3JlIGVsZGVybHksIG1vcmUgZW1wbG95ZXJzLCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjE3XzNcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBtb3JlIGRlcHJpdmVkLCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMThfMVwiLCB0aXRsZTogXCJNb3JlIG5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxOF8yXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgYWZmbHVlbnQsIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMThfM1wiLCB0aXRsZTogXCJNb3JlIGRlcHJpdmVkLCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbGFyZ2VyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxOF80XCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjE4XzVcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBsb3dlciBob3VzZWhvbGQgaW5jb21lLCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxOV8xXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMTlfMlwiLCB0aXRsZTogXCJNdWNoIGxlc3MgZWR1Y2F0ZWQsIG11Y2ggbW9yZSBkZXByaXZlZCwgbG93ZXIgaG91c2Vob2xkIGluY29tZVwifSxcclxuICAgICAgICAgICAge2lkOiBcIjE5XzNcIiwgdGl0bGU6IFwiTW9yZSBubyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIGhpZ2hseSBlZHVjYXRlZCwgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIxOV80XCIsIHRpdGxlOiBcIk1vcmUgZWxkZXJseSwgaGlnaGVyIGFmZmx1ZW50LCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjBfMVwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBsZXNzIGVkdWNhdGVkLCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjIwXzJcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG11Y2ggc21hbGxlciBwcm9wZXJ0aWVzLCBtdWNoIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyMV8xXCIsIHRpdGxlOiBcIk1vcmUgTmV3IFplYWxhbmQgYm9ybiwgbXVjaCBtb3JlIGRlcHJpdmVkLCBtdWNoIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIyMV8yXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIG1vcmUgb3ZlcnNlYXMgYm9ybiwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBtdWNoIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCIyMV8zXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNdWNoIG1vcmUgbm8gY2hpbGRyZW4gaG91c2Vob2xkcywgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtdWNoIHNtYWxsZXIgcHJvcGVydGllc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyMl8xXCIsIHRpdGxlOiBcIk1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjIyXzJcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyM18xXCIsIHRpdGxlOiBcIk1vcmUgaGlnaGx5IGVkdWNhdGVkLCBtdWNoIG1vcmUgZW1wbG95ZXJzLCBtdWNoIHNtYWxsZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjIzXzJcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbGVzcyBlZHVjYXRlZCwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjIzXzNcIiwgdGl0bGU6IFwiTW9yZSBoaWdobHkgZWR1Y2F0ZWQsIG1vcmUgb3ZlcnNlYXMgYm9ybiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWVcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyM180XCIsIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBsZXNzIGVkdWNhdGVkLCBtb3JlIHJ1cmFsXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjRfMVwiLCB0aXRsZTogXCJNb3JlIGNoaWxkcmVuLCBtdWNoIG1vcmUgZGVwcml2ZWQsIGxhcmdlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjRfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyNV8xXCIsIHRpdGxlOiBcIk1vcmUgbm8gY2hpbGRyZW4gaG91c2Vob2xkcywgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtdWNoIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyNV8yXCIsIHRpdGxlOiBcIk11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBtb3JlIGRlcHJpdmVkLCBtb3JlIHJ1cmFsXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjVfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbW9yZSAzKyBjaGlsZHJlbiBob3VzZWhvbGRzLCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjZfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgb3ZlcnNlYXMgYm9ybiwgbW9yZSB1cmJhblwifSxcclxuICAgICAgICAgICAge2lkOiBcIjI2XzJcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIGVsZGVybHksIG11Y2ggbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbW9yZSBydXJhbFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjI2XzNcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgaGlnaGVyIGhvdXNlaG9sZCBpbmNvbWUsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyNl80XCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBlbGRlcmx5LCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbW9yZSBydXJhbFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjI3XzFcIiwgdGl0bGU6IFwiTW9yZSBlbGRlcmx5LCBsYXJnZXIgcHJvcGVydGllcywgbXVjaCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjdfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgY2hpbGRyZW4sIG1vcmUgaGlnaGx5IGVkdWNhdGVkLCBoaWdoZXIgYWZmbHVlbmNlXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjdfM1wiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjdfNFwiLCB0aXRsZTogXCJNb3JlIGxvbmdlciB0aW1lIGF0IGFkZHJlc3MsIGxlc3MgZWR1Y2F0ZWQsIGhpZ2hlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyOF8xXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgZGVwcml2ZWQsIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyOF8yXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIG1vcmUgdXJiYW5cIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyOF8zXCIsIHRpdGxlOiBcIk1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHMsIGxhcmdlciBwcm9wZXJ0aWVzLCBtb3JlIHJ1cmFsXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjhfNFwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZWxkZXJseSwgbXVjaCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyOV8xXCIsIHRpdGxlOiBcIk1vcmUgZW1wbG95ZXJzLCBtb3JlIHNpbmdsZSBwZXJzb24gaG91c2Vob2xkcywgc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMjlfMlwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZGVwcml2ZWQsIG1vcmUgZW1wbG95ZXJzLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIyOV8zXCIsIHRpdGxlOiBcIk1vcmUgY2hpbGRyZW4sIHNob3J0ZXIgdGltZSBhdCBhZGRyZXNzLCBsb3dlciBwcm9wZXJ0eSBvd25lcnNoaXBcIn0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjI5XzRcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vIGNoaWxkcmVuIGhvdXNlaG9sZHMsIG1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbGVzcyBlZHVjYXRlZCwgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCwgdXJiYW5cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzBfMVwiLCB0aXRsZTogXCJNdWNoIG1vcmUgZGVwcml2ZWQsIG11Y2ggbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggc21hbGxlciBwcm9wZXJ0aWVzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzBfMlwiLCB0aXRsZTogXCJNb3JlIG92ZXJzZWFzIGJvcm4sIGhpZ2hlciBob3VzZWhvbGQgaW5jb21lLCBtdWNoIG1vcmUgNysgcGVyc29uIGhvdXNlaG9sZHNcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIzMF8zXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBjaGlsZHJlbiwgbW9yZSBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzFfMVwiLCB0aXRsZTogXCJNb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG1vcmUgc2luZ2xlIHBlcnNvbiBob3VzZWhvbGRzLCBoaWdoZXIgcHJvcGVydHkgb3duZXJzaGlwXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzFfMlwiLCB0aXRsZTogXCJNdWNoIGxlc3MgZWR1Y2F0ZWQsIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzFfM1wiLCB0aXRsZTogXCJNb3JlIGhpZ2hseSBlZHVjYXRlZCwgbW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIHNtYWxsZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjMxXzRcIiwgdGl0bGU6IFwiTW9yZSBjaGlsZHJlbiwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzLCBsYXJnZXIgcHJvcGVydGllc1wifSxcclxuICAgICAgICAgICAge2lkOiBcIjMyXzFcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIG11Y2ggbW9yZSBkZXByaXZlZCwgbXVjaCBzbWFsbGVyIHByb3BlcnRpZXNcIn0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIjMyXzJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk1vcmUgbG9uZ2VyIHRpbWUgYXQgYWRkcmVzcywgbXVjaCBtb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtpZDogXCIzM18xXCIsIHRpdGxlOiBcIk1vcmUgZW1wbG95ZXJzLCBzbWFsbGVyIHByb3BlcnRpZXMsIG1vcmUgcnVyYWxcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCIzM18yXCIsIHRpdGxlOiBcIk11Y2ggbW9yZSBkZXByaXZlZCwgbG93ZXIgcHJvcGVydHkgb3duZXJzaGlwLCBtb3JlIHVyYmFuXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiMzNfM1wiLCB0aXRsZTogXCJNb3JlIGVtcGxveWVlcywgaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCwgbW9yZSB1cmJhblwifSxcclxuICAgICAgICAgICAge2lkOiBcIjM0XzFcIiwgdGl0bGU6IFwiTW9yZSBsb25nZXIgdGltZSBhdCBhZGRyZXNzLCBtb3JlIE5ldyBaZWFsYW5kIGJvcm4sIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjM0XzJcIiwgdGl0bGU6IFwiTW9yZSBzaW5nbGUgcGVyc29uIGhvdXNlaG9sZHMsIG11Y2ggaGlnaGVyIHByb3BlcnR5IG93bmVyc2hpcCwgbW9yZSBydXJhbFwifSxcclxuICAgICAgICAgICAge2lkOiBcIjM0XzNcIiwgdGl0bGU6IFwiTXVjaCBtb3JlIG92ZXJzZWFzIGJvcm4sIGxvd2VyIHByb3BlcnR5IG93bmVyc2hpcCwgbXVjaCBtb3JlIDcrIHBlcnNvbiBob3VzZWhvbGRzXCJ9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBtb3NhaWNfdHlwZV9ncm91cDogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJBMDFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBvd2VyIFByb2Zlc3Npb25hbHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkhpZ2hseSBwcm9zcGVyb3VzIGhvdXNlaG9sZHMgY29tcHJpc2luZyBvZiBmaW5hbmNlIHNhdnZ5IHByb2Zlc3Npb25hbHMgYW5kIGJ1c2luZXNzIG93bmVycywgbGl2aW5nIGluIGdyYW5kIGhvdXNlcyBpbiBkZXNpcmFibGUgYXJlYXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJBMDJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIldpbmUgQW5kIFdhdmVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPbGRlciwgd2VsbC1lZHVjYXRlZCBmYW1pbGllcyBvbiB0aGUgdmVyZ2Ugb2YgcmV0aXJlbWVudCBlbmpveWluZyB0aGUgcmV3YXJkcyBvZiBzdWNjZXNzZnVsIGNhcmVlcnMsIHVzaW5nIHRoZSBpbnRlcm5ldCB0byBrZWVwIHVwZGF0ZWRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJBMDNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkRvdWJsZSBEb2xsYXIgU3VpdHMgXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXZWxsLWVkdWNhdGVkIGRvdWJsZSBpbmNvbWUgcHJvZmVzc2lvbmFsIGNvdXBsZXMgd2l0aCB5b3VuZyBmYW1pbGllcywgdXNpbmcgdGVjaG5vbG9neSB0byBqdWdnbGUgdGhlaXIgYnVzeSBsaWZlc3R5bGVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQTA0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJHb2xkIFBsYXRlZCBSaWRlLU9uc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiV2VhbHRoeSBmYW1pbGllcyB3aXRoIGxhcmdlIG1vZGVybiBwcm9wZXJ0aWVzIG9uIHRoZSBydXJhbCBvdXRza2lydHMsIGVuam95aW5nIHRoZSBvdXRkb29ycyBhbmQgaGF2ZSBwcmFjdGljYWwgdGVjaG5vbG9neSBuZWVkc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkIwNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVGVhIEFuZCBCaXNjdWl0c1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRmluYW5jaWFsbHkgc2VjdXJlLCBvbGRlciBjb3VwbGVzIHdobyBoYXZlIHBhaWQgb2ZmIHRoZWlyIGhvbWVzIGNsb3NlIHRvIHRoZSBjaXR5LCBub3cgZW5qb3lpbmcgbW9yZSB0aW1lIGZvciB0aGVpciBob2JiaWVzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQjA2XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJPdXRkb29yIFdhbmRlcmVyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRXN0YWJsaXNoZWQgY291cGxlcyBvciBmYW1pbGllcyBsaXZpbmcgaW4gbGFyZ2VyIHJ1cmFsIHByb3BlcnRpZXMgd2hvIGVtYnJhY2UgdGhlIG91dGRvb3IgbGlmZSBhbmQgZW5qb3kgdHJhZGl0aW9uYWwgY291bnRyeSBwdXJzdWl0c1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkIwN1wiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQmFja3dhdGVyIEJvd2xzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJUcmFkaXRpb25hbCBOZXcgWmVhbGFuZGVyIHdlYWx0aHkgcmV0aXJlZCBjb3VwbGVzLCBlbmpveWluZyBhIGNvbWZvcnRhYmxlIHNldHRsZWQgbGlmZSBpbiByZWdpb25hbCB0b3ducywgbGVhZGluZyBoZWFsdGh5IGxpZmVzdHlsZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJDMDhcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhpZ2ggU3BlZWQgSGFydmVzdGVyc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgaGFyZCB3b3JraW5nIGZhbWlsaWVzIHdpdGggZmFybWluZyBiYWNrZ3JvdW5kcyBpbiBydXJhbCBsb2NhdGlvbnMsIHRyYW5zZmVycmluZyB0aGUgcnVubmluZyBvZiB0aGUgZmFybSB0byB0aGUgbmV4dCBnZW5lcmF0aW9uXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQzA5XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJGYXJtaW5nIFRoZSBXaWxkZXJuZXNzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQcmFjdGljYWxseSBtaW5kZWQgcnVyYWwgZmFybWluZyBmYW1pbGllcyB3aXRoIG1vZGVzdCBsaWZlc3R5bGVzLCBmaW5hbmNpYWwgYnVyZGVucywgYW5kIGEgcGFzc2lvbiBmb3IgZmFzdCBjYXJzIGFuZCBtb3RvcmJpa2VzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiQzEwXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJSdXN0aWMgUmV0aXJlZXNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlNlbWktcmV0aXJlZCBvbGRlciBjb3VwbGVzIGxpdmluZyBpbiBvdXRlciByZWdpb25hbCBhbmQgcnVyYWwgbG9jYXRpb25zLCB3aXRoIHNpbXBsZSB0YXN0ZXMsIGVuam95aW5nIHRoZSBsb2NhbCBjb21tdW5pdHkgc3Bpcml0XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRDExXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJXb3JraW5nIFRoZSBOZXR3b3JrXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGaW5hbmNpYWxseSBlc3RhYmxpc2hlZCBhbmQgdGVjaG5vIHNhdnZ5LCBoaWdobHkgZWR1Y2F0ZWQgc2luZ2xlcyB3aG8gb3duIHRoZWlyIHVyYmFuIGFwYXJ0bWVudHMgYW5kIGVuam95IGEgZmFzdCBwYWNlZCBsaWZlc3R5bGVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEMTJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhhc2ggVGFnIExvb2sgQXQgTWUgXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGYXNoaW9uIGZvY3VzZWQsIHNvY2lhbCBhbmQgdGVjaG5vbG9naWNhbGx5IGFzdHV0ZSB5b3VuZ2VyIGZhbWlsaWVzLCByZW50aW5nIG1vZGVybiBwcm9wZXJ0aWVzIGluIHRoZSBtYWpvciBjaXRpZXNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEMTNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNoYXJpbmcgU3BhY2VzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaWRkbGUtYWdlZCBob21lIHNoYXJlcnMsIGxpdmluZyBpbiB0aGUgc3VidXJicyB3aG8gZW5qb3kgc29jaWFsIG5ldHdvcmtpbmcgYW5kIHRyeWluZyB0byBmaW5kIGEgYmFsYW5jZSBiZXR3ZWVuIHdvcmsgYW5kIHBsYXlcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEMTRcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRvdWNoc2NyZWVucyBBbmQgVGFrZWF3YXlzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJFeHRlbmRlZCBmYW1pbGllcyBpbiBtb2Rlcm4gc3VidXJiYW4gaG91c2VzLCB3aXRoIGxvdyBkaXNwb3NhYmxlIGluY29tZSB3aG8gbGlrZSB0byBzdGFuZCBvdXQgYW5kIGFyZSBpbmZsdWVuY2VkIGJ5IHRoZWlyIHNvY2lhbCBzcGhlcmVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJEMTVcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkhhbGZ0aW1lIEhvcGVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJGaW5hbmNpYWxseSBjb21mb3J0YWJsZSBmYW1pbGllcyB3aG8gcmVxdWlyZSB0ZWNobm9sb2d5IHRvIGJlIHByYWN0aWNhbCwgbGl2aW5nIGluIGNpdHkgYXBhcnRtZW50cyBhbmQgb3B0aW1pc3RpYyBhYm91dCB0aGUgZnV0dXJlXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRTE2XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDYXJlZnJlZSBTdWJ1cmJpYVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2xkZXIgZmFtaWxpZXMga2VlcGluZyBhbiBleWUgb24gdGhlaXIgZmluYW5jZXMgYnV0IGVuam95aW5nIGFuIGVhc3kgZ29pbmcgbGlmZSB1c2luZyB0cmFkaXRpb25hbCBtZWRpYSB0byBzdGF5IGluZm9ybWVkIGFuZCB1cCB0byBkYXRlXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRTE3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDcmVhdHVyZXMgT2YgSGFiaXRcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkVsZGVybHkgY291cGxlcyBlbmpveWluZyBhIHN0cmVzcyBmcmVlIGxpZmUgd2hpbGUgcmVzaWRpbmcgaW4gc2VncmVnYXRlZCBuZWlnaGJvdXJob29kcywgYW5kIGxpc3RlbmluZyB0byB0aGUgcmFkaW8gdG8gc3RheSBpbiB0b3VjaFwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkUxOFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTW9ydGdhZ2VzIEFuZCBNaWNyb3dhdmVzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJIYW5kcy1vbiBwZW9wbGUgd2hvIGVuam95IGZpeGluZyBhbmQgdGlua2VyaW5nIHdpdGggY2FycyBhbmQgYW4gYWN0aXZlIG91dGRvb3IgbGlmZXN0eWxlIHdobyBhcmUgYmFsYW5jaW5nIGxhcmdlIGZpbmFuY2lhbCBjb21taXRtZW50c1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkUxOVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiTmV3c3BhcGVycyBBbmQgS25pdHRpbmdcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlNlbmlvciwgbWFpbmx5IGRpdm9yY2VkIHNpbmdsZXMsIHJldGlyZWQgYW5kIGZpbmFuY2lhbGx5IGNvbWZvcnRhYmxlIHdpdGggdHJhZGl0aW9uYWwgdmFsdWVzLCBwcmVmZXJyaW5nIGJyaWNrcyBhbmQgbW9ydGFyIHRvIG9ubGluZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkYyMFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVHVyYm8gVHJlYWRtaWxsc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiRHJpdmVuLCBkZWdyZWUtZWR1Y2F0ZWQgaW5kaXZpZHVhbHMgaW4gZWFybHkgc3RhZ2VzIG9mIHRoZWlyIGNhcmVlcnMsIGxpdmluZyBpbiBzaGFyZWQgc3BhY2VzIGFuZCB1c2luZyB0aGVpciBtb2JpbGUgdG8gc3RheSBjb25uZWN0ZWRcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJGMjFcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIldpbiBUaGUgQmV0dGVyIExpZmVcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIllvdW5nZXIgc2luZ2xlcyBsaXZpbmcgaW4gc2hhcmVkIHJlbnRhbCBhcGFydG1lbnRzIHdoZXJlIGpvYiBzZWN1cml0eSBpcyBpbXBvcnRhbnQgYW5kIGFyZSBzZWFyY2hpbmcgZm9yIHNvbWV0aGluZyBiZXR0ZXIgaW4gbGlmZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkYyMlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSnVzdCBBZGQgV2F0ZXIgXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJZb3VuZyBzdHVkZW50cyBpbiBmdWxsIHRpbWUgc3R1ZHkgd2hvIGFyZSBjb25uZWN0ZWQgMjQvNywgbGl2aW5nIGluIGNhbXB1cyBhY2NvbW1vZGF0aW9uLCBzcGVuZGluZyB0aGVpciBmcmVlIHRpbWUgd2l0aCBmcmllbmRzXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRzIzXCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJNZXNzYWdpbmcgTW90b3JoZWFkc1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTWl4IG9mIG9sZGVyIGFuZCB5b3VuZyBzaW5nbGVzIHJlbnRpbmcgaW4gdGhlIHN1YnVyYnMsIGhlYXZ5IHRleHRlcnMgYW5kIHNvY2lhbCBuZXR3b3JrZXJzIHdhbnRpbmcgdG8gYmUgdGFrZW4gc2VyaW91c2x5XCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiRzI0XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDb21tdW5pdHkgR3JleXMgXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXRpcmVkLCBtYWlubHkgc2luZ2xlLCBlbGRlcmx5LCBsaXZpbmcgb2ZmIHRoZWlyIGludmVzdG1lbnRzIGluIHJldGlyZW1lbnQgdmlsbGFnZXMgYW5kIHRha2luZyBlYWNoIGRheSBhcyBpdCBjb21lc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkcyNVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVGFsa2JhY2sgQW5kIFRlbGx5XCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQcmljZSBzZW5zaXRpdmUgc2VuaW9ycywgcmVudGluZyBnb3Zlcm5tZW50IGhvdXNpbmcgaW4gcnVyYWwgbG9jYXRpb25zLCBsaXZpbmcgYSBsb3cta2V5IGxpZmVzdHlsZSB0byBrZWVwIG9uIHRvcCBvZiB0aGVpciBmaW5hbmNlc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkgyNlwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiRmlzaGluZyBGb3IgQSBCYXJnYWluXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNYXR1cmUsIGR1YWwgaW5jb21lLCBmYW1pbHkgY2VudHJpYyBob3VzZWhvbGRzIGluIG1vcnRnYWdlZCBtb2RlcmF0ZSBzaXplZCBob21lcywgb24gYSB0aWdodCBidWRnZXQgYW5kIGVuam95IGh1bnRpbmcgZm9yIGJhcmdhaW5zXCJcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSDI3XCIsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIaXJpbmcgVGhlIExpZmVzdHlsZVwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiU2hvcHBpbmcgZmFuYXRpYyB5b3VuZyBmYW1pbGllcyBpbiBzbWFsbCBob21lcywgd2l0aCBhdmVyYWdlIGluY29tZXMsIHdobyBsb3ZlIGxveWFsdHkgY2FyZHMgYW5kIGNvdXBvbnMsIGFuZCBwYXkgYXR0ZW50aW9uIHRvIGFkdmVydHNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJIMjhcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlJlbW90ZSBDb250cm9sbGluZ1wiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQnVzeSBtaXhlZCBmYW1pbGllcyBvbiBsb3cgaW5jb21lcyBpbiByZW50ZWQgZ292ZXJubWVudCBob3VzaW5nLCB3aGVyZSBraWRzIGNvbWUgZmlyc3QgYW5kIHdobyBpbXB1bHNlIHB1cmNoYXNlIGZvciB0aGUgbGF0ZXN0IGdhZGdldHNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJIMjlcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlN0YXRlbHkgUmVudGVycyBcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk9sZGVyIHNpbmdsZSBwYXJlbnRzIG9mIE1hb3JpIGRlc2NlbnQsIGxpdmluZyBpbiBzdGF0ZSBob3VzaW5nLCB3aG8gZmVlbCBxdWl0ZSBpc29sYXRlZCBhbmQgaGF2ZSBmaW5hbmNpYWwgY2hhbGxlbmdlc1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkgzMFwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiS2lkcyBBbmQgQ2FycyBcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlNpbmdsZSBwYXJlbnRzIHdpdGggeW91bmcga2lkcywgbGl2aW5nIGluIHNvbWUgb2YgdGhlIHBvb3JlciBhcmVhcyB3aXRoIHN0cm9uZyBmb2N1cyBvbiB0aGVpciBraWRzIGFuZCBhIHByZWZlcmVuY2UgZm9yIG9ubGluZSBzaG9wcGluZ1wiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBcIkkzMVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiV2luZG93IFNob3BwaW5nIFN0cnVnZ2xlcnNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkV0aG5pYyBtaW5vcml0aWVzIGxpdmluZyBpbiBsYXJnZSBtdWx0aSBmYW1pbHkgaG91c2Vob2xkcyBzdHJ1Z2dsaW5nIG9uIGxvdyBpbmNvbWVzLCBidXQgd2l0aCBhbiBhY3RpdmUgc29jaWFsIGxpZmVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJJMzJcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlNxdWFyZSBFeWVzIEFuZCBFbXB0eSBQb2NrZXRzXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJTaW5nbGVzIG9uIGxvdyBpbmNvbWVzIG9yIGJlbmVmaXRzLCBsaXZpbmcgaW4gR292ZXJubWVudCBob3VzaW5nLCB3aXRoIGEgbG93IGtleSBsaWZlc3R5bGUgYW5kIGhpZ2ggdGVsZXZpc2lvbiBhbmQgcmFkaW8gY29uc3VtcHRpb25cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJJMzNcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkV4dGVuZGluZyBUaGUgQmVuZWZpdHNcIixcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkxhcmdlIG11bHRpLWZhbWlseSBNYW9yaSBob3VzZWhvbGRzIG9uIGxvdyBpbmNvbWUgb3IgYmVuZWZpdHMsd2hvIGVuam95IGRvd24gdG8gZWFydGggcHVyc3VpdHMgYW5kIG1vcmUgdHJhZGl0aW9uYWwgbWVkaWEgY2hhbm5lbHNcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZDogXCJJMzRcIixcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlBsYXkgRG91Z2ggQW5kIFBpenphXCIsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJNaXhlZCBmYW1pbHkgTWFvcmkgYW5kIFBhY2lmaWMgSXNsYW5kZXIgaG91c2Vob2xkcywgd2l0aCBhIHN0cm9uZyBmb2N1cyBvbiB0aGVpciB5b3VuZyBjaGlsZHJlbiBidXQgc3RydWdnbGluZyBmaW5hbmNpYWxseVwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn07XHJcbiIsImV4cG9ydCBjb25zdCByZWdpb25hbEdlb2NvZGVEZXNjcmlwdGlvbnMgPSB7XHJcbiAgICBBVVM6IHtcclxuICAgICAgICBsb2NhbGl0eV9jbGFzc19jb2RlOiBbXHJcbiAgICAgICAgICAgIHtpZDogXCJBXCIsIHRpdGxlOiBcIkFMSUFTIE9OTFkgTE9DQUxJVFlcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCJEXCIsIHRpdGxlOiBcIkRJU1RSSUNUXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiR1wiLCB0aXRsZTogXCJHQVpFVFRFRCBMT0NBTElUWVwifSxcclxuICAgICAgICAgICAge2lkOiBcIkhcIiwgdGl0bGU6IFwiSFVORFJFRFwifSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IFwiSVwiLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiSU5ESUdFTk9VUyBMT0NBVElPTlwiLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTG9jYXRpb24gaWRlbnRpZmllZCBpbiB0aGUgQXVzdHJhbGlhbiBnb3Zlcm5tZW50IGluZGlnZW5vdXMgcHJvZ3JhbXMgYW5kIHBvbGljeSBsb2NhdGlvbnMgKEFHSUwpIGRhdGFzZXQgYXZhaWxhYmxlIGF0IGh0dHA6Ly9kYXRhLmdvdi5hdVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtpZDogXCJNXCIsIHRpdGxlOiBcIk1BTlVBTExZIFZBTElEQVRFRFwifSxcclxuICAgICAgICAgICAge2lkOiBcIlRcIiwgdGl0bGU6IFwiVE9QT0dSQVBISUMgTE9DQUxJVFlcIn0sXHJcbiAgICAgICAgICAgIHtpZDogXCJVXCIsIHRpdGxlOiBcIlVOT0ZGSUNJQUwgU1VCVVJCXCJ9LFxyXG4gICAgICAgICAgICB7aWQ6IFwiVlwiLCB0aXRsZTogXCJVTk9GRklDSUFMIFRPUE9HUkFQSElDIEZFQVRVUkVcIn1cclxuICAgICAgICBdXHJcbiAgICB9XHJcbn07IiwiaW1wb3J0IEV2ZW50RmFjdG9yeSBmcm9tICcuL2V2ZW50LWZhY3RvcnknO1xyXG5pbXBvcnQgUmVxdWVzdCBmcm9tICcuL3JlcXVlc3QnO1xyXG5pbXBvcnQge1xyXG4gIEFkZEFkZHJlc3Nlc09wdGlvbnMsXHJcbiAgQWRkcmVzc1NlYXJjaE9wdGlvbnMsXHJcbiAgQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZSxcclxuICBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLFxyXG4gIEFkZHJlc3NWYWxpZGF0aW9uTW9kZSxcclxuICBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUsXHJcbiAgZGVmYXVsdHNcclxufSBmcm9tICcuL3NlYXJjaC1vcHRpb25zJztcclxuaW1wb3J0IHtkYXRhc2V0Q29kZXN9IGZyb20gJy4vZGF0YXNldHMtY29kZXMnO1xyXG5pbXBvcnQge3ByZWRlZmluZWRGb3JtYXRzfSBmcm9tICcuL3ByZWRlZmluZWQtZm9ybWF0cyc7XHJcbmltcG9ydCB7dHJhbnNsYXRpb25zfSBmcm9tICcuL3RyYW5zbGF0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgQWRkcmVzc1ZhbGlkYXRpb25SZXN1bHQsXHJcbiAgRGF0YXNldHNSZXNwb25zZSxcclxuICBFbnJpY2htZW50RGV0YWlscyxcclxuICBFbnJpY2htZW50UmVzcG9uc2UsXHJcbiAgTG9va3VwQWRkcmVzcywgTG9va3VwU3VnZ2VzdGlvbixcclxuICBMb29rdXBWMlJlc3BvbnNlLFxyXG4gIExvb2t1cFczV1Jlc3BvbnNlLFxyXG4gIFBpY2tsaXN0LFxyXG4gIFBpY2tsaXN0SXRlbSxcclxuICBQb3dlcmVkQnlMb2dvLFxyXG4gIFByZWRlZmluZWRGb3JtYXRzLFxyXG4gIFNlYXJjaFJlc3BvbnNlLFxyXG4gIFdoYXQzV29yZHNQaWNrTGlzdFxyXG59IGZyb20gJy4vY2xhc3MtdHlwZXMnO1xyXG5pbXBvcnQge2VucmljaG1lbnRPdXRwdXR9IGZyb20gXCIuL2VucmljaG1lbnQtb3V0cHV0XCI7XHJcbmltcG9ydCB7Y29uc3VtZXJWaWV3RGVzY3JpcHRpb25zfSBmcm9tIFwiLi9jb25zdW1lci12aWV3LWRlc2NyaXB0aW9uXCI7XHJcbmltcG9ydCB7cmVnaW9uYWxHZW9jb2RlRGVzY3JpcHRpb25zfSBmcm9tIFwiLi9yZWdpb25hbC1nZW9jb2Rlcy1kZXNjcmlwdGlvblwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWRkcmVzc1ZhbGlkYXRpb24ge1xyXG4gIHB1YmxpYyBvcHRpb25zOiBBZGRyZXNzU2VhcmNoT3B0aW9ucztcclxuICBwdWJsaWMgc2VhcmNoVHlwZTogQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlO1xyXG4gIHB1YmxpYyBhdk1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZTtcclxuICBwdWJsaWMgZXZlbnRzO1xyXG4gIHB1YmxpYyByZXF1ZXN0OiBSZXF1ZXN0O1xyXG5cclxuICBwdWJsaWMgY291bnRyeURyb3Bkb3duOiB7Y291bnRyeTogc3RyaW5nLCBpc28zQ29kZTogc3RyaW5nLCBpc28yQ29kZTogc3RyaW5nLCBkYXRhc2V0Q29kZXM6IHN0cmluZ1tdLCBzZWFyY2hUeXBlczogc3RyaW5nW119W10gPSBbXTtcclxuICBwdWJsaWMgY29tcG9uZW50c0NvbGxlY3Rpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG4gIHB1YmxpYyBtZXRhZGF0YUNvbGxlY3Rpb25NYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG4gIHB1YmxpYyBnZW9jb2RlczogRW5yaWNobWVudERldGFpbHMgPSBuZXcgRW5yaWNobWVudERldGFpbHMoKTtcclxuICBwdWJsaWMgY3ZIb3VzZWhvbGQ6IEVucmljaG1lbnREZXRhaWxzID0gbmV3IEVucmljaG1lbnREZXRhaWxzKCk7XHJcbiAgcHVibGljIHRvb2x0aXBEZXNjcmlwdGlvbk1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcbiAgcHVibGljIHByZW1pdW1Mb2NhdGlvbkluc2lnaHRNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuICBwcml2YXRlIGJhc2VVcmwgPSAnaHR0cHM6Ly9hcGkuZXhwZXJpYW5hcGVydHVyZS5pby8nO1xyXG4gIHByaXZhdGUgZGF0YXNldHNFbmRwb2ludCA9ICdhZGRyZXNzL2RhdGFzZXRzL3YxJztcclxuICBwcml2YXRlIHNlYXJjaEVuZHBvaW50ID0gJ2FkZHJlc3Mvc2VhcmNoL3YxJztcclxuICBwcml2YXRlIGxvb2t1cFYyRW5kcG9pbnQgPSAnYWRkcmVzcy9sb29rdXAvdjInO1xyXG4gIHByaXZhdGUgdmFsaWRhdGVFbmRwb2ludCA9ICdhZGRyZXNzL3ZhbGlkYXRlL3YxJztcclxuICBwcml2YXRlIHByb21wdHNldEVuZHBvaW50ID0gJ2FkZHJlc3MvcHJvbXB0c2V0cy92MSc7XHJcbiAgcHJpdmF0ZSBzdGVwSW5FbmRwb2ludCA9ICdhZGRyZXNzL3N1Z2dlc3Rpb25zL3N0ZXBpbi92MSc7XHJcbiAgcHJpdmF0ZSByZWZpbmVFbmRwb2ludCA9ICdhZGRyZXNzL3N1Z2dlc3Rpb25zL3JlZmluZS92MSc7XHJcbiAgcHJpdmF0ZSBlbnJpY2htZW50RW5kcG9pbnQgPSAnZW5yaWNobWVudC92Mic7XHJcblxyXG4gIHByaXZhdGUgcGlja2xpc3Q6IFBpY2tsaXN0O1xyXG4gIHByaXZhdGUgaW5wdXRzOiBIVE1MSW5wdXRFbGVtZW50W107XHJcbiAgcHJpdmF0ZSBsYXN0U2VhcmNoVGVybTogc3RyaW5nO1xyXG4gIHByaXZhdGUgY3VycmVudFNlYXJjaFRlcm06IHN0cmluZztcclxuICBwcml2YXRlIGxvb2t1cFR5cGU6IHN0cmluZztcclxuICBwcml2YXRlIHJldHVybkFkZHJlc3NlczogYm9vbGVhbjtcclxuICBwcml2YXRlIGN1cnJlbnRDb3VudHJ5Q29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgY3VycmVudENvdW50cnlOYW1lOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBjdXJyZW50RGF0YVNldDogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBoYXNTZWFyY2hJbnB1dEJlZW5SZXNldDogYm9vbGVhbjtcclxuICBwcml2YXRlIGNvdW50cnlDb2RlTWFwcGluZztcclxuICBwcml2YXRlIGxvb2t1cEZuO1xyXG4gIHByaXZhdGUga2V5VXBGbjtcclxuICBwcml2YXRlIGNoZWNrVGFiRm47XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFkZHJlc3NTZWFyY2hPcHRpb25zKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLm1lcmdlRGVmYXVsdE9wdGlvbnMob3B0aW9ucyk7XHJcblxyXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRGYWN0b3J5KCk7XHJcblxyXG4gICAgdGhpcy5zZXR1cCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub3B0aW9ucy50b2tlbiA9IHRva2VuO1xyXG4gICAgdGhpcy5zZXR1cCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFNlYXJjaFR5cGUoc2VhcmNoVHlwZTogQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUgPSBzZWFyY2hUeXBlO1xyXG4gICAgdGhpcy5nbG9iYWxSZXNldCgpO1xyXG4gICAgdGhpcy5zZXRJbnB1dHMoKTtcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3Qtc2VhcmNoLXR5cGUtY2hhbmdlJywgc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TG9va3VwRW5yaWNobWVudERhdGEoa2V5OiBzdHJpbmcpIHtcclxuICAgIGlmIChrZXkpIHtcclxuICAgICAgbGV0IHJlZ2lvbmFsQXR0cmlidXRlcyA9IHtcclxuICAgICAgICBnZW9jb2RlczogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5HTE9CQUwuZ2VvY29kZXMpLFxyXG4gICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodDoge30gPSBbXHJcbiAgICAgICAgICBcImdlb2NvZGVzXCIsXHJcbiAgICAgICAgICBcImdlb2NvZGVzX2J1aWxkaW5nX3h5XCIsXHJcbiAgICAgICAgICBcImdlb2NvZGVzX2FjY2Vzc1wiLFxyXG4gICAgICAgICAgXCJ0aW1lXCJcclxuICAgICAgICBdXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYWxsRW5yaWNobWVudChrZXksIHJlZ2lvbmFsQXR0cmlidXRlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RW5yaWNobWVudERhdGEoZGF0YTogRW5yaWNobWVudFJlc3BvbnNlKSB7XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtZW5yaWNobWVudCcpO1xyXG4gICAgdGhpcy5yZXN1bHQuaGFuZGxlRW5yaWNobWVudFJlc3BvbnNlKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbnJpY2htZW50QXR0cmlidXRlcyhnbG9iYWxBZGRyZXNzS2V5OiBzdHJpbmcpIHtcclxuICAgIGlmIChnbG9iYWxBZGRyZXNzS2V5KSB7XHJcbiAgICAgIGxldCByZWdpb25hbEF0dHJpYnV0ZXM6IHt9O1xyXG4gICAgICBsZXQgcHJlbWl1bV9sb2NhdGlvbl9pbnNpZ2h0OiB7fSA9IFtcclxuICAgICAgICBcImdlb2NvZGVzXCIsXHJcbiAgICAgICAgXCJnZW9jb2Rlc19idWlsZGluZ194eVwiLFxyXG4gICAgICAgIFwiZ2VvY29kZXNfYWNjZXNzXCIsXHJcbiAgICAgICAgXCJ0aW1lXCJcclxuICAgICAgXVxyXG4gICAgICBpZiAodGhpcy5jdXJyZW50Q291bnRyeUNvZGUgPT0gXCJOWkxcIikge1xyXG4gICAgICAgIHJlZ2lvbmFsQXR0cmlidXRlcyA9IHtcclxuICAgICAgICAgIG56bF9yZWdpb25hbF9nZW9jb2RlczogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5OWkwubnpsX3JlZ2lvbmFsX2dlb2NvZGVzKSxcclxuICAgICAgICAgIG56bF9jdl9ob3VzZWhvbGQ6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuTlpMLm56bF9jdl9ob3VzZWhvbGQpLFxyXG4gICAgICAgICAgcHJlbWl1bV9sb2NhdGlvbl9pbnNpZ2h0XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudENvdW50cnlDb2RlID09IFwiQVVTXCIpIHtcclxuICAgICAgICByZWdpb25hbEF0dHJpYnV0ZXMgPSB7XHJcbiAgICAgICAgICBhdXNfcmVnaW9uYWxfZ2VvY29kZXM6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuQVVTLmF1c19yZWdpb25hbF9nZW9jb2RlcyksXHJcbiAgICAgICAgICBhdXNfY3ZfaG91c2Vob2xkOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0LkFVUy5hdXNfY3ZfaG91c2Vob2xkKSxcclxuICAgICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSA9PSBcIlVTQVwiKSB7XHJcbiAgICAgICAgcmVnaW9uYWxBdHRyaWJ1dGVzID0ge1xyXG4gICAgICAgICAgdXNhX3JlZ2lvbmFsX2dlb2NvZGVzOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0LlVTQS51c2FfcmVnaW9uYWxfZ2VvY29kZXMpLFxyXG4gICAgICAgICAgcHJlbWl1bV9sb2NhdGlvbl9pbnNpZ2h0XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudENvdW50cnlDb2RlID09IFwiR0JSXCIpIHtcclxuICAgICAgICByZWdpb25hbEF0dHJpYnV0ZXMgPSB7XHJcbiAgICAgICAgICB1a19sb2NhdGlvbl9lc3NlbnRpYWw6IE9iamVjdC5rZXlzKGVucmljaG1lbnRPdXRwdXQuR0JSLnVrX2xvY2F0aW9uX2Vzc2VudGlhbCksXHJcbiAgICAgICAgICB3aGF0M3dvcmRzOiBPYmplY3Qua2V5cyhlbnJpY2htZW50T3V0cHV0LkdCUi53aGF0M3dvcmRzKSxcclxuICAgICAgICAgIHByZW1pdW1fbG9jYXRpb25faW5zaWdodFxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWdpb25hbEF0dHJpYnV0ZXMgPSB7XHJcbiAgICAgICAgICBnZW9jb2RlczogT2JqZWN0LmtleXMoZW5yaWNobWVudE91dHB1dC5HTE9CQUwuZ2VvY29kZXMpLFxyXG4gICAgICAgICAgcHJlbWl1bV9sb2NhdGlvbl9pbnNpZ2h0XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByZWdpb25hbEF0dHJpYnV0ZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGxFbnJpY2htZW50KGtleTogc3RyaW5nLCByZWdpb25hbEF0dHJpYnV0ZXMpIDogdm9pZCB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY291bnRyeV9pc286IHRoaXMuY3VycmVudENvdW50cnlDb2RlLFxyXG4gICAgICBrZXlzOiB7XHJcbiAgICAgICAgZ2xvYmFsX2FkZHJlc3Nfa2V5OiBrZXlcclxuICAgICAgfSxcclxuICAgICAgYXR0cmlidXRlczogcmVnaW9uYWxBdHRyaWJ1dGVzXHJcbiAgICB9XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtZW5yaWNobWVudCcpO1xyXG4gICAgdGhpcy5yZXF1ZXN0LnNlbmQodGhpcy5iYXNlVXJsICsgdGhpcy5lbnJpY2htZW50RW5kcG9pbnQsICdQT1NUJywgdGhpcy5yZXN1bHQuaGFuZGxlRW5yaWNobWVudFJlc3BvbnNlLCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwKCk6IHZvaWQge1xyXG4gICAgLy8gR2V0IHRva2VuIGFuZCBwcm9jZWVkIGlmIGl0J3MgcHJlc2VudFxyXG4gICAgaWYgKHRoaXMudG9rZW4pIHtcclxuICAgICAgdGhpcy5oYXNTZWFyY2hJbnB1dEJlZW5SZXNldCA9IHRydWU7XHJcblxyXG4gICAgICAvLyBJbnN0YW50aWF0ZSBhIG5ldyBSZXF1ZXN0IGNsYXNzIGZvciB1c2Ugd2hlbiBtYWtpbmcgQVBJIGNhbGxzXHJcbiAgICAgIHRoaXMucmVxdWVzdCA9IG5ldyBSZXF1ZXN0KHRoaXMpO1xyXG5cclxuICAgICAgLy8gU2V0IHRoZSBjb3VudHJ5IGxpc3RcclxuICAgICAgdGhpcy5zZXRDb3VudHJ5TGlzdCgpO1xyXG5cclxuICAgICAgLy8gU2V0IHRoZSBpbnB1dCBmaWVsZHMgZm9yIHRoaXMgc2VhcmNoIHR5cGVcclxuICAgICAgdGhpcy5zZXRJbnB1dHMoKTtcclxuXHJcbiAgICAgIC8vIFNldHVwIGEgcGlja2xpc3Qgb2JqZWN0XHJcbiAgICAgIHRoaXMuY3JlYXRlUGlja2xpc3QoKTtcclxuXHJcbiAgICAgIC8vIFNldCB0aGUgZGVmYXVsdCBzZWFyY2ggbW9kZVxyXG4gICAgICB0aGlzLnNlYXJjaFR5cGUgPSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORUQ7XHJcbiAgICAgIHRoaXMuYXZNb2RlID0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIFRyaWdnZXIgYSA0MDEgVW5hdXRob3JpemVkIGV2ZW50IGlmIGEgdG9rZW4gZG9lcyBub3QgZXhpc3RcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmV2ZW50cy50cmlnZ2VyKCdyZXF1ZXN0LWVycm9yLTQwMScpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UGFyYW1ldGVyKG5hbWUpOiBzdHJpbmcge1xyXG4gICAgbmFtZSA9IG5hbWUucmVwbGFjZSgvW1tdLywgJ1xcXFxbJykucmVwbGFjZSgvW1xcXV0vLCAnXFxcXF0nKTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnW1xcXFw/Jl0nICsgbmFtZSArICc9KFteJiNdKiknKSxcclxuICAgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWMobG9jYXRpb24uc2VhcmNoKTtcclxuICAgIHJldHVybiByZXN1bHRzID09PSBudWxsID8gJycgOiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1sxXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XHJcbiAgfVxyXG5cclxuICAvLyBUcnkgYW5kIGdldCB0b2tlbiBmcm9tIHRoZSBxdWVyeSBzdHJpbmcgaWYgaXQncyBub3QgYWxyZWFkeSBwcm92aWRlZFxyXG4gIHByaXZhdGUgZ2V0IHRva2VuKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy50b2tlbikge1xyXG4gICAgICB0aGlzLm9wdGlvbnMudG9rZW4gPSB0aGlzLmdldFBhcmFtZXRlcigndG9rZW4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9rZW47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1lcmdlRGVmYXVsdE9wdGlvbnMoY3VzdG9tT3B0aW9ucyk6IEFkZHJlc3NTZWFyY2hPcHRpb25zIHtcclxuICAgIGNvbnN0IGluc3RhbmNlOiBBZGRyZXNzU2VhcmNoT3B0aW9ucyA9IGN1c3RvbU9wdGlvbnMgfHwge307XHJcblxyXG4gICAgaW5zdGFuY2UuZW5hYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNlYXJjaFR5cGUgPSBpbnN0YW5jZS5zZWFyY2hUeXBlIHx8IGRlZmF1bHRzLnNlYXJjaFR5cGU7XHJcbiAgICBpbnN0YW5jZS5zZWFyY2hUeXBlID0gaW5zdGFuY2Uuc2VhcmNoVHlwZSB8fCBkZWZhdWx0cy5zZWFyY2hUeXBlO1xyXG4gICAgaW5zdGFuY2UubGFuZ3VhZ2UgPSBpbnN0YW5jZS5sYW5ndWFnZSB8fCBkZWZhdWx0cy5sYW5ndWFnZTtcclxuICAgIGluc3RhbmNlLnVzZVNwaW5uZXIgPSBpbnN0YW5jZS51c2VTcGlubmVyIHx8IGRlZmF1bHRzLnVzZVNwaW5uZXI7XHJcbiAgICBpbnN0YW5jZS5hcHBseUZvY3VzID0gKHR5cGVvZiBpbnN0YW5jZS5hcHBseUZvY3VzICE9PSAndW5kZWZpbmVkJykgPyBpbnN0YW5jZS5hcHBseUZvY3VzIDogZGVmYXVsdHMuaW5wdXQuYXBwbHlGb2N1cztcclxuICAgIGluc3RhbmNlLnBsYWNlaG9sZGVyVGV4dCA9IGluc3RhbmNlLnBsYWNlaG9sZGVyVGV4dCB8fCBkZWZhdWx0cy5pbnB1dC5wbGFjZWhvbGRlclRleHQ7XHJcbiAgICBpbnN0YW5jZS5zZWFyY2hBZ2FpbiA9IGluc3RhbmNlLnNlYXJjaEFnYWluIHx8IHt9O1xyXG4gICAgaW5zdGFuY2Uuc2VhcmNoQWdhaW4udmlzaWJsZSA9ICh0eXBlb2YgaW5zdGFuY2Uuc2VhcmNoQWdhaW4udmlzaWJsZSAhPT0gJ3VuZGVmaW5lZCcpID8gaW5zdGFuY2Uuc2VhcmNoQWdhaW4udmlzaWJsZSA6IGRlZmF1bHRzLnNlYXJjaEFnYWluLnZpc2libGU7XHJcbiAgICBpbnN0YW5jZS5zZWFyY2hBZ2Fpbi50ZXh0ID0gaW5zdGFuY2Uuc2VhcmNoQWdhaW4udGV4dCB8fCBkZWZhdWx0cy5zZWFyY2hBZ2Fpbi50ZXh0O1xyXG4gICAgaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lciA9IGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIgfHwgZGVmYXVsdHMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcjtcclxuICAgIGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuc2hvd0hlYWRpbmcgPSAodHlwZW9mIGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuc2hvd0hlYWRpbmcgIT09ICd1bmRlZmluZWQnKSA/IGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuc2hvd0hlYWRpbmcgOiBkZWZhdWx0cy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnNob3dIZWFkaW5nO1xyXG4gICAgaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5oZWFkaW5nVHlwZSA9IGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuaGVhZGluZ1R5cGUgfHwgZGVmYXVsdHMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5oZWFkaW5nVHlwZTtcclxuICAgIGluc3RhbmNlLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIudmFsaWRhdGVkSGVhZGluZ1RleHQgPSBpbnN0YW5jZS5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnZhbGlkYXRlZEhlYWRpbmdUZXh0IHx8IGRlZmF1bHRzLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIudmFsaWRhdGVkSGVhZGluZ1RleHQ7XHJcbiAgICBpbnN0YW5jZS5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLm1hbnVhbEhlYWRpbmdUZXh0ID0gaW5zdGFuY2UuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5tYW51YWxIZWFkaW5nVGV4dCB8fCBkZWZhdWx0cy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLm1hbnVhbEhlYWRpbmdUZXh0O1xyXG4gICAgaW5zdGFuY2UudXNlQWRkcmVzc0VudGVyZWRUZXh0ID0gaW5zdGFuY2UudXNlQWRkcmVzc0VudGVyZWRUZXh0IHx8IGRlZmF1bHRzLnVzZUFkZHJlc3NFbnRlcmVkVGV4dDtcclxuICAgIGluc3RhbmNlLmVsZW1lbnRzID0gaW5zdGFuY2UuZWxlbWVudHMgfHwge307XHJcblxyXG4gICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQcm9tcHRzZXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Q291bnRyeUNvZGUpIHtcclxuICAgICAgLy8gVXNpbmcgdGhlIGNvdW50cnkgY29kZSBhbmQgdGhlIHNlYXJjaCB0eXBlLCBsb29rdXAgd2hhdCB0aGUgcmVsZXZhbnQgZGF0YXNldCBjb2RlIHNob3VsZCBiZVxyXG4gICAgICB0aGlzLmN1cnJlbnREYXRhU2V0ID0gdGhpcy5sb29rdXBEYXRhc2V0Q29kZXMoKTtcclxuICAgICAgaWYgKHRoaXMuY3VycmVudERhdGFTZXQpIHtcclxuXHJcbiAgICAgICAgLy8vIFRlbXBvcmFyeSBtZWFzdXJlIHVudGlsIHRoZSBwcm9tcHRzZXQgZW5kcG9pbnQgc3VwcG9ydHMgQXV0b2NvbXBsZXRlIGFuZCBWYWxpZGF0ZVxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEUgfHwgdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORUQpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVQcm9tcHRzZXRSZXN1bHQoeyByZXN1bHQ6IHsgbGluZXM6IFt7IGV4YW1wbGU6IHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlclRleHQsIHByb21wdDogJ0FkZHJlc3MnLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAgfV0gfSB9KSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5WQUxJREFURSkge1xyXG4gICAgICAgICAgY29uc3QgbGluZXMgPSBbXHJcbiAgICAgICAgICAgIHsgcHJvbXB0OiAnQWRkcmVzcyBsaW5lIDEnLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAgfSxcclxuICAgICAgICAgICAgeyBwcm9tcHQ6ICdBZGRyZXNzIGxpbmUgMicsIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCB9LFxyXG4gICAgICAgICAgICB7IHByb21wdDogJ0FkZHJlc3MgbGluZSAzJywgc3VnZ2VzdGVkX2lucHV0X2xlbmd0aDogMTYwIH0sXHJcbiAgICAgICAgICAgIHsgcHJvbXB0OiB0aGlzLnJlc3VsdC5jcmVhdGVBZGRyZXNzTGluZS5sYWJlbCgnbG9jYWxpdHknKSwgc3VnZ2VzdGVkX2lucHV0X2xlbmd0aDogMTYwIH0sXHJcbiAgICAgICAgICAgIHsgcHJvbXB0OiB0aGlzLnJlc3VsdC5jcmVhdGVBZGRyZXNzTGluZS5sYWJlbCgncmVnaW9uJyksIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCB9LFxyXG4gICAgICAgICAgICB7IHByb21wdDogdGhpcy5yZXN1bHQuY3JlYXRlQWRkcmVzc0xpbmUubGFiZWwoJ3Bvc3RhbF9jb2RlJyksIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MCB9XHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhhbmRsZVByb21wdHNldFJlc3VsdCh7IHJlc3VsdDogeyBsaW5lcyB9IH0pKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkxPT0tVUFYyKSB7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wRGF0YXNldHMgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmN1cnJlbnREYXRhU2V0Lm1hcCh4ID0+IHgudG9VcHBlckNhc2UoKSkuc29ydCgpKTtcclxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gW1xyXG4gICAgICAgICAgICB7cHJvbXB0OiAnTG9va3VwIHR5cGUnLCBzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoOiAxNjAsXHJcbiAgICAgICAgICAgICAgZHJvcGRvd25fb3B0aW9uczogT2JqZWN0LnZhbHVlcyhBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzKVxyXG4gICAgICAgICAgICAgICAgLmZpbHRlcih0eXBlID0+IHR5cGUuZGF0YXNldC5sZW5ndGggPT0gMCB8fCB0eXBlLmRhdGFzZXQubWFwKHggPT4gSlNPTi5zdHJpbmdpZnkoeC5tYXAoeSA9PiB5LnRvVXBwZXJDYXNlKCkpLnNvcnQoKSkpLnNvbWUoeCA9PiB4ID09IHRlbXBEYXRhc2V0cykpfSxcclxuICAgICAgICAgICAge3Byb21wdDogJ1JldHVybiBhZGRyZXNzZXMgLSBpZiBcInRydWVcIiBhZGRyZXNzZXMgYXJlIHJldHVybmVkIGluIHRoZSByZXNwb25zZScsXHJcbiAgICAgICAgICAgICAgc3VnZ2VzdGVkX2lucHV0X2xlbmd0aDogMTYwLCBkcm9wZG93bl9vcHRpb25zOiBPYmplY3QudmFsdWVzKEFkZEFkZHJlc3Nlc09wdGlvbnMpfSxcclxuICAgICAgICAgICAge3Byb21wdDogJ0xvb2t1cCB2YWx1ZScsIHN1Z2dlc3RlZF9pbnB1dF9sZW5ndGg6IDE2MH1cclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUHJvbXB0c2V0UmVzdWx0KHtyZXN1bHQ6IHsgbGluZXMgfSB9KSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgICAgY291bnRyeV9pc286IHRoaXMuY3VycmVudENvdW50cnlDb2RlLFxyXG4gICAgICAgICAgZGF0YXNldHM6IEFycmF5LmlzQXJyYXkodGhpcy5jdXJyZW50RGF0YVNldCkgPyB0aGlzLmN1cnJlbnREYXRhU2V0IDogW3RoaXMuY3VycmVudERhdGFTZXRdLFxyXG4gICAgICAgICAgc2VhcmNoX3R5cGU6IHRoaXMuc2VhcmNoVHlwZSxcclxuICAgICAgICAgIHByb21wdF9zZXQ6ICdvcHRpbWFsJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncHJlLXByb21wdHNldC1jaGVjaycpO1xyXG4gICAgICAgIHRoaXMucmVxdWVzdC5zZW5kKHRoaXMuYmFzZVVybCArIHRoaXMucHJvbXB0c2V0RW5kcG9pbnQsICdQT1NUJywgdGhpcy5oYW5kbGVQcm9tcHRzZXRSZXN1bHQuYmluZCh0aGlzKSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcignZXJyb3ItZGlzcGxheScsIFwiVW5zdXBwb3J0ZWQgc2VhcmNoIHR5cGUgJ1wiICsgdGhpcy5zZWFyY2hUeXBlICsgXCInIGZvciBjb3VudHJ5IGRhdGFzZXQgJ1wiICsgdGhpcy5jdXJyZW50Q291bnRyeU5hbWUgKyBcIicuXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb29rdXBEYXRhc2V0Q29kZXMoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgaXRlbSA9IGRhdGFzZXRDb2Rlcy5maW5kKGRhdGFzZXQgPT5cclxuICAgICAgICBkYXRhc2V0LmlzbzNDb2RlID09PSB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZVxyXG4gICAgICAgICYmIGRhdGFzZXQuY291bnRyeSA9PT0gdGhpcy5jdXJyZW50Q291bnRyeU5hbWVcclxuICAgICAgICAmJiBkYXRhc2V0LnNlYXJjaFR5cGVzLmluY2x1ZGVzKHRoaXMuc2VhcmNoVHlwZSkpO1xyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgcmV0dXJuIGl0ZW0uZGF0YXNldENvZGVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb29rdXBTZWFyY2hUeXBlcyhjb3VudHJ5Q29kZTogc3RyaW5nLCBjb3VudHJ5TmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgaXRlbXMgPSBkYXRhc2V0Q29kZXMuZmlsdGVyKGRhdGFzZXQgPT5cclxuICAgICAgICBkYXRhc2V0LmlzbzNDb2RlID09PSBjb3VudHJ5Q29kZVxyXG4gICAgICAgICYmIGRhdGFzZXQuY291bnRyeSA9PT0gY291bnRyeU5hbWUpO1xyXG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3Qgc2VhcmNoVHlwZVByaW9yaXR5T3JkZXIgPSBPYmplY3QudmFsdWVzKEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZSk7XHJcbiAgICAgIHJldHVybiBpdGVtcy5mbGF0TWFwKHggPT4geC5zZWFyY2hUeXBlcylcclxuICAgICAgICAubWFwKHkgPT4gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlW3kudG9VcHBlckNhc2UoKV0pXHJcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IHNlYXJjaFR5cGVQcmlvcml0eU9yZGVyLmluZGV4T2YoYSkgLSBzZWFyY2hUeXBlUHJpb3JpdHlPcmRlci5pbmRleE9mKGIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZFByZWRlZmluZWRGb3JtYXRzKCk6IFByZWRlZmluZWRGb3JtYXRzW10ge1xyXG4gICAgY29uc3QgaXRlbSA9IHByZWRlZmluZWRGb3JtYXRzLmZpbHRlcihmb3JtYXQgPT5cclxuICAgICAgZm9ybWF0LmNvdW50cnlJc28gPT09IHRoaXMuY3VycmVudENvdW50cnlDb2RlKTtcclxuICAgIGlmIChpdGVtKSB7XHJcbiAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVQcm9tcHRzZXRSZXN1bHQocmVzcG9uc2UpOiB2b2lkIHtcclxuICAgIC8vIFJlbW92ZSBhbnkgY3VycmVudGx5IGRpc3BsYXllZCBwaWNrbGlzdCB3aGVuIHRoZSBwcm9tcHRzZXQgY2hhbmdlc1xyXG4gICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcblxyXG4gICAgLy8gVHJpZ2dlciBhIG5ldyBldmVudCB0byBub3RpZnkgc3Vic2NyaWJlcnNcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcHJvbXB0c2V0LWNoZWNrJywgcmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldElucHV0cyhpbnB1dHMgPSB0aGlzLm9wdGlvbnMuZWxlbWVudHMuaW5wdXRzKTogdm9pZCB7XHJcbiAgICAvLyBJZiBhZGRyZXNzIGlucHV0cyBleGlzdCB0aGVuIHJlZ2lzdGVyIHRoZXNlIHdpdGggZXZlbnQgbGlzdGVuZXJzLCBvdGhlcndpc2UgY2FsbCB0aGUgcHJvbXB0c2V0IGVuZHBvaW50IHRvIHJldHJpZXZlIHRoZW1cclxuICAgIGlmIChpbnB1dHMpIHtcclxuICAgICAgdGhpcy5yZWdpc3RlcklucHV0cyhpbnB1dHMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gTWFrZSBhbiBBUEkgY2FsbCB0byBnZXQgdGhlIHByb21wdHNldCBmb3IgdGhpcyBjb3VudHJ5L2RhdGFzZXQvZW5naW5lXHJcbiAgICAgIHRoaXMuZ2V0UHJvbXB0c2V0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSAhPT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkFVVE9DT01QTEVURSAmJiB0aGlzLnNlYXJjaFR5cGUgIT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5DT01CSU5FRCkge1xyXG4gICAgICAvLyBCaW5kIGFuIGV2ZW50IGxpc3RlbmVyIG9uIHRoZSBsb29rdXAgYnV0dG9uXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZWxlbWVudHMubG9va3VwQnV0dG9uKSB7XHJcbiAgICAgICAgdGhpcy5sb29rdXBGbiA9IHRoaXMuc2VhcmNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmxvb2t1cEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubG9va3VwRm4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlZ2lzdGVySW5wdXRzKGlucHV0czogSFRNTElucHV0RWxlbWVudFtdKSB7XHJcbiAgICAvLyBJZiBuZXcgaW5wdXRzIGhhdmUgYmVlbiBwcm92aWRlZCwgZW5zdXJlIHdlIHVwZGF0ZSB0aGUgZWxlbWVudHMgYXJyYXkgdG8gY2FwdHVyZSB0aGVtXHJcbiAgICB0aGlzLmlucHV0cyA9IEFycmF5LmZyb20oaW5wdXRzKTtcclxuXHJcbiAgICB0aGlzLmlucHV0cy5mb3JFYWNoKGlucHV0ID0+IHtcclxuICAgICAgLy8gRGlzYWJsZSBhdXRvY29tcGxldGUgb24gdGhlIGZvcm0gZmllbGRzXHJcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQVVUT0NPTVBMRVRFLCAnbmV3LXBhc3N3b3JkJyk7XHJcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORUQsICduZXctcGFzc3dvcmQnKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEUgfHwgdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORUQpIHtcclxuICAgICAgICAvLyBCaW5kIGFuIGV2ZW50IGxpc3RlbmVyIG9uIHRoZSBpbnB1dFxyXG4gICAgICAgIHRoaXMua2V5VXBGbiA9IHRoaXMuc2VhcmNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLmtleVVwRm4pO1xyXG4gICAgICAgIHRoaXMuY2hlY2tUYWJGbiA9IHRoaXMuY2hlY2tUYWIuYmluZCh0aGlzKTtcclxuICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5jaGVja1RhYkZuKTtcclxuICAgICAgICAvLyBTZXQgYSBwbGFjZWhvbGRlciBmb3IgdGhlIGlucHV0XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdwbGFjZWhvbGRlcicsIHRoaXMub3B0aW9ucy5wbGFjZWhvbGRlclRleHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBCaW5kIGFuIGV2ZW50IGxpc3RlbmVyIG9uIHRoZSBpbnB1dCB0byBhbGxvdyB1c2VycyB0byB0cmF2ZXJzZSB1cCBhbmQgZG93biB0aGUgcGlja2xpc3QgdXNpbmcgdGhlIGtleWJvYXJkXHJcbiAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5oYW5kbGVLZXlib2FyZEV2ZW50LmJpbmQodGhpcykpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5jb3VudHJ5Q29kZU1hcHBpbmcgPSB0aGlzLm9wdGlvbnMuY291bnRyeUNvZGVNYXBwaW5nIHx8IHt9O1xyXG5cclxuICAgIC8vIEFwcGx5IGZvY3VzIHRvIHRoZSBmaXJzdCBpbnB1dFxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5hcHBseUZvY3VzKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRzWzBdLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvdW50cnlMaXN0KCk6IHZvaWQge1xyXG4gICAgbGV0IHVybCA9IHRoaXMuYmFzZVVybCArIHRoaXMuZGF0YXNldHNFbmRwb2ludDtcclxuICAgIHRoaXMucmVxdWVzdC5zZW5kKHVybCwgJ0dFVCcsIHRoaXMuaGFuZGxlRGF0YXNldHNSZXNwb25zZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAvLyBTZXQgdGhlIGluaXRpYWwgY291bnRyeSBjb2RlIGZyb20gZWl0aGVyIHRoZSB2YWx1ZSBvZiBhIGNvdW50cnkgbGlzdCBIVE1MIGVsZW1lbnQgb3IgYSBzdGF0aWMgY291bnRyeSBjb2RlXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvdW50cnlDb2RlID0gdGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0LnZhbHVlO1xyXG4gICAgICB0aGlzLmN1cnJlbnRDb3VudHJ5TmFtZSA9IHRoaXMub3B0aW9ucy5lbGVtZW50cy5jb3VudHJ5TGlzdFt0aGlzLm9wdGlvbnMuZWxlbWVudHMuY291bnRyeUxpc3Quc2VsZWN0ZWRJbmRleF0ubGFiZWw7XHJcblxyXG4gICAgICAvLyBMaXN0ZW4gZm9yIHdoZW4gYSBjb3VudHJ5IGlzIGNoYW5nZWQgYW5kIGNhbGwgdGhlIHByb21wdHNldCBlbmRwb2ludFxyXG4gICAgICB0aGlzLm9wdGlvbnMuZWxlbWVudHMuY291bnRyeUxpc3QuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5oYW5kbGVDb3VudHJ5TGlzdENoYW5nZS5iaW5kKHRoaXMpKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zLmNvdW50cnlDb2RlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudENvdW50cnlDb2RlID0gdGhpcy5vcHRpb25zLmNvdW50cnlDb2RlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBhIGNvdW50cnkgY29kZSBvciBhIGNvdW50cnkgbGlzdCBlbGVtZW50Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZURhdGFzZXRzUmVzcG9uc2UocmVzcG9uc2U6IERhdGFzZXRzUmVzcG9uc2UpOiB2b2lkIHtcclxuICAgIGxldCBjb3VudHJpZXMgPSByZXNwb25zZS5yZXN1bHQ7XHJcbiAgICB0aGlzLmNvdW50cnlEcm9wZG93biA9IFtdO1xyXG4gICAgaWYgKGNvdW50cmllcyAmJiBjb3VudHJpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGNvdW50cnkgb2YgY291bnRyaWVzKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjb3VudHJ5RGF0YXNldCBvZiBPYmplY3QudmFsdWVzKGNvdW50cnkuZGF0YXNldHMpKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtID0gZGF0YXNldENvZGVzLmZpbmQoZGF0YXNldCA9PiBkYXRhc2V0LmRhdGFzZXRDb2Rlcy5sZW5ndGggPT0gMSAmJiBkYXRhc2V0LmRhdGFzZXRDb2Rlc1swXSA9PT0gY291bnRyeURhdGFzZXQuaWQpO1xyXG4gICAgICAgICAgaWYgKGl0ZW0gJiYgIXRoaXMuY291bnRyeURyb3Bkb3duLmZpbmQobyA9PiBvLmNvdW50cnkgPT09IGl0ZW0uY291bnRyeSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5RHJvcGRvd24ucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjb3VudHJ5LnZhbGlkX2NvbWJpbmF0aW9ucykge1xyXG4gICAgICAgICAgY291bnRyeS52YWxpZF9jb21iaW5hdGlvbnMuZm9yRWFjaChjb3VudHJ5RGF0YXNldENvbWJpbmF0aW9uID0+IHtcclxuICAgICAgICAgICAgbGV0IHNvcnRlZCA9IGNvdW50cnlEYXRhc2V0Q29tYmluYXRpb24uc2xpY2UoKS5zb3J0KClcclxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IGRhdGFzZXRDb2Rlcy5maW5kKGRhdGFzZXQgPT4gQXJyYXkuaXNBcnJheShkYXRhc2V0LmRhdGFzZXRDb2RlcykgXHJcbiAgICAgICAgICAgICAgJiYgZGF0YXNldC5kYXRhc2V0Q29kZXMubGVuZ3RoID09PSBzb3J0ZWQubGVuZ3RoIFxyXG4gICAgICAgICAgICAgICYmIGRhdGFzZXQuZGF0YXNldENvZGVzLnNsaWNlKCkuc29ydCgpLmV2ZXJ5KGZ1bmN0aW9uKHZhbHVlLCBpbmRleCkgeyByZXR1cm4gdmFsdWUgPT09IHNvcnRlZFtpbmRleF07IH0pKVxyXG4gICAgICAgICAgICBpZiAoaXRlbSAmJiAhdGhpcy5jb3VudHJ5RHJvcGRvd24uZmluZChvID0+IG8uY291bnRyeSA9PT0gaXRlbS5jb3VudHJ5KSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY291bnRyeURyb3Bkb3duLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvdW50cnlEcm9wZG93bi5zb3J0KChhLCBiKSA9PiBhLmNvdW50cnkubG9jYWxlQ29tcGFyZShiLmNvdW50cnkpKVxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LWRhdGFzZXRzLXVwZGF0ZScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gV2hlbiBhIGNvdW50cnkgZnJvbSB0aGUgbGlzdCBpcyBjaGFuZ2VkLCB1cGRhdGUgdGhlIGN1cnJlbnQgY291bnRyeSBjb2RlLCBjYWxsIHRoZSBwcm9tcHRzZXQgZW5kcG9pbnQgYWdhaW5cclxuICBwcml2YXRlIGhhbmRsZUNvdW50cnlMaXN0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgbGV0IGNvdW50cnlMaXN0ID0gdGhpcy5vcHRpb25zLmVsZW1lbnRzLmNvdW50cnlMaXN0O1xyXG5cclxuICAgIHRoaXMuY3VycmVudENvdW50cnlDb2RlID0gY291bnRyeUxpc3QudmFsdWU7XHJcbiAgICB0aGlzLmN1cnJlbnRDb3VudHJ5TmFtZSA9IGNvdW50cnlMaXN0W2NvdW50cnlMaXN0LnNlbGVjdGVkSW5kZXhdLmxhYmVsO1xyXG4gICAgdGhpcy5nZXRQcm9tcHRzZXQoKTtcclxuXHJcbiAgICAvLyBJZiBzdXBwb3J0ZWQsIGtlZXAgdGhlIHNhbWUgc2VhcmNoIHR5cGUgYXMgcHJldmlvdXMgc2VhcmNoLCBvdGhlcndpc2Ugc2VsZWN0IHRoZSBmaXJzdCBvbmUgZnJvbSB0aGUgYXJyYXlcclxuICAgIC8vIG9mIGF2YWlsYWJsZSBzZWFyY2ggdHlwZXNcclxuICAgIGxldCBhdmFpbGFibGVTZWFyY2hUeXBlcyA9IHRoaXMubG9va3VwU2VhcmNoVHlwZXModGhpcy5jdXJyZW50Q291bnRyeUNvZGUsIHRoaXMuY3VycmVudENvdW50cnlOYW1lKTtcclxuICAgIGxldCBpc0N1cnJlbnRTZWFyY2hUeXBlU3VwcG9ydGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VhcmNoVHlwZSAhPT0gbnVsbCl7XHJcbiAgICAgIGlzQ3VycmVudFNlYXJjaFR5cGVTdXBwb3J0ZWQgPSBhdmFpbGFibGVTZWFyY2hUeXBlcy5pbmRleE9mKHRoaXMuc2VhcmNoVHlwZSkgPj0gMCA/IHRydWUgOiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWlzQ3VycmVudFNlYXJjaFR5cGVTdXBwb3J0ZWQpe1xyXG4gICAgICB0aGlzLnNlYXJjaFR5cGUgPSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGVbYXZhaWxhYmxlU2VhcmNoVHlwZXNbMF0udG9VcHBlckNhc2UoKV07XHJcbiAgICAgIHRoaXMuc2V0SW5wdXRzKCk7XHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3Qtc2VhcmNoLXR5cGUtY2hhbmdlJywgdGhpcy5zZWFyY2hUeXBlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXQgdG8gZGVmYXVsdCBzZWFyY2ggbW9kZVxyXG4gICAgdGhpcy5hdk1vZGUgPSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuU0VBUkNIO1xyXG4gICAgXHJcbiAgICAvLyBUcmlnZ2VyIGEgbmV3IGV2ZW50IHRvIG5vdGlmeSBzdWJzY3JpYmVyc1xyXG4gICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1jb3VudHJ5LWxpc3QtY2hhbmdlJywgYXZhaWxhYmxlU2VhcmNoVHlwZXMsIHRoaXMuc2VhcmNoVHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlU2VhcmNoRGF0YUZvckFwaUNhbGwoKTogc3RyaW5nIHtcclxuICAgIC8vIElmIGEgZGF0YXNldCBjb2RlIGhhc24ndCBiZWVuIHNldCB5ZXQsIHRyeSBhbmQgbG9vayBpdCB1cFxyXG4gICAgaWYgKCF0aGlzLmN1cnJlbnREYXRhU2V0KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudERhdGFTZXQgPSB0aGlzLmxvb2t1cERhdGFzZXRDb2RlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRhdGEgPSB7XHJcbiAgICAgIGNvdW50cnlfaXNvOiB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZSxcclxuICAgICAgY29tcG9uZW50czogeyB1bnNwZWNpZmllZDogW3RoaXMuY3VycmVudFNlYXJjaFRlcm1dIH0sXHJcbiAgICAgIGRhdGFzZXRzOiBBcnJheS5pc0FycmF5KHRoaXMuY3VycmVudERhdGFTZXQpID8gdGhpcy5jdXJyZW50RGF0YVNldCA6IFt0aGlzLmN1cnJlbnREYXRhU2V0XSxcclxuICAgICAgbWF4X3N1Z2dlc3Rpb25zOiAodGhpcy5vcHRpb25zLm1heFN1Z2dlc3Rpb25zIHx8IHRoaXMucGlja2xpc3QubWF4U3VnZ2VzdGlvbnMpXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5TSU5HTEVMSU5FIHx8IHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlZBTElEQVRFKSB7XHJcbiAgICAgIGRhdGFbJ2F0dHJpYnV0ZXMnXSA9IHt9O1xyXG4gICAgICBkYXRhWydvcHRpb25zJ10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2ZsYXR0ZW4nLFxyXG4gICAgICAgICAgVmFsdWU6ICd0cnVlJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2ludGVuc2l0eScsXHJcbiAgICAgICAgICBWYWx1ZTogJ2Nsb3NlJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ3Byb21wdF9zZXQnLFxyXG4gICAgICAgICAgVmFsdWU6ICdkZWZhdWx0J1xyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJnYi1hZGRyZXNzXCIpXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJnYi1hZGRpdGlvbmFsLW11bHRpcGxlcmVzaWRlbmNlXCIpXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJnYi1hZGRpdGlvbmFsLW5vdHlldGJ1aWx0XCIpXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJnYi1hZGRyZXNzLWFkZHJlc3NiYXNlXCIpXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJnYi1hZGRpdGlvbmFsLWFkZHJlc3NiYXNlaXNsYW5kc1wiKVxyXG4gICAgICAgICAgICB8fCB0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiZ2ItYWRkaXRpb25hbC1idXNpbmVzc1wiKVxyXG4gICAgICAgICAgICB8fCB0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiZ2ItYWRkaXRpb25hbC1lbGVjdHJpY2l0eVwiKVxyXG4gICAgICAgICAgICB8fCB0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiZ2ItYWRkaXRpb25hbC1nYXNcIilcclxuICAgICAgICAgICAgfHwgdGhpcy5jdXJyZW50RGF0YVNldC5pbmNsdWRlcyhcImdiLWFkZHJlc3Mtc3RyZWV0bGV2ZWxcIilcclxuICAgICAgICAgICAgfHwgdGhpcy5jdXJyZW50RGF0YVNldC5pbmNsdWRlcyhcImdiLWFkZGl0aW9uYWwtYnVzaW5lc3NleHRlbmRlZFwiKVxyXG4gICAgICAgICAgICB8fCB0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiZ2ItYWRkcmVzcy13YWxlc1wiKSl7XHJcbiAgICAgICAgZGF0YVsnYXR0cmlidXRlcyddID0ge1xyXG4gICAgICAgICAgXCJ1a19sb2NhdGlvbl9lc3NlbnRpYWxcIjpbXHJcbiAgICAgICAgICAgIFwibGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgXCJsb25naXR1ZGVcIixcclxuICAgICAgICAgICAgXCJtYXRjaF9sZXZlbFwiLFxyXG4gICAgICAgICAgICBcInVwcm5cIixcclxuICAgICAgICAgICAgXCJ4X2Nvb3JkaW5hdGVcIixcclxuICAgICAgICAgICAgXCJ5X2Nvb3JkaW5hdGVcIixcclxuICAgICAgICAgICAgXCJ1ZHByblwiXHJcbiAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmKHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJ1cy1hZGRyZXNzXCIpKXtcclxuICAgICAgICBkYXRhWydhdHRyaWJ1dGVzJ10gPSB7XHJcbiAgICAgICAgICBcInVzYV9sb2NhdGlvbl9pbnNpZ2h0XCI6W1xyXG4gICAgICAgICAgICBcImRlbGl2ZXJ5X3BvaW50X2JhcmNvZGVcIixcclxuICAgICAgICAgICAgXCJkcGNcIixcclxuICAgICAgICAgICAgXCJjaGVja19kaWdpdFwiLFxyXG4gICAgICAgICAgICBcImNvbmdyZXNzaW9uYWxfZGlzdHJpY3RfY29kZVwiLFxyXG4gICAgICAgICAgICBcImNvdW50eV9jb2RlXCIsXHJcbiAgICAgICAgICAgIFwicmVjb3JkX3R5cGVcIixcclxuICAgICAgICAgICAgXCJsYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICBcImxvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICBcIm1hdGNoX2xldmVsXCIsXHJcbiAgICAgICAgICAgIFwiY2Fycmllcl9yb3V0ZVwiLFxyXG4gICAgICAgICAgICBcImNlbnN1c190cmFjdF9udW1iZXJcIlxyXG4gICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiYXUtYWRkcmVzc1wiKVxyXG4gICAgICAgICAgICB8fCB0aGlzLmN1cnJlbnREYXRhU2V0LmluY2x1ZGVzKFwiYXUtYWRkcmVzcy1nbmFmXCIpXHJcbiAgICAgICAgICAgIHx8IHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoXCJhdS1hZGRyZXNzLWRhdGFmdXNpb25cIikpe1xyXG4gICAgICAgIGRhdGFbJ2F0dHJpYnV0ZXMnXVsnQVVTX0NWX0hvdXNlaG9sZCddID0gW1xyXG4gICAgICAgICAgXCJhZGRyZXNzXCIsXHJcbiAgICAgICAgICBcImFkdWx0c19hdF9hZGRyZXNzX2NvZGVcIixcclxuICAgICAgICAgIFwiYWR1bHRzX2F0X2FkZHJlc3NfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwiYWZmbHVlbmNlX2NvZGVcIixcclxuICAgICAgICAgIFwiYWZmbHVlbmNlX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICBcImNoYW5uZWxfcHJlZmVyZW5jZVwiLFxyXG4gICAgICAgICAgXCJjaGFubmVsX3ByZWZlcmVuY2VfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwiY2hpbGRyZW5fYXRfYWRkcmVzc19jb2RlXzBfMTBfeWVhcnNcIixcclxuICAgICAgICAgIFwiY2hpbGRyZW5fYXRfYWRkcmVzc19jb2RlXzExXzE4X3llYXJzXCIsXHJcbiAgICAgICAgICBcImNoaWxkcmVuX2F0X2FkZHJlc3NfZGVzY3JpcHRpb25fMF8xMF95ZWFyc1wiLFxyXG4gICAgICAgICAgXCJjaGlsZHJlbl9hdF9hZGRyZXNzX2Rlc2NyaXB0aW9uXzExXzE4X3llYXJzXCIsXHJcbiAgICAgICAgICBcImNyZWRpdF9kZW1hbmRfY29kZVwiLFxyXG4gICAgICAgICAgXCJjcmVkaXRfZGVtYW5kX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICBcImduYWZfbGF0aXR1ZGVcIixcclxuICAgICAgICAgIFwiZ25hZl9sb25naXR1ZGVcIixcclxuICAgICAgICAgIFwiZ25hZl9waWRcIixcclxuICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfYWdlX2NvZGVcIixcclxuICAgICAgICAgIFwiaGVhZF9vZl9ob3VzZWhvbGRfYWdlX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICBcImhpblwiLFxyXG4gICAgICAgICAgXCJob3VzZWhvbGRfY29tcG9zaXRpb25fY29kZVwiLFxyXG4gICAgICAgICAgXCJob3VzZWhvbGRfY29tcG9zaXRpb25fZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwiaG91c2Vob2xkX2luY29tZV9jb2RlXCIsXHJcbiAgICAgICAgICBcImhvdXNlaG9sZF9pbmNvbWVfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwibGVuZ3RoX29mX3Jlc2lkZW5jZV9jb2RlXCIsXHJcbiAgICAgICAgICBcImxlbmd0aF9vZl9yZXNpZGVuY2VfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwibGlmZXN0YWdlX2NvZGVcIixcclxuICAgICAgICAgIFwibGlmZXN0YWdlX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICBcImxvY2FsX2dvdmVybm1lbnRfYXJlYV9jb2RlXCIsXHJcbiAgICAgICAgICBcImxvY2FsX2dvdmVybm1lbnRfYXJlYV9uYW1lXCIsXHJcbiAgICAgICAgICBcIm1lc2hibG9ja1wiLFxyXG4gICAgICAgICAgXCJtb3NhaWNfZ3JvdXBcIixcclxuICAgICAgICAgIFwibW9zYWljX3NlZ21lbnRcIixcclxuICAgICAgICAgIFwibW9zYWljX3R5cGVcIixcclxuICAgICAgICAgIFwicG9zdGNvZGVcIixcclxuICAgICAgICAgIFwicmVzaWRlbnRpYWxfZmxhZ1wiLFxyXG4gICAgICAgICAgXCJyaXNrX2luc2lnaHRfY29kZVwiLFxyXG4gICAgICAgICAgXCJyaXNrX2luc2lnaHRfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgIFwic2ExXCIsXHJcbiAgICAgICAgICBcInN0YXRlXCIsXHJcbiAgICAgICAgICBcInN1YnVyYlwiLFxyXG4gICAgICAgICAgXCJtb3NhaWNfZmFjdG9yMV9wZXJjZW50aWxlXCIsXHJcbiAgICAgICAgICBcIm1vc2FpY19mYWN0b3IxX3Njb3JlXCIsXHJcbiAgICAgICAgICBcIm1vc2FpY19mYWN0b3IyX3BlcmNlbnRpbGVcIixcclxuICAgICAgICAgIFwibW9zYWljX2ZhY3RvcjJfc2NvcmVcIixcclxuICAgICAgICAgIFwibW9zYWljX2ZhY3RvcjNfcGVyY2VudGlsZVwiLFxyXG4gICAgICAgICAgXCJtb3NhaWNfZmFjdG9yM19zY29yZVwiLFxyXG4gICAgICAgICAgXCJtb3NhaWNfZmFjdG9yNF9wZXJjZW50aWxlXCIsXHJcbiAgICAgICAgICBcIm1vc2FpY19mYWN0b3I0X3Njb3JlXCIsXHJcbiAgICAgICAgICBcIm1vc2FpY19mYWN0b3I1X3BlcmNlbnRpbGVcIixcclxuICAgICAgICAgIFwibW9zYWljX2ZhY3RvcjVfc2NvcmVcIlxyXG4gICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICBkYXRhWydhdHRyaWJ1dGVzJ11bJ2F1c19yZWdpb25hbF9nZW9jb2RlcyddID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIFwibGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWF0Y2hfbGV2ZWxcIixcclxuICAgICAgICAgICAgICAgICAgICBcInNhMVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibWVzaGJsb2NrXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJsZ2FfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibGdhX25hbWVcIixcclxuICAgICAgICAgICAgICAgICAgICBcInN0cmVldF9waWRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXR5X3BpZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZ2VvY29kZV9sZXZlbF9jb2RlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJnZW9jb2RlX2xldmVsX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJnZW9jb2RlX3R5cGVfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZ2VvY29kZV90eXBlX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJoaWdoZXN0X2xldmVsX2xvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9sYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9lbGV2YXRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcImhpZ2hlc3RfbGV2ZWxfcGxhbmltZXRyaWNfYWNjdXJhY3lcIixcclxuICAgICAgICAgICAgICAgICAgICBcImhpZ2hlc3RfbGV2ZWxfYm91bmRhcnlfZXh0ZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJoaWdoZXN0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiaGlnaGVzdF9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJjb25maWRlbmNlX2xldmVsX2NvZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImNvbmZpZGVuY2VfbGV2ZWxfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcIjIwMjFfbWVzaGJsb2NrX2lkXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIyMDIxX21lc2hibG9ja19jb2RlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIyMDIxX21lc2hibG9ja19tYXRjaF9jb2RlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIyMDIxX21lc2hibG9ja19tYXRjaF9kZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiMjAxNl9tZXNoYmxvY2tfaWRcIixcclxuICAgICAgICAgICAgICAgICAgICBcIjIwMTZfbWVzaGJsb2NrX2NvZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcIjIwMTZfbWVzaGJsb2NrX21hdGNoX2NvZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcIjIwMTZfbWVzaGJsb2NrX21hdGNoX2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJhZGRyZXNzX3R5cGVfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwicHJpbWFyeV9hZGRyZXNzX3BpZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc19qb2luX3R5cGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImNvbGxlY3Rvcl9kaXN0cmljdF9pZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiY29sbGVjdG9yX2Rpc3RyaWN0X2NvZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImNvbW1vbndlYWx0aF9lbGVjdG9yYWxfYm91bmRhcnlfaWRcIixcclxuICAgICAgICAgICAgICAgICAgICBcImNvbW1vbndlYWx0aF9lbGVjdG9yYWxfYm91bmRhcnlfbmFtZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RhdGlzdGljYWxfbG9jYWxfYXJlYV9pZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RhdGlzdGljYWxfbG9jYWxfYXJlYV9jb2RlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzdGF0aXN0aWNhbF9sb2NhbF9hcmVhX25hbWVcIixcclxuICAgICAgICAgICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9ib3VuZGFyeV9pZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX2JvdW5kYXJ5X25hbWVcIixcclxuICAgICAgICAgICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9lZmZlY3RpdmVfc3RhcnRcIixcclxuICAgICAgICAgICAgICAgICAgICBcInN0YXRlX2VsZWN0b3JhbF9lZmZlY3RpdmVfZW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfbmV3X3BpZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX25ld19uYW1lXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzdGF0ZV9lbGVjdG9yYWxfbmV3X2VmZmVjdGl2ZV9zdGFydFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RhdGVfZWxlY3RvcmFsX25ld19lZmZlY3RpdmVfZW5kXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2xvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9sYXRpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9lbGV2YXRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcImFkZHJlc3NfbGV2ZWxfcGxhbmltZXRyaWNfYWNjdXJhY3lcIixcclxuICAgICAgICAgICAgICAgICAgICBcImFkZHJlc3NfbGV2ZWxfYm91bmRhcnlfZXh0ZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJhZGRyZXNzX2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYWRkcmVzc19sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2Rlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfbG9uZ2l0dWRlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJzdHJlZXRfbGV2ZWxfbGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcInN0cmVldF9sZXZlbF9wbGFuaW1ldHJpY19hY2N1cmFjeVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2JvdW5kYXJ5X2V4dGVudFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfY29kZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwic3RyZWV0X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXR5X2xldmVsX2xvbmdpdHVkZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIFwibG9jYWxpdHlfbGV2ZWxfbGF0aXR1ZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXR5X2xldmVsX3BsYW5pbWV0cmljX2FjY3VyYWN5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJsb2NhbGl0eV9sZXZlbF9nZW9jb2RlX3JlbGlhYmlsaXR5X2NvZGVcIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXR5X2xldmVsX2dlb2NvZGVfcmVsaWFiaWxpdHlfZGVzY3JpcHRpb25cIixcclxuICAgICAgICAgICAgICAgICAgICBcImduYWZfbGVnYWxfcGFyY2VsX2lkZW50aWZpZXJcIixcclxuICAgICAgICAgICAgICAgICAgICBcImxvY2FsaXR5X2NsYXNzX2NvZGVcIlxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgICBkYXRhWydhdHRyaWJ1dGVzJ11bJ3ByZW1pdW1fbG9jYXRpb25faW5zaWdodCddID0gW1xyXG4gICAgICAgIFwiZ2VvY29kZXNcIixcclxuICAgICAgICBcImdlb2NvZGVzX2FjY2Vzc1wiLFxyXG4gICAgICAgIFwiZ2VvY29kZXNfYnVpbGRpbmdfeHlcIixcclxuICAgICAgICBcInRpbWVcIlxyXG4gICAgICBdO1xyXG5cclxuICAgICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlNJTkdMRUxJTkUpIHtcclxuICAgICAgICBkYXRhWydvcHRpb25zJ10ucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiAnc2VhcmNoX3R5cGUnLFxyXG4gICAgICAgICAgVmFsdWU6ICdzaW5nbGVsaW5lJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUpIHtcclxuICAgICAgICBkYXRhWydsYXlvdXRzJ10gPSBbJ2RlZmF1bHQnXTtcclxuICAgICAgICBkYXRhWydsYXlvdXRfZm9ybWF0J10gPSAnZGVmYXVsdCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmxvY2F0aW9uKSB7XHJcbiAgICAgIGRhdGFbJ2xvY2F0aW9uJ10gPSB0aGlzLm9wdGlvbnMubG9jYXRpb247XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcbiAgfVxyXG4gIFxyXG4gIHByaXZhdGUgZ2VuZXJhdGVMb29rdXBEYXRhRm9yQXBpQ2FsbChpbnB1dDogc3RyaW5nLCBhdk1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZSk6IHN0cmluZyB7XHJcbiAgICAvLyBJZiBhIGRhdGFzZXQgY29kZSBoYXNuJ3QgYmVlbiBzZXQgeWV0LCB0cnkgYW5kIGxvb2sgaXQgdXBcclxuICAgIGlmICghdGhpcy5jdXJyZW50RGF0YVNldCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnREYXRhU2V0ID0gdGhpcy5sb29rdXBEYXRhc2V0Q29kZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTZXQgdGhlIGRhdGFzZXQgYW5kIGxheW91dCBmb3IgdGhlIFV0aWxpdGllcyBQcm9wb3NpdGlvbi4gVGhlIGRlZmF1bHQgY291bnRyeSBkcm9wIGRvd24gY29tYmluZXMgZ2FzIGFuZCBlbGVjdHJpY2l0eS5cclxuICAgIC8vIExvb2t1cCBieSBNUEFOIG9yIE1QUk4gcmVxdWlyZXMgYSBzaW5nbGUgZGF0YXNldCB0byBiZSB0YXJnZXRlZCBpbnN0ZWFkLlxyXG4gICAgbGV0IGRhdGFzZXRzID0gW107XHJcbiAgICBsZXQgbGF5b3V0cyA9IFtdO1xyXG4gICAgc3dpdGNoIChhdk1vZGUpIHtcclxuICAgICAgY2FzZSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuTVBBTjpcclxuICAgICAgICBpZiAodGhpcy5jdXJyZW50RGF0YVNldC5pbmNsdWRlcygnZ2ItYWRkaXRpb25hbC1lbGVjdHJpY2l0eScpKSB7XHJcbiAgICAgICAgICBkYXRhc2V0cy5wdXNoKCdnYi1hZGRpdGlvbmFsLWVsZWN0cmljaXR5Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxheW91dHMucHVzaCgnRWxlY3RyaWNpdHlVdGlsaXR5TG9va3VwJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLk1QUk46XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudERhdGFTZXQuaW5jbHVkZXMoJ2diLWFkZGl0aW9uYWwtZ2FzJykpIHtcclxuICAgICAgICAgIGRhdGFzZXRzLnB1c2goJ2diLWFkZGl0aW9uYWwtZ2FzJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxheW91dHMucHVzaCgnR2FzVXRpbGl0eUxvb2t1cCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGRhdGFzZXRzID0gQXJyYXkuaXNBcnJheSh0aGlzLmN1cnJlbnREYXRhU2V0KSA/IHRoaXMuY3VycmVudERhdGFTZXQgOiBbIHRoaXMuY3VycmVudERhdGFTZXQgXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBjb3VudHJ5X2lzbzogdGhpcy5jdXJyZW50Q291bnRyeUNvZGUsXHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhc2V0cyxcclxuICAgICAgbWF4X3N1Z2dlc3Rpb25zOiAodGhpcy5vcHRpb25zLm1heFN1Z2dlc3Rpb25zRm9yTG9va3VwIHx8IHRoaXMucGlja2xpc3QubWF4U3VnZ2VzdGlvbnMpLFxyXG4gICAgICBrZXk6IHtcclxuICAgICAgICB0eXBlOiB0aGlzLmdlbmVyYXRlTG9va3VwVHlwZShhdk1vZGUpLFxyXG4gICAgICAgIHZhbHVlOiBpbnB1dCxcclxuICAgICAgfSxcclxuICAgICAgbGF5b3V0czogbGF5b3V0cyxcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXaGF0M1dvcmRzTG9va3VwVmFsdWUoaW5wdXQ6IHN0cmluZywgc2hvdWxkR2V0U3VnZ2VzdGlvbnM6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGlucHV0LnN0YXJ0c1dpdGgoJy8vLycpICYmIHNob3VsZEdldFN1Z2dlc3Rpb25zKSB7XHJcbiAgICAgIGlucHV0ID0gaW5wdXQuc2xpY2UoMyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlucHV0O1xyXG4gIH1cclxuXHJcbiAgLy8gQWxsb3cgdGhlIGtleWJvYXJkIHRvIGJlIHVzZWQgdG8gZWl0aGVyIHRyYXZlcnNlIHVwIGFuZCBkb3duIHRoZSBwaWNrbGlzdCBhbmQgc2VsZWN0IGFuIGl0ZW0sIG9yIHRyaWdnZXIgYSBuZXcgc2VhcmNoXHJcbiAgcHJpdmF0ZSBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgIC8vIEhhbmRsZSBrZXlib2FyZCBuYXZpZ2F0aW9uXHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmdldEtleShldmVudCk7XHJcblxyXG4gICAgLy8gSWYgYSBwaWNrbGlzdCBpcyBwb3B1bGF0ZWQgdGhlbiB0cmlnZ2VyIGl0cyBrZXl1cCBldmVudCB0byBzZWxlY3QgYW4gaXRlbVxyXG4gICAgaWYgKHRoaXMucGlja2xpc3Quc2l6ZSkge1xyXG4gICAgICBpZiAoa2V5ID09PSAnQXJyb3dVcCcgfHwga2V5ID09PSAnQXJyb3dEb3duJyB8fCBrZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmtleXVwKGV2ZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE90aGVyd2lzZSwgZW5hYmxlIHByZXNzaW5nICdlbnRlcicgdG8gdHJpZ2dlciBhIG5ldyBzZWFyY2hcclxuICAgICAgaWYgKGtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoKGV2ZW50KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1haW4gZnVuY3Rpb24gdG8gc2VhcmNoIGZvciBhbiBhZGRyZXNzIGZyb20gYW4gaW5wdXQgc3RyaW5nXHJcbiAgcHJpdmF0ZSBzZWFyY2goZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIHNlYXJjaCBtb2RlIHRvIGRlZmF1bHQgdmFsdWVcclxuICAgIHRoaXMuYXZNb2RlID0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSDtcclxuXHJcbiAgICAvLyBHcmFiIHRoZSBjb3VudHJ5IElTTyBjb2RlIGFuZCAoaWYgaXQgaXMgcHJlc2VudCkgdGhlIGRhdGFzZXQgbmFtZSBmcm9tIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjb3VudHJ5TGlzdCAoZm9ybWF0OiB7Y291bnRyeUlzb0NvZGV9O3tkYXRhc2V0fSlcclxuICAgIGNvbnN0IGN1cnJlbnRDb3VudHJ5SW5mbyA9IHRoaXMuY291bnRyeUNvZGVNYXBwaW5nW3RoaXMuY3VycmVudENvdW50cnlDb2RlXSB8fCB0aGlzLmN1cnJlbnRDb3VudHJ5Q29kZTtcclxuICAgIGNvbnN0IGNvdW50cnlDb2RlQW5kRGF0YXNldCA9IGN1cnJlbnRDb3VudHJ5SW5mby5zcGxpdCgnOycpO1xyXG5cclxuICAgIHRoaXMuY3VycmVudENvdW50cnlDb2RlID0gY291bnRyeUNvZGVBbmREYXRhc2V0WzBdO1xyXG4gICAgaWYgKGNvdW50cnlDb2RlQW5kRGF0YXNldFsxXSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnREYXRhU2V0ID0gY291bnRyeUNvZGVBbmREYXRhc2V0WzFdO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIChSZS0pc2V0IHRoZSBwcm9wZXJ0eSBzdGF0aW5nIHdoZXRoZXIgdGhlIHNlYXJjaCBpbnB1dCBoYXMgYmVlbiByZXNldC5cclxuICAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciBpbnN0YW5jZXMgd2hlbiB0aGUgc2VhcmNoIGlucHV0IGlzIGFsc28gYW4gYWRkcmVzc1xyXG4gICAgLy8gb3V0cHV0IGZpZWxkLiBBZnRlciBhbiBhZGRyZXNzIGhhcyBiZWVuIHJldHVybmVkLCB5b3UgZG9uJ3Qgd2FudCBhIG5ld1xyXG4gICAgLy8gc2VhcmNoIGJlaW5nIHRyaWdnZXJlZCB1bnRpbCB0aGUgZmllbGQgaGFzIGJlZW4gY2xlYXJlZC5cclxuICAgIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtID09PSAnJykge1xyXG4gICAgICB0aGlzLmhhc1NlYXJjaElucHV0QmVlblJlc2V0ID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb25jYXRlbmF0aW5nIHRoZSBpbnB1dCBjb21wb25lbnRzIGRlcGVuZGluZyBvbiBzZWFyY2ggdHlwZSBhbmQgZGF0YXNldCB0byBtYXhpbWl6ZSBtYXRjaCByZXN1bHRzXHJcbiAgICBjb25zdCBkZWxpbWl0ZXIgPSB0aGlzLmlzSW50ZXJuYXRpb25hbFZhbGlkYXRpb24oKSA/IFwifFwiOiBcIixcIjtcclxuICAgIHRoaXMuY3VycmVudFNlYXJjaFRlcm0gPSB0aGlzLmlucHV0cy5tYXAoaW5wdXQgPT4gaW5wdXQudmFsdWUpLmpvaW4oZGVsaW1pdGVyKTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiBzZWFyY2hpbmcgaXMgcGVybWl0dGVkXHJcbiAgICBpZiAodGhpcy5jYW5TZWFyY2goKSkge1xyXG4gICAgICAvLyBBYm9ydCBhbnkgb3V0c3RhbmRpbmcgcmVxdWVzdHNcclxuICAgICAgaWYgKHRoaXMucmVxdWVzdC5jdXJyZW50UmVxdWVzdCkge1xyXG4gICAgICAgIHRoaXMucmVxdWVzdC5jdXJyZW50UmVxdWVzdC5hYm9ydCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBEZXRlcm1pbmUgdGhlIHNlYXJjaCBtb2RlIGZyb20gdGhlIHN1cHBsaWVkIGlucHV0IHdoZW4gaW4gY29tYmluZWQgbW9kZS5cclxuICAgICAgaWYgKHRoaXMuc2VhcmNoVHlwZSA9PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORUQpIHtcclxuICAgICAgICBsZXQgcHJlZGVmaW5lZEZvcm1hdHMgPSB0aGlzLnJlYWRQcmVkZWZpbmVkRm9ybWF0cygpO1xyXG4gICAgICAgIHByZWRlZmluZWRGb3JtYXRzLmZpbmQocHJlZGVmaW5lZEl0ZW0gPT4ge1xyXG4gICAgICAgICAgaWYgKHByZWRlZmluZWRJdGVtLmZvcm1hdC50ZXN0KHRoaXMuY3VycmVudFNlYXJjaFRlcm0udHJpbSgpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmF2TW9kZSA9IHByZWRlZmluZWRJdGVtLm1vZGU7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNlYXJjaFRlcm0gPSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLnRyaW0oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCBiZWZvcmUgYSBzZWFyY2ggdGFrZXMgcGxhY2VcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncHJlLXNlYXJjaCcsIHRoaXMuY3VycmVudFNlYXJjaFRlcm0pO1xyXG5cclxuICAgICAgLy8gU3RvcmUgdGhlIGxhc3Qgc2VhcmNoIHRlcm1cclxuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9IHRoaXMuY3VycmVudFNlYXJjaFRlcm07XHJcblxyXG4gICAgICAvLyBIaWRlIGFuZCBzaG93IGFuIGlubGluZSBzcGlubmVyIHdoaWxzdCBzZWFyY2hpbmcuIEhpZGUgaXQgZmlyc3Qgc28gd2UgZG9uJ3Qgc2hvdyAyIHNwaW5uZXJzIGJ5IGFjY2lkZW50LlxyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuc2hvdygpO1xyXG4gICAgICBsZXQgdXJsLCBoZWFkZXJzLCBjYWxsYmFjaywgZGF0YTtcclxuXHJcbiAgICAgIC8vIERldGVybWluZSBzZWFyY2ggbW9kZSBhbmQgc2VhcmNoIHRlcm0gZm9yIGtleSBsb29rdXBzXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5MT09LVVBWMikge1xyXG4gICAgICAgIGNvbnN0IGxvb2t1cFNlYXJjaFRlcm0gPSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLnNwbGl0KCcsJyk7XHJcbiAgICAgICAgdGhpcy5hdk1vZGUgPSBBZGRyZXNzVmFsaWRhdGlvbk1vZGVbbG9va3VwU2VhcmNoVGVybVswXS50b1VwcGVyQ2FzZSgpIGFzIGtleW9mIHR5cGVvZiBBZGRyZXNzVmFsaWRhdGlvbk1vZGVdO1xyXG4gICAgICAgIHRoaXMucmV0dXJuQWRkcmVzc2VzID0gbG9va3VwU2VhcmNoVGVybVsxXSA9PT0gXCJ0cnVlXCI7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2VhcmNoVGVybSA9IGxvb2t1cFNlYXJjaFRlcm1bMl0udHJpbSgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBDb25zdHJ1Y3QgdGhlIG5ldyBTZWFyY2ggVVJMIGFuZCBkYXRhXHJcbiAgICAgIHN3aXRjaCh0aGlzLmF2TW9kZSBhcyBhbnkpIHtcclxuICAgICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5XSEFUM1dPUkRTOiB7XHJcbiAgICAgICAgICBkYXRhID0gdGhpcy5nZW5lcmF0ZUxvb2t1cERhdGFGb3JBcGlDYWxsKHRoaXMuZ2V0V2hhdDNXb3Jkc0xvb2t1cFZhbHVlKHRoaXMuY3VycmVudFNlYXJjaFRlcm0sIHRydWUpLCB0aGlzLmF2TW9kZSk7XHJcbiAgICAgICAgICB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmxvb2t1cFYyRW5kcG9pbnQ7XHJcbiAgICAgICAgICBoZWFkZXJzID0gW107XHJcbiAgICAgICAgICBjYWxsYmFjayA9IHRoaXMucGlja2xpc3Quc2hvd1doYXQzV29yZHM7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuTVBBTjpcclxuICAgICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5NUFJOOiB7XHJcbiAgICAgICAgICB0aGlzLnJldHVybkFkZHJlc3NlcyA9IHRydWU7XHJcbiAgICAgICAgICBkYXRhID0gdGhpcy5nZW5lcmF0ZUxvb2t1cERhdGFGb3JBcGlDYWxsKHRoaXMuY3VycmVudFNlYXJjaFRlcm0sIHRoaXMuYXZNb2RlKTtcclxuICAgICAgICAgIHVybCA9IHRoaXMuYmFzZVVybCArIHRoaXMubG9va3VwVjJFbmRwb2ludDtcclxuICAgICAgICAgIGhlYWRlcnMgPSBbeyBrZXk6ICdBZGQtRmluYWxBZGRyZXNzJywgdmFsdWU6IHRydWUgfV07XHJcbiAgICAgICAgICBjYWxsYmFjayA9IHRoaXMucmVzdWx0LmhhbmRsZVV0aWxpdGllc0xvb2t1cFJlc3BvbnNlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlVEUFJOOlxyXG4gICAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlBPU1RBTF9DT0RFOlxyXG4gICAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLkxPQ0FMSVRZOiB7XHJcbiAgICAgICAgICAvLyBBbHdheXMgcmV0dXJuIGFkZHJlc3NlcyBpZiB0aGUgY29tYmluZWQgc2VhcmNoIHR5cGUgaXMgc2VsZWN0ZWQuIFRoZSBmb3JtIGhhcyBubyB0b2dnbGUgdG8gdHVybiB0aGlzIG9uIG9yIG9mZi5cclxuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5DT01CSU5FRCkge1xyXG4gICAgICAgICAgICB0aGlzLnJldHVybkFkZHJlc3NlcyA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZGF0YSA9IHRoaXMuZ2VuZXJhdGVMb29rdXBEYXRhRm9yQXBpQ2FsbCh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtLCB0aGlzLmF2TW9kZSk7XHJcbiAgICAgICAgICB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmxvb2t1cFYyRW5kcG9pbnQ7XHJcbiAgICAgICAgICBoZWFkZXJzID0gW3sga2V5OiAnQWRkLUFkZHJlc3NlcycsIHZhbHVlOiB0cnVlIH1dO1xyXG4gICAgICAgICAgY2FsbGJhY2sgPSB0aGlzLnBpY2tsaXN0LnNob3dMb29rdXA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgZGVmYXVsdDogeyBcclxuICAgICAgICAgIGRhdGEgPSB0aGlzLmdlbmVyYXRlU2VhcmNoRGF0YUZvckFwaUNhbGwoKTtcclxuICAgICAgICAgIHVybCA9IHRoaXMuYmFzZVVybCArICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5WQUxJREFURSA/IHRoaXMudmFsaWRhdGVFbmRwb2ludCA6IHRoaXMuc2VhcmNoRW5kcG9pbnQpO1xyXG4gICAgICAgICAgaGVhZGVycyA9IHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlZBTElEQVRFID8gW3sga2V5OiAnQWRkLUNvbXBvbmVudHMnLCB2YWx1ZTogdHJ1ZSB9LCB7IGtleTogJ0FkZC1NZXRhZGF0YScsIHZhbHVlOiB0cnVlIH0sIHsga2V5OiAnQWRkLUVucmljaG1lbnQnLCB2YWx1ZTogdHJ1ZSB9XSA6IFtdO1xyXG4gICAgICAgICAgY2FsbGJhY2sgPSB0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5WQUxJREFURSA/IHRoaXMucmVzdWx0LmhhbmRsZVZhbGlkYXRlUmVzcG9uc2UgOiB0aGlzLnBpY2tsaXN0LnNob3c7XHJcbiAgICAgICAgICBicmVhazsgXHJcbiAgICAgICAgfSBcclxuICAgICAgfTtcclxuXHJcbiAgICAgIC8vIEluaXRpYXRlIG5ldyBTZWFyY2ggcmVxdWVzdFxyXG4gICAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdQT1NUJywgY2FsbGJhY2ssIGRhdGEsIGhlYWRlcnMpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAodGhpcy5sYXN0U2VhcmNoVGVybSAhPT0gdGhpcy5jdXJyZW50U2VhcmNoVGVybSkge1xyXG4gICAgICAvLyBDbGVhciB0aGUgcGlja2xpc3QgaWYgdGhlIHNlYXJjaCB0ZXJtIGlzIGNsZWFyZWQvZW1wdHlcclxuICAgICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBIZWxwZXIgbWV0aG9kIHRvIHJldHVybiBhIGNvbnNpc3RlbnQga2V5IG5hbWVcclxuICBwcml2YXRlIGdldEtleSh7IGtleSB9KTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoa2V5KSB7XHJcbiAgICAgIGNhc2UgJ0Rvd24nOlxyXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxyXG4gICAgICAgIHJldHVybiAnQXJyb3dEb3duJztcclxuICAgICAgY2FzZSAnVXAnOlxyXG4gICAgICBjYXNlICdBcnJvd1VwJzpcclxuICAgICAgICByZXR1cm4gJ0Fycm93VXAnO1xyXG4gICAgICBjYXNlICdTcGFjZWJhcic6XHJcbiAgICAgIGNhc2UgJyAnOlxyXG4gICAgICAgIHJldHVybiAnICc7XHJcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XHJcbiAgICAgIGNhc2UgJ0VzYyc6XHJcbiAgICAgICAgcmV0dXJuICdFc2NhcGUnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBrZXk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhblNlYXJjaCgpOiBib29sZWFuIHtcclxuICAgIC8vIElmIHNlYXJjaGluZyBvbiB0aGlzIGluc3RhbmNlIGlzIGVuYWJsZWQsIGFuZFxyXG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMuZW5hYmxlZCAmJlxyXG4gICAgICAvLyBJZiBzZWFyY2ggdGVybSBpcyBub3QgZW1wdHksIGFuZFxyXG4gICAgICB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtICE9PSAnJyAmJlxyXG4gICAgICAvLyBJZiB0aGUgc2VhcmNoIHRlcm0gaXMgYXQgbGVhc3QgNCBjaGFyYWN0ZXJzXHJcbiAgICAgIHRoaXMuY3VycmVudFNlYXJjaFRlcm0ubGVuZ3RoID4gMyAmJlxyXG4gICAgICAvLyBJZiBzZWFyY2ggdGVybSBpcyBub3QgdGhlIHNhbWUgYXMgcHJldmlvdXMgc2VhcmNoIHRlcm0sIGFuZFxyXG4gICAgICB0aGlzLmxhc3RTZWFyY2hUZXJtICE9PSB0aGlzLmN1cnJlbnRTZWFyY2hUZXJtICYmXHJcbiAgICAgIC8vIElmIHRoZSBjb3VudHJ5IGlzIG5vdCBlbXB0eSwgYW5kXHJcbiAgICAgIHRoaXMuY3VycmVudENvdW50cnlDb2RlICYmXHJcbiAgICAgIC8vIElmIHNlYXJjaCBpbnB1dCBoYXMgYmVlbiByZXNldCAoaWYgYXBwbGljYWJsZSlcclxuICAgICAgdGhpcy5oYXNTZWFyY2hJbnB1dEJlZW5SZXNldCA9PT0gdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvd2VyZWRCeUxvZ286IFBvd2VyZWRCeUxvZ28gPSB7XHJcbiAgICBlbGVtZW50OiBudWxsLFxyXG4gICAgLy8gQ3JlYXRlIGEgXCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCIgZm9vdGVyXHJcbiAgICBjcmVhdGUocGlja2xpc3QpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHtcclxuICAgICAgICB0ZXh0OiBgJHt0aGlzLnN2Z30gPGVtPlBvd2VyZWQgYnkgRXhwZXJpYW48L2VtPmAsXHJcbiAgICAgICAgZm9ybWF0OiAnJ1xyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBsaXN0SXRlbSA9IHBpY2tsaXN0LmNyZWF0ZUxpc3RJdGVtKGl0ZW0pO1xyXG4gICAgICBsaXN0SXRlbS5jbGFzc0xpc3QuYWRkKCdwb3dlcmVkLWJ5LWV4cGVyaWFuJyk7XHJcbiAgICAgIHBpY2tsaXN0Lmxpc3QucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChsaXN0SXRlbSk7XHJcbiAgICAgIHJldHVybiBsaXN0SXRlbTtcclxuICAgIH0sXHJcbiAgICAvLyBEZXN0cm95IHRoZSBcIlBvd2VyZWQgYnkgRXhwZXJpYW5cIiBmb290ZXJcclxuICAgIGRlc3Ryb3kocGlja2xpc3QpIHtcclxuICAgICAgaWYgKHRoaXMuZWxlbWVudCkge1xyXG4gICAgICAgIHBpY2tsaXN0Lmxpc3QucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHN2ZzogYDxzdmcgY2xhc3M9XCJleHBlcmlhbi1sb2dvXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgMTIwIDEyMFwiIHN0eWxlPVwiXCIgeG1sOnNwYWNlPVwicHJlc2VydmVcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIlBvd2VyZWQgYnkgRXhwZXJpYW5cIj5cclxuICAgICAgICAgICAgPHRpdGxlPkV4cGVyaWFuIGxvZ288L3RpdGxlPlxyXG4gICAgICAgICAgICA8Zz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIHN0eWxlPVwiZmlsbDogIzBFNkVCNlwiIGQ9XCJNNTYuMSwyN2gtMTNjLTMuOSwwLTctMy4xLTctN1Y3YzAtMy45LDMuMS03LDctN2gxM2MzLjksMCw3LDMuMSw3LDd2MTNDNjMuMSwyMy44LDYwLDI3LDU2LjEsMjdcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT1cImZpbGw6ICM3MjIxN0JcIiBkPVwiTTIyLjUsNTYuMUg3LjljLTQuMywwLTcuOS0zLjUtNy45LTcuOVYzMy42YzAtNC4zLDMuNS03LjksNy45LTcuOWgxNC42YzQuMywwLDcuOSwzLjUsNy45LDcuOXYxNC42QzMwLjQsNTIuNiwyNi44LDU2LjEsMjIuNSw1Ni4xXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggc3R5bGU9XCJmaWxsOiAjQjEyMzg0XCIgZD1cIk0yMS4xLDg2LjRoLTguOWMtMi43LDAtNC44LTIuMS00LjgtNC44di04LjljMC0yLjcsMi4yLTQuOCw0LjgtNC44aDguOWMyLjcsMCw0LjgsMi4yLDQuOCw0Ljh2OC45QzI1LjksODQuMywyMy43LDg2LjQsMjEuMSw4Ni40XCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggc3R5bGU9XCJmaWxsOiAjRTcyODg3XCIgZD1cIk00NS4xLDExNC43SDM0LjVjLTMuMSwwLTUuNy0yLjUtNS43LTUuN1Y5OC40YzAtMy4xLDIuNS01LjcsNS43LTUuN2gxMC42YzMuMSwwLDUuNywyLjUsNS43LDUuN1YxMDlDNTAuNywxMTIuMSw0OC4yLDExNC43LDQ1LjEsMTE0LjdcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT1cImZpbGw6ICNFNzI4ODdcIiBkPVwiTTgzLjgsMzIuM2gtNy4zYy0yLjIsMC0zLjktMS44LTMuOS0zLjl2LTcuM2MwLTIuMiwxLjgtMy45LDMuOS0zLjloNy4zYzIuMiwwLDMuOSwxLjgsMy45LDMuOXY3LjNDODcuNywzMC41LDg1LjksMzIuMyw4My44LDMyLjNcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT1cImZpbGw6ICMwMDQ2OTFcIiBkPVwiTTgxLjcsNjEuOEM4MS41LDUxLjEsNzIsNDIsNjAuNyw0MkM0OSw0MiwzOS42LDUxLjMsMzkuNiw2Mi45QzM5LjYsNzQuNiw0OSw4NCw2MC43LDg0YzUuNiwwLDEwLjgtMi4yLDE0LjYtNS45YzAuNy0wLjcsMS4yLTEuNiwxLjItMi42YzAtMS45LTEuNi0zLjUtMy41LTMuNWMtMS4xLDAtMiwwLjctMi44LDEuNGMtMi40LDIuNS01LjksMy43LTkuNSwzLjdjLTcsMC0xMi43LTQuOC0xMy45LTExLjVoMzEuNWMwLDAsMCwwLDAuMSwwaDAuMWMwLjEsMCwwLjEsMCwwLjIsMGMwLjEsMCwwLjIsMCwwLjQtMC4xQzgwLjQsNjUsODEuNyw2My42LDgxLjcsNjEuOHogTTYwLjcsNDguOWM2LjMsMCwxMS42LDQuMSwxMy40LDkuN0g0Ny4zQzQ5LjEsNTMsNTQuMyw0OC45LDYwLjcsNDguOXpcIj48L3BhdGg+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz5gXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVQaWNrbGlzdCgpIHtcclxuICAgIC8vIEluc3RhbnRpYXRlIGEgbmV3IFBpY2tsaXN0IGNsYXNzIGFuZCBzZXQgdGhlIHByb3BlcnRpZXMgYmVsb3dcclxuICAgIHRoaXMucGlja2xpc3QgPSBuZXcgUGlja2xpc3QoKTtcclxuXHJcbiAgICAvLyBTZXQgaW5pdGlhbCBtYXggc2l6ZVxyXG4gICAgdGhpcy5waWNrbGlzdC5tYXhTdWdnZXN0aW9ucyA9IDI1O1xyXG4gICAgLy8gVGFiIGNvdW50IHVzZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb25cclxuICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQgPSAtMTtcclxuICAgIC8vIFJlbmRlciBhIHBpY2tsaXN0IG9mIHNlYXJjaCByZXN1bHRzXHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5zaG93ID0gKGl0ZW1zOiBTZWFyY2hSZXNwb25zZSkgPT4ge1xyXG4gICAgICAvLyBTdG9yZSB0aGUgcGlja2xpc3QgaXRlbXNcclxuICAgICAgdGhpcy5waWNrbGlzdC5pdGVtcyA9IGl0ZW1zPy5yZXN1bHQuc3VnZ2VzdGlvbnM7XHJcblxyXG4gICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUNvbW1vblNob3dQaWNrbGlzdExvZ2ljKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5waWNrbGlzdC5pdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIElmIGEgcGlja2xpc3QgbmVlZHMgXCJyZWZpbmluZ1wiIHRoZW4gcHJlcGVuZCBhIHRleHRib3ggdG8gYWxsb3cgdGhlIHVzZXIgdG8gZW50ZXIgdGhlaXIgc2VsZWN0aW9uXHJcbiAgICAgICAgaWYgKHRoaXMucGlja2xpc3QucmVmaW5lLmlzTmVlZGVkKGl0ZW1zKSkge1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5yZWZpbmUuY3JlYXRlSW5wdXQoaXRlbXMucmVzdWx0LnN1Z2dlc3Rpb25zX3Byb21wdCwgaXRlbXMucmVzdWx0LnN1Z2dlc3Rpb25zX2tleSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEUpIHtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QuZGlzcGxheVN1Z2dlc3Rpb25zSGVhZGVyKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgYW5kIHNob3cgcmVzdWx0c1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBpdGVtL3JvdyBpbiB0aGUgcGlja2xpc3RcclxuICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5waWNrbGlzdC5jcmVhdGVMaXN0SXRlbShpdGVtKTtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QubGlzdC5hcHBlbmRDaGlsZChsaXN0SXRlbSk7XHJcblxyXG4gICAgICAgICAgLy8gTGlzdGVuIGZvciBzZWxlY3Rpb24gb24gdGhpcyBpdGVtXHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3RlbihsaXN0SXRlbSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5WQUxJREFURSkge1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5kaXNwbGF5VXNlQWRkcmVzc0VudGVyZWRGb290ZXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucGlja2xpc3Quc2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlRW1wdHlQaWNrbGlzdChpdGVtcyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEFkZCBhIFwiUG93ZXJlZCBieSBFeHBlcmlhblwiIGxvZ28gdG8gdGhlIHBpY2tsaXN0IGZvb3RlclxyXG4gICAgICB0aGlzLnBvd2VyZWRCeUxvZ28uZWxlbWVudCA9IHRoaXMucG93ZXJlZEJ5TG9nby5lbGVtZW50IHx8IHRoaXMucG93ZXJlZEJ5TG9nby5jcmVhdGUodGhpcy5waWNrbGlzdCk7XHJcblxyXG4gICAgICAvLyBGaXJlIGFuIGV2ZW50IGFmdGVyIHBpY2tsaXN0IGlzIGNyZWF0ZWRcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1waWNrbGlzdC1jcmVhdGUnLCB0aGlzLnBpY2tsaXN0Lml0ZW1zKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5zaG93V2hhdDNXb3JkcyA9IChpdGVtczogTG9va3VwVzNXUmVzcG9uc2UpID0+IHtcclxuICAgICAgLy8gU3RvcmUgdGhlIHBpY2tsaXN0IGl0ZW1zXHJcbiAgICAgIHRoaXMucGlja2xpc3Qud2hhdDN3b3Jkc0l0ZW1zID0gaXRlbXM/LnJlc3VsdC5zdWdnZXN0aW9ucztcclxuXHJcbiAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWMoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnBpY2tsaXN0LndoYXQzd29yZHNJdGVtcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBhbmQgc2hvdyByZXN1bHRzXHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC53aGF0M3dvcmRzSXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBpdGVtL3JvdyBpbiB0aGUgcGlja2xpc3RcclxuICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5waWNrbGlzdC5jcmVhdGVXaGF0M1dvcmRzTGlzdEl0ZW0oaXRlbSk7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xyXG5cclxuICAgICAgICAgIC8vIExpc3RlbiBmb3Igc2VsZWN0aW9uIG9uIHRoaXMgaXRlbVxyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0ZW4obGlzdEl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUVtcHR5UGlja2xpc3QoaXRlbXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGQgYSBcIlBvd2VyZWQgYnkgRXhwZXJpYW5cIiBsb2dvIHRvIHRoZSBwaWNrbGlzdCBmb290ZXJcclxuICAgICAgdGhpcy5wb3dlcmVkQnlMb2dvLmVsZW1lbnQgPSB0aGlzLnBvd2VyZWRCeUxvZ28uZWxlbWVudCB8fCB0aGlzLnBvd2VyZWRCeUxvZ28uY3JlYXRlKHRoaXMucGlja2xpc3QpO1xyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCBhZnRlciBwaWNrbGlzdCBpcyBjcmVhdGVkXHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcGlja2xpc3QtY3JlYXRlJywgdGhpcy5waWNrbGlzdC5pdGVtcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3Quc2hvd0xvb2t1cCA9IChpdGVtczogTG9va3VwVjJSZXNwb25zZSkgPT4ge1xyXG4gICAgICAvLyBTdG9yZSB0aGUgcGlja2xpc3QgaXRlbXNcclxuICAgICAgbGV0IHBpY2tsaXN0SXRlbSA9IHRoaXMucmV0dXJuQWRkcmVzc2VzID8gaXRlbXM/LnJlc3VsdC5hZGRyZXNzZXM6IGl0ZW1zPy5yZXN1bHQuc3VnZ2VzdGlvbnM7XHJcbiAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWMoKTtcclxuICAgICAgaWYgKHBpY2tsaXN0SXRlbT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBhbmQgc2hvdyByZXN1bHRzXHJcbiAgICAgICAgcGlja2xpc3RJdGVtLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgICAgICAvLyBDcmVhdGUgYSBuZXcgaXRlbS9yb3cgaW4gdGhlIHBpY2tsaXN0XHJcbiAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMucmV0dXJuQWRkcmVzc2VzXHJcbiAgICAgICAgICAgICAgPyB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxvb2t1cExpc3RJdGVtKGl0ZW0pOiB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxvb2t1cFN1Z2dlc3Rpb25MaXN0SXRlbShpdGVtKSA7XHJcbiAgICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QuYXBwZW5kQ2hpbGQobGlzdEl0ZW0pO1xyXG5cclxuICAgICAgICAgIC8vIExpc3RlbiBmb3Igc2VsZWN0aW9uIG9uIHRoaXMgaXRlbVxyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0ZW4obGlzdEl0ZW0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnNjcm9sbEludG9WaWV3SWZOZWVkZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUVtcHR5UGlja2xpc3QoaXRlbXMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBBZGQgYSBcIlBvd2VyZWQgYnkgRXhwZXJpYW5cIiBsb2dvIHRvIHRoZSBwaWNrbGlzdCBmb290ZXJcclxuICAgICAgdGhpcy5wb3dlcmVkQnlMb2dvLmVsZW1lbnQgPSB0aGlzLnBvd2VyZWRCeUxvZ28uZWxlbWVudCB8fCB0aGlzLnBvd2VyZWRCeUxvZ28uY3JlYXRlKHRoaXMucGlja2xpc3QpO1xyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCBhZnRlciBwaWNrbGlzdCBpcyBjcmVhdGVkXHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcGlja2xpc3QtY3JlYXRlJywgdGhpcy5waWNrbGlzdC5pdGVtcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3QuaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWMgPSAoKSA9PiB7XHJcbiAgICAgIC8vIFJlc2V0IGFueSBwcmV2aW91c2x5IHNlbGVjdGVkIGN1cnJlbnQgaXRlbVxyXG4gICAgICB0aGlzLnBpY2tsaXN0LmN1cnJlbnRJdGVtID0gbnVsbDtcclxuXHJcbiAgICAgIC8vIFVwZGF0ZSBwaWNrbGlzdCBzaXplXHJcbiAgICAgIHRoaXMucGlja2xpc3Quc2l6ZSA9IHRoaXMucGlja2xpc3QuaXRlbXM/Lmxlbmd0aDtcclxuXHJcbiAgICAgIC8vIFJlc2V0IHRoZSBwaWNrbGlzdCB0YWIgY291bnQgKHVzZWQgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24pXHJcbiAgICAgIHRoaXMucGlja2xpc3QucmVzZXRUYWJDb3VudCgpO1xyXG5cclxuICAgICAgLy8gSGlkZSB0aGUgaW5saW5lIHNlYXJjaCBzcGlubmVyXHJcbiAgICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5oaWRlKCk7XHJcblxyXG4gICAgICAvLyBHZXQvQ3JlYXRlIHBpY2tsaXN0IGNvbnRhaW5lciBlbGVtZW50XHJcbiAgICAgIHRoaXMucGlja2xpc3QubGlzdCA9IHRoaXMucGlja2xpc3QubGlzdCB8fCB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxpc3QoKTtcclxuXHJcbiAgICAgIC8vIEVuc3VyZSBwcmV2aW91cyByZXN1bHRzIGFyZSBjbGVhcmVkXHJcbiAgICAgIHRoaXMucGlja2xpc3QubGlzdC5pbm5lckhUTUwgPSAnJztcclxuICAgICAgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5kZXN0cm95KCk7XHJcblxyXG4gICAgICAvLyBGaXJlIGFuIGV2ZW50IGJlZm9yZSBwaWNrbGlzdCBpcyBjcmVhdGVkXHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3ByZS1waWNrbGlzdC1jcmVhdGUnLCB0aGlzLnBpY2tsaXN0Lml0ZW1zKTtcclxuICAgIH07XHJcblxyXG4gICAgLy8gUmVtb3ZlIHRoZSBwaWNrbGlzdFxyXG4gICAgdGhpcy5waWNrbGlzdC5oaWRlID0gKCkgPT4ge1xyXG4gICAgICAvLyBDbGVhciB0aGUgY3VycmVudCBwaWNrbGlzdCBpdGVtXHJcbiAgICAgIHRoaXMucGlja2xpc3QuY3VycmVudEl0ZW0gPSBudWxsO1xyXG4gICAgICAvLyBSZW1vdmUgdGhlIFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiIG9wdGlvbiB0b29cclxuICAgICAgdGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5kZXN0cm95KCk7XHJcbiAgICAgIC8vIFJlbW92ZSB0aGUgXCJQb3dlcmVkIGJ5IEV4cGVyaWFuXCIgbG9nb1xyXG4gICAgICB0aGlzLnBvd2VyZWRCeUxvZ28uZGVzdHJveSh0aGlzLnBpY2tsaXN0KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlucHV0cykge1xyXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgY2xhc3MgZGVub3RpbmcgYSBwaWNrbGlzdCAtIGlmIFNpbmdsZWxpbmUgbW9kZSBpcyB1c2VkLCB0aGVuIGl0IGlzIHRoZSBsYXN0IGlucHV0IGZpZWxkLCBvdGhlcndpc2UgdXNlIHRoZSBmaXJzdCBvbmVcclxuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlNJTkdMRUxJTkUgPyB0aGlzLmlucHV0cy5sZW5ndGggLSAxIDogMDtcclxuICAgICAgICB0aGlzLmlucHV0c1twb3NpdGlvbl0uY2xhc3NMaXN0LnJlbW92ZSgnc2hvd2luZy1zdWdnZXN0aW9ucycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZW1vdmUgdGhlIG1haW4gcGlja2xpc3QgY29udGFpbmVyXHJcbiAgICAgIGlmICh0aGlzLnBpY2tsaXN0Lmxpc3QpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5oYW5kbGVFbXB0eVBpY2tsaXN0ID0gKGl0ZW1zOiBTZWFyY2hSZXNwb25zZSB8IExvb2t1cFczV1Jlc3BvbnNlIHwgTG9va3VwVjJSZXNwb25zZSkgPT4ge1xyXG4gICAgICAvLyBDcmVhdGUgYSBuZXcgaXRlbS9yb3cgaW4gdGhlIHBpY2tsaXN0IHNob3dpbmcgXCJObyBtYXRjaGVzXCIgdGhhdCBhbGxvd3MgdGhlIFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiIG9wdGlvblxyXG4gICAgICAgIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZWxlbWVudCA9IHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZWxlbWVudCB8fCB0aGlzLnBpY2tsaXN0LnVzZUFkZHJlc3NFbnRlcmVkLmNyZWF0ZShpdGVtcy5yZXN1bHQ/LmNvbmZpZGVuY2UpO1xyXG5cclxuICAgICAgdGhpcy5waWNrbGlzdC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKCk7XHJcblxyXG4gICAgICAvLyBQcm92aWRlIGltcGxlbWVudGluZyBzZWFyY2ggdHlwZXMgd2l0aCBhIG1lYW5zIG9mIGludm9raW5nIGEgY3VzdG9tIGNhbGxiYWNrXHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5waWNrbGlzdC5oYW5kbGVFbXB0eVBpY2tsaXN0Q2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmhhbmRsZUVtcHR5UGlja2xpc3RDYWxsYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIFByZXBlbmQgYSB0aXRsZSBiZWZvcmUgdGhlIHN1Z2dlc3Rpb25zXHJcbiAgICB0aGlzLnBpY2tsaXN0LmRpc3BsYXlTdWdnZXN0aW9uc0hlYWRlciA9ICgpID0+IHtcclxuICAgICAgY29uc3QgdGl0bGVEaXYgPSAoPEhUTUxFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5waWNrbGlzdC1zdWdnZXN0aW9ucy1oZWFkZXInKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcbiAgICAgIHRpdGxlRGl2LmNsYXNzTGlzdC5hZGQoJ3BpY2tsaXN0LXN1Z2dlc3Rpb25zLWhlYWRlcicpO1xyXG4gICAgICB0aXRsZURpdi5pbm5lclRleHQgPSAnU3VnZ2VzdGlvbnM6JztcclxuICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRpdGxlRGl2LCB0aGlzLnBpY2tsaXN0Lmxpc3QpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBBcHBlbmQgYSBmb290ZXIgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGlja2xpc3QgcHJvdmlkaW5nIGFuIG9wdGlvbiB0byBcInVzZSBhZGRyZXNzIGVudGVyZWRcIlxyXG4gICAgdGhpcy5waWNrbGlzdC5kaXNwbGF5VXNlQWRkcmVzc0VudGVyZWRGb290ZXIgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lckRpdiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5waWNrbGlzdC11c2UtZW50ZXJlZC1jb250YWluZXInKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgY29udGFpbmVyRGl2LmNsYXNzTGlzdC5hZGQoJ3BpY2tsaXN0LXVzZS1lbnRlcmVkLWNvbnRhaW5lcicpO1xyXG4gICAgICB0aGlzLnBpY2tsaXN0Lmxpc3QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY29udGFpbmVyRGl2LCB0aGlzLnBpY2tsaXN0Lmxpc3QubmV4dEVsZW1lbnRTaWJsaW5nKTtcclxuXHJcbiAgICAgIGNvbnN0IHRpdGxlRGl2ID0gKDxIVE1MRWxlbWVudD5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGlja2xpc3QtdXNlLWVudGVyZWQtaGVhZGVyJykgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xyXG4gICAgICB0aXRsZURpdi5jbGFzc0xpc3QuYWRkKCdwaWNrbGlzdC11c2UtZW50ZXJlZC1oZWFkZXInKTtcclxuICAgICAgdGl0bGVEaXYuaW5uZXJUZXh0ID0gJ09yIHVzZSBhZGRyZXNzIGVudGVyZWQ6JztcclxuICAgICAgY29udGFpbmVyRGl2LmFwcGVuZENoaWxkKHRpdGxlRGl2KTtcclxuXHJcbiAgICAgIGNvbnN0IGl0ZW1EaXYgPSAoPEhUTUxFbGVtZW50PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5waWNrbGlzdC11c2UtZW50ZXJlZC1vcHRpb24nKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XHJcbiAgICAgIGl0ZW1EaXYuY2xhc3NMaXN0LmFkZCgncGlja2xpc3QtdXNlLWVudGVyZWQtb3B0aW9uJyk7XHJcbiAgICAgIGl0ZW1EaXYuaW5uZXJUZXh0ID0gdGhpcy5jdXJyZW50U2VhcmNoVGVybS5yZXBsYWNlKC8sKy9nLCAnLCAnKTtcclxuICAgICAgaXRlbURpdi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuY2xpY2spO1xyXG4gICAgICBjb250YWluZXJEaXYuYXBwZW5kQ2hpbGQoaXRlbURpdik7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIElmIHRoZSBwaWNrbGlzdCBjb250YWluZXIgaXMgb3V0IG9mIGJvdW5kcyB0byB0aGUgdG9wIG9yIGJvdHRvbSwgdGhlbiBzY3JvbGwgaXQgaW50byB2aWV3XHJcbiAgICB0aGlzLnBpY2tsaXN0LnNjcm9sbEludG9WaWV3SWZOZWVkZWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IG91dE9mQm91bmRzVG9wID0gdGhpcy5waWNrbGlzdC5jb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wIDwgMDtcclxuICAgICAgY29uc3Qgb3V0T2ZCb3VuZHNCb3R0b20gPSB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20gPiB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblxyXG4gICAgICBpZiAob3V0T2ZCb3VuZHNUb3AgfHwgb3V0T2ZCb3VuZHNCb3R0b20pIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LmNvbnRhaW5lci5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQgPSB7XHJcbiAgICAgIGVsZW1lbnQ6IG51bGwsXHJcbiAgICAgIC8vIENyZWF0ZSBhIFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiIG9wdGlvblxyXG4gICAgICBjcmVhdGU6IChjb25maWRlbmNlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBpdGVtID0ge1xyXG4gICAgICAgICAgdGV4dDogYCR7Y29uZmlkZW5jZX0gJHt0aGlzLm9wdGlvbnMudXNlQWRkcmVzc0VudGVyZWRUZXh0fWBcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5waWNrbGlzdC5jcmVhdGVMaXN0SXRlbShpdGVtKTtcclxuICAgICAgICBsaXN0SXRlbS5jbGFzc0xpc3QuYWRkKCd1c2UtYWRkcmVzcy1lbnRlcmVkJyk7XHJcbiAgICAgICAgbGlzdEl0ZW0uc2V0QXR0cmlidXRlKCd0aXRsZScsICdFbnRlciBhZGRyZXNzIG1hbnVhbGx5Jyk7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0ID0gdGhpcy5waWNrbGlzdC5saXN0IHx8IHRoaXMucGlja2xpc3QuY3JlYXRlTGlzdCgpO1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QubGlzdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShsaXN0SXRlbSwgdGhpcy5waWNrbGlzdC5jb250YWluZXIuZmlyc3RDaGlsZCk7XHJcbiAgICAgICAgbGlzdEl0ZW0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBpY2tsaXN0LnVzZUFkZHJlc3NFbnRlcmVkLmNsaWNrKTtcclxuICAgICAgICByZXR1cm4gbGlzdEl0ZW07XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIERlc3Ryb3kgdGhlIFwidXNlIGFkZHJlc3MgZW50ZXJlZFwiIG9wdGlvblxyXG4gICAgICBkZXN0cm95OiAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5waWNrbGlzdC51c2VBZGRyZXNzRW50ZXJlZC5lbGVtZW50KTtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3QudXNlQWRkcmVzc0VudGVyZWQuZWxlbWVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIFVzZSB0aGUgYWRkcmVzcyBlbnRlcmVkIGFzIHRoZSBGb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgICBjbGljazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGlucHV0RGF0YSA9IHtcclxuICAgICAgICAgIHJlc3VsdDoge1xyXG4gICAgICAgICAgICBjb25maWRlbmNlOiAnTm8gbWF0Y2hlcycsXHJcbiAgICAgICAgICAgIGFkZHJlc3M6IHtcclxuICAgICAgICAgICAgICBhZGRyZXNzX2xpbmVfMTogJycsXHJcbiAgICAgICAgICAgICAgYWRkcmVzc19saW5lXzI6ICcnLFxyXG4gICAgICAgICAgICAgIGFkZHJlc3NfbGluZV8zOiAnJyxcclxuICAgICAgICAgICAgICBsb2NhbGl0eTogJycsXHJcbiAgICAgICAgICAgICAgcmVnaW9uOiAnJyxcclxuICAgICAgICAgICAgICBwb3N0YWxfY29kZTogJycsXHJcbiAgICAgICAgICAgICAgY291bnRyeTogJydcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTZWFyY2hUZXJtKSB7XHJcbiAgICAgICAgICAvLyBUcnkgYW5kIHNwbGl0IGludG8gbGluZXMgYnkgdXNpbmcgY29tbWEgZGVsaW1pdGVyXHJcbiAgICAgICAgICBjb25zdCBsaW5lcyA9IHRoaXMuY3VycmVudFNlYXJjaFRlcm0uc3BsaXQoJywnKTtcclxuICAgICAgICAgIGlmIChsaW5lc1swXSkge1xyXG4gICAgICAgICAgICBpbnB1dERhdGEucmVzdWx0LmFkZHJlc3MuYWRkcmVzc19saW5lXzEgPSBsaW5lc1swXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChsaW5lc1sxXSkge1xyXG4gICAgICAgICAgICBpbnB1dERhdGEucmVzdWx0LmFkZHJlc3MuYWRkcmVzc19saW5lXzIgPSBsaW5lc1sxXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChsaW5lc1syXSkge1xyXG4gICAgICAgICAgICBpbnB1dERhdGEucmVzdWx0LmFkZHJlc3MuYWRkcmVzc19saW5lXzMgPSBsaW5lc1syXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGZvciAobGV0IGkgPSAzOyBpIDwgbGluZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaW5wdXREYXRhLnJlc3VsdC5hZGRyZXNzLmFkZHJlc3NfbGluZV8zICs9IGxpbmVzW2ldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuc2hvdyhpbnB1dERhdGEpO1xyXG4gICAgICAgIHRoaXMucmVzdWx0LnVwZGF0ZUhlYWRpbmcodGhpcy5vcHRpb25zLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIubWFudWFsSGVhZGluZ1RleHQpO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyBDcmVhdGUgYW5kIHJldHVybiBhbiBhZGRyZXNzIGxpbmUgb2JqZWN0IHdpdGggdGhlIGtleSBhcyB0aGUgbGFiZWxcclxuICAgICAgZm9ybWF0TWFudWFsQWRkcmVzc0xpbmU6IGZ1bmN0aW9uIChsaW5lcywgaSkge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IGRlZmF1bHRzLmFkZHJlc3NMaW5lTGFiZWxzW2ldO1xyXG4gICAgICAgIGNvbnN0IGxpbmVPYmplY3QgPSB7fTtcclxuICAgICAgICBsaW5lT2JqZWN0W2tleV0gPSBsaW5lc1tpXSB8fCAnJztcclxuICAgICAgICByZXR1cm4gbGluZU9iamVjdDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIHBpY2tsaXN0IGxpc3QgKGFuZCBjb250YWluZXIpIGFuZCBpbmplY3QgYWZ0ZXIgdGhlIGlucHV0XHJcbiAgICB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxpc3QgPSAoKSA9PiB7XHJcbiAgICAgIC8vIElmIFNpbmdsZWxpbmUgbW9kZSBpcyB1c2VkLCB0aGVuIGFwcGVuZCB0aGUgcGlja2xpc3QgYWZ0ZXIgdGhlIGxhc3QgaW5wdXQgZmllbGQsIG90aGVyd2lzZSB1c2UgdGhlIGZpcnN0IG9uZVxyXG4gICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuc2VhcmNoVHlwZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLlNJTkdMRUxJTkVcclxuICAgICAgfHwgdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuTE9PS1VQVjIgPyB0aGlzLmlucHV0cy5sZW5ndGggLSAxIDogMDtcclxuXHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnYWRkcmVzcy1waWNrbGlzdC1jb250YWluZXInKTtcclxuICAgICAgdGhpcy5waWNrbGlzdC5jb250YWluZXIgPSBjb250YWluZXI7XHJcblxyXG4gICAgICAvLyBJbnNlcnQgdGhlIHBpY2tsaXN0IGNvbnRhaW5lciBhZnRlciB0aGUgaW5wdXRcclxuICAgICAgdGhpcy5pbnB1dHNbcG9zaXRpb25dLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMucGlja2xpc3QuY29udGFpbmVyLCB0aGlzLmlucHV0c1twb3NpdGlvbl0ubmV4dEVsZW1lbnRTaWJsaW5nKTtcclxuXHJcbiAgICAgIGNvbnN0IGxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgbGlzdC5jbGFzc0xpc3QuYWRkKCdhZGRyZXNzLXBpY2tsaXN0Jyk7XHJcbiAgICAgIC8vIEFwcGVuZCB0aGUgcGlja2xpc3QgdG8gdGhlIGlubmVyIHdyYXBwZXJcclxuICAgICAgdGhpcy5waWNrbGlzdC5jb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdCk7XHJcblxyXG4gICAgICAvLyBBZGQgYSBjbGFzcyB0byB0aGUgaW5wdXQgdG8gZGVub3RlIHRoYXQgYSBwaWNrbGlzdCB3aXRoIHN1Z2dlc3Rpb25zIGlzIGJlaW5nIHNob3duXHJcbiAgICAgIHRoaXMuaW5wdXRzW3Bvc2l0aW9uXS5jbGFzc0xpc3QuYWRkKCdzaG93aW5nLXN1Z2dlc3Rpb25zJyk7XHJcblxyXG4gICAgICBsaXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLnBpY2tsaXN0LmNoZWNrRW50ZXIpO1xyXG4gICAgICByZXR1cm4gbGlzdDtcclxuICAgIH07XHJcblxyXG4gICAgLy8gQ3JlYXRlIGEgbmV3IHBpY2tsaXN0IGl0ZW0vcm93XHJcbiAgICB0aGlzLnBpY2tsaXN0LmNyZWF0ZUxpc3RJdGVtID0gKGl0ZW06IFBpY2tsaXN0SXRlbSkgPT4ge1xyXG4gICAgICBjb25zdCByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgcm93LmlubmVySFRNTCA9IHRoaXMucGlja2xpc3QuYWRkTWF0Y2hpbmdFbXBoYXNpcyhpdGVtKTtcclxuXHJcbiAgICAgIC8vIFN0b3JlIHRoZSBGb3JtYXQgVVJMIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVzZSB0aGUgZ2xvYmFsX2FkZHJlc3Nfa2V5IGFzIGEgXCJyZWZpbmVtZW50XCIgcHJvcGVydHlcclxuICAgICAgaWYgKGl0ZW0uZm9ybWF0KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgnZm9ybWF0JywgaXRlbS5mb3JtYXQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uZ2xvYmFsX2FkZHJlc3Nfa2V5KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgncmVmaW5lJywgaXRlbS5nbG9iYWxfYWRkcmVzc19rZXkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByb3c7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSBhIG5ldyBwaWNrbGlzdCBpdGVtL3JvdyBmb3Igd2hhdDN3b3Jkc1xyXG4gICAgdGhpcy5waWNrbGlzdC5jcmVhdGVXaGF0M1dvcmRzTGlzdEl0ZW0gPSAoaXRlbTogV2hhdDNXb3Jkc1BpY2tMaXN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBjb25zdCBuYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgICByb3cuY2xhc3NOYW1lID0gJ3doYXQzd29yZHMnO1xyXG4gICAgICBuYW1lLmNsYXNzTmFtZSA9ICd3aGF0M3dvcmRzLW5hbWUnO1xyXG4gICAgICBkZXNjcmlwdGlvbi5jbGFzc05hbWUgPSAnd2hhdDN3b3Jkcy1kZXNjcmlwdGlvbic7XHJcblxyXG4gICAgICBuYW1lLmlubmVySFRNTCA9ICcvLy8nICsgaXRlbS53aGF0M3dvcmRzLm5hbWU7XHJcbiAgICAgIGRlc2NyaXB0aW9uLmlubmVySFRNTCA9IGl0ZW0ud2hhdDN3b3Jkcy5kZXNjcmlwdGlvbjtcclxuXHJcbiAgICAgIHJvdy5hcHBlbmRDaGlsZChuYW1lKTtcclxuICAgICAgcm93LmFwcGVuZENoaWxkKGRlc2NyaXB0aW9uKTtcclxuXHJcbiAgICAgIHJldHVybiByb3c7XHJcbiAgICB9O1xyXG5cclxuXHJcbiAgICAvLyBDcmVhdGUgYSBuZXcgcGlja2xpc3QgaXRlbS9yb3cgZm9yIGxvb2t1cCBpdGVtc1xyXG4gICAgdGhpcy5waWNrbGlzdC5jcmVhdGVMb29rdXBMaXN0SXRlbSA9IChpdGVtOiBMb29rdXBBZGRyZXNzKSA9PiB7XHJcbiAgICAgIGNvbnN0IHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICBcclxuICAgICAgcm93LmlubmVySFRNTCA9IHRoaXMucGlja2xpc3QuYWRkTWF0Y2hpbmdFbXBoYXNpcyhpdGVtKTtcclxuXHJcbiAgICAgIC8vIFN0b3JlIHRoZSBGb3JtYXQgVVJMIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVzZSB0aGUgZ2xvYmFsX2FkZHJlc3Nfa2V5IGFzIGEgXCJyZWZpbmVtZW50XCIgcHJvcGVydHlcclxuICAgICAgaWYgKGl0ZW0uZm9ybWF0KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgnZm9ybWF0JywgaXRlbS5mb3JtYXQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0uZ2xvYmFsX2FkZHJlc3Nfa2V5KSB7XHJcbiAgICAgICAgcm93LnNldEF0dHJpYnV0ZSgncmVmaW5lJywgaXRlbS5nbG9iYWxfYWRkcmVzc19rZXkpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiByb3c7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGlja2xpc3QuY3JlYXRlTG9va3VwU3VnZ2VzdGlvbkxpc3RJdGVtID0gKGl0ZW06IExvb2t1cFN1Z2dlc3Rpb24pID0+IHtcclxuICAgICAgY29uc3Qgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcblxyXG4gICAgICBjb25zdCBsb2NhbGl0eSA9IGl0ZW0ubG9jYWxpdHk7XHJcbiAgICAgIGNvbnN0IHBvc3RhbENvZGUgPSBpdGVtLnBvc3RhbF9jb2RlO1xyXG4gICAgICBjb25zdCB0b3duTmFtZSA9IGxvY2FsaXR5LnRvd24gPyBsb2NhbGl0eS50b3duLm5hbWUgOiBcIlwiO1xyXG4gICAgICBjb25zdCByZWdpb25OYW1lID0gbG9jYWxpdHkucmVnaW9uLm5hbWUgPz8gbG9jYWxpdHkucmVnaW9uLmNvZGU7XHJcbiAgICAgIGNvbnN0IHBvc3RhbENvZGVOYW1lID0gcG9zdGFsQ29kZS5mdWxsX25hbWUgPz8gcG9zdGFsQ29kZS5wcmltYXJ5O1xyXG4gICAgICByb3cuaW5uZXJIVE1MID0gdG93bk5hbWUgKyBcIiBcIiArIHJlZ2lvbk5hbWUgKyBcIiBcIiArIHBvc3RhbENvZGVOYW1lO1xyXG5cclxuICAgICAgcm93LnNldEF0dHJpYnV0ZSgncmVnaW9uX25hbWUnLCByZWdpb25OYW1lKTtcclxuICAgICAgcm93LnNldEF0dHJpYnV0ZSgndG93bl9uYW1lJywgbG9jYWxpdHkudG93biA/IGxvY2FsaXR5LnRvd24ubmFtZSA6IFwiXCIpO1xyXG4gICAgICByb3cuc2V0QXR0cmlidXRlKCdwb3N0YWxfY29kZV9uYW1lJywgcG9zdGFsQ29kZU5hbWUpO1xyXG4gICAgICByb3cuc2V0QXR0cmlidXRlKCdjb3VudHJ5JywgdGhpcy5jdXJyZW50Q291bnRyeUNvZGUpO1xyXG4gICAgICByb3cuc2V0QXR0cmlidXRlKCdwb3N0YWxfY29kZV9rZXknLCBpdGVtLnBvc3RhbF9jb2RlX2tleSk7XHJcbiAgICAgIHJvdy5zZXRBdHRyaWJ1dGUoJ2xvY2FsaXR5X2tleScsIGl0ZW0ubG9jYWxpdHlfa2V5KTtcclxuICAgICAgcmV0dXJuIHJvdztcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5waWNrbGlzdC5yZWZpbmUgPSB7XHJcbiAgICAgIGVsZW1lbnQ6IG51bGwsXHJcbiAgICAgIC8vIFJldHVybnMgd2hldGhlciB0aGUgcGlja2xpc3QgbmVlZHMgcmVmaW5pbmcuIFRoaXMgaGFwcGVucyBhZnRlciBhbiBpdGVtIGhhcyBiZWVuIFwic3RlcHBlZCBpbnRvXCIgYnV0IGhhcyBhbiB1bnJlc29sdmFibGUgcmFuZ2UuXHJcbiAgICAgIC8vIFRoZSB1c2VyIGlzIHByb21wdGVkIHRvIGVudGVyIHRoZWlyIHNlbGVjdGlvbiAoZS5nLiBidWlsZGluZyBudW1iZXIpLlxyXG4gICAgICBpc05lZWRlZDogKHJlc3BvbnNlOiBTZWFyY2hSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaFR5cGUgIT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEVcclxuICAgICAgICAgICAgJiYgdGhpcy5zZWFyY2hUeXBlICE9PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuQ09NQklORURcclxuICAgICAgICAgICAgJiYgKHJlc3BvbnNlLnJlc3VsdC5jb25maWRlbmNlID09PSBBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlLlBSRU1JU0VTX1BBUlRJQUxcclxuICAgICAgICAgICAgICAgIHx8IHJlc3BvbnNlLnJlc3VsdC5jb25maWRlbmNlID09PSBBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlLlNUUkVFVF9QQVJUSUFMXHJcbiAgICAgICAgICAgICAgICB8fCByZXNwb25zZS5yZXN1bHQuY29uZmlkZW5jZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZS5NVUxUSVBMRV9NQVRDSEVTKTtcclxuICAgICAgfSxcclxuICAgICAgY3JlYXRlSW5wdXQ6IChwcm9tcHQ6IHN0cmluZywga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCByb3cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGlja2xpc3QtcmVmaW5lbWVudC1ib3gnKSB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICByb3cuY2xhc3NMaXN0LmFkZCgncGlja2xpc3QtcmVmaW5lbWVudC1ib3gnKTtcclxuXHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSAoPEhUTUxJbnB1dEVsZW1lbnQ+ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBpY2tsaXN0LXJlZmluZW1lbnQtYm94IGlucHV0JykgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKSk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQnKTtcclxuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3BsYWNlaG9sZGVyJywgcHJvbXB0KTtcclxuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2tleScsIGtleSk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEUsICduZXctcGFzc3dvcmQnKTtcclxuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoQWRkcmVzc1ZhbGlkYXRpb25TZWFyY2hUeXBlLkNPTUJJTkVELCAnbmV3LXBhc3N3b3JkJyk7XHJcbiAgICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMucGlja2xpc3QucmVmaW5lLmVudGVyLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QucmVmaW5lLmVsZW1lbnQgPSBpbnB1dDtcclxuXHJcbiAgICAgICAgY29uc3QgYnV0dG9uID0gKDxIVE1MQnV0dG9uRWxlbWVudD5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucGlja2xpc3QtcmVmaW5lbWVudC1ib3ggYnV0dG9uJykgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykpO1xyXG4gICAgICAgIGJ1dHRvbi5pbm5lclRleHQgPSAnUmVmaW5lJztcclxuICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnBpY2tsaXN0LnJlZmluZS5lbnRlcik7XHJcblxyXG4gICAgICAgIHJvdy5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgcm93LmFwcGVuZENoaWxkKGJ1dHRvbik7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHJvdywgdGhpcy5waWNrbGlzdC5saXN0KTtcclxuXHJcbiAgICAgICAgaW5wdXQuZm9jdXMoKTtcclxuICAgICAgfSxcclxuICAgICAgZW50ZXI6IChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAvLyBBbGxvdyBhIG5ldyByZWZpbmVtZW50IGVudHJ5IGlmIHRoZSBlbnRlciBrZXkgd2FzIHVzZWQgaW5zaWRlIHRoZSB0ZXh0Ym94IG9yIHRoZSBidXR0b24gd2FzIGNsaWNrZWRcclxuICAgICAgICBpZiAoKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCAmJiBldmVudC5rZXkgPT09ICdFbnRlcicpIHx8IGV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICAgICAgICAvLyBJZiBhIHBpY2tsaXN0IGl0ZW0gaXMgY3VycmVudGx5IHNlbGVjdGVkLCB0aGVuIHBvdGVudGlhbGx5IHVzZSB0aGlzIGluc3RlYWQgb2Ygd2hhdCdzIGluIHRoZSBpbnB1dCBmaWVsZFxyXG4gICAgICAgICAgaWYgKHRoaXMucGlja2xpc3QuY3VycmVudEl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5waWNrbGlzdC5jaGVja0VudGVyKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgICAgLy8gVGFrZSB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgZmllbGQgYW5kIHVzZSB0aGlzIHRvIGZ1cnRoZXIgcmVmaW5lIHRoZSBhZGRyZXNzXHJcbiAgICAgICAgICBpZiAodGhpcy5waWNrbGlzdC5yZWZpbmUuZWxlbWVudC52YWx1ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5zdHJpbmdpZnkoeyByZWZpbmVtZW50OiB0aGlzLnBpY2tsaXN0LnJlZmluZS5lbGVtZW50LnZhbHVlIH0pO1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSB0aGlzLnBpY2tsaXN0LnJlZmluZS5lbGVtZW50LmdldEF0dHJpYnV0ZSgna2V5Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWVzdC5zZW5kKGAke3RoaXMuYmFzZVVybH0ke3RoaXMucmVmaW5lRW5kcG9pbnR9LyR7a2V5fWAsICdQT1NUJywgdGhpcy5yZXN1bHQuaGFuZGxlVmFsaWRhdGVSZXNwb25zZSwgZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBpY2tsaXN0LnNpemUgJiYgZXZlbnQgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50ICYmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2ZW50LmtleSA9PT0gJ0VudGVyJykpIHtcclxuICAgICAgICAgIHRoaXMucGlja2xpc3Qua2V5dXAoZXZlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBpY2tsaXN0LnJlc2V0VGFiQ291bnQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQgPSAtMTtcclxuICAgIH07XHJcblxyXG4gICAgLy8gS2V5Ym9hcmQgbmF2aWdhdGlvblxyXG4gICAgdGhpcy5waWNrbGlzdC5rZXl1cCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMucGlja2xpc3QubGlzdCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5waWNrbGlzdC5jaGVja0VudGVyKGV2ZW50KTtcclxuXHJcbiAgICAgIC8vIEdldCBhIGxpc3Qgb2YgYWxsIHRoZSBhZGRyZXNzZXMgaW4gdGhlIHBpY2tsaXN0XHJcbiAgICAgIGNvbnN0IGFkZHJlc3NlcyA9IHRoaXMucGlja2xpc3QubGlzdC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYnKTtcclxuICAgICAgbGV0IGZpcnN0QWRkcmVzcztcclxuICAgICAgbGV0IGxhc3RBZGRyZXNzO1xyXG5cclxuICAgICAgLy8gSWYgdGhlIHBpY2tsaXN0IGlzIGVtcHR5LCBqdXN0IHJldHVyblxyXG4gICAgICBpZiAoYWRkcmVzc2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gU2V0IHRoZSB0YWJDb3VudCBiYXNlZCBvbiBwcmV2aW91cyBhbmQgZGlyZWN0aW9uXHJcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QudGFiQ291bnQtLTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC50YWJDb3VudCsrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTZXQgdG9wIGFuZCBib3R0b20gcG9zaXRpb25zIGFuZCBlbmFibGUgd3JhcC1hcm91bmRcclxuICAgICAgaWYgKHRoaXMucGlja2xpc3QudGFiQ291bnQgPCAwKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC50YWJDb3VudCA9IGFkZHJlc3Nlcy5sZW5ndGggLSAxO1xyXG4gICAgICAgIGxhc3RBZGRyZXNzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5waWNrbGlzdC50YWJDb3VudCA+IGFkZHJlc3Nlcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC50YWJDb3VudCA9IDA7XHJcbiAgICAgICAgZmlyc3RBZGRyZXNzID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gSGlnaGxpZ2h0IHRoZSBzZWxlY3RlZCBhZGRyZXNzXHJcbiAgICAgIGNvbnN0IGN1cnJlbnRseUhpZ2hsaWdodGVkID0gYWRkcmVzc2VzW3RoaXMucGlja2xpc3QudGFiQ291bnRdO1xyXG4gICAgICAvLyBSZW1vdmUgYW55IHByZXZpb3VzbHkgaGlnaGxpZ2h0ZWQgb25lc1xyXG4gICAgICBjb25zdCBwcmV2aW91c2x5SGlnaGxpZ2h0ZWQgPSB0aGlzLnBpY2tsaXN0Lmxpc3QucXVlcnlTZWxlY3RvcignLnNlbGVjdGVkJyk7XHJcbiAgICAgIGlmIChwcmV2aW91c2x5SGlnaGxpZ2h0ZWQpIHtcclxuICAgICAgICBwcmV2aW91c2x5SGlnaGxpZ2h0ZWQuY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKTtcclxuICAgICAgfVxyXG4gICAgICBjdXJyZW50bHlIaWdobGlnaHRlZC5jbGFzc0xpc3QuYWRkKCdzZWxlY3RlZCcpO1xyXG4gICAgICAvLyBTZXQgdGhlIGN1cnJlbnRJdGVtIG9uIHRoZSBwaWNrbGlzdCB0byB0aGUgY3VycmVudGx5IGhpZ2hsaWdodGVkIGFkZHJlc3NcclxuICAgICAgdGhpcy5waWNrbGlzdC5jdXJyZW50SXRlbSA9IGN1cnJlbnRseUhpZ2hsaWdodGVkO1xyXG5cclxuICAgICAgLy8gU2Nyb2xsIGFkZHJlc3MgaW50byB2aWV3LCBpZiByZXF1aXJlZFxyXG4gICAgICBjb25zdCBhZGRyZXNzTGlzdENvb3JkcyA9IHtcclxuICAgICAgICB0b3A6IHRoaXMucGlja2xpc3QubGlzdC5vZmZzZXRUb3AsXHJcbiAgICAgICAgYm90dG9tOiB0aGlzLnBpY2tsaXN0Lmxpc3Qub2Zmc2V0VG9wICsgdGhpcy5waWNrbGlzdC5saXN0Lm9mZnNldEhlaWdodCxcclxuICAgICAgICBzY3JvbGxUb3A6IHRoaXMucGlja2xpc3QubGlzdC5zY3JvbGxUb3AsXHJcbiAgICAgICAgc2VsZWN0ZWRUb3A6IGN1cnJlbnRseUhpZ2hsaWdodGVkLm9mZnNldFRvcCxcclxuICAgICAgICBzZWxlY3RlZEJvdHRvbTogY3VycmVudGx5SGlnaGxpZ2h0ZWQub2Zmc2V0VG9wICsgY3VycmVudGx5SGlnaGxpZ2h0ZWQub2Zmc2V0SGVpZ2h0LFxyXG4gICAgICAgIHNjcm9sbEFtb3VudDogY3VycmVudGx5SGlnaGxpZ2h0ZWQub2Zmc2V0SGVpZ2h0XHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChmaXJzdEFkZHJlc3MpIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3Quc2Nyb2xsVG9wID0gMDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChsYXN0QWRkcmVzcykge1xyXG4gICAgICAgIHRoaXMucGlja2xpc3QubGlzdC5zY3JvbGxUb3AgPSA5OTk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYWRkcmVzc0xpc3RDb29yZHMuc2VsZWN0ZWRCb3R0b20gKyBhZGRyZXNzTGlzdENvb3Jkcy5zY3JvbGxBbW91bnQgPiBhZGRyZXNzTGlzdENvb3Jkcy5ib3R0b20pIHtcclxuICAgICAgICB0aGlzLnBpY2tsaXN0Lmxpc3Quc2Nyb2xsVG9wID0gYWRkcmVzc0xpc3RDb29yZHMuc2Nyb2xsVG9wICsgYWRkcmVzc0xpc3RDb29yZHMuc2Nyb2xsQW1vdW50O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGFkZHJlc3NMaXN0Q29vcmRzLnNlbGVjdGVkVG9wIC0gYWRkcmVzc0xpc3RDb29yZHMuc2Nyb2xsQW1vdW50IC0gYWRkcmVzc0xpc3RDb29yZHMudG9wIDwgYWRkcmVzc0xpc3RDb29yZHMuc2Nyb2xsVG9wKSB7XHJcbiAgICAgICAgdGhpcy5waWNrbGlzdC5saXN0LnNjcm9sbFRvcCA9IGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbFRvcCAtIGFkZHJlc3NMaXN0Q29vcmRzLnNjcm9sbEFtb3VudDtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBBZGQgZW1waGFzaXMgdG8gdGhlIHBpY2tsaXN0IGl0ZW1zIGhpZ2hsaWdodGluZyB0aGUgbWF0Y2hcclxuICAgIHRoaXMucGlja2xpc3QuYWRkTWF0Y2hpbmdFbXBoYXNpcyA9IGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgIGNvbnN0IGhpZ2hsaWdodHMgPSBpdGVtLm1hdGNoZWQgfHwgW107XHJcbiAgICAgIGxldCBsYWJlbCA9IGl0ZW0udGV4dDtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoaWdobGlnaHRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSAnPGI+JyArIGxhYmVsLnN1YnN0cmluZyhoaWdobGlnaHRzW2ldWzBdLCBoaWdobGlnaHRzW2ldWzFdKSArICc8L2I+JztcclxuICAgICAgICBsYWJlbCA9IGxhYmVsLnN1YnN0cmluZygwLCBoaWdobGlnaHRzW2ldWzBdKSArIHJlcGxhY2VtZW50ICsgbGFiZWwuc3Vic3RyaW5nKGhpZ2hsaWdodHNbaV1bMV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbGFiZWw7XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIExpc3RlbiB0byBhIHBpY2tsaXN0IHNlbGVjdGlvblxyXG4gICAgdGhpcy5waWNrbGlzdC5saXN0ZW4gPSAocm93KSA9PiB7XHJcbiAgICAgIHJvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMucGlja2xpc3QucGljay5iaW5kKG51bGwsIHJvdykpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnBpY2tsaXN0LmNoZWNrRW50ZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdUYWInKSB7XHJcbiAgICAgICAgbGV0IHBpY2tsaXN0SXRlbTtcclxuICAgICAgICAvLyBJZiBwaWNrbGlzdCBjb250YWlucyAxIGFkZHJlc3MgdGhlbiB1c2UgdGhpcyBvbmUgdG8gZm9ybWF0XHJcbiAgICAgICAgaWYgKHRoaXMucGlja2xpc3Quc2l6ZSA9PT0gMSkge1xyXG4gICAgICAgICAgcGlja2xpc3RJdGVtID0gdGhpcy5waWNrbGlzdC5saXN0LnF1ZXJ5U2VsZWN0b3JBbGwoJ2RpdicpWzBdO1xyXG4gICAgICAgIH0gLy8gRWxzZSB1c2UgdGhlIGN1cnJlbnRseSBoaWdobGlnaHRlZCBvbmUgd2hlbiBuYXZpZ2F0aW9uIHVzaW5nIGtleWJvYXJkXHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5waWNrbGlzdC5jdXJyZW50SXRlbSkge1xyXG4gICAgICAgICAgcGlja2xpc3RJdGVtID0gdGhpcy5waWNrbGlzdC5jdXJyZW50SXRlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBpY2tsaXN0SXRlbSkge1xyXG4gICAgICAgICAgdGhpcy5waWNrbGlzdC5waWNrKHBpY2tsaXN0SXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8vIEhvdyB0byBoYW5kbGUgYSBwaWNrbGlzdCBzZWxlY3Rpb25cclxuICAgIHRoaXMucGlja2xpc3QucGljayA9IChpdGVtKSA9PiB7XHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgd2hlbiBhbiBhZGRyZXNzIGlzIHBpY2tlZFxyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LXBpY2tsaXN0LXNlbGVjdGlvbicsIGl0ZW0pO1xyXG5cclxuICAgICAgaWYgKGl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKEFkZHJlc3NWYWxpZGF0aW9uTG9va3VwS2V5d29yZHMuV0hBVDNXT1JEUy5rZXkpKXtcclxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGl0ZW0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpO1xyXG4gICAgICAgIHRoaXMucmV0dXJuQWRkcmVzc2VzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvb2t1cChlbGVtZW50c1swXS5pbm5lckhUTUwpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5MT09LVVBWMiA9PT0gdGhpcy5zZWFyY2hUeXBlICYmICF0aGlzLnJldHVybkFkZHJlc3Nlcykge1xyXG4gICAgICAgIHRoaXMuZm9ybWF0TG9va3VwTG9jYWxpdHlXaXRob3V0QWRkcmVzc2VzKGl0ZW0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gR2V0IGEgZmluYWwgYWRkcmVzcyB1c2luZyBwaWNrbGlzdCBpdGVtIHVubGVzcyBpdCBuZWVkcyByZWZpbmVtZW50XHJcbiAgICAgIGlmIChpdGVtLmdldEF0dHJpYnV0ZSgnZm9ybWF0JykpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmN1cnJlbnREYXRhU2V0KSAmJiB0aGlzLmN1cnJlbnREYXRhU2V0LnNsaWNlKCkuc29ydCgpID09PSBbJ2diLWFkZGl0aW9uYWwtZWxlY3RyaWNpdHknLCAnZ2ItYWRkaXRpb25hbC1nYXMnXS5zbGljZSgpLnNvcnQoKSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtYXQoaXRlbS5nZXRBdHRyaWJ1dGUoJ2Zvcm1hdCcsICd1dGlsaXRpZXMnKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZm9ybWF0KGl0ZW0uZ2V0QXR0cmlidXRlKCdmb3JtYXQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucmVmaW5lKGl0ZW0uZ2V0QXR0cmlidXRlKCdyZWZpbmUnKSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdExvb2t1cExvY2FsaXR5V2l0aG91dEFkZHJlc3NlcyhpdGVtKSB7XHJcbiAgICB0aGlzLnJlc3VsdC51cGRhdGVBZGRyZXNzTGluZShcImxvY2FsaXR5XCIsIGl0ZW0uZ2V0QXR0cmlidXRlKFwidG93bl9uYW1lXCIpLCAnYWRkcmVzcy1saW5lLWlucHV0Jyk7XHJcbiAgICB0aGlzLnJlc3VsdC51cGRhdGVBZGRyZXNzTGluZShcInJlZ2lvblwiLCBpdGVtLmdldEF0dHJpYnV0ZShcInJlZ2lvbl9uYW1lXCIpLCAnYWRkcmVzcy1saW5lLWlucHV0Jyk7XHJcbiAgICB0aGlzLnJlc3VsdC51cGRhdGVBZGRyZXNzTGluZShcInBvc3RhbF9jb2RlXCIsIGl0ZW0uZ2V0QXR0cmlidXRlKFwicG9zdGFsX2NvZGVfbmFtZVwiKSwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG4gICAgdGhpcy5yZXN1bHQudXBkYXRlQWRkcmVzc0xpbmUoXCJjb3VudHJ5XCIsIGl0ZW0uZ2V0QXR0cmlidXRlKFwiY291bnRyeVwiKSwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG5cclxuICAgIGxldCBrZXkgPSBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLlBPU1RBTF9DT0RFLmtleSA9PT0gdGhpcy5sb29rdXBUeXBlID8gJ3Bvc3RhbF9jb2RlX2tleScgOiAnbG9jYWxpdHlfa2V5JztcclxuICAgIC8vIENyZWF0ZSB0aGUgJ1NlYXJjaCBhZ2FpbicgbGluayBhbmQgaW5zZXJ0IGludG8gRE9NXHJcbiAgICB0aGlzLnJlc3VsdC5jcmVhdGVTZWFyY2hBZ2FpbkxpbmsoKTtcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtZm9ybWF0dGluZy1sb29rdXAnLCBpdGVtLmdldEF0dHJpYnV0ZShrZXkpLCBpdGVtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0KHVybDogc3RyaW5nLCBsYXlvdXQ/OiBzdHJpbmcpIHtcclxuICAgIC8vIFRyaWdnZXIgYW4gZXZlbnRcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3ByZS1mb3JtYXR0aW5nLXNlYXJjaCcsIHVybCk7XHJcblxyXG4gICAgLy8gSGlkZSB0aGUgc2VhcmNoaW5nIHNwaW5uZXJcclxuICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5oaWRlKCk7XHJcblxyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGxheW91dHM6IGxheW91dCA/IFsgbGF5b3V0IF0gOiBbIFwiZGVmYXVsdFwiIF0sXHJcbiAgICAgIGxheW91dF9mb3JtYXQ6IFwiZGVmYXVsdFwiLFxyXG4gICAgICBhdHRyaWJ1dGVzOiB0aGlzLmdldEVucmljaG1lbnRBdHRyaWJ1dGVzKHVybC5zcGxpdCgnLycpWzZdKVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYXRlIGEgbmV3IEZvcm1hdCByZXF1ZXN0XHJcbiAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdQT1NUJywgdGhpcy5yZXN1bHQuc2hvdywgSlNPTi5zdHJpbmdpZnkoZGF0YSksXHJcbiAgICAgIFt7IGtleTogJ0FkZC1Db21wb25lbnRzJywgdmFsdWU6IHRydWUgfSwgeyBrZXk6ICdBZGQtTWV0YWRhdGEnLCB2YWx1ZTogdHJ1ZSB9LCB7IGtleTogJ0FkZC1FbnJpY2htZW50JywgdmFsdWU6IHRydWV9XSk7XHJcbiAgICB9XHJcblxyXG4gIHByaXZhdGUgcmVmaW5lKGtleTogc3RyaW5nKSB7XHJcbiAgICAvLyBUcmlnZ2VyIGFuIGV2ZW50XHJcbiAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwcmUtcmVmaW5lbWVudCcsIGtleSk7XHJcblxyXG4gICAgLy8gSGlkZSB0aGUgc2VhcmNoaW5nIHNwaW5uZXJcclxuICAgIHRoaXMuc2VhcmNoU3Bpbm5lci5oaWRlKCk7XHJcblxyXG4gICAgLy8gSW5pdGlhdGUgYSBuZXcgU3RlcC1pbiByZXF1ZXN0IHVzaW5nIHRoZSBnbG9iYWwgYWRkcmVzcyBrZXlcclxuICAgIHRoaXMucmVxdWVzdC5zZW5kKGAke3RoaXMuYmFzZVVybH0ke3RoaXMuc3RlcEluRW5kcG9pbnR9LyR7a2V5fWAsICdHRVQnLCB0aGlzLnBpY2tsaXN0LnNob3cpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb29rdXAoa2V5OiBzdHJpbmcpIHtcclxuICAgIC8vIFRyaWdnZXIgYW4gZXZlbnRcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3ByZS1sb29rdXAnLCBrZXkpO1xyXG5cclxuICAgIC8vIEhpZGUgdGhlIHNlYXJjaGluZyBzcGlubmVyXHJcbiAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgIC8vIEdldCB0aGUgbG9va3VwIHJlcXVlc3RcclxuICAgIGNvbnN0IGxvb2t1cFYyUmVxdWVzdCA9IHRoaXMuZ2VuZXJhdGVMb29rdXBEYXRhRm9yQXBpQ2FsbChrZXksIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5XSEFUM1dPUkRTKTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJhc2VVcmwgKyB0aGlzLmxvb2t1cFYyRW5kcG9pbnQ7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gW3sga2V5OiAnQWRkLUFkZHJlc3NlcycsIHZhbHVlOiB0cnVlIH1dO1xyXG4gICAgY29uc3QgY2FsbGJhY2sgPSB0aGlzLnBpY2tsaXN0LnNob3dMb29rdXA7XHJcblxyXG4gICAgLy8gSW5pdGlhdGUgbmV3IFNlYXJjaCByZXF1ZXN0XHJcbiAgICB0aGlzLnJlcXVlc3Quc2VuZCh1cmwsICdQT1NUJywgY2FsbGJhY2ssIGxvb2t1cFYyUmVxdWVzdCwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc3VsdDogQWRkcmVzc1ZhbGlkYXRpb25SZXN1bHQgPSB7XHJcbiAgICBmb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyOiBudWxsLFxyXG4gICAgbGFzdEFkZHJlc3NGaWVsZDogbnVsbCxcclxuICAgIGdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZDogZmFsc2UsXHJcbiAgICAvLyBSZW5kZXIgYSBGb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgc2hvdzogKGRhdGE6IFNlYXJjaFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgICAgLy8gSGlkZSB0aGUgcGlja2xpc3RcclxuICAgICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcblxyXG4gICAgICAvLyBDbGVhciB0aGUgcHJldmlvdXMgc2VhcmNoIHRlcm1cclxuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9ICcnO1xyXG5cclxuICAgICAgLy8gQWxsb3cgQXV0b2NvbXBsZXRlIHRocm91Z2ggYXMgaXQgd2lsbCBuZWVkIHRvIGNyZWF0ZSB0aGUgYWRkaXRpb25hbCBvdXRwdXQgZmllbGRzIGZvciB0aGUgZmluYWwgYWRkcmVzcy5cclxuICAgICAgLy8gT3RoZXJ3aXNlLCBvbmx5IHJlbmRlciB0aGUgZmluYWwgYWRkcmVzcyBpZiB0aGVyZSBhcmUgcmVzdWx0cyBhdmFpbGFibGUuXHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEVcclxuICAgICAgICAgIHx8IChkYXRhLnJlc3VsdC5hZGRyZXNzICYmIGRhdGEucmVzdWx0LmNvbmZpZGVuY2UgIT09IEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUuTk9fTUFUQ0hFUykpIHtcclxuXHJcbiAgICAgICAgLy8gQ2xlYXIgc2VhcmNoIGlucHV0KHMpXHJcbiAgICAgICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBpbnB1dC52YWx1ZSA9ICcnKTtcclxuXHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIGlmIHdlIG5lZWRlZCB0byBnZW5lcmF0ZSB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgaW5wdXQgZmllbGRzIGxhdGVyXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuY2FsY3VsYXRlSWZBZGRyZXNzTGluZUdlbmVyYXRpb25SZXF1aXJlZCgpO1xyXG5cclxuICAgICAgICAvLyBHZXQgZm9ybWF0dGVkIGFkZHJlc3MgY29udGFpbmVyIGVsZW1lbnRcclxuICAgICAgICAvLyBPbmx5IGNyZWF0ZSBhIGNvbnRhaW5lciBpZiB3ZSdyZSBjcmVhdGluZyBpbnB1dHMuIE90aGVyd2lzZSB0aGUgdXNlciB3aWxsIGhhdmUgdGhlaXIgb3duIGNvbnRhaW5lci5cclxuICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyID0gdGhpcy5vcHRpb25zLmVsZW1lbnRzLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyICYmIHRoaXMucmVzdWx0LmdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZCkge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHQuY3JlYXRlRm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gTG9vcCBvdmVyIGVhY2ggZm9ybWF0dGVkIGFkZHJlc3MgY29tcG9uZW50XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhkYXRhLnJlc3VsdC5hZGRyZXNzKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMoZGF0YS5yZXN1bHQuYWRkcmVzcylbaV07XHJcbiAgICAgICAgICBjb25zdCBhZGRyZXNzQ29tcG9uZW50ID0gZGF0YS5yZXN1bHQuYWRkcmVzc1trZXldO1xyXG4gICAgICAgICAgLy8gQmluZCB0aGUgYWRkcmVzcyBlbGVtZW50IHRvIHRoZSB1c2VyJ3MgYWRkcmVzcyBmaWVsZCAob3IgY3JlYXRlIGEgbmV3IG9uZSlcclxuICAgICAgICAgIHRoaXMucmVzdWx0LnVwZGF0ZUFkZHJlc3NMaW5lKGtleSwgYWRkcmVzc0NvbXBvbmVudCwgJ2FkZHJlc3MtbGluZS1pbnB1dCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRzQ29sbGVjdGlvbk1hcC5jbGVhcigpO1xyXG4gICAgICAgIGxldCBjb21wb25lbnRzID0gZGF0YS5yZXN1bHQuY29tcG9uZW50cztcclxuICAgICAgICBpZiAoY29tcG9uZW50cykge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhjb21wb25lbnRzKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBrZXkgPSBPYmplY3Qua2V5cyhjb21wb25lbnRzKVtpXTtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRzQ29sbGVjdGlvbk1hcC5zZXQoa2V5LCBjb21wb25lbnRzW2tleV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tZXRhZGF0YUNvbGxlY3Rpb25NYXAuY2xlYXIoKTtcclxuICAgICAgICBsZXQgbWV0YWRhdGEgPSBkYXRhLm1ldGFkYXRhO1xyXG4gICAgICAgIGlmIChtZXRhZGF0YSkge1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMobWV0YWRhdGEpW2ldO1xyXG4gICAgICAgICAgICB0aGlzLm1ldGFkYXRhQ29sbGVjdGlvbk1hcC5zZXQoa2V5LCBtZXRhZGF0YVtrZXldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEhpZGUgY291bnRyeSBhbmQgYWRkcmVzcyBzZWFyY2ggZmllbGRzIChpZiB0aGV5IGhhdmUgYSAndG9nZ2xlJyBjbGFzcylcclxuICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaElucHV0cygnaGlkZScpO1xyXG5cclxuICAgICAgICAvLyBFbmFibGUgdXNlcnMgdG8gc2VhcmNoIGFnYWluIHN1YnNlcXVlbnRseVxyXG4gICAgICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPSB0cnVlO1xyXG5cclxuICAgICAgICAvLyBJZiBhbiBhZGRyZXNzIGxpbmUgaXMgYWxzbyB0aGUgbWFpbiBzZWFyY2ggaW5wdXQsIHNldCBwcm9wZXJ0eSB0byBmYWxzZS5cclxuICAgICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCB0eXBpbmcgaW4gdGhlIGZpZWxkIGFnYWluIChhZnRlciBhbiBhZGRyZXNzIGhhcyBiZWVuXHJcbiAgICAgICAgLy8gcmV0dXJuZWQpIHdpbGwgbm90IHRyaWdnZXIgYSBuZXcgc2VhcmNoLlxyXG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFR5cGUgPT09IEFkZHJlc3NWYWxpZGF0aW9uU2VhcmNoVHlwZS5BVVRPQ09NUExFVEUpIHtcclxuICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBpbiB0aGlzLm9wdGlvbnMuZWxlbWVudHMpIHtcclxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLm9wdGlvbnMuZWxlbWVudHMsIGVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgLy8gRXhjbHVkaW5nIHRoZSBpbnB1dCBpdHNlbGYsIGRvZXMgYW5vdGhlciBlbGVtZW50IG1hdGNoIHRoZSBpbnB1dCBmaWVsZD9cclxuICAgICAgICAgICAgICBpZiAoZWxlbWVudCAhPT0gJ2lucHV0JyAmJiB0aGlzLm9wdGlvbnMuZWxlbWVudHNbZWxlbWVudF0gPT09IHRoaXMuaW5wdXRzWzBdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc1NlYXJjaElucHV0QmVlblJlc2V0ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgJ1NlYXJjaCBhZ2FpbicgbGluayBhbmQgaW5zZXJ0IGludG8gRE9NXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuY3JlYXRlU2VhcmNoQWdhaW5MaW5rKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIEZpcmUgYW4gZXZlbnQgdG8gc2F5IHdlJ3ZlIGdvdCB0aGUgZm9ybWF0dGVkIGFkZHJlc3NcclxuICAgICAgdGhpcy5ldmVudHMudHJpZ2dlcigncG9zdC1mb3JtYXR0aW5nLXNlYXJjaCcsIGRhdGEpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzaG93TG9va3VwVjI6IChkYXRhOiBMb29rdXBWMlJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIC8vIEhpZGUgdGhlIGlubGluZSBzZWFyY2ggc3Bpbm5lclxyXG4gICAgICB0aGlzLnNlYXJjaFNwaW5uZXIuaGlkZSgpO1xyXG5cclxuICAgICAgLy8gSGlkZSB0aGUgcGlja2xpc3RcclxuICAgICAgdGhpcy5waWNrbGlzdC5oaWRlKCk7XHJcblxyXG4gICAgICAvLyBDbGVhciB0aGUgcHJldmlvdXMgc2VhcmNoIHRlcm1cclxuICAgICAgdGhpcy5sYXN0U2VhcmNoVGVybSA9ICcnO1xyXG5cclxuICAgICAgLy8gT25seSByZW5kZXIgdGhlIGZpbmFsIGFkZHJlc3MgaWYgdGhlcmUgYXJlIHJlc3VsdHMgYXZhaWxhYmxlLlxyXG4gICAgICBpZiAoZGF0YS5yZXN1bHQuYWRkcmVzc2VzX2Zvcm1hdHRlZCkge1xyXG4gICAgICAgIC8vIENsZWFyIHNlYXJjaCBpbnB1dChzKVxyXG4gICAgICAgIHRoaXMuaW5wdXRzLmZvckVhY2goaW5wdXQgPT4gaW5wdXQudmFsdWUgPSAnJyk7XHJcblxyXG4gICAgICAgIC8vIENhbGN1bGF0ZSBpZiB3ZSBuZWVkZWQgdG8gZ2VuZXJhdGUgdGhlIGZvcm1hdHRlZCBhZGRyZXNzIGlucHV0IGZpZWxkcyBsYXRlclxyXG4gICAgICAgIHRoaXMucmVzdWx0LmNhbGN1bGF0ZUlmQWRkcmVzc0xpbmVHZW5lcmF0aW9uUmVxdWlyZWQoKTtcclxuXHJcbiAgICAgICAgLy8gR2V0IGZvcm1hdHRlZCBhZGRyZXNzIGNvbnRhaW5lciBlbGVtZW50XHJcbiAgICAgICAgLy8gT25seSBjcmVhdGUgYSBjb250YWluZXIgaWYgd2UncmUgY3JlYXRpbmcgaW5wdXRzLiBPdGhlcndpc2UgdGhlIHVzZXIgd2lsbCBoYXZlIHRoZWlyIG93biBjb250YWluZXIuXHJcbiAgICAgICAgdGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lciA9IHRoaXMub3B0aW9ucy5lbGVtZW50cy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyO1xyXG4gICAgICAgIGlmICghdGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lciAmJiB0aGlzLnJlc3VsdC5nZW5lcmF0ZUFkZHJlc3NMaW5lUmVxdWlyZWQpIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0LmNyZWF0ZUZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE1hcCBzb21lIG9mIHRoZSBjdXN0b20gbGF5b3V0IHJlc3BvbnNlIGZvciBVdGl0bHkgZGF0YSB0byB0aGUgZXhpc3RpbmcgYWRkcmVzcyBlbGVtZW50cy4gQWxsIGVsZW1lbnRzIHdpbGwgYmUgc2hvd24gaW4gdmFsaWRhdGVkIGFkcmVzcyBwYW5lbC5cclxuICAgICAgICBsZXQgbWFwcGVkUmVzcG9uc2U6IEFkZHJlc3NTZWFyY2hPcHRpb25zW1wiZWxlbWVudHNcIl0gPSB7fVxyXG4gICAgICAgIGlmIChkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZ2FzX21ldGVycykge1xyXG4gICAgICAgICAgbWFwcGVkUmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICAgIGFkZHJlc3NfbGluZV8xOiBkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZ2FzX21ldGVyc1swXS5yZWxfYWRkcmVzc19wcmltYXJ5X25hbWUsXHJcbiAgICAgICAgICAgIGFkZHJlc3NfbGluZV8yOiBkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZ2FzX21ldGVyc1swXS5yZWxfYWRkcmVzc19zdHJlZXQxLFxyXG4gICAgICAgICAgICBsb2NhbGl0eTogZGF0YS5yZXN1bHQuYWRkcmVzc2VzX2Zvcm1hdHRlZFswXS5hZGRyZXNzLmdhc19tZXRlcnNbMF0ucmVsX2FkZHJlc3NfdG93bixcclxuICAgICAgICAgICAgcG9zdGFsX2NvZGU6IGRhdGEucmVzdWx0LmFkZHJlc3Nlc19mb3JtYXR0ZWRbMF0uYWRkcmVzcy5nYXNfbWV0ZXJzWzBdLnJlbF9hZGRyZXNzX3Bvc3Rjb2RlLFxyXG4gICAgICAgICAgICBjb3VudHJ5OiBkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZ2FzX21ldGVyc1swXS5yZWxfYWRkcmVzc19jb3VudHJ5ID8gZGF0YS5yZXN1bHQuYWRkcmVzc2VzX2Zvcm1hdHRlZFswXS5hZGRyZXNzLmdhc19tZXRlcnNbMF0ucmVsX2FkZHJlc3NfY291bnRyeSA6IFwiVW5pdGVkIEtpbmdkb21cIixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZWxlY3RyaWNpdHlfbWV0ZXJzKSB7XHJcbiAgICAgICAgICBtYXBwZWRSZXNwb25zZSA9IHtcclxuICAgICAgICAgICAgYWRkcmVzc19saW5lXzE6IGRhdGEucmVzdWx0LmFkZHJlc3Nlc19mb3JtYXR0ZWRbMF0uYWRkcmVzcy5lbGVjdHJpY2l0eV9tZXRlcnNbMF0uYWRkcmVzc19saW5lXzMsXHJcbiAgICAgICAgICAgIGFkZHJlc3NfbGluZV8yOiBkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZWxlY3RyaWNpdHlfbWV0ZXJzWzBdLmFkZHJlc3NfbGluZV81LFxyXG4gICAgICAgICAgICBsb2NhbGl0eTogZGF0YS5yZXN1bHQuYWRkcmVzc2VzX2Zvcm1hdHRlZFswXS5hZGRyZXNzLmVsZWN0cmljaXR5X21ldGVyc1swXS5hZGRyZXNzX2xpbmVfOCxcclxuICAgICAgICAgICAgcG9zdGFsX2NvZGU6IGRhdGEucmVzdWx0LmFkZHJlc3Nlc19mb3JtYXR0ZWRbMF0uYWRkcmVzcy5lbGVjdHJpY2l0eV9tZXRlcnNbMF0uYWRkcmVzc19wb3N0YWxfY29kZSxcclxuICAgICAgICAgICAgY291bnRyeTogZGF0YS5yZXN1bHQuYWRkcmVzc2VzX2Zvcm1hdHRlZFswXS5hZGRyZXNzLmVsZWN0cmljaXR5X21ldGVyc1swXS5hZGRyZXNzX2NvdW50cnkgPyBkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkWzBdLmFkZHJlc3MuZWxlY3RyaWNpdHlfbWV0ZXJzWzBdLmFkZHJlc3NfY291bnRyeSA6IFwiVW5pdGVkIEtpbmdkb21cIixcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE9iamVjdC5rZXlzKG1hcHBlZFJlc3BvbnNlKS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMobWFwcGVkUmVzcG9uc2UpW2ldO1xyXG4gICAgICAgICAgY29uc3QgYWRkcmVzc0NvbXBvbmVudCA9IG1hcHBlZFJlc3BvbnNlW2tleV07XHJcbiAgICAgICAgICAvLyBCaW5kIHRoZSBhZGRyZXNzIGVsZW1lbnQgdG8gdGhlIHVzZXIncyBhZGRyZXNzIGZpZWxkIChvciBjcmVhdGUgYSBuZXcgb25lKVxyXG4gICAgICAgICAgdGhpcy5yZXN1bHQudXBkYXRlQWRkcmVzc0xpbmUoa2V5LCBhZGRyZXNzQ29tcG9uZW50LCAnYWRkcmVzcy1saW5lLWlucHV0Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBIaWRlIGNvdW50cnkgYW5kIGFkZHJlc3Mgc2VhcmNoIGZpZWxkcyAoaWYgdGhleSBoYXZlIGEgJ3RvZ2dsZScgY2xhc3MpXHJcbiAgICAgICAgdGhpcy50b2dnbGVTZWFyY2hJbnB1dHMoJ2hpZGUnKTtcclxuXHJcbiAgICAgICAgLy8gRW5hYmxlIHVzZXJzIHRvIHNlYXJjaCBhZ2FpbiBzdWJzZXF1ZW50bHlcclxuICAgICAgICB0aGlzLmhhc1NlYXJjaElucHV0QmVlblJlc2V0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgLy8gQ3JlYXRlIHRoZSAnU2VhcmNoIGFnYWluJyBsaW5rIGFuZCBpbnNlcnQgaW50byBET01cclxuICAgICAgICB0aGlzLnJlc3VsdC5jcmVhdGVTZWFyY2hBZ2FpbkxpbmsoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCB0byBzYXkgd2UndmUgZ290IHRoZSBmb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LWZvcm1hdHRpbmctc2VhcmNoJywgZGF0YSk7XHJcbiAgICB9LFxyXG4gICAgaGlkZTogKCkgPT4ge1xyXG4gICAgICAvLyBEZWxldGUgdGhlIGZvcm1hdHRlZCBhZGRyZXNzIGNvbnRhaW5lclxyXG4gICAgICBpZiAodGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lcikge1xyXG4gICAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyKTtcclxuICAgICAgICB0aGlzLnJlc3VsdC5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIERlbGV0ZSB0aGUgc2VhcmNoIGFnYWluIGxpbmtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zZWFyY2hBZ2Fpbi5saW5rKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnNlYXJjaEFnYWluLmxpbmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLm9wdGlvbnMuc2VhcmNoQWdhaW4ubGluayk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnNlYXJjaEFnYWluLmxpbmsgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgICAgLy8gUmVtb3ZlIHByZXZpb3VzIHZhbHVlIGZyb20gdXNlcidzIHJlc3VsdCBmaWVsZFxyXG4gICAgICAvLyBMb29wIG92ZXIgdGhlaXIgZWxlbWVudHNcclxuICAgICAgZm9yIChjb25zdCBlbGVtZW50IGluIHRoaXMub3B0aW9ucy5lbGVtZW50cykge1xyXG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5vcHRpb25zLmVsZW1lbnRzLCBlbGVtZW50KSkge1xyXG4gICAgICAgICAgLy8gSWYgaXQgbWF0Y2hlcyBhbiBcImFkZHJlc3NcIiBlbGVtZW50XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlZmF1bHRzLmFkZHJlc3NMaW5lTGFiZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gZGVmYXVsdHMuYWRkcmVzc0xpbmVMYWJlbHNbaV07XHJcbiAgICAgICAgICAgIC8vIE9ubHkgcmVzZXQgdGhlIHZhbHVlIGlmIGl0J3Mgbm90IGFuIGlucHV0IGZpZWxkXHJcbiAgICAgICAgICAgIGlmIChsYWJlbCA9PT0gZWxlbWVudCAmJiB0aGlzLm9wdGlvbnMuZWxlbWVudHNbZWxlbWVudF0gIT09IHRoaXMuaW5wdXRzWzBdKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzW2VsZW1lbnRdLnZhbHVlID0gJyc7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjcmVhdGVBZGRyZXNzTGluZToge1xyXG4gICAgICAvLyBDcmVhdGUgYW4gaW5wdXQgdG8gc3RvcmUgdGhlIGFkZHJlc3MgbGluZVxyXG4gICAgICBpbnB1dDogKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIC8vIENyZWF0ZSBhIHdyYXBwZXJcclxuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGxhYmVsXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsYWJlbCcpO1xyXG4gICAgICAgIGxhYmVsLmlubmVySFRNTCA9IGtleS5yZXBsYWNlKC8oW0EtWl0pL2csICcgJDEnKSAvLyBBZGQgc3BhY2UgYmVmb3JlIGNhcGl0YWwgTGV0dGVyc1xyXG4gICAgICAgICAgLnJlcGxhY2UoLyhbMC05XSkvZywgJyAkMScpIC8vIEFkZCBzcGFjZSBiZWZvcmUgbnVtYmVyc1xyXG4gICAgICAgICAgLnJlcGxhY2UoL14uLywgZnVuY3Rpb24gKHN0cikgeyByZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7IH0pOyAvLyBNYWtlIGZpcnN0IGxldHRlciBvZiB3b3JkIGEgY2FwaXRhbCBsZXR0ZXJcclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobGFiZWwpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgdGhlIGlucHV0XHJcbiAgICAgICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICd0ZXh0Jyk7XHJcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCduYW1lJywga2V5KTtcclxuICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgdmFsdWUpO1xyXG4gICAgICAgIGRpdi5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICAgICAgcmV0dXJuIGRpdjtcclxuICAgICAgfSxcclxuICAgICAgLy8gQ3JlYXRlIHRoZSBhZGRyZXNzIGxpbmUgbGFiZWwgYmFzZWQgb24gdGhlIGNvdW50cnkgYW5kIGxhbmd1YWdlXHJcbiAgICAgIGxhYmVsOiAoa2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBrZXk7XHJcbiAgICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLm9wdGlvbnMubGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBjb25zdCBjb3VudHJ5ID0gdGhpcy5jdXJyZW50Q291bnRyeUNvZGUudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodHJhbnNsYXRpb25zKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkTGFiZWwgPSB0cmFuc2xhdGlvbnNbbGFuZ3VhZ2VdW2NvdW50cnldW2tleV07XHJcbiAgICAgICAgICAgIGlmICh0cmFuc2xhdGVkTGFiZWwpIHtcclxuICAgICAgICAgICAgICBsYWJlbCA9IHRyYW5zbGF0ZWRMYWJlbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkb2Vzbid0IGV4aXN0IGZvciBrZXlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxhYmVsO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8gQ3JlYXRlIHRoZSBmb3JtYXR0ZWQgYWRkcmVzcyBjb250YWluZXIgYW5kIGluamVjdCBhZnRlciB0aGUgaW5wdXRcclxuICAgIGNyZWF0ZUZvcm1hdHRlZEFkZHJlc3NDb250YWluZXI6ICgpID0+IHtcclxuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdmb3JtYXR0ZWQtYWRkcmVzcycpO1xyXG5cclxuICAgICAgLy8gSWYgU2luZ2xlbGluZSBtb2RlIGlzIHVzZWQsIHRoZW4gYXBwZW5kIHRoZSBmb3JtYXR0ZWQgYWRkcmVzcyBhZnRlciB0aGUgbGFzdCBpbnB1dCBmaWVsZCwgb3RoZXJ3aXNlIHVzZSB0aGUgZmlyc3Qgb25lXHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuU0lOR0xFTElORSA/IHRoaXMuaW5wdXRzLmxlbmd0aCAtIDEgOiAwO1xyXG5cclxuICAgICAgLy8gSW5zZXJ0IHRoZSBjb250YWluZXIgYWZ0ZXIgdGhlIGlucHV0XHJcbiAgICAgIHRoaXMuaW5wdXRzW3Bvc2l0aW9uXS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjb250YWluZXIsIHRoaXMuaW5wdXRzW3Bvc2l0aW9uXS5uZXh0U2libGluZyk7XHJcbiAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIgPSBjb250YWluZXI7XHJcbiAgICB9LFxyXG4gICAgLy8gQ3JlYXRlIGEgaGVhZGluZyBmb3IgdGhlIGZvcm1hdHRlZCBhZGRyZXNzIGNvbnRhaW5lclxyXG4gICAgY3JlYXRlSGVhZGluZzogKCkgPT4ge1xyXG4gICAgICAvLyBDcmVhdGUgYSBoZWFkaW5nIGZvciB0aGUgZm9ybWF0dGVkIGFkZHJlc3NcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnNob3dIZWFkaW5nKSB7XHJcbiAgICAgICAgY29uc3QgaGVhZGluZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5vcHRpb25zLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuaGVhZGluZ1R5cGUpO1xyXG4gICAgICAgIGhlYWRpbmcuaW5uZXJIVE1MID0gdGhpcy5vcHRpb25zLmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIudmFsaWRhdGVkSGVhZGluZ1RleHQ7XHJcbiAgICAgICAgdGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5hcHBlbmRDaGlsZChoZWFkaW5nKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIFVwZGF0ZSB0aGUgaGVhZGluZyB0ZXh0IGluIHRoZSBmb3JtYXR0ZWQgYWRkcmVzcyBjb250YWluZXJcclxuICAgIHVwZGF0ZUhlYWRpbmc6ICh0ZXh0KSA9PiB7XHJcbiAgICAgIC8vQ2hhbmdlIHRoZSBoZWFkaW5nIHRleHQgdG8gXCJNYW51YWwgYWRkcmVzcyBlbnRlcmVkXCJcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5mb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyLnNob3dIZWFkaW5nKSB7XHJcbiAgICAgICAgY29uc3QgaGVhZGluZyA9IHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIucXVlcnlTZWxlY3Rvcih0aGlzLm9wdGlvbnMuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5oZWFkaW5nVHlwZSk7XHJcbiAgICAgICAgaGVhZGluZy5pbm5lckhUTUwgPSB0ZXh0O1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgY2FsY3VsYXRlSWZBZGRyZXNzTGluZUdlbmVyYXRpb25SZXF1aXJlZDogKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlc3VsdC5nZW5lcmF0ZUFkZHJlc3NMaW5lUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlZmF1bHRzLmFkZHJlc3NMaW5lTGFiZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3Qga2V5ID0gZGVmYXVsdHMuYWRkcmVzc0xpbmVMYWJlbHNbaV07XHJcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5lbGVtZW50c1trZXldKSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdC5nZW5lcmF0ZUFkZHJlc3NMaW5lUmVxdWlyZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHVwZGF0ZUFkZHJlc3NMaW5lOiAoa2V5OiBzdHJpbmcsIGFkZHJlc3NMaW5lT2JqZWN0LCBjbGFzc05hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICAvLyBFaXRoZXIgYXBwZW5kIHRoZSByZXN1bHQgdG8gdGhlIHVzZXIncyBhZGRyZXNzIGZpZWxkIG9yIGNyZWF0ZSBhIG5ldyBmaWVsZCBmb3IgdGhlbVxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmVsZW1lbnRzW2tleV0pIHtcclxuICAgICAgICBjb25zdCBhZGRyZXNzRmllbGQgPSB0aGlzLm9wdGlvbnMuZWxlbWVudHNba2V5XTtcclxuICAgICAgICB0aGlzLnJlc3VsdC51cGRhdGVMYWJlbChrZXkpO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IGFkZHJlc3NMaW5lT2JqZWN0O1xyXG4gICAgICAgIC8vIElmIGEgdmFsdWUgaXMgYWxyZWFkeSBwcmVzZW50LCBwcmVwZW5kIGEgY29tbWEgYW5kIHNwYWNlXHJcbiAgICAgICAgaWYgKGFkZHJlc3NGaWVsZC52YWx1ZSAmJiB2YWx1ZSkge1xyXG4gICAgICAgICAgdmFsdWUgPSAnLCAnICsgdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERlY2lkZSB3aGF0IHByb3BlcnR5IG9mIHRoZSBub2RlIHdlIG5lZWQgdG8gdXBkYXRlLiBpLmUuIGlmIGl0J3Mgbm90IGEgZm9ybSBmaWVsZCwgdXBkYXRlIHRoZSBpbm5lclRleHQuXHJcbiAgICAgICAgaWYgKGFkZHJlc3NGaWVsZC5ub2RlTmFtZSA9PT0gJ0lOUFVUJyB8fCBhZGRyZXNzRmllbGQubm9kZU5hbWUgPT09ICdURVhUQVJFQScgfHwgYWRkcmVzc0ZpZWxkLm5vZGVOYW1lID09PSAnU0VMRUNUJykge1xyXG4gICAgICAgICAgYWRkcmVzc0ZpZWxkLnZhbHVlICs9IHZhbHVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhZGRyZXNzRmllbGQuaW5uZXJUZXh0ICs9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdG9yZSBhIHJlY29yZCBvZiB0aGVpciBsYXN0IGFkZHJlc3MgZmllbGRcclxuICAgICAgICB0aGlzLnJlc3VsdC5sYXN0QWRkcmVzc0ZpZWxkID0gYWRkcmVzc0ZpZWxkO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMucmVzdWx0LmdlbmVyYXRlQWRkcmVzc0xpbmVSZXF1aXJlZCkge1xyXG4gICAgICAgIC8vIENyZWF0ZSBhbiBpbnB1dCB0byBzdG9yZSB0aGUgYWRkcmVzcyBsaW5lXHJcbiAgICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLnJlc3VsdC5jcmVhdGVBZGRyZXNzTGluZS5sYWJlbChrZXkpO1xyXG4gICAgICAgIGNvbnN0IGZpZWxkID0gdGhpcy5yZXN1bHQuY3JlYXRlQWRkcmVzc0xpbmUuaW5wdXQobGFiZWwsIGFkZHJlc3NMaW5lT2JqZWN0LCBjbGFzc05hbWUpO1xyXG4gICAgICAgIC8vIEluc2VydCBpbnRvIERPTVxyXG4gICAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuYXBwZW5kQ2hpbGQoZmllbGQpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8gVXBkYXRlIHRoZSBsYWJlbCBpZiB0cmFuc2xhdGlvbiBpcyBwcmVzZW50XHJcbiAgICB1cGRhdGVMYWJlbDogKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGxldCBsYWJlbCA9IGtleTtcclxuICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLm9wdGlvbnMubGFuZ3VhZ2UudG9Mb3dlckNhc2UoKTtcclxuICAgICAgY29uc3QgY291bnRyeSA9IHRoaXMuY3VycmVudENvdW50cnlDb2RlLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGlmICh0cmFuc2xhdGlvbnMpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdHJhbnNsYXRpb25zW2xhbmd1YWdlXVtjb3VudHJ5XVtrZXldO1xyXG4gICAgICAgICAgaWYgKHRyYW5zbGF0ZWRMYWJlbCkge1xyXG4gICAgICAgICAgICBsYWJlbCA9IHRyYW5zbGF0ZWRMYWJlbDtcclxuICAgICAgICAgICAgY29uc3QgbGFiZWxzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xhYmVsJyk7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGFiZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGxhYmVsc1tpXS5odG1sRm9yID09PSBrZXkpIHtcclxuICAgICAgICAgICAgICAgIGxhYmVsc1tpXS5pbm5lckhUTUwgPSB0cmFuc2xhdGVkTGFiZWw7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgLy8gVHJhbnNsYXRpb24gZG9lc24ndCBleGlzdCBmb3Iga2V5XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBsYWJlbDtcclxuICAgIH0sXHJcbiAgICAvLyBDcmVhdGUgdGhlICdTZWFyY2ggYWdhaW4nIGxpbmsgdGhhdCByZXNldHMgdGhlIHNlYXJjaFxyXG4gICAgY3JlYXRlU2VhcmNoQWdhaW5MaW5rOiAoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2VhcmNoQWdhaW4udmlzaWJsZSkge1xyXG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcclxuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgndHlwZScsICdidXR0b24nKTtcclxuICAgICAgICBsaW5rLmNsYXNzTGlzdC5hZGQoJ3NlYXJjaC1hZ2Fpbi1idXR0b24nKTtcclxuICAgICAgICBsaW5rLmlubmVyVGV4dCA9IHRoaXMub3B0aW9ucy5zZWFyY2hBZ2Fpbi50ZXh0O1xyXG4gICAgICAgIC8vIEJpbmQgZXZlbnQgbGlzdGVuZXJcclxuICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5nbG9iYWxSZXNldC5iaW5kKHRoaXMpKTtcclxuICAgICAgICAvLyBTdG9yZSBhIHJlZmVyZW5jZSB0byB0aGUgbGluayBlbGVtZW50XHJcbiAgICAgICAgdGhpcy5vcHRpb25zLnNlYXJjaEFnYWluLmxpbmsgPSBsaW5rO1xyXG5cclxuICAgICAgICAvLyBJbnNlcnQgaW50byB0aGUgZm9ybWF0dGVkIGFkZHJlc3MgY29udGFpbmVyXHJcbiAgICAgICAgaWYgKHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIpIHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0LmZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJlc3VsdC5sYXN0QWRkcmVzc0ZpZWxkKSB7XHJcbiAgICAgICAgICAvLyBJbnNlcnQgYWZ0ZXIgbGFzdCBhZGRyZXNzIGZpZWxkXHJcbiAgICAgICAgICB0aGlzLnJlc3VsdC5sYXN0QWRkcmVzc0ZpZWxkLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGxpbmssIHRoaXMucmVzdWx0Lmxhc3RBZGRyZXNzRmllbGQubmV4dFNpYmxpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIFdyaXRlIHRoZSBsaXN0IG9mIGhpZGRlbiBhZGRyZXNzIGxpbmUgaW5wdXRzIHRvIHRoZSBET01cclxuICAgIHJlbmRlcklucHV0TGlzdDogKGlucHV0QXJyYXkpID0+IHtcclxuICAgICAgaWYgKGlucHV0QXJyYXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRBcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgdGhpcy5yZXN1bHQuZm9ybWF0dGVkQWRkcmVzc0NvbnRhaW5lci5hcHBlbmRDaGlsZChpbnB1dEFycmF5W2ldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgLy8gRGVjaWRlIHdoZXRoZXIgdG8gZWl0aGVyIHNob3cgYSBwaWNrbGlzdCBvciBhIHZlcmlmaWVkIHJlc3VsdCBmcm9tIGEgVXRpbGl0aWVzIGxvb2t1cCByZXNwb25zZVxyXG4gICAgaGFuZGxlVXRpbGl0aWVzTG9va3VwUmVzcG9uc2U6IChkYXRhOiBMb29rdXBWMlJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLnJlc3VsdC5jb25maWRlbmNlID09PSBBZGRyZXNzVmFsaWRhdGlvbkNvbmZpZGVuY2VUeXBlLlZFUklGSUVEX01BVENIKSB7XHJcbiAgICAgICAgLy8gSWYgdGhlIHJlc3BvbnNlIGNvbnRhaW5zIGFuIGFkZHJlc3MsIHRoZW4gdXNlIHRoaXMgZGlyZWN0bHkgaW4gdGhlIHJlc3VsdFxyXG4gICAgICAgIGlmIChkYXRhLnJlc3VsdC5hZGRyZXNzZXNfZm9ybWF0dGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdC5zaG93TG9va3VwVjIoZGF0YSk7XHJcbiAgICAgICAgfSBcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnJlc3VsdC5jb25maWRlbmNlID09PSAnTm8gbWF0Y2hlcycpIHtcclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbWF0Y2hlcywgdGhlbiBhbGxvdyBcInVzZSBhZGRyZXNzIGVudGVyZWRcIlxyXG4gICAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlRW1wdHlQaWNrbGlzdChkYXRhKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRmlyZSBhbiBldmVudCB0byBzYXkgd2UndmUgZ290IHRoZSBmb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgICB0aGlzLmV2ZW50cy50cmlnZ2VyKCdwb3N0LWZvcm1hdHRpbmctc2VhcmNoJywgZGF0YSk7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIERlY2lkZSB3aGV0aGVyIHRvIGVpdGhlciBzaG93IGEgcGlja2xpc3Qgb3IgYSB2ZXJpZmllZCByZXN1bHQgZnJvbSBhIFZhbGlkYXRlIHJlc3BvbnNlXHJcbiAgICBoYW5kbGVWYWxpZGF0ZVJlc3BvbnNlOiAocmVzcG9uc2U6IFNlYXJjaFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQuY29uZmlkZW5jZSA9PT0gQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZS5WRVJJRklFRF9NQVRDSFxyXG4gICAgICAgICAgfHwgcmVzcG9uc2UucmVzdWx0LmNvbmZpZGVuY2UgPT09IEFkZHJlc3NWYWxpZGF0aW9uQ29uZmlkZW5jZVR5cGUuSU5URVJBQ1RJT05fUkVRVUlSRUQpIHtcclxuICAgICAgICAvLyBJZiB0aGUgcmVzcG9uc2UgY29udGFpbnMgYW4gYWRkcmVzcywgdGhlbiB1c2UgdGhpcyBkaXJlY3RseSBpbiB0aGUgcmVzdWx0XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdC5hZGRyZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdC5zaG93KHJlc3BvbnNlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlc3VsdC5zdWdnZXN0aW9ucykge1xyXG4gICAgICAgICAgLy8gSWYgdGhlIHZlcmlmaWVkIG1hdGNoIHN0aWxsIGNvbnRhaW5zIGEgc3VnZ2VzdGlvbiwgdGhlbiB3ZSBuZWVkIHRvIGZvcm1hdCB0aGlzIGZpcnN0XHJcbiAgICAgICAgICB0aGlzLmZvcm1hdChyZXNwb25zZS5yZXN1bHQuc3VnZ2VzdGlvbnNbMF0uZm9ybWF0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UucmVzdWx0LnN1Z2dlc3Rpb25zKSB7XHJcbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgbmVlZHMgdG8gcGljayBhIHN1Z2dlc3Rpb24sIHRoZW4gZGlzcGxheSB0aGUgcGlja2xpc3RcclxuICAgICAgICB0aGlzLnBpY2tsaXN0LnNob3cocmVzcG9uc2UpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLnJlc3VsdC5jb25maWRlbmNlID09PSAnTm8gbWF0Y2hlcycpIHtcclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbWF0Y2hlcywgdGhlbiBhbGxvdyBcInVzZSBhZGRyZXNzIGVudGVyZWRcIlxyXG4gICAgICAgIHRoaXMucGlja2xpc3QuaGFuZGxlRW1wdHlQaWNrbGlzdChyZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcblxyXG4gICAgaGFuZGxlRW5yaWNobWVudFJlc3BvbnNlOiAocmVzcG9uc2U6IEVucmljaG1lbnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICBsZXQgZ2VvY29kZXNEZXRhaWxzTWFwID0gdGhpcy5nZW9jb2Rlcy5kZXRhaWxzTWFwO1xyXG4gICAgICBsZXQgY3ZEZXRhaWxzTWFwID0gdGhpcy5jdkhvdXNlaG9sZC5kZXRhaWxzTWFwO1xyXG4gICAgICBnZW9jb2Rlc0RldGFpbHNNYXAuY2xlYXIoKTtcclxuICAgICAgY3ZEZXRhaWxzTWFwLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMucHJlbWl1bUxvY2F0aW9uSW5zaWdodE1hcC5jbGVhcigpO1xyXG5cclxuICAgICAgbGV0IGdlb2NvZGVSZXNwb25zZTtcclxuICAgICAgbGV0IGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzO1xyXG4gICAgICBsZXQgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uO1xyXG4gICAgICBsZXQgY3ZIb3VzZWhvbGRSZXNwb25zZTtcclxuICAgICAgbGV0IGN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVzO1xyXG4gICAgICBsZXQgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uO1xyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdC5hdXNfcmVnaW9uYWxfZ2VvY29kZXMpIHtcclxuICAgICAgICB0aGlzLmdlb2NvZGVzLnRpdGxlID0gZW5yaWNobWVudE91dHB1dC5BVVMuZ2VvY29kZXNfdGl0bGU7XHJcbiAgICAgICAgdGhpcy5jdkhvdXNlaG9sZC50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuQVVTLmN2X2hvdXNlaG9sZF90aXRsZTtcclxuICAgICAgICBnZW9jb2RlUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQuYXVzX3JlZ2lvbmFsX2dlb2NvZGVzKTtcclxuICAgICAgICBnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KE9iamVjdC5lbnRyaWVzKGVucmljaG1lbnRPdXRwdXQuQVVTLmF1c19yZWdpb25hbF9nZW9jb2RlcykpO1xyXG4gICAgICAgIGN2SG91c2Vob2xkUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQuYXVzX2N2X2hvdXNlaG9sZCk7XHJcbiAgICAgICAgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhlbnJpY2htZW50T3V0cHV0LkFVUy5hdXNfY3ZfaG91c2Vob2xkKSk7XHJcbiAgICAgICAgY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uID0gbmV3IE1hcDxzdHJpbmcsIG9iamVjdD4oT2JqZWN0LmVudHJpZXMoY29uc3VtZXJWaWV3RGVzY3JpcHRpb25zLkFVUykpO1xyXG4gICAgICAgIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbiA9IG5ldyBNYXA8c3RyaW5nLCBvYmplY3Q+KE9iamVjdC5lbnRyaWVzKHJlZ2lvbmFsR2VvY29kZURlc2NyaXB0aW9ucy5BVVMpKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5yZXN1bHQubnpsX3JlZ2lvbmFsX2dlb2NvZGVzKSB7XHJcbiAgICAgICAgdGhpcy5nZW9jb2Rlcy50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuTlpMLmdlb2NvZGVzX3RpdGxlO1xyXG4gICAgICAgIHRoaXMuY3ZIb3VzZWhvbGQudGl0bGUgPSBlbnJpY2htZW50T3V0cHV0Lk5aTC5jdl9ob3VzZWhvbGRfdGl0bGU7XHJcbiAgICAgICAgZ2VvY29kZVJlc3BvbnNlID0gT2JqZWN0LmVudHJpZXMocmVzcG9uc2UucmVzdWx0Lm56bF9yZWdpb25hbF9nZW9jb2Rlcyk7XHJcbiAgICAgICAgZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhlbnJpY2htZW50T3V0cHV0Lk5aTC5uemxfcmVnaW9uYWxfZ2VvY29kZXMpKTtcclxuICAgICAgICBjdkhvdXNlaG9sZFJlc3BvbnNlID0gT2JqZWN0LmVudHJpZXMocmVzcG9uc2UucmVzdWx0Lm56bF9jdl9ob3VzZWhvbGQpO1xyXG4gICAgICAgIGN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oT2JqZWN0LmVudHJpZXMoZW5yaWNobWVudE91dHB1dC5OWkwubnpsX2N2X2hvdXNlaG9sZCkpO1xyXG4gICAgICAgIGN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbiA9IG5ldyBNYXA8c3RyaW5nLCBvYmplY3Q+KE9iamVjdC5lbnRyaWVzKGNvbnN1bWVyVmlld0Rlc2NyaXB0aW9ucy5OWkwpKTtcclxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5yZXN1bHQudXNhX3JlZ2lvbmFsX2dlb2NvZGVzKSB7XHJcbiAgICAgICAgdGhpcy5nZW9jb2Rlcy50aXRsZSA9IGVucmljaG1lbnRPdXRwdXQuVVNBLmdlb2NvZGVzX3RpdGxlO1xyXG4gICAgICAgIGdlb2NvZGVSZXNwb25zZSA9IE9iamVjdC5lbnRyaWVzKHJlc3BvbnNlLnJlc3VsdC51c2FfcmVnaW9uYWxfZ2VvY29kZXMpO1xyXG4gICAgICAgIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oT2JqZWN0LmVudHJpZXMoZW5yaWNobWVudE91dHB1dC5VU0EudXNhX3JlZ2lvbmFsX2dlb2NvZGVzKSk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2UucmVzdWx0LnVrX2xvY2F0aW9uX2Vzc2VudGlhbCkge1xyXG4gICAgICAgIHRoaXMuZ2VvY29kZXMudGl0bGUgPSBlbnJpY2htZW50T3V0cHV0LkdCUi5nZW9jb2Rlc190aXRsZTtcclxuICAgICAgICBnZW9jb2RlUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQudWtfbG9jYXRpb25fZXNzZW50aWFsKTtcclxuICAgICAgICBnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KE9iamVjdC5lbnRyaWVzKGVucmljaG1lbnRPdXRwdXQuR0JSLnVrX2xvY2F0aW9uX2Vzc2VudGlhbCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZ2VvY29kZXMudGl0bGUgPSBlbnJpY2htZW50T3V0cHV0LkdMT0JBTC5nZW9jb2Rlc190aXRsZTtcclxuICAgICAgICBnZW9jb2RlUmVzcG9uc2UgPSBPYmplY3QuZW50cmllcyhyZXNwb25zZS5yZXN1bHQuZ2VvY29kZXMpO1xyXG4gICAgICAgIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oT2JqZWN0LmVudHJpZXMoZW5yaWNobWVudE91dHB1dC5HTE9CQUwuZ2VvY29kZXMpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHByZW1pdW1Mb2NhdGlvbkluc2lnaHRSZXNwb25zZSA9IHJlc3BvbnNlLnJlc3VsdC5wcmVtaXVtX2xvY2F0aW9uX2luc2lnaHQ7XHJcbiAgICAgIGlmIChwcmVtaXVtTG9jYXRpb25JbnNpZ2h0UmVzcG9uc2UpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE9iamVjdC5rZXlzKHByZW1pdW1Mb2NhdGlvbkluc2lnaHRSZXNwb25zZSkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBrZXkgPSBPYmplY3Qua2V5cyhwcmVtaXVtTG9jYXRpb25JbnNpZ2h0UmVzcG9uc2UpW2ldO1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gcHJlbWl1bUxvY2F0aW9uSW5zaWdodFJlc3BvbnNlW2tleV07XHJcbiAgICAgICAgICAvLyB0byBza2lwIGRpc3BsYXkgdW5uZWNlc3NhcnkgMCBpbmRleCBpbiB0aGUgVUkgaWYgb25seSAxIGFycmF5IG9iamVjdCBpcyByZXR1cm5lZFxyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLnByZW1pdW1Mb2NhdGlvbkluc2lnaHRNYXAuc2V0KGtleSwgdmFsdWVbMF0pO1xyXG4gICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMucHJlbWl1bUxvY2F0aW9uSW5zaWdodE1hcC5zZXQoa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnBvcHVsYXRlUmVzcG9uc2VUb01hcChnZW9jb2RlUmVzcG9uc2UsIGdlb2NvZGVzRXhwZWN0ZWRBdHRyaWJ1dGVzLCBnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24sIGdlb2NvZGVzRGV0YWlsc01hcCk7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVSZXNwb25zZVRvTWFwKGN2SG91c2Vob2xkUmVzcG9uc2UsIGN2SG91c2Vob2xkRXhwZWN0ZWRBdHRyaWJ1dGVzLCBjdkhvdXNlaG9sZEV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24sIGN2RGV0YWlsc01hcCk7XHJcbiAgICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtZW5yaWNobWVudCcsIHJlc3BvbnNlKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlUmVzcG9uc2VUb01hcChyZXNwb25zZSwgZXhwZWN0ZWRBdHRyaWJ1dGVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb246IE1hcDxzdHJpbmcsIG9iamVjdD4sIGRldGFpbHNNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcclxuICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiByZXNwb25zZSkge1xyXG4gICAgICAgIGlmICghZXhwZWN0ZWRBdHRyaWJ1dGVzLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBsYWJlbCA9IGV4cGVjdGVkQXR0cmlidXRlcy5nZXQoa2V5KTtcclxuICAgICAgICBpZiAoZXhwZWN0ZWRBdHRyaWJ1dGVEZXNjcmlwdGlvbiAmJiBleHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICBsZXQgdmFsdWVPYmogPSBleHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uLmdldChrZXkpO1xyXG4gICAgICAgICAgbGV0IGl0ZW0gPSBPYmplY3QudmFsdWVzKHZhbHVlT2JqKS5maW5kKGRhdGFzZXQgPT4gZGF0YXNldC5pZCA9PT0gdmFsdWUpO1xyXG4gICAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwRGVzY3JpcHRpb25NYXAuc2V0KGxhYmVsLCBpdGVtLnRpdGxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZGV0YWlsc01hcC5zZXQobGFiZWwsIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1RhYihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5nZXRLZXkoZXZlbnQpO1xyXG4gICAgaWYgKGtleSA9PT0gJ1RhYicpIHtcclxuICAgICAgdGhpcy5waWNrbGlzdC5rZXl1cChldmVudCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIC8vIFByZXZlbnQgYW4gJ0VudGVyJyBrZXlwcmVzcyBvbiB0aGUgaW5wdXQgc3VibWl0dGluZyB0aGUgZm9ybVxyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZWFyY2hTcGlubmVyID0ge1xyXG4gICAgc2hvdzogKCkgPT4ge1xyXG4gICAgICAvLyBSZXR1cm4gaWYgd2UncmUgbm90IGRpc3BsYXlpbmcgYSBzcGlubmVyXHJcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLnVzZVNwaW5uZXIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGlubmVyIGNvbnRhaW5lclxyXG4gICAgICBjb25zdCBzcGlubmVyQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHNwaW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCgnbG9hZGVyJyk7XHJcbiAgICAgIHNwaW5uZXJDb250YWluZXIuY2xhc3NMaXN0LmFkZCgnbG9hZGVyLWlubGluZScpO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIHRoZSBzcGlubmVyXHJcbiAgICAgIGNvbnN0IHNwaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgc3Bpbm5lci5jbGFzc0xpc3QuYWRkKCdzcGlubmVyJyk7XHJcbiAgICAgIHNwaW5uZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc3Bpbm5lcik7XHJcblxyXG4gICAgICAvLyBJbnNlcnQgdGhlIHNwaW5uZXIgYWZ0ZXIgdGhlIGZpZWxkXHJcbiAgICAgIHRoaXMuaW5wdXRzWzBdLnBhcmVudE5vZGU/Lmluc2VydEJlZm9yZShzcGlubmVyQ29udGFpbmVyLCB0aGlzLmlucHV0c1swXS5uZXh0U2libGluZyk7XHJcbiAgICB9LFxyXG5cclxuICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgLy8gUmV0dXJuIGlmIHdlJ3JlIG5vdCBkaXNwbGF5aW5nIGEgc3Bpbm5lclxyXG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy51c2VTcGlubmVyKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHNwaW5uZXIgPSB0aGlzLmlucHV0c1swXS5wYXJlbnROb2RlPy5xdWVyeVNlbGVjdG9yKCcubG9hZGVyLWlubGluZScpO1xyXG4gICAgICBpZiAoc3Bpbm5lcikge1xyXG4gICAgICAgIHRoaXMuaW5wdXRzWzBdLnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKHNwaW5uZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgLy8gVG9nZ2xlIHRoZSBcImhpZGRlblwiIGNsYXNzIHRvIGVpdGhlciBzaG93IG9yIGhpZGUgdGhlIGlucHV0IGFuZCBjb3VudHJ5IGZpZWxkKHMpXHJcbiAgcHJpdmF0ZSB0b2dnbGVTZWFyY2hJbnB1dHMoc3RhdGU6ICdzaG93JyB8ICdoaWRlJykge1xyXG4gICAgY29uc3QgbW9kaWZpZXIgPSBzdGF0ZSA9PT0gJ3Nob3cnID8gJ3JlbW92ZScgOiAnYWRkJztcclxuICAgIHRoaXMub3B0aW9ucy5lbGVtZW50cy5pbnB1dHM/LmZvckVhY2goaW5wdXQgPT4gaW5wdXQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCcudG9nZ2xlJykuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQuY2xhc3NMaXN0W21vZGlmaWVyXSgnaGlkZGVuJykpKTtcclxuICAgIHRoaXMub3B0aW9ucy5lbGVtZW50cy5jb3VudHJ5TGlzdD8ucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCcudG9nZ2xlJykuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQuY2xhc3NMaXN0W21vZGlmaWVyXSgnaGlkZGVuJykpO1xyXG4gICAgdGhpcy5vcHRpb25zLmVsZW1lbnRzLmxvb2t1cEJ1dHRvbj8ucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCcudG9nZ2xlJykuZm9yRWFjaChlbGVtZW50ID0+IGVsZW1lbnQuY2xhc3NMaXN0W21vZGlmaWVyXSgnaGlkZGVuJykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnbG9iYWxSZXNldChldmVudD8pIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgLy8gRW5hYmxlIHNlYXJjaGluZ1xyXG4gICAgdGhpcy5vcHRpb25zLmVuYWJsZWQgPSB0cnVlO1xyXG4gICAgXHJcbiAgICAvLyBIaWRlIGZvcm1hdHRlZCBhZGRyZXNzXHJcbiAgICB0aGlzLnJlc3VsdC5oaWRlKCk7XHJcblxyXG4gICAgLy8gUmVzZXQgc2VhcmNoIGlucHV0IGJhY2tcclxuICAgIHRoaXMuaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQgPSB0cnVlO1xyXG5cclxuICAgIC8vIENsZWFyIHRoZSBpbnB1dCBmaWVsZChzKVxyXG4gICAgdGhpcy5pbnB1dHMuZm9yRWFjaChpbnB1dCA9PiBpbnB1dC52YWx1ZSA9ICcnKTtcclxuICAgIC8vIFJlbW92ZSB0aGUgcGlja2xpc3QgKGlmIHByZXNlbnQpXHJcbiAgICB0aGlzLnBpY2tsaXN0LmhpZGUoKTtcclxuICAgIC8vIFNob3cgc2VhcmNoIGlucHV0XHJcbiAgICB0aGlzLnRvZ2dsZVNlYXJjaElucHV0cygnc2hvdycpO1xyXG4gICAgLy8gQXBwbHkgZm9jdXMgdG8gaW5wdXRcclxuICAgIHRoaXMuaW5wdXRzWzBdLmZvY3VzKCk7XHJcblxyXG4gICAgLy8gc2V0IEFkZHJlc3NWYWxpZGF0aW9uTW9kZSBiYWNrIHRvIGRlZmF1bHRcclxuICAgIHRoaXMuYXZNb2RlID0gQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLlNFQVJDSDtcclxuXHJcbiAgICAvLyBGaXJlIGFuIGV2ZW50IGFmdGVyIGEgcmVzZXRcclxuICAgIHRoaXMuZXZlbnRzLnRyaWdnZXIoJ3Bvc3QtcmVzZXQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNJbnRlcm5hdGlvbmFsVmFsaWRhdGlvbigpOiBib29sZWFuIHtcclxuICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBjdXJyZW50IGRhdGFzZXQgaW5kaWNhdGVzIHRoaXMgaXMgYSBpbnRlcm5hdGlvbmFsIGRhdGEgdmFsaWRhdGlvbiBjYWxsXHJcbiAgICBpZiAodGhpcy5zZWFyY2hUeXBlID09PSBBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUuVkFMSURBVEVcclxuICAgICAgJiYgdGhpcy5jdXJyZW50RGF0YVNldC5sZW5ndGggPT0gMVxyXG4gICAgICAmJiB0aGlzLmN1cnJlbnREYXRhU2V0WzBdLnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoXCItRURcIikpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlTG9va3VwVHlwZShhdk1vZGU6IEFkZHJlc3NWYWxpZGF0aW9uTW9kZSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2goYXZNb2RlIGFzIGFueSkge1xyXG4gICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5XSEFUM1dPUkRTOlxyXG4gICAgICAgIHJldHVybiBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLldIQVQzV09SRFMua2V5O1xyXG4gICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5VRFBSTjpcclxuICAgICAgICByZXR1cm4gQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5VRFBSTi5rZXk7XHJcbiAgICAgIGNhc2UgQWRkcmVzc1ZhbGlkYXRpb25Nb2RlLkxPQ0FMSVRZOlxyXG4gICAgICAgIHJldHVybiBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLkxPQ0FMSVRZLmtleTtcclxuICAgICAgY2FzZSBBZGRyZXNzVmFsaWRhdGlvbk1vZGUuUE9TVEFMX0NPREU6XHJcbiAgICAgICAgcmV0dXJuIEFkZHJlc3NWYWxpZGF0aW9uTG9va3VwS2V5d29yZHMuUE9TVEFMX0NPREUua2V5O1xyXG4gICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5NUEFOOlxyXG4gICAgICAgIHJldHVybiBBZGRyZXNzVmFsaWRhdGlvbkxvb2t1cEtleXdvcmRzLk1QQU4ua2V5O1xyXG4gICAgICBjYXNlIEFkZHJlc3NWYWxpZGF0aW9uTW9kZS5NUFJOOiBcclxuICAgICAgICByZXR1cm4gQWRkcmVzc1ZhbGlkYXRpb25Mb29rdXBLZXl3b3Jkcy5NUFJOLmtleTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiaW1wb3J0IEFkZHJlc3NWYWxpZGF0aW9uIGZyb20gJy4vYWRkcmVzcy1zZWFyY2gnO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gIGludGVyZmFjZSBXaW5kb3cge1xyXG4gICAgQWRkcmVzc1ZhbGlkYXRpb246IGFueTtcclxuICB9XHJcbn1cclxuXHJcbndpbmRvdy5BZGRyZXNzVmFsaWRhdGlvbiA9IEFkZHJlc3NWYWxpZGF0aW9uOyJdLCJuYW1lcyI6WyJBZGRyZXNzVmFsaWRhdGlvblNlYXJjaFR5cGUiLCJBZGRyZXNzVmFsaWRhdGlvbk1vZGUiLCJjb2xsZWN0aW9uIiwib24iLCJldmVudCIsImFjdGlvbiIsInRoaXMiLCJwdXNoIiwidHJpZ2dlciIsImRhdGEiLCJpIiwibGVuZ3RoIiwiYXJncyIsImEiLCJhcmd1bWVudHMiLCJhcHBseSIsImUiLCJpbnN0YW5jZSIsInNlbmQiLCJ1cmwiLCJtZXRob2QiLCJjYWxsYmFjayIsImhlYWRlcnMiLCJjdXJyZW50UmVxdWVzdCIsIlhNTEh0dHBSZXF1ZXN0Iiwib3BlbiIsInRpbWVvdXQiLCJzZXRSZXF1ZXN0SGVhZGVyIiwib3B0aW9ucyIsInRva2VuIiwiZm9yRWFjaCIsImhlYWRlciIsImtleSIsInZhbHVlIiwib25sb2FkIiwieGhyIiwic3RhdHVzIiwiSlNPTiIsInBhcnNlIiwicmVzcG9uc2VUZXh0Iiwic2VhcmNoU3Bpbm5lciIsImhpZGUiLCJldmVudHMiLCJvbmVycm9yIiwib250aW1lb3V0IiwiQWRkcmVzc1ZhbGlkYXRpb25Db25maWRlbmNlVHlwZSIsIkFkZHJlc3NWYWxpZGF0aW9uTG9va3VwS2V5d29yZHMiLCJXSEFUM1dPUkRTIiwiZGlzcGxheSIsImRhdGFzZXQiLCJVRFBSTiIsIk1QQU4iLCJNUFJOIiwiUE9TVEFMX0NPREUiLCJMT0NBTElUWSIsIkFkZEFkZHJlc3Nlc09wdGlvbnMiLCJUUlVFIiwiRkFMU0UiLCJkZWZhdWx0cyIsImF2TW9kZSIsIlNFQVJDSCIsInNlYXJjaFR5cGUiLCJDT01CSU5FRCIsImlucHV0IiwicGxhY2Vob2xkZXJUZXh0IiwiYXBwbHlGb2N1cyIsImZvcm1hdHRlZEFkZHJlc3NDb250YWluZXIiLCJzaG93SGVhZGluZyIsImhlYWRpbmdUeXBlIiwidmFsaWRhdGVkSGVhZGluZ1RleHQiLCJtYW51YWxIZWFkaW5nVGV4dCIsInNlYXJjaEFnYWluIiwidmlzaWJsZSIsInRleHQiLCJ1c2VBZGRyZXNzRW50ZXJlZFRleHQiLCJ1c2VTcGlubmVyIiwibGFuZ3VhZ2UiLCJhZGRyZXNzTGluZUxhYmVscyIsImRhdGFzZXRDb2RlcyIsImNvdW50cnkiLCJpc28zQ29kZSIsImlzbzJDb2RlIiwic2VhcmNoVHlwZXMiLCJwcmVkZWZpbmVkRm9ybWF0cyIsImNvdW50cnlJc28iLCJtaW5MZW5ndGgiLCJtb2RlIiwiZm9ybWF0IiwidHJhbnNsYXRpb25zIiwiZW4iLCJnYnIiLCJsb2NhbGl0eSIsInJlZ2lvbiIsInBvc3RhbF9jb2RlIiwidXNhIiwic2l6ZSIsIm1heFN1Z2dlc3Rpb25zIiwiZGV0YWlsc01hcCIsIk1hcCIsImVucmljaG1lbnRPdXRwdXQiLCJjb25zdW1lclZpZXdEZXNjcmlwdGlvbnMiLCJtb3NhaWNfZ3JvdXAiLCJpZCIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJtb3NhaWNfdHlwZSIsImFkdWx0c19hdF9hZGRyZXNzIiwiY2hpbGRyZW5fYXRfYWRkcmVzcyIsImhlYWRfb2ZfaG91c2Vob2xkX2FnZSIsImhlYWRfb2ZfaG91c2Vob2xkX2xpZmVzdGFnZSIsImhvdXNlaG9sZF9jb21wb3NpdGlvbiIsIm1vc2FpY19zZWdtZW50IiwibW9zYWljX3R5cGVfZ3JvdXAiLCJyZWdpb25hbEdlb2NvZGVEZXNjcmlwdGlvbnMiLCJsb2NhbGl0eV9jbGFzc19jb2RlIiwiY291bnRyeURyb3Bkb3duIiwiY29tcG9uZW50c0NvbGxlY3Rpb25NYXAiLCJtZXRhZGF0YUNvbGxlY3Rpb25NYXAiLCJnZW9jb2RlcyIsIkVucmljaG1lbnREZXRhaWxzIiwiY3ZIb3VzZWhvbGQiLCJ0b29sdGlwRGVzY3JpcHRpb25NYXAiLCJwcmVtaXVtTG9jYXRpb25JbnNpZ2h0TWFwIiwiYmFzZVVybCIsImRhdGFzZXRzRW5kcG9pbnQiLCJzZWFyY2hFbmRwb2ludCIsImxvb2t1cFYyRW5kcG9pbnQiLCJ2YWxpZGF0ZUVuZHBvaW50IiwicHJvbXB0c2V0RW5kcG9pbnQiLCJzdGVwSW5FbmRwb2ludCIsInJlZmluZUVuZHBvaW50IiwiZW5yaWNobWVudEVuZHBvaW50IiwicG93ZXJlZEJ5TG9nbyIsImVsZW1lbnQiLCJjcmVhdGUiLCJwaWNrbGlzdCIsIml0ZW0iLCJzdmciLCJsaXN0SXRlbSIsImNyZWF0ZUxpc3RJdGVtIiwiY2xhc3NMaXN0IiwiYWRkIiwibGlzdCIsInBhcmVudE5vZGUiLCJhcHBlbmRDaGlsZCIsImRlc3Ryb3kiLCJyZW1vdmVDaGlsZCIsInVuZGVmaW5lZCIsInJlc3VsdCIsImxhc3RBZGRyZXNzRmllbGQiLCJnZW5lcmF0ZUFkZHJlc3NMaW5lUmVxdWlyZWQiLCJzaG93IiwibGFzdFNlYXJjaFRlcm0iLCJBVVRPQ09NUExFVEUiLCJhZGRyZXNzIiwiY29uZmlkZW5jZSIsIk5PX01BVENIRVMiLCJpbnB1dHMiLCJjYWxjdWxhdGVJZkFkZHJlc3NMaW5lR2VuZXJhdGlvblJlcXVpcmVkIiwiZWxlbWVudHMiLCJjcmVhdGVGb3JtYXR0ZWRBZGRyZXNzQ29udGFpbmVyIiwiT2JqZWN0Iiwia2V5cyIsImFkZHJlc3NDb21wb25lbnQiLCJ1cGRhdGVBZGRyZXNzTGluZSIsImNsZWFyIiwiY29tcG9uZW50cyIsInNldCIsIm1ldGFkYXRhIiwidG9nZ2xlU2VhcmNoSW5wdXRzIiwiaGFzU2VhcmNoSW5wdXRCZWVuUmVzZXQiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJjcmVhdGVTZWFyY2hBZ2FpbkxpbmsiLCJzaG93TG9va3VwVjIiLCJhZGRyZXNzZXNfZm9ybWF0dGVkIiwibWFwcGVkUmVzcG9uc2UiLCJnYXNfbWV0ZXJzIiwiYWRkcmVzc19saW5lXzEiLCJyZWxfYWRkcmVzc19wcmltYXJ5X25hbWUiLCJhZGRyZXNzX2xpbmVfMiIsInJlbF9hZGRyZXNzX3N0cmVldDEiLCJyZWxfYWRkcmVzc190b3duIiwicmVsX2FkZHJlc3NfcG9zdGNvZGUiLCJyZWxfYWRkcmVzc19jb3VudHJ5IiwiZWxlY3RyaWNpdHlfbWV0ZXJzIiwiYWRkcmVzc19saW5lXzMiLCJhZGRyZXNzX2xpbmVfNSIsImFkZHJlc3NfbGluZV84IiwiYWRkcmVzc19wb3N0YWxfY29kZSIsImFkZHJlc3NfY291bnRyeSIsImxpbmsiLCJjcmVhdGVBZGRyZXNzTGluZSIsImNsYXNzTmFtZSIsImRpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhYmVsIiwiaW5uZXJIVE1MIiwicmVwbGFjZSIsInN0ciIsInRvVXBwZXJDYXNlIiwic2V0QXR0cmlidXRlIiwidG9Mb3dlckNhc2UiLCJjdXJyZW50Q291bnRyeUNvZGUiLCJ0cmFuc2xhdGVkTGFiZWwiLCJjb250YWluZXIiLCJwb3NpdGlvbiIsIlNJTkdMRUxJTkUiLCJpbnNlcnRCZWZvcmUiLCJuZXh0U2libGluZyIsImNyZWF0ZUhlYWRpbmciLCJoZWFkaW5nIiwidXBkYXRlSGVhZGluZyIsInF1ZXJ5U2VsZWN0b3IiLCJhZGRyZXNzTGluZU9iamVjdCIsImFkZHJlc3NGaWVsZCIsInVwZGF0ZUxhYmVsIiwibm9kZU5hbWUiLCJpbm5lclRleHQiLCJmaWVsZCIsImxhYmVscyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaHRtbEZvciIsImFkZEV2ZW50TGlzdGVuZXIiLCJnbG9iYWxSZXNldCIsImJpbmQiLCJyZW5kZXJJbnB1dExpc3QiLCJpbnB1dEFycmF5IiwiaGFuZGxlVXRpbGl0aWVzTG9va3VwUmVzcG9uc2UiLCJWRVJJRklFRF9NQVRDSCIsImhhbmRsZUVtcHR5UGlja2xpc3QiLCJoYW5kbGVWYWxpZGF0ZVJlc3BvbnNlIiwicmVzcG9uc2UiLCJJTlRFUkFDVElPTl9SRVFVSVJFRCIsInN1Z2dlc3Rpb25zIiwiaGFuZGxlRW5yaWNobWVudFJlc3BvbnNlIiwiZ2VvY29kZVJlc3BvbnNlIiwiZ2VvY29kZXNFeHBlY3RlZEF0dHJpYnV0ZXMiLCJnZW9jb2Rlc0V4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24iLCJjdkhvdXNlaG9sZFJlc3BvbnNlIiwiY3ZIb3VzZWhvbGRFeHBlY3RlZEF0dHJpYnV0ZXMiLCJjdkhvdXNlaG9sZEV4cGVjdGVkQXR0cmlidXRlRGVzY3JpcHRpb24iLCJnZW9jb2Rlc0RldGFpbHNNYXAiLCJjdkRldGFpbHNNYXAiLCJhdXNfcmVnaW9uYWxfZ2VvY29kZXMiLCJlbnRyaWVzIiwiYXVzX2N2X2hvdXNlaG9sZCIsIm56bF9yZWdpb25hbF9nZW9jb2RlcyIsIm56bF9jdl9ob3VzZWhvbGQiLCJ1c2FfcmVnaW9uYWxfZ2VvY29kZXMiLCJ1a19sb2NhdGlvbl9lc3NlbnRpYWwiLCJwcmVtaXVtTG9jYXRpb25JbnNpZ2h0UmVzcG9uc2UiLCJwcmVtaXVtX2xvY2F0aW9uX2luc2lnaHQiLCJBcnJheSIsImlzQXJyYXkiLCJwb3B1bGF0ZVJlc3BvbnNlVG9NYXAiLCJzcGlubmVyQ29udGFpbmVyIiwic3Bpbm5lciIsIm1lcmdlRGVmYXVsdE9wdGlvbnMiLCJzZXR1cCIsInNldFRva2VuIiwic2V0U2VhcmNoVHlwZSIsInNldElucHV0cyIsImdldExvb2t1cEVucmljaG1lbnREYXRhIiwicmVnaW9uYWxBdHRyaWJ1dGVzIiwiY2FsbEVucmljaG1lbnQiLCJnZXRFbnJpY2htZW50RGF0YSIsImdldEVucmljaG1lbnRBdHRyaWJ1dGVzIiwiZ2xvYmFsQWRkcmVzc0tleSIsIndoYXQzd29yZHMiLCJjb3VudHJ5X2lzbyIsImdsb2JhbF9hZGRyZXNzX2tleSIsImF0dHJpYnV0ZXMiLCJyZXF1ZXN0Iiwic3RyaW5naWZ5Iiwic2V0Q291bnRyeUxpc3QiLCJjcmVhdGVQaWNrbGlzdCIsInNldFRpbWVvdXQiLCJnZXRQYXJhbWV0ZXIiLCJuYW1lIiwicmVzdWx0cyIsIlJlZ0V4cCIsImV4ZWMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImRlY29kZVVSSUNvbXBvbmVudCIsImN1c3RvbU9wdGlvbnMiLCJlbmFibGVkIiwiZ2V0UHJvbXB0c2V0IiwiY3VycmVudERhdGFTZXQiLCJsb29rdXBEYXRhc2V0Q29kZXMiLCJoYW5kbGVQcm9tcHRzZXRSZXN1bHQiLCJsaW5lcyIsImV4YW1wbGUiLCJwcm9tcHQiLCJzdWdnZXN0ZWRfaW5wdXRfbGVuZ3RoIiwiVkFMSURBVEUiLCJMT09LVVBWMiIsIm1hcCIsIngiLCJzb3J0IiwiZHJvcGRvd25fb3B0aW9ucyIsInZhbHVlcyIsImZpbHRlciIsInR5cGUiLCJ5Iiwic29tZSIsImRhdGFzZXRzIiwic2VhcmNoX3R5cGUiLCJwcm9tcHRfc2V0IiwiY3VycmVudENvdW50cnlOYW1lIiwiZmluZCIsImluY2x1ZGVzIiwibG9va3VwU2VhcmNoVHlwZXMiLCJjb3VudHJ5Q29kZSIsImNvdW50cnlOYW1lIiwiaXRlbXMiLCJmbGF0TWFwIiwiYiIsImluZGV4T2YiLCJyZWFkUHJlZGVmaW5lZEZvcm1hdHMiLCJyZWdpc3RlcklucHV0cyIsImxvb2t1cEJ1dHRvbiIsImxvb2t1cEZuIiwiZnJvbSIsImtleVVwRm4iLCJjaGVja1RhYkZuIiwiY2hlY2tUYWIiLCJoYW5kbGVLZXlib2FyZEV2ZW50IiwiY291bnRyeUNvZGVNYXBwaW5nIiwiZm9jdXMiLCJoYW5kbGVEYXRhc2V0c1Jlc3BvbnNlIiwiY291bnRyeUxpc3QiLCJzZWxlY3RlZEluZGV4IiwiaGFuZGxlQ291bnRyeUxpc3RDaGFuZ2UiLCJFcnJvciIsImNvdW50cmllcyIsImNvdW50cnlEYXRhc2V0IiwibyIsInZhbGlkX2NvbWJpbmF0aW9ucyIsImNvdW50cnlEYXRhc2V0Q29tYmluYXRpb24iLCJzb3J0ZWQiLCJzbGljZSIsImV2ZXJ5IiwiaW5kZXgiLCJsb2NhbGVDb21wYXJlIiwiYXZhaWxhYmxlU2VhcmNoVHlwZXMiLCJpc0N1cnJlbnRTZWFyY2hUeXBlU3VwcG9ydGVkIiwiZ2VuZXJhdGVTZWFyY2hEYXRhRm9yQXBpQ2FsbCIsInVuc3BlY2lmaWVkIiwiY3VycmVudFNlYXJjaFRlcm0iLCJtYXhfc3VnZ2VzdGlvbnMiLCJWYWx1ZSIsImdlbmVyYXRlTG9va3VwRGF0YUZvckFwaUNhbGwiLCJsYXlvdXRzIiwibWF4U3VnZ2VzdGlvbnNGb3JMb29rdXAiLCJnZW5lcmF0ZUxvb2t1cFR5cGUiLCJnZXRXaGF0M1dvcmRzTG9va3VwVmFsdWUiLCJzaG91bGRHZXRTdWdnZXN0aW9ucyIsInN0YXJ0c1dpdGgiLCJwcmV2ZW50RGVmYXVsdCIsImdldEtleSIsImtleXVwIiwiY291bnRyeUNvZGVBbmREYXRhc2V0Iiwic3BsaXQiLCJkZWxpbWl0ZXIiLCJpc0ludGVybmF0aW9uYWxWYWxpZGF0aW9uIiwiam9pbiIsImNhblNlYXJjaCIsImFib3J0IiwicHJlZGVmaW5lZEl0ZW0iLCJ0ZXN0IiwidHJpbSIsImxvb2t1cFNlYXJjaFRlcm0iLCJyZXR1cm5BZGRyZXNzZXMiLCJzaG93V2hhdDNXb3JkcyIsInNob3dMb29rdXAiLCJQaWNrbGlzdCIsInRhYkNvdW50IiwiaGFuZGxlQ29tbW9uU2hvd1BpY2tsaXN0TG9naWMiLCJyZWZpbmUiLCJpc05lZWRlZCIsImNyZWF0ZUlucHV0Iiwic3VnZ2VzdGlvbnNfcHJvbXB0Iiwic3VnZ2VzdGlvbnNfa2V5IiwiZGlzcGxheVN1Z2dlc3Rpb25zSGVhZGVyIiwibGlzdGVuIiwiZGlzcGxheVVzZUFkZHJlc3NFbnRlcmVkRm9vdGVyIiwic2Nyb2xsSW50b1ZpZXdJZk5lZWRlZCIsIndoYXQzd29yZHNJdGVtcyIsImNyZWF0ZVdoYXQzV29yZHNMaXN0SXRlbSIsInBpY2tsaXN0SXRlbSIsImFkZHJlc3NlcyIsImNyZWF0ZUxvb2t1cExpc3RJdGVtIiwiY3JlYXRlTG9va3VwU3VnZ2VzdGlvbkxpc3RJdGVtIiwiY3VycmVudEl0ZW0iLCJyZXNldFRhYkNvdW50IiwiY3JlYXRlTGlzdCIsInVzZUFkZHJlc3NFbnRlcmVkIiwicmVtb3ZlIiwiaGFuZGxlRW1wdHlQaWNrbGlzdENhbGxiYWNrIiwidGl0bGVEaXYiLCJjb250YWluZXJEaXYiLCJuZXh0RWxlbWVudFNpYmxpbmciLCJpdGVtRGl2IiwiY2xpY2siLCJvdXRPZkJvdW5kc1RvcCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInRvcCIsIm91dE9mQm91bmRzQm90dG9tIiwiYm90dG9tIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJzY3JvbGxJbnRvVmlldyIsImZpcnN0Q2hpbGQiLCJpbnB1dERhdGEiLCJmb3JtYXRNYW51YWxBZGRyZXNzTGluZSIsImxpbmVPYmplY3QiLCJjaGVja0VudGVyIiwicm93IiwiYWRkTWF0Y2hpbmdFbXBoYXNpcyIsInBvc3RhbENvZGUiLCJ0b3duTmFtZSIsInRvd24iLCJyZWdpb25OYW1lIiwiY29kZSIsInBvc3RhbENvZGVOYW1lIiwiZnVsbF9uYW1lIiwicHJpbWFyeSIsInBvc3RhbF9jb2RlX2tleSIsImxvY2FsaXR5X2tleSIsIlBSRU1JU0VTX1BBUlRJQUwiLCJTVFJFRVRfUEFSVElBTCIsIk1VTFRJUExFX01BVENIRVMiLCJlbnRlciIsImJ1dHRvbiIsIktleWJvYXJkRXZlbnQiLCJNb3VzZUV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicmVmaW5lbWVudCIsImdldEF0dHJpYnV0ZSIsImZpcnN0QWRkcmVzcyIsImxhc3RBZGRyZXNzIiwicXVlcnlTZWxlY3RvckFsbCIsImN1cnJlbnRseUhpZ2hsaWdodGVkIiwicHJldmlvdXNseUhpZ2hsaWdodGVkIiwiYWRkcmVzc0xpc3RDb29yZHMiLCJvZmZzZXRUb3AiLCJvZmZzZXRIZWlnaHQiLCJzY3JvbGxUb3AiLCJoaWdobGlnaHRzIiwibWF0Y2hlZCIsInJlcGxhY2VtZW50Iiwic3Vic3RyaW5nIiwicGljayIsImNvbnRhaW5zIiwibG9va3VwIiwiZm9ybWF0TG9va3VwTG9jYWxpdHlXaXRob3V0QWRkcmVzc2VzIiwibG9va3VwVHlwZSIsImxheW91dCIsImxheW91dF9mb3JtYXQiLCJsb29rdXBWMlJlcXVlc3QiLCJleHBlY3RlZEF0dHJpYnV0ZXMiLCJleHBlY3RlZEF0dHJpYnV0ZURlc2NyaXB0aW9uIiwiaGFzIiwiZ2V0IiwidmFsdWVPYmoiLCJzdGF0ZSIsIm1vZGlmaWVyIiwiZW5kc1dpdGgiLCJBZGRyZXNzVmFsaWRhdGlvbiJdLCJzb3VyY2VSb290IjoiIn0=