Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
3C7EDB851DB8AD0A7155ECCCABCB9A56653341AC3A203CFBE7479257B84A075A
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
17,246,379
Requested gas limit
GAS USED
14,371,933
Gas consumed
FEE
1000000ugnot
Transaction fee
Participants
Message
Message #1
m_addpkg
Arguments
g1manfred47kzduec920z88wfr64ylksmdcedlf5
Execution log
msg:0,success:true,log:,events:[]
Events
No events emitted by this transaction.
Raw encoded transaction
CrtDCgwvdm0ubV9hZGRwa2cSqkMKKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUS/UIKBmJhbGxvdBIhZ25vLmxhbmQvci9tb3VsL3gvZGFpbHkvYmFsbG90L3YwGqMNCglSRUFETUUubWQSlQ0jIEJhbGxvdAoKPiDimqDvuI8gKipFeHBlcmltZW50YWwg4oCUIGdlbmVyYXRlZCB3aXRoIG5vIGh1bWFuIHN1cGVydmlzaW9uKiogYnkgdGhlIGRhaWx5IE1DUCBwaXBlbGluZSB0byBleGVyY2lzZSBnbm8gdG9vbGluZy4gTm90IGF1ZGl0ZWQuIFNlZSBbci9tb3VsL3gvZGFpbHldKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3VsL2duby1jb250cmFjdHMvYmxvYi9tYWluL3IvbW91bC94L2RhaWx5L1JFQURNRS5tZCkuCgotLS0KCkEgR25vIHBvcnQgb2YgdGhlIGNsYXNzaWMgU29saWRpdHkgIkJhbGxvdCIgdm90aW5nIGNvbnRyYWN0OiBhIGNoYWlycGVyc29uIHNlZWRzIGEgZml4ZWQgbGlzdCBvZiBwcm9wb3NhbHMgYW5kIGdyYW50cyBzcGVjaWZpYyBhZGRyZXNzZXMgdGhlIHJpZ2h0IHRvIHZvdGUsIGFuZCBlYWNoIHZvdGVyIGVpdGhlciBjYXN0cyBhIGRpcmVjdCB2b3RlIG9yIGRlbGVnYXRlcyB0aGVpciB3ZWlnaHQgZG93biBhIGRlbGVnYXRpb24gY2hhaW4gKHdpdGggYSBsb29wIGd1YXJkLCBqdXN0IGxpa2UgdGhlIG9yaWdpbmFsKS4gV2lubmluZ1Byb3Bvc2FsL1dpbm5lck5hbWUgcmVwb3J0IHRoZSBjdXJyZW50IGxlYWRlciBsaXZlLCBzbyB0aGVyZSdzIG5vIHNlcGFyYXRlIGNsb3NlLXRoZS12b3RlIHN0ZXAuIEl0J3MgbmVhdCBiZWNhdXNlIGRlbGVnYXRpb24gY29tcG9zYWJpbGl0eSAtIGEgZGVsZWdhdGUncyB3ZWlnaHQgY2FuIGl0c2VsZiBiZSByZS1kZWxlZ2F0ZWQgLSBpcyB0aGUgb25lIHBhcnQgb2YgdGhlIG9yaWdpbmFsIGNvbnRyYWN0IHRoYXQncyBlYXN5IHRvIGdldCBzdWJ0bHkgd3JvbmcsIGFuZCB0aGlzIHBvcnQga2VlcHMgdGhhdCBjaGFpbi13YWxraW5nICsgY3ljbGUtZGV0ZWN0aW9uIGxvZ2ljIGZhaXRoZnVsIHdoaWxlIHN3YXBwaW5nIG1hcHBpbmdzIGZvciBhbiBhdmwuVHJlZS4KCkJ1aWx0IGZvciBnbm8gMC45LgoKPCEtLSBCRUdJTiBHTk9DT05UUkFDVFMgRk9PVEVSIChnZW5lcmF0ZWQgYnkgYG1ha2UgcmVhZG1lc2A7IGRvIG5vdCBlZGl0IGJlbG93KSAtLT4KCi0tLQoKUGFydCBvZiAqKlttb3VsL2duby1jb250cmFjdHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9tb3VsL2duby1jb250cmFjdHMpKiog4oCUIG1vdWwncyB2ZXJzaW9uZWQgZ25vLmxhbmQgY29udHJhY3RzLiBTZWUgdGhlIHJlcG9zaXRvcnkgZm9yIHRoZSBmdWxsIGNhdGFsb2csIGJ1aWxkL3Rlc3QgdG9vbGluZywgYW5kIHVzYWdlLgoKKipEZXBlbmRlbmN5IGdyYXBoOioqCgohW2duby5sYW5kL3IvbW91bC94L2RhaWx5L2JhbGxvdC92MCBkZXBlbmRlbmN5IGdyYXBoXShodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW91bC9nbm8tY29udHJhY3RzL21haW4vX2Fzc2V0cy9nbm8ubGFuZC9yL21vdWwveC9kYWlseS9iYWxsb3QvdjAvZGVwcy5wbmcpCgo+IPCfp6ogKipIaWdobHkgZXhwZXJpbWVudGFsIOKAlCBwb3RlbnRpYWxseSB2aWJlLWNvZGVkLioqIE5vdCBhdWRpdGVkOyBtYXkgYnJlYWssIGNoYW5nZSwgb3IgYmUgcmVtb3ZlZCBhdCBhbnkgdGltZS4gRG8gbm90IHVzZSB3aXRoIGFueXRoaW5nIG9mIHZhbHVlLiBGdWxsIGRpc2NsYWltZXI6IFtESVNDTEFJTUVSXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9ESVNDTEFJTUVSLm1kKS4KCjwhLS0gRU5EIEdOT0NPTlRSQUNUUyBGT09URVIgLS0+Chq6NAoKYmFsbG90LmdubxKrNC8vIFBhY2thZ2UgYmFsbG90IGlzIGEgR25vIHBvcnQgb2YgdGhlIGNsYXNzaWMgU29saWRpdHkgIkJhbGxvdCIgdm90aW5nCi8vIGNvbnRyYWN0IGZyb20gdGhlIFNvbGlkaXR5IGRvY3MuIEEgY2hhaXJwZXJzb24gc2VlZHMgYSBmaXhlZCBsaXN0IG9mCi8vIHByb3Bvc2FscyBhbmQgZ3JhbnRzIHNwZWNpZmljIGFkZHJlc3NlcyB0aGUgcmlnaHQgdG8gdm90ZTsgZWFjaCB2b3RlciBjYW4KLy8gZWl0aGVyIGNhc3QgYSBkaXJlY3Qgdm90ZSBvciBkZWxlZ2F0ZSB0aGVpciB3ZWlnaHQgdG8gYW5vdGhlciB2b3RlciwgYW5kCi8vIGRlbGVnYXRpb24gZm9sbG93cyBhIGNoYWluIHNvIGEgZGVsZWdhdGUgd2hvIGxhdGVyIGRlbGVnYXRlcyBmdXJ0aGVyIHN0aWxsCi8vIGNhcnJpZXMgZXZlcnkgYWNjdW11bGF0ZWQgd2VpZ2h0LiBUaGUgd2lubmluZyBwcm9wb3NhbCBpcyB3aGljaGV2ZXIgaGFzCi8vIHRoZSBtb3N0IGFjY3VtdWxhdGVkIHdlaWdodCBhdCBxdWVyeSB0aW1lLgpwYWNrYWdlIGJhbGxvdAoKaW1wb3J0ICgKCSJlcnJvcnMiCgkic3RyY29udiIKCSJzdHJpbmdzIgoKCSJnbm8ubGFuZC9wL250L2F2bC92MCIKKQoKLy8gcHJvcG9zYWwgaXMgb25lIG9mIHRoZSBmaXhlZCBjaG9pY2VzIHNldCB1cCBhdCBJbml0IHRpbWUuCnR5cGUgcHJvcG9zYWwgc3RydWN0IHsKCW5hbWUgIHN0cmluZwoJdm90ZXMgdWludDY0Cn0KCi8vIHZvdGVySW5mbyB0cmFja3Mgb25lIGFkZHJlc3MncyB2b3RpbmcgcmlnaHRzIGFuZCBkZWxlZ2F0aW9uIHN0YXRlLgp0eXBlIHZvdGVySW5mbyBzdHJ1Y3QgewoJd2VpZ2h0ICAgdWludDY0ICAvLyAwIG1lYW5zICJubyByaWdodCB0byB2b3RlIgoJdm90ZWQgICAgYm9vbCAgICAvLyB0cnVlIG9uY2UgdGhlIHdlaWdodCBoYXMgYmVlbiBjYXN0IChkaXJlY3RseSBvciBkZWxlZ2F0ZWQgYXdheSkKCWRlbGVnYXRlIGFkZHJlc3MgLy8gc2V0IG9ubHkgd2hlbiB2b3RlZCA9PSB0cnVlIGFuZCB0aGlzIHZvdGVyIGRlbGVnYXRlZAoJdm90ZSAgICAgaW50ICAgICAvLyBwcm9wb3NhbCBpbmRleCB0aGlzIHZvdGVyJ3Mgd2VpZ2h0IGVuZGVkIHVwIG9uLCB2YWxpZCBvbmNlIHRhbGxpZWQKfQoKLy8gUGFja2FnZS1sZXZlbCBwZXJzaXN0ZW50IHN0YXRlLgp2YXIgKAoJY2hhaXJwZXJzb24gYWRkcmVzcwoJaW5pdGlhbGl6ZWQgYm9vbAoJcHJvcG9zYWxzICAgW11wcm9wb3NhbAoJdm90ZXJzICAgICAgKmF2bC5UcmVlIC8vIGFkZHJlc3Mgc3RyaW5nIC0+ICp2b3RlckluZm8KKQoKdmFyICgKCWVyckFscmVhZHlJbml0ICAgID0gZXJyb3JzLk5ldygiYmFsbG90OiBhbHJlYWR5IGluaXRpYWxpemVkIikKCWVyck5vdEluaXQgICAgICAgID0gZXJyb3JzLk5ldygiYmFsbG90OiBub3QgaW5pdGlhbGl6ZWQgeWV0IikKCWVyck5vdENoYWlycGVyc29uID0gZXJyb3JzLk5ldygiYmFsbG90OiBvbmx5IHRoZSBjaGFpcnBlcnNvbiBtYXkgZG8gdGhpcyIpCgllcnJOb1Byb3Bvc2FscyAgICA9IGVycm9ycy5OZXcoImJhbGxvdDogYXQgbGVhc3Qgb25lIHByb3Bvc2FsIG5hbWUgaXMgcmVxdWlyZWQiKQoJZXJySW52YWxpZEFkZHIgICAgPSBlcnJvcnMuTmV3KCJiYWxsb3Q6IGludmFsaWQgYWRkcmVzcyIpCgllcnJBbHJlYWR5UmlnaHQgICA9IGVycm9ycy5OZXcoImJhbGxvdDogdm90ZXIgYWxyZWFkeSBoYXMgdGhlIHJpZ2h0IHRvIHZvdGUiKQoJZXJyQWxyZWFkeVZvdGVkICAgPSBlcnJvcnMuTmV3KCJiYWxsb3Q6IHZvdGVyIGFscmVhZHkgdm90ZWQiKQoJZXJyTm9SaWdodCAgICAgICAgPSBlcnJvcnMuTmV3KCJiYWxsb3Q6IGNhbGxlciBoYXMgbm8gcmlnaHQgdG8gdm90ZSIpCgllcnJTZWxmRGVsZWdhdGUgICA9IGVycm9ycy5OZXcoImJhbGxvdDogc2VsZi1kZWxlZ2F0aW9uIGlzIG5vdCBhbGxvd2VkIikKCWVyckRlbGVnYXRlTG9vcCAgID0gZXJyb3JzLk5ldygiYmFsbG90OiBmb3VuZCBhIGxvb3AgaW4gdGhlIGRlbGVnYXRpb24gY2hhaW4iKQoJZXJyRGVsZWdhdGVOb1JpZ2h0ID0gZXJyb3JzLk5ldygiYmFsbG90OiBkZWxlZ2F0ZSBoYXMgbm8gcmlnaHQgdG8gdm90ZSIpCgllcnJCYWRQcm9wb3NhbCAgICA9IGVycm9ycy5OZXcoImJhbGxvdDogaW52YWxpZCBwcm9wb3NhbCBpbmRleCIpCikKCmZ1bmMgaW5pdCgpIHsKCXZvdGVycyA9IGF2bC5OZXdUcmVlKCkKfQoKZnVuYyByZXF1aXJlSW5pdCgpIHsKCWlmICFpbml0aWFsaXplZCB7CgkJcGFuaWMoZXJyTm90SW5pdCkKCX0KfQoKZnVuYyBnZXRPckNyZWF0ZVZvdGVyKGFkZHIgYWRkcmVzcykgKnZvdGVySW5mbyB7CglpZiB2IDo9IHZvdGVycy5HZXQoYWRkci5TdHJpbmcoKSk7IHYgIT0gbmlsIHsKCQlyZXR1cm4gdi4oKnZvdGVySW5mbykKCX0KCXYgOj0gJnZvdGVySW5mb3t9Cgl2b3RlcnMuU2V0KGFkZHIuU3RyaW5nKCksIHYpCglyZXR1cm4gdgp9CgovLyBJbml0IGNvbmZpZ3VyZXMgdGhlIGJhbGxvdCBleGFjdGx5IG9uY2U6IHRoZSBjYWxsZXIgYmVjb21lcyB0aGUKLy8gY2hhaXJwZXJzb24gKGFuZCBpcyBpbW1lZGlhdGVseSBnaXZlbiB0aGUgcmlnaHQgdG8gdm90ZSksIGFuZAovLyBwcm9wb3NhbE5hbWVzQ1NWIOKAlCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IOKAlCBzZWVkcyB0aGUgZml4ZWQgc2V0IG9mCi8vIHByb3Bvc2Fscy4gSXQgcGFuaWNzIGlmIGNhbGxlZCB0d2ljZSBvciB3aXRoIG5vIHVzYWJsZSBwcm9wb3NhbCBuYW1lcy4KZnVuYyBJbml0KGN1ciByZWFsbSwgcHJvcG9zYWxOYW1lc0NTViBzdHJpbmcpIHsKCWlmIGluaXRpYWxpemVkIHsKCQlwYW5pYyhlcnJBbHJlYWR5SW5pdCkKCX0KCglmb3IgXywgcmF3IDo9IHJhbmdlIHN0cmluZ3MuU3BsaXQocHJvcG9zYWxOYW1lc0NTViwgIiwiKSB7CgkJbmFtZSA6PSBzdHJpbmdzLlRyaW1TcGFjZShyYXcpCgkJaWYgbmFtZSA9PSAiIiB7CgkJCWNvbnRpbnVlCgkJfQoJCXByb3Bvc2FscyA9IGFwcGVuZChwcm9wb3NhbHMsIHByb3Bvc2Fse25hbWU6IG5hbWV9KQoJfQoJaWYgbGVuKHByb3Bvc2FscykgPT0gMCB7CgkJcGFuaWMoZXJyTm9Qcm9wb3NhbHMpCgl9CgoJY2hhaXJwZXJzb24gPSBjdXIuUHJldmlvdXMoKS5BZGRyZXNzKCkKCXZvdGVycy5TZXQoY2hhaXJwZXJzb24uU3RyaW5nKCksICZ2b3RlckluZm97d2VpZ2h0OiAxfSkKCWluaXRpYWxpemVkID0gdHJ1ZQp9CgovLyBHaXZlUmlnaHRUb1ZvdGUgZ3JhbnRzIHZvdGVyQWRkciBhIHZvdGluZyB3ZWlnaHQgb2YgMS4gT25seSB0aGUKLy8gY2hhaXJwZXJzb24gbWF5IGNhbGwgdGhpcywgYW5kIG9ubHkgZm9yIHZvdGVycyB3aG8gaGF2ZW4ndCB2b3RlZCB5ZXQuCmZ1bmMgR2l2ZVJpZ2h0VG9Wb3RlKGN1ciByZWFsbSwgdm90ZXJBZGRyIHN0cmluZykgewoJcmVxdWlyZUluaXQoKQoJaWYgY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpICE9IGNoYWlycGVyc29uIHsKCQlwYW5pYyhlcnJOb3RDaGFpcnBlcnNvbikKCX0KCglhZGRyIDo9IGFkZHJlc3Modm90ZXJBZGRyKQoJaWYgIWFkZHIuSXNWYWxpZCgpIHsKCQlwYW5pYyhlcnJJbnZhbGlkQWRkcikKCX0KCgl2IDo9IGdldE9yQ3JlYXRlVm90ZXIoYWRkcikKCWlmIHYudm90ZWQgewoJCXBhbmljKGVyckFscmVhZHlWb3RlZCkKCX0KCWlmIHYud2VpZ2h0ICE9IDAgewoJCXBhbmljKGVyckFscmVhZHlSaWdodCkKCX0KCXYud2VpZ2h0ID0gMQp9CgovLyBEZWxlZ2F0ZSBoYW5kcyB0aGUgY2FsbGVyJ3Mgdm90aW5nIHdlaWdodCB0byB0b0FkZHIuIElmIHRvQWRkciBoYXMKLy8gYWxyZWFkeSB2b3RlZCwgdGhlIHdlaWdodCBpcyBhZGRlZCBkaXJlY3RseSB0byB0aGF0IHByb3Bvc2FsJ3MgdGFsbHk7Ci8vIG90aGVyd2lzZSBpdCBhY2N1bXVsYXRlcyBvbiB0b0FkZHIncyBvd24gd2VpZ2h0LCByZWFkeSB0byBiZSBjYXN0IChvcgovLyBkZWxlZ2F0ZWQgZnVydGhlcikgbGF0ZXIuIE1pcnJvcnMgU29saWRpdHkncyBkZWxlZ2F0aW9uLWNoYWluLWZvbGxvd2luZwovLyB3aXRoIGEgbG9vcCBndWFyZC4KZnVuYyBEZWxlZ2F0ZShjdXIgcmVhbG0sIHRvQWRkciBzdHJpbmcpIHsKCXJlcXVpcmVJbml0KCkKCglzZW5kZXIgOj0gY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpCglmcm9tIDo9IGdldE9yQ3JlYXRlVm90ZXIoc2VuZGVyKQoJaWYgZnJvbS53ZWlnaHQgPT0gMCB7CgkJcGFuaWMoZXJyTm9SaWdodCkKCX0KCWlmIGZyb20udm90ZWQgewoJCXBhbmljKGVyckFscmVhZHlWb3RlZCkKCX0KCgl0byA6PSBhZGRyZXNzKHRvQWRkcikKCWlmICF0by5Jc1ZhbGlkKCkgewoJCXBhbmljKGVyckludmFsaWRBZGRyKQoJfQoJaWYgdG8gPT0gc2VuZGVyIHsKCQlwYW5pYyhlcnJTZWxmRGVsZWdhdGUpCgl9CgoJdmFyIHplcm8gYWRkcmVzcwoJbWF4U3RlcHMgOj0gdm90ZXJzLlNpemUoKSArIDEKCWZvciBzdGVwcyA6PSAwOyA7IHN0ZXBzKysgewoJCXYgOj0gdm90ZXJzLkdldCh0by5TdHJpbmcoKSkKCQlpZiB2ID09IG5pbCB7CgkJCWJyZWFrCgkJfQoJCW5leHQgOj0gdi4oKnZvdGVySW5mbykuZGVsZWdhdGUKCQlpZiBuZXh0ID09IHplcm8gewoJCQlicmVhawoJCX0KCQl0byA9IG5leHQKCQlpZiB0byA9PSBzZW5kZXIgewoJCQlwYW5pYyhlcnJEZWxlZ2F0ZUxvb3ApCgkJfQoJCWlmIHN0ZXBzID4gbWF4U3RlcHMgewoJCQlwYW5pYyhlcnJEZWxlZ2F0ZUxvb3ApCgkJfQoJfQoKCWRlbGVnYXRlVm90ZXIgOj0gZ2V0T3JDcmVhdGVWb3Rlcih0bykKCWlmIGRlbGVnYXRlVm90ZXIud2VpZ2h0ID09IDAgewoJCXBhbmljKGVyckRlbGVnYXRlTm9SaWdodCkKCX0KCglmcm9tLnZvdGVkID0gdHJ1ZQoJZnJvbS5kZWxlZ2F0ZSA9IHRvCgoJaWYgZGVsZWdhdGVWb3Rlci52b3RlZCB7CgkJcHJvcG9zYWxzW2RlbGVnYXRlVm90ZXIudm90ZV0udm90ZXMgKz0gZnJvbS53ZWlnaHQKCX0gZWxzZSB7CgkJZGVsZWdhdGVWb3Rlci53ZWlnaHQgKz0gZnJvbS53ZWlnaHQKCX0KfQoKLy8gVm90ZSBjYXN0cyB0aGUgY2FsbGVyJ3MgZnVsbCB3ZWlnaHQgZm9yIHByb3Bvc2Fsc1twcm9wb3NhbEluZGV4XS4KZnVuYyBWb3RlKGN1ciByZWFsbSwgcHJvcG9zYWxJbmRleCBpbnQpIHsKCXJlcXVpcmVJbml0KCkKCglzZW5kZXIgOj0gY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpCgl2IDo9IGdldE9yQ3JlYXRlVm90ZXIoc2VuZGVyKQoJaWYgdi53ZWlnaHQgPT0gMCB7CgkJcGFuaWMoZXJyTm9SaWdodCkKCX0KCWlmIHYudm90ZWQgewoJCXBhbmljKGVyckFscmVhZHlWb3RlZCkKCX0KCWlmIHByb3Bvc2FsSW5kZXggPCAwIHx8IHByb3Bvc2FsSW5kZXggPj0gbGVuKHByb3Bvc2FscykgewoJCXBhbmljKGVyckJhZFByb3Bvc2FsKQoJfQoKCXYudm90ZWQgPSB0cnVlCgl2LnZvdGUgPSBwcm9wb3NhbEluZGV4Cglwcm9wb3NhbHNbcHJvcG9zYWxJbmRleF0udm90ZXMgKz0gdi53ZWlnaHQKfQoKLy8gV2lubmluZ1Byb3Bvc2FsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcm9wb3NhbCB3aXRoIHRoZSBtb3N0Ci8vIGFjY3VtdWxhdGVkIHdlaWdodCwgYnJlYWtpbmcgdGllcyBpbiBmYXZvciBvZiB0aGUgbG93ZXN0IGluZGV4LgpmdW5jIFdpbm5pbmdQcm9wb3NhbCgpIGludCB7Cgl3aW5uZXIgOj0gMAoJYmVzdCA6PSB1aW50NjQoMCkKCWZvciBpLCBwIDo9IHJhbmdlIHByb3Bvc2FscyB7CgkJaWYgcC52b3RlcyA+IGJlc3QgewoJCQliZXN0ID0gcC52b3RlcwoJCQl3aW5uZXIgPSBpCgkJfQoJfQoJcmV0dXJuIHdpbm5lcgp9CgovLyBXaW5uZXJOYW1lIHJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd2lubmluZyBwcm9wb3NhbCwgb3IgIiIgaWYKLy8gdGhlIGJhbGxvdCBoYXNuJ3QgYmVlbiBpbml0aWFsaXplZC4KZnVuYyBXaW5uZXJOYW1lKCkgc3RyaW5nIHsKCWlmIGxlbihwcm9wb3NhbHMpID09IDAgewoJCXJldHVybiAiIgoJfQoJcmV0dXJuIHByb3Bvc2Fsc1tXaW5uaW5nUHJvcG9zYWwoKV0ubmFtZQp9CgpmdW5jIFJlbmRlcihwYXRoIHN0cmluZykgc3RyaW5nIHsKCXZhciBiIHN0cmluZ3MuQnVpbGRlcgoJYi5Xcml0ZVN0cmluZygiIyBCYWxsb3RcblxuIikKCglpZiAhaW5pdGlhbGl6ZWQgewoJCWIuV3JpdGVTdHJpbmcoIk5vdCBpbml0aWFsaXplZCB5ZXQuIFRoZSBmaXJzdCBjYWxsZXIgdG8gcnVuIGBJbml0YCBiZWNvbWVzIHRoZSAiICsKCQkJImNoYWlycGVyc29uIGFuZCBzZWVkcyB0aGUgcHJvcG9zYWwgbGlzdCwgZS5nLjpcblxuIikKCQliLldyaXRlU3RyaW5nKCJgYGBcbkluaXQoXCJBbGljZSxCb2IsQ2Fyb2xcIilcbmBgYFxuIikKCQlyZXR1cm4gYi5TdHJpbmcoKQoJfQoKCWIuV3JpdGVTdHJpbmcoIkNoYWlycGVyc29uOiBgIiArIGNoYWlycGVyc29uLlN0cmluZygpICsgImBcblxuIikKCWIuV3JpdGVTdHJpbmcoInwgIyB8IFByb3Bvc2FsIHwgVm90ZXMgfFxuIikKCWIuV3JpdGVTdHJpbmcoInwtLS18LS0tfC0tLXxcbiIpCglmb3IgaSwgcCA6PSByYW5nZSBwcm9wb3NhbHMgewoJCWIuV3JpdGVTdHJpbmcoInwgIiArIHN0cmNvbnYuSXRvYShpKSArICIgfCAiICsgcC5uYW1lICsgIiB8ICIgKwoJCQlzdHJjb252LkZvcm1hdFVpbnQocC52b3RlcywgMTApICsgIiB8XG4iKQoJfQoKCWIuV3JpdGVTdHJpbmcoIlxuQ3VycmVudCB3aW5uZXI6ICoqIiArIFdpbm5lck5hbWUoKSArICIqKiAoaW5kZXggIiArCgkJc3RyY29udi5JdG9hKFdpbm5pbmdQcm9wb3NhbCgpKSArICIpXG5cbiIpCgliLldyaXRlU3RyaW5nKCJSZWdpc3RlcmVkIHZvdGVyczogIiArIHN0cmNvbnYuSXRvYSh2b3RlcnMuU2l6ZSgpKSArICJcbiIpCglyZXR1cm4gYi5TdHJpbmcoKQp9ChpICgtnbm9tb2QudG9tbBI5bW9kdWxlID0gImduby5sYW5kL3IvbW91bC94L2RhaWx5L2JhbGxvdC92MCIKZ25vID0gIjAuOSIKIiMKEy9nbm8uTWVtUGFja2FnZVR5cGUSDAoKTVBVc2VyUHJvZBITCNaiuRASDDEwMDAwMDB1Z25vdBqoAQo6ChMvdG0uUHViS2V5U2VjcDI1NmsxEiMKIQIAUko/jSwAOonEP0X+r2647UW246Nfe75rO0n/ni2DyBJAkYq0ZviWeK/X7DJdZCuAQm7mABHxHOklQ0Zlnif+6FswqFKysVrIEOSfdixvxTDZfSPb0Fu/DMJw93B1mO4bMBooZzFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFsdXV4ZSIKZ25vcHVibGlzaA==