tx · CpNGFhzrVbyxptEKiGTTSUTuCn6ug1F4bRRDgyqq6jq7

3N33NL4BGxFEEiXKgnENVRDiE3RwkYmaNmS:  -0.02600000 Waves

2023.03.15 00:41 [2490267] smart account 3N33NL4BGxFEEiXKgnENVRDiE3RwkYmaNmS > SELF 0.00000000 Waves

{ "type": 13, "id": "CpNGFhzrVbyxptEKiGTTSUTuCn6ug1F4bRRDgyqq6jq7", "fee": 2600000, "feeAssetId": null, "timestamp": 1678829975858, "version": 2, "chainId": 84, "sender": "3N33NL4BGxFEEiXKgnENVRDiE3RwkYmaNmS", "senderPublicKey": "FeKA4QnfyZ9Q6eep2FDJEZxFr8cn1tbStnN5SJeEnPaB", "proofs": [ "4aXkjLWYa2iiG5vDk2zCEe6NXTd7X3DYyMPxS5wgf2imfAxrH1tzUSjd8hGca2SUaFSiCqyvt9aqc6r4GdxRj9uk" ], "script": "base64:BgJBCAISBQoDAQgBEgQKAgEYEgoKCAEBAQgIGAgBEgkKBwEBAQgICAESBAoCAQESBAoCAQESAwoBCBIDCgEBEgMKAQhtAAlTRVBBUkFUT1ICAl9fAA5BUkdTX1NFUEFSQVRPUgIEIyMjIwAIS0VZX0lOSVQCBElOSVQADEtFWV9NVUxUSVNJRwIITVVMVElTSUcACktFWV9TVEFUVVMCBlNUQVRVUwASS0VZX1BST1hZX1NFQ19ERVBPAhZQUk9YWV9TRUNVUklUWV9ERVBPU0lUABxLRVlfUFJPWFlfU0VDX0RFUE9fUEVSX0VWRU5UAiBQUk9YWV9TRUNVUklUWV9ERVBPU0lUX1BFUl9FVkVOVAAPS0VZX1dBVkVTX0VWRU5UAgtXQVZFU19FVkVOVAANS0VZX0VWTV9FVkVOVAIJRVZNX0VWRU5UABRLRVlfV0FWRVNfRVZFTlRfU0laRQIQV0FWRVNfRVZFTlRfU0laRQASS0VZX0VWTV9FVkVOVF9TSVpFAg5FVk1fRVZFTlRfU0laRQAWS0VZX1dBVkVTX0VWRU5UX1NUQVRVUwISV0FWRVNfRVZFTlRfU1RBVFVTABRLRVlfRVZNX0VWRU5UX1NUQVRVUwIQRVZNX0VWRU5UX1NUQVRVUwAZS0VZX1dBVkVTX0VWRU5UX1BVQkxJU0hFRAIVV0FWRVNfRVZFTlRfUFVCTElTSEVEABdLRVlfRVZNX0VWRU5UX1BVQkxJU0hFRAITRVZNX0VWRU5UX1BVQkxJU0hFRAARS0VZX0NVUlJFTlRfRVBPQ0gCDUNVUlJFTlRfRVBPQ0gACEtFWV9TSVpFAgRTSVpFABZLRVlfV0FWRVNfRVZFTlRfQ0FMTEVSAhJXQVZFU19FVkVOVF9DQUxMRVIAFEtFWV9FVk1fRVZFTlRfQ0FMTEVSAhBFVk1fRVZFTlRfQ0FMTEVSABdLRVlfV0lUTkVTU0VTX1BFUl9FUE9DSAITV0lUTkVTU0VTX1BFUl9FUE9DSAAYS0VZX1dBVkVTX0VWRU5UX0VYRUNVVE9SAhRXQVZFU19FVkVOVF9FWEVDVVRPUgAWS0VZX0VWTV9FVkVOVF9FWEVDVVRPUgISRVZNX0VWRU5UX0VYRUNVVE9SABhLRVlfUkVXQVJEX1RPS0VOX0FERFJFU1MCFFJFV0FSRF9UT0tFTl9BRERSRVNTABFLRVlfUkVXQVJEX0FNT1VOVAINUkVXQVJEX0FNT1VOVAAORlVOQ19NSU5UX01BTlkCCG1pbnRNYW55ABdFVkVOVF9TVEFUVVNfUFJPQ0VTU0lORwABABZFVkVOVF9TVEFUVVNfQ09ORklSTUVEAAIAFUVWRU5UX1NUQVRVU19SRUpFQ1RFRAADAAdNQVhfSU5UAP//////////fwEQX3ZhbGlkYXRlQWRkcmVzcwIIYWRkcmVzc18EZXJyXwQHJG1hdGNoMAkApggBBQhhZGRyZXNzXwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwBgkAAgEFBGVycl8BDl92YWxpZGF0ZUFzc2V0Aghhc3NldElkXwRlcnJfBAckbWF0Y2gwCQDsBwEJANkEAQUIYXNzZXRJZF8DCQABAgUHJG1hdGNoMAIFQXNzZXQEAWEFByRtYXRjaDAGCQACAQUEZXJyXwEMX3ZhbGlkYXRlSW50BAR2YWxfDmxvd2VyQm91bmRhcnlfDnVwcGVyQm91bmRhcnlfBGVycl8DAwkAZgIFDmxvd2VyQm91bmRhcnlfBQR2YWxfBgkAZgIFBHZhbF8FDnVwcGVyQm91bmRhcnlfCQACAQUEZXJyXwYBD192YWxpZGF0ZVN0cmluZwIEdmFsXwRlcnJfAwMJAGcCAAAJALECAQUEdmFsXwYJAQhjb250YWlucwIFBHZhbF8FCVNFUEFSQVRPUgkAAgEFBGVycl8GARJfdmFsaWRhdGVBcmdTdHJpbmcCBHZhbF8EZXJyXwMDCQEIY29udGFpbnMCBQR2YWxfBQ5BUkdTX1NFUEFSQVRPUgYJAQhjb250YWlucwIFBHZhbF8FCVNFUEFSQVRPUgkAAgEFBGVycl8GAQ1fdmFsaWRhdGVBcmdzAgVhcmdzXwRlcnJfAwkAZgIJAJADAQUFYXJnc18AFgkAAgEFBGVycl8KAQhmb2xkRnVuYwIDYWNjBGVsZW0JAJQKAgMIBQNhY2MCXzEJARJfdmFsaWRhdGVBcmdTdHJpbmcCBQRlbGVtCAUDYWNjAl8yBwgFA2FjYwJfMgQGcmVzdWx0CgACJGwFBWFyZ3NfCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBgUEZXJyXwoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEIZm9sZEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDIyCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYIBQZyZXN1bHQCXzEBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMJcGF5bWVudHNfB3RhcmdldF8EZXJyXwMJAQIhPQIJAJADAQUJcGF5bWVudHNfBQd0YXJnZXRfCQACAQUEZXJyXwYBFV92YWxpZGF0ZVBheW1lbnRBc3NldAMIcGF5bWVudF8GYXNzZXRfBGVycl8DCQECIT0CCAUIcGF5bWVudF8HYXNzZXRJZAUGYXNzZXRfCQACAQUEZXJyXwYBEV92YWxpZGF0ZUV2ZW50SWR4AwR2YWxfBG1heF8EZXJyXwMDCQBmAgAABQR2YWxfBgkAZwIFBHZhbF8FBG1heF8JAAIBBQRlcnJfBgEUX3ZhbGlkYXRlRXZlbnRTdGF0dXMCBHZhbF8EZXJyXwMDCQBmAgUXRVZFTlRfU1RBVFVTX1BST0NFU1NJTkcFBHZhbF8GCQBmAgUEdmFsXwUVRVZFTlRfU1RBVFVTX1JFSkVDVEVECQACAQUEZXJyXwYBEl92YWxpZGF0ZVB1YmxpY0tleQIKcHVibGljS2V5XwRlcnJfAwkBAiE9AgkAyAEBCQDZBAEFCnB1YmxpY0tleV8AIAkAAgEFBGVycl8GARNfdmFsaWRhdGVQdWJsaWNLZXlzAgtwdWJsaWNLZXlzXwRlcnJfCgEIZm9sZEZ1bmMCA2FjYwRlbGVtCQCUCgIDCAUDYWNjAl8xCQES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BQR2YWxfBQNuaWwBGV9sb2FkUHJveHlTZWNEZXBvUGVyRXZlbnQABAckbWF0Y2gwCQCfCAEFHEtFWV9QUk9YWV9TRUNfREVQT19QRVJfRVZFTlQDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABGV9zYXZlUHJveHlTZWNEZXBvUGVyRXZlbnQBBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIFHEtFWV9QUk9YWV9TRUNfREVQT19QRVJfRVZFTlQFBHZhbF8FA25pbAETX2xvYWRXYXZlc0V2ZW50U2l6ZQAEByRtYXRjaDAJAJ8IAQUUS0VZX1dBVkVTX0VWRU5UX1NJWkUDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABE19zYXZlV2F2ZXNFdmVudFNpemUBBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIFFEtFWV9XQVZFU19FVkVOVF9TSVpFBQR2YWxfBQNuaWwBEV9sb2FkRVZNRXZlbnRTaXplAAQHJG1hdGNoMAkAnwgBBRJLRVlfRVZNX0VWRU5UX1NJWkUDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABEV9zYXZlRVZNRXZlbnRTaXplAQR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJLRVlfRVZNX0VWRU5UX1NJWkUFBHZhbF8FA25pbAEPX2xvYWRXYXZlc0V2ZW50AQZpbmRleF8EByRtYXRjaDAJAKIIAQkAuQkCCQDMCAIFD0tFWV9XQVZFU19FVkVOVAkAzAgCCQCkAwEFBmluZGV4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBAZzdHJ1Y3QJALUJAgUBYQUJU0VQQVJBVE9SCQCfCg0JAQ1wYXJzZUludFZhbHVlAQkAkQMCBQZzdHJ1Y3QAAAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBnN0cnVjdAABCQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUGc3RydWN0AAIJAJEDAgUGc3RydWN0AAMJAJEDAgUGc3RydWN0AAQJALUJAgkAkQMCBQZzdHJ1Y3QABQUOQVJHU19TRVBBUkFUT1IJAJEDAgUGc3RydWN0AAYJ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VVMJAMwIAgUKZXZlbnRIYXNoXwUDbmlsBQlTRVBBUkFUT1IFB3N0YXR1c18FA25pbAETX2xvYWRFVk1FdmVudFN0YXR1cwEKZXZlbnRIYXNoXwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUUS0VZX0VWTV9FVkVOVF9TVEFUVVMJAMwIAgUKZXZlbnRIYXNoXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABE19zYXZlRVZNRXZlbnRTdGF0dXMCCmV2ZW50SGFzaF8Hc3RhdHVzXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFFEtFWV9FVk1fRVZFTlRfU1RBVFVTCQDMCAIFCmV2ZW50SGFzaF8FA25pbAUJU0VQQVJBVE9SBQdzdGF0dXNfBQNuaWwBIV9sb2FkUHVibGlzaGVkV2F2ZXNFdmVudEJ5V2l0bmVzcwIKcHVibGljS2V5XwhldmVudElkXwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUZS0VZX1dBVkVTX0VWRU5UX1BVQkxJU0hFRAkAzAgCBQpwdWJsaWNLZXlfCQDMCAIJAKQDAQUIZXZlbnRJZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAASFfc2F2ZVB1Ymxpc2hlZFdhdmVzRXZlbnRCeVdpdG5lc3MDCnB1YmxpY0tleV8IZXZlbnRJZF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFGUtFWV9XQVZFU19FVkVOVF9QVUJMSVNIRUQJAMwIAgUKcHVibGljS2V5XwkAzAgCCQCkAwEFCGV2ZW50SWRfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsAR9fbG9hZFB1Ymxpc2hlZEVWTUV2ZW50QnlXaXRuZXNzAgpwdWJsaWNLZXlfCGV2ZW50SWRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRdLRVlfRVZNX0VWRU5UX1BVQkxJU0hFRAkAzAgCBQpwdWJsaWNLZXlfCQDMCAIJAKQDAQUIZXZlbnRJZF8FA25pbAUJU0VQQVJBVE9SAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAAR9fc2F2ZVB1Ymxpc2hlZEVWTUV2ZW50QnlXaXRuZXNzAwpwdWJsaWNLZXlfCGV2ZW50SWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRdLRVlfRVZNX0VWRU5UX1BVQkxJU0hFRAkAzAgCBQpwdWJsaWNLZXlfCQDMCAIJAKQDAQUIZXZlbnRJZF8FA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBEV9sb2FkQ3VycmVudEVwb2NoAQ5jYWxsZXJDaGFpbklkXwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgURS0VZX0NVUlJFTlRfRVBPQ0gJAMwIAgkApAMBBQ5jYWxsZXJDaGFpbklkXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABEV9zYXZlQ3VycmVudEVwb2NoAg5jYWxsZXJDaGFpbklkXwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgURS0VZX0NVUlJFTlRfRVBPQ0gJAMwIAgkApAMBBQ5jYWxsZXJDaGFpbklkXwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEcX2xvYWRXYXZlc0V2ZW50Q2FsbGVySWR4U2l6ZQEOY2FsbGVyQ2hhaW5JZF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFFktFWV9XQVZFU19FVkVOVF9DQUxMRVIJAMwIAgkApAMBBQ5jYWxsZXJDaGFpbklkXwkAzAgCBQhLRVlfU0laRQUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABHF9zYXZlV2F2ZXNFdmVudENhbGxlcklkeFNpemUCDmNhbGxlckNoYWluSWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRZLRVlfV0FWRVNfRVZFTlRfQ0FMTEVSCQDMCAIJAKQDAQUOY2FsbGVyQ2hhaW5JZF8JAMwIAgUIS0VZX1NJWkUFA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBGF9sb2FkV2F2ZXNFdmVudENhbGxlcklkeAIOY2FsbGVyQ2hhaW5JZF8EaWR4XwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUWS0VZX1dBVkVTX0VWRU5UX0NBTExFUgkAzAgCCQCkAwEFDmNhbGxlckNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABGF9zYXZlV2F2ZXNFdmVudENhbGxlcklkeAMOY2FsbGVyQ2hhaW5JZF8EaWR4XwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUWS0VZX1dBVkVTX0VWRU5UX0NBTExFUgkAzAgCCQCkAwEFDmNhbGxlckNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEaX2xvYWRFVk1FdmVudENhbGxlcklkeFNpemUBDmNhbGxlckNoYWluSWRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRRLRVlfRVZNX0VWRU5UX0NBTExFUgkAzAgCCQCkAwEFDmNhbGxlckNoYWluSWRfCQDMCAIFCEtFWV9TSVpFBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEaX3NhdmVFVk1FdmVudENhbGxlcklkeFNpemUCDmNhbGxlckNoYWluSWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRRLRVlfRVZNX0VWRU5UX0NBTExFUgkAzAgCCQCkAwEFDmNhbGxlckNoYWluSWRfCQDMCAIFCEtFWV9TSVpFBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsARZfbG9hZEVWTUV2ZW50Q2FsbGVySWR4Ag5jYWxsZXJDaGFpbklkXwRpZHhfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRRLRVlfRVZNX0VWRU5UX0NBTExFUgkAzAgCCQCkAwEFDmNhbGxlckNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABFl9zYXZlRVZNRXZlbnRDYWxsZXJJZHgDDmNhbGxlckNoYWluSWRfBGlkeF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFFEtFWV9FVk1fRVZFTlRfQ0FMTEVSCQDMCAIJAKQDAQUOY2FsbGVyQ2hhaW5JZF8JAMwIAgkApAMBBQRpZHhfBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsAR5fbG9hZFdhdmVzRXZlbnRFeGVjdXRvcklkeFNpemUBEWV4ZWN1dGlvbkNoYWluSWRfBAckbWF0Y2gwCQCfCAEJALkJAgkAzAgCBRhLRVlfV0FWRVNfRVZFTlRfRVhFQ1VUT1IJAMwIAgkApAMBBRFleGVjdXRpb25DaGFpbklkXwkAzAgCBQhLRVlfU0laRQUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABHl9zYXZlV2F2ZXNFdmVudEV4ZWN1dG9ySWR4U2l6ZQIRZXhlY3V0aW9uQ2hhaW5JZF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFGEtFWV9XQVZFU19FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIFCEtFWV9TSVpFBQNuaWwFCVNFUEFSQVRPUgUEdmFsXwUDbmlsARpfbG9hZFdhdmVzRXZlbnRFeGVjdXRvcklkeAIRZXhlY3V0aW9uQ2hhaW5JZF8EaWR4XwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUYS0VZX1dBVkVTX0VWRU5UX0VYRUNVVE9SCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgkApAMBBQRpZHhfBQNuaWwFCVNFUEFSQVRPUgMJAAECBQckbWF0Y2gwAgNJbnQEAWEFByRtYXRjaDAFAWEAAAEaX3NhdmVXYXZlc0V2ZW50RXhlY3V0b3JJZHgDEWV4ZWN1dGlvbkNoYWluSWRfBGlkeF8EdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgkAuQkCCQDMCAIFGEtFWV9XQVZFU19FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEcX2xvYWRFVk1FdmVudEV4ZWN1dG9ySWR4U2l6ZQERZXhlY3V0aW9uQ2hhaW5JZF8EByRtYXRjaDAJAJ8IAQkAuQkCCQDMCAIFFktFWV9FVk1fRVZFTlRfRVhFQ1VUT1IJAMwIAgkApAMBBRFleGVjdXRpb25DaGFpbklkXwkAzAgCBQhLRVlfU0laRQUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABHF9zYXZlRVZNRXZlbnRFeGVjdXRvcklkeFNpemUCEWV4ZWN1dGlvbkNoYWluSWRfBHZhbF8JAMwIAgkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCBRZLRVlfRVZNX0VWRU5UX0VYRUNVVE9SCQDMCAIJAKQDAQURZXhlY3V0aW9uQ2hhaW5JZF8JAMwIAgUIS0VZX1NJWkUFA25pbAUJU0VQQVJBVE9SBQR2YWxfBQNuaWwBGF9sb2FkRVZNRXZlbnRFeGVjdXRvcklkeAIRZXhlY3V0aW9uQ2hhaW5JZF8EaWR4XwQHJG1hdGNoMAkAnwgBCQC5CQIJAMwIAgUWS0VZX0VWTV9FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIDSW50BAFhBQckbWF0Y2gwBQFhAAABGF9zYXZlRVZNRXZlbnRFeGVjdXRvcklkeAMRZXhlY3V0aW9uQ2hhaW5JZF8EaWR4XwR2YWxfCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQC5CQIJAMwIAgUWS0VZX0VWTV9FVkVOVF9FWEVDVVRPUgkAzAgCCQCkAwEFEWV4ZWN1dGlvbkNoYWluSWRfCQDMCAIJAKQDAQUEaWR4XwUDbmlsBQlTRVBBUkFUT1IFBHZhbF8FA25pbAEOX2xvYWRXaXRuZXNzZXMCDmNhbGxlckNoYWluSWRfBmVwb2NoXwQHJG1hdGNoMAkAoggBCQC5CQIJAMwIAgUXS0VZX1dJVE5FU1NFU19QRVJfRVBPQ0gJAMwIAgkApAMBBQ5jYWxsZXJDaGFpbklkXwkAzAgCCQCkAwEFBmVwb2NoXwUDbmlsBQlTRVBBUkFUT1IDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwAwkAZgIJALECAQUBYQAACQC1CQIFAWEFCVNFUEFSQVRPUgUDbmlsBQNuaWwBDl9zYXZlV2l0bmVzc2VzAw5jYWxsZXJDaGFpbklkXwZlcG9jaF8Kd2l0bmVzc2VzXwkAzAgCCQELU3RyaW5nRW50cnkCCQC5CQIJAMwIAgUXS0VZX1dJVE5FU1NFU19QRVJfRVBPQ0gJAMwIAgkApAMBBQ5jYWxsZXJDaGFpbklkXwkAzAgCCQCkAwEFBmVwb2NoXwUDbmlsBQlTRVBBUkFUT1IJALkJAgUKd2l0bmVzc2VzXwUJU0VQQVJBVE9SBQNuaWwBF19sb2FkUmV3YXJkVG9rZW5BZGRyZXNzAAQHJG1hdGNoMAkAoggBBRhLRVlfUkVXQVJEX1RPS0VOX0FERFJFU1MDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwCQERQGV4dHJOYXRpdmUoMTA2MikBBQFhCQEHQWRkcmVzcwEBAAEXX3NhdmVSZXdhcmRUb2tlbkFkZHJlc3MBBHZhbF8JAMwIAgkBC1N0cmluZ0VudHJ5AgUYS0VZX1JFV0FSRF9UT0tFTl9BRERSRVNTCQClCAEFBHZhbF8FA25pbAERX2xvYWRSZXdhcmRBbW91bnQABAckbWF0Y2gwCQCfCAEFEUtFWV9SRVdBUkRfQU1PVU5UAwkAAQIFByRtYXRjaDACA0ludAQBYQUHJG1hdGNoMAUBYQAAARFfc2F2ZVJld2FyZEFtb3VudAEEdmFsXwkAzAgCCQEMSW50ZWdlckVudHJ5AgURS0VZX1JFV0FSRF9BTU9VTlQFBHZhbF8FA25pbAERX29ubHlUaGlzQ29udHJhY3QBB2NhbGxlcl8DCQECIT0CBQdjYWxsZXJfBQR0aGlzCQACAQIZX29ubHlUaGlzQ29udHJhY3Q6IHJldmVydAYBEF93aGVuTXVsdGlzaWdTZXQAAwkAAAIJAQ1fbG9hZE11bHRpc2lnAAkBB0FkZHJlc3MBAQAJAAIBAhhfd2hlbk11bHRpc2lnU2V0OiByZXZlcnQGARNfd2hlbk5vdEluaXRpYWxpemVkAAMJAQlfbG9hZEluaXQACQACAQIbX3doZW5Ob3RJbml0aWFsaXplZDogcmV2ZXJ0BgEQX3doZW5Jbml0aWFsaXplZAADCQEBIQEJAQlfbG9hZEluaXQACQACAQIYX3doZW5Jbml0aWFsaXplZDogcmV2ZXJ0BgEQX2lzQWN0aXZlV2l0bmVzcwMKcHVibGljS2V5XwtwdWJsaWNLZXlzXwRlcnJfAwkBASEBCQEPY29udGFpbnNFbGVtZW50AgULcHVibGljS2V5c18FCnB1YmxpY0tleV8JAAIBBQRlcnJfBgEXX25vdENvbmZpcm1lZFdhdmVzRXZlbnQCCmV2ZW50SGFzaF8EZXJyXwMJAGYCCQEVX2xvYWRXYXZlc0V2ZW50U3RhdHVzAQUKZXZlbnRIYXNoXwUXRVZFTlRfU1RBVFVTX1BST0NFU1NJTkcJAAIBBQRlcnJfBgEVX25vdENvbmZpcm1lZEVWTUV2ZW50AgpldmVudEhhc2hfBGVycl8DCQBmAgkBE19sb2FkRVZNRXZlbnRTdGF0dXMBBQpldmVudEhhc2hfBRdFVkVOVF9TVEFUVVNfUFJPQ0VTU0lORwkAAgEFBGVycl8GARNfd2F2ZXNFdmVudE5vdEV4aXN0AgpldmVudEhhc2hfBGVycl8DCQECIT0CCQEVX2xvYWRXYXZlc0V2ZW50U3RhdHVzAQUKZXZlbnRIYXNoXwAACQACAQUEZXJyXwYBEV9ldm1FdmVudE5vdEV4aXN0AgpldmVudEhhc2hfBGVycl8DCQECIT0CCQETX2xvYWRFVk1FdmVudFN0YXR1cwEFCmV2ZW50SGFzaF8AAAkAAgEFBGVycl8GASBfbm90UHVibGlzaGVkV2F2ZXNFdmVudEJ5V2l0bmVzcwMKcHVibGljS2V5XwhldmVudElkXwRlcnJfAwkBAiE9AgkBIV9sb2FkUHVibGlzaGVkV2F2ZXNFdmVudEJ5V2l0bmVzcwIFCnB1YmxpY0tleV8FCGV2ZW50SWRfAAAJAAIBBQRlcnJfBgEeX25vdFB1Ymxpc2hlZEVWTUV2ZW50QnlXaXRuZXNzAwpwdWJsaWNLZXlfCGV2ZW50SWRfBGVycl8DCQBmAgkBH19sb2FkUHVibGlzaGVkRVZNRXZlbnRCeVdpdG5lc3MCBQpwdWJsaWNLZXlfBQhldmVudElkXwAACQACAQUEZXJyXwYBEF9pc1F1b3J1bVJlYWNoZWQDDmNvbmZpcm1hdGlvbnNfBnRvdGFsXwx3aXRuZXNzU2l6ZV8DAwkAZgIFDmNvbmZpcm1hdGlvbnNfCQBpAgUMd2l0bmVzc1NpemVfAAIGCQBmAgkAZQIFBnRvdGFsXwUOY29uZmlybWF0aW9uc18JAGkCBQx3aXRuZXNzU2l6ZV8AAgYHAQ9fZ2V0RXZlbnRTdGF0dXMDDmNvbmZpcm1hdGlvbnNfBnRvdGFsXwx3aXRuZXNzU2l6ZV8DCQBmAgUOY29uZmlybWF0aW9uc18JAGkCBQx3aXRuZXNzU2l6ZV8AAgUWRVZFTlRfU1RBVFVTX0NPTkZJUk1FRAMJAGYCCQBlAgUGdG90YWxfBQ5jb25maXJtYXRpb25zXwkAaQIFDHdpdG5lc3NTaXplXwACBRVFVkVOVF9TVEFUVVNfUkVKRUNURUQFF0VWRU5UX1NUQVRVU19QUk9DRVNTSU5HARNfY2FsY1dhdmVzRXZlbnRIYXNoAQZldmVudF8ECmV2ZW50Qnl0ZXMJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAmgMBCAUGZXZlbnRfAl8xCQCaAwEIBQZldmVudF8CXzIJAJoDAQgFBmV2ZW50XwJfMwkAmwMBCAUGZXZlbnRfAl80CQCbAwEIBQZldmVudF8CXzUJAJsDAQkAuQkCCAUGZXZlbnRfAl82BQ5BUkdTX1NFUEFSQVRPUgkAmwMBCAUGZXZlbnRfAl83CQCaAwEIBQZldmVudF8CXzgJANgEAQkAjBUBBQpldmVudEJ5dGVzARFfY2FsY0VWTUV2ZW50SGFzaAEGZXZlbnRfBApldmVudEJ5dGVzCQDLAQIJAMsBAgkAywECCQDLAQIJAMsBAgkAywECCQCaAwEIBQZldmVudF8CXzEJAJoDAQgFBmV2ZW50XwJfMgkAmgMBCAUGZXZlbnRfAl8zCQCbAwEIBQZldmVudF8CXzQJAJsDAQgFBmV2ZW50XwJfNQkAmwMBCAUGZXZlbnRfAl82CQCaAwEIBQZldmVudF8CXzcJANgEAQkAjBUBBQpldmVudEJ5dGVzARJfc2V0V2F2ZXNFdmVudEhhc2gCBmV2ZW50XwVoYXNoXwkAnwoNCAUGZXZlbnRfAl8xCAUGZXZlbnRfAl8yCAUGZXZlbnRfAl8zCAUGZXZlbnRfAl80CAUGZXZlbnRfAl81CAUGZXZlbnRfAl82CAUGZXZlbnRfAl83CAUGZXZlbnRfAl84BQVoYXNoXwgFBmV2ZW50XwNfMTAIBQZldmVudF8DXzExCAUGZXZlbnRfA18xMggFBmV2ZW50XwNfMTMBEF9zZXRFVk1FdmVudEhhc2gCBmV2ZW50XwVoYXNoXwkAngoMCAUGZXZlbnRfAl8xCAUGZXZlbnRfAl8yCAUGZXZlbnRfAl8zCAUGZXZlbnRfAl80CAUGZXZlbnRfAl81CAUGZXZlbnRfAl82CAUGZXZlbnRfAl83BQVoYXNoXwgFBmV2ZW50XwJfOQgFBmV2ZW50XwNfMTAIBQZldmVudF8DXzExCAUGZXZlbnRfA18xMgEbX3NldFdhdmVzRXZlbnRDb25maXJtYXRpb25zAwZldmVudF8OY29uZmlybWF0aW9uc18GdG90YWxfCQCfCg0IBQZldmVudF8CXzEIBQZldmVudF8CXzIIBQZldmVudF8CXzMIBQZldmVudF8CXzQIBQZldmVudF8CXzUIBQZldmVudF8CXzYIBQZldmVudF8CXzcIBQZldmVudF8CXzgIBQZldmVudF8CXzkFDmNvbmZpcm1hdGlvbnNfBQZ0b3RhbF8IBQZldmVudF8DXzEyCAUGZXZlbnRfA18xMwEZX3NldEVWTUV2ZW50Q29uZmlybWF0aW9ucwMGZXZlbnRfDmNvbmZpcm1hdGlvbnNfBnRvdGFsXwkAngoMCAUGZXZlbnRfAl8xCAUGZXZlbnRfAl8yCAUGZXZlbnRfAl8zCAUGZXZlbnRfAl80CAUGZXZlbnRfAl81CAUGZXZlbnRfAl82CAUGZXZlbnRfAl83CAUGZXZlbnRfAl84BQ5jb25maXJtYXRpb25zXwUGdG90YWxfCAUGZXZlbnRfA18xMQgFBmV2ZW50XwNfMTIJAWkBBGluaXQDFXByb3h5U2VjRGVwb1BlckV2ZW50XxNyZXdhcmRUb2tlbkFkZHJlc3NfDXJld2FyZEFtb3VudF8EA2VycgMDAwMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARNfd2hlbk5vdEluaXRpYWxpemVkAAcJARBfd2hlbk11bHRpc2lnU2V0AAcJAQxfdmFsaWRhdGVJbnQEBRVwcm94eVNlY0RlcG9QZXJFdmVudF8AAAUHTUFYX0lOVAIiaW5pdDogaW52YWxpZCBwcm94eVNlY0RlcG9QZXJFdmVudAcJARBfdmFsaWRhdGVBZGRyZXNzAgUTcmV3YXJkVG9rZW5BZGRyZXNzXwIgaW5pdDogaW52YWxpZCByZXdhcmRUb2tlbkFkZHJlc3MHCQEMX3ZhbGlkYXRlSW50BAUNcmV3YXJkQW1vdW50XwAABQdNQVhfSU5UAhppbml0OiBpbnZhbGlkIHJld2FyZEFtb3VudAcDCQAAAgUDZXJyBQNlcnIJAJQKAgkAzggCCQDOCAIJAM4IAgkBCV9zYXZlSW5pdAEGCQEZX3NhdmVQcm94eVNlY0RlcG9QZXJFdmVudAEFFXByb3h5U2VjRGVwb1BlckV2ZW50XwkBF19zYXZlUmV3YXJkVG9rZW5BZGRyZXNzAQkBEUBleHRyTmF0aXZlKDEwNjIpAQUTcmV3YXJkVG9rZW5BZGRyZXNzXwkBEV9zYXZlUmV3YXJkQW1vdW50AQUNcmV3YXJkQW1vdW50XwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARJzZXRBY3RpdmVXaXRuZXNzZXMCDmNhbGxlckNoYWluSWRfCndpdG5lc3Nlc18EA2VycgMDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfd2hlbkluaXRpYWxpemVkAAcJARNfdmFsaWRhdGVQdWJsaWNLZXlzAgUKd2l0bmVzc2VzXwIlc2V0QWN0aXZlV2l0bmVzc2VzOiBpbnZhbGlkIHdpdG5lc3NlcwcDCQAAAgUDZXJyBQNlcnIEBWVwb2NoCQERX2xvYWRDdXJyZW50RXBvY2gBBQ5jYWxsZXJDaGFpbklkXwkAlAoCCQDOCAIJARFfc2F2ZUN1cnJlbnRFcG9jaAIFDmNhbGxlckNoYWluSWRfCQBkAgUFZXBvY2gAAQkBDl9zYXZlV2l0bmVzc2VzAwUOY2FsbGVyQ2hhaW5JZF8JAGQCBQVlcG9jaAABBQp3aXRuZXNzZXNfBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFHN1Ym1pdFdhdmVzQ2FsbEV2ZW50CA5jYWxsZXJDaGFpbklkXxFleGVjdXRpb25DaGFpbklkXwZub25jZV8SZXhlY3V0aW9uQ29udHJhY3RfDWZ1bmN0aW9uTmFtZV8FYXJnc18HdHhIYXNoXwxibG9ja051bWJlcl8EA2VycgMDAwMDAwMJAQxfdmFsaWRhdGVJbnQEBQ5jYWxsZXJDaGFpbklkXwAABQdNQVhfSU5UAitzdWJtaXRXYXZlc0NhbGxFdmVudDogaW52YWxpZCBjYWxsZXJDaGFpbklkCQEMX3ZhbGlkYXRlSW50BAURZXhlY3V0aW9uQ2hhaW5JZF8AAAUHTUFYX0lOVAIuc3VibWl0V2F2ZXNDYWxsRXZlbnQ6IGludmFsaWQgZXhlY3V0aW9uQ2hhaW5JZAcJAQxfdmFsaWRhdGVJbnQEBQZub25jZV8AAAUHTUFYX0lOVAIjc3VibWl0V2F2ZXNDYWxsRXZlbnQ6IGludmFsaWQgbm9uY2UHCQEPX3ZhbGlkYXRlU3RyaW5nAgUSZXhlY3V0aW9uQ29udHJhY3RfAi9zdWJtaXRXYXZlc0NhbGxFdmVudDogaW52YWxpZCBleGVjdXRpb25Db250cmFjdAcJAQ9fdmFsaWRhdGVTdHJpbmcCBQ1mdW5jdGlvbk5hbWVfAipzdWJtaXRXYXZlc0NhbGxFdmVudDogaW52YWxpZCBmdW5jdGlvbk5hbWUHCQENX3ZhbGlkYXRlQXJncwIFBWFyZ3NfAiJzdWJtaXRXYXZlc0NhbGxFdmVudDogaW52YWxpZCBhcmdzBwkBD192YWxpZGF0ZVN0cmluZwIFB3R4SGFzaF8CJHN1Ym1pdFdhdmVzQ2FsbEV2ZW50OiBpbnZhbGlkIHR4SGFzaAcJAQxfdmFsaWRhdGVJbnQEBQxibG9ja051bWJlcl8AAAUHTUFYX0lOVAIpc3VibWl0V2F2ZXNDYWxsRXZlbnQ6IGludmFsaWQgYmxvY2tOdW1iZXIHAwkAAAIFA2VycgUDZXJyBAxwcm94eVNlY0RlcG8JARFfbG9hZFByb3h5U2VjRGVwbwEIBQFpBmNhbGxlcgQUcHJveHlTZWNEZXBvUGVyRXZlbnQJARlfbG9hZFByb3h5U2VjRGVwb1BlckV2ZW50AAQTcHJveHlTZWNEZXBvVXBkYXRlZAkAZQIFDHByb3h5U2VjRGVwbwUUcHJveHlTZWNEZXBvUGVyRXZlbnQEBWV2ZW50CQCfCg0FDmNhbGxlckNoYWluSWRfBRFleGVjdXRpb25DaGFpbklkXwUGbm9uY2VfBRJleGVjdXRpb25Db250cmFjdF8FDWZ1bmN0aW9uTmFtZV8FBWFyZ3NfBQd0eEhhc2hfBQxibG9ja051bWJlcl8CAAAAAAAFFHByb3h5U2VjRGVwb1BlckV2ZW50CAUBaQZjYWxsZXIECWV2ZW50U2l6ZQkBE19sb2FkV2F2ZXNFdmVudFNpemUABAlldmVudEhhc2gJARNfY2FsY1dhdmVzRXZlbnRIYXNoAQUFZXZlbnQEDGV2ZW50VXBkYXRlZAkBEl9zZXRXYXZlc0V2ZW50SGFzaAIFBWV2ZW50BQlldmVudEhhc2gEBGVycjEDCQETX3dhdmVzRXZlbnROb3RFeGlzdAIFCWV2ZW50SGFzaAIkc3VibWl0V2F2ZXNDYWxsRXZlbnQ6IGFscmVhZHkgZXhpc3RzCQEMX3ZhbGlkYXRlSW50BAUTcHJveHlTZWNEZXBvVXBkYXRlZAAABQdNQVhfSU5UAilzdWJtaXRXYXZlc0NhbGxFdmVudDogbm8gc2VjdXJpdHkgZGVwb3NpdAcDCQAAAgUEZXJyMQUEZXJyMQQNY2FsbGVySWR4U2l6ZQkBHF9sb2FkV2F2ZXNFdmVudENhbGxlcklkeFNpemUBBQ5jYWxsZXJDaGFpbklkXwkAlAoCCQDOCAIJAM4IAgkAzggCCQDOCAIJAM4IAgkBEV9zYXZlUHJveHlTZWNEZXBvAggFAWkGY2FsbGVyBRNwcm94eVNlY0RlcG9VcGRhdGVkCQEPX3NhdmVXYXZlc0V2ZW50AgUJZXZlbnRTaXplBQxldmVudFVwZGF0ZWQJARVfc2F2ZVdhdmVzRXZlbnRTdGF0dXMCBQlldmVudEhhc2gFF0VWRU5UX1NUQVRVU19QUk9DRVNTSU5HCQETX3NhdmVXYXZlc0V2ZW50U2l6ZQEJAGQCBQlldmVudFNpemUAAQkBGF9zYXZlV2F2ZXNFdmVudENhbGxlcklkeAMFDmNhbGxlckNoYWluSWRfBQ1jYWxsZXJJZHhTaXplBQlldmVudFNpemUJARxfc2F2ZVdhdmVzRXZlbnRDYWxsZXJJZHhTaXplAgUOY2FsbGVyQ2hhaW5JZF8JAGQCBQ1jYWxsZXJJZHhTaXplAAEFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQESc3VibWl0RVZNQ2FsbEV2ZW50Bw5jYWxsZXJDaGFpbklkXxFleGVjdXRpb25DaGFpbklkXwZub25jZV8SZXhlY3V0aW9uQ29udHJhY3RfCWNhbGxkYXRhXwd0eEhhc2hfDGJsb2NrTnVtYmVyXwQDZXJyAwMDAwMDCQEMX3ZhbGlkYXRlSW50BAUOY2FsbGVyQ2hhaW5JZF8AAAUHTUFYX0lOVAIpc3VibWl0RVZNQ2FsbEV2ZW50OiBpbnZhbGlkIGNhbGxlckNoYWluSWQJAQxfdmFsaWRhdGVJbnQEBRFleGVjdXRpb25DaGFpbklkXwAABQdNQVhfSU5UAixzdWJtaXRFVk1DYWxsRXZlbnQ6IGludmFsaWQgZXhlY3V0aW9uQ2hhaW5JZAcJAQxfdmFsaWRhdGVJbnQEBQZub25jZV8AAAUHTUFYX0lOVAIhc3VibWl0RVZNQ2FsbEV2ZW50OiBpbnZhbGlkIG5vbmNlBwkBD192YWxpZGF0ZVN0cmluZwIFEmV4ZWN1dGlvbkNvbnRyYWN0XwItc3VibWl0RVZNQ2FsbEV2ZW50OiBpbnZhbGlkIGV4ZWN1dGlvbkNvbnRyYWN0BwkBD192YWxpZGF0ZVN0cmluZwIFCWNhbGxkYXRhXwIkc3VibWl0RVZNQ2FsbEV2ZW50OiBpbnZhbGlkIGNhbGxkYXRhBwkBD192YWxpZGF0ZVN0cmluZwIFB3R4SGFzaF8CInN1Ym1pdEVWTUNhbGxFdmVudDogaW52YWxpZCB0eEhhc2gHCQEMX3ZhbGlkYXRlSW50BAUMYmxvY2tOdW1iZXJfAAAFB01BWF9JTlQCJ3N1Ym1pdEVWTUNhbGxFdmVudDogaW52YWxpZCBibG9ja051bWJlcgcDCQAAAgUDZXJyBQNlcnIEDHByb3h5U2VjRGVwbwkBEV9sb2FkUHJveHlTZWNEZXBvAQgFAWkGY2FsbGVyBBRwcm94eVNlY0RlcG9QZXJFdmVudAkBGV9sb2FkUHJveHlTZWNEZXBvUGVyRXZlbnQABBNwcm94eVNlY0RlcG9VcGRhdGVkCQBlAgUMcHJveHlTZWNEZXBvBRRwcm94eVNlY0RlcG9QZXJFdmVudAQFZXZlbnQJAJ4KDAUOY2FsbGVyQ2hhaW5JZF8FEWV4ZWN1dGlvbkNoYWluSWRfBQZub25jZV8FEmV4ZWN1dGlvbkNvbnRyYWN0XwUJY2FsbGRhdGFfBQd0eEhhc2hfBQxibG9ja051bWJlcl8CAAAAAAAFFHByb3h5U2VjRGVwb1BlckV2ZW50CAUBaQZjYWxsZXIECWV2ZW50U2l6ZQkBEV9sb2FkRVZNRXZlbnRTaXplAAQJZXZlbnRIYXNoCQERX2NhbGNFVk1FdmVudEhhc2gBBQVldmVudAQMZXZlbnRVcGRhdGVkCQEQX3NldEVWTUV2ZW50SGFzaAIFBWV2ZW50BQlldmVudEhhc2gEBGVycjEDCQERX2V2bUV2ZW50Tm90RXhpc3QCBQlldmVudEhhc2gCInN1Ym1pdEVWTUNhbGxFdmVudDogYWxyZWFkeSBleGlzdHMJAQxfdmFsaWRhdGVJbnQEBRNwcm94eVNlY0RlcG9VcGRhdGVkAAAFB01BWF9JTlQCJ3N1Ym1pdEVWTUNhbGxFdmVudDogbm8gc2VjdXJpdHkgZGVwb3NpdAcDCQAAAgUEZXJyMQUEZXJyMQQNY2FsbGVySWR4U2l6ZQkBGl9sb2FkRVZNRXZlbnRDYWxsZXJJZHhTaXplAQUOY2FsbGVyQ2hhaW5JZF8JAJQKAgkAzggCCQDOCAIJAM4IAgkAzggCCQDOCAIJARFfc2F2ZVByb3h5U2VjRGVwbwIIBQFpBmNhbGxlcgUTcHJveHlTZWNEZXBvVXBkYXRlZAkBDV9zYXZlRVZNRXZlbnQCBQlldmVudFNpemUFDGV2ZW50VXBkYXRlZAkBE19zYXZlRVZNRXZlbnRTdGF0dXMCBQlldmVudEhhc2gFF0VWRU5UX1NUQVRVU19QUk9DRVNTSU5HCQERX3NhdmVFVk1FdmVudFNpemUBCQBkAgUJZXZlbnRTaXplAAEJARZfc2F2ZUVWTUV2ZW50Q2FsbGVySWR4AwUOY2FsbGVyQ2hhaW5JZF8FDWNhbGxlcklkeFNpemUFCWV2ZW50U2l6ZQkBGl9zYXZlRVZNRXZlbnRDYWxsZXJJZHhTaXplAgUOY2FsbGVyQ2hhaW5JZF8JAGQCBQ1jYWxsZXJJZHhTaXplAAEFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXcHVibGlzaFdhdmVzRXZlbnRTdGF0dXMCCWV2ZW50SWR4XwdzdGF0dXNfBAlldmVudFNpemUJARNfbG9hZFdhdmVzRXZlbnRTaXplAAQPY2FsbGVyUHVibGljS2V5CQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQQDZXJyAwkBEV92YWxpZGF0ZUV2ZW50SWR4AwUJZXZlbnRJZHhfBQlldmVudFNpemUCKnB1Ymxpc2hXYXZlc0V2ZW50U3RhdHVzOiBpbnZhbGlkIGV2ZW50IGlkeAkBFF92YWxpZGF0ZUV2ZW50U3RhdHVzAgUHc3RhdHVzXwIncHVibGlzaFdhdmVzRXZlbnRTdGF0dXM6IGludmFsaWQgc3RhdHVzBwMJAAACBQNlcnIFA2VycgQFZXZlbnQJAQ9fbG9hZFdhdmVzRXZlbnQBBQlldmVudElkeF8EDWNhbGxlckNoYWluSWQIBQVldmVudAJfMQQQZXhlY3V0aW9uQ2hhaW5JZAgFBWV2ZW50Al8yBAlldmVudEhhc2gIBQVldmVudAJfOQQSZXZlbnRDb25maXJtYXRpb25zCAUFZXZlbnQDXzEwBApldmVudFRvdGFsCAUFZXZlbnQDXzExBAxwcm94eVNlY0RlcG8IBQVldmVudANfMTIEBXByb3h5CAUFZXZlbnQDXzEzBAVlcG9jaAkBEV9sb2FkQ3VycmVudEVwb2NoAQUNY2FsbGVyQ2hhaW5JZAQPYWN0aXZlV2l0bmVzc2VzCQEOX2xvYWRXaXRuZXNzZXMCBQ1jYWxsZXJDaGFpbklkBQVlcG9jaAQEZXJyMQMDCQEQX2lzQWN0aXZlV2l0bmVzcwMJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5BQ9hY3RpdmVXaXRuZXNzZXMCJ3B1Ymxpc2hXYXZlc0V2ZW50U3RhdHVzOiBpbnZhbGlkIGNhbGxlcgkBF19ub3RDb25maXJtZWRXYXZlc0V2ZW50AgUJZXZlbnRIYXNoAjBwdWJsaXNoV2F2ZXNFdmVudFN0YXR1czogZXZlbnQgYWxyZWFkeSBjb25maXJtZWQHCQEgX25vdFB1Ymxpc2hlZFdhdmVzRXZlbnRCeVdpdG5lc3MDBQ9jYWxsZXJQdWJsaWNLZXkFCWV2ZW50SWR4XwIqcHVibGlzaFdhdmVzRXZlbnRTdGF0dXM6IGFscmVhZHkgcHVibGlzaGVkBwMJAAACBQRlcnIxBQRlcnIxBAxldmVudFVwZGF0ZWQDCQAAAgUHc3RhdHVzXwUWRVZFTlRfU1RBVFVTX0NPTkZJUk1FRAkBG19zZXRXYXZlc0V2ZW50Q29uZmlybWF0aW9ucwMFBWV2ZW50CQBkAgUSZXZlbnRDb25maXJtYXRpb25zAAEJAGQCBQpldmVudFRvdGFsAAEDCQAAAgUHc3RhdHVzXwUVRVZFTlRfU1RBVFVTX1JFSkVDVEVECQEbX3NldFdhdmVzRXZlbnRDb25maXJtYXRpb25zAwUFZXZlbnQFEmV2ZW50Q29uZmlybWF0aW9ucwkAZAIFCmV2ZW50VG90YWwAAQkAAgECKXB1Ymxpc2hXYXZlc0V2ZW50U3RhdHVzOiBpbmNvcnJlY3Qgc3RhdHVzBA9leGVjdXRvcklkeFNpemUJAR5fbG9hZFdhdmVzRXZlbnRFeGVjdXRvcklkeFNpemUBBRBleGVjdXRpb25DaGFpbklkBAxmaW5hbGl6YXRpb24DCQEQX2lzUXVvcnVtUmVhY2hlZAMIBQxldmVudFVwZGF0ZWQDXzEwCAUMZXZlbnRVcGRhdGVkA18xMQkAkAMBBQ9hY3RpdmVXaXRuZXNzZXMEBnN0YXR1cwkBD19nZXRFdmVudFN0YXR1cwMIBQxldmVudFVwZGF0ZWQDXzEwCAUMZXZlbnRVcGRhdGVkA18xMQkAkAMBBQ9hY3RpdmVXaXRuZXNzZXMEE3Byb3h5U2VjRGVwb1VwZGF0ZWQDCQAAAgUGc3RhdHVzBRZFVkVOVF9TVEFUVVNfQ09ORklSTUVECQERX3NhdmVQcm94eVNlY0RlcG8CBQVwcm94eQkAZAIJARFfbG9hZFByb3h5U2VjRGVwbwEFBXByb3h5BQxwcm94eVNlY0RlcG8DCQAAAgUGc3RhdHVzBRVFVkVOVF9TVEFUVVNfUkVKRUNURUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBDV9sb2FkTXVsdGlzaWcABQxwcm94eVNlY0RlcG8FBHVuaXQFA25pbAUDbmlsBA9yZXdhcmRBZGRyZXNzZXMJAMwIAgkApQgBBQVwcm94eQkBFV9wdWJsaWNLZXlzVG9BZGRyc1N0cgEFD2FjdGl2ZVdpdG5lc3NlcwQQd2l0bmVzc2VzUmV3YXJkcwkA/AcECQEXX2xvYWRSZXdhcmRUb2tlbkFkZHJlc3MABQ5GVU5DX01JTlRfTUFOWQkAzAgCCQERX2xvYWRSZXdhcmRBbW91bnQACQDMCAIFD3Jld2FyZEFkZHJlc3NlcwUDbmlsBQNuaWwDCQAAAgUQd2l0bmVzc2VzUmV3YXJkcwUQd2l0bmVzc2VzUmV3YXJkcwkAzggCCQDOCAIJAM4IAgUTcHJveHlTZWNEZXBvVXBkYXRlZAkBFV9zYXZlV2F2ZXNFdmVudFN0YXR1cwIFCWV2ZW50SGFzaAUGc3RhdHVzCQEaX3NhdmVXYXZlc0V2ZW50RXhlY3V0b3JJZHgDBRBleGVjdXRpb25DaGFpbklkBQ9leGVjdXRvcklkeFNpemUFCWV2ZW50SWR4XwkBHl9zYXZlV2F2ZXNFdmVudEV4ZWN1dG9ySWR4U2l6ZQIFEGV4ZWN1dGlvbkNoYWluSWQJAGQCBQ9leGVjdXRvcklkeFNpemUAAQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsCQCUCgIJAM4IAgkAzggCCQEPX3NhdmVXYXZlc0V2ZW50AgUJZXZlbnRJZHhfBQxldmVudFVwZGF0ZWQJASFfc2F2ZVB1Ymxpc2hlZFdhdmVzRXZlbnRCeVdpdG5lc3MDBQ9jYWxsZXJQdWJsaWNLZXkFCWV2ZW50SWR4XwUHc3RhdHVzXwUMZmluYWxpemF0aW9uBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFXB1Ymxpc2hFVk1FdmVudFN0YXR1cwIJZXZlbnRJZHhfB3N0YXR1c18ECWV2ZW50U2l6ZQkBEV9sb2FkRVZNRXZlbnRTaXplAAQPY2FsbGVyUHVibGljS2V5CQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQQDZXJyAwkBEV92YWxpZGF0ZUV2ZW50SWR4AwUJZXZlbnRJZHhfBQlldmVudFNpemUCKHB1Ymxpc2hFVk1FdmVudFN0YXR1czogaW52YWxpZCBldmVudCBpZHgJARRfdmFsaWRhdGVFdmVudFN0YXR1cwIFB3N0YXR1c18CJXB1Ymxpc2hFVk1FdmVudFN0YXR1czogaW52YWxpZCBzdGF0dXMHAwkAAAIFA2VycgUDZXJyBAVldmVudAkBDV9sb2FkRVZNRXZlbnQBBQlldmVudElkeF8EDWNhbGxlckNoYWluSWQIBQVldmVudAJfMQQQZXhlY3V0aW9uQ2hhaW5JZAgFBWV2ZW50Al8yBAlldmVudEhhc2gIBQVldmVudAJfOAQSZXZlbnRDb25maXJtYXRpb25zCAUFZXZlbnQCXzkECmV2ZW50VG90YWwIBQVldmVudANfMTAEDHByb3h5U2VjRGVwbwgFBWV2ZW50A18xMQQFcHJveHkIBQVldmVudANfMTIEBWVwb2NoCQERX2xvYWRDdXJyZW50RXBvY2gBBQ1jYWxsZXJDaGFpbklkBA9hY3RpdmVXaXRuZXNzZXMJAQ5fbG9hZFdpdG5lc3NlcwIFDWNhbGxlckNoYWluSWQFBWVwb2NoBARlcnIxAwMJARBfaXNBY3RpdmVXaXRuZXNzAwkA2AQBCAUBaQ9jYWxsZXJQdWJsaWNLZXkFD2FjdGl2ZVdpdG5lc3NlcwIlcHVibGlzaEVWTUV2ZW50U3RhdHVzOiBpbnZhbGlkIGNhbGxlcgkBFV9ub3RDb25maXJtZWRFVk1FdmVudAIFCWV2ZW50SGFzaAIucHVibGlzaEVWTUV2ZW50U3RhdHVzOiBldmVudCBhbHJlYWR5IGNvbmZpcm1lZAcJAR5fbm90UHVibGlzaGVkRVZNRXZlbnRCeVdpdG5lc3MDBQ9jYWxsZXJQdWJsaWNLZXkFCWV2ZW50SWR4XwIocHVibGlzaEVWTUV2ZW50U3RhdHVzOiBhbHJlYWR5IHB1Ymxpc2hlZAcDCQAAAgUEZXJyMQUEZXJyMQQMZXZlbnRVcGRhdGVkAwkAAAIFB3N0YXR1c18FFkVWRU5UX1NUQVRVU19DT05GSVJNRUQJARlfc2V0RVZNRXZlbnRDb25maXJtYXRpb25zAwUFZXZlbnQJAGQCBRJldmVudENvbmZpcm1hdGlvbnMAAQkAZAIFCmV2ZW50VG90YWwAAQMJAAACBQdzdGF0dXNfBRVFVkVOVF9TVEFUVVNfUkVKRUNURUQJARlfc2V0RVZNRXZlbnRDb25maXJtYXRpb25zAwUFZXZlbnQFEmV2ZW50Q29uZmlybWF0aW9ucwkAZAIFCmV2ZW50VG90YWwAAQkAAgECJ3B1Ymxpc2hFVk1FdmVudFN0YXR1czogaW5jb3JyZWN0IHN0YXR1cwQPZXhlY3V0b3JJZHhTaXplCQEcX2xvYWRFVk1FdmVudEV4ZWN1dG9ySWR4U2l6ZQEFEGV4ZWN1dGlvbkNoYWluSWQEDGZpbmFsaXphdGlvbgMJARBfaXNRdW9ydW1SZWFjaGVkAwgFDGV2ZW50VXBkYXRlZAJfOQgFDGV2ZW50VXBkYXRlZANfMTAJAJADAQUPYWN0aXZlV2l0bmVzc2VzBAZzdGF0dXMJAQ9fZ2V0RXZlbnRTdGF0dXMDCAUMZXZlbnRVcGRhdGVkAl85CAUMZXZlbnRVcGRhdGVkA18xMAkAkAMBBQ9hY3RpdmVXaXRuZXNzZXMEE3Byb3h5U2VjRGVwb1VwZGF0ZWQDCQAAAgUGc3RhdHVzBRZFVkVOVF9TVEFUVVNfQ09ORklSTUVECQERX3NhdmVQcm94eVNlY0RlcG8CBQVwcm94eQkAZAIJARFfbG9hZFByb3h5U2VjRGVwbwEFBXByb3h5BQxwcm94eVNlY0RlcG8DCQAAAgUGc3RhdHVzBRVFVkVOVF9TVEFUVVNfUkVKRUNURUQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBDV9sb2FkTXVsdGlzaWcABQxwcm94eVNlY0RlcG8FBHVuaXQFA25pbAUDbmlsBA9yZXdhcmRBZGRyZXNzZXMJAMwIAgkApQgBBQVwcm94eQkBFV9wdWJsaWNLZXlzVG9BZGRyc1N0cgEFD2FjdGl2ZVdpdG5lc3NlcwQQd2l0bmVzc2VzUmV3YXJkcwkA/AcECQEXX2xvYWRSZXdhcmRUb2tlbkFkZHJlc3MABQ5GVU5DX01JTlRfTUFOWQkAzAgCCQERX2xvYWRSZXdhcmRBbW91bnQACQDMCAIFD3Jld2FyZEFkZHJlc3NlcwUDbmlsBQNuaWwDCQAAAgUQd2l0bmVzc2VzUmV3YXJkcwUQd2l0bmVzc2VzUmV3YXJkcwkAzggCCQDOCAIJAM4IAgUTcHJveHlTZWNEZXBvVXBkYXRlZAkBE19zYXZlRVZNRXZlbnRTdGF0dXMCBQlldmVudEhhc2gFBnN0YXR1cwkBGF9zYXZlRVZNRXZlbnRFeGVjdXRvcklkeAMFEGV4ZWN1dGlvbkNoYWluSWQFD2V4ZWN1dG9ySWR4U2l6ZQUJZXZlbnRJZHhfCQEcX3NhdmVFVk1FdmVudEV4ZWN1dG9ySWR4U2l6ZQIFEGV4ZWN1dGlvbkNoYWluSWQJAGQCBQ9leGVjdXRvcklkeFNpemUAAQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUDbmlsCQCUCgIJAM4IAgkAzggCCQENX3NhdmVFVk1FdmVudAIFCWV2ZW50SWR4XwUMZXZlbnRVcGRhdGVkCQEfX3NhdmVQdWJsaXNoZWRFVk1FdmVudEJ5V2l0bmVzcwMFD2NhbGxlclB1YmxpY0tleQUJZXZlbnRJZHhfBQdzdGF0dXNfBQxmaW5hbGl6YXRpb24FBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXYWRkUHJveHlTZWN1cml0eURlcG9zaXQBCnJlY2lwaWVudF8ECXJlY2lwaWVudAMJAAACBQpyZWNpcGllbnRfAgAJAKUIAQgFAWkGY2FsbGVyBQpyZWNpcGllbnRfBANlcnIDAwkBEF92YWxpZGF0ZUFkZHJlc3MCBQlyZWNpcGllbnQCKmFkZFByb3h5U2VjdXJpdHlEZXBvc2l0OiBpbnZhbGlkIHJlY2lwaWVudAkBFV92YWxpZGF0ZVBheW1lbnRzU2l6ZQMIBQFpCHBheW1lbnRzAAECI2FkZFByb3h5U2VjdXJpdHlEZXBvc2l0OiBubyBwYXltZW50BwkBFV92YWxpZGF0ZVBheW1lbnRBc3NldAMJAJEDAggFAWkIcGF5bWVudHMAAAUEdW5pdAImYWRkUHJveHlTZWN1cml0eURlcG9zaXQ6IGludmFsaWQgYXNzZXQHAwkAAAIFA2VycgUDZXJyBA1yZWNpcGllbnRBZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBBQlyZWNpcGllbnQEB2JhbGFuY2UJARFfbG9hZFByb3h5U2VjRGVwbwEFDXJlY2lwaWVudEFkZHIEDnVwZGF0ZWRCYWxhbmNlCQBkAgUHYmFsYW5jZQgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAJQKAgkBEV9zYXZlUHJveHlTZWNEZXBvAgUNcmVjaXBpZW50QWRkcgUOdXBkYXRlZEJhbGFuY2UFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXc3ViUHJveHlTZWN1cml0eURlcG9zaXQBB2Ftb3VudF8EB2JhbGFuY2UJARFfbG9hZFByb3h5U2VjRGVwbwEIBQFpBmNhbGxlcgMJAGYCBQdhbW91bnRfBQdiYWxhbmNlCQACAQItc3ViUHJveHlTZWN1cml0eURlcG9zaXQ6IGluc3VmZmljaWVudCBiYWxhbmNlCQCUCgIJAM4IAgkBEV9zYXZlUHJveHlTZWNEZXBvAggFAWkGY2FsbGVyCQBlAgUHYmFsYW5jZQUHYW1vdW50XwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFB2Ftb3VudF8FBHVuaXQFA25pbAUEdW5pdAFpAQtzZXRNdWx0aXNpZwEJbXVsdGlzaWdfBANlcnIDCQERX29ubHlUaGlzQ29udHJhY3QBCAUBaQZjYWxsZXIJARBfdmFsaWRhdGVBZGRyZXNzAgUJbXVsdGlzaWdfAiVzZXRNdWx0aXNpZzogaW52YWxpZCBtdWx0aXNpZyBhZGRyZXNzBwMJAAACBQNlcnIFA2VycgkAlAoCCQENX3NhdmVNdWx0aXNpZwEJARFAZXh0ck5hdGl2ZSgxMDYyKQEFCW11bHRpc2lnXwUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAEByRtYXRjaDAJAKIIAQUMS0VZX01VTFRJU0lHAwkAAQIFByRtYXRjaDACBlN0cmluZwQIbXVsdGlzaWcFByRtYXRjaDAJAQt2YWx1ZU9yRWxzZQIJAJsIAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUIbXVsdGlzaWcJALkJAgkAzAgCBQpLRVlfU1RBVFVTCQDMCAIJAKUIAQUEdGhpcwkAzAgCCQDYBAEIBQJ0eAJpZAUDbmlsBQlTRVBBUkFUT1IHCQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5Xb40SQ==", "height": 2490267, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H1mjqckmKyrqNXCaVZFEXpZBtXKQzEem4PxyDvH9b3VV Next: DhpBYuFyvQCLGN2GGy2znExSW2QHwy1jkRTAxJtHqiEn Diff:
OldNewDifferences
9595 else true
9696
9797
98-func P (L,F) = if (contains(L, b))
98+func P (L,F) = if (if (contains(L, b))
99+ then true
100+ else contains(L, a))
99101 then throw(F)
100- else O(L, F)
102+ else true
101103
102104
103105 func Q (R,F) = if ((size(R) > 22))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = "####"
77
88 let c = "INIT"
99
1010 let d = "MULTISIG"
1111
1212 let e = "STATUS"
1313
1414 let f = "PROXY_SECURITY_DEPOSIT"
1515
1616 let g = "PROXY_SECURITY_DEPOSIT_PER_EVENT"
1717
1818 let h = "WAVES_EVENT"
1919
2020 let i = "EVM_EVENT"
2121
2222 let j = "WAVES_EVENT_SIZE"
2323
2424 let k = "EVM_EVENT_SIZE"
2525
2626 let l = "WAVES_EVENT_STATUS"
2727
2828 let m = "EVM_EVENT_STATUS"
2929
3030 let n = "WAVES_EVENT_PUBLISHED"
3131
3232 let o = "EVM_EVENT_PUBLISHED"
3333
3434 let p = "CURRENT_EPOCH"
3535
3636 let q = "SIZE"
3737
3838 let r = "WAVES_EVENT_CALLER"
3939
4040 let s = "EVM_EVENT_CALLER"
4141
4242 let t = "WITNESSES_PER_EPOCH"
4343
4444 let u = "WAVES_EVENT_EXECUTOR"
4545
4646 let v = "EVM_EVENT_EXECUTOR"
4747
4848 let w = "REWARD_TOKEN_ADDRESS"
4949
5050 let x = "REWARD_AMOUNT"
5151
5252 let y = "mintMany"
5353
5454 let z = 1
5555
5656 let A = 2
5757
5858 let B = 3
5959
6060 let C = 9223372036854775807
6161
6262 func D (E,F) = {
6363 let G = addressFromString(E)
6464 if ($isInstanceOf(G, "Address"))
6565 then {
6666 let H = G
6767 true
6868 }
6969 else throw(F)
7070 }
7171
7272
7373 func I (J,F) = {
7474 let G = assetInfo(fromBase58String(J))
7575 if ($isInstanceOf(G, "Asset"))
7676 then {
7777 let H = G
7878 true
7979 }
8080 else throw(F)
8181 }
8282
8383
8484 func K (L,M,N,F) = if (if ((M > L))
8585 then true
8686 else (L > N))
8787 then throw(F)
8888 else true
8989
9090
9191 func O (L,F) = if (if ((0 >= size(L)))
9292 then true
9393 else contains(L, a))
9494 then throw(F)
9595 else true
9696
9797
98-func P (L,F) = if (contains(L, b))
98+func P (L,F) = if (if (contains(L, b))
99+ then true
100+ else contains(L, a))
99101 then throw(F)
100- else O(L, F)
102+ else true
101103
102104
103105 func Q (R,F) = if ((size(R) > 22))
104106 then throw(F)
105107 else {
106108 func S (T,U) = $Tuple2(if (T._1)
107109 then P(U, T._2)
108110 else false, T._2)
109111
110112 let V = {
111113 let W = R
112114 let X = size(W)
113115 let Y = $Tuple2(true, F)
114116 func Z (aa,ab) = if ((ab >= X))
115117 then aa
116118 else S(aa, W[ab])
117119
118120 func ac (aa,ab) = if ((ab >= X))
119121 then aa
120122 else throw("List size exceeds 22")
121123
122124 ac(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22)
123125 }
124126 V._1
125127 }
126128
127129
128130 func ad (ae,af,F) = if ((size(ae) != af))
129131 then throw(F)
130132 else true
131133
132134
133135 func ag (ah,ai,F) = if ((ah.assetId != ai))
134136 then throw(F)
135137 else true
136138
137139
138140 func aj (L,ak,F) = if (if ((0 > L))
139141 then true
140142 else (L >= ak))
141143 then throw(F)
142144 else true
143145
144146
145147 func al (L,F) = if (if ((z > L))
146148 then true
147149 else (L > B))
148150 then throw(F)
149151 else true
150152
151153
152154 func am (an,F) = if ((size(fromBase58String(an)) != 32))
153155 then throw(F)
154156 else true
155157
156158
157159 func ao (ap,F) = {
158160 func S (T,U) = $Tuple2(if (T._1)
159161 then am(U, T._2)
160162 else false, T._2)
161163
162164 let V = {
163165 let W = ap
164166 let X = size(W)
165167 let Y = $Tuple2(true, F)
166168 func Z (aa,ab) = if ((ab >= X))
167169 then aa
168170 else S(aa, W[ab])
169171
170172 func ac (aa,ab) = if ((ab >= X))
171173 then aa
172174 else throw("List size exceeds 10")
173175
174176 ac(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
175177 }
176178 V._1
177179 }
178180
179181
180182 func aq (ap) = {
181183 func ar (as,at) = (as :+ toString(addressFromPublicKey(fromBase58String(at))))
182184
183185 let W = ap
184186 let X = size(W)
185187 let Y = nil
186188 func Z (aa,ab) = if ((ab >= X))
187189 then aa
188190 else ar(aa, W[ab])
189191
190192 func ac (aa,ab) = if ((ab >= X))
191193 then aa
192194 else throw("List size exceeds 51")
193195
194196 ac(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51)
195197 }
196198
197199
198200 func au () = {
199201 let G = getBoolean(c)
200202 if ($isInstanceOf(G, "Boolean"))
201203 then {
202204 let H = G
203205 H
204206 }
205207 else false
206208 }
207209
208210
209211 func av (aw) = [BooleanEntry(c, aw)]
210212
211213
212214 func ax () = {
213215 let G = getString(d)
214216 if ($isInstanceOf(G, "String"))
215217 then {
216218 let H = G
217219 addressFromStringValue(H)
218220 }
219221 else Address(base58'')
220222 }
221223
222224
223225 func ay (az) = [StringEntry(d, toString(az))]
224226
225227
226228 func aA (aB) = {
227229 let G = getInteger(makeString([f, toString(aB)], a))
228230 if ($isInstanceOf(G, "Int"))
229231 then {
230232 let H = G
231233 H
232234 }
233235 else 0
234236 }
235237
236238
237239 func aC (aB,L) = [IntegerEntry(makeString([f, toString(aB)], a), L)]
238240
239241
240242 func aD () = {
241243 let G = getInteger(g)
242244 if ($isInstanceOf(G, "Int"))
243245 then {
244246 let H = G
245247 H
246248 }
247249 else 0
248250 }
249251
250252
251253 func aE (L) = [IntegerEntry(g, L)]
252254
253255
254256 func aF () = {
255257 let G = getInteger(j)
256258 if ($isInstanceOf(G, "Int"))
257259 then {
258260 let H = G
259261 H
260262 }
261263 else 0
262264 }
263265
264266
265267 func aG (L) = [IntegerEntry(j, L)]
266268
267269
268270 func aH () = {
269271 let G = getInteger(k)
270272 if ($isInstanceOf(G, "Int"))
271273 then {
272274 let H = G
273275 H
274276 }
275277 else 0
276278 }
277279
278280
279281 func aI (L) = [IntegerEntry(k, L)]
280282
281283
282284 func aJ (aK) = {
283285 let G = getString(makeString([h, toString(aK)], a))
284286 if ($isInstanceOf(G, "String"))
285287 then {
286288 let H = G
287289 let aL = split(H, a)
288290 $Tuple13(parseIntValue(aL[0]), parseIntValue(aL[1]), parseIntValue(aL[2]), aL[3], aL[4], split(aL[5], b), aL[6], parseIntValue(aL[7]), aL[8], parseIntValue(aL[9]), parseIntValue(aL[10]), parseIntValue(aL[11]), addressFromStringValue(aL[12]))
289291 }
290292 else $Tuple13(0, 0, 0, "", "", nil, "", 0, "", 0, 0, 0, Address(base58''))
291293 }
292294
293295
294296 func aM (aK,aN) = [StringEntry(makeString([h, toString(aK)], a), makeString([toString(aN._1), toString(aN._2), toString(aN._3), aN._4, aN._5, makeString(aN._6, b), aN._7, toString(aN._8), aN._9, toString(aN._10), toString(aN._11), toString(aN._12), toString(aN._13)], a))]
295297
296298
297299 func aO (aK) = {
298300 let G = getString(makeString([i, toString(aK)], a))
299301 if ($isInstanceOf(G, "String"))
300302 then {
301303 let H = G
302304 let aL = split(H, a)
303305 $Tuple12(parseIntValue(aL[0]), parseIntValue(aL[1]), parseIntValue(aL[2]), aL[3], aL[4], aL[5], parseIntValue(aL[6]), aL[7], parseIntValue(aL[8]), parseIntValue(aL[9]), parseIntValue(aL[10]), addressFromStringValue(aL[11]))
304306 }
305307 else $Tuple12(0, 0, 0, "", "", "", 0, "", 0, 0, 0, Address(base58''))
306308 }
307309
308310
309311 func aP (aK,aN) = [StringEntry(makeString([i, toString(aK)], a), makeString([toString(aN._1), toString(aN._2), toString(aN._3), aN._4, aN._5, aN._6, toString(aN._7), aN._8, toString(aN._9), toString(aN._10), toString(aN._11), toString(aN._12)], a))]
310312
311313
312314 func aQ (aR) = {
313315 let G = getInteger(makeString([l, aR], a))
314316 if ($isInstanceOf(G, "Int"))
315317 then {
316318 let H = G
317319 H
318320 }
319321 else 0
320322 }
321323
322324
323325 func aS (aR,aT) = [IntegerEntry(makeString([l, aR], a), aT)]
324326
325327
326328 func aU (aR) = {
327329 let G = getInteger(makeString([m, aR], a))
328330 if ($isInstanceOf(G, "Int"))
329331 then {
330332 let H = G
331333 H
332334 }
333335 else 0
334336 }
335337
336338
337339 func aV (aR,aT) = [IntegerEntry(makeString([m, aR], a), aT)]
338340
339341
340342 func aW (an,aX) = {
341343 let G = getInteger(makeString([n, an, toString(aX)], a))
342344 if ($isInstanceOf(G, "Int"))
343345 then {
344346 let H = G
345347 H
346348 }
347349 else 0
348350 }
349351
350352
351353 func aY (an,aX,L) = [IntegerEntry(makeString([n, an, toString(aX)], a), L)]
352354
353355
354356 func aZ (an,aX) = {
355357 let G = getInteger(makeString([o, an, toString(aX)], a))
356358 if ($isInstanceOf(G, "Int"))
357359 then {
358360 let H = G
359361 H
360362 }
361363 else 0
362364 }
363365
364366
365367 func ba (an,aX,L) = [IntegerEntry(makeString([o, an, toString(aX)], a), L)]
366368
367369
368370 func bb (bc) = {
369371 let G = getInteger(makeString([p, toString(bc)], a))
370372 if ($isInstanceOf(G, "Int"))
371373 then {
372374 let H = G
373375 H
374376 }
375377 else 0
376378 }
377379
378380
379381 func bd (bc,L) = [IntegerEntry(makeString([p, toString(bc)], a), L)]
380382
381383
382384 func be (bc) = {
383385 let G = getInteger(makeString([r, toString(bc), q], a))
384386 if ($isInstanceOf(G, "Int"))
385387 then {
386388 let H = G
387389 H
388390 }
389391 else 0
390392 }
391393
392394
393395 func bf (bc,L) = [IntegerEntry(makeString([r, toString(bc), q], a), L)]
394396
395397
396398 func bg (bc,bh) = {
397399 let G = getInteger(makeString([r, toString(bc), toString(bh)], a))
398400 if ($isInstanceOf(G, "Int"))
399401 then {
400402 let H = G
401403 H
402404 }
403405 else 0
404406 }
405407
406408
407409 func bi (bc,bh,L) = [IntegerEntry(makeString([r, toString(bc), toString(bh)], a), L)]
408410
409411
410412 func bj (bc) = {
411413 let G = getInteger(makeString([s, toString(bc), q], a))
412414 if ($isInstanceOf(G, "Int"))
413415 then {
414416 let H = G
415417 H
416418 }
417419 else 0
418420 }
419421
420422
421423 func bk (bc,L) = [IntegerEntry(makeString([s, toString(bc), q], a), L)]
422424
423425
424426 func bl (bc,bh) = {
425427 let G = getInteger(makeString([s, toString(bc), toString(bh)], a))
426428 if ($isInstanceOf(G, "Int"))
427429 then {
428430 let H = G
429431 H
430432 }
431433 else 0
432434 }
433435
434436
435437 func bm (bc,bh,L) = [IntegerEntry(makeString([s, toString(bc), toString(bh)], a), L)]
436438
437439
438440 func bn (bo) = {
439441 let G = getInteger(makeString([u, toString(bo), q], a))
440442 if ($isInstanceOf(G, "Int"))
441443 then {
442444 let H = G
443445 H
444446 }
445447 else 0
446448 }
447449
448450
449451 func bp (bo,L) = [IntegerEntry(makeString([u, toString(bo), q], a), L)]
450452
451453
452454 func bq (bo,bh) = {
453455 let G = getInteger(makeString([u, toString(bo), toString(bh)], a))
454456 if ($isInstanceOf(G, "Int"))
455457 then {
456458 let H = G
457459 H
458460 }
459461 else 0
460462 }
461463
462464
463465 func br (bo,bh,L) = [IntegerEntry(makeString([u, toString(bo), toString(bh)], a), L)]
464466
465467
466468 func bs (bo) = {
467469 let G = getInteger(makeString([v, toString(bo), q], a))
468470 if ($isInstanceOf(G, "Int"))
469471 then {
470472 let H = G
471473 H
472474 }
473475 else 0
474476 }
475477
476478
477479 func bt (bo,L) = [IntegerEntry(makeString([v, toString(bo), q], a), L)]
478480
479481
480482 func bu (bo,bh) = {
481483 let G = getInteger(makeString([v, toString(bo), toString(bh)], a))
482484 if ($isInstanceOf(G, "Int"))
483485 then {
484486 let H = G
485487 H
486488 }
487489 else 0
488490 }
489491
490492
491493 func bv (bo,bh,L) = [IntegerEntry(makeString([v, toString(bo), toString(bh)], a), L)]
492494
493495
494496 func bw (bc,bx) = {
495497 let G = getString(makeString([t, toString(bc), toString(bx)], a))
496498 if ($isInstanceOf(G, "String"))
497499 then {
498500 let H = G
499501 if ((size(H) > 0))
500502 then split(H, a)
501503 else nil
502504 }
503505 else nil
504506 }
505507
506508
507509 func by (bc,bx,bz) = [StringEntry(makeString([t, toString(bc), toString(bx)], a), makeString(bz, a))]
508510
509511
510512 func bA () = {
511513 let G = getString(w)
512514 if ($isInstanceOf(G, "String"))
513515 then {
514516 let H = G
515517 addressFromStringValue(H)
516518 }
517519 else Address(base58'')
518520 }
519521
520522
521523 func bB (L) = [StringEntry(w, toString(L))]
522524
523525
524526 func bC () = {
525527 let G = getInteger(x)
526528 if ($isInstanceOf(G, "Int"))
527529 then {
528530 let H = G
529531 H
530532 }
531533 else 0
532534 }
533535
534536
535537 func bD (L) = [IntegerEntry(x, L)]
536538
537539
538540 func bE (bF) = if ((bF != this))
539541 then throw("_onlyThisContract: revert")
540542 else true
541543
542544
543545 func bG () = if ((ax() == Address(base58'')))
544546 then throw("_whenMultisigSet: revert")
545547 else true
546548
547549
548550 func bH () = if (au())
549551 then throw("_whenNotInitialized: revert")
550552 else true
551553
552554
553555 func bI () = if (!(au()))
554556 then throw("_whenInitialized: revert")
555557 else true
556558
557559
558560 func bJ (an,ap,F) = if (!(containsElement(ap, an)))
559561 then throw(F)
560562 else true
561563
562564
563565 func bK (aR,F) = if ((aQ(aR) > z))
564566 then throw(F)
565567 else true
566568
567569
568570 func bL (aR,F) = if ((aU(aR) > z))
569571 then throw(F)
570572 else true
571573
572574
573575 func bM (aR,F) = if ((aQ(aR) != 0))
574576 then throw(F)
575577 else true
576578
577579
578580 func bN (aR,F) = if ((aU(aR) != 0))
579581 then throw(F)
580582 else true
581583
582584
583585 func bO (an,aX,F) = if ((aW(an, aX) != 0))
584586 then throw(F)
585587 else true
586588
587589
588590 func bP (an,aX,F) = if ((aZ(an, aX) > 0))
589591 then throw(F)
590592 else true
591593
592594
593595 func bQ (bR,bS,bT) = if (if ((bR > (bT / 2)))
594596 then true
595597 else ((bS - bR) > (bT / 2)))
596598 then true
597599 else false
598600
599601
600602 func bU (bR,bS,bT) = if ((bR > (bT / 2)))
601603 then A
602604 else if (((bS - bR) > (bT / 2)))
603605 then B
604606 else z
605607
606608
607609 func bV (aN) = {
608610 let bW = (((((((toBytes(aN._1) + toBytes(aN._2)) + toBytes(aN._3)) + toBytes(aN._4)) + toBytes(aN._5)) + toBytes(makeString(aN._6, b))) + toBytes(aN._7)) + toBytes(aN._8))
609611 toBase58String(keccak256_16Kb(bW))
610612 }
611613
612614
613615 func bX (aN) = {
614616 let bW = ((((((toBytes(aN._1) + toBytes(aN._2)) + toBytes(aN._3)) + toBytes(aN._4)) + toBytes(aN._5)) + toBytes(aN._6)) + toBytes(aN._7))
615617 toBase58String(keccak256_16Kb(bW))
616618 }
617619
618620
619621 func bY (aN,bZ) = $Tuple13(aN._1, aN._2, aN._3, aN._4, aN._5, aN._6, aN._7, aN._8, bZ, aN._10, aN._11, aN._12, aN._13)
620622
621623
622624 func ca (aN,bZ) = $Tuple12(aN._1, aN._2, aN._3, aN._4, aN._5, aN._6, aN._7, bZ, aN._9, aN._10, aN._11, aN._12)
623625
624626
625627 func cb (aN,bR,bS) = $Tuple13(aN._1, aN._2, aN._3, aN._4, aN._5, aN._6, aN._7, aN._8, aN._9, bR, bS, aN._12, aN._13)
626628
627629
628630 func cc (aN,bR,bS) = $Tuple12(aN._1, aN._2, aN._3, aN._4, aN._5, aN._6, aN._7, aN._8, bR, bS, aN._11, aN._12)
629631
630632
631633 @Callable(cd)
632634 func init (ce,cf,cg) = {
633635 let ch = if (if (if (if (if (bE(cd.caller))
634636 then bH()
635637 else false)
636638 then bG()
637639 else false)
638640 then K(ce, 0, C, "init: invalid proxySecDepoPerEvent")
639641 else false)
640642 then D(cf, "init: invalid rewardTokenAddress")
641643 else false)
642644 then K(cg, 0, C, "init: invalid rewardAmount")
643645 else false
644646 if ((ch == ch))
645647 then $Tuple2((((av(true) ++ aE(ce)) ++ bB(addressFromStringValue(cf))) ++ bD(cg)), unit)
646648 else throw("Strict value is not equal to itself.")
647649 }
648650
649651
650652
651653 @Callable(cd)
652654 func setActiveWitnesses (bc,bz) = {
653655 let ch = if (if (bE(cd.caller))
654656 then bI()
655657 else false)
656658 then ao(bz, "setActiveWitnesses: invalid witnesses")
657659 else false
658660 if ((ch == ch))
659661 then {
660662 let ci = bb(bc)
661663 $Tuple2((bd(bc, (ci + 1)) ++ by(bc, (ci + 1), bz)), unit)
662664 }
663665 else throw("Strict value is not equal to itself.")
664666 }
665667
666668
667669
668670 @Callable(cd)
669671 func submitWavesCallEvent (bc,bo,cj,ck,cl,R,cm,cn) = {
670672 let ch = if (if (if (if (if (if (if (K(bc, 0, C, "submitWavesCallEvent: invalid callerChainId"))
671673 then K(bo, 0, C, "submitWavesCallEvent: invalid executionChainId")
672674 else false)
673675 then K(cj, 0, C, "submitWavesCallEvent: invalid nonce")
674676 else false)
675677 then O(ck, "submitWavesCallEvent: invalid executionContract")
676678 else false)
677679 then O(cl, "submitWavesCallEvent: invalid functionName")
678680 else false)
679681 then Q(R, "submitWavesCallEvent: invalid args")
680682 else false)
681683 then O(cm, "submitWavesCallEvent: invalid txHash")
682684 else false)
683685 then K(cn, 0, C, "submitWavesCallEvent: invalid blockNumber")
684686 else false
685687 if ((ch == ch))
686688 then {
687689 let co = aA(cd.caller)
688690 let cp = aD()
689691 let cq = (co - cp)
690692 let cr = $Tuple13(bc, bo, cj, ck, cl, R, cm, cn, "", 0, 0, cp, cd.caller)
691693 let cs = aF()
692694 let ct = bV(cr)
693695 let cu = bY(cr, ct)
694696 let cv = if (bM(ct, "submitWavesCallEvent: already exists"))
695697 then K(cq, 0, C, "submitWavesCallEvent: no security deposit")
696698 else false
697699 if ((cv == cv))
698700 then {
699701 let cw = be(bc)
700702 $Tuple2((((((aC(cd.caller, cq) ++ aM(cs, cu)) ++ aS(ct, z)) ++ aG((cs + 1))) ++ bi(bc, cw, cs)) ++ bf(bc, (cw + 1))), unit)
701703 }
702704 else throw("Strict value is not equal to itself.")
703705 }
704706 else throw("Strict value is not equal to itself.")
705707 }
706708
707709
708710
709711 @Callable(cd)
710712 func submitEVMCallEvent (bc,bo,cj,ck,cx,cm,cn) = {
711713 let ch = if (if (if (if (if (if (K(bc, 0, C, "submitEVMCallEvent: invalid callerChainId"))
712714 then K(bo, 0, C, "submitEVMCallEvent: invalid executionChainId")
713715 else false)
714716 then K(cj, 0, C, "submitEVMCallEvent: invalid nonce")
715717 else false)
716718 then O(ck, "submitEVMCallEvent: invalid executionContract")
717719 else false)
718720 then O(cx, "submitEVMCallEvent: invalid calldata")
719721 else false)
720722 then O(cm, "submitEVMCallEvent: invalid txHash")
721723 else false)
722724 then K(cn, 0, C, "submitEVMCallEvent: invalid blockNumber")
723725 else false
724726 if ((ch == ch))
725727 then {
726728 let co = aA(cd.caller)
727729 let cp = aD()
728730 let cq = (co - cp)
729731 let cr = $Tuple12(bc, bo, cj, ck, cx, cm, cn, "", 0, 0, cp, cd.caller)
730732 let cs = aH()
731733 let ct = bX(cr)
732734 let cu = ca(cr, ct)
733735 let cv = if (bN(ct, "submitEVMCallEvent: already exists"))
734736 then K(cq, 0, C, "submitEVMCallEvent: no security deposit")
735737 else false
736738 if ((cv == cv))
737739 then {
738740 let cw = bj(bc)
739741 $Tuple2((((((aC(cd.caller, cq) ++ aP(cs, cu)) ++ aV(ct, z)) ++ aI((cs + 1))) ++ bm(bc, cw, cs)) ++ bk(bc, (cw + 1))), unit)
740742 }
741743 else throw("Strict value is not equal to itself.")
742744 }
743745 else throw("Strict value is not equal to itself.")
744746 }
745747
746748
747749
748750 @Callable(cd)
749751 func publishWavesEventStatus (cy,aT) = {
750752 let cs = aF()
751753 let cz = toBase58String(cd.callerPublicKey)
752754 let ch = if (aj(cy, cs, "publishWavesEventStatus: invalid event idx"))
753755 then al(aT, "publishWavesEventStatus: invalid status")
754756 else false
755757 if ((ch == ch))
756758 then {
757759 let cr = aJ(cy)
758760 let cA = cr._1
759761 let cB = cr._2
760762 let ct = cr._9
761763 let cC = cr._10
762764 let cD = cr._11
763765 let co = cr._12
764766 let cE = cr._13
765767 let ci = bb(cA)
766768 let cF = bw(cA, ci)
767769 let cv = if (if (bJ(toBase58String(cd.callerPublicKey), cF, "publishWavesEventStatus: invalid caller"))
768770 then bK(ct, "publishWavesEventStatus: event already confirmed")
769771 else false)
770772 then bO(cz, cy, "publishWavesEventStatus: already published")
771773 else false
772774 if ((cv == cv))
773775 then {
774776 let cu = if ((aT == A))
775777 then cb(cr, (cC + 1), (cD + 1))
776778 else if ((aT == B))
777779 then cb(cr, cC, (cD + 1))
778780 else throw("publishWavesEventStatus: incorrect status")
779781 let cG = bn(cB)
780782 let cH = if (bQ(cu._10, cu._11, size(cF)))
781783 then {
782784 let cI = bU(cu._10, cu._11, size(cF))
783785 let cq = if ((cI == A))
784786 then aC(cE, (aA(cE) + co))
785787 else if ((cI == B))
786788 then [ScriptTransfer(ax(), co, unit)]
787789 else nil
788790 let cJ = [toString(cE), aq(cF)]
789791 let cK = invoke(bA(), y, [bC(), cJ], nil)
790792 if ((cK == cK))
791793 then (((cq ++ aS(ct, cI)) ++ br(cB, cG, cy)) ++ bp(cB, (cG + 1)))
792794 else throw("Strict value is not equal to itself.")
793795 }
794796 else nil
795797 $Tuple2(((aM(cy, cu) ++ aY(cz, cy, aT)) ++ cH), unit)
796798 }
797799 else throw("Strict value is not equal to itself.")
798800 }
799801 else throw("Strict value is not equal to itself.")
800802 }
801803
802804
803805
804806 @Callable(cd)
805807 func publishEVMEventStatus (cy,aT) = {
806808 let cs = aH()
807809 let cz = toBase58String(cd.callerPublicKey)
808810 let ch = if (aj(cy, cs, "publishEVMEventStatus: invalid event idx"))
809811 then al(aT, "publishEVMEventStatus: invalid status")
810812 else false
811813 if ((ch == ch))
812814 then {
813815 let cr = aO(cy)
814816 let cA = cr._1
815817 let cB = cr._2
816818 let ct = cr._8
817819 let cC = cr._9
818820 let cD = cr._10
819821 let co = cr._11
820822 let cE = cr._12
821823 let ci = bb(cA)
822824 let cF = bw(cA, ci)
823825 let cv = if (if (bJ(toBase58String(cd.callerPublicKey), cF, "publishEVMEventStatus: invalid caller"))
824826 then bL(ct, "publishEVMEventStatus: event already confirmed")
825827 else false)
826828 then bP(cz, cy, "publishEVMEventStatus: already published")
827829 else false
828830 if ((cv == cv))
829831 then {
830832 let cu = if ((aT == A))
831833 then cc(cr, (cC + 1), (cD + 1))
832834 else if ((aT == B))
833835 then cc(cr, cC, (cD + 1))
834836 else throw("publishEVMEventStatus: incorrect status")
835837 let cG = bs(cB)
836838 let cH = if (bQ(cu._9, cu._10, size(cF)))
837839 then {
838840 let cI = bU(cu._9, cu._10, size(cF))
839841 let cq = if ((cI == A))
840842 then aC(cE, (aA(cE) + co))
841843 else if ((cI == B))
842844 then [ScriptTransfer(ax(), co, unit)]
843845 else nil
844846 let cJ = [toString(cE), aq(cF)]
845847 let cK = invoke(bA(), y, [bC(), cJ], nil)
846848 if ((cK == cK))
847849 then (((cq ++ aV(ct, cI)) ++ bv(cB, cG, cy)) ++ bt(cB, (cG + 1)))
848850 else throw("Strict value is not equal to itself.")
849851 }
850852 else nil
851853 $Tuple2(((aP(cy, cu) ++ ba(cz, cy, aT)) ++ cH), unit)
852854 }
853855 else throw("Strict value is not equal to itself.")
854856 }
855857 else throw("Strict value is not equal to itself.")
856858 }
857859
858860
859861
860862 @Callable(cd)
861863 func addProxySecurityDeposit (cL) = {
862864 let cM = if ((cL == ""))
863865 then toString(cd.caller)
864866 else cL
865867 let ch = if (if (D(cM, "addProxySecurityDeposit: invalid recipient"))
866868 then ad(cd.payments, 1, "addProxySecurityDeposit: no payment")
867869 else false)
868870 then ag(cd.payments[0], unit, "addProxySecurityDeposit: invalid asset")
869871 else false
870872 if ((ch == ch))
871873 then {
872874 let cN = addressFromStringValue(cM)
873875 let cO = aA(cN)
874876 let cP = (cO + cd.payments[0].amount)
875877 $Tuple2(aC(cN, cP), unit)
876878 }
877879 else throw("Strict value is not equal to itself.")
878880 }
879881
880882
881883
882884 @Callable(cd)
883885 func subProxySecurityDeposit (cQ) = {
884886 let cO = aA(cd.caller)
885887 if ((cQ > cO))
886888 then throw("subProxySecurityDeposit: insufficient balance")
887889 else $Tuple2((aC(cd.caller, (cO - cQ)) ++ [ScriptTransfer(cd.caller, cQ, unit)]), unit)
888890 }
889891
890892
891893
892894 @Callable(cd)
893895 func setMultisig (az) = {
894896 let ch = if (bE(cd.caller))
895897 then D(az, "setMultisig: invalid multisig address")
896898 else false
897899 if ((ch == ch))
898900 then $Tuple2(ay(addressFromStringValue(az)), unit)
899901 else throw("Strict value is not equal to itself.")
900902 }
901903
902904
903905 @Verifier(cR)
904906 func cS () = {
905907 let G = getString(d)
906908 if ($isInstanceOf(G, "String"))
907909 then {
908910 let cT = G
909911 valueOrElse(getBoolean(addressFromStringValue(cT), makeString([e, toString(this), toBase58String(cR.id)], a)), false)
910912 }
911913 else sigVerify(cR.bodyBytes, cR.proofs[0], cR.senderPublicKey)
912914 }
913915

github/deemru/w8io/873ac7e 
144.62 ms