<?php
$arr = json_decode('{"@attributes":{"Status":"OK"},"Errors":{},"Warnings":{},"RequestedCommand":"namecheap.users.getpricing","CommandResponse":{"@attributes":{"Type":"namecheap.users.getPricing"},"UserGetPricingResult":{"ProductType":{"@attributes":{"Name":"domains"},"ProductCategory":[{"@attributes":{"Name":"reactivate"},"Product":{"@attributes":{"Name":"com"},"Price":{"@attributes":{"Duration":"1","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}}}},{"@attributes":{"Name":"register"},"Product":{"@attributes":{"Name":"com"},"Price":[{"@attributes":{"Duration":"1","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"2","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"3","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"4","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"5","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"6","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"7","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"8","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"9","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"10","DurationType":"YEAR","Price":"13.98","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.98","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.98","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}}]}},{"@attributes":{"Name":"renew"},"Product":{"@attributes":{"Name":"com"},"Price":[{"@attributes":{"Duration":"1","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"2","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"3","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"4","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"5","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"6","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"7","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"8","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}},{"@attributes":{"Duration":"9","DurationType":"YEAR","Price":"14.58","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"14.58","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"14.58","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}}]}},{"@attributes":{"Name":"transfer"},"Product":{"@attributes":{"Name":"com"},"Price":{"@attributes":{"Duration":"1","DurationType":"YEAR","Price":"13.78","PricingType":"MULTIPLE","AdditionalCost":"0.18","RegularPrice":"13.78","RegularPriceType":"MULTIPLE","RegularAdditionalCost":"0.18","RegularAdditionalCostType":"MULTIPLE","YourPrice":"13.78","YourPriceType":"MULTIPLE","YourAdditonalCost":"0.18","YourAdditonalCostType":"MULTIPLE","PromotionPrice":"0.0","Currency":"USD"}}}}]}}},"Server":"PHX01SBAPIEXT06","GMTTimeDifference":"--4:00","ExecutionTime":"0.065"}', true);
function getRegisterPrice($domainTLD, $newArr) {
// Extract the "Register" product category for the target TLD
$registerCategory = array_filter($newArr['CommandResponse']['UserGetPricingResult']['ProductType']['ProductCategory'], function ($category) use ($domainTLD) { //var_dump($category);
$catName = $category['@attributes']['Name'];
$prodName = $category['Product']['@attributes']['Name'];
//echo "Cat: $catName\nProduct: $prodName\n";
return $catName === 'register' && $prodName === $domainTLD;
});
//var_dump($registerCategory);
// Extract the prices for the 1-year duration from the "register" category for the target TLD
$registerPrices = array_column($registerCategory, 'Product');
//var_dump($registerPrices);
$registerPriceForOneYear = null;
foreach ($registerPrices as $product) {
foreach ($product['Price'] as $price) {
if ($price['@attributes']['Duration'] == 1 && $price['@attributes']['DurationType'] == 'YEAR') {
$registerPriceForOneYear = $price['@attributes']['Price'];
break 2; // Exit both loops once the price for 1 year is found
}
}
}
return $registerPriceForOneYear;
}
var_dump(getRegisterPrice
('com', $arr));
PD9waHAKJGFyciA9IGpzb25fZGVjb2RlKCd7IkBhdHRyaWJ1dGVzIjp7IlN0YXR1cyI6Ik9LIn0sIkVycm9ycyI6e30sIldhcm5pbmdzIjp7fSwiUmVxdWVzdGVkQ29tbWFuZCI6Im5hbWVjaGVhcC51c2Vycy5nZXRwcmljaW5nIiwiQ29tbWFuZFJlc3BvbnNlIjp7IkBhdHRyaWJ1dGVzIjp7IlR5cGUiOiJuYW1lY2hlYXAudXNlcnMuZ2V0UHJpY2luZyJ9LCJVc2VyR2V0UHJpY2luZ1Jlc3VsdCI6eyJQcm9kdWN0VHlwZSI6eyJAYXR0cmlidXRlcyI6eyJOYW1lIjoiZG9tYWlucyJ9LCJQcm9kdWN0Q2F0ZWdvcnkiOlt7IkBhdHRyaWJ1dGVzIjp7Ik5hbWUiOiJyZWFjdGl2YXRlIn0sIlByb2R1Y3QiOnsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6ImNvbSJ9LCJQcmljZSI6eyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjEiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxNC41OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxNC41OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxNC41OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fX19LHsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6InJlZ2lzdGVyIn0sIlByb2R1Y3QiOnsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6ImNvbSJ9LCJQcmljZSI6W3siQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiIxIiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTMuOTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTMuOTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTMuOTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjIiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxMy45OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxMy45OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxMy45OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiMyIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjEzLjk4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjEzLjk4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjEzLjk4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19LHsiQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiI0IiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTMuOTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTMuOTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTMuOTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjUiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxMy45OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxMy45OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxMy45OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiNiIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjEzLjk4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjEzLjk4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjEzLjk4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19LHsiQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiI3IiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTMuOTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTMuOTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTMuOTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjgiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxMy45OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxMy45OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxMy45OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiOSIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjEzLjk4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjEzLjk4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjEzLjk4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19LHsiQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiIxMCIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjEzLjk4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjEzLjk4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjEzLjk4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19XX19LHsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6InJlbmV3In0sIlByb2R1Y3QiOnsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6ImNvbSJ9LCJQcmljZSI6W3siQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiIxIiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTQuNTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTQuNTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTQuNTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjIiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxNC41OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxNC41OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxNC41OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiMyIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjE0LjU4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjE0LjU4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjE0LjU4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19LHsiQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiI0IiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTQuNTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTQuNTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTQuNTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjUiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxNC41OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxNC41OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxNC41OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiNiIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjE0LjU4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjE0LjU4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjE0LjU4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19LHsiQGF0dHJpYnV0ZXMiOnsiRHVyYXRpb24iOiI3IiwiRHVyYXRpb25UeXBlIjoiWUVBUiIsIlByaWNlIjoiMTQuNTgiLCJQcmljaW5nVHlwZSI6Ik1VTFRJUExFIiwiQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhclByaWNlIjoiMTQuNTgiLCJSZWd1bGFyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJSZWd1bGFyQWRkaXRpb25hbENvc3QiOiIwLjE4IiwiUmVndWxhckFkZGl0aW9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiWW91clByaWNlIjoiMTQuNTgiLCJZb3VyUHJpY2VUeXBlIjoiTVVMVElQTEUiLCJZb3VyQWRkaXRvbmFsQ29zdCI6IjAuMTgiLCJZb3VyQWRkaXRvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIlByb21vdGlvblByaWNlIjoiMC4wIiwiQ3VycmVuY3kiOiJVU0QifX0seyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjgiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxNC41OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxNC41OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxNC41OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fSx7IkBhdHRyaWJ1dGVzIjp7IkR1cmF0aW9uIjoiOSIsIkR1cmF0aW9uVHlwZSI6IllFQVIiLCJQcmljZSI6IjE0LjU4IiwiUHJpY2luZ1R5cGUiOiJNVUxUSVBMRSIsIkFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJQcmljZSI6IjE0LjU4IiwiUmVndWxhclByaWNlVHlwZSI6Ik1VTFRJUExFIiwiUmVndWxhckFkZGl0aW9uYWxDb3N0IjoiMC4xOCIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdFR5cGUiOiJNVUxUSVBMRSIsIllvdXJQcmljZSI6IjE0LjU4IiwiWW91clByaWNlVHlwZSI6Ik1VTFRJUExFIiwiWW91ckFkZGl0b25hbENvc3QiOiIwLjE4IiwiWW91ckFkZGl0b25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJQcm9tb3Rpb25QcmljZSI6IjAuMCIsIkN1cnJlbmN5IjoiVVNEIn19XX19LHsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6InRyYW5zZmVyIn0sIlByb2R1Y3QiOnsiQGF0dHJpYnV0ZXMiOnsiTmFtZSI6ImNvbSJ9LCJQcmljZSI6eyJAYXR0cmlidXRlcyI6eyJEdXJhdGlvbiI6IjEiLCJEdXJhdGlvblR5cGUiOiJZRUFSIiwiUHJpY2UiOiIxMy43OCIsIlByaWNpbmdUeXBlIjoiTVVMVElQTEUiLCJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyUHJpY2UiOiIxMy43OCIsIlJlZ3VsYXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIlJlZ3VsYXJBZGRpdGlvbmFsQ29zdCI6IjAuMTgiLCJSZWd1bGFyQWRkaXRpb25hbENvc3RUeXBlIjoiTVVMVElQTEUiLCJZb3VyUHJpY2UiOiIxMy43OCIsIllvdXJQcmljZVR5cGUiOiJNVUxUSVBMRSIsIllvdXJBZGRpdG9uYWxDb3N0IjoiMC4xOCIsIllvdXJBZGRpdG9uYWxDb3N0VHlwZSI6Ik1VTFRJUExFIiwiUHJvbW90aW9uUHJpY2UiOiIwLjAiLCJDdXJyZW5jeSI6IlVTRCJ9fX19XX19fSwiU2VydmVyIjoiUEhYMDFTQkFQSUVYVDA2IiwiR01UVGltZURpZmZlcmVuY2UiOiItLTQ6MDAiLCJFeGVjdXRpb25UaW1lIjoiMC4wNjUifScsIHRydWUpOwoKZnVuY3Rpb24gZ2V0UmVnaXN0ZXJQcmljZSgkZG9tYWluVExELCAkbmV3QXJyKSB7CiAgICAvLyBFeHRyYWN0IHRoZSAiUmVnaXN0ZXIiIHByb2R1Y3QgY2F0ZWdvcnkgZm9yIHRoZSB0YXJnZXQgVExECiAgICAkcmVnaXN0ZXJDYXRlZ29yeSA9IGFycmF5X2ZpbHRlcigkbmV3QXJyWydDb21tYW5kUmVzcG9uc2UnXVsnVXNlckdldFByaWNpbmdSZXN1bHQnXVsnUHJvZHVjdFR5cGUnXVsnUHJvZHVjdENhdGVnb3J5J10sIGZ1bmN0aW9uICgkY2F0ZWdvcnkpIHVzZSAoJGRvbWFpblRMRCkgewogICAgICAgIC8vdmFyX2R1bXAoJGNhdGVnb3J5KTsKICAgICAgICAkY2F0TmFtZSA9ICRjYXRlZ29yeVsnQGF0dHJpYnV0ZXMnXVsnTmFtZSddOwogICAgICAgICRwcm9kTmFtZSA9ICRjYXRlZ29yeVsnUHJvZHVjdCddWydAYXR0cmlidXRlcyddWydOYW1lJ107CiAgICAgICAgLy9lY2hvICJDYXQ6ICRjYXROYW1lXG5Qcm9kdWN0OiAkcHJvZE5hbWVcbiI7CiAgICAgICAgcmV0dXJuICRjYXROYW1lID09PSAncmVnaXN0ZXInICYmICRwcm9kTmFtZSA9PT0gJGRvbWFpblRMRDsKICAgIH0pOwoJLy92YXJfZHVtcCgkcmVnaXN0ZXJDYXRlZ29yeSk7CiAgICAvLyBFeHRyYWN0IHRoZSBwcmljZXMgZm9yIHRoZSAxLXllYXIgZHVyYXRpb24gZnJvbSB0aGUgInJlZ2lzdGVyIiBjYXRlZ29yeSBmb3IgdGhlIHRhcmdldCBUTEQKICAgICRyZWdpc3RlclByaWNlcyA9IGFycmF5X2NvbHVtbigkcmVnaXN0ZXJDYXRlZ29yeSwgJ1Byb2R1Y3QnKTsKICAgIC8vdmFyX2R1bXAoJHJlZ2lzdGVyUHJpY2VzKTsKICAgICRyZWdpc3RlclByaWNlRm9yT25lWWVhciA9IG51bGw7CiAgICBmb3JlYWNoICgkcmVnaXN0ZXJQcmljZXMgYXMgJHByb2R1Y3QpIHsKICAgICAgICBmb3JlYWNoICgkcHJvZHVjdFsnUHJpY2UnXSBhcyAkcHJpY2UpIHsKICAgICAgICAgICAgaWYgKCRwcmljZVsnQGF0dHJpYnV0ZXMnXVsnRHVyYXRpb24nXSA9PSAxICYmICRwcmljZVsnQGF0dHJpYnV0ZXMnXVsnRHVyYXRpb25UeXBlJ10gPT0gJ1lFQVInKSB7CiAgICAgICAgICAgICAgICAkcmVnaXN0ZXJQcmljZUZvck9uZVllYXIgPSAkcHJpY2VbJ0BhdHRyaWJ1dGVzJ11bJ1ByaWNlJ107CiAgICAgICAgICAgICAgICBicmVhayAyOyAvLyBFeGl0IGJvdGggbG9vcHMgb25jZSB0aGUgcHJpY2UgZm9yIDEgeWVhciBpcyBmb3VuZAogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICRyZWdpc3RlclByaWNlRm9yT25lWWVhcjsKfSAgIAoKdmFyX2R1bXAoZ2V0UmVnaXN0ZXJQcmljZSgnY29tJywgJGFycikpOwoK