From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23667 invoked by alias); 24 Jan 2003 10:16:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23634 invoked by uid 71); 24 Jan 2003 10:16:01 -0000 Resent-Date: 24 Jan 2003 10:16:01 -0000 Resent-Message-ID: <20030124101601.23632.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, William.L.Kleb@NASA.Gov Received: (qmail 23063 invoked by uid 48); 24 Jan 2003 10:10:18 -0000 Message-Id: <20030124101018.23062.qmail@sources.redhat.com> Date: Fri, 24 Jan 2003 10:16:00 -0000 From: William.L.Kleb@NASA.Gov Reply-To: William.L.Kleb@NASA.Gov To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: other/9431: configure generates invalid makefile on HP-UX system X-SW-Source: 2003-01/txt/msg01410.txt.bz2 List-Id: >Number: 9431 >Category: other >Synopsis: configure generates invalid makefile on HP-UX system >Confidential: no >Severity: serious >Priority: low >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Fri Jan 24 10:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Bil Kleb >Release: gcc-3.2.1 >Organization: >Environment: HP-UX B.10.20 A 9000/782 >Description: ./configure --prefix=/home/kleb/local make Make: line 1250: syntax error. Stop. [Makefile attached] >How-To-Repeat: cd .. rm -rf gcc-3.2.1 tar zxf gcc-3.2.1.tar.gz cd gcc-3.2.1 ./configure --prefix=/home/kleb/local make >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="Makefile" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Makefile" IyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGNvbmZpZ3VyZS4gIERv IG5vdCBlZGl0LgpWUEFUSCA9IC4KbGlua3MgPSAKaG9zdF9hbGlhcyA9IGhwcGEyLjAtaHAtaHB1 eDEwLjIwCmhvc3RfY3B1ID0gaHBwYTIuMApob3N0X3ZlbmRvciA9IGhwCmhvc3Rfb3MgPSBocHV4 MTAuMjAKaG9zdF9jYW5vbmljYWwgPSBocHBhMi4wLWhwLWhwdXgxMC4yMAp0YXJnZXRfYWxpYXMg PSBocHBhMi4wLWhwLWhwdXgxMC4yMAp0YXJnZXRfY3B1ID0gaHBwYTIuMAp0YXJnZXRfdmVuZG9y ID0gaHAKdGFyZ2V0X29zID0gaHB1eDEwLjIwCnRhcmdldF9jYW5vbmljYWwgPSBocHBhMi4wLWhw LWhwdXgxMC4yMApidWlsZF9hbGlhcyA9IGhwcGEyLjAtaHAtaHB1eDEwLjIwCmJ1aWxkX2NwdSA9 IGhwcGEyLjAKYnVpbGRfdmVuZG9yID0gaHAKYnVpbGRfb3MgPSBocHV4MTAuMjAKYnVpbGRfY2Fu b25pY2FsID0gaHBwYTIuMC1ocC1ocHV4MTAuMjAKaG9zdF9tYWtlZmlsZV9mcmFnID0gbWgtZnJh ZwplbmFibGVfc2hhcmVkID0gbm8KZW5hYmxlX3RocmVhZHMgPSBubwplbmFibGVfdmVyc2lvbl9z cGVjaWZpY19ydW50aW1lX2xpYnMgPSBubwpnY2NfdmVyc2lvbl90cmlnZ2VyID0gL2hvbWUva2xl Yi9sb2NhbC9zcmMvZ2NjLTMuMi4xL2djYy92ZXJzaW9uLmMKZ2NjX3ZlcnNpb24gPSAzLjIuMQoj CiMgTWFrZWZpbGUgZm9yIGRpcmVjdG9yeSB3aXRoIHN1YmRpcnMgdG8gYnVpbGQuCiMgICBDb3B5 cmlnaHQgKEMpIDE5OTAsIDE5OTEsIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcs IDE5OTgsCiMgICAxOTk5LCAyMDAwLCAyMDAxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgojCiMg VGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KIyAKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIAojIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3Vu ZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIx MTEtMTMwNywgVVNBLgojCgojIFRlbGwgR05VIG1ha2UgMy43OSBub3QgdG8gcnVuIHRoZSB0b3Ag bGV2ZWwgaW4gcGFyYWxsZWwuICBUaGlzIAojIHByZXZlbnRzIGNvbnRlbnRpb24gZm9yICRidWls ZGRpci8kdGFyZ2V0L2NvbmZpZy5jYWNoZSwgYXMgd2VsbAojIGFzIG1pbmltaXppbmcgc2NhdHRl ciBpbiBmaWxlIHN5c3RlbSBjYWNoZXMuCk5PVFBBUkFMTEVMID0gLk5PVFBBUkFMTEVMCiQoTk9U UEFSQUxMRUwpOgoKc3JjZGlyID0gLgoKcHJlZml4ID0gL2hvbWUva2xlYi9sb2NhbApleGVjX3By ZWZpeCA9ICQocHJlZml4KQoKYmluZGlyID0gJHtleGVjX3ByZWZpeH0vYmluCnNiaW5kaXIgPSAk e2V4ZWNfcHJlZml4fS9zYmluCmxpYmV4ZWNkaXIgPSAke2V4ZWNfcHJlZml4fS9saWJleGVjCmRh dGFkaXIgPSAke3ByZWZpeH0vc2hhcmUKc3lzY29uZmRpciA9ICR7cHJlZml4fS9ldGMKc2hhcmVk c3RhdGVkaXIgPSAke3ByZWZpeH0vY29tCmxvY2Fsc3RhdGVkaXIgPSAke3ByZWZpeH0vdmFyCmxp YmRpciA9ICR7ZXhlY19wcmVmaXh9L2xpYgppbmNsdWRlZGlyID0gJHtwcmVmaXh9L2luY2x1ZGUK b2xkaW5jbHVkZWRpciA9IC91c3IvaW5jbHVkZQppbmZvZGlyID0gJHtwcmVmaXh9L2luZm8KbWFu ZGlyID0gJHtwcmVmaXh9L21hbgpneHhfaW5jbHVkZV9kaXI9JHtwcmVmaXh9L2luY2x1ZGUvJHts aWJzdGRjeHhfaW5jZGlyfQoKdG9vbGRpciA9ICQoZXhlY19wcmVmaXgpL2hwcGEyLjAtaHAtaHB1 eDEwLjIwCmJ1aWxkX3Rvb2xkaXIgPSAkKGV4ZWNfcHJlZml4KS9ocHBhMi4wLWhwLWhwdXgxMC4y MAoKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSA9IAoKbWFuMWRpciA9ICQobWFuZGlyKS9tYW4xCm1h bjJkaXIgPSAkKG1hbmRpcikvbWFuMgptYW4zZGlyID0gJChtYW5kaXIpL21hbjMKbWFuNGRpciA9 ICQobWFuZGlyKS9tYW40Cm1hbjVkaXIgPSAkKG1hbmRpcikvbWFuNQptYW42ZGlyID0gJChtYW5k aXIpL21hbjYKbWFuN2RpciA9ICQobWFuZGlyKS9tYW43Cm1hbjhkaXIgPSAkKG1hbmRpcikvbWFu OAptYW45ZGlyID0gJChtYW5kaXIpL21hbjkKaW5mb2RpciA9ICR7cHJlZml4fS9pbmZvCmluY2x1 ZGVkaXIgPSAke3ByZWZpeH0vaW5jbHVkZQojIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGls ZXIgZmluZHMgZXhlY3V0YWJsZXMsIGxpYnJhcmllcywgZXRjLgpsaWJzdWJkaXIgPSAkKGxpYmRp cikvZ2NjLWxpYi8kKHRhcmdldF9hbGlhcykvJChnY2NfdmVyc2lvbikKR0RCX05MTV9ERVBTID0g CgpTSEVMTCA9IC9iaW4vc2gKCiMgSU5TVEFMTF9QUk9HUkFNX0FSR1MgaXMgY2hhbmdlZCBieSBj b25maWd1cmUuaW4gdG8gdXNlIC14IGZvciBhCiMgY3lnd2luIGhvc3QuCklOU1RBTExfUFJPR1JB TV9BUkdTID0KCklOU1RBTEwgPSAkKFNIRUxMKSAkJHMvaW5zdGFsbC1zaCAtYwpJTlNUQUxMX1BS T0dSQU0gPSAkKElOU1RBTEwpICQoSU5TVEFMTF9QUk9HUkFNX0FSR1MpCklOU1RBTExfU0NSSVBU ID0gJChJTlNUQUxMKQpJTlNUQUxMX0RBVEEgPSAkKElOU1RBTEwpIC1tIDY0NAoKSU5TVEFMTF9E T1NSRUwgPSBpbnN0YWxsLWRvc3JlbC1mYWtlCgpBUyA9IGFzCkFSID0gYXIKQVJfRkxBR1MgPSBy YwpDQyA9IGdjYwoKIyBTcGVjaWFsIHZhcmlhYmxlcyBwYXNzZWQgZG93biBpbiBFWFRSQV9HQ0Nf RkxBR1MuICBUaGV5IGFyZSBkZWZpbmVkCiMgaGVyZSBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJy aWRkZW4gYnkgTWFrZWZpbGUgZnJhZ21lbnRzLgpIT1NUX0NDID0gJChDQ19GT1JfQlVJTEQpCkhP U1RfUFJFRklYID0gCkhPU1RfUFJFRklYXzEgPSBsb3Nlci0KCiMgVGhlc2UgZmxhZyB2YWx1ZXMg YXJlIG5vcm1hbGx5IG92ZXJyaWRkZW4gYnkgdGhlIGNvbmZpZ3VyZSBzY3JpcHQuCkNGTEFHUyA9 IC1PMgpDWFhGTEFHUyA9IC1PMgoKTERGTEFHUyA9IApMSUJDRkxBR1MgPSAkKENGTEFHUykKQ0ZM QUdTX0ZPUl9CVUlMRCA9ICQoQ0ZMQUdTKQojIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1 c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuCiMgQ0ZMQUdTIHdpbGwgYmUganVzdCAt Zy4gIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcwojICh3aGljaCB3ZSBr bm93IGFyZSBidWlsdCB3aXRoIGdjYykgYXJlIGJ1aWx0IHdpdGggb3B0aW1pemF0aW9ucyBzbwoj IHByZXBlbmQgLU8yIHdoZW4gc2V0dGluZyBDRkxBR1NfRk9SX1RBUkdFVC4KQ0ZMQUdTX0ZPUl9U QVJHRVQgPSAtTzIgJChDRkxBR1MpCkxERkxBR1NfRk9SX1RBUkdFVCA9IApMSUJDRkxBR1NfRk9S X1RBUkdFVCA9ICQoQ0ZMQUdTX0ZPUl9UQVJHRVQpClBJQ0ZMQUcgPSAKUElDRkxBR19GT1JfVEFS R0VUID0gCgpDWFggPSBjKysKCiMgVXNlIC1PMiB0byBzdHJlc3MgdGVzdCB0aGUgY29tcGlsZXIu CkxJQkNYWEZMQUdTID0gJChDWFhGTEFHUykgLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMKQ1hYRkxB R1NfRk9SX1RBUkdFVCA9ICQoQ1hYRkxBR1MpCkxJQkNYWEZMQUdTX0ZPUl9UQVJHRVQgPSAkKENY WEZMQUdTX0ZPUl9UQVJHRVQpIC1mbm8taW1wbGljaXQtdGVtcGxhdGVzCgpETExUT09MID0gZGxs dG9vbApXSU5EUkVTID0gd2luZHJlcwoKTk0gPSBubQoKTEQgPSBsZAoKQlpJUFBST0cgPSBiemlw MgpNRDVQUk9HID0gbWQ1c3VtCgojIFRoZXNlIHZhbHVlcyBhcmUgc3Vic3RpdHV0ZWQgYnkgY29u ZmlndXJlLgpERUZBVUxUX1lBQ0MgPSBiaXNvbiAteQpERUZBVUxUX0xFWCA9IGZsZXgKREVGQVVM VF9NNCA9IG00CgpCSVNPTiA9IGBpZiBbIC1mICQkci9iaXNvbi9iaXNvbiBdIDsgdGhlbiBcCgkg ICAgZWNobyAkJHIvYmlzb24vYmlzb24gLUwgJCRzL2Jpc29uLyA7IFwKCSBlbHNlIFwKCSAgICBl Y2hvIGJpc29uIDsgXAoJIGZpYAoKWUFDQyA9IGBpZiBbIC1mICQkci9iaXNvbi9iaXNvbiBdIDsg dGhlbiBcCgkgICAgZWNobyAkJHIvYmlzb24vYmlzb24gLXkgLUwgJCRzL2Jpc29uLyA7IFwKCWVs aWYgWyAtZiAkJHIvYnlhY2MvYnlhY2MgXSA7IHRoZW4gXAoJICAgIGVjaG8gJCRyL2J5YWNjL2J5 YWNjIDsgXAoJZWxzZSBcCgkgICAgZWNobyAke0RFRkFVTFRfWUFDQ30gOyBcCglmaWAKCkxFWCA9 IGBpZiBbIC1mICQkci9mbGV4L2ZsZXggXSA7IFwKCXRoZW4gZWNobyAkJHIvZmxleC9mbGV4IDsg XAoJZWxzZSBlY2hvICR7REVGQVVMVF9MRVh9IDsgZmlgCgpNNCA9IGBpZiBbIC1mICQkci9tNC9t NCBdIDsgXAoJdGhlbiBlY2hvICQkci9tNC9tNCA7IFwKCWVsc2UgZWNobyAke0RFRkFVTFRfTTR9 IDsgZmlgCgojIEZvciBhbiBpbnN0YWxsZWQgbWFrZWluZm8sIHdlIHJlcXVpcmUgaXQgdG8gYmUg ZnJvbSB0ZXhpbmZvIDQgb3IKIyBoaWdoZXIsIGVsc2Ugd2UgdXNlIHRoZSAibWlzc2luZyIgZHVt bXkuCk1BS0VJTkZPID0gYGlmIFsgLWYgJCRyL3RleGluZm8vbWFrZWluZm8vbWFrZWluZm8gXSA7 IFwKCXRoZW4gZWNobyAkJHIvdGV4aW5mby9tYWtlaW5mby9tYWtlaW5mbyA7IFwKCWVsc2UgaWYg KG1ha2VpbmZvIC0tdmVyc2lvbiBcCgkgIHwgZWdyZXAgJ3RleGluZm9bXjAtOV0qKFsxLTNdWzAt OV18WzQtOV0pJykgPi9kZXYvbnVsbCAyPiYxOyBcCiAgICAgICAgdGhlbiBlY2hvIG1ha2VpbmZv OyBlbHNlIGVjaG8gJCRzL21pc3NpbmcgbWFrZWluZm87IGZpOyBmaWAKCiMgVGhpcyBqdXN0IGJl Y29tZXMgcGFydCBvZiB0aGUgTUFLRUlORk8gZGVmaW5pdGlvbiBwYXNzZWQgZG93biB0bwojIHN1 Yi1tYWtlcy4gIEl0IGxldHMgZmxhZ3MgYmUgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSB3aGls ZSBzdGlsbAojIHVzaW5nIHRoZSBtYWtlaW5mbyBmcm9tIHRoZSBvYmplY3QgdHJlZS4KTUFLRUlO Rk9GTEFHUyA9CgpFWFBFQ1QgPSBgaWYgWyAtZiAkJHIvZXhwZWN0L2V4cGVjdCBdIDsgXAoJdGhl biBlY2hvICQkci9leHBlY3QvZXhwZWN0IDsgXAoJZWxzZSBlY2hvIGV4cGVjdCA7IGZpYAoKUlVO VEVTVCA9IGBpZiBbIC1mICQkcy9kZWphZ251L3J1bnRlc3QgXSA7IFwKCXRoZW4gZWNobyAkJHMv ZGVqYWdudS9ydW50ZXN0IDsgXAoJZWxzZSBlY2hvIHJ1bnRlc3QgOyBmaWAKCgojIGNvbXBpbGVy cyB0byB1c2UgdG8gY3JlYXRlIHByb2dyYW1zIHdoaWNoIG11c3QgYmUgcnVuIGluIHRoZSBidWls ZAojIGVudmlyb25tZW50LgpDQ19GT1JfQlVJTEQgPSAkKENDKQpDWFhfRk9SX0JVSUxEID0gJChD WFgpCgpTVUJESVJTID0gICAgIGludGwgbW1hbGxvYyBsaWJpYmVydHkgb3Bjb2RlcyBiZmQgcmVh ZGxpbmUgZ2FzaCBkYiB0Y2wgdGsgdGNsOC4xIHRrOC4xIHRjbFggaXRjbCB0aXggbGliZ3VpIHps aWIgdGV4aW5mbyBieWFjYyBmbGV4IGJpc29uIGJpbnV0aWxzIGdhcyBnY2Mgc2ltIGdkYiBtYWtl IHBhdGNoIHBybXMgc2VuZC1wciBncHJvZiBnZGJ0ZXN0IHRnYXMgZXRjIGV4cGVjdCBkZWphZ251 IGFzaCBiYXNoIGJ6aXAyIG00IGF1dG9jb25mIGF1dG9tYWtlIGxpYnRvb2wgaXNwZWxsIGdyZXAg ZGlmZiByY3MgY3Zzc3JjIGZpbGV1dGlscyB0aW1lIHRleHR1dGlscyB3ZGlmZiBmaW5kIHV1ZGVj b2RlIGhlbGxvIHRhciBnemlwIGluZGVudCByZWNvZGUgcmVsZWFzZSBzZWQgdXRpbHMgZ3VpbGUg cGVybCBhcGFjaGUgaW5ldCBnYXdrIGZpbmR1dGlscyBzbmF2aWdhdG9yIGxpYnRvb2wgZ2V0dGV4 dCB6aXAgZmFzdGphciAgICAKT1RIRVJTID0gCgojIFRoaXMgaXMgc2V0IGJ5IHRoZSBjb25maWd1 cmUgc2NyaXB0IHRvIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHdoaWNoCiMgc2hvdWxkIGJlIGJ1 aWx0IHVzaW5nIHRoZSB0YXJnZXQgdG9vbHMuClRBUkdFVF9DT05GSUdESVJTID0gICAgICAgIGxp YmliZXJ0eSBsaWJyeCBsaWJzdGRjKystdjMgbGliZjJjIGxpYm9iamMgZXhhbXBsZXMgZ3JvZmYg Z3BlcmYgICAgICAgCgojIFRhcmdldCBsaWJyYXJpZXMgYXJlIHB1dCB1bmRlciB0aGlzIGRpcmVj dG9yeToKIyBDaGFuZ2VkIGJ5IGNvbmZpZ3VyZSB0byAkKHRhcmdldF9hbGlhcykgaWYgY3Jvc3Mu ClRBUkdFVF9TVUJESVIgPSBocHBhMi4wLWhwLWhwdXgxMC4yMAoKQlVJTERfQ09ORklHRElSUyA9 IGxpYmliZXJ0eQpCVUlMRF9TVUJESVIgPSBocHBhMi4wLWhwLWhwdXgxMC4yMAoKIyBUaGlzIGlz IHNldCBieSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byB0aGUgYXJndW1lbnRzIHRvIHVzZSB3aGVu IGNvbmZpZ3VyaW5nCiMgZGlyZWN0b3JpZXMgYnVpbHQgZm9yIHRoZSB0YXJnZXQuClRBUkdFVF9D T05GSUdBUkdTID0gLS1jYWNoZS1maWxlPS4uL2NvbmZpZy5jYWNoZSAtLWhvc3Q9aHBwYTIuMC1o cC1ocHV4MTAuMjAgLS1idWlsZD1ocHBhMi4wLWhwLWhwdXgxMC4yMCAtLWVuYWJsZS1tdWx0aWxp YiAtLXdpdGgtZ2NjLXZlcnNpb24tdHJpZ2dlcj0vaG9tZS9rbGViL2xvY2FsL3NyYy9nY2MtMy4y LjEvZ2NjL3ZlcnNpb24uYyAgIC0tcHJlZml4PS9ob21lL2tsZWIvbG9jYWwKCiMgVGhpcyBpcyBz ZXQgYnkgdGhlIGNvbmZpZ3VyZSBzY3JpcHQgdG8gdGhlIGFyZ3VtZW50cyB0byB1c2Ugd2hlbiBj b25maWd1cmluZwojIGRpcmVjdG9yaWVzIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtLgpCVUlM RF9DT05GSUdBUkdTID0gLS1jYWNoZS1maWxlPS4uL2NvbmZpZy5jYWNoZSAtLWJ1aWxkPWhwcGEy LjAtaHAtaHB1eDEwLjIwIC0taG9zdD1ocHBhMi4wLWhwLWhwdXgxMC4yMCAtLXdpdGgtZ2NjLXZl cnNpb24tdHJpZ2dlcj0vaG9tZS9rbGViL2xvY2FsL3NyYy9nY2MtMy4yLjEvZ2NjL3ZlcnNpb24u YyAgIC0tcHJlZml4PS9ob21lL2tsZWIvbG9jYWwKCiMgVGhpcyBpcyBzZXQgYnkgY29uZmlndXJl IHRvIFJFQUxMWV9TRVRfTElCX1BBVEggaWYgLS1lbmFibGUtc2hhcmVkCiMgd2FzIHVzZWQuClNF VF9MSUJfUEFUSCA9CgojIFRoaXMgaXMgdGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlh YmxlIHVzZWQgZm9yIHRoZSBwYXRoIHRvCiMgdGhlIGxpYnJhcmllcy4gIFRoaXMgbWF5IGJlIGNo YW5nZWQgYnkgY29uZmlndXJlLmluLgpSUEFUSF9FTlZWQVIgPSBMRF9MSUJSQVJZX1BBVEgKCiMg VGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0aGF0IG1heSBiZSBuZWVkZWQgaW4gUlBB VEhfRU5WVkFSCiMgc28gdGhhdCBwcm9ncmFtcyBidWlsdCBmb3IgdGhlIGhvc3QgbWFjaGluZSB3 b3JrLgpIT1NUX0xJQl9QQVRIID0gJCRyL2JmZDokJHIvb3Bjb2RlcwoKIyBUaGlzIGlzIHRoZSBs aXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBSUEFUSF9FTlZWQVIKIyBz byB0aGF0IHByb3JnYW1zIGJ1aWx0IGZvciB0aGUgdGFyZ2V0IG1hY2hpbmUgd29yay4KVEFSR0VU X0xJQl9QQVRIID0gJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3RkYysrLXYzL3NyYy8ubGliczoK CiMgY29uZmlndXJlLmluIHNldHMgU0VUX0xJQl9QQVRIIHRvIHRoaXMgaWYgLS1lbmFibGUtc2hh cmVkIHdhcyB1c2VkLgojIFNvbWUgcGxhdGZvcm1zIGRvbid0IGxpa2UgYmxhbmsgZW50cmllcywg c28gd2UgcmVtb3ZlIGR1cGxpY2F0ZSwKIyBsZWFkaW5nIGFuZCB0cmFpbGluZyBjb2xvbnMuClJF QUxMWV9TRVRfTElCX1BBVEggPSBcCiAgJChSUEFUSF9FTlZWQVIpPWBlY2hvICIkKEhPU1RfTElC X1BBVEgpOiQoVEFSR0VUX0xJQl9QQVRIKTokJCQoUlBBVEhfRU5WVkFSKSIgfCBzZWQgJ3MsOjoq LDosZztzLF46KiwsO3MsOiokJCwsJ2A7IGV4cG9ydCAkKFJQQVRIX0VOVlZBUik7CgpBTEwgPSBh bGwubm9ybWFsCklOU1RBTExfVEFSR0VUID0gaW5zdGFsbGRpcnMgXAoJaW5zdGFsbC1nY2MgXAoJ JChJTlNUQUxMX01PRFVMRVMpIFwKCSQoSU5TVEFMTF9UQVJHRVRfTU9EVUxFUykgXAoJJChJTlNU QUxMX1gxMV9NT0RVTEVTKSBcCgkkKElOU1RBTExfRE9TUkVMKQoKSU5TVEFMTF9UQVJHRVRfQ1JP U1MgPSBpbnN0YWxsZGlycyBcCglpbnN0YWxsLWdjYy1jcm9zcyBcCgkkKElOU1RBTExfTU9EVUxF UykgXAoJJChJTlNUQUxMX1RBUkdFVF9NT0RVTEVTKSBcCgkkKElOU1RBTExfWDExX01PRFVMRVMp IFwKCSQoSU5TVEFMTF9ET1NSRUwpCgojIFNob3VsZCBiZSBzdWJzdGVkIGJ5IGNvbmZpZ3VyZS5p bgpGTEFHU19GT1JfVEFSR0VUID0gIC1CJChidWlsZF90b29sZGlyKS9iaW4vIC1CJChidWlsZF90 b29sZGlyKS9saWIvIC1pc3lzdGVtICQoYnVpbGRfdG9vbGRpcikvaW5jbHVkZQpDQ19GT1JfVEFS R0VUID0gJCRyL2djYy94Z2NjIC1CJCRyL2djYy8gJChGTEFHU19GT1JfVEFSR0VUKQpDWFhfRk9S X1RBUkdFVCA9ICQkci9nY2MvYGNhc2UgJCRkaXIgaW4gbGlic3RkYysrLXYzIHwgbGliamF2YSkg ZWNobyB4Z2NjIC1zaGFyZWQtbGliZ2NjIDs7ICopIGVjaG8gZysrIDs7IGVzYWNgIC1CJCRyL2dj Yy8gLW5vc3RkaW5jKysgYGNhc2UgJCRkaXIgaW4gbGlic3RkYysrLXYzIHwgbGliamF2YSkgOzsg KikgdGVzdCAhIC1mICQkci8kKFRBUkdFVF9TVUJESVIpL2xpYnN0ZGMrKy12My90ZXN0c3VpdGVf ZmxhZ3MgfHwgJChTSEVMTCkgJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3RkYysrLXYzL3Rlc3Rz dWl0ZV9mbGFncyAtLWJ1aWxkLWluY2x1ZGVzOzsgZXNhY2AgLUwkJHIvJChUQVJHRVRfU1VCRElS KS9saWJzdGRjKystdjMvc3JjIC1MJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3RkYysrLXYzL3Ny Yy8ubGlicyAkKEZMQUdTX0ZPUl9UQVJHRVQpCkNYWF9GT1JfVEFSR0VUX0ZPUl9SRUNVUlNJVkVf TUFLRSA9ICQkJCRyL2djYy9gY2FzZSAkJCQkZGlyIGluIGxpYnN0ZGMrKy12MyB8IGxpYmphdmEp IGVjaG8geGdjYyAtc2hhcmVkLWxpYmdjYyA7OyAqKSBlY2hvIGcrKyA7OyBlc2FjYCAtQiQkJCRy L2djYy8gLW5vc3RkaW5jKysgYGNhc2UgJCQkJGRpciBpbiBsaWJzdGRjKystdjMgfCBsaWJqYXZh KSA7OyAqKSB0ZXN0ICEgLWYgJCQkJHIvJChUQVJHRVRfU1VCRElSKS9saWJzdGRjKystdjMvdGVz dHN1aXRlX2ZsYWdzIHx8ICQoU0hFTEwpICQkJCRyLyQoVEFSR0VUX1NVQkRJUikvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZV9mbGFncyAtLWJ1aWxkLWluY2x1ZGVzOzsgZXNhY2AgLUwkJCQkci8kKFRB UkdFVF9TVUJESVIpL2xpYnN0ZGMrKy12My9zcmMgLUwkJCQkci8kKFRBUkdFVF9TVUJESVIpL2xp YnN0ZGMrKy12My9zcmMvLmxpYnMgJChGTEFHU19GT1JfVEFSR0VUKQpHQ0pfRk9SX1RBUkdFVCA9 ICQkci9nY2MvZ2NqIC1CJCRyL2djYy8gJChGTEFHU19GT1JfVEFSR0VUKQoKIyBJZiBHQ0NfRk9S X1RBUkdFVCBpcyBub3Qgb3ZlcnJpZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUsIHRoZW4gdGhpcwoj IHZhcmlhYmxlIGlzIHBhc3NlZCBkb3duIHRvIHRoZSBnY2MgTWFrZWZpbGUsIHdoZXJlIGl0IGlz IHVzZWQgdG8KIyBidWlsZCBsaWJnY2MyLmEuICBXZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGl0 IGNhbiBpdHNlbGYgYmUKIyBvdmVycmlkZGVuIG9uIHRoZSBjb21tYW5kIGxpbmUuCkdDQ19GT1Jf VEFSR0VUID0gJCRyL2djYy94Z2NjIC1CJCRyL2djYy8gJChGTEFHU19GT1JfVEFSR0VUKQoKQVNf Rk9SX1RBUkdFVCA9IGAgXAogIGlmIFsgLWYgJCRyL2dhcy9hcy1uZXcgXSA7IHRoZW4gXAogICAg ZWNobyAkJHIvZ2FzL2FzLW5ldyA7IFwKICBlbGlmIFsgLWYgJCRyL2djYy94Z2NjIF07IHRoZW4g XAogICAgJChDQ19GT1JfVEFSR0VUKSAtcHJpbnQtcHJvZy1uYW1lPWFzIDsgXAogIGVsc2UgXAog ICAgaWYgWyAnJChob3N0X2Nhbm9uaWNhbCknID0gJyQodGFyZ2V0X2Nhbm9uaWNhbCknIF0gOyB0 aGVuIFwKICAgICAgZWNobyAkKEFTKTsgXAogICAgZWxzZSBcCiAgICAgICB0PSckKHByb2dyYW1f dHJhbnNmb3JtX25hbWUpJzsgZWNobyBhcyB8IHNlZCAtZSAncy94L3gvJyAkJHQgOyBcCiAgICBm aTsgXAogIGZpYAoKTERfRk9SX1RBUkdFVCA9IGAgXAogIGlmIFsgLWYgJCRyL2xkL2xkLW5ldyBd IDsgdGhlbiBcCiAgICBlY2hvICQkci9sZC9sZC1uZXcgOyBcCiAgZWxpZiBbIC1mICQkci9nY2Mv eGdjYyBdOyB0aGVuIFwKICAgICQoQ0NfRk9SX1RBUkdFVCkgLXByaW50LXByb2ctbmFtZT1sZCA7 IFwKICBlbHNlIFwKICAgIGlmIFsgJyQoaG9zdF9jYW5vbmljYWwpJyA9ICckKHRhcmdldF9jYW5v bmljYWwpJyBdIDsgdGhlbiBcCiAgICAgIGVjaG8gJChMRCk7IFwKICAgIGVsc2UgXAogICAgICAg dD0nJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKSc7IGVjaG8gbGQgfCBzZWQgLWUgJ3MveC94Lycg JCR0IDsgXAogICAgZmk7IFwKICBmaWAKCkRMTFRPT0xfRk9SX1RBUkdFVCA9IGAgXAogIGlmIFsg LWYgJCRyL2JpbnV0aWxzL2RsbHRvb2wgXSA7IHRoZW4gXAogICAgZWNobyAkJHIvYmludXRpbHMv ZGxsdG9vbCA7IFwKICBlbHNlIFwKICAgIGlmIFsgJyQoaG9zdF9jYW5vbmljYWwpJyA9ICckKHRh cmdldF9jYW5vbmljYWwpJyBdIDsgdGhlbiBcCiAgICAgIGVjaG8gJChETExUT09MKTsgXAogICAg ZWxzZSBcCiAgICAgICB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgZWNobyBkbGx0b29s IHwgc2VkIC1lICdzL3gveC8nICQkdCA7IFwKICAgIGZpOyBcCiAgZmlgCgpXSU5EUkVTX0ZPUl9U QVJHRVQgPSBgIFwKICBpZiBbIC1mICQkci9iaW51dGlscy93aW5kcmVzIF0gOyB0aGVuIFwKICAg IGVjaG8gJCRyL2JpbnV0aWxzL3dpbmRyZXMgOyBcCiAgZWxzZSBcCiAgICBpZiBbICckKGhvc3Rf Y2Fub25pY2FsKScgPSAnJCh0YXJnZXRfY2Fub25pY2FsKScgXSA7IHRoZW4gXAogICAgICBlY2hv ICQoV0lORFJFUyk7IFwKICAgIGVsc2UgXAogICAgICAgdD0nJChwcm9ncmFtX3RyYW5zZm9ybV9u YW1lKSc7IGVjaG8gd2luZHJlcyB8IHNlZCAtZSAncy94L3gvJyAkJHQgOyBcCiAgICBmaTsgXAog IGZpYAoKQVJfRk9SX1RBUkdFVCA9IGAgXAogIGlmIFsgLWYgJCRyL2JpbnV0aWxzL2FyIF0gOyB0 aGVuIFwKICAgIGVjaG8gJCRyL2JpbnV0aWxzL2FyIDsgXAogIGVsc2UgXAogICAgaWYgWyAnJCho b3N0X2Nhbm9uaWNhbCknID0gJyQodGFyZ2V0X2Nhbm9uaWNhbCknIF0gOyB0aGVuIFwKICAgICAg ZWNobyAkKEFSKTsgXAogICAgZWxzZSBcCiAgICAgICB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25h bWUpJzsgZWNobyBhciB8IHNlZCAtZSAncy94L3gvJyAkJHQgOyBcCiAgICBmaTsgXAogIGZpYAoK UkFOTElCX0ZPUl9UQVJHRVQgPSBgIFwKICBpZiBbIC1mICQkci9iaW51dGlscy9yYW5saWIgXSA7 IHRoZW4gXAogICAgZWNobyAkJHIvYmludXRpbHMvcmFubGliIDsgXAogIGVsc2UgXAogICAgaWYg WyAnJChob3N0X2Nhbm9uaWNhbCknID0gJyQodGFyZ2V0X2Nhbm9uaWNhbCknIF0gOyB0aGVuIFwK ICAgICAgaWYgWyB4JyQoUkFOTElCKScgIT0geCBdOyB0aGVuIFwKICAgICAgICAgZWNobyAkKFJB TkxJQik7IFwKICAgICAgZWxzZSBcCiAgICAgICAgIGVjaG8gcmFubGliOyBcCiAgICAgIGZpOyBc CiAgICBlbHNlIFwKICAgICAgIHQ9JyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknOyBlY2hvIHJh bmxpYiB8IHNlZCAtZSAncy94L3gvJyAkJHQgOyBcCiAgICBmaTsgXAogIGZpYAoKTk1fRk9SX1RB UkdFVCA9IGAgXAogIGlmIFsgLWYgJCRyL2JpbnV0aWxzL25tLW5ldyBdIDsgdGhlbiBcCiAgICBl Y2hvICQkci9iaW51dGlscy9ubS1uZXcgOyBcCiAgZWxpZiBbIC1mICQkci9nY2MveGdjYyBdOyB0 aGVuIFwKICAgICQoQ0NfRk9SX1RBUkdFVCkgLXByaW50LXByb2ctbmFtZT1ubSA7IFwKICBlbHNl IFwKICAgIGlmIFsgJyQoaG9zdF9jYW5vbmljYWwpJyA9ICckKHRhcmdldF9jYW5vbmljYWwpJyBd IDsgdGhlbiBcCiAgICAgIGVjaG8gJChOTSk7IFwKICAgIGVsc2UgXAogICAgICAgdD0nJChwcm9n cmFtX3RyYW5zZm9ybV9uYW1lKSc7IGVjaG8gbm0gfCBzZWQgLWUgJ3MveC94LycgJCR0IDsgXAog ICAgZmk7IFwKICBmaWAKCiMgVGhlIGZpcnN0IHJ1bGUgaW4gdGhlIGZpbGUgaGFkIGJldHRlciBi ZSB0aGlzIG9uZS4gIERvbid0IHB1dCBhbnkgYWJvdmUgaXQuCiMgVGhpcyBsaXZlcyBoZXJlIHRv IGFsbG93IG1ha2VmaWxlIGZyYWdtZW50cyB0byBjb250YWluIGRlcGVuZGVuY2llcy4KYWxsOiBh bGwubm9ybWFsCi5QSE9OWTogYWxsCgojIFRoZXNlIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGNvbmZp Zy9tdC0qLgojIFRoZSBfVEFSR0VUXyBpcyBiZWNhdXNlIHRoZXkncmUgc3BlY2lmaWVkIGluIG10 LWZvby4KIyBUaGUgX0hPU1RfIGlzIGJlY2F1c2UgdGhleSdyZSBwcm9ncmFtcyB0aGF0IHJ1biBv biB0aGUgaG9zdC4KRVhUUkFfVEFSR0VUX0hPU1RfQUxMX01PRFVMRVMgPQpFWFRSQV9UQVJHRVRf SE9TVF9JTlNUQUxMX01PRFVMRVMgPQpFWFRSQV9UQVJHRVRfSE9TVF9DSEVDS19NT0RVTEVTID0K CiMjIyMgaG9zdCBhbmQgdGFyZ2V0IHNwZWNpZmljIG1ha2VmaWxlIGZyYWdtZW50cyBjb21lIGlu IGhlcmUuCiMgRGVmaW5lIFNZU1YgYXMgLURTWVNWIGlmIHlvdSBhcmUgdXNpbmcgYSBTeXN0ZW0g ViBvcGVyYXRpbmcgc3lzdGVtLgpDQyA9IGdjYwpTWVNWID0gLURTWVNWClJBTkxJQiA9IHRydWUK IyMjCgojIEZsYWdzIHRvIHBhc3MgZG93biB0byBhbGwgc3ViLW1ha2VzLgojIFBsZWFzZSBrZWVw IHRoZXNlIGluIGFscGhhYmV0aWNhbCBvcmRlci4KQkFTRV9GTEFHU19UT19QQVNTID0gXAoJIkFS X0ZMQUdTPSQoQVJfRkxBR1MpIiBcCgkiQVJfRk9SX1RBUkdFVD0kKEFSX0ZPUl9UQVJHRVQpIiBc CgkiQVNfRk9SX1RBUkdFVD0kKEFTX0ZPUl9UQVJHRVQpIiBcCgkiQklTT049JChCSVNPTikiIFwK CSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCgkiQ0NfRk9SX1RBUkdFVD0kKENDX0ZP Ul9UQVJHRVQpIiBcCgkiQ0ZMQUdTPSQoQ0ZMQUdTKSIgXAoJIkNGTEFHU19GT1JfVEFSR0VUPSQo Q0ZMQUdTX0ZPUl9UQVJHRVQpIiBcCgkiR0NKX0ZPUl9UQVJHRVQ9JChHQ0pfRk9SX1RBUkdFVCki IFwKCSJDWFhfRk9SX0JVSUxEPSQoQ1hYX0ZPUl9CVUlMRCkiIFwKCSJDWFhGTEFHUz0kKENYWEZM QUdTKSIgXAoJIkNYWEZMQUdTX0ZPUl9UQVJHRVQ9JChDWFhGTEFHU19GT1JfVEFSR0VUKSIgXAoJ IkNYWF9GT1JfVEFSR0VUPSQoQ1hYX0ZPUl9UQVJHRVQpIiBcCgkiRExMVE9PTF9GT1JfVEFSR0VU PSQoRExMVE9PTF9GT1JfVEFSR0VUKSIgXAoJIklOU1RBTEw9JChJTlNUQUxMKSIgXAoJIklOU1RB TExfREFUQT0kKElOU1RBTExfREFUQSkiIFwKCSJJTlNUQUxMX1BST0dSQU09JChJTlNUQUxMX1BS T0dSQU0pIiBcCgkiSU5TVEFMTF9TQ1JJUFQ9JChJTlNUQUxMX1NDUklQVCkiIFwKCSJMREZMQUdT PSQoTERGTEFHUykiIFwKCSJMRVg9JChMRVgpIiBcCgkiTERfRk9SX1RBUkdFVD0kKExEX0ZPUl9U QVJHRVQpIiBcCgkiTElCQ0ZMQUdTPSQoTElCQ0ZMQUdTKSIgXAoJIkxJQkNGTEFHU19GT1JfVEFS R0VUPSQoTElCQ0ZMQUdTX0ZPUl9UQVJHRVQpIiBcCgkiTElCQ1hYRkxBR1M9JChMSUJDWFhGTEFH UykiIFwKCSJMSUJDWFhGTEFHU19GT1JfVEFSR0VUPSQoTElCQ1hYRkxBR1NfRk9SX1RBUkdFVCki IFwKCSJNND0kKE00KSIgXAoJIk1BS0U9JChNQUtFKSIgXAoJIk1BS0VJTkZPPSQoTUFLRUlORk8p ICQoTUFLRUlORk9GTEFHUykiIFwKCSJOTV9GT1JfVEFSR0VUPSQoTk1fRk9SX1RBUkdFVCkiIFwK CSJSQU5MSUJfRk9SX1RBUkdFVD0kKFJBTkxJQl9GT1JfVEFSR0VUKSIgXAoJIlJQQVRIX0VOVlZB Uj0kKFJQQVRIX0VOVlZBUikiIFwKCSJTSEVMTD0kKFNIRUxMKSIgXAoJIkVYUEVDVD0kKEVYUEVD VCkiIFwKCSJSVU5URVNUPSQoUlVOVEVTVCkiIFwKCSJSVU5URVNURkxBR1M9JChSVU5URVNURkxB R1MpIiBcCgkiVEFSR0VUX1NVQkRJUj0kKFRBUkdFVF9TVUJESVIpIiBcCgkiV0lORFJFU19GT1Jf VEFSR0VUPSQoV0lORFJFU19GT1JfVEFSR0VUKSIgXAoJIllBQ0M9JChZQUNDKSIgXAoJImJpbmRp cj0kKGJpbmRpcikiIFwKCSJkYXRhZGlyPSQoZGF0YWRpcikiIFwKCSJleGVjX3ByZWZpeD0kKGV4 ZWNfcHJlZml4KSIgXAoJImluY2x1ZGVkaXI9JChpbmNsdWRlZGlyKSIgXAoJImluZm9kaXI9JChp bmZvZGlyKSIgXAoJImxpYmRpcj0kKGxpYmRpcikiIFwKCSJsaWJleGVjZGlyPSQobGliZXhlY2Rp cikiIFwKCSJsaXNwZGlyPSQobGlzcGRpcikiIFwKCSJsaWJzdGRjeHhfaW5jZGlyPSQobGlic3Rk Y3h4X2luY2RpcikiIFwKCSJsaWJzdWJkaXI9JChsaWJzdWJkaXIpIiBcCgkibG9jYWxzdGF0ZWRp cj0kKGxvY2Fsc3RhdGVkaXIpIiBcCgkibWFuZGlyPSQobWFuZGlyKSIgXAoJIm9sZGluY2x1ZGVk aXI9JChvbGRpbmNsdWRlZGlyKSIgXAoJInByZWZpeD0kKHByZWZpeCkiIFwKCSJzYmluZGlyPSQo c2JpbmRpcikiIFwKCSJzaGFyZWRzdGF0ZWRpcj0kKHNoYXJlZHN0YXRlZGlyKSIgXAoJInN5c2Nv bmZkaXI9JChzeXNjb25mZGlyKSIgXAoJInRvb2xkaXI9JCh0b29sZGlyKSIgXAoJImJ1aWxkX3Rv b2xkaXI9JChidWlsZF90b29sZGlyKSIgXAoJImd4eF9pbmNsdWRlX2Rpcj0kKGd4eF9pbmNsdWRl X2RpcikiIFwKCSJnY2NfdmVyc2lvbj0kKGdjY192ZXJzaW9uKSIgXAoJImdjY192ZXJzaW9uX3Ry aWdnZXI9JChnY2NfdmVyc2lvbl90cmlnZ2VyKSIgXAoJInRhcmdldF9hbGlhcz0kKHRhcmdldF9h bGlhcykiIAoKIyBGb3IgYW55IGZsYWdzIGFib3ZlIHRoYXQgbWF5IGNvbnRhaW4gc2hlbGwgY29k ZSB0aGF0IHZhcmllcyBmcm9tIG9uZQojIHRhcmdldCBsaWJyYXJ5IHRvIGFub3RoZXIuICBXaGVu IGRvaW5nIHJlY3Vyc2l2ZSBpbnZvY2F0aW9ucyBvZiB0aGUKIyB0b3AtbGV2ZWwgTWFrZWZpbGUs IHdlIGRvbid0IHdhbnQgdGhlIG91dGVyIG1ha2UgdG8gZXZhbHVhdGUgdGhlbSwKIyBzbyB3ZSBw YXNzIHRoZXNlIHZhcmlhYmxlcyBkb3duIHVuY2hhbmdlZC4gIFRoZXkgbXVzdCBub3QgY29udGFp bgojIHNpbmdsZSBub3IgZG91YmxlIHF1b3Rlcy4KUkVDVVJTRV9GTEFHUyA9IFwKCUNYWF9GT1Jf VEFSR0VUPSckKENYWF9GT1JfVEFSR0VUX0ZPUl9SRUNVUlNJVkVfTUFLRSknCgojIEZsYWdzIHRv IHBhc3MgZG93biB0byBtb3N0IHN1Yi1tYWtlcywgaW4gd2hpY2ggd2UncmUgYnVpbGRpbmcgd2l0 aAojIHRoZSBob3N0IGVudmlyb25tZW50LgojIElmIGFueSB2YXJpYWJsZXMgYXJlIGFkZGVkIGhl cmUsIHRoZXkgbXVzdCBiZSBhZGRlZCB0byBkby0qLCBiZWxvdy4KRVhUUkFfSE9TVF9GTEFHUyA9 IFwKCSdBUj0kKEFSKScgXAoJJ0FTPSQoQVMpJyBcCgknQ0M9JChDQyknIFwKCSdDWFg9JChDWFgp JyBcCgknRExMVE9PTD0kKERMTFRPT0wpJyBcCgknTEQ9JChMRCknIFwKCSdOTT0kKE5NKScgXAoJ ImBlY2hvICdSQU5MSUI9JChSQU5MSUIpJyB8IHNlZCAtZSBzLy4qPSQkL1hGT089L2AiIFwKCSdX SU5EUkVTPSQoV0lORFJFUyknCgpGTEFHU19UT19QQVNTID0gJChCQVNFX0ZMQUdTX1RPX1BBU1Mp ICQoRVhUUkFfSE9TVF9GTEFHUykKCiMgRmxhZ3MgdGhhdCBhcmUgY29uY2VybmVkIHdpdGggdGhl IGxvY2F0aW9uIG9mIHRoZSBYMTEgaW5jbHVkZSBmaWxlcwojIGFuZCBsaWJyYXJ5IGZpbGVzCiMK IyBOT1RFOiB1bnRpbCB0aGUgdG9wLWxldmVsIGlzIGdldHRpbmcgdGhlIHZhbHVlcyB2aWEgYXV0 b2NvbmYsIGl0IG9ubHkKIyBjYXVzZXMgcHJvYmxlbXMgdG8gaGF2ZSB0aGlzIHRvcC1sZXZlbCBN YWtlZmlsZSBvdmVycmlkaW5nIHRoZSBhdXRvY29uZi1zZXQKIyB2YWx1ZXMgaW4gY2hpbGQgZGly ZWN0b3JpZXMuICBPbmx5IHZhcmlhYmxlcyB0aGF0IGRvbid0IGNvbmZsaWN0IHdpdGgKIyBhdXRv Y29uZidlZCBvbmVzIHNob3VsZCBiZSBwYXNzZWQgYnkgWDExX0ZMQUdTX1RPX1BBU1MgZm9yIG5v dy4KIwpYMTFfRkxBR1NfVE9fUEFTUyA9IFwKCSdYMTFfRVhUUkFfQ0ZMQUdTPSQoWDExX0VYVFJB X0NGTEFHUyknIFwKCSdYMTFfRVhUUkFfTElCUz0kKFgxMV9FWFRSQV9MSUJTKScKCiMgRmxhZ3Mg dG8gcGFzcyBkb3duIHRvIG1ha2VzIHdoaWNoIGFyZSBidWlsdCB3aXRoIHRoZSB0YXJnZXQgZW52 aXJvbm1lbnQuCiMgVGhlIGRvdWJsZSAkIGRlY3JlYXNlcyB0aGUgbGVuZ3RoIG9mIHRoZSBjb21t YW5kIGxpbmU7IHRoZSB2YXJpYWJsZXMKIyBhcmUgc2V0IGluIEJBU0VfRkxBR1NfVE9fUEFTUywg YW5kIHRoZSBzdWItbWFrZSB3aWxsIGV4cGFuZCB0aGVtLgojIElmIGFueSB2YXJpYWJsZXMgYXJl IGFkZGVkIGhlcmUsIHRoZXkgbXVzdCBiZSBhZGRlZCB0byBkby0qLCBiZWxvdy4KRVhUUkFfVEFS R0VUX0ZMQUdTID0gXAoJJ0FSPSQkKEFSX0ZPUl9UQVJHRVQpJyBcCgknQVM9JCQoQVNfRk9SX1RB UkdFVCknIFwKCSdDQz0kJChDQ19GT1JfVEFSR0VUKScgXAoJJ0NGTEFHUz0kJChDRkxBR1NfRk9S X1RBUkdFVCknIFwKCSdDWFg9JCQoQ1hYX0ZPUl9UQVJHRVQpJyBcCgknQ1hYRkxBR1M9JCQoQ1hY RkxBR1NfRk9SX1RBUkdFVCknIFwKCSdETExUT09MPSQkKERMTFRPT0xfRk9SX1RBUkdFVCknIFwK CSdMRD0kJChMRF9GT1JfVEFSR0VUKScgXAoJJ0xJQkNGTEFHUz0kJChMSUJDRkxBR1NfRk9SX1RB UkdFVCknIFwKCSdMSUJDWFhGTEFHUz0kJChMSUJDWFhGTEFHU19GT1JfVEFSR0VUKScgXAoJJ05N PSQkKE5NX0ZPUl9UQVJHRVQpJyBcCgknUkFOTElCPSQkKFJBTkxJQl9GT1JfVEFSR0VUKScgXAoJ J1dJTkRSRVM9JCQoV0lORFJFU19GT1JfVEFSR0VUKScKClRBUkdFVF9GTEFHU19UT19QQVNTID0g JChCQVNFX0ZMQUdTX1RPX1BBU1MpICQoRVhUUkFfVEFSR0VUX0ZMQUdTKQoKIyBGbGFncyB0byBw YXNzIGRvd24gdG8gZ2NjLiAgZ2NjIGJ1aWxkcyBhIGxpYnJhcnksIGxpYmdjYy5hLCBzbyBpdAoj IHVuZm9ydHVuYXRlbHkgbmVlZHMgdGhlIG5hdGl2ZSBjb21waWxlciBhbmQgdGhlIHRhcmdldCBh ciBhbmQKIyByYW5saWIuCiMgSWYgYW55IHZhcmlhYmxlcyBhcmUgYWRkZWQgaGVyZSwgdGhleSBt dXN0IGJlIGFkZGVkIHRvIGRvLSosIGJlbG93LgojIFRoZSBIT1NUXyogdmFyaWFibGVzIGFyZSBh IHNwZWNpYWwgY2FzZSwgd2hpY2ggYXJlIHVzZWQgZm9yIHRoZSBnY2MKIyBjcm9zcy1idWlsZGlu ZyBzY2hlbWUuCkVYVFJBX0dDQ19GTEFHUyA9IFwKCSdBUj0kKEFSKScgXAoJJ0FTPSQoQVMpJyBc CgknQ0M9JChDQyknIFwKCSdDWFg9JChDWFgpJyBcCgknRExMVE9PTD0kJChETExUT09MX0ZPUl9U QVJHRVQpJyBcCgknSE9TVF9DQz0kKENDX0ZPUl9CVUlMRCknIFwKCSdIT1NUX1BSRUZJWD0kKEhP U1RfUFJFRklYKScgXAoJJ0hPU1RfUFJFRklYXzE9JChIT1NUX1BSRUZJWF8xKScgXAoJJ05NPSQo Tk0pJyBcCgkiYGVjaG8gJ1JBTkxJQj0kKFJBTkxJQiknIHwgc2VkIC1lIHMvLio9JCQvWEZPTz0v YCIgXAoJJ1dJTkRSRVM9JCQoV0lORFJFU19GT1JfVEFSR0VUKScgXAoJIkdDQ19GT1JfVEFSR0VU PSQoR0NDX0ZPUl9UQVJHRVQpIiBcCgkiQ0ZMQUdTX0ZPUl9CVUlMRD0kKENGTEFHU19GT1JfQlVJ TEQpIiBcCgkiYGVjaG8gJ0xBTkdVQUdFUz0kKExBTkdVQUdFUyknIHwgc2VkIC1lIHMvLio9JCQv WEZPTz0vYCIgXAoJImBlY2hvICdTVE1QX0ZJWFBST1RPPSQoU1RNUF9GSVhQUk9UTyknIHwgc2Vk IC1lIHMvLio9JCQvWEZPTz0vYCIgXAoJImBlY2hvICdMSU1JVFNfSF9URVNUPSQoTElNSVRTX0hf VEVTVCknIHwgc2VkIC1lIHMvLio9JCQvWEZPTz0vYCIgXAoJImBlY2hvICdMSUJHQ0MxX1RFU1Q9 JChMSUJHQ0MxX1RFU1QpJyB8IHNlZCAtZSBzLy4qPSQkL1hGT089L2AiIFwKCSJgZWNobyAnTElC R0NDMl9DRkxBR1M9JChMSUJHQ0MyX0NGTEFHUyknIHwgc2VkIC1lIHMvLio9JCQvWEZPTz0vYCIg XAoJImBlY2hvICdMSUJHQ0MyX0RFQlVHX0NGTEFHUz0kKExJQkdDQzJfREVCVUdfQ0ZMQUdTKScg fCBzZWQgLWUgcy8uKj0kJC9YRk9PPS9gIiBcCgkiYGVjaG8gJ0xJQkdDQzJfSU5DTFVERVM9JChM SUJHQ0MyX0lOQ0xVREVTKScgfCBzZWQgLWUgcy8uKj0kJC9YRk9PPS9gIiBcCgkiYGVjaG8gJ0VO UVVJUkU9JChFTlFVSVJFKScgfCBzZWQgLWUgcy8uKj0kJC9YRk9PPS9gIiBcCgkiYGVjaG8gJ1NU QUdFMV9DRkxBR1M9JChTVEFHRTFfQ0ZMQUdTKScgfCBzZWQgLWUgcy8uKj0kJC9YRk9PPS9gIiBc CgkiYGVjaG8gJ0JPT1RfQ0ZMQUdTPSQoQk9PVF9DRkxBR1MpJyB8IHNlZCAtZSBzLy4qPSQkL1hG T089L2AiCgpHQ0NfRkxBR1NfVE9fUEFTUyA9ICQoQkFTRV9GTEFHU19UT19QQVNTKSAkKEVYVFJB X0dDQ19GTEFHUykKCiMgVGhpcyBpcyBhIGxpc3Qgb2YgdGhlIHRhcmdldHMgZm9yIGFsbCBvZiB0 aGUgbW9kdWxlcyB3aGljaCBhcmUgY29tcGlsZWQKIyB1c2luZyB0aGUgYnVpbGQgbWFjaGluZSdz IG5hdGl2ZSBjb21waWxlci4gIENvbmZpZ3VyZSBlZGl0cyB0aGUgc2Vjb25kCiMgbWFjcm8gZm9y IGJ1aWxkIT1ob3N0IGJ1aWxkcy4KQUxMX0JVSUxEX01PRFVMRVNfTElTVCA9IFwKCWFsbC1idWls ZC1saWJpYmVydHkKQUxMX0JVSUxEX01PRFVMRVMgPQoKIyBUaGlzIGlzIGEgbGlzdCBvZiB0aGUg Y29uZmlndXJlIHRhcmdldHMgZm9yIGFsbCBvZiB0aGUgbW9kdWxlcyB3aGljaAojIGFyZSBjb21w aWxlZCB1c2luZyB0aGUgbmF0aXZlIHRvb2xzLgpDT05GSUdVUkVfQlVJTERfTU9EVUxFUyA9IFwK CWNvbmZpZ3VyZS1idWlsZC1saWJpYmVydHkKCiMgVGhpcyBpcyBhIGxpc3Qgb2YgdGhlIHRhcmdl dHMgZm9yIGFsbCBvZiB0aGUgbW9kdWxlcyB3aGljaCBhcmUgY29tcGlsZWQKIyB1c2luZyAkKEZM QUdTX1RPX1BBU1MpLgpBTExfTU9EVUxFUyA9IFwKCWFsbC1hcGFjaGUgXAoJYWxsLWFzaCBcCglh bGwtYXV0b2NvbmYgXAoJYWxsLWF1dG9tYWtlIFwKCWFsbC1iYXNoIFwKCWFsbC1iZmQgXAoJYWxs LWJpbnV0aWxzIFwKCWFsbC1iaXNvbiBcCglhbGwtYnlhY2MgXAoJYWxsLWJ6aXAyIFwKCWFsbC1j Z2VuIFwKCWFsbC1jdnNzcmMgXAoJYWxsLWRiIFwKCWFsbC1kZWphZ251IFwKCWFsbC1kaWZmIFwK CWFsbC1kb3N1dGlscyBcCglhbGwtZXRjIFwKCWFsbC1mYXN0amFyIFwKCWFsbC1maWxldXRpbHMg XAoJYWxsLWZpbmR1dGlscyBcCglhbGwtZmluZCBcCglhbGwtZmxleCBcCglhbGwtZ2FzIFwKCWFs bC1nYXdrIFwKCWFsbC1nZXR0ZXh0IFwKCWFsbC1nbnVzZXJ2IFwKCWFsbC1ncHJvZiBcCglhbGwt Z3JlcCBcCglhbGwtZ3JleiBcCglhbGwtZ3ppcCBcCglhbGwtaGVsbG8gXAoJYWxsLWluZGVudCBc CglhbGwtaW5ldCBcCglhbGwtaW50bCBcCglhbGwtaXNwZWxsIFwKCWFsbC1pdGNsIFwKCWFsbC1s ZCBcCglhbGwtbGliZ3VpIFwKCWFsbC1saWJpYmVydHkgXAoJYWxsLWxpYnRvb2wgXAoJYWxsLW00 IFwKCWFsbC1tYWtlIFwKCWFsbC1tbWFsbG9jIFwKCWFsbC1vcGNvZGVzIFwKCWFsbC1wYXRjaCBc CglhbGwtcGVybCBcCglhbGwtcHJtcyBcCglhbGwtcmNzIFwKCWFsbC1yZWFkbGluZSBcCglhbGwt cmVsZWFzZSBcCglhbGwtcmVjb2RlIFwKCWFsbC1zZWQgXAoJYWxsLXNlbmQtcHIgXAoJYWxsLXNo ZWxsdXRpbHMgXAoJYWxsLXNpZCBcCglhbGwtc2ltIFwKCWFsbC1zbmF2aWdhdG9yIFwKCWFsbC10 YXIgXAoJYWxsLXRjbCBcCglhbGwtdGNsOC4xIFwKCWFsbC10ZXhpbmZvIFwKCWFsbC10ZXh0dXRp bHMgXAoJYWxsLXRnYXMgXAoJYWxsLXRpbWUgXAoJYWxsLXV1ZGVjb2RlIFwKCWFsbC13ZGlmZiBc CglhbGwtemlwIFwKCWFsbC16bGliIFwKCSQoRVhUUkFfVEFSR0VUX0hPU1RfQUxMX01PRFVMRVMp CgojIFRoaXMgaXMgYSBsaXN0IG9mIHRoZSBjaGVjayB0YXJnZXRzIGZvciBhbGwgb2YgdGhlIG1v ZHVsZXMgd2hpY2ggYXJlCiMgY29tcGlsZWQgdXNpbmcgJChGTEFHU19UT19QQVNTKS4KIwojIFRo ZSBsaXN0IGlzIGluIHR3byBwYXJ0cy4gIFRoZSBmaXJzdCBsaXN0cyB0aG9zZSB0b29scyB3aGlj aAojIGFyZSB0ZXN0ZWQgYXMgcGFydCBvZiB0aGUgaG9zdCdzIG5hdGl2ZSB0b29sLWNoYWluLCBh bmQgbm90CiMgdGVzdGVkIGluIGEgY3Jvc3MgY29uZmlndXJhdGlvbi4KTkFUSVZFX0NIRUNLX01P RFVMRVMgPSBcCgljaGVjay1iaXNvbiBcCgljaGVjay1ieWFjYyBcCgljaGVjay1mYXN0amFyIFwK CWNoZWNrLWZsZXggXAoJY2hlY2stemlwCgpDUk9TU19DSEVDS19NT0RVTEVTID0gXAoJY2hlY2st YXBhY2hlIFwKCWNoZWNrLWFzaCBcCgljaGVjay1hdXRvY29uZiBcCgljaGVjay1hdXRvbWFrZSBc CgljaGVjay1iYXNoIFwKCWNoZWNrLWJmZCBcCgljaGVjay1iaW51dGlscyBcCgljaGVjay1iemlw MiBcCgljaGVjay1jZ2VuIFwKCWNoZWNrLWN2c3NyYyBcCgljaGVjay1kYiBcCgljaGVjay1kZWph Z251IFwKCWNoZWNrLWRpZmYgXAoJY2hlY2stZXRjIFwKCWNoZWNrLWZpbGV1dGlscyBcCgljaGVj ay1maW5kdXRpbHMgXAoJY2hlY2stZmluZCBcCgljaGVjay1nYXMgXAoJY2hlY2stZ2F3ayBcCglj aGVjay1nZXR0ZXh0IFwKCWNoZWNrLWdudXNlcnYgXAoJY2hlY2stZ3Byb2YgXAoJY2hlY2stZ3Jl cCBcCgljaGVjay1nemlwIFwKCWNoZWNrLWhlbGxvIFwKCWNoZWNrLWluZGVudCBcCgljaGVjay1p bmV0IFwKCWNoZWNrLWludGwgXAoJY2hlY2staXNwZWxsIFwKCWNoZWNrLWl0Y2wgXAoJY2hlY2st bGQgXAoJY2hlY2stbGliZ3VpIFwKCWNoZWNrLWxpYmliZXJ0eSBcCgljaGVjay1saWJ0b29sIFwK CWNoZWNrLW00IFwKCWNoZWNrLW1ha2UgXAoJY2hlY2stbW1jaGVja29jIFwKCWNoZWNrLW9wY29k ZXMgXAoJY2hlY2stcGF0Y2ggXAoJY2hlY2stcGVybCBcCgljaGVjay1wcm1zIFwKCWNoZWNrLXJj cyBcCgljaGVjay1yZWFkbGluZSBcCgljaGVjay1yZWNvZGUgXAoJY2hlY2stc2VkIFwKCWNoZWNr LXNlbmQtcHIgXAoJY2hlY2stc2hlbGx1dGlscyBcCgljaGVjay1zbmF2aWdhdG9yIFwKCWNoZWNr LXNpZCBcCgljaGVjay1zaW0gXAoJY2hlY2stdGFyIFwKCWNoZWNrLXRjbCBcCgljaGVjay10ZXhp bmZvIFwKCWNoZWNrLXRleHR1dGlscyBcCgljaGVjay10Z2FzIFwKCWNoZWNrLXRpbWUgXAoJY2hl Y2stdXVkZWNvZGUgXAoJY2hlY2std2RpZmYgXAoJJChFWFRSQV9UQVJHRVRfSE9TVF9DSEVDS19N T0RVTEVTKQoKQ0hFQ0tfTU9EVUxFUz0kKE5BVElWRV9DSEVDS19NT0RVTEVTKSAkKENST1NTX0NI RUNLX01PRFVMRVMpCgojIFRoaXMgaXMgYSBsaXN0IG9mIHRoZSBpbnN0YWxsIHRhcmdldHMgZm9y IGFsbCBvZiB0aGUgbW9kdWxlcyB3aGljaCBhcmUKIyBjb21waWxlZCB1c2luZyAkKEZMQUdTX1RP X1BBU1MpLgojIFdlIHB1dCBpbnN0YWxsLW9wY29kZXMgYmVmb3JlIGluc3RhbGwtYmludXRpbHMg YmVjYXVzZSB0aGUgaW5zdGFsbGVkCiMgYmludXRpbHMgbWlnaHQgYmUgb24gUEFUSCwgYW5kIHRo ZXkgbWlnaHQgbmVlZCB0aGUgc2hhcmVkIG9wY29kZXMKIyBsaWJyYXJ5LgojIFdlIHB1dCBpbnN0 YWxsLXRjbCBiZWZvcmUgaW5zdGFsbC1pdGNsIGJlY2F1c2UgaXRjbCB3YW50cyB0byBydW4gYQoj IHByb2dyYW0gb24gaW5zdGFsbGF0aW9uIHdoaWNoIHVzZXMgdGhlIFRjbCBsaWJyYXJpZXMuCklO U1RBTExfTU9EVUxFUyA9IFwKCWluc3RhbGwtYXBhY2hlIFwKCWluc3RhbGwtYXNoIFwKCWluc3Rh bGwtYXV0b2NvbmYgXAoJaW5zdGFsbC1hdXRvbWFrZSBcCglpbnN0YWxsLWJhc2ggXAoJaW5zdGFs bC1iZmQgXAoJaW5zdGFsbC1iemlwMiBcCglpbnN0YWxsLW9wY29kZXMgXAoJaW5zdGFsbC1iaW51 dGlscyBcCglpbnN0YWxsLWJpc29uIFwKCWluc3RhbGwtYnlhY2MgXAoJaW5zdGFsbC1jZ2VuIFwK CWluc3RhbGwtY3Zzc3JjIFwKCWluc3RhbGwtZGIgXAoJaW5zdGFsbC1kZWphZ251IFwKCWluc3Rh bGwtZGlmZiBcCglpbnN0YWxsLWRvc3V0aWxzIFwKCWluc3RhbGwtZXRjIFwKCWluc3RhbGwtZmFz dGphciBcCglpbnN0YWxsLWZpbGV1dGlscyBcCglpbnN0YWxsLWZpbmR1dGlscyBcCglpbnN0YWxs LWZpbmQgXAoJaW5zdGFsbC1mbGV4IFwKCWluc3RhbGwtZ2FzIFwKCWluc3RhbGwtZ2F3ayBcCglp bnN0YWxsLWdldHRleHQgXAoJaW5zdGFsbC1nbnVzZXJ2IFwKCWluc3RhbGwtZ3Byb2YgXAoJaW5z dGFsbC1ncmVwIFwKCWluc3RhbGwtZ3JleiBcCglpbnN0YWxsLWd6aXAgXAoJaW5zdGFsbC1oZWxs byBcCglpbnN0YWxsLWluZGVudCBcCglpbnN0YWxsLWluZXQgXAoJaW5zdGFsbC1pbnRsIFwKCWlu c3RhbGwtaXNwZWxsIFwKCWluc3RhbGwtdGNsIFwKCWluc3RhbGwtdGNsOC4xIFwKCWluc3RhbGwt aXRjbCBcCglpbnN0YWxsLWxkIFwKCWluc3RhbGwtbGliZ3VpIFwKCWluc3RhbGwtbGliaWJlcnR5 IFwKCWluc3RhbGwtbGlidG9vbCBcCglpbnN0YWxsLW00IFwKCWluc3RhbGwtbWFrZSBcCglpbnN0 YWxsLW1tYWxsb2MgXAoJaW5zdGFsbC1wYXRjaCBcCglpbnN0YWxsLXBlcmwgXAoJaW5zdGFsbC1w cm1zIFwKCWluc3RhbGwtcmNzIFwKCWluc3RhbGwtcmVhZGxpbmUgXAoJaW5zdGFsbC1yZWNvZGUg XAoJaW5zdGFsbC1zZWQgXAoJaW5zdGFsbC1zZW5kLXByIFwKCWluc3RhbGwtc2hlbGx1dGlscyBc CglpbnN0YWxsLXNpZCBcCglpbnN0YWxsLXNpbSBcCglpbnN0YWxsLXNuYXZpZ2F0b3IgXAoJaW5z dGFsbC10YXIgXAoJaW5zdGFsbC10ZXh0dXRpbHMgXAoJaW5zdGFsbC10Z2FzIFwKCWluc3RhbGwt dGltZSBcCglpbnN0YWxsLXV1ZGVjb2RlIFwKCWluc3RhbGwtd2RpZmYgXAoJaW5zdGFsbC16aXAg XAoJJChFWFRSQV9UQVJHRVRfSE9TVF9JTlNUQUxMX01PRFVMRVMpCgojIFRoaXMgaXMgYSBsaXN0 IG9mIHRoZSB0YXJnZXRzIGZvciBhbGwgb2YgdGhlIG1vZHVsZXMgd2hpY2ggYXJlIGNvbXBpbGVk CiMgdXNpbmcgJChYMTFfRkxBR1NfVE9fUEFTUykuCkFMTF9YMTFfTU9EVUxFUyA9IFwKCWFsbC1l bWFjcyBcCglhbGwtZW1hY3MxOSBcCglhbGwtZ2RiIFwKCWFsbC1leHBlY3QgXAoJYWxsLWdhc2gg XAoJYWxsLWd1aWxlIFwKCWFsbC10Y2xYIFwKCWFsbC10ayBcCglhbGwtdGs4LjEgXAoJYWxsLXRp eAoKIyBUaGlzIGlzIGEgbGlzdCBvZiB0aGUgY2hlY2sgdGFyZ2V0cyBmb3IgYWxsIG9mIHRoZSBt b2R1bGVzIHdoaWNoIGFyZQojIGNvbXBpbGVkIHVzaW5nICQoWDExX0ZMQUdTX1RPX1BBU1MpLgpD SEVDS19YMTFfTU9EVUxFUyA9IFwKCWNoZWNrLWVtYWNzIFwKCWNoZWNrLWdkYiBcCgljaGVjay1n dWlsZSBcCgljaGVjay1leHBlY3QgXAoJY2hlY2stZ2FzaCBcCgljaGVjay10Y2xYIFwKCWNoZWNr LXRrIFwKCWNoZWNrLXRpeAoKIyBUaGlzIGlzIGEgbGlzdCBvZiB0aGUgaW5zdGFsbCB0YXJnZXRz IGZvciBhbGwgdGhlIG1vZHVsZXMgd2hpY2ggYXJlCiMgY29tcGlsZWQgdXNpbmcgJChYMTFfRkxB R1NfVE9fUEFTUykuCklOU1RBTExfWDExX01PRFVMRVMgPSBcCglpbnN0YWxsLWVtYWNzIFwKCWlu c3RhbGwtZW1hY3MxOSBcCglpbnN0YWxsLWdkYiBcCglpbnN0YWxsLWd1aWxlIFwKCWluc3RhbGwt ZXhwZWN0IFwKCWluc3RhbGwtZ2FzaCBcCglpbnN0YWxsLXRjbFggXAoJaW5zdGFsbC10ayBcCglp bnN0YWxsLXRrOC4xIFwKCWluc3RhbGwtdGl4CgojIFRoaXMgaXMgYSBsaXN0IG9mIHRoZSB0YXJn ZXRzIGZvciBhbGwgb2YgdGhlIG1vZHVsZXMgd2hpY2ggYXJlIGNvbXBpbGVkCiMgdXNpbmcgJChU QVJHRVRfRkxBR1NfVE9fUEFTUykuCkFMTF9UQVJHRVRfTU9EVUxFUyA9IFwKCWFsbC10YXJnZXQt bGlic3RkYysrLXYzIFwKCWFsbC10YXJnZXQtbGlicnggXAoJYWxsLXRhcmdldC1uZXdsaWIgXAoJ YWxsLXRhcmdldC1saWJmMmMgXAoJYWxsLXRhcmdldC1saWJvYmpjIFwKCWFsbC10YXJnZXQtbGli dGVybWNhcCBcCglhbGwtdGFyZ2V0LXdpbnN1cCBcCglhbGwtdGFyZ2V0LWxpYmdsb3NzIFwKCWFs bC10YXJnZXQtbGliaWJlcnR5IFwKCWFsbC10YXJnZXQtZ3BlcmYgXAoJYWxsLXRhcmdldC1leGFt cGxlcyBcCglhbGwtdGFyZ2V0LWxpYnN0dWIgXAoJYWxsLXRhcmdldC1saWJmZmkgXAoJYWxsLXRh cmdldC1saWJqYXZhIFwKCWFsbC10YXJnZXQtemxpYiBcCglhbGwtdGFyZ2V0LWJvZWhtLWdjIFwK CWFsbC10YXJnZXQtcXRocmVhZHMgXAoJYWxsLXRhcmdldC1ic3AgXAoJYWxsLXRhcmdldC1jeWdt b24KCiMgVGhpcyBpcyBhIGxpc3Qgb2YgdGhlIGNvbmZpZ3VyZSB0YXJnZXRzIGZvciBhbGwgb2Yg dGhlIG1vZHVsZXMgd2hpY2gKIyBhcmUgY29tcGlsZWQgdXNpbmcgdGhlIHRhcmdldCB0b29scy4K Q09ORklHVVJFX1RBUkdFVF9NT0RVTEVTID0gXAoJY29uZmlndXJlLXRhcmdldC1saWJzdGRjKyst djMgXAoJY29uZmlndXJlLXRhcmdldC1saWJyeCBcCgljb25maWd1cmUtdGFyZ2V0LW5ld2xpYiBc Cgljb25maWd1cmUtdGFyZ2V0LWxpYmYyYyBcCgljb25maWd1cmUtdGFyZ2V0LWxpYm9iamMgXAoJ Y29uZmlndXJlLXRhcmdldC1saWJ0ZXJtY2FwIFwKCWNvbmZpZ3VyZS10YXJnZXQtd2luc3VwIFwK CWNvbmZpZ3VyZS10YXJnZXQtbGliZ2xvc3MgXAoJY29uZmlndXJlLXRhcmdldC1saWJpYmVydHkg XAoJY29uZmlndXJlLXRhcmdldC1ncGVyZiBcCgljb25maWd1cmUtdGFyZ2V0LWV4YW1wbGVzIFwK CWNvbmZpZ3VyZS10YXJnZXQtbGlic3R1YiBcCgljb25maWd1cmUtdGFyZ2V0LWxpYmZmaSBcCglj b25maWd1cmUtdGFyZ2V0LWxpYmphdmEgXAoJY29uZmlndXJlLXRhcmdldC16bGliIFwKCWNvbmZp Z3VyZS10YXJnZXQtYm9laG0tZ2MgXAoJY29uZmlndXJlLXRhcmdldC1xdGhyZWFkcyBcCgljb25m aWd1cmUtdGFyZ2V0LWJzcCBcCgljb25maWd1cmUtdGFyZ2V0LWN5Z21vbgoKIyBUaGlzIGlzIGEg bGlzdCBvZiB0aGUgY2hlY2sgdGFyZ2V0cyBmb3IgYWxsIG9mIHRoZSBtb2R1bGVzIHdoaWNoIGFy ZQojIGNvbXBpbGVkIHVzaW5nICQoVEFSR0VUX0ZMQUdTX1RPX1BBU1MpLgpDSEVDS19UQVJHRVRf TU9EVUxFUyA9IFwKCWNoZWNrLXRhcmdldC1saWJzdGRjKystdjMgXAoJY2hlY2stdGFyZ2V0LW5l d2xpYiBcCgljaGVjay10YXJnZXQtbGliZjJjIFwKCWNoZWNrLXRhcmdldC1saWJvYmpjIFwKCWNo ZWNrLXRhcmdldC13aW5zdXAgXAoJY2hlY2stdGFyZ2V0LWxpYmliZXJ0eSBcCgljaGVjay10YXJn ZXQtbGliZmZpIFwKCWNoZWNrLXRhcmdldC1saWJqYXZhIFwKCWNoZWNrLXRhcmdldC16bGliIFwK CWNoZWNrLXRhcmdldC1ib2VobS1nYyBcCgljaGVjay10YXJnZXQtcXRocmVhZHMgXAoJY2hlY2st dGFyZ2V0LWdwZXJmCgojIFRoaXMgaXMgYSBsaXN0IG9mIHRoZSBpbnN0YWxsIHRhcmdldHMgZm9y IGFsbCBvZiB0aGUgbW9kdWxlcyB3aGljaCBhcmUKIyBjb21waWxlZCB1c2luZyAkKFRBUkdFVF9G TEFHU19UT19QQVNTKS4KSU5TVEFMTF9UQVJHRVRfTU9EVUxFUyA9IFwKCWluc3RhbGwtdGFyZ2V0 LWxpYnN0ZGMrKy12MyBcCglpbnN0YWxsLXRhcmdldC1uZXdsaWIgXAoJaW5zdGFsbC10YXJnZXQt bGliZjJjIFwKCWluc3RhbGwtdGFyZ2V0LWxpYm9iamMgXAoJaW5zdGFsbC10YXJnZXQtbGlidGVy bWNhcCBcCglpbnN0YWxsLXRhcmdldC13aW5zdXAgXAoJaW5zdGFsbC10YXJnZXQtbGliZ2xvc3Mg XAoJaW5zdGFsbC10YXJnZXQtbGliaWJlcnR5IFwKCWluc3RhbGwtdGFyZ2V0LWJzcCBcCglpbnN0 YWxsLXRhcmdldC1saWJqYXZhIFwKCWluc3RhbGwtdGFyZ2V0LXpsaWIgXAoJaW5zdGFsbC10YXJn ZXQtYm9laG0tZ2MgXAoJaW5zdGFsbC10YXJnZXQtcXRocmVhZHMgXAoJaW5zdGFsbC10YXJnZXQt Z3BlcmYKCiMgVGhpcyBpcyBhIGxpc3Qgb2YgdGhlIHRhcmdldHMgZm9yIHdoaWNoIHdlIGNhbiBk byBhIGNsZWFuLXt0YXJnZXR9LgpDTEVBTl9NT0RVTEVTID0gXAoJY2xlYW4tYXBhY2hlIFwKCWNs ZWFuLWFzaCBcCgljbGVhbi1hdXRvY29uZiBcCgljbGVhbi1hdXRvbWFrZSBcCgljbGVhbi1iYXNo IFwKCWNsZWFuLWJmZCBcCgljbGVhbi1iaW51dGlscyBcCgljbGVhbi1iaXNvbiBcCgljbGVhbi1i eWFjYyBcCgljbGVhbi1iemlwMiBcCgljbGVhbi1jZ2VuIFwKCWNsZWFuLWN2c3NyYyBcCgljbGVh bi1kYiBcCgljbGVhbi1kZWphZ251IFwKCWNsZWFuLWRpZmYgXAoJY2xlYW4tZG9zdXRpbHMgXAoJ Y2xlYW4tZXRjIFwKCWNsZWFuLWZhc3RqYXIgXAoJY2xlYW4tZmlsZXV0aWxzIFwKCWNsZWFuLWZp bmR1dGlscyBcCgljbGVhbi1maW5kIFwKCWNsZWFuLWZsZXggXAoJY2xlYW4tZ2FzIFwKCWNsZWFu LWdhd2sgXAoJY2xlYW4tZ2V0dGV4dCBcCgljbGVhbi1nbnVzZXJ2IFwKCWNsZWFuLWdwcm9mIFwK CWNsZWFuLWdyZXAgXAoJY2xlYW4tZ3JleiBcCgljbGVhbi1nemlwIFwKCWNsZWFuLWhlbGxvIFwK CWNsZWFuLWluZGVudCBcCgljbGVhbi1pbmV0IFwKCWNsZWFuLWludGwgXAoJY2xlYW4taXNwZWxs IFwKCWNsZWFuLWl0Y2wgXAoJY2xlYW4tbGQgXAoJY2xlYW4tbGliZ3VpIFwKCWNsZWFuLWxpYmli ZXJ0eSBcCgljbGVhbi1saWJ0b29sIFwKCWNsZWFuLW00IFwKCWNsZWFuLW1ha2UgXAoJY2xlYW4t bW1hbGxvYyBcCgljbGVhbi1vcGNvZGVzIFwKCWNsZWFuLXBhdGNoIFwKCWNsZWFuLXBlcmwgXAoJ Y2xlYW4tcHJtcyBcCgljbGVhbi1yY3MgXAoJY2xlYW4tcmVhZGxpbmUgXAoJY2xlYW4tcmVsZWFz ZSBcCgljbGVhbi1yZWNvZGUgXAoJY2xlYW4tc2VkIFwKCWNsZWFuLXNlbmQtcHIgXAoJY2xlYW4t c2hlbGx1dGlscyBcCgljbGVhbi1zaWQgXAoJY2xlYW4tc2ltIFwKCWNsZWFuLXNuYXZpZ2F0b3Ig XAoJY2xlYW4tdGFyIFwKCWNsZWFuLXRjbCBcCgljbGVhbi10ZXhpbmZvIFwKCWNsZWFuLXRleHR1 dGlscyBcCgljbGVhbi10Z2FzIFwKCWNsZWFuLXRpbWUgXAoJY2xlYW4tdXVkZWNvZGUgXAoJY2xl YW4td2RpZmYgXAoJY2xlYW4temlwIFwKCWNsZWFuLXpsaWIKCiMgQWxsIG9mIHRoZSB0YXJnZXQg bW9kdWxlcyB0aGF0IGNhbiBiZSBjbGVhbmVkCkNMRUFOX1RBUkdFVF9NT0RVTEVTID0gXAoJY2xl YW4tdGFyZ2V0LWxpYnN0ZGMrKy12MyBcCgljbGVhbi10YXJnZXQtbGlicnggXAoJY2xlYW4tdGFy Z2V0LW5ld2xpYiBcCgljbGVhbi10YXJnZXQtbGliZjJjIFwKCWNsZWFuLXRhcmdldC1saWJvYmpj IFwKCWNsZWFuLXRhcmdldC13aW5zdXAgXAoJY2xlYW4tdGFyZ2V0LWxpYmdsb3NzIFwKCWNsZWFu LXRhcmdldC1saWJpYmVydHkgXAoJY2xlYW4tdGFyZ2V0LWdwZXJmIFwKCWNsZWFuLXRhcmdldC1l eGFtcGxlcyBcCgljbGVhbi10YXJnZXQtbGlic3R1YiBcCgljbGVhbi10YXJnZXQtbGliZmZpIFwK CWNsZWFuLXRhcmdldC1saWJqYXZhIFwKCWNsZWFuLXRhcmdldC16bGliIFwKCWNsZWFuLXRhcmdl dC1ib2VobS1nYyBcCgljbGVhbi10YXJnZXQtcXRocmVhZHMgXAoJY2xlYW4tdGFyZ2V0LWJzcCBc CgljbGVhbi10YXJnZXQtY3lnbW9uCgojIEFsbCBvZiB0aGUgeDExIG1vZHVsZXMgdGhhdCBjYW4g YmUgY2xlYW5lZApDTEVBTl9YMTFfTU9EVUxFUyA9IFwKCWNsZWFuLWVtYWNzIFwKCWNsZWFuLWVt YWNzMTkgXAoJY2xlYW4tZ2RiIFwKCWNsZWFuLWV4cGVjdCBcCgljbGVhbi1nYXNoIFwKCWNsZWFu LWd1aWxlIFwKCWNsZWFuLXRjbFggXAoJY2xlYW4tdGsgXAoJY2xlYW4tdGl4CgojIFRoZSB0YXJn ZXQgYnVpbHQgZm9yIGEgbmF0aXZlIGJ1aWxkLgouUEhPTlk6IGFsbC5ub3JtYWwKYWxsLm5vcm1h bDogXAoJJChBTExfQlVJTERfTU9EVUxFUykgXAoJJChBTExfTU9EVUxFUykgXAoJJChBTExfWDEx X01PRFVMRVMpIFwKCSQoQUxMX1RBUkdFVF9NT0RVTEVTKSBcCglhbGwtZ2NjCgojIERvIGEgdGFy Z2V0IGZvciBhbGwgdGhlIHN1YmRpcmVjdG9yaWVzLiAgQSBgYG1ha2UgZG8tWCcnIHdpbGwgZG8g YQojIGBgbWFrZSBYJycgaW4gYWxsIHN1YmRpcmVjdG9yaWVzIChiZWNhdXNlLCBpbiBnZW5lcmFs LCB0aGVyZSBpcyBhCiMgZGVwZW5kZW5jeSAoYmVsb3cpIG9mIFggdXBvbiBkby1YLCBhIGBgbWFr ZSBYJycgd2lsbCBhbHNvIGRvIHRoaXMsCiMgYnV0IGl0IG1heSBkbyBhZGRpdGlvbmFsIHdvcmsg YXMgd2VsbCkuCiMgVGhpcyB0YXJnZXQgZW5zdXJlcyB0aGF0ICQoQkFTRV9GTEFHU19UT19QQVNT KSBhcHBlYXJzIG9ubHkgb25jZSwKIyBiZWNhdXNlIGl0IGlzIHNvIGxhcmdlIHRoYXQgaXQgY2Fu IGVhc2lseSBvdmVyZmxvdyB0aGUgY29tbWFuZCBsaW5lCiMgbGVuZ3RoIGxpbWl0IG9uIHNvbWUg c3lzdGVtcy4KRE9fWCA9IFwKCWRvLWNsZWFuIFwKCWRvLWRpc3RjbGVhbiBcCglkby1kdmkgXAoJ ZG8taW5mbyBcCglkby1pbnN0YWxsLWluZm8gXAoJZG8taW5zdGFsbGNoZWNrIFwKCWRvLW1vc3Rs eWNsZWFuIFwKCWRvLW1haW50YWluZXItY2xlYW4gXAoJZG8tVEFHUwouUEhPTlk6ICQoRE9fWCkK JChET19YKToKCUB0YXJnZXQ9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvXmRvLS8vJ2A7IFwKCXI9YHB3 ZGA7IGV4cG9ydCByOyBcCglzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkkKFNF VF9MSUJfUEFUSCkgXAoJZm9yIGkgaW4gJChTVUJESVJTKSAtZHVtbXktOyBkbyBcCgkgIGlmIFsg LWYgLi8kJGkvTWFrZWZpbGUgXTsgdGhlbiBcCgkgICAgY2FzZSAkJGkgaW4gXAoJICAgIGdjYykg XAoJICAgICAgZm9yIGZsYWcgaW4gJChFWFRSQV9HQ0NfRkxBR1MpOyBkbyBcCgkJZXZhbCBgZWNo byAiJCRmbGFnIiB8IHNlZCAtZSAic3xeXChbXj1dKlwpPVwoLipcKXxcMT0nXDInOyBleHBvcnQg XDF8ImA7IFwKCSAgICAgIGRvbmU7IFwKCSAgICAgIDs7IFwKCSAgICAqKSBcCgkgICAgICBmb3Ig ZmxhZyBpbiAkKEVYVFJBX0hPU1RfRkxBR1MpOyBkbyBcCgkJZXZhbCBgZWNobyAiJCRmbGFnIiB8 IHNlZCAtZSAic3xeXChbXj1dKlwpPVwoLipcKXxcMT0nXDInOyBleHBvcnQgXDF8ImA7IFwKCSAg ICAgIGRvbmU7IFwKCSAgICAgIDs7IFwKCSAgICBlc2FjIDsgXAoJICAgIGlmIChjZCAuLyQkaTsg XAoJICAgICAgICAkKE1BS0UpICQoQkFTRV9GTEFHU19UT19QQVNTKSAiQVI9JCR7QVJ9IiAiQVM9 JCR7QVN9IiBcCgkJCSJDQz0kJHtDQ30iICJDWFg9JCR7Q1hYfSIgIkxEPSQke0xEfSIgIk5NPSQk e05NfSIgXAoJICAgICAgICAgICAgICAgICJgZWNobyBcIlJBTkxJQj0kJHtSQU5MSUJ9XCIgfCBz ZWQgLWUgJ3MvLio9JCQvWEZPTz0vJ2AiIFwKCQkJIkRMTFRPT0w9JCR7RExMVE9PTH0iICJXSU5E UkVTPSQke1dJTkRSRVN9IiBcCgkJCSQke3RhcmdldH0pOyBcCgkgICAgdGhlbiB0cnVlOyBlbHNl IGV4aXQgMTsgZmk7IFwKCSAgZWxzZSB0cnVlOyBmaTsgXAoJZG9uZQoJQHRhcmdldD1gZWNobyAk QCB8IHNlZCAtZSAncy9eZG8tLy8nYDsgXAoJcj1gcHdkYDsgZXhwb3J0IHI7IFwKCXM9YGNkICQo c3JjZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCSQoU0VUX0xJQl9QQVRIKSBcCglmb3IgaSBpbiAk KFRBUkdFVF9DT05GSUdESVJTKSAtZHVtbXktOyBkbyBcCgkgIGlmIFsgLWYgJChUQVJHRVRfU1VC RElSKS8kJGkvTWFrZWZpbGUgXTsgdGhlbiBcCgkgICAgZm9yIGZsYWcgaW4gJChFWFRSQV9UQVJH RVRfRkxBR1MpOyBkbyBcCgkJZXZhbCBgZWNobyAiJCRmbGFnIiB8IHNlZCAtZSAic3xeXChbXj1d KlwpPVwoLipcKXxcMT0nXDInOyBleHBvcnQgXDF8ImA7IFwKCSAgICBkb25lOyBcCgkgICAgaWYg KGNkICQoVEFSR0VUX1NVQkRJUikvJCRpOyBcCgkgICAgICAgICQoTUFLRSkgJChCQVNFX0ZMQUdT X1RPX1BBU1MpICJBUj0kJHtBUn0iICJBUz0kJHtBU30iIFwKCQkJIkNDPSQke0NDfSIgIkNYWD0k JHtDWFh9IiAiTEQ9JCR7TER9IiAiTk09JCR7Tk19IiBcCgkgICAgICAgICAgICAgICAgImBlY2hv IFwiUkFOTElCPSQke1JBTkxJQn1cIiB8IHNlZCAtZSAncy8uKj0kJC9YRk9PPS8nYCIgXAoJCQki RExMVE9PTD0kJHtETExUT09MfSIgIldJTkRSRVM9JCR7V0lORFJFU30iIFwKCQkJJCR7dGFyZ2V0 fSk7IFwKCSAgICB0aGVuIHRydWU7IGVsc2UgZXhpdCAxOyBmaTsgXAoJICBlbHNlIHRydWU7IGZp OyBcCglkb25lCgojIEhlcmUgYXJlIHRoZSB0YXJnZXRzIHdoaWNoIGNvcnJlc3BvbmQgdG8gdGhl IGRvLVggdGFyZ2V0cy4KCi5QSE9OWTogaW5mbyBpbnN0YWxsY2hlY2sgZHZpIGluc3RhbGwtaW5m bwouUEhPTlk6IGNsZWFuIGRpc3RjbGVhbiBtb3N0bHljbGVhbiBtYWludGFpbmVyLWNsZWFuIHJl YWxjbGVhbgouUEhPTlk6IGxvY2FsLWNsZWFuIGxvY2FsLWRpc3RjbGVhbiBsb2NhbC1tYWludGFp bmVyLWNsZWFuCmluZm86IGRvLWluZm8KaW5zdGFsbGNoZWNrOiBkby1pbnN0YWxsY2hlY2sKZHZp OiBkby1kdmkKCiMgTWFrZSBzdXJlIG1ha2VpbmZvIGlzIGJ1aWx0IGJlZm9yZSB3ZSBkbyBhIGBt YWtlIGluZm8nLgpkby1pbmZvOiBhbGwtdGV4aW5mbwoKaW5zdGFsbC1pbmZvOiBkby1pbnN0YWxs LWluZm8gZGlyLmluZm8KCXM9YGNkICQoc3JjZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCWlmIFsg LWYgZGlyLmluZm8gXSA7IHRoZW4gXAoJICAkKElOU1RBTExfREFUQSkgZGlyLmluZm8gJChpbmZv ZGlyKS9kaXIuaW5mbyA7IFwKCWVsc2UgdHJ1ZSA7IGZpCgpsb2NhbC1jbGVhbjoKCS1ybSAtZiAq LmEgVEVNUCBlcnJzIGNvcmUgKi5vICp+IFwjKiBUQUdTICouRSAqLmxvZwoKbG9jYWwtZGlzdGNs ZWFuOgoJLXJtIC1mIE1ha2VmaWxlIGNvbmZpZy5zdGF0dXMgY29uZmlnLmNhY2hlIG1oLWZyYWcg bXQtZnJhZwoJLWlmIFsgIiQoVEFSR0VUX1NVQkRJUikiICE9ICIuIiBdOyB0aGVuIFwKCSAgcm0g LXJmICQoVEFSR0VUX1NVQkRJUik7IFwKCWVsc2UgdHJ1ZTsgZmkKCS1ybSAtZiB0ZXhpbmZvL3Bv L01ha2VmaWxlIHRleGluZm8vcG8vTWFrZWZpbGUuaW4gdGV4aW5mby9pbmZvL01ha2VmaWxlCgkt cm0gLWYgdGV4aW5mby9kb2MvTWFrZWZpbGUgdGV4aW5mby9wby9QT1RGSUxFUwoJLXJtZGlyIHRl eGluZm8vZG9jIHRleGluZm8vaW5mbyB0ZXhpbmZvL2ludGwgdGV4aW5mby9saWIgMj4vZGV2L251 bGwKCS1ybWRpciB0ZXhpbmZvL21ha2VpbmZvIHRleGluZm8vcG8gdGV4aW5mby91dGlsIDI+L2Rl di9udWxsCgktcm1kaXIgZmFzdGphciBnY2MgbGliaWJlcnR5IHRleGluZm8gemxpYiAyPi9kZXYv bnVsbAoKbG9jYWwtbWFpbnRhaW5lci1jbGVhbjoKCUBlY2hvICJUaGlzIGNvbW1hbmQgaXMgaW50 ZW5kZWQgZm9yIG1haW50YWluZXJzIHRvIHVzZTsiCglAZWNobyAiaXQgZGVsZXRlcyBmaWxlcyB0 aGF0IG1heSByZXF1aXJlIHNwZWNpYWwgdG9vbHMgdG8gcmVidWlsZC4iCgpjbGVhbjogZG8tY2xl YW4gbG9jYWwtY2xlYW4KbW9zdGx5Y2xlYW46IGRvLW1vc3RseWNsZWFuIGxvY2FsLWNsZWFuCmRp c3RjbGVhbjogZG8tZGlzdGNsZWFuIGxvY2FsLWNsZWFuIGxvY2FsLWRpc3RjbGVhbgptYWludGFp bmVyLWNsZWFuOiBsb2NhbC1tYWludGFpbmVyLWNsZWFuIGRvLW1haW50YWluZXItY2xlYW4gbG9j YWwtY2xlYW4gCm1haW50YWluZXItY2xlYW46IGxvY2FsLWRpc3RjbGVhbgpyZWFsY2xlYW46IG1h aW50YWluZXItY2xlYW4KCiMgVGhpcyBydWxlIGlzIHVzZWQgdG8gY2xlYW4gc3BlY2lmaWMgbW9k dWxlcy4KLlBIT05ZOiAkKENMRUFOX01PRFVMRVMpICQoQ0xFQU5fWDExX01PRFVMRVMpIGNsZWFu LWdjYwokKENMRUFOX01PRFVMRVMpICQoQ0xFQU5fWDExX01PRFVMRVMpIGNsZWFuLWdjYzoKCUBk aXI9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvY2xlYW4tLy8nYDsgXAoJaWYgWyAtZiAuLyQke2Rpcn0v TWFrZWZpbGUgXSA7IHRoZW4gXAoJICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNy Y2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkgICQoU0VUX0xJQl9QQVRIKSBcCgkgIChjZCAkJHtk aXJ9OyAkKE1BS0UpICQoRkxBR1NfVE9fUEFTUykgY2xlYW4pOyBcCgllbHNlIFwKCSAgdHJ1ZTsg XAoJZmkKCi5QSE9OWTogJChDTEVBTl9UQVJHRVRfTU9EVUxFUykKJChDTEVBTl9UQVJHRVRfTU9E VUxFUyk6CglAZGlyPWBlY2hvICRAIHwgc2VkIC1lICdzL2NsZWFuLXRhcmdldC0vLydgOyBcCgly bSAtZiAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn0vbXVsdGlsaWIub3V0ICQoVEFSR0VUX1NVQkRJ UikvJCR7ZGlyfS90bXBtdWx0aS5vdXQ7IFwKCWlmIFsgLWYgJChUQVJHRVRfU1VCRElSKS8kJHtk aXJ9L01ha2VmaWxlIF0gOyB0aGVuIFwKCSAgcj1gcHdkYDsgZXhwb3J0IHI7IFwKCSAgcz1gY2Qg JChzcmNkaXIpOyBwd2RgOyBleHBvcnQgczsgXAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2Qg JChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9OyAkKE1BS0UpICQoVEFSR0VUX0ZMQUdTX1RPX1BBU1Mp IGNsZWFuKTsgXAoJZWxzZSBcCgkgIHRydWU7IFwKCWZpCgpjbGVhbi10YXJnZXQ6ICQoQ0xFQU5f VEFSR0VUX01PRFVMRVMpIGNsZWFuLXRhcmdldC1saWJnY2MKY2xlYW4tdGFyZ2V0LWxpYmdjYzoK CXRlc3QgISAtZCBnY2MvbGliZ2NjIHx8IFwKCShjZCBnY2MvbGliZ2NjICYmIGZpbmQgLiAtdHlw ZSBkIC1wcmludCkgfCBcCgl3aGlsZSByZWFkIGQ7IGRvIHJtIC1mIGdjYy8kJGQvbGliZ2NjLmEg fHwgOiA7IGRvbmUKCS1ybSAtcmYgZ2NjL2xpYmdjYwoKIyBDaGVjayB0YXJnZXQuCgouUEhPTlk6 IGNoZWNrIGRvLWNoZWNrCmNoZWNrOgoJJChNQUtFKSBkby1jaGVjayBOT1RQQVJBTExFTD1wYXJh bGxlbC1vawoKZG8tY2hlY2s6ICQoQ0hFQ0tfTU9EVUxFUykgXAoJJChDSEVDS19UQVJHRVRfTU9E VUxFUykgXAoJJChDSEVDS19YMTFfTU9EVUxFUykgXAoJY2hlY2stZ2NjCgojIEF1dG9tYXRlZCBy ZXBvcnRpbmcgb2YgdGVzdCByZXN1bHRzLgoKd2FybmluZy5sb2c6IGJ1aWxkLmxvZwoJJChzcmNk aXIpL2NvbnRyaWIvd2Fybl9zdW1tYXJ5IGJ1aWxkLmxvZyA+ICRACgptYWlsLXJlcG9ydC5sb2c6 CglpZiB0ZXN0IHgnJChCT09UX0NGTEFHUyknICE9IHgnJzsgdGhlbiBcCgkgICAgQk9PVF9DRkxB R1M9JyQoQk9PVF9DRkxBR1MpJzsgZXhwb3J0IEJPT1RfQ0ZMQUdTOyBcCglmaTsgXAoJJChzcmNk aXIpL2NvbnRyaWIvdGVzdF9zdW1tYXJ5IC10ID4kQAoJY2htb2QgK3ggJEAKCWVjaG8gSWYgeW91 IHJlYWxseSB3YW50IHRvIHNlbmQgZS1tYWlsLCBydW4gLi8kQCBub3cKCm1haWwtcmVwb3J0LXdp dGgtd2FybmluZ3MubG9nOiB3YXJuaW5nLmxvZwoJaWYgdGVzdCB4JyQoQk9PVF9DRkxBR1MpJyAh PSB4Jyc7IHRoZW4gXAoJICAgIEJPT1RfQ0ZMQUdTPSckKEJPT1RfQ0ZMQUdTKSc7IGV4cG9ydCBC T09UX0NGTEFHUzsgXAoJZmk7IFwKCSQoc3JjZGlyKS9jb250cmliL3Rlc3Rfc3VtbWFyeSAtdCAt aSB3YXJuaW5nLmxvZyA+JEAKCWNobW9kICt4ICRACgllY2hvIElmIHlvdSByZWFsbHkgd2FudCB0 byBzZW5kIGUtbWFpbCwgcnVuIC4vJEAgbm93CgojIEluc3RhbGxhdGlvbiB0YXJnZXRzLgoKLlBI T05ZOiBpbnN0YWxsIGluc3RhbGwtY3Jvc3MgdW5pbnN0YWxsIHNvdXJjZS12YXVsdCBiaW5hcnkt dmF1bHQgdmF1bHQtaW5zdGFsbAppbnN0YWxsOiAkKElOU1RBTExfVEFSR0VUKSAKaW5zdGFsbC1j cm9zczogJChJTlNUQUxMX1RBUkdFVF9DUk9TUykgCgp1bmluc3RhbGw6CglAZWNobyAidGhlIHVu aW5zdGFsbCB0YXJnZXQgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHRyZWUiCgpzb3VyY2UtdmF1 bHQ6CgkkKE1BS0UpIC1mIC4vcmVsZWFzZS9CdWlsZC1BLVJlbGVhc2UgXAoJCWhvc3Q9JChob3N0 X2FsaWFzKSBzb3VyY2UtdmF1bHQKCmJpbmFyeS12YXVsdDoKCSQoTUFLRSkgLWYgLi9yZWxlYXNl L0J1aWxkLUEtUmVsZWFzZSBcCgkJaG9zdD0kKGhvc3RfYWxpYXMpIHRhcmdldD0kKHRhcmdldF9h bGlhcykKCnZhdWx0LWluc3RhbGw6CglAaWYgWyAtZiAuL3JlbGVhc2UvdmF1bHQtaW5zdGFsbCBd IDsgdGhlbiBcCgkgIC4vcmVsZWFzZS92YXVsdC1pbnN0YWxsICQoaG9zdF9hbGlhcykgJCh0YXJn ZXRfYWxpYXMpIDsgXAoJZWxzZSBcCgkgIHRydWUgOyBcCglmaQoKLlBIT05ZOiBpbnN0YWxsLmFs bAppbnN0YWxsLmFsbDogaW5zdGFsbC1uby1maXhlZGluY2x1ZGVzCglAaWYgWyAtZiAuL2djYy9N YWtlZmlsZSBdIDsgdGhlbiBcCgkJcj1gcHdkYCA7IGV4cG9ydCByIDsgXAoJCSQoU0VUX0xJQl9Q QVRIKSBcCgkJKGNkIC4vZ2NjOyBcCgkJJChNQUtFKSAkKEZMQUdTX1RPX1BBU1MpIGluc3RhbGwt aGVhZGVycykgOyBcCgllbHNlIFwKCQl0cnVlIDsgXAoJZmkKCiMgaW5ldC1pbnN0YWxsIGlzIHVz ZWQgYmVjYXVzZSB0aGUgSSpOZXQgd2FudHMgRGVqYUdOVSBpbnN0YWxsZWQgYnV0CiMgbm90IGJ1 aWx0LiAgU2ltaWxhcmx5LCBnemlwIGlzIGJ1aWx0IGJ1dCBub3QgaW5zdGFsbGVkLgppbmV0LWlu c3RhbGw6CgkkKE1BS0UpIElOU1RBTExfTU9EVUxFUz0iYGVjaG8gJChJTlNUQUxMX01PRFVMRVMp IHwgc2VkIC1lICdzL2luc3RhbGwtZGVqYWdudS8vJyAtZSAncy9pbnN0YWxsLWd6aXAvLydgIiBp bnN0YWxsCgojIGluc3RhbGwtbm8tZml4ZWRpbmNsdWRlcyBpcyB1c2VkIGJlY2F1c2UgQ3lnbnVz IGNhbiBub3QgZGlzdHJpYnV0ZQojIHRoZSBmaXhlZCBoZWFkZXIgZmlsZXMuCi5QSE9OWTogaW5z dGFsbC1uby1maXhlZGluY2x1ZGVzCmluc3RhbGwtbm8tZml4ZWRpbmNsdWRlczogXAoJaW5zdGFs bGRpcnMgXAoJJChJTlNUQUxMX01PRFVMRVMpIFwKCSQoSU5TVEFMTF9UQVJHRVRfTU9EVUxFUykg XAoJJChJTlNUQUxMX1gxMV9NT0RVTEVTKSBcCglnY2Mtbm8tZml4ZWRpbmNsdWRlcyAKCiMgSW5z dGFsbCB0aGUgZ2NjIGhlYWRlcnMgZmlsZXMsIGJ1dCBub3QgdGhlIGZpeGVkIGluY2x1ZGUgZmls ZXMsCiMgd2hpY2ggQ3lnbnVzIGlzIG5vdCBhbGxvd2VkIHRvIGRpc3RyaWJ1dGUuICBUaGlzIHJ1 bGUgaXMgdmVyeQojIGRlcGVuZGVudCBvbiB0aGUgd29ya2luZ3Mgb2YgdGhlIGdjYyBNYWtlZmls ZS5pbi4KLlBIT05ZOiBnY2Mtbm8tZml4ZWRpbmNsdWRlcwpnY2Mtbm8tZml4ZWRpbmNsdWRlczoK CUBpZiBbIC1mIC4vZ2NjL01ha2VmaWxlIF07IHRoZW4gXAoJICBybSAtcmYgZ2NjL3RtcC1pbmNs dWRlOyBcCgkgIG12IGdjYy9pbmNsdWRlIGdjYy90bXAtaW5jbHVkZSAyPi9kZXYvbnVsbDsgXAoJ ICBta2RpciBnY2MvaW5jbHVkZTsgXAoJICBjcCAkKHNyY2RpcikvZ2NjL2dzeXNsaW1pdHMuaCBn Y2MvaW5jbHVkZS9zeXNsaW1pdHMuaDsgXAoJICB0b3VjaCBnY2Mvc3RtcC1maXhpbmMgZ2NjL2lu Y2x1ZGUvZml4ZWQ7IFwKCSAgcm0gLWYgZ2NjL3N0bXAtaGVhZGVycyBnY2Mvc3RtcC1pbnQtaGRy czsgXAoJICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGAgOyBl eHBvcnQgczsgXAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2QgLi9nY2M7IFwKCSAgICQoTUFL RSkgJChHQ0NfRkxBR1NfVE9fUEFTUykgaW5zdGFsbCk7IFwKCSAgcm0gLXJmIGdjYy9pbmNsdWRl OyBcCgkgIG12IGdjYy90bXAtaW5jbHVkZSBnY2MvaW5jbHVkZSAyPi9kZXYvbnVsbDsgXAoJZWxz ZSB0cnVlOyBmaQoKIyBUaGlzIHJ1bGUgaXMgdXNlZCB0byBidWlsZCB0aGUgbW9kdWxlcyB3aGlj aCBhcmUgYnVpbHQgd2l0aCB0aGUKIyBidWlsZCBtYWNoaW5lJ3MgbmF0aXZlIGNvbXBpbGVyLgou UEhPTlk6ICQoQUxMX0JVSUxEX01PRFVMRVMpCiQoQUxMX0JVSUxEX01PRFVMRVMpOgoJZGlyPWBl Y2hvICRAIHwgc2VkIC1lICdzL2FsbC1idWlsZC0vLydgOyBcCglpZiBbIC1mIC4vJCR7ZGlyfS9N YWtlZmlsZSBdIDsgdGhlbiBcCgkgIHI9YHB3ZGA7IGV4cG9ydCByOyBcCgkgIHM9YGNkICQoc3Jj ZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCSAgKGNkICQoQlVJTERfU1VCRElSKS8kJHtkaXJ9ICYm ICQoTUFLRSkgYWxsKTsgXAoJZWxzZSBcCgkgIHRydWU7IFwKCWZpCgojIFRoaXMgcnVsZSBpcyB1 c2VkIHRvIGNvbmZpZ3VyZSB0aGUgbW9kdWxlcyB3aGljaCBhcmUgYnVpbHQgd2l0aCB0aGUKIyBu YXRpdmUgdG9vbHMuCi5QSE9OWTogJChDT05GSUdVUkVfQlVJTERfTU9EVUxFUykKJChDT05GSUdV UkVfQlVJTERfTU9EVUxFUyk6CglAZGlyPWBlY2hvICRAIHwgc2VkIC1lICdzL2NvbmZpZ3VyZS1i dWlsZC0vLydgOyBcCglpZiBbICEgLWQgJChCVUlMRF9TVUJESVIpIF07IHRoZW4gXAoJICB0cnVl OyBcCgllbGlmIFsgLWYgJChCVUlMRF9TVUJESVIpLyQke2Rpcn0vTWFrZWZpbGUgXSA7IHRoZW4g XAoJICB0cnVlOyBcCgllbGlmIGVjaG8gIiAkKEJVSUxEX0NPTkZJR0RJUlMpICIgfCBncmVwICIg JCR7ZGlyfSAiID4vZGV2L251bGwgMj4mMTsgdGhlbiBcCgkgIGlmIFsgLWQgJChzcmNkaXIpLyQk e2Rpcn0gXTsgdGhlbiBcCgkgICAgWyAtZCAkKEJVSUxEX1NVQkRJUikvJCR7ZGlyfSBdIHx8IG1r ZGlyICQoQlVJTERfU1VCRElSKS8kJHtkaXJ9O1wKCSAgICByPWBwd2RgOyBleHBvcnQgcjsgXAoJ ICAgIHM9YGNkICQoc3JjZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCSAgICBBUj0iJChBUl9GT1Jf QlVJTEQpIjsgZXhwb3J0IEFSOyBcCgkgICAgQVM9IiQoQVNfRk9SX0JVSUxEKSI7IGV4cG9ydCBB UzsgXAoJICAgIENDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKCSAgICBDRkxBR1M9 IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCgkgICAgQ1hYPSIkKENYWF9G T1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAoJICAgIENYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9C VUlMRCkiOyBleHBvcnQgQ1hYRkxBR1M7IFwKCSAgICBHQ0o9IiQoR0NKX0ZPUl9CVUlMRCkiOyBl eHBvcnQgR0NKOyBcCgkgICAgRExMVE9PTD0iJChETExUT09MX0ZPUl9CVUlMRCkiOyBleHBvcnQg RExMVE9PTDsgXAoJICAgIExEPSIkKExEX0ZPUl9CVUlMRCkiOyBleHBvcnQgTEQ7IFwKICAgICAg ICAgICAgTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgTERGTEFHUzsgXAoJ ICAgIE5NPSIkKE5NX0ZPUl9CVUlMRCkiOyBleHBvcnQgTk07IFwKCSAgICBSQU5MSUI9IiQoUkFO TElCX0ZPUl9CVUlMRCkiOyBleHBvcnQgUkFOTElCOyBcCgkgICAgV0lORFJFUz0iJChXSU5EUkVT X0ZPUl9CVUlMRCkiOyBleHBvcnQgV0lORFJFUzsgXAoJICAgIGVjaG8gQ29uZmlndXJpbmcgaW4g JChCVUlMRF9TVUJESVIpLyQke2Rpcn07IFwKCSAgICBjZCAiJChCVUlMRF9TVUJESVIpLyQke2Rp cn0iIHx8IGV4aXQgMTsgXAoJICAgIGNhc2UgJChzcmNkaXIpIGluIFwKCSAgICAvKiB8IFtBLVph LXpdOltcXC9dKikgXAoJICAgICAgdG9wZGlyPSQoc3JjZGlyKSA7OyBcCgkgICAgKikgXAoJICAg ICAgY2FzZSAiJChCVUlMRF9TVUJESVIpIiBpbiBcCgkgICAgICAuKSB0b3BkaXI9Ii4uLyQoc3Jj ZGlyKSIgOzsgXAoJICAgICAgKikgdG9wZGlyPSIuLi8uLi8kKHNyY2RpcikiIDs7IFwKCSAgICAg IGVzYWMgOzsgXAoJICAgIGVzYWM7IFwKCSAgICBpZiBbICIkKHNyY2RpcikiID0gIi4iIF0gOyB0 aGVuIFwKCSAgICAgIGlmIFsgIiQoQlVJTERfU1VCRElSKSIgIT0gIi4iIF0gOyB0aGVuIFwKCQlp ZiAkKFNIRUxMKSAkJHMvc3ltbGluay10cmVlICQke3RvcGRpcn0vJCR7ZGlyfSAibm8tc3VjaC1m aWxlIiA7IHRoZW4gXAoJCSAgaWYgWyAtZiBNYWtlZmlsZSBdOyB0aGVuIFwKCQkgICAgaWYgJChN QUtFKSBkaXN0Y2xlYW47IHRoZW4gXAoJCSAgICAgIHRydWU7IFwKCQkgICAgZWxzZSBcCgkJICAg ICAgZXhpdCAxOyBcCgkJICAgIGZpOyBcCgkJICBlbHNlIFwKCQkgICAgdHJ1ZTsgXAoJCSAgZmk7 IFwKCQllbHNlIFwKCQkgIGV4aXQgMTsgXAoJCWZpOyBcCgkgICAgICBlbHNlIFwKCQl0cnVlOyBc CgkgICAgICBmaTsgXAoJICAgICAgc3JjZGlyb3B0aW9uPSItLXNyY2Rpcj0uIjsgXAoJICAgICAg bGlic3JjZGlyPSIuIjsgXAoJICAgIGVsc2UgXAoJICAgICAgc3JjZGlyb3B0aW9uPSItLXNyY2Rp cj0kJHt0b3BkaXJ9LyQke2Rpcn0iOyBcCgkgICAgICBsaWJzcmNkaXI9IiQkcy8kJHtkaXJ9Ijsg XAoJICAgIGZpOyBcCgkgICAgaWYgWyAtZiAkJHtsaWJzcmNkaXJ9L2NvbmZpZ3VyZSBdIDsgdGhl biBcCgkgICAgICBybSAtZiBuby1zdWNoLWZpbGUgc2tpcC10aGlzLWRpcjsgXAoJICAgICAgQ09O RklHX1NJVEU9bm8tc3VjaC1maWxlICQoU0hFTEwpICQke2xpYnNyY2Rpcn0vY29uZmlndXJlIFwK CQkkKEJVSUxEX0NPTkZJR0FSR1MpICQke3NyY2Rpcm9wdGlvbn0gXAoJCS0td2l0aC1idWlsZC1z dWJkaXI9IiQoQlVJTERfU1VCRElSKSI7IFwKCSAgICBlbHNlIFwKCSAgICAgIHJtIC1mIG5vLXN1 Y2gtZmlsZSBza2lwLXRoaXMtZGlyOyBcCgkgICAgICBDT05GSUdfU0lURT1uby1zdWNoLWZpbGUg JChTSEVMTCkgJCRzL2NvbmZpZ3VyZSBcCgkJJChCVUlMRF9DT05GSUdBUkdTKSAkJHtzcmNkaXJv cHRpb259IFwKCQktLXdpdGgtYnVpbGQtc3ViZGlyPSIkKEJVSUxEX1NVQkRJUikiOyBcCgkgICAg ZmkgfHwgZXhpdCAxOyBcCgkgICAgaWYgWyAtZiBza2lwLXRoaXMtZGlyIF0gOyB0aGVuIFwKCSAg ICAgIHNoIHNraXAtdGhpcy1kaXI7IFwKCSAgICAgIHJtIC1mIHNraXAtdGhpcy1kaXI7IFwKCSAg ICAgIGNkIC4uOyBybWRpciAkJHtkaXJ9IHx8IHRydWU7IFwKCSAgICBlbHNlIFwKCSAgICAgIHRy dWU7IFwKCSAgICBmaTsgXAoJICBlbHNlIFwKCSAgICB0cnVlOyBcCgkgIGZpOyBcCgllbHNlIFwK CSAgdHJ1ZTsgXAoJZmkKCiMgVGhpcyBydWxlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIG1vZHVsZXMg d2hpY2ggdXNlIEZMQUdTX1RPX1BBU1MuICBUbwojIGJ1aWxkIGEgdGFyZ2V0IGFsbC1YIG1lYW5z IHRvIGNkIHRvIFggYW5kIG1ha2UgYWxsLgojCiMgYWxsLWd1aSwgYW5kIGFsbC1saWJwcm9jIGFy ZSBoYW5kbGVkIHNwZWNpYWxseSBiZWNhdXNlCiMgdGhleSBhcmUgc3RpbGwgZXhwZXJpbWVudGFs LCBhbmQgaWYgdGhleSBmYWlsIHRvIGJ1aWxkLCB0aGF0CiMgc2hvdWxkbid0IHN0b3AgIm1ha2Ug YWxsIi4KLlBIT05ZOiAkKEFMTF9NT0RVTEVTKSBhbGwtZ3VpIGFsbC1saWJwcm9jCiQoQUxMX01P RFVMRVMpIGFsbC1ndWkgYWxsLWxpYnByb2M6CglAZGlyPWBlY2hvICRAIHwgc2VkIC1lICdzL2Fs bC0vLydgOyBcCglpZiBbIC1mIC4vJCR7ZGlyfS9NYWtlZmlsZSBdIDsgdGhlbiBcCgkgIHI9YHB3 ZGA7IGV4cG9ydCByOyBcCgkgIHM9YGNkICQoc3JjZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCSAg JChTRVRfTElCX1BBVEgpIFwKCSAgKGNkICQke2Rpcn07ICQoTUFLRSkgJChGTEFHU19UT19QQVNT KSBhbGwpOyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJZmkKCiMgVGhlc2UgcnVsZXMgYXJlIHVzZWQg dG8gY2hlY2sgdGhlIG1vZHVsZXMgd2hpY2ggdXNlIEZMQUdTX1RPX1BBU1MuCiMgVG8gYnVpbGQg YSB0YXJnZXQgY2hlY2stWCBtZWFucyB0byBjZCB0byBYIGFuZCBtYWtlIGNoZWNrLiAgU29tZQoj IG1vZHVsZXMgYXJlIG9ubHkgdGVzdGVkIGluIGEgbmF0aXZlIHRvb2xjaGFpbi4KCi5QSE9OWTog JChDSEVDS19NT0RVTEVTKSAkKE5BVElWRV9DSEVDS19NT0RVTEVTKSAkKENST1NTX0NIRUNLX01P RFVMRVMpCiQoTkFUSVZFX0NIRUNLX01PRFVMRVMpOgoJQGlmIFsgJyQoaG9zdF9jYW5vbmljYWwp JyA9ICckKHRhcmdldF9jYW5vbmljYWwpJyBdIDsgdGhlbiBcCgkgIGRpcj1gZWNobyAkQCB8IHNl ZCAtZSAncy9jaGVjay0vLydgOyBcCgkgIGlmIFsgLWYgLi8kJHtkaXJ9L01ha2VmaWxlIF0gOyB0 aGVuIFwKCSAgICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICAgIHM9YGNkICQoc3JjZGlyKTsgcHdk YDsgZXhwb3J0IHM7IFwKCSAgICAkKFNFVF9MSUJfUEFUSCkgXAoJICAgIChjZCAkJHtkaXJ9OyAk KE1BS0UpICQoRkxBR1NfVE9fUEFTUykgY2hlY2spOyBcCgkgIGVsc2UgXAoJICAgIHRydWU7IFwK CSAgZmk7IFwKCWZpCgokKENST1NTX0NIRUNLX01PRFVMRVMpOgoJQGRpcj1gZWNobyAkQCB8IHNl ZCAtZSAncy9jaGVjay0vLydgOyBcCglpZiBbIC1mIC4vJCR7ZGlyfS9NYWtlZmlsZSBdIDsgdGhl biBcCgkgIHI9YHB3ZGA7IGV4cG9ydCByOyBcCgkgIHM9YGNkICQoc3JjZGlyKTsgcHdkYDsgZXhw b3J0IHM7IFwKCSAgJChTRVRfTElCX1BBVEgpIFwKCSAgKGNkICQke2Rpcn07ICQoTUFLRSkgJChG TEFHU19UT19QQVNTKSBjaGVjayk7IFwKCWVsc2UgXAoJICB0cnVlOyBcCglmaQoKIyBUaGlzIHJ1 bGUgaXMgdXNlZCB0byBpbnN0YWxsIHRoZSBtb2R1bGVzIHdoaWNoIHVzZSBGTEFHU19UT19QQVNT LgojIFRvIGJ1aWxkIGEgdGFyZ2V0IGluc3RhbGwtWCBtZWFucyB0byBjZCB0byBYIGFuZCBtYWtl IGluc3RhbGwuCi5QSE9OWTogJChJTlNUQUxMX01PRFVMRVMpCiQoSU5TVEFMTF9NT0RVTEVTKTog aW5zdGFsbGRpcnMKCUBkaXI9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvaW5zdGFsbC0vLydgOyBcCglp ZiBbIC1mIC4vJCR7ZGlyfS9NYWtlZmlsZSBdIDsgdGhlbiBcCgkgIHI9YHB3ZGA7IGV4cG9ydCBy OyBcCgkgIHM9YGNkICQoc3JjZGlyKTsgcHdkYDsgZXhwb3J0IHM7IFwKCSAgJChTRVRfTElCX1BB VEgpIFwKCSAgKGNkICQke2Rpcn07ICQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsKTsg XAoJZWxzZSBcCgkgIHRydWU7IFwKCWZpCgojIFRoaXMgcnVsZSBpcyB1c2VkIHRvIGNvbmZpZ3Vy ZSB0aGUgbW9kdWxlcyB3aGljaCBhcmUgYnVpbHQgd2l0aCB0aGUKIyB0YXJnZXQgdG9vbHMuCi5Q SE9OWTogJChDT05GSUdVUkVfVEFSR0VUX01PRFVMRVMpCiQoQ09ORklHVVJFX1RBUkdFVF9NT0RV TEVTKToKCUBkaXI9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvY29uZmlndXJlLXRhcmdldC0vLydgOyBc CglpZiBbIC1kICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfSBdOyB0aGVuIFwKCSAgcj1gcHdkYDsg ZXhwb3J0IHI7IFwKCSAgJChDQ19GT1JfVEFSR0VUKSAtLXByaW50LW11bHRpLWxpYiA+ICQoVEFS R0VUX1NVQkRJUikvJCR7ZGlyfS90bXBtdWx0aS5vdXQgMj4gL2Rldi9udWxsOyBcCgkgIGlmIFsg LXMgJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9L3RtcG11bHRpLm91dCBdOyB0aGVuIFwKCSAgICBp ZiBbIC1mICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfS9tdWx0aWxpYi5vdXQgXTsgdGhlbiBcCgkg ICAgICBpZiBjbXAgJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9L211bHRpbGliLm91dCAkKFRBUkdF VF9TVUJESVIpLyQke2Rpcn0vdG1wbXVsdGkub3V0ID4gL2Rldi9udWxsOyB0aGVuIFwKCQlybSAt ZiAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn0vdG1wbXVsdGkub3V0OyBcCgkgICAgICBlbHNlIFwK CQllY2hvICJNdWx0aWxpYnMgY2hhbmdlZCBmb3IgJCR7ZGlyfSwgcmVjb25maWd1cmluZyI7IFwK CQlybSAtZiAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn0vbXVsdGlsaWIub3V0ICQoVEFSR0VUX1NV QkRJUikvJCR7ZGlyfS9NYWtlZmlsZTsgXAoJCW12ICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfS90 bXBtdWx0aS5vdXQgJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9L211bHRpbGliLm91dDsgXAoJICAg ICAgZmk7IFwKCSAgICBlbHNlIFwKCSAgICAgIG12ICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfS90 bXBtdWx0aS5vdXQgJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9L211bHRpbGliLm91dDsgXAoJICAg IGZpOyBcCgkgIGZpOyBcCglmaTsgZXhpdCAwCSMgYnJlYWsgY29tbWFuZCBpbnRvIHR3byBwaWVj ZXMKCUBkaXI9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvY29uZmlndXJlLXRhcmdldC0vLydgOyBcCglp ZiBbICEgLWQgJChUQVJHRVRfU1VCRElSKSBdOyB0aGVuIFwKCSAgdHJ1ZTsgXAoJZWxpZiBbIC1m ICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfS9NYWtlZmlsZSBdIDsgdGhlbiBcCgkgIHRydWU7IFwK CWVsaWYgZWNobyAiICQoVEFSR0VUX0NPTkZJR0RJUlMpICIgfCBncmVwICIgJCR7ZGlyfSAiID4v ZGV2L251bGwgMj4mMTsgdGhlbiBcCgkgIGlmIFsgLWQgJChzcmNkaXIpLyQke2Rpcn0gXTsgdGhl biBcCgkgICAgWyAtZCAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn0gXSB8fCBta2RpciAkKFRBUkdF VF9TVUJESVIpLyQke2Rpcn07XAoJICAgIHI9YHB3ZGA7IGV4cG9ydCByOyBcCgkgICAgcz1gY2Qg JChzcmNkaXIpOyBwd2RgOyBleHBvcnQgczsgXAoJICAgICQoU0VUX0xJQl9QQVRIKSBcCgkgICAg QVI9IiQoQVJfRk9SX1RBUkdFVCkiOyBleHBvcnQgQVI7IFwKCSAgICBBUz0iJChBU19GT1JfVEFS R0VUKSI7IGV4cG9ydCBBUzsgXAoJICAgIENDPSIkKENDX0ZPUl9UQVJHRVQpIjsgZXhwb3J0IEND OyBcCgkgICAgQ0ZMQUdTPSIkKENGTEFHU19GT1JfVEFSR0VUKSI7IGV4cG9ydCBDRkxBR1M7IFwK CSAgICBDWFg9IiQoQ1hYX0ZPUl9UQVJHRVQpIjsgZXhwb3J0IENYWDsgXAoJICAgIENYWEZMQUdT PSIkKENYWEZMQUdTX0ZPUl9UQVJHRVQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCgkgICAgR0NKPSIk KEdDSl9GT1JfVEFSR0VUKSI7IGV4cG9ydCBHQ0o7IFwKCSAgICBETExUT09MPSIkKERMTFRPT0xf Rk9SX1RBUkdFVCkiOyBleHBvcnQgRExMVE9PTDsgXAoJICAgIExEPSIkKExEX0ZPUl9UQVJHRVQp IjsgZXhwb3J0IExEOyBcCiAgICAgICAgICAgIExERkxBR1M9IiQoTERGTEFHU19GT1JfVEFSR0VU KSI7IGV4cG9ydCBMREZMQUdTOyBcCgkgICAgTk09IiQoTk1fRk9SX1RBUkdFVCkiOyBleHBvcnQg Tk07IFwKCSAgICBSQU5MSUI9IiQoUkFOTElCX0ZPUl9UQVJHRVQpIjsgZXhwb3J0IFJBTkxJQjsg XAoJICAgIFdJTkRSRVM9IiQoV0lORFJFU19GT1JfVEFSR0VUKSI7IGV4cG9ydCBXSU5EUkVTOyBc CgkgICAgZWNobyBDb25maWd1cmluZyBpbiAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn07IFwKCSAg ICBjZCAiJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9IiB8fCBleGl0IDE7IFwKCSAgICBjYXNlICQo c3JjZGlyKSBpbiBcCgkgICAgLyogfCBbQS1aYS16XTpbXFwvXSopIFwKCSAgICAgIHRvcGRpcj0k KHNyY2RpcikgOzsgXAoJICAgICopIFwKCSAgICAgIGNhc2UgIiQoVEFSR0VUX1NVQkRJUikiIGlu IFwKCSAgICAgIC4pIHRvcGRpcj0iLi4vJChzcmNkaXIpIiA7OyBcCgkgICAgICAqKSB0b3BkaXI9 Ii4uLy4uLyQoc3JjZGlyKSIgOzsgXAoJICAgICAgZXNhYyA7OyBcCgkgICAgZXNhYzsgXAoJICAg IGlmIFsgIiQoc3JjZGlyKSIgPSAiLiIgXSA7IHRoZW4gXAoJICAgICAgaWYgWyAiJChUQVJHRVRf U1VCRElSKSIgIT0gIi4iIF0gOyB0aGVuIFwKCQlpZiAkKFNIRUxMKSAkJHMvc3ltbGluay10cmVl ICQke3RvcGRpcn0vJCR7ZGlyfSAibm8tc3VjaC1maWxlIiA7IHRoZW4gXAoJCSAgaWYgWyAtZiBN YWtlZmlsZSBdOyB0aGVuIFwKCQkgICAgaWYgJChNQUtFKSBkaXN0Y2xlYW47IHRoZW4gXAoJCSAg ICAgIHRydWU7IFwKCQkgICAgZWxzZSBcCgkJICAgICAgZXhpdCAxOyBcCgkJICAgIGZpOyBcCgkJ ICBlbHNlIFwKCQkgICAgdHJ1ZTsgXAoJCSAgZmk7IFwKCQllbHNlIFwKCQkgIGV4aXQgMTsgXAoJ CWZpOyBcCgkgICAgICBlbHNlIFwKCQl0cnVlOyBcCgkgICAgICBmaTsgXAoJICAgICAgc3JjZGly b3B0aW9uPSItLXNyY2Rpcj0uIjsgXAoJICAgICAgbGlic3JjZGlyPSIuIjsgXAoJICAgIGVsc2Ug XAoJICAgICAgc3JjZGlyb3B0aW9uPSItLXNyY2Rpcj0kJHt0b3BkaXJ9LyQke2Rpcn0iOyBcCgkg ICAgICBsaWJzcmNkaXI9IiQkcy8kJHtkaXJ9IjsgXAoJICAgIGZpOyBcCgkgICAgaWYgWyAtZiAk JHtsaWJzcmNkaXJ9L2NvbmZpZ3VyZSBdIDsgdGhlbiBcCgkgICAgICBybSAtZiBuby1zdWNoLWZp bGUgc2tpcC10aGlzLWRpcjsgXAoJICAgICAgQ09ORklHX1NJVEU9bm8tc3VjaC1maWxlICQoU0hF TEwpICQke2xpYnNyY2Rpcn0vY29uZmlndXJlIFwKCQkkKFRBUkdFVF9DT05GSUdBUkdTKSAkJHtz cmNkaXJvcHRpb259IFwKCQktLXdpdGgtdGFyZ2V0LXN1YmRpcj0iJChUQVJHRVRfU1VCRElSKSI7 IFwKCSAgICBlbHNlIFwKCSAgICAgIHJtIC1mIG5vLXN1Y2gtZmlsZSBza2lwLXRoaXMtZGlyOyBc CgkgICAgICBDT05GSUdfU0lURT1uby1zdWNoLWZpbGUgJChTSEVMTCkgJCRzL2NvbmZpZ3VyZSBc CgkJJChUQVJHRVRfQ09ORklHQVJHUykgJCR7c3JjZGlyb3B0aW9ufSBcCgkJLS13aXRoLXRhcmdl dC1zdWJkaXI9IiQoVEFSR0VUX1NVQkRJUikiOyBcCgkgICAgZmkgfHwgZXhpdCAxOyBcCgkgICAg aWYgWyAtZiBza2lwLXRoaXMtZGlyIF0gOyB0aGVuIFwKCSAgICAgIHNoIHNraXAtdGhpcy1kaXI7 IFwKCSAgICAgIHJtIC1mIHNraXAtdGhpcy1kaXI7IFwKCSAgICAgIGNkIC4uOyBybWRpciAkJHtk aXJ9IHx8IHRydWU7IFwKCSAgICBlbHNlIFwKCSAgICAgIHRydWU7IFwKCSAgICBmaTsgXAoJICBl bHNlIFwKCSAgICB0cnVlOyBcCgkgIGZpOyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJZmkKCiMgVGhp cyBydWxlIGlzIHVzZWQgdG8gYnVpbGQgdGhlIG1vZHVsZXMgd2hpY2ggdXNlIFRBUkdFVF9GTEFH U19UT19QQVNTLgojIFRvIGJ1aWxkIGEgdGFyZ2V0IGFsbC1YIG1lYW5zIHRvIGNkIHRvIFggYW5k IG1ha2UgYWxsLgouUEhPTlk6ICQoQUxMX1RBUkdFVF9NT0RVTEVTKQokKEFMTF9UQVJHRVRfTU9E VUxFUyk6CglAZGlyPWBlY2hvICRAIHwgc2VkIC1lICdzL2FsbC10YXJnZXQtLy8nYDsgXAoJaWYg WyAtZiAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn0vTWFrZWZpbGUgXSA7IHRoZW4gXAoJICByPWBw d2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkg ICQoU0VUX0xJQl9QQVRIKSBcCgkgIChjZCAkKFRBUkdFVF9TVUJESVIpLyQke2Rpcn07IFwKCSAg ICAkKE1BS0UpICQoVEFSR0VUX0ZMQUdTX1RPX1BBU1MpIGFsbCk7IFwKCWVsc2UgXAoJICB0cnVl OyBcCglmaQoKIyBUaGlzIHJ1bGUgaXMgdXNlZCB0byBjaGVjayB0aGUgbW9kdWxlcyB3aGljaCB1 c2UgVEFSR0VUX0ZMQUdTX1RPX1BBU1MuCiMgVG8gYnVpbGQgYSB0YXJnZXQgaW5zdGFsbC1YIG1l YW5zIHRvIGNkIHRvIFggYW5kIG1ha2UgaW5zdGFsbC4KLlBIT05ZOiAkKENIRUNLX1RBUkdFVF9N T0RVTEVTKQokKENIRUNLX1RBUkdFVF9NT0RVTEVTKToKCUBkaXI9YGVjaG8gJEAgfCBzZWQgLWUg J3MvY2hlY2stdGFyZ2V0LS8vJ2A7IFwKCWlmIFsgLWYgJChUQVJHRVRfU1VCRElSKS8kJHtkaXJ9 L01ha2VmaWxlIF0gOyB0aGVuIFwKCSAgcj1gcHdkYDsgZXhwb3J0IHI7IFwKCSAgcz1gY2QgJChz cmNkaXIpOyBwd2RgOyBleHBvcnQgczsgXAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2QgJChU QVJHRVRfU1VCRElSKS8kJHtkaXJ9OyBcCgkgICAgJChNQUtFKSAkKFRBUkdFVF9GTEFHU19UT19Q QVNTKSBjaGVjayk7XAoJZWxzZSBcCgkgIHRydWU7IFwKCWZpCgojIFRoaXMgcnVsZSBpcyB1c2Vk IHRvIGluc3RhbGwgdGhlIG1vZHVsZXMgd2hpY2ggdXNlCiMgVEFSR0VUX0ZMQUdTX1RPX1BBU1Mu ICBUbyBidWlsZCBhIHRhcmdldCBpbnN0YWxsLVggbWVhbnMgdG8gY2QgdG8gWAojIGFuZCBtYWtl IGluc3RhbGwuCi5QSE9OWTogJChJTlNUQUxMX1RBUkdFVF9NT0RVTEVTKQokKElOU1RBTExfVEFS R0VUX01PRFVMRVMpOiBpbnN0YWxsZGlycwoJQGRpcj1gZWNobyAkQCB8IHNlZCAtZSAncy9pbnN0 YWxsLXRhcmdldC0vLydgOyBcCglpZiBbIC1mICQoVEFSR0VUX1NVQkRJUikvJCR7ZGlyfS9NYWtl ZmlsZSBdIDsgdGhlbiBcCgkgIHI9YHB3ZGA7IGV4cG9ydCByOyBcCgkgIHM9YGNkICQoc3JjZGly KTsgcHdkYDsgZXhwb3J0IHM7IFwKCSAgJChTRVRfTElCX1BBVEgpIFwKCSAgKGNkICQoVEFSR0VU X1NVQkRJUikvJCR7ZGlyfTsgXAoJICAgICQoTUFLRSkgJChUQVJHRVRfRkxBR1NfVE9fUEFTUykg aW5zdGFsbCk7IFwKCWVsc2UgXAoJICB0cnVlOyBcCglmaQoKIyBUaGlzIHJ1bGUgaXMgdXNlZCB0 byBidWlsZCB0aGUgbW9kdWxlcyB3aGljaCB1c2UgWDExX0ZMQUdTX1RPX1BBU1MuCiMgVG8gYnVp bGQgYSB0YXJnZXQgYWxsLVggbWVhbnMgdG8gY2QgdG8gWCBhbmQgbWFrZSBhbGwuCi5QSE9OWTog JChBTExfWDExX01PRFVMRVMpCiQoQUxMX1gxMV9NT0RVTEVTKToKCUBkaXI9YGVjaG8gJEAgfCBz ZWQgLWUgJ3MvYWxsLS8vJ2A7IFwKCWlmIFsgLWYgLi8kJHtkaXJ9L01ha2VmaWxlIF0gOyB0aGVu IFwKCSAgcj1gcHdkYDsgZXhwb3J0IHI7IFwKCSAgcz1gY2QgJChzcmNkaXIpOyBwd2RgOyBleHBv cnQgczsgXAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2QgJCR7ZGlyfTsgXAoJICAgJChNQUtF KSAkKEZMQUdTX1RPX1BBU1MpICQoWDExX0ZMQUdTX1RPX1BBU1MpIGFsbCk7IFwKCWVsc2UgXAoJ ICB0cnVlOyBcCglmaQoKIyBUaGlzIHJ1bGUgaXMgdXNlZCB0byBjaGVjayB0aGUgbW9kdWxlcyB3 aGljaCB1c2UgWDExX0ZMQUdTX1RPX1BBU1MuCiMgVG8gYnVpbGQgYSB0YXJnZXQgY2hlY2stWCBt ZWFucyB0byBjZCB0byBYIGFuZCBtYWtlIGFsbC4KLlBIT05ZOiAkKENIRUNLX1gxMV9NT0RVTEVT KQokKENIRUNLX1gxMV9NT0RVTEVTKToKCUBkaXI9YGVjaG8gJEAgfCBzZWQgLWUgJ3MvY2hlY2st Ly8nYDsgXAoJaWYgWyAtZiAuLyQke2Rpcn0vTWFrZWZpbGUgXSA7IHRoZW4gXAoJICByPWBwd2Rg OyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkgICQo U0VUX0xJQl9QQVRIKSBcCgkgIChjZCAkJHtkaXJ9OyBcCgkgICAkKE1BS0UpICQoRkxBR1NfVE9f UEFTUykgJChYMTFfRkxBR1NfVE9fUEFTUykgY2hlY2spOyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJ ZmkKCiMgVGhpcyBydWxlIGlzIHVzZWQgdG8gaW5zdGFsbCB0aGUgbW9kdWxlcyB3aGljaCB1c2Ug WDExX0ZMQUdTX1RPX1BBU1MuCiMgVG8gYnVpbGQgYSB0YXJnZXQgaW5zdGFsbC1YIG1lYW5zIHRv IGNkIHRvIFggYW5kIG1ha2UgaW5zdGFsbC4KLlBIT05ZOiAkKElOU1RBTExfWDExX01PRFVMRVMp CiQoSU5TVEFMTF9YMTFfTU9EVUxFUyk6IGluc3RhbGxkaXJzCglAZGlyPWBlY2hvICRAIHwgc2Vk IC1lICdzL2luc3RhbGwtLy8nYDsgXAoJaWYgWyAtZiAuLyQke2Rpcn0vTWFrZWZpbGUgXSA7IHRo ZW4gXAoJICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4 cG9ydCBzOyBcCgkgICQoU0VUX0xJQl9QQVRIKSBcCgkgIChjZCAkJHtkaXJ9OyBcCgkgICAkKE1B S0UpICQoRkxBR1NfVE9fUEFTUykgJChYMTFfRkxBR1NfVE9fUEFTUykgaW5zdGFsbCk7IFwKCWVs c2UgXAoJICB0cnVlOyBcCglmaQoKIyBnY2MgaXMgdGhlIG9ubHkgbW9kdWxlIHdoaWNoIHVzZXMg R0NDX0ZMQUdTX1RPX1BBU1MuCi5QSE9OWTogYWxsLWdjYwphbGwtZ2NjOgoJQGlmIFsgLWYgLi9n Y2MvTWFrZWZpbGUgXSA7IHRoZW4gXAoJICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAk KHNyY2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkgICQoU0VUX0xJQl9QQVRIKSBcCgkgIChjZCBn Y2M7ICQoTUFLRSkgJChHQ0NfRkxBR1NfVE9fUEFTUykgYWxsKTsgXAoJZWxzZSBcCgkgIHRydWU7 IFwKCWZpCgojIEJ1aWxkaW5nIEdDQyB1c2VzIHNvbWUgdG9vbHMgZm9yIHJlYnVpbGRpbmcgInNv dXJjZSIgZmlsZXMKIyBsaWtlIHRleGluZm8sIGJpc29uL2J5YWNjLCBldGMuICBTbyB3ZSBtdXN0 IGRlcGVuZCBvbiB0aG9zZS4KIwojIFdoaWxlIGJ1aWxkaW5nIEdDQywgaXQgbWF5IGJlIG5lY2Vz c2FyeSB0byBydW4gdmFyaW91cyB0YXJnZXQKIyBwcm9ncmFtcyBsaWtlIHRoZSBhc3NlbWJsZXIs IGxpbmtlciwgZXRjLiAgU28gd2UgZGVwZW5kIG9uCiMgdGhvc2UgdG9vLgojCiMgSW4gdGhlb3J5 LCBvbiBhbiBTTVAgYWxsIHRob3NlIGRlcGVuZGVuY2llcyBjYW4gYmUgcmVzb2x2ZWQKIyBpbiBw YXJhbGxlbC4KIwouUEhPTlk6IGJvb3RzdHJhcCBib290c3RyYXAtbGVhbiBib290c3RyYXAyIGJv b3RzdHJhcDItbGVhbiBib290c3RyYXAzIGJvb3RzdHJhcDMtbGVhbiBib290c3RyYXA0IGJvb3Rz dHJhcDQtbGVhbgpib290c3RyYXAgYm9vdHN0cmFwLWxlYW4gYm9vdHN0cmFwMiBib290c3RyYXAy LWxlYW4gYm9vdHN0cmFwMyBib290c3RyYXAzLWxlYW4gYm9vdHN0cmFwNCBib290c3RyYXA0LWxl YW46IGFsbC1ib290c3RyYXAKCUByPWBwd2RgOyBleHBvcnQgcjsgXAoJcz1gY2QgJChzcmNkaXIp OyBwd2RgOyBleHBvcnQgczsgXAoJJChTRVRfTElCX1BBVEgpIFwKCWVjaG8gIkJvb3RzdHJhcHBp bmcgdGhlIGNvbXBpbGVyIjsgXAoJY2QgZ2NjICYmICQoTUFLRSkgJChHQ0NfRkxBR1NfVE9fUEFT UykgJEAKCUByPWBwd2RgOyBleHBvcnQgcjsgXAoJcz1gY2QgJChzcmNkaXIpOyBwd2RgOyBleHBv cnQgczsgXAoJY2FzZSAiJEAiIGluIFwKCSAgKmJvb3RzdHJhcDQtbGVhbiApIFwKCQkJbXNnPSJD b21wYXJpbmcgc3RhZ2UzIGFuZCBzdGFnZTQgb2YgdGhlIGNvbXBpbGVyIjsgXAoJICAJCWNvbXBh cmU9Y29tcGFyZTMtbGVhbiA7OyBcCgkgICpib290c3RyYXA0ICkgbXNnPSJDb21wYXJpbmcgc3Rh Z2UzIGFuZCBzdGFnZTQgb2YgdGhlIGNvbXBpbGVyIjsgXAoJICAJCWNvbXBhcmU9Y29tcGFyZTMg OzsgXAoJICAqLWxlYW4gKQltc2c9IkNvbXBhcmluZyBzdGFnZTIgYW5kIHN0YWdlMyBvZiB0aGUg Y29tcGlsZXIiOyBcCgkgIAkJY29tcGFyZT1jb21wYXJlLWxlYW4gOzsgXAoJICAqICkJCW1zZz0i Q29tcGFyaW5nIHN0YWdlMiBhbmQgc3RhZ2UzIG9mIHRoZSBjb21waWxlciI7IFwKCSAgCQljb21w YXJlPWNvbXBhcmUgOzsgXAoJZXNhYzsgXAoJJChTRVRfTElCX1BBVEgpIFwKCWVjaG8gIiQkbXNn IjsgXAoJY2QgZ2NjICYmICQoTUFLRSkgJChHQ0NfRkxBR1NfVE9fUEFTUykgJCRjb21wYXJlCglA cj1gcHdkYDsgZXhwb3J0IHI7IFwKCXM9YGNkICQoc3JjZGlyKTsgcHdkYCA7IGV4cG9ydCBzOyBc CgkkKFNFVF9MSUJfUEFUSCkgXAoJZWNobyAiQnVpbGRpbmcgcnVudGltZSBsaWJyYXJpZXMiOyBc CgkkKE1BS0UpICQoQkFTRV9GTEFHU19UT19QQVNTKSAkKFJFQ1VSU0VfRkxBR1MpIGFsbAoKLlBI T05ZOiBjcm9zcwpjcm9zczogYWxsLXRleGluZm8gYWxsLWJpc29uIGFsbC1ieWFjYyBhbGwtYmlu dXRpbHMgYWxsLWdhcyBhbGwtbGQKCUByPWBwd2RgOyBleHBvcnQgcjsgXAoJcz1gY2QgJChzcmNk aXIpOyBwd2RgOyBleHBvcnQgczsgXAoJJChTRVRfTElCX1BBVEgpIFwKCWVjaG8gIkJ1aWxkaW5n IHRoZSBDIGFuZCBDKysgY29tcGlsZXIiOyBcCgljZCBnY2MgJiYgJChNQUtFKSAkKEdDQ19GTEFH U19UT19QQVNTKSBMQU5HVUFHRVM9ImMgYysrIgoJQHI9YHB3ZGA7IGV4cG9ydCByOyBcCglzPWBj ZCAkKHNyY2Rpcik7IHB3ZGAgOyBleHBvcnQgczsgXAoJJChTRVRfTElCX1BBVEgpIFwKCWVjaG8g IkJ1aWxkaW5nIHJ1bnRpbWUgbGlicmFyaWVzIjsgXAoJJChNQUtFKSAkKEJBU0VfRkxBR1NfVE9f UEFTUykgJChSRUNVUlNFX0ZMQUdTKSBcCgkgIExBTkdVQUdFUz0iYyBjKysiIGFsbAoKLlBIT05Z OiBjaGVjay1nY2MKY2hlY2stZ2NjOgoJQGlmIFsgLWYgLi9nY2MvTWFrZWZpbGUgXSA7IHRoZW4g XAoJICByPWBwd2RgOyBleHBvcnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4cG9y dCBzOyBcCgkgICQoU0VUX0xJQl9QQVRIKSBcCgkgIChjZCBnY2M7ICQoTUFLRSkgJChHQ0NfRkxB R1NfVE9fUEFTUykgY2hlY2spOyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJZmkKCi5QSE9OWTogY2hl Y2stYysrCmNoZWNrLWMrKzoKCUBpZiBbIC1mIC4vZ2NjL01ha2VmaWxlIF0gOyB0aGVuIFwKCSAg cj1gcHdkYDsgZXhwb3J0IHI7IFwKCSAgcz1gY2QgJChzcmNkaXIpOyBwd2RgOyBleHBvcnQgczsg XAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2QgZ2NjOyAkKE1BS0UpICQoR0NDX0ZMQUdTX1RP X1BBU1MpIGNoZWNrLWMrKyk7IFwKCSAgJChNQUtFKSBjaGVjay10YXJnZXQtbGlic3RkYysrLXYz OyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJZmkgCgouUEhPTlk6IGluc3RhbGwtZ2NjCmluc3RhbGwt Z2NjOgoJQGlmIFsgLWYgLi9nY2MvTWFrZWZpbGUgXSA7IHRoZW4gXAoJICByPWBwd2RgOyBleHBv cnQgcjsgXAoJICBzPWBjZCAkKHNyY2Rpcik7IHB3ZGA7IGV4cG9ydCBzOyBcCgkgICQoU0VUX0xJ Ql9QQVRIKSBcCgkgIChjZCBnY2M7ICQoTUFLRSkgJChHQ0NfRkxBR1NfVE9fUEFTUykgaW5zdGFs bCk7IFwKCWVsc2UgXAoJICB0cnVlOyBcCglmaQoKLlBIT05ZOiBpbnN0YWxsLWdjYy1jcm9zcwpp bnN0YWxsLWdjYy1jcm9zczoKCUBpZiBbIC1mIC4vZ2NjL01ha2VmaWxlIF0gOyB0aGVuIFwKCSAg cj1gcHdkYDsgZXhwb3J0IHI7IFwKCSAgcz1gY2QgJChzcmNkaXIpOyBwd2RgOyBleHBvcnQgczsg XAoJICAkKFNFVF9MSUJfUEFUSCkgXAoJICAoY2QgZ2NjOyAkKE1BS0UpICQoR0NDX0ZMQUdTX1RP X1BBU1MpIExBTkdVQUdFUz0iYyBjKysiIGluc3RhbGwpOyBcCgllbHNlIFwKCSAgdHJ1ZTsgXAoJ ZmkKIyBFWFBFUklNRU5UQUwgU1RVRkYKIyBUaGlzIHJ1bGUgaXMgdXNlZCB0byBpbnN0YWxsIHRo ZSBtb2R1bGVzIHdoaWNoIHVzZSBGTEFHU19UT19QQVNTLgojIFRvIGJ1aWxkIGEgdGFyZ2V0IGlu c3RhbGwtWCBtZWFucyB0byBjZCB0byBYIGFuZCBtYWtlIGluc3RhbGwuCi5QSE9OWTogaW5zdGFs bC1kb3NyZWwKaW5zdGFsbC1kb3NyZWw6IGluc3RhbGxkaXJzIGluZm8KCUBkaXI9YGVjaG8gJEAg fCBzZWQgLWUgJ3MvaW5zdGFsbC0vLydgOyBcCglpZiBbIC1mIC4vJCR7ZGlyfS9NYWtlZmlsZSBd IDsgdGhlbiBcCgkgIHI9YHB3ZGA7IGV4cG9ydCByOyBcCgkgIHM9YGNkICQoc3JjZGlyKTsgcHdk YDsgZXhwb3J0IHM7IFwKCSAgJChTRVRfTElCX1BBVEgpIFwKCSAgKGNkICQke2Rpcn07ICQoTUFL RSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsKTsgXAoJZWxzZSBcCgkgIHRydWU7IFwKCWZpCgpp bnN0YWxsLWRvc3JlbC1mYWtlOgoKQUxMX0dDQyA9IGFsbC1nY2MKQUxMX0dDQ19DID0gJChBTExf R0NDKSBhbGwtdGFyZ2V0LW5ld2xpYiBhbGwtdGFyZ2V0LWxpYmdsb3NzCkFMTF9HQ0NfQ1hYID0g JChBTExfR0NDX0MpIGFsbC10YXJnZXQtbGlic3RkYysrLXYzCgojIFRoaXMgaXMgYSBsaXN0IG9m IGludGVyLWRlcGVuZGVuY2llcyBhbW9uZyBtb2R1bGVzLgphbGwtYXBhY2hlOgphbGwtYXNoOgph bGwtYXV0b2NvbmY6IGFsbC1tNCBhbGwtdGV4aW5mbwphbGwtYXV0b21ha2U6IGFsbC1tNCBhbGwt dGV4aW5mbwphbGwtYmFzaDoKYWxsLWJmZDogYWxsLWxpYmliZXJ0eSBhbGwtaW50bAphbGwtYmlu dXRpbHM6IGFsbC1saWJpYmVydHkgYWxsLW9wY29kZXMgYWxsLWJmZCBhbGwtZmxleCBhbGwtYmlz b24gYWxsLWJ5YWNjIGFsbC1pbnRsCmFsbC1iaXNvbjogYWxsLXRleGluZm8KY29uZmlndXJlLXRh cmdldC1ib2VobS1nYzogJChBTExfR0NDX0MpIGNvbmZpZ3VyZS10YXJnZXQtcXRocmVhZHMKYWxs LXRhcmdldC1ib2VobS1nYzogY29uZmlndXJlLXRhcmdldC1ib2VobS1nYwpjb25maWd1cmUtdGFy Z2V0LWJzcDogJChBTExfR0NDX0MpCmFsbC10YXJnZXQtYnNwOiBjb25maWd1cmUtdGFyZ2V0LWJz cAphbGwtYnlhY2M6CmFsbC1iemlwMjoKYWxsLWNnZW46IGFsbC1saWJpYmVydHkKYWxsLWN2c3Ny YzoKY29uZmlndXJlLXRhcmdldC1jeWdtb246ICQoQUxMX0dDQ19DKQphbGwtdGFyZ2V0LWN5Z21v bjogY29uZmlndXJlLXRhcmdldC1jeWdtb24gYWxsLXRhcmdldC1saWJpYmVydHkgYWxsLXRhcmdl dC1saWJzdHViIGFsbC10YXJnZXQtYnNwCmFsbC1kYjoKYWxsLWRlamFnbnU6IGFsbC10Y2wgYWxs LWV4cGVjdCBhbGwtdGsKYWxsLWRpZmY6IGFsbC1saWJpYmVydHkKYWxsLWVtYWNzOgphbGwtZW1h Y3MxOTogYWxsLWJpc29uIGFsbC1ieWFjYwphbGwtZXRjOgpjb25maWd1cmUtdGFyZ2V0LWV4YW1w bGVzOiAkKEFMTF9HQ0NfQykKYWxsLXRhcmdldC1leGFtcGxlczogY29uZmlndXJlLXRhcmdldC1l eGFtcGxlcwphbGwtZXhwZWN0OiBhbGwtdGNsIGFsbC10awphbGwtZmlsZXV0aWxzOiBhbGwtbGli aWJlcnR5CmFsbC1maW5kdXRpbHM6CmFsbC1maW5kOgphbGwtZmxleDogYWxsLWxpYmliZXJ0eSBh bGwtYmlzb24gYWxsLWJ5YWNjCmFsbC1nYXM6IGFsbC1saWJpYmVydHkgYWxsLW9wY29kZXMgYWxs LWJmZCBhbGwtaW50bAphbGwtZ2FzaDogYWxsLXRjbAphbGwtZ2F3azoKYWxsLWdjYzogYWxsLWJp c29uIGFsbC1ieWFjYyBhbGwtYmludXRpbHMgYWxsLWdhcyBhbGwtbGQgYWxsLXpsaWIKYWxsLWJv b3RzdHJhcDogYWxsLWxpYmliZXJ0eSBhbGwtdGV4aW5mbyBhbGwtYmlzb24gYWxsLWJ5YWNjIGFs bC1iaW51dGlscyBhbGwtZ2FzIGFsbC1sZCBhbGwtemxpYgpHREJfVEsgPSBhbGwtdGNsIGFsbC10 ayBhbGwtaXRjbCBhbGwtdGl4IGFsbC1saWJndWkKYWxsLWdkYjogYWxsLWxpYmliZXJ0eSBhbGwt b3Bjb2RlcyBhbGwtYmZkIGFsbC1tbWFsbG9jIGFsbC1yZWFkbGluZSBhbGwtYmlzb24gYWxsLWJ5 YWNjIGFsbC1zaW0gJChnZGJubG1yZXF1aXJlbWVudHMpICQoR0RCX1RLKQphbGwtZ2V0dGV4dDoK YWxsLWdudXNlcnY6CmNvbmZpZ3VyZS10YXJnZXQtZ3BlcmY6ICQoQUxMX0dDQ19DWFgpCmFsbC10 YXJnZXQtZ3BlcmY6IGNvbmZpZ3VyZS10YXJnZXQtZ3BlcmYgYWxsLXRhcmdldC1saWJpYmVydHkg YWxsLXRhcmdldC1saWJzdGRjKystdjMKYWxsLWdwcm9mOiBhbGwtbGliaWJlcnR5IGFsbC1iZmQg YWxsLW9wY29kZXMgYWxsLWludGwKYWxsLWdyZXA6IGFsbC1saWJpYmVydHkKYWxsLWdyZXo6IGFs bC1saWJpYmVydHkgYWxsLWJmZCBhbGwtb3Bjb2RlcwphbGwtZ3VpOiBhbGwtZ2RiIGFsbC1saWJw cm9jIGFsbC10YXJnZXQtbGlicngKYWxsLWd1aWxlOgphbGwtZ3ppcDogYWxsLWxpYmliZXJ0eQph bGwtaGVsbG86IGFsbC1saWJpYmVydHkKYWxsLWluZGVudDoKYWxsLWluZXQ6IGFsbC10Y2wgYWxs LXNlbmQtcHIgYWxsLXBlcmwKYWxsLWludGw6CmFsbC1pc3BlbGw6IGFsbC1lbWFjczE5CmFsbC1p dGNsOiBhbGwtdGNsIGFsbC10ayBhbGwtdGNsOC4xIGFsbC10azguMQphbGwtbGQ6IGFsbC1saWJp YmVydHkgYWxsLWJmZCBhbGwtb3Bjb2RlcyBhbGwtYmlzb24gYWxsLWJ5YWNjIGFsbC1mbGV4IGFs bC1pbnRsCmNvbmZpZ3VyZS10YXJnZXQtbGliZ2xvc3M6ICQoQUxMX0dDQykKYWxsLXRhcmdldC1s aWJnbG9zczogY29uZmlndXJlLXRhcmdldC1saWJnbG9zcyBjb25maWd1cmUtdGFyZ2V0LW5ld2xp YgphbGwtbGliZ3VpOiBhbGwtdGNsIGFsbC10ayBhbGwtdGNsOC4xIGFsbC10azguMSBhbGwtaXRj bAphbGwtbGliaWJlcnR5OgoKYWxsLWJ1aWxkLWxpYmliZXJ0eTogY29uZmlndXJlLWJ1aWxkLWxp YmliZXJ0eQoKY29uZmlndXJlLXRhcmdldC1saWJmZmk6ICQoQUxMX0dDQ19DKSAKYWxsLXRhcmdl dC1saWJmZmk6IGNvbmZpZ3VyZS10YXJnZXQtbGliZmZpCmNvbmZpZ3VyZS10YXJnZXQtbGliamF2 YTogJChBTExfR0NDX0MpIGNvbmZpZ3VyZS10YXJnZXQtemxpYiBjb25maWd1cmUtdGFyZ2V0LWJv ZWhtLWdjIGNvbmZpZ3VyZS10YXJnZXQtcXRocmVhZHMgY29uZmlndXJlLXRhcmdldC1saWJmZmkK YWxsLXRhcmdldC1saWJqYXZhOiBjb25maWd1cmUtdGFyZ2V0LWxpYmphdmEgYWxsLWZhc3RqYXIg YWxsLXRhcmdldC16bGliIGFsbC10YXJnZXQtYm9laG0tZ2MgYWxsLXRhcmdldC1xdGhyZWFkcyBh bGwtdGFyZ2V0LWxpYmZmaQpjb25maWd1cmUtdGFyZ2V0LWxpYnJ4OiAkKEFMTF9HQ0NfQykKYWxs LXRhcmdldC1saWJyeDogY29uZmlndXJlLXRhcmdldC1saWJyeApjb25maWd1cmUtdGFyZ2V0LWxp YnN0ZGMrKy12MzogJChBTExfR0NDX0MpCmFsbC10YXJnZXQtbGlic3RkYysrLXYzOiBjb25maWd1 cmUtdGFyZ2V0LWxpYnN0ZGMrKy12MyBhbGwtdGFyZ2V0LWxpYmliZXJ0eQpjb25maWd1cmUtdGFy Z2V0LWxpYnN0dWI6ICQoQUxMX0dDQ19DKQphbGwtdGFyZ2V0LWxpYnN0dWI6IGNvbmZpZ3VyZS10 YXJnZXQtbGlic3R1YgphbGwtbGlidG9vbDoKY29uZmlndXJlLXRhcmdldC1saWJmMmM6ICQoQUxM X0dDQ19DKQphbGwtdGFyZ2V0LWxpYmYyYzogY29uZmlndXJlLXRhcmdldC1saWJmMmMgYWxsLXRh cmdldC1saWJpYmVydHkKY29uZmlndXJlLXRhcmdldC1saWJvYmpjOiAkKEFMTF9HQ0NfQykKYWxs LXRhcmdldC1saWJvYmpjOiBjb25maWd1cmUtdGFyZ2V0LWxpYm9iamMgYWxsLXRhcmdldC1saWJp YmVydHkKYWxsLW00OiBhbGwtbGliaWJlcnR5IGFsbC10ZXhpbmZvCmFsbC1tYWtlOiBhbGwtbGli aWJlcnR5CmFsbC1tbWFsbG9jOgpjb25maWd1cmUtdGFyZ2V0LW5ld2xpYjogJChBTExfR0NDKQph bGwtdGFyZ2V0LW5ld2xpYjogY29uZmlndXJlLXRhcmdldC1uZXdsaWIKY29uZmlndXJlLXRhcmdl dC1saWJ0ZXJtY2FwOiAkKEFMTF9HQ0NfQykKYWxsLXRhcmdldC1saWJ0ZXJtY2FwOiBjb25maWd1 cmUtdGFyZ2V0LWxpYnRlcm1jYXAKYWxsLW9wY29kZXM6IGFsbC1iZmQgYWxsLWxpYmliZXJ0eSBh bGwtY2dlbgphbGwtcGF0Y2g6IGFsbC1saWJpYmVydHkKYWxsLXBlcmw6CmFsbC1wcm1zOiBhbGwt bGliaWJlcnR5CmNvbmZpZ3VyZS10YXJnZXQtcXRocmVhZHM6ICQoQUxMX0dDQ19DKQphbGwtdGFy Z2V0LXF0aHJlYWRzOiBjb25maWd1cmUtdGFyZ2V0LXF0aHJlYWRzCmFsbC1yY3M6CmFsbC1yZWFk bGluZToKYWxsLXJlY29kZTogYWxsLWxpYmliZXJ0eQphbGwtc2VkOiBhbGwtbGliaWJlcnR5CmFs bC1zZW5kLXByOiBhbGwtcHJtcwphbGwtc2hlbGx1dGlsczoKYWxsLXNpZDogYWxsLXRjbCBhbGwt dGsKYWxsLXNpbTogYWxsLWxpYmliZXJ0eSBhbGwtYmZkIGFsbC1vcGNvZGVzIGFsbC1yZWFkbGlu ZSBhbGwtY2dlbgphbGwtc25hdmlnYXRvcjogYWxsLXRjbCBhbGwtdGsgYWxsLWl0Y2wgYWxsLWRi IGFsbC1ncmVwIGFsbC1saWJndWkKYWxsLXRhcjogYWxsLWxpYmliZXJ0eQphbGwtdGNsOgphbGwt dGNsOC4xOgphbGwtdGNsWDogYWxsLXRjbCBhbGwtdGsKYWxsLXRrOiBhbGwtdGNsCmFsbC10azgu MTogYWxsLXRjbDguMQphbGwtdGV4aW5mbzogYWxsLWxpYmliZXJ0eQphbGwtdGV4dHV0aWxzOgph bGwtdGdhczogYWxsLWxpYmliZXJ0eSBhbGwtYmZkIGFsbC1vcGNvZGVzCmFsbC10aW1lOgphbGwt dGl4OiBhbGwtdGNsIGFsbC10ayBhbGwtdGNsOC4xIGFsbC10azguMQphbGwtd2RpZmY6CmNvbmZp Z3VyZS10YXJnZXQtd2luc3VwOiAkKEFMTF9HQ0NfQykKYWxsLXRhcmdldC13aW5zdXA6IGFsbC10 YXJnZXQtbGliaWJlcnR5IGFsbC10YXJnZXQtbGlidGVybWNhcCBjb25maWd1cmUtdGFyZ2V0LXdp bnN1cAphbGwtdXVkZWNvZGU6IGFsbC1saWJpYmVydHkKYWxsLXppcDoKYWxsLXpsaWI6CmNvbmZp Z3VyZS10YXJnZXQtemxpYjogJChBTExfR0NDX0MpCmFsbC10YXJnZXQtemxpYjogY29uZmlndXJl LXRhcmdldC16bGliCmFsbC1mYXN0amFyOiBhbGwtemxpYiBhbGwtbGliaWJlcnR5CmNvbmZpZ3Vy ZS10YXJnZXQtZmFzdGphcjogY29uZmlndXJlLXRhcmdldC16bGliCmFsbC10YXJnZXQtZmFzdGph cjogY29uZmlndXJlLXRhcmdldC1mYXN0amFyIGFsbC10YXJnZXQtemxpYiBhbGwtdGFyZ2V0LWxp YmliZXJ0eQpjb25maWd1cmUtdGFyZ2V0LWxpYmliZXJ0eTogJChBTExfR0NDX0MpCmFsbC10YXJn ZXQtbGliaWJlcnR5OiBjb25maWd1cmUtdGFyZ2V0LWxpYmliZXJ0eQphbGwtdGFyZ2V0OiAkKEFM TF9UQVJHRVRfTU9EVUxFUykKaW5zdGFsbC10YXJnZXQ6ICQoSU5TVEFMTF9UQVJHRVRfTU9EVUxF UykKaW5zdGFsbC1nZGI6IGluc3RhbGwtdGNsIGluc3RhbGwtdGsgaW5zdGFsbC1pdGNsIGluc3Rh bGwtdGl4IGluc3RhbGwtbGliZ3VpCmluc3RhbGwtc2lkOiBpbnN0YWxsLXRjbCBpbnN0YWxsLXRr CiMjIyBvdGhlciBzdXBwb3J0aW5nIHRhcmdldHMKCk1BS0VESVJTPSBcCgkkKHByZWZpeCkgXAoJ JChleGVjX3ByZWZpeCkKLlBIT05ZOiBpbnN0YWxsZGlycwppbnN0YWxsZGlyczogbWtpbnN0YWxs ZGlycwoJJChTSEVMTCkgJChzcmNkaXIpL21raW5zdGFsbGRpcnMgJChNQUtFRElSUykKCmRpci5p bmZvOiBkby1pbnN0YWxsLWluZm8KCWlmIFsgLWYgJChzcmNkaXIpL3RleGluZm8vZ2VuLWluZm8t ZGlyIF0gOyB0aGVuIFwKCSAgJChzcmNkaXIpL3RleGluZm8vZ2VuLWluZm8tZGlyICQoaW5mb2Rp cikgJChzcmNkaXIpL3RleGluZm8vZGlyLmluZm8tdGVtcGxhdGUgPiBkaXIuaW5mby5uZXcgOyBc CgkgIG12IC1mIGRpci5pbmZvLm5ldyBkaXIuaW5mbyA7IFwKCWVsc2UgdHJ1ZSA7IFwKCWZpCgpk aXN0OgoJQGVjaG8gIkJ1aWxkaW5nIGEgZnVsbCBkaXN0cmlidXRpb24gb2YgdGhpcyB0cmVlIGlz bid0IGRvbmUiCglAZWNobyAidmlhICdtYWtlIGRpc3QnLiAgQ2hlY2sgb3V0IHRoZSBldGMvIHN1 YmRpcmVjdG9yeSIgCgpldGFncyB0YWdzOiBUQUdTCgojIFJpZ2h0IG5vdyB0aGlzIGp1c3QgYnVp bGRzIFRBR1MgaW4gZWFjaCBzdWJkaXJlY3RvcnkuICBlbWFjczE5IGhhcyB0aGUKIyBhYmlsaXR5 IHRvIHVzZSBzZXZlcmFsIHRhZ3MgZmlsZXMgYXQgb25jZSwgc28gdGhlcmUgaXMgcHJvYmFibHkg bm8gbmVlZAojIHRvIGNvbWJpbmUgdGhlbSBpbnRvIG9uZSBiaWcgVEFHUyBmaWxlIChsaWtlIENW UyAxLjMgZG9lcykuICBXZSBjb3VsZAojIChpZiB3ZSBmZWx0IGxpa2UgaXQpIGhhdmUgdGhpcyBN YWtlZmlsZSB3cml0ZSBhIHBpZWNlIG9mIGVsaXNwIHdoaWNoCiMgdGhlIHVzZXIgY291bGQgbG9h ZCB0byB0ZWxsIGVtYWNzMTkgd2hlcmUgYWxsIHRoZSBUQUdTIGZpbGVzIHdlIGp1c3QKIyBidWls dCBhcmUuClRBR1M6IGRvLVRBR1MKCiMgd2l0aCB0aGUgZ251IG1ha2UsIHRoaXMgaXMgZG9uZSBh dXRvbWF0aWNhbGx5LgoKTWFrZWZpbGU6IE1ha2VmaWxlLmluIGNvbmZpZ3VyZS5pbiAkKGhvc3Rf bWFrZWZpbGVfZnJhZykgJCh0YXJnZXRfbWFrZWZpbGVfZnJhZykgJChnY2NfdmVyc2lvbl90cmln Z2VyKQoJJChTSEVMTCkgLi9jb25maWcuc3RhdHVzCgojCiMgU3VwcG9ydCBmb3IgYnVpbGRpbmcg bmV0IHJlbGVhc2VzCgojIEZpbGVzIGluIGRldm8gdXNlZCBpbiBhbnkgbmV0IHJlbGVhc2UuCiMg Q2hhbmdlTG9nIG9taXR0ZWQgYmVjYXVzZSBpdCBtYXkgcmVmZXIgdG8gZmlsZXMgd2hpY2ggYXJl IG5vdCBpbiB0aGlzCiMgZGlzdHJpYnV0aW9uIChwZXJoYXBzIGl0IHdvdWxkIGJlIGJldHRlciB0 byBpbmNsdWRlIGl0IGFueXdheSkuCkRFVk9fU1VQUE9SVD0gUkVBRE1FIE1ha2VmaWxlLmluIGNv bmZpZ3VyZSBjb25maWd1cmUuaW4gXAoJY29uZmlnLmd1ZXNzIGNvbmZpZy5pZiBjb25maWcuc3Vi IGNvbmZpZyBtb3ZlLWlmLWNoYW5nZSBcCgltcHctUkVBRE1FIG1wdy1idWlsZC5pbiBtcHctY29u ZmlnLmluIG1wdy1jb25maWd1cmUgbXB3LWluc3RhbGwgXAoJQ09QWUlORyBDT1BZSU5HLkxJQiBp bnN0YWxsLXNoIGNvbmZpZy1tbC5pbiBzeW1saW5rLXRyZWUgXAoJbWtpbnN0YWxsZGlycyBsdGNv bmZpZyBsdG1haW4uc2ggbWlzc2luZyB5bHdyYXAgXAoJbGlidG9vbC5tNCBnZXR0ZXh0Lm00IGx0 Y2YtYy5zaCBsdGNmLWN4eC5zaCBsdGNmLWdjai5zaAoKIyBGaWxlcyBpbiBkZXZvL2V0YyB1c2Vk IGluIGFueSBuZXQgcmVsZWFzZS4KIyBDaGFuZ2VMb2cgb21pdHRlZCBiZWNhdXNlIGl0IG1heSBy ZWZlciB0byBmaWxlcyB3aGljaCBhcmUgbm90IGluIHRoaXMKIyBkaXN0cmlidXRpb24gKHBlcmhh cHMgaXQgd291bGQgYmUgYmV0dGVyIHRvIGluY2x1ZGUgaXQgYW55d2F5KS4KRVRDX1NVUFBPUlQ9 IE1ha2VmaWxlLmluIGNvbmZpZ3VyZSBjb25maWd1cmUuaW4gc3RhbmRhcmRzLnRleGkgXAoJbWFr ZS1zdGRzLnRleGkgc3RhbmRhcmRzLmluZm8qCgojIFdoZW4geW91IHVzZSBgbWFrZSBzZXR1cC1k aXJzJyBvciBgbWFrZSB0YXonIHlvdSBzaG91bGQgYWx3YXlzIHJlZGVmaW5lCiMgdGhpcyBtYWNy by4KU1VQUE9SVF9GSUxFUyA9IGxpc3Qtb2Ytc3VwcG9ydC1maWxlcy1mb3ItdG9vbC1pbi1xdWVz dGlvbgoKIyBOT1RFOiBObyBkb3VibGUgcXVvdGVzIGluIHRoZSBiZWxvdy4gIEl0IGlzIHVzZWQg d2l0aGluIHNoZWxsIHNjcmlwdAojIGFzIFZFUj0iJChWRVIpIgpWRVIgPSBgCWlmIGdyZXAgQU1f SU5JVF9BVVRPTUFLRSAkKFRPT0wpL2NvbmZpZ3VyZS5pbiA+L2Rldi9udWxsIDI+JjE7IHRoZW4g XAoJICBzZWQgPCAkKFRPT0wpL2NvbmZpZ3VyZS5pbiAtbiAncy9BTV9JTklUX0FVVE9NQUtFW14s XSosICpcKFteKV0qXCkpL1wxL3AnOyBcCgllbHNlIFwKCSAgc2VkIDwgJChUT09MKS9NYWtlZmls ZS5pbiAtbiAncy9eVkVSU0lPTiAqPSAqLy9wJzsgXAoJZmlgClBBQ0tBR0UgPSAkKFRPT0wpCgou UEhPTlk6IHRhegp0YXo6ICQoREVWT19TVVBQT1JUKSAkKFNVUFBPUlRfRklMRVMpIHRleGluZm8v dGV4aW5mby50ZXgKCSQoTUFLRSkgLWYgTWFrZWZpbGUuaW4gZG8tcHJvdG8tdG9wbGV2IFwKCQlU T09MPSQoVE9PTCkgUEFDS0FHRT0iJChQQUNLQUdFKSIgVkVSPSIkKFZFUikiIFwKCQlNRDVQUk9H PSIkKE1ENVBST0cpIiBcCgkJU1VQUE9SVF9GSUxFUz0iJChTVVBQT1JUX0ZJTEVTKSIKCSQoTUFL RSkgLWYgTWFrZWZpbGUuaW4gZG8tbWQ1c3VtIFwKCQlUT09MPSQoVE9PTCkgUEFDS0FHRT0iJChQ QUNLQUdFKSIgVkVSPSIkKFZFUikiIFwKCQlNRDVQUk9HPSIkKE1ENVBST0cpIiBcCgkJU1VQUE9S VF9GSUxFUz0iJChTVVBQT1JUX0ZJTEVTKSIKCSQoTUFLRSkgLWYgTWFrZWZpbGUuaW4gZG8tdGFy LWJ6MiBcCgkJVE9PTD0kKFRPT0wpIFBBQ0tBR0U9IiQoUEFDS0FHRSkiIFZFUj0iJChWRVIpIiBc CgkJTUQ1UFJPRz0iJChNRDVQUk9HKSIgXAoJCVNVUFBPUlRfRklMRVM9IiQoU1VQUE9SVF9GSUxF UykiCgouUEhPTlk6IGdkYi10YXoKZ2RiLXRhejogJChERVZPX1NVUFBPUlQpICQoU1VQUE9SVF9G SUxFUykgdGV4aW5mby90ZXhpbmZvLnRleAoJJChNQUtFKSAtZiBNYWtlZmlsZS5pbiBkby1wcm90 by10b3BsZXYgXAoJCVRPT0w9JChUT09MKSBQQUNLQUdFPSIkKFBBQ0tBR0UpIiBWRVI9IiQoVkVS KSIgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JUX0ZJTEVTPSIkKFNVUFBPUlRf RklMRVMpIgoJJChNQUtFKSAtZiBNYWtlZmlsZS5pbiBkby1tZDVzdW0gXAoJCVRPT0w9JChUT09M KSBQQUNLQUdFPSIkKFBBQ0tBR0UpIiBWRVI9IiQoVkVSKSIgXAoJCU1ENVBST0c9IiQoTUQ1UFJP RykiIFwKCQlTVVBQT1JUX0ZJTEVTPSIkKFNVUFBPUlRfRklMRVMpIgoJJChNQUtFKSAtZiBNYWtl ZmlsZS5pbiBkby1kanVucGFjayBcCgkJVE9PTD0kKFRPT0wpIFBBQ0tBR0U9IiQoUEFDS0FHRSki IFZFUj0iJChWRVIpIiBcCgkJTUQ1UFJPRz0iJChNRDVQUk9HKSIgXAoJCVNVUFBPUlRfRklMRVM9 IiQoU1VQUE9SVF9GSUxFUykiCgkkKE1BS0UpIC1mIE1ha2VmaWxlLmluIGRvLXRhci1iejIgXAoJ CVRPT0w9JChUT09MKSBQQUNLQUdFPSIkKFBBQ0tBR0UpIiBWRVI9IiQoVkVSKSIgXAoJCU1ENVBS T0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JUX0ZJTEVTPSIkKFNVUFBPUlRfRklMRVMpIgoKLlBI T05ZOiBkby1wcm90by10b3BsZXYKZG8tcHJvdG8tdG9wbGV2OiAkKERFVk9fU1VQUE9SVCkgJChT VVBQT1JUX0ZJTEVTKSB0ZXhpbmZvL3RleGluZm8udGV4CgllY2hvICI9PT4gTWFraW5nICQoUEFD S0FHRSktJChWRVIpLyIKCSMgVGFrZSBvdXQgdGV4aW5mbyBmcm9tIGEgZmV3IHBsYWNlcy4KCXNl ZCAtZSAnL15hbGxcLm5vcm1hbDogL3MvXGFsbC10ZXhpbmZvIC8vJyBcCgkgICAgLWUgJy9eCWlu c3RhbGwtdGV4aW5mbyAvZCcgXAoJPE1ha2VmaWxlLmluID50bXAKCW12IC1mIHRtcCBNYWtlZmls ZS5pbgoJIwoJLi9jb25maWd1cmUgc3VuNAoJWyAteiAiJChDT05GSUdVUkVfVEFSR0VUX01PRFVM RVMpIiBdIFwKCSAgfHwgJChNQUtFKSAkKENPTkZJR1VSRV9UQVJHRVRfTU9EVUxFUykgXAoJICAg IEFMTF9HQ0M9IiIgQUxMX0dDQ19DPSIiIEFMTF9HQ0NfQ1hYPSIiIFwKCSAgICBDQ19GT1JfVEFS R0VUPSIkKENDKSIgQ1hYX0ZPUl9UQVJHRVQ9IiQoQ1hYKSIKCSMgTWFrZSBsaW5rcywgYW5kIHJ1 biAibWFrZSBkaXN0c3R1ZmYiIG9yICJtYWtlIGluZm8iIHdoZW4gbmVlZGVkLgoJcm0gLXJmIHBy b3RvLXRvcGxldiA7IG1rZGlyIHByb3RvLXRvcGxldgoJc2V0IC1lIDsgZGlycz0iJChUT09MKSAk KERFVk9fU1VQUE9SVCkgJChTVVBQT1JUX0ZJTEVTKSIgOyBcCglmb3IgZCBpbiAkJGRpcnMgOyBk byBcCgkgIGlmIFsgLWQgJCRkIF07IHRoZW4gXAoJICAgIGlmIFsgISAtZiAkJGQvTWFrZWZpbGUg XSA7IHRoZW4gdHJ1ZSA7IFwKCSAgICBlbGlmIGdyZXAgJ15kaXN0c3R1ZmY6JyAkJGQvTWFrZWZp bGUgPi9kZXYvbnVsbCA7IHRoZW4gXAoJCShjZCAkJGQgOyAkKE1BS0UpIGRpc3RzdHVmZiApIHx8 IGV4aXQgMSA7IFwKCSAgICBlbGlmIGdyZXAgJ15pbmZvOicgJCRkL01ha2VmaWxlID4vZGV2L251 bGwgOyB0aGVuIFwKCSAgICAgICAgKGNkICQkZCA7ICQoTUFLRSkgaW5mbyApIHx8IGV4aXQgMSA7 IFwKCSAgICBmaSA7IFwKCSAgICBpZiBbIC1kICQkZC9wcm90by0kJGQuZGlyIF07IHRoZW4gXAoJ ICAgICAgbG4gLXMgLi4vJCRkL3Byb3RvLSQkZC5kaXIgcHJvdG8tdG9wbGV2LyQkZCA7IFwKCSAg ICBlbHNlIFwKCSAgICAgIGxuIC1zIC4uLyQkZCBwcm90by10b3BsZXYvJCRkIDsgXAoJICAgIGZp IDsgXAoJICBlbHNlIGxuIC1zIC4uLyQkZCBwcm90by10b3BsZXYvJCRkIDsgZmkgOyBcCglkb25l CgljZCBldGMgJiYgJChNQUtFKSBpbmZvCgkkKE1BS0UpIGRpc3RjbGVhbgoJIwoJbWtkaXIgcHJv dG8tdG9wbGV2L2V0YwoJKGNkIHByb3RvLXRvcGxldi9ldGM7IFwKCSBmb3IgaSBpbiAkKEVUQ19T VVBQT1JUKTsgZG8gXAoJCWxuIC1zIC4uLy4uL2V0Yy8kJGkgLiA7IFwKCSBkb25lKQoJIwoJIyBU YWtlIG91dCB0ZXhpbmZvIGZyb20gY29uZmlndXJhYmxlIGRpcnMKCXJtIHByb3RvLXRvcGxldi9j b25maWd1cmUuaW4KCXNlZCAtZSAnL15ob3N0X3Rvb2xzPS9zL3RleGluZm8gLy8nIFwKCSAgICA8 Y29uZmlndXJlLmluID5wcm90by10b3BsZXYvY29uZmlndXJlLmluCgkjCglta2RpciBwcm90by10 b3BsZXYvdGV4aW5mbwoJbG4gLXMgLi4vLi4vdGV4aW5mby90ZXhpbmZvLnRleAkJcHJvdG8tdG9w bGV2L3RleGluZm8vCglpZiB0ZXN0IC1yIHRleGluZm8vdXRpbC90ZXgzcGF0Y2ggOyB0aGVuIFwK CSAgbWtkaXIgcHJvdG8tdG9wbGV2L3RleGluZm8vdXRpbCAmJiBcCgkgIGxuIC1zIC4uLy4uLy4u L3RleGluZm8vdXRpbC90ZXgzcGF0Y2gJcHJvdG8tdG9wbGV2L3RleGluZm8vdXRpbCA7IFwKCWVs c2UgdHJ1ZTsgZmkKCWNobW9kIC1SIG9nPXUgLiB8fCBjaG1vZCBvZz11IGBmaW5kIC4gLXByaW50 YAoJIwoJLXJtIC1mICQoUEFDS0FHRSktJChWRVIpCglsbiAtcyBwcm90by10b3BsZXYgJChQQUNL QUdFKS0kKFZFUikKCi5QSE9OWTogZG8tdGFyLWJ6Mgpkby10YXItYnoyOgoJZWNobyAiPT0+IE1h a2luZyAkKFBBQ0tBR0UpLSQoVkVSKS50YXIuYnoyIgoJLXJtIC1mICQoUEFDS0FHRSktJChWRVIp LnRhci5iejIKCWZpbmQgJChQQUNLQUdFKS0kKFZFUikgLWZvbGxvdyAtbmFtZSBDVlMgLXBydW5l IC1vIC10eXBlIGYgLXByaW50IFwKCQl8IHRhciBjVGZoIC0gJChQQUNLQUdFKS0kKFZFUikudGFy CgkkKEJaSVBQUk9HKSAtdiAtOSAkKFBBQ0tBR0UpLSQoVkVSKS50YXIKCi5QSE9OWTogZG8tbWQ1 c3VtCmRvLW1kNXN1bToKCWVjaG8gIj09PiBBZGRpbmcgbWQ1IGNoZWNrc3VtIHRvIHRvcC1sZXZl bCBkaXJlY3RvcnkiCgljZCBwcm90by10b3BsZXYgJiYgZmluZCAqIC1mb2xsb3cgLW5hbWUgQ1ZT IC1wcnVuZSAtbyAtdHlwZSBmIC1wcmludCBcCgkJfCB4YXJncyAkKE1ENVBST0cpID4gLi4vbWQ1 LnN1bQoJbXYgbWQ1LnN1bSBwcm90by10b3BsZXYKCi5QSE9OWTogZG8tZGp1bnBhY2sKZG8tZGp1 bnBhY2s6CgllY2hvICI9PT4gQWRkaW5nIHVwZGF0ZWQgZGp1bnBhY2suYmF0IHRvIHRvcC1sZXZl bCBkaXJlY3RvcnkiCgllY2hvIC0gJ3MgL2dkYi1bMC05XC5dKi9nZGItJyIkKFZFUikiJy8nCglz ZWQgPCBkanVucGFjay5iYXQgPiBkanVucGFjay5uZXcgXAoJCS1lICdzL2dkYi1bMC05XVswLTlc Ll0qL2dkYi0nIiQoVkVSKSInLycKCW12IGRqdW5wYWNrLm5ldyBkanVucGFjay5iYXQKCS1ybSAt ZiBwcm90by10b3BsZXYvZGp1bnBhY2suYmF0CglsbiAtcyAuLi9kanVucGFjay5iYXQgcHJvdG8t dG9wbGV2L2RqdW5wYWNrLmJhdAoKVEVYSU5GT19TVVBQT1JUPSB0ZXhpbmZvL3RleGluZm8udGV4 CkRJU1RfU1VQUE9SVD0gJChERVZPX1NVUFBPUlQpICQoVEVYSU5GT19TVVBQT1JUKQoKLlBIT05Z OiBnYXMudGFyLmJ6MgpHQVNfU1VQUE9SVF9ESVJTPSBiZmQgaW5jbHVkZSBsaWJpYmVydHkgb3Bj b2RlcyBpbnRsIHNldHVwLmNvbSBtYWtlZmlsZS52bXMgbWtkZXAKZ2FzLnRhci5iejI6ICQoRElT VF9TVVBQT1JUKSAkKEdBU19TVVBQT1JUX0RJUlMpIGdhcwoJJChNQUtFKSAtZiBNYWtlZmlsZS5p biB0YXogVE9PTD1nYXMgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JUX0ZJTEVT PSIkKEdBU19TVVBQT1JUX0RJUlMpIgoKIyBUaGUgRlNGICJiaW51dGlscyIgcmVsZWFzZSBpbmNs dWRlcyBncHJvZiBhbmQgbGQuCi5QSE9OWTogYmludXRpbHMudGFyLmJ6MgpCSU5VVElMU19TVVBQ T1JUX0RJUlM9IGJmZCBnYXMgaW5jbHVkZSBsaWJpYmVydHkgb3Bjb2RlcyBsZCBncHJvZiBpbnRs IHNldHVwLmNvbSBtYWtlZmlsZS52bXMgbWtkZXAKYmludXRpbHMudGFyLmJ6MjogJChESVNUX1NV UFBPUlQpICQoQklOVVRJTFNfU1VQUE9SVF9ESVJTKSBiaW51dGlscwoJJChNQUtFKSAtZiBNYWtl ZmlsZS5pbiB0YXogVE9PTD1iaW51dGlscyBcCgkJTUQ1UFJPRz0iJChNRDVQUk9HKSIgXAoJCVNV UFBPUlRfRklMRVM9IiQoQklOVVRJTFNfU1VQUE9SVF9ESVJTKSIKCi5QSE9OWTogZ2FzK2JpbnV0 aWxzLnRhci5iejIKR0FTQl9TVVBQT1JUX0RJUlM9ICQoR0FTX1NVUFBPUlRfRElSUykgYmludXRp bHMgbGQgZ3Byb2YKZ2FzK2JpbnV0aWxzLnRhci5iejI6ICQoRElTVF9TVVBQT1JUKSAkKEdBU0Jf U1VQUE9SVF9ESVJTKSBnYXMKCSQoTUFLRSkgLWYgTWFrZWZpbGUuaW4gdGF6IFRPT0w9Z2FzIFwK CQlNRDVQUk9HPSIkKE1ENVBST0cpIiBcCgkJU1VQUE9SVF9GSUxFUz0iJChHQVNCX1NVUFBPUlRf RElSUykiCgpHTkFUU19TVVBQT1JUX0RJUlM9aW5jbHVkZSBsaWJpYmVydHkgc2VuZC1wcgpnbmF0 cy50YXIuYnoyOiAkKERJU1RfU1VQUE9SVCkgJChHTkFUU19TVVBQT1JUX0RJUlMpIGduYXRzCgkk KE1BS0UpIC1mICBNYWtlZmlsZS5pbiB0YXogVE9PTD1nbmF0cyBcCgkJTUQ1UFJPRz0iJChNRDVQ Uk9HKSIgXAoJCVNVUFBPUlRfRklMRVM9IiQoR05BVFNfU1VQUE9SVF9ESVJTKSIKCi5QSE9OWTog Z2RiLnRhci5iejIKR0RCX1NVUFBPUlRfRElSUz0gYmZkIGluY2x1ZGUgbGliaWJlcnR5IG1tYWxs b2Mgb3Bjb2RlcyByZWFkbGluZSBzaW0gdXRpbHMgaW50bApnZGIudGFyLmJ6MjogJChESVNUX1NV UFBPUlQpICQoR0RCX1NVUFBPUlRfRElSUykgZ2RiCgkkKE1BS0UpIC1mIE1ha2VmaWxlLmluIGdk Yi10YXogVE9PTD1nZGIgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JUX0ZJTEVT PSIkKEdEQl9TVVBQT1JUX0RJUlMpIgoKLlBIT05ZOiBkZWphZ251LnRhci5iejIKREVKQUdOVV9T VVBQT1JUX0RJUlM9ICB0Y2wgZXhwZWN0IGxpYmliZXJ0eQpkZWphZ251LnRhci5iejI6ICQoRElT VF9TVVBQT1JUKSAkKERFSkFHTlVfU1VQUE9SVF9ESVJTKSBkZWphZ251CgkkKE1BS0UpIC1mIE1h a2VmaWxlLmluIHRheiBUT09MPWRlamFnbnUgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlT VVBQT1JUX0ZJTEVTPSIkKERFSkFHTlVfU1VQUE9SVF9ESVJTKSIKCi5QSE9OWTogZ2RiK2RlamFn bnUudGFyLmJ6MgpHREJEX1NVUFBPUlRfRElSUz0gJChHREJfU1VQUE9SVF9ESVJTKSB0Y2wgZXhw ZWN0IGRlamFnbnUKZ2RiK2RlamFnbnUudGFyLmJ6MjogJChESVNUX1NVUFBPUlQpICQoR0RCRF9T VVBQT1JUX0RJUlMpIGdkYgoJJChNQUtFKSAtZiBNYWtlZmlsZS5pbiBnZGItdGF6IFRPT0w9Z2Ri IFBBQ0tBR0U9Z2RiK2RlamFnbnUgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JU X0ZJTEVTPSIkKEdEQkRfU1VQUE9SVF9ESVJTKSIKCi5QSE9OWTogaW5zaWdodC50YXIuYnoyCklO U0lHSFRfU1VQUE9SVF9ESVJTPSAkKEdEQl9TVVBQT1JUX0RJUlMpIHRjbCB0ayBpdGNsIHRpeCBs aWJndWkKaW5zaWdodC50YXIuYnoyOiAkKERJU1RfU1VQUE9SVCkgJChHREJfU1VQUE9SVF9ESVJT KSBnZGIKCSQoTUFLRSkgLWYgTWFrZWZpbGUuaW4gZ2RiLXRheiBUT09MPWdkYiBQQUNLQUdFPWlu c2lnaHQgXAoJCU1ENVBST0c9IiQoTUQ1UFJPRykiIFwKCQlTVVBQT1JUX0ZJTEVTPSIkKElOU0lH SFRfU1VQUE9SVF9ESVJTKSIKCi5QSE9OWTogaW5zaWdodCtkZWphZ251LnRhci5iejIKSU5TSUdI VERfU1VQUE9SVF9ESVJTPSAkKElOU0lHSFRfU1VQUE9SVF9ESVJTKSBleHBlY3QgZGVqYWdudQpp bnNpZ2h0K2RlamFnbnUudGFyLmJ6MjogJChESVNUX1NVUFBPUlQpICQoSU5TSUdIVERfU1VQUE9S VF9ESVJTKSBnZGIKCSQoTUFLRSkgLWYgTWFrZWZpbGUuaW4gZ2RiLXRheiBUT09MPWdkYiBQQUNL QUdFPSJpbnNpZ2h0K2RlamFnbnUiIFwKCQlNRDVQUk9HPSIkKE1ENVBST0cpIiBcCgkJU1VQUE9S VF9GSUxFUz0iJChJTlNJR0hURF9TVVBQT1JUX0RJUlMpIgoKLlBIT05ZOiBuZXdsaWIudGFyLmJ6 MgpORVdMSUJfU1VQUE9SVF9ESVJTPWxpYmdsb3NzCiMgdGF6IGNvbmZpZ3VyZXMgZm9yIHRoZSBz dW40IHRhcmdldCB3aGljaCB3b24ndCBjb25maWd1cmUgbmV3bGliLgojIFdlIG5lZWQgbmV3bGli IGNvbmZpZ3VyZWQgc28gdGhhdCB0aGUgLmluZm8gZmlsZXMgYXJlIG1hZGUuCiMgVW5mb3J0dW5h dGVseSwgaXQgaXMgbm90IGVub3VnaCB0byBqdXN0IGNvbmZpZ3VyZSBuZXdsaWIgc2VwYXJhdGVs eToKIyB0YXogd2lsbCBidWlsZCB0aGUgLmluZm8gZmlsZXMgYnV0IHNpbmNlIFNVQkRJUlMgd29u J3QgY29udGFpbiBuZXdsaWIsCiMgZGlzdGNsZWFuIHdvbid0IGJlIHJ1biAobGVhdmluZyBNYWtl ZmlsZSwgY29uZmlnLnN0YXR1cywgYW5kIHRoZSB0bXAgZmlsZXMKIyB1c2VkIGluIGJ1aWxkaW5n IHRoZSAuaW5mbyBmaWxlcywgZWc6ICouZGVmLCAqLnJlZikuCiMgVGhlIHByb2JsZW0gaXNuJ3Qg c29sdmFibGUgaG93ZXZlciB3aXRob3V0IGEgbG90IG9mIGV4dHJhIHdvcmsgYmVjYXVzZQojIHRh cmdldCBsaWJyYXJpZXMgYXJlIGJ1aWx0IGluIHN1YmRpciAkKHRhcmdldF9hbGlhcykgd2hpY2gg Z2V0cyBudWtlZCBkdXJpbmcKIyB0aGUgbWFrZSBkaXN0Y2xlYW4uICBGb3Igbm93IHB1bnQgb24g dGhlIGlzc3VlIG9mIHNoaXBwaW5nIG5ld2xpYiBpbmZvIGZpbGVzCiMgd2l0aCBuZXdsaWIgbmV0 IHJlbGVhc2VzIGFuZCB3YWl0IGZvciBhIGRheSB3aGVuIHNvbWUgbmF0aXZlIHRhcmdldCAoc3Vu ND8pCiMgc3VwcG9ydHMgbmV3bGliIChpZiBvbmx5IG1pbmltYWxseSkuCm5ld2xpYi50YXIuYnoy OiAkKERJU1RfU1VQUE9SVCkgJChORVdMSUJfU1VQUE9SVF9ESVJTKSBuZXdsaWIKCSQoTUFLRSkg LWYgTWFrZWZpbGUuaW4gdGF6IFRPT0w9bmV3bGliIFwKCQlNRDVQUk9HPSIkKE1ENVBST0cpIiBc CgkJU1VQUE9SVF9GSUxFUz0iJChORVdMSUJfU1VQUE9SVF9ESVJTKSIgXAoJCURFVk9fU1VQUE9S VD0iJChERVZPX1NVUFBPUlQpIENPUFlJTkcuTkVXTElCIiBuZXdsaWIKCi5OT0VYUE9SVDoKTUFL RU9WRVJSSURFUz0KCiMgZW5kIG9mIE1ha2VmaWxlLmluCg==