tx · 4sUvwCRrA7CrbAf9mzqWZ75sgoVJDyGtVbZsLYiL6HKp

3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH:  -0.02400000 Waves

2023.03.16 14:37 [2492530] smart account 3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH > SELF 0.00000000 Waves

{ "type": 13, "id": "4sUvwCRrA7CrbAf9mzqWZ75sgoVJDyGtVbZsLYiL6HKp", "fee": 2400000, "feeAssetId": null, "timestamp": 1678966757234, "version": 2, "chainId": 84, "sender": "3MwukwUkp3PsyCrkjMgqiAnSfc1hBD5FQhH", "senderPublicKey": "5JqBVJpMCyD7dJLJttqYjL6CmJc4zahBHSFjFb7qQTga", "proofs": [ "4ZzJEKfQrzXnzosimskE9jT8d3zAV5V6q8DpBEznUAMydJCida7prHWwLg243ds9whg4J3WnnidPpZgd7GBiaetM" ], "script": "base64:BgIhCAISBAoCAQESBgoECAgICBIDCgEYEgASAwoBCBIDCgEBRAADU0VQAgFfAA5fbWluTG9ja3BlcmlvZAABAA1fdW5pdERlY2ltYWxzAIDC1y8ADl9taW5Mb2NrQW1vdW50CQBoAgABBQ1fdW5pdERlY2ltYWxzAA5fbWF4TG9ja0Ftb3VudAkAaAIA6AcFDV91bml0RGVjaW1hbHMAA19EdACAuJkpAQRfUHB5AQpsb2NrUGVyaW9kCQBrAwUNX3VuaXREZWNpbWFscwDtAgUKbG9ja1BlcmlvZAANX2luY3JlbWVudFJlZgkAaAIAwIQ9BQ1fdW5pdERlY2ltYWxzAA5fcGVyY2VudGFnZUZlZQkAawMFDV91bml0RGVjaW1hbHMACgBkABpfcGVyY2VudGFnZVJlZHVjdGlvbkZhY3RvcgIpQ3VycmVudF9QZXJjZW50YWdlUmVkdWN0aW9uX0ZhY3Rvcl9Gb3JfTXIAA19NcgIMTWludGluZ19SYXRlAAxfc3Rhd0Fzc2V0SWQCDFN0YXdfQXNzZXRJZAAIX21hbmFnZXICB21hbmFnZXIABF9EZngCA0RmeAAVX2NpcmN1bGF0aW9uSW5jckluZGV4AhlDaXJjdWxhdGlvbkluY3JlbWVudEluZGV4AA5fbGVzc2VlQWRkcmVzcwIJTGVhc2VOb2RlABpfdXNlckVtaXNzaW9uQW1vdW50Q2xhaW1lZAIVRW1pc3Npb25BbW91bnRDbGFpbWVkABtfdXNlckNhbkNsYWltRW1pc3Npb25BbW91bnQCFkNhbkNsYWltRW1pc3Npb25BbW91bnQADF91c2VyQWRkcmVzcwINV2FsbGV0QWRkcmVzcwAUX3VzZXJMb2NhbEluZGV4Q291bnQCFFRvdGFsRW50cnlJbmRleENvdW50ABBfdXNlclRvdGFsTG9ja2VkAgtUb3RhbExvY2tlZAANX2xvY2tEdXJhdGlvbgIMTG9ja0R1cmF0aW9uAApfbG9ja0luZGV4Ag9HbG9iYWxMb2NrSW5kZXgAB19sb2NrSWQCDkxvY2tJZGVudGlmaWVyAAxfd2F2ZXNBbW91bnQCDUFtb3VudEluV2F2ZXMAC19zdGF3QW1vdW50AgxBbW91bnRJblN0YXcADV9zdGF3TFBBbW91bnQCDkFtb3VudEluU3Rhd0xQAAVfdHhJZAIEVFhJRAANX2xvY2tBdEhlaWdodAIMTG9ja0F0SGVpZ2h0ABRfbG9ja1BlcmlvZEluTWlsaVNlYwIUTG9jS1BlcmlvZEluTWlsbGlTZWMAEl90b3RhbFdhdmVzQ2xhaW1lZAIRVG90YWxXYXZlc0NsYWltZWQAD191c2VyTGVhc2VTdGF0ZQIKTGVhc2VTdGF0ZQAKX3RvdGFsU3RhdwIPVG90YWxTdGF3TWludGVkAA5fdG90YWxXYXZlc1JlZgIQVG90YWxXYXZlc0xvY2tlZAAMX3RvdGFsU3Rhd0xQAgtUb3RhbFN0YXdMUAARX2dsb2JhbEluZGV4Q291bnQCCkluZGV4Q291bnQBBV9nZXRJAQNrZXkJAJoIAgUEdGhpcwUDa2V5AQVfZ2V0UwEDa2V5CQCdCAIFBHRoaXMFA2tleQEFX2dldEIBA2tleQkAmwgCBQR0aGlzBQNrZXkBBl9nZXRCVgEDa2V5CQEFdmFsdWUBCQCbCAIFBHRoaXMFA2tleQEGX2dldElWAQNrZXkJAQV2YWx1ZQEJAJoIAgUEdGhpcwUDa2V5AQZfZ2V0U1YBA2tleQkBBXZhbHVlAQkAnQgCBQR0aGlzBQNrZXkBDF9zZXRQYXJhbVZhbAIDa2V5CmRlZmF1bHRWYWwEByRtYXRjaDAFCmRlZmF1bHRWYWwDCQABAgUHJG1hdGNoMAIGU3RyaW5nBApkZWZhdWx0VmFsBQckbWF0Y2gwAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBBl9nZXRTVgEFA2tleQUKZGVmYXVsdFZhbAMJAAECBQckbWF0Y2gwAgNJbnQECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRJAQUDa2V5CQEGX2dldElWAQUDa2V5BQpkZWZhdWx0VmFsAwkAAQIFByRtYXRjaDACB0Jvb2xlYW4ECmRlZmF1bHRWYWwFByRtYXRjaDADCQEJaXNEZWZpbmVkAQkBBV9nZXRCAQUDa2V5CQEGX2dldEJWAQUDa2V5BQpkZWZhdWx0VmFsCQACAQkArAICAh12YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQgZm9yIAUDa2V5AQ9fdGhyb3dPclJldHVyblMCA3ZhbAVlcnJvcgQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEPX3Rocm93T3JSZXR1cm5JAgN2YWwFZXJyb3IEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEA3ZhbAUHJG1hdGNoMAUDdmFsCQACAQUFZXJyb3IBEl90aHJvd09yUmV0dXJuQm9vbAIDdmFsBWVycm9yBAckbWF0Y2gwBQN2YWwDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQDdmFsBQckbWF0Y2gwBQN2YWwJAAIBBQVlcnJvcgEJX3dyaXRlSW50AgNrZXkFdmFsdWUDCQBmAgAABQV2YWx1ZQkAAgEJAKwCAgkArAICCQCsAgICF3dyaXRpbmcgbmVnYXRpdmUgdmFsdWUgCQCkAwEFBXZhbHVlAgkgZm9yIGtleSAFA2tleQkBDEludGVnZXJFbnRyeQIFA2tleQUFdmFsdWUBCV93cml0ZVN0cgIDa2V5BXZhbHVlAwkAAAICASAFBXZhbHVlCQACAQkArAICAhh3cml0aW5nIGFuIGVtcHR5IHN0cmluZyAFBXZhbHVlCQELU3RyaW5nRW50cnkCBQNrZXkFBXZhbHVlAQhfdGhyb3dJZgIJY29uZGl0aW9uBWVycm9yAwUJY29uZGl0aW9uCQACAQUFZXJyb3IGARFfd3JpdGVHbG9iYWxQYXJhbQIDa2V5Bl92YWx1ZQQHJG1hdGNoMAUGX3ZhbHVlAwkAAQIFByRtYXRjaDACA0ludAQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZfdmFsdWUFByRtYXRjaDAEBWVudHJ5CQC5CQIJAMwIAgICJXMJAMwIAgUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQGX3ZhbHVlBQckbWF0Y2gwBAVlbnRyeQkAuQkCCQDMCAICAiViCQDMCAIJAKUDAQUGX3ZhbHVlBQNuaWwFA1NFUAkBCV93cml0ZVN0cgIFA2tleQUFZW50cnkJAAIBAhJ0eXBlIG5vdCBzdXBwb3J0ZWQBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBA2tleQQJX3Jhd1ZhbHVlCQEPX3Rocm93T3JSZXR1cm5TAgkBBV9nZXRTAQUDa2V5Ag9lbnRyeSBub3QgZm91bmQDCQAAAgUJX3Jhd1ZhbHVlBQlfcmF3VmFsdWUEAXgJALUJAgUJX3Jhd1ZhbHVlBQNTRVAED2Zvcm1hdFNwZWNpZmllcgkAsgICCQCRAwIFAXgAAAABBAxfdmFsdWVTdHJpbmcJAJEDAgUBeAkAZQIJAJADAQUBeAABBAZfdmFsdWUDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFzBQxfdmFsdWVTdHJpbmcDCQAAAgUPZm9ybWF0U3BlY2lmaWVyAgFkCQENcGFyc2VJbnRWYWx1ZQEFDF92YWx1ZVN0cmluZwMJAAACBQ9mb3JtYXRTcGVjaWZpZXICAWIJANkEAQUMX3ZhbHVlU3RyaW5nCQACAQkArAICAiNjb3VsZCBub3QgcGFyc2UgcmVnaXN0cnkgdmFsdWUgZm9yIAUDa2V5BQZfdmFsdWUJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BDl9kYXlzVG9NaWxpU2VjAQRkYXlzBAVjaGVjawkBCF90aHJvd0lmAgkAZwIAAAUEZGF5cwIVaW52YWxpZCBsb2NraW5nIGRheXMhAwkAAAIFBWNoZWNrBQVjaGVjawkAaAIFBGRheXMFA19EdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgERX3dyaXRlQ29uc3RTdHJpbmcCA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZVN0cgIFA2tleQUFdmFsdWUJAAIBCQCsAgICG2VudHJ5IGFscmVhZHkgaW5pdGlhbGl6ZWQ6IAUDa2V5ARJfd3JpdGVDb25zdEludGVnZXICA2tleQV2YWx1ZQMJAQEhAQkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFA2tleQkBCV93cml0ZUludAIFA2tleQUFdmFsdWUJAAIBCQCsAgICHCBlbnRyeSBhbHJlYWR5IGluaXRpYWxpemVkOiAFA2tleQEMX29ubHlNYW5hZ2VyAQFpBAdtYW5hZ2VyBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyAwkAAQIFByRtYXRjaDACBlN0cmluZwQDdmFsBQckbWF0Y2gwBQN2YWwCFWZhaWxlZCB0byBnZXQgbWFuYWdlcgMJAAACBQdtYW5hZ2VyBQdtYW5hZ2VyCQEIX3Rocm93SWYCCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMFB21hbmFnZXICFmFkZHJlc3Mgbm90IGF1dGhvcml6ZWQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BBF9hYnMBA3ZhbAMJAGYCAAAFA3ZhbAkBAS0BBQN2YWwFA3ZhbAEQX3ZhbGlkYXRlQWRkcmVzcwEHYWRkcmVzcwQHJG1hdGNoMAUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEB2FkZHJlc3MFByRtYXRjaDAECF9hZGRyZXNzCQCmCAEFB2FkZHJlc3MEByRtYXRjaDEFCF9hZGRyZXNzAwkAAQIFByRtYXRjaDECB0FkZHJlc3MECF9hZGRyZXNzBQckbWF0Y2gxBgkAAgECD2ludmFsaWQgYWRkcmVzcwMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAdhZGRyZXNzBQckbWF0Y2gwBAhfYWRkcmVzcwkApwgBBQdhZGRyZXNzBAckbWF0Y2gxBQhfYWRkcmVzcwMJAAECBQckbWF0Y2gxAgdBZGRyZXNzBAhfYWRkcmVzcwUHJG1hdGNoMQYJAAIBAhJpbnZhbGlkIHB1YmxpYyBrZXkJAAIBAhJpbnZhbGlkIGlucHV0IHR5cGUBDl92YWxpZGF0ZUFzc2V0AQdhc3NldElEBAckbWF0Y2gwCQDsBwEJANkEAQUHYXNzZXRJRAMJAAECBQckbWF0Y2gwAgVBc3NldAQFYXNzZXQFByRtYXRjaDAGCQACAQkArAICAhJpbnZhbGlkIGFzc2V0IGlkOiAFB2Fzc2V0SUQBCl9jb21wdXRlTXIABBBjdXJyZW50Q2lyY0luZGV4BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFFV9jaXJjdWxhdGlvbkluY3JJbmRleAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAihjaXJjdWxhdGlvbiBpbmRleCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgEC3N0YXdBc3NldElkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDF9zdGF3QXNzZXRJZAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAFAXQJAAIBAh9hc3NldCBpZCBub3QgcHJldmlvdXNseSBkZWZpbmVkAwkAAAIFC3N0YXdBc3NldElkBQtzdGF3QXNzZXRJZAQVc3Rhd0NpcmN1bGF0aW5nU3VwcGx5BAckbWF0Y2gwCQDsBwEJANkEAQULc3Rhd0Fzc2V0SWQDCQABAgUHJG1hdGNoMAIFQXNzZXQEBWFzc2V0BQckbWF0Y2gwCAUFYXNzZXQIcXVhbnRpdHkJAAIBCQCsAgICFGFzc2V0IG5vdCBmb3VuZCBmb3IgBQtzdGF3QXNzZXRJZAQNdW5pdEluY3JlbWVudAkAaQIJAQRfYWJzAQkAZQIFFXN0YXdDaXJjdWxhdGluZ1N1cHBseQUNX2luY3JlbWVudFJlZgUNX2luY3JlbWVudFJlZgQXbmV3Q2lyY3VsYXRpb25JbmNySW5kZXgDCQBmAgUNdW5pdEluY3JlbWVudAUQY3VycmVudENpcmNJbmRleAkAZAIFDXVuaXRJbmNyZW1lbnQFEGN1cnJlbnRDaXJjSW5kZXgFEGN1cnJlbnRDaXJjSW5kZXgECWN1cnJlbnRNcgQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQNfTXIDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIbZmFpbGVkIHRvIGdldCBtaW5pdGluZyByYXRlAwkAAAIFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4BRBjdXJyZW50Q2lyY0luZGV4CQCUCgIFCWN1cnJlbnRNcgUDbmlsBBJuZXdyZWR1Y3Rpb25GYWN0b3IEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIpZmFpbGVkIHRvIGdldCBwZXJjZW50YWdlIHJlZHVjdGlvbiBmYWN0b3IEDG5ld0N1cnJlbnRNcgkAZQIFCWN1cnJlbnRNcgkAawMFCWN1cnJlbnRNcgUSbmV3cmVkdWN0aW9uRmFjdG9yAGQEBnN0b3JlMQkBEV93cml0ZUdsb2JhbFBhcmFtAgUDX01yBQxuZXdDdXJyZW50TXIEBnN0b3JlMgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFEm5ld3JlZHVjdGlvbkZhY3RvcgQGc3RvcmUzCQERX3dyaXRlR2xvYmFsUGFyYW0CBRVfY2lyY3VsYXRpb25JbmNySW5kZXgFF25ld0NpcmN1bGF0aW9uSW5jckluZGV4CQCUCgIFDG5ld0N1cnJlbnRNcgkAzAgCBQZzdG9yZTEJAMwIAgUGc3RvcmUyCQDMCAIFBnN0b3JlMwUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuARJfdXBkYXRlR2xvYmFsRW50cnkEC3dhdmVzQW1vdW50CnN0YXdBbW91bnQGc3Rhd1BMCmluZGV4Q291bnQEGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDl90b3RhbFdhdmVzUmVmAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFC3dhdmVzQW1vdW50CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgd2F2ZXMDCQAAAgUaX25ld0dsb2JhbFRvdGFsV2F2ZXNBbXRSZWYFGl9uZXdHbG9iYWxUb3RhbFdhdmVzQW10UmVmBBlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCl90b3RhbFN0YXcDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUKc3Rhd0Ftb3VudAkAAgECJmZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHN0YXcgbWludGVkAwkAAAIFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQFGV9uZXdHbG9iYWxUb3RhbFN0YXdNaW50ZWQEFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQxfdG90YWxTdGF3TFADCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwCQBkAgUBdAUGc3Rhd1BMCQACAQIhZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgc3Rhd3BsAwkAAAIFFV9uZXdHbG9iYWxUb3RhbFN0YXdQTAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMBBNfbmV3R2xvYmFJbmRleENvdW50BAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEV9nbG9iYWxJbmRleENvdW50AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAkAZAIFAXQFCmluZGV4Q291bnQJAAIBAiBmYWlsZWQgdG8gZ2V0IGdsb2JhbCBpbmRleCBjb3VudAMJAAACBRNfbmV3R2xvYmFJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBRpfbmV3R2xvYmFsVG90YWxXYXZlc0FtdFJlZgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQpfdG90YWxTdGF3BRlfbmV3R2xvYmFsVG90YWxTdGF3TWludGVkCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUVX25ld0dsb2JhbFRvdGFsU3Rhd1BMCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFEV9nbG9iYWxJbmRleENvdW50BRNfbmV3R2xvYmFJbmRleENvdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BEl9yZWdpc3RlclVzZXJFbnRyeQ0NdHJhbnNhY3Rpb25JRAt1c2VyQWRkcmVzcwxsb2NrRHVyYXRpb24SbG9ja0R1cmF0aW9uSW5NaWxpCWxvY2tJbmRleAt3YXZlc0Ftb3VudApzdGF3QW1vdW50DHN0YXdMUEFtb3VudAxsb2NrQXRIZWlnaHQGbG9ja0lkC3RvdGFsTG9ja2VkD2xvY2FsSW5kZXhDb3VudApsZWFzZVN0YXRlBAhfdHhJZEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUFX3R4SWQFA25pbAUDU0VQBBBfbG9ja0R1cmF0aW9uS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0R1cmF0aW9uBQNuaWwFA1NFUAQNX2xvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUKX2xvY2tJbmRleAUDbmlsBQNTRVAED193YXZlc0Ftb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQOX3N0YXdBbW91bnRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFC19zdGF3QW1vdW50BQNuaWwFA1NFUAQQX3N0YXdMUEFtb3VudEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUNX3N0YXdMUEFtb3VudAUDbmlsBQNTRVAEEF9sb2NrQXRIZWlnaHRLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9sb2NrQXRIZWlnaHQFA25pbAUDU0VQBApfbG9ja0lkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQdfbG9ja0lkBQNuaWwFA1NFUAQPX3RvdGFsTG9ja2VkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEEl9sb2NhbExvY2tJbmRleEtleQkAuQkCCQDMCAIFC3VzZXJBZGRyZXNzCQDMCAIFFF91c2VyTG9jYWxJbmRleENvdW50BQNuaWwFA1NFUAQXX2xvY2tQZXJpb2RJbk1pbGlTZWNLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFFF9sb2NrUGVyaW9kSW5NaWxpU2VjBQNuaWwFA1NFUAQVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5CQC5CQIJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBRJfdG90YWxXYXZlc0NsYWltZWQFA25pbAUDU0VQBBJfdXNlckxlYXNlU3RhdGVLZXkJALkJAgkAzAgCBQt1c2VyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAECnRyeElkRW50cnkJALkJAgkAzAgCAgIlcwkAzAgCBQ10cmFuc2FjdGlvbklEBQNuaWwFA1NFUAQRbG9ja0R1cmF0aW9uRW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFDGxvY2tEdXJhdGlvbgUDbmlsBQNTRVAEDmxvY2tJbmRleEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQlsb2NrSW5kZXgFA25pbAUDU0VQBBB3YXZlc0Ftb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt3YXZlc0Ftb3VudAUDbmlsBQNTRVAED3N0YXdBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUKc3Rhd0Ftb3VudAUDbmlsBQNTRVAEEXN0YXdMUEFtb3VudEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQxzdGF3TFBBbW91bnQFA25pbAUDU0VQBBFsb2NrQXRIZWlnaHRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUMbG9ja0F0SGVpZ2h0BQNuaWwFA1NFUAQLbG9ja0lkRW50cnkJALkJAgkAzAgCAgIlYgkAzAgCBQZsb2NrSWQFA25pbAUDU0VQBBB0b3RhbExvY2tlZEVudHJ5CQC5CQIJAMwIAgICJWQJAMwIAgkApAMBBQt0b3RhbExvY2tlZAUDbmlsBQNTRVAEE3VzZXJMb2NhbEluZGV4RW50cnkJALkJAgkAzAgCAgIlZAkAzAgCCQCkAwEFD2xvY2FsSW5kZXhDb3VudAUDbmlsBQNTRVAEGGxvY2tQZXJpb2RJbk1pbGlTZWNFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUSbG9ja0R1cmF0aW9uSW5NaWxpBQNuaWwFA1NFUAQWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQAABQNuaWwFA1NFUAQTdXNlckxlYXNlU3RhdGVFbnRyeQkAuQkCCQDMCAICAiVzCQDMCAIFCmxlYXNlU3RhdGUFA25pbAUDU0VQCQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCF90eElkS2V5BQp0cnhJZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFDV9sb2NrSW5kZXhLZXkFDmxvY2tJbmRleEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfbG9jYWxMb2NrSW5kZXhLZXkFE3VzZXJMb2NhbEluZGV4RW50cnkJAMwIAgkBCV93cml0ZVN0cgIFD190b3RhbExvY2tlZEtleQUQdG90YWxMb2NrZWRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRBfbG9ja0R1cmF0aW9uS2V5BRFsb2NrRHVyYXRpb25FbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBRdfbG9ja1BlcmlvZEluTWlsaVNlY0tleQUYbG9ja1BlcmlvZEluTWlsaVNlY0VudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFD193YXZlc0Ftb3VudEtleQUQd2F2ZXNBbW91bnRFbnRyeQkAzAgCCQERX3dyaXRlQ29uc3RTdHJpbmcCBQ5fc3Rhd0Ftb3VudEtleQUPc3Rhd0Ftb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRBfc3Rhd0xQQW1vdW50S2V5BRFzdGF3TFBBbW91bnRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUVX3RvdGFsV2F2ZXNDbGFpbWVkS2V5BRZ0b3RhbFdhdmVzQ2xhaW1lZEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFEF9sb2NrQXRIZWlnaHRLZXkFEWxvY2tBdEhlaWdodEVudHJ5CQDMCAIJARFfd3JpdGVDb25zdFN0cmluZwIFCl9sb2NrSWRLZXkFC2xvY2tJZEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRJfdXNlckxlYXNlU3RhdGVLZXkFE3VzZXJMZWFzZVN0YXRlRW50cnkFA25pbAEHX3N0YXdNRgIKbG9ja1BlcmlvZA9jb2xsYXRlcmFsV2F2ZXMEC19hZGp1c3RlZE1yCQEKX2NvbXB1dGVNcgAEA3JldAkAaAIJAGsDBQ1fdW5pdERlY2ltYWxzCQBoAgUDX0R0CAULX2FkanVzdGVkTXICXzEJAQRfUHB5AQUKbG9ja1BlcmlvZAUPY29sbGF0ZXJhbFdhdmVzAwkAAAIJAJADAQgFC19hZGp1c3RlZE1yAl8yAAAJAJQKAgUDcmV0BQNuaWwJAJQKAgUDcmV0CAULX2FkanVzdGVkTXICXzIBEl9lbWlzc2lvblJhdGVXYXZlcwIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBA9leHRlbnNpb25GYWN0b3IJAGsDBQpsb2NrUGVyaW9kAA8ACgkAaAIJAGkCBQpjb2xsYXRlcmFsCQBlAgkAaAIFCmxvY2tQZXJpb2QFD2V4dGVuc2lvbkZhY3RvcgUKbG9ja1BlcmlvZAUDX0R0ARBfaW5jclRvdGFsU3Rhd0xQAQZhbW91bnQECW9sZFN0YXdMUAkBD190aHJvd09yUmV0dXJuSQIJAQVfZ2V0SQEFDF90b3RhbFN0YXdMUAIgY291bGQgbm90IGdldCB0aGUgcnVubmluZyBTdGF3TFAJAMwIAgkBCV93cml0ZUludAIFDF90b3RhbFN0YXdMUAkAZAIFCW9sZFN0YXdMUAUGYW1vdW50BQNuaWwBEF9kZWNyVG90YWxTdGF3TFABBmFtb3VudAQJb2xkU3Rhd0xQCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUMX3RvdGFsU3Rhd0xQAiBjb3VsZCBub3QgZ2V0IHRoZSBydW5uaW5nIFN0YXdMUAkAzAgCCQEJX3dyaXRlSW50AgUMX3RvdGFsU3Rhd0xQCQBlAgUJb2xkU3Rhd0xQBQZhbW91bnQFA25pbAESX2luY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZAIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAESX2RlY3JUb3RhbFdhdmVzUmVmAQZhbW91bnQEC29sZFdhdmVzUmVmCQEPX3Rocm93T3JSZXR1cm5JAgkBBV9nZXRJAQUOX3RvdGFsV2F2ZXNSZWYCIGNvdWxkIG5vdCBnZXQgdG90YWwgbG9ja2VkIHdhdmVzCQDMCAIJAQlfd3JpdGVJbnQCBQ5fdG90YWxXYXZlc1JlZgkAZQIFC29sZFdhdmVzUmVmBQZhbW91bnQFA25pbAEQX2dldE5ld1RpbWVTdGFtcAELYmxvY2tIZWlnaHQEBHRpbWUEByRtYXRjaDAJAO0HAQULYmxvY2tIZWlnaHQDCQABAgUHJG1hdGNoMAIJQmxvY2tJbmZvBAh0aW1lSW5mbwUHJG1hdGNoMAgFCHRpbWVJbmZvCXRpbWVzdGFtcAkAAgECFGNvdW5sZCBnZXQgdGltZXN0YW1wBQR0aW1lBgFpAQtnZXRFbWlzc2lvbgIKbG9ja1BlcmlvZApjb2xsYXRlcmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxCQCUCgIFA25pbAkBEl9lbWlzc2lvblJhdGVXYXZlcwIFCmxvY2tQZXJpb2QFCmNvbGxhdGVyYWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEEaW5pdAQHbWFuYWdlcgNkZngHYXNzZXRJRAlsZWFzZU5vZGUEFG1hbmFnZXJBbHJlYWR5RXhpc3RzAwkBCWlzRGVmaW5lZAEJAQVfZ2V0UwEFCF9tYW5hZ2VyCQEMX29ubHlNYW5hZ2VyAQUBaQYDCQAAAgUUbWFuYWdlckFscmVhZHlFeGlzdHMFFG1hbmFnZXJBbHJlYWR5RXhpc3RzBAZjaGVjazEJARBfdmFsaWRhdGVBZGRyZXNzAQUHbWFuYWdlcgMJAAACBQZjaGVjazEFBmNoZWNrMQQGY2hlY2syCQEQX3ZhbGlkYXRlQWRkcmVzcwEFA2RmeAMJAAACBQZjaGVjazIFBmNoZWNrMgQGY2hlY2szCQEQX3ZhbGlkYXRlQWRkcmVzcwEFCWxlYXNlTm9kZQMJAAACBQZjaGVjazMFBmNoZWNrMwQGY2hlY2s0CQEOX3ZhbGlkYXRlQXNzZXQBBQdhc3NldElEAwkAAAIFBmNoZWNrNAUGY2hlY2s0BBBjaXJjdWxhdGlvbkluZGV4CQEMX3NldFBhcmFtVmFsAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4AAAEF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQEMX3NldFBhcmFtVmFsAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IAAAQCTXIJAQxfc2V0UGFyYW1WYWwCBQNfTXIFDV91bml0RGVjaW1hbHMED3RvdGFsU3Rhd01pbnRlZAkBDF9zZXRQYXJhbVZhbAIFCl90b3RhbFN0YXcAAAQYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQEMX3NldFBhcmFtVmFsAgUMX3RvdGFsU3Rhd0xQAAAEEGdsb2JhbEluZGV4Q291bnQJAQxfc2V0UGFyYW1WYWwCBRFfZ2xvYmFsSW5kZXhDb3VudAAABA10b3RhbFdhdmVzUmVmCQEMX3NldFBhcmFtVmFsAgUOX3RvdGFsV2F2ZXNSZWYAAAkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQhfbWFuYWdlcgUHbWFuYWdlcgkAzAgCCQERX3dyaXRlR2xvYmFsUGFyYW0CBQRfRGZ4BQNkZngJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUMX3N0YXdBc3NldElkBQdhc3NldElECQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl9sZXNzZWVBZGRyZXNzBQlsZWFzZU5vZGUJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUVX2NpcmN1bGF0aW9uSW5jckluZGV4BRBjaXJjdWxhdGlvbkluZGV4CQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFA19NcgUCTXIJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUaX3BlcmNlbnRhZ2VSZWR1Y3Rpb25GYWN0b3IFF3BlcmNlbnRhZ2VSZWR1Y3Rpb25Jbk1yCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDl90b3RhbFdhdmVzUmVmBQ10b3RhbFdhdmVzUmVmCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFDF90b3RhbFN0YXdMUAUYdG90YWxTdGF3TFBJbkNpcmN1bGF0aW9uCQDMCAIJARFfd3JpdGVHbG9iYWxQYXJhbQIFCl90b3RhbFN0YXcFD3RvdGFsU3Rhd01pbnRlZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEm1vZGlmeUdsb2JhbFBhcmFtcwEDdmFsBAZjaGVjazEJAQxfb25seU1hbmFnZXIBBQFpAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAhlcnJvck1zZwkAuQkCCQDMCAICA2dvdAkAzAgCAgxsaXN0IHNpemUgb2YJAMwIAgkApAMBCQCQAwEFA3ZhbAkAzAgCAiVidXQgZXhwZWN0ZWQgW2dsb2JhbF9rZXksIHZhbHVlXSBwYWlyBQNuaWwCASAEBmNoZWNrMgkBCF90aHJvd0lmAgkBAiE9AgkAkAMBBQN2YWwAAgUIZXJyb3JNc2cDCQAAAgUGY2hlY2syBQZjaGVjazIEA2tleQkAkQMCBQN2YWwAAAQHdmFsVHlwZQkAtgkBCQCRAwIFA3ZhbAABBAckbWF0Y2gwBQd2YWxUeXBlAwkAAQIFByRtYXRjaDACA0ludAQBeAUHJG1hdGNoMAQLdmFsaWRhdGVLZXkJAQhfdGhyb3dJZgIJAAACCQEFX2dldFMBBQNrZXkFBHVuaXQJAKwCAgkArAICAgRrZXkgBQNrZXkCDyBub3QgcmVjb2duaXplZAMJAAACBQt2YWxpZGF0ZUtleQULdmFsaWRhdGVLZXkJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUDa2V5BQF4BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4DCQABAgUHJG1hdGNoMAIEVW5pdAQBeAUHJG1hdGNoMAQLdmFsaWRhdGVLZXkJAQhfdGhyb3dJZgIJAAACCQEFX2dldFMBBQNrZXkFBHVuaXQJAKwCAgkArAICAgRrZXkgBQNrZXkCDyBub3QgcmVjb2duaXplZAMJAAACBQt2YWxpZGF0ZUtleQULdmFsaWRhdGVLZXkEC3N0cmluZ1ZhbHVlCQCRAwIFA3ZhbAABBApyZWZBZGRyZXNzCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFCF9tYW5hZ2VyBAZjaGVjazQEByRtYXRjaDEFCnJlZkFkZHJlc3MDCQABAgUHJG1hdGNoMQIGU3RyaW5nBAdzdHJUeXBlBQckbWF0Y2gxAwkAAAIJALECAQUHc3RyVHlwZQkAsQIBBQtzdHJpbmdWYWx1ZQkBEF92YWxpZGF0ZUFkZHJlc3MBBQtzdHJpbmdWYWx1ZQkBDl92YWxpZGF0ZUFzc2V0AQULc3RyaW5nVmFsdWUJAAIBAhh2YWx1ZSB0eXBlIG5vdCBzdXBwb3J0ZWQDCQAAAgUGY2hlY2s0BQZjaGVjazQJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUDa2V5BQtzdHJpbmdWYWx1ZQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQkArAICAhFmYWlsZWQgdG8gbW9kaWZ5IAkAkQMCBQN2YWwAAAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQpyZXZva2VMb2NrAAQGY2hlY2sxCQEMX29ubHlNYW5hZ2VyAQUBaQMJAAACBQZjaGVjazEFBmNoZWNrMQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWNsYWltAQ10cmFuc2FjdGlvbklEBA1jYWxsZXJBZGRyZXNzCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMEDWNvbGxhdGVyYWxLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUMX3dhdmVzQW1vdW50BQNuaWwFA1NFUAQNbG9ja3BlcmlvZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQ1fbG9ja0R1cmF0aW9uBQNuaWwFA1NFUAQJbG9ja0lkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFB19sb2NrSWQFA25pbAUDU0VQBBNsb2NrcGVyaW9kSW5NaWxpS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFFF9sb2NrUGVyaW9kSW5NaWxpU2VjBQNuaWwFA1NFUAQUdG90YWxXYXZlc0NsYWltZWRLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUSX3RvdGFsV2F2ZXNDbGFpbWVkBQNuaWwFA1NFUAQPc3Rhd0xQQW1vdW50S2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFDV9zdGF3TFBBbW91bnQFA25pbAUDU0VQBA53YXZlc0Ftb3VudEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JRAkAzAgCBQxfd2F2ZXNBbW91bnQFA25pbAUDU0VQBBd1c2VyVG90YWxXYXZlc0xvY2tlZEtleQkAuQkCCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUQX3VzZXJUb3RhbExvY2tlZAUDbmlsBQNTRVAEEXVzZXJMZWFzZVN0YXRlS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBQ10cmFuc2FjdGlvbklECQDMCAIFD191c2VyTGVhc2VTdGF0ZQUDbmlsBQNTRVAEDWxlYXNlU3RhdGVLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFDXRyYW5zYWN0aW9uSUQJAMwIAgUPX3VzZXJMZWFzZVN0YXRlBQNuaWwFA1NFUAQOZ2xvYmFsV2F2ZXNSZWYEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUOX3RvdGFsV2F2ZXNSZWYDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIgZmFpbGVkIHRvIGdldCBnbG9iYWwgdG90YWwgd2F2ZXMDCQAAAgUOZ2xvYmFsV2F2ZXNSZWYFDmdsb2JhbFdhdmVzUmVmBAxnbG9iYWxTdGF3UEwEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUMX3RvdGFsU3Rhd0xQAwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIGZhaWxlZCB0byBnZXQgZ2xvYmFsIHRvdGFsIHdhdmVzAwkAAAIFDGdsb2JhbFN0YXdQTAUMZ2xvYmFsU3Rhd1BMBAZsb2NrSWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUJbG9ja0lkS2V5AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXQFByRtYXRjaDAFAXQJAAIBAhZmYWlsZWQgdG8gZ2V0IGxlYXNlIGlkAwkAAAIFBmxvY2tJZAUGbG9ja0lkBBR1c2VyVG90YWxXYXZlc0xvY2tlZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRd1c2VyVG90YWxXYXZlc0xvY2tlZEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAjBmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGxvY2tlZCBieSB0aGlzIGFkZHJlc3MDCQAAAgUUdXNlclRvdGFsV2F2ZXNMb2NrZWQFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBAt3YXZlc0Ftb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ53YXZlc0Ftb3VudEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiBmYWlsZWQgdG8gZ2V0IHRvdGFsIHdhdmVzIGxvY2tlZAMJAAACBQt3YXZlc0Ftb3VudAULd2F2ZXNBbW91bnQEEXRvdGFsV2F2ZXNDbGFpbWVkBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFFHRvdGFsV2F2ZXNDbGFpbWVkS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECIWZhaWxlZCB0byBnZXQgdG90YWwgd2F2ZXMgY2xhaW1lZAMJAAACBRF0b3RhbFdhdmVzQ2xhaW1lZAURdG90YWxXYXZlc0NsYWltZWQEDHN0YXdMUEFtb3VudAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ9zdGF3TFBBbW91bnRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIUZmFpbGVkIHRvIGdldCBzdGF3UEwDCQAAAgUMc3Rhd0xQQW1vdW50BQxzdGF3TFBBbW91bnQEEGxvY2tQZXJpb2RJbk1pbGkEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUTbG9ja3BlcmlvZEluTWlsaUtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAFAXQJAAIBAiJmYWlsZWQgdG8gZ2V0IGxvY2sgcGVyaW9kIHRpbWVzcGFtAwkAAAIFEGxvY2tQZXJpb2RJbk1pbGkFEGxvY2tQZXJpb2RJbk1pbGkEEGN1cnJlbnRUaW1lU3RhbXAEByRtYXRjaDAJARBfZ2V0TmV3VGltZVN0YW1wAQUGaGVpZ2h0AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECH2ZhaWxlZCB0byBnZXQgY3VycmVudCB0aW1lc3RhbXADCQAAAgUQY3VycmVudFRpbWVTdGFtcAUQY3VycmVudFRpbWVTdGFtcAQKY29sbGF0ZXJhbAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ1jb2xsYXRlcmFsS2V5AwkAAQIFByRtYXRjaDACA0ludAQBdAUHJG1hdGNoMAUBdAkAAgECGGZhaWxlZCB0byBnZXQgY29sbGF0ZXJhbAMJAAACBQpjb2xsYXRlcmFsBQpjb2xsYXRlcmFsBApsb2NrUGVyaW9kBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDWxvY2twZXJpb2RLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF0BQckbWF0Y2gwBQF0CQACAQIYZmFpbGVkIHRvIGdldCBsb2NrUGVyaW9kAwkAAAIFCmxvY2tQZXJpb2QFCmxvY2tQZXJpb2QEEWN1cnJlbnRMZWFzZVN0YXRlBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFEXVzZXJMZWFzZVN0YXRlS2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAUBdAkAAgECGWZhaWxlZCB0byBnZXQgbGVhc2Ugc3RhdGUDCQAAAgURY3VycmVudExlYXNlU3RhdGUFEWN1cnJlbnRMZWFzZVN0YXRlBApsZWFzZVN0YXRlBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFDWxlYXNlU3RhdGVLZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwBQF0CQACAQIiZmFpbGVkIHRvIGdldCBsZWFzZSBzdGF0ZSBmb3IgdXNlcgMJAAACBQpsZWFzZVN0YXRlBQpsZWFzZVN0YXRlBAZjaGVjazEJAQhfdGhyb3dJZgIJAGYCBRBsb2NrUGVyaW9kSW5NaWxpBRBjdXJyZW50VGltZVN0YW1wAipsb2NrIHBlcmlvZCBmb3IgdGhpcyBlbnRyeSBoYXMgbm90IGVsYXBzZWQDCQAAAgUGY2hlY2sxBQZjaGVjazEEC2xlYXNlQWN0aW9uAwkAAAIFEWN1cnJlbnRMZWFzZVN0YXRlAgZsZWFzZWQJAJQKAgkBC0xlYXNlQ2FuY2VsAQUGbG9ja0lkCQEJX3dyaXRlU3RyAgURdXNlckxlYXNlU3RhdGVLZXkCCWNhbmNlbGxlZAkAlAoCCQEJX3dyaXRlU3RyAgURdXNlckxlYXNlU3RhdGVLZXkCCWNhbmNlbGxlZAkBCV93cml0ZVN0cgIFEXVzZXJMZWFzZVN0YXRlS2V5AgljYW5jZWxsZWQDCQAAAgULbGVhc2VBY3Rpb24FC2xlYXNlQWN0aW9uBAZjaGVjazIJAQhfdGhyb3dJZgIDCQAAAgAABQt3YXZlc0Ftb3VudAYJAAACAAAFDHN0YXdMUEFtb3VudAIhYWxsIGNsYWltcyBleGhhdXN0ZWQgZm9yIHRoaXMgdHJ4AwkAAAIFBmNoZWNrMgUGY2hlY2syBBJlbWlzc2lvblZhbHVlUGVyRFQJAGgCCQESX2VtaXNzaW9uUmF0ZVdhdmVzAgUKbG9ja1BlcmlvZAUKY29sbGF0ZXJhbAUDX0R0BAtjbGFpbUFjdGlvbgQNdGltZVN0YW1wRGlmZgkAZQIFEGN1cnJlbnRUaW1lU3RhbXAFEGxvY2tQZXJpb2RJbk1pbGkEGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkCQBpAgUNdGltZVN0YW1wRGlmZgUDX0R0AwkAAAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkAAAJAAIBAiJsZXNzIHRoYW4gMjRocnMgYmVmb3JlIGZpcnN0IGNsYWltAwkBAiE9AgkAagIFDXRpbWVTdGFtcERpZmYFA19EdAAACQACAQI0YWxyZWFkeSBjbGFpbWVkIG9yIGxlc3MgdGhhbiAyNGhycyBiZWZvcmUgbmV4dCBjbGFpbQMJAGYCBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAUKbG9ja1BlcmlvZAkAAgECFGFsbCBjbGFpbXMgZXhoYXVzdGVkBBR0b3RhbEFtb3VudENsYWltYWJsZQkAaAIFGmRheXNBZnRlckxvY2tQZXJpb2RFbGFzcGVkBRJlbWlzc2lvblZhbHVlUGVyRFQECGNoZWNrM18xCQEIX3Rocm93SWYCCQAAAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkAhxjYW4gb25seSBjbGFpbSBvbmNlIGluIDI0aHJzAwkAAAIFCGNoZWNrM18xBQhjaGVjazNfMQQIY2hlY2szXzIJAQhfdGhyb3dJZgIJAGYCCQBkAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBQt3YXZlc0Ftb3VudAIUYWxsIGNsYWltcyBleGhhdXN0ZWQDCQAAAgUIY2hlY2szXzIFCGNoZWNrM18yBBFjbGFpbUFtb3VudFRvU2VuZAMJAAACBRpkYXlzQWZ0ZXJMb2NrUGVyaW9kRWxhc3BlZAABBRR0b3RhbEFtb3VudENsYWltYWJsZQkAZQIFFHRvdGFsQW1vdW50Q2xhaW1hYmxlBRF0b3RhbFdhdmVzQ2xhaW1lZAQSbmV3VG90YWxXYXZlc0NsYWltBRR0b3RhbEFtb3VudENsYWltYWJsZQQObmV3V2F2ZXNBbW91bnQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQkAZQIFC3dhdmVzQW1vdW50BRR0b3RhbEFtb3VudENsYWltYWJsZQkAZQIFC3dhdmVzQW1vdW50CQBlAgUUdG90YWxBbW91bnRDbGFpbWFibGUFEXRvdGFsV2F2ZXNDbGFpbWVkBA9uZXdTdGF3TFBBbW91bnQDCQAAAgUaZGF5c0FmdGVyTG9ja1BlcmlvZEVsYXNwZWQAAQkAZQIFDHN0YXdMUEFtb3VudAUUdG90YWxBbW91bnRDbGFpbWFibGUJAGUCBQxzdGF3TFBBbW91bnQJAGUCBRR0b3RhbEFtb3VudENsYWltYWJsZQURdG90YWxXYXZlc0NsYWltZWQEEG5ld0dsb2JhbFdhdmVSZWYJAGUCBQ5nbG9iYWxXYXZlc1JlZgUObmV3V2F2ZXNBbW91bnQED25ld0dsb2JhbFN0YXdQTAkAZQIFDGdsb2JhbFN0YXdQTAUPbmV3U3Rhd0xQQW1vdW50BBduZXdVc2VyVG90YWxXYXZlc0xvY2tlZAkAZQIFFHVzZXJUb3RhbFdhdmVzTG9ja2VkBRFjbGFpbUFtb3VudFRvU2VuZAQQd2F2ZXNBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUObmV3V2F2ZXNBbW91bnQFA25pbAUDU0VQBBFzdGF3TFBBbW91bnRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUPbmV3U3Rhd0xQQW1vdW50BQNuaWwFA1NFUAQWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUSbmV3VG90YWxXYXZlc0NsYWltBQNuaWwFA1NFUAQcbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWRFbnRyeQkAuQkCCQDMCAICAiVkCQDMCAIJAKQDAQUXbmV3VXNlclRvdGFsV2F2ZXNMb2NrZWQFA25pbAUDU0VQCQDMCAIIBQtsZWFzZUFjdGlvbgJfMQkAzAgCCAULbGVhc2VBY3Rpb24CXzIJAMwIAgkBCV93cml0ZVN0cgIFDndhdmVzQW1vdW50S2V5BRB3YXZlc0Ftb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBQ9zdGF3TFBBbW91bnRLZXkFEXN0YXdMUEFtb3VudEVudHJ5CQDMCAIJAQlfd3JpdGVTdHICBRR0b3RhbFdhdmVzQ2xhaW1lZEtleQUWdG90YWxXYXZlc0NsYWltZWRFbnRyeQkAzAgCCQEJX3dyaXRlU3RyAgUXdXNlclRvdGFsV2F2ZXNMb2NrZWRLZXkFHG5ld1VzZXJUb3RhbFdhdmVzTG9ja2VkRW50cnkJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUOX3RvdGFsV2F2ZXNSZWYFEG5ld0dsb2JhbFdhdmVSZWYJAMwIAgkBEV93cml0ZUdsb2JhbFBhcmFtAgUMX3RvdGFsU3Rhd0xQBQ9uZXdHbG9iYWxTdGF3UEwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCAgFAWkGY2FsbGVyBWJ5dGVzBRFjbGFpbUFtb3VudFRvU2VuZAUEdW5pdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIFC2NsYWltQWN0aW9uBQtjbGFpbUFjdGlvbgULY2xhaW1BY3Rpb24JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIbWludFN0YXcBCmxvY2tQZXJpb2QEDWNhbGxlckFkZHJlc3MJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQFdHJ4SUQJANgEAQgFAWkNdHJhbnNhY3Rpb25JZAQGY2hlY2sxCQEIX3Rocm93SWYCCQECIT0CAAEJAJADAQgFAWkIcGF5bWVudHMCFG5vIHBheW1lbnRzIGF0dGFjaGVkAwkAAAIFBmNoZWNrMQUGY2hlY2sxBAZjaGVjazIDCQEJaXNEZWZpbmVkAQgJAJEDAggFAWkIcGF5bWVudHMAAAdhc3NldElkCQACAQIUb25seSB3YXZlcyBzdXBwb3J0ZWQGAwkAAAIFBmNoZWNrMgUGY2hlY2syBA1hbW91bnRJbldhdmVzCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQGY2hlY2szAwMJAGYCBQ5fbWluTG9ja0Ftb3VudAUNYW1vdW50SW5XYXZlcwYJAGYCBQ1hbW91bnRJbldhdmVzBQ5fbWF4TG9ja0Ftb3VudAkAAgECP2xvY2sgYW1vdW50IG91dCBvZiByYW5nZSwgbWluaW11bTogMSB3YXZlcywgbWF4aW11bTogMTAwMCB3YXZlcwYDCQAAAgUGY2hlY2szBQZjaGVjazMEBmNoZWNrNAMJAGYCBQ5fbWluTG9ja3BlcmlvZAUKbG9ja1BlcmlvZAkAAgECHm1pbmltdW0gb2YgMTQgZGF5cyBsb2NrIHBlcmlvZAYDCQAAAgUGY2hlY2s0BQZjaGVjazQEDXRvdGFsU3Rhd01pbnQJAQdfc3Rhd01GAgUKbG9ja1BlcmlvZAUNYW1vdW50SW5XYXZlcwQGc3Rhd1BMBQ1hbW91bnRJbldhdmVzBANmZWUJAGsDCAUNdG90YWxTdGF3TWludAJfMQAKAGQEEXVzZXJHZXRTdGF3QW1vdW50CQBlAggFDXRvdGFsU3Rhd01pbnQCXzEFA2ZlZQQTbG9ja1BlcmlvZFRvTWlsaXNlYwkAZAIJARBfZ2V0TmV3VGltZVN0YW1wAQUGaGVpZ2h0CQEOX2RheXNUb01pbGlTZWMBBQpsb2NrUGVyaW9kAwkAAAIFE2xvY2tQZXJpb2RUb01pbGlzZWMFE2xvY2tQZXJpb2RUb01pbGlzZWMECW5ld19pbmRleAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRFfZ2xvYmFsSW5kZXhDb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAXQFByRtYXRjaDAJAGQCBQF0AAEJAAIBAihmYWlsZWQgdG8gZ2V0IGN1cnJlbnQgZ2xvYmFsIGluZGV4IGNvdW50AwkAAAIFCW5ld19pbmRleAUJbmV3X2luZGV4BAphZGRyZXNzRmVlBAckbWF0Y2gwCQEWX2dldFJlZ2lzdHJ5RW50cnlWYWx1ZQEFBF9EZngDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQEHQWRkcmVzcwEJANkEAQUBdAkAAgECGWZhaWxlZCB0byBnZXQgZGZ4IGFkZHJlc3MDCQAAAgUKYWRkcmVzc0ZlZQUKYWRkcmVzc0ZlZQQLc3Rhd0Fzc2V0SWQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUMX3N0YXdBc3NldElkAwkAAQIFByRtYXRjaDACBlN0cmluZwQBdAUHJG1hdGNoMAkA2QQBBQF0CQACAQIWZmFpbGVkIHRvIGdldCBhc3NldCBpZAMJAAACBQtzdGF3QXNzZXRJZAULc3Rhd0Fzc2V0SWQEBmxlc3NlZQQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBQ5fbGVzc2VlQWRkcmVzcwMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJAQdBZGRyZXNzAQkA2QQBBQF0CQACAQIgZmFpbGVkIHRvIGdldCBsZWFzZSBub2RlIGFkZHJlc3MDCQAAAgUGbGVzc2VlBQZsZXNzZWUEEHVzZXJMb2NrSW5kZXhLZXkJALkJAgkAzAgCBQ1jYWxsZXJBZGRyZXNzCQDMCAIFFF91c2VyTG9jYWxJbmRleENvdW50BQNuaWwFA1NFUAQSdXNlclRvdGFsTG9ja2VkS2V5CQC5CQIJAMwIAgUNY2FsbGVyQWRkcmVzcwkAzAgCBRBfdXNlclRvdGFsTG9ja2VkBQNuaWwFA1NFUAQOdXNlckluZGV4Q291bnQEByRtYXRjaDAJARZfZ2V0UmVnaXN0cnlFbnRyeVZhbHVlAQUQdXNlckxvY2tJbmRleEtleQMJAAECBQckbWF0Y2gwAgNJbnQEAXgFByRtYXRjaDAJAGQCBQF4AAEAAAMJAAACBQ51c2VySW5kZXhDb3VudAUOdXNlckluZGV4Q291bnQED3VzZXJUb3RhbExvY2tlZAQHJG1hdGNoMAkBFl9nZXRSZWdpc3RyeUVudHJ5VmFsdWUBBRJ1c2VyVG90YWxMb2NrZWRLZXkDCQABAgUHJG1hdGNoMAIDSW50BAF4BQckbWF0Y2gwCQBkAgUBeAUNYW1vdW50SW5XYXZlcwUNYW1vdW50SW5XYXZlcwMJAAACBQ91c2VyVG90YWxMb2NrZWQFD3VzZXJUb3RhbExvY2tlZAQIbGVhc2VPdXQJAMQIAgUGbGVzc2VlBQ1hbW91bnRJbldhdmVzAwkAAAIFCGxlYXNlT3V0BQhsZWFzZU91dAQKbGVhc2VJZFN0cgkA2AQBCQC5CAEFCGxlYXNlT3V0AwkAAAIFCmxlYXNlSWRTdHIFCmxlYXNlSWRTdHIJAM4IAgkAzggCCQDOCAIJAMwIAgUIbGVhc2VPdXQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUKYWRkcmVzc0ZlZQUDZmVlBQtzdGF3QXNzZXRJZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFEXVzZXJHZXRTdGF3QW1vdW50BQtzdGF3QXNzZXRJZAUDbmlsCQESX3JlZ2lzdGVyVXNlckVudHJ5DQUFdHJ4SUQFDWNhbGxlckFkZHJlc3MFCmxvY2tQZXJpb2QFE2xvY2tQZXJpb2RUb01pbGlzZWMFCW5ld19pbmRleAUNYW1vdW50SW5XYXZlcwURdXNlckdldFN0YXdBbW91bnQFBnN0YXdQTAUGaGVpZ2h0BQpsZWFzZUlkU3RyBQ91c2VyVG90YWxMb2NrZWQFDnVzZXJJbmRleENvdW50AgZsZWFzZWQJARJfdXBkYXRlR2xvYmFsRW50cnkEBQ1hbW91bnRJbldhdmVzCAUNdG90YWxTdGF3TWludAJfMQUGc3Rhd1BMBQluZXdfaW5kZXgIBQ10b3RhbFN0YXdNaW50Al8yCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAN1dU6Q=", "height": 2492530, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 7uvEcmkKYCMZoxPwoXyTD8wAWjd7BwGwgBs2wkE44Vtv Next: 2mpv6umohyuNVKvESwUrY9acrJvsuqhcR9NVgpvVxMgD Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "_"
55
66 let b = 1
77
88 let c = 100000000
99
1010 let d = (1 * c)
1111
1212 let e = (1000 * c)
1313
1414 let f = 86400000
1515
1616 func g (h) = fraction(c, 365, h)
1717
1818
1919 let i = (1000000 * c)
2020
2121 let j = fraction(c, 10, 100)
2222
2323 let k = "Current_PercentageReduction_Factor_For_Mr"
2424
2525 let l = "Minting_Rate"
2626
2727 let m = "Staw_AssetId"
2828
2929 let n = "manager"
3030
3131 let o = "Dfx"
3232
3333 let p = "CirculationIncrementIndex"
3434
3535 let q = "LeaseNode"
3636
3737 let r = "EmissionAmountClaimed"
3838
3939 let s = "CanClaimEmissionAmount"
4040
4141 let t = "WalletAddress"
4242
4343 let u = "TotalEntryIndexCount"
4444
4545 let v = "TotalLocked"
4646
4747 let w = "LockDuration"
4848
4949 let x = "GlobalLockIndex"
5050
5151 let y = "LockIdentifier"
5252
5353 let z = "AmountInWaves"
5454
5555 let A = "AmountInStaw"
5656
5757 let B = "AmountInStawLP"
5858
5959 let C = "TXID"
6060
6161 let D = "LockAtHeight"
6262
6363 let E = "LocKPeriodInMilliSec"
6464
6565 let F = "TotalWavesClaimed"
6666
6767 let G = "LeaseState"
6868
6969 let H = "TotalStawMinted"
7070
7171 let I = "TotalWavesLocked"
7272
7373 let J = "TotalStawLP"
7474
7575 let K = "IndexCount"
7676
7777 func L (M) = getInteger(this, M)
7878
7979
8080 func N (M) = getString(this, M)
8181
8282
8383 func O (M) = getBoolean(this, M)
8484
8585
8686 func P (M) = value(getBoolean(this, M))
8787
8888
8989 func Q (M) = value(getInteger(this, M))
9090
9191
9292 func R (M) = value(getString(this, M))
9393
9494
9595 func S (M,T) = {
9696 let U = T
9797 if ($isInstanceOf(U, "String"))
9898 then {
9999 let T = U
100100 if (isDefined(N(M)))
101101 then R(M)
102102 else T
103103 }
104104 else if ($isInstanceOf(U, "Int"))
105105 then {
106106 let T = U
107107 if (isDefined(L(M)))
108108 then Q(M)
109109 else T
110110 }
111111 else if ($isInstanceOf(U, "Boolean"))
112112 then {
113113 let T = U
114114 if (isDefined(O(M)))
115115 then P(M)
116116 else T
117117 }
118118 else throw(("value type not supported for " + M))
119119 }
120120
121121
122122 func V (W,X) = {
123123 let U = W
124124 if ($isInstanceOf(U, "String"))
125125 then {
126126 let W = U
127127 W
128128 }
129129 else throw(X)
130130 }
131131
132132
133133 func Y (W,X) = {
134134 let U = W
135135 if ($isInstanceOf(U, "Int"))
136136 then {
137137 let W = U
138138 W
139139 }
140140 else throw(X)
141141 }
142142
143143
144144 func Z (W,X) = {
145145 let U = W
146146 if ($isInstanceOf(U, "Boolean"))
147147 then {
148148 let W = U
149149 W
150150 }
151151 else throw(X)
152152 }
153153
154154
155155 func aa (M,ab) = if ((0 > ab))
156156 then throw(((("writing negative value " + toString(ab)) + " for key ") + M))
157157 else IntegerEntry(M, ab)
158158
159159
160160 func ac (M,ab) = if ((" " == ab))
161161 then throw(("writing an empty string " + ab))
162162 else StringEntry(M, ab)
163163
164164
165165 func ad (ae,X) = if (ae)
166166 then throw(X)
167167 else true
168168
169169
170170 func af (M,ag) = {
171171 let U = ag
172172 if ($isInstanceOf(U, "Int"))
173173 then {
174174 let ag = U
175175 let ah = makeString(["%d", toString(ag)], a)
176176 ac(M, ah)
177177 }
178178 else if ($isInstanceOf(U, "String"))
179179 then {
180180 let ag = U
181181 let ah = makeString(["%s", ag], a)
182182 ac(M, ah)
183183 }
184184 else if ($isInstanceOf(U, "Boolean"))
185185 then {
186186 let ag = U
187187 let ah = makeString(["%b", toString(ag)], a)
188188 ac(M, ah)
189189 }
190190 else throw("type not supported")
191191 }
192192
193193
194194 func ai (M) = {
195195 let aj = V(N(M), "entry not found")
196196 if ((aj == aj))
197197 then {
198198 let ak = split(aj, a)
199199 let al = takeRight(ak[0], 1)
200200 let am = ak[(size(ak) - 1)]
201201 let ag = if ((al == "s"))
202202 then am
203203 else if ((al == "d"))
204204 then parseIntValue(am)
205205 else if ((al == "b"))
206206 then fromBase58String(am)
207207 else throw(("could not parse registry value for " + M))
208208 ag
209209 }
210210 else throw("Strict value is not equal to itself.")
211211 }
212212
213213
214214 func an (ao) = {
215215 let ap = ad((0 >= ao), "invalid locking days!")
216216 if ((ap == ap))
217217 then (ao * f)
218218 else throw("Strict value is not equal to itself.")
219219 }
220220
221221
222222 func aq (M,ab) = if (!(isDefined(N(M))))
223223 then ac(M, ab)
224224 else throw(("entry already initialized: " + M))
225225
226226
227227 func ar (M,ab) = if (!(isDefined(N(M))))
228228 then aa(M, ab)
229229 else throw((" entry already initialized: " + M))
230230
231231
232232 func as (at) = {
233233 let au = {
234234 let U = ai(n)
235235 if ($isInstanceOf(U, "String"))
236236 then {
237237 let W = U
238238 W
239239 }
240240 else "failed to get manager"
241241 }
242242 if ((au == au))
243243 then ad((toBase58String(at.caller.bytes) != au), "address not authorized")
244244 else throw("Strict value is not equal to itself.")
245245 }
246246
247247
248248 func av (W) = if ((0 > W))
249249 then -(W)
250250 else W
251251
252252
253253 func aw (ax) = {
254254 let U = ax
255255 if ($isInstanceOf(U, "String"))
256256 then {
257257 let ax = U
258258 let ay = addressFromString(ax)
259259 let az = ay
260260 if ($isInstanceOf(az, "Address"))
261261 then {
262262 let ay = az
263263 true
264264 }
265265 else throw("invalid address")
266266 }
267267 else if ($isInstanceOf(U, "ByteVector"))
268268 then {
269269 let ax = U
270270 let ay = addressFromPublicKey(ax)
271271 let az = ay
272272 if ($isInstanceOf(az, "Address"))
273273 then {
274274 let ay = az
275275 true
276276 }
277277 else throw("invalid public key")
278278 }
279279 else throw("invalid input type")
280280 }
281281
282282
283283 func aA (aB) = {
284284 let U = assetInfo(fromBase58String(aB))
285285 if ($isInstanceOf(U, "Asset"))
286286 then {
287287 let aC = U
288288 true
289289 }
290290 else throw(("invalid asset id: " + aB))
291291 }
292292
293293
294294 func aD () = {
295295 let aE = {
296296 let U = ai(p)
297297 if ($isInstanceOf(U, "Int"))
298298 then {
299299 let aF = U
300300 aF
301301 }
302302 else throw("circulation index not previously defined")
303303 }
304304 if ((aE == aE))
305305 then {
306306 let aG = {
307307 let U = ai(m)
308308 if ($isInstanceOf(U, "String"))
309309 then {
310310 let aF = U
311311 aF
312312 }
313313 else throw("asset id not previously defined")
314314 }
315315 if ((aG == aG))
316316 then {
317317 let aH = {
318318 let U = assetInfo(fromBase58String(aG))
319319 if ($isInstanceOf(U, "Asset"))
320320 then {
321321 let aC = U
322322 aC.quantity
323323 }
324324 else throw(("asset not found for " + aG))
325325 }
326326 let aI = (av((aH - i)) / i)
327327 let aJ = if ((aI > aE))
328328 then (aI + aE)
329329 else aE
330330 let aK = {
331331 let U = ai(l)
332332 if ($isInstanceOf(U, "Int"))
333333 then {
334334 let aF = U
335335 aF
336336 }
337337 else throw("failed to get miniting rate")
338338 }
339339 if ((aJ == aE))
340340 then $Tuple2(aK, nil)
341341 else {
342342 let aL = {
343343 let U = ai(k)
344344 if ($isInstanceOf(U, "Int"))
345345 then {
346346 let aF = U
347347 aF
348348 }
349349 else throw("failed to get percentage reduction factor")
350350 }
351351 let aM = (aK - fraction(aK, aL, 100))
352352 let aN = af(l, aM)
353353 let aO = af(k, aL)
354354 let aP = af(p, aJ)
355355 $Tuple2(aM, [aN, aO, aP])
356356 }
357357 }
358358 else throw("Strict value is not equal to itself.")
359359 }
360360 else throw("Strict value is not equal to itself.")
361361 }
362362
363363
364364 func aQ (aR,aS,aT,aU) = {
365365 let aV = {
366366 let U = ai(I)
367367 if ($isInstanceOf(U, "Int"))
368368 then {
369369 let aF = U
370370 (aF + aR)
371371 }
372372 else throw("failed to get global total waves")
373373 }
374374 if ((aV == aV))
375375 then {
376376 let aW = {
377377 let U = ai(H)
378378 if ($isInstanceOf(U, "Int"))
379379 then {
380380 let aF = U
381381 (aF + aS)
382382 }
383383 else throw("failed to get global total staw minted")
384384 }
385385 if ((aW == aW))
386386 then {
387387 let aX = {
388388 let U = ai(J)
389389 if ($isInstanceOf(U, "Int"))
390390 then {
391391 let aF = U
392392 (aF + aT)
393393 }
394394 else throw("failed to get global total stawpl")
395395 }
396396 if ((aX == aX))
397397 then {
398398 let aY = {
399399 let U = ai(K)
400400 if ($isInstanceOf(U, "Int"))
401401 then {
402402 let aF = U
403403 (aF + aU)
404404 }
405405 else throw("failed to get global index count")
406406 }
407407 if ((aY == aY))
408408 then [af(I, aV), af(H, aW), af(J, aX), af(K, aY)]
409409 else throw("Strict value is not equal to itself.")
410410 }
411411 else throw("Strict value is not equal to itself.")
412412 }
413413 else throw("Strict value is not equal to itself.")
414414 }
415415 else throw("Strict value is not equal to itself.")
416416 }
417417
418418
419419 func aZ (ba,bb,bc,bd,be,aR,aS,bf,bg,bh,bi,bj,bk) = {
420420 let bl = makeString([bb, ba, C], a)
421421 let bm = makeString([bb, ba, w], a)
422422 let bn = makeString([bb, ba, x], a)
423423 let bo = makeString([bb, ba, z], a)
424424 let bp = makeString([bb, ba, A], a)
425425 let bq = makeString([bb, ba, B], a)
426426 let br = makeString([bb, ba, D], a)
427427 let bs = makeString([bb, ba, y], a)
428428 let bt = makeString([bb, v], a)
429429 let bu = makeString([bb, u], a)
430430 let bv = makeString([bb, ba, E], a)
431431 let bw = makeString([bb, ba, F], a)
432432 let bx = makeString([bb, ba, G], a)
433433 let by = makeString(["%s", ba], a)
434434 let bz = makeString(["%d", toString(bc)], a)
435435 let bA = makeString(["%d", toString(be)], a)
436436 let bB = makeString(["%d", toString(aR)], a)
437437 let bC = makeString(["%d", toString(aS)], a)
438438 let bD = makeString(["%d", toString(bf)], a)
439439 let bE = makeString(["%d", toString(bg)], a)
440440 let bF = makeString(["%b", bh], a)
441441 let bG = makeString(["%d", toString(bi)], a)
442442 let bH = makeString(["%d", toString(bj)], a)
443443 let bI = makeString(["%d", toString(bd)], a)
444444 let bJ = makeString(["%d", toString(0)], a)
445445 let bK = makeString(["%s", bk], a)
446446 [aq(bl, by), aq(bn, bA), ac(bu, bH), ac(bt, bG), aq(bm, bz), aq(bv, bI), aq(bo, bB), aq(bp, bC), ac(bq, bD), ac(bw, bJ), aq(br, bE), aq(bs, bF), ac(bx, bK)]
447447 }
448448
449449
450450 func bL (h,bM) = {
451451 let bN = aD()
452452 let bO = (fraction(c, (f * bN._1), g(h)) * bM)
453453 if ((size(bN._2) == 0))
454454 then $Tuple2(bO, nil)
455455 else $Tuple2(bO, bN._2)
456456 }
457457
458458
459459 func bP (h,bQ) = {
460460 let bR = fraction(h, 15, 10)
461461 ((bQ / ((h * bR) - h)) * f)
462462 }
463463
464464
465465 func bS (bT) = {
466466 let bU = Y(L(J), "could not get the running StawLP")
467467 [aa(J, (bU + bT))]
468468 }
469469
470470
471471 func bV (bT) = {
472472 let bU = Y(L(J), "could not get the running StawLP")
473473 [aa(J, (bU - bT))]
474474 }
475475
476476
477477 func bW (bT) = {
478478 let bX = Y(L(I), "could not get total locked waves")
479479 [aa(I, (bX + bT))]
480480 }
481481
482482
483483 func bY (bT) = {
484484 let bX = Y(L(I), "could not get total locked waves")
485485 [aa(I, (bX - bT))]
486486 }
487487
488488
489489 func bZ (ca) = {
490490 let cb = {
491491 let U = blockInfoByHeight(ca)
492492 if ($isInstanceOf(U, "BlockInfo"))
493493 then {
494494 let cc = U
495495 cc.timestamp
496496 }
497497 else throw("counld get timestamp")
498498 }
499499 cb
500500 }
501501
502502
503503 @Callable(at)
504504 func getEmission (h,bQ) = {
505505 let cd = as(at)
506506 if ((cd == cd))
507507 then $Tuple2(nil, bP(h, bQ))
508508 else throw("Strict value is not equal to itself.")
509509 }
510510
511511
512512
513513 @Callable(at)
514514 func init (au,ce,aB,cf) = {
515515 let cg = if (isDefined(N(n)))
516516 then as(at)
517517 else true
518518 if ((cg == cg))
519519 then {
520520 let cd = aw(au)
521521 if ((cd == cd))
522522 then {
523523 let ch = aw(ce)
524524 if ((ch == ch))
525525 then {
526526 let ci = aw(cf)
527527 if ((ci == ci))
528528 then {
529529 let cj = aA(aB)
530530 if ((cj == cj))
531531 then {
532532 let ck = S(p, 0)
533533 let cl = S(k, 0)
534534 let cm = S(l, c)
535535 let cn = S(H, 0)
536536 let co = S(J, 0)
537537 let cp = S(K, 0)
538538 let cq = S(I, 0)
539539 [af(n, au), af(o, ce), af(m, aB), af(q, cf), af(p, ck), af(l, cm), af(k, cl), af(I, cq), af(J, co), af(H, cn)]
540540 }
541541 else throw("Strict value is not equal to itself.")
542542 }
543543 else throw("Strict value is not equal to itself.")
544544 }
545545 else throw("Strict value is not equal to itself.")
546546 }
547547 else throw("Strict value is not equal to itself.")
548548 }
549549 else throw("Strict value is not equal to itself.")
550550 }
551551
552552
553553
554554 @Callable(at)
555555 func modifyGlobalParams (W) = {
556556 let cd = as(at)
557557 if ((cd == cd))
558558 then {
559559 let cr = makeString(["got", "list size of", toString(size(W)), "but expected [global_key, value] pair"], " ")
560560 let ch = ad((size(W) != 2), cr)
561561 if ((ch == ch))
562562 then {
563563 let M = W[0]
564564 let cs = parseInt(W[1])
565565 let U = cs
566566 if ($isInstanceOf(U, "Int"))
567567 then {
568568 let ak = U
569569 let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
570570 if ((ct == ct))
571571 then [af(M, ak)]
572572 else throw("Strict value is not equal to itself.")
573573 }
574574 else if ($isInstanceOf(U, "Unit"))
575575 then {
576576 let ak = U
577577 let ct = ad((N(M) == unit), (("key " + M) + " not recognized"))
578578 if ((ct == ct))
579579 then {
580580 let cu = W[1]
581581 let cv = ai(n)
582582 let cj = {
583583 let az = cv
584584 if ($isInstanceOf(az, "String"))
585585 then {
586586 let cw = az
587587 if ((size(cw) == size(cu)))
588588 then aw(cu)
589589 else aA(cu)
590590 }
591591 else throw("value type not supported")
592592 }
593593 if ((cj == cj))
594594 then [af(M, cu)]
595595 else throw("Strict value is not equal to itself.")
596596 }
597597 else throw("Strict value is not equal to itself.")
598598 }
599599 else throw(("failed to modify " + W[0]))
600600 }
601601 else throw("Strict value is not equal to itself.")
602602 }
603603 else throw("Strict value is not equal to itself.")
604604 }
605605
606606
607607
608608 @Callable(at)
609609 func revokeLock () = {
610610 let cd = as(at)
611611 if ((cd == cd))
612612 then nil
613613 else throw("Strict value is not equal to itself.")
614614 }
615615
616616
617617
618618 @Callable(at)
619619 func claim (ba) = {
620620 let cx = toBase58String(at.caller.bytes)
621621 let cy = makeString([cx, ba, z], a)
622622 let cz = makeString([cx, ba, w], a)
623623 let cA = makeString([cx, ba, y], a)
624624 let cB = makeString([cx, ba, E], a)
625625 let cC = makeString([cx, ba, F], a)
626626 let cD = makeString([cx, ba, B], a)
627627 let cE = makeString([cx, ba, z], a)
628628 let cF = makeString([cx, v], a)
629629 let cG = makeString([cx, ba, G], a)
630630 let cH = makeString([cx, ba, G], a)
631631 let cI = {
632632 let U = ai(I)
633633 if ($isInstanceOf(U, "Int"))
634634 then {
635635 let aF = U
636636 aF
637637 }
638638 else throw("failed to get global total waves")
639639 }
640640 if ((cI == cI))
641641 then {
642642 let cJ = {
643643 let U = ai(J)
644644 if ($isInstanceOf(U, "Int"))
645645 then {
646646 let aF = U
647647 aF
648648 }
649649 else throw("failed to get global total waves")
650650 }
651651 if ((cJ == cJ))
652652 then {
653653 let bh = {
654654 let U = ai(cA)
655655 if ($isInstanceOf(U, "ByteVector"))
656656 then {
657657 let aF = U
658658 aF
659659 }
660660 else throw("failed to get lease id")
661661 }
662662 if ((bh == bh))
663663 then {
664664 let cK = {
665665 let U = ai(cF)
666666 if ($isInstanceOf(U, "Int"))
667667 then {
668668 let aF = U
669669 aF
670670 }
671671 else throw("failed to get total waves locked by this address")
672672 }
673673 if ((cK == cK))
674674 then {
675675 let aR = {
676676 let U = ai(cE)
677677 if ($isInstanceOf(U, "Int"))
678678 then {
679679 let aF = U
680680 aF
681681 }
682682 else throw("failed to get total waves locked")
683683 }
684684 if ((aR == aR))
685685 then {
686686 let cL = {
687687 let U = ai(cC)
688688 if ($isInstanceOf(U, "Int"))
689689 then {
690690 let aF = U
691691 aF
692692 }
693693 else throw("failed to get total waves claimed")
694694 }
695695 if ((cL == cL))
696696 then {
697697 let bf = {
698698 let U = ai(cD)
699699 if ($isInstanceOf(U, "Int"))
700700 then {
701701 let aF = U
702702 aF
703703 }
704704 else throw("failed to get stawPL")
705705 }
706706 if ((bf == bf))
707707 then {
708708 let cM = {
709709 let U = ai(cB)
710710 if ($isInstanceOf(U, "Int"))
711711 then {
712712 let aF = U
713713 aF
714714 }
715715 else throw("failed to get lock period timespam")
716716 }
717717 if ((cM == cM))
718718 then {
719719 let cN = {
720720 let U = bZ(height)
721721 if ($isInstanceOf(U, "Int"))
722722 then {
723723 let aF = U
724724 aF
725725 }
726726 else throw("failed to get current timestamp")
727727 }
728728 if ((cN == cN))
729729 then {
730730 let bQ = {
731731 let U = ai(cy)
732732 if ($isInstanceOf(U, "Int"))
733733 then {
734734 let aF = U
735735 aF
736736 }
737737 else throw("failed to get collateral")
738738 }
739739 if ((bQ == bQ))
740740 then {
741741 let h = {
742742 let U = ai(cz)
743743 if ($isInstanceOf(U, "Int"))
744744 then {
745745 let aF = U
746746 aF
747747 }
748748 else throw("failed to get lockPeriod")
749749 }
750750 if ((h == h))
751751 then {
752752 let cO = {
753753 let U = ai(cG)
754754 if ($isInstanceOf(U, "String"))
755755 then {
756756 let aF = U
757757 aF
758758 }
759759 else throw("failed to get lease state")
760760 }
761761 if ((cO == cO))
762762 then {
763763 let bk = {
764764 let U = ai(cH)
765765 if ($isInstanceOf(U, "String"))
766766 then {
767767 let aF = U
768768 aF
769769 }
770770 else throw("failed to get lease state for user")
771771 }
772772 if ((bk == bk))
773773 then {
774774 let cd = ad((cM > cN), "lock period for this entry has not elapsed")
775775 if ((cd == cd))
776776 then {
777777 let cP = if ((cO == "leased"))
778778 then $Tuple2(LeaseCancel(bh), ac(cG, "cancelled"))
779779 else $Tuple2(ac(cG, "cancelled"), ac(cG, "cancelled"))
780780 if ((cP == cP))
781781 then {
782782 let ch = ad(if ((0 == aR))
783783 then true
784784 else (0 == bf), "all claims exhausted for this trx")
785785 if ((ch == ch))
786786 then {
787787 let cQ = (bP(h, bQ) * f)
788788 let cR = {
789789 let cS = (cN - cM)
790790 let cT = (cS / f)
791791 if ((cT == 0))
792792 then throw("less than 24hrs before first claim")
793793 else if (((cS % f) != 0))
794794 then throw("already claimed or less than 24hrs before next claim")
795795 else if ((cT > h))
796796 then throw("all claims exhausted")
797797 else {
798798 let cU = (cT * cQ)
799799 let cV = ad((cU == cL), "can only claim once in 24hrs")
800800 if ((cV == cV))
801801 then {
802802 let cW = ad(((cU + cL) > aR), "all claims exhausted")
803803 if ((cW == cW))
804804 then {
805805 let cX = if ((cT == 1))
806806 then cU
807807 else (cU - cL)
808808 let cY = cU
809809 let cZ = if ((cT == 1))
810810 then (aR - cU)
811811 else (aR - (cU - cL))
812812 let da = if ((cT == 1))
813813 then (bf - cU)
814814 else (bf - (cU - cL))
815815 let db = (cI - cZ)
816816 let dc = (cJ - da)
817817 let dd = (cK - cX)
818818 let bB = makeString(["%d", toString(cZ)], a)
819819 let bD = makeString(["%d", toString(da)], a)
820820 let bJ = makeString(["%d", toString(cY)], a)
821821 let de = makeString(["%d", toString(dd)], a)
822822 [cP._1, cP._2, ac(cE, bB), ac(cD, bD), ac(cC, bJ), ac(cF, de), af(I, db), af(J, dc), ScriptTransfer(Address(at.caller.bytes), cX, unit)]
823823 }
824824 else throw("Strict value is not equal to itself.")
825825 }
826826 else throw("Strict value is not equal to itself.")
827827 }
828828 }
829829 if ((cR == cR))
830830 then cR
831831 else throw("Strict value is not equal to itself.")
832832 }
833833 else throw("Strict value is not equal to itself.")
834834 }
835835 else throw("Strict value is not equal to itself.")
836836 }
837837 else throw("Strict value is not equal to itself.")
838838 }
839839 else throw("Strict value is not equal to itself.")
840840 }
841841 else throw("Strict value is not equal to itself.")
842842 }
843843 else throw("Strict value is not equal to itself.")
844844 }
845845 else throw("Strict value is not equal to itself.")
846846 }
847847 else throw("Strict value is not equal to itself.")
848848 }
849849 else throw("Strict value is not equal to itself.")
850850 }
851851 else throw("Strict value is not equal to itself.")
852852 }
853853 else throw("Strict value is not equal to itself.")
854854 }
855855 else throw("Strict value is not equal to itself.")
856856 }
857857 else throw("Strict value is not equal to itself.")
858858 }
859859 else throw("Strict value is not equal to itself.")
860860 }
861861 else throw("Strict value is not equal to itself.")
862862 }
863863 else throw("Strict value is not equal to itself.")
864864 }
865865
866866
867867
868868 @Callable(at)
869869 func mintStaw (h) = {
870870 let cx = toBase58String(at.caller.bytes)
871871 let df = toBase58String(at.transactionId)
872872 let cd = ad((1 != size(at.payments)), "no payments attached")
873873 if ((cd == cd))
874874 then {
875875 let ch = if (isDefined(at.payments[0].assetId))
876876 then throw("only waves supported")
877877 else true
878878 if ((ch == ch))
879879 then {
880880 let dg = at.payments[0].amount
881881 let ci = if (if ((d > dg))
882882 then true
883883 else (dg > e))
884884 then throw("lock amount out of range, minimum: 1 waves, maximum: 1000 waves")
885885 else true
886886 if ((ci == ci))
887887 then {
888888 let cj = if ((b > h))
889889 then throw("minimum of 14 days lock period")
890890 else true
891891 if ((cj == cj))
892892 then {
893893 let dh = bL(h, dg)
894894 let aT = dg
895895 let di = fraction(dh._1, 10, 100)
896896 let dj = (dh._1 - di)
897897 let dk = (bZ(height) + an(h))
898898 if ((dk == dk))
899899 then {
900900 let dl = {
901901 let U = ai(K)
902902 if ($isInstanceOf(U, "Int"))
903903 then {
904904 let aF = U
905905 (aF + 1)
906906 }
907907 else throw("failed to get current global index count")
908908 }
909909 if ((dl == dl))
910910 then {
911911 let dm = {
912912 let U = ai(o)
913913 if ($isInstanceOf(U, "String"))
914914 then {
915915 let aF = U
916916 Address(fromBase58String(aF))
917917 }
918918 else throw("failed to get dfx address")
919919 }
920920 if ((dm == dm))
921921 then {
922922 let aG = {
923923 let U = ai(m)
924924 if ($isInstanceOf(U, "String"))
925925 then {
926926 let aF = U
927927 fromBase58String(aF)
928928 }
929929 else throw("failed to get asset id")
930930 }
931931 if ((aG == aG))
932932 then {
933933 let dn = {
934934 let U = ai(q)
935935 if ($isInstanceOf(U, "String"))
936936 then {
937937 let aF = U
938938 Address(fromBase58String(aF))
939939 }
940940 else throw("failed to get lease node address")
941941 }
942942 if ((dn == dn))
943943 then {
944944 let do = makeString([cx, u], a)
945945 let dp = makeString([cx, v], a)
946946 let dq = {
947947 let U = ai(do)
948948 if ($isInstanceOf(U, "Int"))
949949 then {
950950 let ak = U
951951 (ak + 1)
952952 }
953953 else 0
954954 }
955955 if ((dq == dq))
956956 then {
957957 let dr = {
958958 let U = ai(dp)
959959 if ($isInstanceOf(U, "Int"))
960960 then {
961961 let ak = U
962962 (ak + dg)
963963 }
964964 else dg
965965 }
966966 if ((dr == dr))
967967 then {
968968 let ds = Lease(dn, dg)
969969 if ((ds == ds))
970970 then {
971971 let dt = toBase58String(calculateLeaseId(ds))
972972 if ((dt == dt))
973973 then ((([ds, ScriptTransfer(dm, di, aG), ScriptTransfer(Address(at.caller.bytes), dj, aG)] ++ aZ(df, cx, h, dk, dl, dg, dj, aT, height, dt, dr, dq, "leased")) ++ aQ(dg, dh._1, aT, dl)) ++ dh._2)
974974 else throw("Strict value is not equal to itself.")
975975 }
976976 else throw("Strict value is not equal to itself.")
977977 }
978978 else throw("Strict value is not equal to itself.")
979979 }
980980 else throw("Strict value is not equal to itself.")
981981 }
982982 else throw("Strict value is not equal to itself.")
983983 }
984984 else throw("Strict value is not equal to itself.")
985985 }
986986 else throw("Strict value is not equal to itself.")
987987 }
988988 else throw("Strict value is not equal to itself.")
989989 }
990990 else throw("Strict value is not equal to itself.")
991991 }
992992 else throw("Strict value is not equal to itself.")
993993 }
994994 else throw("Strict value is not equal to itself.")
995995 }
996996 else throw("Strict value is not equal to itself.")
997997 }
998998 else throw("Strict value is not equal to itself.")
999999 }
10001000
10011001

github/deemru/w8io/169f3d6 
81.49 ms