지나가던 개발자임
복구탭에 [90일]이거 적혀있는거 용임
대충 아래 사진처럼 만들어주는거임.
IiIiCmFya19kZWNyeXB0X2tvLnB5CgrsgqzsmqnrspU6CiAg6rCc67Cc7J6Q7JqpIOyEpOuqhQogIDEu65287J2067iM65+s66as66W8IOuwm+uKlOuLpC4KICAyLuuwqeyjvCDtjIzsnbwganNvbuycvOuhnCDsvZTrk5zrs7Tqs6Ag64yA7LapIOunjOuToOuLpC4g7YyM7J2866qFIOqyveuhnCDslYzslYTshJwg7KeA7KCV7ZWc64ukLgogIDIucHl0aG9uIGFya19kZWNyeXB0X2tvLnB5IC0tdG9wIDAg7Iuk7ZaJCiAgCiAg7J2867CY7J247JqpIOyEpOuqhQogICAgMS4gdnNjb2Rl66W8IOuwm+uKlOuLpAogICAgMi4g7ZW064u5IO2MjOydvOydhCDsoIDsnqXtlZwg7Y+0642U66W8IOyXsOuLpC4KICAgIDMuIOuplOuqqOyepSDsl7TslrTshJwg64yA7LapIOyVhOuemCDsspjrn7wg67O167aZ7ZW07IScIGFyay5KU09O7Jy866GcIOyggOyepe2VnOuLpAogICAgICAgIFtBY2VTdHVkaW9dIFNhcmFoJ3MgSG91c2UgdjAuOS4xNQogICAgICAgIGFIUjBjSE02THk5MGNtRnVjMlpsY2k1cGRDOTBMMHhtTWpGSFdHOVdRMHBvVkE9PQoKICAgICAgICBbQWthaW1lXSBBSVJldm9sdXRpb24gdjAuMy44CiAgICAgICAgYUhSMGNITTZMeTkwY21GdWMyWmxjaTVwZEM5MEwyeE9TRWh4U0dob2VscG9SQT09CgogICAgICAgIFtBemllbmRhXSBUdXJuaW5nIHRoZSBQYWdlIHYxLjAuMAogICAgICAgIGFIUjBjSE02THk5MGNtRnVjMlpsY2k1cGRDOTBMMnhqTW1kWFJIaEdVVVJpUXc9PQoKICAgICAgICBbQmFkQ29sb3JdIERhcmtSZWQncyBBZHZlbnR1cmUgdjEuMCBb66+467KIXQogICAgICAgIGFIUjBjSE02THk5MGNtRnVjMlpsY2k1cGRDOTBMMkZSVFhoRFJ6UXpNVkpCUXc9PQoKICAgICAgICBbQml0Y2jniafloLRdIEZhdGUgR3JhbmQgTWFtbWEgKEZHTSkgdjEwMiBb66+467KIXQogICAgICAgIGFIUjBjSE02THk5MGNtRnVjMlpsY2k1cGRDOTBMelk0VVVOeVlqVjZXRUozV1E9PQogICAgNC4g7Jik66W47Kq9IOywveyXkCDsnojripQg7KCc66+464KY7J2064KYIO2BtOuhnOuTnO2VnO2FjCDsnbQg7YyM7J207I2sIO2MjOydvOydhCDsi6TtlontlbTri6zrnbzqs6Ag7ZWc64ukCiAgICA1LiDsl5HshYDroZwg7KCV66as7ZWY6rGw64KYIENUUkwrRu2VtOyEnCDsm5DtlZjripQg7YOc6re4IOywvuyVhOyEnCDqsoDsg4ntlZjsgrwuIOunge2BrOuKlCBDVFJMK+2BtOumre2VmOuptCDrj7wuCiIiIgoKaW1wb3J0IGFyZ3BhcnNlCmltcG9ydCBiYXNlNjQKaW1wb3J0IGpzb24KaW1wb3J0IHJlCmltcG9ydCB0aW1lCmZyb20gcGF0aGxpYiBpbXBvcnQgUGF0aAppbXBvcnQgcmVxdWVzdHMKZnJvbSBiczQgaW1wb3J0IEJlYXV0aWZ1bFNvdXAKCkFSS19JTiA9IFBhdGgoImFyay5qc29uIikKT1VUX0ZJTEUgPSBQYXRoKCJhcmtfZGVjcnlwdF9rby5qc29uIikKClBST0RfUkUgPSByZS5jb21waWxlKHIiXGIoUkp8U1R8VkopXHMqKFxkKylcYiIsIHJlLklHTk9SRUNBU0UpCgoKZGVmIHRyeV9iNjRfZGVjb2RlX29uY2Uoczogc3RyKToKICAgIHMgPSBzLnN0cmlwKCkKICAgIG1pc3NpbmdfcGFkZGluZyA9IGxlbihzKSAlIDQKICAgIGlmIG1pc3NpbmdfcGFkZGluZzoKICAgICAgICBzICs9ICc9JyAqICg0IC0gbWlzc2luZ19wYWRkaW5nKQogICAgdHJ5OgogICAgICAgIGIgPSBiYXNlNjQuYjY0ZGVjb2RlKHMsIHZhbGlkYXRlPVRydWUpCiAgICAgICAgcmV0dXJuIGIuZGVjb2RlKCd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykKICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgdHJ5OgogICAgICAgICAgICBiID0gYmFzZTY0LmI2NGRlY29kZShzLCB2YWxpZGF0ZT1GYWxzZSkKICAgICAgICAgICAgcmV0dXJuIGIuZGVjb2RlKCd1dGYtOCcsIGVycm9ycz0nc3RyaWN0JykKICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICByZXR1cm4gTm9uZQoKCmRlZiBkZWNvZGVfbGluZV9hdXRvKHM6IHN0cik6CiAgICAjIOuUlOy9lOuUqSDqsoDspp3quLAuIOuCmOykkeyXkCDrlrzshJwg65Sw66GcIOyTsOugpOuptCDsk7DsgrwKICAgIGRlZiBpc19iNjRfbGlrZSh4OiBzdHIpOgogICAgICAgIHggPSB4LnN0cmlwKCkKICAgICAgICByZXR1cm4gYm9vbChyZS5mdWxsbWF0Y2gocidbQS1aYS16MC05Ky89XSsnLCB4KSkgYW5kIGxlbih4KSA+PSA4CgogICAgcyA9IHMuc3RyaXAoKQogICAgaWYgbm90IGlzX2I2NF9saWtlKHMpOgogICAgICAgIHJldHVybiBzCgogICAgZmlyc3QgPSB0cnlfYjY0X2RlY29kZV9vbmNlKHMpCiAgICBpZiBmaXJzdCBpcyBOb25lOgogICAgICAgIHJldHVybiBzCiAgICAjIOuUlOy9lOuUqSDtlZzrsojrjZQKICAgIGZpcnN0X3N0cmlwID0gZmlyc3Quc3RyaXAoKQogICAgaWYgaXNfYjY0X2xpa2UoZmlyc3Rfc3RyaXApOgogICAgICAgIHNlY29uZCA9IHRyeV9iNjRfZGVjb2RlX29uY2UoZmlyc3Rfc3RyaXApCiAgICAgICAgaWYgc2Vjb25kIGlzIG5vdCBOb25lOgogICAgICAgICAgICByZXR1cm4gc2Vjb25kCiAgICByZXR1cm4gZmlyc3QKCgpkZWYgZGxzaXRlX2Fubm91bmNlX3VybChwcm9kX2lkOiBzdHIpIC0+IHN0cjoKICAgICMgREwgU0lURSDrp4HtgawKICAgIHJldHVybiBmImh0dHBzOi8vd3d3LmRsc2l0ZS5jb20vbWFuaWF4L3dvcmsvPS9wcm9kdWN0X2lkL3twcm9kX2lkfS5odG1sLz9sb2NhbGU9a29fS1IiCgoKZGVmIGZldGNoX2dlbnJlcyh1cmw6IHN0ciwgc2Vzc2lvbjogcmVxdWVzdHMuU2Vzc2lvbiwgdGltZW91dD0xMCk6CiAgICB0cnk6CiAgICAgICAgcmVzcCA9IHNlc3Npb24uZ2V0KHVybCwgdGltZW91dD10aW1lb3V0KQogICAgICAgIHJlc3AucmFpc2VfZm9yX3N0YXR1cygpCiAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgIHJldHVybiAiIgogICAgc291cCA9IEJlYXV0aWZ1bFNvdXAocmVzcC50ZXh0LCAiaHRtbC5wYXJzZXIiKQogICAgZ2VucmVzID0gW10KICAgICMg7J6l66W0IO2DnOq3uCDsiJjsp5EKICAgIGZvciBtZyBpbiBzb3VwLmZpbmRfYWxsKGNsYXNzXz0ibWFpbl9nZW5yZSIpOgogICAgICAgIGZvciBhIGluIG1nLmZpbmRfYWxsKCdhJyk6CiAgICAgICAgICAgIHRleHQgPSBhLmdldF90ZXh0KHN0cmlwPVRydWUpCiAgICAgICAgICAgIGlmIHRleHQgYW5kIHRleHQgbm90IGluIGdlbnJlczoKICAgICAgICAgICAgICAgIGdlbnJlcy5hcHBlbmQodGV4dCkKICAgIHJldHVybiAiLCIuam9pbihnZW5yZXMpCgoKZGVmIHByb2Nlc3NfZmlsZSh0b3BfbjogaW50ID0gNCk6CiAgICBpZiBub3QgQVJLX0lOLmV4aXN0cygpOgogICAgICAgIHByaW50KCJhcmsuanNvbiDtjIzsnbwg66eM65Ok7Ja07JW87ZWoLiDtjIzsnbzrqoUg7ZmV7J247ZWY6rGw64KYIDQw67KI7Ke47KSEIOyggOyepe2MjOydvOuqhSDtmZXsnbjtlYTsmpTtlbQiKQogICAgICAgIHJldHVybgoKICAgIGxpbmVzX291dCA9IFtdCiAgICBkbF9jb3VudCA9IDAKICAgIHNlc3Npb24gPSByZXF1ZXN0cy5TZXNzaW9uKCkKCiAgICB3aXRoIEFSS19JTi5vcGVuKCdyJywgZW5jb2Rpbmc9J3V0Zi04JywgZXJyb3JzPSdpZ25vcmUnKSBhcyBmaDoKICAgICAgICBmb3IgcmF3IGluIGZoOgogICAgICAgICAgICByYXcgPSByYXcucnN0cmlwKCdcbicpCiAgICAgICAgICAgIGRlYyA9IGRlY29kZV9saW5lX2F1dG8ocmF3KQogICAgICAgICAgICBtID0gUFJPRF9SRS5zZWFyY2goZGVjKQogICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgcHJvZCA9IGYie20uZ3JvdXAoMSkudXBwZXIoKX17bS5ncm91cCgyKX0iCiAgICAgICAgICAgICAgICBpZiBsaW5lc19vdXQgYW5kIGxpbmVzX291dFstMV0gIT0gIiI6CiAgICAgICAgICAgICAgICAgICAgbGluZXNfb3V0LmFwcGVuZCgiIikKICAgICAgICAgICAgICAgIGxpbmVzX291dC5hcHBlbmQoZGVjKQogICAgICAgICAgICAgICAgdXJsID0gZGxzaXRlX2Fubm91bmNlX3VybChwcm9kKQogICAgICAgICAgICAgICAgbGluZXNfb3V0LmFwcGVuZCh1cmwpCiAgICAgICAgICAgICAgICBkbF9jb3VudCArPSAxCiAgICAgICAgICAgICAgICBpZiB0b3BfbiA9PSAwIG9yIGRsX2NvdW50IDw9IHRvcF9uOgogICAgICAgICAgICAgICAgICAgIGdlbnJlcyA9IGZldGNoX2dlbnJlcyh1cmwsIHNlc3Npb24pCiAgICAgICAgICAgICAgICAgICAgaWYgZ2VucmVzOgogICAgICAgICAgICAgICAgICAgICAgICBsaW5lc19vdXQuYXBwZW5kKGdlbnJlcykKICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNfb3V0LmFwcGVuZCgiIikKICAgICAgICAgICAgICAgICAgICAjIO2BrOuhpOungeyehC4g64SI66y0IOuKkOumrOuptCBTTEVFUCDrjZQg7KSE7J2066m0IOuPvAogICAgICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoMC41KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBsaW5lc19vdXQuYXBwZW5kKCIiKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgbGluZXNfb3V0LmFwcGVuZChkZWMpCiAgICAgICAgICAgIG1ldGEgPSB7InByb2Nlc3NlZF9kbHNpdGVfY291bnQiOiBkbF9jb3VudCwgInRvcF9uIjogdG9wX259CiAgICAgICAgICAgIE9VVF9GSUxFLndyaXRlX3RleHQoanNvbi5kdW1wcyh7Im1ldGEiOiBtZXRhLCAibGluZXMiOiBsaW5lc19vdXR9LCBlbnN1cmVfYXNjaWk9RmFsc2UsIGluZGVudD0yKSwgZW5jb2Rpbmc9J3V0Zi04JykKCiAgICBwcmludChmIkZpbmlzaGVkLiBXcm90ZSB7T1VUX0ZJTEV9IGVudHJpZXM9e2xlbihsaW5lc19vdXQpfSBwcm9jZXNzZWRfZGxzaXRlX2NvdW50PXtkbF9jb3VudH0iKQoKCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXRvcCcsIHR5cGU9aW50LCBkZWZhdWx0PTQpCiAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogICAgcHJvY2Vzc19maWxlKGFyZ3MudG9wKQo=이름.py로 저장해
내가 아무리 생각해봐도 나 혼자 이걸 다 저장하는건 비효율적이란 말이야?
그래서 태그까지 가져오는 스크립트 하나 간단하게 만들어 둠.
누군가 이 글을 보고 취향따라 저장해주겠지?
깃으로 공유하기에는 내 인생이 사회적으로 끝날수 있어서 이미지 .py로 바꿔서 써먹으면 돼.
코딩 모르는 친구들을 위해 안에 설명도 친절하게 적어둠
자동 다운 스크립트도 있는데 다수가 이거 쓰면 안될거 같아서 이건 공유 못하겠어.
나중에 복구요청 잘 받아줘
