tx · F4ZRZKEp5Tdpuwvtz9A7MmyUEwa7FJwExVLEHZD3TyBT

3NAg2HDvKz7gwrNc2wnUxdK74NydBFUXTYP:  -0.03300000 Waves

2024.12.09 16:58 [3407157] smart account 3NAg2HDvKz7gwrNc2wnUxdK74NydBFUXTYP > SELF 0.00000000 Waves

{ "type": 13, "id": "F4ZRZKEp5Tdpuwvtz9A7MmyUEwa7FJwExVLEHZD3TyBT", "fee": 3300000, "feeAssetId": null, "timestamp": 1733752673809, "version": 2, "chainId": 84, "sender": "3NAg2HDvKz7gwrNc2wnUxdK74NydBFUXTYP", "senderPublicKey": "BEbZF8zo7WjaQFZFFuPs7hqSLEgGwjwQFGg4tSidf9C3", "proofs": [ "5LvhauEw6qzaYyW7rRZQvQivmRydM9VcooxrxEXZeMnsjfjhmftRYRo3rR98tpiThLipMmMVZZfAvVwcCFAWqzYB" ], "script": "base64:BwJuCAISCAoGCAgICAgIEggKBggICAgICBIJCgcICAgICAgIEgUKAwgICBIDCgEIEgwKCggICAgICAgICAgSBgoECAgICBIFCgMBCAgSBQoDAQgIEgMKAQESAwoBCBIDCgEIEgASABIDCgEIEgMKAQhxAAlTRVBBUkFUT1ICAl9fAAxLRVlfTVVMVElTSUcCCE1VTFRJU0lHAApLRVlfU1RBVFVTAgZTVEFUVVMACEtFWV9JTklUAgRJTklUAApLRVlfUEFVU0VEAgZQQVVTRUQACktFWV9QQVVTRVICBlBBVVNFUgAMS0VZX0VYRUNVVE9SAghFWEVDVVRPUgATS0VZX0NBTExFUl9DT05UUkFDVAIPQ0FMTEVSX0NPTlRSQUNUAA9LRVlfV0FWRVNfVkFVTFQCC1dBVkVTX1ZBVUxUABNLRVlfQUNDT1VOVF9TVE9SQUdFAg9BQ0NPVU5UX1NUT1JBR0UACUtFWV9DSEFJTgIFQ0hBSU4AEktFWV9BU1NFVF9DVVJSRU5DWQIOQVNTRVRfQ1VSUkVOQ1kAEktFWV9BU1NFVF9SRVNFUlZFUwIOQVNTRVRfUkVTRVJWRVMAGUtFWV9BU1NFVF9SRVNFUlZFU19MT0NLRUQCFUFTU0VUX1JFU0VSVkVTX0xPQ0tFRAAYS0VZX1VTRVJfTE9DS0VEX0NVUlJFTkNZAhRVU0VSX0xPQ0tFRF9DVVJSRU5DWQAVS0VZX0NVUlJFTkNZX1JFU0VSVkVTAhFDVVJSRU5DWV9SRVNFUlZFUwAbS0VZX1JFUVVFU1RfV0lUSERSQVdBTF9TSVpFAhdSRVFVRVNUX1dJVEhEUkFXQUxfU0laRQAWS0VZX1JFUVVFU1RfV0lUSERSQVdBTAISUkVRVUVTVF9XSVRIRFJBV0FMACJLRVlfUkVRVUVTVF9XSVRIRFJBV0FMX0JMT0NLX0RFTEFZAh5SRVFVRVNUX1dJVEhEUkFXQUxfQkxPQ0tfREVMQVkADUtFWV9TRVFVRU5DRVICCVNFUVVFTkNFUgATS0VZX1dJVEhEUkFXQUxfSEFTSAIPV0lUSERSQVdBTF9IQVNIABFLRVlfVkFVTFRfQURBUFRFUgINVkFVTFRfQURBUFRFUgAWS0VZX1JFV0FSRF9ESVNUUklCVVRPUgISUkVXQVJEX0RJU1RSSUJVVE9SABlLRVlfUkVMQVlFUl9GRUVfUkVDSVBJRU5UAhVSRUxBWUVSX0ZFRV9SRUNJUElFTlQADEZVTkNfREVQT1NJVAIHZGVwb3NpdAAVRlVOQ19HRVRfVVNFUl9CQUxBTkNFAg5nZXRVc2VyQmFsYW5jZQAWRlVOQ19JTlRFUk5BTF9UUkFOU0ZFUgIQaW50ZXJuYWxUcmFuc2ZlcgANRlVOQ19XSVRIRFJBVwIId2l0aGRyYXcAG0ZVTkNfREVQT1NJVF9TVEFLSU5HX1JFV0FSRAIUZGVwb3NpdFN0YWtpbmdSZXdhcmQAFlJFUVVFU1RfU1RBVFVTX0NSRUFURUQAAAATUkVRVUVTVF9TVEFUVVNfRE9ORQABABdSRVFVRVNUX1NUQVRVU19SRUpFQ1RFRAACAAVXQVZFUwIFV0FWRVMAC1NQT1RfV0FMTEVUAgRTUE9UAAdNQVhfSU5UAP//////////fwALWkVST19CSUdJTlQJALYCAQAAAApPTkVfQklHSU5UCQC2AgEAAQAHT05FX0RBWQCAuJkpAA5BTEdfVFlQRV9XQVZFUwABAAxBTEdfVFlQRV9FVk0AAgAMV0FWRVNfUFJFRklYAQT///8BABRFVk1fU0lHTkFUVVJFX1BSRUZJWAEcGUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOgozMgEQX3ZhbGlkYXRlQWRkcmVzcwIIYWRkcmVzc18EZXJyXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgkAAgEFBGVycl8BDF92YWxpZGF0ZUludAQEdmFsXw5sb3dlckJvdW5kYXJ5Xw51cHBlckJvdW5kYXJ5XwRlcnJfAwMJAGYCBQ5sb3dlckJvdW5kYXJ5XwUEdmFsXwYJAGYCBQR2YWxfBQ51cHBlckJvdW5kYXJ5XwkAAgEFBGVycl8GAQ9fdmFsaWRhdGVCaWdJbnQDBHZhbF8ObG93ZXJCb3VuZGFyeV8EZXJyXwMJAL8CAgUObG93ZXJCb3VuZGFyeV8FBHZhbF8JAAIBBQRlcnJfBgERX3ZhbGlkYXRlQmlnSW50XzIEBHZhbF8ObG93ZXJCb3VuZGFyeV8OdXBwZXJCb3VuZGFyeV8EZXJyXwMDCQC/AgIFDmxvd2VyQm91bmRhcnlfBQR2YWxfBgkAvwICBQR2YWxfBQ51cHBlckJvdW5kYXJ5XwkAAgEFBGVycl8GAQ9fdmFsaWRhdGVTdHJpbmcCBHZhbF8EZXJyXwMDCQBnAgAACQCxAgEFBHZhbF8GCQEIY29udGFpbnMCBQR2YWxfBQlTRVBBUkFUT1IJAAIBBQRlcnJfBgEUX3ZhbGlkYXRlU3RyaW5nRXF1YWwDBXZhbDFfBXZhbDJfBGVycl8DCQECIT0CBQV2YWwxXwUFdmFsMl8JAAIBBQRlcnJfBgEJX2xvYWRJbml0AAQHJG1hdGNoMAkAoAgBBQhLRVlfSU5JVAMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFhBQckbWF0Y2gwBQFhBwEJX3NhdmVJbml0AQdpc0luaXRfCQDMCAIJAQxCb29sZWFuRW50cnkCBQhLRVlfSU5JVAUHaXNJbml0XwUDbmlsAQpfbG9hZFBhdXNlAAQHJG1hdGNoMAkAoAgBBQpLRVlfUEFVU0VEAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAWEFByRtYXRjaDAFAWEHAQpfc2F2ZVBhdXNlAQlpc1BhdXNlZF8JAMwIAgkBDEJvb2xlYW5FbnRyeQIFCktFWV9QQVVTRUQFCWlzUGF1c2VkXwUDbmlsAQtfbG9hZFBhdXNlcgAEByRtYXRjaDAJAKIIAQUKS0VZX1BBVVNFUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQtfc2F2ZVBhdXNlcgEHcGF1c2VyXwkAzAgCCQELU3RyaW5nRW50cnkCBQpLRVlfUEFVU0VSCQClCAEFB3BhdXNlcl8FA25pbAENX2xvYWRNdWx0aXNpZwAEByRtYXRjaDAJAKIIAQUMS0VZX01VTFRJU0lHAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABDV9zYXZlTXVsdGlzaWcBCW11bHRpc2lnXwkAzAgCCQELU3RyaW5nRW50cnkCBQxLRVlfTVVMVElTSUcJAKUIAQUJbXVsdGlzaWdfBQNuaWwBE19sb2FkQ2FsbGVyQ29udHJhY3QBCGNoYWluSWRfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBRNLRVlfQ0FMTEVSX0NPTlRSQUNUCQDMCAIJAKQDAQUIY2hhaW5JZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAUBYQIAARNfc2F2ZUNhbGxlckNvbnRyYWN0AghjaGFpbklkXw9jYWxsZXJDb250cmFjdF8JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFE0tFWV9DQUxMRVJfQ09OVFJBQ1QJAMwIAgkApAMBBQhjaGFpbklkXwUDbmlsBQlTRVBBUkFUT1IFD2NhbGxlckNvbnRyYWN0XwUDbmlsAQ1fbG9hZEV4ZWN1dG9yAAQHJG1hdGNoMAkAoggBBQxLRVlfRVhFQ1VUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAENX3NhdmVFeGVjdXRvcgEJZXhlY3V0b3JfCQDMCAIJAQtTdHJpbmdFbnRyeQIFDEtFWV9FWEVDVVRPUgkApQgBBQlleGVjdXRvcl8FA25pbAETX2xvYWRBY2NvdW50U3RvcmFnZQAEByRtYXRjaDAJAKIIAQUTS0VZX0FDQ09VTlRfU1RPUkFHRQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAARNfc2F2ZUFjY291bnRTdG9yYWdlAQ9hY2NvdW50U3RvcmFnZV8JAMwIAgkBC1N0cmluZ0VudHJ5AgUTS0VZX0FDQ09VTlRfU1RPUkFHRQkApQgBBQ9hY2NvdW50U3RvcmFnZV8FA25pbAEPX2xvYWRXYXZlc1ZhdWx0AAQHJG1hdGNoMAkAoggBBQ9LRVlfV0FWRVNfVkFVTFQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEPX3NhdmVXYXZlc1ZhdWx0AQt3YXZlc1ZhdWx0XwkAzAgCCQELU3RyaW5nRW50cnkCBQ9LRVlfV0FWRVNfVkFVTFQJAKUIAQULd2F2ZXNWYXVsdF8FA25pbAEKX2xvYWRDaGFpbgEIY2hhaW5JZF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFCUtFWV9DSEFJTgkAzAgCCQCkAwEFCGNoYWluSWRfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEKX3NhdmVDaGFpbgIIY2hhaW5JZF8FbmFtZV8JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFCUtFWV9DSEFJTgkAzAgCCQCkAwEFCGNoYWluSWRfBQNuaWwFCVNFUEFSQVRPUgUFbmFtZV8FA25pbAESX2xvYWRBc3NldEN1cnJlbmN5AghjaGFpbklkXwZhc3NldF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFEktFWV9BU1NFVF9DVVJSRU5DWQkAzAgCCQCkAwEFCGNoYWluSWRfCQDMCAIFBmFzc2V0XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABEl9zYXZlQXNzZXRDdXJyZW5jeQMIY2hhaW5JZF8GYXNzZXRfCWN1cnJlbmN5XwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUSS0VZX0FTU0VUX0NVUlJFTkNZCQDMCAIJAKQDAQUIY2hhaW5JZF8JAMwIAgUGYXNzZXRfBQNuaWwFCVNFUEFSQVRPUgUJY3VycmVuY3lfBQNuaWwBEl9sb2FkQXNzZXRSZXNlcnZlcwIIY2hhaW5JZF8GYXNzZXRfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBRJLRVlfQVNTRVRfUkVTRVJWRVMJAMwIAgkApAMBBQhjaGFpbklkXwkAzAgCBQZhc3NldF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkApwMBBQFhBQtaRVJPX0JJR0lOVAESX3NhdmVBc3NldFJlc2VydmVzAwhjaGFpbklkXwZhc3NldF8JcmVzZXJ2ZXNfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBRJLRVlfQVNTRVRfUkVTRVJWRVMJAMwIAgkApAMBBQhjaGFpbklkXwkAzAgCBQZhc3NldF8FA25pbAUJU0VQQVJBVE9SCQCmAwEFCXJlc2VydmVzXwUDbmlsARhfbG9hZEFzc2V0UmVzZXJ2ZXNMb2NrZWQCCGNoYWluSWRfBmFzc2V0XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUZS0VZX0FTU0VUX1JFU0VSVkVTX0xPQ0tFRAkAzAgCCQCkAwEFCGNoYWluSWRfCQDMCAIFBmFzc2V0XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQCnAwEFAWEFC1pFUk9fQklHSU5UARhfc2F2ZUFzc2V0UmVzZXJ2ZXNMb2NrZWQDCGNoYWluSWRfBmFzc2V0XwlyZXNlcnZlc18JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFGUtFWV9BU1NFVF9SRVNFUlZFU19MT0NLRUQJAMwIAgkApAMBBQhjaGFpbklkXwkAzAgCBQZhc3NldF8FA25pbAUJU0VQQVJBVE9SCQCmAwEFCXJlc2VydmVzXwUDbmlsARdfbG9hZFVzZXJMb2NrZWRDdXJyZW5jeQIJY3VycmVuY3lfBXVzZXJfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBRhLRVlfVVNFUl9MT0NLRURfQ1VSUkVOQ1kJAMwIAgUJY3VycmVuY3lfCQDMCAIFBXVzZXJfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJAKcDAQUBYQULWkVST19CSUdJTlQBF19zYXZlVXNlckxvY2tlZEN1cnJlbmN5AwljdXJyZW5jeV8FdXNlcl8HYW1vdW50XwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUYS0VZX1VTRVJfTE9DS0VEX0NVUlJFTkNZCQDMCAIFCWN1cnJlbmN5XwkAzAgCBQV1c2VyXwUDbmlsBQlTRVBBUkFUT1IJAKYDAQUHYW1vdW50XwUDbmlsARVfbG9hZEN1cnJlbmN5UmVzZXJ2ZXMBCWN1cnJlbmN5XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUVS0VZX0NVUlJFTkNZX1JFU0VSVkVTCQDMCAIFCWN1cnJlbmN5XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQCnAwEFAWEFC1pFUk9fQklHSU5UARVfc2F2ZUN1cnJlbmN5UmVzZXJ2ZXMCCWN1cnJlbmN5XwlyZXNlcnZlc18JAMwIAgkBC1N0cmluZ0VudHJ5AgkAuQkCCQDMCAIFFUtFWV9DVVJSRU5DWV9SRVNFUlZFUwkAzAgCBQljdXJyZW5jeV8FA25pbAUJU0VQQVJBVE9SCQCmAwEFCXJlc2VydmVzXwUDbmlsARpfbG9hZFJlcXVlc3RXaXRoZHJhd2FsU2l6ZQAEByRtYXRjaDAJAJ8IAQUbS0VZX1JFUVVFU1RfV0lUSERSQVdBTF9TSVpFAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAARpfc2F2ZVJlcXVlc3RXaXRoZHJhd2FsU2l6ZQEEdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgUbS0VZX1JFUVVFU1RfV0lUSERSQVdBTF9TSVpFBQR2YWxfBQNuaWwBFl9sb2FkUmVxdWVzdFdpdGhkcmF3YWwBBmluZGV4XwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUWS0VZX1JFUVVFU1RfV0lUSERSQVdBTAkAzAgCCQCkAwEFBmluZGV4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBAZzdHJ1Y3QJALUJAgUBYQUJU0VQQVJBVE9SCQCaCggJAJEDAgUGc3RydWN0AAAJAJEDAgUGc3RydWN0AAEJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAgkAkQMCBQZzdHJ1Y3QAAwkApwMBCQCRAwIFBnN0cnVjdAAECQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAUJAJEDAgUGc3RydWN0AAYJAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QABwkAmgoIAgACAAAAAgAFC1pFUk9fQklHSU5UAAACAAUWUkVRVUVTVF9TVEFUVVNfQ1JFQVRFRAEWX3NhdmVSZXF1ZXN0V2l0aGRyYXdhbAIGaW5kZXhfCHJlcXVlc3RfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBRZLRVlfUkVRVUVTVF9XSVRIRFJBV0FMCQDMCAIJAKQDAQUGaW5kZXhfBQNuaWwFCVNFUEFSQVRPUgkAuQkCCQDMCAIIBQhyZXF1ZXN0XwJfMQkAzAgCCAUIcmVxdWVzdF8CXzIJAMwIAgkApAMBCAUIcmVxdWVzdF8CXzMJAMwIAggFCHJlcXVlc3RfAl80CQDMCAIJAKYDAQgFCHJlcXVlc3RfAl81CQDMCAIJAKQDAQgFCHJlcXVlc3RfAl82CQDMCAIIBQhyZXF1ZXN0XwJfNwkAzAgCCQCkAwEIBQhyZXF1ZXN0XwJfOAUDbmlsBQlTRVBBUkFUT1IFA25pbAEgX2xvYWRSZXF1ZXN0V2l0aGRyYXdhbEJsb2NrRGVsYXkABAckbWF0Y2gwCQCfCAEFIktFWV9SRVFVRVNUX1dJVEhEUkFXQUxfQkxPQ0tfREVMQVkDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABIF9zYXZlUmVxdWVzdFdpdGhkcmF3YWxCbG9ja0RlbGF5AQZkZWxheV8JAMwIAgkBDEludGVnZXJFbnRyeQIFIktFWV9SRVFVRVNUX1dJVEhEUkFXQUxfQkxPQ0tfREVMQVkFBmRlbGF5XwUDbmlsAQ5fbG9hZFNlcXVlbmNlcgAEByRtYXRjaDAJAKIIAQUNS0VZX1NFUVVFTkNFUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJARFAZXh0ck5hdGl2ZSgxMDYyKQEFAWEJAQdBZGRyZXNzAQEAAQ5fc2F2ZVNlcXVlbmNlcgEKc2VxdWVuY2VyXwkAzAgCCQELU3RyaW5nRW50cnkCBQ1LRVlfU0VRVUVOQ0VSCQClCAEFCnNlcXVlbmNlcl8FA25pbAETX2xvYWRXaXRoZHJhd2FsSGFzaAEPd2l0aGRyYXdhbEhhc2hfBAckbWF0Y2gwCQCiCAEJALkJAgkAzAgCBRNLRVlfV0lUSERSQVdBTF9IQVNICQDMCAIJANgEAQUPd2l0aGRyYXdhbEhhc2hfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAETX3NhdmVXaXRoZHJhd2FsSGFzaAIPd2l0aGRyYXdhbEhhc2hfBXR4SWRfCQDMCAIJAQtTdHJpbmdFbnRyeQIJALkJAgkAzAgCBRNLRVlfV0lUSERSQVdBTF9IQVNICQDMCAIJANgEAQUPd2l0aGRyYXdhbEhhc2hfBQNuaWwFCVNFUEFSQVRPUgUFdHhJZF8FA25pbAERX2xvYWRWYXVsdEFkYXB0ZXIABAckbWF0Y2gwCQCiCAEFEUtFWV9WQVVMVF9BREFQVEVSAwkAAQIFByRtYXRjaDACBlN0cmluZwQBYQUHJG1hdGNoMAkBEUBleHRyTmF0aXZlKDEwNjIpAQUBYQkBB0FkZHJlc3MBAQABEV9zYXZlVmF1bHRBZGFwdGVyAQ12YXVsdEFkYXB0ZXJfCQDMCAIJAQtTdHJpbmdFbnRyeQIFEUtFWV9WQVVMVF9BREFQVEVSCQClCAEFDXZhdWx0QWRhcHRlcl8FA25pbAEWX2xvYWRSZXdhcmREaXN0cmlidXRvcgAEByRtYXRjaDAJAKIIAQUWS0VZX1JFV0FSRF9ESVNUUklCVVRPUgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAFAWECAAEWX3NhdmVSZXdhcmREaXN0cmlidXRvcgEMZGlzdHJpYnV0b3JfCQDMCAIJAQtTdHJpbmdFbnRyeQIFFktFWV9SRVdBUkRfRElTVFJJQlVUT1IFDGRpc3RyaWJ1dG9yXwUDbmlsARhfbG9hZFJlbGF5ZXJGZWVSZWNpcGllbnQABAckbWF0Y2gwCQCiCAEFGUtFWV9SRUxBWUVSX0ZFRV9SRUNJUElFTlQDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABGF9zYXZlUmVsYXllckZlZVJlY2lwaWVudAEUcmVsYXllckZlZVJlY2lwaWVudF8JAMwIAgkBC1N0cmluZ0VudHJ5AgUZS0VZX1JFTEFZRVJfRkVFX1JFQ0lQSUVOVAUUcmVsYXllckZlZVJlY2lwaWVudF8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgEOX3doZW5Ob3RQYXVzZWQAAwkBCl9sb2FkUGF1c2UACQACAQIWX3doZW5Ob3RQYXVzZWQ6IHJldmVydAYBC193aGVuUGF1c2VkAAMJAQEhAQkBCl9sb2FkUGF1c2UACQACAQITX3doZW5QYXVzZWQ6IHJldmVydAYBC19vbmx5UGF1c2VyAQdjYWxsZXJfAwkBAiE9AgUHY2FsbGVyXwkBC19sb2FkUGF1c2VyAAkAAgECE19vbmx5UGF1c2VyOiByZXZlcnQGARFfdmFsaWRhdGVFeGVjdXRvcgIEdmFsXwRlcnJfAwkBAiE9AgUEdmFsXwkBDV9sb2FkRXhlY3V0b3IACQACAQUEZXJyXwYBF192YWxpZGF0ZUNhbGxlckNvbnRyYWN0AwhjaGFpbklkXw9jYWxsZXJDb250cmFjdF8EZXJyXwMJAQIhPQIJARNfbG9hZENhbGxlckNvbnRyYWN0AQUIY2hhaW5JZF8FD2NhbGxlckNvbnRyYWN0XwkAAgEFBGVycl8GAQxfY2hhaW5FeGlzdHMCCGNoYWluSWRfBGVycl8DCQBnAgAACQCxAgEJAQpfbG9hZENoYWluAQUIY2hhaW5JZF8JAAIBBQRlcnJfBgEOX2NoYWluTm90RXhpc3QCCGNoYWluSWRfBGVycl8DCQBmAgkAsQIBCQEKX2xvYWRDaGFpbgEFCGNoYWluSWRfAAAJAAIBBQRlcnJfBgEUX2Fzc2V0Q3VycmVuY3lFeGlzdHMDCGNoYWluSWRfBmFzc2V0XwRlcnJfAwkAZwIAAAkAsQIBCQESX2xvYWRBc3NldEN1cnJlbmN5AgUIY2hhaW5JZF8FBmFzc2V0XwkAAgEFBGVycl8GARZfYXNzZXRDdXJyZW5jeU5vdEV4aXN0AwhjaGFpbklkXwZhc3NldF8EZXJyXwMJAGYCCQCxAgEJARJfbG9hZEFzc2V0Q3VycmVuY3kCBQhjaGFpbklkXwUGYXNzZXRfAAAJAAIBBQRlcnJfBgETX3ZhbGlkYXRlV2F2ZXNWYXVsdAIGY2FsbGVyBGVycl8DCQECIT0CCQEPX2xvYWRXYXZlc1ZhdWx0AAUGY2FsbGVyCQACAQUEZXJyXwYBEV9yZXF1ZXN0SXNDcmVhdGVkAgdzdGF0dXNfBGVycl8DCQECIT0CBQdzdGF0dXNfBRZSRVFVRVNUX1NUQVRVU19DUkVBVEVECQACAQUEZXJyXwYBEl92YWxpZGF0ZVNlcXVlbmNlcgIGY2FsbGVyBGVycl8DCQECIT0CCQEOX2xvYWRTZXF1ZW5jZXIABQZjYWxsZXIJAAIBBQRlcnJfBgEcX2NoZWNrV2l0aGRyYXdhbEhhc2hOb3RFeGlzdAIPd2l0aGRyYXdhbEhhc2hfBGVycl8DCQBmAgkAsQIBCQETX2xvYWRXaXRoZHJhd2FsSGFzaAEFD3dpdGhkcmF3YWxIYXNoXwAACQACAQUEZXJyXwYBGF92YWxpZGF0ZVNpZ25hdHVyZUZvcm1hdAMKc2lnbmF0dXJlXwRhbGdfBGVycl8DCQAAAgUEYWxnXwUOQUxHX1RZUEVfV0FWRVMDCQECIT0CCQDIAQEFCnNpZ25hdHVyZV8AQAkAAgEFBGVycl8GAwkAAAIFBGFsZ18FDEFMR19UWVBFX0VWTQMJAQIhPQIJAMgBAQUKc2lnbmF0dXJlXwBBCQACAQUEZXJyXwYJAAIBCQCsAgIFBGVycl8CCTogaW52IGFsZwEPX3ZhbGlkYXRlV2ViM0lkAwd3ZWIzSWRfBGFsZ18EZXJyXwMJAAACBQRhbGdfBQ5BTEdfVFlQRV9XQVZFUwMJAQIhPQIJAMgBAQUHd2ViM0lkXwAgCQACAQUEZXJyXwYDCQAAAgUEYWxnXwUMQUxHX1RZUEVfRVZNAwkBAiE9AgkAyAEBBQd3ZWIzSWRfABQJAAIBBQRlcnJfBgkAAgEJAKwCAgUEZXJyXwIJOiBpbnYgYWxnARxfdmFsaWRhdGVXaXRoZHJhd2FsU2lnbmF0dXJlBQ93aXRoZHJhd2FsSGFzaF8Kc2lnbmF0dXJlXwd3ZWIzSWRfBGFsZ18EZXJyXwQGcmVzdWx0AwkAAAIFBGFsZ18FDkFMR19UWVBFX1dBVkVTBA5oYXNoV2l0aFByZWZpeAkAjBUBCQDLAQIFDFdBVkVTX1BSRUZJWAkAmwMBCQDYBAEFD3dpdGhkcmF3YWxIYXNoXwkA9AMDBQ5oYXNoV2l0aFByZWZpeAUKc2lnbmF0dXJlXwUHd2ViM0lkXwMJAAACBQRhbGdfBQxBTEdfVFlQRV9FVk0EDmhhc2hXaXRoUHJlZml4CQCMFQEJAMsBAgUURVZNX1NJR05BVFVSRV9QUkVGSVgFD3dpdGhkcmF3YWxIYXNoXwkAAAIJAMwBAgkAjBUBCQCEBwIFDmhhc2hXaXRoUHJlZml4BQpzaWduYXR1cmVfABQFB3dlYjNJZF8JAAIBCQCsAgIFBGVycl8CCTogaW52IGFsZwMJAQEhAQUGcmVzdWx0CQACAQUEZXJyXwYBHV92YWxpZGF0ZVdlYjNJZE1hdGNoZXNBZGRyZXNzBAd3ZWIzSWRfBWZyb21fBGFsZ18EZXJyXwQHYWRkcmVzcwMJAAACBQRhbGdfBQ5BTEdfVFlQRV9XQVZFUwkApQgBCQCnCAEFB3dlYjNJZF8DCQAAAgUEYWxnXwUMQUxHX1RZUEVfRVZNCQCsAgICAjB4CQDcBAEFB3dlYjNJZF8JAAIBCQCsAgIFBGVycl8CCTogaW52IGFsZwMJAQIhPQIFB2FkZHJlc3MFBWZyb21fCQACAQUEZXJyXwYQAWkBBGluaXQGCWV4ZWN1dG9yXwdwYXVzZXJfD2FjY291bnRTdG9yYWdlXwt3YXZlc1ZhdWx0XwpzZXF1ZW5jZXJfDXZhdWx0QWRhcHRlcl8EA2VycgMDAwMDAwMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARNfd2hlbk5vdEluaXRpYWxpemVkAAcJARBfd2hlbk11bHRpc2lnU2V0AAcJARBfdmFsaWRhdGVBZGRyZXNzAgUJZXhlY3V0b3JfAhZpbml0OiBpbnZhbGlkIGV4ZWN1dG9yBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQdwYXVzZXJfAhRpbml0OiBpbnZhbGlkIHBhdXNlcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUPYWNjb3VudFN0b3JhZ2VfAhxpbml0OiBpbnZhbGlkIGFjY291bnRTdG9yYWdlBwkBEF92YWxpZGF0ZUFkZHJlc3MCBQt3YXZlc1ZhdWx0XwIYaW5pdDogaW52YWxpZCB3YXZlc1ZhdWx0BwkBEF92YWxpZGF0ZUFkZHJlc3MCBQpzZXF1ZW5jZXJfAhdpbml0OiBpbnZhbGlkIHNlcXVlbmNlcgcJARBfdmFsaWRhdGVBZGRyZXNzAgUNdmF1bHRBZGFwdGVyXwIaaW5pdDogaW52YWxpZCB2YXVsdEFkYXB0ZXIHAwkAAAIFA2VycgUDZXJyCQCUCgIJAM4IAgkAzggCCQDOCAIJAM4IAgkAzggCCQDOCAIJAQlfc2F2ZUluaXQBBgkBDV9zYXZlRXhlY3V0b3IBCQERQGV4dHJOYXRpdmUoMTA2MikBBQlleGVjdXRvcl8JAQtfc2F2ZVBhdXNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB3BhdXNlcl8JARNfc2F2ZUFjY291bnRTdG9yYWdlAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUPYWNjb3VudFN0b3JhZ2VfCQEPX3NhdmVXYXZlc1ZhdWx0AQkBEUBleHRyTmF0aXZlKDEwNjIpAQULd2F2ZXNWYXVsdF8JAQ5fc2F2ZVNlcXVlbmNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCnNlcXVlbmNlcl8JARFfc2F2ZVZhdWx0QWRhcHRlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDXZhdWx0QWRhcHRlcl8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHZGVwb3NpdAYPY2FsbGVyQ29udHJhY3RfBWZyb21fA3RvXwhjaGFpbklkXwZhc3NldF8HYW1vdW50XwQHY2hhaW5JZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFCGNoYWluSWRfAhhkZXBvc2l0OiBjaGFpbklkIG5vdCBpbnQEBmFtb3VudAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCoAwEFB2Ftb3VudF8CF2RlcG9zaXQ6IGFtb3VudCBub3QgaW50BANlcnIDAwMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJAQxfY2hhaW5FeGlzdHMCBQdjaGFpbklkAhhkZXBvc2l0OiBpbnZhbGlkIGNoYWluSWQHCQEPX3ZhbGlkYXRlU3RyaW5nAgUFZnJvbV8CFWRlcG9zaXQ6IGludmFsaWQgZnJvbQcJAQ9fdmFsaWRhdGVTdHJpbmcCBQN0b18CE2RlcG9zaXQ6IGludmFsaWQgdG8HCQEUX2Fzc2V0Q3VycmVuY3lFeGlzdHMDBQdjaGFpbklkBQZhc3NldF8CFmRlcG9zaXQ6IGludmFsaWQgYXNzZXQHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIXZGVwb3NpdDogaW52YWxpZCBhbW91bnQHAwkAAAIFA2VycgUDZXJyBARlcnIxAwkAAAIJAQpfbG9hZENoYWluAQUHY2hhaW5JZAUFV0FWRVMJARNfdmFsaWRhdGVXYXZlc1ZhdWx0AggFAWkGY2FsbGVyAhxkZXBvc2l0OiBpbnZhbGlkIHdhdmVzIHZhdWx0AwkBEV92YWxpZGF0ZUV4ZWN1dG9yAggFAWkGY2FsbGVyAhlkZXBvc2l0OiBpbnZhbGlkIGV4ZWN1dG9yCQEXX3ZhbGlkYXRlQ2FsbGVyQ29udHJhY3QDBQdjaGFpbklkBQ9jYWxsZXJDb250cmFjdF8CIGRlcG9zaXQ6IGludmFsaWQgY2FsbGVyIGNvbnRyYWN0BwMJAAACBQRlcnIxBQRlcnIxBBBuZXdBc3NldFJlc2VydmVzCQC3AgIJARJfbG9hZEFzc2V0UmVzZXJ2ZXMCBQdjaGFpbklkBQZhc3NldF8FBmFtb3VudAQIY3VycmVuY3kJARJfbG9hZEFzc2V0Q3VycmVuY3kCBQdjaGFpbklkBQZhc3NldF8EE25ld0N1cnJlbmN5UmVzZXJ2ZXMJALcCAgkBFV9sb2FkQ3VycmVuY3lSZXNlcnZlcwEFCGN1cnJlbmN5BQZhbW91bnQECmludm9jYXRpb24JAPwHBAkBE19sb2FkQWNjb3VudFN0b3JhZ2UABQxGVU5DX0RFUE9TSVQJAMwIAgUDdG9fCQDMCAIFCGN1cnJlbmN5CQDMCAIFB2Ftb3VudF8FA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24JAJQKAgkAzggCCQESX3NhdmVBc3NldFJlc2VydmVzAwUHY2hhaW5JZAUGYXNzZXRfBRBuZXdBc3NldFJlc2VydmVzCQEVX3NhdmVDdXJyZW5jeVJlc2VydmVzAgUIY3VycmVuY3kFE25ld0N1cnJlbmN5UmVzZXJ2ZXMFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQERcmVxdWVzdFdpdGhkcmF3YWwHD2NhbGxlckNvbnRyYWN0XwVmcm9tXwN0b18MZnJvbUNoYWluSWRfCnRvQ2hhaW5JZF8GYXNzZXRfB2Ftb3VudF8EC2Zyb21DaGFpbklkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQUMZnJvbUNoYWluSWRfAiZyZXF1ZXN0V2l0aGRyYXdhbDogZnJvbUNoYWluSWQgbm90IGludAQJdG9DaGFpbklkCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQUKdG9DaGFpbklkXwIkcmVxdWVzdFdpdGhkcmF3YWw6IHRvQ2hhaW5JZCBub3QgaW50BAZhbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAqAMBBQdhbW91bnRfAiFyZXF1ZXN0V2l0aGRyYXdhbDogYW1vdW50IG5vdCBpbnQEA2VycgMDAwMDAwkBEF93aGVuSW5pdGlhbGl6ZWQACQEMX2NoYWluRXhpc3RzAgULZnJvbUNoYWluSWQCJnJlcXVlc3RXaXRoZHJhd2FsOiBpbnZhbGlkIGZyb21DaGFpbklkBwkBDF9jaGFpbkV4aXN0cwIFCXRvQ2hhaW5JZAIkcmVxdWVzdFdpdGhkcmF3YWw6IGludmFsaWQgdG9DaGFpbklkBwkBD192YWxpZGF0ZVN0cmluZwIFBWZyb21fAh9yZXF1ZXN0V2l0aGRyYXdhbDogaW52YWxpZCBmcm9tBwkBD192YWxpZGF0ZVN0cmluZwIFA3RvXwIdcmVxdWVzdFdpdGhkcmF3YWw6IGludmFsaWQgdG8HCQEUX2Fzc2V0Q3VycmVuY3lFeGlzdHMDBQl0b0NoYWluSWQFBmFzc2V0XwIgcmVxdWVzdFdpdGhkcmF3YWw6IGludmFsaWQgYXNzZXQHCQEPX3ZhbGlkYXRlQmlnSW50AwUGYW1vdW50BQtaRVJPX0JJR0lOVAIhcmVxdWVzdFdpdGhkcmF3YWw6IGludmFsaWQgYW1vdW50BwMJAAACBQNlcnIFA2VycgQEZXJyMQMJAAACCQEKX2xvYWRDaGFpbgEFC2Zyb21DaGFpbklkBQVXQVZFUwkBE192YWxpZGF0ZVdhdmVzVmF1bHQCCAUBaQZjYWxsZXICJnJlcXVlc3RXaXRoZHJhd2FsOiBpbnZhbGlkIHdhdmVzIHZhdWx0AwkBEV92YWxpZGF0ZUV4ZWN1dG9yAggFAWkGY2FsbGVyAiNyZXF1ZXN0V2l0aGRyYXdhbDogaW52YWxpZCBleGVjdXRvcgkBF192YWxpZGF0ZUNhbGxlckNvbnRyYWN0AwULZnJvbUNoYWluSWQFD2NhbGxlckNvbnRyYWN0XwIqcmVxdWVzdFdpdGhkcmF3YWw6IGludmFsaWQgY2FsbGVyIGNvbnRyYWN0BwMJAAACBQRlcnIxBQRlcnIxBAhjdXJyZW5jeQkBEl9sb2FkQXNzZXRDdXJyZW5jeQIFCXRvQ2hhaW5JZAUGYXNzZXRfBBBhdmFpbGFibGVCYWxhbmNlBAckbWF0Y2gwCQD8BwQJARNfbG9hZEFjY291bnRTdG9yYWdlAAUVRlVOQ19HRVRfVVNFUl9CQUxBTkNFCQDMCAIFBWZyb21fCQDMCAIFC1NQT1RfV0FMTEVUCQDMCAIFCGN1cnJlbmN5BQNuaWwFA25pbAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJAKcDAQUBYQkAAgECPHJlcXVlc3RXaXRoZHJhd2FsOiBjYW4ndCB0YWtlIGF2YWlsYWJsZSBiYWxhbmNlIGZyb20gc3RvcmFnZQMJAAACBRBhdmFpbGFibGVCYWxhbmNlBRBhdmFpbGFibGVCYWxhbmNlBA5sb2NrZWRSZXNlcnZlcwkBGF9sb2FkQXNzZXRSZXNlcnZlc0xvY2tlZAIFCXRvQ2hhaW5JZAUGYXNzZXRfBBJ1c2VyTG9ja2VkQ3VycmVuY3kJARdfbG9hZFVzZXJMb2NrZWRDdXJyZW5jeQIFCGN1cnJlbmN5BQVmcm9tXwQNJHQwMTk0MzcxOTg5MgMDCQDAAgIJALgCAgUQYXZhaWxhYmxlQmFsYW5jZQUSdXNlckxvY2tlZEN1cnJlbmN5BQZhbW91bnQJAMACAgkAuAICCQESX2xvYWRBc3NldFJlc2VydmVzAgUJdG9DaGFpbklkBQZhc3NldF8FDmxvY2tlZFJlc2VydmVzBQZhbW91bnQHCQCUCgIFFlJFUVVFU1RfU1RBVFVTX0NSRUFURUQJAM4IAgkBGF9zYXZlQXNzZXRSZXNlcnZlc0xvY2tlZAMFCXRvQ2hhaW5JZAUGYXNzZXRfCQC3AgIFDmxvY2tlZFJlc2VydmVzBQZhbW91bnQJARdfc2F2ZVVzZXJMb2NrZWRDdXJyZW5jeQMFCGN1cnJlbmN5BQVmcm9tXwkAtwICBQZhbW91bnQFEnVzZXJMb2NrZWRDdXJyZW5jeQkAlAoCBRdSRVFVRVNUX1NUQVRVU19SRUpFQ1RFRAUDbmlsBA1yZXF1ZXN0U3RhdHVzCAUNJHQwMTk0MzcxOTg5MgJfMQQPcmVzZXJ2ZXNBY3Rpb25zCAUNJHQwMTk0MzcxOTg5MgJfMgQVcmVxdWVzdFdpdGhkcmF3YWxTaXplCQEaX2xvYWRSZXF1ZXN0V2l0aGRyYXdhbFNpemUABBFyZXF1ZXN0V2l0aGRyYXdhbAkAmgoIBQVmcm9tXwUDdG9fBQl0b0NoYWluSWQFBmFzc2V0XwUGYW1vdW50BQZoZWlnaHQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAUNcmVxdWVzdFN0YXR1cwkAlAoCCQDOCAIJAM4IAgkBFl9zYXZlUmVxdWVzdFdpdGhkcmF3YWwCBRVyZXF1ZXN0V2l0aGRyYXdhbFNpemUFEXJlcXVlc3RXaXRoZHJhd2FsCQEaX3NhdmVSZXF1ZXN0V2l0aGRyYXdhbFNpemUBCQBkAgUVcmVxdWVzdFdpdGhkcmF3YWxTaXplAAEFD3Jlc2VydmVzQWN0aW9ucwUVcmVxdWVzdFdpdGhkcmF3YWxTaXplCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEWV4ZWN1dGVXaXRoZHJhd2FsAw9jYWxsZXJDb250cmFjdF8IY2hhaW5JZF8UcmVxdWVzdFdpdGhkcmF3YWxJZF8EB2NoYWluSWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAtgkBBQhjaGFpbklkXwIiZXhlY3V0ZVdpdGhkcmF3YWw6IGNoYWluSWQgbm90IGludAQTcmVxdWVzdFdpdGhkcmF3YWxJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFFHJlcXVlc3RXaXRoZHJhd2FsSWRfAi5leGVjdXRlV2l0aGRyYXdhbDogcmVxdWVzdFdpdGhkcmF3YWxJZCBub3QgaW50BBVyZXF1ZXN0V2l0aGRyYXdhbFNpemUJARpfbG9hZFJlcXVlc3RXaXRoZHJhd2FsU2l6ZQAEA2VycgMDCQEQX3doZW5Jbml0aWFsaXplZAAJAQxfY2hhaW5FeGlzdHMCBQdjaGFpbklkAiJleGVjdXRlV2l0aGRyYXdhbDogaW52YWxpZCBjaGFpbklkBwkBDF92YWxpZGF0ZUludAQFE3JlcXVlc3RXaXRoZHJhd2FsSWQAAAkAZQIFFXJlcXVlc3RXaXRoZHJhd2FsU2l6ZQABAi5leGVjdXRlV2l0aGRyYXdhbDogaW52YWxpZCByZXF1ZXN0V2l0aGRyYXdhbElkBwMJAAACBQNlcnIFA2VycgQEZXJyMQMJAAACCQEKX2xvYWRDaGFpbgEFB2NoYWluSWQFBVdBVkVTCQETX3ZhbGlkYXRlV2F2ZXNWYXVsdAIIBQFpBmNhbGxlcgImZXhlY3V0ZVdpdGhkcmF3YWw6IGludmFsaWQgd2F2ZXMgdmF1bHQDCQERX3ZhbGlkYXRlRXhlY3V0b3ICCAUBaQZjYWxsZXICI2V4ZWN1dGVXaXRoZHJhd2FsOiBpbnZhbGlkIGV4ZWN1dG9yCQEXX3ZhbGlkYXRlQ2FsbGVyQ29udHJhY3QDBQdjaGFpbklkBQ9jYWxsZXJDb250cmFjdF8CKmV4ZWN1dGVXaXRoZHJhd2FsOiBpbnZhbGlkIGNhbGxlciBjb250cmFjdAcDCQAAAgUEZXJyMQUEZXJyMQQHcmVxdWVzdAkBFl9sb2FkUmVxdWVzdFdpdGhkcmF3YWwBBRNyZXF1ZXN0V2l0aGRyYXdhbElkBAtyZXF1ZXN0RnJvbQgFB3JlcXVlc3QCXzEECXJlcXVlc3RUbwgFB3JlcXVlc3QCXzIEEHJlcXVlc3RUb0NoYWluSWQIBQdyZXF1ZXN0Al8zBAxyZXF1ZXN0QXNzZXQIBQdyZXF1ZXN0Al80BA1yZXF1ZXN0QW1vdW50CAUHcmVxdWVzdAJfNQQNcmVxdWVzdEhlaWdodAgFB3JlcXVlc3QCXzYEDXJlcXVlc3RTdGF0dXMIBQdyZXF1ZXN0Al84BBBuZXdBc3NldFJlc2VydmVzCQC4AgIJARJfbG9hZEFzc2V0UmVzZXJ2ZXMCBRByZXF1ZXN0VG9DaGFpbklkBQxyZXF1ZXN0QXNzZXQFDXJlcXVlc3RBbW91bnQEFm5ld0Fzc2V0UmVzZXJ2ZXNMb2NrZWQJALgCAgkBGF9sb2FkQXNzZXRSZXNlcnZlc0xvY2tlZAIFEHJlcXVlc3RUb0NoYWluSWQFDHJlcXVlc3RBc3NldAUNcmVxdWVzdEFtb3VudAQIY3VycmVuY3kJARJfbG9hZEFzc2V0Q3VycmVuY3kCBRByZXF1ZXN0VG9DaGFpbklkBQxyZXF1ZXN0QXNzZXQEE25ld0N1cnJlbmN5UmVzZXJ2ZXMJALgCAgkBFV9sb2FkQ3VycmVuY3lSZXNlcnZlcwEFCGN1cnJlbmN5BQ1yZXF1ZXN0QW1vdW50BBVuZXdVc2VyTG9ja2VkQ3VycmVuY3kJALgCAgkBF19sb2FkVXNlckxvY2tlZEN1cnJlbmN5AgUIY3VycmVuY3kFC3JlcXVlc3RGcm9tBQ1yZXF1ZXN0QW1vdW50BARlcnIyAwMDAwMJAQ9fdmFsaWRhdGVCaWdJbnQDBRBuZXdBc3NldFJlc2VydmVzBQtaRVJPX0JJR0lOVAIsZXhlY3V0ZVdpdGhkcmF3YWw6IG5lZ2F0aXZlIG5ld0Fzc2V0UmVzZXJ2ZXMJAQ9fdmFsaWRhdGVCaWdJbnQDBRZuZXdBc3NldFJlc2VydmVzTG9ja2VkBQtaRVJPX0JJR0lOVAIyZXhlY3V0ZVdpdGhkcmF3YWw6IG5lZ2F0aXZlIG5ld0Fzc2V0UmVzZXJ2ZXNMb2NrZWQHCQEPX3ZhbGlkYXRlQmlnSW50AwUTbmV3Q3VycmVuY3lSZXNlcnZlcwULWkVST19CSUdJTlQCL2V4ZWN1dGVXaXRoZHJhd2FsOiBuZWdhdGl2ZSBuZXdDdXJyZW5jeVJlc2VydmVzBwkBD192YWxpZGF0ZUJpZ0ludAMFFW5ld1VzZXJMb2NrZWRDdXJyZW5jeQULWkVST19CSUdJTlQCMWV4ZWN1dGVXaXRoZHJhd2FsOiBuZWdhdGl2ZSBuZXdVc2VyTG9ja2VkQ3VycmVuY3kHCQEMX3ZhbGlkYXRlSW50BAkAZQIFBmhlaWdodAUNcmVxdWVzdEhlaWdodAkBIF9sb2FkUmVxdWVzdFdpdGhkcmF3YWxCbG9ja0RlbGF5AAUHTUFYX0lOVAInZXhlY3V0ZVdpdGhkcmF3YWw6IHRvbyBlYXJseSB0byBleGVjdXRlBwkBEV9yZXF1ZXN0SXNDcmVhdGVkAgUNcmVxdWVzdFN0YXR1cwImZXhlY3V0ZVdpdGhkcmF3YWw6IHJlcXVlc3QgaXMgcmVzb2x2ZWQHAwkAAAIFBGVycjIFBGVycjIEEXN0b3JhZ2VJbnZvY2F0aW9uCQD8BwQJARNfbG9hZEFjY291bnRTdG9yYWdlAAUNRlVOQ19XSVRIRFJBVwkAzAgCBQtyZXF1ZXN0RnJvbQkAzAgCBQhjdXJyZW5jeQkAzAgCCQCmAwEFDXJlcXVlc3RBbW91bnQFA25pbAUDbmlsAwkAAAIFEXN0b3JhZ2VJbnZvY2F0aW9uBRFzdG9yYWdlSW52b2NhdGlvbgQSd2l0aGRyYXdJbnZvY2F0aW9uAwkAAAIJAQpfbG9hZENoYWluAQUQcmVxdWVzdFRvQ2hhaW5JZAUFV0FWRVMJAPwHBAkBD19sb2FkV2F2ZXNWYXVsdAAFDUZVTkNfV0lUSERSQVcJAMwIAgUJcmVxdWVzdFRvCQDMCAIFDHJlcXVlc3RBc3NldAkAzAgCCQCmAwEFDXJlcXVlc3RBbW91bnQFA25pbAUDbmlsCQD8BwQJARFfbG9hZFZhdWx0QWRhcHRlcgAFDUZVTkNfV0lUSERSQVcJAMwIAgUQcmVxdWVzdFRvQ2hhaW5JZAkAzAgCBQxyZXF1ZXN0QXNzZXQJAMwIAgkApgMBBQ1yZXF1ZXN0QW1vdW50CQDMCAIFCXJlcXVlc3RUbwUDbmlsBQNuaWwDCQAAAgUSd2l0aGRyYXdJbnZvY2F0aW9uBRJ3aXRoZHJhd0ludm9jYXRpb24EDnJlcXVlc3RVcGRhdGVkCQCaCggIBQdyZXF1ZXN0Al8xCAUHcmVxdWVzdAJfMggFB3JlcXVlc3QCXzMIBQdyZXF1ZXN0Al80CAUHcmVxdWVzdAJfNQgFB3JlcXVlc3QCXzYIBQdyZXF1ZXN0Al83BRNSRVFVRVNUX1NUQVRVU19ET05FCQCUCgIJAM4IAgkAzggCCQDOCAIJAM4IAgkBEl9zYXZlQXNzZXRSZXNlcnZlcwMFEHJlcXVlc3RUb0NoYWluSWQFDHJlcXVlc3RBc3NldAUQbmV3QXNzZXRSZXNlcnZlcwkBGF9zYXZlQXNzZXRSZXNlcnZlc0xvY2tlZAMFEHJlcXVlc3RUb0NoYWluSWQFDHJlcXVlc3RBc3NldAUWbmV3QXNzZXRSZXNlcnZlc0xvY2tlZAkBFV9zYXZlQ3VycmVuY3lSZXNlcnZlcwIFCGN1cnJlbmN5BRNuZXdDdXJyZW5jeVJlc2VydmVzCQEXX3NhdmVVc2VyTG9ja2VkQ3VycmVuY3kDBQhjdXJyZW5jeQULcmVxdWVzdEZyb20FFW5ld1VzZXJMb2NrZWRDdXJyZW5jeQkBFl9zYXZlUmVxdWVzdFdpdGhkcmF3YWwCBRNyZXF1ZXN0V2l0aGRyYXdhbElkBQ5yZXF1ZXN0VXBkYXRlZAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARByZWplY3RXaXRoZHJhd2FsARRyZXF1ZXN0V2l0aGRyYXdhbElkXwQTcmVxdWVzdFdpdGhkcmF3YWxJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFFHJlcXVlc3RXaXRoZHJhd2FsSWRfAi1yZWplY3RXaXRoZHJhd2FsOiByZXF1ZXN0V2l0aGRyYXdhbElkIG5vdCBpbnQEFXJlcXVlc3RXaXRoZHJhd2FsU2l6ZQkBGl9sb2FkUmVxdWVzdFdpdGhkcmF3YWxTaXplAAQDZXJyAwMJARBfd2hlbkluaXRpYWxpemVkAAkBEl92YWxpZGF0ZVNlcXVlbmNlcgIIBQFpBmNhbGxlcgIjcmVqZWN0V2l0aGRyYXdhbDogaW52YWxpZCBzZXF1ZW5jZXIHCQEMX3ZhbGlkYXRlSW50BAUTcmVxdWVzdFdpdGhkcmF3YWxJZAAACQBlAgUVcmVxdWVzdFdpdGhkcmF3YWxTaXplAAECLXJlamVjdFdpdGhkcmF3YWw6IGludmFsaWQgcmVxdWVzdFdpdGhkcmF3YWxJZAcDCQAAAgUDZXJyBQNlcnIEB3JlcXVlc3QJARZfbG9hZFJlcXVlc3RXaXRoZHJhd2FsAQUTcmVxdWVzdFdpdGhkcmF3YWxJZAQLcmVxdWVzdEZyb20IBQdyZXF1ZXN0Al8xBAlyZXF1ZXN0VG8IBQdyZXF1ZXN0Al8yBBByZXF1ZXN0VG9DaGFpbklkCAUHcmVxdWVzdAJfMwQMcmVxdWVzdEFzc2V0CAUHcmVxdWVzdAJfNAQNcmVxdWVzdEFtb3VudAgFB3JlcXVlc3QCXzUEDXJlcXVlc3RIZWlnaHQIBQdyZXF1ZXN0Al82BA1yZXF1ZXN0U3RhdHVzCAUHcmVxdWVzdAJfOAQIY3VycmVuY3kJARJfbG9hZEFzc2V0Q3VycmVuY3kCBRByZXF1ZXN0VG9DaGFpbklkBQxyZXF1ZXN0QXNzZXQEFm5ld0Fzc2V0UmVzZXJ2ZXNMb2NrZWQJALgCAgkBGF9sb2FkQXNzZXRSZXNlcnZlc0xvY2tlZAIFEHJlcXVlc3RUb0NoYWluSWQFDHJlcXVlc3RBc3NldAUNcmVxdWVzdEFtb3VudAQVbmV3VXNlckxvY2tlZEN1cnJlbmN5CQC4AgIJARdfbG9hZFVzZXJMb2NrZWRDdXJyZW5jeQIFCGN1cnJlbmN5BQtyZXF1ZXN0RnJvbQUNcmVxdWVzdEFtb3VudAQEZXJyMQMDCQEPX3ZhbGlkYXRlQmlnSW50AwUWbmV3QXNzZXRSZXNlcnZlc0xvY2tlZAULWkVST19CSUdJTlQCMXJlamVjdFdpdGhkcmF3YWw6IG5lZ2F0aXZlIG5ld0Fzc2V0UmVzZXJ2ZXNMb2NrZWQJAQ9fdmFsaWRhdGVCaWdJbnQDBRVuZXdVc2VyTG9ja2VkQ3VycmVuY3kFC1pFUk9fQklHSU5UAjByZWplY3RXaXRoZHJhd2FsOiBuZWdhdGl2ZSBuZXdVc2VyTG9ja2VkQ3VycmVuY3kHCQERX3JlcXVlc3RJc0NyZWF0ZWQCBQ1yZXF1ZXN0U3RhdHVzAiVyZWplY3RXaXRoZHJhd2FsOiByZXF1ZXN0IGlzIHJlc29sdmVkBwMJAAACBQRlcnIxBQRlcnIxBBBhdmFpbGFibGVCYWxhbmNlBAckbWF0Y2gwCQD8BwQJARNfbG9hZEFjY291bnRTdG9yYWdlAAUVRlVOQ19HRVRfVVNFUl9CQUxBTkNFCQDMCAIFC3JlcXVlc3RGcm9tCQDMCAIFC1NQT1RfV0FMTEVUCQDMCAIFCGN1cnJlbmN5BQNuaWwFA25pbAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAWEFByRtYXRjaDAJAKcDAQUBYQkAAgECO3JlamVjdFdpdGhkcmF3YWw6IGNhbid0IHRha2UgYXZhaWxhYmxlIGJhbGFuY2UgZnJvbSBzdG9yYWdlAwkAAAIFEGF2YWlsYWJsZUJhbGFuY2UFEGF2YWlsYWJsZUJhbGFuY2UDCQC/AgIFDXJlcXVlc3RBbW91bnQFEGF2YWlsYWJsZUJhbGFuY2UEDnJlcXVlc3RVcGRhdGVkCQCaCggIBQdyZXF1ZXN0Al8xCAUHcmVxdWVzdAJfMggFB3JlcXVlc3QCXzMIBQdyZXF1ZXN0Al80CAUHcmVxdWVzdAJfNQgFB3JlcXVlc3QCXzYIBQdyZXF1ZXN0Al83BRdSRVFVRVNUX1NUQVRVU19SRUpFQ1RFRAkAlAoCCQDOCAIJAM4IAgkBGF9zYXZlQXNzZXRSZXNlcnZlc0xvY2tlZAMFEHJlcXVlc3RUb0NoYWluSWQFDHJlcXVlc3RBc3NldAUWbmV3QXNzZXRSZXNlcnZlc0xvY2tlZAkBF19zYXZlVXNlckxvY2tlZEN1cnJlbmN5AwUIY3VycmVuY3kFC3JlcXVlc3RGcm9tBRVuZXdVc2VyTG9ja2VkQ3VycmVuY3kJARZfc2F2ZVJlcXVlc3RXaXRoZHJhd2FsAgUTcmVxdWVzdFdpdGhkcmF3YWxJZAUOcmVxdWVzdFVwZGF0ZWQGCQCUCgIFA25pbAcJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEId2l0aGRyYXcKBWZyb21fA3RvXwp0b0NoYWluSWRfBmFzc2V0XwdhbW91bnRfC3JlbGF5ZXJGZWVfCnRpbWVzdGFtcF8Hd2ViM0lkXwRhbGdfCnNpZ25hdHVyZV8ECXRvQ2hhaW5JZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFCnRvQ2hhaW5JZF8CG3dpdGhkcmF3OiB0b0NoYWluSWQgbm90IGludAQGYW1vdW50CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQUHYW1vdW50XwIYd2l0aGRyYXc6IGFtb3VudCBub3QgaW50BApyZWxheWVyRmVlCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKgDAQULcmVsYXllckZlZV8CHHdpdGhkcmF3OiByZWxheWVyRmVlIG5vdCBpbnQECXRpbWVzdGFtcAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFCnRpbWVzdGFtcF8CG3dpdGhkcmF3OiB0aW1lc3RhbXAgbm90IGludAQDYWxnCQETdmFsdWVPckVycm9yTWVzc2FnZQIJALYJAQUEYWxnXwIVd2l0aGRyYXc6IGFsZyBub3QgaW50BAZ3ZWIzSWQJANkEAQUHd2ViM0lkXwQJc2lnbmF0dXJlCQDZBAEFCnNpZ25hdHVyZV8EA2VycgMDAwMDAwMDAwMDCQEQX3doZW5Jbml0aWFsaXplZAAJARJfdmFsaWRhdGVTZXF1ZW5jZXICCAUBaQZjYWxsZXICG3dpdGhkcmF3OiBpbnZhbGlkIHNlcXVlbmNlcgcJAQ9fdmFsaWRhdGVTdHJpbmcCBQVmcm9tXwIWd2l0aGRyYXc6IGludmFsaWQgZnJvbQcJAQ9fdmFsaWRhdGVTdHJpbmcCBQN0b18CFHdpdGhkcmF3OiBpbnZhbGlkIHRvBwkBDF9jaGFpbkV4aXN0cwIFCXRvQ2hhaW5JZAIbd2l0aGRyYXc6IGludmFsaWQgdG9DaGFpbklkBwkBFF9hc3NldEN1cnJlbmN5RXhpc3RzAwUJdG9DaGFpbklkBQZhc3NldF8CF3dpdGhkcmF3OiBpbnZhbGlkIGFzc2V0BwkBD192YWxpZGF0ZUJpZ0ludAMFBmFtb3VudAULWkVST19CSUdJTlQCGHdpdGhkcmF3OiBpbnZhbGlkIGFtb3VudAcJARFfdmFsaWRhdGVCaWdJbnRfMgQFCnJlbGF5ZXJGZWUFC1pFUk9fQklHSU5UBQZhbW91bnQCHHdpdGhkcmF3OiBpbnZhbGlkIHJlbGF5ZXJGZWUHCQEMX3ZhbGlkYXRlSW50BAkAZAIFCXRpbWVzdGFtcAUHT05FX0RBWQgFCWxhc3RCbG9jawl0aW1lc3RhbXAFB01BWF9JTlQCG3dpdGhkcmF3OiBpbnZhbGlkIHRpbWVzdGFtcAcJAQ9fdmFsaWRhdGVXZWIzSWQDBQZ3ZWIzSWQFA2FsZwIUd2l0aGRyYXc6IGludiB3ZWIzSWQHCQEYX3ZhbGlkYXRlU2lnbmF0dXJlRm9ybWF0AwUJc2lnbmF0dXJlBQNhbGcCGHdpdGhkcmF3OiBpbnYgc2lnIGZvcm1hdAcJAR1fdmFsaWRhdGVXZWIzSWRNYXRjaGVzQWRkcmVzcwQFBndlYjNJZAUFZnJvbV8FA2FsZwIZd2l0aGRyYXc6IHdlYjNJZCBtaXNtYXRjaAcDCQAAAgUDZXJyBQNlcnIED3dpdGhkcmF3YWxCeXRlcwkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAJoDAQkAsQIBBQVmcm9tXwkAmwMBBQVmcm9tXwkAmgMBCQCxAgEFA3RvXwkAmwMBBQN0b18JAJoDAQUJdG9DaGFpbklkCQCaAwEJALECAQUGYXNzZXRfCQCbAwEFBmFzc2V0XwkAnQMBBQZhbW91bnQJAJ0DAQUKcmVsYXllckZlZQkAmgMBBQl0aW1lc3RhbXAFBndlYjNJZAkAmgMBBQNhbGcEDndpdGhkcmF3YWxIYXNoCQCMFQEFD3dpdGhkcmF3YWxCeXRlcwQIY3VycmVuY3kJARJfbG9hZEFzc2V0Q3VycmVuY3kCBQl0b0NoYWluSWQFBmFzc2V0XwQQYXZhaWxhYmxlQmFsYW5jZQQHJG1hdGNoMAkA/AcECQETX2xvYWRBY2NvdW50U3RvcmFnZQAFFUZVTkNfR0VUX1VTRVJfQkFMQU5DRQkAzAgCBQVmcm9tXwkAzAgCBQtTUE9UX1dBTExFVAkAzAgCBQhjdXJyZW5jeQUDbmlsBQNuaWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQCnAwEFAWEJAAIBAjN3aXRoZHJhdzogY2FuJ3QgdGFrZSBhdmFpbGFibGUgYmFsYW5jZSBmcm9tIHN0b3JhZ2UDCQAAAgUQYXZhaWxhYmxlQmFsYW5jZQUQYXZhaWxhYmxlQmFsYW5jZQQNYXNzZXRSZXNlcnZlcwkBEl9sb2FkQXNzZXRSZXNlcnZlcwIFCXRvQ2hhaW5JZAUGYXNzZXRfBA5sb2NrZWRSZXNlcnZlcwkBGF9sb2FkQXNzZXRSZXNlcnZlc0xvY2tlZAIFCXRvQ2hhaW5JZAUGYXNzZXRfBAxhbW91bnRUb1NlbmQJALgCAgUGYW1vdW50BQpyZWxheWVyRmVlBA9hbW91bnRUb1NlbmRTdHIJAKYDAQUMYW1vdW50VG9TZW5kBARlcnIxAwMDCQEcX3ZhbGlkYXRlV2l0aGRyYXdhbFNpZ25hdHVyZQUFDndpdGhkcmF3YWxIYXNoBQlzaWduYXR1cmUFBndlYjNJZAUDYWxnAhV3aXRoZHJhdzogaW52YWxpZCBzaWcJARxfY2hlY2tXaXRoZHJhd2FsSGFzaE5vdEV4aXN0AgUOd2l0aGRyYXdhbEhhc2gCGndpdGhkcmF3OiBhbHJlYWR5IGV4ZWN1dGVkBwkBD192YWxpZGF0ZUJpZ0ludAMFEGF2YWlsYWJsZUJhbGFuY2UFDGFtb3VudFRvU2VuZAIed2l0aGRyYXc6IGluc3VmZmljaWVudCBiYWxhbmNlBwkBD192YWxpZGF0ZUJpZ0ludAMJALgCAgUNYXNzZXRSZXNlcnZlcwUObG9ja2VkUmVzZXJ2ZXMFDGFtb3VudFRvU2VuZAIfd2l0aGRyYXc6IGluc3VmZmljaWVudCByZXNlcnZlcwcDCQAAAgUEZXJyMQUEZXJyMQQQbmV3QXNzZXRSZXNlcnZlcwkAuAICBQ1hc3NldFJlc2VydmVzBQxhbW91bnRUb1NlbmQEE25ld0N1cnJlbmN5UmVzZXJ2ZXMJALgCAgkBFV9sb2FkQ3VycmVuY3lSZXNlcnZlcwEFCGN1cnJlbmN5BQxhbW91bnRUb1NlbmQEBGVycjIDCQEPX3ZhbGlkYXRlQmlnSW50AwUQbmV3QXNzZXRSZXNlcnZlcwULWkVST19CSUdJTlQCI3dpdGhkcmF3OiBuZWdhdGl2ZSBuZXdBc3NldFJlc2VydmVzCQEPX3ZhbGlkYXRlQmlnSW50AwUTbmV3Q3VycmVuY3lSZXNlcnZlcwULWkVST19CSUdJTlQCJndpdGhkcmF3OiBuZWdhdGl2ZSBuZXdDdXJyZW5jeVJlc2VydmVzBwMJAAACBQRlcnIyBQRlcnIyBBJzdG9yYWdlSW52b2NhdGlvbjEJAPwHBAkBE19sb2FkQWNjb3VudFN0b3JhZ2UABQ1GVU5DX1dJVEhEUkFXCQDMCAIFBWZyb21fCQDMCAIFCGN1cnJlbmN5CQDMCAIFB2Ftb3VudF8FA25pbAUDbmlsAwkAAAIFEnN0b3JhZ2VJbnZvY2F0aW9uMQUSc3RvcmFnZUludm9jYXRpb24xBBJzdG9yYWdlSW52b2NhdGlvbjIJAPwHBAkBE19sb2FkQWNjb3VudFN0b3JhZ2UABQxGVU5DX0RFUE9TSVQJAMwIAgkBGF9sb2FkUmVsYXllckZlZVJlY2lwaWVudAAJAMwIAgUIY3VycmVuY3kJAMwIAgULcmVsYXllckZlZV8FA25pbAUDbmlsAwkAAAIFEnN0b3JhZ2VJbnZvY2F0aW9uMgUSc3RvcmFnZUludm9jYXRpb24yBBJ3aXRoZHJhd0ludm9jYXRpb24DCQAAAgkBCl9sb2FkQ2hhaW4BBQl0b0NoYWluSWQFBVdBVkVTCQD8BwQJAQ9fbG9hZFdhdmVzVmF1bHQABQ1GVU5DX1dJVEhEUkFXCQDMCAIFA3RvXwkAzAgCBQZhc3NldF8JAMwIAgUPYW1vdW50VG9TZW5kU3RyBQNuaWwFA25pbAkA/AcECQERX2xvYWRWYXVsdEFkYXB0ZXIABQ1GVU5DX1dJVEhEUkFXCQDMCAIFCXRvQ2hhaW5JZAkAzAgCBQZhc3NldF8JAMwIAgUPYW1vdW50VG9TZW5kU3RyCQDMCAIFA3RvXwkAzAgCBQtyZWxheWVyRmVlXwUDbmlsBQNuaWwDCQAAAgUSd2l0aGRyYXdJbnZvY2F0aW9uBRJ3aXRoZHJhd0ludm9jYXRpb24JAJQKAgkAzggCCQDOCAIJARJfc2F2ZUFzc2V0UmVzZXJ2ZXMDBQl0b0NoYWluSWQFBmFzc2V0XwUQbmV3QXNzZXRSZXNlcnZlcwkBFV9zYXZlQ3VycmVuY3lSZXNlcnZlcwIFCGN1cnJlbmN5BRNuZXdDdXJyZW5jeVJlc2VydmVzCQETX3NhdmVXaXRoZHJhd2FsSGFzaAIFDndpdGhkcmF3YWxIYXNoCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEUZGVwb3NpdFN0YWtpbmdSZXdhcmQED2NhbGxlckNvbnRyYWN0XwhjaGFpbklkXwZhc3NldF8HYW1vdW50XwQHY2hhaW5JZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQC2CQEFCGNoYWluSWRfAiVkZXBvc2l0U3Rha2luZ1Jld2FyZDogY2hhaW5JZCBub3QgaW50BAZhbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAqAMBBQdhbW91bnRfAiRkZXBvc2l0U3Rha2luZ1Jld2FyZDogYW1vdW50IG5vdCBpbnQEA2VycgMDAwMJARBfd2hlbkluaXRpYWxpemVkAAkBDl93aGVuTm90UGF1c2VkAAcJAQxfY2hhaW5FeGlzdHMCBQdjaGFpbklkAiVkZXBvc2l0U3Rha2luZ1Jld2FyZDogaW52YWxpZCBjaGFpbklkBwkBFF9hc3NldEN1cnJlbmN5RXhpc3RzAwUHY2hhaW5JZAUGYXNzZXRfAiNkZXBvc2l0U3Rha2luZ1Jld2FyZDogaW52YWxpZCBhc3NldAcJAQ9fdmFsaWRhdGVCaWdJbnQDBQZhbW91bnQFC1pFUk9fQklHSU5UAiRkZXBvc2l0U3Rha2luZ1Jld2FyZDogaW52YWxpZCBhbW91bnQHAwkAAAIFA2VycgUDZXJyBARlcnIxAwkAAAIJAQpfbG9hZENoYWluAQUHY2hhaW5JZAUFV0FWRVMJARNfdmFsaWRhdGVXYXZlc1ZhdWx0AggFAWkGY2FsbGVyAilkZXBvc2l0U3Rha2luZ1Jld2FyZDogaW52YWxpZCB3YXZlcyB2YXVsdAMJARFfdmFsaWRhdGVFeGVjdXRvcgIIBQFpBmNhbGxlcgImZGVwb3NpdFN0YWtpbmdSZXdhcmQ6IGludmFsaWQgZXhlY3V0b3IJARdfdmFsaWRhdGVDYWxsZXJDb250cmFjdAMFB2NoYWluSWQFD2NhbGxlckNvbnRyYWN0XwItZGVwb3NpdFN0YWtpbmdSZXdhcmQ6IGludmFsaWQgY2FsbGVyIGNvbnRyYWN0BwMJAAACBQRlcnIxBQRlcnIxBBBuZXdBc3NldFJlc2VydmVzCQC3AgIJARJfbG9hZEFzc2V0UmVzZXJ2ZXMCBQdjaGFpbklkBQZhc3NldF8FBmFtb3VudAQIY3VycmVuY3kJARJfbG9hZEFzc2V0Q3VycmVuY3kCBQdjaGFpbklkBQZhc3NldF8EE25ld0N1cnJlbmN5UmVzZXJ2ZXMJALcCAgkBFV9sb2FkQ3VycmVuY3lSZXNlcnZlcwEFCGN1cnJlbmN5BQZhbW91bnQECmludm9jYXRpb24JAPwHBAkBE19sb2FkQWNjb3VudFN0b3JhZ2UABRtGVU5DX0RFUE9TSVRfU1RBS0lOR19SRVdBUkQJAMwIAgkBFl9sb2FkUmV3YXJkRGlzdHJpYnV0b3IACQDMCAIFCGN1cnJlbmN5CQDMCAIFB2Ftb3VudF8FA25pbAUDbmlsAwkAAAIFCmludm9jYXRpb24FCmludm9jYXRpb24JAJQKAgkAzggCCQESX3NhdmVBc3NldFJlc2VydmVzAwUHY2hhaW5JZAUGYXNzZXRfBRBuZXdBc3NldFJlc2VydmVzCQEVX3NhdmVDdXJyZW5jeVJlc2VydmVzAgUIY3VycmVuY3kFE25ld0N1cnJlbmN5UmVzZXJ2ZXMFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIYWRkQ2hhaW4DCGNoYWluSWRfBW5hbWVfD2NhbGxlckNvbnRyYWN0XwQDZXJyAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBDF92YWxpZGF0ZUludAQFCGNoYWluSWRfAAAFB01BWF9JTlQCGWFkZENoYWluOiBpbnZhbGlkIGNoYWluSWQHCQEPX3ZhbGlkYXRlU3RyaW5nAgUFbmFtZV8CFmFkZENoYWluOiBpbnZhbGlkIG5hbWUHCQEPX3ZhbGlkYXRlU3RyaW5nAgUPY2FsbGVyQ29udHJhY3RfAiBhZGRDaGFpbjogaW52YWxpZCBjYWxsZXJDb250cmFjdAcJAQ5fY2hhaW5Ob3RFeGlzdAIFCGNoYWluSWRfAhhhZGRDaGFpbjogYWxyZWFkeSBleGlzdHMHAwkAAAIFA2VycgUDZXJyCQCUCgIJAM4IAgkBCl9zYXZlQ2hhaW4CBQhjaGFpbklkXwUFbmFtZV8JARNfc2F2ZUNhbGxlckNvbnRyYWN0AgUIY2hhaW5JZF8FD2NhbGxlckNvbnRyYWN0XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQhhZGRBc3NldAMIY2hhaW5JZF8GYXNzZXRfCWN1cnJlbmN5XwQDZXJyAwMDAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBDF9jaGFpbkV4aXN0cwIFCGNoYWluSWRfAhlhZGRBc3NldDogaW52YWxpZCBjaGFpbklkBwkBD192YWxpZGF0ZVN0cmluZwIFBmFzc2V0XwIXYWRkQXNzZXQ6IGludmFsaWQgYXNzZXQHCQEPX3ZhbGlkYXRlU3RyaW5nAgUJY3VycmVuY3lfAhphZGRBc3NldDogaW52YWxpZCBjdXJyZW5jeQcJARZfYXNzZXRDdXJyZW5jeU5vdEV4aXN0AwUIY2hhaW5JZF8FBmFzc2V0XwIYYWRkQXNzZXQ6IGFscmVhZHkgZXhpc3RzBwMJAAACBQNlcnIFA2VycgkAlAoCCQESX3NhdmVBc3NldEN1cnJlbmN5AwUIY2hhaW5JZF8FBmFzc2V0XwUJY3VycmVuY3lfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBHnNldFJlcXVlc3RXaXRoZHJhd2FsQmxvY2tEZWxheQEGZGVsYXlfBANlcnIDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEMX3ZhbGlkYXRlSW50BAUGZGVsYXlfAAAFB01BWF9JTlQCLXNldFJlcXVlc3RXaXRoZHJhd2FsQmxvY2tEZWxheTogaW52YWxpZCBkZWxheQcDCQAAAgUDZXJyBQNlcnIJAJQKAgkBIF9zYXZlUmVxdWVzdFdpdGhkcmF3YWxCbG9ja0RlbGF5AQUGZGVsYXlfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBF3VwZGF0ZVJld2FyZERpc3RyaWJ1dG9yARJyZXdhcmREaXN0cmlidXRvcl8EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ9fdmFsaWRhdGVTdHJpbmcCBRJyZXdhcmREaXN0cmlidXRvcl8CMnVwZGF0ZVJld2FyZERpc3RyaWJ1dG9yOiBpbnZhbGlkIHJld2FyZERpc3RyaWJ1dG9yBwMJAAACBQNlcnIFA2VycgkAlAoCCQEWX3NhdmVSZXdhcmREaXN0cmlidXRvcgEFEnJld2FyZERpc3RyaWJ1dG9yXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARl1cGRhdGVSZWxheWVyRmVlUmVjaXBpZW50ARRyZWxheWVyRmVlUmVjaXBpZW50XwQDZXJyAwMJARFfb25seVRoaXNDb250cmFjdAEIBQFpBmNhbGxlcgkBEF93aGVuSW5pdGlhbGl6ZWQABwkBD192YWxpZGF0ZVN0cmluZwIFFHJlbGF5ZXJGZWVSZWNpcGllbnRfAjZ1cGRhdGVSZWxheWVyRmVlUmVjaXBpZW50OiBpbnZhbGlkIHJlbGF5ZXJGZWVSZWNpcGllbnQHAwkAAAIFA2VycgUDZXJyCQCUCgIJARhfc2F2ZVJlbGF5ZXJGZWVSZWNpcGllbnQBBRRyZWxheWVyRmVlUmVjaXBpZW50XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQVwYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQ5fd2hlbk5vdFBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQYFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHdW5wYXVzZQAEA2VycgMDCQELX29ubHlQYXVzZXIBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJAQtfd2hlblBhdXNlZAAHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQpfc2F2ZVBhdXNlAQcFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEMdXBkYXRlUGF1c2VyAQdwYXVzZXJfBANlcnIDAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3doZW5Jbml0aWFsaXplZAAHCQEQX3ZhbGlkYXRlQWRkcmVzcwIFB3BhdXNlcl8CHHVwZGF0ZVBhdXNlcjogaW52YWxpZCBwYXVzZXIHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQtfc2F2ZVBhdXNlcgEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFB3BhdXNlcl8FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQELc2V0TXVsdGlzaWcBCW11bHRpc2lnXwQDZXJyAwkBEV9vbmx5VGhpc0NvbnRyYWN0AQgFAWkGY2FsbGVyCQEQX3ZhbGlkYXRlQWRkcmVzcwIFCW11bHRpc2lnXwIdc2V0TXVsdGlzaWc6IGludmFsaWQgbXVsdGlzaWcHAwkAAAIFA2VycgUDZXJyCQCUCgIJAQ1fc2F2ZU11bHRpc2lnAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUJbXVsdGlzaWdfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAQHJG1hdGNoMAkAoggBBQxLRVlfTVVMVElTSUcDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAhtdWx0aXNpZwUHJG1hdGNoMAkBC3ZhbHVlT3JFbHNlAgkAmwgCCQERQGV4dHJOYXRpdmUoMTA2MikBBQhtdWx0aXNpZwkAuQkCCQDMCAIFCktFWV9TVEFUVVMJAMwIAgkApQgBBQR0aGlzCQDMCAIJANgEAQgFAnR4AmlkBQNuaWwFCVNFUEFSQVRPUgcJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXl0QOf/", "height": 3407157, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HfrtsyoqcdEVaFxU5r5WYqxKStbNaMKKcXtUkx3P5Yxf Next: 74rf9Vdqi9f8SHdP9ipAKhpd68m8VwbfeMKCcNExBi45 Diff:
OldNewDifferences
8181
8282 let N = 2
8383
84-let O = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
84+let O = base58'7YXq4t'
8585
86-func P (Q,R) = {
87- let S = addressFromString(Q)
88- if ($isInstanceOf(S, "Address"))
86+let P = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
87+
88+func Q (R,S) = {
89+ let T = addressFromString(R)
90+ if ($isInstanceOf(T, "Address"))
8991 then {
90- let T = S
92+ let U = T
9193 true
9294 }
93- else throw(R)
95+ else throw(S)
9496 }
9597
9698
97-func U (V,W,X,R) = if (if ((W > V))
99+func V (W,X,Y,S) = if (if ((X > W))
98100 then true
99- else (V > X))
100- then throw(R)
101+ else (W > Y))
102+ then throw(S)
101103 else true
102104
103105
104-func Y (V,W,R) = if ((W > V))
105- then throw(R)
106+func Z (W,X,S) = if ((X > W))
107+ then throw(S)
106108 else true
107109
108110
109-func Z (V,W,X,R) = if (if ((W > V))
111+func aa (W,X,Y,S) = if (if ((X > W))
110112 then true
111- else (V > X))
112- then throw(R)
113+ else (W > Y))
114+ then throw(S)
113115 else true
114116
115117
116-func aa (V,R) = if (if ((0 >= size(V)))
118+func ab (W,S) = if (if ((0 >= size(W)))
117119 then true
118- else contains(V, a))
119- then throw(R)
120+ else contains(W, a))
121+ then throw(S)
120122 else true
121123
122124
123-func ab (ac,ad,R) = if ((ac != ad))
124- then throw(R)
125+func ac (ad,ae,S) = if ((ad != ae))
126+ then throw(S)
125127 else true
126128
127129
128-func ae () = {
129- let S = getBoolean(d)
130- if ($isInstanceOf(S, "Boolean"))
130+func af () = {
131+ let T = getBoolean(d)
132+ if ($isInstanceOf(T, "Boolean"))
131133 then {
132- let T = S
133- T
134+ let U = T
135+ U
134136 }
135137 else false
136138 }
137139
138140
139-func af (ag) = [BooleanEntry(d, ag)]
141+func ag (ah) = [BooleanEntry(d, ah)]
140142
141143
142-func ah () = {
143- let S = getBoolean(e)
144- if ($isInstanceOf(S, "Boolean"))
144+func ai () = {
145+ let T = getBoolean(e)
146+ if ($isInstanceOf(T, "Boolean"))
145147 then {
146- let T = S
147- T
148+ let U = T
149+ U
148150 }
149151 else false
150152 }
151153
152154
153-func ai (aj) = [BooleanEntry(e, aj)]
155+func aj (ak) = [BooleanEntry(e, ak)]
154156
155157
156-func ak () = {
157- let S = getString(f)
158- if ($isInstanceOf(S, "String"))
158+func al () = {
159+ let T = getString(f)
160+ if ($isInstanceOf(T, "String"))
159161 then {
160- let T = S
161- addressFromStringValue(T)
162+ let U = T
163+ addressFromStringValue(U)
162164 }
163165 else Address(base58'')
164166 }
165167
166168
167-func al (am) = [StringEntry(f, toString(am))]
169+func am (an) = [StringEntry(f, toString(an))]
168170
169171
170-func an () = {
171- let S = getString(b)
172- if ($isInstanceOf(S, "String"))
172+func ao () = {
173+ let T = getString(b)
174+ if ($isInstanceOf(T, "String"))
173175 then {
174- let T = S
175- addressFromStringValue(T)
176+ let U = T
177+ addressFromStringValue(U)
176178 }
177179 else Address(base58'')
178180 }
179181
180182
181-func ao (ap) = [StringEntry(b, toString(ap))]
183+func ap (aq) = [StringEntry(b, toString(aq))]
182184
183185
184-func aq (ar) = {
185- let S = getString(makeString([h, toString(ar)], a))
186- if ($isInstanceOf(S, "String"))
186+func ar (as) = {
187+ let T = getString(makeString([h, toString(as)], a))
188+ if ($isInstanceOf(T, "String"))
187189 then {
188- let T = S
189- T
190+ let U = T
191+ U
190192 }
191193 else ""
192194 }
193195
194196
195-func as (ar,at) = [StringEntry(makeString([h, toString(ar)], a), at)]
197+func at (as,au) = [StringEntry(makeString([h, toString(as)], a), au)]
196198
197199
198-func au () = {
199- let S = getString(g)
200- if ($isInstanceOf(S, "String"))
200+func av () = {
201+ let T = getString(g)
202+ if ($isInstanceOf(T, "String"))
201203 then {
202- let T = S
203- addressFromStringValue(T)
204+ let U = T
205+ addressFromStringValue(U)
204206 }
205207 else Address(base58'')
206208 }
207209
208210
209-func av (aw) = [StringEntry(g, toString(aw))]
211+func aw (ax) = [StringEntry(g, toString(ax))]
210212
211213
212-func ax () = {
213- let S = getString(j)
214- if ($isInstanceOf(S, "String"))
214+func ay () = {
215+ let T = getString(j)
216+ if ($isInstanceOf(T, "String"))
215217 then {
216- let T = S
217- addressFromStringValue(T)
218+ let U = T
219+ addressFromStringValue(U)
218220 }
219221 else Address(base58'')
220222 }
221223
222224
223-func ay (az) = [StringEntry(j, toString(az))]
225+func az (aA) = [StringEntry(j, toString(aA))]
224226
225227
226-func aA () = {
227- let S = getString(i)
228- if ($isInstanceOf(S, "String"))
228+func aB () = {
229+ let T = getString(i)
230+ if ($isInstanceOf(T, "String"))
229231 then {
230- let T = S
231- addressFromStringValue(T)
232+ let U = T
233+ addressFromStringValue(U)
232234 }
233235 else Address(base58'')
234236 }
235237
236238
237-func aB (aC) = [StringEntry(i, toString(aC))]
239+func aC (aD) = [StringEntry(i, toString(aD))]
238240
239241
240-func aD (ar) = {
241- let S = getString(makeString([k, toString(ar)], a))
242- if ($isInstanceOf(S, "String"))
242+func aE (as) = {
243+ let T = getString(makeString([k, toString(as)], a))
244+ if ($isInstanceOf(T, "String"))
243245 then {
244- let T = S
245- T
246+ let U = T
247+ U
246248 }
247249 else ""
248250 }
249251
250252
251-func aE (ar,aF) = [StringEntry(makeString([k, toString(ar)], a), aF)]
253+func aF (as,aG) = [StringEntry(makeString([k, toString(as)], a), aG)]
252254
253255
254-func aG (ar,aH) = {
255- let S = getString(makeString([l, toString(ar), aH], a))
256- if ($isInstanceOf(S, "String"))
256+func aH (as,aI) = {
257+ let T = getString(makeString([l, toString(as), aI], a))
258+ if ($isInstanceOf(T, "String"))
257259 then {
258- let T = S
259- T
260+ let U = T
261+ U
260262 }
261263 else ""
262264 }
263265
264266
265-func aI (ar,aH,aJ) = [StringEntry(makeString([l, toString(ar), aH], a), aJ)]
267+func aJ (as,aI,aK) = [StringEntry(makeString([l, toString(as), aI], a), aK)]
266268
267269
268-func aK (ar,aH) = {
269- let S = getString(makeString([m, toString(ar), aH], a))
270- if ($isInstanceOf(S, "String"))
270+func aL (as,aI) = {
271+ let T = getString(makeString([m, toString(as), aI], a))
272+ if ($isInstanceOf(T, "String"))
271273 then {
272- let T = S
273- parseBigIntValue(T)
274+ let U = T
275+ parseBigIntValue(U)
274276 }
275277 else J
276278 }
277279
278280
279-func aL (ar,aH,aM) = [StringEntry(makeString([m, toString(ar), aH], a), toString(aM))]
281+func aM (as,aI,aN) = [StringEntry(makeString([m, toString(as), aI], a), toString(aN))]
280282
281283
282-func aN (ar,aH) = {
283- let S = getString(makeString([n, toString(ar), aH], a))
284- if ($isInstanceOf(S, "String"))
284+func aO (as,aI) = {
285+ let T = getString(makeString([n, toString(as), aI], a))
286+ if ($isInstanceOf(T, "String"))
285287 then {
286- let T = S
287- parseBigIntValue(T)
288+ let U = T
289+ parseBigIntValue(U)
288290 }
289291 else J
290292 }
291293
292294
293-func aO (ar,aH,aM) = [StringEntry(makeString([n, toString(ar), aH], a), toString(aM))]
295+func aP (as,aI,aN) = [StringEntry(makeString([n, toString(as), aI], a), toString(aN))]
294296
295297
296-func aP (aJ,aQ) = {
297- let S = getString(makeString([o, aJ, aQ], a))
298- if ($isInstanceOf(S, "String"))
298+func aQ (aK,aR) = {
299+ let T = getString(makeString([o, aK, aR], a))
300+ if ($isInstanceOf(T, "String"))
299301 then {
300- let T = S
301- parseBigIntValue(T)
302+ let U = T
303+ parseBigIntValue(U)
302304 }
303305 else J
304306 }
305307
306308
307-func aR (aJ,aQ,aS) = [StringEntry(makeString([o, aJ, aQ], a), toString(aS))]
309+func aS (aK,aR,aT) = [StringEntry(makeString([o, aK, aR], a), toString(aT))]
308310
309311
310-func aT (aJ) = {
311- let S = getString(makeString([p, aJ], a))
312- if ($isInstanceOf(S, "String"))
312+func aU (aK) = {
313+ let T = getString(makeString([p, aK], a))
314+ if ($isInstanceOf(T, "String"))
313315 then {
314- let T = S
315- parseBigIntValue(T)
316+ let U = T
317+ parseBigIntValue(U)
316318 }
317319 else J
318320 }
319321
320322
321-func aU (aJ,aM) = [StringEntry(makeString([p, aJ], a), toString(aM))]
323+func aV (aK,aN) = [StringEntry(makeString([p, aK], a), toString(aN))]
322324
323325
324-func aV () = {
325- let S = getInteger(q)
326- if ($isInstanceOf(S, "Int"))
326+func aW () = {
327+ let T = getInteger(q)
328+ if ($isInstanceOf(T, "Int"))
327329 then {
328- let T = S
329- T
330+ let U = T
331+ U
330332 }
331333 else 0
332334 }
333335
334336
335-func aW (V) = [IntegerEntry(q, V)]
337+func aX (W) = [IntegerEntry(q, W)]
336338
337339
338-func aX (aY) = {
339- let S = getString(makeString([r, toString(aY)], a))
340- if ($isInstanceOf(S, "String"))
340+func aY (aZ) = {
341+ let T = getString(makeString([r, toString(aZ)], a))
342+ if ($isInstanceOf(T, "String"))
341343 then {
342- let T = S
343- let aZ = split(T, a)
344- $Tuple8(aZ[0], aZ[1], parseIntValue(aZ[2]), aZ[3], parseBigIntValue(aZ[4]), parseIntValue(aZ[5]), aZ[6], parseIntValue(aZ[7]))
344+ let U = T
345+ let ba = split(U, a)
346+ $Tuple8(ba[0], ba[1], parseIntValue(ba[2]), ba[3], parseBigIntValue(ba[4]), parseIntValue(ba[5]), ba[6], parseIntValue(ba[7]))
345347 }
346348 else $Tuple8("", "", 0, "", J, 0, "", D)
347349 }
348350
349351
350-func ba (aY,bb) = [StringEntry(makeString([r, toString(aY)], a), makeString([bb._1, bb._2, toString(bb._3), bb._4, toString(bb._5), toString(bb._6), bb._7, toString(bb._8)], a))]
352+func bb (aZ,bc) = [StringEntry(makeString([r, toString(aZ)], a), makeString([bc._1, bc._2, toString(bc._3), bc._4, toString(bc._5), toString(bc._6), bc._7, toString(bc._8)], a))]
351353
352354
353-func bc () = {
354- let S = getInteger(s)
355- if ($isInstanceOf(S, "Int"))
355+func bd () = {
356+ let T = getInteger(s)
357+ if ($isInstanceOf(T, "Int"))
356358 then {
357- let T = S
358- T
359+ let U = T
360+ U
359361 }
360362 else 0
361363 }
362364
363365
364-func bd (be) = [IntegerEntry(s, be)]
366+func be (bf) = [IntegerEntry(s, bf)]
365367
366368
367-func bf () = {
368- let S = getString(t)
369- if ($isInstanceOf(S, "String"))
369+func bg () = {
370+ let T = getString(t)
371+ if ($isInstanceOf(T, "String"))
370372 then {
371- let T = S
372- addressFromStringValue(T)
373+ let U = T
374+ addressFromStringValue(U)
373375 }
374376 else Address(base58'')
375377 }
376378
377379
378-func bg (bh) = [StringEntry(t, toString(bh))]
380+func bh (bi) = [StringEntry(t, toString(bi))]
379381
380382
381-func bi (bj) = {
382- let S = getString(makeString([u, toBase58String(bj)], a))
383- if ($isInstanceOf(S, "String"))
383+func bj (bk) = {
384+ let T = getString(makeString([u, toBase58String(bk)], a))
385+ if ($isInstanceOf(T, "String"))
384386 then {
385- let T = S
386- T
387+ let U = T
388+ U
387389 }
388390 else ""
389391 }
390392
391393
392-func bk (bj,bl) = [StringEntry(makeString([u, toBase58String(bj)], a), bl)]
394+func bl (bk,bm) = [StringEntry(makeString([u, toBase58String(bk)], a), bm)]
393395
394396
395-func bm () = {
396- let S = getString(v)
397- if ($isInstanceOf(S, "String"))
397+func bn () = {
398+ let T = getString(v)
399+ if ($isInstanceOf(T, "String"))
398400 then {
399- let T = S
400- addressFromStringValue(T)
401+ let U = T
402+ addressFromStringValue(U)
401403 }
402404 else Address(base58'')
403405 }
404406
405407
406-func bn (bo) = [StringEntry(v, toString(bo))]
408+func bo (bp) = [StringEntry(v, toString(bp))]
407409
408410
409-func bp () = {
410- let S = getString(w)
411- if ($isInstanceOf(S, "String"))
411+func bq () = {
412+ let T = getString(w)
413+ if ($isInstanceOf(T, "String"))
412414 then {
413- let T = S
414- T
415+ let U = T
416+ U
415417 }
416418 else ""
417419 }
418420
419421
420-func bq (br) = [StringEntry(w, br)]
422+func br (bs) = [StringEntry(w, bs)]
421423
422424
423-func bs () = {
424- let S = getString(x)
425- if ($isInstanceOf(S, "String"))
425+func bt () = {
426+ let T = getString(x)
427+ if ($isInstanceOf(T, "String"))
426428 then {
427- let T = S
428- T
429+ let U = T
430+ U
429431 }
430432 else ""
431433 }
432434
433435
434-func bt (bu) = [StringEntry(x, bu)]
436+func bu (bv) = [StringEntry(x, bv)]
435437
436438
437-func bv (bw) = if ((bw != this))
439+func bw (bx) = if ((bx != this))
438440 then throw("_onlyThisContract: revert")
439441 else true
440442
441443
442-func bx () = if ((an() == Address(base58'')))
444+func by () = if ((ao() == Address(base58'')))
443445 then throw("_whenMultisigSet: revert")
444446 else true
445447
446448
447-func by () = if (ae())
449+func bz () = if (af())
448450 then throw("_whenNotInitialized: revert")
449451 else true
450452
451453
452-func bz () = if (!(ae()))
454+func bA () = if (!(af()))
453455 then throw("_whenInitialized: revert")
454456 else true
455457
456458
457-func bA () = if (ah())
459+func bB () = if (ai())
458460 then throw("_whenNotPaused: revert")
459461 else true
460462
461463
462-func bB () = if (!(ah()))
464+func bC () = if (!(ai()))
463465 then throw("_whenPaused: revert")
464466 else true
465467
466468
467-func bC (bw) = if ((bw != ak()))
469+func bD (bx) = if ((bx != al()))
468470 then throw("_onlyPauser: revert")
469471 else true
470472
471473
472-func bD (V,R) = if ((V != au()))
473- then throw(R)
474+func bE (W,S) = if ((W != av()))
475+ then throw(S)
474476 else true
475477
476478
477-func bE (ar,at,R) = if ((aq(ar) != at))
478- then throw(R)
479+func bF (as,au,S) = if ((ar(as) != au))
480+ then throw(S)
479481 else true
480482
481483
482-func bF (ar,R) = if ((0 >= size(aD(ar))))
483- then throw(R)
484+func bG (as,S) = if ((0 >= size(aE(as))))
485+ then throw(S)
484486 else true
485487
486488
487-func bG (ar,R) = if ((size(aD(ar)) > 0))
488- then throw(R)
489+func bH (as,S) = if ((size(aE(as)) > 0))
490+ then throw(S)
489491 else true
490492
491493
492-func bH (ar,aH,R) = if ((0 >= size(aG(ar, aH))))
493- then throw(R)
494+func bI (as,aI,S) = if ((0 >= size(aH(as, aI))))
495+ then throw(S)
494496 else true
495497
496498
497-func bI (ar,aH,R) = if ((size(aG(ar, aH)) > 0))
498- then throw(R)
499+func bJ (as,aI,S) = if ((size(aH(as, aI)) > 0))
500+ then throw(S)
499501 else true
500502
501503
502-func bJ (bK,R) = if ((aA() != bK))
503- then throw(R)
504+func bK (bL,S) = if ((aB() != bL))
505+ then throw(S)
504506 else true
505507
506508
507-func bL (bM,R) = if ((bM != D))
508- then throw(R)
509+func bM (bN,S) = if ((bN != D))
510+ then throw(S)
509511 else true
510512
511513
512-func bN (bK,R) = if ((bf() != bK))
513- then throw(R)
514+func bO (bL,S) = if ((bg() != bL))
515+ then throw(S)
514516 else true
515517
516518
517-func bO (bj,R) = if ((size(bi(bj)) > 0))
518- then throw(R)
519+func bP (bk,S) = if ((size(bj(bk)) > 0))
520+ then throw(S)
519521 else true
520522
521523
522-func bP (bQ,bR,R) = if ((bR == M))
523- then if ((size(bQ) != 64))
524- then throw(R)
524+func bQ (bR,bS,S) = if ((bS == M))
525+ then if ((size(bR) != 64))
526+ then throw(S)
525527 else true
526- else if ((bR == N))
527- then if ((size(bQ) != 65))
528- then throw(R)
528+ else if ((bS == N))
529+ then if ((size(bR) != 65))
530+ then throw(S)
529531 else true
530- else throw((R + ": inv alg"))
532+ else throw((S + ": inv alg"))
531533
532534
533-func bS (bT,bR,R) = if ((bR == M))
534- then if ((size(bT) != 32))
535- then throw(R)
535+func bT (bU,bS,S) = if ((bS == M))
536+ then if ((size(bU) != 32))
537+ then throw(S)
536538 else true
537- else if ((bR == N))
538- then if ((size(bT) != 20))
539- then throw(R)
539+ else if ((bS == N))
540+ then if ((size(bU) != 20))
541+ then throw(S)
540542 else true
541- else throw((R + ": inv alg"))
543+ else throw((S + ": inv alg"))
542544
543545
544-func bU (bj,bQ,bT,bR,R) = {
545- let bV = if ((bR == M))
546- then sigVerify(bj, bQ, bT)
547- else if ((bR == N))
546+func bV (bk,bR,bU,bS,S) = {
547+ let bW = if ((bS == M))
548+ then {
549+ let bX = keccak256_16Kb((O + toBytes(toBase58String(bk))))
550+ sigVerify(bX, bR, bU)
551+ }
552+ else if ((bS == N))
548553 then {
549- let bW = keccak256_16Kb((O + bj))
550- (takeRight(keccak256_16Kb(ecrecover(bW, bQ)), 20) == bT)
554+ let bX = keccak256_16Kb((P + bk))
555+ (takeRight(keccak256_16Kb(ecrecover(bX, bR)), 20) == bU)
551556 }
552- else throw((R + ": inv alg"))
553- if (!(bV))
554- then throw(R)
557+ else throw((S + ": inv alg"))
558+ if (!(bW))
559+ then throw(S)
555560 else true
556561 }
557562
558563
559-func bX (bT,bY,bR,R) = {
560- let bZ = if ((bR == M))
561- then toString(addressFromPublicKey(bT))
562- else if ((bR == N))
563- then ("0x" + toBase16String(bT))
564- else throw((R + ": inv alg"))
565- if ((bZ != bY))
566- then throw(R)
564+func bY (bU,bZ,bS,S) = {
565+ let ca = if ((bS == M))
566+ then toString(addressFromPublicKey(bU))
567+ else if ((bS == N))
568+ then ("0x" + toBase16String(bU))
569+ else throw((S + ": inv alg"))
570+ if ((ca != bZ))
571+ then throw(S)
567572 else true
568573 }
569574
570575
571-@Callable(ca)
572-func init (aw,am,az,aC,bh,bo) = {
573- let cb = if (if (if (if (if (if (if (if (bv(ca.caller))
576+@Callable(cb)
577+func init (ax,an,aA,aD,bi,bp) = {
578+ let cc = if (if (if (if (if (if (if (if (bw(cb.caller))
579+ then bz()
580+ else false)
574581 then by()
575582 else false)
576- then bx()
583+ then Q(ax, "init: invalid executor")
577584 else false)
578- then P(aw, "init: invalid executor")
585+ then Q(an, "init: invalid pauser")
579586 else false)
580- then P(am, "init: invalid pauser")
587+ then Q(aA, "init: invalid accountStorage")
581588 else false)
582- then P(az, "init: invalid accountStorage")
589+ then Q(aD, "init: invalid wavesVault")
583590 else false)
584- then P(aC, "init: invalid wavesVault")
591+ then Q(bi, "init: invalid sequencer")
585592 else false)
586- then P(bh, "init: invalid sequencer")
587- else false)
588- then P(bo, "init: invalid vaultAdapter")
593+ then Q(bp, "init: invalid vaultAdapter")
589594 else false
590- if ((cb == cb))
591- then $Tuple2(((((((af(true) ++ av(addressFromStringValue(aw))) ++ al(addressFromStringValue(am))) ++ ay(addressFromStringValue(az))) ++ aB(addressFromStringValue(aC))) ++ bg(addressFromStringValue(bh))) ++ bn(addressFromStringValue(bo))), unit)
595+ if ((cc == cc))
596+ then $Tuple2(((((((ag(true) ++ aw(addressFromStringValue(ax))) ++ am(addressFromStringValue(an))) ++ az(addressFromStringValue(aA))) ++ aC(addressFromStringValue(aD))) ++ bh(addressFromStringValue(bi))) ++ bo(addressFromStringValue(bp))), unit)
592597 else throw("Strict value is not equal to itself.")
593598 }
594599
595600
596601
597-@Callable(ca)
598-func deposit (at,bY,cc,ar,aH,aS) = {
599- let cd = valueOrErrorMessage(parseInt(ar), "deposit: chainId not int")
600- let ce = valueOrErrorMessage(parseBigInt(aS), "deposit: amount not int")
601- let cb = if (if (if (if (if (if (bz())
602- then bA()
602+@Callable(cb)
603+func deposit (au,bZ,cd,as,aI,aT) = {
604+ let ce = valueOrErrorMessage(parseInt(as), "deposit: chainId not int")
605+ let cf = valueOrErrorMessage(parseBigInt(aT), "deposit: amount not int")
606+ let cc = if (if (if (if (if (if (bA())
607+ then bB()
603608 else false)
604- then bF(cd, "deposit: invalid chainId")
609+ then bG(ce, "deposit: invalid chainId")
605610 else false)
606- then aa(bY, "deposit: invalid from")
611+ then ab(bZ, "deposit: invalid from")
607612 else false)
608- then aa(cc, "deposit: invalid to")
613+ then ab(cd, "deposit: invalid to")
609614 else false)
610- then bH(cd, aH, "deposit: invalid asset")
615+ then bI(ce, aI, "deposit: invalid asset")
611616 else false)
612- then Y(ce, J, "deposit: invalid amount")
617+ then Z(cf, J, "deposit: invalid amount")
613618 else false
614- if ((cb == cb))
619+ if ((cc == cc))
615620 then {
616- let cf = if ((aD(cd) == G))
617- then bJ(ca.caller, "deposit: invalid waves vault")
618- else if (bD(ca.caller, "deposit: invalid executor"))
619- then bE(cd, at, "deposit: invalid caller contract")
621+ let cg = if ((aE(ce) == G))
622+ then bK(cb.caller, "deposit: invalid waves vault")
623+ else if (bE(cb.caller, "deposit: invalid executor"))
624+ then bF(ce, au, "deposit: invalid caller contract")
620625 else false
621- if ((cf == cf))
626+ if ((cg == cg))
622627 then {
623- let cg = (aK(cd, aH) + ce)
624- let ch = aG(cd, aH)
625- let ci = (aT(ch) + ce)
626- let cj = invoke(ax(), y, [cc, ch, aS], nil)
627- if ((cj == cj))
628- then $Tuple2((aL(cd, aH, cg) ++ aU(ch, ci)), unit)
628+ let ch = (aL(ce, aI) + cf)
629+ let ci = aH(ce, aI)
630+ let cj = (aU(ci) + cf)
631+ let ck = invoke(ay(), y, [cd, ci, aT], nil)
632+ if ((ck == ck))
633+ then $Tuple2((aM(ce, aI, ch) ++ aV(ci, cj)), unit)
629634 else throw("Strict value is not equal to itself.")
630635 }
631636 else throw("Strict value is not equal to itself.")
635640
636641
637642
638-@Callable(ca)
639-func requestWithdrawal (at,bY,cc,ck,cl,aH,aS) = {
640- let cm = valueOrErrorMessage(parseInt(ck), "requestWithdrawal: fromChainId not int")
641- let cn = valueOrErrorMessage(parseInt(cl), "requestWithdrawal: toChainId not int")
642- let ce = valueOrErrorMessage(parseBigInt(aS), "requestWithdrawal: amount not int")
643- let cb = if (if (if (if (if (if (bz())
644- then bF(cm, "requestWithdrawal: invalid fromChainId")
643+@Callable(cb)
644+func requestWithdrawal (au,bZ,cd,cl,cm,aI,aT) = {
645+ let cn = valueOrErrorMessage(parseInt(cl), "requestWithdrawal: fromChainId not int")
646+ let co = valueOrErrorMessage(parseInt(cm), "requestWithdrawal: toChainId not int")
647+ let cf = valueOrErrorMessage(parseBigInt(aT), "requestWithdrawal: amount not int")
648+ let cc = if (if (if (if (if (if (bA())
649+ then bG(cn, "requestWithdrawal: invalid fromChainId")
645650 else false)
646- then bF(cn, "requestWithdrawal: invalid toChainId")
651+ then bG(co, "requestWithdrawal: invalid toChainId")
647652 else false)
648- then aa(bY, "requestWithdrawal: invalid from")
653+ then ab(bZ, "requestWithdrawal: invalid from")
649654 else false)
650- then aa(cc, "requestWithdrawal: invalid to")
655+ then ab(cd, "requestWithdrawal: invalid to")
651656 else false)
652- then bH(cn, aH, "requestWithdrawal: invalid asset")
657+ then bI(co, aI, "requestWithdrawal: invalid asset")
653658 else false)
654- then Y(ce, J, "requestWithdrawal: invalid amount")
659+ then Z(cf, J, "requestWithdrawal: invalid amount")
655660 else false
656- if ((cb == cb))
661+ if ((cc == cc))
657662 then {
658- let cf = if ((aD(cm) == G))
659- then bJ(ca.caller, "requestWithdrawal: invalid waves vault")
660- else if (bD(ca.caller, "requestWithdrawal: invalid executor"))
661- then bE(cm, at, "requestWithdrawal: invalid caller contract")
663+ let cg = if ((aE(cn) == G))
664+ then bK(cb.caller, "requestWithdrawal: invalid waves vault")
665+ else if (bE(cb.caller, "requestWithdrawal: invalid executor"))
666+ then bF(cn, au, "requestWithdrawal: invalid caller contract")
662667 else false
663- if ((cf == cf))
668+ if ((cg == cg))
664669 then {
665- let ch = aG(cn, aH)
666- let co = {
667- let S = invoke(ax(), z, [bY, H, ch], nil)
668- if ($isInstanceOf(S, "String"))
670+ let ci = aH(co, aI)
671+ let cp = {
672+ let T = invoke(ay(), z, [bZ, H, ci], nil)
673+ if ($isInstanceOf(T, "String"))
669674 then {
670- let T = S
671- parseBigIntValue(T)
675+ let U = T
676+ parseBigIntValue(U)
672677 }
673678 else throw("requestWithdrawal: can't take available balance from storage")
674679 }
675- if ((co == co))
680+ if ((cp == cp))
676681 then {
677- let cp = aN(cn, aH)
678- let cq = aP(ch, bY)
679- let cr = if (if (((co - cq) >= ce))
680- then ((aK(cn, aH) - cp) >= ce)
682+ let cq = aO(co, aI)
683+ let cr = aQ(ci, bZ)
684+ let cs = if (if (((cp - cr) >= cf))
685+ then ((aL(co, aI) - cq) >= cf)
681686 else false)
682- then $Tuple2(D, (aO(cn, aH, (cp + ce)) ++ aR(ch, bY, (ce + cq))))
687+ then $Tuple2(D, (aP(co, aI, (cq + cf)) ++ aS(ci, bZ, (cf + cr))))
683688 else $Tuple2(F, nil)
684- let cs = cr._1
685- let ct = cr._2
686- let cu = aV()
687- let cv = $Tuple8(bY, cc, cn, aH, ce, height, toBase58String(ca.transactionId), cs)
688- $Tuple2(((ba(cu, cv) ++ aW((cu + 1))) ++ ct), cu)
689+ let ct = cs._1
690+ let cu = cs._2
691+ let cv = aW()
692+ let cw = $Tuple8(bZ, cd, co, aI, cf, height, toBase58String(cb.transactionId), ct)
693+ $Tuple2(((bb(cv, cw) ++ aX((cv + 1))) ++ cu), cv)
689694 }
690695 else throw("Strict value is not equal to itself.")
691696 }
696701
697702
698703
699-@Callable(ca)
700-func executeWithdrawal (at,ar,cw) = {
701- let cd = valueOrErrorMessage(parseInt(ar), "executeWithdrawal: chainId not int")
702- let cx = valueOrErrorMessage(parseInt(cw), "executeWithdrawal: requestWithdrawalId not int")
703- let cu = aV()
704- let cb = if (if (bz())
705- then bF(cd, "executeWithdrawal: invalid chainId")
704+@Callable(cb)
705+func executeWithdrawal (au,as,cx) = {
706+ let ce = valueOrErrorMessage(parseInt(as), "executeWithdrawal: chainId not int")
707+ let cy = valueOrErrorMessage(parseInt(cx), "executeWithdrawal: requestWithdrawalId not int")
708+ let cv = aW()
709+ let cc = if (if (bA())
710+ then bG(ce, "executeWithdrawal: invalid chainId")
706711 else false)
707- then U(cx, 0, (cu - 1), "executeWithdrawal: invalid requestWithdrawalId")
712+ then V(cy, 0, (cv - 1), "executeWithdrawal: invalid requestWithdrawalId")
708713 else false
709- if ((cb == cb))
714+ if ((cc == cc))
710715 then {
711- let cf = if ((aD(cd) == G))
712- then bJ(ca.caller, "executeWithdrawal: invalid waves vault")
713- else if (bD(ca.caller, "executeWithdrawal: invalid executor"))
714- then bE(cd, at, "executeWithdrawal: invalid caller contract")
716+ let cg = if ((aE(ce) == G))
717+ then bK(cb.caller, "executeWithdrawal: invalid waves vault")
718+ else if (bE(cb.caller, "executeWithdrawal: invalid executor"))
719+ then bF(ce, au, "executeWithdrawal: invalid caller contract")
715720 else false
716- if ((cf == cf))
721+ if ((cg == cg))
717722 then {
718- let cy = aX(cx)
719- let cz = cy._1
720- let cA = cy._2
721- let cB = cy._3
722- let cC = cy._4
723- let cD = cy._5
724- let cE = cy._6
725- let cs = cy._8
726- let cg = (aK(cB, cC) - cD)
727- let cF = (aN(cB, cC) - cD)
728- let ch = aG(cB, cC)
729- let ci = (aT(ch) - cD)
730- let cG = (aP(ch, cz) - cD)
731- let cH = if (if (if (if (if (Y(cg, J, "executeWithdrawal: negative newAssetReserves"))
732- then Y(cF, J, "executeWithdrawal: negative newAssetReservesLocked")
723+ let cz = aY(cy)
724+ let cA = cz._1
725+ let cB = cz._2
726+ let cC = cz._3
727+ let cD = cz._4
728+ let cE = cz._5
729+ let cF = cz._6
730+ let ct = cz._8
731+ let ch = (aL(cC, cD) - cE)
732+ let cG = (aO(cC, cD) - cE)
733+ let ci = aH(cC, cD)
734+ let cj = (aU(ci) - cE)
735+ let cH = (aQ(ci, cA) - cE)
736+ let cI = if (if (if (if (if (Z(ch, J, "executeWithdrawal: negative newAssetReserves"))
737+ then Z(cG, J, "executeWithdrawal: negative newAssetReservesLocked")
733738 else false)
734- then Y(ci, J, "executeWithdrawal: negative newCurrencyReserves")
739+ then Z(cj, J, "executeWithdrawal: negative newCurrencyReserves")
735740 else false)
736- then Y(cG, J, "executeWithdrawal: negative newUserLockedCurrency")
741+ then Z(cH, J, "executeWithdrawal: negative newUserLockedCurrency")
737742 else false)
738- then U((height - cE), bc(), I, "executeWithdrawal: too early to execute")
743+ then V((height - cF), bd(), I, "executeWithdrawal: too early to execute")
739744 else false)
740- then bL(cs, "executeWithdrawal: request is resolved")
745+ then bM(ct, "executeWithdrawal: request is resolved")
741746 else false
742- if ((cH == cH))
747+ if ((cI == cI))
743748 then {
744- let cI = invoke(ax(), B, [cz, ch, toString(cD)], nil)
745- if ((cI == cI))
749+ let cJ = invoke(ay(), B, [cA, ci, toString(cE)], nil)
750+ if ((cJ == cJ))
746751 then {
747- let cJ = if ((aD(cB) == G))
748- then invoke(aA(), B, [cA, cC, toString(cD)], nil)
749- else invoke(bm(), B, [cB, cC, toString(cD), cA], nil)
750- if ((cJ == cJ))
752+ let cK = if ((aE(cC) == G))
753+ then invoke(aB(), B, [cB, cD, toString(cE)], nil)
754+ else invoke(bn(), B, [cC, cD, toString(cE), cB], nil)
755+ if ((cK == cK))
751756 then {
752- let cK = $Tuple8(cy._1, cy._2, cy._3, cy._4, cy._5, cy._6, cy._7, E)
753- $Tuple2(((((aL(cB, cC, cg) ++ aO(cB, cC, cF)) ++ aU(ch, ci)) ++ aR(ch, cz, cG)) ++ ba(cx, cK)), unit)
757+ let cL = $Tuple8(cz._1, cz._2, cz._3, cz._4, cz._5, cz._6, cz._7, E)
758+ $Tuple2(((((aM(cC, cD, ch) ++ aP(cC, cD, cG)) ++ aV(ci, cj)) ++ aS(ci, cA, cH)) ++ bb(cy, cL)), unit)
754759 }
755760 else throw("Strict value is not equal to itself.")
756761 }
765770
766771
767772
768-@Callable(ca)
769-func rejectWithdrawal (cw) = {
770- let cx = valueOrErrorMessage(parseInt(cw), "rejectWithdrawal: requestWithdrawalId not int")
771- let cu = aV()
772- let cb = if (if (bz())
773- then bN(ca.caller, "rejectWithdrawal: invalid sequencer")
773+@Callable(cb)
774+func rejectWithdrawal (cx) = {
775+ let cy = valueOrErrorMessage(parseInt(cx), "rejectWithdrawal: requestWithdrawalId not int")
776+ let cv = aW()
777+ let cc = if (if (bA())
778+ then bO(cb.caller, "rejectWithdrawal: invalid sequencer")
774779 else false)
775- then U(cx, 0, (cu - 1), "rejectWithdrawal: invalid requestWithdrawalId")
780+ then V(cy, 0, (cv - 1), "rejectWithdrawal: invalid requestWithdrawalId")
776781 else false
777- if ((cb == cb))
782+ if ((cc == cc))
778783 then {
779- let cy = aX(cx)
780- let cz = cy._1
781- let cA = cy._2
782- let cB = cy._3
783- let cC = cy._4
784- let cD = cy._5
785- let cE = cy._6
786- let cs = cy._8
787- let ch = aG(cB, cC)
788- let cF = (aN(cB, cC) - cD)
789- let cG = (aP(ch, cz) - cD)
790- let cf = if (if (Y(cF, J, "rejectWithdrawal: negative newAssetReservesLocked"))
791- then Y(cG, J, "rejectWithdrawal: negative newUserLockedCurrency")
784+ let cz = aY(cy)
785+ let cA = cz._1
786+ let cB = cz._2
787+ let cC = cz._3
788+ let cD = cz._4
789+ let cE = cz._5
790+ let cF = cz._6
791+ let ct = cz._8
792+ let ci = aH(cC, cD)
793+ let cG = (aO(cC, cD) - cE)
794+ let cH = (aQ(ci, cA) - cE)
795+ let cg = if (if (Z(cG, J, "rejectWithdrawal: negative newAssetReservesLocked"))
796+ then Z(cH, J, "rejectWithdrawal: negative newUserLockedCurrency")
792797 else false)
793- then bL(cs, "rejectWithdrawal: request is resolved")
798+ then bM(ct, "rejectWithdrawal: request is resolved")
794799 else false
795- if ((cf == cf))
800+ if ((cg == cg))
796801 then {
797- let co = {
798- let S = invoke(ax(), z, [cz, H, ch], nil)
799- if ($isInstanceOf(S, "String"))
802+ let cp = {
803+ let T = invoke(ay(), z, [cA, H, ci], nil)
804+ if ($isInstanceOf(T, "String"))
800805 then {
801- let T = S
802- parseBigIntValue(T)
806+ let U = T
807+ parseBigIntValue(U)
803808 }
804809 else throw("rejectWithdrawal: can't take available balance from storage")
805810 }
806- if ((co == co))
807- then if ((cD > co))
811+ if ((cp == cp))
812+ then if ((cE > cp))
808813 then {
809- let cK = $Tuple8(cy._1, cy._2, cy._3, cy._4, cy._5, cy._6, cy._7, F)
810- $Tuple2(((aO(cB, cC, cF) ++ aR(ch, cz, cG)) ++ ba(cx, cK)), true)
814+ let cL = $Tuple8(cz._1, cz._2, cz._3, cz._4, cz._5, cz._6, cz._7, F)
815+ $Tuple2(((aP(cC, cD, cG) ++ aS(ci, cA, cH)) ++ bb(cy, cL)), true)
811816 }
812817 else $Tuple2(nil, false)
813818 else throw("Strict value is not equal to itself.")
819824
820825
821826
822-@Callable(ca)
823-func withdraw (bY,cc,cl,aH,aS,cL,cM,bT,bR,bQ) = {
824- let cn = valueOrErrorMessage(parseInt(cl), "withdraw: toChainId not int")
825- let ce = valueOrErrorMessage(parseBigInt(aS), "withdraw: amount not int")
826- let cN = valueOrErrorMessage(parseBigInt(cL), "withdraw: relayerFee not int")
827- let cO = valueOrErrorMessage(parseInt(cM), "withdraw: timestamp not int")
828- let cP = valueOrErrorMessage(parseInt(bR), "withdraw: alg not int")
829- let cQ = fromBase58String(bT)
830- let cR = fromBase58String(bQ)
831- let cb = if (if (if (if (if (if (if (if (if (if (if (bz())
832- then bN(ca.caller, "withdraw: invalid sequencer")
827+@Callable(cb)
828+func withdraw (bZ,cd,cm,aI,aT,cM,cN,bU,bS,bR) = {
829+ let co = valueOrErrorMessage(parseInt(cm), "withdraw: toChainId not int")
830+ let cf = valueOrErrorMessage(parseBigInt(aT), "withdraw: amount not int")
831+ let cO = valueOrErrorMessage(parseBigInt(cM), "withdraw: relayerFee not int")
832+ let cP = valueOrErrorMessage(parseInt(cN), "withdraw: timestamp not int")
833+ let cQ = valueOrErrorMessage(parseInt(bS), "withdraw: alg not int")
834+ let cR = fromBase58String(bU)
835+ let cS = fromBase58String(bR)
836+ let cc = if (if (if (if (if (if (if (if (if (if (if (bA())
837+ then bO(cb.caller, "withdraw: invalid sequencer")
833838 else false)
834- then aa(bY, "withdraw: invalid from")
839+ then ab(bZ, "withdraw: invalid from")
835840 else false)
836- then aa(cc, "withdraw: invalid to")
841+ then ab(cd, "withdraw: invalid to")
837842 else false)
838- then bF(cn, "withdraw: invalid toChainId")
843+ then bG(co, "withdraw: invalid toChainId")
839844 else false)
840- then bH(cn, aH, "withdraw: invalid asset")
845+ then bI(co, aI, "withdraw: invalid asset")
841846 else false)
842- then Y(ce, J, "withdraw: invalid amount")
847+ then Z(cf, J, "withdraw: invalid amount")
843848 else false)
844- then Z(cN, J, ce, "withdraw: invalid relayerFee")
849+ then aa(cO, J, cf, "withdraw: invalid relayerFee")
845850 else false)
846- then U((cO + L), lastBlock.timestamp, I, "withdraw: invalid timestamp")
851+ then V((cP + L), lastBlock.timestamp, I, "withdraw: invalid timestamp")
847852 else false)
848- then bS(cQ, cP, "withdraw: inv web3Id")
853+ then bT(cR, cQ, "withdraw: inv web3Id")
849854 else false)
850- then bP(cR, cP, "withdraw: inv sig format")
855+ then bQ(cS, cQ, "withdraw: inv sig format")
851856 else false)
852- then bX(cQ, bY, cP, "withdraw: web3Id mismatch")
857+ then bY(cR, bZ, cQ, "withdraw: web3Id mismatch")
853858 else false
854- if ((cb == cb))
859+ if ((cc == cc))
855860 then {
856- let cS = (((((((((((toBytes(size(bY)) + toBytes(bY)) + toBytes(size(cc))) + toBytes(cc)) + toBytes(cn)) + toBytes(size(aH))) + toBytes(aH)) + toBytes(ce)) + toBytes(cN)) + toBytes(cO)) + cQ) + toBytes(cP))
857- let cT = keccak256_16Kb(cS)
858- let ch = aG(cn, aH)
859- let co = {
860- let S = invoke(ax(), z, [bY, H, ch], nil)
861- if ($isInstanceOf(S, "String"))
861+ let cT = (((((((((((toBytes(size(bZ)) + toBytes(bZ)) + toBytes(size(cd))) + toBytes(cd)) + toBytes(co)) + toBytes(size(aI))) + toBytes(aI)) + toBytes(cf)) + toBytes(cO)) + toBytes(cP)) + cR) + toBytes(cQ))
862+ let cU = keccak256_16Kb(cT)
863+ let ci = aH(co, aI)
864+ let cp = {
865+ let T = invoke(ay(), z, [bZ, H, ci], nil)
866+ if ($isInstanceOf(T, "String"))
862867 then {
863- let T = S
864- parseBigIntValue(T)
868+ let U = T
869+ parseBigIntValue(U)
865870 }
866871 else throw("withdraw: can't take available balance from storage")
867872 }
868- if ((co == co))
873+ if ((cp == cp))
869874 then {
870- let cU = aK(cn, aH)
871- let cp = aN(cn, aH)
872- let cV = (ce - cN)
873- let cW = toString(cV)
874- let cf = if (if (if (bU(cT, cR, cQ, cP, "withdraw: invalid sig"))
875- then bO(cT, "withdraw: already executed")
875+ let cV = aL(co, aI)
876+ let cq = aO(co, aI)
877+ let cW = (cf - cO)
878+ let cX = toString(cW)
879+ let cg = if (if (if (bV(cU, cS, cR, cQ, "withdraw: invalid sig"))
880+ then bP(cU, "withdraw: already executed")
876881 else false)
877- then Y(co, cV, "withdraw: insufficient balance")
882+ then Z(cp, cW, "withdraw: insufficient balance")
878883 else false)
879- then Y((cU - cp), cV, "withdraw: insufficient reserves")
884+ then Z((cV - cq), cW, "withdraw: insufficient reserves")
880885 else false
881- if ((cf == cf))
886+ if ((cg == cg))
882887 then {
883- let cg = (cU - cV)
884- let ci = (aT(ch) - cV)
885- let cH = if (Y(cg, J, "withdraw: negative newAssetReserves"))
886- then Y(ci, J, "withdraw: negative newCurrencyReserves")
888+ let ch = (cV - cW)
889+ let cj = (aU(ci) - cW)
890+ let cI = if (Z(ch, J, "withdraw: negative newAssetReserves"))
891+ then Z(cj, J, "withdraw: negative newCurrencyReserves")
887892 else false
888- if ((cH == cH))
893+ if ((cI == cI))
889894 then {
890- let cX = invoke(ax(), B, [bY, ch, aS], nil)
891- if ((cX == cX))
895+ let cY = invoke(ay(), B, [bZ, ci, aT], nil)
896+ if ((cY == cY))
892897 then {
893- let cY = invoke(ax(), y, [bs(), ch, cL], nil)
894- if ((cY == cY))
898+ let cZ = invoke(ay(), y, [bt(), ci, cM], nil)
899+ if ((cZ == cZ))
895900 then {
896- let cJ = if ((aD(cn) == G))
897- then invoke(aA(), B, [cc, aH, cW], nil)
898- else invoke(bm(), B, [cn, aH, cW, cc, cL], nil)
899- if ((cJ == cJ))
900- then $Tuple2(((aL(cn, aH, cg) ++ aU(ch, ci)) ++ bk(cT, toBase58String(ca.transactionId))), unit)
901+ let cK = if ((aE(co) == G))
902+ then invoke(aB(), B, [cd, aI, cX], nil)
903+ else invoke(bn(), B, [co, aI, cX, cd, cM], nil)
904+ if ((cK == cK))
905+ then $Tuple2(((aM(co, aI, ch) ++ aV(ci, cj)) ++ bl(cU, toBase58String(cb.transactionId))), unit)
901906 else throw("Strict value is not equal to itself.")
902907 }
903908 else throw("Strict value is not equal to itself.")
915920
916921
917922
918-@Callable(ca)
919-func depositStakingReward (at,ar,aH,aS) = {
920- let cd = valueOrErrorMessage(parseInt(ar), "depositStakingReward: chainId not int")
921- let ce = valueOrErrorMessage(parseBigInt(aS), "depositStakingReward: amount not int")
922- let cb = if (if (if (if (bz())
923- then bA()
923+@Callable(cb)
924+func depositStakingReward (au,as,aI,aT) = {
925+ let ce = valueOrErrorMessage(parseInt(as), "depositStakingReward: chainId not int")
926+ let cf = valueOrErrorMessage(parseBigInt(aT), "depositStakingReward: amount not int")
927+ let cc = if (if (if (if (bA())
928+ then bB()
924929 else false)
925- then bF(cd, "depositStakingReward: invalid chainId")
930+ then bG(ce, "depositStakingReward: invalid chainId")
926931 else false)
927- then bH(cd, aH, "depositStakingReward: invalid asset")
932+ then bI(ce, aI, "depositStakingReward: invalid asset")
928933 else false)
929- then Y(ce, J, "depositStakingReward: invalid amount")
934+ then Z(cf, J, "depositStakingReward: invalid amount")
930935 else false
931- if ((cb == cb))
936+ if ((cc == cc))
932937 then {
933- let cf = if ((aD(cd) == G))
934- then bJ(ca.caller, "depositStakingReward: invalid waves vault")
935- else if (bD(ca.caller, "depositStakingReward: invalid executor"))
936- then bE(cd, at, "depositStakingReward: invalid caller contract")
938+ let cg = if ((aE(ce) == G))
939+ then bK(cb.caller, "depositStakingReward: invalid waves vault")
940+ else if (bE(cb.caller, "depositStakingReward: invalid executor"))
941+ then bF(ce, au, "depositStakingReward: invalid caller contract")
937942 else false
938- if ((cf == cf))
943+ if ((cg == cg))
939944 then {
940- let cg = (aK(cd, aH) + ce)
941- let ch = aG(cd, aH)
942- let ci = (aT(ch) + ce)
943- let cj = invoke(ax(), C, [bp(), ch, aS], nil)
944- if ((cj == cj))
945- then $Tuple2((aL(cd, aH, cg) ++ aU(ch, ci)), unit)
945+ let ch = (aL(ce, aI) + cf)
946+ let ci = aH(ce, aI)
947+ let cj = (aU(ci) + cf)
948+ let ck = invoke(ay(), C, [bq(), ci, aT], nil)
949+ if ((ck == ck))
950+ then $Tuple2((aM(ce, aI, ch) ++ aV(ci, cj)), unit)
946951 else throw("Strict value is not equal to itself.")
947952 }
948953 else throw("Strict value is not equal to itself.")
952957
953958
954959
955-@Callable(ca)
956-func addChain (ar,aF,at) = {
957- let cb = if (if (if (if (if (bv(ca.caller))
958- then bz()
960+@Callable(cb)
961+func addChain (as,aG,au) = {
962+ let cc = if (if (if (if (if (bw(cb.caller))
963+ then bA()
959964 else false)
960- then U(ar, 0, I, "addChain: invalid chainId")
965+ then V(as, 0, I, "addChain: invalid chainId")
961966 else false)
962- then aa(aF, "addChain: invalid name")
967+ then ab(aG, "addChain: invalid name")
963968 else false)
964- then aa(at, "addChain: invalid callerContract")
969+ then ab(au, "addChain: invalid callerContract")
965970 else false)
966- then bG(ar, "addChain: already exists")
971+ then bH(as, "addChain: already exists")
967972 else false
968- if ((cb == cb))
969- then $Tuple2((aE(ar, aF) ++ as(ar, at)), unit)
973+ if ((cc == cc))
974+ then $Tuple2((aF(as, aG) ++ at(as, au)), unit)
970975 else throw("Strict value is not equal to itself.")
971976 }
972977
973978
974979
975-@Callable(ca)
976-func addAsset (ar,aH,aJ) = {
977- let cb = if (if (if (if (if (bv(ca.caller))
978- then bz()
980+@Callable(cb)
981+func addAsset (as,aI,aK) = {
982+ let cc = if (if (if (if (if (bw(cb.caller))
983+ then bA()
979984 else false)
980- then bF(ar, "addAsset: invalid chainId")
985+ then bG(as, "addAsset: invalid chainId")
981986 else false)
982- then aa(aH, "addAsset: invalid asset")
987+ then ab(aI, "addAsset: invalid asset")
983988 else false)
984- then aa(aJ, "addAsset: invalid currency")
989+ then ab(aK, "addAsset: invalid currency")
985990 else false)
986- then bI(ar, aH, "addAsset: already exists")
991+ then bJ(as, aI, "addAsset: already exists")
987992 else false
988- if ((cb == cb))
989- then $Tuple2(aI(ar, aH, aJ), unit)
993+ if ((cc == cc))
994+ then $Tuple2(aJ(as, aI, aK), unit)
990995 else throw("Strict value is not equal to itself.")
991996 }
992997
993998
994999
995-@Callable(ca)
996-func setRequestWithdrawalBlockDelay (be) = {
997- let cb = if (if (bv(ca.caller))
998- then bz()
1000+@Callable(cb)
1001+func setRequestWithdrawalBlockDelay (bf) = {
1002+ let cc = if (if (bw(cb.caller))
1003+ then bA()
9991004 else false)
1000- then U(be, 0, I, "setRequestWithdrawalBlockDelay: invalid delay")
1005+ then V(bf, 0, I, "setRequestWithdrawalBlockDelay: invalid delay")
10011006 else false
1002- if ((cb == cb))
1003- then $Tuple2(bd(be), unit)
1007+ if ((cc == cc))
1008+ then $Tuple2(be(bf), unit)
10041009 else throw("Strict value is not equal to itself.")
10051010 }
10061011
10071012
10081013
1009-@Callable(ca)
1010-func updateRewardDistributor (cZ) = {
1011- let cb = if (if (bv(ca.caller))
1012- then bz()
1014+@Callable(cb)
1015+func updateRewardDistributor (da) = {
1016+ let cc = if (if (bw(cb.caller))
1017+ then bA()
10131018 else false)
1014- then aa(cZ, "updateRewardDistributor: invalid rewardDistributor")
1019+ then ab(da, "updateRewardDistributor: invalid rewardDistributor")
10151020 else false
1016- if ((cb == cb))
1017- then $Tuple2(bq(cZ), unit)
1021+ if ((cc == cc))
1022+ then $Tuple2(br(da), unit)
10181023 else throw("Strict value is not equal to itself.")
10191024 }
10201025
10211026
10221027
1023-@Callable(ca)
1024-func updateRelayerFeeRecipient (bu) = {
1025- let cb = if (if (bv(ca.caller))
1026- then bz()
1028+@Callable(cb)
1029+func updateRelayerFeeRecipient (bv) = {
1030+ let cc = if (if (bw(cb.caller))
1031+ then bA()
10271032 else false)
1028- then aa(bu, "updateRelayerFeeRecipient: invalid relayerFeeRecipient")
1033+ then ab(bv, "updateRelayerFeeRecipient: invalid relayerFeeRecipient")
10291034 else false
1030- if ((cb == cb))
1031- then $Tuple2(bt(bu), unit)
1035+ if ((cc == cc))
1036+ then $Tuple2(bu(bv), unit)
10321037 else throw("Strict value is not equal to itself.")
10331038 }
10341039
10351040
10361041
1037-@Callable(ca)
1042+@Callable(cb)
10381043 func pause () = {
1039- let cb = if (if (bC(ca.caller))
1040- then bz()
1044+ let cc = if (if (bD(cb.caller))
1045+ then bA()
10411046 else false)
1042- then bA()
1047+ then bB()
10431048 else false
1044- if ((cb == cb))
1045- then $Tuple2(ai(true), unit)
1049+ if ((cc == cc))
1050+ then $Tuple2(aj(true), unit)
10461051 else throw("Strict value is not equal to itself.")
10471052 }
10481053
10491054
10501055
1051-@Callable(ca)
1056+@Callable(cb)
10521057 func unpause () = {
1053- let cb = if (if (bC(ca.caller))
1054- then bz()
1058+ let cc = if (if (bD(cb.caller))
1059+ then bA()
10551060 else false)
1056- then bB()
1061+ then bC()
10571062 else false
1058- if ((cb == cb))
1059- then $Tuple2(ai(false), unit)
1063+ if ((cc == cc))
1064+ then $Tuple2(aj(false), unit)
10601065 else throw("Strict value is not equal to itself.")
10611066 }
10621067
10631068
10641069
1065-@Callable(ca)
1066-func updatePauser (am) = {
1067- let cb = if (if (bv(ca.caller))
1068- then bz()
1070+@Callable(cb)
1071+func updatePauser (an) = {
1072+ let cc = if (if (bw(cb.caller))
1073+ then bA()
10691074 else false)
1070- then P(am, "updatePauser: invalid pauser")
1075+ then Q(an, "updatePauser: invalid pauser")
10711076 else false
1072- if ((cb == cb))
1073- then $Tuple2(al(addressFromStringValue(am)), unit)
1077+ if ((cc == cc))
1078+ then $Tuple2(am(addressFromStringValue(an)), unit)
10741079 else throw("Strict value is not equal to itself.")
10751080 }
10761081
10771082
10781083
1079-@Callable(ca)
1080-func setMultisig (ap) = {
1081- let cb = if (bv(ca.caller))
1082- then P(ap, "setMultisig: invalid multisig")
1084+@Callable(cb)
1085+func setMultisig (aq) = {
1086+ let cc = if (bw(cb.caller))
1087+ then Q(aq, "setMultisig: invalid multisig")
10831088 else false
1084- if ((cb == cb))
1085- then $Tuple2(ao(addressFromStringValue(ap)), unit)
1089+ if ((cc == cc))
1090+ then $Tuple2(ap(addressFromStringValue(aq)), unit)
10861091 else throw("Strict value is not equal to itself.")
10871092 }
10881093
10891094
1090-@Verifier(da)
1091-func db () = {
1092- let S = getString(b)
1093- if ($isInstanceOf(S, "String"))
1095+@Verifier(db)
1096+func dc () = {
1097+ let T = getString(b)
1098+ if ($isInstanceOf(T, "String"))
10941099 then {
1095- let dc = S
1096- valueOrElse(getBoolean(addressFromStringValue(dc), makeString([c, toString(this), toBase58String(da.id)], a)), false)
1100+ let dd = T
1101+ valueOrElse(getBoolean(addressFromStringValue(dd), makeString([c, toString(this), toBase58String(db.id)], a)), false)
10971102 }
1098- else sigVerify(da.bodyBytes, da.proofs[0], da.senderPublicKey)
1103+ else sigVerify(db.bodyBytes, db.proofs[0], db.senderPublicKey)
10991104 }
11001105
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "MULTISIG"
77
88 let c = "STATUS"
99
1010 let d = "INIT"
1111
1212 let e = "PAUSED"
1313
1414 let f = "PAUSER"
1515
1616 let g = "EXECUTOR"
1717
1818 let h = "CALLER_CONTRACT"
1919
2020 let i = "WAVES_VAULT"
2121
2222 let j = "ACCOUNT_STORAGE"
2323
2424 let k = "CHAIN"
2525
2626 let l = "ASSET_CURRENCY"
2727
2828 let m = "ASSET_RESERVES"
2929
3030 let n = "ASSET_RESERVES_LOCKED"
3131
3232 let o = "USER_LOCKED_CURRENCY"
3333
3434 let p = "CURRENCY_RESERVES"
3535
3636 let q = "REQUEST_WITHDRAWAL_SIZE"
3737
3838 let r = "REQUEST_WITHDRAWAL"
3939
4040 let s = "REQUEST_WITHDRAWAL_BLOCK_DELAY"
4141
4242 let t = "SEQUENCER"
4343
4444 let u = "WITHDRAWAL_HASH"
4545
4646 let v = "VAULT_ADAPTER"
4747
4848 let w = "REWARD_DISTRIBUTOR"
4949
5050 let x = "RELAYER_FEE_RECIPIENT"
5151
5252 let y = "deposit"
5353
5454 let z = "getUserBalance"
5555
5656 let A = "internalTransfer"
5757
5858 let B = "withdraw"
5959
6060 let C = "depositStakingReward"
6161
6262 let D = 0
6363
6464 let E = 1
6565
6666 let F = 2
6767
6868 let G = "WAVES"
6969
7070 let H = "SPOT"
7171
7272 let I = 9223372036854775807
7373
7474 let J = toBigInt(0)
7575
7676 let K = toBigInt(1)
7777
7878 let L = 86400000
7979
8080 let M = 1
8181
8282 let N = 2
8383
84-let O = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
84+let O = base58'7YXq4t'
8585
86-func P (Q,R) = {
87- let S = addressFromString(Q)
88- if ($isInstanceOf(S, "Address"))
86+let P = base58'G5Nu92G2p7moXW9qjjN3na7gtq4dWCeVdaSjry'
87+
88+func Q (R,S) = {
89+ let T = addressFromString(R)
90+ if ($isInstanceOf(T, "Address"))
8991 then {
90- let T = S
92+ let U = T
9193 true
9294 }
93- else throw(R)
95+ else throw(S)
9496 }
9597
9698
97-func U (V,W,X,R) = if (if ((W > V))
99+func V (W,X,Y,S) = if (if ((X > W))
98100 then true
99- else (V > X))
100- then throw(R)
101+ else (W > Y))
102+ then throw(S)
101103 else true
102104
103105
104-func Y (V,W,R) = if ((W > V))
105- then throw(R)
106+func Z (W,X,S) = if ((X > W))
107+ then throw(S)
106108 else true
107109
108110
109-func Z (V,W,X,R) = if (if ((W > V))
111+func aa (W,X,Y,S) = if (if ((X > W))
110112 then true
111- else (V > X))
112- then throw(R)
113+ else (W > Y))
114+ then throw(S)
113115 else true
114116
115117
116-func aa (V,R) = if (if ((0 >= size(V)))
118+func ab (W,S) = if (if ((0 >= size(W)))
117119 then true
118- else contains(V, a))
119- then throw(R)
120+ else contains(W, a))
121+ then throw(S)
120122 else true
121123
122124
123-func ab (ac,ad,R) = if ((ac != ad))
124- then throw(R)
125+func ac (ad,ae,S) = if ((ad != ae))
126+ then throw(S)
125127 else true
126128
127129
128-func ae () = {
129- let S = getBoolean(d)
130- if ($isInstanceOf(S, "Boolean"))
130+func af () = {
131+ let T = getBoolean(d)
132+ if ($isInstanceOf(T, "Boolean"))
131133 then {
132- let T = S
133- T
134+ let U = T
135+ U
134136 }
135137 else false
136138 }
137139
138140
139-func af (ag) = [BooleanEntry(d, ag)]
141+func ag (ah) = [BooleanEntry(d, ah)]
140142
141143
142-func ah () = {
143- let S = getBoolean(e)
144- if ($isInstanceOf(S, "Boolean"))
144+func ai () = {
145+ let T = getBoolean(e)
146+ if ($isInstanceOf(T, "Boolean"))
145147 then {
146- let T = S
147- T
148+ let U = T
149+ U
148150 }
149151 else false
150152 }
151153
152154
153-func ai (aj) = [BooleanEntry(e, aj)]
155+func aj (ak) = [BooleanEntry(e, ak)]
154156
155157
156-func ak () = {
157- let S = getString(f)
158- if ($isInstanceOf(S, "String"))
158+func al () = {
159+ let T = getString(f)
160+ if ($isInstanceOf(T, "String"))
159161 then {
160- let T = S
161- addressFromStringValue(T)
162+ let U = T
163+ addressFromStringValue(U)
162164 }
163165 else Address(base58'')
164166 }
165167
166168
167-func al (am) = [StringEntry(f, toString(am))]
169+func am (an) = [StringEntry(f, toString(an))]
168170
169171
170-func an () = {
171- let S = getString(b)
172- if ($isInstanceOf(S, "String"))
172+func ao () = {
173+ let T = getString(b)
174+ if ($isInstanceOf(T, "String"))
173175 then {
174- let T = S
175- addressFromStringValue(T)
176+ let U = T
177+ addressFromStringValue(U)
176178 }
177179 else Address(base58'')
178180 }
179181
180182
181-func ao (ap) = [StringEntry(b, toString(ap))]
183+func ap (aq) = [StringEntry(b, toString(aq))]
182184
183185
184-func aq (ar) = {
185- let S = getString(makeString([h, toString(ar)], a))
186- if ($isInstanceOf(S, "String"))
186+func ar (as) = {
187+ let T = getString(makeString([h, toString(as)], a))
188+ if ($isInstanceOf(T, "String"))
187189 then {
188- let T = S
189- T
190+ let U = T
191+ U
190192 }
191193 else ""
192194 }
193195
194196
195-func as (ar,at) = [StringEntry(makeString([h, toString(ar)], a), at)]
197+func at (as,au) = [StringEntry(makeString([h, toString(as)], a), au)]
196198
197199
198-func au () = {
199- let S = getString(g)
200- if ($isInstanceOf(S, "String"))
200+func av () = {
201+ let T = getString(g)
202+ if ($isInstanceOf(T, "String"))
201203 then {
202- let T = S
203- addressFromStringValue(T)
204+ let U = T
205+ addressFromStringValue(U)
204206 }
205207 else Address(base58'')
206208 }
207209
208210
209-func av (aw) = [StringEntry(g, toString(aw))]
211+func aw (ax) = [StringEntry(g, toString(ax))]
210212
211213
212-func ax () = {
213- let S = getString(j)
214- if ($isInstanceOf(S, "String"))
214+func ay () = {
215+ let T = getString(j)
216+ if ($isInstanceOf(T, "String"))
215217 then {
216- let T = S
217- addressFromStringValue(T)
218+ let U = T
219+ addressFromStringValue(U)
218220 }
219221 else Address(base58'')
220222 }
221223
222224
223-func ay (az) = [StringEntry(j, toString(az))]
225+func az (aA) = [StringEntry(j, toString(aA))]
224226
225227
226-func aA () = {
227- let S = getString(i)
228- if ($isInstanceOf(S, "String"))
228+func aB () = {
229+ let T = getString(i)
230+ if ($isInstanceOf(T, "String"))
229231 then {
230- let T = S
231- addressFromStringValue(T)
232+ let U = T
233+ addressFromStringValue(U)
232234 }
233235 else Address(base58'')
234236 }
235237
236238
237-func aB (aC) = [StringEntry(i, toString(aC))]
239+func aC (aD) = [StringEntry(i, toString(aD))]
238240
239241
240-func aD (ar) = {
241- let S = getString(makeString([k, toString(ar)], a))
242- if ($isInstanceOf(S, "String"))
242+func aE (as) = {
243+ let T = getString(makeString([k, toString(as)], a))
244+ if ($isInstanceOf(T, "String"))
243245 then {
244- let T = S
245- T
246+ let U = T
247+ U
246248 }
247249 else ""
248250 }
249251
250252
251-func aE (ar,aF) = [StringEntry(makeString([k, toString(ar)], a), aF)]
253+func aF (as,aG) = [StringEntry(makeString([k, toString(as)], a), aG)]
252254
253255
254-func aG (ar,aH) = {
255- let S = getString(makeString([l, toString(ar), aH], a))
256- if ($isInstanceOf(S, "String"))
256+func aH (as,aI) = {
257+ let T = getString(makeString([l, toString(as), aI], a))
258+ if ($isInstanceOf(T, "String"))
257259 then {
258- let T = S
259- T
260+ let U = T
261+ U
260262 }
261263 else ""
262264 }
263265
264266
265-func aI (ar,aH,aJ) = [StringEntry(makeString([l, toString(ar), aH], a), aJ)]
267+func aJ (as,aI,aK) = [StringEntry(makeString([l, toString(as), aI], a), aK)]
266268
267269
268-func aK (ar,aH) = {
269- let S = getString(makeString([m, toString(ar), aH], a))
270- if ($isInstanceOf(S, "String"))
270+func aL (as,aI) = {
271+ let T = getString(makeString([m, toString(as), aI], a))
272+ if ($isInstanceOf(T, "String"))
271273 then {
272- let T = S
273- parseBigIntValue(T)
274+ let U = T
275+ parseBigIntValue(U)
274276 }
275277 else J
276278 }
277279
278280
279-func aL (ar,aH,aM) = [StringEntry(makeString([m, toString(ar), aH], a), toString(aM))]
281+func aM (as,aI,aN) = [StringEntry(makeString([m, toString(as), aI], a), toString(aN))]
280282
281283
282-func aN (ar,aH) = {
283- let S = getString(makeString([n, toString(ar), aH], a))
284- if ($isInstanceOf(S, "String"))
284+func aO (as,aI) = {
285+ let T = getString(makeString([n, toString(as), aI], a))
286+ if ($isInstanceOf(T, "String"))
285287 then {
286- let T = S
287- parseBigIntValue(T)
288+ let U = T
289+ parseBigIntValue(U)
288290 }
289291 else J
290292 }
291293
292294
293-func aO (ar,aH,aM) = [StringEntry(makeString([n, toString(ar), aH], a), toString(aM))]
295+func aP (as,aI,aN) = [StringEntry(makeString([n, toString(as), aI], a), toString(aN))]
294296
295297
296-func aP (aJ,aQ) = {
297- let S = getString(makeString([o, aJ, aQ], a))
298- if ($isInstanceOf(S, "String"))
298+func aQ (aK,aR) = {
299+ let T = getString(makeString([o, aK, aR], a))
300+ if ($isInstanceOf(T, "String"))
299301 then {
300- let T = S
301- parseBigIntValue(T)
302+ let U = T
303+ parseBigIntValue(U)
302304 }
303305 else J
304306 }
305307
306308
307-func aR (aJ,aQ,aS) = [StringEntry(makeString([o, aJ, aQ], a), toString(aS))]
309+func aS (aK,aR,aT) = [StringEntry(makeString([o, aK, aR], a), toString(aT))]
308310
309311
310-func aT (aJ) = {
311- let S = getString(makeString([p, aJ], a))
312- if ($isInstanceOf(S, "String"))
312+func aU (aK) = {
313+ let T = getString(makeString([p, aK], a))
314+ if ($isInstanceOf(T, "String"))
313315 then {
314- let T = S
315- parseBigIntValue(T)
316+ let U = T
317+ parseBigIntValue(U)
316318 }
317319 else J
318320 }
319321
320322
321-func aU (aJ,aM) = [StringEntry(makeString([p, aJ], a), toString(aM))]
323+func aV (aK,aN) = [StringEntry(makeString([p, aK], a), toString(aN))]
322324
323325
324-func aV () = {
325- let S = getInteger(q)
326- if ($isInstanceOf(S, "Int"))
326+func aW () = {
327+ let T = getInteger(q)
328+ if ($isInstanceOf(T, "Int"))
327329 then {
328- let T = S
329- T
330+ let U = T
331+ U
330332 }
331333 else 0
332334 }
333335
334336
335-func aW (V) = [IntegerEntry(q, V)]
337+func aX (W) = [IntegerEntry(q, W)]
336338
337339
338-func aX (aY) = {
339- let S = getString(makeString([r, toString(aY)], a))
340- if ($isInstanceOf(S, "String"))
340+func aY (aZ) = {
341+ let T = getString(makeString([r, toString(aZ)], a))
342+ if ($isInstanceOf(T, "String"))
341343 then {
342- let T = S
343- let aZ = split(T, a)
344- $Tuple8(aZ[0], aZ[1], parseIntValue(aZ[2]), aZ[3], parseBigIntValue(aZ[4]), parseIntValue(aZ[5]), aZ[6], parseIntValue(aZ[7]))
344+ let U = T
345+ let ba = split(U, a)
346+ $Tuple8(ba[0], ba[1], parseIntValue(ba[2]), ba[3], parseBigIntValue(ba[4]), parseIntValue(ba[5]), ba[6], parseIntValue(ba[7]))
345347 }
346348 else $Tuple8("", "", 0, "", J, 0, "", D)
347349 }
348350
349351
350-func ba (aY,bb) = [StringEntry(makeString([r, toString(aY)], a), makeString([bb._1, bb._2, toString(bb._3), bb._4, toString(bb._5), toString(bb._6), bb._7, toString(bb._8)], a))]
352+func bb (aZ,bc) = [StringEntry(makeString([r, toString(aZ)], a), makeString([bc._1, bc._2, toString(bc._3), bc._4, toString(bc._5), toString(bc._6), bc._7, toString(bc._8)], a))]
351353
352354
353-func bc () = {
354- let S = getInteger(s)
355- if ($isInstanceOf(S, "Int"))
355+func bd () = {
356+ let T = getInteger(s)
357+ if ($isInstanceOf(T, "Int"))
356358 then {
357- let T = S
358- T
359+ let U = T
360+ U
359361 }
360362 else 0
361363 }
362364
363365
364-func bd (be) = [IntegerEntry(s, be)]
366+func be (bf) = [IntegerEntry(s, bf)]
365367
366368
367-func bf () = {
368- let S = getString(t)
369- if ($isInstanceOf(S, "String"))
369+func bg () = {
370+ let T = getString(t)
371+ if ($isInstanceOf(T, "String"))
370372 then {
371- let T = S
372- addressFromStringValue(T)
373+ let U = T
374+ addressFromStringValue(U)
373375 }
374376 else Address(base58'')
375377 }
376378
377379
378-func bg (bh) = [StringEntry(t, toString(bh))]
380+func bh (bi) = [StringEntry(t, toString(bi))]
379381
380382
381-func bi (bj) = {
382- let S = getString(makeString([u, toBase58String(bj)], a))
383- if ($isInstanceOf(S, "String"))
383+func bj (bk) = {
384+ let T = getString(makeString([u, toBase58String(bk)], a))
385+ if ($isInstanceOf(T, "String"))
384386 then {
385- let T = S
386- T
387+ let U = T
388+ U
387389 }
388390 else ""
389391 }
390392
391393
392-func bk (bj,bl) = [StringEntry(makeString([u, toBase58String(bj)], a), bl)]
394+func bl (bk,bm) = [StringEntry(makeString([u, toBase58String(bk)], a), bm)]
393395
394396
395-func bm () = {
396- let S = getString(v)
397- if ($isInstanceOf(S, "String"))
397+func bn () = {
398+ let T = getString(v)
399+ if ($isInstanceOf(T, "String"))
398400 then {
399- let T = S
400- addressFromStringValue(T)
401+ let U = T
402+ addressFromStringValue(U)
401403 }
402404 else Address(base58'')
403405 }
404406
405407
406-func bn (bo) = [StringEntry(v, toString(bo))]
408+func bo (bp) = [StringEntry(v, toString(bp))]
407409
408410
409-func bp () = {
410- let S = getString(w)
411- if ($isInstanceOf(S, "String"))
411+func bq () = {
412+ let T = getString(w)
413+ if ($isInstanceOf(T, "String"))
412414 then {
413- let T = S
414- T
415+ let U = T
416+ U
415417 }
416418 else ""
417419 }
418420
419421
420-func bq (br) = [StringEntry(w, br)]
422+func br (bs) = [StringEntry(w, bs)]
421423
422424
423-func bs () = {
424- let S = getString(x)
425- if ($isInstanceOf(S, "String"))
425+func bt () = {
426+ let T = getString(x)
427+ if ($isInstanceOf(T, "String"))
426428 then {
427- let T = S
428- T
429+ let U = T
430+ U
429431 }
430432 else ""
431433 }
432434
433435
434-func bt (bu) = [StringEntry(x, bu)]
436+func bu (bv) = [StringEntry(x, bv)]
435437
436438
437-func bv (bw) = if ((bw != this))
439+func bw (bx) = if ((bx != this))
438440 then throw("_onlyThisContract: revert")
439441 else true
440442
441443
442-func bx () = if ((an() == Address(base58'')))
444+func by () = if ((ao() == Address(base58'')))
443445 then throw("_whenMultisigSet: revert")
444446 else true
445447
446448
447-func by () = if (ae())
449+func bz () = if (af())
448450 then throw("_whenNotInitialized: revert")
449451 else true
450452
451453
452-func bz () = if (!(ae()))
454+func bA () = if (!(af()))
453455 then throw("_whenInitialized: revert")
454456 else true
455457
456458
457-func bA () = if (ah())
459+func bB () = if (ai())
458460 then throw("_whenNotPaused: revert")
459461 else true
460462
461463
462-func bB () = if (!(ah()))
464+func bC () = if (!(ai()))
463465 then throw("_whenPaused: revert")
464466 else true
465467
466468
467-func bC (bw) = if ((bw != ak()))
469+func bD (bx) = if ((bx != al()))
468470 then throw("_onlyPauser: revert")
469471 else true
470472
471473
472-func bD (V,R) = if ((V != au()))
473- then throw(R)
474+func bE (W,S) = if ((W != av()))
475+ then throw(S)
474476 else true
475477
476478
477-func bE (ar,at,R) = if ((aq(ar) != at))
478- then throw(R)
479+func bF (as,au,S) = if ((ar(as) != au))
480+ then throw(S)
479481 else true
480482
481483
482-func bF (ar,R) = if ((0 >= size(aD(ar))))
483- then throw(R)
484+func bG (as,S) = if ((0 >= size(aE(as))))
485+ then throw(S)
484486 else true
485487
486488
487-func bG (ar,R) = if ((size(aD(ar)) > 0))
488- then throw(R)
489+func bH (as,S) = if ((size(aE(as)) > 0))
490+ then throw(S)
489491 else true
490492
491493
492-func bH (ar,aH,R) = if ((0 >= size(aG(ar, aH))))
493- then throw(R)
494+func bI (as,aI,S) = if ((0 >= size(aH(as, aI))))
495+ then throw(S)
494496 else true
495497
496498
497-func bI (ar,aH,R) = if ((size(aG(ar, aH)) > 0))
498- then throw(R)
499+func bJ (as,aI,S) = if ((size(aH(as, aI)) > 0))
500+ then throw(S)
499501 else true
500502
501503
502-func bJ (bK,R) = if ((aA() != bK))
503- then throw(R)
504+func bK (bL,S) = if ((aB() != bL))
505+ then throw(S)
504506 else true
505507
506508
507-func bL (bM,R) = if ((bM != D))
508- then throw(R)
509+func bM (bN,S) = if ((bN != D))
510+ then throw(S)
509511 else true
510512
511513
512-func bN (bK,R) = if ((bf() != bK))
513- then throw(R)
514+func bO (bL,S) = if ((bg() != bL))
515+ then throw(S)
514516 else true
515517
516518
517-func bO (bj,R) = if ((size(bi(bj)) > 0))
518- then throw(R)
519+func bP (bk,S) = if ((size(bj(bk)) > 0))
520+ then throw(S)
519521 else true
520522
521523
522-func bP (bQ,bR,R) = if ((bR == M))
523- then if ((size(bQ) != 64))
524- then throw(R)
524+func bQ (bR,bS,S) = if ((bS == M))
525+ then if ((size(bR) != 64))
526+ then throw(S)
525527 else true
526- else if ((bR == N))
527- then if ((size(bQ) != 65))
528- then throw(R)
528+ else if ((bS == N))
529+ then if ((size(bR) != 65))
530+ then throw(S)
529531 else true
530- else throw((R + ": inv alg"))
532+ else throw((S + ": inv alg"))
531533
532534
533-func bS (bT,bR,R) = if ((bR == M))
534- then if ((size(bT) != 32))
535- then throw(R)
535+func bT (bU,bS,S) = if ((bS == M))
536+ then if ((size(bU) != 32))
537+ then throw(S)
536538 else true
537- else if ((bR == N))
538- then if ((size(bT) != 20))
539- then throw(R)
539+ else if ((bS == N))
540+ then if ((size(bU) != 20))
541+ then throw(S)
540542 else true
541- else throw((R + ": inv alg"))
543+ else throw((S + ": inv alg"))
542544
543545
544-func bU (bj,bQ,bT,bR,R) = {
545- let bV = if ((bR == M))
546- then sigVerify(bj, bQ, bT)
547- else if ((bR == N))
546+func bV (bk,bR,bU,bS,S) = {
547+ let bW = if ((bS == M))
548+ then {
549+ let bX = keccak256_16Kb((O + toBytes(toBase58String(bk))))
550+ sigVerify(bX, bR, bU)
551+ }
552+ else if ((bS == N))
548553 then {
549- let bW = keccak256_16Kb((O + bj))
550- (takeRight(keccak256_16Kb(ecrecover(bW, bQ)), 20) == bT)
554+ let bX = keccak256_16Kb((P + bk))
555+ (takeRight(keccak256_16Kb(ecrecover(bX, bR)), 20) == bU)
551556 }
552- else throw((R + ": inv alg"))
553- if (!(bV))
554- then throw(R)
557+ else throw((S + ": inv alg"))
558+ if (!(bW))
559+ then throw(S)
555560 else true
556561 }
557562
558563
559-func bX (bT,bY,bR,R) = {
560- let bZ = if ((bR == M))
561- then toString(addressFromPublicKey(bT))
562- else if ((bR == N))
563- then ("0x" + toBase16String(bT))
564- else throw((R + ": inv alg"))
565- if ((bZ != bY))
566- then throw(R)
564+func bY (bU,bZ,bS,S) = {
565+ let ca = if ((bS == M))
566+ then toString(addressFromPublicKey(bU))
567+ else if ((bS == N))
568+ then ("0x" + toBase16String(bU))
569+ else throw((S + ": inv alg"))
570+ if ((ca != bZ))
571+ then throw(S)
567572 else true
568573 }
569574
570575
571-@Callable(ca)
572-func init (aw,am,az,aC,bh,bo) = {
573- let cb = if (if (if (if (if (if (if (if (bv(ca.caller))
576+@Callable(cb)
577+func init (ax,an,aA,aD,bi,bp) = {
578+ let cc = if (if (if (if (if (if (if (if (bw(cb.caller))
579+ then bz()
580+ else false)
574581 then by()
575582 else false)
576- then bx()
583+ then Q(ax, "init: invalid executor")
577584 else false)
578- then P(aw, "init: invalid executor")
585+ then Q(an, "init: invalid pauser")
579586 else false)
580- then P(am, "init: invalid pauser")
587+ then Q(aA, "init: invalid accountStorage")
581588 else false)
582- then P(az, "init: invalid accountStorage")
589+ then Q(aD, "init: invalid wavesVault")
583590 else false)
584- then P(aC, "init: invalid wavesVault")
591+ then Q(bi, "init: invalid sequencer")
585592 else false)
586- then P(bh, "init: invalid sequencer")
587- else false)
588- then P(bo, "init: invalid vaultAdapter")
593+ then Q(bp, "init: invalid vaultAdapter")
589594 else false
590- if ((cb == cb))
591- then $Tuple2(((((((af(true) ++ av(addressFromStringValue(aw))) ++ al(addressFromStringValue(am))) ++ ay(addressFromStringValue(az))) ++ aB(addressFromStringValue(aC))) ++ bg(addressFromStringValue(bh))) ++ bn(addressFromStringValue(bo))), unit)
595+ if ((cc == cc))
596+ then $Tuple2(((((((ag(true) ++ aw(addressFromStringValue(ax))) ++ am(addressFromStringValue(an))) ++ az(addressFromStringValue(aA))) ++ aC(addressFromStringValue(aD))) ++ bh(addressFromStringValue(bi))) ++ bo(addressFromStringValue(bp))), unit)
592597 else throw("Strict value is not equal to itself.")
593598 }
594599
595600
596601
597-@Callable(ca)
598-func deposit (at,bY,cc,ar,aH,aS) = {
599- let cd = valueOrErrorMessage(parseInt(ar), "deposit: chainId not int")
600- let ce = valueOrErrorMessage(parseBigInt(aS), "deposit: amount not int")
601- let cb = if (if (if (if (if (if (bz())
602- then bA()
602+@Callable(cb)
603+func deposit (au,bZ,cd,as,aI,aT) = {
604+ let ce = valueOrErrorMessage(parseInt(as), "deposit: chainId not int")
605+ let cf = valueOrErrorMessage(parseBigInt(aT), "deposit: amount not int")
606+ let cc = if (if (if (if (if (if (bA())
607+ then bB()
603608 else false)
604- then bF(cd, "deposit: invalid chainId")
609+ then bG(ce, "deposit: invalid chainId")
605610 else false)
606- then aa(bY, "deposit: invalid from")
611+ then ab(bZ, "deposit: invalid from")
607612 else false)
608- then aa(cc, "deposit: invalid to")
613+ then ab(cd, "deposit: invalid to")
609614 else false)
610- then bH(cd, aH, "deposit: invalid asset")
615+ then bI(ce, aI, "deposit: invalid asset")
611616 else false)
612- then Y(ce, J, "deposit: invalid amount")
617+ then Z(cf, J, "deposit: invalid amount")
613618 else false
614- if ((cb == cb))
619+ if ((cc == cc))
615620 then {
616- let cf = if ((aD(cd) == G))
617- then bJ(ca.caller, "deposit: invalid waves vault")
618- else if (bD(ca.caller, "deposit: invalid executor"))
619- then bE(cd, at, "deposit: invalid caller contract")
621+ let cg = if ((aE(ce) == G))
622+ then bK(cb.caller, "deposit: invalid waves vault")
623+ else if (bE(cb.caller, "deposit: invalid executor"))
624+ then bF(ce, au, "deposit: invalid caller contract")
620625 else false
621- if ((cf == cf))
626+ if ((cg == cg))
622627 then {
623- let cg = (aK(cd, aH) + ce)
624- let ch = aG(cd, aH)
625- let ci = (aT(ch) + ce)
626- let cj = invoke(ax(), y, [cc, ch, aS], nil)
627- if ((cj == cj))
628- then $Tuple2((aL(cd, aH, cg) ++ aU(ch, ci)), unit)
628+ let ch = (aL(ce, aI) + cf)
629+ let ci = aH(ce, aI)
630+ let cj = (aU(ci) + cf)
631+ let ck = invoke(ay(), y, [cd, ci, aT], nil)
632+ if ((ck == ck))
633+ then $Tuple2((aM(ce, aI, ch) ++ aV(ci, cj)), unit)
629634 else throw("Strict value is not equal to itself.")
630635 }
631636 else throw("Strict value is not equal to itself.")
632637 }
633638 else throw("Strict value is not equal to itself.")
634639 }
635640
636641
637642
638-@Callable(ca)
639-func requestWithdrawal (at,bY,cc,ck,cl,aH,aS) = {
640- let cm = valueOrErrorMessage(parseInt(ck), "requestWithdrawal: fromChainId not int")
641- let cn = valueOrErrorMessage(parseInt(cl), "requestWithdrawal: toChainId not int")
642- let ce = valueOrErrorMessage(parseBigInt(aS), "requestWithdrawal: amount not int")
643- let cb = if (if (if (if (if (if (bz())
644- then bF(cm, "requestWithdrawal: invalid fromChainId")
643+@Callable(cb)
644+func requestWithdrawal (au,bZ,cd,cl,cm,aI,aT) = {
645+ let cn = valueOrErrorMessage(parseInt(cl), "requestWithdrawal: fromChainId not int")
646+ let co = valueOrErrorMessage(parseInt(cm), "requestWithdrawal: toChainId not int")
647+ let cf = valueOrErrorMessage(parseBigInt(aT), "requestWithdrawal: amount not int")
648+ let cc = if (if (if (if (if (if (bA())
649+ then bG(cn, "requestWithdrawal: invalid fromChainId")
645650 else false)
646- then bF(cn, "requestWithdrawal: invalid toChainId")
651+ then bG(co, "requestWithdrawal: invalid toChainId")
647652 else false)
648- then aa(bY, "requestWithdrawal: invalid from")
653+ then ab(bZ, "requestWithdrawal: invalid from")
649654 else false)
650- then aa(cc, "requestWithdrawal: invalid to")
655+ then ab(cd, "requestWithdrawal: invalid to")
651656 else false)
652- then bH(cn, aH, "requestWithdrawal: invalid asset")
657+ then bI(co, aI, "requestWithdrawal: invalid asset")
653658 else false)
654- then Y(ce, J, "requestWithdrawal: invalid amount")
659+ then Z(cf, J, "requestWithdrawal: invalid amount")
655660 else false
656- if ((cb == cb))
661+ if ((cc == cc))
657662 then {
658- let cf = if ((aD(cm) == G))
659- then bJ(ca.caller, "requestWithdrawal: invalid waves vault")
660- else if (bD(ca.caller, "requestWithdrawal: invalid executor"))
661- then bE(cm, at, "requestWithdrawal: invalid caller contract")
663+ let cg = if ((aE(cn) == G))
664+ then bK(cb.caller, "requestWithdrawal: invalid waves vault")
665+ else if (bE(cb.caller, "requestWithdrawal: invalid executor"))
666+ then bF(cn, au, "requestWithdrawal: invalid caller contract")
662667 else false
663- if ((cf == cf))
668+ if ((cg == cg))
664669 then {
665- let ch = aG(cn, aH)
666- let co = {
667- let S = invoke(ax(), z, [bY, H, ch], nil)
668- if ($isInstanceOf(S, "String"))
670+ let ci = aH(co, aI)
671+ let cp = {
672+ let T = invoke(ay(), z, [bZ, H, ci], nil)
673+ if ($isInstanceOf(T, "String"))
669674 then {
670- let T = S
671- parseBigIntValue(T)
675+ let U = T
676+ parseBigIntValue(U)
672677 }
673678 else throw("requestWithdrawal: can't take available balance from storage")
674679 }
675- if ((co == co))
680+ if ((cp == cp))
676681 then {
677- let cp = aN(cn, aH)
678- let cq = aP(ch, bY)
679- let cr = if (if (((co - cq) >= ce))
680- then ((aK(cn, aH) - cp) >= ce)
682+ let cq = aO(co, aI)
683+ let cr = aQ(ci, bZ)
684+ let cs = if (if (((cp - cr) >= cf))
685+ then ((aL(co, aI) - cq) >= cf)
681686 else false)
682- then $Tuple2(D, (aO(cn, aH, (cp + ce)) ++ aR(ch, bY, (ce + cq))))
687+ then $Tuple2(D, (aP(co, aI, (cq + cf)) ++ aS(ci, bZ, (cf + cr))))
683688 else $Tuple2(F, nil)
684- let cs = cr._1
685- let ct = cr._2
686- let cu = aV()
687- let cv = $Tuple8(bY, cc, cn, aH, ce, height, toBase58String(ca.transactionId), cs)
688- $Tuple2(((ba(cu, cv) ++ aW((cu + 1))) ++ ct), cu)
689+ let ct = cs._1
690+ let cu = cs._2
691+ let cv = aW()
692+ let cw = $Tuple8(bZ, cd, co, aI, cf, height, toBase58String(cb.transactionId), ct)
693+ $Tuple2(((bb(cv, cw) ++ aX((cv + 1))) ++ cu), cv)
689694 }
690695 else throw("Strict value is not equal to itself.")
691696 }
692697 else throw("Strict value is not equal to itself.")
693698 }
694699 else throw("Strict value is not equal to itself.")
695700 }
696701
697702
698703
699-@Callable(ca)
700-func executeWithdrawal (at,ar,cw) = {
701- let cd = valueOrErrorMessage(parseInt(ar), "executeWithdrawal: chainId not int")
702- let cx = valueOrErrorMessage(parseInt(cw), "executeWithdrawal: requestWithdrawalId not int")
703- let cu = aV()
704- let cb = if (if (bz())
705- then bF(cd, "executeWithdrawal: invalid chainId")
704+@Callable(cb)
705+func executeWithdrawal (au,as,cx) = {
706+ let ce = valueOrErrorMessage(parseInt(as), "executeWithdrawal: chainId not int")
707+ let cy = valueOrErrorMessage(parseInt(cx), "executeWithdrawal: requestWithdrawalId not int")
708+ let cv = aW()
709+ let cc = if (if (bA())
710+ then bG(ce, "executeWithdrawal: invalid chainId")
706711 else false)
707- then U(cx, 0, (cu - 1), "executeWithdrawal: invalid requestWithdrawalId")
712+ then V(cy, 0, (cv - 1), "executeWithdrawal: invalid requestWithdrawalId")
708713 else false
709- if ((cb == cb))
714+ if ((cc == cc))
710715 then {
711- let cf = if ((aD(cd) == G))
712- then bJ(ca.caller, "executeWithdrawal: invalid waves vault")
713- else if (bD(ca.caller, "executeWithdrawal: invalid executor"))
714- then bE(cd, at, "executeWithdrawal: invalid caller contract")
716+ let cg = if ((aE(ce) == G))
717+ then bK(cb.caller, "executeWithdrawal: invalid waves vault")
718+ else if (bE(cb.caller, "executeWithdrawal: invalid executor"))
719+ then bF(ce, au, "executeWithdrawal: invalid caller contract")
715720 else false
716- if ((cf == cf))
721+ if ((cg == cg))
717722 then {
718- let cy = aX(cx)
719- let cz = cy._1
720- let cA = cy._2
721- let cB = cy._3
722- let cC = cy._4
723- let cD = cy._5
724- let cE = cy._6
725- let cs = cy._8
726- let cg = (aK(cB, cC) - cD)
727- let cF = (aN(cB, cC) - cD)
728- let ch = aG(cB, cC)
729- let ci = (aT(ch) - cD)
730- let cG = (aP(ch, cz) - cD)
731- let cH = if (if (if (if (if (Y(cg, J, "executeWithdrawal: negative newAssetReserves"))
732- then Y(cF, J, "executeWithdrawal: negative newAssetReservesLocked")
723+ let cz = aY(cy)
724+ let cA = cz._1
725+ let cB = cz._2
726+ let cC = cz._3
727+ let cD = cz._4
728+ let cE = cz._5
729+ let cF = cz._6
730+ let ct = cz._8
731+ let ch = (aL(cC, cD) - cE)
732+ let cG = (aO(cC, cD) - cE)
733+ let ci = aH(cC, cD)
734+ let cj = (aU(ci) - cE)
735+ let cH = (aQ(ci, cA) - cE)
736+ let cI = if (if (if (if (if (Z(ch, J, "executeWithdrawal: negative newAssetReserves"))
737+ then Z(cG, J, "executeWithdrawal: negative newAssetReservesLocked")
733738 else false)
734- then Y(ci, J, "executeWithdrawal: negative newCurrencyReserves")
739+ then Z(cj, J, "executeWithdrawal: negative newCurrencyReserves")
735740 else false)
736- then Y(cG, J, "executeWithdrawal: negative newUserLockedCurrency")
741+ then Z(cH, J, "executeWithdrawal: negative newUserLockedCurrency")
737742 else false)
738- then U((height - cE), bc(), I, "executeWithdrawal: too early to execute")
743+ then V((height - cF), bd(), I, "executeWithdrawal: too early to execute")
739744 else false)
740- then bL(cs, "executeWithdrawal: request is resolved")
745+ then bM(ct, "executeWithdrawal: request is resolved")
741746 else false
742- if ((cH == cH))
747+ if ((cI == cI))
743748 then {
744- let cI = invoke(ax(), B, [cz, ch, toString(cD)], nil)
745- if ((cI == cI))
749+ let cJ = invoke(ay(), B, [cA, ci, toString(cE)], nil)
750+ if ((cJ == cJ))
746751 then {
747- let cJ = if ((aD(cB) == G))
748- then invoke(aA(), B, [cA, cC, toString(cD)], nil)
749- else invoke(bm(), B, [cB, cC, toString(cD), cA], nil)
750- if ((cJ == cJ))
752+ let cK = if ((aE(cC) == G))
753+ then invoke(aB(), B, [cB, cD, toString(cE)], nil)
754+ else invoke(bn(), B, [cC, cD, toString(cE), cB], nil)
755+ if ((cK == cK))
751756 then {
752- let cK = $Tuple8(cy._1, cy._2, cy._3, cy._4, cy._5, cy._6, cy._7, E)
753- $Tuple2(((((aL(cB, cC, cg) ++ aO(cB, cC, cF)) ++ aU(ch, ci)) ++ aR(ch, cz, cG)) ++ ba(cx, cK)), unit)
757+ let cL = $Tuple8(cz._1, cz._2, cz._3, cz._4, cz._5, cz._6, cz._7, E)
758+ $Tuple2(((((aM(cC, cD, ch) ++ aP(cC, cD, cG)) ++ aV(ci, cj)) ++ aS(ci, cA, cH)) ++ bb(cy, cL)), unit)
754759 }
755760 else throw("Strict value is not equal to itself.")
756761 }
757762 else throw("Strict value is not equal to itself.")
758763 }
759764 else throw("Strict value is not equal to itself.")
760765 }
761766 else throw("Strict value is not equal to itself.")
762767 }
763768 else throw("Strict value is not equal to itself.")
764769 }
765770
766771
767772
768-@Callable(ca)
769-func rejectWithdrawal (cw) = {
770- let cx = valueOrErrorMessage(parseInt(cw), "rejectWithdrawal: requestWithdrawalId not int")
771- let cu = aV()
772- let cb = if (if (bz())
773- then bN(ca.caller, "rejectWithdrawal: invalid sequencer")
773+@Callable(cb)
774+func rejectWithdrawal (cx) = {
775+ let cy = valueOrErrorMessage(parseInt(cx), "rejectWithdrawal: requestWithdrawalId not int")
776+ let cv = aW()
777+ let cc = if (if (bA())
778+ then bO(cb.caller, "rejectWithdrawal: invalid sequencer")
774779 else false)
775- then U(cx, 0, (cu - 1), "rejectWithdrawal: invalid requestWithdrawalId")
780+ then V(cy, 0, (cv - 1), "rejectWithdrawal: invalid requestWithdrawalId")
776781 else false
777- if ((cb == cb))
782+ if ((cc == cc))
778783 then {
779- let cy = aX(cx)
780- let cz = cy._1
781- let cA = cy._2
782- let cB = cy._3
783- let cC = cy._4
784- let cD = cy._5
785- let cE = cy._6
786- let cs = cy._8
787- let ch = aG(cB, cC)
788- let cF = (aN(cB, cC) - cD)
789- let cG = (aP(ch, cz) - cD)
790- let cf = if (if (Y(cF, J, "rejectWithdrawal: negative newAssetReservesLocked"))
791- then Y(cG, J, "rejectWithdrawal: negative newUserLockedCurrency")
784+ let cz = aY(cy)
785+ let cA = cz._1
786+ let cB = cz._2
787+ let cC = cz._3
788+ let cD = cz._4
789+ let cE = cz._5
790+ let cF = cz._6
791+ let ct = cz._8
792+ let ci = aH(cC, cD)
793+ let cG = (aO(cC, cD) - cE)
794+ let cH = (aQ(ci, cA) - cE)
795+ let cg = if (if (Z(cG, J, "rejectWithdrawal: negative newAssetReservesLocked"))
796+ then Z(cH, J, "rejectWithdrawal: negative newUserLockedCurrency")
792797 else false)
793- then bL(cs, "rejectWithdrawal: request is resolved")
798+ then bM(ct, "rejectWithdrawal: request is resolved")
794799 else false
795- if ((cf == cf))
800+ if ((cg == cg))
796801 then {
797- let co = {
798- let S = invoke(ax(), z, [cz, H, ch], nil)
799- if ($isInstanceOf(S, "String"))
802+ let cp = {
803+ let T = invoke(ay(), z, [cA, H, ci], nil)
804+ if ($isInstanceOf(T, "String"))
800805 then {
801- let T = S
802- parseBigIntValue(T)
806+ let U = T
807+ parseBigIntValue(U)
803808 }
804809 else throw("rejectWithdrawal: can't take available balance from storage")
805810 }
806- if ((co == co))
807- then if ((cD > co))
811+ if ((cp == cp))
812+ then if ((cE > cp))
808813 then {
809- let cK = $Tuple8(cy._1, cy._2, cy._3, cy._4, cy._5, cy._6, cy._7, F)
810- $Tuple2(((aO(cB, cC, cF) ++ aR(ch, cz, cG)) ++ ba(cx, cK)), true)
814+ let cL = $Tuple8(cz._1, cz._2, cz._3, cz._4, cz._5, cz._6, cz._7, F)
815+ $Tuple2(((aP(cC, cD, cG) ++ aS(ci, cA, cH)) ++ bb(cy, cL)), true)
811816 }
812817 else $Tuple2(nil, false)
813818 else throw("Strict value is not equal to itself.")
814819 }
815820 else throw("Strict value is not equal to itself.")
816821 }
817822 else throw("Strict value is not equal to itself.")
818823 }
819824
820825
821826
822-@Callable(ca)
823-func withdraw (bY,cc,cl,aH,aS,cL,cM,bT,bR,bQ) = {
824- let cn = valueOrErrorMessage(parseInt(cl), "withdraw: toChainId not int")
825- let ce = valueOrErrorMessage(parseBigInt(aS), "withdraw: amount not int")
826- let cN = valueOrErrorMessage(parseBigInt(cL), "withdraw: relayerFee not int")
827- let cO = valueOrErrorMessage(parseInt(cM), "withdraw: timestamp not int")
828- let cP = valueOrErrorMessage(parseInt(bR), "withdraw: alg not int")
829- let cQ = fromBase58String(bT)
830- let cR = fromBase58String(bQ)
831- let cb = if (if (if (if (if (if (if (if (if (if (if (bz())
832- then bN(ca.caller, "withdraw: invalid sequencer")
827+@Callable(cb)
828+func withdraw (bZ,cd,cm,aI,aT,cM,cN,bU,bS,bR) = {
829+ let co = valueOrErrorMessage(parseInt(cm), "withdraw: toChainId not int")
830+ let cf = valueOrErrorMessage(parseBigInt(aT), "withdraw: amount not int")
831+ let cO = valueOrErrorMessage(parseBigInt(cM), "withdraw: relayerFee not int")
832+ let cP = valueOrErrorMessage(parseInt(cN), "withdraw: timestamp not int")
833+ let cQ = valueOrErrorMessage(parseInt(bS), "withdraw: alg not int")
834+ let cR = fromBase58String(bU)
835+ let cS = fromBase58String(bR)
836+ let cc = if (if (if (if (if (if (if (if (if (if (if (bA())
837+ then bO(cb.caller, "withdraw: invalid sequencer")
833838 else false)
834- then aa(bY, "withdraw: invalid from")
839+ then ab(bZ, "withdraw: invalid from")
835840 else false)
836- then aa(cc, "withdraw: invalid to")
841+ then ab(cd, "withdraw: invalid to")
837842 else false)
838- then bF(cn, "withdraw: invalid toChainId")
843+ then bG(co, "withdraw: invalid toChainId")
839844 else false)
840- then bH(cn, aH, "withdraw: invalid asset")
845+ then bI(co, aI, "withdraw: invalid asset")
841846 else false)
842- then Y(ce, J, "withdraw: invalid amount")
847+ then Z(cf, J, "withdraw: invalid amount")
843848 else false)
844- then Z(cN, J, ce, "withdraw: invalid relayerFee")
849+ then aa(cO, J, cf, "withdraw: invalid relayerFee")
845850 else false)
846- then U((cO + L), lastBlock.timestamp, I, "withdraw: invalid timestamp")
851+ then V((cP + L), lastBlock.timestamp, I, "withdraw: invalid timestamp")
847852 else false)
848- then bS(cQ, cP, "withdraw: inv web3Id")
853+ then bT(cR, cQ, "withdraw: inv web3Id")
849854 else false)
850- then bP(cR, cP, "withdraw: inv sig format")
855+ then bQ(cS, cQ, "withdraw: inv sig format")
851856 else false)
852- then bX(cQ, bY, cP, "withdraw: web3Id mismatch")
857+ then bY(cR, bZ, cQ, "withdraw: web3Id mismatch")
853858 else false
854- if ((cb == cb))
859+ if ((cc == cc))
855860 then {
856- let cS = (((((((((((toBytes(size(bY)) + toBytes(bY)) + toBytes(size(cc))) + toBytes(cc)) + toBytes(cn)) + toBytes(size(aH))) + toBytes(aH)) + toBytes(ce)) + toBytes(cN)) + toBytes(cO)) + cQ) + toBytes(cP))
857- let cT = keccak256_16Kb(cS)
858- let ch = aG(cn, aH)
859- let co = {
860- let S = invoke(ax(), z, [bY, H, ch], nil)
861- if ($isInstanceOf(S, "String"))
861+ let cT = (((((((((((toBytes(size(bZ)) + toBytes(bZ)) + toBytes(size(cd))) + toBytes(cd)) + toBytes(co)) + toBytes(size(aI))) + toBytes(aI)) + toBytes(cf)) + toBytes(cO)) + toBytes(cP)) + cR) + toBytes(cQ))
862+ let cU = keccak256_16Kb(cT)
863+ let ci = aH(co, aI)
864+ let cp = {
865+ let T = invoke(ay(), z, [bZ, H, ci], nil)
866+ if ($isInstanceOf(T, "String"))
862867 then {
863- let T = S
864- parseBigIntValue(T)
868+ let U = T
869+ parseBigIntValue(U)
865870 }
866871 else throw("withdraw: can't take available balance from storage")
867872 }
868- if ((co == co))
873+ if ((cp == cp))
869874 then {
870- let cU = aK(cn, aH)
871- let cp = aN(cn, aH)
872- let cV = (ce - cN)
873- let cW = toString(cV)
874- let cf = if (if (if (bU(cT, cR, cQ, cP, "withdraw: invalid sig"))
875- then bO(cT, "withdraw: already executed")
875+ let cV = aL(co, aI)
876+ let cq = aO(co, aI)
877+ let cW = (cf - cO)
878+ let cX = toString(cW)
879+ let cg = if (if (if (bV(cU, cS, cR, cQ, "withdraw: invalid sig"))
880+ then bP(cU, "withdraw: already executed")
876881 else false)
877- then Y(co, cV, "withdraw: insufficient balance")
882+ then Z(cp, cW, "withdraw: insufficient balance")
878883 else false)
879- then Y((cU - cp), cV, "withdraw: insufficient reserves")
884+ then Z((cV - cq), cW, "withdraw: insufficient reserves")
880885 else false
881- if ((cf == cf))
886+ if ((cg == cg))
882887 then {
883- let cg = (cU - cV)
884- let ci = (aT(ch) - cV)
885- let cH = if (Y(cg, J, "withdraw: negative newAssetReserves"))
886- then Y(ci, J, "withdraw: negative newCurrencyReserves")
888+ let ch = (cV - cW)
889+ let cj = (aU(ci) - cW)
890+ let cI = if (Z(ch, J, "withdraw: negative newAssetReserves"))
891+ then Z(cj, J, "withdraw: negative newCurrencyReserves")
887892 else false
888- if ((cH == cH))
893+ if ((cI == cI))
889894 then {
890- let cX = invoke(ax(), B, [bY, ch, aS], nil)
891- if ((cX == cX))
895+ let cY = invoke(ay(), B, [bZ, ci, aT], nil)
896+ if ((cY == cY))
892897 then {
893- let cY = invoke(ax(), y, [bs(), ch, cL], nil)
894- if ((cY == cY))
898+ let cZ = invoke(ay(), y, [bt(), ci, cM], nil)
899+ if ((cZ == cZ))
895900 then {
896- let cJ = if ((aD(cn) == G))
897- then invoke(aA(), B, [cc, aH, cW], nil)
898- else invoke(bm(), B, [cn, aH, cW, cc, cL], nil)
899- if ((cJ == cJ))
900- then $Tuple2(((aL(cn, aH, cg) ++ aU(ch, ci)) ++ bk(cT, toBase58String(ca.transactionId))), unit)
901+ let cK = if ((aE(co) == G))
902+ then invoke(aB(), B, [cd, aI, cX], nil)
903+ else invoke(bn(), B, [co, aI, cX, cd, cM], nil)
904+ if ((cK == cK))
905+ then $Tuple2(((aM(co, aI, ch) ++ aV(ci, cj)) ++ bl(cU, toBase58String(cb.transactionId))), unit)
901906 else throw("Strict value is not equal to itself.")
902907 }
903908 else throw("Strict value is not equal to itself.")
904909 }
905910 else throw("Strict value is not equal to itself.")
906911 }
907912 else throw("Strict value is not equal to itself.")
908913 }
909914 else throw("Strict value is not equal to itself.")
910915 }
911916 else throw("Strict value is not equal to itself.")
912917 }
913918 else throw("Strict value is not equal to itself.")
914919 }
915920
916921
917922
918-@Callable(ca)
919-func depositStakingReward (at,ar,aH,aS) = {
920- let cd = valueOrErrorMessage(parseInt(ar), "depositStakingReward: chainId not int")
921- let ce = valueOrErrorMessage(parseBigInt(aS), "depositStakingReward: amount not int")
922- let cb = if (if (if (if (bz())
923- then bA()
923+@Callable(cb)
924+func depositStakingReward (au,as,aI,aT) = {
925+ let ce = valueOrErrorMessage(parseInt(as), "depositStakingReward: chainId not int")
926+ let cf = valueOrErrorMessage(parseBigInt(aT), "depositStakingReward: amount not int")
927+ let cc = if (if (if (if (bA())
928+ then bB()
924929 else false)
925- then bF(cd, "depositStakingReward: invalid chainId")
930+ then bG(ce, "depositStakingReward: invalid chainId")
926931 else false)
927- then bH(cd, aH, "depositStakingReward: invalid asset")
932+ then bI(ce, aI, "depositStakingReward: invalid asset")
928933 else false)
929- then Y(ce, J, "depositStakingReward: invalid amount")
934+ then Z(cf, J, "depositStakingReward: invalid amount")
930935 else false
931- if ((cb == cb))
936+ if ((cc == cc))
932937 then {
933- let cf = if ((aD(cd) == G))
934- then bJ(ca.caller, "depositStakingReward: invalid waves vault")
935- else if (bD(ca.caller, "depositStakingReward: invalid executor"))
936- then bE(cd, at, "depositStakingReward: invalid caller contract")
938+ let cg = if ((aE(ce) == G))
939+ then bK(cb.caller, "depositStakingReward: invalid waves vault")
940+ else if (bE(cb.caller, "depositStakingReward: invalid executor"))
941+ then bF(ce, au, "depositStakingReward: invalid caller contract")
937942 else false
938- if ((cf == cf))
943+ if ((cg == cg))
939944 then {
940- let cg = (aK(cd, aH) + ce)
941- let ch = aG(cd, aH)
942- let ci = (aT(ch) + ce)
943- let cj = invoke(ax(), C, [bp(), ch, aS], nil)
944- if ((cj == cj))
945- then $Tuple2((aL(cd, aH, cg) ++ aU(ch, ci)), unit)
945+ let ch = (aL(ce, aI) + cf)
946+ let ci = aH(ce, aI)
947+ let cj = (aU(ci) + cf)
948+ let ck = invoke(ay(), C, [bq(), ci, aT], nil)
949+ if ((ck == ck))
950+ then $Tuple2((aM(ce, aI, ch) ++ aV(ci, cj)), unit)
946951 else throw("Strict value is not equal to itself.")
947952 }
948953 else throw("Strict value is not equal to itself.")
949954 }
950955 else throw("Strict value is not equal to itself.")
951956 }
952957
953958
954959
955-@Callable(ca)
956-func addChain (ar,aF,at) = {
957- let cb = if (if (if (if (if (bv(ca.caller))
958- then bz()
960+@Callable(cb)
961+func addChain (as,aG,au) = {
962+ let cc = if (if (if (if (if (bw(cb.caller))
963+ then bA()
959964 else false)
960- then U(ar, 0, I, "addChain: invalid chainId")
965+ then V(as, 0, I, "addChain: invalid chainId")
961966 else false)
962- then aa(aF, "addChain: invalid name")
967+ then ab(aG, "addChain: invalid name")
963968 else false)
964- then aa(at, "addChain: invalid callerContract")
969+ then ab(au, "addChain: invalid callerContract")
965970 else false)
966- then bG(ar, "addChain: already exists")
971+ then bH(as, "addChain: already exists")
967972 else false
968- if ((cb == cb))
969- then $Tuple2((aE(ar, aF) ++ as(ar, at)), unit)
973+ if ((cc == cc))
974+ then $Tuple2((aF(as, aG) ++ at(as, au)), unit)
970975 else throw("Strict value is not equal to itself.")
971976 }
972977
973978
974979
975-@Callable(ca)
976-func addAsset (ar,aH,aJ) = {
977- let cb = if (if (if (if (if (bv(ca.caller))
978- then bz()
980+@Callable(cb)
981+func addAsset (as,aI,aK) = {
982+ let cc = if (if (if (if (if (bw(cb.caller))
983+ then bA()
979984 else false)
980- then bF(ar, "addAsset: invalid chainId")
985+ then bG(as, "addAsset: invalid chainId")
981986 else false)
982- then aa(aH, "addAsset: invalid asset")
987+ then ab(aI, "addAsset: invalid asset")
983988 else false)
984- then aa(aJ, "addAsset: invalid currency")
989+ then ab(aK, "addAsset: invalid currency")
985990 else false)
986- then bI(ar, aH, "addAsset: already exists")
991+ then bJ(as, aI, "addAsset: already exists")
987992 else false
988- if ((cb == cb))
989- then $Tuple2(aI(ar, aH, aJ), unit)
993+ if ((cc == cc))
994+ then $Tuple2(aJ(as, aI, aK), unit)
990995 else throw("Strict value is not equal to itself.")
991996 }
992997
993998
994999
995-@Callable(ca)
996-func setRequestWithdrawalBlockDelay (be) = {
997- let cb = if (if (bv(ca.caller))
998- then bz()
1000+@Callable(cb)
1001+func setRequestWithdrawalBlockDelay (bf) = {
1002+ let cc = if (if (bw(cb.caller))
1003+ then bA()
9991004 else false)
1000- then U(be, 0, I, "setRequestWithdrawalBlockDelay: invalid delay")
1005+ then V(bf, 0, I, "setRequestWithdrawalBlockDelay: invalid delay")
10011006 else false
1002- if ((cb == cb))
1003- then $Tuple2(bd(be), unit)
1007+ if ((cc == cc))
1008+ then $Tuple2(be(bf), unit)
10041009 else throw("Strict value is not equal to itself.")
10051010 }
10061011
10071012
10081013
1009-@Callable(ca)
1010-func updateRewardDistributor (cZ) = {
1011- let cb = if (if (bv(ca.caller))
1012- then bz()
1014+@Callable(cb)
1015+func updateRewardDistributor (da) = {
1016+ let cc = if (if (bw(cb.caller))
1017+ then bA()
10131018 else false)
1014- then aa(cZ, "updateRewardDistributor: invalid rewardDistributor")
1019+ then ab(da, "updateRewardDistributor: invalid rewardDistributor")
10151020 else false
1016- if ((cb == cb))
1017- then $Tuple2(bq(cZ), unit)
1021+ if ((cc == cc))
1022+ then $Tuple2(br(da), unit)
10181023 else throw("Strict value is not equal to itself.")
10191024 }
10201025
10211026
10221027
1023-@Callable(ca)
1024-func updateRelayerFeeRecipient (bu) = {
1025- let cb = if (if (bv(ca.caller))
1026- then bz()
1028+@Callable(cb)
1029+func updateRelayerFeeRecipient (bv) = {
1030+ let cc = if (if (bw(cb.caller))
1031+ then bA()
10271032 else false)
1028- then aa(bu, "updateRelayerFeeRecipient: invalid relayerFeeRecipient")
1033+ then ab(bv, "updateRelayerFeeRecipient: invalid relayerFeeRecipient")
10291034 else false
1030- if ((cb == cb))
1031- then $Tuple2(bt(bu), unit)
1035+ if ((cc == cc))
1036+ then $Tuple2(bu(bv), unit)
10321037 else throw("Strict value is not equal to itself.")
10331038 }
10341039
10351040
10361041
1037-@Callable(ca)
1042+@Callable(cb)
10381043 func pause () = {
1039- let cb = if (if (bC(ca.caller))
1040- then bz()
1044+ let cc = if (if (bD(cb.caller))
1045+ then bA()
10411046 else false)
1042- then bA()
1047+ then bB()
10431048 else false
1044- if ((cb == cb))
1045- then $Tuple2(ai(true), unit)
1049+ if ((cc == cc))
1050+ then $Tuple2(aj(true), unit)
10461051 else throw("Strict value is not equal to itself.")
10471052 }
10481053
10491054
10501055
1051-@Callable(ca)
1056+@Callable(cb)
10521057 func unpause () = {
1053- let cb = if (if (bC(ca.caller))
1054- then bz()
1058+ let cc = if (if (bD(cb.caller))
1059+ then bA()
10551060 else false)
1056- then bB()
1061+ then bC()
10571062 else false
1058- if ((cb == cb))
1059- then $Tuple2(ai(false), unit)
1063+ if ((cc == cc))
1064+ then $Tuple2(aj(false), unit)
10601065 else throw("Strict value is not equal to itself.")
10611066 }
10621067
10631068
10641069
1065-@Callable(ca)
1066-func updatePauser (am) = {
1067- let cb = if (if (bv(ca.caller))
1068- then bz()
1070+@Callable(cb)
1071+func updatePauser (an) = {
1072+ let cc = if (if (bw(cb.caller))
1073+ then bA()
10691074 else false)
1070- then P(am, "updatePauser: invalid pauser")
1075+ then Q(an, "updatePauser: invalid pauser")
10711076 else false
1072- if ((cb == cb))
1073- then $Tuple2(al(addressFromStringValue(am)), unit)
1077+ if ((cc == cc))
1078+ then $Tuple2(am(addressFromStringValue(an)), unit)
10741079 else throw("Strict value is not equal to itself.")
10751080 }
10761081
10771082
10781083
1079-@Callable(ca)
1080-func setMultisig (ap) = {
1081- let cb = if (bv(ca.caller))
1082- then P(ap, "setMultisig: invalid multisig")
1084+@Callable(cb)
1085+func setMultisig (aq) = {
1086+ let cc = if (bw(cb.caller))
1087+ then Q(aq, "setMultisig: invalid multisig")
10831088 else false
1084- if ((cb == cb))
1085- then $Tuple2(ao(addressFromStringValue(ap)), unit)
1089+ if ((cc == cc))
1090+ then $Tuple2(ap(addressFromStringValue(aq)), unit)
10861091 else throw("Strict value is not equal to itself.")
10871092 }
10881093
10891094
1090-@Verifier(da)
1091-func db () = {
1092- let S = getString(b)
1093- if ($isInstanceOf(S, "String"))
1095+@Verifier(db)
1096+func dc () = {
1097+ let T = getString(b)
1098+ if ($isInstanceOf(T, "String"))
10941099 then {
1095- let dc = S
1096- valueOrElse(getBoolean(addressFromStringValue(dc), makeString([c, toString(this), toBase58String(da.id)], a)), false)
1100+ let dd = T
1101+ valueOrElse(getBoolean(addressFromStringValue(dd), makeString([c, toString(this), toBase58String(db.id)], a)), false)
10971102 }
1098- else sigVerify(da.bodyBytes, da.proofs[0], da.senderPublicKey)
1103+ else sigVerify(db.bodyBytes, db.proofs[0], db.senderPublicKey)
10991104 }
11001105

github/deemru/w8io/169f3d6 
390.19 ms