tx · EjWyTuQ1c4zPNjgSUa8dvAkRMQBCGkeUderSJDZQqniP

3NCFV4YSBFCEBXDYHwCuh6X5SqMeQXFgEaf:  -0.01500000 Waves

2021.06.03 16:46 [1554265] smart account 3NCFV4YSBFCEBXDYHwCuh6X5SqMeQXFgEaf > SELF 0.00000000 Waves

{ "type": 13, "id": "EjWyTuQ1c4zPNjgSUa8dvAkRMQBCGkeUderSJDZQqniP", "fee": 1500000, "feeAssetId": null, "timestamp": 1622728031259, "version": 2, "chainId": 84, "sender": "3NCFV4YSBFCEBXDYHwCuh6X5SqMeQXFgEaf", "senderPublicKey": "6zkdpCUGZybpbh7mrJvMphWq6fUvbGoyxafdsQjtwsWA", "proofs": [ "4U1BDpk6LNuekvBF51W7jgxBMZ8w4YQynYi8HW18xNWEhg11vrFdmzmDdtq4GVokME8FE3KSwen2pjsmo3SGPWVa" ], "script": "base64:AAIEAAAAAAAAAB4IAhIAEgASABIDCgEIEgMKAQgSBAoCCAESBAoCCAEAAABJAAAAABNnYW1lTWFzdGVyUHVibGljS2V5AQAAACCLHi1hJl8BxDXwXKLtpRVjbFBsmFHgcP8XgvTnW2biYwAAAAAKZGljZU51bWJlcgkABEwAAAACAAAAAAAAAAACCQAETAAAAAIAAAAAAAAAAAMJAARMAAAAAgAAAAAAAAAABAkABEwAAAACAAAAAAAAAAAFCQAETAAAAAIAAAAAAAAAAAYJAARMAAAAAgAAAAAAAAAABwkABEwAAAACAAAAAAAAAAAICQAETAAAAAIAAAAAAAAAAAkJAARMAAAAAgAAAAAAAAAACgkABEwAAAACAAAAAAAAAAALCQAETAAAAAIAAAAAAAAAAAwFAAAAA25pbAAAAAAJZ2FtZVRva2VuAQAAACCvQNOoGbkt3wVk9kpr+yD9dOUY7LBdGNCbLK5MVkSodQAAAAAJUlNBUFVCTElDCQACWwAAAAECAAABj2Jhc2U2NDpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWpudDJQZE4xUGRqN3JzWHpiYXBndWNuOWUxWGZmVXgxbzdnckFsdzhDNk5GdXYxUFBqN0tuUTZSdE45eGhuaUxGNHhLbGM3Ly9UWVhkMXVIV214OXZ1OWhqY2lZWDlVTVJKbmhsWk8ycTM0bXhQZGNnTERLaEpIRE43MjZLSTB3SHBGUTVkSE15em9NTGRXc2FoRmMxV3gvWHhyb0syS2MxeTJKQldOMmFrUmxreFNEY2x1cWJiVWNXTXlyd0c2aVd1VmxoZWo1eGZjdWVyZy9wc0szNVdHbjdTTEYyOXRXdVIyeCsyNG5NK0JKVXN1Ukc3eUJaVWhHcll6SmsyZ3ZwdWNSTGVhNkFGUnZvdzdSZHlNWUF3S0ZycjZtZ1EwVmNVdzJUNzUwZTFvR2FuWTBVZFUzTlBzS0lndlU0RnQ0dWliTWxNTUJKdmNyc0ViRFFIZkRsd0lEQVFBQgAAAAAJR0FNRVNUQVJUAAAAAAAAAAAAAAAAAA5HQU1FSU5QUk9HUkVTUwAAAAAAAAAAAQAAAAAMR0FNRUZJTklTSEVEAAAAAAAAAAACAAAAABZCTE9DS1RPUFJPQ0VTU0ZPUlRIUk9XAAAAAAAAAAABAAAAAAtQQVNTTElORUJFVAIAAAALUEFTU0xJTkVCRVQAAAAAD0RPTlRQQVNTTElORUJFVAIAAAAPRE9OVFBBU1NMSU5FQkVUAAAAAAdDT01FQkVUAgAAAAdDT01FQkVUAAAAAAtET05UQ09NRUJFVAIAAAALRE9OVENPTUVCRVQAAAAACEZJRUxEQkVUAgAAAAhGSUVMREJFVAAAAAAHT0REU0JFVAIAAAAHT0REU0JFVAAAAAAKQklHNk9SOEJFVAIAAAAKQklHNk9SOEJFVAAAAAALUExBQ0VCRVRCVVkCAAAAC1BMQUNFQkVUQlVZAAAAAAxQTEFDRUJFVExPU0UCAAAADFBMQUNFQkVUTE9TRQAAAAALUExBQ0VCRVRMQVkCAAAAC1BMQUNFQkVUTEFZAAAAAAtQTEFDRUJFVFdJTgIAAAALUExBQ0VCRVRXSU4AAAAAEGdhbWVDb3VudGVyTGFiZWwCAAAADUdfR0FNRUNPVU5URVIAAAAAEmdhbWVUb3RhbEJldHNMYWJlbAIAAAALR19UT1RBTEJFVFMAAAAAGWdhbWVUb3RhbFByb2NjZWRCZXRzTGFiZWwCAAAAD0dfUFJPQ0VTU0VEQkVUUwAAAAAXZ2FtZVRvdGFsRmllbGRCZXRzTGFiZWwCAAAAFkdfVE9UQUxGSUVMRF9PRERTX0JFVFMAAAAAJGdhbWVUb3RhbFByb2NjZWRGaWVsZE9yT2Rkc0JldHNMYWJlbAIAAAAZR19QUk9DRVNTRURGSUVMX09ERFNfQkVUUwEAAAAUZ2FtZVN0YXJ0SGVpZ2h0TGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAADF9TVEFSVEhFSUdIVAEAAAASZ2FtZUVuZEhlaWdodExhYmVsAAAAAQAAAAtnYW1lQ291bnRlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAApfRU5ESEVJR0hUAQAAAA5nZXRTdGFydEhlaWdodAAAAAEAAAALZ2FtZUNvdW50ZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAFGdhbWVTdGFydEhlaWdodExhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAADGdldEVuZEhlaWdodAAAAAEAAAALZ2FtZUNvdW50ZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEmdhbWVFbmRIZWlnaHRMYWJlbAAAAAEFAAAAC2dhbWVDb3VudGVyAQAAABBnYW1lQmV0TGluZUxhYmVsAAAAAQAAAAliZXROdW1iZXIJAAEsAAAAAgkAASwAAAACAgAAAAJCXwkAAaQAAAABBQAAAAliZXROdW1iZXICAAAAC19CRVRERVRBSUxTAQAAABtnYW1lRmllbGRPck9kZHNCZXRMaW5lTGFiZWwAAAABAAAACWJldE51bWJlcgkAASwAAAACCQABLAAAAAICAAAAAkJfCQABpAAAAAEFAAAACWJldE51bWJlcgIAAAAUX0JFVEZJRUxPRERTRERFVEFJTFMBAAAAE2dldEJldERldGFpbHNSZXN1bHQAAAABAAAACWJldE51bWJlcgkABB0AAAACBQAAAAR0aGlzCQEAAAAQZ2FtZUJldExpbmVMYWJlbAAAAAEFAAAACWJldE51bWJlcgEAAAAYZ2V0RmllbGRCZXREZXRhaWxzUmVzdWx0AAAAAQAAAAliZXROdW1iZXIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAG2dhbWVGaWVsZE9yT2Rkc0JldExpbmVMYWJlbAAAAAEFAAAACWJldE51bWJlcgEAAAATYXV0aG9yaXplUGVybWlzc2lvbgAAAAEAAAAPY2FsbGVyUHVibGljS2V5CQEAAAACIT0AAAACBQAAAA9jYWxsZXJQdWJsaWNLZXkFAAAAE2dhbWVNYXN0ZXJQdWJsaWNLZXkBAAAAGWdhbWVDdXJyZW50UG9pbnREaWNlTGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAACl9MQVNUUE9JTlQBAAAAF2dhbWVGaXJzdFBvaW50RGljZUxhYmVsAAAAAQAAAAtnYW1lQ291bnRlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAAtfRklSU1RQT0lOVAEAAAAZZ2FtZVdpbm5pbmdOdW1iZXJCZXRMYWJlbAAAAAMAAAALZ2FtZUNvdW50ZXIAAAAJYmV0TnVtYmVyAAAAB2JldFR5cGUJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAACV18CAAAACUJFVF9UWVBFXwUAAAAHYmV0VHlwZQIAAAABXwkAAaQAAAABBQAAAAliZXROdW1iZXICAAAADV9XSU5OSU5HX0JFVF8JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAADF9HQU1FX05VTUJFUgEAAAAOZ2FtZVN0YXRlTGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAABl9TVEFURQEAAAAPZ2FtZVN1bVNoYUxhYmVsAAAAAQAAAAtnYW1lQ291bnRlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAAdfU1VNU0hBAQAAABNnYW1lUmFuZG9tSGFzaExhYmVsAAAAAQAAAAtnYW1lQ291bnRlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAAtfUkFORE9NSEFTSAEAAAAQZ2V0R2FtZVRvdGFsQmV0cwAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAASZ2FtZVRvdGFsQmV0c0xhYmVsAQAAABRnZXRHYW1lUHJvY2Vzc2VkQmV0cwAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAZZ2FtZVRvdGFsUHJvY2NlZEJldHNMYWJlbAEAAAAbZ2V0R2FtZVRvdGFsRmllbGRPck9kZHNCZXRzAAAAAAkABBoAAAACBQAAAAR0aGlzBQAAABdnYW1lVG90YWxGaWVsZEJldHNMYWJlbAEAAAAfZ2V0R2FtZVByb2Nlc3NlZEZpZWxkT3JPZGRzQmV0cwAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAkZ2FtZVRvdGFsUHJvY2NlZEZpZWxkT3JPZGRzQmV0c0xhYmVsAQAAAAxnZXRHYW1lU3RhdGUAAAABAAAAC2dhbWVDb3VudGVyCQAEGgAAAAIFAAAABHRoaXMJAQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEFAAAAC2dhbWVDb3VudGVyAQAAAA1nZXRHYW1lU3VtU2hhAAAAAQAAAAtnYW1lQ291bnRlcgkABB0AAAACBQAAAAR0aGlzCQEAAAAPZ2FtZVN1bVNoYUxhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAADWdldFJhbmRvbUhhc2gAAAABAAAAC2dhbWVDb3VudGVyCQAEHQAAAAIFAAAABHRoaXMJAQAAABNnYW1lUmFuZG9tSGFzaExhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAAFmdhbWVSb2xsc0NvdW50QmV0TGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAAC19ST0xMU0NPVU5UAQAAAB9nYW1lUm9sbERpY2VXaXRoR2FtZU51bWJlckxhYmVsAAAAAgAAAAtnYW1lQ291bnRlcgAAAAhyb2xsRGljZQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAtnYW1lQ291bnRlcgIAAAABXwkAAaQAAAABBQAAAAhyb2xsRGljZQIAAAAUX0dBTUVOVU1CRVJfUk9MTERJQ0UBAAAAI2dhbWVGaWVsZE9yT2Rkc0JldEZvck5leHRUaHJvd0xhYmVsAAAAAQAAAAliZXROdW1iZXIJAAEsAAAAAgkAASwAAAACAgAAAAJCXwkAAaQAAAABBQAAAAliZXROdW1iZXICAAAAGF9GSUVMRF9PRERTX0JFVF9ST0xMRElDRQEAAAARZ2V0R2FtZVJvbGxzQ291bnQAAAABAAAAC2dhbWVDb3VudGVyCQAEGgAAAAIFAAAABHRoaXMJAQAAABZnYW1lUm9sbHNDb3VudEJldExhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAAHWdldEdhbWVSb2xsRGljZVdpdGhHYW1lTnVtYmVyAAAAAgAAAAtnYW1lQ291bnRlcgAAAAhyb2xsRGljZQkABBoAAAACBQAAAAR0aGlzCQEAAAAfZ2FtZVJvbGxEaWNlV2l0aEdhbWVOdW1iZXJMYWJlbAAAAAIFAAAAC2dhbWVDb3VudGVyBQAAAAhyb2xsRGljZQEAAAAaZ2V0RmllbGRPZGRzQmV0Rm9yTmV4dERpY2UAAAABAAAACWJldE51bWJlcgkABBoAAAACBQAAAAR0aGlzCQEAAAAjZ2FtZUZpZWxkT3JPZGRzQmV0Rm9yTmV4dFRocm93TGFiZWwAAAABBQAAAAliZXROdW1iZXIBAAAAE2dhbWVCZXRDb3VudGVyTGFiZWwAAAABAAAACmdhbWVOdW1iZXIJAAEsAAAAAgkAASwAAAACAgAAAAJCXwkAAaQAAAABBQAAAApnYW1lTnVtYmVyAgAAAA9fQkVUX0dBTUVOVU1CRVIBAAAAImdhbWVGaWVsZE9yT2Rkc0JldEdhbWVDb3VudGVyTGFiZWwAAAABAAAACmdhbWVOdW1iZXIJAAEsAAAAAgkAASwAAAACAgAAAAJCXwkAAaQAAAABBQAAAApnYW1lTnVtYmVyAgAAABpfRklFTERfT0REU19CRVRfR0FNRU5VTUJFUgEAAAARZ2V0R2FtZUJldENvdW50ZXIAAAABAAAACmdhbWVOdW1iZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAE2dhbWVCZXRDb3VudGVyTGFiZWwAAAABBQAAAApnYW1lTnVtYmVyAQAAABxnZXRHYW1lRmllbGRPck9kZHNCZXRDb3VudGVyAAAAAQAAAApnYW1lTnVtYmVyCQAEGgAAAAIFAAAABHRoaXMJAQAAACJnYW1lRmllbGRPck9kZHNCZXRHYW1lQ291bnRlckxhYmVsAAAAAQUAAAAKZ2FtZU51bWJlcgEAAAAOZ2V0R2FtZUNvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAEGdhbWVDb3VudGVyTGFiZWwBAAAAEWdldEZpcnN0UG9pbnREaWNlAAAAAQAAAAtnYW1lQ291bnRlcgkABBoAAAACBQAAAAR0aGlzCQEAAAAXZ2FtZUZpcnN0UG9pbnREaWNlTGFiZWwAAAABBQAAAAtnYW1lQ291bnRlcgEAAAATZ2V0Q3VycmVudFBvaW50RGljZQAAAAEAAAALZ2FtZUNvdW50ZXIEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwkBAAAAGWdhbWVDdXJyZW50UG9pbnREaWNlTGFiZWwAAAABBQAAAAtnYW1lQ291bnRlcgMJAAABAAAAAgUAAAAHJG1h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aDEJAQAAABFnZXRHYW1lUm9sbHNDb3VudAAAAAEFAAAAC2dhbWVDb3VudGVyAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAANJbnQEAAAACXJvbGxDb3VudAUAAAAHJG1hdGNoMQQAAAAQbmV3VG90YWxCZXRDb3VudAkAAGQAAAACBQAAAAhiZXRDb3VudAAAAAAAAAAAAQQAAAATbmV3Um9sbENvdW50Rm9yR2FtZQkAAGQAAAACBQAAAAlyb2xsQ291bnQAAAAAAAAAAAEDAwkAAAAAAAACBQAAAAd0eXBlQmV0BQAAAAdDT01FQkVUBgkAAAAAAAACBQAAAAd0eXBlQmV0BQAAAAtET05UQ09NRUJFVAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAImdhbWVGaWVsZE9yT2Rkc0JldEdhbWVDb3VudGVyTGFiZWwAAAABBQAAABBuZXdUb3RhbEJldENvdW50BQAAAAtnYW1lQ291bnRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAbZ2FtZUZpZWxkT3JPZGRzQmV0TGluZUxhYmVsAAAAAQUAAAAQbmV3VG90YWxCZXRDb3VudAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABmNhbGxlcgIAAAABXwUAAAAGYW1vdW50AgAAAAFfBQAAAAd0eXBlQmV0AgAAABBfYWN0aXZlX3BlbmRpbmdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAAFfCQABpAAAAAEFAAAAE25ld1JvbGxDb3VudEZvckdhbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2dhbWVUb3RhbEZpZWxkQmV0c0xhYmVsBQAAABBuZXdUb3RhbEJldENvdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAjZ2FtZUZpZWxkT3JPZGRzQmV0Rm9yTmV4dFRocm93TGFiZWwAAAABBQAAABBuZXdUb3RhbEJldENvdW50BQAAABNuZXdSb2xsQ291bnRGb3JHYW1lBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACJnYW1lRmllbGRPck9kZHNCZXRHYW1lQ291bnRlckxhYmVsAAAAAQUAAAAQbmV3VG90YWxCZXRDb3VudAUAAAALZ2FtZUNvdW50ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAG2dhbWVGaWVsZE9yT2Rkc0JldExpbmVMYWJlbAAAAAEFAAAAEG5ld1RvdGFsQmV0Q291bnQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABmNhbGxlcgIAAAABXwUAAAAGYW1vdW50AgAAAAFfBQAAAAd0eXBlQmV0AgAAABBfYWN0aXZlX3BlbmRpbmdfCQABpAAAAAEFAAAAA29kZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXZ2FtZVRvdGFsRmllbGRCZXRzTGFiZWwFAAAAEG5ld1RvdGFsQmV0Q291bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACNnYW1lRmllbGRPck9kZHNCZXRGb3JOZXh0VGhyb3dMYWJlbAAAAAEFAAAAEG5ld1RvdGFsQmV0Q291bnQFAAAAE25ld1JvbGxDb3VudEZvckdhbWUFAAAAA25pbAkAAAIAAAABAgAAABJHYW1lIGRvZXNuJ3QgZXhpc3QJAAACAAAAAQIAAAAcR2FtZSBoYXMgbm90IGJlZSBpbml0aWFsaXplZAEAAAAfcm9sbFBsYWNlQmV0SW50b0Fub3RoZXJSb3VuZEJldAAAAAgAAAAJdG90YWxCZXRzAAAAE2xhc3RGaWVsZFByb2Nlc3NCZXQAAAAJYmV0T25Sb2xsAAAAC2dhbWVDb3VudGVyAAAABmFtb3VudAAAAAd0eXBlQmV0AAAABmNhbGxlcgAAAANvZGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAACJnYW1lRmllbGRPck9kZHNCZXRHYW1lQ291bnRlckxhYmVsAAAAAQUAAAAJdG90YWxCZXRzBQAAAAtnYW1lQ291bnRlcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAbZ2FtZUZpZWxkT3JPZGRzQmV0TGluZUxhYmVsAAAAAQUAAAAJdG90YWxCZXRzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8FAAAABmFtb3VudAIAAAABXwUAAAAHdHlwZUJldAIAAAAQX2FjdGl2ZV9wZW5kaW5nXwkAAaQAAAABBQAAAANvZGQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAG2dhbWVGaWVsZE9yT2Rkc0JldExpbmVMYWJlbAAAAAEFAAAAE2xhc3RGaWVsZFByb2Nlc3NCZXQJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABmNhbGxlcgIAAAABXwUAAAAGYW1vdW50AgAAAAFfBQAAAAd0eXBlQmV0AgAAABFfaW5hY3RpdmVfcm9sbGVkXwkAAaQAAAABBQAAAANvZGQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJGdhbWVUb3RhbFByb2NjZWRGaWVsZE9yT2Rkc0JldHNMYWJlbAUAAAATbGFzdEZpZWxkUHJvY2Vzc0JldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXZ2FtZVRvdGFsRmllbGRCZXRzTGFiZWwFAAAACXRvdGFsQmV0cwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAI2dhbWVGaWVsZE9yT2Rkc0JldEZvck5leHRUaHJvd0xhYmVsAAAAAQUAAAAJdG90YWxCZXRzBQAAAAliZXRPblJvbGwFAAAAA25pbAEAAAANc3RvcmVOZXh0Um9sbAAAAAkAAAAJZ2FtZVN0YXRlAAAABmFtb3VudAAAAA50b3RhbEZpZWxkQmV0cwAAABNsYXN0RmllbGRQcm9jZXNzQmV0AAAACWJldE9uUm9sbAAAAApnYW1lTnVtYmVyAAAAB2JldFR5cGUAAAAJYmV0UGxhY2VyAAAAA29kZAMJAAAAAAAAAgUAAAAJZ2FtZVN0YXRlBQAAAAxHQU1FRklOSVNIRUQJAQAAAB9yb2xsUGxhY2VCZXRJbnRvQW5vdGhlclJvdW5kQmV0AAAACAkAAGQAAAACBQAAAA50b3RhbEZpZWxkQmV0cwAAAAAAAAAAAQkAAGQAAAACBQAAABNsYXN0RmllbGRQcm9jZXNzQmV0AAAAAAAAAAABAAAAAAAAAAABCQAAZAAAAAIFAAAACmdhbWVOdW1iZXIAAAAAAAAAAAEJAAGkAAAAAQUAAAAGYW1vdW50BQAAAAdiZXRUeXBlBQAAAAliZXRQbGFjZXIFAAAAA29kZAkBAAAAH3JvbGxQbGFjZUJldEludG9Bbm90aGVyUm91bmRCZXQAAAAICQAAZAAAAAIFAAAADnRvdGFsRmllbGRCZXRzAAAAAAAAAAABCQAAZAAAAAIFAAAAE2xhc3RGaWVsZFByb2Nlc3NCZXQAAAAAAAAAAAEJAABkAAAAAgUAAAAJYmV0T25Sb2xsAAAAAAAAAAABBQAAAApnYW1lTnVtYmVyCQABpAAAAAEFAAAABmFtb3VudAUAAAAHYmV0VHlwZQUAAAAJYmV0UGxhY2VyBQAAAANvZGQBAAAADHN0b3JlUGFzc0JldAAAAAQAAAALZ2FtZUNvdW50ZXIAAAAGYW1vdW50AAAAB3R5cGVCZXQAAAAGY2FsbGVyBAAAAAckbWF0Y2gwCQEAAAAQZ2V0R2FtZVRvdGFsQmV0cwAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAGbnVtYmVyBQAAAAckbWF0Y2gwBAAAAAxuZXdUb3RhbEJldHMJAABkAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAATZ2FtZUJldENvdW50ZXJMYWJlbAAAAAEFAAAADG5ld1RvdGFsQmV0cwUAAAALZ2FtZUNvdW50ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAEGdhbWVCZXRMaW5lTGFiZWwAAAABBQAAAAxuZXdUb3RhbEJldHMJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZjYWxsZXICAAAAAV8FAAAABmFtb3VudAIAAAABXwUAAAAHdHlwZUJldAIAAAAPX2FjdGl2ZV9wZW5kaW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJnYW1lVG90YWxCZXRzTGFiZWwFAAAADG5ld1RvdGFsQmV0cwUAAAADbmlsCQAAAgAAAAECAAAAHEdhbWUgaGFzIG5vdCBiZWUgaW5pdGlhbGl6ZWQBAAAAGHVkcGF0ZUJldERldGFpbHNXaXRoTG9zdAAAAAUAAAAQdXBkYXRlQmV0RGV0aWFscwAAAApnYW1lTnVtYmVyAAAADmxhc3RQcm9jZWVkQmV0AAAACGJldEluZGV4AAAAD2JldFByb2NlZWRJbmRleAQAAAANdXBkYXRlSW5mb0JldAkAASwAAAACBQAAABB1cGRhdGVCZXREZXRpYWxzAgAAAAVfbG9zdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhiZXRJbmRleAUAAAANdXBkYXRlSW5mb0JldAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPYmV0UHJvY2VlZEluZGV4BQAAAA5sYXN0UHJvY2VlZEJldAUAAAADbmlsAQAAAB91ZHBhdGVCZXREZXRhaWxzV2l0aExvc3RXaXRoT2RkAAAABgAAABB1cGRhdGVCZXREZXRpYWxzAAAACmdhbWVOdW1iZXIAAAAObGFzdFByb2NlZWRCZXQAAAAIYmV0SW5kZXgAAAAPYmV0UHJvY2VlZEluZGV4AAAACW9kZE51bWJlcgQAAAANdXBkYXRlSW5mb0JldAkAASwAAAACCQABLAAAAAIFAAAAEHVwZGF0ZUJldERldGlhbHMCAAAABl9sb3N0XwkAAaQAAAABBQAAAAlvZGROdW1iZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAIYmV0SW5kZXgFAAAADXVwZGF0ZUluZm9CZXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2JldFByb2NlZWRJbmRleAUAAAAObGFzdFByb2NlZWRCZXQFAAAAA25pbAEAAAAbdXBkYXRlQmV0RGV0YWlsc1dpdGhXaW5uaW5nAAAACAAAABB1cGRhdGVCZXREZXRpYWxzAAAACmdhbWVOdW1iZXIAAAARY3VycmVudFByb2NlZWRCZXQAAAAJYmV0UGxhY2VyAAAADXdpbm5pbmdBbW91bnQAAAAHYmV0VHlwZQAAAAhiZXRJbmRleAAAAA9iZXRQcm9jZWVkSW5kZXgEAAAADXVwZGF0ZUluZm9CZXQJAAEsAAAAAgUAAAAQdXBkYXRlQmV0RGV0aWFscwIAAAAFX3dvbl8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGWdhbWVXaW5uaW5nTnVtYmVyQmV0TGFiZWwAAAADBQAAAApnYW1lTnVtYmVyBQAAABFjdXJyZW50UHJvY2VlZEJldAUAAAAHYmV0VHlwZQkAASwAAAACCQABLAAAAAIFAAAACWJldFBsYWNlcgIAAAAIX2Ftb3VudF8JAAGkAAAAAQUAAAANd2lubmluZ0Ftb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhiZXRJbmRleAUAAAAQdXBkYXRlQmV0RGV0aWFscwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPYmV0UHJvY2VlZEluZGV4BQAAABFjdXJyZW50UHJvY2VlZEJldAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAACWJldFBsYWNlcgUAAAANd2lubmluZ0Ftb3VudAUAAAAEdW5pdAUAAAADbmlsAQAAABtzdG9yZUdhbWVQcm9ncmVzc1BvaW50U3RhdGUAAAAHAAAACnN0b3JlSW5kZXgAAAAKZ2FtZU51bWJlcgAAAAZudW1iZXIAAAAJcm9sbENvdW50AAAADWN1cnJlbnRIZWlnaHQAAAAKcmFuZG9tSGFzaAAAAAVzdGF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADmdhbWVTdGF0ZUxhYmVsAAAAAQUAAAAKZ2FtZU51bWJlcgUAAAAFc3RhdGUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACnN0b3JlSW5kZXgFAAAABm51bWJlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFmdhbWVSb2xsc0NvdW50QmV0TGFiZWwAAAABBQAAAApnYW1lTnVtYmVyBQAAAAlyb2xsQ291bnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABJnYW1lRW5kSGVpZ2h0TGFiZWwAAAABBQAAAApnYW1lTnVtYmVyCQAAZAAAAAIFAAAADWN1cnJl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AAAAAgkAASwAAAACCQABLAAAAAICAAAABU9ubHkgBQAAAAtQQVNTTElORUJFVAIAAAACLCAFAAAAD0RPTlRQQVNTTElORUJFVAIAAAAcIGFsbG93ZWQgaW4gcHJvY2Vzc05leHRCZXQoKQIAAAAQIGN1cnJlbnRCZXRUeXBlIAkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAIJAAACAAAAAQIAAAApR2FtZSBkb2VzIG5vdCBleGlzdCBvciBoYXMgYWxyZWFkeSBlbmRlZC4JAAACAAAAAQIAAAAFRXJyb3IJAAACAAAAAQIAAAAyR2FtZSBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQsIG5leHQgYmV0cyBub3QgZm91bmQJAAACAAAAAQIAAAAyR2FtZSBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQsIG5leHQgYmV0cyBub3QgZm91bmQAAAABaQEAAAAScHJvY2Vzc09uZVJvdW5kQmV0AAAAAAMJAQAAABNhdXRob3JpemVQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAGXByb2Nlc3NGaWVsZEJldF9GT1JCSURERU4EAAAAByRtYXRjaDAJAQAAABtnZXRHYW1lVG90YWxGaWVsZE9yT2Rkc0JldHMAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADnRvdGFsRmllbGRCZXRzBQAAAAckbWF0Y2gwBAAAAAckbWF0Y2gxCQEAAAAfZ2V0R2FtZVByb2Nlc3NlZEZpZWxkT3JPZGRzQmV0cwAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAA0ludAQAAAATbGFzdEZpZWxkUHJvY2Vzc0JldAUAAAAHJG1hdGNoMQQAAAAHbmV4dEJldAkAAGQAAAACBQAAABNsYXN0RmllbGRQcm9jZXNzQmV0AAAAAAAAAAABAwkAAGYAAAACBQAAAAduZXh0QmV0BQAAAA50b3RhbEZpZWxkQmV0cwkAAAIAAAABAgAAACNOZXh0IEZpZWxkIEJldCBoYXMgbm90IGJlZW4gcGxhY2VzLgQAAAAHJG1hdGNoMgkBAAAAHGdldEdhbWVGaWVsZE9yT2Rkc0JldENvdW50ZXIAAAABBQAAAAduZXh0QmV0AwkAAAEAAAACBQAAAAckbWF0Y2gyAgAAAANJbnQEAAAACmdhbWVOdW1iZXIFAAAAByRtYXRjaDIEAAAAByRtYXRjaDMJAQAAAAxnZXRHYW1lU3RhdGUAAAABBQAAAApnYW1lTnVtYmVyAwkAAAEAAAACBQAAAAckbWF0Y2gzAgAAAANJbnQEAAAACWdhbWVTdGF0ZQUAAAAHJG1hdGNoMwMJAAAAAAAAAgUAAAAJZ2FtZVN0YXRlBQAAAAlHQU1FU1RBUlQJAAACAAAAAQIAAAAYR2FtZSBoYXMgbm90IHN0YXJ0ZWQgeWV0BAAAAApiZXREZXRhaWxzCQEAAAAFdmFsdWUAAAABCQEAAAAYZ2V0RmllbGRCZXREZXRhaWxzUmVzdWx0AAAAAQUAAAAHbmV4dEJldAQAAAAHYmV0VHlwZQkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAIEAAAACWJldFBsYWNlcgkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAAEAAAABmFtb3VudAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAAAQQAAAADb2RkCQEAAAAFdmFsdWUAAAABCQAEtgAAAAEJAAGRAAAAAgkABLUAAAACBQAAAApiZXREZXRhaWxzAgAAAAFfAAAAAAAAAAAFBAAAAAdhZGRyZXNzCQEAAAAFdmFsdWUAAAABCQAEJgAAAAEFAAAACWJldFBsYWNlcgQAAAAJYmV0T25Sb2xsCQEAAAAFdmFsdWUAAAABCQEAAAAaZ2V0RmllbGRPZGRzQmV0Rm9yTmV4dERpY2UAAAABBQAAAAduZXh0QmV0BAAAABB1cGRhdGVCZXREZXRpYWxzCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAJYmV0UGxhY2VyAgAAAAFfCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAAAQIAAAABXwkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAICAAAACl9pbmFjdGl2ZV8EAAAAByRtYXRjaDQJAQAAAB1nZXRHYW1lUm9sbERpY2VXaXRoR2FtZU51bWJlcgAAAAIFAAAACmdhbWVOdW1iZXIFAAAACWJldE9uUm9sbAMJAAABAAAAAgUAAAAHJG1hdGNoNAIAAAADSW50BAAAAA1yZXN1bHRPZlJvdW5kBQAAAAckbWF0Y2g0BAAAAAlyb3VuZFJvbGUJAQAAAAV2YWx1ZQAAAAEJAAS2AAAAAQkBAAAAFmdhbWVSb2xsc0NvdW50QmV0TGFiZWwAAAABBQAAAApnYW1lTnVtYmVyBAAAABh3aW5uaW5nQW1vdW50T25lUm91bmRCZXQJAQAAABxnZXRXaW5uaW5nQW1vdW50T25lUm91bmRCZXRzAAAAAwUAAAAKYmV0RGV0YWlscwUAAAANcmVzdWx0T2ZSb3VuZAUAAAAJcm91bmRSb2xlAwkAAAAAAAACBQAAABh3aW5uaW5nQW1vdW50T25lUm91bmRCZXQA//////////8JAQAAAA1zdG9yZU5leHRSb2xsAAAACQUAAAAJZ2FtZVN0YXRlBQAAAAZhbW91bnQFAAAADnRvdGFsRmllbGRCZXRzBQAAABNsYXN0RmllbGRQcm9jZXNzQmV0BQAAAAliZXRPblJvbGwFAAAACmdhbWVOdW1iZXIFAAAAB2JldFR5cGUFAAAACWJldFBsYWNlcgUAAAADb2RkAwkAAAAAAAACBQAAABh3aW5uaW5nQW1vdW50T25lUm91bmRCZXQAAAAAAAAAAAAJAQAAAB91ZHBhdGVCZXREZXRhaWxzV2l0aExvc3RXaXRoT2RkAAAABgUAAAAQdXBkYXRlQmV0RGV0aWFscwUAAAAKZ2FtZU51bWJlcgUAAAAHbmV4dEJldAkBAAAAG2dhbWVGaWVsZE9yT2Rkc0JldExpbmVMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIFAAAAJGdhbWVUb3RhbFByb2NjZWRGaWVsZE9yT2Rkc0JldHNMYWJlbAUAAAADb2RkCQEAAAAbdXBkYXRlQmV0RGV0YWlsc1dpdGhXaW5uaW5nAAAACAkAASwAAAACBQAAABB1cGRhdGVCZXREZXRpYWxzAgAAAAVfd29uXwUAAAAKZ2FtZU51bWJlcgUAAAAHbmV4dEJldAUAAAAJYmV0UGxhY2VyBQAAABh3aW5uaW5nQW1vdW50T25lUm91bmRCZXQFAAAAB2JldFR5cGUJAQAAABtnYW1lRmllbGRPck9kZHNCZXRMaW5lTGFiZWwAAAABBQAAAAduZXh0QmV0BQAAACRnYW1lVG90YWxQcm9jY2VkRmllbGRPck9kZHNCZXRzTGFiZWwJAAACAAAAAQIAAAAlVGhlcmUgaXMgbm8gcmVzdWx0IGZvciB0aGlzIHJvdW5kIHlldAkAAAIAAAABAgAAAChHYW1lIGRvZXMgbm90IGV4aXN0IG9yIGhhcyBhbHJlYWR5IGVuZGVkCQAAAgAAAAECAAAABUVycm9yCQAAAgAAAAECAAAAMkdhbWUgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkLCBuZXh0IGJldHMgbm90IGZvdW5kCQAAAgAAAAECAAAAMkdhbWUgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkLCBuZXh0IGJldHMgbm90IGZvdW5kAAAAAWkBAAAACGluaXRHYW1lAAAAAAMJAQAAABNhdXRob3JpemVQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAEmluaXRHYW1lX0ZPUkJJRERFTgQAAAAHJG1hdGNoMAkBAAAADmdldEdhbWVDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAdjb3VudGVyBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAEUlOSVRfQUxSRUFEWV9ET05FCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJnYW1lVG90YWxCZXRzTGFiZWwAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAGWdhbWVUb3RhbFByb2NjZWRCZXRzTGFiZWwAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAF2dhbWVUb3RhbEZpZWxkQmV0c0xhYmVsAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACRnYW1lVG90YWxQcm9jY2VkRmllbGRPck9kZHNCZXRzTGFiZWwAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAAAlzdGFydEdhbWUAAAABAAAACnJhbmRvbUhhc2gDCQEAAAATYXV0aG9yaXplUGVybWlzc2lvbgAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAABNzdGFydEdhbWVfRk9SQklEREVOBAAAAAckbWF0Y2gwCQEAAAAOZ2V0R2FtZUNvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABm51bWJlcgUAAAAHJG1hdGNoMAMJAAAAAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAAABAAAAAluZXdOdW1iZXIJAABkAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsBQAAAAluZXdOdW1iZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEFAAAACW5ld051bWJlcgUAAAAJR0FNRVNUQVJUCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAUZ2FtZVN0YXJ0SGVpZ2h0TGFiZWwAAAABBQAAAAluZXdOdW1iZXIIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASZ2FtZUVuZEhlaWdodExhYmVsAAAAAQUAAAAJbmV3TnVtYmVyCQAAZAAAAAIIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0BQAAABZCTE9DS1RPUFJPQ0VTU0ZPUlRIUk9XCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAWZ2FtZVJvbGxzQ291bnRCZXRMYWJlbAAAAAEFAAAACW5ld051bWJlcgAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2FtZVN1bVNoYUxhYmVsAAAAAQUAAAAJbmV3TnVtYmVyCQACWAAAAAEJ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AAAAC3JzYVNpZ1ZhbGlkCQAAAgAAAAECAAAAEElOVkFMSURfUlNBX1NJR04EAAAACnJhbmROdW1iZXIJAABqAAAAAgkABLEAAAABBQAAAApyYW5kb21IYXNoAAAAAAAAAAALBAAAAAZudW1iZXIJAAGRAAAAAgUAAAAKZGljZU51bWJlcgUAAAAKcmFuZE51bWJlcgQAAAAHJG1hdGNoMwkBAAAAEWdldEdhbWVSb2xsc0NvdW50AAAAAQUAAAAKZ2FtZU51bWJlcgMJAAABAAAAAgUAAAAHJG1hdGNoMwIAAAADSW50BAAAAA9yb2xsQ291bnROdW1iZXIFAAAAByRtYXRjaDMEAAAAEm5ld1JvbGxDb3VudE51bWJlcgkAAGQAAAACBQAAAA9yb2xsQ291bnROdW1iZXIAAAAAAAAAAAEDCQAAAAAAAAIFAAAABXN0YXRlBQAAAAlHQU1FU1RBUlQDAwMDAwkAAAAAAAACBQAAAAZudW1iZXIAAAAAAAAAAAcGCQAAAAAAAAIFAAAABm51bWJlcgAAAAAAAAAACwYJAAAAAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAACBgkAAAAAAAACBQAAAAZudW1iZXIAAAAAAAAAAAMGCQAAAAAAAAIFAAAABm51bWJlcgAAAAAAAAAADAkBAAAAG3N0b3JlR2FtZVByb2dyZXNzUG9pbnRTdGF0ZQAAAAcJAQAAABdnYW1lRmlyc3RQb2ludERpY2VMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIFAAAACmdhbWVOdW1iZXIFAAAABm51bWJlcgUAAAASbmV3Um9sbENvdW50TnVtYmVyBQAAAA1jdXJyZW50SGVpZ2h0BQAAAApyYW5kb21IYXNoBQAAAAxHQU1FRklOSVNIRUQJAQAAABtzdG9yZUdhbWVQcm9ncmVzc1BvaW50U3RhdGUAAAAHCQEAAAAXZ2FtZUZpcnN0UG9pbnREaWNlTGFiZWwAAAABBQAAAApnYW1lTnVtYmVyBQAAAApnYW1lTnVtYmVyBQAAAAZudW1iZXIFAAAAEm5ld1JvbGxDb3VudE51bWJlcgUAAAANY3VycmVudEhlaWdodAUAAAAKcmFuZG9tSGFzaAUAAAAOR0FNRUlOUFJPR1JFU1MEAAAADGN1cnJlbnRQb2ludAkBAAAABXZhbHVlAAAAAQkBAAAAE2dldEN1cnJlbnRQb2ludERpY2UAAAABBQAAAApnYW1lTnVtYmVyBAAAAApmaXJzdFBvaW50CQEAAAAFdmFsdWUAAAABCQEAAAARZ2V0Rmlyc3RQb2ludERpY2UAAAABBQAAAApnYW1lTnVtYmVyAwkAAAAAAAACBQAAAAxjdXJyZW50UG9pbnQAAAAAAAAAAAADAwkAAAAAAAACBQAAAAZudW1iZXIAAAAAAAAAAAcGCQAAAAAAAAIFAAAACmZpcnN0UG9pbnQFAAAABm51bWJlcgkBAAAAG3N0b3JlR2FtZVByb2dyZXNzUG9pbnRTdGF0ZQAAAAcJAQAAABlnYW1lQ3VycmVudFBvaW50RGljZUxhYmVsAAAAAQUAAAAKZ2FtZU51bWJlcgUAAAAKZ2FtZU51bWJlcgUAAAAGbnVtYmVyBQAAABJuZXdSb2xsQ291bnROdW1iZXIFAAAADWN1cnJlbnRIZWlnaHQFAAAACnJhbmRvbUhhc2gFAAAADEdBTUVGSU5JU0hFRAkBAAAAG3N0b3JlR2FtZVByb2dyZXNzUG9pbnRTdGF0ZQAAAAcJAQAAABlnYW1lQ3VycmVudFBvaW50RGljZUxhYmVsAAAAAQUAAAAKZ2FtZU51bWJlcgUAAAAKZ2FtZU51bWJlcgUAAAAGbnVtYmVyBQAAABJuZXdSb2xsQ291bnROdW1iZXIFAAAADWN1cnJlbnRIZWlnaHQFAAAACnJhbmRvbUhhc2gFAAAADkdBTUVJTlBST0dSRVNTAwMJAAAAAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAAHBgkAAAAAAAACBQAAAApmaXJzdFBvaW50BQAAAAZudW1iZXIJAQAAABtzdG9yZUdhbWVQcm9ncmVzc1BvaW50U3RhdGUAAAAHCQEAAAAZZ2FtZUN1cnJlbnRQb2ludERpY2VMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIFAAAACmdhbWVOdW1iZXIFAAAABm51bWJlcgUAAAASbmV3Um9sbENvdW50TnVtYmVyBQAAAA1jdXJyZW50SGVpZ2h0BQAAAApyYW5kb21IYXNoBQAAAAxHQU1FRklOSVNIRUQJAQAAABtzdG9yZUdhbWVQcm9ncmVzc1BvaW50U3RhdGUAAAAHCQEAAAAZZ2FtZUN1cnJlbnRQb2ludERpY2VMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIFAAAACmdhbWVOdW1iZXIFAAAABm51bWJlcgUAAAASbmV3Um9sbENvdW50TnVtYmVyBQAAAA1jdXJyZW50SGVpZ2h0BQAAAApyYW5kb21IYXNoBQAAAA5HQU1FSU5QUk9HUkVTUwkAAAIAAAABAgAAABlObyBkaWNlcyBoYXZlIGJlZW4gdGhyb3duCQAAAgAAAAECAAAAGUxhc3QgYmxvY2sgZG9lc24ndCBleGlzdC4JAAACAAAAAQIAAAARU0hBIGRvZXNuJ3QgZXhpc3QJAAACAAAAAQIAAAA3VGhyb3cgZGljZSBub3QgYWxsb3cgc3RpbGwgd2FpdGluZyBmb3IgYmxvY2sgdG8gcHJvY2VzcwkAAAIAAAABAgAAAClHYW1lIGRvZXMgbm90IGV4aXN0IG9yIGhhcyBhbHJlYWR5IGVuZGVkLgAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleangzFs=", "height": 1554265, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3xyfGpiECe248rgrw1jv4cPiFii3BgCvLjVfUDdJHtTt Next: F2kS4LccRVAChi2rK44KWyBkn5tK6ML2TWm8Xej7yimR Diff:
OldNewDifferences
193193 func as (at,au,av) = if (if ((au == 4))
194194 then true
195195 else (au == 10))
196- then {
197- let aw = (at * 7)
198- aw
199- }
196+ then (at * 7)
200197 else if (if ((au == 5))
201198 then true
202199 else (au == 8))
203- then {
204- let aw = (at * 9)
205- aw
206- }
200+ then (at * 9)
207201 else if (if ((au == 3))
208202 then true
209203 else (au == 11))
210- then {
211- let aw = (at * 15)
212- aw
213- }
204+ then (at * 15)
214205 else if (if ((au == 2))
215206 then true
216207 else (au == 12))
217- then {
218- let aw = (at * 30)
219- aw
220- }
208+ then (at * 30)
221209 else if (if ((au == 10))
222210 then true
223211 else (au == 4))
224- then {
225- let aw = (at * 30)
226- aw
227- }
212+ then (at * 30)
228213 else if ((au == 7))
229- then {
230- let aw = (at * 4)
231- aw
232- }
214+ then (at * 4)
233215 else if (if ((au == 100))
234216 then if (if ((av == 3))
235217 then true
237219 then true
238220 else (av == 2)
239221 else false)
240- then {
241- let aw = (at * 7)
242- aw
243- }
222+ then (at * 7)
244223 else 0
245224
246225
247-func ax (at,av) = if ((av == 12))
248- then {
249- let aw = (at * 4)
250- aw
251- }
226+func aw (at,av) = if ((av == 12))
227+ then (at * 4)
252228 else if ((av == 2))
253- then {
254- let aw = (at * 3)
255- aw
256- }
229+ then (at * 3)
257230 else if (if (if (if ((av == 5))
258231 then true
259232 else (av == 6))
262235 then true
263236 else (av == 8))
264237 then 0
265- else {
266- let aw = (at * 2)
267- aw
268- }
238+ else (at * 2)
269239
270240
271-func ay (z,at,az,aA,au) = {
241+func ax (z,at,ay,az,au) = {
272242 let an = T()
273243 if ($isInstanceOf(an, "Int"))
274244 then {
275- let aB = an
276- let aC = ac(z)
277- if ($isInstanceOf(aC, "Int"))
245+ let aA = an
246+ let aB = ac(z)
247+ if ($isInstanceOf(aB, "Int"))
278248 then {
279- let aD = aC
280- let aE = (aB + 1)
281- let aF = (aD + 1)
282- if (if ((az == k))
249+ let aC = aB
250+ let aD = (aA + 1)
251+ let aE = (aC + 1)
252+ if (if ((ay == k))
283253 then true
284- else (az == l))
285- then [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(z)) + "_") + toString(aF))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
286- else [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
254+ else (ay == l))
255+ then [IntegerEntry(ah(aD), z), StringEntry(F(aD), ((((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(z)) + "_") + toString(aE))), IntegerEntry(w, aD), IntegerEntry(ab(aD), aE)]
256+ else [IntegerEntry(ah(aD), z), StringEntry(F(aD), ((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(au))), IntegerEntry(w, aD), IntegerEntry(ab(aD), aE)]
287257 }
288258 else throw("Game doesn't exist")
289259 }
291261 }
292262
293263
294-func aG (aH,aI,aJ,z,at,az,aA,au) = [IntegerEntry(ah(aH), z), StringEntry(F(aH), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), StringEntry(F(aI), ((((((aA + "_") + at) + "_") + az) + "_inactive_rolled_") + toString(au))), IntegerEntry(x, aI), IntegerEntry(w, aH), IntegerEntry(ab(aH), aJ)]
264+func aF (aG,aH,aI,z,at,ay,az,au) = [IntegerEntry(ah(aG), z), StringEntry(F(aG), ((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(au))), StringEntry(F(aH), ((((((az + "_") + at) + "_") + ay) + "_inactive_rolled_") + toString(au))), IntegerEntry(x, aH), IntegerEntry(w, aG), IntegerEntry(ab(aG), aI)]
295265
296266
297-func aK (aL,at,aM,aI,aJ,ag,N,aN,au) = if ((aL == g))
298- then aG((aM + 1), (aI + 1), 1, (ag + 1), toString(at), N, aN, au)
299- else aG((aM + 1), (aI + 1), (aJ + 1), ag, toString(at), N, aN, au)
267+func aJ (aK,at,aL,aH,aI,ag,N,aM,au) = if ((aK == g))
268+ then aF((aL + 1), (aH + 1), 1, (ag + 1), toString(at), N, aM, au)
269+ else aF((aL + 1), (aH + 1), (aI + 1), ag, toString(at), N, aM, au)
300270
301271
302-func aO (aL,aP,av,at,aM,aI,aJ,ag,N,aN,au) = {
303- let aQ = value(parseInt(split(aP, "_")[5]))
304- let aR = value(parseInt(split(aP, "_")[6]))
305- let aS = value(ad(aQ, aR))
306- if ((av == 7))
307- then if ((aP == k))
308- then throw("Only Field Type of Bet can be proceed")
309- else throw("Only Field Type of Bet can be proceed")
310- else if ((av == aS))
311- then throw("Only Field Type of Bet can be proceed")
312- else if ((aL == g))
313- then aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
314- else aK(aL, at, (aM + 1), (aI + 1), (aJ + 1), ag, N, aN, au)
315- }
316-
317-
318-func aT (z,at,az,aA) = {
272+func aN (z,at,ay,az) = {
319273 let an = R()
320274 if ($isInstanceOf(an, "Int"))
321275 then {
322- let aU = an
323- let aV = (aU + 1)
324-[IntegerEntry(af(aV), z), StringEntry(D(aV), (((((aA + "_") + at) + "_") + az) + "_active_pending")), IntegerEntry(u, aV)]
276+ let aO = an
277+ let aP = (aO + 1)
278+[IntegerEntry(af(aP), z), StringEntry(D(aP), (((((az + "_") + at) + "_") + ay) + "_active_pending")), IntegerEntry(u, aP)]
325279 }
326280 else throw("Game has not bee initialized")
327281 }
328282
329283
330-func aW (aX,ag,aY,aZ,ba) = {
331- let bb = (aX + "_lost")
332-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
284+func aQ (aR,ag,aS,aT,aU) = {
285+ let aV = (aR + "_lost")
286+[StringEntry(aT, aV), IntegerEntry(aU, aS)]
333287 }
334288
335289
336-func bc (aX,ag,aY,aZ,ba,bd) = {
337- let bb = ((aX + "_lost_") + toString(bd))
338-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
290+func aW (aR,ag,aS,aT,aU,aX) = {
291+ let aV = ((aR + "_lost_") + toString(aX))
292+[StringEntry(aT, aV), IntegerEntry(aU, aS)]
339293 }
340294
341295
342-func be (aX,ag,bf,aN,aw,N,aZ,ba) = {
343- let bb = (aX + "_won_")
344-[StringEntry(M(ag, bf, N), ((aN + "_amount_") + toString(aw))), StringEntry(aZ, aX), IntegerEntry(ba, bf), ScriptTransfer(value(addressFromString(aN)), aw, unit)]
296+func aY (aR,ag,aZ,aM,ba,N,aT,aU) = {
297+ let aV = (aR + "_won_")
298+[StringEntry(M(ag, aZ, N), ((aM + "_amount_") + toString(ba))), StringEntry(aT, aR), IntegerEntry(aU, aZ), ScriptTransfer(value(addressFromString(aM)), ba, unit)]
345299 }
346300
347301
348-func bg (bh,ag,aU,aD,bi,bj,bk) = [IntegerEntry(O(ag), bk), IntegerEntry(bh, aU), IntegerEntry(Y(ag), aD), IntegerEntry(A(ag), (bi + h)), StringEntry(Q(ag), toBase64String(bj)), IntegerEntry(Z(ag, aD), aU)]
302+func bb (bc,ag,aO,aC,bd,be,bf) = [IntegerEntry(O(ag), bf), IntegerEntry(bc, aO), IntegerEntry(Y(ag), aC), IntegerEntry(A(ag), (bd + h)), StringEntry(Q(ag), toBase64String(be)), IntegerEntry(Z(ag, aC), aO)]
349303
350304
351-@Callable(bl)
352-func processNextBet () = if (I(bl.callerPublicKey))
305+func bg (bh,bi,bj) = {
306+ let N = split(bj, "_")[2]
307+ let aM = split(bj, "_")[0]
308+ let at = value(parseInt(split(bj, "_")[1]))
309+ if ((N == i))
310+ then if ((bi == 0))
311+ then if (if ((bh == 7))
312+ then true
313+ else (bh == 11))
314+ then (at * 2)
315+ else 0
316+ else if ((bh == bi))
317+ then (at * 2)
318+ else if ((bi == 7))
319+ then 0
320+ else 0
321+ else if ((N == j))
322+ then if ((bi == 0))
323+ then if (if ((bh == 2))
324+ then true
325+ else (bh == 3))
326+ then (at * 2)
327+ else if (if ((bi == 7))
328+ then true
329+ else (bi == 11))
330+ then 0
331+ else 0
332+ else if (if ((bi == 2))
333+ then true
334+ else (bi == 3))
335+ then (at * 2)
336+ else if ((bi == 7))
337+ then 0
338+ else 0
339+ else 0
340+ }
341+
342+
343+func bk (bj,av,bl) = {
344+ let N = split(bj, "_")[2]
345+ let au = value(parseInt(split(bj, "_")[5]))
346+ let at = value(parseInt(split(bj, "_")[1]))
347+ if ((N == m))
348+ then if ((av == 12))
349+ then (at * 4)
350+ else if ((av == 2))
351+ then (at * 3)
352+ else if (if (if (if ((av == 5))
353+ then true
354+ else (av == 6))
355+ then true
356+ else (av == 7))
357+ then true
358+ else (av == 8))
359+ then 0
360+ else (at * 2)
361+ else if ((N == n))
362+ then if (if ((au == 4))
363+ then true
364+ else (au == 10))
365+ then (at * 7)
366+ else if (if ((au == 5))
367+ then true
368+ else (au == 8))
369+ then (at * 9)
370+ else if (if ((au == 3))
371+ then true
372+ else (au == 11))
373+ then (at * 15)
374+ else if (if ((au == 2))
375+ then true
376+ else (au == 12))
377+ then (at * 30)
378+ else if (if ((au == 10))
379+ then true
380+ else (au == 4))
381+ then (at * 30)
382+ else if ((au == 7))
383+ then (at * 4)
384+ else if (if ((au == 100))
385+ then if (if ((av == 3))
386+ then true
387+ else (av == 12))
388+ then true
389+ else (av == 2)
390+ else false)
391+ then (at * 7)
392+ else 0
393+ else if ((N == o))
394+ then if (if ((av == 6))
395+ then true
396+ else (av == 8))
397+ then (2 * at)
398+ else 0
399+ else if (if ((N == r))
400+ then true
401+ else (N == q))
402+ then if ((av == 7))
403+ then (at * 2)
404+ else if ((av == au))
405+ then 0
406+ else -1
407+ else if (if ((N == p))
408+ then true
409+ else (N == s))
410+ then if ((av == 7))
411+ then 0
412+ else if ((av == au))
413+ then (at * 2)
414+ else -1
415+ else if ((N == k))
416+ then {
417+ let bm = value(parseInt(split(bj, "_")[6]))
418+ if ((bl == 2))
419+ then if (if ((av == 7))
420+ then true
421+ else (av == 11))
422+ then (at * 2)
423+ else if (if (if ((av == 2))
424+ then true
425+ else (av == 12))
426+ then true
427+ else (av == 3))
428+ then 0
429+ else if ((av == bm))
430+ then (at * 2)
431+ else -1
432+ else if ((bl > 2))
433+ then if ((av == 7))
434+ then 0
435+ else if ((av == bm))
436+ then (at * 2)
437+ else -1
438+ else throw("Not Allow in The Beginning")
439+ }
440+ else if ((N == l))
441+ then {
442+ let bm = value(parseInt(split(bj, "_")[6]))
443+ if ((bl == 2))
444+ then if (if ((av == 7))
445+ then true
446+ else (av == 11))
447+ then 0
448+ else if (if (if ((av == 2))
449+ then true
450+ else (av == 12))
451+ then true
452+ else (av == 3))
453+ then (at * 2)
454+ else if ((av == bm))
455+ then (at * 2)
456+ else -1
457+ else if ((bl > 1))
458+ then if ((av == 7))
459+ then (at * 2)
460+ else if ((av == bm))
461+ then 0
462+ else -1
463+ else throw("Not Allow in The Beginning")
464+ }
465+ else 0
466+ }
467+
468+
469+@Callable(bn)
470+func processNextBet () = if (I(bn.callerPublicKey))
353471 then throw("processFieldBet_FORBIDDEN")
354472 else {
355473 let an = R()
356474 if ($isInstanceOf(an, "Int"))
357475 then {
358- let aH = an
359- let aC = S()
360- if ($isInstanceOf(aC, "Int"))
476+ let aG = an
477+ let aB = S()
478+ if ($isInstanceOf(aB, "Int"))
361479 then {
362- let bm = aC
363- let bn = (bm + 1)
364- if ((bn > aH))
480+ let bo = aB
481+ let bp = (bo + 1)
482+ if ((bp > aG))
365483 then throw("Next bet has not been places.")
366484 else {
367- let bo = ai(bn)
368- if ($isInstanceOf(bo, "Int"))
485+ let bq = ai(bp)
486+ if ($isInstanceOf(bq, "Int"))
369487 then {
370- let ag = bo
371- let bp = V(ag)
372- if ($isInstanceOf(bp, "Int"))
488+ let ag = bq
489+ let br = V(ag)
490+ if ($isInstanceOf(br, "Int"))
373491 then {
374- let aL = bp
375- if (if ((aL == e))
492+ let aK = br
493+ if (if ((aK == e))
376494 then true
377- else (aL == f))
495+ else (aK == f))
378496 then throw("Game has to finished in order to process NON-FIELD bets")
379497 else {
380- let aP = value(G(bn))
381- let N = split(aP, "_")[2]
382- let aN = split(aP, "_")[0]
383- let at = value(parseInt(split(aP, "_")[1]))
384- let bq = value(addressFromString(aN))
385- let br = am(bn)
386- let bs = al(bn)
387- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
388- if ((N == i))
389- then if ((br == 0))
390- then if (if ((bs == 7))
391- then true
392- else (bs == 11))
393- then {
394- let aw = (at * 2)
395- be(aX, ag, bn, aN, aw, N, D(bn), v)
396- }
397- else aW(aX, ag, bn, D(bn), v)
398- else if ((bs == br))
399- then {
400- let aw = (at * 2)
401- be(aX, ag, bn, aN, aw, N, D(bn), v)
402- }
403- else if ((br == 7))
404- then aW(aX, ag, bn, D(bn), v)
405- else aW(aX, ag, bn, D(bn), v)
406- else if ((N == j))
407- then if ((br == 0))
408- then if (if ((bs == 2))
409- then true
410- else (bs == 3))
411- then {
412- let aw = (at * 2)
413- be(aX, ag, bn, aN, aw, N, D(bn), v)
414- }
415- else if (if ((br == 7))
416- then true
417- else (br == 11))
418- then aW(aX, ag, bn, D(bn), v)
419- else aW(aX, ag, bn, D(bn), v)
420- else if (if ((br == 2))
421- then true
422- else (br == 3))
423- then {
424- let aw = (at * 2)
425- be(aX, ag, bn, aN, aw, N, D(bn), v)
426- }
427- else if ((br == 7))
428- then aW(aX, ag, bn, D(bn), v)
429- else aW(aX, ag, bn, D(bn), v)
430- else throw((((((("Only " + i) + ", ") + j) + " allowed in processNextBet()") + " currentBetType ") + N))
498+ let bj = value(G(bp))
499+ let bs = value(addressFromString(split(bj, "_")[0]))
500+ let bt = am(bp)
501+ let bh = value(al(bp))
502+ let aR = (((((split(bj, "_")[0] + "_") + split(bj, "_")[1]) + "_") + split(bj, "_")[2]) + "_inactive_")
503+ let bu = bg(bh, bt, bj)
504+ if ((bu == 0))
505+ then aQ(aR, ag, bp, D(bp), v)
506+ else if ((bu > 0))
507+ then aY(aR, ag, bp, split(bj, "_")[0], bu, split(bj, "_")[2], D(bp), v)
508+ else throw((((((("Only " + i) + ", ") + j) + " allowed in processNextBet()") + " currentBetType ") + split(bj, "_")[2]))
431509 }
432510 }
433511 else throw("Game does not exist or has already ended.")
442520
443521
444522
445-@Callable(bl)
446-func processOneRoundBet () = if (I(bl.callerPublicKey))
523+@Callable(bn)
524+func processOneRoundBet () = if (I(bn.callerPublicKey))
447525 then throw("processFieldBet_FORBIDDEN")
448526 else {
449527 let an = T()
450528 if ($isInstanceOf(an, "Int"))
451529 then {
452- let aM = an
453- let aC = U()
454- if ($isInstanceOf(aC, "Int"))
530+ let aL = an
531+ let aB = U()
532+ if ($isInstanceOf(aB, "Int"))
455533 then {
456- let aI = aC
457- let bn = (aI + 1)
458- if ((bn > aM))
534+ let aH = aB
535+ let bp = (aH + 1)
536+ if ((bp > aL))
459537 then throw("Next Field Bet has not been places.")
460538 else {
461- let bo = aj(bn)
462- if ($isInstanceOf(bo, "Int"))
539+ let bq = aj(bp)
540+ if ($isInstanceOf(bq, "Int"))
463541 then {
464- let ag = bo
465- let bp = V(ag)
466- if ($isInstanceOf(bp, "Int"))
542+ let ag = bq
543+ let br = V(ag)
544+ if ($isInstanceOf(br, "Int"))
467545 then {
468- let aL = bp
469- if ((aL == e))
546+ let aK = br
547+ if ((aK == e))
470548 then throw("Game has not started yet")
471549 else {
472- let aP = value(H(bn))
473- let N = split(aP, "_")[2]
474- let aN = split(aP, "_")[0]
475- let at = value(parseInt(split(aP, "_")[1]))
476- let au = value(parseInt(split(aP, "_")[5]))
477- let bq = value(addressFromString(aN))
478- let aJ = value(ae(bn))
479- let bt = ad(ag, aJ)
480- if ($isInstanceOf(bt, "Int"))
550+ let bj = value(H(bp))
551+ let N = split(bj, "_")[2]
552+ let aM = split(bj, "_")[0]
553+ let at = value(parseInt(split(bj, "_")[1]))
554+ let au = value(parseInt(split(bj, "_")[5]))
555+ let bs = value(addressFromString(aM))
556+ let aI = value(ae(bp))
557+ let aR = (((((aM + "_") + split(bj, "_")[1]) + "_") + split(bj, "_")[2]) + "_inactive_")
558+ let bv = ad(ag, aI)
559+ if ($isInstanceOf(bv, "Int"))
481560 then {
482- let av = bt
483- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
484- if ((N == m))
485- then {
486- let aw = ax(at, av)
487- if ((aw == 0))
488- then aW(aX, ag, bn, F(ag), x)
489- else be(aX, ag, bn, aN, aw, N, F(bn), x)
490- }
491- else if ((N == n))
492- then {
493- let aw = as(at, au, av)
494- if ((aw == 0))
495- then be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
496- else bc(aX, ag, bn, F(bn), x, au)
497- }
498- else if ((N == o))
499- then if (if ((av == 6))
500- then true
501- else (av == 8))
502- then {
503- let aw = (2 * at)
504- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
505- }
506- else bc(aX, ag, bn, F(bn), x, au)
507- else if (if ((N == p))
508- then true
509- else (N == s))
510- then if ((av == 7))
511- then bc(aX, ag, bn, F(bn), x, au)
512- else if ((av == au))
513- then {
514- let aw = (at * 2)
515- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
516- }
517- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
518- else if (if ((N == r))
519- then true
520- else (N == q))
521- then if ((av == 7))
522- then {
523- let aw = (at * 2)
524- be(aX, ag, bn, aN, aw, N, F(bn), x)
525- }
526- else if ((av == au))
527- then bc(aX, ag, bn, F(bn), x, au)
528- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
529- else if (if ((N == k))
530- then true
531- else (N == l))
532- then aO(aL, aP, av, at, aM, aI, aJ, ag, N, aN, au)
533- else throw("Only Field Type of Bet can be proceed")
561+ let av = bv
562+ let bw = value(parseInt(Y(ag)))
563+ let bx = bk(bj, av, bw)
564+ if ((bx == -1))
565+ then aJ(aK, at, aL, aH, aI, ag, N, aM, au)
566+ else if ((bx == 0))
567+ then aW(aR, ag, bp, F(ag), x, au)
568+ else aY((aR + "_won_"), ag, bp, aM, bx, N, F(bp), x)
534569 }
535570 else throw("There is no result for this round yet")
536571 }
547582
548583
549584
550-@Callable(bl)
551-func initGame () = if (I(bl.callerPublicKey))
585+@Callable(bn)
586+func initGame () = if (I(bn.callerPublicKey))
552587 then throw("initGame_FORBIDDEN")
553588 else {
554589 let an = ak()
555590 if ($isInstanceOf(an, "Int"))
556591 then {
557- let bu = an
592+ let by = an
558593 throw("INIT_ALREADY_DONE")
559594 }
560595 else [IntegerEntry(t, 0), IntegerEntry(u, 0), IntegerEntry(v, 0), IntegerEntry(w, 0), IntegerEntry(x, 0)]
562597
563598
564599
565-@Callable(bl)
566-func startGame (bj) = if (I(bl.callerPublicKey))
600+@Callable(bn)
601+func startGame (be) = if (I(bn.callerPublicKey))
567602 then throw("startGame_FORBIDDEN")
568603 else {
569604 let an = ak()
570605 if ($isInstanceOf(an, "Int"))
571606 then {
572- let aU = an
573- if ((aU == 0))
607+ let aO = an
608+ if ((aO == 0))
574609 then {
575- let bv = (aU + 1)
576-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
610+ let bz = (aO + 1)
611+[IntegerEntry(t, bz), IntegerEntry(O(bz), e), IntegerEntry(y(bz), lastBlock.height), IntegerEntry(A(bz), (lastBlock.height + h)), IntegerEntry(Y(bz), 0), StringEntry(P(bz), toBase58String(sha256(fromBase64String(be))))]
577612 }
578613 else {
579- let aC = V(aU)
580- if ($isInstanceOf(aC, "Int"))
614+ let aB = V(aO)
615+ if ($isInstanceOf(aB, "Int"))
581616 then {
582- let bk = aC
583- if (if ((bk == f))
617+ let bf = aB
618+ if (if ((bf == f))
584619 then true
585- else (bk == e))
620+ else (bf == e))
586621 then throw("The previous game is still in progress")
587622 else {
588- let bv = (aU + 1)
589-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
623+ let bz = (aO + 1)
624+[IntegerEntry(t, bz), IntegerEntry(O(bz), e), IntegerEntry(y(bz), lastBlock.height), IntegerEntry(A(bz), (lastBlock.height + h)), IntegerEntry(Y(bz), 0), StringEntry(P(bz), toBase58String(sha256(fromBase64String(be))))]
590625 }
591626 }
592627 else throw("Error")
597632
598633
599634
600-@Callable(bl)
601-func placeBet (az) = if (ap(az))
602- then if ((size(bl.payments) == 0))
635+@Callable(bn)
636+func placeBet (ay) = if (ap(ay))
637+ then if ((size(bn.payments) == 0))
603638 then throw("Payment not attached")
604639 else {
605640 let an = ak()
606641 if ($isInstanceOf(an, "Int"))
607642 then {
608- let bw = an
609- let bx = bl.payments[0]
610- let aC = V(bw)
611- if ($isInstanceOf(aC, "Int"))
643+ let bA = an
644+ let bB = bn.payments[0]
645+ let aB = V(bA)
646+ if ($isInstanceOf(aB, "Int"))
612647 then {
613- let bk = aC
614- if ((bk == e))
615- then if (if ((az == i))
648+ let bf = aB
649+ if ((bf == e))
650+ then if (if ((ay == i))
616651 then true
617- else (az == j))
618- then aT(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes))
652+ else (ay == j))
653+ then aN(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes))
619654 else throw((((((("Only " + i) + ", ") + j) + " and ") + m) + " are allowed in the Beginning of Game"))
620- else if ((bk == f))
655+ else if ((bf == f))
621656 then throw((((((("Only " + k) + ", ") + l) + " and ") + m) + " ARE ALLOWED at Start."))
622- else if ((bk == g))
657+ else if ((bf == g))
623658 then throw("Game already ended.")
624659 else throw("Unknown Game State.")
625660 }
631666
632667
633668
634-@Callable(bl)
635-func placeRoundBet (az,bd) = if (ar(az))
636- then if ((size(bl.payments) == 0))
669+@Callable(bn)
670+func placeRoundBet (ay,aX) = if (ar(ay))
671+ then if ((size(bn.payments) == 0))
637672 then throw("Payment not attached")
638673 else {
639674 let an = ak()
640675 if ($isInstanceOf(an, "Int"))
641676 then {
642- let bw = an
643- let bx = bl.payments[0]
644- let aC = V(bw)
645- if ($isInstanceOf(aC, "Int"))
677+ let bA = an
678+ let bB = bn.payments[0]
679+ let aB = V(bA)
680+ if ($isInstanceOf(aB, "Int"))
646681 then {
647- let bk = aC
648- if ((bk == g))
682+ let bf = aB
683+ if ((bf == g))
649684 then throw("Game already ended.")
650- else if (if ((az == k))
685+ else if (if ((ay == k))
651686 then true
652- else (az == l))
653- then if ((bk == e))
687+ else (ay == l))
688+ then if ((bf == e))
654689 then throw("Cannot place COME OR DONTCOME BET IF GAME HAS NOT STARTED")
655- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), 0)
656- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), bd)
690+ else ax(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes), 0)
691+ else ax(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes), aX)
657692 }
658693 else throw("Game does not exist or has already ended.")
659694 }
663698
664699
665700
666-@Callable(bl)
667-func throwDices (by,ag) = if (I(bl.callerPublicKey))
701+@Callable(bn)
702+func throwDices (bC,ag) = if (I(bn.callerPublicKey))
668703 then throw("throwDices_FORBIDDEN")
669704 else {
670705 let an = V(ag)
671706 if ($isInstanceOf(an, "Int"))
672707 then {
673- let bk = an
674- if ((bk == g))
708+ let bf = an
709+ if ((bf == g))
675710 then throw("Game is finished")
676711 else {
677- let bi = lastBlock.height
678- let bz = value(C(ag))
679- if ((bi >= bz))
712+ let bd = lastBlock.height
713+ let bD = value(C(ag))
714+ if ((bd >= bD))
680715 then {
681- let aC = W(ag)
682- if ($isInstanceOf(aC, "String"))
716+ let aB = W(ag)
717+ if ($isInstanceOf(aB, "String"))
683718 then {
684- let bA = aC
685- let bB = fromBase64String(by)
686- let bC = rsaVerify(SHA256, fromBase58String(bA), bB, d)
687- let bo = blockInfoByHeight((lastBlock.height - 1))
688- if ($isInstanceOf(bo, "BlockInfo"))
719+ let bE = aB
720+ let bF = fromBase64String(bC)
721+ let bG = rsaVerify(SHA256, fromBase58String(bE), bF, d)
722+ let bq = blockInfoByHeight((lastBlock.height - 1))
723+ if ($isInstanceOf(bq, "BlockInfo"))
689724 then {
690- let bD = bo
691- let bj = sha256((take(bB, 4) + take(bD.generationSignature, 8)))
692- if (!(bC))
725+ let bH = bq
726+ let be = sha256((take(bF, 4) + take(bH.generationSignature, 8)))
727+ if (!(bG))
693728 then throw("INVALID_RSA_SIGN")
694729 else {
695- let bE = (toInt(bj) % 11)
696- let aU = b[bE]
697- let bp = ac(ag)
698- if ($isInstanceOf(bp, "Int"))
730+ let bI = (toInt(be) % 11)
731+ let aO = b[bI]
732+ let br = ac(ag)
733+ if ($isInstanceOf(br, "Int"))
699734 then {
700- let bF = bp
701- let bG = (bF + 1)
702- if ((bk == e))
703- then if (if (if (if (if ((aU == 7))
735+ let bJ = br
736+ let bK = (bJ + 1)
737+ if ((bf == e))
738+ then if (if (if (if (if ((aO == 7))
704739 then true
705- else (aU == 11))
740+ else (aO == 11))
706741 then true
707- else (aU == 2))
742+ else (aO == 2))
708743 then true
709- else (aU == 3))
744+ else (aO == 3))
710745 then true
711- else (aU == 12))
712- then bg(L(ag), ag, aU, bG, bi, bj, g)
713- else bg(L(ag), ag, aU, bG, bi, bj, f)
746+ else (aO == 12))
747+ then bb(L(ag), ag, aO, bK, bd, be, g)
748+ else bb(L(ag), ag, aO, bK, bd, be, f)
714749 else {
715- let br = value(am(ag))
716- let bs = value(al(ag))
717- if ((br == 0))
718- then if (if ((aU == 7))
750+ let bt = value(am(ag))
751+ let bh = value(al(ag))
752+ if ((bt == 0))
753+ then if (if ((aO == 7))
719754 then true
720- else (bs == aU))
721- then bg(K(ag), ag, aU, bG, bi, bj, g)
722- else bg(K(ag), ag, aU, bG, bi, bj, f)
723- else if (if ((aU == 7))
755+ else (bh == aO))
756+ then bb(K(ag), ag, aO, bK, bd, be, g)
757+ else bb(K(ag), ag, aO, bK, bd, be, f)
758+ else if (if ((aO == 7))
724759 then true
725- else (bs == aU))
726- then bg(K(ag), ag, aU, bG, bi, bj, g)
727- else bg(K(ag), ag, aU, bG, bi, bj, f)
760+ else (bh == aO))
761+ then bb(K(ag), ag, aO, bK, bd, be, g)
762+ else bb(K(ag), ag, aO, bK, bd, be, f)
728763 }
729764 }
730765 else throw("No dices have been thrown")
741776 }
742777
743778
744-@Verifier(bH)
745-func bI () = {
746- let an = bH
747- sigVerify(bH.bodyBytes, bH.proofs[0], bH.senderPublicKey)
779+@Verifier(bL)
780+func bM () = {
781+ let an = bL
782+ sigVerify(bL.bodyBytes, bL.proofs[0], bL.senderPublicKey)
748783 }
749784
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = base58'AN4MpPP69eUoXBNDezAU1WiBE9X2oVfoN8T7XeyRxiKt'
55
66 let b = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
77
88 let c = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
99
1010 let d = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjnt2PdN1Pdj7rsXzbapgucn9e1XffUx1o7grAlw8C6NFuv1PPj7KnQ6RtN9xhniLF4xKlc7//TYXd1uHWmx9vu9hjciYX9UMRJnhlZO2q34mxPdcgLDKhJHDN726KI0wHpFQ5dHMyzoMLdWsahFc1Wx/XxroK2Kc1y2JBWN2akRlkxSDcluqbbUcWMyrwG6iWuVlhej5xfcuerg/psK35WGn7SLF29tWuR2x+24nM+BJUsuRG7yBZUhGrYzJk2gvpucRLea6AFRvow7RdyMYAwKFrr6mgQ0VcUw2T750e1oGanY0UdU3NPsKIgvU4Ft4uibMlMMBJvcrsEbDQHfDlwIDAQAB")
1111
1212 let e = 0
1313
1414 let f = 1
1515
1616 let g = 2
1717
1818 let h = 1
1919
2020 let i = "PASSLINEBET"
2121
2222 let j = "DONTPASSLINEBET"
2323
2424 let k = "COMEBET"
2525
2626 let l = "DONTCOMEBET"
2727
2828 let m = "FIELDBET"
2929
3030 let n = "ODDSBET"
3131
3232 let o = "BIG6OR8BET"
3333
3434 let p = "PLACEBETBUY"
3535
3636 let q = "PLACEBETLOSE"
3737
3838 let r = "PLACEBETLAY"
3939
4040 let s = "PLACEBETWIN"
4141
4242 let t = "G_GAMECOUNTER"
4343
4444 let u = "G_TOTALBETS"
4545
4646 let v = "G_PROCESSEDBETS"
4747
4848 let w = "G_TOTALFIELD_ODDS_BETS"
4949
5050 let x = "G_PROCESSEDFIEL_ODDS_BETS"
5151
5252 func y (z) = (("G_" + toString(z)) + "_STARTHEIGHT")
5353
5454
5555 func A (z) = (("G_" + toString(z)) + "_ENDHEIGHT")
5656
5757
5858 func B (z) = getInteger(this, y(z))
5959
6060
6161 func C (z) = getInteger(this, A(z))
6262
6363
6464 func D (E) = (("B_" + toString(E)) + "_BETDETAILS")
6565
6666
6767 func F (E) = (("B_" + toString(E)) + "_BETFIELODDSDDETAILS")
6868
6969
7070 func G (E) = getString(this, D(E))
7171
7272
7373 func H (E) = getString(this, F(E))
7474
7575
7676 func I (J) = (J != a)
7777
7878
7979 func K (z) = (("G_" + toString(z)) + "_LASTPOINT")
8080
8181
8282 func L (z) = (("G_" + toString(z)) + "_FIRSTPOINT")
8383
8484
8585 func M (z,E,N) = ((((((("W_" + "BET_TYPE_") + N) + "_") + toString(E)) + "_WINNING_BET_") + toString(z)) + "_GAME_NUMBER")
8686
8787
8888 func O (z) = (("G_" + toString(z)) + "_STATE")
8989
9090
9191 func P (z) = (("G_" + toString(z)) + "_SUMSHA")
9292
9393
9494 func Q (z) = (("G_" + toString(z)) + "_RANDOMHASH")
9595
9696
9797 func R () = getInteger(this, u)
9898
9999
100100 func S () = getInteger(this, v)
101101
102102
103103 func T () = getInteger(this, w)
104104
105105
106106 func U () = getInteger(this, x)
107107
108108
109109 func V (z) = getInteger(this, O(z))
110110
111111
112112 func W (z) = getString(this, P(z))
113113
114114
115115 func X (z) = getString(this, Q(z))
116116
117117
118118 func Y (z) = (("G_" + toString(z)) + "_ROLLSCOUNT")
119119
120120
121121 func Z (z,aa) = (((("G_" + toString(z)) + "_") + toString(aa)) + "_GAMENUMBER_ROLLDICE")
122122
123123
124124 func ab (E) = (("B_" + toString(E)) + "_FIELD_ODDS_BET_ROLLDICE")
125125
126126
127127 func ac (z) = getInteger(this, Y(z))
128128
129129
130130 func ad (z,aa) = getInteger(this, Z(z, aa))
131131
132132
133133 func ae (E) = getInteger(this, ab(E))
134134
135135
136136 func af (ag) = (("B_" + toString(ag)) + "_BET_GAMENUMBER")
137137
138138
139139 func ah (ag) = (("B_" + toString(ag)) + "_FIELD_ODDS_BET_GAMENUMBER")
140140
141141
142142 func ai (ag) = getInteger(this, af(ag))
143143
144144
145145 func aj (ag) = getInteger(this, ah(ag))
146146
147147
148148 func ak () = getInteger(this, t)
149149
150150
151151 func al (z) = getInteger(this, L(z))
152152
153153
154154 func am (z) = {
155155 let an = getInteger(this, K(z))
156156 if ($isInstanceOf(an, "Int"))
157157 then {
158158 let ao = an
159159 ao
160160 }
161161 else 0
162162 }
163163
164164
165165 func ap (aq) = if ((aq == i))
166166 then true
167167 else if ((aq == j))
168168 then true
169169 else false
170170
171171
172172 func ar (aq) = if ((aq == m))
173173 then true
174174 else if ((aq == n))
175175 then true
176176 else if ((aq == o))
177177 then true
178178 else if ((aq == p))
179179 then true
180180 else if ((aq == r))
181181 then true
182182 else if ((aq == k))
183183 then true
184184 else if ((aq == l))
185185 then true
186186 else if ((aq == q))
187187 then true
188188 else if ((aq == s))
189189 then true
190190 else false
191191
192192
193193 func as (at,au,av) = if (if ((au == 4))
194194 then true
195195 else (au == 10))
196- then {
197- let aw = (at * 7)
198- aw
199- }
196+ then (at * 7)
200197 else if (if ((au == 5))
201198 then true
202199 else (au == 8))
203- then {
204- let aw = (at * 9)
205- aw
206- }
200+ then (at * 9)
207201 else if (if ((au == 3))
208202 then true
209203 else (au == 11))
210- then {
211- let aw = (at * 15)
212- aw
213- }
204+ then (at * 15)
214205 else if (if ((au == 2))
215206 then true
216207 else (au == 12))
217- then {
218- let aw = (at * 30)
219- aw
220- }
208+ then (at * 30)
221209 else if (if ((au == 10))
222210 then true
223211 else (au == 4))
224- then {
225- let aw = (at * 30)
226- aw
227- }
212+ then (at * 30)
228213 else if ((au == 7))
229- then {
230- let aw = (at * 4)
231- aw
232- }
214+ then (at * 4)
233215 else if (if ((au == 100))
234216 then if (if ((av == 3))
235217 then true
236218 else (av == 12))
237219 then true
238220 else (av == 2)
239221 else false)
240- then {
241- let aw = (at * 7)
242- aw
243- }
222+ then (at * 7)
244223 else 0
245224
246225
247-func ax (at,av) = if ((av == 12))
248- then {
249- let aw = (at * 4)
250- aw
251- }
226+func aw (at,av) = if ((av == 12))
227+ then (at * 4)
252228 else if ((av == 2))
253- then {
254- let aw = (at * 3)
255- aw
256- }
229+ then (at * 3)
257230 else if (if (if (if ((av == 5))
258231 then true
259232 else (av == 6))
260233 then true
261234 else (av == 7))
262235 then true
263236 else (av == 8))
264237 then 0
265- else {
266- let aw = (at * 2)
267- aw
268- }
238+ else (at * 2)
269239
270240
271-func ay (z,at,az,aA,au) = {
241+func ax (z,at,ay,az,au) = {
272242 let an = T()
273243 if ($isInstanceOf(an, "Int"))
274244 then {
275- let aB = an
276- let aC = ac(z)
277- if ($isInstanceOf(aC, "Int"))
245+ let aA = an
246+ let aB = ac(z)
247+ if ($isInstanceOf(aB, "Int"))
278248 then {
279- let aD = aC
280- let aE = (aB + 1)
281- let aF = (aD + 1)
282- if (if ((az == k))
249+ let aC = aB
250+ let aD = (aA + 1)
251+ let aE = (aC + 1)
252+ if (if ((ay == k))
283253 then true
284- else (az == l))
285- then [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(z)) + "_") + toString(aF))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
286- else [IntegerEntry(ah(aE), z), StringEntry(F(aE), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), IntegerEntry(w, aE), IntegerEntry(ab(aE), aF)]
254+ else (ay == l))
255+ then [IntegerEntry(ah(aD), z), StringEntry(F(aD), ((((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(z)) + "_") + toString(aE))), IntegerEntry(w, aD), IntegerEntry(ab(aD), aE)]
256+ else [IntegerEntry(ah(aD), z), StringEntry(F(aD), ((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(au))), IntegerEntry(w, aD), IntegerEntry(ab(aD), aE)]
287257 }
288258 else throw("Game doesn't exist")
289259 }
290260 else throw("Game has not bee initialized")
291261 }
292262
293263
294-func aG (aH,aI,aJ,z,at,az,aA,au) = [IntegerEntry(ah(aH), z), StringEntry(F(aH), ((((((aA + "_") + at) + "_") + az) + "_active_pending_") + toString(au))), StringEntry(F(aI), ((((((aA + "_") + at) + "_") + az) + "_inactive_rolled_") + toString(au))), IntegerEntry(x, aI), IntegerEntry(w, aH), IntegerEntry(ab(aH), aJ)]
264+func aF (aG,aH,aI,z,at,ay,az,au) = [IntegerEntry(ah(aG), z), StringEntry(F(aG), ((((((az + "_") + at) + "_") + ay) + "_active_pending_") + toString(au))), StringEntry(F(aH), ((((((az + "_") + at) + "_") + ay) + "_inactive_rolled_") + toString(au))), IntegerEntry(x, aH), IntegerEntry(w, aG), IntegerEntry(ab(aG), aI)]
295265
296266
297-func aK (aL,at,aM,aI,aJ,ag,N,aN,au) = if ((aL == g))
298- then aG((aM + 1), (aI + 1), 1, (ag + 1), toString(at), N, aN, au)
299- else aG((aM + 1), (aI + 1), (aJ + 1), ag, toString(at), N, aN, au)
267+func aJ (aK,at,aL,aH,aI,ag,N,aM,au) = if ((aK == g))
268+ then aF((aL + 1), (aH + 1), 1, (ag + 1), toString(at), N, aM, au)
269+ else aF((aL + 1), (aH + 1), (aI + 1), ag, toString(at), N, aM, au)
300270
301271
302-func aO (aL,aP,av,at,aM,aI,aJ,ag,N,aN,au) = {
303- let aQ = value(parseInt(split(aP, "_")[5]))
304- let aR = value(parseInt(split(aP, "_")[6]))
305- let aS = value(ad(aQ, aR))
306- if ((av == 7))
307- then if ((aP == k))
308- then throw("Only Field Type of Bet can be proceed")
309- else throw("Only Field Type of Bet can be proceed")
310- else if ((av == aS))
311- then throw("Only Field Type of Bet can be proceed")
312- else if ((aL == g))
313- then aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
314- else aK(aL, at, (aM + 1), (aI + 1), (aJ + 1), ag, N, aN, au)
315- }
316-
317-
318-func aT (z,at,az,aA) = {
272+func aN (z,at,ay,az) = {
319273 let an = R()
320274 if ($isInstanceOf(an, "Int"))
321275 then {
322- let aU = an
323- let aV = (aU + 1)
324-[IntegerEntry(af(aV), z), StringEntry(D(aV), (((((aA + "_") + at) + "_") + az) + "_active_pending")), IntegerEntry(u, aV)]
276+ let aO = an
277+ let aP = (aO + 1)
278+[IntegerEntry(af(aP), z), StringEntry(D(aP), (((((az + "_") + at) + "_") + ay) + "_active_pending")), IntegerEntry(u, aP)]
325279 }
326280 else throw("Game has not bee initialized")
327281 }
328282
329283
330-func aW (aX,ag,aY,aZ,ba) = {
331- let bb = (aX + "_lost")
332-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
284+func aQ (aR,ag,aS,aT,aU) = {
285+ let aV = (aR + "_lost")
286+[StringEntry(aT, aV), IntegerEntry(aU, aS)]
333287 }
334288
335289
336-func bc (aX,ag,aY,aZ,ba,bd) = {
337- let bb = ((aX + "_lost_") + toString(bd))
338-[StringEntry(aZ, bb), IntegerEntry(ba, aY)]
290+func aW (aR,ag,aS,aT,aU,aX) = {
291+ let aV = ((aR + "_lost_") + toString(aX))
292+[StringEntry(aT, aV), IntegerEntry(aU, aS)]
339293 }
340294
341295
342-func be (aX,ag,bf,aN,aw,N,aZ,ba) = {
343- let bb = (aX + "_won_")
344-[StringEntry(M(ag, bf, N), ((aN + "_amount_") + toString(aw))), StringEntry(aZ, aX), IntegerEntry(ba, bf), ScriptTransfer(value(addressFromString(aN)), aw, unit)]
296+func aY (aR,ag,aZ,aM,ba,N,aT,aU) = {
297+ let aV = (aR + "_won_")
298+[StringEntry(M(ag, aZ, N), ((aM + "_amount_") + toString(ba))), StringEntry(aT, aR), IntegerEntry(aU, aZ), ScriptTransfer(value(addressFromString(aM)), ba, unit)]
345299 }
346300
347301
348-func bg (bh,ag,aU,aD,bi,bj,bk) = [IntegerEntry(O(ag), bk), IntegerEntry(bh, aU), IntegerEntry(Y(ag), aD), IntegerEntry(A(ag), (bi + h)), StringEntry(Q(ag), toBase64String(bj)), IntegerEntry(Z(ag, aD), aU)]
302+func bb (bc,ag,aO,aC,bd,be,bf) = [IntegerEntry(O(ag), bf), IntegerEntry(bc, aO), IntegerEntry(Y(ag), aC), IntegerEntry(A(ag), (bd + h)), StringEntry(Q(ag), toBase64String(be)), IntegerEntry(Z(ag, aC), aO)]
349303
350304
351-@Callable(bl)
352-func processNextBet () = if (I(bl.callerPublicKey))
305+func bg (bh,bi,bj) = {
306+ let N = split(bj, "_")[2]
307+ let aM = split(bj, "_")[0]
308+ let at = value(parseInt(split(bj, "_")[1]))
309+ if ((N == i))
310+ then if ((bi == 0))
311+ then if (if ((bh == 7))
312+ then true
313+ else (bh == 11))
314+ then (at * 2)
315+ else 0
316+ else if ((bh == bi))
317+ then (at * 2)
318+ else if ((bi == 7))
319+ then 0
320+ else 0
321+ else if ((N == j))
322+ then if ((bi == 0))
323+ then if (if ((bh == 2))
324+ then true
325+ else (bh == 3))
326+ then (at * 2)
327+ else if (if ((bi == 7))
328+ then true
329+ else (bi == 11))
330+ then 0
331+ else 0
332+ else if (if ((bi == 2))
333+ then true
334+ else (bi == 3))
335+ then (at * 2)
336+ else if ((bi == 7))
337+ then 0
338+ else 0
339+ else 0
340+ }
341+
342+
343+func bk (bj,av,bl) = {
344+ let N = split(bj, "_")[2]
345+ let au = value(parseInt(split(bj, "_")[5]))
346+ let at = value(parseInt(split(bj, "_")[1]))
347+ if ((N == m))
348+ then if ((av == 12))
349+ then (at * 4)
350+ else if ((av == 2))
351+ then (at * 3)
352+ else if (if (if (if ((av == 5))
353+ then true
354+ else (av == 6))
355+ then true
356+ else (av == 7))
357+ then true
358+ else (av == 8))
359+ then 0
360+ else (at * 2)
361+ else if ((N == n))
362+ then if (if ((au == 4))
363+ then true
364+ else (au == 10))
365+ then (at * 7)
366+ else if (if ((au == 5))
367+ then true
368+ else (au == 8))
369+ then (at * 9)
370+ else if (if ((au == 3))
371+ then true
372+ else (au == 11))
373+ then (at * 15)
374+ else if (if ((au == 2))
375+ then true
376+ else (au == 12))
377+ then (at * 30)
378+ else if (if ((au == 10))
379+ then true
380+ else (au == 4))
381+ then (at * 30)
382+ else if ((au == 7))
383+ then (at * 4)
384+ else if (if ((au == 100))
385+ then if (if ((av == 3))
386+ then true
387+ else (av == 12))
388+ then true
389+ else (av == 2)
390+ else false)
391+ then (at * 7)
392+ else 0
393+ else if ((N == o))
394+ then if (if ((av == 6))
395+ then true
396+ else (av == 8))
397+ then (2 * at)
398+ else 0
399+ else if (if ((N == r))
400+ then true
401+ else (N == q))
402+ then if ((av == 7))
403+ then (at * 2)
404+ else if ((av == au))
405+ then 0
406+ else -1
407+ else if (if ((N == p))
408+ then true
409+ else (N == s))
410+ then if ((av == 7))
411+ then 0
412+ else if ((av == au))
413+ then (at * 2)
414+ else -1
415+ else if ((N == k))
416+ then {
417+ let bm = value(parseInt(split(bj, "_")[6]))
418+ if ((bl == 2))
419+ then if (if ((av == 7))
420+ then true
421+ else (av == 11))
422+ then (at * 2)
423+ else if (if (if ((av == 2))
424+ then true
425+ else (av == 12))
426+ then true
427+ else (av == 3))
428+ then 0
429+ else if ((av == bm))
430+ then (at * 2)
431+ else -1
432+ else if ((bl > 2))
433+ then if ((av == 7))
434+ then 0
435+ else if ((av == bm))
436+ then (at * 2)
437+ else -1
438+ else throw("Not Allow in The Beginning")
439+ }
440+ else if ((N == l))
441+ then {
442+ let bm = value(parseInt(split(bj, "_")[6]))
443+ if ((bl == 2))
444+ then if (if ((av == 7))
445+ then true
446+ else (av == 11))
447+ then 0
448+ else if (if (if ((av == 2))
449+ then true
450+ else (av == 12))
451+ then true
452+ else (av == 3))
453+ then (at * 2)
454+ else if ((av == bm))
455+ then (at * 2)
456+ else -1
457+ else if ((bl > 1))
458+ then if ((av == 7))
459+ then (at * 2)
460+ else if ((av == bm))
461+ then 0
462+ else -1
463+ else throw("Not Allow in The Beginning")
464+ }
465+ else 0
466+ }
467+
468+
469+@Callable(bn)
470+func processNextBet () = if (I(bn.callerPublicKey))
353471 then throw("processFieldBet_FORBIDDEN")
354472 else {
355473 let an = R()
356474 if ($isInstanceOf(an, "Int"))
357475 then {
358- let aH = an
359- let aC = S()
360- if ($isInstanceOf(aC, "Int"))
476+ let aG = an
477+ let aB = S()
478+ if ($isInstanceOf(aB, "Int"))
361479 then {
362- let bm = aC
363- let bn = (bm + 1)
364- if ((bn > aH))
480+ let bo = aB
481+ let bp = (bo + 1)
482+ if ((bp > aG))
365483 then throw("Next bet has not been places.")
366484 else {
367- let bo = ai(bn)
368- if ($isInstanceOf(bo, "Int"))
485+ let bq = ai(bp)
486+ if ($isInstanceOf(bq, "Int"))
369487 then {
370- let ag = bo
371- let bp = V(ag)
372- if ($isInstanceOf(bp, "Int"))
488+ let ag = bq
489+ let br = V(ag)
490+ if ($isInstanceOf(br, "Int"))
373491 then {
374- let aL = bp
375- if (if ((aL == e))
492+ let aK = br
493+ if (if ((aK == e))
376494 then true
377- else (aL == f))
495+ else (aK == f))
378496 then throw("Game has to finished in order to process NON-FIELD bets")
379497 else {
380- let aP = value(G(bn))
381- let N = split(aP, "_")[2]
382- let aN = split(aP, "_")[0]
383- let at = value(parseInt(split(aP, "_")[1]))
384- let bq = value(addressFromString(aN))
385- let br = am(bn)
386- let bs = al(bn)
387- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
388- if ((N == i))
389- then if ((br == 0))
390- then if (if ((bs == 7))
391- then true
392- else (bs == 11))
393- then {
394- let aw = (at * 2)
395- be(aX, ag, bn, aN, aw, N, D(bn), v)
396- }
397- else aW(aX, ag, bn, D(bn), v)
398- else if ((bs == br))
399- then {
400- let aw = (at * 2)
401- be(aX, ag, bn, aN, aw, N, D(bn), v)
402- }
403- else if ((br == 7))
404- then aW(aX, ag, bn, D(bn), v)
405- else aW(aX, ag, bn, D(bn), v)
406- else if ((N == j))
407- then if ((br == 0))
408- then if (if ((bs == 2))
409- then true
410- else (bs == 3))
411- then {
412- let aw = (at * 2)
413- be(aX, ag, bn, aN, aw, N, D(bn), v)
414- }
415- else if (if ((br == 7))
416- then true
417- else (br == 11))
418- then aW(aX, ag, bn, D(bn), v)
419- else aW(aX, ag, bn, D(bn), v)
420- else if (if ((br == 2))
421- then true
422- else (br == 3))
423- then {
424- let aw = (at * 2)
425- be(aX, ag, bn, aN, aw, N, D(bn), v)
426- }
427- else if ((br == 7))
428- then aW(aX, ag, bn, D(bn), v)
429- else aW(aX, ag, bn, D(bn), v)
430- else throw((((((("Only " + i) + ", ") + j) + " allowed in processNextBet()") + " currentBetType ") + N))
498+ let bj = value(G(bp))
499+ let bs = value(addressFromString(split(bj, "_")[0]))
500+ let bt = am(bp)
501+ let bh = value(al(bp))
502+ let aR = (((((split(bj, "_")[0] + "_") + split(bj, "_")[1]) + "_") + split(bj, "_")[2]) + "_inactive_")
503+ let bu = bg(bh, bt, bj)
504+ if ((bu == 0))
505+ then aQ(aR, ag, bp, D(bp), v)
506+ else if ((bu > 0))
507+ then aY(aR, ag, bp, split(bj, "_")[0], bu, split(bj, "_")[2], D(bp), v)
508+ else throw((((((("Only " + i) + ", ") + j) + " allowed in processNextBet()") + " currentBetType ") + split(bj, "_")[2]))
431509 }
432510 }
433511 else throw("Game does not exist or has already ended.")
434512 }
435513 else throw("Error")
436514 }
437515 }
438516 else throw("Game has not been initialized, next bets not found")
439517 }
440518 else throw("Game has not been initialized, next bets not found")
441519 }
442520
443521
444522
445-@Callable(bl)
446-func processOneRoundBet () = if (I(bl.callerPublicKey))
523+@Callable(bn)
524+func processOneRoundBet () = if (I(bn.callerPublicKey))
447525 then throw("processFieldBet_FORBIDDEN")
448526 else {
449527 let an = T()
450528 if ($isInstanceOf(an, "Int"))
451529 then {
452- let aM = an
453- let aC = U()
454- if ($isInstanceOf(aC, "Int"))
530+ let aL = an
531+ let aB = U()
532+ if ($isInstanceOf(aB, "Int"))
455533 then {
456- let aI = aC
457- let bn = (aI + 1)
458- if ((bn > aM))
534+ let aH = aB
535+ let bp = (aH + 1)
536+ if ((bp > aL))
459537 then throw("Next Field Bet has not been places.")
460538 else {
461- let bo = aj(bn)
462- if ($isInstanceOf(bo, "Int"))
539+ let bq = aj(bp)
540+ if ($isInstanceOf(bq, "Int"))
463541 then {
464- let ag = bo
465- let bp = V(ag)
466- if ($isInstanceOf(bp, "Int"))
542+ let ag = bq
543+ let br = V(ag)
544+ if ($isInstanceOf(br, "Int"))
467545 then {
468- let aL = bp
469- if ((aL == e))
546+ let aK = br
547+ if ((aK == e))
470548 then throw("Game has not started yet")
471549 else {
472- let aP = value(H(bn))
473- let N = split(aP, "_")[2]
474- let aN = split(aP, "_")[0]
475- let at = value(parseInt(split(aP, "_")[1]))
476- let au = value(parseInt(split(aP, "_")[5]))
477- let bq = value(addressFromString(aN))
478- let aJ = value(ae(bn))
479- let bt = ad(ag, aJ)
480- if ($isInstanceOf(bt, "Int"))
550+ let bj = value(H(bp))
551+ let N = split(bj, "_")[2]
552+ let aM = split(bj, "_")[0]
553+ let at = value(parseInt(split(bj, "_")[1]))
554+ let au = value(parseInt(split(bj, "_")[5]))
555+ let bs = value(addressFromString(aM))
556+ let aI = value(ae(bp))
557+ let aR = (((((aM + "_") + split(bj, "_")[1]) + "_") + split(bj, "_")[2]) + "_inactive_")
558+ let bv = ad(ag, aI)
559+ if ($isInstanceOf(bv, "Int"))
481560 then {
482- let av = bt
483- let aX = (((((aN + "_") + split(aP, "_")[1]) + "_") + split(aP, "_")[2]) + "_inactive_")
484- if ((N == m))
485- then {
486- let aw = ax(at, av)
487- if ((aw == 0))
488- then aW(aX, ag, bn, F(ag), x)
489- else be(aX, ag, bn, aN, aw, N, F(bn), x)
490- }
491- else if ((N == n))
492- then {
493- let aw = as(at, au, av)
494- if ((aw == 0))
495- then be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
496- else bc(aX, ag, bn, F(bn), x, au)
497- }
498- else if ((N == o))
499- then if (if ((av == 6))
500- then true
501- else (av == 8))
502- then {
503- let aw = (2 * at)
504- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
505- }
506- else bc(aX, ag, bn, F(bn), x, au)
507- else if (if ((N == p))
508- then true
509- else (N == s))
510- then if ((av == 7))
511- then bc(aX, ag, bn, F(bn), x, au)
512- else if ((av == au))
513- then {
514- let aw = (at * 2)
515- be((aX + "_won_"), ag, bn, aN, aw, N, F(bn), x)
516- }
517- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
518- else if (if ((N == r))
519- then true
520- else (N == q))
521- then if ((av == 7))
522- then {
523- let aw = (at * 2)
524- be(aX, ag, bn, aN, aw, N, F(bn), x)
525- }
526- else if ((av == au))
527- then bc(aX, ag, bn, F(bn), x, au)
528- else aK(aL, at, (aM + 1), (aI + 1), 1, (ag + 1), N, aN, au)
529- else if (if ((N == k))
530- then true
531- else (N == l))
532- then aO(aL, aP, av, at, aM, aI, aJ, ag, N, aN, au)
533- else throw("Only Field Type of Bet can be proceed")
561+ let av = bv
562+ let bw = value(parseInt(Y(ag)))
563+ let bx = bk(bj, av, bw)
564+ if ((bx == -1))
565+ then aJ(aK, at, aL, aH, aI, ag, N, aM, au)
566+ else if ((bx == 0))
567+ then aW(aR, ag, bp, F(ag), x, au)
568+ else aY((aR + "_won_"), ag, bp, aM, bx, N, F(bp), x)
534569 }
535570 else throw("There is no result for this round yet")
536571 }
537572 }
538573 else throw("Game does not exist or has already ended")
539574 }
540575 else throw("Error")
541576 }
542577 }
543578 else throw("Game has not been initialized, next bets not found")
544579 }
545580 else throw("Game has not been initialized, next bets not found")
546581 }
547582
548583
549584
550-@Callable(bl)
551-func initGame () = if (I(bl.callerPublicKey))
585+@Callable(bn)
586+func initGame () = if (I(bn.callerPublicKey))
552587 then throw("initGame_FORBIDDEN")
553588 else {
554589 let an = ak()
555590 if ($isInstanceOf(an, "Int"))
556591 then {
557- let bu = an
592+ let by = an
558593 throw("INIT_ALREADY_DONE")
559594 }
560595 else [IntegerEntry(t, 0), IntegerEntry(u, 0), IntegerEntry(v, 0), IntegerEntry(w, 0), IntegerEntry(x, 0)]
561596 }
562597
563598
564599
565-@Callable(bl)
566-func startGame (bj) = if (I(bl.callerPublicKey))
600+@Callable(bn)
601+func startGame (be) = if (I(bn.callerPublicKey))
567602 then throw("startGame_FORBIDDEN")
568603 else {
569604 let an = ak()
570605 if ($isInstanceOf(an, "Int"))
571606 then {
572- let aU = an
573- if ((aU == 0))
607+ let aO = an
608+ if ((aO == 0))
574609 then {
575- let bv = (aU + 1)
576-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
610+ let bz = (aO + 1)
611+[IntegerEntry(t, bz), IntegerEntry(O(bz), e), IntegerEntry(y(bz), lastBlock.height), IntegerEntry(A(bz), (lastBlock.height + h)), IntegerEntry(Y(bz), 0), StringEntry(P(bz), toBase58String(sha256(fromBase64String(be))))]
577612 }
578613 else {
579- let aC = V(aU)
580- if ($isInstanceOf(aC, "Int"))
614+ let aB = V(aO)
615+ if ($isInstanceOf(aB, "Int"))
581616 then {
582- let bk = aC
583- if (if ((bk == f))
617+ let bf = aB
618+ if (if ((bf == f))
584619 then true
585- else (bk == e))
620+ else (bf == e))
586621 then throw("The previous game is still in progress")
587622 else {
588- let bv = (aU + 1)
589-[IntegerEntry(t, bv), IntegerEntry(O(bv), e), IntegerEntry(y(bv), lastBlock.height), IntegerEntry(A(bv), (lastBlock.height + h)), IntegerEntry(Y(bv), 0), StringEntry(P(bv), toBase58String(sha256(fromBase64String(bj))))]
623+ let bz = (aO + 1)
624+[IntegerEntry(t, bz), IntegerEntry(O(bz), e), IntegerEntry(y(bz), lastBlock.height), IntegerEntry(A(bz), (lastBlock.height + h)), IntegerEntry(Y(bz), 0), StringEntry(P(bz), toBase58String(sha256(fromBase64String(be))))]
590625 }
591626 }
592627 else throw("Error")
593628 }
594629 }
595630 else throw("INIT_NEED")
596631 }
597632
598633
599634
600-@Callable(bl)
601-func placeBet (az) = if (ap(az))
602- then if ((size(bl.payments) == 0))
635+@Callable(bn)
636+func placeBet (ay) = if (ap(ay))
637+ then if ((size(bn.payments) == 0))
603638 then throw("Payment not attached")
604639 else {
605640 let an = ak()
606641 if ($isInstanceOf(an, "Int"))
607642 then {
608- let bw = an
609- let bx = bl.payments[0]
610- let aC = V(bw)
611- if ($isInstanceOf(aC, "Int"))
643+ let bA = an
644+ let bB = bn.payments[0]
645+ let aB = V(bA)
646+ if ($isInstanceOf(aB, "Int"))
612647 then {
613- let bk = aC
614- if ((bk == e))
615- then if (if ((az == i))
648+ let bf = aB
649+ if ((bf == e))
650+ then if (if ((ay == i))
616651 then true
617- else (az == j))
618- then aT(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes))
652+ else (ay == j))
653+ then aN(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes))
619654 else throw((((((("Only " + i) + ", ") + j) + " and ") + m) + " are allowed in the Beginning of Game"))
620- else if ((bk == f))
655+ else if ((bf == f))
621656 then throw((((((("Only " + k) + ", ") + l) + " and ") + m) + " ARE ALLOWED at Start."))
622- else if ((bk == g))
657+ else if ((bf == g))
623658 then throw("Game already ended.")
624659 else throw("Unknown Game State.")
625660 }
626661 else throw("Game does not exist or has already ended.")
627662 }
628663 else throw("Game has not been initialized.")
629664 }
630665 else throw(((((((((("Unsupported Type of Bet for Crap. Please Select one of " + i) + ", ") + j) + ", ") + k) + ", ") + l) + ", ") + m))
631666
632667
633668
634-@Callable(bl)
635-func placeRoundBet (az,bd) = if (ar(az))
636- then if ((size(bl.payments) == 0))
669+@Callable(bn)
670+func placeRoundBet (ay,aX) = if (ar(ay))
671+ then if ((size(bn.payments) == 0))
637672 then throw("Payment not attached")
638673 else {
639674 let an = ak()
640675 if ($isInstanceOf(an, "Int"))
641676 then {
642- let bw = an
643- let bx = bl.payments[0]
644- let aC = V(bw)
645- if ($isInstanceOf(aC, "Int"))
677+ let bA = an
678+ let bB = bn.payments[0]
679+ let aB = V(bA)
680+ if ($isInstanceOf(aB, "Int"))
646681 then {
647- let bk = aC
648- if ((bk == g))
682+ let bf = aB
683+ if ((bf == g))
649684 then throw("Game already ended.")
650- else if (if ((az == k))
685+ else if (if ((ay == k))
651686 then true
652- else (az == l))
653- then if ((bk == e))
687+ else (ay == l))
688+ then if ((bf == e))
654689 then throw("Cannot place COME OR DONTCOME BET IF GAME HAS NOT STARTED")
655- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), 0)
656- else ay(bw, toString(bx.amount), az, toBase58String(bl.caller.bytes), bd)
690+ else ax(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes), 0)
691+ else ax(bA, toString(bB.amount), ay, toBase58String(bn.caller.bytes), aX)
657692 }
658693 else throw("Game does not exist or has already ended.")
659694 }
660695 else throw("Game has not been initialized.")
661696 }
662697 else throw(((((((((("Unsupported Type of Bet for Crap. Please Select one of " + n) + ", ") + j) + ", ") + k) + ", ") + l) + ", ") + m))
663698
664699
665700
666-@Callable(bl)
667-func throwDices (by,ag) = if (I(bl.callerPublicKey))
701+@Callable(bn)
702+func throwDices (bC,ag) = if (I(bn.callerPublicKey))
668703 then throw("throwDices_FORBIDDEN")
669704 else {
670705 let an = V(ag)
671706 if ($isInstanceOf(an, "Int"))
672707 then {
673- let bk = an
674- if ((bk == g))
708+ let bf = an
709+ if ((bf == g))
675710 then throw("Game is finished")
676711 else {
677- let bi = lastBlock.height
678- let bz = value(C(ag))
679- if ((bi >= bz))
712+ let bd = lastBlock.height
713+ let bD = value(C(ag))
714+ if ((bd >= bD))
680715 then {
681- let aC = W(ag)
682- if ($isInstanceOf(aC, "String"))
716+ let aB = W(ag)
717+ if ($isInstanceOf(aB, "String"))
683718 then {
684- let bA = aC
685- let bB = fromBase64String(by)
686- let bC = rsaVerify(SHA256, fromBase58String(bA), bB, d)
687- let bo = blockInfoByHeight((lastBlock.height - 1))
688- if ($isInstanceOf(bo, "BlockInfo"))
719+ let bE = aB
720+ let bF = fromBase64String(bC)
721+ let bG = rsaVerify(SHA256, fromBase58String(bE), bF, d)
722+ let bq = blockInfoByHeight((lastBlock.height - 1))
723+ if ($isInstanceOf(bq, "BlockInfo"))
689724 then {
690- let bD = bo
691- let bj = sha256((take(bB, 4) + take(bD.generationSignature, 8)))
692- if (!(bC))
725+ let bH = bq
726+ let be = sha256((take(bF, 4) + take(bH.generationSignature, 8)))
727+ if (!(bG))
693728 then throw("INVALID_RSA_SIGN")
694729 else {
695- let bE = (toInt(bj) % 11)
696- let aU = b[bE]
697- let bp = ac(ag)
698- if ($isInstanceOf(bp, "Int"))
730+ let bI = (toInt(be) % 11)
731+ let aO = b[bI]
732+ let br = ac(ag)
733+ if ($isInstanceOf(br, "Int"))
699734 then {
700- let bF = bp
701- let bG = (bF + 1)
702- if ((bk == e))
703- then if (if (if (if (if ((aU == 7))
735+ let bJ = br
736+ let bK = (bJ + 1)
737+ if ((bf == e))
738+ then if (if (if (if (if ((aO == 7))
704739 then true
705- else (aU == 11))
740+ else (aO == 11))
706741 then true
707- else (aU == 2))
742+ else (aO == 2))
708743 then true
709- else (aU == 3))
744+ else (aO == 3))
710745 then true
711- else (aU == 12))
712- then bg(L(ag), ag, aU, bG, bi, bj, g)
713- else bg(L(ag), ag, aU, bG, bi, bj, f)
746+ else (aO == 12))
747+ then bb(L(ag), ag, aO, bK, bd, be, g)
748+ else bb(L(ag), ag, aO, bK, bd, be, f)
714749 else {
715- let br = value(am(ag))
716- let bs = value(al(ag))
717- if ((br == 0))
718- then if (if ((aU == 7))
750+ let bt = value(am(ag))
751+ let bh = value(al(ag))
752+ if ((bt == 0))
753+ then if (if ((aO == 7))
719754 then true
720- else (bs == aU))
721- then bg(K(ag), ag, aU, bG, bi, bj, g)
722- else bg(K(ag), ag, aU, bG, bi, bj, f)
723- else if (if ((aU == 7))
755+ else (bh == aO))
756+ then bb(K(ag), ag, aO, bK, bd, be, g)
757+ else bb(K(ag), ag, aO, bK, bd, be, f)
758+ else if (if ((aO == 7))
724759 then true
725- else (bs == aU))
726- then bg(K(ag), ag, aU, bG, bi, bj, g)
727- else bg(K(ag), ag, aU, bG, bi, bj, f)
760+ else (bh == aO))
761+ then bb(K(ag), ag, aO, bK, bd, be, g)
762+ else bb(K(ag), ag, aO, bK, bd, be, f)
728763 }
729764 }
730765 else throw("No dices have been thrown")
731766 }
732767 }
733768 else throw("Last block doesn't exist.")
734769 }
735770 else throw("SHA doesn't exist")
736771 }
737772 else throw("Throw dice not allow still waiting for block to process")
738773 }
739774 }
740775 else throw("Game does not exist or has already ended.")
741776 }
742777
743778
744-@Verifier(bH)
745-func bI () = {
746- let an = bH
747- sigVerify(bH.bodyBytes, bH.proofs[0], bH.senderPublicKey)
779+@Verifier(bL)
780+func bM () = {
781+ let an = bL
782+ sigVerify(bL.bodyBytes, bL.proofs[0], bL.senderPublicKey)
748783 }
749784

github/deemru/w8io/169f3d6 
333.98 ms