From 1e2bab9815a845443da97e95d7c5da702a53751d Mon Sep 17 00:00:00 2001 From: Domenico Testa Date: Wed, 2 Dec 2020 09:54:01 +0100 Subject: [PATCH] Day 2: Password philosophy --- day_2/__init__.py | 0 day_2/password_philosophy.py | 1025 ++++++++++++++++++++++++++++++++++ poetry.lock | 191 ++++++- pyproject.toml | 1 + 4 files changed, 1216 insertions(+), 1 deletion(-) create mode 100644 day_2/__init__.py create mode 100644 day_2/password_philosophy.py diff --git a/day_2/__init__.py b/day_2/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/day_2/password_philosophy.py b/day_2/password_philosophy.py new file mode 100644 index 0000000..444e0d3 --- /dev/null +++ b/day_2/password_philosophy.py @@ -0,0 +1,1025 @@ +input = """\ +5-11 t: glhbttzvzttkdx +2-4 f: cfkmf +9-12 m: mmmmmmmmmmmmm +2-10 z: vghqbzbcxf +10-11 b: tbtbvbbnbwd +1-6 d: cmhdnw +1-5 r: xrrrdrrr +12-13 g: pggkggggfggggg +7-9 g: gsgwhgggg +4-5 v: tvsgqvvv +5-7 n: nnncngdnznjx +1-4 v: vvvzqvzvvvvv +11-12 r: mmrwxhrzvmrr +5-11 f: wcldfbbkxbfjrtffrr +3-4 x: pcnxgxx +11-12 g: kgggghpfgmwzgg +2-3 z: zzzzmzn +11-12 n: nrncpbpnlpnn +2-4 q: qqgq +11-14 k: kkkkkkkkkkkkkkk +4-10 w: fkswkgwwhpjfcg +6-12 s: sssshsssfssw +2-14 d: szcsdskhhqrpldwp +1-5 j: zjpjjqxjjjrjjjj +9-13 q: qqqqqqlqjqwqhqqr +1-9 f: vrffffffxffnfbffff +13-14 s: ssssssssssssskm +3-6 z: mwrzcnnf +8-9 c: bccczcccctjv +2-4 j: hxpd +8-12 w: fwvzwgfwdwxww +3-12 h: hhtmhhphrhhbhhhk +2-4 r: hrqr +10-11 f: ffffqfffhflfffffff +2-6 j: ggppjc +8-16 l: cltwcjcsxllxctxs +3-4 t: ttwj +10-12 b: bqbcbqlnzbtbrm +12-13 l: llllslllwlllgltdlll +4-7 x: xfvxbqxs +5-6 v: xrvqvv +11-17 q: mdblqqptcvqqfqqqq +8-19 f: ffpdzwvcffmsffffbffl +12-14 w: hwpjcxgcvpwhww +2-4 d: pzdtd +9-10 p: vgtpmmxppp +3-4 k: vkwh +14-15 d: swgpzprkmrkxdddk +13-14 z: gxzzgzzjhlzzzs +4-5 b: bbgbbp +2-4 p: pnqcn +16-20 d: rkqpfvbfvtcgdmhddpdd +2-3 l: llzpllll +6-10 v: hdnxdvxmxv +2-4 m: xcfmcmmmzgw +9-12 n: fmcndbqvnlnncqnxffmz +3-12 t: bcttczggbtgt +4-6 j: vwvjlq +4-5 t: mttfttvtttttttw +3-5 v: vxjvq +5-7 z: kzvzzrzmwwxtnsrmhp +9-11 p: ppppppppppppppppp +5-7 n: nbzdpqvxxcmn +5-6 n: cnnntn +2-7 r: rrrrrrrrhrrwrrrr +6-18 s: stngssgssnsrsflsssk +11-14 q: qqqqqqqqqqqqqnq +3-5 d: dtdvd +3-4 m: mmqn +7-10 d: ddddddddddd +7-11 k: kkkkkkkckkkkk +9-16 z: zzxzgwtjzzzzzhkz +6-8 l: lllllllll +13-18 z: tszsszrlzzqzzkzwxjxd +3-11 b: bbcbbbbnbbppbbb +2-8 j: jjjjjjjjjjjjjpjjjj +1-8 f: fcltvbhffbqf +6-19 m: hhvkzmqtmpvbvrbhwmm +7-8 z: qzzmzzzzqz +2-5 b: fhbwb +3-4 m: mrlqtlkphwnc +8-10 p: cprpgpwkpp +2-5 t: tttttt +7-10 m: zlrbpxxwvrjxs +10-14 q: gddtnqqcqlfqshq +9-11 p: kpzpppppnhspp +1-5 n: wfvnv +7-8 k: fbzwwdkdx +2-5 d: gjgxfdcvhrmwwrl +1-3 s: sxss +8-12 n: nnnnnnnsnnnnnncvnn +11-12 c: cccccccccccvc +3-10 v: bvvvvgwdvqbv +6-15 b: hfnlwhxxmbgwbbkgfp +18-19 m: mbfbmmjmmmmvmmjcpmc +1-13 n: jxbqfntqxwjncfzmftjv +3-5 b: rqxpblz +14-16 n: nnnbpnnpgnptnsnhnnn +8-9 g: jgzgfgpqq +9-10 f: fffffffffff +5-7 c: crcctccc +5-9 j: nnkwgjtjj +5-7 f: mxffbff +2-4 g: qggng +4-8 r: rxrrzpjrmqlgvkv +8-17 q: wqtdqqqkqqlldqqqfrq +10-11 h: spmxjhhhhhh +3-4 q: qqkq +4-6 b: bbbbkb +15-16 x: xxxxxxfxxxxvxxfxxx +3-4 k: kqxm +4-9 w: cbkrrgkzg +14-17 s: sssssssssssssdssms +17-18 c: cccccccccccccccckccc +6-8 l: llllmgllkqsllsq +16-19 k: kkkkkkkkkkkkkkkkkkgk +15-17 f: ffqffffffffffffff +16-19 p: pppppppppppppppgpppp +1-2 s: ssnsl +5-17 v: vgwwvvfvvldvsqqwvgt +5-7 m: mtbqmfm +3-6 b: wmzbxbxx +9-19 h: lhmwjzxchvjsxtmbmqh +10-11 p: ppppppppppzpp +3-16 p: ppqppppppppppppppjpp +3-4 p: hpjhhw +8-12 m: wzvmhjnmlbdmwlnvwwh +4-7 n: nnnnnnhnnn +11-13 h: hhchrhthhmhhcmg +1-4 f: fffh +6-8 q: qqqqqqqq +4-12 d: dddddddddddkd +2-8 g: gkgggggrqggg +12-18 g: ggjhbbljhgtfrgwgggg +5-15 d: dddddddddddddddd +7-12 v: kkmcjvvvvhvvpv +3-11 r: nhrcwzxhrsr +6-8 h: dhhhnhzhhdhhh +2-3 k: vfkckkk +3-18 c: nxcrgvbbchzbznxqxb +3-6 x: xxxxxxxx +11-15 w: wwwwwwwwlwlwxwwkh +7-12 t: jttttwdtkzttttft +6-7 l: tqslglhkxmcmjksxlc +1-4 s: kssz +14-16 b: bbbbbbtbbbbbbcbsbwbb +5-8 l: llllrllhll +6-7 d: bjddgkztz +4-5 x: cnxxtxxz +3-4 m: mmzdgmtmwm +2-6 z: zzzzzhlzz +9-14 b: jhbbkdpfwrvbsqchgl +8-14 q: wqbtbjpfxxwrgnp +14-19 p: pxmfpcpkppppprppcwx +5-8 w: wkcqvdwp +7-15 x: zwpzjkjtdrhlwksxdz +1-2 g: bggg +3-5 z: zzzzzzz +7-10 v: tvvvvvvpvvvvvvvv +2-3 r: rrrrrr +4-9 z: zpzmzzzzpzzp +4-6 s: dsnswc +1-12 f: fffzffffffffff +1-5 c: cqccvccczmccc +5-19 x: lgrsxhlwzthdxtwfbvx +3-10 t: xvhtznxhvgpx +3-11 x: gvhxpjmwxtxmgqks +11-13 b: rjvtlmntzpbbjprtlbb +1-4 m: mmmm +5-10 k: pkkgkkmnhk +2-3 v: vvmv +12-13 p: mppspppbfpgwp +1-3 m: mmmpmmbm +4-9 b: hzbjdbjxpxqbtlm +1-4 p: ppppppppppppppp +4-5 g: ggfgg +8-11 j: dwjzgmgdcczhwc +6-7 w: wwwwwwwww +3-5 t: vtqwt +1-5 k: kkhkkk +4-7 c: ccvtcrcc +1-10 l: vwknprttll +9-11 x: htnnvnrtxdx +15-17 r: rrrrxrrlrrrrrcrrs +2-3 v: vsvvv +4-15 g: mxjglqklwwjnksg +1-2 c: ccdc +10-16 l: ljrrlvtlrqglmgdf +3-6 s: ssssblsdsb +5-6 r: mrrrrtrr +13-17 w: wwwwghwwtkwwrwwfx +4-5 j: jjdjjzjjb +2-3 s: ssjsss +8-14 r: rrrrrrrrrrrrrrrrrr +7-9 l: lllllllllll +15-17 j: jjxjjjjjsjjjjjjjjjj +6-8 r: hrrrcqrr +6-7 w: wndbtqqmdw +4-7 k: cktskgxmkk +3-9 z: blkmxrzjhcp +10-11 p: ppppppzpfmpt +8-9 s: sssssssss +1-5 l: zglfs +7-8 s: mstsxsvsm +1-4 z: zzzzrbvzwr +16-17 g: ggggkgggggggggggggg +1-2 j: jjjjjwjjzj +4-18 m: zmmbvvsrcmmcmqmpwlm +11-15 f: ffffffffffvfffq +5-6 c: csvcccccc +1-12 z: zzzzzgzzzzzbqz +17-18 s: sssssssssssssssjns +6-10 m: jmfztgfmml +5-7 x: bnxxxrx +13-16 p: ppppppppppppmpphp +11-14 t: ttttttltttvttttx +13-14 t: qttnscscgxttttt +4-5 b: vzbhz +4-7 r: tdrzrrfqrrrrrrb +15-17 p: pppppppppppppppppp +9-17 q: xgqqnxppgqjqsbqqqdnv +3-15 t: hrrnrspnpkwcktg +3-6 f: fffcxf +3-8 n: nznvppnn +4-6 z: lzksskczzjzz +6-12 n: nnnnnsnnnnnwrn +11-12 q: qqnqqqpqqqcqqqqs +5-11 z: zzzzlzzzzzrzz +1-5 z: zzzzz +4-5 j: bsspj +18-19 d: ptdpdjpsdpddhsddkwd +13-16 k: kkkkkkkkkkkkfkkw +7-9 s: zsssbssfs +15-19 b: bbbbbbbbbbbbbbbbbbbb +1-7 g: gngrmgb +1-7 f: vgkmsrfgwlwqzvfk +7-11 p: psfkppdwxdt +1-12 p: hppbpppppppbpppppp +12-13 d: xxzpkwgzcxddq +6-7 k: ktkkkqk +8-9 v: vvvvvvvvvfvv +9-13 g: ggggggggggggzggg +6-7 g: gggggggggggggggggg +6-10 g: gqgggcgggf +3-9 r: wdkkqwbrgpvnrmvqc +2-4 x: xxsxjndqbd +13-14 j: jjjjmjjsjjjjjj +12-13 d: dddddddddddddd +3-4 h: rqnbzh +2-3 f: ftxhlhhpvdvnz +11-17 g: hnkmggstgggbgvrggj +6-7 c: cccccvc +3-4 m: mmtm +2-7 r: rhrrrrr +6-14 l: wpzllljvxdsxblz +7-8 b: wxbrbbbb +9-12 q: qfqqqqqqlqqrqvq +11-15 p: ppppppppppppppppppp +19-20 l: vjbsvzclllslkmlslxml +4-5 v: jvnbhkv +12-16 j: jfjjjjjjjkjsjjjvjjj +3-4 w: wwww +1-4 v: kvnv +1-5 r: hrrrdrrrrrrrrrrrr +18-19 s: skwfsfqfmhfgkbsmsnj +3-4 f: pfks +11-12 p: ttpbsjfvxcdm +4-8 d: vhdddgndrmddfdg +1-3 j: sbjwgvvhvj +13-20 l: gslclvrnllgljtljmlnn +9-11 m: mmmmmmmjkmdrmmmm +8-14 r: fmzrhrdssfmxkq +3-9 f: rvfmskmdfk +3-13 c: ccjcccccccccbc +15-16 w: wwwwwwwwwwwwwwwww +4-5 r: hrlnjk +5-13 q: qqqqqqqqqqqqqqqq +15-16 j: jjjjjjjjjjjjjjjjj +18-19 p: mhsgkktbhpwvvqmppbmc +13-15 g: vfjtrgrrkbstblz +12-15 j: jjjjkczjjjjjjpjjjvjx +3-4 b: dbbb +6-7 s: sbssskssss +15-16 p: jgppppsspppppgxwm +2-11 f: hmhwwqcjdfk +4-6 t: tttttqt +1-8 r: vrrrrdqrrrrrrrrrrr +2-5 v: lftqnpm +3-4 h: fbzthx +2-8 w: wwnpwwxwwwcwzwwr +1-3 r: grrrr +12-13 d: pvddxddtsqgdd +4-18 w: vfsrcftqqllwqvqwhrgt +3-11 w: wnwqmfxfgkcxhmgh +17-18 l: lllllllllllllllllb +5-6 x: rvfxxx +10-11 n: nnnnnnnnnnnnn +1-9 s: wshhwwsscxps +2-12 k: bkvqsmzmjbckxvhtnkfb +7-10 l: ltlsnlrllm +1-5 n: nvnnn +2-4 m: gmpmz +13-19 k: kkkkwkkxkkkkpkfkkkq +6-15 l: dlhlcllllrllllll +14-15 q: qqqqfqcqqqqqqqsq +6-7 z: qzzdtzzqzz +1-4 v: pvvvkrgkvhmvvv +1-3 b: bfbcjdmb +6-9 b: gqbljxvmmbcbbkqgb +10-12 v: vvvvmvvhdrzv +2-3 t: tttt +9-13 p: jlhnpxnppwnpplqp +3-5 z: zdzcz +4-19 b: bbbbbbbbbrgbbdbbbbb +9-15 x: xxxxxxxxlxxxxxbx +1-5 f: sfffmf +8-12 w: lnlwfcwgtzhxlr +1-3 c: cclrc +8-12 p: jhkpfmltvpjpb +2-8 m: jmnmhkrmqvwx +7-9 p: pppppppndppp +7-9 k: kkkmkkkdkks +4-5 w: wwwwww +1-3 j: pjjj +3-4 z: xczz +5-6 h: nhdlvq +4-9 g: gggngrgtgggggg +6-9 l: klllltllrlll +1-3 k: mkkk +4-11 b: hfbbbfccxbc +4-10 w: wmhpzkswdwl +1-2 h: kphh +10-17 g: gggggggggggggggggggg +15-19 g: gggmggggggggggggggg +2-3 z: zqxl +8-10 p: pppphpppppppp +2-3 q: qhsqqqq +1-4 v: vqtvvlnpwvvnv +16-17 g: bgjpggsggggxggjgg +8-9 p: kpskgpklpkprqrtpjkdh +8-12 f: frxfhffpqqfw +3-4 d: dswjddd +5-9 t: ttwtttttdttttt +3-5 q: qqqqq +2-11 g: gggggggggggg +3-15 d: tddxdddddddsdvdx +2-3 d: dzmnd +4-8 j: gjjjjjjvkbjcbxp +5-18 l: djxdjmvntxwlnsftglr +3-6 b: bbhbbbbbh +17-20 k: kkzkkkkkrkkkkkkkhkkv +7-9 f: fvffffzfnff +4-10 t: tttkttttwwtt +3-5 t: vttmpzqxqtqnz +8-9 q: wkpkqsvvqmdq +3-6 q: qhqqqq +3-4 q: qdqqpph +2-6 t: vrzktf +2-3 n: nnnn +3-4 t: tbtw +5-12 v: zrwpjvpmxgncxknv +10-12 r: rrrrgdrrrzrs +3-4 k: qmmmbbnvvhvdwmfzk +5-6 j: jqzvjjjxj +7-13 v: vvvvvvvvvvvvkvv +7-8 p: kpppphppph +6-7 l: lzsfzlll +7-9 m: mmmmmmgmn +3-8 m: lmbxzdzrsq +14-17 k: ckhdnjzmvhtvbktskrk +5-10 d: ddpdpdjtnbdg +6-8 v: vtfzlwgdffhf +7-8 n: nkvnjsrnn +2-5 p: ppkppp +2-3 p: nppgpbr +1-3 k: dklkkkkkkkk +1-2 x: xxxx +2-4 d: dpdtddd +4-5 p: mlhpphxphv +14-15 x: xxdxdwkxxvbxwcxxx +10-11 f: jdfsmfxffffwfrfffhj +3-9 l: llbgcfzlnz +13-14 h: chhhhwhmqhhjhh +3-4 g: gmgkggg +6-7 q: qprdhdwsjnblqnkgf +9-10 r: rrrrwprhrr +2-5 g: jbjgl +7-8 x: xxxxxxnl +7-8 q: qqqqqqgr +3-4 v: vvvsv +3-4 w: wwhnjwwgw +1-8 f: mdqfrxfwfcf +2-4 v: gvhvwkvhfs +15-16 d: dcddddddddddddqnddd +13-14 v: kvkvvvzvshfkvpzvvvp +17-19 z: zzzzzzzzzzzzzzzzrzqz +6-8 k: kmkkkfgkkk +12-16 v: svxtcjxgdmkvqjfvzln +4-10 p: gljwppnhpc +8-15 c: ccccccccccccccccc +1-5 w: wwwwwwww +3-9 w: jwqgswwbtwwswwq +2-18 t: ptblkjvmjwglftpblr +8-11 n: hznznmrvjnm +5-6 q: qqqwrqq +4-10 s: scjssfsfcs +3-7 p: pppprpplpppzp +6-7 z: zzzzzpwzz +1-4 h: hhhh +14-16 r: rcrprqrxrrlrjrlrrrlr +4-6 x: xxxlxjxx +8-10 j: jjjjjjjqjcj +10-13 f: ffffffffftfff +8-9 r: rqrzrjhrr +7-11 m: tmfmhvmmpkmp +4-7 h: bjhhlhhh +2-3 l: lwll +10-11 s: jssssssssssssssssz +13-14 p: splrwgnphqclrmqf +9-11 j: jsjjjjltjjjjjzpjjdj +3-4 g: gpcwhg +5-7 s: ssbsssssss +5-8 w: bgwbjwwnwwwvww +9-11 f: fjcgtktnfpfxrqg +2-9 j: xgmdjfzsfhf +12-15 f: hkcgtffnzcffffffxdjb +5-10 k: kxggklgdrjz +6-8 b: bxbbbbbbb +4-10 m: tmqfmmmmmm +3-5 g: svtqgh +9-17 s: ssqssdrsstspssjssj +9-11 s: dssssssssslss +1-4 k: kckkqdkkmg +3-4 w: zbhwmkgqfqstwdwhs +1-2 j: jjjjnjj +10-14 w: rlwpdltwwtzdmnwgmdw +3-4 j: bjnx +14-18 n: nrnrnhnjnfwnnnnnrln +8-11 g: gvhwsbhghdgg +15-16 h: hghhhhhhhhhhhhht +2-12 x: xhxxxxxxxxxkxxx +8-13 n: xqnrnndtnznnkxb +3-6 t: rbnxbjw +6-7 v: vdfmjxvvv +1-13 x: xxxxxxxxxxxxxxxxxxx +3-9 m: mmmmmmmqmmmm +4-6 d: dddcdkddddcdgvzd +5-6 w: wwgwwhw +9-12 h: lmmwfqczxchc +12-15 x: xgpxxstxxxxxxxsrxz +6-10 c: wsnftlccckchtlqjhmt +8-9 f: ffffffzbd +7-10 z: zzzzbzhzzgzzzzzpzd +2-7 c: pccxccc +3-10 l: zlkmbdffdrhcwsc +5-6 x: xxxmxx +15-16 b: bbbbbbbbbbbbbbjtbbbf +4-6 m: lmmtnmrqwgmqmmmmw +7-15 j: jmpjrjjthvwjcljvnz +1-2 z: gqzj +1-6 h: hhhwhh +2-3 m: mzkm +7-9 z: zzhczvztz +6-7 w: vhkgmcwwjwgw +2-3 l: lsllllplllljlll +3-4 r: mvmr +10-12 h: hzbvhdfwthhhhjwhr +7-11 x: gstsnxjzhsmlnnwdcmt +12-13 g: pjmjghprgnxggf +3-4 m: rfmm +6-14 d: tsdlsjprjndfndhdmzhz +2-6 b: ppbbmhc +3-4 j: jjrkj +2-4 d: ddwd +2-3 h: mblfdbbkdjhhtm +4-5 q: qtqnd +2-6 g: ggggggg +3-4 c: cczdc +13-16 k: kvbgnklxkkwxkqlk +2-7 p: qphjpkpmzfpzlppw +5-8 c: ccccbccnc +2-10 k: kkkkkkkkkkk +15-16 x: xjxpxjxdkxlxfjqj +11-15 j: njjjsjjjjjcbjjt +1-3 z: mzzfz +1-5 f: fffffffffff +3-7 v: jvvwmjvjm +2-5 r: vrrkrrxfqrmv +15-16 v: sbvnlvvdvrbrwvvq +3-7 g: bwghkwggfm +7-9 v: vvvvvvvvjvv +3-7 m: gmmmmktmmb +6-12 t: mtbmttttkfth +5-9 c: ccpfchzpcdxcml +9-13 d: ddddddddbdddld +2-3 g: nrkg +4-8 m: mqnpqmxmq +2-4 p: pnpqpf +16-19 p: ppppppppppppppprppzp +3-6 j: jjjlmf +1-6 k: kbnpkkckwktwwqkcff +1-4 z: hzzg +5-7 b: bbbbbbbbbbbbbbsq +2-12 z: zwzzzzzzhzzzzzzzz +6-11 x: nddhcxbtgsxxcq +3-5 k: gkktkkh +2-8 f: wfnbhxlfstfwxrkhdxj +5-6 r: zcrrrr +1-2 p: dqjjwqjnqp +4-9 g: ggngjgggbggvg +3-6 m: mmsmcjmmmmmmmmmm +3-17 c: qvczjdtppwlvclclcw +8-9 k: kkkkkkkwdkkk +5-7 d: gddnldkddd +5-9 h: whkhvhrshllhldphhn +11-17 q: qqqqqzqqqqcqqqqqdqqq +5-6 k: fjszvkzmhshdd +6-8 k: kkkkkkzk +11-13 j: jjjjjjjjjjjjjjj +4-10 q: slwqqsqkbqqb +7-8 s: cvwvzswq +10-14 c: tvhxzvpdcckdzc +1-5 p: jpppppp +12-15 g: spggvdggsmfhggg +5-11 n: zlgnqkkqlhmrgn +11-18 j: zrjgljjljjjzjhjkrj +10-14 t: tttttttktdttttttcdtt +10-11 p: szxpqprpchkwvwqqk +9-14 t: ttttttgtmtfmttttttt +10-15 n: nnnnnnnznbpnnnxn +1-4 l: lllll +4-5 w: wbhhjpwbbft +10-12 r: rhrrlcrlrrmrrrwlrbx +13-14 g: ggggggggggggggggg +7-9 f: fvvwfffff +9-15 n: pnnnnnnnlndnnnnnnnn +5-7 b: bbbbbbbb +8-15 v: ldhwnvvwtxbskzvk +10-15 t: tgkkgtfttxtttqbtttv +5-15 s: hlsfskvqssskxds +2-7 g: wlnqrrdw +8-9 w: mwpbdlmmj +5-11 h: lclzlhhhhfvrrrzvnkfz +8-9 c: jcwdnxgnv +1-6 h: dchmhm +9-14 s: ssbdsvccsxtpnszv +3-5 d: dddddd +1-6 w: vwwwwf +5-6 f: lrffxb +16-17 n: nnnnnnnnnnnnwnnnnnnn +4-5 x: qlxjptn +4-5 d: ndddd +1-9 r: zrrrrrcrr +4-5 r: brnrr +15-16 r: rrrrrrrrrrrrrrhrrrrr +4-8 w: wwvdwwwwwww +12-14 f: ffffffdffffpfhfdg +3-9 h: srhvhkvsv +17-18 j: jzjjjjjsjjjjjjjjjj +4-8 t: lvpttpct +2-3 t: ttqt +3-11 v: wpvmlbvbpvs +10-11 x: vrkmmglwxxxsxsnxf +4-7 k: kkkkkkk +3-5 k: kkkkkkk +13-18 v: rkvvvlkzhvvmbgvvvk +1-2 p: prpppg +8-11 c: cxkchzcchccdzqfc +1-6 z: zzwzzz +3-4 z: czpdt +11-12 d: ddddddddddddc +6-8 l: llldlkvzll +5-15 n: wngptdmbvqftdvw +10-12 j: qjxmgghlbklxcpd +4-6 z: mdhzpzlw +11-13 c: cccccczgccccccccccc +5-10 z: zzzzxzzzzvzzzzmz +7-14 c: frhncvjxdcccbg +12-19 g: gggggggggggggggggggg +12-13 n: nwsknnnnnnnnnqtnnxn +11-12 d: ddpddddnrddw +8-9 s: bssssfsss +1-2 t: ttttttttttt +8-10 b: bbbbbbbrbfbbb +3-7 c: jwtdcccgj +4-5 j: djjjjhm +2-7 v: snsflvvrf +6-15 q: qqqqvrqqqqqqqqkqq +8-12 q: wbqqxvflbqxqzq +9-15 t: tttttztttjwdtsttpw +1-8 l: lllllllll +7-12 f: fffffffffffsf +4-5 m: lklqm +13-15 t: trtttttttthtgtt +4-5 q: qqqqqqqqq +1-10 r: prrrrrrrrhr +2-5 d: cprddmdhdvd +5-6 s: qsrxss +4-5 q: vwlvqqrplzqs +14-18 d: ddddddddlddddwdddgv +2-5 p: ppmqxptpp +12-13 w: wwwwwwwwkwwjtwww +6-7 f: spfffsnzc +9-16 s: zdmsgmcbspjtwsdspwvs +11-17 z: zzzzzzzzzzzzzzzzzz +11-16 j: jjjtjjcjjjbjbldv +6-12 b: bbbbbbbbjbbbbb +4-7 c: cccgcctc +3-4 f: fffjhf +10-19 g: ggjgggggjdggkgglggg +1-13 x: xvqpxzmjjxklx +6-8 k: kkkkkkkd +7-11 r: rhfrxrrttnrfrgqphr +10-11 w: hwwwwwncqwpwqwfvzww +3-4 h: hhmhh +1-5 n: zncnnwhcnqj +3-10 m: mmcmmmmlmcmmmmm +1-5 j: jjljx +5-8 b: bbbbbbbbbb +3-4 x: bvxxxxn +1-3 b: bfkbbbb +2-7 m: mjmmmmmm +4-7 n: znnnnnnn +12-14 h: kvlxhkdqbvwhhh +11-12 q: qlgqqqqdmqqqqqqsqn +2-5 p: pppppppvptvw +4-5 c: ccccccvr +1-5 b: xbqbn +7-8 p: pxnddnpgsp +2-3 j: nxxjs +1-4 j: vtdfk +7-12 l: mlcdlklmpbjl +4-6 l: lqgrml +12-14 v: vfplrnnvhlvhzk +2-5 x: xjkxbxxx +10-12 v: vvvvgvfjwvvjvvv +1-3 w: brprgblcpwhhp +3-8 n: nzdnnnnnnnvznnnnx +3-6 p: dghpfthx +8-9 r: frrrrrrmj +12-13 c: wnmxtcqqgcdcdpp +1-3 p: zpsp +11-12 z: zpzwzzszmgzgvztdzmrz +15-16 d: dxdqddddrdddddzzd +4-15 g: gbgrsgggjgggqdvnhggg +3-4 j: vjjmpl +17-18 b: bbbbbbbbbbbbbbbbbbb +14-17 h: vzhhhpqhqbgvghckh +6-16 w: wlwdwvwwbwwxwwwv +3-4 x: cxgj +10-12 t: ttjttztlgrtbttst +16-17 x: xtxxrxxxgxxxbqxfr +8-12 j: gjnnbxhgcgpd +3-4 b: pkkbfb +2-3 g: gggmgwgggggggghggg +8-10 z: zzzszzpjmzzzz +10-11 r: xbrkrjcsrtmrgtrrm +6-7 n: blmcznpnsbsw +3-4 n: nwzqznxn +6-9 j: jnjhvjxjjzc +4-5 d: qrddth +1-4 p: pphp +9-10 j: mhxwjjjbjj +5-6 l: llcllc +1-3 t: rtrttvtttttt +2-14 c: ccxccccfgcdccctbzgqc +3-7 k: kkrkkkq +5-10 z: zzzdqkzzgstqzzzz +1-3 w: pjbt +6-10 m: dlmsmrmmmmxmrmmmm +1-4 v: qvlsm +11-19 d: ddddddddddkdddddddpd +2-3 s: gsknvsrcwfbxnk +9-13 q: lvpvdqvzqndtbsrwjf +2-6 n: sjspfczdsnt +2-4 c: cccw +8-10 x: xqhcxzxxxxfdx +3-7 l: llltwlll +2-4 m: khqmnm +3-12 j: jvshgpptttfgkrnwf +11-12 k: kkkkkkpdkkkk +1-2 d: fcdd +11-12 l: dpnxdjhclqllqsd +8-9 p: tnphpwrppgm +6-7 c: frhvcll +4-9 x: xxxxxxxxxx +3-4 n: znnn +2-3 h: hmjw +7-8 m: qvtpmwmm +10-12 c: hbccgmvbhgccck +6-7 j: jjjjgjjjjjjjjjjj +3-6 m: rmrdgddjtmm +9-10 h: hhhhhhhhhhh +9-16 w: fwwwnmkwwjwcszwb +3-10 v: wkvxpxjcsvqgv +11-18 s: ssssssssssqssssssvs +5-14 v: bxbkvfvnvnvvwf +11-13 k: kdbkwbpkwjkkk +4-7 n: ncnnkvnnn +6-9 q: qxmvqmpqqdqsqjkhqq +6-8 p: ppppppspfpp +7-8 w: wwwhcsttd +18-20 t: tlrzstttttrttdmxhxtt +10-11 h: hhxzchbhhhshhbhv +14-17 h: jbfhhthndhwkhhbhh +12-13 t: tltttctbpmztrxnf +4-15 w: mbgcvdvhhwbpckxwsw +4-5 r: rrrrrlrvzrrhkr +1-3 q: qplqqdqqqqqvmqz +6-8 r: rvmrrftw +1-2 c: cczcrncddc +4-7 j: cjrbtlkxj +2-5 t: httgxlxfdskjgmdk +4-6 z: jtzzlv +8-9 d: ndndddddd +5-12 f: ncmjfbkmzxmfxfvnfnbw +2-5 z: zzfnz +1-6 d: sdddpr +12-14 v: vdvvvvvvvvvkvvv +11-15 m: jtgmzcmmmxnpvrtmmm +3-8 d: vqtddpdqdfddhcd +4-5 l: llplr +2-4 f: fcfzh +3-6 v: lbvklvp +15-16 k: kkkkkkkkkkkkkkkkk +6-7 c: ccccccccc +11-16 h: hhhhhhhhhhhhhhhsh +12-14 l: llllllwllllllllllll +11-12 v: bvslvwvzgwnv +4-5 l: xllllll +2-3 c: xccc +7-17 j: jjjjjjjjjjjjjjxjdjjj +18-19 w: wrwwwwwxwwplwhwwwww +4-5 z: tzzncf +1-2 g: gpgswkqsnxxkn +10-12 f: xpfffrxfqfcfff +14-16 r: rrrrrrrzxrrrrrrr +8-17 d: dddddddddddddddddd +7-11 j: kjvjgbjqkwjjjs +7-11 x: xxxxxxxxxxxxxx +13-16 d: cddddddgddddrddgdzd +11-15 x: xhpxxxxxxbktlxr +5-19 p: ppkpsnhkpttdqpvlhzp +10-14 f: xcfzqffcnfprzf +3-17 c: bdcmfmcptmhqczphc +1-12 d: ddddddddddmd +6-7 h: nnbphmjb +14-15 w: dmlvwvxwgcvfgwwl +7-8 v: qlvvvgjrcvwvvlszgvc +2-4 c: ncrc +5-7 q: qqmtqqqx +13-14 c: pcnbccwtcczcccg +1-5 t: dpgtlsw +12-13 f: zrcqtjjqjfrqp +6-12 n: mbhwrnnxzzjnlrmm +5-7 v: rvtrvhvtnvmvvmdv +9-14 g: ggggggggfggggl +1-13 q: gqqqgqqqqqqqpqq +8-15 k: tkdkdrgkdkktkrkdk +9-11 m: mpvmldmmbmj +2-6 c: chcccgclcrcc +5-7 l: llllhlllll +11-12 g: ggggggggggggg +2-3 x: bvcx +11-14 b: bbbbbbbbbqbsbb +3-6 x: xxxxxxx +9-16 g: bgggvwjhgmggpqjgv +6-9 n: ngsdrnnnknxgqdn +5-6 x: btjbxx +9-11 t: ttttctttdtktttt +6-7 s: ncxcsds +5-17 s: ssssssssssssssssss +3-8 t: ctdvrttftptt +9-10 j: fllmfjqjtqjjjtjgjjj +9-13 z: qzzhdznqfxrrrpw +4-6 k: hhkkqkwkk +12-13 q: qqdqqsqrrqqnx +4-6 j: hjtbnnfbhqbd +3-10 w: wwcqtplgdwzc +11-13 d: wdxddddcdvddddd +3-6 d: rcxlqm +7-8 w: wgcpwnxldswgc +6-10 p: pppppbpppwp +5-10 w: wbfwdgwfzrrlwft +10-11 c: ccccccccccbp +3-6 q: qqtqqbqq +12-15 k: kkkkkkkkkkkkkkk +12-15 x: xxxxxxxxxxxxxxxx +3-16 x: xvlxmxnnxxxkxxxj +3-13 z: zfzxglzkhzrbzpzdtn +6-14 f: mfffflfffffffzfff +10-12 m: lnnkhjthrndmcj +12-13 k: kkkkkkkkqkkjbk +3-4 c: kzcz +3-4 h: phhhl +5-15 n: nnnnnbnsnnnnnnqnnnn +12-16 v: zvccvkvcfvplvvcx +1-3 z: qzzzz +2-3 p: fjzkvmcsp +8-10 c: rccdvcckkcc +3-11 l: lllllllnlll +5-8 w: wwwdffwwwwgvwf +9-11 z: kjzrzzkhlzpzzzzzznl +9-16 t: ttttttttdttttttqttt +14-15 s: sfsfzlshbskndfcz +6-8 k: kkkkkkkkk +2-4 k: wpck +8-9 v: gtmcmvkvzbcrgvc +6-10 v: vvvvvmvvvvv +10-11 h: lhhhxhhhvwmmghfwk +8-11 w: wwwwwwwfwwlww +5-17 b: bbbbbbbbbbbbbbbbbb +4-11 j: jjjjjjjjjjjj +7-13 p: mpppppnnpppptcppp +10-11 w: wwwwwxwwmvwww +6-8 n: nmnsnknt +1-7 z: zzzzzhzzzb +2-6 v: kccntgvhvggvdfnq +16-17 g: gggggggggggggggxgg +6-8 v: brvpfvgvpvvgjpzq +2-10 w: sgnqldnccv +3-4 z: dzxkzzszzrpdgx +7-10 q: qqqtqqmqqqqq +4-9 x: xxxnxwxxjxxxx +10-12 d: ddddddddqddq +7-8 z: zrzzzzzs +1-19 w: wwwwwwwwwwwwwwwwwww +3-4 l: jqxlf +13-15 t: ctbllrttmtqttxt +12-13 p: ppbppppqfppts +6-11 p: pklpppljpcpgdpv +8-9 s: ssstsssss +13-16 t: ttttkvmttntwtpft +5-8 x: xkvxfxxpg +2-18 s: fgfrrxjqfrxskgkqvj +1-4 v: fwmlrv +9-10 x: xxxxxxxxxxx +6-13 f: wbwctctbsptfj +4-13 n: nnnnnnnnnnnnrn +8-9 n: nmnsnnmnnlhlhvjx +12-14 g: gggggggggggczv +5-8 r: rzqrrrrkzhr +12-17 k: kkkkkhkkkkxkkkkbkk +6-8 h: hhhhhhhqqmhh +1-3 h: dhmmghrhthhhvqpthf +3-4 t: ttkft +3-6 w: fwnwwgqq +8-9 h: whpwkhbhh +9-10 k: kkkkkkksbxk +4-6 k: qfkkrkwr +3-6 l: flllgl +6-7 z: zzzzzqmzzzzzz +2-3 h: zhhzh +4-9 t: gvqnsttftcd +3-6 c: zcbcsktcmhrkgc +5-8 m: zmqmmmmmmmmmmf +1-2 c: ccvcc +7-9 s: ssssssjstsssssssssss +12-19 t: ttftttttpnkttttttwt +5-6 m: lpqmmmfmvzb +9-11 d: ddddddddvdldd +7-9 k: kkkkkkkkk +12-15 l: lllllllllllpllllll +1-4 b: kzbbb +18-19 b: bxvlzxjgzbdbwfrjhvv +2-9 w: whwwwnwwcwwwwwww +4-11 f: ffffffffsff +5-6 v: fhvcvv +1-5 m: qqmpfmm +6-8 m: mmmmkvvhmcmmmmm +2-6 c: gcpvrcfhpsrpbtffnwk +5-6 q: sqkfqq +3-4 p: mbqppdqkdgkbf +8-11 b: bbbbbbbtbbpbbb +5-6 g: lmggqm +3-7 q: hnqhnqq +2-4 r: rrrlrd +7-8 r: rrrbrlrr +5-9 j: jjjdqjjjjjjjqjjckg +6-7 l: lllwpll +1-4 w: wxswwkw +17-18 w: wnxxmrvqmcgmntpfxnh +1-5 c: ccccc +4-8 v: vvxvvvvw +8-9 p: pppppppmpppp +1-7 z: zzzzzzmzzz +10-12 q: qqqqqqqqqssmqq +2-5 x: mxxnv +4-19 r: rrrlrrrrrrrzfrlrrrfr +4-8 k: kkkkkpxk +5-7 r: rfrqfbrrjv +3-6 h: hsvkkw +2-5 w: nwsfw +2-5 q: hqstqgq +6-15 n: mbmtgnvfzjnnjgnn +1-2 f: fffffff +1-7 v: vzvvvvvvxvvrrnzvv +3-9 h: whhhhhhhhhhnhhh +11-15 g: cgxhgsggnggrkgv +5-6 m: mmmmmmm +14-19 k: qkkkcvqjkklhkkkktkk +2-8 r: fcrrqrrgrrrrrrlr +1-2 l: lllvl +17-18 c: vmcbkchcdktrnxccht +10-14 l: klwzklwmllccql +4-7 g: xgfggwg +2-4 s: trhz +3-5 j: lzfglwfbsqj +4-5 p: stnprtpzszfc +9-13 p: pppnppppjtsppc +6-16 r: rxrrrrrrrdrbrrlrh +10-11 c: ccccvclccrl +8-9 l: nlglpwlqxl +10-11 x: xxxxxxxgsxx +7-8 z: zzzzszzlzwzzzzzzzz +1-5 q: qqnbc +2-3 v: jvvvv +2-6 f: btdfbcfnk +8-10 w: wlwnbwwblmww +3-13 v: brwmcxvlptbdvchwkjp +8-9 w: gwwwwwwbr +2-11 k: pkhzsvjbhkk +6-7 g: gggggmb +6-7 g: gggggggg +7-16 q: cqxfqzqnqvmkkhjqdr +1-13 r: rrrrrrrrlrrrrrr +10-14 x: xxxxxxxxxqxxxxxxxxxx +4-5 l: llllp +1-3 c: wccc +5-11 k: kkfgkkkkkkkkqhk +2-7 n: lnnjcks +12-14 s: sssssssssssssss +1-16 q: qqqqqqqqqqqqqqqzq +2-3 n: nnnn +8-20 m: vrtvfghfmskclmlmbwmm +2-4 n: nnwn +12-13 d: pdftgnmpcwddd +5-6 b: tsrbbb +4-7 q: zrppqcw +11-17 l: llllllllllllllllll +1-4 b: brzbfdgbphrzxtlpgj +7-8 x: xwlxxxxxxl +5-6 h: hhchnm +3-4 x: xxxxx +4-5 k: pkkqjkk +4-8 k: xqkkfwdkmsrr +7-8 l: lllllcsl +4-9 c: ccczcccccccccc +8-12 j: jjjjjjjqjjjjjjjj +9-11 j: vzkhqcjzkwjbpzv +11-12 r: rrrrrrrrrrtxr +1-4 t: mttbgtttttt +2-12 r: rrrrrrrzrrrrrr +10-11 c: ccccccccccgcc +9-16 d: bgdctdzjdxqfrbddznnp +3-7 s: brsjsdsh +3-11 j: cjwlbhgvcjc +13-16 j: pjfrdprjhmfqjddq +9-15 n: nnnnnnnnnnnnnnnnn +14-15 b: zbbbtbfbbbbbbbl +4-14 p: pppppppppppppjpp +3-6 j: pwbfjs +1-11 z: zzzzzzzzzzjz +7-17 d: gldddpskdbvmdmwgk +5-18 g: gggggggggggnmggggggg +6-7 g: llgggdh +4-5 j: zszjs +3-13 s: kwjbvbgxhwsbskjdkbv +1-2 c: kghcc +1-8 k: vtkthkhs +6-7 n: nnnnnnnnn +13-14 s: xssssssssssssq +3-4 h: hhxnh +8-10 g: gctrgrcgjg +7-9 n: nnncnnnnnn +7-8 b: bbnpbbbbb +6-11 x: jxqtcxxdxkxcwtxhdv +10-11 q: qqqkqkqqqqzqqq +5-6 k: kkkkkk +3-4 m: lndx +14-18 l: hdzlvpxlqnbklgpqgpz +14-18 f: ffffffffffxfffffff +4-9 p: gprzchppz +5-7 q: qqsljxk +7-8 q: pqqjqnkq +3-6 v: jvmvvvvvvjvf +2-10 l: hllsznczblmxbrmrnj +13-14 w: wwwwwwwwwwwwvc +4-8 m: mnmmmmmgm +10-11 r: rrrrrrwcrlq +3-4 q: qqqq +4-9 s: spwsjshpst +1-6 k: kkznkkkkk +2-6 t: dlbjpf +7-10 d: qxqbdtddgdvzmdmrp +16-18 b: bbbbbblbbbbbbbbvbs +1-5 c: cwbbccccccb +4-11 z: zrxzszzlzvzzzmdkt +17-19 b: bppptxztffxxqnlpbbb +3-9 n: nnnlncrnnnnn\ +""" + +from collections import Counter + +data = [row.split(" ") for row in input.split("\n")] + +old_valid_count = 0 +new_valid_count = 0 + +for freq, symbol, password in data: + freq_min, freq_max = (int(n) for n in freq.split("-")) + symbol = symbol[:1] + + frequencies = Counter(password) + f = frequencies[symbol] + + if f >= freq_min and f <= freq_max: + old_valid_count += 1 + + if (password[freq_min - 1] == symbol) != (password[freq_max - 1] == symbol): + new_valid_count += 1 + +print(old_valid_count) +print(new_valid_count) diff --git a/poetry.lock b/poetry.lock index d001698..02ff87f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,3 +1,33 @@ +[[package]] +name = "appdirs" +version = "1.4.4" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "black" +version = "20.8b1" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +appdirs = "*" +click = ">=7.1.2" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.6,<1" +regex = ">=2020.1.8" +toml = ">=0.10.1" +typed-ast = ">=1.4.0" +typing-extensions = ">=3.7.4" + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.3.2)", "aiohttp-cors"] + [[package]] name = "certifi" version = "2020.11.8" @@ -14,6 +44,14 @@ category = "main" optional = false python-versions = "*" +[[package]] +name = "click" +version = "7.1.2" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + [[package]] name = "idna" version = "2.10" @@ -22,6 +60,30 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "pathspec" +version = "0.8.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "regex" +version = "2020.11.13" +description = "Alternative regular expression module, to replace re." +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "requests" version = "2.25.0" @@ -40,6 +102,30 @@ urllib3 = ">=1.21.1,<1.27" security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"] +[[package]] +name = "toml" +version = "0.10.2" +description = "Python Library for Tom's Obvious, Minimal Language" +category = "dev" +optional = false +python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "typed-ast" +version = "1.4.1" +description = "a fork of Python 2 and 3 ast modules with type comment support" +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "typing-extensions" +version = "3.7.4.3" +description = "Backported and Experimental Type Hints for Python 3.5+" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "urllib3" version = "1.26.2" @@ -56,9 +142,16 @@ socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"] [metadata] lock-version = "1.1" python-versions = "~3.8" -content-hash = "dd038e74b7f412b5a36ceb304626f13577bf3eedea259a0b6194da7b32a41b04" +content-hash = "6b9aaefb38e38492de26b446f7b4c97fbf0ec96f4d1dfe8356bff35c57bd2f59" [metadata.files] +appdirs = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] +black = [ + {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, +] certifi = [ {file = "certifi-2020.11.8-py2.py3-none-any.whl", hash = "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd"}, {file = "certifi-2020.11.8.tar.gz", hash = "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4"}, @@ -67,14 +160,110 @@ chardet = [ {file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"}, {file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"}, ] +click = [ + {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, + {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, +] idna = [ {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"}, {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"}, ] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +pathspec = [ + {file = "pathspec-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa0cb481c4041bf52ffa7b0d8fa6cd3e88a2ca4879c533c9153882ee2556790d"}, + {file = "pathspec-0.8.1.tar.gz", hash = "sha256:86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd"}, +] +regex = [ + {file = "regex-2020.11.13-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:8b882a78c320478b12ff024e81dc7d43c1462aa4a3341c754ee65d857a521f85"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:a63f1a07932c9686d2d416fb295ec2c01ab246e89b4d58e5fa468089cab44b70"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:6e4b08c6f8daca7d8f07c8d24e4331ae7953333dbd09c648ed6ebd24db5a10ee"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:bba349276b126947b014e50ab3316c027cac1495992f10e5682dc677b3dfa0c5"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:56e01daca75eae420bce184edd8bb341c8eebb19dd3bce7266332258f9fb9dd7"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:6a8ce43923c518c24a2579fda49f093f1397dad5d18346211e46f134fc624e31"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:1ab79fcb02b930de09c76d024d279686ec5d532eb814fd0ed1e0051eb8bd2daa"}, + {file = "regex-2020.11.13-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:9801c4c1d9ae6a70aeb2128e5b4b68c45d4f0af0d1535500884d644fa9b768c6"}, + {file = "regex-2020.11.13-cp36-cp36m-win32.whl", hash = "sha256:49cae022fa13f09be91b2c880e58e14b6da5d10639ed45ca69b85faf039f7a4e"}, + {file = "regex-2020.11.13-cp36-cp36m-win_amd64.whl", hash = "sha256:749078d1eb89484db5f34b4012092ad14b327944ee7f1c4f74d6279a6e4d1884"}, + {file = "regex-2020.11.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b2f4007bff007c96a173e24dcda236e5e83bde4358a557f9ccf5e014439eae4b"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:38c8fd190db64f513fe4e1baa59fed086ae71fa45083b6936b52d34df8f86a88"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5862975b45d451b6db51c2e654990c1820523a5b07100fc6903e9c86575202a0"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:262c6825b309e6485ec2493ffc7e62a13cf13fb2a8b6d212f72bd53ad34118f1"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bafb01b4688833e099d79e7efd23f99172f501a15c44f21ea2118681473fdba0"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:e32f5f3d1b1c663af7f9c4c1e72e6ffe9a78c03a31e149259f531e0fed826512"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:3bddc701bdd1efa0d5264d2649588cbfda549b2899dc8d50417e47a82e1387ba"}, + {file = "regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02951b7dacb123d8ea6da44fe45ddd084aa6777d4b2454fa0da61d569c6fa538"}, + {file = "regex-2020.11.13-cp37-cp37m-win32.whl", hash = "sha256:0d08e71e70c0237883d0bef12cad5145b84c3705e9c6a588b2a9c7080e5af2a4"}, + {file = "regex-2020.11.13-cp37-cp37m-win_amd64.whl", hash = "sha256:1fa7ee9c2a0e30405e21031d07d7ba8617bc590d391adfc2b7f1e8b99f46f444"}, + {file = "regex-2020.11.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:baf378ba6151f6e272824b86a774326f692bc2ef4cc5ce8d5bc76e38c813a55f"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e3faaf10a0d1e8e23a9b51d1900b72e1635c2d5b0e1bea1c18022486a8e2e52d"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2a11a3e90bd9901d70a5b31d7dd85114755a581a5da3fc996abfefa48aee78af"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1ebb090a426db66dd80df8ca85adc4abfcbad8a7c2e9a5ec7513ede522e0a8f"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:b2b1a5ddae3677d89b686e5c625fc5547c6e492bd755b520de5332773a8af06b"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2c99e97d388cd0a8d30f7c514d67887d8021541b875baf09791a3baad48bb4f8"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:c084582d4215593f2f1d28b65d2a2f3aceff8342aa85afd7be23a9cad74a0de5"}, + {file = "regex-2020.11.13-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:a3d748383762e56337c39ab35c6ed4deb88df5326f97a38946ddd19028ecce6b"}, + {file = "regex-2020.11.13-cp38-cp38-win32.whl", hash = "sha256:7913bd25f4ab274ba37bc97ad0e21c31004224ccb02765ad984eef43e04acc6c"}, + {file = "regex-2020.11.13-cp38-cp38-win_amd64.whl", hash = "sha256:6c54ce4b5d61a7129bad5c5dc279e222afd00e721bf92f9ef09e4fae28755683"}, + {file = "regex-2020.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1862a9d9194fae76a7aaf0150d5f2a8ec1da89e8b55890b1786b8f88a0f619dc"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4902e6aa086cbb224241adbc2f06235927d5cdacffb2425c73e6570e8d862364"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:7a25fcbeae08f96a754b45bdc050e1fb94b95cab046bf56b016c25e9ab127b3e"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:d2d8ce12b7c12c87e41123997ebaf1a5767a5be3ec545f64675388970f415e2e"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f7d29a6fc4760300f86ae329e3b6ca28ea9c20823df123a2ea8693e967b29917"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:717881211f46de3ab130b58ec0908267961fadc06e44f974466d1887f865bd5b"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:3128e30d83f2e70b0bed9b2a34e92707d0877e460b402faca908c6667092ada9"}, + {file = "regex-2020.11.13-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8f6a2229e8ad946e36815f2a03386bb8353d4bde368fdf8ca5f0cb97264d3b5c"}, + {file = "regex-2020.11.13-cp39-cp39-win32.whl", hash = "sha256:f8f295db00ef5f8bae530fc39af0b40486ca6068733fb860b42115052206466f"}, + {file = "regex-2020.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:a15f64ae3a027b64496a71ab1f722355e570c3fac5ba2801cafce846bf5af01d"}, + {file = "regex-2020.11.13.tar.gz", hash = "sha256:83d6b356e116ca119db8e7c6fc2983289d87b27b3fac238cfe5dca529d884562"}, +] requests = [ {file = "requests-2.25.0-py2.py3-none-any.whl", hash = "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998"}, {file = "requests-2.25.0.tar.gz", hash = "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8"}, ] +toml = [ + {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, + {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, +] +typed-ast = [ + {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"}, + {file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"}, + {file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"}, + {file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"}, + {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, + {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, + {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, + {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, + {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, + {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, + {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, + {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, + {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, + {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, + {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, + {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, +] +typing-extensions = [ + {file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"}, + {file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"}, + {file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"}, +] urllib3 = [ {file = "urllib3-1.26.2-py2.py3-none-any.whl", hash = "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"}, {file = "urllib3-1.26.2.tar.gz", hash = "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08"}, diff --git a/pyproject.toml b/pyproject.toml index a6d3f51..a733095 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ python = "~3.8" requests = "^2.25.0" [tool.poetry.dev-dependencies] +black = "^20.8b1" [build-system] requires = ["poetry-core>=1.0.0"]