Re: fence_ec2 agent

Dejan Muhamedagic <[email protected]> Thu, 5 Mar 2015 18:38:35 +0100
Newsgroups gmane.linux.highavailability.user
Message-ID <[email protected]>
SGksCgpPbiBUdWUsIE1hciAwMywgMjAxNSBhdCAwNToxMzo0OVBNICswOTAwLCDmnbHkuIDlvaYg
d3JvdGU6Cj4gRGVhciBNYXJrdXMsCj4gCj4gSSB3YXMgYWxzbyB0aGlua2luZyB0aGUgc2FtZSB0
aGluZy4KPiBTbywgQWxyZWFkeSBJJ3ZlIGNyZWF0ZWQgYSBuZXcgb25lLgoKUGVyaGFwcyB5b3Un
ZCBsaWtlIHRvIHRoZW4gY29udHJpYnV0ZSBpdCB1cHN0cmVhbT8gRWl0aGVyIHRvCmdsdWUgc3Rv
bml0aCBhZ2VudHMgb3IgUkhUIGZlbmNpbmcgYWdlbnRzLiBJdCBhcHBlYXJzIHRoYXQgdGhlCmFn
ZW50IGlzIHVzaW5nIHRoZSBzdG9uaXRoIGludGVyZmFjZSwgYnV0IHRoZSBuYW1lIHJlZmxlY3Rz
IHRoZQpmZW5jaW5nIGFnZW50cyBuYW1pbmcgc2NoZW1lLgoKQ2hlZXJzLAoKRGVqYW4KCj4gW0No
YW5nZVNldF0KPiAtIEFuIEFQSSB0byBiZSB1c2VkIHdhcyBjaGFuZ2VkIGZyb20gIkFtYXpvbiBF
QzIgQ0xJIiB0byAiQVdTIENMSSIuCj4gICAtLSAiQVdTIENMSSIgaXMgYmFzZWQgUHl0aG9uLiBT
bywgQ1BVIGxvYWQgbWlnaHQgYmUgcmVkdWNlZC4KPiAKPiAtIFRoZSAiLS1wcml2YXRlLWtleSIg
YW5kICItLWNlcnQiIG9wdGlvbnMgYXJlIGRlcHJlY2F0ZWQgaW4gQVdTIENMSS4KPiAgIFNvLCBJ
IGFkZCBhIG5ldyBvcHRpb24gIi0tcHJvZmlsZSIuIFVzZSBhIHNwZWNpZmljIHByb2ZpbGUgZnJv
bSB0aGF0IGNyZWRlbnRpYWwgZmlsZS4KPiAgIGRlZmF1bHQgaXMgIiIKPiAKPiAKPiBbSG93IHRv
IHVzZV0KPiAtIFBsYWVzZSBpbnN0YWxsIHRoZSAiQVdTIENMSSIuCj4gICBodHRwOi8vZG9jcy5h
d3MuYW1hem9uLmNvbS9jbGkvbGF0ZXN0L3VzZXJndWlkZS9jbGktY2hhcC1nZXR0aW5nLXN0YXJ0
ZWQuaHRtbAo+IAo+IC0gUGxlYXNlIGNvcHkgdGhlIGZlbmNlX2VjMiBpbiAvdXNyL2xpYjY0L3N0
b25pdGgvcGx1Z2lucy9leHRlcm5hbC8uCj4gICBBbmQgLCBQbGVhc2Ugc2V0IHRoZSBwZXJtaXNz
aW9ucyB0byA3NTUuCj4gCj4gLSBQbGVhc2Ugc2V0IGNybSBzZXR0aW5ncyBhcyBpbiB0aGlzIGV4
YW1wbGUuCj4gICAtIFRoZSBpbnN0YW5jZSB0aGF0IGhhdmUgYmVlbiBzZXQgYXMgIm5vZGUwMSIg
aW4gdGhlICJOYW1lIiB0YWcgYXJlIGZlbmNlLgo+ICAgLS0tLS0tCj4gICBwcmltaXRpdmUgcHJt
U3Rvbml0aDEtMiBzdG9uaXRoOmV4dGVybmFsL2ZlbmNlX2VjMiBcCQkKPiAJcGFyYW1zIFwJCj4g
CQlwY21rX29mZl90aW1lb3V0PSIzMDBzIiBcCj4gCQlwb3J0PSJub2RlMDEiIFwKPiAJCXRhZz0i
TmFtZSIgXAo+IAlvcCBzdGFydCBpbnRlcnZhbD0iMHMiIHRpbWVvdXQ9IjYwcyIgXAkKPiAJb3Ag
bW9uaXRvciBpbnRlcnZhbD0iMzYwMHMiIHRpbWVvdXQ9IjYwcyIgXAkKPiAJb3Agc3RvcCBpbnRl
cnZhbD0iMHMiIHRpbWVvdXQ9IjYwcyIJCj4gICAtLS0tLS0KPiAKPiAKPiBSZWdhcmRzLAo+IEth
enVoaWtvIEhpZ2FzaGkKPiAKPiBPbiAyMDE1LzAyLzI1IDc6MjIsIE1hcmt1cyBHdWVydGxlciB3
cm90ZToKPiA+RGVhciBsaXN0LAo+ID5JIHdhcyBqdXN0IHRyeWluZyB0byBjb25maWd1cmUgdGhl
IGZlbmNlX2VjMiBzdG9uaXRoIGFnZW50IGZyb20gMjAxMiwgd3JpdHRlbiBieSBBbmRyZXcgQmVl
a2hvZi4gSXQgbG9va3MgbGlrZSwgdGhhdCB0aGlzIG9uZSBub3Qgd29ya2luZyBhbnltb3JlIHdp
dGggbmV3ZXIgc3Rvbml0aCAvIGNsdXN0ZXIgdmVyc2lvbnMuIElzIHRoZXJlIGFueSBvdGhlciBF
QzIgYWdlbnQsIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZD8KPiA+Cj4gPklmIG5vdCwgSSdsbCB3
cml0ZSBvbmUgbXlzZWxmLiBIb3dldmVyLCBJJ2QgbGlrZSB0byBjaGVjayBhbGwgb3B0aW9ucyBm
aXJzdC4KPiA+Cj4gPkNoZWVycywKPiA+TWFya3VzCj4gPgo+ID5fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID5MaW51eC1IQSBtYWlsaW5nIGxpc3QKPiA+
TGludXgtSEFAbGlzdHMubGludXgtaGEub3JnCj4gPmh0dHA6Ly9saXN0cy5saW51eC1oYS5vcmcv
bWFpbG1hbi9saXN0aW5mby9saW51eC1oYQo+ID5TZWUgYWxzbzogaHR0cDovL2xpbnV4LWhhLm9y
Zy9SZXBvcnRpbmdQcm9ibGVtcwo+ID4KPiAKPiAKCj4gIyEvYmluL2Jhc2gKPiAKPiBkZXNjcmlw
dGlvbj0iCj4gZmVuY2VfZWMyIGlzIGFuIEkvTyBGZW5jaW5nIGFnZW50IHdoaWNoIGNhbiBiZSB1
c2VkIHdpdGggQW1hem9uIEVDMiBpbnN0YW5jZXMuCj4gCj4gQVBJIGZ1bmN0aW9ucyB1c2VkIGJ5
IHRoaXMgYWdlbnQ6Cj4gLSBhd3MgZWMyIGRlc2NyaWJlLXRhZ3MKPiAtIGF3cyBlYzIgZGVzY3Jp
YmUtaW5zdGFuY2VzCj4gLSBhd3MgZWMyIHN0b3AtaW5zdGFuY2VzCj4gLSBhd3MgZWMyIHN0YXJ0
LWluc3RhbmNlcwo+IC0gYXdzIGVjMiByZWJvb3QtaW5zdGFuY2VzCj4gCj4gSWYgdGhlIHVuYW1l
IHVzZWQgYnkgdGhlIGNsdXN0ZXIgbm9kZSBpcyBhbnkgb2Y6Cj4gIC0gUHVibGljIEROUyBuYW1l
IChvciBwYXJ0IHRoZXJlIG9mKSwKPiAgLSBQcml2YXRlIEROUyBuYW1lIChvciBwYXJ0IHRoZXJl
IG9mKSwKPiAgLSBJbnN0YW5jZSBJRCAoZWcuIGktNGYxNWE4MzkpCj4gIC0gQ29udGVudHMgb2Yg
dGFnIGFzc29jaWF0ZWQgd2l0aCB0aGUgaW5zdGFuY2UKPiB0aGVuIHRoZSBhZ2VudCBzaG91bGQg
YmUgYWJsZSB0byBhdXRvbWF0aWNhbGx5IGRpc2NvdmVyIHRoZSBpbnN0YW5jZXMgaXQgY2FuIGNv
bnRyb2wuCj4gCj4gSWYgdGhlIHRhZyBjb250YWluaW5nIHRoZSB1bmFtZSBpcyBub3QgW05hbWVd
LCB0aGVuIGl0IHdpbGwgbmVlZCB0byBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIFt0YWddIG9wdGlv
bi4KPiAiCj4gCj4gIwo+ICMgQ29weXJpZ2h0IChjKSAyMDExLTIwMTMgQW5kcmV3IEJlZWtob2YK
PiAjIENvcHlyaWdodCAoYykgMjAxNCBOSVBQT04gVEVMRUdSQVBIIEFORCBURUxFUEhPTkUgQ09S
UE9SQVRJT04KPiAjICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkLgo+ICMK
PiAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5Cj4gIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdmVyc2lvbiAyIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ICMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gIwo+ICMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLCBidXQKPiAjIFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAjIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KPiAjCj4gIyBG
dXJ0aGVyLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkIHdpdGhvdXQgYW55IHdhcnJhbnR5
IHRoYXQgaXQgaXMKPiAjIGZyZWUgb2YgdGhlIHJpZ2h0ZnVsIGNsYWltIG9mIGFueSB0aGlyZCBw
ZXJzb24gcmVnYXJkaW5nIGluZnJpbmdlbWVudAo+ICMgb3IgdGhlIGxpa2UuICBBbnkgbGljZW5z
ZSBwcm92aWRlZCBoZXJlaW4sIHdoZXRoZXIgaW1wbGllZCBvcgo+ICMgb3RoZXJ3aXNlLCBhcHBs
aWVzIG9ubHkgdG8gdGhpcyBzb2Z0d2FyZSBmaWxlLiAgUGF0ZW50IGxpY2Vuc2VzLCBpZgo+ICMg
YW55LCBwcm92aWRlZCBoZXJlaW4gZG8gbm90IGFwcGx5IHRvIGNvbWJpbmF0aW9ucyBvZiB0aGlz
IHByb2dyYW0gd2l0aAo+ICMgb3RoZXIgc29mdHdhcmUsIG9yIGFueSBvdGhlciBwcm9kdWN0IHdo
YXRzb2V2ZXIuCj4gIwo+ICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBp
ZiBub3QsIHdyaXRlIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCj4gIyBJbmMuLCA1OSBU
ZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiBNQSAwMjExMS0xMzA3LCBVU0EuCj4gIwo+
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCj4gCj4gcXVpZXQ9MAo+IHBvcnRfZGVmYXVsdD0iIgo+IAo+IGluc3Rh
bmNlX25vdF9mb3VuZD0wCj4gdW5rbm93bl9hcmVfc3RvcHBlZD0wCj4gCj4gYWN0aW9uX2RlZmF1
bHQ9InJlc2V0IiAgICAgICAgICMgRGVmYXVsdCBmZW5jZSBhY3Rpb24KPiBlYzJfdGFnX2RlZmF1
bHQ9Ik5hbWUiCSAgICAgICAjIEVDMiBUYWcgY29udGFpbmluZyB0aGUgaW5zdGFuY2UncyB1bmFt
ZQo+IAo+IHNsZWVwX3RpbWU9IjEiCj4gCj4gZWMyX3RhZz0ke3RhZ30KPiAKPiA6ICR7ZWMyX3Rh
Zz0ke2VjMl90YWdfZGVmYXVsdH19Cj4gOiAke3BvcnQ9JHtwb3J0X2RlZmF1bHR9fQo+IAo+IGZ1
bmN0aW9uIHVzYWdlKCkKPiB7Cj4gY2F0IDw8RU9GCj4gYGJhc2VuYW1lICQwYCAtIEEgZmVuY2lu
ZyBhZ2VudCBmb3IgQW1hem9uIEVDMiBpbnN0YW5jZXMKPiAgCj4gJGRlc2NyaXB0aW9uCj4gIAo+
IFVzYWdlOiBgYmFzZW5hbWUgJDBgIC1vfC0tYWN0aW9uIFstbnwtLXBvcnRdIFtvcHRpb25zXQo+
IE9wdGlvbnM6Cj4gIC1oLCAtLWhlbHAgCQlUaGlzIHRleHQKPiAgLVYsIC0tdmVyc2lvbgkJVmVy
c2lvbiBpbmZvcm1hdGlvbgo+ICAtcSwgLS1xdWlldCAJCVJlZHVjZWQgb3V0cHV0IG1vZGUKPiAg
Cj4gQ29tbWFuZHM6Cj4gIC1vLCAtLWFjdGlvbgkJQWN0aW9uIHRvIHBlcmZvcm06IG9ufG9mZnxy
ZWJvb3R8c3RhdHVzfG1vbml0b3IKPiAgLW4sIC0tcG9ydCAJCVRoZSBuYW1lIG9mIGEgbWFjaGlu
ZS9pbnN0YW5jZSB0byBjb250cm9sL2NoZWNrCj4gCj4gQWRkaXRpb25hbCBPcHRpb25zOgo+ICAt
cCwgLS1wcm9maWxlCQlVc2UgYSBzcGVjaWZpYyBwcm9maWxlIGZyb20geW91ciBjcmVkZW50aWFs
IGZpbGUuCj4gIC10LCAtLXRhZyAJCU5hbWUgb2YgdGhlIHRhZyBjb250YWluaW5nIHRoZSBpbnN0
YW5jZSdzIHVuYW1lCj4gCj4gRGFuZ2Vyb3VzIG9wdGlvbnM6Cj4gIC1VLCAtLXVua25vd24tYXJl
LXN0b3BwZWQgCUFzc3VtZSBhbnkgdW5rbm93biBpbnN0YW5jZSBpcyBzYWZlbHkgc3RvcHBlZAo+
IAo+IEVPRgo+ICAgICBleGl0IDA7Cj4gfQo+IAo+IGZ1bmN0aW9uIGdldGluZm8teG1sKCkKPiB7
Cj4gCWNhdCA8PEVPRgo+IDxwYXJhbWV0ZXJzPgo+IAk8cGFyYW1ldGVyIG5hbWU9InBvcnQiIHVu
aXF1ZT0iMSIgcmVxdWlyZWQ9IjEiPgo+IAkJPGNvbnRlbnQgdHlwZT0ic3RyaW5nIiAvPgo+IAkJ
PHNob3J0ZGVzYyBsYW5nPSJlbiI+VGhlIG5hbWUvaWQvdGFnIG9mIGEgaW5zdGFuY2UgdG8gY29u
dHJvbC9jaGVjazwvc2hvcnRkZXNjPgo+IAk8L3BhcmFtZXRlcj4KPiAJPHBhcmFtZXRlciBuYW1l
PSJwcm9maWxlIiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIwIj4KPiAJCTxjb250ZW50IHR5cGU9InN0
cmluZyIgZGVmYXVsdD0iZGVmYXVsdCIgLz4KPiAJCTxzaG9ydGRlc2MgbGFuZz0iZW4iPlVzZSBh
IHNwZWNpZmljIHByb2ZpbGUgZnJvbSB5b3VyIGNyZWRlbnRpYWwgZmlsZS48L3Nob3J0ZGVzYz4K
PiAJPC9wYXJhbWV0ZXI+Cj4gCTxwYXJhbWV0ZXIgbmFtZT0idGFnIiB1bmlxdWU9IjAiIHJlcXVp
cmVkPSIxIj4KPiAJCTxjb250ZW50IHR5cGU9InN0cmluZyIgZGVmYXVsdD0iTmFtZSIgLz4KPiAJ
CTxzaG9ydGRlc2MgbGFuZz0iZW4iPk5hbWUgb2YgdGhlIHRhZyBjb250YWluaW5nIHRoZSBpbnN0
YW5jZXMgdW5hbWU8L3Nob3J0ZGVzYz4KPiAJPC9wYXJhbWV0ZXI+Cj4gCTxwYXJhbWV0ZXIgbmFt
ZT0idW5rbm93bl9hcmVfc3RvcHBlZCIgdW5pcXVlPSIwIiByZXF1aXJlZD0iMCI+Cj4gCQk8Y29u
dGVudCB0eXBlPSJzdHJpbmciIGRlZmF1bHQ9ImZhbHNlIiAvPgo+IAkJPHNob3J0ZGVzYyBsYW5n
PSJlbiI+REFOR0VSOiBBc3N1bWUgYW55IHVua25vd24gaW5zdGFuY2UgaXMgc2FmZWx5IHN0b3Bw
ZWQ8L3Nob3J0ZGVzYz4KPiAJPC9wYXJhbWV0ZXI+Cj4gPC9wYXJhbWV0ZXJzPgo+IEVPRgo+IAll
eGl0IDA7Cj4gfQo+IAo+IGZ1bmN0aW9uIG1ldGFkYXRhKCkKPiB7Cj4gCWNhdCA8PEVPRgo+IDw/
eG1sIHZlcnNpb249IjEuMCIgPz4KPiA8cmVzb3VyY2UtYWdlbnQgbmFtZT0iZmVuY2VfZWMyIiBz
aG9ydGRlc2M9IkZlbmNpbmcgYWdlbnQgZm9yIEFtYXpvbiBFQzIgaW5zdGFuY2VzIiA+Cj4gCTxs
b25nZGVzYz4KPiAkZGVzY3JpcHRpb24KPiAJPC9sb25nZGVzYz4KPiAJPHBhcmFtZXRlcnM+Cj4g
CTxwYXJhbWV0ZXIgbmFtZT0iYWN0aW9uIiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIxIj4KPiAJCTxn
ZXRvcHQgbWl4ZWQ9Ii1vLCAtLWFjdGlvbj1bYWN0aW9uXSIgLz4KPiAJCTxjb250ZW50IHR5cGU9
InN0cmluZyIgZGVmYXVsdD0icmVib290IiAvPgo+IAkJPHNob3J0ZGVzYyBsYW5nPSJlbiI+RmVu
Y2luZyBBY3Rpb248L3Nob3J0ZGVzYz4KPiAJPC9wYXJhbWV0ZXI+Cj4gCTxwYXJhbWV0ZXIgbmFt
ZT0icG9ydCIgdW5pcXVlPSIxIiByZXF1aXJlZD0iMSI+Cj4gCQk8Z2V0b3B0IG1peGVkPSItbiwg
LS1wb3J0PVtwb3J0XSIgLz4KPiAJCTxjb250ZW50IHR5cGU9InN0cmluZyIgLz4KPiAJCTxzaG9y
dGRlc2MgbGFuZz0iZW4iPlRoZSBuYW1lL2lkL3RhZyBvZiBhIGluc3RhbmNlIHRvIGNvbnRyb2wv
Y2hlY2s8L3Nob3J0ZGVzYz4KPiAJPC9wYXJhbWV0ZXI+Cj4gCTxwYXJhbWV0ZXIgbmFtZT0icHJv
ZmlsZSIgdW5pcXVlPSIwIiByZXF1aXJlZD0iMCI+Cj4gCQk8Z2V0b3B0IG1peGVkPSItcCwgLS1w
cm9maWxlPVtwcm9maWxlXSIgLz4KPiAJCTxjb250ZW50IHR5cGU9InN0cmluZyIgZGVmYXVsdD0i
ZGVmYXVsdCIgLz4KPiAJCTxzaG9ydGRlc2MgbGFuZz0iZW4iPlVzZSBhIHNwZWNpZmljIHByb2Zp
bGUgZnJvbSB5b3VyIGNyZWRlbnRpYWwgZmlsZS48L3Nob3J0ZGVzYz4KPiAJPC9wYXJhbWV0ZXI+
Cj4gCTxwYXJhbWV0ZXIgbmFtZT0idGFnIiB1bmlxdWU9IjAiIHJlcXVpcmVkPSIxIj4KPiAJCTxn
ZXRvcHQgbWl4ZWQ9Ii10LCAtLXRhZz1bdGFnXSIgLz4KPiAJCTxjb250ZW50IHR5cGU9InN0cmlu
ZyIgZGVmYXVsdD0iTmFtZSIgLz4KPiAJCTxzaG9ydGRlc2MgbGFuZz0iZW4iPk5hbWUgb2YgdGhl
IHRhZyBjb250YWluaW5nIHRoZSBpbnN0YW5jZXMgdW5hbWU8L3Nob3J0ZGVzYz4KPiAJPC9wYXJh
bWV0ZXI+Cj4gCTxwYXJhbWV0ZXIgbmFtZT0idW5rbm93bi1hcmUtc3RvcHBlZCIgdW5pcXVlPSIw
IiByZXF1aXJlZD0iMCI+Cj4gCQk8Z2V0b3B0IG1peGVkPSItVSwgLS11bmtub3duLWFyZS1zdG9w
cGVkIiAvPgo+IAkJPGNvbnRlbnQgdHlwZT0ic3RyaW5nIiBkZWZhdWx0PSJmYWxzZSIgLz4KPiAJ
CTxzaG9ydGRlc2MgbGFuZz0iZW4iPkRBTkdFUjogQXNzdW1lIGFueSB1bmtub3duIGluc3RhbmNl
IGlzIHNhZmVseSBzdG9wcGVkPC9zaG9ydGRlc2M+Cj4gCTwvcGFyYW1ldGVyPgo+IAk8L3BhcmFt
ZXRlcnM+Cj4gCTxhY3Rpb25zPgo+IAk8YWN0aW9uIG5hbWU9Im9uIiAvPgo+IAk8YWN0aW9uIG5h
bWU9Im9mZiIgLz4KPiAJPGFjdGlvbiBuYW1lPSJyZWJvb3QiIC8+Cj4gCTxhY3Rpb24gbmFtZT0i
c3RhdHVzIiAvPgo+IAk8YWN0aW9uIG5hbWU9Imxpc3QiIC8+Cj4gCTxhY3Rpb24gbmFtZT0ibW9u
aXRvciIgLz4KPiAJPGFjdGlvbiBuYW1lPSJtZXRhZGF0YSIgLz4KPiAJPC9hY3Rpb25zPgo+IDwv
cmVzb3VyY2UtYWdlbnQ+Cj4gRU9GCj4gCWV4aXQgMDsKPiB9Cj4gCj4gZnVuY3Rpb24gaW5zdGFu
Y2VfZm9yX3BvcnQoKQo+IHsKPiAJbG9jYWwgcG9ydD0kMQo+IAlsb2NhbCBpbnN0YW5jZT0iIgo+
IAo+IAkjIExvb2sgZm9yIHBvcnQgbmFtZSAtbiBpbiB0aGUgSU5TVEFOQ0UgZGF0YQo+IAlpbnN0
YW5jZT1gYXdzIGVjMiBkZXNjcmliZS1pbnN0YW5jZXMgJG9wdGlvbnMgfCBncmVwICJeSU5TVEFO
Q0VTW1s6c3BhY2U6XV0uKltbOnNwYWNlOl1dJHBvcnRbWzpzcGFjZTpdXSIgfCBhd2sgJ3twcmlu
dCAkOH0nYAo+IAlpZiBbIC16ICRpbnN0YW5jZSBdOyB0aGVuCj4gCQkjIExvb2sgZm9yIHBvcnQg
bmFtZSAtbiBpbiB0aGUgTmFtZSBUQUcKPiAJCWluc3RhbmNlPWBhd3MgZWMyIGRlc2NyaWJlLXRh
Z3MgJG9wdGlvbnMgfCBncmVwICJeVEFHU1tbOnNwYWNlOl1dJGVjMl90YWdbWzpzcGFjZTpdXS4q
W1s6c3BhY2U6XV1pbnN0YW5jZVtbOnNwYWNlOl1dJHBvcnQkIiB8IGF3ayAne3ByaW50ICQzfSdg
Cj4gCWZpCj4gCj4gCWlmIFsgLXogJGluc3RhbmNlIF07IHRoZW4KPiAJCWluc3RhbmNlX25vdF9m
b3VuZD0xCj4gCQlpbnN0YW5jZT0kcG9ydAo+IAlmaQo+IAo+IAllY2hvICRpbnN0YW5jZQo+IH0K
PiAKPiBmdW5jdGlvbiBpbnN0YW5jZV9vbigpCj4gewo+IAlhd3MgZWMyIHN0YXJ0LWluc3RhbmNl
cyAkb3B0aW9ucyAtLWluc3RhbmNlLWlkcyAkaW5zdGFuY2UKPiB9Cj4gCj4gZnVuY3Rpb24gaW5z
dGFuY2Vfb2ZmKCkKPiB7Cj4gCWlmIFsgJHVua25vd25fYXJlX3N0b3BwZWQgPSAxIC1hICRpbnN0
YW5jZV9ub3RfZm91bmQgXTsgdGhlbgo+IAkJOiBub3RoaW5nIHRvIGRvCj4gCQloYV9sb2cuc2gg
aW5mbyAiQXNzdW1pbmcgdW5rbm93biBpbnN0YW5jZSAkaW5zdGFuY2UgaXMgYWxyZWFkeSBvZmYi
Cj4gCWVsc2UKPiAJCWF3cyBlYzIgc3RvcC1pbnN0YW5jZXMgJG9wdGlvbnMgLS1pbnN0YW5jZS1p
ZHMgJGluc3RhbmNlIC0tZm9yY2UKPiAJZmkKPiB9Cj4gCj4gZnVuY3Rpb24gaW5zdGFuY2Vfc3Rh
dHVzKCkKPiB7Cj4gCWxvY2FsIGluc3RhbmNlPSQxCj4gCWxvY2FsIHN0YXR1cz0idW5rbm93biIK
PiAJbG9jYWwgcmM9MQo+IAo+IAkjIExpc3Qgb2YgaW5zdGFuY2VzIGFuZCB0aGVpciBjdXJyZW50
IHN0YXR1cwo+IAlpZiBbICR1bmtub3duX2FyZV9zdG9wcGVkID0gMSAtYSAkaW5zdGFuY2Vfbm90
X2ZvdW5kIF07IHRoZW4KPiAJCWhhX2xvZy5zaCBpbmZvICIkaW5zdGFuY2Ugc3RvcHBlZCAodW5r
bm93bikiCj4gCWVsc2UKPiAJCXN0YXR1cz1gYXdzIGVjMiBkZXNjcmliZS1pbnN0YW5jZXMgJG9w
dGlvbnMgLS1pbnN0YW5jZS1pZHMgJGluc3RhbmNlIHwgYXdrICd7IAo+IAkJCWlmICgvXlNUQVRF
wqV0LykgeyBwcmludGYgIiVzIiwgJDMgfQo+IAkJCX0nYAo+IAkJcmM9JD8KPiAJZmkKPiAJaGFf
bG9nLnNoIGluZm8gInN0YXR1cyBjaGVjayBmb3IgJGluc3RhbmNlIGlzICRzdGF0dXMiCj4gCWVj
aG8gJHN0YXR1cwo+IAlyZXR1cm4gJHJjCj4gfQo+IAo+IAo+IFRFTVA9YGdldG9wdCAtbyBxVmhv
OmU6cDpuOnQ6VSAtLWxvbmcgdmVyc2lvbixoZWxwLGFjdGlvbjoscG9ydDosb3B0aW9uOixwcm9m
aWxlOix0YWc6LHF1aWV0LHVua25vd24tYXJlLXN0b3BwZWQgwqUKPiAgICAgIC1uICdmZW5jZV9l
YzInIC0tICIkQCJgCj4gCj4gaWYgWyAkPyAhPSAwIF07dGhlbiAKPiAgICAgdXNhZ2UKPiAgICAg
ZXhpdCAxCj4gZmkKPiAKPiAjIE5vdGUgdGhlIHF1b3RlcyBhcm91bmQgYCRURU1QJzogdGhleSBh
cmUgZXNzZW50aWFsIQo+IGV2YWwgc2V0IC0tICIkVEVNUCIKPiAKPiBpZiBbIC16ICQxIF07IHRo
ZW4KPiAJIyBJZiB0aGVyZSBhcmUgbm8gY29tbWFuZCBsaW5lIGFyZ3MsIGxvb2sgZm9yIG9wdGlv
bnMgZnJvbSBzdGRpbgo+IAl3aGlsZSByZWFkIGxpbmU7IGRvCj4gCQljYXNlICRsaW5lIGluIAo+
IAkJCW9wdGlvbj0qfGFjdGlvbj0qKSBhY3Rpb249YGVjaG8gJGxpbmUgfCBzZWQgcy8uKj0vL2A7
Owo+IAkJCXBvcnQ9KikgICAgICAgIHBvcnQ9YGVjaG8gJGxpbmUgfCBzZWQgcy8uKj0vL2A7Owo+
IAkJCXByb2ZpbGU9KikgICAgIGVjMl9wcm9maWxlPWBlY2hvICRsaW5lIHwgc2VkIHMvLio9Ly9g
OzsKPiAJCQl0YWc9KikgICAgICAgICBlYzJfdGFnPWBlY2hvICRsaW5lIHwgc2VkIHMvLio9Ly9g
OzsKPiAJCQlxdWlldCopICAgICAgICBxdWlldD0xOzsKPiAJCQl1bmtub3duLWFyZS1zdG9wcGVk
KikgdW5rbm93bl9hcmVfc3RvcHBlZD0xOzsKPiAJCQktLSk7Owo+IAkJCSopIGhhX2xvZy5zaCBl
cnIgIkludmFsaWQgY29tbWFuZDogJGxpbmUiOzsKPiAJCWVzYWMKPiAJZG9uZQo+IGZpCj4gCj4g
d2hpbGUgdHJ1ZSA7IGRvCj4gCWNhc2UgIiQxIiBpbgo+IAkJLW98LS1hY3Rpb258LS1vcHRpb24p
IGFjdGlvbj0kMjsgICBzaGlmdDsgc2hpZnQ7Owo+IAkJLW58LS1wb3J0KSAgICAgICAgICAgIHBv
cnQ9JDI7ICAgICBzaGlmdDsgc2hpZnQ7Owo+IAkJLXB8LS1wcm9maWxlKSAgICAgICAgIGVjMl9w
cm9maWxlPSQyOyBzaGlmdDsgc2hpZnQ7Owo+IAkJLXR8LS10YWcpCSAgICAgIGVjMl90YWc9JDI7
IHNoaWZ0OyBzaGlmdDs7Cj4gCQktVXwtLXVua25vd24tYXJlLXN0b3BwZWQpIHVua25vd25fYXJl
X3N0b3BwZWQ9MTsgc2hpZnQ7Owo+IAkJLXF8LS1xdWlldCkgcXVpZXQ9MTsgc2hpZnQ7Owo+IAkJ
LVZ8LS12ZXJzaW9uKSBlY2hvICIxLjAuMCI7IGV4aXQgMDs7Cj4gCQktLWhlbHB8LWgpIAo+IAkJ
CXVzYWdlOwo+IAkJCWV4aXQgMDs7Cj4gCQktLSkgc2hpZnQgOyBicmVhayA7Owo+IAkJKikgaGFf
bG9nLnNoIGVyciAiVW5rbm93biBvcHRpb246ICQxLiBTZWUgLS1oZWxwIGZvciBkZXRhaWxzLiI7
IGV4aXQgMTs7Cj4gCWVzYWMKPiBkb25lCj4gCj4gWyAtbiAiJDEiIF0gJiYgYWN0aW9uPSQxCj4g
Cj4gaWYgWyAteiAiJGVjMl9wcm9maWxlIl07IHRoZW4KPiAJb3B0aW9ucz0iLS1vdXRwdXQgdGV4
dCAtLXByb2ZpbGUgZGVmYXVsdCIKPiBlbHNlCj4gCW9wdGlvbnM9Ii0tb3V0cHV0IHRleHQgLS1w
cm9maWxlICRlYzJfcHJvZmlsZSAiCj4gZmkKPiAKPiBhY3Rpb249YGVjaG8gJGFjdGlvbiB8IHRy
ICdBLVonICdhLXonYAo+IAo+IGNhc2UgJGFjdGlvbiBpbiAKPiAJbWV0YWRhdGEpCj4gCQltZXRh
ZGF0YQo+IAk7Owo+IAlnZXRpbmZvLXhtbCkKPiAJCWdldGluZm8teG1sCj4gCTs7Cj4gCWdldGNv
bmZpZ25hbWVzKQo+IAkJZm9yIGkgaW4gcHJvZmlsZSBwb3J0IHRhZwo+IAkJZG8KPiAJCQllY2hv
ICRpCj4gCQlkb25lCj4gCQlleGl0IDAKPiAJOzsKPiAJZ2V0aW5mby1kZXZpZCkKPiAJCWVjaG8g
IkVDMiBTVE9OSVRIIGRldmljZSIKPiAJCWV4aXQgMAo+IAk7Owo+IAlnZXRpbmZvLWRldm5hbWUp
Cj4gCQllY2hvICJFQzIgU1RPTklUSCBleHRlcm5hbCBkZXZpY2UiCj4gCQlleGl0IDAKPiAJOzsK
PiAJZ2V0aW5mby1kZXZkZXNjcikKPiAJCWVjaG8gImZlbmNlX2VjMiBpcyBhbiBJL08gRmVuY2lu
ZyBhZ2VudCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFtYXpvbiBFQzIgaW5zdGFuY2VzLiIKPiAJ
CWV4aXQgMAo+IAk7Owo+IAlnZXRpbmZvLWRldnVybCkKPiAJCWVjaG8gIiIKPiAJCWV4aXQgMAo+
IAk7Owo+IGVzYWMKPiAKPiAjIGdldCBteSBpbnN0YW5jZSBpZAo+IG15aW5zdGFuY2U9YGN1cmwg
aHR0cDovLzE2OS4yNTQuMTY5LjI1NC9sYXRlc3QvbWV0YS1kYXRhL2luc3RhbmNlLWlkYAo+IAo+
ICMgY2hlY2sgbXkgc3RhdHVzLgo+ICMgV2hlbiB0aGUgRUMyIGluc3RhbmNlIGJlIHN0b3BwZWQg
YnkgdGhlICJhd3MgZWMyIHN0b3AtaW5zdGFuY2VzIiAsIHRoZSBzdG9wIHByb2Nlc3Npbmcgb2Yg
dGhlIE9TIGlzIGV4ZWN1dGVkLgo+ICMgV2hpbGUgdGhlIE9TIHN0b3AgcHJvY2Vzc2luZywgUGFj
ZW1ha2VyIGNhbiBleGVjdXRlIHRoZSBTVE9OSVRIIHByb2Nlc3NpbmcuCj4gIyBTbywgSWYgbXkg
c3RhdHVzIGlzIG5vdCAicnVubmluZyIsIGl0IGRldGVybWluZWQgdGhhdCBJIHdhcyBhbHJlYWR5
IGZlbmNlZC4gQW5kIHRvIHByZXZlbnQgZmVuY2luZyBlYWNoIG90aGVyCj4gIyBpbiBzcGxpdC1i
cmFpbiwgSSBkb24ndCBmZW5jZSBvdGhlciBub2RlLgo+IGlmIFsgLXogIiRteWluc3RhbmNlIiBd
OyB0aGVuCj4gCWhhX2xvZy5zaCBlcnIgIkZhaWxlZCB0byBnZXQgTXkgSW5zdGFuY2UgSUQuIHNv
IGNhbiBub3QgY2hlY2sgbXkgc3RhdHVzLiIKPiAJZXhpdCAxCj4gZmkKPiBteXN0YXR1cz1gaW5z
dGFuY2Vfc3RhdHVzICRteWluc3RhbmNlYAo+IGlmIFsgIiRteXN0YXR1cyIgIT0gInJ1bm5pbmci
IF07IHRoZW4gI2RvIG5vdCBmZW5jZQo+IAloYV9sb2cuc2ggd2FybiAiSSB3YXMgYWxyZWFkeSBm
ZW5jZWQgKE15IGluc3RhbmNlIHN0YXR1cz0kbXlzdGF0dXMpLiBJIGRvbid0IGZlbmNlIG90aGVy
IG5vZGUuIgo+IAlleGl0IDEKPiBmaQo+IAo+ICMgZ2V0IHRhcmdldCdzIGluc3RhbmNlIGlkCj4g
aW5zdGFuY2U9IiIKPiBpZiBbICEgLXogIiRwb3J0IiBdOyB0aGVuCj4gCWluc3RhbmNlPWBpbnN0
YW5jZV9mb3JfcG9ydCAkcG9ydCAkb3B0aW9uc2AKPiBmaQo+IAo+IGNhc2UgJGFjdGlvbiBpbiAK
PiAJcmVib290fHJlc2V0KQo+IAkJc3RhdHVzPWBpbnN0YW5jZV9zdGF0dXMgJGluc3RhbmNlYAo+
IAkJaWYgWyAiJHN0YXR1cyIgIT0gInN0b3BwZWQiIF07IHRoZW4KPiAJCQlpbnN0YW5jZV9vZmYK
PiAJCWZpCj4gCQl3aGlsZSB0cnVlOwo+IAkJZG8KPiAJCQlzdGF0dXM9YGluc3RhbmNlX3N0YXR1
cyAkaW5zdGFuY2VgCj4gCQkJaWYgWyAiJHN0YXR1cyIgPSAic3RvcHBlZCIgXTsgdGhlbgo+IAkJ
CQlicmVhawo+IAkJCWZpCj4gCQkJc2xlZXAgJHNsZWVwX3RpbWUKPiAJCWRvbmUKPiAJCWluc3Rh
bmNlX29uCj4gCQl3aGlsZSB0cnVlOwo+IAkJZG8KPiAJCQlzdGF0dXM9YGluc3RhbmNlX3N0YXR1
cyAkaW5zdGFuY2VgCj4gCQkJaWYgWyAiJHN0YXR1cyIgPSAicnVubmluZyIgXTsgdGhlbgo+IAkJ
CQlicmVhawo+IAkJCWZpCj4gCQkJc2xlZXAgJHNsZWVwX3RpbWUKPiAJCWRvbmUKPiAJOzsKPiAJ
cG93ZXJvbnxvbikKPiAJCWluc3RhbmNlX29uCj4gCQl3aGlsZSB0cnVlOwo+IAkJZG8KPiAJCQlz
dGF0dXM9YGluc3RhbmNlX3N0YXR1cyAkaW5zdGFuY2VgCj4gCQkJaWYgWyAiJHN0YXR1cyIgPSAi
cnVubmluZyIgXTsgdGhlbgo+IAkJCQlicmVhawo+IAkJCWZpCj4gCQlkb25lCj4gCTs7Cj4gCXBv
d2Vyb2ZmfG9mZikKPiAJCWluc3RhbmNlX29mZgo+IAkJd2hpbGUgdHJ1ZTsKPiAJCWRvCj4gCQkJ
c3RhdHVzPWBpbnN0YW5jZV9zdGF0dXMgJGluc3RhbmNlYAo+IAkJCWlmIFsgIiRzdGF0dXMiID0g
InN0b3BwZWQiIF07IHRoZW4KPiAJCQkJYnJlYWsKPiAJCQlmaQo+IAkJCXNsZWVwICRzbGVlcF90
aW1lCj4gCQlkb25lCj4gCTs7Cj4gCW1vbml0b3IpCj4gCQkjIElzIHRoZSBkZXZpY2Ugb2s/Cj4g
CQlhd3MgZWMyIGRlc2NyaWJlLWluc3RhbmNlcyAkb3B0aW9ucyB8IGdyZXAgSU5TVEFOQ0VTICY+
IC9kZXYvbnVsbAo+IAk7Owo+IAlnZXRob3N0c3xob3N0bGlzdHxsaXN0KQo+IAkJIyBMaXN0IG9m
IG5hbWVzIHdlIGtub3cgYWJvdXQKPiAJCWE9YGF3cyBlYzIgZGVzY3JpYmUtaW5zdGFuY2VzICRv
cHRpb25zIHwgYXdrIC12IHRhZ19wYXQ9Il5UQUdTwqV0JGVjMl90YWfCpXQiIC1GICfCpXQnICd7
IAo+IAkJCWlmICgvXklOU1RBTkNFUy8pIHsgcHJpbnRmICIlc8KlbiIsICQ4IH0KPiAJCQllbHNl
IGlmICggJDEiwqV0IiQyIsKldCIg4oC+IHRhZ19wYXQgKSB7IHByaW50ZiAiJXPCpW4iLCAkMyB9
Cj4gCQkJfScgfCBzb3J0IC11YAo+IAkJZWNobyAkYQo+IAk7Owo+IAlzdGF0fHN0YXR1cykKPiAJ
CWluc3RhbmNlX3N0YXR1cyAkaW5zdGFuY2UgPiAvZGV2L251bGwKPiAJOzsKPiAJKikgaGFfbG9n
LnNoIGVyciAiVW5rbm93biBhY3Rpb246ICRhY3Rpb24iOyBleGl0IDE7Owo+IGVzYWMKPiAKPiBz
dGF0dXM9JD8KPiAKPiBpZiBbICRxdWlldCAtZXEgMSBdOyB0aGVuCj4gCTogbm90aGluZwo+IGVs
aWYgWyAkc3RhdHVzIC1lcSAwIF07IHRoZW4KPiAJaGFfbG9nLnNoIGluZm8gIk9wZXJhdGlvbiAk
YWN0aW9uIHBhc3NlZCIKPiBlbHNlCj4gCWhhX2xvZy5zaCBlcnIgIk9wZXJhdGlvbiAkYWN0aW9u
IGZhaWxlZDogJHN0YXR1cyIKPiBmaQo+IGV4aXQgJHN0YXR1cwoKPiBfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IExpbnV4LUhBIG1haWxpbmcgbGlzdAo+
IExpbnV4LUhBQGxpc3RzLmxpbnV4LWhhLm9yZwo+IGh0dHA6Ly9saXN0cy5saW51eC1oYS5vcmcv
bWFpbG1hbi9saXN0aW5mby9saW51eC1oYQo+IFNlZSBhbHNvOiBodHRwOi8vbGludXgtaGEub3Jn
L1JlcG9ydGluZ1Byb2JsZW1zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpMaW51eC1IQSBtYWlsaW5nIGxpc3QKTGludXgtSEFAbGlzdHMubGludXgtaGEu
b3JnCmh0dHA6Ly9saXN0cy5saW51eC1oYS5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1oYQpT
ZWUgYWxzbzogaHR0cDovL2xpbnV4LWhhLm9yZy9SZXBvcnRpbmdQcm9ibGVtcw==