tx · BiJNx6Hva7vMyef9rFF1c7Sdf61hGefjSV28PPDGNb4c

3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh:  -0.02500000 Waves

2022.10.17 18:22 [2276551] smart account 3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh > SELF 0.00000000 Waves

{ "type": 13, "id": "BiJNx6Hva7vMyef9rFF1c7Sdf61hGefjSV28PPDGNb4c", "fee": 2500000, "feeAssetId": null, "timestamp": 1666020140450, "version": 1, "sender": "3NAsFvuLwxz1iUtZ9fmhfmSN16r9NEsPqsh", "senderPublicKey": "33fpjdpM9FMu87RZKePniPardKqQXM96sm7VhAk3JEVQ", "proofs": [ "4d5xUebGEvKuEozwH5vSCYi1ZMzjUgsgJN8NvjnNeWoE58k2WMNze4bqTfPDjKwqhXunx4BU9X6kW91KX7sH4NHu" ], "script": "base64:BgJdCAISBQoDCAgEEgUKAwgYARIHCgURCBgBARIGCgQICAgIEgYKBAgICAISBQoDCAgEEgYKBAgIAQESBAoCCBgSAwoBCBIAEgQKAggIEgMKAQgSBAoCCAgSAwoBCBIAHgAJc2VwYXJhdG9yAgJfXwEMa2V5V3hBc3NldElkAAkAuQkCCQDMCAICAiVzCQDMCAICCXd4QXNzZXRJZAUDbmlsBQlzZXBhcmF0b3IAE2tleUJhY2tlbmRQdWJsaWNLZXkJALkJAgkAzAgCAgIlcwkAzAgCAhBiYWNrZW5kUHVibGljS2V5BQNuaWwFCXNlcGFyYXRvcgEba2V5RXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsAwtwcm9ncmFtTmFtZQ9yZWZlcnJlckFkZHJlc3MPcmVmZXJyYWxBZGRyZXNzCQC5CQIJAMwIAgIIJXMlcyVzJXMJAMwIAgIYZXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmVyQWRkcmVzcwkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARJrZXlDbGFpbWVkUmVmZXJyZXICC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICD2NsYWltZWRSZWZlcnJlcgkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ5jbGFpbWVyQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBEmtleUNsYWltZWRSZWZlcnJhbAILcHJvZ3JhbU5hbWUOY2xhaW1lckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgIPY2xhaW1lZFJlZmVycmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFDmNsYWltZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEUa2V5VW5jbGFpbWVkUmVmZXJyZXICC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEXVuY2xhaW1lZFJlZmVycmVyCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFDmNsYWltZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzCQC5CQIJAMwIAgIGJXMlcyVzCQDMCAICEXVuY2xhaW1lZFJlZmVycmFsCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFDmNsYWltZXJBZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgELa2V5UmVmZXJyZXICC3Byb2dyYW1OYW1lD3JlZmVycmFsQWRkcmVzcwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAghyZWZlcnJlcgkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAUJc2VwYXJhdG9yAQ5rZXlQcm9ncmFtTmFtZQELcHJvZ3JhbU5hbWUJALkJAgkAzAgCAgQlcyVzCQDMCAICC3Byb2dyYW1OYW1lCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEVa2V5VG90YWxSZWZlcnJhbENvdW50Agtwcm9ncmFtTmFtZQ9yZWZlcnJlckFkZHJlc3MJALkJAgkAzAgCAgYlcyVzJXMJAMwIAgISdG90YWxSZWZlcnJhbENvdW50CQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmVyQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBFmtleUFjdGl2ZVJlZmVycmFsQ291bnQCC3Byb2dyYW1OYW1lD3JlZmVycmVyQWRkcmVzcwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAhNhY3RpdmVSZWZlcnJhbENvdW50CQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFD3JlZmVycmVyQWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBE2tleUlzUmVmZXJyYWxBY3RpdmUCC3Byb2dyYW1OYW1lD3JlZmVycmFsQWRkcmVzcwkAuQkCCQDMCAICBiVzJXMlcwkAzAgCAg5hY3RpdmVSZWZlcnJhbAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJhbEFkZHJlc3MFA25pbAUJc2VwYXJhdG9yARZrZXlDbGFpbWVkVG90YWxBZGRyZXNzAQdhZGRyZXNzCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhNjbGFpbWVkVG90YWxBZGRyZXNzCQDMCAIFB2FkZHJlc3MFA25pbAUJc2VwYXJhdG9yARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBB2FkZHJlc3MJALkJAgkAzAgCAgQlcyVzCQDMCAICFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwkAzAgCBQdhZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEPa2V5Q2xhaW1lZFRvdGFsAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIMY2xhaW1lZFRvdGFsCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEPa2V5UmV3YXJkc1RvdGFsAQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIMcmV3YXJkc1RvdGFsCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEQa2V5UmV3YXJkQXNzZXRJZAELcHJvZ3JhbU5hbWUJALkJAgkAzAgCAgQlcyVzCQDMCAICDXJld2FyZEFzc2V0SWQJAMwIAgULcHJvZ3JhbU5hbWUFA25pbAUJc2VwYXJhdG9yARNrZXlUcmVhc3VyeUNvbnRyYWN0AQtwcm9ncmFtTmFtZQkAuQkCCQDMCAICBCVzJXMJAMwIAgIQdHJlYXN1cnlDb250cmFjdAkAzAgCBQtwcm9ncmFtTmFtZQUDbmlsBQlzZXBhcmF0b3IBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBC3Byb2dyYW1OYW1lCQC5CQIJAMwIAgIEJXMlcwkAzAgCAhZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgEWa2V5QWxsUmVmZXJyYWxQcm9ncmFtcwEHYWRkcmVzcwkAuQkCCQDMCAICBCVzJXMJAMwIAgITYWxsUmVmZXJyYWxQcm9ncmFtcwkAzAgCBQdhZGRyZXNzBQNuaWwFCXNlcGFyYXRvcgEna2V5TGFzdEluY1VuY2xhaW1lZFdpdGhQYXltZW50Q2FsbEJsb2NrAQdhZGRyZXNzCQC5CQIJAMwIAgIEJXMlcwkAzAgCAiRsYXN0SW5jVW5jbGFpbWVkV2l0aFBheW1lbnRDYWxsQmxvY2sJAMwIAgUHYWRkcmVzcwUDbmlsBQlzZXBhcmF0b3IBE2tleU1hbmFnZXJQdWJsaWNLZXkAAhQlc19fbWFuYWdlclB1YmxpY0tleQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAhslc19fcGVuZGluZ01hbmFnZXJQdWJsaWNLZXkBD2tleUNsYWltSGlzdG9yeQQLcHJvZ3JhbU5hbWULdXNlckFkZHJlc3MNdHJhbnNhY3Rpb25JZAR0eXBlCQC5CQIJAMwIAgIKJXMlcyVzJXMlcwkAzAgCAgdoaXN0b3J5CQDMCAIFBHR5cGUJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgULdXNlckFkZHJlc3MJAMwIAgUNdHJhbnNhY3Rpb25JZAUDbmlsBQlzZXBhcmF0b3IBEmZvcm1hdENsYWltSGlzdG9yeQEGYW1vdW50CQC5CQIJAMwIAgIGJWQlZCVkCQDMCAIJAKQDAQgFCWxhc3RCbG9jawZoZWlnaHQJAMwIAgkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQCkAwEFBmFtb3VudAUDbmlsBQlzZXBhcmF0b3IBCHRocm93RXJyAQNtc2cJAAIBCQC5CQIJAMwIAgIOcmVmZXJyYWwucmlkZToJAMwIAgUDbXNnBQNuaWwCASABFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQABAckbWF0Y2gwCQCiCAEJARNrZXlNYW5hZ2VyUHVibGljS2V5AAMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAJANkEAQUBcwMJAAECBQckbWF0Y2gwAgRVbml0BQR1bml0CQACAQILTWF0Y2ggZXJyb3IBHXBlbmRpbmdNYW5hZ2VyUHVibGljS2V5T3JVbml0AAQHJG1hdGNoMAkAoggBCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkAAwkAAQIFByRtYXRjaDACBlN0cmluZwQBcwUHJG1hdGNoMAkA2QQBBQFzAwkAAQIFByRtYXRjaDACBFVuaXQFBHVuaXQJAAIBAgtNYXRjaCBlcnJvcgELbXVzdE1hbmFnZXIBAWkEAnBkCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwAwkAAAIIBQFpD2NhbGxlclB1YmxpY0tleQUCcGsGBQJwZAMJAAECBQckbWF0Y2gwAgRVbml0AwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYFAnBkCQACAQILTWF0Y2ggZXJyb3IPAWkBDWNsYWltSW50ZXJuYWwDC3Byb2dyYW1OYW1lDmNsYWltZXJBZGRyZXNzGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAQSY2hlY2tQcm9ncmFtRXhpc3RzAwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQcGCQEIdGhyb3dFcnIBAhZwcm9ncmFtIGRvZXMgbm90IGV4aXN0AwkAAAIFEmNoZWNrUHJvZ3JhbUV4aXN0cwUSY2hlY2tQcm9ncmFtRXhpc3RzBAskdDA0MjczNTIxMAMFGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAkAlwoFCQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlDbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MAAAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MAAAkBEmtleUNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwkBFGtleVVuY2xhaW1lZFJlZmVycmFsAgULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzCQEPa2V5Q2xhaW1IaXN0b3J5BAULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzCQDYBAEIBQFpDXRyYW5zYWN0aW9uSWQCDWNsYWltUmVmZXJyYWwJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQESa2V5Q2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzAAAJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFGtleVVuY2xhaW1lZFJlZmVycmVyAgULcHJvZ3JhbU5hbWUFDmNsYWltZXJBZGRyZXNzAAAJARJrZXlDbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUOY2xhaW1lckFkZHJlc3MJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwkBD2tleUNsYWltSGlzdG9yeQQFC3Byb2dyYW1OYW1lBQ5jbGFpbWVyQWRkcmVzcwkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAg1jbGFpbVJlZmVycmVyBA5jbGFpbWVyQ2xhaW1lZAgFCyR0MDQyNzM1MjEwAl8xBBBjbGFpbWVyVW5jbGFpbWVkCAULJHQwNDI3MzUyMTACXzIECmtleUNsYWltZWQIBQskdDA0MjczNTIxMAJfMwQMa2V5VW5jbGFpbWVkCAULJHQwNDI3MzUyMTACXzQED2NsYWltSGlzdG9yeUtleQgFCyR0MDQyNzM1MjEwAl81BAxjbGFpbWVkVG90YWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBD2tleUNsYWltZWRUb3RhbAEFC3Byb2dyYW1OYW1lAAAEEHRyZWFzdXJ5Q29udHJhY3QJAQV2YWx1ZQEJAKYIAQkBBXZhbHVlAQkAoggBCQETa2V5VHJlYXN1cnlDb250cmFjdAEFC3Byb2dyYW1OYW1lBA1yZXdhcmRBc3NldElkCQDZBAEJAQV2YWx1ZQEJAKIIAQkBEGtleVJld2FyZEFzc2V0SWQBBQtwcm9ncmFtTmFtZQQTY2xhaW1lZFRvdGFsQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEWa2V5Q2xhaW1lZFRvdGFsQWRkcmVzcwEFDmNsYWltZXJBZGRyZXNzAAAEFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUOY2xhaW1lckFkZHJlc3MAAAMDBRhpc0ltcGxlbWVudGF0aW9uQ29udHJhY3QJAAACBRBjbGFpbWVyVW5jbGFpbWVkAAAHCQCUCgIFA25pbAAABA1jaGVja0NhbkNsYWltAwkAZgIFEGNsYWltZXJVbmNsYWltZWQAAAYJAQh0aHJvd0VycgECEG5vdGhpbmcgdG8gY2xhaW0DCQAAAgUNY2hlY2tDYW5DbGFpbQUNY2hlY2tDYW5DbGFpbQQRbmV3Q2xhaW1lckNsYWltZWQJAGQCBQ5jbGFpbWVyQ2xhaW1lZAUQY2xhaW1lclVuY2xhaW1lZAQPbmV3Q2xhaW1lZFRvdGFsCQBkAgUMY2xhaW1lZFRvdGFsBRBjbGFpbWVyVW5jbGFpbWVkBBZuZXdDbGFpbWVkVG90YWxBZGRyZXNzCQBkAgUTY2xhaW1lZFRvdGFsQWRkcmVzcwUQY2xhaW1lclVuY2xhaW1lZAQYbmV3VW5jbGFpbWVkVG90YWxBZGRyZXNzCQBlAgUVdW5jbGFpbWVkVG90YWxBZGRyZXNzBRBjbGFpbWVyVW5jbGFpbWVkBA1iYWxhbmNlQmVmb3JlCQEFdmFsdWUBCQDwBwIFBHRoaXMFDXJld2FyZEFzc2V0SWQDCQAAAgUNYmFsYW5jZUJlZm9yZQUNYmFsYW5jZUJlZm9yZQQDcmVzCQD8BwQFEHRyZWFzdXJ5Q29udHJhY3QCFndpdGhkcmF3UmVmZXJyYWxSZXdhcmQJAMwIAgUQY2xhaW1lclVuY2xhaW1lZAUDbmlsBQNuaWwDCQAAAgUDcmVzBQNyZXMEDGJhbGFuY2VBZnRlcgkBBXZhbHVlAQkA8AcCBQR0aGlzBQ1yZXdhcmRBc3NldElkAwkAAAIFDGJhbGFuY2VBZnRlcgUMYmFsYW5jZUFmdGVyBAtiYWxhbmNlRGlmZgkAZQIFDGJhbGFuY2VBZnRlcgUNYmFsYW5jZUJlZm9yZQMJAAACBQtiYWxhbmNlRGlmZgULYmFsYW5jZURpZmYEDGNoZWNrQmFsYW5jZQMJAAACBQtiYWxhbmNlRGlmZgUQY2xhaW1lclVuY2xhaW1lZAYJAQh0aHJvd0VycgECKWluc3VmZmljaWVudCBiYWxhbmNlIG9uIHJlZmVycmFsIGNvbnRyYWN0AwkAAAIFDGNoZWNrQmFsYW5jZQUMY2hlY2tCYWxhbmNlCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIFCmtleUNsYWltZWQFEW5ld0NsYWltZXJDbGFpbWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQxrZXlVbmNsYWltZWQAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleUNsYWltZWRUb3RhbAEFC3Byb2dyYW1OYW1lBQ9uZXdDbGFpbWVkVG90YWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlDbGFpbWVkVG90YWxBZGRyZXNzAQUOY2xhaW1lckFkZHJlc3MFFm5ld0NsYWltZWRUb3RhbEFkZHJlc3MJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQ5jbGFpbWVyQWRkcmVzcwUYbmV3VW5jbGFpbWVkVG90YWxBZGRyZXNzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARFAZXh0ck5hdGl2ZSgxMDYyKQEFDmNsYWltZXJBZGRyZXNzBRBjbGFpbWVyVW5jbGFpbWVkBQ1yZXdhcmRBc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIFD2NsYWltSGlzdG9yeUtleQkBEmZvcm1hdENsYWltSGlzdG9yeQEFEGNsYWltZXJVbmNsYWltZWQFA25pbAUQY2xhaW1lclVuY2xhaW1lZAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARFjbGFpbUJ1bGtJbnRlcm5hbAMHY2xhaW1lcgxwcm9ncmFtTmFtZXMLY3VycmVudEl0ZXIEC2NoZWNrQ2FsbGVyAwkAAAIIBQFpBmNhbGxlcgUEdGhpcwYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgMJAAACBQtjdXJyZW50SXRlcgkAkAMBBQxwcm9ncmFtTmFtZXMFA25pbAQLcHJvZ3JhbU5hbWUJAJEDAgUMcHJvZ3JhbU5hbWVzBQtjdXJyZW50SXRlcgQQcHJvZ3JhbVVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUHY2xhaW1lcgAABA9jbGFpbUhpc3RvcnlLZXkJAQ9rZXlDbGFpbUhpc3RvcnkEBQtwcm9ncmFtTmFtZQUHY2xhaW1lcgkA2AQBCAUBaQ10cmFuc2FjdGlvbklkAgljbGFpbUJ1bGsEEWNsYWltQnVsa0ludGVybmFsCQD8BwQFBHRoaXMCEWNsYWltQnVsa0ludGVybmFsCQDMCAIFB2NsYWltZXIJAMwIAgUMcHJvZ3JhbU5hbWVzCQDMCAIJAGQCBQtjdXJyZW50SXRlcgABBQNuaWwFA25pbAMJAAACBRFjbGFpbUJ1bGtJbnRlcm5hbAURY2xhaW1CdWxrSW50ZXJuYWwEEXVuY2xhaW1lZFJlZmVycmVyCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQdjbGFpbWVyAAAEBWNsYWltAwkAZgIFEXVuY2xhaW1lZFJlZmVycmVyAAAJAPwHBAUEdGhpcwINY2xhaW1JbnRlcm5hbAkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQdjbGFpbWVyCQDMCAIHBQNuaWwFA25pbAUEdW5pdAMJAAACBQVjbGFpbQUFY2xhaW0JAJQKAgUDbmlsCQDMCAIFEWNsYWltQnVsa0ludGVybmFsCQDMCAIFBWNsYWltBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEfaW5jVW5jbGFpbWVkV2l0aFBheW1lbnRJbnRlcm5hbAUOcGF5bWVudEFtb3VudHMLcHJvZ3JhbU5hbWURcmVmZXJyZXJBZGRyZXNzZXMLY3VycmVudEl0ZXIJcmVzQW1vdW50BAtjaGVja0NhbGxlcgMJAAACCAUBaQZjYWxsZXIFBHRoaXMGCQEIdGhyb3dFcnIBAhFwZXJtaXNzaW9uIGRlbmllZAMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEDmFyZ3NDb21wYXJpc29uCQAAAgkAkAMBBQ5wYXltZW50QW1vdW50cwkAkAMBBRFyZWZlcnJlckFkZHJlc3NlcwQFY2hlY2sDBQ5hcmdzQ29tcGFyaXNvbgYJAQh0aHJvd0VycgECH2xpc3RzIGluIGFyZ3MgbXVzdCBiZSBzYW1lIHNpemUDCQAAAgUFY2hlY2sFBWNoZWNrAwkAAAIFC2N1cnJlbnRJdGVyCQCQAwEFDnBheW1lbnRBbW91bnRzCQCUCgIFA25pbAUJcmVzQW1vdW50BA9yZWZlcnJlckFkZHJlc3MJAJEDAgURcmVmZXJyZXJBZGRyZXNzZXMFC2N1cnJlbnRJdGVyBBV1bmNsYWltZWRUb3RhbEFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFD3JlZmVycmVyQWRkcmVzcwAABBFyZWZlcnJlclVuY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAEDHJld2FyZHNUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEPa2V5UmV3YXJkc1RvdGFsAQULcHJvZ3JhbU5hbWUAAAQYbmV3VW5jbGFpbWVkVG90YWxBZGRyZXNzCQBkAgUVdW5jbGFpbWVkVG90YWxBZGRyZXNzCQCRAwIFDnBheW1lbnRBbW91bnRzBQtjdXJyZW50SXRlcgQUbmV3UmVmZXJyZXJVbmNsYWltZWQJAGQCBRFyZWZlcnJlclVuY2xhaW1lZAkAkQMCBQ5wYXltZW50QW1vdW50cwULY3VycmVudEl0ZXIEDG5ld1Jlc0Ftb3VudAkAZAIFCXJlc0Ftb3VudAkAkQMCBQ5wYXltZW50QW1vdW50cwULY3VycmVudEl0ZXIEA2ludgkA/AcEBQR0aGlzAh9pbmNVbmNsYWltZWRXaXRoUGF5bWVudEludGVybmFsCQDMCAIFDnBheW1lbnRBbW91bnRzCQDMCAIFC3Byb2dyYW1OYW1lCQDMCAIFEXJlZmVycmVyQWRkcmVzc2VzCQDMCAIJAGQCBQtjdXJyZW50SXRlcgABCQDMCAIFDG5ld1Jlc0Ftb3VudAUDbmlsBQNuaWwDCQAAAgUDaW52BQNpbnYJAJQKAgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFD3JlZmVycmVyQWRkcmVzcwUYbmV3VW5jbGFpbWVkVG90YWxBZGRyZXNzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5VW5jbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzBRRuZXdSZWZlcnJlclVuY2xhaW1lZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleVJld2FyZHNUb3RhbAEFC3Byb2dyYW1OYW1lCQBkAgUMcmV3YXJkc1RvdGFsCQCRAwIFDnBheW1lbnRBbW91bnRzBQtjdXJyZW50SXRlcgUDbmlsBQNpbnYJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEVY3JlYXRlUmVmZXJyYWxQcm9ncmFtBAtwcm9ncmFtTmFtZRB0cmVhc3VyeUNvbnRyYWN0FmltcGxlbWVudGF0aW9uQ29udHJhY3QNcmV3YXJkQXNzZXRJZAQLY2hlY2tDYWxsZXIJAQttdXN0TWFuYWdlcgEFAWkDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBBBjaGVja1Byb2dyYW1OYW1lAwkAAAIJAKAIAQkBDmtleVByb2dyYW1OYW1lAQULcHJvZ3JhbU5hbWUFBHVuaXQGCQEIdGhyb3dFcnIBAhtwcm9ncmFtIG5hbWUgYWxyZWFkeSBleGlzdHMDCQAAAgUQY2hlY2tQcm9ncmFtTmFtZQUQY2hlY2tQcm9ncmFtTmFtZQQScHJvZ3JhbU5hbWVJc1ZhbGlkAwkBASEBCQEIY29udGFpbnMCBQtwcm9ncmFtTmFtZQUJc2VwYXJhdG9yCQEBIQEJAQhjb250YWlucwIFC3Byb2dyYW1OYW1lAgEgBwQSY2hlY2tQcm9ncmFtRXhpc3RzAwUScHJvZ3JhbU5hbWVJc1ZhbGlkBgkBCHRocm93RXJyAQIUaW52YWxpZCBwcm9ncmFtIG5hbWUDCQAAAgUSY2hlY2tQcm9ncmFtRXhpc3RzBRJjaGVja1Byb2dyYW1FeGlzdHMEEGNoZWNrUmV3YXJkQXNzZXQDCQECIT0CCQDsBwEJANkEAQUNcmV3YXJkQXNzZXRJZAUEdW5pdAYJAQh0aHJvd0VycgECF2ludmFsaWQgcmV3YXJkIGFzc2V0IGlkAwkAAAIFEGNoZWNrUmV3YXJkQXNzZXQFEGNoZWNrUmV3YXJkQXNzZXQJAJQKAgkAzAgCCQEMQm9vbGVhbkVudHJ5AgkBDmtleVByb2dyYW1OYW1lAQULcHJvZ3JhbU5hbWUGCQDMCAIJAQtTdHJpbmdFbnRyeQIJARNrZXlUcmVhc3VyeUNvbnRyYWN0AQULcHJvZ3JhbU5hbWUFEHRyZWFzdXJ5Q29udHJhY3QJAMwIAgkBC1N0cmluZ0VudHJ5AgkBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBBQtwcm9ncmFtTmFtZQUWaW1wbGVtZW50YXRpb25Db250cmFjdAkAzAgCCQELU3RyaW5nRW50cnkCCQEQa2V5UmV3YXJkQXNzZXRJZAEFC3Byb2dyYW1OYW1lBQ1yZXdhcmRBc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEPa2V5UmV3YXJkc1RvdGFsAQULcHJvZ3JhbU5hbWUAAAUDbmlsBQR1bml0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCmNyZWF0ZVBhaXIEC3Byb2dyYW1OYW1lD3JlZmVycmVyQWRkcmVzcw9yZWZlcnJhbEFkZHJlc3MJc2lnbmF0dXJlBBJjaGVja1Byb2dyYW1FeGlzdHMDCQELdmFsdWVPckVsc2UCCQCgCAEJAQ5rZXlQcm9ncmFtTmFtZQEFC3Byb2dyYW1OYW1lBwYJAQh0aHJvd0VycgECFnByb2dyYW0gZG9lcyBub3QgZXhpc3QDCQAAAgUSY2hlY2tQcm9ncmFtRXhpc3RzBRJjaGVja1Byb2dyYW1FeGlzdHMEIHBhaXJSZWZlcnJlclRvUmVmZXJyYWxFeGlzdENoZWNrAwkAAAIJAKAIAQkBG2tleUV4aXN0c1JlZmVycmVyVG9SZWZlcnJhbAMFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFD3JlZmVycmFsQWRkcmVzcwUEdW5pdAYJAQh0aHJvd0VycgECE3BhaXIgYWxyZWFkeSBleGlzdHMDCQAAAgUgcGFpclJlZmVycmVyVG9SZWZlcnJhbEV4aXN0Q2hlY2sFIHBhaXJSZWZlcnJlclRvUmVmZXJyYWxFeGlzdENoZWNrBAlub1JlZlNlbGYDCQECIT0CBQ9yZWZlcnJlckFkZHJlc3MFD3JlZmVycmFsQWRkcmVzcwYJAQh0aHJvd0VycgECFGNhbm5vdCByZWZlciB0byBzZWxmAwkAAAIFCW5vUmVmU2VsZgUJbm9SZWZTZWxmBARwYWlyCQCbAwEJALkJAgkAzAgCBQtwcm9ncmFtTmFtZQkAzAgCBQ9yZWZlcnJlckFkZHJlc3MJAMwIAgUPcmVmZXJyYWxBZGRyZXNzBQNuaWwCAToEEGJhY2tlbmRQdWJsaWNLZXkJANkEAQkBBXZhbHVlAQkAoggBBRNrZXlCYWNrZW5kUHVibGljS2V5BBF2YWxpZGF0ZVNpZ25hdHVyZQMJAPQDAwUEcGFpcgUJc2lnbmF0dXJlBRBiYWNrZW5kUHVibGljS2V5BgkBCHRocm93RXJyAQINYmFkIHNpZ25hdHVyZQMJAAACBRF2YWxpZGF0ZVNpZ25hdHVyZQURdmFsaWRhdGVTaWduYXR1cmUEEnRvdGFsUmVmZXJyYWxDb3VudAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEVa2V5VG90YWxSZWZlcnJhbENvdW50AgULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwAABBVuZXdUb3RhbFJlZmVycmFsQ291bnQJAGQCBRJ0b3RhbFJlZmVycmFsQ291bnQAAQQTYWxsUmVmZXJyZXJQcm9ncmFtcwkBC3ZhbHVlT3JFbHNlAgkAoggBCQEWa2V5QWxsUmVmZXJyYWxQcm9ncmFtcwEFD3JlZmVycmVyQWRkcmVzcwIABBZuZXdBbGxSZWZlcnJlclByb2dyYW1zAwkAAAIFE2FsbFJlZmVycmVyUHJvZ3JhbXMCAAULcHJvZ3JhbU5hbWUJALkJAgkAzAgCBRNhbGxSZWZlcnJlclByb2dyYW1zCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgQTYWxsUmVmZXJyYWxQcm9ncmFtcwkBC3ZhbHVlT3JFbHNlAgkAoggBCQEWa2V5QWxsUmVmZXJyYWxQcm9ncmFtcwEFD3JlZmVycmFsQWRkcmVzcwIABBZuZXdBbGxSZWZlcnJhbFByb2dyYW1zAwkAAAIFE2FsbFJlZmVycmFsUHJvZ3JhbXMCAAULcHJvZ3JhbU5hbWUJALkJAgkAzAgCBRNhbGxSZWZlcnJhbFByb2dyYW1zCQDMCAIFC3Byb2dyYW1OYW1lBQNuaWwFCXNlcGFyYXRvcgkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQEba2V5RXhpc3RzUmVmZXJyZXJUb1JlZmVycmFsAwULcHJvZ3JhbU5hbWUFD3JlZmVycmVyQWRkcmVzcwUPcmVmZXJyYWxBZGRyZXNzBgkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFWtleVRvdGFsUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFW5ld1RvdGFsUmVmZXJyYWxDb3VudAkAzAgCCQELU3RyaW5nRW50cnkCCQELa2V5UmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzBQ9yZWZlcnJlckFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFmtleUFsbFJlZmVycmFsUHJvZ3JhbXMBBQ9yZWZlcnJlckFkZHJlc3MFFm5ld0FsbFJlZmVycmVyUHJvZ3JhbXMJAMwIAgkBC1N0cmluZ0VudHJ5AgkBFmtleUFsbFJlZmVycmFsUHJvZ3JhbXMBBQ9yZWZlcnJhbEFkZHJlc3MFFm5ld0FsbFJlZmVycmFsUHJvZ3JhbXMFA25pbAUEdW5pdAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARZ1cGRhdGVSZWZlcnJhbEFjdGl2aXR5Awtwcm9ncmFtTmFtZQ9yZWZlcnJhbEFkZHJlc3MIaXNBY3RpdmUEFmltcGxlbWVudGF0aW9uQ29udHJhY3QJAQV2YWx1ZQEJAKIIAQkBGWtleUltcGxlbWVudGF0aW9uQ29udHJhY3QBBQtwcm9ncmFtTmFtZQQQaXNSZWZlcnJhbEFjdGl2ZQkBAiE9AgkAoAgBCQETa2V5SXNSZWZlcnJhbEFjdGl2ZQIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MFBHVuaXQED3JlZmVycmVyQWRkcmVzcwkBBXZhbHVlAQkAoggBCQELa2V5UmVmZXJyZXICBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzBAtjaGVja0NhbGxlcgMJAAACCQClCAEIBQFpBmNhbGxlcgUWaW1wbGVtZW50YXRpb25Db250cmFjdAYJAQh0aHJvd0VycgECEXBlcm1pc3Npb24gZGVuaWVkAwkAAAIFC2NoZWNrQ2FsbGVyBQtjaGVja0NhbGxlcgQGdXBkYXRlAwkAAAIFEGlzUmVmZXJyYWxBY3RpdmUFCGlzQWN0aXZlCQCUCgIFA25pbAUEdW5pdAQGdXBkYXRlAwkAAAIFCGlzQWN0aXZlBgQWbmV3QWN0aXZlUmVmZXJyYWxDb3VudAkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFmtleUFjdGl2ZVJlZmVycmFsQ291bnQCBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAAAQkAlAoCCQDMCAIJAQxCb29sZWFuRW50cnkCCQETa2V5SXNSZWZlcnJhbEFjdGl2ZQIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MGCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEWa2V5QWN0aXZlUmVmZXJyYWxDb3VudAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFm5ld0FjdGl2ZVJlZmVycmFsQ291bnQFA25pbAUEdW5pdAQWbmV3QWN0aXZlUmVmZXJyYWxDb3VudAkAZQIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFmtleUFjdGl2ZVJlZmVycmFsQ291bnQCBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzAAAAAQkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEJARNrZXlJc1JlZmVycmFsQWN0aXZlAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFmtleUFjdGl2ZVJlZmVycmFsQ291bnQCBQtwcm9ncmFtTmFtZQUPcmVmZXJyZXJBZGRyZXNzBRZuZXdBY3RpdmVSZWZlcnJhbENvdW50BQNuaWwFBHVuaXQFBnVwZGF0ZQUGdXBkYXRlCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDGluY1VuY2xhaW1lZAQLcHJvZ3JhbU5hbWUPcmVmZXJyYWxBZGRyZXNzDnJlZmVycmVyUmV3YXJkDnJlZmVycmFsUmV3YXJkBBZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0CQEFdmFsdWUBCQCiCAEJARlrZXlJbXBsZW1lbnRhdGlvbkNvbnRyYWN0AQULcHJvZ3JhbU5hbWUEC2NoZWNrQ2FsbGVyAwkAAAIJAKUIAQgFAWkGY2FsbGVyBRZpbXBsZW1lbnRhdGlvbkNvbnRyYWN0BgkBCHRocm93RXJyAQIRcGVybWlzc2lvbiBkZW5pZWQDCQAAAgULY2hlY2tDYWxsZXIFC2NoZWNrQ2FsbGVyBA9yZWZlcnJlckFkZHJlc3MJAQV2YWx1ZQEJAKIIAQkBC2tleVJlZmVycmVyAgULcHJvZ3JhbU5hbWUFD3JlZmVycmFsQWRkcmVzcwQWdW5jbGFpbWVkVG90YWxSZWZlcnJlcgkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUPcmVmZXJyZXJBZGRyZXNzAAAEEXJlZmVycmVyVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MAAAQWdW5jbGFpbWVkVG90YWxSZWZlcnJhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUPcmVmZXJyYWxBZGRyZXNzAAAEEXJlZmVycmFsVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJhbEFkZHJlc3MAAAQMcmV3YXJkc1RvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEJAQ9rZXlSZXdhcmRzVG90YWwBBQtwcm9ncmFtTmFtZQAABBluZXdVbmNsYWltZWRUb3RhbFJlZmVycmVyCQBkAgUWdW5jbGFpbWVkVG90YWxSZWZlcnJlcgUOcmVmZXJyZXJSZXdhcmQEFG5ld1JlZmVycmVyVW5jbGFpbWVkCQBkAgURcmVmZXJyZXJVbmNsYWltZWQFDnJlZmVycmVyUmV3YXJkBBluZXdVbmNsYWltZWRUb3RhbFJlZmVycmFsCQBkAgUWdW5jbGFpbWVkVG90YWxSZWZlcnJhbAUOcmVmZXJyYWxSZXdhcmQEFG5ld1JlZmVycmFsVW5jbGFpbWVkCQBkAgURcmVmZXJyYWxVbmNsYWltZWQFDnJlZmVycmFsUmV3YXJkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQ9yZWZlcnJlckFkZHJlc3MFGW5ld1VuY2xhaW1lZFRvdGFsUmVmZXJyZXIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlVbmNsYWltZWRUb3RhbEFkZHJlc3MBBQ9yZWZlcnJhbEFkZHJlc3MFGW5ld1VuY2xhaW1lZFRvdGFsUmVmZXJyYWwJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQ9yZWZlcnJlckFkZHJlc3MFFG5ld1JlZmVycmVyVW5jbGFpbWVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5VW5jbGFpbWVkUmVmZXJyYWwCBQtwcm9ncmFtTmFtZQUPcmVmZXJyYWxBZGRyZXNzBRRuZXdSZWZlcnJhbFVuY2xhaW1lZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBD2tleVJld2FyZHNUb3RhbAEFC3Byb2dyYW1OYW1lCQBkAgkAZAIFDHJld2FyZHNUb3RhbAUOcmVmZXJyZXJSZXdhcmQFDnJlZmVycmFsUmV3YXJkBQNuaWwFBHVuaXQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEXaW5jVW5jbGFpbWVkV2l0aFBheW1lbnQCC3Byb2dyYW1OYW1lEXJlZmVycmVyQWRkcmVzc2VzBA1jYWxsZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQIbGFzdENhbGwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBJ2tleUxhc3RJbmNVbmNsYWltZWRXaXRoUGF5bWVudENhbGxCbG9jawEFDWNhbGxlckFkZHJlc3MAAAQKd2FpdEJsb2NrcwkAZAIJAGUCBQhsYXN0Q2FsbAUGaGVpZ2h0AAMEDWxhc3RDYWxsQ2hlY2sDCQBmAgkAZQIFBmhlaWdodAADBQhsYXN0Q2FsbAYJAQh0aHJvd0VycgEJALkJAgkAzAgCAgR3YWl0CQDMCAIJAKQDAQUKd2FpdEJsb2NrcwkAzAgCAgZibG9ja3MFA25pbAIBIAMJAAACBQ1sYXN0Q2FsbENoZWNrBQ1sYXN0Q2FsbENoZWNrCgEDbWFwAgVhY2N1bQRuZXh0BAxhc3NldElkQ2hlY2sJAAACCQDYBAEJAQV2YWx1ZQEIBQRuZXh0B2Fzc2V0SWQJAQV2YWx1ZQEJAKIIAQkBEGtleVJld2FyZEFzc2V0SWQBBQtwcm9ncmFtTmFtZQQLYW1vdW50Q2hlY2sDBQxhc3NldElkQ2hlY2sGCQEIdGhyb3dFcnIBAhBpbnZhbGlkIGFzc2V0IGlkAwkAAAIFC2Ftb3VudENoZWNrBQthbW91bnRDaGVjawkAzQgCBQVhY2N1bQgFBG5leHQGYW1vdW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAhwYXltZW50cwoAAiRsCAUBaQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDbWFwAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBAlyZXNBbW91bnQKAAFACQD8BwQFBHRoaXMCH2luY1VuY2xhaW1lZFdpdGhQYXltZW50SW50ZXJuYWwJAMwIAgUIcGF5bWVudHMJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgURcmVmZXJyZXJBZGRyZXNzZXMJAMwIAgAACQDMCAIAAAUDbmlsBQNuaWwDCQABAgUBQAIDSW50BQFACQACAQkArAICCQADAQUBQAIYIGNvdWxkbid0IGJlIGNhc3QgdG8gSW50AwkAAAIFCXJlc0Ftb3VudAUJcmVzQW1vdW50BBB0cmVhc3VyeUNvbnRyYWN0CQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCiCAEJARNrZXlUcmVhc3VyeUNvbnRyYWN0AQULcHJvZ3JhbU5hbWUEDXJld2FyZEFzc2V0SWQJANkEAQkBBXZhbHVlAQkAoggBCQEQa2V5UmV3YXJkQXNzZXRJZAEFC3Byb2dyYW1OYW1lCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFEHRyZWFzdXJ5Q29udHJhY3QFCXJlc0Ftb3VudAUNcmV3YXJkQXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBJ2tleUxhc3RJbmNVbmNsYWltZWRXaXRoUGF5bWVudENhbGxCbG9jawEFDWNhbGxlckFkZHJlc3MFBmhlaWdodAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBBWNsYWltAQtwcm9ncmFtTmFtZQQSY2hlY2tQcm9ncmFtRXhpc3RzAwkBC3ZhbHVlT3JFbHNlAgkAoAgBCQEOa2V5UHJvZ3JhbU5hbWUBBQtwcm9ncmFtTmFtZQcGCQEIdGhyb3dFcnIBAhZwcm9ncmFtIGRvZXMgbm90IGV4aXN0AwkAAAIFEmNoZWNrUHJvZ3JhbUV4aXN0cwUSY2hlY2tQcm9ncmFtRXhpc3RzBBhpc0ltcGxlbWVudGF0aW9uQ29udHJhY3QJAAACCQClCAEIBQFpBmNhbGxlcgkBBXZhbHVlAQkAoggBCQEZa2V5SW1wbGVtZW50YXRpb25Db250cmFjdAEFC3Byb2dyYW1OYW1lBA5jbGFpbWVyQWRkcmVzcwMFGGlzSW1wbGVtZW50YXRpb25Db250cmFjdAkApQgBCAUBaQxvcmlnaW5DYWxsZXIJAKUIAQgFAWkGY2FsbGVyBA1jbGFpbUludGVybmFsCQD8BwQFBHRoaXMCDWNsYWltSW50ZXJuYWwJAMwIAgULcHJvZ3JhbU5hbWUJAMwIAgUOY2xhaW1lckFkZHJlc3MJAMwIAgUYaXNJbXBsZW1lbnRhdGlvbkNvbnRyYWN0BQNuaWwFA25pbAMJAAACBQ1jbGFpbUludGVybmFsBQ1jbGFpbUludGVybmFsCQCUCgIFA25pbAUNY2xhaW1JbnRlcm5hbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQljbGFpbUJ1bGsABA1jYWxsZXJBZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQRY2FsbGVyUHJvZ3JhbXNTdHIJAKIIAQkBFmtleUFsbFJlZmVycmFsUHJvZ3JhbXMBCQClCAEIBQFpBmNhbGxlcgQOcHJvZ3JhbXNFeGlzdHMDCQEJaXNEZWZpbmVkAQURY2FsbGVyUHJvZ3JhbXNTdHIGCQEIdGhyb3dFcnIBAhRubyByZWZlcnJhbCBwcm9ncmFtcwMJAAACBQ5wcm9ncmFtc0V4aXN0cwUOcHJvZ3JhbXNFeGlzdHMEDmNhbGxlclByb2dyYW1zCQC1CQIJAQV2YWx1ZQEFEWNhbGxlclByb2dyYW1zU3RyAgJfXwQJYnVsa0NsYWltCQD8BwQFBHRoaXMCEWNsYWltQnVsa0ludGVybmFsCQDMCAIFDWNhbGxlckFkZHJlc3MJAMwIAgUOY2FsbGVyUHJvZ3JhbXMJAMwIAgAABQNuaWwFA25pbAMJAAACBQlidWxrQ2xhaW0FCWJ1bGtDbGFpbQkAlAoCBQNuaWwFCWJ1bGtDbGFpbQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1jbGFpbVJFQURPTkxZAgtwcm9ncmFtTmFtZQt1c2VyQWRkcmVzcwQOY2xhaW1lckNsYWltZWQJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQt1c2VyQWRkcmVzcwAABBBjbGFpbWVyVW5jbGFpbWVkCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQt1c2VyQWRkcmVzcwAACQCUCgIFA25pbAkAzAgCBRBjbGFpbWVyVW5jbGFpbWVkCQDMCAIFDmNsYWltZXJDbGFpbWVkBQNuaWwBaQERY2xhaW1CdWxrUkVBRE9OTFkBB2NsYWltZXIEE2NsYWltZWRUb3RhbEFkZHJlc3MJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBFmtleUNsYWltZWRUb3RhbEFkZHJlc3MBBQdjbGFpbWVyAAAEFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEYa2V5VW5jbGFpbWVkVG90YWxBZGRyZXNzAQUHY2xhaW1lcgAACQCUCgIFA25pbAkAzAgCBRV1bmNsYWltZWRUb3RhbEFkZHJlc3MJAMwIAgUTY2xhaW1lZFRvdGFsQWRkcmVzcwUDbmlsAWkBDHNldFRvdGFsS2V5cwILcHJvZ3JhbU5hbWUHYWRkcmVzcwQPY2xhaW1lZFJlZmVycmVyCQELdmFsdWVPckVsc2UCCQCfCAEJARJrZXlDbGFpbWVkUmVmZXJyZXICBQtwcm9ncmFtTmFtZQUHYWRkcmVzcwAABA9jbGFpbWVkUmVmZXJyYWwJAQt2YWx1ZU9yRWxzZQIJAJ8IAQkBEmtleUNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQdhZGRyZXNzAAAEEXVuY2xhaW1lZFJlZmVycmVyCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJlcgIFC3Byb2dyYW1OYW1lBQdhZGRyZXNzAAAEEXVuY2xhaW1lZFJlZmVycmFsCQELdmFsdWVPckVsc2UCCQCfCAEJARRrZXlVbmNsYWltZWRSZWZlcnJhbAIFC3Byb2dyYW1OYW1lBQdhZGRyZXNzAAAEE2NsYWltZWRUb3RhbEFkZHJlc3MJAGQCBQ9jbGFpbWVkUmVmZXJyZXIFD2NsYWltZWRSZWZlcnJhbAQVdW5jbGFpbWVkVG90YWxBZGRyZXNzCQBkAgURdW5jbGFpbWVkUmVmZXJyZXIFEXVuY2xhaW1lZFJlZmVycmFsCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARZrZXlDbGFpbWVkVG90YWxBZGRyZXNzAQUHYWRkcmVzcwUTY2xhaW1lZFRvdGFsQWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBGGtleVVuY2xhaW1lZFRvdGFsQWRkcmVzcwEFB2FkZHJlc3MFFXVuY2xhaW1lZFRvdGFsQWRkcmVzcwUDbmlsBQR1bml0AWkBCnNldE1hbmFnZXIBF3BlbmRpbmdNYW5hZ2VyUHVibGljS2V5BAtjaGVja0NhbGxlcgkBC211c3RNYW5hZ2VyAQUBaQMJAAACBQtjaGVja0NhbGxlcgULY2hlY2tDYWxsZXIEFWNoZWNrTWFuYWdlclB1YmxpY0tleQkA2QQBBRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQMJAAACBRVjaGVja01hbmFnZXJQdWJsaWNLZXkFFWNoZWNrTWFuYWdlclB1YmxpY0tleQkAzAgCCQELU3RyaW5nRW50cnkCCQEaa2V5UGVuZGluZ01hbmFnZXJQdWJsaWNLZXkABRdwZW5kaW5nTWFuYWdlclB1YmxpY0tleQUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBDmNvbmZpcm1NYW5hZ2VyAAQCcG0JAR1wZW5kaW5nTWFuYWdlclB1YmxpY0tleU9yVW5pdAAEBWhhc1BNAwkBCWlzRGVmaW5lZAEFAnBtBgkBCHRocm93RXJyAQISbm8gcGVuZGluZyBtYW5hZ2VyAwkAAAIFBWhhc1BNBQVoYXNQTQQHY2hlY2tQTQMJAAACCAUBaQ9jYWxsZXJQdWJsaWNLZXkJAQV2YWx1ZQEFAnBtBgkBCHRocm93RXJyAQIbeW91IGFyZSBub3QgcGVuZGluZyBtYW5hZ2VyAwkAAAIFB2NoZWNrUE0FB2NoZWNrUE0JAMwIAgkBC1N0cmluZ0VudHJ5AgkBE2tleU1hbmFnZXJQdWJsaWNLZXkACQDYBAEJAQV2YWx1ZQEFAnBtCQDMCAIJAQtEZWxldGVFbnRyeQEJARprZXlQZW5kaW5nTWFuYWdlclB1YmxpY0tleQAFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgECdHgBBnZlcmlmeQAED3RhcmdldFB1YmxpY0tleQQHJG1hdGNoMAkBFm1hbmFnZXJQdWJsaWNLZXlPclVuaXQAAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAnBrBQckbWF0Y2gwBQJwawMJAAECBQckbWF0Y2gwAgRVbml0CAUCdHgPc2VuZGVyUHVibGljS2V5CQACAQILTWF0Y2ggZXJyb3IJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFD3RhcmdldFB1YmxpY0tleZafPb0=", "chainId": 84, "height": 2276551, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H3BrL4hndd6dN9Ku7ih6gApYseb2NixTAVyF8tcNK72Y Next: FevnM2FvoUUX7Twhrbtewi2AH6EcknAoa8M9h46yXCsC Diff:
OldNewDifferences
6262 func z (s) = makeString(["%s%s", "allReferralPrograms", s], a)
6363
6464
65-func A (s) = makeString(["%s%s", "lastBulkClaimCallBlock", s], a)
65+func A (s) = makeString(["%s%s", "lastIncUnclaimedWithPaymentCallBlock", s], a)
6666
6767
6868 func B () = "%s__managerPublicKey"
208208 let av = invoke(this, "claimBulkInternal", [aq, ar, (as + 1)], nil)
209209 if ((av == av))
210210 then {
211- let aw = invoke(this, "claimInternal", [e, aq, false], nil)
212- if ((aw == aw))
213- then $Tuple2(nil, [av, aw])
211+ let aw = valueOrElse(getInteger(k(e, aq)), 0)
212+ let ax = if ((aw > 0))
213+ then invoke(this, "claimInternal", [e, aq, false], nil)
214+ else unit
215+ if ((ax == ax))
216+ then $Tuple2(nil, [av, ax])
214217 else throw("Strict value is not equal to itself.")
215218 }
216219 else throw("Strict value is not equal to itself.")
221224
222225
223226 @Callable(Q)
224-func incUnclaimedWithPaymentInternal (ax,e,ay,as,az) = {
227+func incUnclaimedWithPaymentInternal (ay,e,az,as,aA) = {
225228 let at = if ((Q.caller == this))
226229 then true
227230 else J("permission denied")
228231 if ((at == at))
229232 then {
230- let aA = (size(ax) == size(ay))
231- let aB = if (aA)
233+ let aB = (size(ay) == size(az))
234+ let aC = if (aB)
232235 then true
233236 else J("lists in args must be same size")
234- if ((aB == aB))
235- then if ((as == size(ax)))
236- then $Tuple2(nil, az)
237+ if ((aC == aC))
238+ then if ((as == size(ay)))
239+ then $Tuple2(nil, aA)
237240 else {
238- let f = ay[as]
241+ let f = az[as]
239242 let af = valueOrElse(getInteger(t(f)), 0)
240- let aC = valueOrElse(getInteger(k(e, f)), 0)
241- let aD = valueOrElse(getInteger(v(e)), 0)
242- let ak = (af + ax[as])
243- let aE = (aC + ax[as])
244- let aF = (az + ax[as])
245- let aG = invoke(this, "incUnclaimedWithPaymentInternal", [ax, e, ay, (as + 1), aF], nil)
246- if ((aG == aG))
247- then $Tuple2([IntegerEntry(t(f), ak), IntegerEntry(k(e, f), aE), IntegerEntry(v(e), (aD + ax[as]))], aG)
243+ let aD = valueOrElse(getInteger(k(e, f)), 0)
244+ let aE = valueOrElse(getInteger(v(e)), 0)
245+ let ak = (af + ay[as])
246+ let aF = (aD + ay[as])
247+ let aG = (aA + ay[as])
248+ let aH = invoke(this, "incUnclaimedWithPaymentInternal", [ay, e, az, (as + 1), aG], nil)
249+ if ((aH == aH))
250+ then $Tuple2([IntegerEntry(t(f), ak), IntegerEntry(k(e, f), aF), IntegerEntry(v(e), (aE + ay[as]))], aH)
248251 else throw("Strict value is not equal to itself.")
249252 }
250253 else throw("Strict value is not equal to itself.")
255258
256259
257260 @Callable(Q)
258-func createReferralProgram (e,ac,aH,ad) = {
261+func createReferralProgram (e,ac,aI,ad) = {
259262 let at = P(Q)
260263 if ((at == at))
261264 then {
262- let aI = if ((getBoolean(n(e)) == unit))
265+ let aJ = if ((getBoolean(n(e)) == unit))
263266 then true
264267 else J("program name already exists")
265- if ((aI == aI))
268+ if ((aJ == aJ))
266269 then {
267- let aJ = if (!(contains(e, a)))
270+ let aK = if (!(contains(e, a)))
268271 then !(contains(e, " "))
269272 else false
270- let U = if (aJ)
273+ let U = if (aK)
271274 then true
272275 else J("invalid program name")
273276 if ((U == U))
274277 then {
275- let aK = if ((assetInfo(fromBase58String(ad)) != unit))
278+ let aL = if ((assetInfo(fromBase58String(ad)) != unit))
276279 then true
277280 else J("invalid reward asset id")
278- if ((aK == aK))
279- then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ac), StringEntry(y(e), aH), StringEntry(w(e), ad), IntegerEntry(v(e), 0)], unit)
281+ if ((aL == aL))
282+ then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ac), StringEntry(y(e), aI), StringEntry(w(e), ad), IntegerEntry(v(e), 0)], unit)
280283 else throw("Strict value is not equal to itself.")
281284 }
282285 else throw("Strict value is not equal to itself.")
289292
290293
291294 @Callable(Q)
292-func createPair (e,f,g,aL) = {
295+func createPair (e,f,g,aM) = {
293296 let U = if (valueOrElse(getBoolean(n(e)), false))
294297 then true
295298 else J("program does not exist")
296299 if ((U == U))
297300 then {
298- let aM = if ((getBoolean(d(e, f, g)) == unit))
301+ let aN = if ((getBoolean(d(e, f, g)) == unit))
299302 then true
300303 else J("pair already exists")
301- if ((aM == aM))
304+ if ((aN == aN))
302305 then {
303- let aN = if ((f != g))
306+ let aO = if ((f != g))
304307 then true
305308 else J("cannot refer to self")
306- if ((aN == aN))
309+ if ((aO == aO))
307310 then {
308- let aO = toBytes(makeString([e, f, g], ":"))
309- let aP = fromBase58String(value(getString(c)))
310- let aQ = if (sigVerify(aO, aL, aP))
311+ let aP = toBytes(makeString([e, f, g], ":"))
312+ let aQ = fromBase58String(value(getString(c)))
313+ let aR = if (sigVerify(aP, aM, aQ))
311314 then true
312315 else J("bad signature")
313- if ((aQ == aQ))
316+ if ((aR == aR))
314317 then {
315- let aR = valueOrElse(getInteger(o(e, f)), 0)
316- let aS = (aR + 1)
317- let aT = valueOrElse(getString(z(f)), "")
318- let aU = if ((aT == ""))
318+ let aS = valueOrElse(getInteger(o(e, f)), 0)
319+ let aT = (aS + 1)
320+ let aU = valueOrElse(getString(z(f)), "")
321+ let aV = if ((aU == ""))
319322 then e
320- else makeString([aT, e], a)
321- let aV = valueOrElse(getString(z(g)), "")
322- let aW = if ((aV == ""))
323+ else makeString([aU, e], a)
324+ let aW = valueOrElse(getString(z(g)), "")
325+ let aX = if ((aW == ""))
323326 then e
324- else makeString([aV, e], a)
325- $Tuple2([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aS), StringEntry(m(e, g), f), StringEntry(z(f), aU), StringEntry(z(g), aW)], unit)
327+ else makeString([aW, e], a)
328+ $Tuple2([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aT), StringEntry(m(e, g), f), StringEntry(z(f), aV), StringEntry(z(g), aX)], unit)
326329 }
327330 else throw("Strict value is not equal to itself.")
328331 }
336339
337340
338341 @Callable(Q)
339-func updateReferralActivity (e,g,aX) = {
340- let aH = value(getString(y(e)))
341- let aY = (getBoolean(q(e, g)) != unit)
342+func updateReferralActivity (e,g,aY) = {
343+ let aI = value(getString(y(e)))
344+ let aZ = (getBoolean(q(e, g)) != unit)
342345 let f = value(getString(m(e, g)))
343- let at = if ((toString(Q.caller) == aH))
346+ let at = if ((toString(Q.caller) == aI))
344347 then true
345348 else J("permission denied")
346349 if ((at == at))
347350 then {
348- let aZ = if ((aY == aX))
351+ let ba = if ((aZ == aY))
349352 then $Tuple2(nil, unit)
350353 else {
351- let aZ = if ((aX == true))
354+ let ba = if ((aY == true))
352355 then {
353- let ba = (valueOrElse(getInteger(p(e, f)), 0) + 1)
354- $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), ba)], unit)
356+ let bb = (valueOrElse(getInteger(p(e, f)), 0) + 1)
357+ $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bb)], unit)
355358 }
356359 else {
357- let ba = (valueOrElse(getInteger(p(e, f)), 0) - 1)
358- $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), ba)], unit)
360+ let bb = (valueOrElse(getInteger(p(e, f)), 0) - 1)
361+ $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bb)], unit)
359362 }
360- aZ
363+ ba
361364 }
362- aZ
365+ ba
363366 }
364367 else throw("Strict value is not equal to itself.")
365368 }
367370
368371
369372 @Callable(Q)
370-func incUnclaimed (e,g,bb,bc) = {
371- let aH = value(getString(y(e)))
372- let at = if ((toString(Q.caller) == aH))
373+func incUnclaimed (e,g,bc,bd) = {
374+ let aI = value(getString(y(e)))
375+ let at = if ((toString(Q.caller) == aI))
373376 then true
374377 else J("permission denied")
375378 if ((at == at))
376379 then {
377380 let f = value(getString(m(e, g)))
378- let bd = valueOrElse(getInteger(t(f)), 0)
379- let aC = valueOrElse(getInteger(k(e, f)), 0)
380- let be = valueOrElse(getInteger(t(g)), 0)
381- let bf = valueOrElse(getInteger(l(e, g)), 0)
382- let aD = valueOrElse(getInteger(v(e)), 0)
383- let bg = (bd + bb)
384- let aE = (aC + bb)
381+ let be = valueOrElse(getInteger(t(f)), 0)
382+ let aD = valueOrElse(getInteger(k(e, f)), 0)
383+ let bf = valueOrElse(getInteger(t(g)), 0)
384+ let bg = valueOrElse(getInteger(l(e, g)), 0)
385+ let aE = valueOrElse(getInteger(v(e)), 0)
385386 let bh = (be + bc)
386- let bi = (bf + bc)
387- $Tuple2([IntegerEntry(t(f), bg), IntegerEntry(t(g), bh), IntegerEntry(k(e, f), aE), IntegerEntry(l(e, g), bi), IntegerEntry(v(e), ((aD + bb) + bc))], unit)
387+ let aF = (aD + bc)
388+ let bi = (bf + bd)
389+ let bj = (bg + bd)
390+ $Tuple2([IntegerEntry(t(f), bh), IntegerEntry(t(g), bi), IntegerEntry(k(e, f), aF), IntegerEntry(l(e, g), bj), IntegerEntry(v(e), ((aE + bc) + bd))], unit)
388391 }
389392 else throw("Strict value is not equal to itself.")
390393 }
392395
393396
394397 @Callable(Q)
395-func incUnclaimedWithPayment (e,ay) = {
396- let bj = toString(Q.caller)
397- let bk = valueOrElse(getInteger(A(bj)), 0)
398- let bl = ((bk - height) + 3)
399- let bm = if (((height - 3) > bk))
398+func incUnclaimedWithPayment (e,az) = {
399+ let bk = toString(Q.caller)
400+ let bl = valueOrElse(getInteger(A(bk)), 0)
401+ let bm = ((bl - height) + 3)
402+ let bn = if (((height - 3) > bl))
400403 then true
401- else J(makeString(["wait", toString(bl), "blocks"], " "))
402- if ((bm == bm))
404+ else J(makeString(["wait", toString(bm), "blocks"], " "))
405+ if ((bn == bn))
403406 then {
404- func bn (bo,bp) = {
405- let bq = (toBase58String(value(bp.assetId)) == value(getString(w(e))))
406- let br = if (bq)
407+ func bo (bp,bq) = {
408+ let br = (toBase58String(value(bq.assetId)) == value(getString(w(e))))
409+ let bs = if (br)
407410 then true
408411 else J("invalid asset id")
409- if ((br == br))
410- then (bo :+ bp.amount)
412+ if ((bs == bs))
413+ then (bp :+ bq.amount)
411414 else throw("Strict value is not equal to itself.")
412415 }
413416
414- let bs = {
415- let bt = Q.payments
416- let bu = size(bt)
417- let bv = nil
418- func bw (bx,by) = if ((by >= bu))
419- then bx
420- else bn(bx, bt[by])
417+ let bt = {
418+ let bu = Q.payments
419+ let bv = size(bu)
420+ let bw = nil
421+ func bx (by,bz) = if ((bz >= bv))
422+ then by
423+ else bo(by, bu[bz])
421424
422- func bz (bx,by) = if ((by >= bu))
423- then bx
425+ func bA (by,bz) = if ((bz >= bv))
426+ then by
424427 else throw("List size exceeds 10")
425428
426- bz(bw(bw(bw(bw(bw(bw(bw(bw(bw(bw(bv, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
429+ bA(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
427430 }
428- let az = {
429- let bA = invoke(this, "incUnclaimedWithPaymentInternal", [bs, e, ay, 0, 0], nil)
430- if ($isInstanceOf(bA, "Int"))
431- then bA
432- else throw(($getType(bA) + " couldn't be cast to Int"))
431+ let aA = {
432+ let bB = invoke(this, "incUnclaimedWithPaymentInternal", [bt, e, az, 0, 0], nil)
433+ if ($isInstanceOf(bB, "Int"))
434+ then bB
435+ else throw(($getType(bB) + " couldn't be cast to Int"))
433436 }
434- if ((az == az))
437+ if ((aA == aA))
435438 then {
436439 let ac = addressFromStringValue(value(getString(x(e))))
437440 let ad = fromBase58String(value(getString(w(e))))
438-[ScriptTransfer(ac, az, ad)]
441+[ScriptTransfer(ac, aA, ad), IntegerEntry(A(bk), height)]
439442 }
440443 else throw("Strict value is not equal to itself.")
441444 }
455458 let i = if (T)
456459 then toString(Q.originCaller)
457460 else toString(Q.caller)
458- let aw = invoke(this, "claimInternal", [e, i, T], nil)
459- if ((aw == aw))
460- then $Tuple2(nil, aw)
461+ let bC = invoke(this, "claimInternal", [e, i, T], nil)
462+ if ((bC == bC))
463+ then $Tuple2(nil, bC)
461464 else throw("Strict value is not equal to itself.")
462465 }
463466 else throw("Strict value is not equal to itself.")
467470
468471 @Callable(Q)
469472 func claimBulk () = {
470- let bj = toString(Q.caller)
471- let bB = getString(z(toString(Q.caller)))
472- let bC = if (isDefined(bB))
473+ let bk = toString(Q.caller)
474+ let bD = getString(z(toString(Q.caller)))
475+ let bE = if (isDefined(bD))
473476 then true
474477 else J("no referral programs")
475- if ((bC == bC))
478+ if ((bE == bE))
476479 then {
477- let bD = split(value(bB), "__")
478- let bE = invoke(this, "claimBulkInternal", [bj, bD, 0], nil)
479- if ((bE == bE))
480- then $Tuple2([IntegerEntry(A(bj), height)], bE)
480+ let bF = split(value(bD), "__")
481+ let bG = invoke(this, "claimBulkInternal", [bk, bF, 0], nil)
482+ if ((bG == bG))
483+ then $Tuple2(nil, bG)
481484 else throw("Strict value is not equal to itself.")
482485 }
483486 else throw("Strict value is not equal to itself.")
497500 @Callable(Q)
498501 func claimBulkREADONLY (aq) = {
499502 let ae = valueOrElse(getInteger(r(aq)), 0)
500- let bF = valueOrElse(getInteger(t(aq)), 0)
501- $Tuple2(nil, [bF, ae])
503+ let af = valueOrElse(getInteger(t(aq)), 0)
504+ $Tuple2(nil, [af, ae])
502505 }
503506
504507
505508
506509 @Callable(Q)
507510 func setTotalKeys (e,s) = {
508- let bG = valueOrElse(getInteger(h(e, s)), 0)
509- let bH = valueOrElse(getInteger(j(e, s)), 0)
510- let bI = valueOrElse(getInteger(k(e, s)), 0)
511+ let bH = valueOrElse(getInteger(h(e, s)), 0)
512+ let bI = valueOrElse(getInteger(j(e, s)), 0)
513+ let aw = valueOrElse(getInteger(k(e, s)), 0)
511514 let bJ = valueOrElse(getInteger(l(e, s)), 0)
512- let ae = (bG + bH)
513- let af = (bI + bJ)
515+ let ae = (bH + bI)
516+ let af = (aw + bJ)
514517 $Tuple2([IntegerEntry(r(s), ae), IntegerEntry(t(s), af)], unit)
515518 }
516519
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 func b () = makeString(["%s", "wxAssetId"], a)
77
88
99 let c = makeString(["%s", "backendPublicKey"], a)
1010
1111 func d (e,f,g) = makeString(["%s%s%s%s", "existsReferrerToReferral", e, f, g], a)
1212
1313
1414 func h (e,i) = makeString(["%s%s%s", "claimedReferrer", e, i], a)
1515
1616
1717 func j (e,i) = makeString(["%s%s%s", "claimedReferral", e, i], a)
1818
1919
2020 func k (e,i) = makeString(["%s%s%s", "unclaimedReferrer", e, i], a)
2121
2222
2323 func l (e,i) = makeString(["%s%s%s", "unclaimedReferral", e, i], a)
2424
2525
2626 func m (e,g) = makeString(["%s%s%s", "referrer", e, g], a)
2727
2828
2929 func n (e) = makeString(["%s%s", "programName", e], a)
3030
3131
3232 func o (e,f) = makeString(["%s%s%s", "totalReferralCount", e, f], a)
3333
3434
3535 func p (e,f) = makeString(["%s%s%s", "activeReferralCount", e, f], a)
3636
3737
3838 func q (e,g) = makeString(["%s%s%s", "activeReferral", e, g], a)
3939
4040
4141 func r (s) = makeString(["%s%s", "claimedTotalAddress", s], a)
4242
4343
4444 func t (s) = makeString(["%s%s", "unclaimedTotalAddress", s], a)
4545
4646
4747 func u (e) = makeString(["%s%s", "claimedTotal", e], a)
4848
4949
5050 func v (e) = makeString(["%s%s", "rewardsTotal", e], a)
5151
5252
5353 func w (e) = makeString(["%s%s", "rewardAssetId", e], a)
5454
5555
5656 func x (e) = makeString(["%s%s", "treasuryContract", e], a)
5757
5858
5959 func y (e) = makeString(["%s%s", "implementationContract", e], a)
6060
6161
6262 func z (s) = makeString(["%s%s", "allReferralPrograms", s], a)
6363
6464
65-func A (s) = makeString(["%s%s", "lastBulkClaimCallBlock", s], a)
65+func A (s) = makeString(["%s%s", "lastIncUnclaimedWithPaymentCallBlock", s], a)
6666
6767
6868 func B () = "%s__managerPublicKey"
6969
7070
7171 func C () = "%s__pendingManagerPublicKey"
7272
7373
7474 func D (e,E,F,G) = makeString(["%s%s%s%s%s", "history", G, e, E, F], a)
7575
7676
7777 func H (I) = makeString(["%d%d%d", toString(lastBlock.height), toString(lastBlock.timestamp), toString(I)], a)
7878
7979
8080 func J (K) = throw(makeString(["referral.ride:", K], " "))
8181
8282
8383 func L () = {
8484 let M = getString(B())
8585 if ($isInstanceOf(M, "String"))
8686 then {
8787 let N = M
8888 fromBase58String(N)
8989 }
9090 else if ($isInstanceOf(M, "Unit"))
9191 then unit
9292 else throw("Match error")
9393 }
9494
9595
9696 func O () = {
9797 let M = getString(C())
9898 if ($isInstanceOf(M, "String"))
9999 then {
100100 let N = M
101101 fromBase58String(N)
102102 }
103103 else if ($isInstanceOf(M, "Unit"))
104104 then unit
105105 else throw("Match error")
106106 }
107107
108108
109109 func P (Q) = {
110110 let R = J("permission denied")
111111 let M = L()
112112 if ($isInstanceOf(M, "ByteVector"))
113113 then {
114114 let S = M
115115 if ((Q.callerPublicKey == S))
116116 then true
117117 else R
118118 }
119119 else if ($isInstanceOf(M, "Unit"))
120120 then if ((Q.caller == this))
121121 then true
122122 else R
123123 else throw("Match error")
124124 }
125125
126126
127127 @Callable(Q)
128128 func claimInternal (e,i,T) = {
129129 let U = if (valueOrElse(getBoolean(n(e)), false))
130130 then true
131131 else J("program does not exist")
132132 if ((U == U))
133133 then {
134134 let V = if (T)
135135 then $Tuple5(valueOrElse(getInteger(j(e, i)), 0), valueOrElse(getInteger(l(e, i)), 0), j(e, i), l(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferral"))
136136 else $Tuple5(valueOrElse(getInteger(h(e, i)), 0), valueOrElse(getInteger(k(e, i)), 0), h(e, i), k(e, i), D(e, i, toBase58String(Q.transactionId), "claimReferrer"))
137137 let W = V._1
138138 let X = V._2
139139 let Y = V._3
140140 let Z = V._4
141141 let aa = V._5
142142 let ab = valueOrElse(getInteger(u(e)), 0)
143143 let ac = value(addressFromString(value(getString(x(e)))))
144144 let ad = fromBase58String(value(getString(w(e))))
145145 let ae = valueOrElse(getInteger(r(i)), 0)
146146 let af = valueOrElse(getInteger(t(i)), 0)
147147 if (if (T)
148148 then (X == 0)
149149 else false)
150150 then $Tuple2(nil, 0)
151151 else {
152152 let ag = if ((X > 0))
153153 then true
154154 else J("nothing to claim")
155155 if ((ag == ag))
156156 then {
157157 let ah = (W + X)
158158 let ai = (ab + X)
159159 let aj = (ae + X)
160160 let ak = (af - X)
161161 let al = value(assetBalance(this, ad))
162162 if ((al == al))
163163 then {
164164 let am = invoke(ac, "withdrawReferralReward", [X], nil)
165165 if ((am == am))
166166 then {
167167 let an = value(assetBalance(this, ad))
168168 if ((an == an))
169169 then {
170170 let ao = (an - al)
171171 if ((ao == ao))
172172 then {
173173 let ap = if ((ao == X))
174174 then true
175175 else J("insufficient balance on referral contract")
176176 if ((ap == ap))
177177 then $Tuple2([IntegerEntry(Y, ah), IntegerEntry(Z, 0), IntegerEntry(u(e), ai), IntegerEntry(r(i), aj), IntegerEntry(t(i), ak), ScriptTransfer(addressFromStringValue(i), X, ad), StringEntry(aa, H(X))], X)
178178 else throw("Strict value is not equal to itself.")
179179 }
180180 else throw("Strict value is not equal to itself.")
181181 }
182182 else throw("Strict value is not equal to itself.")
183183 }
184184 else throw("Strict value is not equal to itself.")
185185 }
186186 else throw("Strict value is not equal to itself.")
187187 }
188188 else throw("Strict value is not equal to itself.")
189189 }
190190 }
191191 else throw("Strict value is not equal to itself.")
192192 }
193193
194194
195195
196196 @Callable(Q)
197197 func claimBulkInternal (aq,ar,as) = {
198198 let at = if ((Q.caller == this))
199199 then true
200200 else J("permission denied")
201201 if ((at == at))
202202 then if ((as == size(ar)))
203203 then nil
204204 else {
205205 let e = ar[as]
206206 let au = valueOrElse(getInteger(k(e, aq)), 0)
207207 let aa = D(e, aq, toBase58String(Q.transactionId), "claimBulk")
208208 let av = invoke(this, "claimBulkInternal", [aq, ar, (as + 1)], nil)
209209 if ((av == av))
210210 then {
211- let aw = invoke(this, "claimInternal", [e, aq, false], nil)
212- if ((aw == aw))
213- then $Tuple2(nil, [av, aw])
211+ let aw = valueOrElse(getInteger(k(e, aq)), 0)
212+ let ax = if ((aw > 0))
213+ then invoke(this, "claimInternal", [e, aq, false], nil)
214+ else unit
215+ if ((ax == ax))
216+ then $Tuple2(nil, [av, ax])
214217 else throw("Strict value is not equal to itself.")
215218 }
216219 else throw("Strict value is not equal to itself.")
217220 }
218221 else throw("Strict value is not equal to itself.")
219222 }
220223
221224
222225
223226 @Callable(Q)
224-func incUnclaimedWithPaymentInternal (ax,e,ay,as,az) = {
227+func incUnclaimedWithPaymentInternal (ay,e,az,as,aA) = {
225228 let at = if ((Q.caller == this))
226229 then true
227230 else J("permission denied")
228231 if ((at == at))
229232 then {
230- let aA = (size(ax) == size(ay))
231- let aB = if (aA)
233+ let aB = (size(ay) == size(az))
234+ let aC = if (aB)
232235 then true
233236 else J("lists in args must be same size")
234- if ((aB == aB))
235- then if ((as == size(ax)))
236- then $Tuple2(nil, az)
237+ if ((aC == aC))
238+ then if ((as == size(ay)))
239+ then $Tuple2(nil, aA)
237240 else {
238- let f = ay[as]
241+ let f = az[as]
239242 let af = valueOrElse(getInteger(t(f)), 0)
240- let aC = valueOrElse(getInteger(k(e, f)), 0)
241- let aD = valueOrElse(getInteger(v(e)), 0)
242- let ak = (af + ax[as])
243- let aE = (aC + ax[as])
244- let aF = (az + ax[as])
245- let aG = invoke(this, "incUnclaimedWithPaymentInternal", [ax, e, ay, (as + 1), aF], nil)
246- if ((aG == aG))
247- then $Tuple2([IntegerEntry(t(f), ak), IntegerEntry(k(e, f), aE), IntegerEntry(v(e), (aD + ax[as]))], aG)
243+ let aD = valueOrElse(getInteger(k(e, f)), 0)
244+ let aE = valueOrElse(getInteger(v(e)), 0)
245+ let ak = (af + ay[as])
246+ let aF = (aD + ay[as])
247+ let aG = (aA + ay[as])
248+ let aH = invoke(this, "incUnclaimedWithPaymentInternal", [ay, e, az, (as + 1), aG], nil)
249+ if ((aH == aH))
250+ then $Tuple2([IntegerEntry(t(f), ak), IntegerEntry(k(e, f), aF), IntegerEntry(v(e), (aE + ay[as]))], aH)
248251 else throw("Strict value is not equal to itself.")
249252 }
250253 else throw("Strict value is not equal to itself.")
251254 }
252255 else throw("Strict value is not equal to itself.")
253256 }
254257
255258
256259
257260 @Callable(Q)
258-func createReferralProgram (e,ac,aH,ad) = {
261+func createReferralProgram (e,ac,aI,ad) = {
259262 let at = P(Q)
260263 if ((at == at))
261264 then {
262- let aI = if ((getBoolean(n(e)) == unit))
265+ let aJ = if ((getBoolean(n(e)) == unit))
263266 then true
264267 else J("program name already exists")
265- if ((aI == aI))
268+ if ((aJ == aJ))
266269 then {
267- let aJ = if (!(contains(e, a)))
270+ let aK = if (!(contains(e, a)))
268271 then !(contains(e, " "))
269272 else false
270- let U = if (aJ)
273+ let U = if (aK)
271274 then true
272275 else J("invalid program name")
273276 if ((U == U))
274277 then {
275- let aK = if ((assetInfo(fromBase58String(ad)) != unit))
278+ let aL = if ((assetInfo(fromBase58String(ad)) != unit))
276279 then true
277280 else J("invalid reward asset id")
278- if ((aK == aK))
279- then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ac), StringEntry(y(e), aH), StringEntry(w(e), ad), IntegerEntry(v(e), 0)], unit)
281+ if ((aL == aL))
282+ then $Tuple2([BooleanEntry(n(e), true), StringEntry(x(e), ac), StringEntry(y(e), aI), StringEntry(w(e), ad), IntegerEntry(v(e), 0)], unit)
280283 else throw("Strict value is not equal to itself.")
281284 }
282285 else throw("Strict value is not equal to itself.")
283286 }
284287 else throw("Strict value is not equal to itself.")
285288 }
286289 else throw("Strict value is not equal to itself.")
287290 }
288291
289292
290293
291294 @Callable(Q)
292-func createPair (e,f,g,aL) = {
295+func createPair (e,f,g,aM) = {
293296 let U = if (valueOrElse(getBoolean(n(e)), false))
294297 then true
295298 else J("program does not exist")
296299 if ((U == U))
297300 then {
298- let aM = if ((getBoolean(d(e, f, g)) == unit))
301+ let aN = if ((getBoolean(d(e, f, g)) == unit))
299302 then true
300303 else J("pair already exists")
301- if ((aM == aM))
304+ if ((aN == aN))
302305 then {
303- let aN = if ((f != g))
306+ let aO = if ((f != g))
304307 then true
305308 else J("cannot refer to self")
306- if ((aN == aN))
309+ if ((aO == aO))
307310 then {
308- let aO = toBytes(makeString([e, f, g], ":"))
309- let aP = fromBase58String(value(getString(c)))
310- let aQ = if (sigVerify(aO, aL, aP))
311+ let aP = toBytes(makeString([e, f, g], ":"))
312+ let aQ = fromBase58String(value(getString(c)))
313+ let aR = if (sigVerify(aP, aM, aQ))
311314 then true
312315 else J("bad signature")
313- if ((aQ == aQ))
316+ if ((aR == aR))
314317 then {
315- let aR = valueOrElse(getInteger(o(e, f)), 0)
316- let aS = (aR + 1)
317- let aT = valueOrElse(getString(z(f)), "")
318- let aU = if ((aT == ""))
318+ let aS = valueOrElse(getInteger(o(e, f)), 0)
319+ let aT = (aS + 1)
320+ let aU = valueOrElse(getString(z(f)), "")
321+ let aV = if ((aU == ""))
319322 then e
320- else makeString([aT, e], a)
321- let aV = valueOrElse(getString(z(g)), "")
322- let aW = if ((aV == ""))
323+ else makeString([aU, e], a)
324+ let aW = valueOrElse(getString(z(g)), "")
325+ let aX = if ((aW == ""))
323326 then e
324- else makeString([aV, e], a)
325- $Tuple2([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aS), StringEntry(m(e, g), f), StringEntry(z(f), aU), StringEntry(z(g), aW)], unit)
327+ else makeString([aW, e], a)
328+ $Tuple2([BooleanEntry(d(e, f, g), true), IntegerEntry(o(e, f), aT), StringEntry(m(e, g), f), StringEntry(z(f), aV), StringEntry(z(g), aX)], unit)
326329 }
327330 else throw("Strict value is not equal to itself.")
328331 }
329332 else throw("Strict value is not equal to itself.")
330333 }
331334 else throw("Strict value is not equal to itself.")
332335 }
333336 else throw("Strict value is not equal to itself.")
334337 }
335338
336339
337340
338341 @Callable(Q)
339-func updateReferralActivity (e,g,aX) = {
340- let aH = value(getString(y(e)))
341- let aY = (getBoolean(q(e, g)) != unit)
342+func updateReferralActivity (e,g,aY) = {
343+ let aI = value(getString(y(e)))
344+ let aZ = (getBoolean(q(e, g)) != unit)
342345 let f = value(getString(m(e, g)))
343- let at = if ((toString(Q.caller) == aH))
346+ let at = if ((toString(Q.caller) == aI))
344347 then true
345348 else J("permission denied")
346349 if ((at == at))
347350 then {
348- let aZ = if ((aY == aX))
351+ let ba = if ((aZ == aY))
349352 then $Tuple2(nil, unit)
350353 else {
351- let aZ = if ((aX == true))
354+ let ba = if ((aY == true))
352355 then {
353- let ba = (valueOrElse(getInteger(p(e, f)), 0) + 1)
354- $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), ba)], unit)
356+ let bb = (valueOrElse(getInteger(p(e, f)), 0) + 1)
357+ $Tuple2([BooleanEntry(q(e, g), true), IntegerEntry(p(e, f), bb)], unit)
355358 }
356359 else {
357- let ba = (valueOrElse(getInteger(p(e, f)), 0) - 1)
358- $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), ba)], unit)
360+ let bb = (valueOrElse(getInteger(p(e, f)), 0) - 1)
361+ $Tuple2([DeleteEntry(q(e, g)), IntegerEntry(p(e, f), bb)], unit)
359362 }
360- aZ
363+ ba
361364 }
362- aZ
365+ ba
363366 }
364367 else throw("Strict value is not equal to itself.")
365368 }
366369
367370
368371
369372 @Callable(Q)
370-func incUnclaimed (e,g,bb,bc) = {
371- let aH = value(getString(y(e)))
372- let at = if ((toString(Q.caller) == aH))
373+func incUnclaimed (e,g,bc,bd) = {
374+ let aI = value(getString(y(e)))
375+ let at = if ((toString(Q.caller) == aI))
373376 then true
374377 else J("permission denied")
375378 if ((at == at))
376379 then {
377380 let f = value(getString(m(e, g)))
378- let bd = valueOrElse(getInteger(t(f)), 0)
379- let aC = valueOrElse(getInteger(k(e, f)), 0)
380- let be = valueOrElse(getInteger(t(g)), 0)
381- let bf = valueOrElse(getInteger(l(e, g)), 0)
382- let aD = valueOrElse(getInteger(v(e)), 0)
383- let bg = (bd + bb)
384- let aE = (aC + bb)
381+ let be = valueOrElse(getInteger(t(f)), 0)
382+ let aD = valueOrElse(getInteger(k(e, f)), 0)
383+ let bf = valueOrElse(getInteger(t(g)), 0)
384+ let bg = valueOrElse(getInteger(l(e, g)), 0)
385+ let aE = valueOrElse(getInteger(v(e)), 0)
385386 let bh = (be + bc)
386- let bi = (bf + bc)
387- $Tuple2([IntegerEntry(t(f), bg), IntegerEntry(t(g), bh), IntegerEntry(k(e, f), aE), IntegerEntry(l(e, g), bi), IntegerEntry(v(e), ((aD + bb) + bc))], unit)
387+ let aF = (aD + bc)
388+ let bi = (bf + bd)
389+ let bj = (bg + bd)
390+ $Tuple2([IntegerEntry(t(f), bh), IntegerEntry(t(g), bi), IntegerEntry(k(e, f), aF), IntegerEntry(l(e, g), bj), IntegerEntry(v(e), ((aE + bc) + bd))], unit)
388391 }
389392 else throw("Strict value is not equal to itself.")
390393 }
391394
392395
393396
394397 @Callable(Q)
395-func incUnclaimedWithPayment (e,ay) = {
396- let bj = toString(Q.caller)
397- let bk = valueOrElse(getInteger(A(bj)), 0)
398- let bl = ((bk - height) + 3)
399- let bm = if (((height - 3) > bk))
398+func incUnclaimedWithPayment (e,az) = {
399+ let bk = toString(Q.caller)
400+ let bl = valueOrElse(getInteger(A(bk)), 0)
401+ let bm = ((bl - height) + 3)
402+ let bn = if (((height - 3) > bl))
400403 then true
401- else J(makeString(["wait", toString(bl), "blocks"], " "))
402- if ((bm == bm))
404+ else J(makeString(["wait", toString(bm), "blocks"], " "))
405+ if ((bn == bn))
403406 then {
404- func bn (bo,bp) = {
405- let bq = (toBase58String(value(bp.assetId)) == value(getString(w(e))))
406- let br = if (bq)
407+ func bo (bp,bq) = {
408+ let br = (toBase58String(value(bq.assetId)) == value(getString(w(e))))
409+ let bs = if (br)
407410 then true
408411 else J("invalid asset id")
409- if ((br == br))
410- then (bo :+ bp.amount)
412+ if ((bs == bs))
413+ then (bp :+ bq.amount)
411414 else throw("Strict value is not equal to itself.")
412415 }
413416
414- let bs = {
415- let bt = Q.payments
416- let bu = size(bt)
417- let bv = nil
418- func bw (bx,by) = if ((by >= bu))
419- then bx
420- else bn(bx, bt[by])
417+ let bt = {
418+ let bu = Q.payments
419+ let bv = size(bu)
420+ let bw = nil
421+ func bx (by,bz) = if ((bz >= bv))
422+ then by
423+ else bo(by, bu[bz])
421424
422- func bz (bx,by) = if ((by >= bu))
423- then bx
425+ func bA (by,bz) = if ((bz >= bv))
426+ then by
424427 else throw("List size exceeds 10")
425428
426- bz(bw(bw(bw(bw(bw(bw(bw(bw(bw(bw(bv, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
429+ bA(bx(bx(bx(bx(bx(bx(bx(bx(bx(bx(bw, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
427430 }
428- let az = {
429- let bA = invoke(this, "incUnclaimedWithPaymentInternal", [bs, e, ay, 0, 0], nil)
430- if ($isInstanceOf(bA, "Int"))
431- then bA
432- else throw(($getType(bA) + " couldn't be cast to Int"))
431+ let aA = {
432+ let bB = invoke(this, "incUnclaimedWithPaymentInternal", [bt, e, az, 0, 0], nil)
433+ if ($isInstanceOf(bB, "Int"))
434+ then bB
435+ else throw(($getType(bB) + " couldn't be cast to Int"))
433436 }
434- if ((az == az))
437+ if ((aA == aA))
435438 then {
436439 let ac = addressFromStringValue(value(getString(x(e))))
437440 let ad = fromBase58String(value(getString(w(e))))
438-[ScriptTransfer(ac, az, ad)]
441+[ScriptTransfer(ac, aA, ad), IntegerEntry(A(bk), height)]
439442 }
440443 else throw("Strict value is not equal to itself.")
441444 }
442445 else throw("Strict value is not equal to itself.")
443446 }
444447
445448
446449
447450 @Callable(Q)
448451 func claim (e) = {
449452 let U = if (valueOrElse(getBoolean(n(e)), false))
450453 then true
451454 else J("program does not exist")
452455 if ((U == U))
453456 then {
454457 let T = (toString(Q.caller) == value(getString(y(e))))
455458 let i = if (T)
456459 then toString(Q.originCaller)
457460 else toString(Q.caller)
458- let aw = invoke(this, "claimInternal", [e, i, T], nil)
459- if ((aw == aw))
460- then $Tuple2(nil, aw)
461+ let bC = invoke(this, "claimInternal", [e, i, T], nil)
462+ if ((bC == bC))
463+ then $Tuple2(nil, bC)
461464 else throw("Strict value is not equal to itself.")
462465 }
463466 else throw("Strict value is not equal to itself.")
464467 }
465468
466469
467470
468471 @Callable(Q)
469472 func claimBulk () = {
470- let bj = toString(Q.caller)
471- let bB = getString(z(toString(Q.caller)))
472- let bC = if (isDefined(bB))
473+ let bk = toString(Q.caller)
474+ let bD = getString(z(toString(Q.caller)))
475+ let bE = if (isDefined(bD))
473476 then true
474477 else J("no referral programs")
475- if ((bC == bC))
478+ if ((bE == bE))
476479 then {
477- let bD = split(value(bB), "__")
478- let bE = invoke(this, "claimBulkInternal", [bj, bD, 0], nil)
479- if ((bE == bE))
480- then $Tuple2([IntegerEntry(A(bj), height)], bE)
480+ let bF = split(value(bD), "__")
481+ let bG = invoke(this, "claimBulkInternal", [bk, bF, 0], nil)
482+ if ((bG == bG))
483+ then $Tuple2(nil, bG)
481484 else throw("Strict value is not equal to itself.")
482485 }
483486 else throw("Strict value is not equal to itself.")
484487 }
485488
486489
487490
488491 @Callable(Q)
489492 func claimREADONLY (e,E) = {
490493 let W = valueOrElse(getInteger(h(e, E)), 0)
491494 let X = valueOrElse(getInteger(k(e, E)), 0)
492495 $Tuple2(nil, [X, W])
493496 }
494497
495498
496499
497500 @Callable(Q)
498501 func claimBulkREADONLY (aq) = {
499502 let ae = valueOrElse(getInteger(r(aq)), 0)
500- let bF = valueOrElse(getInteger(t(aq)), 0)
501- $Tuple2(nil, [bF, ae])
503+ let af = valueOrElse(getInteger(t(aq)), 0)
504+ $Tuple2(nil, [af, ae])
502505 }
503506
504507
505508
506509 @Callable(Q)
507510 func setTotalKeys (e,s) = {
508- let bG = valueOrElse(getInteger(h(e, s)), 0)
509- let bH = valueOrElse(getInteger(j(e, s)), 0)
510- let bI = valueOrElse(getInteger(k(e, s)), 0)
511+ let bH = valueOrElse(getInteger(h(e, s)), 0)
512+ let bI = valueOrElse(getInteger(j(e, s)), 0)
513+ let aw = valueOrElse(getInteger(k(e, s)), 0)
511514 let bJ = valueOrElse(getInteger(l(e, s)), 0)
512- let ae = (bG + bH)
513- let af = (bI + bJ)
515+ let ae = (bH + bI)
516+ let af = (aw + bJ)
514517 $Tuple2([IntegerEntry(r(s), ae), IntegerEntry(t(s), af)], unit)
515518 }
516519
517520
518521
519522 @Callable(Q)
520523 func setManager (bK) = {
521524 let at = P(Q)
522525 if ((at == at))
523526 then {
524527 let bL = fromBase58String(bK)
525528 if ((bL == bL))
526529 then [StringEntry(C(), bK)]
527530 else throw("Strict value is not equal to itself.")
528531 }
529532 else throw("Strict value is not equal to itself.")
530533 }
531534
532535
533536
534537 @Callable(Q)
535538 func confirmManager () = {
536539 let bM = O()
537540 let bN = if (isDefined(bM))
538541 then true
539542 else J("no pending manager")
540543 if ((bN == bN))
541544 then {
542545 let bO = if ((Q.callerPublicKey == value(bM)))
543546 then true
544547 else J("you are not pending manager")
545548 if ((bO == bO))
546549 then [StringEntry(B(), toBase58String(value(bM))), DeleteEntry(C())]
547550 else throw("Strict value is not equal to itself.")
548551 }
549552 else throw("Strict value is not equal to itself.")
550553 }
551554
552555
553556 @Verifier(bP)
554557 func bQ () = {
555558 let bR = {
556559 let M = L()
557560 if ($isInstanceOf(M, "ByteVector"))
558561 then {
559562 let S = M
560563 S
561564 }
562565 else if ($isInstanceOf(M, "Unit"))
563566 then bP.senderPublicKey
564567 else throw("Match error")
565568 }
566569 sigVerify(bP.bodyBytes, bP.proofs[0], bR)
567570 }
568571

github/deemru/w8io/169f3d6 
119.62 ms