Advertisement
TienKiraBN

zip

Aug 24th, 2015
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.62 KB | None | 0 0
  1. PD9waHAKQHNldF90aW1lX2xpbWl0KDM2MDApOwokY29uZlsnZGlyJ10gPSAiTW9uS2lyYVppcEZpbGUiOwppZiAoKGlzc2V0KCRfR0VUWydzdGVwJ10pKSYmKCFlbXB0eSgkX0dFVFsnc3RlcCddKSkpICRzdGVwPSRfR0VUWydzdGVwJ107IGVsc2UgJHN0ZXA9MDsKaWYgKChpc3NldCgkX0dFVFsnZGlybmFtZSddKSkmJighZW1wdHkoJF9HRVRbJ2Rpcm5hbWUnXSkpKSAkZGlybmFtZT0kX0dFVFsnZGlybmFtZSddOyBlbHNlICRkaXJuYW1lPSIuIjsKJGRpcm5hbWUgPSBzdHJfcmVwbGFjZSgiLi4vIiwiIiwkZGlybmFtZSk7CmNsYXNzIHppcGZpbGUKewogICAgdmFyICRkYXRhc2VjICAgICAgPSBhcnJheSgpOwogICAgdmFyICRjdHJsX2RpciAgICAgPSBhcnJheSgpOwogICAgdmFyICRlb2ZfY3RybF9kaXIgPSAiXHg1MFx4NGJceDA1XHgwNlx4MDBceDAwXHgwMFx4MDAiOwogICAgdmFyICRvbGRfb2Zmc2V0ICAgPSAwOwogICAgZnVuY3Rpb24gdW5peDJEb3NUaW1lKCR1bml4dGltZSA9IDApIHsKICAgICAgICAkdGltZWFycmF5ID0gKCR1bml4dGltZSA9PSAwKSA/IGdldGRhdGUoKSA6IGdldGRhdGUoJHVuaXh0aW1lKTsKCiAgICAgICAgaWYgKCR0aW1lYXJyYXlbJ3llYXInXSA8IDE5ODApIHsKICAgICAgICAJJHRpbWVhcnJheVsneWVhciddICAgID0gMTk4MDsKICAgICAgICAJJHRpbWVhcnJheVsnbW9uJ10gICAgID0gMTsKICAgICAgICAJJHRpbWVhcnJheVsnbWRheSddICAgID0gMTsKICAgICAgICAJJHRpbWVhcnJheVsnaG91cnMnXSAgID0gMDsKICAgICAgICAJJHRpbWVhcnJheVsnbWludXRlcyddID0gMDsKICAgICAgICAJJHRpbWVhcnJheVsnc2Vjb25kcyddID0gMDsKICAgICAgICB9IC8vIGVuZCBpZgoKICAgICAgICByZXR1cm4gKCgkdGltZWFycmF5Wyd5ZWFyJ10gLSAxOTgwKSA8PCAyNSkgfCAoJHRpbWVhcnJheVsnbW9uJ10gPDwgMjEpIHwgKCR0aW1lYXJyYXlbJ21kYXknXSA8PCAxNikgfAogICAgICAgICAgICAgICAgKCR0aW1lYXJyYXlbJ2hvdXJzJ10gPDwgMTEpIHwgKCR0aW1lYXJyYXlbJ21pbnV0ZXMnXSA8PCA1KSB8ICgkdGltZWFycmF5WydzZWNvbmRzJ10gPj4gMSk7CiAgICB9IC8vIGVuZCBvZiB0aGUgJ3VuaXgyRG9zVGltZSgpJyBtZXRob2QKCiAgICBmdW5jdGlvbiBhZGRGaWxlKCRkYXRhLCAkbmFtZSwgJHRpbWUgPSAwKQogICAgewogICAgICAgICRuYW1lICAgICA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJG5hbWUpOwoKICAgICAgICAkZHRpbWUgICAgPSBkZWNoZXgoJHRoaXMtPnVuaXgyRG9zVGltZSgkdGltZSkpOwogICAgICAgICRoZXhkdGltZSA9ICdceCcgLiAkZHRpbWVbNl0gLiAkZHRpbWVbN10KICAgICAgICAgICAgICAgICAgLiAnXHgnIC4gJGR0aW1lWzRdIC4gJGR0aW1lWzVdCiAgICAgICAgICAgICAgICAgIC4gJ1x4JyAuICRkdGltZVsyXSAuICRkdGltZVszXQogICAgICAgICAgICAgICAgICAuICdceCcgLiAkZHRpbWVbMF0gLiAkZHRpbWVbMV07CiAgICAgICAgZXZhbCgnJGhleGR0aW1lID0gIicgLiAkaGV4ZHRpbWUgLiAnIjsnKTsKCiAgICAgICAgJGZyICAgPSAiXHg1MFx4NGJceDAzXHgwNCI7CiAgICAgICAgJGZyICAgLj0gIlx4MTRceDAwIjsgICAgICAgICAgICAvLyB2ZXIgbmVlZGVkIHRvIGV4dHJhY3QKICAgICAgICAkZnIgICAuPSAiXHgwMFx4MDAiOyAgICAgICAgICAgIC8vIGdlbiBwdXJwb3NlIGJpdCBmbGFnCiAgICAgICAgJGZyICAgLj0gIlx4MDhceDAwIjsgICAgICAgICAgICAvLyBjb21wcmVzc2lvbiBtZXRob2QKICAgICAgICAkZnIgICAuPSAkaGV4ZHRpbWU7ICAgICAgICAgICAgIC8vIGxhc3QgbW9kIHRpbWUgYW5kIGRhdGUKCiAgICAgICAgLy8gImxvY2FsIGZpbGUgaGVhZGVyIiBzZWdtZW50CiAgICAgICAgJHVuY19sZW4gPSBzdHJsZW4oJGRhdGEpOwogICAgICAgICRjcmMgICAgID0gY3JjMzIoJGRhdGEpOwogICAgICAgICR6ZGF0YSAgID0gZ3pjb21wcmVzcygkZGF0YSk7CiAgICAgICAgJHpkYXRhICAgPSBzdWJzdHIoc3Vic3RyKCR6ZGF0YSwgMCwgc3RybGVuKCR6ZGF0YSkgLSA0KSwgMik7IC8vIGZpeCBjcmMgYnVnCiAgICAgICAgJGNfbGVuICAgPSBzdHJsZW4oJHpkYXRhKTsKICAgICAgICAkZnIgICAgICAuPSBwYWNrKCdWJywgJGNyYyk7ICAgICAgICAgICAgIC8vIGNyYzMyCiAgICAgICAgJGZyICAgICAgLj0gcGFjaygnVicsICRjX2xlbik7ICAgICAgICAgICAvLyBjb21wcmVzc2VkIGZpbGVzaXplCiAgICAgICAgJGZyICAgICAgLj0gcGFjaygnVicsICR1bmNfbGVuKTsgICAgICAgICAvLyB1bmNvbXByZXNzZWQgZmlsZXNpemUKICAgICAgICAkZnIgICAgICAuPSBwYWNrKCd2Jywgc3RybGVuKCRuYW1lKSk7ICAgIC8vIGxlbmd0aCBvZiBmaWxlbmFtZQogICAgICAgICRmciAgICAgIC49IHBhY2soJ3YnLCAwKTsgICAgICAgICAgICAgICAgLy8gZXh0cmEgZmllbGQgbGVuZ3RoCiAgICAgICAgJGZyICAgICAgLj0gJG5hbWU7CgogICAgICAgIC8vICJmaWxlIGRhdGEiIHNlZ21lbnQKICAgICAgICAkZnIgLj0gJHpkYXRhOwoKICAgICAgICAvLyAiZGF0YSBkZXNjcmlwdG9yIiBzZWdtZW50IChvcHRpb25hbCBidXQgbmVjZXNzYXJ5IGlmIGFyY2hpdmUgaXMgbm90CiAgICAgICAgLy8gc2VydmVkIGFzIGZpbGUpCiAgICAgICAgJGZyIC49IHBhY2soJ1YnLCAkY3JjKTsgICAgICAgICAgICAgICAgIC8vIGNyYzMyCiAgICAgICAgJGZyIC49IHBhY2soJ1YnLCAkY19sZW4pOyAgICAgICAgICAgICAgIC8vIGNvbXByZXNzZWQgZmlsZXNpemUKICAgICAgICAkZnIgLj0gcGFjaygnVicsICR1bmNfbGVuKTsgICAgICAgICAgICAgLy8gdW5jb21wcmVzc2VkIGZpbGVzaXplCgogICAgICAgIC8vIGFkZCB0aGlzIGVudHJ5IHRvIGFycmF5CiAgICAgICAgJHRoaXMgLT4gZGF0YXNlY1tdID0gJGZyOwoKICAgICAgICAvLyBub3cgYWRkIHRvIGNlbnRyYWwgZGlyZWN0b3J5IHJlY29yZAogICAgICAgICRjZHJlYyA9ICJceDUwXHg0Ylx4MDFceDAyIjsKICAgICAgICAkY2RyZWMgLj0gIlx4MDBceDAwIjsgICAgICAgICAgICAgICAgLy8gdmVyc2lvbiBtYWRlIGJ5CiAgICAgICAgJGNkcmVjIC49ICJceDE0XHgwMCI7ICAgICAgICAgICAgICAgIC8vIHZlcnNpb24gbmVlZGVkIHRvIGV4dHJhY3QKICAgICAgICAkY2RyZWMgLj0gIlx4MDBceDAwIjsgICAgICAgICAgICAgICAgLy8gZ2VuIHB1cnBvc2UgYml0IGZsYWcKICAgICAgICAkY2RyZWMgLj0gIlx4MDhceDAwIjsgICAgICAgICAgICAgICAgLy8gY29tcHJlc3Npb24gbWV0aG9kCiAgICAgICAgJGNkcmVjIC49ICRoZXhkdGltZTsgICAgICAgICAgICAgICAgIC8vIGxhc3QgbW9kIHRpbWUgJiBkYXRlCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ1YnLCAkY3JjKTsgICAgICAgICAgIC8vIGNyYzMyCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ1YnLCAkY19sZW4pOyAgICAgICAgIC8vIGNvbXByZXNzZWQgZmlsZXNpemUKICAgICAgICAkY2RyZWMgLj0gcGFjaygnVicsICR1bmNfbGVuKTsgICAgICAgLy8gdW5jb21wcmVzc2VkIGZpbGVzaXplCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ3YnLCBzdHJsZW4oJG5hbWUpICk7IC8vIGxlbmd0aCBvZiBmaWxlbmFtZQogICAgICAgICRjZHJlYyAuPSBwYWNrKCd2JywgMCApOyAgICAgICAgICAgICAvLyBleHRyYSBmaWVsZCBsZW5ndGgKICAgICAgICAkY2RyZWMgLj0gcGFjaygndicsIDAgKTsgICAgICAgICAgICAgLy8gZmlsZSBjb21tZW50IGxlbmd0aAogICAgICAgICRjZHJlYyAuPSBwYWNrKCd2JywgMCApOyAgICAgICAgICAgICAvLyBkaXNrIG51bWJlciBzdGFydAogICAgICAgICRjZHJlYyAuPSBwYWNrKCd2JywgMCApOyAgICAgICAgICAgICAvLyBpbnRlcm5hbCBmaWxlIGF0dHJpYnV0ZXMKICAgICAgICAkY2RyZWMgLj0gcGFjaygnVicsIDMyICk7ICAgICAgICAgICAgLy8gZXh0ZXJuYWwgZmlsZSBhdHRyaWJ1dGVzIC0gJ2FyY2hpdmUnIGJpdCBzZXQKCiAgICAgICAgJGNkcmVjIC49IHBhY2soJ1YnLCAkdGhpcyAtPiBvbGRfb2Zmc2V0ICk7IC8vIHJlbGF0aXZlIG9mZnNldCBvZiBsb2NhbCBoZWFkZXIKICAgICAgICAkdGhpcyAtPiBvbGRfb2Zmc2V0ICs9IHN0cmxlbigkZnIpOwoKICAgICAgICAkY2RyZWMgLj0gJG5hbWU7CgogICAgICAgIC8vIG9wdGlvbmFsIGV4dHJhIGZpZWxkLCBmaWxlIGNvbW1lbnQgZ29lcyBoZXJlCiAgICAgICAgLy8gc2F2ZSB0byBjZW50cmFsIGRpcmVjdG9yeQogICAgICAgICR0aGlzIC0+IGN0cmxfZGlyW10gPSAkY2RyZWM7CiAgICB9IC8vIGVuZCBvZiB0aGUgJ2FkZEZpbGUoKScgbWV0aG9kCgogICAgZnVuY3Rpb24gZmlsZSgpCiAgICB7CiAgICAgICAgJGRhdGEgICAgPSBpbXBsb2RlKCcnLCAkdGhpcyAtPiBkYXRhc2VjKTsKICAgICAgICAkY3RybGRpciA9IGltcGxvZGUoJycsICR0aGlzIC0+IGN0cmxfZGlyKTsKCiAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICRkYXRhIC4KICAgICAgICAgICAgJGN0cmxkaXIgLgogICAgICAgICAgICAkdGhpcyAtPiBlb2ZfY3RybF9kaXIgLgogICAgICAgICAgICBwYWNrKCd2Jywgc2l6ZW9mKCR0aGlzIC0+IGN0cmxfZGlyKSkgLiAgLy8gdG90YWwgIyBvZiBlbnRyaWVzICJvbiB0aGlzIGRpc2siCiAgICAgICAgICAgIHBhY2soJ3YnLCBzaXplb2YoJHRoaXMgLT4gY3RybF9kaXIpKSAuICAvLyB0b3RhbCAjIG9mIGVudHJpZXMgb3ZlcmFsbAogICAgICAgICAgICBwYWNrKCdWJywgc3RybGVuKCRjdHJsZGlyKSkgLiAgICAgICAgICAgLy8gc2l6ZSBvZiBjZW50cmFsIGRpcgogICAgICAgICAgICBwYWNrKCdWJywgc3RybGVuKCRkYXRhKSkgLiAgICAgICAgICAgICAgLy8gb2Zmc2V0IHRvIHN0YXJ0IG9mIGNlbnRyYWwgZGlyCiAgICAgICAgICAgICJceDAwXHgwMCI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuemlwIGZpbGUgY29tbWVudCBsZW5ndGgKICAgIH0gLy8gZW5kIG9mIHRoZSAnZmlsZSgpJyBtZXRob2QKICAgIAogICAgZnVuY3Rpb24gYWRkRmlsZXMoJGZpbGVzIC8qT25seSBQYXNzIEFycmF5Ki8pCiAgICB7CiAgICAgICAgZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpIHsKCQkJaWYgKGlzX2ZpbGUoJGZpbGUpKSAvL2RpcmVjdG9yeSBjaGVjawoJCQl7CgkJCQkkZGF0YSA9IGltcGxvZGUoIiIsZmlsZSgkZmlsZSkpOwoJICAgICAgICAgICAgJHRoaXMtPmFkZEZpbGUoJGRhdGEsJGZpbGUpOwogICAgICAgICAgICB9IGVsc2UgewovLwkJCQkkZGF0YSA9IGltcGxvZGUoIiIsZmlsZSgiTW9uS2lyYS50eHQiKSk7Ci8vCSAgICAgICAgICAgICR0aGlzLT5hZGRGaWxlKCRkYXRhLCRmaWxlLiIvTW9uS2lyYS50eHQiKTsKCQkJfQkKCQl9CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIG91dHB1dCgkZmlsZSkKICAgIHsKICAgICAgICAkZnA9Zm9wZW4oJGZpbGUsInciKTsKICAgICAgICBmd3JpdGUoJGZwLCR0aGlzLT5maWxlKCkpOwogICAgICAgIGZjbG9zZSgkZnApOwogICAgfQoKfSAvLyBlbmQgY2xhc3MKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBnZXRkaXIoJHBhdGg9Ii4iKSB7Cmdsb2JhbCAkZGlyYXJyYXksJGNvbmYsJGRpcnNpemU7CQppZiAoJGRpciA9IG9wZW5kaXIoJHBhdGgpKSB7CiAgd2hpbGUgKGZhbHNlICE9PSAoJGVudHJ5ID0gQHJlYWRkaXIoJGRpcikpKSB7CgkgaWYgKCgkZW50cnkhPSIuIikmJigkZW50cnkhPSIuLiIpKSB7CgkgIAkkbGFzdGRvdCA9IHN0cnJwb3MoJGVudHJ5LCIuIik7CgkJJGV4dCA9IGNob3Aoc3RydG9sb3dlcihzdWJzdHIoJGVudHJ5LCRsYXN0ZG90KzEpKSk7CgkJJGZuYW1lID0gc3Vic3RyKCRlbnRyeSwwLCRsYXN0ZG90KTsKCQlpZiAoJHBhdGghPSIuIikgJG5ld3BhdGggPSAkcGF0aC4iLyIuJGVudHJ5OwoJCWVsc2UgJG5ld3BhdGggPSAkZW50cnk7CgkJJG5ld3BhdGggPSBzdHJfcmVwbGFjZSgiLy8iLCIvIiwkbmV3cGF0aCk7CgoJCWlmICgoJGVudHJ5IT0iTW9uS2lyYS5waHAiKSYmKCRlbnRyeSE9Ik1vbktpcmEudHh0IikmJigkZW50cnkhPSRjb25mWydkaXInXSkpIHsKCQkJJGRpcmFycmF5W10gPSAkbmV3cGF0aDsKCQkJaWYgKCRmc2l6ZT1AZmlsZXNpemUoJG5ld3BhdGgpKSAkZGlyc2l6ZSs9JGZzaXplOwoJCQlpZiAoaXNfZGlyKCRuZXdwYXRoKSkgZ2V0ZGlyKCRuZXdwYXRoKTsKCQl9IAogIAkgfQogIH0KfQp9Ly8gZW5kIGZ1bmMKLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpmdW5jdGlvbiBnZXRjdXJyZW50ZGlyKCRwYXRoPSIuIikgewpnbG9iYWwgJGNvbmY7CQokZGlyYXJyID0gYXJyYXkoKTsKaWYgKCRkaXIgPSBvcGVuZGlyKCRwYXRoKSkgewogIHdoaWxlIChmYWxzZSAhPT0gKCRlbnRyeSA9IEByZWFkZGlyKCRkaXIpKSkgewoJIGlmICgoJGVudHJ5IT0iLiIpJiYoJGVudHJ5IT0iLi4iKSkgewoJICAJJGxhc3Rkb3QgPSBzdHJycG9zKCRlbnRyeSwiLiIpOwoJCSRleHQgPSBjaG9wKHN0cnRvbG93ZXIoc3Vic3RyKCRlbnRyeSwkbGFzdGRvdCsxKSkpOwoJCSRmbmFtZSA9IHN1YnN0cigkZW50cnksMCwkbGFzdGRvdCk7CgkJaWYgKCRwYXRoIT0iLiIpICRuZXdwYXRoID0gJHBhdGguIi8iLiRlbnRyeTsKCQllbHNlICRuZXdwYXRoID0gJGVudHJ5OwoJCSRuZXdwYXRoID0gc3RyX3JlcGxhY2UoIi8vIiwiLyIsJG5ld3BhdGgpOwoKCQlpZiAoKCRlbnRyeSE9Ik1vbktpcmEucGhwIikmJigkZW50cnkhPSJNb25LaXJhLnR4dCIpJiYoJGVudHJ5IT0kY29uZlsnZGlyJ10pKSB7CgkJCSRkaXJhcnJbXSA9ICRuZXdwYXRoOwoJCX0gCiAgCSB9CiAgfQp9CnJldHVybiAkZGlyYXJyOwp9Ly8gZW5kIGZ1bmMKLy89PT09PT09PT09PT09PT09PT09PT09PT09CmZ1bmN0aW9uIHNpemVfZm9ybWF0KCRieXRlcz0iIikgewogICRyZXR2YWwgPSAiIjsKICBpZiAoJGJ5dGVzID49IDEwNDg1NzYpIHsKCSRyZXR2YWwgPSByb3VuZCgkYnl0ZXMgLyAxMDQ4NTc2ICogMTAwICkgLyAxMDAgLiAiIE1CIjsKICB9IGVsc2UgaWYgKCRieXRlcyAgPj0gMTAyNCkgewoJICAgICRyZXR2YWwgPSByb3VuZCgkYnl0ZXMgLyAxMDI0ICogMTAwICkgLyAxMDAgLiAiIEtCIjsKICAgIH0gZWxzZSB7CiAgICAgICAgJHJldHZhbCA9ICRieXRlcyAuICIgYnl0ZXMiOwogICAgICB9CiAgcmV0dXJuICRyZXR2YWw7Cn0KLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PQokY3VycmVudGRpciA9IGdldGN1cnJlbnRkaXIoJGRpcm5hbWUpOwpzb3J0KCRjdXJyZW50ZGlyKTsKPz4KPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjxodG1sPgo8aGVhZD4KPHRpdGxlPlppcCBGaWxlIDwvdGl0bGU+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KPE1FVEEgSFRUUC1FUVVJVj0iQ0FDSEUtQ09OVFJPTCIgQ09OVEVOVD0iTk8tQ0FDSEUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgo8IS0tCmh0bWwgewoJb3ZlcmZsb3cteDogYXV0bzsKCXNjcm9sbGJhci1mYWNlLWNvbG9yOiAjQ0VDRUNFOwoJc2Nyb2xsYmFyLXNoYWRvdy1jb2xvcjogIzZCNkI2QjsKCXNjcm9sbGJhci1oaWdobGlnaHQtY29sb3I6ICNGOEY4Rjg7CglzY3JvbGxiYXItM2RsaWdodC1jb2xvcjogIzhBOEE4QTsKCXNjcm9sbGJhci1kYXJrc2hhZG93LWNvbG9yOiAjOEE4QThBOwoJc2Nyb2xsYmFyLXRyYWNrLWNvbG9yOiAjOEE4QThBOwoJc2Nyb2xsYmFyLWFycm93LWNvbG9yOiAjMjE1QThDOwp9CmJvZHksdGQsdGggewoJZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6IDEycHg7Cgljb2xvcjogIzA2MUQzNjsKfQpib2R5IHsKCW1hcmdpbi1sZWZ0OiAwcHg7CgltYXJnaW4tdG9wOiAwcHg7CgltYXJnaW4tcmlnaHQ6IDBweDsKCW1hcmdpbi1ib3R0b206IDBweDsKCWJhY2tncm91bmQtY29sb3I6I0RDRENEQzsKfQphOmxpbmsgewoJY29sb3I6ICNGRjg0MDA7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KYTp2aXNpdGVkIHsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCWNvbG9yOiAjRkY4NDAwOwp9CmE6aG92ZXIgewoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJY29sb3I6ICNGRjY2MDA7Cn0KYTphY3RpdmUgewoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJY29sb3I6ICNGRjg0MDA7Cn0KaW1nIHsgYm9yZGVyIDogMHB4OyB9Ci5iZHIgewoJYm9yZGVyOiAxcHggc29saWQgIzM0NDU1OTsKfQouY3RpdHRsZSB7Cglmb250LXNpemU6IDE0cHg7Cglmb250LXdlaWdodDogYm9sZDsKCWNvbG9yOiAjRkZGRkZGOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJYmFja2dyb3VuZC1jb2xvcjojMDA2M0IwOwp9Ci5tdGl0dGxlIHsKCWZvbnQtc2l6ZTogMTZweDsKCWZvbnQtd2VpZ2h0OiBib2xkOwoJY29sb3I6ICNGRkZGRkY7Cgl0ZXh0LWRlY29yYXRpb246IG5vbmU7CgliYWNrZ3JvdW5kLWNvbG9yOiMyQjYwODI7CgloZWlnaHQ6NDBweDsKfQouZnRpdHRsZSB7Cglmb250LXNpemU6IDEycHg7Cglmb250LXdlaWdodDogYm9sZDsKCWNvbG9yOiAjRkZGRkZGOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJYmFja2dyb3VuZC1jb2xvcjojM0E3NEFCOwoJaGVpZ2h0OjI1cHg7Cn0KLnRpdHRsZSB7Cglmb250LXNpemU6IDEycHg7Cgljb2xvcjogI0ZGRkZGRjsKCXRleHQtZGVjb3JhdGlvbjogbm9uZTsKCWJhY2tncm91bmQtY29sb3I6IzNGNjY4QTsKfQouYnJfc3AgewoJYm9yZGVyLXRvcC13aWR0aDogMXB4OwoJYm9yZGVyLXRvcC1zdHlsZTogZG90dGVkOwoJYm9yZGVyLXRvcC1jb2xvcjogIzAwMzM2NjsKCWNvbG9yOiAjMDAzMzMzOwoJdGV4dC1kZWNvcmF0aW9uOiBub25lOwoJZm9udC1zaXplOiAxMXB4Owp9Ci5idGl0bGUgewoJY29sb3I6ICNGRkZGRkY7Cglmb250LXdlaWdodDogYm9sZDsKCXBhZGRpbmc6NXB4Owp9Ci5yb3dkaXIgewoJYmFja2dyb3VuZC1jb2xvcjojRUVFRUVFOwoJY29sb3I6IzAwMzMzMzsKCWZvbnQtd2VpZ2h0OmJvbGQ7Cn0KLnJvd2ZpbGUgewoJYmFja2dyb3VuZC1jb2xvcjojRkZGRkZGOwp9Ci5yb3didXQgewoJYmFja2dyb3VuZC1jb2xvcjojRkZGRkNDOwp9Ci0tPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij4KdmFyIGllNDUsbnM2LG5zNCxkb207CmlmIChuYXZpZ2F0b3IuYXBwTmFtZT09Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciIpIGllNDU9cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pPj00OwplbHNlIGlmIChuYXZpZ2F0b3IuYXBwTmFtZT09Ik5ldHNjYXBlIil7ICBuczY9cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pPj01OyAgbnM0PXBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uKTw1O30KZG9tPWllNDUgfHwgbnM2OwoKZnVuY3Rpb24gZ2V0b2JqKGlkKSB7CmVsID0gZG9jdW1lbnQuYWxsID8gZG9jdW1lbnQuYWxsW2lkXSA6ICAgZG9tID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpIDogICBkb2N1bWVudC5sYXllcnNbaWRdOwpyZXR1cm4gZWw7Cn0KCmZ1bmN0aW9uIGNoZWNrYWxsKCkKCXsKCQlmb3IgKCBpPTA7aSA8IGRvY3VtZW50LmZpbmZvLmVsZW1lbnRzLmxlbmd0aCA7IGkrKyApewoJCQlpZiAoIGRvY3VtZW50LmZpbmZvLmFsbC5jaGVja2VkPT10cnVlICl7CgkJCQlkb2N1bWVudC5maW5mby5lbGVtZW50c1tpXS5jaGVja2VkID0gdHJ1ZTsKCQkJfQoJCQllbHNlCgkJCXsKCQkJCWRvY3VtZW50LmZpbmZvLmVsZW1lbnRzW2ldLmNoZWNrZWQgID0gZmFsc2U7CgkJCX0KCQl9Cgl9Cjwvc2NyaXB0Pgo8dGFibGUgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiMxRTQ3NkEiIGFsaWduPWNlbnRlciBib3JkZXI9MCBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTE+Cgk8dHI+PHRkIGFsaWduPWNlbnRlciBjbGFzcz0ibXRpdHRsZSIgdmFsaWduPSJtaWRkbGUiPjxiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9QYXJ0eS5Nb25LaXJhIiB0YXJnZXQ9Il9ibGFuayI+TW9uS2lyYTwvYT48L2I+PC90ZD4KCTx0ZCBhbGlnbj1jZW50ZXIgY2xhc3M9ImZ0aXR0bGUiPkVkaXQgQnkgPGEgaHJlZj0ibWFpbHRvOmFuaHR1eWVudmlwY3I1QGdtYWlsLmNvbSI+TW9uS2lyYTwvYT4gJmNvcHkgMjAxNCA8L3RkPjwvdHI+CjwvdGFibGU+Cjxicj4KPD8gaWYgKCRzdGVwIT0wKSB7ID8+CjxiciAvPgo8dGFibGUgd2lkdGg9IjcwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMiIgY2VsbHBhZGRpbmc9IjMiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJib3JkZXI6MXB4ICM2NjY2NjYgc29saWQiPgogIDx0cj4KICAgIDx0ZCBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRkZGRkZGIiBoZWlnaHQ9IjEwMCI+PHNwYW4gaWQ9InN0YXR1cyI+Cgk8cD48aW1nIHNyYz0iaHR0cDovL2FqYXhsb2FkLmluZm8vY2FjaGUvMDAvMDAvMDAvNDAvRkYvMDAvMzktMC5naWYiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgLz4gPGltZyBzcmM9Imh0dHA6Ly9hamF4bG9hZC5pbmZvL2NhY2hlLzAwLzAwLzAwLzQwL0ZGLzAwLzM5LTAuZ2lmIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIC8+IDxpbWcgc3JjPSJodHRwOi8vYWpheGxvYWQuaW5mby9jYWNoZS8wMC8wMC8wMC80MC9GRi8wMC8zOS0wLmdpZiIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIiAvPiA8aW1nIHNyYz0iaHR0cDovL2FqYXhsb2FkLmluZm8vY2FjaGUvMDAvMDAvMDAvNDAvRkYvMDAvMzktMC5naWYiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgLz4gPGltZyBzcmM9Imh0dHA6Ly9hamF4bG9hZC5pbmZvL2NhY2hlLzAwLzAwLzAwLzQwL0ZGLzAwLzM5LTAuZ2lmIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIC8+PC9wPgoKICAgICAgICAgIDxwPkwmIzc4OTU7aSwgRmlsZSBRdSYjMjI1OyBEJiMyMjQ7aTwvcD48L3NwYW4+Cgk8L3RkPgogIDwvdHI+CjwvdGFibGU+Cjxicj4KPD8gfSBlbHNlIHsgPz4KPGZvcm0gYWN0aW9uPSI/c3RlcD0xIiBpZD0iZmluZm8iIG5hbWU9ImZpbmZvIiBtZXRob2Q9InBvc3QiPgo8dGFibGUgd2lkdGg9IjYwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMSIgY2VsbHBhZGRpbmc9IjMiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJib3JkZXI6MXB4ICM5OTk5OTkgc29saWQiPgo8dHI+CiAgICA8dGQgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzJCNjA4MjsgY29sb3I6I0ZGRkZGRjsgcGFkZGluZzo1cHg7IiBhbGlnbj0ibGVmdCI+PGI+VGgmIzQzMjsgTSYjNzkwOTtjIEhpJiM3ODc5O24gVCYjNzg0MTtpOiA8YSBocmVmPSI/ZGlybmFtZT0uIj5aaXBlcjwvYT4gPD8KCWlmICgoIWVtcHR5KCRkaXJuYW1lKSkmJigkZGlybmFtZSE9Ii4iKSkgewoJCSRscGF0aCA9IGV4cGxvZGUoIi8iLCRkaXJuYW1lKTsKCQlpZiAoY291bnQoJGxwYXRoKT4xKSBlY2hvICItIDxhIGhyZWY9Jz9kaXJuYW1lPXskbHBhdGhbMF19Jz57JGxwYXRoWzBdfTwvYT4iOwoJfQoJPz48L2I+PC90ZD4KICA8L3RyPgo8Pwpmb3IgKCRpPTA7JGk8Y291bnQoJGN1cnJlbnRkaXIpOyRpKyspIHsKCSRlbnRyeSA9ICRjdXJyZW50ZGlyWyRpXTsKCWlmICghaXNfZGlyKCRlbnRyeSkpIHsKCQkkY2xhc3M9InJvd2ZpbGUiOwoJCSRuYW1lID0gJGVudHJ5OwkKCX0gZWxzZSB7CgkJJGNsYXNzPSJyb3dkaXIiOwoJCSRuYW1lID0gIjxhIGhyZWY9Jz9kaXJuYW1lPXskZW50cnl9Jz57JGVudHJ5fTwvYT4iOwovLwkJJG5hbWUgPSAkZW50cnk7CQoJCX0KPz4KICA8dHI+CiAgICA8dGQgYWxpZ249ImxlZnQiIGNsYXNzPSI8Pz0kY2xhc3M/PiI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ6ZGlyW10iIHZhbHVlPSI8Pz0kZW50cnk/PiIgLz4mbmJzcDs8Pz0kbmFtZT8+PC90ZD4KICA8L3RyPgo8PyB9ID8+Cjx0cj4KICAgIDx0ZCBhbGlnbj0ibGVmdCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzJCNjA4MjsgY29sb3I6I0ZGRkZGRiI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJhbGwib25jbGljaz0iamF2YXNjcmlwdDpjaGVja2FsbCgpOyIgLz4mbmJzcDtDaCYjNzg4NTtuIFQmIzc4NDU7dCBDJiM3ODQzOzwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPGJyIC8+Cjx0YWJsZSB3aWR0aD0iNjAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiIgc3R5bGU9ImJvcmRlcjoxcHggIzk5OTk5OSBzb2xpZCI+Cjx0cj4KICAgIDx0ZD5UJiMyMzQ7biBGaWxlIFQmIzc4NDM7aSBYdSYjNzg4OTtuZyA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZmlsZW5hbWUiIHZhbHVlPSJaaXAtTW9uS2lyYSIgc2l6ZT0iNDAiIC8+LnppcDwvdGQ+Cgk8dGQgYWxpZ249InJpZ2h0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSImbmJzcDsmbmJzcDsmbmJzcDtOJiMyMzM7biZuYnNwOyZuYnNwOyZuYnNwOyIgLz48L3RkPgogIDwvdHI+CjwvdGFibGU+CjwvZm9ybT4KPD8gfSA/Pgo8YnI+Cjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iMjAwIiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjM0E3NEFCIj48YSBocmVmPSJaaXAucGhwIiBjbGFzcz0iYnRpdGxlIj5IT01FPC9hPjwvdGQ+CiAgICA8dGQgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iIzJCNjA4MiIgY2xhc3M9ImJ0aXRsZSI+JmNvcHkgMjAxNCBNb25LaXJhIDwvdGQ+CiAgPC90cj4KPC90YWJsZT4KPGJyPgo8L2JvZHk+CjwvaHRtbD4KPD8KaWYgKCRzdGVwPT0xKSB7CgkkemRpciA9ICRfUE9TVFsnemRpciddOwoJaWYgKGNvdW50KCR6ZGlyKT4wKSB7CgkJJGRpcmFycmF5PWFycmF5KCk7CgkJJGRpcnNpemU9MDsKCQkkemRpcnNpemU9MDsKCQlmb3IgKCRpPTA7JGk8Y291bnQoJHpkaXIpOyRpKyspIHsKCQkJJGZmaWxlID0gJHpkaXJbJGldOwoJCQlpZiAoaXNfZGlyKCRmZmlsZSkpIHsKCQkJCWdldGRpcigkZmZpbGUpOwoJCQl9IGVsc2UgewoJCQkJaWYgKCRmc2l6ZT1AZmlsZXNpemUoJGZmaWxlKSkgJHpkaXJzaXplKz0kZnNpemU7CgkJCX0KCQl9CgkJJHpkaXJzaXplKz0kZGlyc2l6ZTsKCQlmb3IgKCRpPTA7JGk8Y291bnQoJGRpcmFycmF5KTskaSsrKSB7CgkJCSR6ZGlyW10gPSAkZGlyYXJyYXlbJGldOwoJCX0KCQlpZiAoIUBpc19kaXIoJGNvbmZbJ2RpciddKSkgewoJCQkkcmVzID0gQG1rZGlyKCRjb25mWydkaXInXSwwNzc3KTsKCQkJaWYgKCEkcmVzKSAkdHh0b3V0ID0gIktoJiMyNDQ7bmcgVGgmIzc4NzU7IFQmIzc4NDE7byBUaCYjNDMyOyBNJiM3OTA5O2MhPGJyPiI7CgkJfSBlbHNlIEBjaG1vZCgkY29uZlsnZGlyJ10sMDc3Nyk7CgkKCQkkemlwbmFtZSA9ICRfUE9TVFsnZmlsZW5hbWUnXTsKCQkkemlwbmFtZT1zdHJfcmVwbGFjZSgiLyIsIiIsJHppcG5hbWUpOwoJCWlmIChlbXB0eSgkemlwbmFtZSkpICR6aXBuYW1lPSJNb25LaXJhIjsKCQkkemlwbmFtZS49Ii56aXAiOwoJCQoJCSR6aXBlciA9IG5ldyB6aXBmaWxlKCk7CgkJJHppcGVyLT5hZGRGaWxlcygkemRpcik7CgkJJHppcGVyLT5vdXRwdXQoInskY29uZlsnZGlyJ119L3skemlwbmFtZX0iKTsKCQkKCQlpZiAoJGZzaXplPUBmaWxlc2l6ZSgieyRjb25mWydkaXInXX0veyR6aXBuYW1lfSIpKSAkemlwc2l6ZT0kZnNpemU7CgkJZWxzZSAkemlwc2l6ZT0wOwoJCQoJCSR6ZGlyc2l6ZSA9IHNpemVfZm9ybWF0KCR6ZGlyc2l6ZSk7CgkJJHppcHNpemUgPSBzaXplX2Zvcm1hdCgkemlwc2l6ZSk7CgkJPz4KCQk8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij5nZXRvYmooJ3N0YXR1cycpLmlubmVySFRNTD0iPHA+PGI+WmlwIFRoJiMyMjQ7bmggQyYjMjQ0O25nICE8L2I+PC9wPjxwPlQmIzc4NDM7aSBYdSYjNzg4OTtuZyA6IDxhIGhyZWY9Jzw/PSRjb25mWydkaXInXT8+Lzw/PSR6aXBuYW1lPz4nPjw/PSR6aXBuYW1lPz48L2E+PC9wPjxwPktpY2sgVGgmIzQzMjsmIzc4OTk7YyBCYW4gJiMyNzI7JiM3ODQ3O3UgOiA8Pz0kemRpcnNpemU/PiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgU2F1IEtoaSBSaXAgOiA8Pz0kemlwc2l6ZT8+PC9wPiI7PC9zY3JpcHQ+CgkJPD8KCX0gZWxzZSB7CgkJPz48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0Ij5nZXRvYmooJ3N0YXR1cycpLmlubmVySFRNTD0iS2gmIzI0NDtuZyBDJiMyNDM7IHQmIzc4Nzk7cCB0aW4gaGF5IHRoJiM0MzI7IG0mIzc5MDk7YyAmIzI3MzsmIzIyNzsgY2gmIzc4ODU7biI7PC9zY3JpcHQ+PD8KCX0KfQo/Pg==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement