diff options
Diffstat (limited to 'set3')
114 files changed, 304 insertions, 0 deletions
diff --git a/set3/task17.c b/set3/task17.c new file mode 100644 index 0000000..d2bb7e0 --- /dev/null +++ b/set3/task17.c @@ -0,0 +1,59 @@ +#include "../lib/lib.h" +#include "../lib/lib2.h" +#include "../lib/lib3.h" +#include <time.h> + +/** + * First we try to break the last byte of a block. + * Do this by trying every byte + * + * Good description of the attack: + * https://blog.cloudflare.com/padding-oracles-and-the-decline-of-cbc-mode-ciphersuites/ + */ + +#define BLOCKSIZE 16 +int main() +{ + // intialize + srand(time(NULL)); + generate_random_bytes(key, 16); + generate_random_bytes(iv, 16); + + int length = 0, i; + char *encrypted = challenge17_encrypt(&length); + + // detecting the length of the padding (need at least two blocks) + int nr_blocks = length / BLOCKSIZE; + nr_blocks--; + + printf("length: %i, blocks: %i\n", length, nr_blocks); + + char *tmp = malloc(length); + char *decrypted = malloc(length);; + memset(decrypted, 0xAA, length); + // try to break the last byte of the first block + char j; + int k; + for(k=nr_blocks-1;k>=0;k--) { + memcpy(tmp, encrypted, length); + printf("k is %i\n", k); + for(j=1;j<=BLOCKSIZE;j++) { + // created the right padding for the last j bytes + for(i=1;i<j;i++) + tmp[(k*BLOCKSIZE)+BLOCKSIZE-i] = decrypted[((k+1)*BLOCKSIZE)+BLOCKSIZE-i] ^ encrypted[(k*BLOCKSIZE)+BLOCKSIZE-i] ^ j; + + for(i=0;i<256;i++) { + // cbc bit flipping + tmp[(k*BLOCKSIZE)+BLOCKSIZE-j] = i; + // retursn 1 if paddign is valid + if(cbc_padding_oracle(&tmp[k*BLOCKSIZE], 2*BLOCKSIZE)) { + // 0x01 for the last padding byte, next step it is 0x02 + decrypted[((k+1)*BLOCKSIZE)+BLOCKSIZE-j] = (char) (i ^ (encrypted[(k*BLOCKSIZE)+BLOCKSIZE-j]) ^ j); + printf("got a hit %c\n", decrypted[((k+1)*BLOCKSIZE)+BLOCKSIZE-j+1]); + break; + } + } + } + } + printf("recovered plaintext: %s\n", &decrypted[BLOCKSIZE]); +} diff --git a/set3/task17_0 b/set3/task17_0 new file mode 100644 index 0000000..3cde4d1 --- /dev/null +++ b/set3/task17_0 @@ -0,0 +1 @@ +MDAwMDAwTm93IHRoYXQgdGhlIHBhcnR5IGlzIGp1bXBpbmc= diff --git a/set3/task17_1 b/set3/task17_1 new file mode 100644 index 0000000..2ba2eaa --- /dev/null +++ b/set3/task17_1 @@ -0,0 +1 @@ +MDAwMDAxV2l0aCB0aGUgYmFzcyBraWNrZWQgaW4gYW5kIHRoZSBWZWdhJ3MgYXJlIHB1bXBpbic= diff --git a/set3/task17_2 b/set3/task17_2 new file mode 100644 index 0000000..0cc5bce --- /dev/null +++ b/set3/task17_2 @@ -0,0 +1 @@ +MDAwMDAyUXVpY2sgdG8gdGhlIHBvaW50LCB0byB0aGUgcG9pbnQsIG5vIGZha2luZw== diff --git a/set3/task17_3 b/set3/task17_3 new file mode 100644 index 0000000..b10f8d4 --- /dev/null +++ b/set3/task17_3 @@ -0,0 +1 @@ +MDAwMDAzQ29va2luZyBNQydzIGxpa2UgYSBwb3VuZCBvZiBiYWNvbg== diff --git a/set3/task17_4 b/set3/task17_4 new file mode 100644 index 0000000..4765c7d --- /dev/null +++ b/set3/task17_4 @@ -0,0 +1 @@ +MDAwMDA0QnVybmluZyAnZW0sIGlmIHlvdSBhaW4ndCBxdWljayBhbmQgbmltYmxl diff --git a/set3/task17_5 b/set3/task17_5 new file mode 100644 index 0000000..5b99081 --- /dev/null +++ b/set3/task17_5 @@ -0,0 +1 @@ +MDAwMDA1SSBnbyBjcmF6eSB3aGVuIEkgaGVhciBhIGN5bWJhbA== diff --git a/set3/task17_6 b/set3/task17_6 new file mode 100644 index 0000000..1a5e976 --- /dev/null +++ b/set3/task17_6 @@ -0,0 +1 @@ +MDAwMDA2QW5kIGEgaGlnaCBoYXQgd2l0aCBhIHNvdXBlZCB1cCB0ZW1wbw== diff --git a/set3/task17_7 b/set3/task17_7 new file mode 100644 index 0000000..41f022f --- /dev/null +++ b/set3/task17_7 @@ -0,0 +1 @@ +MDAwMDA3SSdtIG9uIGEgcm9sbCwgaXQncyB0aW1lIHRvIGdvIHNvbG8= diff --git a/set3/task17_8 b/set3/task17_8 new file mode 100644 index 0000000..adb9041 --- /dev/null +++ b/set3/task17_8 @@ -0,0 +1 @@ +MDAwMDA4b2xsaW4nIGluIG15IGZpdmUgcG9pbnQgb2g= diff --git a/set3/task17_9 b/set3/task17_9 new file mode 100644 index 0000000..8dc72a5 --- /dev/null +++ b/set3/task17_9 @@ -0,0 +1 @@ +MDAwMDA5aXRoIG15IHJhZy10b3AgZG93biBzbyBteSBoYWlyIGNhbiBibG93 diff --git a/set3/task19.c b/set3/task19.c new file mode 100644 index 0000000..a036f4f --- /dev/null +++ b/set3/task19.c @@ -0,0 +1,35 @@ +#include "../lib/lib.h" +#include "../lib/lib2.h" +#include "../lib/lib3.h" +#include <time.h> + +#define CHALLENGE19_FILE_NR 40 +int main() +{ + int i; + char **file = malloc(sizeof(char *)*CHALLENGE19_FILE_NR); + int length_file[CHALLENGE19_FILE_NR]; + int length[CHALLENGE19_FILE_NR]; + char **plaintext= malloc(sizeof(char *)*CHALLENGE19_FILE_NR); + char **ciphertext= malloc(sizeof(char *)*CHALLENGE19_FILE_NR); + char filename[] = "./task19_data/task19_00"; + + char nonce[16]; + generate_random_bytes(key, 16); + generate_random_bytes(nonce, 16); + + for(i=0;i<CHALLENGE19_FILE_NR;i++) { + filename[strlen(filename)-1] = ((i % 10)+ '0'); + filename[strlen(filename)-2] = ((i / 10) + '0'); + length_file[i] = read_base64_file(filename, &file[i]); + plaintext[i] = malloc(length_file[i]); + length[i] = decode_base64(file[i], plaintext[i]); + printf("%s\n", plaintext[i]); + ciphertext[i] = malloc(length[i]); + aes_ctr(plaintext[i], length[i], ciphertext[i], key, nonce); + } + + // let the cracking begin + + +} diff --git a/set3/task19_data/task19_00 b/set3/task19_data/task19_00 new file mode 100644 index 0000000..ded873a --- /dev/null +++ b/set3/task19_data/task19_00 @@ -0,0 +1 @@ +SSBoYXZlIG1ldCB0aGVtIGF0IGNsb3NlIG9mIGRheQ== diff --git a/set3/task19_data/task19_01 b/set3/task19_data/task19_01 new file mode 100644 index 0000000..2ef0ae1 --- /dev/null +++ b/set3/task19_data/task19_01 @@ -0,0 +1 @@ +Q29taW5nIHdpdGggdml2aWQgZmFjZXM= diff --git a/set3/task19_data/task19_02 b/set3/task19_data/task19_02 new file mode 100644 index 0000000..a9b546e --- /dev/null +++ b/set3/task19_data/task19_02 @@ -0,0 +1 @@ +RnJvbSBjb3VudGVyIG9yIGRlc2sgYW1vbmcgZ3JleQ== diff --git a/set3/task19_data/task19_03 b/set3/task19_data/task19_03 new file mode 100644 index 0000000..2ea23fa --- /dev/null +++ b/set3/task19_data/task19_03 @@ -0,0 +1 @@ +RWlnaHRlZW50aC1jZW50dXJ5IGhvdXNlcy4= diff --git a/set3/task19_data/task19_04 b/set3/task19_data/task19_04 new file mode 100644 index 0000000..7ea2a43 --- /dev/null +++ b/set3/task19_data/task19_04 @@ -0,0 +1 @@ +SSBoYXZlIHBhc3NlZCB3aXRoIGEgbm9kIG9mIHRoZSBoZWFk diff --git a/set3/task19_data/task19_05 b/set3/task19_data/task19_05 new file mode 100644 index 0000000..ba3f268 --- /dev/null +++ b/set3/task19_data/task19_05 @@ -0,0 +1 @@ +T3IgcG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== diff --git a/set3/task19_data/task19_06 b/set3/task19_data/task19_06 new file mode 100644 index 0000000..a5e1a79 --- /dev/null +++ b/set3/task19_data/task19_06 @@ -0,0 +1 @@ +T3IgaGF2ZSBsaW5nZXJlZCBhd2hpbGUgYW5kIHNhaWQ= diff --git a/set3/task19_data/task19_07 b/set3/task19_data/task19_07 new file mode 100644 index 0000000..6b43132 --- /dev/null +++ b/set3/task19_data/task19_07 @@ -0,0 +1 @@ +UG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== diff --git a/set3/task19_data/task19_08 b/set3/task19_data/task19_08 new file mode 100644 index 0000000..8cc6a9a --- /dev/null +++ b/set3/task19_data/task19_08 @@ -0,0 +1 @@ +QW5kIHRob3VnaHQgYmVmb3JlIEkgaGFkIGRvbmU= diff --git a/set3/task19_data/task19_09 b/set3/task19_data/task19_09 new file mode 100644 index 0000000..b2c7bd8 --- /dev/null +++ b/set3/task19_data/task19_09 @@ -0,0 +1 @@ +T2YgYSBtb2NraW5nIHRhbGUgb3IgYSBnaWJl diff --git a/set3/task19_data/task19_10 b/set3/task19_data/task19_10 new file mode 100644 index 0000000..734f4d8 --- /dev/null +++ b/set3/task19_data/task19_10 @@ -0,0 +1 @@ +VG8gcGxlYXNlIGEgY29tcGFuaW9u diff --git a/set3/task19_data/task19_11 b/set3/task19_data/task19_11 new file mode 100644 index 0000000..a1f04b4 --- /dev/null +++ b/set3/task19_data/task19_11 @@ -0,0 +1 @@ +QXJvdW5kIHRoZSBmaXJlIGF0IHRoZSBjbHViLA== diff --git a/set3/task19_data/task19_12 b/set3/task19_data/task19_12 new file mode 100644 index 0000000..864a764 --- /dev/null +++ b/set3/task19_data/task19_12 @@ -0,0 +1 @@ +QmVpbmcgY2VydGFpbiB0aGF0IHRoZXkgYW5kIEk= diff --git a/set3/task19_data/task19_13 b/set3/task19_data/task19_13 new file mode 100644 index 0000000..23a2eb1 --- /dev/null +++ b/set3/task19_data/task19_13 @@ -0,0 +1 @@ +QnV0IGxpdmVkIHdoZXJlIG1vdGxleSBpcyB3b3JuOg== diff --git a/set3/task19_data/task19_14 b/set3/task19_data/task19_14 new file mode 100644 index 0000000..5865e2c --- /dev/null +++ b/set3/task19_data/task19_14 @@ -0,0 +1 @@ +QWxsIGNoYW5nZWQsIGNoYW5nZWQgdXR0ZXJseTo= diff --git a/set3/task19_data/task19_15 b/set3/task19_data/task19_15 new file mode 100644 index 0000000..cc8e0a4 --- /dev/null +++ b/set3/task19_data/task19_15 @@ -0,0 +1 @@ +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= diff --git a/set3/task19_data/task19_16 b/set3/task19_data/task19_16 new file mode 100644 index 0000000..4db1ffe --- /dev/null +++ b/set3/task19_data/task19_16 @@ -0,0 +1 @@ +VGhhdCB3b21hbidzIGRheXMgd2VyZSBzcGVudA== diff --git a/set3/task19_data/task19_17 b/set3/task19_data/task19_17 new file mode 100644 index 0000000..64da3a8 --- /dev/null +++ b/set3/task19_data/task19_17 @@ -0,0 +1 @@ +SW4gaWdub3JhbnQgZ29vZCB3aWxsLA== diff --git a/set3/task19_data/task19_18 b/set3/task19_data/task19_18 new file mode 100644 index 0000000..740bb98 --- /dev/null +++ b/set3/task19_data/task19_18 @@ -0,0 +1 @@ +SGVyIG5pZ2h0cyBpbiBhcmd1bWVudA== diff --git a/set3/task19_data/task19_19 b/set3/task19_data/task19_19 new file mode 100644 index 0000000..26b01e1 --- /dev/null +++ b/set3/task19_data/task19_19 @@ -0,0 +1 @@ +VW50aWwgaGVyIHZvaWNlIGdyZXcgc2hyaWxsLg== diff --git a/set3/task19_data/task19_20 b/set3/task19_data/task19_20 new file mode 100644 index 0000000..15b6e63 --- /dev/null +++ b/set3/task19_data/task19_20 @@ -0,0 +1 @@ +V2hhdCB2b2ljZSBtb3JlIHN3ZWV0IHRoYW4gaGVycw== diff --git a/set3/task19_data/task19_21 b/set3/task19_data/task19_21 new file mode 100644 index 0000000..95eb336 --- /dev/null +++ b/set3/task19_data/task19_21 @@ -0,0 +1 @@ +V2hlbiB5b3VuZyBhbmQgYmVhdXRpZnVsLA== diff --git a/set3/task19_data/task19_22 b/set3/task19_data/task19_22 new file mode 100644 index 0000000..1fe7f50 --- /dev/null +++ b/set3/task19_data/task19_22 @@ -0,0 +1 @@ +U2hlIHJvZGUgdG8gaGFycmllcnM/ diff --git a/set3/task19_data/task19_23 b/set3/task19_data/task19_23 new file mode 100644 index 0000000..f6a3b04 --- /dev/null +++ b/set3/task19_data/task19_23 @@ -0,0 +1 @@ +VGhpcyBtYW4gaGFkIGtlcHQgYSBzY2hvb2w= diff --git a/set3/task19_data/task19_24 b/set3/task19_data/task19_24 new file mode 100644 index 0000000..cceb1bf --- /dev/null +++ b/set3/task19_data/task19_24 @@ -0,0 +1 @@ +QW5kIHJvZGUgb3VyIHdpbmdlZCBob3JzZS4= diff --git a/set3/task19_data/task19_25 b/set3/task19_data/task19_25 new file mode 100644 index 0000000..157f7f8 --- /dev/null +++ b/set3/task19_data/task19_25 @@ -0,0 +1 @@ +VGhpcyBvdGhlciBoaXMgaGVscGVyIGFuZCBmcmllbmQ= diff --git a/set3/task19_data/task19_26 b/set3/task19_data/task19_26 new file mode 100644 index 0000000..ccca06e --- /dev/null +++ b/set3/task19_data/task19_26 @@ -0,0 +1 @@ +V2FzIGNvbWluZyBpbnRvIGhpcyBmb3JjZTs= diff --git a/set3/task19_data/task19_27 b/set3/task19_data/task19_27 new file mode 100644 index 0000000..985b7a6 --- /dev/null +++ b/set3/task19_data/task19_27 @@ -0,0 +1 @@ +SGUgbWlnaHQgaGF2ZSB3b24gZmFtZSBpbiB0aGUgZW5kLA== diff --git a/set3/task19_data/task19_28 b/set3/task19_data/task19_28 new file mode 100644 index 0000000..fc8e2d5 --- /dev/null +++ b/set3/task19_data/task19_28 @@ -0,0 +1 @@ +U28gc2Vuc2l0aXZlIGhpcyBuYXR1cmUgc2VlbWVkLA== diff --git a/set3/task19_data/task19_29 b/set3/task19_data/task19_29 new file mode 100644 index 0000000..448495a --- /dev/null +++ b/set3/task19_data/task19_29 @@ -0,0 +1 @@ +U28gZGFyaW5nIGFuZCBzd2VldCBoaXMgdGhvdWdodC4= diff --git a/set3/task19_data/task19_30 b/set3/task19_data/task19_30 new file mode 100644 index 0000000..c42a69a --- /dev/null +++ b/set3/task19_data/task19_30 @@ -0,0 +1 @@ +VGhpcyBvdGhlciBtYW4gSSBoYWQgZHJlYW1lZA== diff --git a/set3/task19_data/task19_31 b/set3/task19_data/task19_31 new file mode 100644 index 0000000..5e3e2e7 --- /dev/null +++ b/set3/task19_data/task19_31 @@ -0,0 +1 @@ +QSBkcnVua2VuLCB2YWluLWdsb3Jpb3VzIGxvdXQu diff --git a/set3/task19_data/task19_32 b/set3/task19_data/task19_32 new file mode 100644 index 0000000..fa3b3aa --- /dev/null +++ b/set3/task19_data/task19_32 @@ -0,0 +1 @@ +SGUgaGFkIGRvbmUgbW9zdCBiaXR0ZXIgd3Jvbmc= diff --git a/set3/task19_data/task19_33 b/set3/task19_data/task19_33 new file mode 100644 index 0000000..e0777a4 --- /dev/null +++ b/set3/task19_data/task19_33 @@ -0,0 +1 @@ +VG8gc29tZSB3aG8gYXJlIG5lYXIgbXkgaGVhcnQs diff --git a/set3/task19_data/task19_34 b/set3/task19_data/task19_34 new file mode 100644 index 0000000..7b63d9e --- /dev/null +++ b/set3/task19_data/task19_34 @@ -0,0 +1 @@ +WWV0IEkgbnVtYmVyIGhpbSBpbiB0aGUgc29uZzs= diff --git a/set3/task19_data/task19_35 b/set3/task19_data/task19_35 new file mode 100644 index 0000000..dafc9ab --- /dev/null +++ b/set3/task19_data/task19_35 @@ -0,0 +1 @@ +SGUsIHRvbywgaGFzIHJlc2lnbmVkIGhpcyBwYXJ0 diff --git a/set3/task19_data/task19_36 b/set3/task19_data/task19_36 new file mode 100644 index 0000000..56f63ac --- /dev/null +++ b/set3/task19_data/task19_36 @@ -0,0 +1 @@ +SW4gdGhlIGNhc3VhbCBjb21lZHk7 diff --git a/set3/task19_data/task19_37 b/set3/task19_data/task19_37 new file mode 100644 index 0000000..74e011b --- /dev/null +++ b/set3/task19_data/task19_37 @@ -0,0 +1 @@ +SGUsIHRvbywgaGFzIGJlZW4gY2hhbmdlZCBpbiBoaXMgdHVybiw= diff --git a/set3/task19_data/task19_38 b/set3/task19_data/task19_38 new file mode 100644 index 0000000..40e0406 --- /dev/null +++ b/set3/task19_data/task19_38 @@ -0,0 +1 @@ +VHJhbnNmb3JtZWQgdXR0ZXJseTo= diff --git a/set3/task19_data/task19_39 b/set3/task19_data/task19_39 new file mode 100644 index 0000000..cc8e0a4 --- /dev/null +++ b/set3/task19_data/task19_39 @@ -0,0 +1 @@ +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= diff --git a/set3/task19_data/task19_all b/set3/task19_data/task19_all new file mode 100644 index 0000000..affd17b --- /dev/null +++ b/set3/task19_data/task19_all @@ -0,0 +1,40 @@ +SSBoYXZlIG1ldCB0aGVtIGF0IGNsb3NlIG9mIGRheQ== +Q29taW5nIHdpdGggdml2aWQgZmFjZXM= +RnJvbSBjb3VudGVyIG9yIGRlc2sgYW1vbmcgZ3JleQ== +RWlnaHRlZW50aC1jZW50dXJ5IGhvdXNlcy4= +SSBoYXZlIHBhc3NlZCB3aXRoIGEgbm9kIG9mIHRoZSBoZWFk +T3IgcG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== +T3IgaGF2ZSBsaW5nZXJlZCBhd2hpbGUgYW5kIHNhaWQ= +UG9saXRlIG1lYW5pbmdsZXNzIHdvcmRzLA== +QW5kIHRob3VnaHQgYmVmb3JlIEkgaGFkIGRvbmU= +T2YgYSBtb2NraW5nIHRhbGUgb3IgYSBnaWJl +VG8gcGxlYXNlIGEgY29tcGFuaW9u +QXJvdW5kIHRoZSBmaXJlIGF0IHRoZSBjbHViLA== +QmVpbmcgY2VydGFpbiB0aGF0IHRoZXkgYW5kIEk= +QnV0IGxpdmVkIHdoZXJlIG1vdGxleSBpcyB3b3JuOg== +QWxsIGNoYW5nZWQsIGNoYW5nZWQgdXR0ZXJseTo= +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= +VGhhdCB3b21hbidzIGRheXMgd2VyZSBzcGVudA== +SW4gaWdub3JhbnQgZ29vZCB3aWxsLA== +SGVyIG5pZ2h0cyBpbiBhcmd1bWVudA== +VW50aWwgaGVyIHZvaWNlIGdyZXcgc2hyaWxsLg== +V2hhdCB2b2ljZSBtb3JlIHN3ZWV0IHRoYW4gaGVycw== +V2hlbiB5b3VuZyBhbmQgYmVhdXRpZnVsLA== +U2hlIHJvZGUgdG8gaGFycmllcnM/ +VGhpcyBtYW4gaGFkIGtlcHQgYSBzY2hvb2w= +QW5kIHJvZGUgb3VyIHdpbmdlZCBob3JzZS4= +VGhpcyBvdGhlciBoaXMgaGVscGVyIGFuZCBmcmllbmQ= +V2FzIGNvbWluZyBpbnRvIGhpcyBmb3JjZTs= +SGUgbWlnaHQgaGF2ZSB3b24gZmFtZSBpbiB0aGUgZW5kLA== +U28gc2Vuc2l0aXZlIGhpcyBuYXR1cmUgc2VlbWVkLA== +U28gZGFyaW5nIGFuZCBzd2VldCBoaXMgdGhvdWdodC4= +VGhpcyBvdGhlciBtYW4gSSBoYWQgZHJlYW1lZA== +QSBkcnVua2VuLCB2YWluLWdsb3Jpb3VzIGxvdXQu +SGUgaGFkIGRvbmUgbW9zdCBiaXR0ZXIgd3Jvbmc= +VG8gc29tZSB3aG8gYXJlIG5lYXIgbXkgaGVhcnQs +WWV0IEkgbnVtYmVyIGhpbSBpbiB0aGUgc29uZzs= +SGUsIHRvbywgaGFzIHJlc2lnbmVkIGhpcyBwYXJ0 +SW4gdGhlIGNhc3VhbCBjb21lZHk7 +SGUsIHRvbywgaGFzIGJlZW4gY2hhbmdlZCBpbiBoaXMgdHVybiw= +VHJhbnNmb3JtZWQgdXR0ZXJseTo= +QSB0ZXJyaWJsZSBiZWF1dHkgaXMgYm9ybi4= diff --git a/set3/task20_data/20.txt b/set3/task20_data/20.txt new file mode 100644 index 0000000..d601f0b --- /dev/null +++ b/set3/task20_data/20.txt @@ -0,0 +1,60 @@ +SSdtIHJhdGVkICJSIi4uLnRoaXMgaXMgYSB3YXJuaW5nLCB5YSBiZXR0ZXIgdm9pZCAvIFBvZXRzIGFyZSBwYXJhbm9pZCwgREoncyBELXN0cm95ZWQ= +Q3V6IEkgY2FtZSBiYWNrIHRvIGF0dGFjayBvdGhlcnMgaW4gc3BpdGUtIC8gU3RyaWtlIGxpa2UgbGlnaHRuaW4nLCBJdCdzIHF1aXRlIGZyaWdodGVuaW4nIQ== +QnV0IGRvbid0IGJlIGFmcmFpZCBpbiB0aGUgZGFyaywgaW4gYSBwYXJrIC8gTm90IGEgc2NyZWFtIG9yIGEgY3J5LCBvciBhIGJhcmssIG1vcmUgbGlrZSBhIHNwYXJrOw== +WWEgdHJlbWJsZSBsaWtlIGEgYWxjb2hvbGljLCBtdXNjbGVzIHRpZ2h0ZW4gdXAgLyBXaGF0J3MgdGhhdCwgbGlnaHRlbiB1cCEgWW91IHNlZSBhIHNpZ2h0IGJ1dA== +U3VkZGVubHkgeW91IGZlZWwgbGlrZSB5b3VyIGluIGEgaG9ycm9yIGZsaWNrIC8gWW91IGdyYWIgeW91ciBoZWFydCB0aGVuIHdpc2ggZm9yIHRvbW9ycm93IHF1aWNrIQ== +TXVzaWMncyB0aGUgY2x1ZSwgd2hlbiBJIGNvbWUgeW91ciB3YXJuZWQgLyBBcG9jYWx5cHNlIE5vdywgd2hlbiBJJ20gZG9uZSwgeWEgZ29uZSE= +SGF2ZW4ndCB5b3UgZXZlciBoZWFyZCBvZiBhIE1DLW11cmRlcmVyPyAvIFRoaXMgaXMgdGhlIGRlYXRoIHBlbmFsdHksYW5kIEknbSBzZXJ2aW4nIGE= +RGVhdGggd2lzaCwgc28gY29tZSBvbiwgc3RlcCB0byB0aGlzIC8gSHlzdGVyaWNhbCBpZGVhIGZvciBhIGx5cmljYWwgcHJvZmVzc2lvbmlzdCE= +RnJpZGF5IHRoZSB0aGlydGVlbnRoLCB3YWxraW5nIGRvd24gRWxtIFN0cmVldCAvIFlvdSBjb21lIGluIG15IHJlYWxtIHlhIGdldCBiZWF0IQ== +VGhpcyBpcyBvZmYgbGltaXRzLCBzbyB5b3VyIHZpc2lvbnMgYXJlIGJsdXJyeSAvIEFsbCB5YSBzZWUgaXMgdGhlIG1ldGVycyBhdCBhIHZvbHVtZQ== +VGVycm9yIGluIHRoZSBzdHlsZXMsIG5ldmVyIGVycm9yLWZpbGVzIC8gSW5kZWVkIEknbSBrbm93bi15b3VyIGV4aWxlZCE= +Rm9yIHRob3NlIHRoYXQgb3Bwb3NlIHRvIGJlIGxldmVsIG9yIG5leHQgdG8gdGhpcyAvIEkgYWluJ3QgYSBkZXZpbCBhbmQgdGhpcyBhaW4ndCB0aGUgRXhvcmNpc3Qh +V29yc2UgdGhhbiBhIG5pZ2h0bWFyZSwgeW91IGRvbid0IGhhdmUgdG8gc2xlZXAgYSB3aW5rIC8gVGhlIHBhaW4ncyBhIG1pZ3JhaW5lIGV2ZXJ5IHRpbWUgeWEgdGhpbms= +Rmxhc2hiYWNrcyBpbnRlcmZlcmUsIHlhIHN0YXJ0IHRvIGhlYXI6IC8gVGhlIFItQS1LLUktTSBpbiB5b3VyIGVhcjs= +VGhlbiB0aGUgYmVhdCBpcyBoeXN0ZXJpY2FsIC8gVGhhdCBtYWtlcyBFcmljIGdvIGdldCBhIGF4IGFuZCBjaG9wcyB0aGUgd2Fjaw== +U29vbiB0aGUgbHlyaWNhbCBmb3JtYXQgaXMgc3VwZXJpb3IgLyBGYWNlcyBvZiBkZWF0aCByZW1haW4= +TUMncyBkZWNheWluZywgY3V6IHRoZXkgbmV2ZXIgc3RheWVkIC8gVGhlIHNjZW5lIG9mIGEgY3JpbWUgZXZlcnkgbmlnaHQgYXQgdGhlIHNob3c= +VGhlIGZpZW5kIG9mIGEgcmh5bWUgb24gdGhlIG1pYyB0aGF0IHlvdSBrbm93IC8gSXQncyBvbmx5IG9uZSBjYXBhYmxlLCBicmVha3MtdGhlIHVuYnJlYWthYmxl +TWVsb2RpZXMtdW5tYWthYmxlLCBwYXR0ZXJuLXVuZXNjYXBhYmxlIC8gQSBob3JuIGlmIHdhbnQgdGhlIHN0eWxlIEkgcG9zc2Vz +SSBibGVzcyB0aGUgY2hpbGQsIHRoZSBlYXJ0aCwgdGhlIGdvZHMgYW5kIGJvbWIgdGhlIHJlc3QgLyBGb3IgdGhvc2UgdGhhdCBlbnZ5IGEgTUMgaXQgY2FuIGJl +SGF6YXJkb3VzIHRvIHlvdXIgaGVhbHRoIHNvIGJlIGZyaWVuZGx5IC8gQSBtYXR0ZXIgb2YgbGlmZSBhbmQgZGVhdGgsIGp1c3QgbGlrZSBhIGV0Y2gtYS1za2V0Y2g= +U2hha2UgJ3RpbGwgeW91ciBjbGVhciwgbWFrZSBpdCBkaXNhcHBlYXIsIG1ha2UgdGhlIG5leHQgLyBBZnRlciB0aGUgY2VyZW1vbnksIGxldCB0aGUgcmh5bWUgcmVzdCBpbiBwZWFjZQ== +SWYgbm90LCBteSBzb3VsJ2xsIHJlbGVhc2UhIC8gVGhlIHNjZW5lIGlzIHJlY3JlYXRlZCwgcmVpbmNhcm5hdGVkLCB1cGRhdGVkLCBJJ20gZ2xhZCB5b3UgbWFkZSBpdA== +Q3V6IHlvdXIgYWJvdXQgdG8gc2VlIGEgZGlzYXN0cm91cyBzaWdodCAvIEEgcGVyZm9ybWFuY2UgbmV2ZXIgYWdhaW4gcGVyZm9ybWVkIG9uIGEgbWljOg== +THlyaWNzIG9mIGZ1cnkhIEEgZmVhcmlmaWVkIGZyZWVzdHlsZSEgLyBUaGUgIlIiIGlzIGluIHRoZSBob3VzZS10b28gbXVjaCB0ZW5zaW9uIQ== +TWFrZSBzdXJlIHRoZSBzeXN0ZW0ncyBsb3VkIHdoZW4gSSBtZW50aW9uIC8gUGhyYXNlcyB0aGF0J3MgZmVhcnNvbWU= +WW91IHdhbnQgdG8gaGVhciBzb21lIHNvdW5kcyB0aGF0IG5vdCBvbmx5IHBvdW5kcyBidXQgcGxlYXNlIHlvdXIgZWFyZHJ1bXM7IC8gSSBzaXQgYmFjayBhbmQgb2JzZXJ2ZSB0aGUgd2hvbGUgc2NlbmVyeQ== +VGhlbiBub25jaGFsYW50bHkgdGVsbCB5b3Ugd2hhdCBpdCBtZWFuIHRvIG1lIC8gU3RyaWN0bHkgYnVzaW5lc3MgSSdtIHF1aWNrbHkgaW4gdGhpcyBtb29k +QW5kIEkgZG9uJ3QgY2FyZSBpZiB0aGUgd2hvbGUgY3Jvd2QncyBhIHdpdG5lc3MhIC8gSSdtIGEgdGVhciB5b3UgYXBhcnQgYnV0IEknbSBhIHNwYXJlIHlvdSBhIGhlYXJ0 +UHJvZ3JhbSBpbnRvIHRoZSBzcGVlZCBvZiB0aGUgcmh5bWUsIHByZXBhcmUgdG8gc3RhcnQgLyBSaHl0aG0ncyBvdXQgb2YgdGhlIHJhZGl1cywgaW5zYW5lIGFzIHRoZSBjcmF6aWVzdA== +TXVzaWNhbCBtYWRuZXNzIE1DIGV2ZXIgbWFkZSwgc2VlIGl0J3MgLyBOb3cgYW4gZW1lcmdlbmN5LCBvcGVuLWhlYXJ0IHN1cmdlcnk= +T3BlbiB5b3VyIG1pbmQsIHlvdSB3aWxsIGZpbmQgZXZlcnkgd29yZCdsbCBiZSAvIEZ1cmllciB0aGFuIGV2ZXIsIEkgcmVtYWluIHRoZSBmdXJ0dXJl +QmF0dGxlJ3MgdGVtcHRpbmcuLi53aGF0ZXZlciBzdWl0cyB5YSEgLyBGb3Igd29yZHMgdGhlIHNlbnRlbmNlLCB0aGVyZSdzIG5vIHJlc2VtYmxhbmNl +WW91IHRoaW5rIHlvdSdyZSBydWZmZXIsIHRoZW4gc3VmZmVyIHRoZSBjb25zZXF1ZW5jZXMhIC8gSSdtIG5ldmVyIGR5aW5nLXRlcnJpZnlpbmcgcmVzdWx0cw== +SSB3YWtlIHlhIHdpdGggaHVuZHJlZHMgb2YgdGhvdXNhbmRzIG9mIHZvbHRzIC8gTWljLXRvLW1vdXRoIHJlc3VzY2l0YXRpb24sIHJoeXRobSB3aXRoIHJhZGlhdGlvbg== +Tm92b2NhaW4gZWFzZSB0aGUgcGFpbiBpdCBtaWdodCBzYXZlIGhpbSAvIElmIG5vdCwgRXJpYyBCLidzIHRoZSBqdWRnZSwgdGhlIGNyb3dkJ3MgdGhlIGp1cnk= +WW8gUmFraW0sIHdoYXQncyB1cD8gLyBZbywgSSdtIGRvaW5nIHRoZSBrbm93bGVkZ2UsIEUuLCBtYW4gSSdtIHRyeWluZyB0byBnZXQgcGFpZCBpbiBmdWxs +V2VsbCwgY2hlY2sgdGhpcyBvdXQsIHNpbmNlIE5vcmJ5IFdhbHRlcnMgaXMgb3VyIGFnZW5jeSwgcmlnaHQ/IC8gVHJ1ZQ== +S2FyYSBMZXdpcyBpcyBvdXIgYWdlbnQsIHdvcmQgdXAgLyBaYWtpYSBhbmQgNHRoIGFuZCBCcm9hZHdheSBpcyBvdXIgcmVjb3JkIGNvbXBhbnksIGluZGVlZA== +T2theSwgc28gd2hvIHdlIHJvbGxpbicgd2l0aCB0aGVuPyBXZSByb2xsaW4nIHdpdGggUnVzaCAvIE9mIFJ1c2h0b3duIE1hbmFnZW1lbnQ= +Q2hlY2sgdGhpcyBvdXQsIHNpbmNlIHdlIHRhbGtpbmcgb3ZlciAvIFRoaXMgZGVmIGJlYXQgcmlnaHQgaGVyZSB0aGF0IEkgcHV0IHRvZ2V0aGVy +SSB3YW5uYSBoZWFyIHNvbWUgb2YgdGhlbSBkZWYgcmh5bWVzLCB5b3Uga25vdyB3aGF0IEknbSBzYXlpbic/IC8gQW5kIHRvZ2V0aGVyLCB3ZSBjYW4gZ2V0IHBhaWQgaW4gZnVsbA== +VGhpbmtpbicgb2YgYSBtYXN0ZXIgcGxhbiAvICdDdXogYWluJ3QgbnV0aGluJyBidXQgc3dlYXQgaW5zaWRlIG15IGhhbmQ= +U28gSSBkaWcgaW50byBteSBwb2NrZXQsIGFsbCBteSBtb25leSBpcyBzcGVudCAvIFNvIEkgZGlnIGRlZXBlciBidXQgc3RpbGwgY29taW4nIHVwIHdpdGggbGludA== +U28gSSBzdGFydCBteSBtaXNzaW9uLCBsZWF2ZSBteSByZXNpZGVuY2UgLyBUaGlua2luJyBob3cgY291bGQgSSBnZXQgc29tZSBkZWFkIHByZXNpZGVudHM= +SSBuZWVkIG1vbmV5LCBJIHVzZWQgdG8gYmUgYSBzdGljay11cCBraWQgLyBTbyBJIHRoaW5rIG9mIGFsbCB0aGUgZGV2aW91cyB0aGluZ3MgSSBkaWQ= +SSB1c2VkIHRvIHJvbGwgdXAsIHRoaXMgaXMgYSBob2xkIHVwLCBhaW4ndCBudXRoaW4nIGZ1bm55IC8gU3RvcCBzbWlsaW5nLCBiZSBzdGlsbCwgZG9uJ3QgbnV0aGluJyBtb3ZlIGJ1dCB0aGUgbW9uZXk= +QnV0IG5vdyBJIGxlYXJuZWQgdG8gZWFybiAnY3V6IEknbSByaWdodGVvdXMgLyBJIGZlZWwgZ3JlYXQsIHNvIG1heWJlIEkgbWlnaHQganVzdA== +U2VhcmNoIGZvciBhIG5pbmUgdG8gZml2ZSwgaWYgSSBzdHJpdmUgLyBUaGVuIG1heWJlIEknbGwgc3RheSBhbGl2ZQ== +U28gSSB3YWxrIHVwIHRoZSBzdHJlZXQgd2hpc3RsaW4nIHRoaXMgLyBGZWVsaW4nIG91dCBvZiBwbGFjZSAnY3V6LCBtYW4sIGRvIEkgbWlzcw== +QSBwZW4gYW5kIGEgcGFwZXIsIGEgc3RlcmVvLCBhIHRhcGUgb2YgLyBNZSBhbmQgRXJpYyBCLCBhbmQgYSBuaWNlIGJpZyBwbGF0ZSBvZg== +RmlzaCwgd2hpY2ggaXMgbXkgZmF2b3JpdGUgZGlzaCAvIEJ1dCB3aXRob3V0IG5vIG1vbmV5IGl0J3Mgc3RpbGwgYSB3aXNo +J0N1eiBJIGRvbid0IGxpa2UgdG8gZHJlYW0gYWJvdXQgZ2V0dGluJyBwYWlkIC8gU28gSSBkaWcgaW50byB0aGUgYm9va3Mgb2YgdGhlIHJoeW1lcyB0aGF0IEkgbWFkZQ== +U28gbm93IHRvIHRlc3QgdG8gc2VlIGlmIEkgZ290IHB1bGwgLyBIaXQgdGhlIHN0dWRpbywgJ2N1eiBJJ20gcGFpZCBpbiBmdWxs +UmFraW0sIGNoZWNrIHRoaXMgb3V0LCB5byAvIFlvdSBnbyB0byB5b3VyIGdpcmwgaG91c2UgYW5kIEknbGwgZ28gdG8gbWluZQ== +J0NhdXNlIG15IGdpcmwgaXMgZGVmaW5pdGVseSBtYWQgLyAnQ2F1c2UgaXQgdG9vayB1cyB0b28gbG9uZyB0byBkbyB0aGlzIGFsYnVt +WW8sIEkgaGVhciB3aGF0IHlvdSdyZSBzYXlpbmcgLyBTbyBsZXQncyBqdXN0IHB1bXAgdGhlIG11c2ljIHVw +QW5kIGNvdW50IG91ciBtb25leSAvIFlvLCB3ZWxsIGNoZWNrIHRoaXMgb3V0LCB5byBFbGk= +VHVybiBkb3duIHRoZSBiYXNzIGRvd24gLyBBbmQgbGV0IHRoZSBiZWF0IGp1c3Qga2VlcCBvbiByb2NraW4n +QW5kIHdlIG91dHRhIGhlcmUgLyBZbywgd2hhdCBoYXBwZW5lZCB0byBwZWFjZT8gLyBQZWFjZQ== diff --git a/set3/task20_data/task20_00 b/set3/task20_data/task20_00 new file mode 100644 index 0000000..ac2e746 --- /dev/null +++ b/set3/task20_data/task20_00 @@ -0,0 +1 @@ +SSdtIHJhdGVkICJSIi4uLnRoaXMgaXMgYSB3YXJuaW5nLCB5YSBiZXR0ZXIgdm9pZCAvIFBvZXRzIGFyZSBwYXJhbm9pZCwgREoncyBELXN0cm95ZWQ= diff --git a/set3/task20_data/task20_01 b/set3/task20_data/task20_01 new file mode 100644 index 0000000..6943297 --- /dev/null +++ b/set3/task20_data/task20_01 @@ -0,0 +1 @@ +Q3V6IEkgY2FtZSBiYWNrIHRvIGF0dGFjayBvdGhlcnMgaW4gc3BpdGUtIC8gU3RyaWtlIGxpa2UgbGlnaHRuaW4nLCBJdCdzIHF1aXRlIGZyaWdodGVuaW4nIQ== diff --git a/set3/task20_data/task20_02 b/set3/task20_data/task20_02 new file mode 100644 index 0000000..14536ba --- /dev/null +++ b/set3/task20_data/task20_02 @@ -0,0 +1 @@ +QnV0IGRvbid0IGJlIGFmcmFpZCBpbiB0aGUgZGFyaywgaW4gYSBwYXJrIC8gTm90IGEgc2NyZWFtIG9yIGEgY3J5LCBvciBhIGJhcmssIG1vcmUgbGlrZSBhIHNwYXJrOw== diff --git a/set3/task20_data/task20_03 b/set3/task20_data/task20_03 new file mode 100644 index 0000000..1a5e846 --- /dev/null +++ b/set3/task20_data/task20_03 @@ -0,0 +1 @@ +WWEgdHJlbWJsZSBsaWtlIGEgYWxjb2hvbGljLCBtdXNjbGVzIHRpZ2h0ZW4gdXAgLyBXaGF0J3MgdGhhdCwgbGlnaHRlbiB1cCEgWW91IHNlZSBhIHNpZ2h0IGJ1dA== diff --git a/set3/task20_data/task20_04 b/set3/task20_data/task20_04 new file mode 100644 index 0000000..27afef9 --- /dev/null +++ b/set3/task20_data/task20_04 @@ -0,0 +1 @@ +U3VkZGVubHkgeW91IGZlZWwgbGlrZSB5b3VyIGluIGEgaG9ycm9yIGZsaWNrIC8gWW91IGdyYWIgeW91ciBoZWFydCB0aGVuIHdpc2ggZm9yIHRvbW9ycm93IHF1aWNrIQ== diff --git a/set3/task20_data/task20_05 b/set3/task20_data/task20_05 new file mode 100644 index 0000000..ceecbfa --- /dev/null +++ b/set3/task20_data/task20_05 @@ -0,0 +1 @@ +TXVzaWMncyB0aGUgY2x1ZSwgd2hlbiBJIGNvbWUgeW91ciB3YXJuZWQgLyBBcG9jYWx5cHNlIE5vdywgd2hlbiBJJ20gZG9uZSwgeWEgZ29uZSE= diff --git a/set3/task20_data/task20_06 b/set3/task20_data/task20_06 new file mode 100644 index 0000000..d62512b --- /dev/null +++ b/set3/task20_data/task20_06 @@ -0,0 +1 @@ +SGF2ZW4ndCB5b3UgZXZlciBoZWFyZCBvZiBhIE1DLW11cmRlcmVyPyAvIFRoaXMgaXMgdGhlIGRlYXRoIHBlbmFsdHksYW5kIEknbSBzZXJ2aW4nIGE= diff --git a/set3/task20_data/task20_07 b/set3/task20_data/task20_07 new file mode 100644 index 0000000..1b0cdc6 --- /dev/null +++ b/set3/task20_data/task20_07 @@ -0,0 +1 @@ +RGVhdGggd2lzaCwgc28gY29tZSBvbiwgc3RlcCB0byB0aGlzIC8gSHlzdGVyaWNhbCBpZGVhIGZvciBhIGx5cmljYWwgcHJvZmVzc2lvbmlzdCE= diff --git a/set3/task20_data/task20_08 b/set3/task20_data/task20_08 new file mode 100644 index 0000000..167d125 --- /dev/null +++ b/set3/task20_data/task20_08 @@ -0,0 +1 @@ +RnJpZGF5IHRoZSB0aGlydGVlbnRoLCB3YWxraW5nIGRvd24gRWxtIFN0cmVldCAvIFlvdSBjb21lIGluIG15IHJlYWxtIHlhIGdldCBiZWF0IQ== diff --git a/set3/task20_data/task20_09 b/set3/task20_data/task20_09 new file mode 100644 index 0000000..c572a4c --- /dev/null +++ b/set3/task20_data/task20_09 @@ -0,0 +1 @@ +VGhpcyBpcyBvZmYgbGltaXRzLCBzbyB5b3VyIHZpc2lvbnMgYXJlIGJsdXJyeSAvIEFsbCB5YSBzZWUgaXMgdGhlIG1ldGVycyBhdCBhIHZvbHVtZQ== diff --git a/set3/task20_data/task20_10 b/set3/task20_data/task20_10 new file mode 100644 index 0000000..8e58d06 --- /dev/null +++ b/set3/task20_data/task20_10 @@ -0,0 +1 @@ +VGVycm9yIGluIHRoZSBzdHlsZXMsIG5ldmVyIGVycm9yLWZpbGVzIC8gSW5kZWVkIEknbSBrbm93bi15b3VyIGV4aWxlZCE= diff --git a/set3/task20_data/task20_11 b/set3/task20_data/task20_11 new file mode 100644 index 0000000..1b4f6fd --- /dev/null +++ b/set3/task20_data/task20_11 @@ -0,0 +1 @@ +Rm9yIHRob3NlIHRoYXQgb3Bwb3NlIHRvIGJlIGxldmVsIG9yIG5leHQgdG8gdGhpcyAvIEkgYWluJ3QgYSBkZXZpbCBhbmQgdGhpcyBhaW4ndCB0aGUgRXhvcmNpc3Qh diff --git a/set3/task20_data/task20_12 b/set3/task20_data/task20_12 new file mode 100644 index 0000000..699eaf0 --- /dev/null +++ b/set3/task20_data/task20_12 @@ -0,0 +1 @@ +V29yc2UgdGhhbiBhIG5pZ2h0bWFyZSwgeW91IGRvbid0IGhhdmUgdG8gc2xlZXAgYSB3aW5rIC8gVGhlIHBhaW4ncyBhIG1pZ3JhaW5lIGV2ZXJ5IHRpbWUgeWEgdGhpbms= diff --git a/set3/task20_data/task20_13 b/set3/task20_data/task20_13 new file mode 100644 index 0000000..f891df2 --- /dev/null +++ b/set3/task20_data/task20_13 @@ -0,0 +1 @@ +Rmxhc2hiYWNrcyBpbnRlcmZlcmUsIHlhIHN0YXJ0IHRvIGhlYXI6IC8gVGhlIFItQS1LLUktTSBpbiB5b3VyIGVhcjs= diff --git a/set3/task20_data/task20_14 b/set3/task20_data/task20_14 new file mode 100644 index 0000000..e9280e7 --- /dev/null +++ b/set3/task20_data/task20_14 @@ -0,0 +1 @@ +VGhlbiB0aGUgYmVhdCBpcyBoeXN0ZXJpY2FsIC8gVGhhdCBtYWtlcyBFcmljIGdvIGdldCBhIGF4IGFuZCBjaG9wcyB0aGUgd2Fjaw== diff --git a/set3/task20_data/task20_15 b/set3/task20_data/task20_15 new file mode 100644 index 0000000..dc0266b --- /dev/null +++ b/set3/task20_data/task20_15 @@ -0,0 +1 @@ +U29vbiB0aGUgbHlyaWNhbCBmb3JtYXQgaXMgc3VwZXJpb3IgLyBGYWNlcyBvZiBkZWF0aCByZW1haW4= diff --git a/set3/task20_data/task20_16 b/set3/task20_data/task20_16 new file mode 100644 index 0000000..6d45b04 --- /dev/null +++ b/set3/task20_data/task20_16 @@ -0,0 +1 @@ +TUMncyBkZWNheWluZywgY3V6IHRoZXkgbmV2ZXIgc3RheWVkIC8gVGhlIHNjZW5lIG9mIGEgY3JpbWUgZXZlcnkgbmlnaHQgYXQgdGhlIHNob3c= diff --git a/set3/task20_data/task20_17 b/set3/task20_data/task20_17 new file mode 100644 index 0000000..6ef9c4e --- /dev/null +++ b/set3/task20_data/task20_17 @@ -0,0 +1 @@ +VGhlIGZpZW5kIG9mIGEgcmh5bWUgb24gdGhlIG1pYyB0aGF0IHlvdSBrbm93IC8gSXQncyBvbmx5IG9uZSBjYXBhYmxlLCBicmVha3MtdGhlIHVuYnJlYWthYmxl diff --git a/set3/task20_data/task20_18 b/set3/task20_data/task20_18 new file mode 100644 index 0000000..0fa105b --- /dev/null +++ b/set3/task20_data/task20_18 @@ -0,0 +1 @@ +TWVsb2RpZXMtdW5tYWthYmxlLCBwYXR0ZXJuLXVuZXNjYXBhYmxlIC8gQSBob3JuIGlmIHdhbnQgdGhlIHN0eWxlIEkgcG9zc2Vz diff --git a/set3/task20_data/task20_19 b/set3/task20_data/task20_19 new file mode 100644 index 0000000..ea62d7a --- /dev/null +++ b/set3/task20_data/task20_19 @@ -0,0 +1 @@ +SSBibGVzcyB0aGUgY2hpbGQsIHRoZSBlYXJ0aCwgdGhlIGdvZHMgYW5kIGJvbWIgdGhlIHJlc3QgLyBGb3IgdGhvc2UgdGhhdCBlbnZ5IGEgTUMgaXQgY2FuIGJl diff --git a/set3/task20_data/task20_20 b/set3/task20_data/task20_20 new file mode 100644 index 0000000..aa92a4d --- /dev/null +++ b/set3/task20_data/task20_20 @@ -0,0 +1 @@ +SGF6YXJkb3VzIHRvIHlvdXIgaGVhbHRoIHNvIGJlIGZyaWVuZGx5IC8gQSBtYXR0ZXIgb2YgbGlmZSBhbmQgZGVhdGgsIGp1c3QgbGlrZSBhIGV0Y2gtYS1za2V0Y2g= diff --git a/set3/task20_data/task20_21 b/set3/task20_data/task20_21 new file mode 100644 index 0000000..3d2f0cd --- /dev/null +++ b/set3/task20_data/task20_21 @@ -0,0 +1 @@ +U2hha2UgJ3RpbGwgeW91ciBjbGVhciwgbWFrZSBpdCBkaXNhcHBlYXIsIG1ha2UgdGhlIG5leHQgLyBBZnRlciB0aGUgY2VyZW1vbnksIGxldCB0aGUgcmh5bWUgcmVzdCBpbiBwZWFjZQ== diff --git a/set3/task20_data/task20_22 b/set3/task20_data/task20_22 new file mode 100644 index 0000000..bb86671 --- /dev/null +++ b/set3/task20_data/task20_22 @@ -0,0 +1 @@ +SWYgbm90LCBteSBzb3VsJ2xsIHJlbGVhc2UhIC8gVGhlIHNjZW5lIGlzIHJlY3JlYXRlZCwgcmVpbmNhcm5hdGVkLCB1cGRhdGVkLCBJJ20gZ2xhZCB5b3UgbWFkZSBpdA== diff --git a/set3/task20_data/task20_23 b/set3/task20_data/task20_23 new file mode 100644 index 0000000..82b150e --- /dev/null +++ b/set3/task20_data/task20_23 @@ -0,0 +1 @@ +Q3V6IHlvdXIgYWJvdXQgdG8gc2VlIGEgZGlzYXN0cm91cyBzaWdodCAvIEEgcGVyZm9ybWFuY2UgbmV2ZXIgYWdhaW4gcGVyZm9ybWVkIG9uIGEgbWljOg== diff --git a/set3/task20_data/task20_24 b/set3/task20_data/task20_24 new file mode 100644 index 0000000..e5bde2d --- /dev/null +++ b/set3/task20_data/task20_24 @@ -0,0 +1 @@ +THlyaWNzIG9mIGZ1cnkhIEEgZmVhcmlmaWVkIGZyZWVzdHlsZSEgLyBUaGUgIlIiIGlzIGluIHRoZSBob3VzZS10b28gbXVjaCB0ZW5zaW9uIQ== diff --git a/set3/task20_data/task20_25 b/set3/task20_data/task20_25 new file mode 100644 index 0000000..f2bdd91 --- /dev/null +++ b/set3/task20_data/task20_25 @@ -0,0 +1 @@ +TWFrZSBzdXJlIHRoZSBzeXN0ZW0ncyBsb3VkIHdoZW4gSSBtZW50aW9uIC8gUGhyYXNlcyB0aGF0J3MgZmVhcnNvbWU= diff --git a/set3/task20_data/task20_26 b/set3/task20_data/task20_26 new file mode 100644 index 0000000..ddd7843 --- /dev/null +++ b/set3/task20_data/task20_26 @@ -0,0 +1 @@ +WW91IHdhbnQgdG8gaGVhciBzb21lIHNvdW5kcyB0aGF0IG5vdCBvbmx5IHBvdW5kcyBidXQgcGxlYXNlIHlvdXIgZWFyZHJ1bXM7IC8gSSBzaXQgYmFjayBhbmQgb2JzZXJ2ZSB0aGUgd2hvbGUgc2NlbmVyeQ== diff --git a/set3/task20_data/task20_27 b/set3/task20_data/task20_27 new file mode 100644 index 0000000..d3c97e1 --- /dev/null +++ b/set3/task20_data/task20_27 @@ -0,0 +1 @@ +VGhlbiBub25jaGFsYW50bHkgdGVsbCB5b3Ugd2hhdCBpdCBtZWFuIHRvIG1lIC8gU3RyaWN0bHkgYnVzaW5lc3MgSSdtIHF1aWNrbHkgaW4gdGhpcyBtb29k diff --git a/set3/task20_data/task20_28 b/set3/task20_data/task20_28 new file mode 100644 index 0000000..ee11c9b --- /dev/null +++ b/set3/task20_data/task20_28 @@ -0,0 +1 @@ +QW5kIEkgZG9uJ3QgY2FyZSBpZiB0aGUgd2hvbGUgY3Jvd2QncyBhIHdpdG5lc3MhIC8gSSdtIGEgdGVhciB5b3UgYXBhcnQgYnV0IEknbSBhIHNwYXJlIHlvdSBhIGhlYXJ0 diff --git a/set3/task20_data/task20_29 b/set3/task20_data/task20_29 new file mode 100644 index 0000000..6a3d89c --- /dev/null +++ b/set3/task20_data/task20_29 @@ -0,0 +1 @@ +UHJvZ3JhbSBpbnRvIHRoZSBzcGVlZCBvZiB0aGUgcmh5bWUsIHByZXBhcmUgdG8gc3RhcnQgLyBSaHl0aG0ncyBvdXQgb2YgdGhlIHJhZGl1cywgaW5zYW5lIGFzIHRoZSBjcmF6aWVzdA== diff --git a/set3/task20_data/task20_30 b/set3/task20_data/task20_30 new file mode 100644 index 0000000..7a67926 --- /dev/null +++ b/set3/task20_data/task20_30 @@ -0,0 +1 @@ +TXVzaWNhbCBtYWRuZXNzIE1DIGV2ZXIgbWFkZSwgc2VlIGl0J3MgLyBOb3cgYW4gZW1lcmdlbmN5LCBvcGVuLWhlYXJ0IHN1cmdlcnk= diff --git a/set3/task20_data/task20_31 b/set3/task20_data/task20_31 new file mode 100644 index 0000000..93dccdb --- /dev/null +++ b/set3/task20_data/task20_31 @@ -0,0 +1 @@ +T3BlbiB5b3VyIG1pbmQsIHlvdSB3aWxsIGZpbmQgZXZlcnkgd29yZCdsbCBiZSAvIEZ1cmllciB0aGFuIGV2ZXIsIEkgcmVtYWluIHRoZSBmdXJ0dXJl diff --git a/set3/task20_data/task20_32 b/set3/task20_data/task20_32 new file mode 100644 index 0000000..bea3372 --- /dev/null +++ b/set3/task20_data/task20_32 @@ -0,0 +1 @@ +QmF0dGxlJ3MgdGVtcHRpbmcuLi53aGF0ZXZlciBzdWl0cyB5YSEgLyBGb3Igd29yZHMgdGhlIHNlbnRlbmNlLCB0aGVyZSdzIG5vIHJlc2VtYmxhbmNl diff --git a/set3/task20_data/task20_33 b/set3/task20_data/task20_33 new file mode 100644 index 0000000..923dacb --- /dev/null +++ b/set3/task20_data/task20_33 @@ -0,0 +1 @@ +WW91IHRoaW5rIHlvdSdyZSBydWZmZXIsIHRoZW4gc3VmZmVyIHRoZSBjb25zZXF1ZW5jZXMhIC8gSSdtIG5ldmVyIGR5aW5nLXRlcnJpZnlpbmcgcmVzdWx0cw== diff --git a/set3/task20_data/task20_34 b/set3/task20_data/task20_34 new file mode 100644 index 0000000..400c011 --- /dev/null +++ b/set3/task20_data/task20_34 @@ -0,0 +1 @@ +SSB3YWtlIHlhIHdpdGggaHVuZHJlZHMgb2YgdGhvdXNhbmRzIG9mIHZvbHRzIC8gTWljLXRvLW1vdXRoIHJlc3VzY2l0YXRpb24sIHJoeXRobSB3aXRoIHJhZGlhdGlvbg== diff --git a/set3/task20_data/task20_35 b/set3/task20_data/task20_35 new file mode 100644 index 0000000..08387b4 --- /dev/null +++ b/set3/task20_data/task20_35 @@ -0,0 +1 @@ +Tm92b2NhaW4gZWFzZSB0aGUgcGFpbiBpdCBtaWdodCBzYXZlIGhpbSAvIElmIG5vdCwgRXJpYyBCLidzIHRoZSBqdWRnZSwgdGhlIGNyb3dkJ3MgdGhlIGp1cnk= diff --git a/set3/task20_data/task20_36 b/set3/task20_data/task20_36 new file mode 100644 index 0000000..1baef68 --- /dev/null +++ b/set3/task20_data/task20_36 @@ -0,0 +1 @@ +WW8gUmFraW0sIHdoYXQncyB1cD8gLyBZbywgSSdtIGRvaW5nIHRoZSBrbm93bGVkZ2UsIEUuLCBtYW4gSSdtIHRyeWluZyB0byBnZXQgcGFpZCBpbiBmdWxs diff --git a/set3/task20_data/task20_37 b/set3/task20_data/task20_37 new file mode 100644 index 0000000..f538f91 --- /dev/null +++ b/set3/task20_data/task20_37 @@ -0,0 +1 @@ +V2VsbCwgY2hlY2sgdGhpcyBvdXQsIHNpbmNlIE5vcmJ5IFdhbHRlcnMgaXMgb3VyIGFnZW5jeSwgcmlnaHQ/IC8gVHJ1ZQ== diff --git a/set3/task20_data/task20_38 b/set3/task20_data/task20_38 new file mode 100644 index 0000000..c22e18b --- /dev/null +++ b/set3/task20_data/task20_38 @@ -0,0 +1 @@ +S2FyYSBMZXdpcyBpcyBvdXIgYWdlbnQsIHdvcmQgdXAgLyBaYWtpYSBhbmQgNHRoIGFuZCBCcm9hZHdheSBpcyBvdXIgcmVjb3JkIGNvbXBhbnksIGluZGVlZA== diff --git a/set3/task20_data/task20_39 b/set3/task20_data/task20_39 new file mode 100644 index 0000000..baa3a60 --- /dev/null +++ b/set3/task20_data/task20_39 @@ -0,0 +1 @@ +T2theSwgc28gd2hvIHdlIHJvbGxpbicgd2l0aCB0aGVuPyBXZSByb2xsaW4nIHdpdGggUnVzaCAvIE9mIFJ1c2h0b3duIE1hbmFnZW1lbnQ= diff --git a/set3/task20_data/task20_40 b/set3/task20_data/task20_40 new file mode 100644 index 0000000..727f26b --- /dev/null +++ b/set3/task20_data/task20_40 @@ -0,0 +1 @@ +Q2hlY2sgdGhpcyBvdXQsIHNpbmNlIHdlIHRhbGtpbmcgb3ZlciAvIFRoaXMgZGVmIGJlYXQgcmlnaHQgaGVyZSB0aGF0IEkgcHV0IHRvZ2V0aGVy diff --git a/set3/task20_data/task20_41 b/set3/task20_data/task20_41 new file mode 100644 index 0000000..dc92f01 --- /dev/null +++ b/set3/task20_data/task20_41 @@ -0,0 +1 @@ +SSB3YW5uYSBoZWFyIHNvbWUgb2YgdGhlbSBkZWYgcmh5bWVzLCB5b3Uga25vdyB3aGF0IEknbSBzYXlpbic/IC8gQW5kIHRvZ2V0aGVyLCB3ZSBjYW4gZ2V0IHBhaWQgaW4gZnVsbA== diff --git a/set3/task20_data/task20_42 b/set3/task20_data/task20_42 new file mode 100644 index 0000000..ec235cb --- /dev/null +++ b/set3/task20_data/task20_42 @@ -0,0 +1 @@ +VGhpbmtpbicgb2YgYSBtYXN0ZXIgcGxhbiAvICdDdXogYWluJ3QgbnV0aGluJyBidXQgc3dlYXQgaW5zaWRlIG15IGhhbmQ= diff --git a/set3/task20_data/task20_43 b/set3/task20_data/task20_43 new file mode 100644 index 0000000..1961536 --- /dev/null +++ b/set3/task20_data/task20_43 @@ -0,0 +1 @@ +U28gSSBkaWcgaW50byBteSBwb2NrZXQsIGFsbCBteSBtb25leSBpcyBzcGVudCAvIFNvIEkgZGlnIGRlZXBlciBidXQgc3RpbGwgY29taW4nIHVwIHdpdGggbGludA== diff --git a/set3/task20_data/task20_44 b/set3/task20_data/task20_44 new file mode 100644 index 0000000..53fe8f7 --- /dev/null +++ b/set3/task20_data/task20_44 @@ -0,0 +1 @@ +U28gSSBzdGFydCBteSBtaXNzaW9uLCBsZWF2ZSBteSByZXNpZGVuY2UgLyBUaGlua2luJyBob3cgY291bGQgSSBnZXQgc29tZSBkZWFkIHByZXNpZGVudHM= diff --git a/set3/task20_data/task20_45 b/set3/task20_data/task20_45 new file mode 100644 index 0000000..feee2f5 --- /dev/null +++ b/set3/task20_data/task20_45 @@ -0,0 +1 @@ +SSBuZWVkIG1vbmV5LCBJIHVzZWQgdG8gYmUgYSBzdGljay11cCBraWQgLyBTbyBJIHRoaW5rIG9mIGFsbCB0aGUgZGV2aW91cyB0aGluZ3MgSSBkaWQ= diff --git a/set3/task20_data/task20_46 b/set3/task20_data/task20_46 new file mode 100644 index 0000000..3674e29 --- /dev/null +++ b/set3/task20_data/task20_46 @@ -0,0 +1 @@ +SSB1c2VkIHRvIHJvbGwgdXAsIHRoaXMgaXMgYSBob2xkIHVwLCBhaW4ndCBudXRoaW4nIGZ1bm55IC8gU3RvcCBzbWlsaW5nLCBiZSBzdGlsbCwgZG9uJ3QgbnV0aGluJyBtb3ZlIGJ1dCB0aGUgbW9uZXk= diff --git a/set3/task20_data/task20_47 b/set3/task20_data/task20_47 new file mode 100644 index 0000000..767b9e4 --- /dev/null +++ b/set3/task20_data/task20_47 @@ -0,0 +1 @@ +QnV0IG5vdyBJIGxlYXJuZWQgdG8gZWFybiAnY3V6IEknbSByaWdodGVvdXMgLyBJIGZlZWwgZ3JlYXQsIHNvIG1heWJlIEkgbWlnaHQganVzdA== diff --git a/set3/task20_data/task20_48 b/set3/task20_data/task20_48 new file mode 100644 index 0000000..085376b --- /dev/null +++ b/set3/task20_data/task20_48 @@ -0,0 +1 @@ +U2VhcmNoIGZvciBhIG5pbmUgdG8gZml2ZSwgaWYgSSBzdHJpdmUgLyBUaGVuIG1heWJlIEknbGwgc3RheSBhbGl2ZQ== diff --git a/set3/task20_data/task20_49 b/set3/task20_data/task20_49 new file mode 100644 index 0000000..d555793 --- /dev/null +++ b/set3/task20_data/task20_49 @@ -0,0 +1 @@ +U28gSSB3YWxrIHVwIHRoZSBzdHJlZXQgd2hpc3RsaW4nIHRoaXMgLyBGZWVsaW4nIG91dCBvZiBwbGFjZSAnY3V6LCBtYW4sIGRvIEkgbWlzcw== diff --git a/set3/task20_data/task20_50 b/set3/task20_data/task20_50 new file mode 100644 index 0000000..ab56c37 --- /dev/null +++ b/set3/task20_data/task20_50 @@ -0,0 +1 @@ +QSBwZW4gYW5kIGEgcGFwZXIsIGEgc3RlcmVvLCBhIHRhcGUgb2YgLyBNZSBhbmQgRXJpYyBCLCBhbmQgYSBuaWNlIGJpZyBwbGF0ZSBvZg== diff --git a/set3/task20_data/task20_51 b/set3/task20_data/task20_51 new file mode 100644 index 0000000..a16af8d --- /dev/null +++ b/set3/task20_data/task20_51 @@ -0,0 +1 @@ +RmlzaCwgd2hpY2ggaXMgbXkgZmF2b3JpdGUgZGlzaCAvIEJ1dCB3aXRob3V0IG5vIG1vbmV5IGl0J3Mgc3RpbGwgYSB3aXNo diff --git a/set3/task20_data/task20_52 b/set3/task20_data/task20_52 new file mode 100644 index 0000000..716e574 --- /dev/null +++ b/set3/task20_data/task20_52 @@ -0,0 +1 @@ +J0N1eiBJIGRvbid0IGxpa2UgdG8gZHJlYW0gYWJvdXQgZ2V0dGluJyBwYWlkIC8gU28gSSBkaWcgaW50byB0aGUgYm9va3Mgb2YgdGhlIHJoeW1lcyB0aGF0IEkgbWFkZQ== diff --git a/set3/task20_data/task20_53 b/set3/task20_data/task20_53 new file mode 100644 index 0000000..297a7dd --- /dev/null +++ b/set3/task20_data/task20_53 @@ -0,0 +1 @@ +U28gbm93IHRvIHRlc3QgdG8gc2VlIGlmIEkgZ290IHB1bGwgLyBIaXQgdGhlIHN0dWRpbywgJ2N1eiBJJ20gcGFpZCBpbiBmdWxs diff --git a/set3/task20_data/task20_54 b/set3/task20_data/task20_54 new file mode 100644 index 0000000..1e7e995 --- /dev/null +++ b/set3/task20_data/task20_54 @@ -0,0 +1 @@ +UmFraW0sIGNoZWNrIHRoaXMgb3V0LCB5byAvIFlvdSBnbyB0byB5b3VyIGdpcmwgaG91c2UgYW5kIEknbGwgZ28gdG8gbWluZQ== diff --git a/set3/task20_data/task20_55 b/set3/task20_data/task20_55 new file mode 100644 index 0000000..c943c24 --- /dev/null +++ b/set3/task20_data/task20_55 @@ -0,0 +1 @@ +J0NhdXNlIG15IGdpcmwgaXMgZGVmaW5pdGVseSBtYWQgLyAnQ2F1c2UgaXQgdG9vayB1cyB0b28gbG9uZyB0byBkbyB0aGlzIGFsYnVt diff --git a/set3/task20_data/task20_56 b/set3/task20_data/task20_56 new file mode 100644 index 0000000..95796f5 --- /dev/null +++ b/set3/task20_data/task20_56 @@ -0,0 +1 @@ +WW8sIEkgaGVhciB3aGF0IHlvdSdyZSBzYXlpbmcgLyBTbyBsZXQncyBqdXN0IHB1bXAgdGhlIG11c2ljIHVw diff --git a/set3/task20_data/task20_57 b/set3/task20_data/task20_57 new file mode 100644 index 0000000..a456bfd --- /dev/null +++ b/set3/task20_data/task20_57 @@ -0,0 +1 @@ +QW5kIGNvdW50IG91ciBtb25leSAvIFlvLCB3ZWxsIGNoZWNrIHRoaXMgb3V0LCB5byBFbGk= diff --git a/set3/task20_data/task20_58 b/set3/task20_data/task20_58 new file mode 100644 index 0000000..cfa083a --- /dev/null +++ b/set3/task20_data/task20_58 @@ -0,0 +1 @@ +VHVybiBkb3duIHRoZSBiYXNzIGRvd24gLyBBbmQgbGV0IHRoZSBiZWF0IGp1c3Qga2VlcCBvbiByb2NraW4n diff --git a/set3/task20_data/task20_59 b/set3/task20_data/task20_59 new file mode 100644 index 0000000..9e6988d --- /dev/null +++ b/set3/task20_data/task20_59 @@ -0,0 +1 @@ +QW5kIHdlIG91dHRhIGhlcmUgLyBZbywgd2hhdCBoYXBwZW5lZCB0byBwZWFjZT8gLyBQZWFjZQ== |
