mirror of
https://github.com/alantang1977/hipy.git
synced 2024-11-25 07:53:09 +02:00
1 line
No EOL
8.1 KiB
JavaScript
1 line
No EOL
8.1 KiB
JavaScript
dmFyIHJ1bGUgPSB7CiAgICJ0aXRsZSI6ICLnmq7nmq7lvbHop4YiLAogICAg5qih5p2/OiAnbXhwcm8nLAogICAgdGFiX2V4Y2x1ZGU6ICfmjpLluo8nLAogICAgImhvc3QiOiAiaHR0cHM6Ly93d3cucHB5czAxLmNvbSIsCiAgICAgInVybCI6ICIvdm9kc2hvdy9meWNsYXNzZnlmaWx0ZXIuaHRtbCIsCiAgICAic2VhcmNoVXJsIjogIi92b2RzZWFyY2gvKiotLS0tLS0tLS0tZnlwYWdlLS0tLmh0bWwiLAogICAgInNlYXJjaGFibGUiOiAyLAogICAgInF1aWNrU2VhcmNoIjogMCwKICAgICJmaWx0ZXJhYmxlIjogMSwKICAgICJoZWFkZXJzIjogewogICAgICAgICJVc2VyLUFnZW50IjogIk1vemlsbGEvNS4wIChMaW51eDsgQW5kcm9pZCAxMTsgUGl4ZWwgNSkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzkwLjAuNDQzMC45MSBNb2JpbGUgU2FmYXJpLzUzNy4zNiIKICAgIH0sCiAgICAiY2xhc3NfcGFyc2UiOiAiLm5hdmJhci1pdGVtcyBsaTpndCgwKTpsdCg4KTthJiZUZXh0O2EmJmhyZWY7LyhcXGQrKS5odG1sIiwKICAgICJwbGF5X3BhcnNlIjogdHJ1ZSwKICAgIGxhenk6ICRqcy50b1N0cmluZygoKSA9PiB7CiAgICAgICAgbGV0IGh0bWwgPSBKU09OLnBhcnNlKHJlcXVlc3QoaW5wdXQpLm1hdGNoKC9yIHBsYXllcl8uKj89KC4qPyk8LylbMV0pOwogICAgICAgIGxldCB1cmwgPSBodG1sLnVybDsKICAgICAgICBpZiAoaHRtbC5lbmNyeXB0ID09ICcxJykgewogICAgICAgICAgICB1cmwgPSB1bmVzY2FwZSh1cmwpOwogICAgICAgIH0gZWxzZSBpZiAoaHRtbC5lbmNyeXB0ID09ICcyJykgewogICAgICAgICAgICB1cmwgPSB1bmVzY2FwZShiYXNlNjREZWNvZGUodXJsKSk7CiAgICAgICAgfQogICAgICAgIGlmICgvbTN1OC8udGVzdCh1cmwpKSB7CiAgICAgICAgICAgIGlucHV0ID0gewogICAgICAgICAgICAgICAgang6IDAsCiAgICAgICAgICAgICAgICB1cmw6IHVybCwKICAgICAgICAgICAgICAgIHBhcnNlOiAwCiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBsZXQgY29uZmlnID0ge307CiAgICAgICAgICAgIGV2YWwocmVxdWVzdChIT1NUICsgJy9zdGF0aWMvanMvcGxheWVyY29uZmlnLmpzJykgKyAnXG5jb25maWc9TWFjUGxheWVyQ29uZmlnOycpOwogICAgICAgICAgICBsZXQganggPSBIT1NUICsgY29uZmlnLnBsYXllcl9saXN0W2h0bWwuZnJvbV0ucGFyc2U7CiAgICAgICAgICAgIGlmIChqeCA9PSAnJykgewogICAgICAgICAgICAgICAganggPSBIT1NUICsgY29uZmlnLnBhcnNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxvZyhqeCk7CiAgICAgICAgICAgIGV2YWwocmVxdWVzdChqeCArIHVybCwgewogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAgICdSZWZlcmVyJzogaW5wdXQKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkubWF0Y2goL2xldCBjb25maWcgPSB7W1xzXFNdKj99LylbMF0pOwogICAgICAgICAgICBsb2coY29uZmlnLnVybCk7CiAgICAgICAgICAgIGV2YWwoZ2V0Q3J5cHRvSlMoKSk7CgogICAgICAgICAgICBmdW5jdGlvbiByYzQoZGF0YSwga2V5LCB0KSB7CiAgICAgICAgICAgICAgICBsZXQgcHdkID0ga2V5IHx8ICdmZnNpcmxscSc7CiAgICAgICAgICAgICAgICBsZXQgY2lwaGVyID0gJyc7CiAgICAgICAgICAgICAgICBrZXkgPSBbXTsKICAgICAgICAgICAgICAgIGxldCBib3ggPSBbXTsKICAgICAgICAgICAgICAgIGxldCBwd2RfbGVuZ3RoID0gcHdkLmxlbmd0aDsKICAgICAgICAgICAgICAgIGlmICh0ID09IDEpIHsKICAgICAgICAgICAgICAgICAgICBkYXRhID0gYXRvYihkYXRhKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGVuY29kZVVSSUNvbXBvbmVudChkYXRhKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGxldCBkYXRhX2xlbmd0aCA9IGRhdGEubGVuZ3RoOwogICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGtleVtpXSA9IHB3ZFtpICUgcHdkX2xlbmd0aF0uY2hhckNvZGVBdCgpOwogICAgICAgICAgICAgICAgICAgIGJveFtpXSA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMCwgaSA9IDA7IGkgPCAyNTY7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGogPSAoaiArIGJveFtpXSArIGtleVtpXSkgJSAyNTY7CiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IGJveFtpXTsKICAgICAgICAgICAgICAgICAgICBib3hbaV0gPSBib3hbal07CiAgICAgICAgICAgICAgICAgICAgYm94W2pdID0gdG1wOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZm9yIChsZXQgYSA9IDAsIGogPSAwLCBpID0gMDsgaSA8IGRhdGFfbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBhID0gKGEgKyAxKSAlIDI1NjsKICAgICAgICAgICAgICAgICAgICBqID0gKGogKyBib3hbYV0pICUgMjU2OwogICAgICAgICAgICAgICAgICAgIGxldCB0bXAgPSBib3hbYV07CiAgICAgICAgICAgICAgICAgICAgYm94W2FdID0gYm94W2pdOwogICAgICAgICAgICAgICAgICAgIGJveFtqXSA9IHRtcDsKICAgICAgICAgICAgICAgICAgICBsZXQgayA9IGJveFsoKGJveFthXSArIGJveFtqXSkgJSAyNTYpXTsKICAgICAgICAgICAgICAgICAgICBjaXBoZXIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShkYXRhW2ldLmNoYXJDb2RlQXQoKSBeIGspOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKHQgPT0gMSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoY2lwaGVyKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJ0b2EoY2lwaGVyKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IHBsYXkgPSByYzQoY29uZmlnLnVybCwgIjIwMjIwNTA1MTQyNjIzOTQ2NSIsIDEpOwogICAgICAgICAgICBpbnB1dCA9IHsKICAgICAgICAgICAgICAgIGp4OiAwLAogICAgICAgICAgICAgICAgdXJsOiBwbGF5LAogICAgICAgICAgICAgICAgcGFyc2U6IDAKICAgICAgICAgICAgfQoKICAgICAgICB9CiAgICB9KSwKICAgICJsaW1pdCI6IDYsCiAgICAiZG91YmxlIjogdHJ1ZSwKICAgICLkuoznuqciOiB7CiAgICAgICAgInRpdGxlIjogImgxJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgtMSkmJlRleHQiLAogICAgICAgICJpbWciOiAiLmxhenlsb2FkJiZkYXRhLW9yaWdpbmFsfHxkYXRhLXNyY3x8c3JjIiwKICAgICAgICAiZGVzYyI6ICIubW9kdWxlLWluZm8taXRlbTplcSgtMSkmJlRleHQ7Lm1vZHVsZS1pbmZvLXRhZy1saW5rJiZUZXh0Oy5tb2R1bGUtaW5mby10YWctbGluazplcSgxKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgyKSYmVGV4dDsubW9kdWxlLWluZm8taXRlbTplcSgxKSYmVGV4dCIsCiAgICAgICAgImNvbnRlbnQiOiAiLm1vZHVsZS1pbmZvLWludHJvZHVjdGlvbiYmVGV4dCIsCiAgICAgICAgInRhYnMiOiAiLm1vZHVsZS10YWItaXRlbSIsCiAgICAgICAgImxpc3RzIjogIi5tb2R1bGUtcGxheS1saXN0OmVxKCNpZCkgYSIsCiAgICAgICAgInRhYl90ZXh0IjogImRpdi0tc21hbGwmJlRleHQiCiAgICB9LAogICAgIuaQnOe0oiI6ICJib2R5IC5tb2R1bGUtaXRlbTsubW9kdWxlLWNhcmQtaXRlbS10aXRsZSYmVGV4dDsubGF6eWxvYWQmJmRhdGEtb3JpZ2luYWw7Lm1vZHVsZS1pdGVtLW5vdGUmJlRleHQ7YSYmaHJlZjsubW9kdWxlLWNhcmQtaXRlbS1pbmZvJiZUZXh0IiwKICAgICAiZmlsdGVyIjogIkg0c0lBQUFBQUFBQUErMmFXVTliUnh6RnY0dGZtMG9Zc2pWdjJmZDlUNVdIcUVKcTFEYVZtclJTRlVVQ2JNQTR4Z2JxWUJ6TWtyQVpnbzBoaEJndjhHVThjKzF2MFd2UC8zOW1idFJPM1JhaFZMMXYvcDF6Wnp6THZUUEhjLzA4RUF3YysvcDU0THZ1WHdQSEFtSm9TWWI2QXdjQ1R4NzkwRzN5TDQrKy83bTdkZUdUcHR5ZmJZU3lUZG1Gd0lzRHBFYXp0V3FHVkFKNDR4bTNMdllVc09kRTF1bExOTUJiR2hYYlpmWVVzQ2Q3UjJUUE9Ia0UrRDQwWEFQS1JTWnFwU0V1cHdEbDhsdWlsT055Q3VBdERPcTJFTERYeUNXMVI0QnlBMk9OOURLWFU0QzI1R0wxeURTM1JRSHFUTDkxU3J0Y3B3S1U2MXQxeGtlNW5BSjRvYWpzZTgyZUFveG5kTTJwcnZCNEttQ3ZubHNVTWZZSVVPZjBpanRTWEtjQzFGa2RkY29aSi9sQlZOZTVabFBDT0NUbTYzT1lFd1dvbzNlbjhYcUhTeXRncjFhWnJlY0w1QkdnenVGNGZRM3pwUUIxbGxaRW5zZVdBR003TlNZbkZuaHNGYURPK0lCSWJIQ2RDbDQ4YkxyMGtHUUtJbFl5SGhMbXRoNlMrYVZHZW9BclY0QkdMYVpsY1kwYnBVQVBYa0Z1NzJEd1dvQ083c1RGWkpVN3FnQVQ5LzZWOWdndzRTL1h0VWVBY3FrRm1WbmxjZ3JRenBsbFhZNEE3ZHo1cUQwQzNaYUMyWmFDcDl4d1FaUVdNWkV0UUxsd3doMHBFZUZuU0RONnNyRHJKSExPVUpvN0E5YUwwNng4dWVzV3cvckVqQ3Y2dDJwbFhrNEl6R2wzYjYxNnRrZFBPN2l0YVorc0d2ZXBBbU1hdEVlQXFkMlkxeDRCcGlGVkZjTXBiV3MySnNxd0ZSZ1RyRDBDNDZZeFBBWEdCQnM5VVdBTW9jaUg5QkEyd2ZQa2JHL1d5bFhqeVdGdVp3ZzdPem9Qa3RiNmFPaGRXdTh5OVU2dGQ1cDZVT3RCVSsvUWVvZWhCNytDN240MDlLTmFQMnJxUjdSK3hOUVBhLzJ3cVIvUytpRlQxLzBObXYwTjZ2NEd6ZjRHZFgrRFpuK0R1cjlCczc5QjNWLzNvMmVpY2ltNU5teE1GUE1uRXdYWm5LampKQnlIY29LVUUxQk9rbklTeWlsU1RrRTVUY3BwS0dkSU9RUGxMQ2xub1p3ajVSeVU4NlNjaDNLQmxBdFFMcEp5RWNvbFVpNUJ1VXpLWlNoWFNMa0M1U29wVjZGY0krVWFsT3VrWElkeWc1UWJVRzZTY2hQS0xWSnVRYmxOeW0wb2QwaTVBK1V1S1hlaDNDUGxIcFQ3cE55SDhvQ1VCMUE2dnVSbndIdWp5UGlZS0NYMGpRTDIzaWd5dGRWSWJXclRsWjQ5ZGd0Z2l5K1ZaQ0hwOGI5OS9PeXBYaUxYd2lJeTRQR2ZmdlBqVDkzTnRqdzhFT2pjc3dnN1dhMlZzRVVvK0xlN3MyMjN0TzJ5dHQxU2Z2Z281aEY5RmNCYlhYSXpBSHNLMm9tM3RraHBpNDNXdUdtSjlyYUlibzFubGhocGplaWhxaWoyY1owS2RCLzZaWGdHZldnQjdyMXNqMjRuQWZvWER4cy9UeFNnWEhSTVRtZkVZRW44MXN1bFRRbmZQZnRHVEdLelZhQlR5N3JZVFNHeXRFRC9yTWpJS1o0dmd2MkpxWlliK3A4K0pMWUh3UjV2Ly93aHNjYmI4WUtiQU1YVUd5NEsvcDlHUGorNkJmem81a2UzZ0IvZDlqZTZkZTFaZEd0dFVrNjVVaDhxZWZZdGtyQUlGdGZjdmNkem5VY3lGa3QzK2ZSZVowcmV1T1c5enBTd3JHZG0zS0Z5bG5wNFpRZmppc21pbU9OekxnS01ZbmhkSk9aMGFjM292K1dFVlk1TU82dUlkZ3BRYzM2M1hvaHd0UXJhaVVWeWZGREVFRUVWd0p1SXl3bVVVNkRIdFY4V2l4alJGc0I3bGE3Mzhja2JnYjdQTmtSdWhEd0NJeUUwNXZqN0NQUjhGMlVrZ1psdWdkNzB5akxDZFJMb2pmUjliWnM5QW54ZmNrWnVJdllwZ1BkdVdsYVM3Q2xBVzlLdmF4VkVaUVdmOWNtaUxlcjlZU3p6dzVNZm52enc1SWNuUHp6dFIzZzZ1TGZuWGlLYWxaVjNldEhWa2pjOGVhN3pTTjd3NUwzT2xMemh5WHVkS1dGWkQrWHFiNUNjRktEdDV1dlZMejU1djJvN29KRzV4ZHJPTEgrdEFsVHFHUXB2WTZ6dnVhTlpKMW5XWGhQZ1dRNm5iSWRhdHZSbU95Q3lIYUxaRHAxazcwc253bTl5Q2VCVjNybGRrc2x0cDRMc1owcDRhdTg0UXh3cTFXZlVzRkdXWWJZSWNMdjN4a1NHVXpTQmNVc0pJemUyUUNmbnFFeHpPUUtNMEVoRTVMZms2bHNlSlBDK0pLKy9mYkRsSnlnL1Fma0p5azlRZm9MYWp3UjFhSzhTbERPVDA4Y3ZCUENTR1pIbm9FR0FCYk5ub1A0V0M2WUN0RDA5NG02L3ZFd3JRSjNMdS9XdEtOZXBBSFVPRGp0SlBnNGhnR2Q1QytiRUM3WHluT2Q5bDBkcUo2eTQrR2tkSGdtYlFXVENXY0FmM3hTZ0hRdlRJb2JRcHNEdzZ1c3IybXNDeG11cnZ4N0NDeDhGOEVaaUlqL0ZuZ0s5ZncvWHlvUFl2MXVBY3VGUnVjbnRKSUQzWVVJczh4LzBDTm9KbnRZMCt4Zi9RdnJzam9qOFA1LzVmejRMN0dVVTlQOTg1a2RJUDBMNkVmSy9FU0ZmL0E0QmM0QTJRVEVBQUE9PSIsCiAgImZpbHRlcl91cmwiOiAiLXt7Zmwu5Zyw5Yy6fX0te3tmbC7mjpLluo99fS17e2ZsLuWJp+aDhX19LXt7Zmwu6K+t6KiAfX0te3tmbC7lrZfmr419fS0tLWZ5cGFnZS0tLXt7Zmwu5bm05Lu9fX0iLAp9 |