Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
5F950B9A07D1267DAB20B910317E8684A4524C012DB03699E365CF6189EDC47D
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
17,700,062
Requested gas limit
GAS USED
14,750,002
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
CvtDCgwvdm0ubV9hZGRwa2cS6kMKKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUSvUMKCnF1aXpzdHJlYWsSJWduby5sYW5kL3IvbW91bC94L2RhaWx5L3F1aXpzdHJlYWsvdjAatgwKCVJFQURNRS5tZBKoDCMgUXVpeiBTdHJlYWsKCj4g4pqg77iPICoqRXhwZXJpbWVudGFsIOKAlCBnZW5lcmF0ZWQgd2l0aCBubyBodW1hbiBzdXBlcnZpc2lvbioqIGJ5IHRoZSBkYWlseSBNQ1AgcGlwZWxpbmUgdG8gZXhlcmNpc2UgZ25vIHRvb2xpbmcuIE5vdCBhdWRpdGVkLiBTZWUgW3IvbW91bC94L2RhaWx5XShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9yL21vdWwveC9kYWlseS9SRUFETUUubWQpLgoKLS0tCgpBIHRyaXZpYSBxdWl6IHdoZXJlIGV2ZXJ5IHBsYXllciBydW5zIHRoZWlyIG93biBpbmRlcGVuZGVudCBzdHJlYWsgaW5zdGVhZCBvZiByYWNpbmcgb3RoZXJzIGZvciBvbmUgc2hhcmVkIHF1ZXN0aW9uLiBBbnN3ZXIgY29ycmVjdGx5IGFuZCB5b3VyIHN0cmVhayBncm93cywgbW92aW5nIHlvdSB0byBhIGZyZXNoIHF1ZXN0aW9uOyBhbnN3ZXIgd3JvbmcgYW5kIHlvdXIgc3RyZWFrIHJlc2V0cyB0byB6ZXJvIChidXQgdGhlIHF1ZXN0aW9uIHN0YXlzIHB1dCBzbyB5b3UgY2FuIHJldHJ5KS4gQSBnbG9iYWwgbGVhZGVyYm9hcmQgcmFua3MgYWRkcmVzc2VzIGJ5IHRoZWlyIGJlc3QtZXZlciBzdHJlYWsg4oCUIGNhbGwgQW5zd2VyKDAtMykgdG8gcGxheSwgb3IgUmVuZGVyIHlvdXIgb3duIGFkZHJlc3MgdG8gc2VlIHlvdXIgbGl2ZSBkYXNoYm9hcmQuCgpCdWlsdCBmb3Igc2FwcGhpcmUgKGdubyAwLjkpLiBMaXZlIGRlbW8gKGFnZW50IGFkZHJlc3MpOiBodHRwczovL3NhcHBoaXJlLnRlc3RuZXRzLmduby5sYW5kL3IvZzEyY3M0Y2VodWpwZmZwanB5d21rcWo0M202dTV5YTUzbmo2OXNqei9xdWl6c3RyZWFrCgo8IS0tIEJFR0lOIEdOT0NPTlRSQUNUUyBGT09URVIgKGdlbmVyYXRlZCBieSBgbWFrZSByZWFkbWVzYDsgZG8gbm90IGVkaXQgYmVsb3cpIC0tPgoKLS0tCgpQYXJ0IG9mICoqW21vdWwvZ25vLWNvbnRyYWN0c10oaHR0cHM6Ly9naXRodWIuY29tL21vdWwvZ25vLWNvbnRyYWN0cykqKiDigJQgbW91bCdzIHZlcnNpb25lZCBnbm8ubGFuZCBjb250cmFjdHMuIFNlZSB0aGUgcmVwb3NpdG9yeSBmb3IgdGhlIGZ1bGwgY2F0YWxvZywgYnVpbGQvdGVzdCB0b29saW5nLCBhbmQgdXNhZ2UuCgoqKkRlcGVuZGVuY3kgZ3JhcGg6KioKCiFbZ25vLmxhbmQvci9tb3VsL3gvZGFpbHkvcXVpenN0cmVhay92MCBkZXBlbmRlbmN5IGdyYXBoXShodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW91bC9nbm8tY29udHJhY3RzL21haW4vX2Fzc2V0cy9nbm8ubGFuZC9yL21vdWwveC9kYWlseS9xdWl6c3RyZWFrL3YwL2RlcHMucG5nKQoKPiDwn6eqICoqSGlnaGx5IGV4cGVyaW1lbnRhbCDigJQgcG90ZW50aWFsbHkgdmliZS1jb2RlZC4qKiBOb3QgYXVkaXRlZDsgbWF5IGJyZWFrLCBjaGFuZ2UsIG9yIGJlIHJlbW92ZWQgYXQgYW55IHRpbWUuIERvIG5vdCB1c2Ugd2l0aCBhbnl0aGluZyBvZiB2YWx1ZS4gRnVsbCBkaXNjbGFpbWVyOiBbRElTQ0xBSU1FUl0oaHR0cHM6Ly9naXRodWIuY29tL21vdWwvZ25vLWNvbnRyYWN0cy9ibG9iL21haW4vRElTQ0xBSU1FUi5tZCkuCgo8IS0tIEVORCBHTk9DT05UUkFDVFMgRk9PVEVSIC0tPgoaTAoLZ25vbW9kLnRvbWwSPW1vZHVsZSA9ICJnbm8ubGFuZC9yL21vdWwveC9kYWlseS9xdWl6c3RyZWFrL3YwIgpnbm8gPSAiMC45Igoa2zUKDnF1aXpzdHJlYWsuZ25vEsg1Ly8gUGFja2FnZSBxdWl6c3RyZWFrIGlzIGEgbXVsdGlwbGUtY2hvaWNlIHRyaXZpYSBxdWl6IHdoZXJlIGV2ZXJ5IHBsYXllcgovLyBydW5zIHRoZWlyIG93biBpbmRlcGVuZGVudCBzdHJlYWsgaW5zdGVhZCBvZiByYWNpbmcgb3RoZXJzIGZvciBhIHNpbmdsZQovLyBzaGFyZWQgcXVlc3Rpb24uCi8vCi8vIEVhY2ggYWRkcmVzcyBnZXRzIGl0cyBvd24gY3VycmVudCBxdWVzdGlvbiwgcGlja2VkIGRldGVybWluaXN0aWNhbGx5IGZyb20KLy8gdGhlIGFkZHJlc3MgYW5kIHRoZSBibG9jayBoZWlnaHQgb2YgaXRzIGZpcnN0IGFuc3dlciBzbyBkaWZmZXJlbnQgcGxheWVycwovLyBkb24ndCBhbGwgc3RhcnQgb24gdGhlIHNhbWUgcXVlc3Rpb24uIEEgY29ycmVjdCBhbnN3ZXIgZXh0ZW5kcyB0aGUKLy8gcGxheWVyJ3Mgc3RyZWFrIGFuZCBhZHZhbmNlcyB0aGVtIHRvIHRoZWlyIG5leHQgcXVlc3Rpb247IGEgd3JvbmcgYW5zd2VyCi8vIGJyZWFrcyB0aGUgc3RyZWFrIGJhY2sgdG8gemVybyBidXQgbGVhdmVzIHRoZSBzYW1lIHF1ZXN0aW9uIGxpdmUgc28gdGhleQovLyBjYW4gcmV0cnkuIFRoZSByZWFsbSB0cmFja3MgZWFjaCBwbGF5ZXIncyBiZXN0LWV2ZXIgc3RyZWFrIG9uIGEgZ2xvYmFsCi8vIGxlYWRlcmJvYXJkLgpwYWNrYWdlIHF1aXpzdHJlYWsKCmltcG9ydCAoCgkic3RyY29udiIKCSJzdHJpbmdzIgoKCSJjaGFpbiIKCSJjaGFpbi9ydW50aW1lIgoKCSJnbm8ubGFuZC9wL250L2F2bC92MCIKKQoKLy8gcXVlc3Rpb24gaXMgb25lIGZpeGVkIHRyaXZpYSBlbnRyeS4KdHlwZSBxdWVzdGlvbiBzdHJ1Y3QgewoJdGV4dCAgICAgICBzdHJpbmcKCWNob2ljZXMgICAgWzRdc3RyaW5nCgljb3JyZWN0SWR4IGludAp9CgovLyBwbGF5ZXJTdGF0ZSBpcyBvbmUgYWRkcmVzcydzIHByb2dyZXNzIHRocm91Z2ggdGhlIHF1ZXN0aW9uIGJhbmsuCnR5cGUgcGxheWVyU3RhdGUgc3RydWN0IHsKCXFJZHggICAgaW50CglzdHJlYWsgIGludAoJYmVzdCAgICBpbnQKCWNvcnJlY3QgaW50Cgl3cm9uZyAgIGludAp9Cgp2YXIgKAoJcXVlc3Rpb25zID0gW11xdWVzdGlvbnsKCQl7IldoYXQgaXMgdGhlIHNtYWxsZXN0IHByaW1lIG51bWJlcj8iLCBbNF1zdHJpbmd7IjAiLCAiMSIsICIyIiwgIjMifSwgMn0sCgkJeyJXaGljaCBnYXMgZG9lcyBhIHBsYW50IHByaW1hcmlseSBhYnNvcmIgZm9yIHBob3Rvc3ludGhlc2lzPyIsIFs0XXN0cmluZ3siT3h5Z2VuIiwgIk5pdHJvZ2VuIiwgIkNhcmJvbiBkaW94aWRlIiwgIkh5ZHJvZ2VuIn0sIDJ9LAoJCXsiSG93IG1hbnkgY29udGluZW50cyBhcmUgdGhlcmUgb24gRWFydGg/IiwgWzRdc3RyaW5neyI1IiwgIjYiLCAiNyIsICI4In0sIDJ9LAoJCXsiSW4gYmluYXJ5LCB3aGF0IGlzIDEgKyAxPyIsIFs0XXN0cmluZ3siMiIsICIxMCIsICIxMSIsICIwIn0sIDF9LAoJCXsiV2hhdCBkb2VzICdIVFRQJyBzdGFuZCBmb3I/IiwgWzRdc3RyaW5neyJIeXBlclRleHQgVHJhbnNmZXIgUHJvdG9jb2wiLCAiSGlnaCBUcmFuc2ZlciBUZXh0IFByb3RvY29sIiwgIkhvbWUgVG9vbCBUcmFuc2ZlciBQcm90b2NvbCIsICJIeXBlclRleHQgVHJhbnNtaXNzaW9uIFBhdGgifSwgMH0sCgkJeyJXaGljaCBwbGFuZXQgaXMga25vd24gYXMgdGhlIFJlZCBQbGFuZXQ/IiwgWzRdc3RyaW5neyJWZW51cyIsICJKdXBpdGVyIiwgIk1hcnMiLCAiU2F0dXJuIn0sIDJ9LAoJCXsiV2hhdCBpcyB0aGUgdGltZSBjb21wbGV4aXR5IG9mIGJpbmFyeSBzZWFyY2g/IiwgWzRdc3RyaW5neyJPKG4pIiwgIk8obG9nIG4pIiwgIk8obl4yKSIsICJPKDEpIn0sIDF9LAoJCXsiV2hpY2ggb2NlYW4gaXMgdGhlIGxhcmdlc3QgYnkgc3VyZmFjZSBhcmVhPyIsIFs0XXN0cmluZ3siQXRsYW50aWMiLCAiSW5kaWFuIiwgIkFyY3RpYyIsICJQYWNpZmljIn0sIDN9LAoJCXsiV2hhdCBkb2VzICdDUFUnIHN0YW5kIGZvcj8iLCBbNF1zdHJpbmd7IkNlbnRyYWwgUHJvY2Vzc2luZyBVbml0IiwgIkNvbXB1dGVyIFBlcnNvbmFsIFVuaXQiLCAiQ2VudHJhbCBQcm9ncmFtIFV0aWxpdHkiLCAiQ29yZSBQcm9jZXNzaW5nIFVuaWNvZGUifSwgMH0sCgkJeyJIb3cgbWFueSBiaXRzIGFyZSBpbiBhIGJ5dGU/IiwgWzRdc3RyaW5neyI0IiwgIjgiLCAiMTYiLCAiMzIifSwgMX0sCgl9CgoJcGxheWVycyA9IGF2bC5OZXdUcmVlKCkgLy8gYWRkcihzdHJpbmcpIC0+ICpwbGF5ZXJTdGF0ZQopCgovLyBzdGFydEluZGV4IHBpY2tzIGEgZGV0ZXJtaW5pc3RpYyBzdGFydGluZyBxdWVzdGlvbiBmb3IgYSBicmFuZC1uZXcgcGxheWVyLAovLyBzcHJlYWRpbmcgcGxheWVycyBhY3Jvc3MgdGhlIGJhbmsgdXNpbmcgdGhlaXIgYWRkcmVzcyBhbmQgdGhlIGhlaWdodCBvZgovLyB0aGVpciBmaXJzdCBhbnN3ZXIgYXMgZW50cm9weS4KZnVuYyBzdGFydEluZGV4KGFkZHIgc3RyaW5nLCBoZWlnaHQgaW50NjQpIGludCB7CglpZiBoZWlnaHQgPCAwIHsKCQloZWlnaHQgPSAtaGVpZ2h0Cgl9Cgl2YXIgc3VtIGludDY0Cglmb3IgaSA6PSAwOyBpIDwgbGVuKGFkZHIpOyBpKysgewoJCXN1bSArPSBpbnQ2NChhZGRyW2ldKQoJfQoJbiA6PSBpbnQ2NChsZW4ocXVlc3Rpb25zKSkKCXJldHVybiBpbnQoKHN1bSArIGhlaWdodCkgJSBuKQp9CgovLyBnZXRQbGF5ZXIgcmV0dXJucyBhZGRyJ3Mgc3RhdGUsIGxhemlseSBjcmVhdGluZyBpdCBvbiBmaXJzdCBjb250YWN0LgpmdW5jIGdldFBsYXllcihhZGRyIHN0cmluZykgKnBsYXllclN0YXRlIHsKCWlmIHYsIG9rIDo9IHBsYXllcnMuR2V0KGFkZHIpLigqcGxheWVyU3RhdGUpOyBvayB7CgkJcmV0dXJuIHYKCX0KCXAgOj0gJnBsYXllclN0YXRle3FJZHg6IHN0YXJ0SW5kZXgoYWRkciwgcnVudGltZS5DaGFpbkhlaWdodCgpKX0KCXBsYXllcnMuU2V0KGFkZHIsIHApCglyZXR1cm4gcAp9CgovLyBuZXh0SW5kZXggYWR2YW5jZXMgYSBzb2x2ZWQgcGxheWVyIHRvIGEgZnJlc2gtZmVlbGluZyBuZXh0IHF1ZXN0aW9uOiB0aGUKLy8gc3RlcCBncm93cyB3aXRoIHRoZSBzdHJlYWsgc28gYSBsb25nIHJ1biBkb2Vzbid0IGxvb3AgdGhyb3VnaCB0aGUgYmFuayBpbgovLyBhIHZpc2libHkgZml4ZWQgb3JkZXIuCmZ1bmMgbmV4dEluZGV4KGN1ciwgc3RyZWFrLCBuIGludCkgaW50IHsKCXJldHVybiAoY3VyICsgMSArIHN0cmVhaykgJSBuCn0KCi8vIEFuc3dlciBzdWJtaXRzIGEgY2hvaWNlICgwLi4zKSBmb3IgdGhlIGNhbGxlcidzIGN1cnJlbnQgcXVlc3Rpb24uCi8vIENyb3NzaW5nIGZ1bmN0aW9uOiBjYWxsZXIgaW52b2tlcyBhcyBBbnN3ZXIoY3Jvc3MoY3VyKSwgY2hvaWNlSWR4KS4KZnVuYyBBbnN3ZXIoY3VyIHJlYWxtLCBjaG9pY2VJZHggaW50KSBzdHJpbmcgewoJaWYgIWN1ci5Jc0N1cnJlbnQoKSB7CgkJcGFuaWMoInNwb29mZWQgcmVhbG0iKQoJfQoJaWYgY2hvaWNlSWR4IDwgMCB8fCBjaG9pY2VJZHggPj0gbGVuKHF1ZXN0aW9uc1swXS5jaG9pY2VzKSB7CgkJcGFuaWMoImNob2ljZSBtdXN0IGJlIGluIDAuLjMiKQoJfQoKCWFkZHIgOj0gY3VyLlByZXZpb3VzKCkuQWRkcmVzcygpLlN0cmluZygpCglwIDo9IGdldFBsYXllcihhZGRyKQoJcSA6PSBxdWVzdGlvbnNbcC5xSWR4XQoKCWlmIGNob2ljZUlkeCAhPSBxLmNvcnJlY3RJZHggewoJCWJyb2tlU3RyZWFrIDo9IHAuc3RyZWFrCgkJcC5zdHJlYWsgPSAwCgkJcC53cm9uZysrCgkJaWYgYnJva2VTdHJlYWsgPiAwIHsKCQkJcmV0dXJuICJXcm9uZyDigJQgc3RyZWFrIG9mICIgKyBzdHJjb252Lkl0b2EoYnJva2VTdHJlYWspICsgIiBicm9rZW4uIFNhbWUgcXVlc3Rpb24gc3RheXMgbGl2ZSwgdHJ5IGFnYWluLiIKCQl9CgkJcmV0dXJuICJXcm9uZyDigJQgdHJ5IGFnYWluLiIKCX0KCglwLnN0cmVhaysrCglwLmNvcnJlY3QrKwoJaWYgcC5zdHJlYWsgPiBwLmJlc3QgewoJCXAuYmVzdCA9IHAuc3RyZWFrCgl9CglwLnFJZHggPSBuZXh0SW5kZXgocC5xSWR4LCBwLnN0cmVhaywgbGVuKHF1ZXN0aW9ucykpCgoJY2hhaW4uRW1pdCgiUXVpekFuc3dlcmVkIiwKCQkicGxheWVyIiwgYWRkciwKCQkic3RyZWFrIiwgc3RyY29udi5JdG9hKHAuc3RyZWFrKSwKCQkiYmVzdCIsIHN0cmNvbnYuSXRvYShwLmJlc3QpLAoJKQoKCXJldHVybiAiQ29ycmVjdCEgU3RyZWFrIGlzIG5vdyAiICsgc3RyY29udi5JdG9hKHAuc3RyZWFrKSArICIuIE5leHQgcXVlc3Rpb24gaXMgbGl2ZS4iCn0KCi8vIGxlYWRlcmJvYXJkRW50cnkgaXMgYSBzbmFwc2hvdCByb3cgdXNlZCBvbmx5IGZvciByZW5kZXJpbmcsIHNvcnRlZCBieSBiZXN0Ci8vIHN0cmVhayBkZXNjZW5kaW5nLgp0eXBlIGxlYWRlcmJvYXJkRW50cnkgc3RydWN0IHsKCWFkZHIgc3RyaW5nCgliZXN0IGludAp9CgpmdW5jIGxlYWRlcmJvYXJkKCkgW11sZWFkZXJib2FyZEVudHJ5IHsKCXZhciByb3dzIFtdbGVhZGVyYm9hcmRFbnRyeQoJcGxheWVycy5JdGVyYXRlKCIiLCAiIiwgZnVuYyhhZGRyIHN0cmluZywgdiBhbnkpIGJvb2wgewoJCXJvd3MgPSBhcHBlbmQocm93cywgbGVhZGVyYm9hcmRFbnRyeXthZGRyOiBhZGRyLCBiZXN0OiB2LigqcGxheWVyU3RhdGUpLmJlc3R9KQoJCXJldHVybiBmYWxzZQoJfSkKCWZvciBpIDo9IDE7IGkgPCBsZW4ocm93cyk7IGkrKyB7CgkJaiA6PSBpCgkJZm9yIGogPiAwICYmIHJvd3Nbai0xXS5iZXN0IDwgcm93c1tqXS5iZXN0IHsKCQkJcm93c1tqLTFdLCByb3dzW2pdID0gcm93c1tqXSwgcm93c1tqLTFdCgkJCWotLQoJCX0KCX0KCXJldHVybiByb3dzCn0KCmZ1bmMgcmVuZGVyUXVlc3Rpb24oYiAqc3RyaW5ncy5CdWlsZGVyLCBwICpwbGF5ZXJTdGF0ZSkgewoJcSA6PSBxdWVzdGlvbnNbcC5xSWR4XQoJbGV0dGVycyA6PSBbNF1zdHJpbmd7IkEiLCAiQiIsICJDIiwgIkQifQoJYi5Xcml0ZVN0cmluZygiKioiICsgcS50ZXh0ICsgIioqXG5cbiIpCglmb3IgaSwgYyA6PSByYW5nZSBxLmNob2ljZXMgewoJCWIuV3JpdGVTdHJpbmcoIi0gKioiICsgbGV0dGVyc1tpXSArICIqKiAoIiArIHN0cmNvbnYuSXRvYShpKSArICIpOiAiICsgYyArICJcbiIpCgl9CgliLldyaXRlU3RyaW5nKCJcbi0gQ3VycmVudCBzdHJlYWs6ICIgKyBzdHJjb252Lkl0b2EocC5zdHJlYWspICsgIlxuIikKCWIuV3JpdGVTdHJpbmcoIi0gQmVzdCBzdHJlYWs6ICIgKyBzdHJjb252Lkl0b2EocC5iZXN0KSArICJcbiIpCgliLldyaXRlU3RyaW5nKCItIENvcnJlY3QgLyB3cm9uZyBsaWZldGltZTogIiArIHN0cmNvbnYuSXRvYShwLmNvcnJlY3QpICsgIiAvICIgKyBzdHJjb252Lkl0b2EocC53cm9uZykgKyAiXG5cbiIpCn0KCi8vIFJlbmRlciBwcm9kdWNlcyB0aGUgZ25vd2ViIE1hcmtkb3duIHZpZXcuIFRoZSByb290IHBhdGggc2hvd3MgdGhlIHJ1bGVzCi8vIGFuZCB0aGUgbGVhZGVyYm9hcmQ7IGEgcGF0aCBvZiBhIGJlY2gzMiBhZGRyZXNzIHNob3dzIHRoYXQgcGxheWVyJ3MKLy8gY3VycmVudCBxdWVzdGlvbiBhbmQgc3RhdHMuCmZ1bmMgUmVuZGVyKHBhdGggc3RyaW5nKSBzdHJpbmcgewoJdmFyIGIgc3RyaW5ncy5CdWlsZGVyCgoJYi5Xcml0ZVN0cmluZygiIyBRdWl6IFN0cmVha1xuXG4iKQoJYi5Xcml0ZVN0cmluZygiRXZlcnlvbmUgcGxheXMgdGhlaXIgb3duIHRyaXZpYSBydW4gYXQgdGhlaXIgb3duIHBhY2UuIENhbGwgIikKCWIuV3JpdGVTdHJpbmcoImBBbnN3ZXIoY2hvaWNlSWR4KWAgd2l0aCAwLTMg4oCUIGEgY29ycmVjdCBhbnN3ZXIgZXh0ZW5kcyB5b3VyIHN0cmVhayAiKQoJYi5Xcml0ZVN0cmluZygiYW5kIG1vdmVzIHlvdSB0byB5b3VyIG5leHQgcXVlc3Rpb247IGEgd3JvbmcgYW5zd2VyIGJyZWFrcyB5b3VyICIpCgliLldyaXRlU3RyaW5nKCJzdHJlYWsgYnV0IGxlYXZlcyB0aGUgc2FtZSBxdWVzdGlvbiBsaXZlIHNvIHlvdSBjYW4gcmV0cnkuXG5cbiIpCgoJaWYgcGF0aCAhPSAiIiB7CgkJaWYgdiwgb2sgOj0gcGxheWVycy5HZXQocGF0aCkuKCpwbGF5ZXJTdGF0ZSk7IG9rIHsKCQkJYi5Xcml0ZVN0cmluZygiIyMgWW91ciBxdWVzdGlvbiAoYCIgKyBwYXRoICsgImApXG5cbiIpCgkJCXJlbmRlclF1ZXN0aW9uKCZiLCB2KQoJCX0gZWxzZSB7CgkJCWIuV3JpdGVTdHJpbmcoIiMjIGAiICsgcGF0aCArICJgXG5cbl9ObyBhbnN3ZXJzIHN1Ym1pdHRlZCB5ZXQg4oCUIGNhbGwgYEFuc3dlcmAgdG8gZ2V0IHlvdXIgZmlyc3QgcXVlc3Rpb24uX1xuXG4iKQoJCX0KCX0KCgliLldyaXRlU3RyaW5nKCIjIyBCZXN0LXN0cmVhayBsZWFkZXJib2FyZFxuXG4iKQoJcm93cyA6PSBsZWFkZXJib2FyZCgpCglpZiBsZW4ocm93cykgPT0gMCB7CgkJYi5Xcml0ZVN0cmluZygiX05vIG9uZSBoYXMgcGxheWVkIHlldCDigJQgYmUgdGhlIGZpcnN0IV9cblxuIikKCX0gZWxzZSB7CgkJYi5Xcml0ZVN0cmluZygifCBQbGF5ZXIgfCBCZXN0IHN0cmVhayB8XG58LS0tfC0tLXxcbiIpCgkJZm9yIF8sIHIgOj0gcmFuZ2Ugcm93cyB7CgkJCWIuV3JpdGVTdHJpbmcoInwgYCIgKyByLmFkZHIgKyAiYCB8ICIgKyBzdHJjb252Lkl0b2Eoci5iZXN0KSArICIgfFxuIikKCQl9CgkJYi5Xcml0ZVN0cmluZygiXG4iKQoJfQoKCWIuV3JpdGVTdHJpbmcoIiMjIEhvdyB0byBwbGF5XG5cbiIpCgliLldyaXRlU3RyaW5nKCJgYGBcbiIpCgliLldyaXRlU3RyaW5nKCJnbm9rZXkgbWFrZXR4IGNhbGwgLXBrZ3BhdGggZ25vLmxhbmQvci9nMTJjczRjZWh1anBmZnBqcHl3bWtxajQzbTZ1NXlhNTNuajY5c2p6L3F1aXpzdHJlYWsgXFxcbiIpCgliLldyaXRlU3RyaW5nKCIgIC1mdW5jIEFuc3dlciAtYXJncyA8MHwxfDJ8Mz4gLi4uXG4iKQoJYi5Xcml0ZVN0cmluZygiYGBgXG5cbiIpCgliLldyaXRlU3RyaW5nKCJWaWV3IHlvdXIgb3duIGRhc2hib2FyZCBhdCBgLi4uL3F1aXpzdHJlYWs6PHlvdXItYWRkcmVzcz5gLlxuIikKCglyZXR1cm4gYi5TdHJpbmcoKQp9CiIjChMvZ25vLk1lbVBhY2thZ2VUeXBlEgwKCk1QVXNlclByb2QSEwi80/AQEgwxMDAwMDAwdWdub3QaqAEKOgoTL3RtLlB1YktleVNlY3AyNTZrMRIjCiECAFJKP40sADqJxD9F/q9uuO1FtuOjX3u+aztJ/54tg8gSQDN72xEtSMGl3HP94kLMvsqdrZ9sAYQEFbR/ynHpizHXOndQGk2xy5bk393FjX9M6iE3+ZHwsGHJtwfLSkDVtlUaKGcxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxbHV1eGUiCmdub3B1Ymxpc2g=