PD9waHAKLyoqCiAqINCS0YvQstC+0LQg0Y/RgNC70YvQutC+0LIg0YLQvtCy0LDRgNCwICjQpdC40YIsINCd0L7QstC40L3QutCwLCDQodC60LjQtNC60LApCiAqIEBwYXJhbSBXQ19Qcm9kdWN0ICRwcm9kdWN0INCe0LHRitC10LrRgiDRgtC+0LLQsNGA0LAKICovCmZ1bmN0aW9uIGFnYXRfcmVuZGVyX3Byb2R1Y3RfYmFkZ2VzKCAkcHJvZHVjdCwgJHNob3dfY291bnRyeSA9IGZhbHNlICkgewogICAgaWYgKCAhIGlzX29iamVjdCggJHByb2R1Y3QgKSB8fCAhIGlzX2EoICRwcm9kdWN0LCAnV0NfUHJvZHVjdCcgKSApIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJGlzX2ZlYXR1cmVkICAgID0gJHByb2R1Y3QtPmlzX2ZlYXR1cmVkKCk7CiAgICAvLyAkaXNfb25fc2FsZSAgICAgPSAkcHJvZHVjdC0+aXNfb25fc2FsZSgpOwoKICAgIC8vINCk0LvQsNCzIMKr0J3QvtCy0LjQvdC60LDCuyDQvtCx0YnQuNC5INC90LAg0LPRgNGD0L/Qv9GDIOKAlCDRh9C40YLQsNC10Lwg0LjQtyDQvtGA0LjQs9C40L3QsNC70LAgKNC+0YHQvdC+0LLQvdC+0Lkg0Y/Qt9GL0LopLgogICAgJGlzX25ld19wcm9kdWN0ID0gYWdhdF9nZXRfcHJvZHVjdF9mbGFnX2Zyb21fc291cmNlKCAkcHJvZHVjdC0+Z2V0X2lkKCksICdfaXNfbmV3X3Byb2R1Y3QnICkgPT09ICd5ZXMnOwoKICAgIC8vINCV0YHQu9C4INC90Lgg0L7QtNC90L7Qs9C+INGE0LvQsNCz0LAg0L3QtdGCIOKAlCDQvdC40YfQtdCz0L4g0L3QtSDQstGL0LLQvtC00LjQvAogICAgLy8gaWYgKCAhICRpc19mZWF0dXJlZCAmJiAhICRpc19uZXdfcHJvZHVjdCApIHsKICAgIC8vICAgICByZXR1cm47CiAgICAvLyB9CgogICAgZWNobyAnPGRpdiBjbGFzcz0iY2FyZF9fdGFncyI+JzsKCiAgICBpZiAoICRpc19mZWF0dXJlZCApIHsKICAgICAgICBwcmludGYoICc8ZGl2IGNsYXNzPSJjYXJkX190YWcgY2FyZF9fdGFnLS10b3AiPjxzcGFuPiVzPC9zcGFuPjwvZGl2PicsIGVzY19odG1sX18oICfQpdC40YInLCAnYWdhdCcgKSApOwogICAgfQoKICAgIGlmICggJGlzX25ld19wcm9kdWN0ICkgewogICAgICAgIHByaW50ZiggJzxkaXYgY2xhc3M9ImNhcmRfX3RhZyBjYXJkX190YWctLW5ldyI+PHNwYW4+JXM8L3NwYW4+PC9kaXY+JywgZXNjX2h0bWxfXyggJ9Cd0L7QstC40L3QutCwJywgJ2FnYXQnICkgKTsKICAgIH0KCgogICAgLy8gaWYgKCAkaXNfb25fc2FsZSApIHsKICAgICAgICAvLyAgICAgcHJpbnRmKCAnPGRpdiBjbGFzcz0iY2FyZF9fdGFnIGNhcmRfX3RhZy0tZGlzY291bnQiPjxzcGFuPiVzPC9zcGFuPjwvZGl2PicsIGVzY19odG1sX18oICfQodC60LjQtNC60LAnLCAnYWdhdCcgKSApOwogICAgICAgIC8vIH0KCiAgICBpZiAoICRzaG93X2NvdW50cnkgKSB7CiAgICAgICAgJHRlcm1zID0gd2NfZ2V0X3Byb2R1Y3RfdGVybXMoICRwcm9kdWN0LT5nZXRfaWQoKSwgJ3BhX3Byb2l6dm9kc3R2bycsIFsgJ2ZpZWxkcycgPT4gJ2FsbCcgXSApOwogICAgICAgIGZvcmVhY2ggKCAkdGVybXMgYXMgJHRlcm0gKSA6CiAgICAgICAgICAgIC8vICRsYWJlbF9jb250ZW50ID0gISBlbXB0eSggdGVybV9kZXNjcmlwdGlvbiggJHRlcm0tPnRlcm1faWQgKSApID8gJ2RhdGEtbGFiZWwtY29udGVudD0iJyAuIHN0cmlwX3RhZ3MoIHRlcm1fZGVzY3JpcHRpb24oICR0ZXJtLT50ZXJtX2lkICkgKSAuICciJyA6ICcnOwogICAgICAgICAgICAkbGFiZWxfY29udGVudCA9IHRlcm1fZGVzY3JpcHRpb24oJHRlcm0pOwogICAgICAgICAgICBlY2hvIHNwcmludGYoCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZF9fdGFnIGNhcmRfX3RhZy0tY291bnRyeSI+JXMgJXM8L2Rpdj4nLAogICAgICAgICAgICAgICAgd3BfZ2V0X2F0dGFjaG1lbnRfaW1hZ2UoIGdldF90ZXJtX21ldGEoICR0ZXJtLT50ZXJtX2lkLCAnd3BjdnNfaW1hZ2UnLCB0cnVlICkgKSwKICAgICAgICAgICAgICAgIC8vIGVzY19odG1sX18oICfQn9GA0L7QuNC30LLQvtC00YHRgtCy0L46JywgJ2FnYXQnICksCiAgICAgICAgICAgICAgICBfXygkbGFiZWxfY29udGVudCkKICAgICAgICAgICAgICAgIC8vIGVzY19odG1sKCAkdGVybS0+bmFtZSApCiAgICAgICAgICAgICk7CiAgICAgICAgZW5kZm9yZWFjaDsKICAgIH0KCiAgICBlY2hvICc8L2Rpdj4nOwp9Cg==PD9waHAKYWRkX2FjdGlvbiggJ3dvb2NvbW1lcmNlX3Byb2R1Y3Rfb3B0aW9uc19nZW5lcmFsX3Byb2R1Y3RfZGF0YScsICdhZGRfbmV3X2JhZGdlX2NoZWNrYm94JyApOwoKLyoqCiAqINCS0YvQstC+0LTQuNGCINGH0LXQutCx0L7QutGBIMKr0J3QvtCy0LjQvdC60LDCuyDQsiDQutCw0YDRgtC+0YfQutC1INGC0L7QstCw0YDQsC4KICoKICog0J3QsCDQv9C10YDQtdCy0L7QtNC1INC30L3QsNGH0LXQvdC40LUg0L3QsNGB0LvQtdC00YPQtdGC0YHRjyDQuNC3INC+0YDQuNCz0LjQvdCw0LvQsCDQuCDQv9C+0LvQtSDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L3QviDigJQKICog0YDQtdC00LDQutGC0LjRgNGD0LXRgtGB0Y8g0YLQvtC70YzQutC+INCyINC60LDRgNGC0L7Rh9C60LUg0LjRgdGF0L7QtNC90L7Qs9C+INGC0L7QstCw0YDQsCAo0Y/Qt9GL0Log0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLgogKi8KZnVuY3Rpb24gYWRkX25ld19iYWRnZV9jaGVja2JveCgpIHsKICAgICRwb3N0X2lkICAgICA9IGdldF90aGVfSUQoKTsKICAgICRpc19vcmlnaW5hbCA9IGFnYXRfaXNfb3JpZ2luYWxfcHJvZHVjdCggJHBvc3RfaWQgKTsKICAgICR2YWx1ZSAgICAgICA9IGFnYXRfZ2V0X3Byb2R1Y3RfZmxhZ19mcm9tX3NvdXJjZSggJHBvc3RfaWQsICdfaXNfbmV3X3Byb2R1Y3QnICk7CgogICAgJGFyZ3MgPSBhcnJheSgKICAgICAgICAnaWQnICAgICAgICAgID0+ICdfaXNfbmV3X3Byb2R1Y3QnLAogICAgICAgICdsYWJlbCcgICAgICAgPT4gX18oJ9Cd0L7QstC40L3QutCwJywgJ2FnYXQnKSwKICAgICAgICAnZGVzY3JpcHRpb24nID0+ICRpc19vcmlnaW5hbAogICAgICAgICAgICA/IF9fKCfQktGL0LLQvtC00LjRgiDRj9GA0LvRi9C6ICLQndC+0LLQuNC90LrQsCIg0L3QsCDQutCw0YDRgtC+0YfQutGDINGC0L7QstCw0YDQsCcsICdhZ2F0JykKICAgICAgICAgICAgOiBfXygn0JfQvdCw0YfQtdC90LjQtSDQvdCw0YHQu9C10LTRg9C10YLRgdGPINC40Lcg0L7RgNC40LPQuNC90LDQu9CwOyDRgNC10LTQsNC60YLQuNGA0YPQtdGC0YHRjyDQsiDQutCw0YDRgtC+0YfQutC1INC40YHRhdC+0LTQvdC+0LPQviDRgtC+0LLQsNGA0LAnLCAnYWdhdCcpLAogICAgICAgICdkZXNjX3RpcCcgICAgPT4gJGlzX29yaWdpbmFsLAogICAgICAgIC8vINCf0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC/0L7QutCw0LfRi9Cy0LDQtdC8INGB0L7RgdGC0L7Rj9C90LjQtSDQuNC3INC40YHRhdC+0LTQvdC40LrQsCAo0L3QtSDRh9C40YLQsNC10LwgbWV0YSDQutC+0L/QuNC4KS4KICAgICAgICAndmFsdWUnICAgICAgID0+ICR2YWx1ZSwKICAgICk7CgogICAgaWYgKCAhICRpc19vcmlnaW5hbCApIHsKICAgICAgICAkYXJnc1snY3VzdG9tX2F0dHJpYnV0ZXMnXSA9IGFycmF5KCAnZGlzYWJsZWQnID0+ICdkaXNhYmxlZCcgKTsKICAgIH0KCiAgICB3b29jb21tZXJjZV93cF9jaGVja2JveCggJGFyZ3MgKTsKfQoKLy8g0KHQvtGF0YDQsNC90Y/QtdC8INC30L3QsNGH0LXQvdC40LU6INGE0LvQsNCzINGA0LXQtNCw0LrRgtC40YDRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQuNC3INC60LDRgNGC0L7Rh9C60Lgg0L7RgNC40LPQuNC90LDQu9CwCmFkZF9hY3Rpb24oICd3b29jb21tZXJjZV9wcm9jZXNzX3Byb2R1Y3RfbWV0YScsICdzYXZlX25ld19iYWRnZV9jaGVja2JveCcgKTsKZnVuY3Rpb24gc2F2ZV9uZXdfYmFkZ2VfY2hlY2tib3goICRwb3N0X2lkICkgewogICAgaWYgKCAhIGFnYXRfaXNfb3JpZ2luYWxfcHJvZHVjdCggJHBvc3RfaWQgKSApIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJGNoZWNrYm94ID0gaXNzZXQoICRfUE9TVFsnX2lzX25ld19wcm9kdWN0J10gKSA/ICd5ZXMnIDogJ25vJzsKICAgIHVwZGF0ZV9wb3N0X21ldGEoICRwb3N0X2lkLCAnX2lzX25ld19wcm9kdWN0JywgJGNoZWNrYm94ICk7Cn0KCi8vINCU0L7QsdCw0LLQu9GP0LXQvCDQt9Cw0LPQvtC70L7QstC+0Log0LrQvtC70L7QvdC60LggItCd0L7QstC40L3QutCwIgphZGRfZmlsdGVyKCAnbWFuYWdlX2VkaXQtcHJvZHVjdF9jb2x1bW5zJywgJ2FkZF9uZXdfcHJvZHVjdF9jb2x1bW4nICk7CmZ1bmN0aW9uIGFkZF9uZXdfcHJvZHVjdF9jb2x1bW4oICRjb2x1bW5zICkgewogICAgJGNvbHVtbnMgPSBhcnJheV9zbGljZSgkY29sdW1ucywgMCwgOSwgdHJ1ZSkKICAgICsgYXJyYXkoJ25ld19wcm9kdWN0JyA9PiBfXygn0J3QvtCy0LjQvdC60LAnLCAnYWdhdCcpKQogICAgKyBhcnJheV9zbGljZSgkY29sdW1ucywgOSwgTlVMTCwgdHJ1ZSk7CgogICAgcmV0dXJuICRjb2x1bW5zOwp9CgovLyDQlNC+0LHQsNCy0LjQvCDRgdGC0LjQu9C4CmFkZF9hY3Rpb24oJ2FkbWluX2hlYWQnLCAnbmV3X3Byb2R1Y3RfY29sdW1uX2NzcycpOwpmdW5jdGlvbiBuZXdfcHJvZHVjdF9jb2x1bW5fY3NzKCkgewogICAgZWNobyAnPHN0eWxlPgoKICAgICAgICAuY29sdW1uLW5ld19wcm9kdWN0IHsKICAgICAgICAgICAgd2lkdGg6IDVlbTsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgfQogICAgICAgIC5jb2x1bW4tbmV3X3Byb2R1Y3QgYSB7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgfQogICAgICAgIC53Yy1uZXcgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgPC9zdHlsZT4nOwp9CgovLyDQktGL0LLQvtC00LjQvCDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvRjCDQsiDQutC+0LvQvtC90LrRgwphZGRfYWN0aW9uKCdtYW5hZ2VfcHJvZHVjdF9wb3N0c19jdXN0b21fY29sdW1uJywgJ25ld19wcm9kdWN0X2NvbHVtbicsIDI1LCAyKTsKZnVuY3Rpb24gbmV3X3Byb2R1Y3RfY29sdW1uKCRjb2x1bW4sICRwb3N0X2lkKSB7CiAgICBpZiggJGNvbHVtbiA9PSAnbmV3X3Byb2R1Y3QnKSB7CiAgICAgICAgLy8g0JfQstGR0LfQtNC+0YfQutCwINC+0YLRgNCw0LbQsNC10YIg0L7QsdGJ0LjQuSDRhNC70LDQsyDQuNC3INC+0YDQuNCz0LjQvdCw0LvQsCDQvdCwINCy0YHRjiDRj9C30YvQutC+0LLRg9GOINCz0YDRg9C/0L/Rgy4KICAgICAgICAkaXNfbmV3X3Byb2R1Y3QgPSBhZ2F0X2dldF9wcm9kdWN0X2ZsYWdfZnJvbV9zb3VyY2UoICRwb3N0X2lkLCAnX2lzX25ld19wcm9kdWN0JyApOwoKICAgICAgICAkdXJsID0gd3Bfbm9uY2VfdXJsKAogICAgICAgICAgICBhZG1pbl91cmwoICdhZG1pbi1hamF4LnBocD9hY3Rpb249d29vY29tbWVyY2VfbmV3X3Byb2R1Y3QmcHJvZHVjdF9pZD0nIC4gJHBvc3RfaWQgKSwKICAgICAgICAgICAgJ3dvb2NvbW1lcmNlX25ld19wcm9kdWN0XycgLiAkcG9zdF9pZAogICAgICAgICk7CgogICAgICAgICRpY29uICA9ICggJGlzX25ld19wcm9kdWN0ID09PSAneWVzJyApID8gJ2Rhc2hpY29ucy1zdGFyLWZpbGxlZCcgOiAnZGFzaGljb25zLXN0YXItZW1wdHknOwoKCiAgICAgICAgZWNobyAnPGEgaHJlZj0iJy4gZXNjX3VybCgkdXJsKSAuJyIgYXJpYS1sYWJlbD0iJy4gX18oJ9Cf0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GMICLQndC+0LLQuNC90LrQsCInLCAnYWdhdCcpIC4nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3Yy1uZXcgZGFzaGljb25zICcgLiAkaWNvbiAuICciPjwvc3Bhbj4KICAgICAgICAgICAgICA8L2E+JzsKICAgIH0KfQoKLy8gQUpBWC3QvtCx0YDQsNCx0L7RgtGH0LjQugphZGRfYWN0aW9uKCAnd3BfYWpheF93b29jb21tZXJjZV9uZXdfcHJvZHVjdCcsICd3b29jb21tZXJjZV9uZXdfcHJvZHVjdCcgKTsKZnVuY3Rpb24gd29vY29tbWVyY2VfbmV3X3Byb2R1Y3QoKSB7CiAgICAvLyDQn9GA0L7QstC10YDQutCwINC/0YDQsNCyINC4IG5vbmNlCiAgICBpZiAoICEgY3VycmVudF91c2VyX2NhbiggJ2VkaXRfcHJvZHVjdHMnICkgfHwgISBpc3NldCggJF9HRVRbJ3Byb2R1Y3RfaWQnXSwgJF9HRVRbJ193cG5vbmNlJ10gKSApIHsKICAgICAgICB3cF9kaWUoICdBY2Nlc3MgZGVuaWVkJyApOwogICAgfQoKICAgICRwcm9kdWN0X2lkID0gaW50dmFsKCAkX0dFVFsncHJvZHVjdF9pZCddICk7CgogICAgaWYgKCAhIHdwX3ZlcmlmeV9ub25jZSggJF9HRVRbJ193cG5vbmNlJ10sICd3b29jb21tZXJjZV9uZXdfcHJvZHVjdF8nIC4gJHByb2R1Y3RfaWQgKSApIHsKICAgICAgICB3cF9kaWUoICdOb25jZSB2ZXJpZmljYXRpb24gZmFpbGVkJyApOwogICAgfQoKICAgIC8vINCk0LvQsNCzINC+0LHRidC40Lkg0L3QsCDQs9GA0YPQv9C/0YMg0YLQvtCy0LDRgNC+0LIg4oCUINC/0LXRgNC10LrQu9GO0YfQsNC10Lwg0LfQvdCw0YfQtdC90LjQtSDQsiDQvtGA0LjQs9C40L3QsNC70LUuCiAgICAkc291cmNlX2lkICA9IGFnYXRfZ2V0X3Byb2R1Y3Rfc291cmNlX2lkKCAkcHJvZHVjdF9pZCApOwogICAgJGN1cnJlbnQgICAgPSBnZXRfcG9zdF9tZXRhKCAkc291cmNlX2lkLCAnX2lzX25ld19wcm9kdWN0JywgdHJ1ZSApOwogICAgJG5ld19zdGF0dXMgPSAoICRjdXJyZW50ID09PSAneWVzJyApID8gJ25vJyA6ICd5ZXMnOwogICAgdXBkYXRlX3Bvc3RfbWV0YSggJHNvdXJjZV9pZCwgJ19pc19uZXdfcHJvZHVjdCcsICRuZXdfc3RhdHVzICk7CgogICAgLy8g0JLQvtC30LLRgNCw0YnQsNC10LzRgdGPINC+0LHRgNCw0YLQvdC+INC90LAg0YHRgtGA0LDQvdC40YbRgyDRgdC/0LjRgdC60LAg0YLQvtCy0LDRgNC+0LIKICAgIHdwX3NhZmVfcmVkaXJlY3QoIHdwX2dldF9yZWZlcmVyKCkgPyB3cF9nZXRfcmVmZXJlcigpIDogYWRtaW5fdXJsKCAnZWRpdC5waHA/cG9zdF90eXBlPXByb2R1Y3QnICkgKTsKICAgIGV4aXQ7Cn0KPD9waHAKLyoqCiAqINCg0LXQs9C40YHRgtGA0LDRhtC40Y8g0YHRgtGA0L7QuiDRhdC70LXQsdC90YvRhSDQutGA0L7RiNC10Log0LTQu9GPINC/0LXRgNC10LLQvtC00LAg0LIgV1BNTAogKi8KZnVuY3Rpb24gcmVnaXN0ZXJfYnJlYWRjcnVtYl9zdHJpbmdzX2Zvcl93cG1sKCkgewogICAgaWYgKCFmdW5jdGlvbl9leGlzdHMoJ3dwbWxfcmVnaXN0ZXJfc2luZ2xlX3N0cmluZycpICYmICFmdW5jdGlvbl9leGlzdHMoJ2ljbF9yZWdpc3Rlcl9zdHJpbmcnKSkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyDQoNC10LPQuNGB0YLRgNC40YDRg9C10Lwg0LfQsNCz0L7Qu9C+0LLQvtC6INCz0LvQsNCy0L3QvtC5INGB0YLRgNCw0L3QuNGG0Ysg0LTQu9GPINC/0LXRgNC10LLQvtC00LAKICAgICRob21lX3RpdGxlID0gZ2V0X3RoZV90aXRsZShnZXRfb3B0aW9uKCdwYWdlX29uX2Zyb250JykpOwogICAgZG9fYWN0aW9uKCd3cG1sX3JlZ2lzdGVyX3NpbmdsZV9zdHJpbmcnLCAnYnJlYWRjcnVtYnMnLCAnaG9tZV90aXRsZScsICRob21lX3RpdGxlKTsKfQoKLy8g0KDQtdCz0LjRgdGC0YDQuNGA0YPQtdC8INGB0YLRgNC+0LrQuCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LggV29yZFByZXNzCmFkZF9hY3Rpb24oJ2luaXQnLCAncmVnaXN0ZXJfYnJlYWRjcnVtYl9zdHJpbmdzX2Zvcl93cG1sJyk7CgovKioKICog0KDQtdCz0LjRgdGC0YDQsNGG0LjRjyDQv9C+0LTRgdC60LDQt9C+0Log0LDRgtGA0LjQsdGD0YLQvtCyIFdvb0NvbW1lcmNlICjQvtC/0YbQuNC4IHBhX2hpbnRfe2lkfSkg0LTQu9GPINC/0LXRgNC10LLQvtC00LAg0LIgV1BNTAogKgogKiDQodGC0YDQvtC60Lgg0LTQvtGB0YLRg9C/0L3RiyDQsiDQsNC00LzQuNC90LrQtTogV1BNTCDihpIgU3RyaW5nIFRyYW5zbGF0aW9ucywg0LrQvtC90YLQtdC60YHRgiDCq2F0dHJpYnV0ZSBoaW50c8K7LgogKiDQndCwINGE0YDQvtC90YLQtdC90LTQtSDQv9C10YDQtdCy0L7QtNC40YLRgdGPINGH0LXRgNC10Lcg0YTQuNC70YzRgtGAIHdwbWxfdHJhbnNsYXRlX3NpbmdsZV9zdHJpbmcgKNGB0LwuIHdvb2NvbW1lcmNlL3NpbmdsZS1wcm9kdWN0LnBocCkuCiAqLwpmdW5jdGlvbiByZWdpc3Rlcl9hdHRyaWJ1dGVfaGludHNfZm9yX3dwbWwoKSB7CiAgICBpZiAoIWZ1bmN0aW9uX2V4aXN0cygnaWNsX3JlZ2lzdGVyX3N0cmluZycpIHx8ICFmdW5jdGlvbl9leGlzdHMoJ3djX2dldF9hdHRyaWJ1dGVfdGF4b25vbWllcycpKSB7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vINCf0L7Qu9GD0YfQsNC10Lwg0LLRgdC1INGC0LDQutGB0L7QvdC+0LzQuNC4INCw0YLRgNC40LHRg9GC0L7QsiBXb29Db21tZXJjZQogICAgJHRheG9ub21pZXMgPSB3Y19nZXRfYXR0cmlidXRlX3RheG9ub21pZXMoKTsKCiAgICBmb3JlYWNoICgkdGF4b25vbWllcyBhcyAkdGF4b25vbXkpIHsKICAgICAgICAkaGludCA9IGdldF9vcHRpb24oInBhX2hpbnRfeyR0YXhvbm9teS0+YXR0cmlidXRlX2lkfSIpOwoKICAgICAgICBpZiAoIWVtcHR5KCRoaW50KSkgewogICAgICAgICAgICBpY2xfcmVnaXN0ZXJfc3RyaW5nKCdhdHRyaWJ1dGUgaGludHMnLCAicGFfaGludF97JHRheG9ub215LT5hdHRyaWJ1dGVfaWR9IiwgJGhpbnQpOwogICAgICAgIH0KICAgIH0KfQoKLy8g0KDQtdCz0LjRgdGC0YDQuNGA0YPQtdC8INGB0YLRgNC+0LrQuCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LggV29yZFByZXNzINC4INC/0L7RgdC70LUg0YHQvtGF0YDQsNC90LXQvdC40Y8g0LDRgtGA0LjQsdGD0YLQvtCyCmFkZF9hY3Rpb24oJ2luaXQnLCAncmVnaXN0ZXJfYXR0cmlidXRlX2hpbnRzX2Zvcl93cG1sJyk7CmFkZF9hY3Rpb24oJ3dvb2NvbW1lcmNlX2F0dHJpYnV0ZV9hZGRlZCcsICdyZWdpc3Rlcl9hdHRyaWJ1dGVfaGludHNfZm9yX3dwbWwnLCAyMCk7CmFkZF9hY3Rpb24oJ3dvb2NvbW1lcmNlX2F0dHJpYnV0ZV91cGRhdGVkJywgJ3JlZ2lzdGVyX2F0dHJpYnV0ZV9oaW50c19mb3Jfd3BtbCcsIDIwKTsK Коллекции наручных часов АГАТ Златоуст

Коллекция Грани

Часы с четкой геометрией корпуса, объединившие инженерное наследие завода и современные производственные решения
смотреть всю коллекцию

46 мм

часы Грани АГАТ бронза 46
Часы АГАТ Грани
грани бронза 46 (2)
Часы АГАТ Грани
Часы АГАТ Грани