From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr1.qq.com (smtpbgbr1.qq.com [54.207.19.206]) by sourceware.org (Postfix) with ESMTPS id 083F13858D32 for ; Mon, 12 Jun 2023 15:13:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 083F13858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp71t1686582789trcaijix Received: from TABLET-POE6JQHH ( [115.44.118.116]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 12 Jun 2023 23:13:08 +0800 (CST) X-QQ-SSF: 01400000000000F0S000000A0000000 X-QQ-FEAT: IcCSTr/hHjNpC3ALYsvxG6DqCgu6IGT0DyE+dXOjO659pZ51LxiOm2hjqNaCk tdYtfmiGeRHpwjID9JvTmNyi/BfVa7kHujqehgesTfz8HB+k4GRtaQfBztloHUTfXMA+Dez uzfoSDJ9eC20hg/syMDHrDy6z4wlESJfzVp54qGxbghVGFMMTddy1WOS9fDPpwY7bKeIjIU 56zQ4rPqdOWLf9QEJDkrPfnuWwFqeW21JHeJ7M7uvtGrqeCTFvimy2g5a+gZlNX2/CunMv8 i3s1M9ZJB9wzirrkmKpL9C+GSDk7mixbCkB/NTnDRTAnVu96+z9DHIibb4aWeVWxC1B03ga ABSZvvZx30sSDOGwwO35J3xVumUgGyydjpykOCsJ0usOFAFXtfjP80NHtoWeUVQAP5JwRHZ GhN9rxbBONu60Bx9ytiF8EAofw0nxtGN X-QQ-GoodBg: 2 X-BIZMAIL-ID: 16042455798893634396 Date: Mon, 12 Jun 2023 23:13:08 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: rdapp.gcc , gcc-patches , palmer , kito.cheng , "Jeff Law" Cc: rdapp.gcc Subject: Re: [PATCH] RISC-V: Implement vec_set and vec_extract. References: X-Priority: 3 X-GUID: 50F4144A-9694-4FC9-9D0C-7702A9F72B84 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <5B32D472E11EDCC1+202306122313083169202@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart557118172141_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart557118172141_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 KyAgLyogSWYgdGhlIHNsaWRlIG9mZnNldCBmaXRzIGludG8gNSBiaXRzIHdl IGNhbg0KKyAgICAgdXNlIHRoZSBpbW1lZGlhdGUgdmFyaWFudCBpbnN0ZWFk IG9mIHRoZSByZWdpc3RlciB2YXJpYW50Lg0KKyAgICAgVGhlIGV4cGFuZGVy J3Mgb3BlcmFuZFsyXSBpcyBvcHNbM10gaGVyZS4gKi8NCisgIGlmICghc2F0 aXNmaWVzX2NvbnN0cmFpbnRfSyAob3BzWzNdKSkNCisgICAgb3BzWzNdID0g Zm9yY2VfcmVnIChQbW9kZSwgb3BzWzNdKTsNCg0KSSBkb24ndCB0aGluayB3 ZSBuZWVkIHRoaXMuIG1heWJlX2V4cGFuZF9pbnNuIHNob3VsZCBiZSBhYmxl IHRvIGhhbmRsZSB0aGlzLg0KDQoNCmp1emhlLnpob25nQHJpdmFpLmFpDQog DQpGcm9tOiBSb2JpbiBEYXBwDQpEYXRlOiAyMDIzLTA2LTEyIDIyOjU1DQpU bzogZ2NjLXBhdGNoZXM7IHBhbG1lcjsgS2l0byBDaGVuZzsganV6aGUuemhv bmdAcml2YWkuYWk7IGplZmZyZXlhbGF3DQpDQzogcmRhcHAuZ2NjDQpTdWJq ZWN0OiBbUEFUQ0hdIFJJU0MtVjogSW1wbGVtZW50IHZlY19zZXQgYW5kIHZl Y19leHRyYWN0Lg0KSGksDQogDQp0aGlzIGltcGxlbWVudHMgdGhlIHZlY19z ZXQgYW5kIHZlY19leHRyYWN0IHBhdHRlcm5zIGZvciBpbnRlZ2VyIGFuZA0K ZmxvYXRpbmctcG9pbnQgZGF0YSB0eXBlcy4gIEZvciB2ZWNfc2V0IHdlIGJy b2FkY2FzdCB0aGUgaW5zZXJ0IHZhbHVlIHRvDQphIHZlY3RvciByZWdpc3Rl ciBhbmQgdGhlbiBwZXJmb3JtIGEgdnNsaWRldXAgd2l0aCBlZmZlY3RpdmUg bGVuZ3RoIDEgdG8NCnRoZSByZXF1ZXN0ZWQgaW5kZXguDQogDQp2ZWNfZXh0 cmFjdCBpcyBkb25lIGJ5IHNsaWRpbmcgZG93biB0aGUgcmVxdWVzdGVkIGVs ZW1lbnQgdG8gaW5kZXggMA0KYW5kIHYoZiltdi5beGZdLnMgdG8gYSBzY2Fs YXIgcmVnaXN0ZXIuDQogDQpUaGUgcGF0Y2ggZG9lcyBub3QgaW5jbHVkZSB2 ZWN0b3ItdmVjdG9yIGV4dHJhY3Rpb24gd2hpY2gNCndpbGwgYmUgZG9uZSBh dCBhIGxhdGVyIHRpbWUuDQogDQpUaGUgdmVjX3NldCB0ZXN0cyByZXF1aXJl ZCBhIHZlY3RvciBjYWxsaW5nIGNvbnZlbnRpb24vQUJJIGJlY2F1c2UNCmEg dmVjdG9yIGlzIGJlaW5nIHJldHVybmVkLiAgSSdtIGN1cnJlbnRseSBleHBl cmltZW50aW5nIHdpdGggYWRkaW5nDQpwcmVsaW1pbmFyeSB2ZWN0b3IgQUJJ IHN1cHBvcnQgbG9jYWxseSBhbmQgc3RpbGwgZmluaXNoaW5nIHNvbWUgdGVz dHMNCmFmdGVyIGRpc2N1c3Npbmcgd2l0aCBKdXpoZS4gIENvbnNlcXVlbnRs eSwgSSB3b3VsZCBub3QgcHVzaCB0aGlzDQpiZWZvcmUgQUJJIHN1cHBvcnQg aXMgdXBzdHJlYW0uDQogDQpSZWdhcmRzDQpSb2Jpbg0KIA0KZ2NjL0NoYW5n ZUxvZzoNCiANCiogY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQgKHZlY19zZXQ8 bW9kZT4pOiBJbXBsZW1lbnQuDQoodmVjX2V4dHJhY3Q8bW9kZT48dmVsPik6 IEltcGxlbWVudC4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oIChl bnVtIGluc25fdHlwZSk6IEFkZCBzbGlkZSBpbnNuLg0KKGVtaXRfdmxtYXhf c2xpZGVfaW5zbik6IERlY2xhcmUuDQooZW1pdF9ub252bG1heF9zbGlkZV90 dV9pbnNuKTogRGVjbGFyZS4NCihlbWl0X3NjYWxhcl9tb3ZlX2luc24pOiBF eHBvcnQuDQooZW1pdF9ub252bG1heF9pbnRlZ2VyX21vdmVfaW5zbik6IEV4 cG9ydC4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgKGVtaXRfdmxtYXhf c2xpZGVfaW5zbik6IE5ldyBmdW5jdGlvbi4NCihlbWl0X25vbnZsbWF4X3Ns aWRlX3R1X2luc24pOiBOZXcgZnVuY3Rpb24uDQooZW1pdF92bG1heF9tYXNr ZWRfbXVfaW5zbik6IE5vIGNoYW5nZS4NCihlbWl0X3ZsbWF4X2ludGVnZXJf bW92ZV9pbnNuKTogRXhwb3J0Lg0KIA0KZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VM b2c6DQogDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZs bWF4L3ZlY19leHRyYWN0LTEuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTIuYzog TmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxz LXZsbWF4L3ZlY19leHRyYWN0LTMuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTQu YzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMv dmxzLXZsbWF4L3ZlY19leHRyYWN0LXJ1bi5jOiBOZXcgdGVzdC4NCiogZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0x LmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3Zscy12bG1heC92ZWNfc2V0LTIuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMy5jOiBO ZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMt dmxtYXgvdmVjX3NldC00LmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LXJ1bi5jOiBOZXcg dGVzdC4NCi0tLQ0KZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kICAgICAg ICAgICAgICAgICAgIHwgIDc5ICsrKysrKw0KZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1wcm90b3MuaCAgICAgICAgICAgICAgIHwgICA1ICsNCmdjYy9jb25m aWcvcmlzY3YvcmlzY3Ytdi5jYyAgICAgICAgICAgICAgICAgICB8ICA2MiAr KysrLQ0KLi4uL3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0x LmMgICAgIHwgIDQ5ICsrKysNCi4uLi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgv dmVjX2V4dHJhY3QtMi5jICAgICB8ICA1OCArKysrKw0KLi4uL3J2di9hdXRv dmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0zLmMgICAgIHwgIDU5ICsrKysr DQouLi4vcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTQuYyAg ICAgfCAgNjAgKysrKysNCi4uLi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVj X2V4dHJhY3QtcnVuLmMgICB8IDIzMCArKysrKysrKysrKysrKysrKysNCi4u Li9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0xLmMgICB8 ICA1MiArKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3Zl Y19zZXQtMi5jICAgfCAgNjIgKysrKysNCi4uLi9yaXNjdi9ydnYvYXV0b3Zl Yy92bHMtdmxtYXgvdmVjX3NldC0zLmMgICB8ICA2MyArKysrKw0KLi4uL3Jp c2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTQuYyAgIHwgIDY0 ICsrKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19z ZXQtcnVuLmMgfCAyMzAgKysrKysrKysrKysrKysrKysrDQoxMyBmaWxlcyBj aGFuZ2VkLCAxMDcxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQpj cmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0xLmMNCmNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTIuYw0KY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtMy5jDQpjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC00LmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LXJ1bi5jDQpjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTEuYw0KY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy92bHMtdmxtYXgvdmVjX3NldC0yLmMNCmNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMy5jDQpjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zs cy12bG1heC92ZWNfc2V0LTQuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxt YXgvdmVjX3NldC1ydW4uYw0KIA0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvYXV0b3ZlYy5tZCBiL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5t ZA0KaW5kZXggYjcwNzAwOTlmMjkuLjljZmE0OGY5NGI1IDEwMDY0NA0KLS0t IGEvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kDQorKysgYi9nY2MvY29u ZmlnL3Jpc2N2L2F1dG92ZWMubWQNCkBAIC02NDAsMyArNjQwLDgyIEBAIChk ZWZpbmVfZXhwYW5kICJzZWxlY3Rfdmw8bW9kZT4iDQogICByaXNjdl92ZWN0 b3I6OmV4cGFuZF9zZWxlY3RfdmwgKG9wZXJhbmRzKTsNCiAgIERPTkU7DQp9 KQ0KKw0KKzs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCis7OyAt LS0tIFtJTlQsRlBdIEluc2VydCBhIHZlY3RvciBlbGVtZW50Lg0KKzs7IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisoZGVmaW5lX2V4cGFu ZCAidmVjX3NldDxtb2RlPiINCisgIFsobWF0Y2hfb3BlcmFuZDpWIDAgInJl Z2lzdGVyX29wZXJhbmQiKQ0KKyAgIChtYXRjaF9vcGVyYW5kOjxWRUw+IDEg InJlZ2lzdGVyX29wZXJhbmQiKQ0KKyAgIChtYXRjaF9vcGVyYW5kIDIgImlt bWVkaWF0ZV9vcGVyYW5kIildDQorICAiVEFSR0VUX1ZFQ1RPUiINCit7DQor ICAvKiBJZiB3ZSBzZXQgdGhlIGZpcnN0IGVsZW1lbnQsIGVtaXQgYW4gdihm KW12LnMuW3hmXS4gICovDQorICBpZiAob3BlcmFuZHNbMl0gPT0gY29uc3Qw X3J0eCkNCisgICAgew0KKyAgICAgIHJ0eCBvcHNbXSA9IHtvcGVyYW5kc1sw XSwgcmlzY3ZfdmVjdG9yOjpnZW5fc2NhbGFyX21vdmVfbWFzayAoPFZNPm1v ZGUpLA0KKyAgICBSVlZfVlVOREVGICg8TU9ERT5tb2RlKSwgb3BlcmFuZHNb MV19Ow0KKyAgICAgIHJpc2N2X3ZlY3Rvcjo6ZW1pdF9zY2FsYXJfbW92ZV9p bnNuDQorICAgKGNvZGVfZm9yX3ByZWRfYnJvYWRjYXN0ICg8TU9ERT5tb2Rl KSwgb3BzKTsNCisgICAgfQ0KKyAgZWxzZQ0KKyAgICB7DQorICAgICAgLyog TW92ZSB0aGUgZGVzaXJlZCB2YWx1ZSBpbnRvIGEgdmVjdG9yIHJlZ2lzdGVy IGFuZCBpbnNlcnQNCisgaXQgYXQgdGhlIHByb3BlciBwb3NpdGlvbiB1c2lu ZyB2c2xpZGV1cCB3aXRoIGFuDQorICJlZmZlY3RpdmUgbGVuZ3RoIiBvZiAx IGkuZS4gYSBWTCAxIHBhc3QgdGhlIG9mZnNldC4gICovDQorDQorICAgICAg LyogU2xpZGUgb2Zmc2V0ID0gZWxlbWVudCBpbmRleC4gICovDQorICAgICAg aW50IG9mZnNldCA9IElOVFZBTCAob3BlcmFuZHNbMl0pOw0KKw0KKyAgICAg IC8qIE9ubHkgaW5zZXJ0IG9uZSBlbGVtZW50LCBpLmUuIFZMID0gb2Zmc2V0 ICsgMS4gICovDQorICAgICAgcnR4IGxlbmd0aCA9IGdlbl9yZWdfcnR4IChQ bW9kZSk7DQorICAgICAgZW1pdF9tb3ZlX2luc24gKGxlbmd0aCwgR0VOX0lO VCAob2Zmc2V0ICsgMSkpOw0KKw0KKyAgICAgIC8qIE1vdmUgb3BlcmFuZHNb MV0gaW50byBhIHZlY3RvciByZWdpc3RlciB2aWEgdm12LnYueCB1c2luZyB0 aGUgc2FtZQ0KKyBWTCB3ZSBuZWVkIGZvciB0aGUgc2xpZGUuICAqLw0KKyAg ICAgIHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAoPE1PREU+bW9kZSk7DQorICAg ICAgcnR4IG9wczFbXSA9IHt0bXAsIG9wZXJhbmRzWzFdfTsNCisgICAgICBy aXNjdl92ZWN0b3I6OmVtaXRfbm9udmxtYXhfaW50ZWdlcl9tb3ZlX2luc24N CisgKGNvZGVfZm9yX3ByZWRfYnJvYWRjYXN0ICg8TU9ERT5tb2RlKSwgb3Bz MSwgbGVuZ3RoKTsNCisNCisgICAgICAvKiBTbGlkZSBleGFjdGx5IG9uZSBl bGVtZW50IHVwIGxlYXZpbmcgdGhlIHRhaWwgZWxlbWVudHMNCisgdW5jaGFu Z2VkLiAgKi8NCisgICAgICBydHggb3BzMltdID0ge29wZXJhbmRzWzBdLCBv cGVyYW5kc1swXSwgdG1wLCBvcGVyYW5kc1syXX07DQorICAgICAgcmlzY3Zf dmVjdG9yOjplbWl0X25vbnZsbWF4X3NsaWRlX3R1X2luc24NCisgKGNvZGVf Zm9yX3ByZWRfc2xpZGUgKFVOU1BFQ19WU0xJREVVUCwgPE1PREU+bW9kZSks IG9wczIsIGxlbmd0aCk7DQorICAgIH0NCisgIERPTkU7DQorfSkNCisNCis7 OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOzsgLS0tLSBbSU5U LEZQXSBFeHRyYWN0IGEgdmVjdG9yIGVsZW1lbnQuDQorOzsgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyhkZWZpbmVfZXhwYW5kICJ2ZWNfZXh0 cmFjdDxtb2RlPjx2ZWw+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZF TD4gICAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCisgICAgICh2ZWNfc2VsZWN0 OjxWRUw+DQorICAgICAgIChtYXRjaF9vcGVyYW5kOlYgICAxICJyZWdpc3Rl cl9vcGVyYW5kIikNCisgICAgICAgKHBhcmFsbGVsDQorIFsobWF0Y2hfb3Bl cmFuZCAgIDIgIm5vbm1lbW9yeV9vcGVyYW5kIildKSkpXQ0KKyAgIlRBUkdF VF9WRUNUT1IiDQorew0KKyAgLyogRWxlbWVudCBleHRyYWN0aW9uIGNhbiBi ZSBkb25lIGJ5IHNsaWRpbmcgZG93biB0aGUgcmVxdWVzdGVkIGVsZW1lbnQN CisgICAgIHRvIGluZGV4IDAgYW5kIHRoZW4gdihmKW12Llt4Zl0ucyBpdCB0 byBhIHNjYWxhciByZWdpc3Rlci4gICovDQorDQorICAvKiBXaGVuIGV4dHJh Y3RpbmcgYW55IG90aGVyIHRoYW4gdGhlIGZpcnN0IGVsZW1lbnQgd2UgbmVl ZCB0byBzbGlkZQ0KKyAgICAgaXQgZG93bi4gICovDQorICBydHggdG1wID0g TlVMTF9SVFg7DQorICBpZiAob3BlcmFuZHNbMl0gIT0gY29uc3QwX3J0eCkN CisgICAgew0KKyAgICAgIC8qIEVtaXQgdGhlIHNsaWRlIGRvd24gdG8gaW5k ZXggMCBpbiBhIG5ldyB2ZWN0b3IuICAqLw0KKyAgICAgIHRtcCA9IGdlbl9y ZWdfcnR4ICg8TU9ERT5tb2RlKTsNCisgICAgICBydHggb3BzW10gPSB7dG1w LCBSVlZfVlVOREVGICg8TU9ERT5tb2RlKSwgb3BlcmFuZHNbMV0sIG9wZXJh bmRzWzJdfTsNCisgICAgICByaXNjdl92ZWN0b3I6OmVtaXRfdmxtYXhfc2xp ZGVfaW5zbg0KKyAoY29kZV9mb3JfcHJlZF9zbGlkZSAoVU5TUEVDX1ZTTElE RURPV04sIDxNT0RFPm1vZGUpLCBvcHMpOw0KKyAgICB9DQorDQorICAvKiBF bWl0IHYoZiltdi5beGZdLnMuICAqLw0KKyAgZW1pdF9pbnNuIChnZW5fcHJl ZF9leHRyYWN0X2ZpcnN0ICg8TU9ERT5tb2RlLCBvcGVyYW5kc1swXSwNCisg ICAgICB0bXAgPyB0bXAgOiBvcGVyYW5kc1sxXSkpOw0KKyAgRE9ORTsNCit9 KQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9z LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQppbmRleCA2 ZGIzYTQ2YzY4Mi4uN2IzMjcwNDdhZDUgMTAwNjQ0DQotLS0gYS9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQorKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXByb3Rvcy5oDQpAQCAtMTQ2LDYgKzE0Niw3IEBAIGVudW0g aW5zbl90eXBlDQogICBSVlZfVEVSTk9QID0gNSwNCiAgIFJWVl9XSURFTl9U RVJOT1AgPSA0LA0KICAgUlZWX1NDQUxBUl9NT1ZfT1AgPSA0LCAvKiArMSBm b3IgVlVOREVGIGFjY29yZGluZyB0byB2ZWN0b3IubWQuICAqLw0KKyAgUlZW X1NMSURFX09QID0gNCwgICAgICAvKiBEZXN0LCBWVU5ERUYsIHNvdXJjZSBh bmQgb2Zmc2V0LiAgKi8NCn07DQplbnVtIHZsbXVsX3R5cGUNCnsNCkBAIC0x ODYsMTAgKzE4NywxNCBAQCB2b2lkIGVtaXRfaGFyZF92bG1heF92c2V0dmwg KG1hY2hpbmVfbW9kZSwgcnR4KTsNCnZvaWQgZW1pdF92bG1heF9pbnNuICh1 bnNpZ25lZCwgaW50LCBydHggKiwgcnR4ID0gMCk7DQp2b2lkIGVtaXRfdmxt YXhfdGVybmFyeV9pbnNuICh1bnNpZ25lZCwgaW50LCBydHggKiwgcnR4ID0g MCk7DQp2b2lkIGVtaXRfbm9udmxtYXhfaW5zbiAodW5zaWduZWQsIGludCwg cnR4ICosIHJ0eCk7DQordm9pZCBlbWl0X3ZsbWF4X3NsaWRlX2luc24gKHVu c2lnbmVkLCBydHggKik7DQordm9pZCBlbWl0X25vbnZsbWF4X3NsaWRlX3R1 X2luc24gKHVuc2lnbmVkLCBydHggKiwgcnR4KTsNCnZvaWQgZW1pdF92bG1h eF9tZXJnZV9pbnNuICh1bnNpZ25lZCwgaW50LCBydHggKik7DQp2b2lkIGVt aXRfdmxtYXhfY21wX2luc24gKHVuc2lnbmVkLCBydHggKik7DQp2b2lkIGVt aXRfdmxtYXhfY21wX211X2luc24gKHVuc2lnbmVkLCBydHggKik7DQp2b2lk IGVtaXRfdmxtYXhfbWFza2VkX211X2luc24gKHVuc2lnbmVkLCBpbnQsIHJ0 eCAqKTsNCit2b2lkIGVtaXRfc2NhbGFyX21vdmVfaW5zbiAodW5zaWduZWQs IHJ0eCAqKTsNCit2b2lkIGVtaXRfbm9udmxtYXhfaW50ZWdlcl9tb3ZlX2lu c24gKHVuc2lnbmVkLCBydHggKiwgcnR4KTsNCmVudW0gdmxtdWxfdHlwZSBn ZXRfdmxtdWwgKG1hY2hpbmVfbW9kZSk7DQp1bnNpZ25lZCBpbnQgZ2V0X3Jh dGlvIChtYWNoaW5lX21vZGUpOw0KdW5zaWduZWQgaW50IGdldF9uZiAobWFj aGluZV9tb2RlKTsNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MNCmluZGV4 IGUxYjg1YTVhZjkxLi4wZWNmMzM4ZWJhOCAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KKysrIGIvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi12LmNjDQpAQCAtNjg1LDYgKzY4NSw2NCBAQCBlbWl0X25vbnZs bWF4X2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHggKm9w cywgcnR4IGF2bCkNCiAgIGUuZW1pdF9pbnNuICgoZW51bSBpbnNuX2NvZGUp IGljb2RlLCBvcHMpOw0KfQ0KKy8qIFRoaXMgZnVuY3Rpb24gZW1pdHMgYSB7 Tk9OVkxNQVgsIFRBSUxfVU5ESVNUVVJCRUQsIE1BU0tfQU5ZfSB2c2V0dmxp DQorICAgZm9sbG93ZWQgYnkgYSB2c2xpZGUgaW5zbiAod2l0aCByZWFsIG1l cmdlIG9wZXJhbmQpLiAgKi8NCit2b2lkDQorZW1pdF92bG1heF9zbGlkZV9p bnNuICh1bnNpZ25lZCBpY29kZSwgcnR4ICpvcHMpDQorew0KKyAgbWFjaGlu ZV9tb2RlIGRlc3RfbW9kZSA9IEdFVF9NT0RFIChvcHNbMF0pOw0KKyAgbWFj aGluZV9tb2RlIG1hc2tfbW9kZSA9IGdldF9tYXNrX21vZGUgKGRlc3RfbW9k ZSkucmVxdWlyZSAoKTsNCisgIGluc25fZXhwYW5kZXI8UlZWX0lOU05fT1BF UkFORFNfTUFYPiBlIChSVlZfU0xJREVfT1AsDQorICAgLyogSEFTX0RFU1Rf UCAqLyB0cnVlLA0KKyAgIC8qIEZVTExZX1VOTUFTS0VEX1AgKi8gdHJ1ZSwN CisgICAvKiBVU0VfUkVBTF9NRVJHRV9QICovIHRydWUsDQorICAgLyogSEFT X0FWTF9QICovIHRydWUsDQorICAgLyogVkxNQVhfUCAqLyB0cnVlLA0KKyAg IGRlc3RfbW9kZSwNCisgICBtYXNrX21vZGUpOw0KKw0KKyAgZS5zZXRfcG9s aWN5IChUQUlMX0FOWSk7DQorICBlLnNldF9wb2xpY3kgKE1BU0tfQU5ZKTsN CisNCisgIC8qIElmIHRoZSBzbGlkZSBvZmZzZXQgZml0cyBpbnRvIDUgYml0 cyB3ZSBjYW4NCisgICAgIHVzZSB0aGUgaW1tZWRpYXRlIHZhcmlhbnQgaW5z dGVhZCBvZiB0aGUgcmVnaXN0ZXIgdmFyaWFudC4NCisgICAgIFRoZSBleHBh bmRlcidzIG9wZXJhbmRbMl0gaXMgb3BzWzNdIGhlcmUuICovDQorICBpZiAo IXNhdGlzZmllc19jb25zdHJhaW50X0sgKG9wc1szXSkpDQorICAgIG9wc1sz XSA9IGZvcmNlX3JlZyAoUG1vZGUsIG9wc1szXSk7DQorDQorICBlLmVtaXRf aW5zbiAoKGVudW0gaW5zbl9jb2RlKSBpY29kZSwgb3BzKTsNCit9DQorDQor LyogVGhpcyBmdW5jdGlvbiBlbWl0cyBhIHtOT05WTE1BWCwgVEFJTF9VTkRJ U1RVUkJFRCwgTUFTS19BTll9IHZzZXR2bGkNCisgICBmb2xsb3dlZCBieSBh IHZzbGlkZSBpbnNuICh3aXRoIHJlYWwgbWVyZ2Ugb3BlcmFuZCkuICAqLw0K K3ZvaWQNCitlbWl0X25vbnZsbWF4X3NsaWRlX3R1X2luc24gKHVuc2lnbmVk IGljb2RlLCBydHggKm9wcywgcnR4IGF2bCkNCit7DQorICBtYWNoaW5lX21v ZGUgZGVzdF9tb2RlID0gR0VUX01PREUgKG9wc1swXSk7DQorICBtYWNoaW5l X21vZGUgbWFza19tb2RlID0gZ2V0X21hc2tfbW9kZSAoZGVzdF9tb2RlKS5y ZXF1aXJlICgpOw0KKyAgaW5zbl9leHBhbmRlcjxSVlZfSU5TTl9PUEVSQU5E U19NQVg+IGUgKFJWVl9TTElERV9PUCwNCisgICAvKiBIQVNfREVTVF9QICov IHRydWUsDQorICAgLyogRlVMTFlfVU5NQVNLRURfUCAqLyB0cnVlLA0KKyAg IC8qIFVTRV9SRUFMX01FUkdFX1AgKi8gdHJ1ZSwNCisgICAvKiBIQVNfQVZM X1AgKi8gdHJ1ZSwNCisgICAvKiBWTE1BWF9QICovIGZhbHNlLA0KKyAgIGRl c3RfbW9kZSwNCisgICBtYXNrX21vZGUpOw0KKw0KKyAgZS5zZXRfcG9saWN5 IChUQUlMX1VORElTVFVSQkVEKTsNCisgIGUuc2V0X3BvbGljeSAoTUFTS19B TlkpOw0KKyAgZS5zZXRfdmwgKGF2bCk7DQorDQorICAvKiBJZiB0aGUgc2xp ZGUgb2Zmc2V0IGZpdHMgaW50byA1IGJpdHMgd2UgY2FuDQorICAgICB1c2Ug dGhlIGltbWVkaWF0ZSB2YXJpYW50IGluc3RlYWQgb2YgdGhlIHJlZ2lzdGVy IHZhcmlhbnQuDQorICAgICBUaGUgZXhwYW5kZXIncyBvcGVyYW5kWzJdIGlz IG9wc1szXSBoZXJlLiAqLw0KKyAgaWYgKCFzYXRpc2ZpZXNfY29uc3RyYWlu dF9LIChvcHNbM10pKQ0KKyAgICBvcHNbM10gPSBmb3JjZV9yZWcgKFBtb2Rl LCBvcHNbM10pOw0KKw0KKyAgZS5lbWl0X2luc24gKChlbnVtIGluc25fY29k ZSkgaWNvZGUsIG9wcyk7DQorfQ0KKw0KKw0KLyogVGhpcyBmdW5jdGlvbiBl bWl0cyBtZXJnZSBpbnN0cnVjdGlvbi4gICovDQp2b2lkDQplbWl0X3ZsbWF4 X21lcmdlX2luc24gKHVuc2lnbmVkIGljb2RlLCBpbnQgb3BfbnVtLCBydHgg Km9wcykNCkBAIC03NTgsNyArODE2LDcgQEAgZW1pdF92bG1heF9tYXNrZWRf bXVfaW5zbiAodW5zaWduZWQgaWNvZGUsIGludCBvcF9udW0sIHJ0eCAqb3Bz KQ0KLyogRW1pdCB2bXYucy54IGluc3RydWN0aW9uLiAgKi8NCi1zdGF0aWMg dm9pZA0KK3ZvaWQNCmVtaXRfc2NhbGFyX21vdmVfaW5zbiAodW5zaWduZWQg aWNvZGUsIHJ0eCAqb3BzKQ0Kew0KICAgbWFjaGluZV9tb2RlIGRlc3RfbW9k ZSA9IEdFVF9NT0RFIChvcHNbMF0pOw0KQEAgLTc4OCw3ICs4NDYsNyBAQCBl bWl0X3ZsbWF4X2ludGVnZXJfbW92ZV9pbnNuICh1bnNpZ25lZCBpY29kZSwg cnR4ICpvcHMsIHJ0eCB2bCkNCi8qIEVtaXQgdm12LnYueCBpbnN0cnVjdGlv biB3aXRoIG5vbnZsbWF4LiAgKi8NCi1zdGF0aWMgdm9pZA0KK3ZvaWQNCmVt aXRfbm9udmxtYXhfaW50ZWdlcl9tb3ZlX2luc24gKHVuc2lnbmVkIGljb2Rl LCBydHggKm9wcywgcnR4IGF2bCkNCnsNCiAgIGVtaXRfbm9udmxtYXhfaW5z biAoaWNvZGUsIHJpc2N2X3ZlY3Rvcjo6UlZWX1VOT1AsIG9wcywgYXZsKTsN CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTEuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxt YXgvdmVjX2V4dHJhY3QtMS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMDAwMDAuLmI2MzFmZGI5Y2M2DQotLS0gL2Rldi9udWxsDQor KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdmxzLXZsbWF4L3ZlY19leHRyYWN0LTEuYw0KQEAgLTAsMCArMSw0OSBA QA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1hZGRpdGlv bmFsLW9wdGlvbnMgIi1zdGQ9Yzk5IC1tYXJjaD1ydjY0Z2N2IiB9ICovDQor DQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisNCit0eXBlZGVmIGludDY0 X3Qgdm54MmRpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgxNikpKTsN Cit0eXBlZGVmIGludDMyX3Qgdm54NHNpIF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplICgxNikpKTsNCit0eXBlZGVmIGludDE2X3Qgdm54OGhpIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgxNikpKTsNCit0eXBlZGVmIGludDhf dCB2bngxNnFpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgxNikpKTsN Cit0eXBlZGVmIGRvdWJsZSB2bngyZGYgX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUgKDE2KSkpOw0KK3R5cGVkZWYgZmxvYXQgdm54NHNmIF9fYXR0cmli dXRlX18oKHZlY3Rvcl9zaXplICgxNikpKTsNCisNCisNCisjZGVmaW5lIFZF Q19FWFRSQUNUKFMsVixJRFgpIFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVf Xygobm9pcGEpKSBcDQorICB2ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2 KSBcDQorICB7IFwNCisgICAgcmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0K KyNkZWZpbmUgVEVTVF9BTEwxKFQpIFwNCisgIFQgKGludDY0X3QsIHZueDJk aSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MmRpLCAxKSBcDQorICBUIChp bnQzMl90LCB2bng0c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwg MSkgXA0KKyAgVCAoaW50MzJfdCwgdm54NHNpLCAzKSBcDQorICBUIChpbnQx Nl90LCB2bng4aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgMikg XA0KKyAgVCAoaW50MTZfdCwgdm54OGhpLCA2KSBcDQorICBUIChpbnQ4X3Qs IHZueDE2cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMSkgXA0K KyAgVCAoaW50OF90LCB2bngxNnFpLCA3KSBcDQorICBUIChpbnQ4X3QsIHZu eDE2cWksIDExKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDE1KSBcDQor ICBUIChmbG9hdCwgdm54NHNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54NHNm LCAxKSBcDQorICBUIChmbG9hdCwgdm54NHNmLCAzKSBcDQorICBUIChkb3Vi bGUsIHZueDJkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bngyZGYsIDEpIFwN CisNCitURVNUX0FMTDEgKFZFQ19FWFRSQUNUKQ0KKw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16 MC05XSssXHMqW2EtejAtOV0rLFxzKmVbMS04XSssXHMqbTEsXHMqdGEsXHMq bWF9IDE4IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7XHR2c2xpZGVkb3duLnZpfSAxMiB9IH0gKi8NCisNCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi5m LnN9IDUgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHtcdHZtdi54LnN9IDEzIH0gfSAqLw0KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMt dmxtYXgvdmVjX2V4dHJhY3QtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC0y LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4u MGE5Mzc1MmJkNGINCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVj X2V4dHJhY3QtMi5jDQpAQCAtMCwwICsxLDU4IEBADQorLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0 ZD1jOTkgLW1hcmNoPXJ2NjRnY3YiIH0gKi8NCisNCisjaW5jbHVkZSA8c3Rk aW50LWdjYy5oPg0KKw0KK3R5cGVkZWYgaW50NjRfdCB2bng0ZGkgX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUgKDMyKSkpOw0KK3R5cGVkZWYgaW50MzJf dCB2bng4c2kgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDMyKSkpOw0K K3R5cGVkZWYgaW50MTZfdCB2bngxNmhpIF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplICgzMikpKTsNCit0eXBlZGVmIGludDhfdCB2bngzMnFpIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsNCit0eXBlZGVmIGRvdWJs ZSB2bng0ZGYgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDMyKSkpOw0K K3R5cGVkZWYgZmxvYXQgdm54OHNmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplICgzMikpKTsNCisNCisjZGVmaW5lIFZFQ19FWFRSQUNUKFMsVixJRFgp IFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVfXygobm9pcGEpKSBcDQorICB2 ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2KSBcDQorICB7IFwNCisgICAg cmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUgVEVTVF9BTEwy KFQpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDApIFwNCisgIFQgKGZsb2F0 LCB2bng4c2YsIDEpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDMpIFwNCisg IFQgKGZsb2F0LCB2bng4c2YsIDQpIFwNCisgIFQgKGZsb2F0LCB2bng4c2Ys IDcpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAwKSBcDQorICBUIChkb3Vi bGUsIHZueDRkZiwgMSkgXA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDIpIFwN CisgIFQgKGRvdWJsZSwgdm54NGRmLCAzKSBcDQorICBUIChpbnQ2NF90LCB2 bng0ZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMSkgXA0KKyAg VCAoaW50NjRfdCwgdm54NGRpLCAyKSBcDQorICBUIChpbnQ2NF90LCB2bng0 ZGksIDMpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMCkgXA0KKyAgVCAo aW50MzJfdCwgdm54OHNpLCAxKSBcDQorICBUIChpbnQzMl90LCB2bng4c2ks IDMpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgNCkgXA0KKyAgVCAoaW50 MzJfdCwgdm54OHNpLCA3KSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCAw KSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCAxKSBcDQorICBUIChpbnQx Nl90LCB2bngxNmhpLCA3KSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCA4 KSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCAxNSkgXA0KKyAgVCAoaW50 OF90LCB2bngzMnFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDEp IFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMTUpIFwNCisgIFQgKGludDhf dCwgdm54MzJxaSwgMTYpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMzEp IFwNCisNCitURVNUX0FMTDIgKFZFQ19FWFRSQUNUKQ0KKw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytb YS16MC05XSssXHMqW2EtejAtOV0rLFxzKmVbMS04XSssXHMqbTIsXHMqdGEs XHMqbWF9IDI4IH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7XHR2c2xpZGVkb3duLnZpfSAyMiB9IH0gKi8NCisN CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZt di5mLnN9IDkgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHtcdHZtdi54LnN9IDE5IH0gfSAqLw0KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92 bHMtdmxtYXgvdmVjX2V4dHJhY3QtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFj dC0zLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MC4uMjRjMzkxNjg1NzgNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgv dmVjX2V4dHJhY3QtMy5jDQpAQCAtMCwwICsxLDU5IEBADQorLyogeyBkZy1k byBjb21waWxlIH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAi LXN0ZD1jOTkgLW1hcmNoPXJ2NjRnY3YiIH0gKi8NCisNCisjaW5jbHVkZSA8 c3RkaW50LWdjYy5oPg0KKw0KK3R5cGVkZWYgaW50NjRfdCB2bng4ZGkgX19h dHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDY0KSkpOw0KK3R5cGVkZWYgaW50 MzJfdCB2bngxNnNpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkp KTsNCit0eXBlZGVmIGludDE2X3Qgdm54MzJoaSBfX2F0dHJpYnV0ZV9fKCh2 ZWN0b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBpbnQ4X3Qgdm54NjRxaSBf X2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBk b3VibGUgdm54OGRmIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkp KTsNCit0eXBlZGVmIGZsb2F0IHZueDE2c2YgX19hdHRyaWJ1dGVfXygodmVj dG9yX3NpemUgKDY0KSkpOw0KKw0KKyNkZWZpbmUgVkVDX0VYVFJBQ1QoUyxW LElEWCkgXA0KKyAgUyBcDQorICBfX2F0dHJpYnV0ZV9fKChub2lwYSkpIFwN CisgIHZlY19leHRyYWN0XyMjViMjXyMjSURYIChWIHYpIFwNCisgIHsgXA0K KyAgICByZXR1cm4gdltJRFhdOyBcDQorICB9DQorDQorI2RlZmluZSBURVNU X0FMTDMoVCkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDApIFwNCisgIFQg KGZsb2F0LCB2bngxNnNmLCAyKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwg NikgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDgpIFwNCisgIFQgKGZsb2F0 LCB2bngxNnNmLCAxNCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDApIFwN CisgIFQgKGRvdWJsZSwgdm54OGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZu eDhkZiwgNCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDYpIFwNCisgIFQg KGludDY0X3QsIHZueDhkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRp LCAyKSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDQpIFwNCisgIFQgKGlu dDY0X3QsIHZueDhkaSwgNikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwg MCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMikgXA0KKyAgVCAoaW50 MzJfdCwgdm54MTZzaSwgNikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwg OCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMTQpIFwNCisgIFQgKGlu dDE2X3QsIHZueDMyaGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGks IDIpIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDE0KSBcDQorICBUIChp bnQxNl90LCB2bngzMmhpLCAxNikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJo aSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMCkgXA0KKyAgVCAo aW50OF90LCB2bng2NHFpLCAyKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWks IDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDMyKSBcDQorICBUIChp bnQ4X3QsIHZueDY0cWksIDYzKSBcDQorDQorVEVTVF9BTEwzIChWRUNfRVhU UkFDVCkNCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAtOV0rLFxzKlthLXowLTldKyxccypl WzEtOF0rLFxzKm00LFxzKnRhLFxzKm1hfSAyOCB9IH0gKi8NCisNCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNsaWRlZG93 bi52aX0gMjAgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHtcdHZzbGlkZWRvd24udnh9IDIgfSB9ICovDQorDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZmbXYuZi5z fSA5IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7XHR2bXYueC5zfSAxOSB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZs bWF4L3ZlY19leHRyYWN0LTQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVjX2V4dHJhY3QtNC5j DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLmUz ZDI5Y2FiNjI4DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19l eHRyYWN0LTQuYw0KQEAgLTAsMCArMSw2MCBAQA0KKy8qIHsgZGctZG8gY29t cGlsZSB9ICovDQorLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1zdGQ9 Yzk5IC1tYXJjaD1ydjY0Z2N2IiB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGlu dC1nY2MuaD4NCisNCit0eXBlZGVmIGludDY0X3Qgdm54MTZkaSBfX2F0dHJp YnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4KSkpOw0KK3R5cGVkZWYgaW50MzJf dCB2bngzMnNpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICgxMjgpKSk7 DQordHlwZWRlZiBpbnQxNl90IHZueDY0aGkgX19hdHRyaWJ1dGVfXygodmVj dG9yX3NpemUgKDEyOCkpKTsNCit0eXBlZGVmIGludDhfdCB2bngxMjhxaSBf X2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4KSkpOw0KK3R5cGVkZWYg ZG91YmxlIHZueDE2ZGYgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDEy OCkpKTsNCit0eXBlZGVmIGZsb2F0IHZueDMyc2YgX19hdHRyaWJ1dGVfXygo dmVjdG9yX3NpemUgKDEyOCkpKTsNCisNCisjZGVmaW5lIFZFQ19FWFRSQUNU KFMsVixJRFgpIFwNCisgIFMgXA0KKyAgX19hdHRyaWJ1dGVfXygobm9pcGEp KSBcDQorICB2ZWNfZXh0cmFjdF8jI1YjI18jI0lEWCAoViB2KSBcDQorICB7 IFwNCisgICAgcmV0dXJuIHZbSURYXTsgXA0KKyAgfQ0KKw0KKyNkZWZpbmUg VEVTVF9BTEw0KFQpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAwKSBcDQor ICBUIChmbG9hdCwgdm54MzJzZiwgMykgXA0KKyAgVCAoZmxvYXQsIHZueDMy c2YsIDEyKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwgMTcpIFwNCisgIFQg KGZsb2F0LCB2bngzMnNmLCAxNCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRm LCAwKSBcDQorICBUIChkb3VibGUsIHZueDE2ZGYsIDQpIFwNCisgIFQgKGRv dWJsZSwgdm54MTZkZiwgOCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCAx MikgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgMCkgXA0KKyAgVCAoaW50 NjRfdCwgdm54MTZkaSwgNCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwg OCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgMTIpIFwNCisgIFQgKGlu dDMyX3QsIHZueDMyc2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ks IDQpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDEyKSBcDQorICBUIChp bnQzMl90LCB2bngzMnNpLCAxNikgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJz aSwgMjgpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDApIFwNCisgIFQg KGludDE2X3QsIHZueDY0aGksIDQpIFwNCisgIFQgKGludDE2X3QsIHZueDY0 aGksIDI4KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCAzMikgXA0KKyAg VCAoaW50MTZfdCwgdm54NjRoaSwgNjApIFwNCisgIFQgKGludDhfdCwgdm54 MTI4cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDQpIFwNCisg IFQgKGludDhfdCwgdm54MTI4cWksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZu eDEyOHFpLCA2MCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgNjQpIFwN CisgIFQgKGludDhfdCwgdm54MTI4cWksIDEyNykgXA0KKw0KK1RFU1RfQUxM NCAoVkVDX0VYVFJBQ1QpDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1thLXowLXRoZSBzbGlkZSBv ZmZzZXQgZml0cyBpbnRvIDUgYml0cyB3ZSBjYW4NCisgICAgIHVzZSB0aGUg aW1tZWRpYXRlIHZhcmlhbnQgaW5zdGVhZCBvZiB0aGUgcmVnaXN0ZXIgdmFy aWFudC4NCisgICAgIFRoZSBleHBhbmRlcidzIG9wZXJhbmRbMl0gaXMgb3Bz WzNdIGhlcmUuICovOV0rLFxzKlthLXowLTldKyxccyplWzEtOF0rLFxzKm04 LFxzKnRhLFxzKm1hfSAyOSB9IH0gKi8NCisNCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNsaWRlZG93bi52aX0gMTggfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtc dHZzbGlkZWRvd24udnh9IDUgfSB9ICovDQorDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZmbXYuZi5zfSA5IH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2bXYu eC5zfSAyMCB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19leHRy YWN0LXJ1bi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC1ydW4uYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi41MzRlYjE5ZjYx Mw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfZXh0cmFjdC1y dW4uYw0KQEAgLTAsMCArMSwyMzAgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLw0KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItc3RkPWM5OSAt bWFyY2g9cnY2NGdjdiIgfSAqLw0KKw0KKyNpbmNsdWRlIDxzdGRsaWIuaD4N CisjaW5jbHVkZSA8YXNzZXJ0Lmg+DQorDQorI2luY2x1ZGUgInZlY19leHRy YWN0LTEuYyINCisjaW5jbHVkZSAidmVjX2V4dHJhY3QtMi5jIg0KKyNpbmNs dWRlICJ2ZWNfZXh0cmFjdC0zLmMiDQorI2luY2x1ZGUgInZlY19leHRyYWN0 LTQuYyINCisNCisjZGVmaW5lIENIRUNLKFMsIFYsIElEWCkgXA0KK3ZvaWQg Y2hlY2tfIyNWIyNfIyNJRFggKCkgXA0KKyAgeyBcDQorICAgIFYgdjsgXA0K KyAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZiAoVikgLyBzaXplb2Yg KFMpOyBpKyspIFwNCisgICAgICB2W2ldID0gaTsgXA0KKyAgICBTIHJlcyA9 IHZlY19leHRyYWN0XyMjViMjXyMjSURYICh2KTsgXA0KKyAgICBhc3NlcnQg KHJlcyA9PSB2W0lEWF0pOyBcDQorICB9DQorDQorI2RlZmluZSBDSEVDS19B TEwoVCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MmRpLCAwKSBcDQorICBUIChp bnQ2NF90LCB2bngyZGksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwg MCkgXA0KKyAgVCAoaW50MzJfdCwgdm54NHNpLCAxKSBcDQorICBUIChpbnQz Ml90LCB2bng0c2ksIDMpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgMCkg XA0KKyAgVCAoaW50MTZfdCwgdm54OGhpLCAyKSBcDQorICBUIChpbnQxNl90 LCB2bng4aGksIDYpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMCkgXA0K KyAgVCAoaW50OF90LCB2bngxNnFpLCAxKSBcDQorICBUIChpbnQ4X3QsIHZu eDE2cWksIDcpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMTEpIFwNCisg IFQgKGludDhfdCwgdm54MTZxaSwgMTUpIFwNCisgIFQgKGZsb2F0LCB2bng4 c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDEpIFwNCisgIFQgKGZs b2F0LCB2bng4c2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2bng4c2YsIDQpIFwN CisgIFQgKGZsb2F0LCB2bng4c2YsIDcpIFwNCisgIFQgKGRvdWJsZSwgdm54 NGRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMSkgXA0KKyAgVCAo ZG91YmxlLCB2bng0ZGYsIDIpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAz KSBcDQorICBUIChpbnQ2NF90LCB2bng0ZGksIDApIFwNCisgIFQgKGludDY0 X3QsIHZueDRkaSwgMSkgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAyKSBc DQorICBUIChpbnQ2NF90LCB2bng0ZGksIDMpIFwNCisgIFQgKGludDMyX3Qs IHZueDhzaSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAxKSBcDQor ICBUIChpbnQzMl90LCB2bng4c2ksIDMpIFwNCisgIFQgKGludDMyX3QsIHZu eDhzaSwgNCkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCA3KSBcDQorICBU IChpbnQxNl90LCB2bngxNmhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bngx NmhpLCAxKSBcDQorICBUIChpbnQxNl90LCB2bngxNmhpLCA3KSBcDQorICBU IChpbnQxNl90LCB2bngxNmhpLCA4KSBcDQorICBUIChpbnQxNl90LCB2bngx NmhpLCAxNSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAwKSBcDQorICBU IChpbnQ4X3QsIHZueDMycWksIDEpIFwNCisgIFQgKGludDhfdCwgdm54MzJx aSwgMTUpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMTYpIFwNCisgIFQg KGludDhfdCwgdm54MzJxaSwgMzEpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNm LCAwKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgMikgXA0KKyAgVCAoZmxv YXQsIHZueDE2c2YsIDYpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCA4KSBc DQorICBUIChmbG9hdCwgdm54MTZzZiwgMTQpIFwNCisgIFQgKGRvdWJsZSwg dm54OGRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgMikgXA0KKyAg VCAoZG91YmxlLCB2bng4ZGYsIDQpIFwNCisgIFQgKGRvdWJsZSwgdm54OGRm LCA2KSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDApIFwNCisgIFQgKGlu dDY0X3QsIHZueDhkaSwgMikgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCA0 KSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDYpIFwNCisgIFQgKGludDMy X3QsIHZueDE2c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDIp IFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDYpIFwNCisgIFQgKGludDMy X3QsIHZueDE2c2ksIDgpIFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDE0 KSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAwKSBcDQorICBUIChpbnQx Nl90LCB2bngzMmhpLCAyKSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAx NCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMTYpIFwNCisgIFQgKGlu dDE2X3QsIHZueDMyaGksIDMwKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWks IDApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMikgXA0KKyAgVCAoaW50 OF90LCB2bng2NHFpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAz MikgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCA2MykgXA0KKyAgVCAoZmxv YXQsIHZueDMyc2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAzKSBc DQorICBUIChmbG9hdCwgdm54MzJzZiwgMTIpIFwNCisgIFQgKGZsb2F0LCB2 bngzMnNmLCAxNykgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDE0KSBcDQor ICBUIChkb3VibGUsIHZueDE2ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54 MTZkZiwgNCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCA4KSBcDQorICBU IChkb3VibGUsIHZueDE2ZGYsIDEyKSBcDQorICBUIChpbnQ2NF90LCB2bngx NmRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2bngxNmRpLCA0KSBcDQorICBU IChpbnQ2NF90LCB2bngxNmRpLCA4KSBcDQorICBUIChpbnQ2NF90LCB2bngx NmRpLCAxMikgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMCkgXA0KKyAg VCAoaW50MzJfdCwgdm54MzJzaSwgNCkgXA0KKyAgVCAoaW50MzJfdCwgdm54 MzJzaSwgMTIpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDE2KSBcDQor ICBUIChpbnQzMl90LCB2bngzMnNpLCAyOCkgXA0KKyAgVCAoaW50MTZfdCwg dm54NjRoaSwgMCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgNCkgXA0K KyAgVCAoaW50MTZfdCwgdm54NjRoaSwgMjgpIFwNCisgIFQgKGludDE2X3Qs IHZueDY0aGksIDMyKSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCA2MCkg XA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMCkgXA0KKyAgVCAoaW50OF90 LCB2bngxMjhxaSwgNCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMzAp IFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDYwKSBcDQorICBUIChpbnQ4 X3QsIHZueDEyOHFpLCA2NCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwg MTI3KSBcDQorDQorQ0hFQ0tfQUxMIChDSEVDSykNCisNCisjZGVmaW5lIFJV TihTLCBWLCBJRFgpIFwNCisgIGNoZWNrXyMjViMjXyMjSURYICgpOw0KKw0K KyNkZWZpbmUgUlVOX0FMTChUKSBcDQorICBUIChpbnQ2NF90LCB2bngyZGks IDApIFwNCisgIFQgKGludDY0X3QsIHZueDJkaSwgMSkgXA0KKyAgVCAoaW50 MzJfdCwgdm54NHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bng0c2ksIDEp IFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMykgXA0KKyAgVCAoaW50MTZf dCwgdm54OGhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2bng4aGksIDIpIFwN CisgIFQgKGludDE2X3QsIHZueDhoaSwgNikgXA0KKyAgVCAoaW50OF90LCB2 bngxNnFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDEpIFwNCisg IFQgKGludDhfdCwgdm54MTZxaSwgNykgXA0KKyAgVCAoaW50OF90LCB2bngx NnFpLCAxMSkgXA0KKyAgVCAoaW50OF90LCB2bngxNnFpLCAxNSkgXA0KKyAg VCAoZmxvYXQsIHZueDhzZiwgMCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwg MSkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgMykgXA0KKyAgVCAoZmxvYXQs IHZueDhzZiwgNCkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgNykgXA0KKyAg VCAoZG91YmxlLCB2bng0ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54NGRm LCAxKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMikgXA0KKyAgVCAoZG91 YmxlLCB2bng0ZGYsIDMpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMCkg XA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAxKSBcDQorICBUIChpbnQ2NF90 LCB2bng0ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMykgXA0K KyAgVCAoaW50MzJfdCwgdm54OHNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2 bng4c2ksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMykgXA0KKyAg VCAoaW50MzJfdCwgdm54OHNpLCA0KSBcDQorICBUIChpbnQzMl90LCB2bng4 c2ksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDApIFwNCisgIFQg KGludDE2X3QsIHZueDE2aGksIDEpIFwNCisgIFQgKGludDE2X3QsIHZueDE2 aGksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDgpIFwNCisgIFQg KGludDE2X3QsIHZueDE2aGksIDE1KSBcDQorICBUIChpbnQ4X3QsIHZueDMy cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMSkgXA0KKyAgVCAo aW50OF90LCB2bngzMnFpLCAxNSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFp LCAxNikgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAzMSkgXA0KKyAgVCAo ZmxvYXQsIHZueDE2c2YsIDApIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAy KSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgNikgXA0KKyAgVCAoZmxvYXQs IHZueDE2c2YsIDgpIFwNCisgIFQgKGZsb2F0LCB2bngxNnNmLCAxNCkgXA0K KyAgVCAoZG91YmxlLCB2bng4ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54 OGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZueDhkZiwgNCkgXA0KKyAgVCAo ZG91YmxlLCB2bng4ZGYsIDYpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwg MCkgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCAyKSBcDQorICBUIChpbnQ2 NF90LCB2bng4ZGksIDQpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNikg XA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMCkgXA0KKyAgVCAoaW50MzJf dCwgdm54MTZzaSwgMikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgNikg XA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgOCkgXA0KKyAgVCAoaW50MzJf dCwgdm54MTZzaSwgMTQpIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDAp IFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDIpIFwNCisgIFQgKGludDE2 X3QsIHZueDMyaGksIDE0KSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAx NikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMzApIFwNCisgIFQgKGlu dDhfdCwgdm54NjRxaSwgMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAy KSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDMwKSBcDQorICBUIChpbnQ4 X3QsIHZueDY0cWksIDMyKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDYz KSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwgMCkgXA0KKyAgVCAoZmxvYXQs IHZueDMyc2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAxMikgXA0K KyAgVCAoZmxvYXQsIHZueDMyc2YsIDE3KSBcDQorICBUIChmbG9hdCwgdm54 MzJzZiwgMTQpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgMCkgXA0KKyAg VCAoZG91YmxlLCB2bngxNmRmLCA0KSBcDQorICBUIChkb3VibGUsIHZueDE2 ZGYsIDgpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgMTIpIFwNCisgIFQg KGludDY0X3QsIHZueDE2ZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDE2 ZGksIDQpIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDgpIFwNCisgIFQg KGludDY0X3QsIHZueDE2ZGksIDEyKSBcDQorICBUIChpbnQzMl90LCB2bngz MnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCA0KSBcDQorICBU IChpbnQzMl90LCB2bngzMnNpLCAxMikgXA0KKyAgVCAoaW50MzJfdCwgdm54 MzJzaSwgMTYpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDI4KSBcDQor ICBUIChpbnQxNl90LCB2bng2NGhpLCAwKSBcDQorICBUIChpbnQxNl90LCB2 bng2NGhpLCA0KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCAyOCkgXA0K KyAgVCAoaW50MTZfdCwgdm54NjRoaSwgMzIpIFwNCisgIFQgKGludDE2X3Qs IHZueDY0aGksIDYwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAwKSBc DQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA0KSBcDQorICBUIChpbnQ4X3Qs IHZueDEyOHFpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgNjAp IFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDY0KSBcDQorICBUIChpbnQ4 X3QsIHZueDEyOHFpLCAxMjcpIFwNCisNCitpbnQgbWFpbiAoKQ0KK3sNCisg IFJVTl9BTEwgKFJVTik7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMtdmxtYXgvdmVj X3NldC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMS5jDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjdhY2FiNWE2OTE4DQotLS0g L2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMS5jDQpAQCAtMCww ICsxLDUyIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRn LWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jOTkgLW1hcmNoPXJ2NjRnY3Yi IH0gKi8NCisNCisjaW5jbHVkZSA8c3RkaW50LWdjYy5oPg0KKw0KK3R5cGVk ZWYgaW50NjRfdCB2bngyZGkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUg KDE2KSkpOw0KK3R5cGVkZWYgaW50MzJfdCB2bng0c2kgX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUgKDE2KSkpOw0KK3R5cGVkZWYgaW50MTZfdCB2bng4 aGkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDE2KSkpOw0KK3R5cGVk ZWYgaW50OF90IHZueDE2cWkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUg KDE2KSkpOw0KK3R5cGVkZWYgZG91YmxlIHZueDJkZiBfX2F0dHJpYnV0ZV9f KCh2ZWN0b3Jfc2l6ZSAoMTYpKSk7DQordHlwZWRlZiBmbG9hdCB2bng0c2Yg X19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDE2KSkpOw0KKw0KKyNkZWZp bmUgVkVDX1NFVChTLFYsSURYKSBcDQorICBWIFwNCisgIF9fYXR0cmlidXRl X18oKG5vaXBhKSkgXA0KKyAgdmVjX3NldF8jI1YjI18jI0lEWCAoViB2LCBT IHMpIFwNCisgIHsgXA0KKyAgICB2W0lEWF0gPSBzOyBcDQorICAgIHJldHVy biB2OyBcDQorICB9DQorDQorI2RlZmluZSBURVNUX0FMTDEoVCkgXA0KKyAg VCAoaW50NjRfdCwgdm54MmRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2bngy ZGksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMCkgXA0KKyAgVCAo aW50MzJfdCwgdm54NHNpLCAxKSBcDQorICBUIChpbnQzMl90LCB2bng0c2ks IDMpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgMCkgXA0KKyAgVCAoaW50 MTZfdCwgdm54OGhpLCAyKSBcDQorICBUIChpbnQxNl90LCB2bng4aGksIDYp IFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgMCkgXA0KKyAgVCAoaW50OF90 LCB2bngxNnFpLCAxKSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDcpIFwN CisgIFQgKGludDhfdCwgdm54MTZxaSwgMTEpIFwNCisgIFQgKGludDhfdCwg dm54MTZxaSwgMTUpIFwNCisgIFQgKGZsb2F0LCB2bng0c2YsIDApIFwNCisg IFQgKGZsb2F0LCB2bng0c2YsIDEpIFwNCisgIFQgKGZsb2F0LCB2bng0c2Ys IDMpIFwNCisgIFQgKGRvdWJsZSwgdm54MmRmLCAwKSBcDQorICBUIChkb3Vi bGUsIHZueDJkZiwgMSkgXA0KKw0KK1RFU1RfQUxMMSAoVkVDX1NFVCkNCisN CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRb aV0qdmxpXHMrW2EtejAtOSxdKyxccyplWzEtOF0rLFxzKm0xLFxzKnRhLFxz Km1hfSA2IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmVbMS04XSss XHMqbTEsXHMqdHUsXHMqbWF9IDEyIH0gfSAqLw0KKw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2bXYudi54fSA5IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2 Zm12LnYuZn0gMyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge1x0dnNsaWRldXAudml9IDEyIH0gfSAqLw0KKw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnMu Zn0gMiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge1x0dm12LnMueH0gNCB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZs bWF4L3ZlY19zZXQtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTIuYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi42ZDI5ZmM3MzU0 ZQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTIuYw0K QEAgLTAsMCArMSw2MiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1zdGQ9Yzk5IC1tYXJjaD1y djY0Z2N2IiB9ICovDQorDQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisN Cit0eXBlZGVmIGludDY0X3Qgdm54NGRpIF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplICgzMikpKTsNCit0eXBlZGVmIGludDMyX3Qgdm54OHNpIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsNCit0eXBlZGVmIGludDE2 X3Qgdm54MTZoaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMzIpKSk7 DQordHlwZWRlZiBpbnQ4X3Qgdm54MzJxaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0 b3Jfc2l6ZSAoMzIpKSk7DQordHlwZWRlZiBkb3VibGUgdm54NGRmIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICgzMikpKTsNCit0eXBlZGVmIGZsb2F0 IHZueDhzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMzIpKSk7DQor DQorI2RlZmluZSBWRUNfU0VUKFMsVixJRFgpIFwNCisgIFYgXA0KKyAgX19h dHRyaWJ1dGVfXygobm9pcGEpKSBcDQorICB2ZWNfc2V0XyMjViMjXyMjSURY IChWIHYsIFMgcykgXA0KKyAgeyBcDQorICAgIHZbSURYXSA9IHM7IFwNCisg ICAgcmV0dXJuIHY7IFwNCisgIH0NCisNCisjZGVmaW5lIFRFU1RfQUxMMihU KSBcDQorICBUIChmbG9hdCwgdm54OHNmLCAwKSBcDQorICBUIChmbG9hdCwg dm54OHNmLCAxKSBcDQorICBUIChmbG9hdCwgdm54OHNmLCAzKSBcDQorICBU IChmbG9hdCwgdm54OHNmLCA0KSBcDQorICBUIChmbG9hdCwgdm54OHNmLCA3 KSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMCkgXA0KKyAgVCAoZG91Ymxl LCB2bng0ZGYsIDEpIFwNCisgIFQgKGRvdWJsZSwgdm54NGRmLCAyKSBcDQor ICBUIChkb3VibGUsIHZueDRkZiwgMykgXA0KKyAgVCAoaW50NjRfdCwgdm54 NGRpLCAwKSBcDQorICBUIChpbnQ2NF90LCB2bng0ZGksIDEpIFwNCisgIFQg KGludDY0X3QsIHZueDRkaSwgMikgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRp LCAzKSBcDQorICBUIChpbnQzMl90LCB2bng4c2ksIDApIFwNCisgIFQgKGlu dDMyX3QsIHZueDhzaSwgMSkgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAz KSBcDQorICBUIChpbnQzMl90LCB2bng4c2ksIDQpIFwNCisgIFQgKGludDMy X3QsIHZueDhzaSwgNykgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMCkg XA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMSkgXA0KKyAgVCAoaW50MTZf dCwgdm54MTZoaSwgNykgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgOCkg XA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgMTUpIFwNCisgIFQgKGludDhf dCwgdm54MzJxaSwgMCkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAxKSBc DQorICBUIChpbnQ4X3QsIHZueDMycWksIDE1KSBcDQorICBUIChpbnQ4X3Qs IHZueDMycWksIDE2KSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDMxKSBc DQorDQorVEVTVF9BTEwyIChWRUNfU0VUKQ0KKw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05 LF0rLFxzKmVbMS04XSssXHMqbTIsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ld KnZsaVxzK1thLXowLTksXSssXHMqZVsxLThdKyxccyptMixccyp0dSxccypt YX0gMjIgfSB9ICovDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHtcdHZtdi52Lnh9IDE1IH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnYuZn0gNyB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0 dnNsaWRldXAudml9IDIyIH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnMuZn0gMiB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dm12LnMu eH0gNCB9IH0gKi8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtMy5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3Zscy12bG1heC92ZWNfc2V0LTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi5hNWRmMjk0ZjcxYg0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LTMuYw0KQEAgLTAsMCArMSw2MyBA QA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1hZGRpdGlv bmFsLW9wdGlvbnMgIi1zdGQ9Yzk5IC1tYXJjaD1ydjY0Z2N2IiB9ICovDQor DQorI2luY2x1ZGUgPHN0ZGludC1nY2MuaD4NCisNCit0eXBlZGVmIGludDY0 X3Qgdm54OGRpIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkpKTsN Cit0eXBlZGVmIGludDMyX3Qgdm54MTZzaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0 b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBpbnQxNl90IHZueDMyaGkgX19h dHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDY0KSkpOw0KK3R5cGVkZWYgaW50 OF90IHZueDY0cWkgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDY0KSkp Ow0KK3R5cGVkZWYgZG91YmxlIHZueDhkZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0 b3Jfc2l6ZSAoNjQpKSk7DQordHlwZWRlZiBmbG9hdCB2bngxNnNmIF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplICg2NCkpKTsNCisNCisjZGVmaW5lIFZF Q19TRVQoUyxWLElEWCkgXA0KKyAgViBcDQorICBfX2F0dHJpYnV0ZV9fKChu b2lwYSkpIFwNCisgIHZlY19zZXRfIyNWIyNfIyNJRFggKFYgdiwgUyBzKSBc DQorICB7IFwNCisgICAgdltJRFhdID0gczsgXA0KKyAgICByZXR1cm4gdjsg XA0KKyAgfQ0KKw0KKyNkZWZpbmUgVEVTVF9BTEwzKFQpIFwNCisgIFQgKGZs b2F0LCB2bngxNnNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgMikg XA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDYpIFwNCisgIFQgKGZsb2F0LCB2 bngxNnNmLCA4KSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgMTQpIFwNCisg IFQgKGRvdWJsZSwgdm54OGRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDhk ZiwgMikgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDQpIFwNCisgIFQgKGRv dWJsZSwgdm54OGRmLCA2KSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDAp IFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgMikgXA0KKyAgVCAoaW50NjRf dCwgdm54OGRpLCA0KSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDYpIFwN CisgIFQgKGludDMyX3QsIHZueDE2c2ksIDApIFwNCisgIFQgKGludDMyX3Qs IHZueDE2c2ksIDIpIFwNCisgIFQgKGludDMyX3QsIHZueDE2c2ksIDYpIFwN CisgIFQgKGludDMyX3QsIHZueDE2c2ksIDgpIFwNCisgIFQgKGludDMyX3Qs IHZueDE2c2ksIDE0KSBcDQorICBUIChpbnQxNl90LCB2bngzMmhpLCAwKSBc DQorICBUIChpbnQxNl90LCB2bngzMmhpLCAyKSBcDQorICBUIChpbnQxNl90 LCB2bngzMmhpLCAxNCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMTYp IFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDMwKSBcDQorICBUIChpbnQ4 X3QsIHZueDY0cWksIDApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMikg XA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAzMCkgXA0KKyAgVCAoaW50OF90 LCB2bng2NHFpLCAzMikgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCA2Mykg XA0KKw0KK1RFU1RfQUxMMyAoVkVDX1NFVCkNCisNCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXRbaV0qdmxpXHMrW2EtejAt OSxdKyxccyplWzEtOF0rLFxzKm00LFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldFtp XSp2bGlccytbYS16MC05LF0rLFxzKmVbMS04XSssXHMqbTQsXHMqdHUsXHMq bWF9IDIyIH0gfSAqLw0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7XHR2bXYudi54fSAxNSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi52LmZ9IDcgfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtc dHZzbGlkZXVwLnZpfSAyMCB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge1x0dnNsaWRldXAudnh9IDIgfSB9ICovDQor DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHtcdHZm bXYucy5mfSAyIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7XHR2bXYucy54fSA0IH0gfSAqLw0KZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92 bHMtdmxtYXgvdmVjX3NldC00LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtNC5jDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjRkMTRj N2Q2ZWU3DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQt NC5jDQpAQCAtMCwwICsxLDY0IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jOTkgLW1h cmNoPXJ2NjRnY3YiIH0gKi8NCisNCisjaW5jbHVkZSA8c3RkaW50LWdjYy5o Pg0KKw0KK3R5cGVkZWYgaW50NjRfdCB2bngxNmRpIF9fYXR0cmlidXRlX18o KHZlY3Rvcl9zaXplICgxMjgpKSk7DQordHlwZWRlZiBpbnQzMl90IHZueDMy c2kgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUgKDEyOCkpKTsNCit0eXBl ZGVmIGludDE2X3Qgdm54NjRoaSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6 ZSAoMTI4KSkpOw0KK3R5cGVkZWYgaW50OF90IHZueDEyOHFpIF9fYXR0cmli dXRlX18oKHZlY3Rvcl9zaXplICgxMjgpKSk7DQordHlwZWRlZiBkb3VibGUg dm54MTZkZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoMTI4KSkpOw0K K3R5cGVkZWYgZmxvYXQgdm54MzJzZiBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jf c2l6ZSAoMTI4KSkpOw0KKw0KKyNkZWZpbmUgVkVDX1NFVChTLFYsSURYKSBc DQorICBWIFwNCisgIF9fYXR0cmlidXRlX18oKG5vaXBhKSkgXA0KKyAgdmVj X3NldF8jI1YjI18jI0lEWCAoViB2LCBTIHMpIFwNCisgIHsgXA0KKyAgICB2 W0lEWF0gPSBzOyBcDQorICAgIHJldHVybiB2OyBcDQorICB9DQorDQorI2Rl ZmluZSBURVNUX0FMTDQoVCkgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDAp IFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAzKSBcDQorICBUIChmbG9hdCwg dm54MzJzZiwgMTIpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAxNykgXA0K KyAgVCAoZmxvYXQsIHZueDMyc2YsIDE0KSBcDQorICBUIChkb3VibGUsIHZu eDE2ZGYsIDApIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgNCkgXA0KKyAg VCAoZG91YmxlLCB2bngxNmRmLCA4KSBcDQorICBUIChkb3VibGUsIHZueDE2 ZGYsIDEyKSBcDQorICBUIChpbnQ2NF90LCB2bngxNmRpLCAwKSBcDQorICBU IChpbnQ2NF90LCB2bngxNmRpLCA0KSBcDQorICBUIChpbnQ2NF90LCB2bngx NmRpLCA4KSBcDQorICBUIChpbnQ2NF90LCB2bngxNmRpLCAxMikgXA0KKyAg VCAoaW50MzJfdCwgdm54MzJzaSwgMCkgXA0KKyAgVCAoaW50MzJfdCwgdm54 MzJzaSwgNCkgXA0KKyAgVCAoaW50MzJfdCwgdm54MzJzaSwgMTIpIFwNCisg IFQgKGludDMyX3QsIHZueDMyc2ksIDE2KSBcDQorICBUIChpbnQzMl90LCB2 bngzMnNpLCAyOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgMCkgXA0K KyAgVCAoaW50MTZfdCwgdm54NjRoaSwgNCkgXA0KKyAgVCAoaW50MTZfdCwg dm54NjRoaSwgMjgpIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDMyKSBc DQorICBUIChpbnQxNl90LCB2bng2NGhpLCA2MCkgXA0KKyAgVCAoaW50OF90 LCB2bngxMjhxaSwgMCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgNCkg XA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMzApIFwNCisgIFQgKGludDhf dCwgdm54MTI4cWksIDYwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA2 NCkgXA0KKyAgVCAoaW50OF90LCB2bngxMjhxaSwgMTI3KSBcDQorDQorVEVT VF9BTEw0IChWRUNfU0VUKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldFtpXSp2bGlccytbYS16MC05LF0rLFxzKmVb MS04XSssXHMqbTgsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0W2ldKnZsaVxzK1th LXowLTksXSssXHMqZVsxLThdKyxccyptOCxccyp0dSxccyptYX0gMjMgfSB9 ICovDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtcdHZtdi52Lnh9IDE2IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7XHR2Zm12LnYuZn0gNyB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dnNsaWRldXAu dml9IDE4IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7XHR2c2xpZGV1cC52eH0gNSB9IH0gKi8NCisNCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge1x0dmZtdi5zLmZ9IDIg fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHtcdHZtdi5zLnh9IDQgfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy12bG1heC92 ZWNfc2V0LXJ1bi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy12bG1heC92ZWNfc2V0LXJ1bi5jDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjg1MDBjYzdiMDI5 DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdmxzLXZsbWF4L3ZlY19zZXQtcnVuLmMN CkBAIC0wLDAgKzEsMjMwIEBADQorLyogeyBkZy1kbyBydW4gfSAqLw0KKy8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItc3RkPWM5OSAtbWFyY2g9cnY2 NGdjdiIgfSAqLw0KKw0KKyNpbmNsdWRlIDxhc3NlcnQuaD4NCisNCisjaW5j bHVkZSAidmVjX3NldC0xLmMiDQorI2luY2x1ZGUgInZlY19zZXQtMi5jIg0K KyNpbmNsdWRlICJ2ZWNfc2V0LTMuYyINCisjaW5jbHVkZSAidmVjX3NldC00 LmMiDQorDQorI2RlZmluZSBDSEVDSyhTLCBWLCBJRFgpIFwNCit2b2lkIGNo ZWNrXyMjViMjXyMjSURYICgpIFwNCisgIHsgXA0KKyAgICBWIHY7IFwNCisg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YgKFYpIC8gc2l6ZW9mIChT KTsgaSsrKSBcDQorICAgICAgdltpXSA9IGk7IFwNCisgICAgViByZXMgPSB2 ZWNfc2V0XyMjViMjXyMjSURYICh2LCA3Nyk7IFwNCisgICAgZm9yIChpbnQg aSA9IDA7IGkgPCBzaXplb2YgKFYpIC8gc2l6ZW9mIChTKTsgaSsrKSBcDQor ICAgICAgYXNzZXJ0IChyZXNbaV0gPT0gKGkgPT0gSURYID8gNzcgOiBpKSk7 IFwNCisgIH0NCisNCisjZGVmaW5lIENIRUNLX0FMTChUKSBcDQorICBUIChp bnQ2NF90LCB2bngyZGksIDApIFwNCisgIFQgKGludDY0X3QsIHZueDJkaSwg MSkgXA0KKyAgVCAoaW50MzJfdCwgdm54NHNpLCAwKSBcDQorICBUIChpbnQz Ml90LCB2bng0c2ksIDEpIFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMykg XA0KKyAgVCAoaW50MTZfdCwgdm54OGhpLCAwKSBcDQorICBUIChpbnQxNl90 LCB2bng4aGksIDIpIFwNCisgIFQgKGludDE2X3QsIHZueDhoaSwgNikgXA0K KyAgVCAoaW50OF90LCB2bngxNnFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZu eDE2cWksIDEpIFwNCisgIFQgKGludDhfdCwgdm54MTZxaSwgNykgXA0KKyAg VCAoaW50OF90LCB2bngxNnFpLCAxMSkgXA0KKyAgVCAoaW50OF90LCB2bngx NnFpLCAxNSkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgMCkgXA0KKyAgVCAo ZmxvYXQsIHZueDhzZiwgMSkgXA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgMykg XA0KKyAgVCAoZmxvYXQsIHZueDhzZiwgNCkgXA0KKyAgVCAoZmxvYXQsIHZu eDhzZiwgNykgXA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDApIFwNCisgIFQg KGRvdWJsZSwgdm54NGRmLCAxKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwg MikgXA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDMpIFwNCisgIFQgKGludDY0 X3QsIHZueDRkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAxKSBc DQorICBUIChpbnQ2NF90LCB2bng0ZGksIDIpIFwNCisgIFQgKGludDY0X3Qs IHZueDRkaSwgMykgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCAwKSBcDQor ICBUIChpbnQzMl90LCB2bng4c2ksIDEpIFwNCisgIFQgKGludDMyX3QsIHZu eDhzaSwgMykgXA0KKyAgVCAoaW50MzJfdCwgdm54OHNpLCA0KSBcDQorICBU IChpbnQzMl90LCB2bng4c2ksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2 aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDEpIFwNCisgIFQg KGludDE2X3QsIHZueDE2aGksIDcpIFwNCisgIFQgKGludDE2X3QsIHZueDE2 aGksIDgpIFwNCisgIFQgKGludDE2X3QsIHZueDE2aGksIDE1KSBcDQorICBU IChpbnQ4X3QsIHZueDMycWksIDApIFwNCisgIFQgKGludDhfdCwgdm54MzJx aSwgMSkgXA0KKyAgVCAoaW50OF90LCB2bngzMnFpLCAxNSkgXA0KKyAgVCAo aW50OF90LCB2bngzMnFpLCAxNikgXA0KKyAgVCAoaW50OF90LCB2bngzMnFp LCAzMSkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDApIFwNCisgIFQgKGZs b2F0LCB2bngxNnNmLCAyKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgNikg XA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDgpIFwNCisgIFQgKGZsb2F0LCB2 bngxNnNmLCAxNCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDApIFwNCisg IFQgKGRvdWJsZSwgdm54OGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZueDhk ZiwgNCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDYpIFwNCisgIFQgKGlu dDY0X3QsIHZueDhkaSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCAy KSBcDQorICBUIChpbnQ2NF90LCB2bng4ZGksIDQpIFwNCisgIFQgKGludDY0 X3QsIHZueDhkaSwgNikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMCkg XA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMikgXA0KKyAgVCAoaW50MzJf dCwgdm54MTZzaSwgNikgXA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgOCkg XA0KKyAgVCAoaW50MzJfdCwgdm54MTZzaSwgMTQpIFwNCisgIFQgKGludDE2 X3QsIHZueDMyaGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDIp IFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDE0KSBcDQorICBUIChpbnQx Nl90LCB2bngzMmhpLCAxNikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwg MzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMCkgXA0KKyAgVCAoaW50 OF90LCB2bng2NHFpLCAyKSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDMw KSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDMyKSBcDQorICBUIChpbnQ4 X3QsIHZueDY0cWksIDYzKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwgMCkg XA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDMpIFwNCisgIFQgKGZsb2F0LCB2 bngzMnNmLCAxMikgXA0KKyAgVCAoZmxvYXQsIHZueDMyc2YsIDE3KSBcDQor ICBUIChmbG9hdCwgdm54MzJzZiwgMTQpIFwNCisgIFQgKGRvdWJsZSwgdm54 MTZkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bngxNmRmLCA0KSBcDQorICBU IChkb3VibGUsIHZueDE2ZGYsIDgpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZk ZiwgMTIpIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDApIFwNCisgIFQg KGludDY0X3QsIHZueDE2ZGksIDQpIFwNCisgIFQgKGludDY0X3QsIHZueDE2 ZGksIDgpIFwNCisgIFQgKGludDY0X3QsIHZueDE2ZGksIDEyKSBcDQorICBU IChpbnQzMl90LCB2bngzMnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bngz MnNpLCA0KSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAxMikgXA0KKyAg VCAoaW50MzJfdCwgdm54MzJzaSwgMTYpIFwNCisgIFQgKGludDMyX3QsIHZu eDMyc2ksIDI4KSBcDQorICBUIChpbnQxNl90LCB2bng2NGhpLCAwKSBcDQor ICBUIChpbnQxNl90LCB2bng2NGhpLCA0KSBcDQorICBUIChpbnQxNl90LCB2 bng2NGhpLCAyOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgMzIpIFwN CisgIFQgKGludDE2X3QsIHZueDY0aGksIDYwKSBcDQorICBUIChpbnQ4X3Qs IHZueDEyOHFpLCAwKSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA0KSBc DQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAzMCkgXA0KKyAgVCAoaW50OF90 LCB2bngxMjhxaSwgNjApIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDY0 KSBcDQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCAxMjcpIFwNCisNCitDSEVD S19BTEwgKENIRUNLKQ0KKw0KKyNkZWZpbmUgUlVOKFMsIFYsIElEWCkgXA0K KyAgY2hlY2tfIyNWIyNfIyNJRFggKCk7DQorDQorI2RlZmluZSBSVU5fQUxM KFQpIFwNCisgIFQgKGludDY0X3QsIHZueDJkaSwgMCkgXA0KKyAgVCAoaW50 NjRfdCwgdm54MmRpLCAxKSBcDQorICBUIChpbnQzMl90LCB2bng0c2ksIDAp IFwNCisgIFQgKGludDMyX3QsIHZueDRzaSwgMSkgXA0KKyAgVCAoaW50MzJf dCwgdm54NHNpLCAzKSBcDQorICBUIChpbnQxNl90LCB2bng4aGksIDApIFwN CisgIFQgKGludDE2X3QsIHZueDhoaSwgMikgXA0KKyAgVCAoaW50MTZfdCwg dm54OGhpLCA2KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDApIFwNCisg IFQgKGludDhfdCwgdm54MTZxaSwgMSkgXA0KKyAgVCAoaW50OF90LCB2bngx NnFpLCA3KSBcDQorICBUIChpbnQ4X3QsIHZueDE2cWksIDExKSBcDQorICBU IChpbnQ4X3QsIHZueDE2cWksIDE1KSBcDQorICBUIChmbG9hdCwgdm54OHNm LCAwKSBcDQorICBUIChmbG9hdCwgdm54OHNmLCAxKSBcDQorICBUIChmbG9h dCwgdm54OHNmLCAzKSBcDQorICBUIChmbG9hdCwgdm54OHNmLCA0KSBcDQor ICBUIChmbG9hdCwgdm54OHNmLCA3KSBcDQorICBUIChkb3VibGUsIHZueDRk ZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bng0ZGYsIDEpIFwNCisgIFQgKGRv dWJsZSwgdm54NGRmLCAyKSBcDQorICBUIChkb3VibGUsIHZueDRkZiwgMykg XA0KKyAgVCAoaW50NjRfdCwgdm54NGRpLCAwKSBcDQorICBUIChpbnQ2NF90 LCB2bng0ZGksIDEpIFwNCisgIFQgKGludDY0X3QsIHZueDRkaSwgMikgXA0K KyAgVCAoaW50NjRfdCwgdm54NGRpLCAzKSBcDQorICBUIChpbnQzMl90LCB2 bng4c2ksIDApIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgMSkgXA0KKyAg VCAoaW50MzJfdCwgdm54OHNpLCAzKSBcDQorICBUIChpbnQzMl90LCB2bng4 c2ksIDQpIFwNCisgIFQgKGludDMyX3QsIHZueDhzaSwgNykgXA0KKyAgVCAo aW50MTZfdCwgdm54MTZoaSwgMCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZo aSwgMSkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZoaSwgNykgXA0KKyAgVCAo aW50MTZfdCwgdm54MTZoaSwgOCkgXA0KKyAgVCAoaW50MTZfdCwgdm54MTZo aSwgMTUpIFwNCisgIFQgKGludDhfdCwgdm54MzJxaSwgMCkgXA0KKyAgVCAo aW50OF90LCB2bngzMnFpLCAxKSBcDQorICBUIChpbnQ4X3QsIHZueDMycWks IDE1KSBcDQorICBUIChpbnQ4X3QsIHZueDMycWksIDE2KSBcDQorICBUIChp bnQ4X3QsIHZueDMycWksIDMxKSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwg MCkgXA0KKyAgVCAoZmxvYXQsIHZueDE2c2YsIDIpIFwNCisgIFQgKGZsb2F0 LCB2bngxNnNmLCA2KSBcDQorICBUIChmbG9hdCwgdm54MTZzZiwgOCkgXA0K KyAgVCAoZmxvYXQsIHZueDE2c2YsIDE0KSBcDQorICBUIChkb3VibGUsIHZu eDhkZiwgMCkgXA0KKyAgVCAoZG91YmxlLCB2bng4ZGYsIDIpIFwNCisgIFQg KGRvdWJsZSwgdm54OGRmLCA0KSBcDQorICBUIChkb3VibGUsIHZueDhkZiwg NikgXA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCAwKSBcDQorICBUIChpbnQ2 NF90LCB2bng4ZGksIDIpIFwNCisgIFQgKGludDY0X3QsIHZueDhkaSwgNCkg XA0KKyAgVCAoaW50NjRfdCwgdm54OGRpLCA2KSBcDQorICBUIChpbnQzMl90 LCB2bngxNnNpLCAwKSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAyKSBc DQorICBUIChpbnQzMl90LCB2bngxNnNpLCA2KSBcDQorICBUIChpbnQzMl90 LCB2bngxNnNpLCA4KSBcDQorICBUIChpbnQzMl90LCB2bngxNnNpLCAxNCkg XA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMCkgXA0KKyAgVCAoaW50MTZf dCwgdm54MzJoaSwgMikgXA0KKyAgVCAoaW50MTZfdCwgdm54MzJoaSwgMTQp IFwNCisgIFQgKGludDE2X3QsIHZueDMyaGksIDE2KSBcDQorICBUIChpbnQx Nl90LCB2bngzMmhpLCAzMCkgXA0KKyAgVCAoaW50OF90LCB2bng2NHFpLCAw KSBcDQorICBUIChpbnQ4X3QsIHZueDY0cWksIDIpIFwNCisgIFQgKGludDhf dCwgdm54NjRxaSwgMzApIFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgMzIp IFwNCisgIFQgKGludDhfdCwgdm54NjRxaSwgNjMpIFwNCisgIFQgKGZsb2F0 LCB2bngzMnNmLCAwKSBcDQorICBUIChmbG9hdCwgdm54MzJzZiwgMykgXA0K KyAgVCAoZmxvYXQsIHZueDMyc2YsIDEyKSBcDQorICBUIChmbG9hdCwgdm54 MzJzZiwgMTcpIFwNCisgIFQgKGZsb2F0LCB2bngzMnNmLCAxNCkgXA0KKyAg VCAoZG91YmxlLCB2bngxNmRmLCAwKSBcDQorICBUIChkb3VibGUsIHZueDE2 ZGYsIDQpIFwNCisgIFQgKGRvdWJsZSwgdm54MTZkZiwgOCkgXA0KKyAgVCAo ZG91YmxlLCB2bngxNmRmLCAxMikgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZk aSwgMCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZkaSwgNCkgXA0KKyAgVCAo aW50NjRfdCwgdm54MTZkaSwgOCkgXA0KKyAgVCAoaW50NjRfdCwgdm54MTZk aSwgMTIpIFwNCisgIFQgKGludDMyX3QsIHZueDMyc2ksIDApIFwNCisgIFQg KGludDMyX3QsIHZueDMyc2ksIDQpIFwNCisgIFQgKGludDMyX3QsIHZueDMy c2ksIDEyKSBcDQorICBUIChpbnQzMl90LCB2bngzMnNpLCAxNikgXA0KKyAg VCAoaW50MzJfdCwgdm54MzJzaSwgMjgpIFwNCisgIFQgKGludDE2X3QsIHZu eDY0aGksIDApIFwNCisgIFQgKGludDE2X3QsIHZueDY0aGksIDQpIFwNCisg IFQgKGludDE2X3QsIHZueDY0aGksIDI4KSBcDQorICBUIChpbnQxNl90LCB2 bng2NGhpLCAzMikgXA0KKyAgVCAoaW50MTZfdCwgdm54NjRoaSwgNjApIFwN CisgIFQgKGludDhfdCwgdm54MTI4cWksIDApIFwNCisgIFQgKGludDhfdCwg dm54MTI4cWksIDQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDMwKSBc DQorICBUIChpbnQ4X3QsIHZueDEyOHFpLCA2MCkgXA0KKyAgVCAoaW50OF90 LCB2bngxMjhxaSwgNjQpIFwNCisgIFQgKGludDhfdCwgdm54MTI4cWksIDEy NykgXA0KKw0KK2ludCBtYWluICgpDQorew0KKyAgUlVOX0FMTCAoUlVOKTsN Cit9DQotLSANCjIuNDAuMQ0KIA0KIA0K ------=_001_NextPart557118172141_=------