<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>136217</bug_id>
          
          <creation_ts>2014-08-25 03:27:00 -0700</creation_ts>
          <short_desc>[CSS Grid Layout] Limit the size of explicit/implicit grid</short_desc>
          <delta_ts>2014-11-11 08:26:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136218</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>rhodovan.u-szeged</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031090</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-08-25 03:27:00 -0700</bug_when>
    <thetext>New versions of the spec allow us to set a limit for the size of both implicit and explicit grid.

&quot;Implementations may limit the possible size of the explicit grid. If they do, attempting to specify an explicit grid larger than the implementation-defined maximum must instead define an explicit grid of the maximum size. Implementations may cap the explicit grid to slightly less than the maximum, in order to have only whole repetitions of the repeat() function. It is recommended that the maximum size of the explicit grid not be smaller than 1 million tracks in each axis.&quot;

(there is a similar paragraph for the implicit grid).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1036717</commentid>
    <comment_count>1</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-09-23 07:19:44 -0700</bug_when>
    <thetext>*** Bug 136944 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040013</commentid>
    <comment_count>2</comment_count>
      <attachid>239410</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-07 06:46:10 -0700</bug_when>
    <thetext>Created attachment 239410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040021</commentid>
    <comment_count>3</comment_count>
      <attachid>239410</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-07 07:26:20 -0700</bug_when>
    <thetext>Comment on attachment 239410
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=239410&amp;action=review

&gt; Source/WebCore/rendering/style/GridCoordinate.h:44
&gt; +const size_t kGridMaxTracks = 1000000;

Note that the usage of size_t is just for convenience and consistency reasons as the rest of the code is using it. Bug 136218 will replace its usage by unsigned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040544</commentid>
    <comment_count>4</comment_count>
      <attachid>239537</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-09 07:43:51 -0700</bug_when>
    <thetext>Created attachment 239537
Patch

Rebased against latest changes in trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040868</commentid>
    <comment_count>5</comment_count>
      <attachid>239612</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-10 02:59:55 -0700</bug_when>
    <thetext>Created attachment 239612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040944</commentid>
    <comment_count>6</comment_count>
      <attachid>239634</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-10 10:01:38 -0700</bug_when>
    <thetext>Created attachment 239634
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041254</commentid>
    <comment_count>7</comment_count>
      <attachid>239718</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-13 01:58:47 -0700</bug_when>
    <thetext>Created attachment 239718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041276</commentid>
    <comment_count>8</comment_count>
      <attachid>239726</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-13 06:21:03 -0700</bug_when>
    <thetext>Created attachment 239726
Mac build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042086</commentid>
    <comment_count>9</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-15 23:55:43 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042368</commentid>
    <comment_count>10</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-17 06:22:33 -0700</bug_when>
    <thetext>It&apos;d be awesome to get a review here since this is blocking some other changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043188</commentid>
    <comment_count>11</comment_count>
      <attachid>240206</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-21 08:52:30 -0700</bug_when>
    <thetext>Created attachment 240206
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043720</commentid>
    <comment_count>12</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-23 01:41:40 -0700</bug_when>
    <thetext>Darin I know you&apos;re very busy with tons of other reviews, but it&apos;d be fantastic if you could take a look at this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044728</commentid>
    <comment_count>13</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-10-29 00:23:55 -0700</bug_when>
    <thetext>Ping reviewers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045987</commentid>
    <comment_count>14</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-11-03 21:07:52 -0800</bug_when>
    <thetext>Another ping :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047535</commentid>
    <comment_count>15</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-11-10 07:38:03 -0800</bug_when>
    <thetext>This patch is almost 1 month old. Would you mind reviewing it please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047794</commentid>
    <comment_count>16</comment_count>
      <attachid>240206</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-11 00:47:56 -0800</bug_when>
    <thetext>Comment on attachment 240206
Patch

r=me. Nice touch converting it to an API test. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047843</commentid>
    <comment_count>17</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2014-11-11 08:26:14 -0800</bug_when>
    <thetext>Committed r175930: &lt;http://trac.webkit.org/changeset/175930&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239410</attachid>
            <date>2014-10-07 06:46:10 -0700</date>
            <delta_ts>2014-10-09 07:41:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136217-20141007154611.patch</filename>
            <type>text/plain</type>
            <size>24167</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWNhN2EzMGM0Njg2YmNl
YTE4OTM4Y2ZlNDc2Y2IwNzAwNWMxZTJlZS4uZWZmYzQwNmE4ZDA1NTcxYzVlOWU0MzkwYjgxZThl
MmU0ZjdhN2RlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbik6IFJlcGxhY2VkIHRoZQorICAgICAgICBvbGQg
bGltaXQgYnkgdGhlIG5ldyBvbmUuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VJdGVtc09uR3JpZCk6IFVzZSB0
aGUgYW1vdW50IG9mIHRyYWNrcworICAgICAgICBwcm92aWRlZCBieSBHcmlkUmVzb2x2ZWRQb3Np
dGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlk
QW5kT3JkZXJJdGVyYXRvcik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9Hcmlk
Q29vcmRpbmF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFNwYW46OkdyaWRTcGFuKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50
KTogQnJpbmcKKyAgICAgICAgdGhlIHN0YXRpYyBmdW5jdGlvbiBiYWNrIHRvIGxpZmUuCisgICAg
ICAgIChXZWJDb3JlOjpHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmV4cGxpY2l0R3JpZFNpemVGb3JTaWRlKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uaDoKKwogMjAxNC0x
MC0wMyAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtFRkxdIEZpeCBidWlsZCBicmVhayBzaW5jZSByMTc0MjMxIGFuZCByMTc0MjU2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCmluZGV4IGMzZGU2ZGM4ZmNkNzE3MDZjYzhlM2NmNDRjMTdiNjI5ZmE5
ODU0YzIuLjgxNTFmYjFmY2M3NmNmMjJkNjJmYjgzOTA0MjA4NmUxNmMwYjZlZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiQ291bnRlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisj
aW5jbHVkZSAiR3JpZENvb3JkaW5hdGUuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgi
CiAjaW5jbHVkZSAiSGFzaFRvb2xzLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCkBAIC0xNTAs
OSArMTUxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
SU5WQUxJRF9OVU1fUEFSU0VEX1BST1BFUlRJRVMgPSBVSU5UX01BWDsKIHN0YXRpYyBjb25zdCBk
b3VibGUgTUFYX1NDQUxFID0gMTAwMDAwMDsKLSNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQot
c3RhdGljIGNvbnN0IHVuc2lnbmVkIE1BWF9HUklEX1RSQUNLX1JFUEVUSVRJT05TID0gMTAwMDA7
Ci0jZW5kaWYKIAogdGVtcGxhdGUgPHVuc2lnbmVkIE4+CiBzdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBDU1NQYXJzZXJTdHJpbmcmIGEsIGNvbnN0IGNoYXIgKCZiKVtOXSkKQEAgLTUyNjksMTIgKzUy
NjcsOSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NW
YWx1ZUxpc3QmIGxpc3QpCiAgICAgaWYgKCFhcmd1bWVudHMgfHwgYXJndW1lbnRzLT5zaXplKCkg
PCAzIHx8ICF2YWxpZFVuaXQoYXJndW1lbnRzLT52YWx1ZUF0KDApLCBGUG9zaXRpdmVJbnRlZ2Vy
KSB8fCAhaXNDb21tYShhcmd1bWVudHMtPnZhbHVlQXQoMSkpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihhcmd1bWVudHMtPnZh
bHVlQXQoMCktPmZWYWx1ZSA+IDApOwogICAgIHNpemVfdCByZXBldGl0aW9ucyA9IGFyZ3VtZW50
cy0+dmFsdWVBdCgwKS0+ZlZhbHVlOwotICAgIC8vIENsYW1wIHJlcGV0aXRpb25zIGF0IE1BWF9H
UklEX1RSQUNLX1JFUEVUSVRJT05TLgotICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy1n
cmlkLTEvI3JlcGVhdC1ub3RhdGlvbgotICAgIGlmIChyZXBldGl0aW9ucyA+IE1BWF9HUklEX1RS
QUNLX1JFUEVUSVRJT05TKQotICAgICAgICByZXBldGl0aW9ucyA9IE1BWF9HUklEX1RSQUNLX1JF
UEVUSVRJT05TOworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHJlcGV0aXRp
b25zID4gMCk7CisKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiByZXBlYXRlZFZhbHVlcyA9IENT
U1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICBhcmd1bWVudHMtPm5leHQo
KTsgLy8gU2tpcCB0aGUgcmVwZXRpdGlvbiBjb3VudC4KICAgICBhcmd1bWVudHMtPm5leHQoKTsg
Ly8gU2tpcCB0aGUgY29tbWEuCkBAIC01Mjg0LDE0ICs1Mjc5LDE0IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkKICAgICBp
ZiAoY3VycmVudFZhbHVlICYmIGN1cnJlbnRWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6
VmFsdWVMaXN0KQogICAgICAgICBwYXJzZUdyaWRMaW5lTmFtZXMoKmFyZ3VtZW50cywgKnJlcGVh
dGVkVmFsdWVzKTsKIAotICAgIGJvb2wgc2F3VHJhY2tTaXplID0gZmFsc2U7CisgICAgdW5zaWdu
ZWQgbnVtYmVyT2ZUcmFja3MgPSAwOwogICAgIHdoaWxlIChhcmd1bWVudHMtPmN1cnJlbnQoKSkg
ewogICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHRyYWNrU2l6ZSA9IHBhcnNlR3JpZFRyYWNrU2l6
ZSgqYXJndW1lbnRzKTsKICAgICAgICAgaWYgKCF0cmFja1NpemUpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKICAgICAgICAgcmVwZWF0ZWRWYWx1ZXMtPmFwcGVuZCh0cmFja1NpemUucmVs
ZWFzZU5vbk51bGwoKSk7Ci0gICAgICAgIHNhd1RyYWNrU2l6ZSA9IHRydWU7CisgICAgICAgICsr
bnVtYmVyT2ZUcmFja3M7CiAKICAgICAgICAgLy8gVGhpcyB0YWtlcyBjYXJlIG9mIGFueSB0cmFp
bGluZyA8Y3VzdG9tLWlkZW50PiogaW4gdGhlIGdyYW1tYXIuCiAgICAgICAgIGN1cnJlbnRWYWx1
ZSA9IGFyZ3VtZW50cy0+Y3VycmVudCgpOwpAQCAtNTMwMCw5ICs1Mjk1LDEzIEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkK
ICAgICB9CiAKICAgICAvLyBXZSBzaG91bGQgaGF2ZSBmb3VuZCBhdCBsZWFzdCBvbmUgPHRyYWNr
LXNpemU+LCBvdGhlcndpc2UgdGhlIGRlY2xhcmF0aW9uIGlzIGludmFsaWQuCi0gICAgaWYgKCFz
YXdUcmFja1NpemUpCisgICAgaWYgKCFudW1iZXJPZlRyYWNrcykKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgLy8gV2UgY2xhbXAgdGhlIG51bWJlciBvZiByZXBldGl0aW9ucyB0byBhIG11
bHRpcGxlIG9mIHRoZSByZXBlYXQoKSB0cmFjayBsaXN0J3Mgc2l6ZSwgd2hpbGUgc3RheWluZyBi
ZWxvdyB0aGUgbWF4CisgICAgLy8gZ3JpZCBzaXplLgorICAgIHJlcGV0aXRpb25zID0gc3RkOjpt
aW4ocmVwZXRpdGlvbnMsIGtHcmlkTWF4VHJhY2tzIC8gbnVtYmVyT2ZUcmFja3MpOworCiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXBldGl0aW9uczsgKytpKSB7CiAgICAgICAgIGZvciAo
c2l6ZV90IGogPSAwOyBqIDwgcmVwZWF0ZWRWYWx1ZXMtPmxlbmd0aCgpOyArK2opCiAgICAgICAg
ICAgICBsaXN0LmFwcGVuZCgqcmVwZWF0ZWRWYWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2so
aikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGJjZDU0ZTJi
NzU3MmIyMDkxMGE0NGIyMzA0ZjVhNTQ0NWQ4ZmI1MDAuLmQ4NTI1ZDEyYjQ1NmU2ZGVhOGM1ZTY0
NDlmMTI2MjFjNTY4ZjJiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKQEAgLTczMCw4ICs3MzAsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQo
KQogICAgICAgICBpbnNlcnRJdGVtSW50b0dyaWQoKmNoaWxkLCBHcmlkQ29vcmRpbmF0ZSgqcm93
UG9zaXRpb25zLCAqY29sdW1uUG9zaXRpb25zKSk7CiAgICAgfQogCi0gICAgQVNTRVJUKGdyaWRS
b3dDb3VudCgpID49IHN0eWxlKCkuZ3JpZFJvd3MoKS5zaXplKCkpOwotICAgIEFTU0VSVChncmlk
Q29sdW1uQ291bnQoKSA+PSBzdHlsZSgpLmdyaWRDb2x1bW5zKCkuc2l6ZSgpKTsKKyAgICBBU1NF
UlQoZ3JpZFJvd0NvdW50KCkgPj0gR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJv
d0NvdW50KHN0eWxlKCkpKTsKKyAgICBBU1NFUlQoZ3JpZENvbHVtbkNvdW50KCkgPj0gR3JpZFJl
c29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KHN0eWxlKCkpKTsKIAogICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgcHJvcGVybHkgInN0YWNrIiB2YWx1ZSBpbiBhdXRvLXBsYWNl
bWVudCBhbGdvcml0aG0uCiAgICAgaWYgKHN0eWxlKCkuaXNHcmlkQXV0b0Zsb3dBbGdvcml0aG1T
dGFjaygpKSB7CkBAIC03NDgsOCArNzQ4LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1z
T25HcmlkKCkKIHZvaWQgUmVuZGVyR3JpZDo6cG9wdWxhdGVFeHBsaWNpdEdyaWRBbmRPcmRlckl0
ZXJhdG9yKCkKIHsKICAgICBPcmRlckl0ZXJhdG9yUG9wdWxhdG9yIHBvcHVsYXRvcihtX29yZGVy
SXRlcmF0b3IpOwotICAgIHNpemVfdCBtYXhpbXVtUm93SW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+
KDEsIHN0eWxlKCkuZ3JpZFJvd3MoKS5zaXplKCkpOwotICAgIHNpemVfdCBtYXhpbXVtQ29sdW1u
SW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIHN0eWxlKCkuZ3JpZENvbHVtbnMoKS5zaXplKCkp
OworICAgIHNpemVfdCBtYXhpbXVtUm93SW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIEdyaWRS
ZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChzdHlsZSgpKSk7CisgICAgc2l6
ZV90IG1heGltdW1Db2x1bW5JbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgR3JpZFJlc29sdmVk
UG9zaXRpb246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KHN0eWxlKCkpKTsKIAogICAgIGZvciAo
UmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQt
Pm5leHRTaWJsaW5nQm94KCkpIHsKICAgICAgICAgcG9wdWxhdG9yLmNvbGxlY3RDaGlsZCgqY2hp
bGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29y
ZGluYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aAppbmRleCA1ODNhZjViYWFlNDhlZWM2YTViMzJiZThkNmY2ZjE0NGVkNzdhZTczLi45MmY5NmU2
NDVmYWVhZmNjZjUxODYyOGNjYzdmY2FhYzU2MWNmY2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUuaApAQCAtNDAsMTQgKzQwLDE3IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gUmVjb21tZW5kZWQgbWF4aW11bSBzaXplIGZvciBi
b3RoIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcy4KK2NvbnN0IHNpemVfdCBrR3JpZE1heFRy
YWNrcyA9IDEwMDAwMDA7CisKIC8vIEEgc3BhbiBpbiBhIHNpbmdsZSBkaXJlY3Rpb24gKGVpdGhl
ciByb3dzIG9yIGNvbHVtbnMpLiBOb3RlIHRoYXQgfHJlc29sdmVkSW5pdGlhbFBvc2l0aW9ufAog
Ly8gYW5kIHxyZXNvbHZlZEZpbmFsUG9zaXRpb258IGFyZSBncmlkIGFyZWFzJyBpbmRleGVzLCBO
T1QgZ3JpZCBsaW5lcycuIEl0ZXJhdGluZyBvdmVyIHRoZQogLy8gc3BhbiBzaG91bGQgaW5jbHVk
ZSBib3RoIHxyZXNvbHZlZEluaXRpYWxQb3NpdGlvbnwgYW5kIHxyZXNvbHZlZEZpbmFsUG9zaXRp
b258IHRvIGJlIGNvcnJlY3QuCiBjbGFzcyBHcmlkU3BhbiB7CiBwdWJsaWM6CiAgICAgR3JpZFNw
YW4oY29uc3QgR3JpZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLCBj
b25zdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRGaW5hbFBvc2l0aW9uKQotICAgICAg
ICA6IHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uKHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uKQotICAg
ICAgICAsIHJlc29sdmVkRmluYWxQb3NpdGlvbihyZXNvbHZlZEZpbmFsUG9zaXRpb24pCisgICAg
ICAgIDogcmVzb2x2ZWRJbml0aWFsUG9zaXRpb24oc3RkOjptaW4ocmVzb2x2ZWRJbml0aWFsUG9z
aXRpb24udG9JbnQoKSwga0dyaWRNYXhUcmFja3MgLSAxKSkKKyAgICAgICAgLCByZXNvbHZlZEZp
bmFsUG9zaXRpb24oc3RkOjptaW4ocmVzb2x2ZWRGaW5hbFBvc2l0aW9uLnRvSW50KCksIGtHcmlk
TWF4VHJhY2tzKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChyZXNvbHZlZEluaXRpYWxQb3NpdGlv
biA8PSByZXNvbHZlZEZpbmFsUG9zaXRpb24pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCmluZGV4IDY5
YThhNTk0M2UzOGM3NTU5OTViZWY2ZjJiYjQ4YWE0ZWQ1NGNmZDAuLjBmMzYyYWVmYTFiYWY2MTEx
NGVmNGI0NDgxNzY3MDdiMmJlMjUzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcApAQCAtNDgsOSArNDgsMTkg
QEAgc3RhdGljIGlubGluZSBib29sIGlzU3RhcnRTaWRlKEdyaWRQb3NpdGlvblNpZGUgc2lkZSkK
ICAgICByZXR1cm4gc2lkZSA9PSBDb2x1bW5TdGFydFNpZGUgfHwgc2lkZSA9PSBSb3dTdGFydFNp
ZGU7CiB9CiAKK3NpemVfdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkQ29sdW1u
Q291bnQoY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSkKK3sKKyAgICByZXR1
cm4gc3RkOjptaW4oZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRDb2x1bW5zKCkuc2l6ZSgpLCBrR3Jp
ZE1heFRyYWNrcyk7Cit9CisKK3NpemVfdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRH
cmlkUm93Q291bnQoY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSkKK3sKKyAg
ICByZXR1cm4gc3RkOjptaW4oZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRSb3dzKCkuc2l6ZSgpLCBr
R3JpZE1heFRyYWNrcyk7Cit9CisKIHN0YXRpYyBzaXplX3QgZXhwbGljaXRHcmlkU2l6ZUZvclNp
ZGUoY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwgR3JpZFBvc2l0aW9uU2lk
ZSBzaWRlKQogewotICAgIHJldHVybiBpc0NvbHVtblNpZGUoc2lkZSkgPyBncmlkQ29udGFpbmVy
U3R5bGUuZ3JpZENvbHVtbnMoKS5zaXplKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZFJvd3Mo
KS5zaXplKCk7CisgICAgcmV0dXJuIGlzQ29sdW1uU2lkZShzaWRlKSA/IEdyaWRSZXNvbHZlZFBv
c2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChncmlkQ29udGFpbmVyU3R5bGUpIDogR3Jp
ZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KGdyaWRDb250YWluZXJTdHls
ZSk7CiB9CiAKIEdyaWRTcGFuIEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpyZXNvbHZlR3JpZFBvc2l0
aW9uc0Zyb21BdXRvUGxhY2VtZW50UG9zaXRpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250
YWluZXJTdHlsZSwgY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrU2l6aW5nRGly
ZWN0aW9uIGRpcmVjdGlvbiwgY29uc3QgR3JpZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkSW5p
dGlhbFBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0dyaWRSZXNvbHZlZFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
R3JpZFJlc29sdmVkUG9zaXRpb24uaAppbmRleCAyNjNiNTI0M2I2NDMxZTA4NWMxMjY2NjcxNzlk
YjBlNmVkMDk3YzkyLi44ZmIxNDNmMjFmNTZlZjVkMzY2NjZiYmFlMWMyMWVkMDU5OGE5Nzg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9z
aXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVk
UG9zaXRpb24uaApAQCAtMTQ2LDYgKzE0Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEdy
aWRSZXNvbHZlZFBvc2l0aW9uKG1faW50ZWdlclBvc2l0aW9uICsgMSk7CiAgICAgfQogCisgICAg
c3RhdGljIHNpemVfdCBleHBsaWNpdEdyaWRDb2x1bW5Db3VudChjb25zdCBSZW5kZXJTdHlsZSYp
OworICAgIHN0YXRpYyBzaXplX3QgZXhwbGljaXRHcmlkUm93Q291bnQoY29uc3QgUmVuZGVyU3R5
bGUmKTsKKwogcHJpdmF0ZToKIAogICAgIHNpemVfdCBtX2ludGVnZXJQb3NpdGlvbjsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1MWUxYzk3OTVi
NjYzODk0ZTk5MmJiMDM3MzIyOWFhZjU3YmNlZWQxLi4wY2YwNDU0Njg1Y2UzMDM2YTQzODc5ZTg1
MzQzNWQyZTNlMzZiMzNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTQtMTAtMDcgIFNlcmdpbyBWaWxsYXIgU2Vu
aW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gTGlt
aXQgdGhlIHNpemUgb2YgZXhwbGljaXQvaW1wbGljaXQgZ3JpZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjE3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcgdW5pdCB0ZXN0IGZvciB0
aGUgQ1NTIHBhcnNlci4gUmlnaHQgbm93IGl0IG9ubHkgY2hlY2tzCisgICAgICAgIHRoYXQgd2Ug
cHJvcGVybHkgY2xhbXAgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRyYWNrcyBvbiBhIGdyaWQgdG8g
YQorICAgICAgICBtYXhpbXVtIG9mIDEgbWlsbGlvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5j
bWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNvbXB1dGVOdW1iZXJPZlRyYWNrcyk6IEhl
bHBlciBmdW5jdGlvbi4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBBZGRlZCBhCisg
ICAgICAgIENTU1Byb3BlcnR5UGFyc2VyVGVzdC5HcmlkVHJhY2tMaW1pdHMgdGVzdCBjYXNlLgor
CiAyMDE0LTEwLTAzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTc0MjY0LgpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01h
a2VMaXN0cy50eHQKaW5kZXggZWY1MWE0YTA2YzM5MDk0Y2Y3MTFkYzk4OTgzNTY0N2Y2ZTZkMmU0
My4uZTQ4MmM0NWNiYWVmNTQ1ZDEzY2NlNTFhYzhkZTg3NWI0NTA1ZGJjZiAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0xOSwxMiArMTksMTcgQEAgaW5jbHVkZV9kaXJlY3Rvcmll
cygke0NNQUtFX0JJTkFSWV9ESVJ9CiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3BhcnNlcgog
ICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9ydW50aW1lCiAgICAgJHtUSElSRFBBUlRZX0RJUn0v
Z3Rlc3QvaW5jbHVkZQorICAgICR7V0VCQ09SRV9ESVJ9L2NzcworICAgICR7V0VCQ09SRV9ESVJ9
L2RvbQogICAgICR7V0VCQ09SRV9ESVJ9L2VkaXRpbmcKICAgICAke1dFQkNPUkVfRElSfS9wbGF0
Zm9ybQorICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2FuaW1hdGlvbgogICAgICR7V0VCQ09S
RV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vdGV4
dAogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsKICAgICAke1dFQkNPUkVfRElS
fS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAKKyAgICAke1dFQkNPUkVfRElSfS9yZW5kZXJpbmcKKyAg
ICAke1dFQkNPUkVfRElSfS9yZW5kZXJpbmcvc3R5bGUKICAgICAke1dFQktJVDJfRElSfS9QbGF0
Zm9ybS9JUEMKICAgICAke1dFQktJVDJfRElSfS9TaGFyZWQKICAgICAke1dFQktJVDJfRElSfS9T
aGFyZWQvQVBJL2MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwu
Y21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDg2Nzdl
YTVhMGYxOTkwZDFjNTIwOTY4MTIwMGIwODVlNjFiNzQ5NTguLmQ0NDA2ODZkZGUzM2QyOGU3NTc1
ZTcxYmUxOGM0MjZlOTIxMzA5NTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxh
dGZvcm1FZmwuY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFr
ZQpAQCAtNTcsNiArNTcsNyBAQCBsaXN0KEFQUEVORCBUZXN0SmF2YVNjcmlwdENvcmVfTElCUkFS
SUVTCiAjIFJlbGVhc2UgYnVpbGRzIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGVzdF97d2Via2l0Ml9h
cGl8d2ViY29yZX1fQklOQVJJRVMuCiAKIHNldCh0ZXN0X3dlYmNvcmVfQklOQVJJRVMKKyAgICBD
U1NQYXJzZXIKICAgICBMYXlvdXRVbml0CiAgICAgVVJMCiApCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUdUSy5jbWFrZQppbmRleCAyOGRhNWZkYmFlMjg1YTE3ZGIzYTUzMjZlZmM5MTI2MDlhNTk0
NjFlLi4yYWNkOTBkYTk2Yjc4OGNiNjFkMGI2MzNkOGMzYjk1OTljOTg3ZWI2IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTExOSwxMiArMTE5LDE0IEBAIHNldChUZXN0
V2ViQ29yZUd0a19TT1VSQ0VTCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL0d0a0lu
cHV0TWV0aG9kRmlsdGVyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNv
cmUvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rl
c3RzL1dlYkNvcmUvZ3RrL1VzZXJBZ2VudFF1aXJrcy5jcHAKKyAgICAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwCiApCiAKIGFkZF9leGVjdXRh
YmxlKFRlc3RXZWJDb3JlCiAgICAgJHt0ZXN0X21haW5fU09VUkNFU30KICAgICAke1Rlc3RXZWJD
b3JlR3RrX1NPVVJDRVN9CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHNDb250cm9sbGVy
LmNwcAorICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNw
cAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvTGF5b3V0VW5pdC5jcHAK
ICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1VSTC5jcHAKICkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNzU5ODBjODNmOTU4YjQyMGI0MWViM2E2NGE4OGE1MGYwNDIw
ZmJjMC4uOGU5NzA0NmFhM2Q4OTIxYTcyMDk3MGMwYmFhOTM4MzRhYWY4NWM4ZSAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTI0MSw2ICsyNDEsNyBAQAogCQlDOTU1MDFCRjE5QUQyRkFGMDA0
OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0g
Ki87IH07CiAJCUNENTM5M0M4MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3
MTIzIC8qIE1ENS5jcHAgKi87IH07CiAJCUNENTM5M0NBMTc1N0JBQzQwMEMwNzEyMyAvKiBTSEEx
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTM5
M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLzsgfTsKKwkJQ0Q1NDUxRUExOUU0MUY5
RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNw
cCAqLzsgfTsKIAkJQ0Q1NDk3QjQxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU0OTdCMzE1ODU3
RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLzsgfTsKIAkJQ0RDMkM3MTUxNzk3MEREQjAw
RTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3Bw
ICovOyB9OwogCQlDRTE0RjFBNDE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZvcm1DbGllbnRS
ZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTE0RjFBMjE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCAqLzsgfTsKQEAgLTYxMCw2ICs2MTEsNyBA
QAogCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVmZXJlbmNlcy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3MTIzIC8qIE1ENS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNRDUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTSEExLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NQYXJzZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAg
LyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1l
ZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQzJDNzE0MTc5NzA4
OUQwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWVSYW5n
ZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTE0RjFBMjE4MTg3M0IwMDAx
QzI3MDUgLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0
aCA9IFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC03MzksNiArNzQxLDcgQEAKIAkJNDQwQTFEMzYxNEEwMTAwMDAw
OEE2NkYyIC8qIFdlYkNvcmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCUNENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwICovLAog
CQkJCTkzQTcyMEU1MThGMUEwRTgwMEE4NDhFMSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLywK
IAkJCQlDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi8sCiAJCQkJ
NDQwQTFEMzgxNEEwMTAzQTAwOEE2NkYyIC8qIFVSTC5jcHAgKi8sCkBAIC0xMzc2LDYgKzEzNzks
NyBAQAogCQkJCTFBN0JGQzBDMTcxQTBCREIwMEJDNUY2NCAvKiBXaWxsU2VuZFN1Ym1pdEV2ZW50
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyMkQzMTUxNERDNjg5ODAwRkZCMUREIC8qIFVzZXJN
ZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTVGNUY5MTRBRDc4RUUwMDQ4NEJFMSAv
KiBWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q1NDUxRUExOUU0MUY5RDAwMTY5MzZG
IC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTBBOUJCNzE3MzVERThBMDBE
NzFCQkMgLyogQ2xvc2VOZXdXaW5kb3dJbk5hdmlnYXRpb25Qb2xpY3lEZWxlZ2F0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUZFMjE3RUNEMTY0MEE1NEEwMDUyOTg4QiAvKiBWTUluc3BlY3Rvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MjBCQ0Y0RDE0MUVCMDlFMDA5MzdFQTggLyogV2ViQXJj
aGl2ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL0NTU1BhcnNlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U4NTViYzJkZmI4MzhkNTczMjJmZDc5
NTRkOWIxZTA3MTVhNzdkNgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvQ1NTUGFyc2VyLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9DU1NWYWx1ZUxpc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1N0
eWxlUHJvcGVydGllcy5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK3N0YXRpYyB1
bnNpZ25lZCBjb21wdXRlTnVtYmVyT2ZUcmFja3MoQ1NTVmFsdWVMaXN0KiB2YWx1ZUxpc3QpCit7
CisgICAgdW5zaWduZWQgbnVtYmVyT2ZUcmFja3MgPSAwOworICAgIGZvciAoQ1NTVmFsdWVMaXN0
SXRlcmF0b3IgaSA9IHZhbHVlTGlzdDsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAg
ICAgIGlmIChpLnZhbHVlKCktPmlzR3JpZExpbmVOYW1lc1ZhbHVlKCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgKytudW1iZXJPZlRyYWNrczsKKyAgICB9CisgICAgcmV0dXJuIG51
bWJlck9mVHJhY2tzOworfQorI2VuZGlmCisKK1RFU1QoQ1NTUHJvcGVydHlQYXJzZXJUZXN0LCBH
cmlkVHJhY2tMaW1pdHMpCit7CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBzdHJ1
Y3QgeworICAgICAgICBjb25zdCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQ7CisgICAgICAgIGNv
bnN0IGNoYXIqIGlucHV0OworICAgICAgICBjb25zdCBzaXplX3Qgb3V0cHV0OworICAgIH0gdGVz
dENhc2VzW10gPSB7CisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVt
bnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDk5OTk5OSwgMjBweCk7
IiwgOTk5OTk5fSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywg
Ii13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOTk5OTk5LCAyMHB4KTsiLCA5OTk5
OTl9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAwLCAxMCUpOyIsIDEwMDAw
MDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwMDAwLCAxMCUpOyIsIDEwMDAwMDB9LAor
ICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAwLCAoZmlyc3QpIC13ZWJraXQtbWlu
LWNvbnRlbnQgKGxhc3QpKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0
R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAw
MDAwMCwgKGZpcnN0KSAtd2Via2l0LW1pbi1jb250ZW50IChsYXN0KSk7IiwgMTAwMDAwMH0sCisg
ICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdy
aWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwMDAwMDEsIGF1dG8pOyIsIDEwMDAwMDB9LAor
ICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwMDAxLCBhdXRvKTsiLCAxMDAwMDAwfSwKKyAgICAg
ICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNDAwMDAwLCAyZW0gbWlubWF4KDEwcHgsIC13ZWJraXQt
bWF4LWNvbnRlbnQpIDAuNWZyKTsiLCA5OTk5OTl9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJr
aXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0
MDAwMDAsIDJlbSBtaW5tYXgoMTBweCwgLXdlYmtpdC1tYXgtY29udGVudCkgMC41ZnIpOyIsIDk5
OTk5OX0sCisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICIt
d2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYwMDAwMCwgKGZpcnN0KSAzdmgg
MTAlIDJmciAobmF2KSAxMHB4IGF1dG8gMWZyIDZlbSAobGFzdCkpOyIsIDk5OTk5OX0sCisgICAg
ICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVt
cGxhdGUtcm93czogcmVwZWF0KDYwMDAwMCwgKGZpcnN0KSAzdmggMTAlIDJmciAobmF2KSAxMHB4
IGF1dG8gMWZyIDZlbSAobGFzdCkpOyIsIDk5OTk5OX0sCisgICAgfTsKKworICAgIENTU1BhcnNl
ciBwYXJzZXIoc3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpKTsKKyAgICBSZWZQdHI8TXV0YWJsZVN0
eWxlUHJvcGVydGllcz4gcHJvcGVydGllcyA9IE11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0
ZSgpOworCisgICAgZm9yIChhdXRvJiB0ZXN0Q2FzZSA6IHRlc3RDYXNlcykgeworICAgICAgICBB
U1NFUlRfVFJVRShwYXJzZXIucGFyc2VEZWNsYXJhdGlvbihwcm9wZXJ0aWVzLmdldCgpLCB0ZXN0
Q2FzZS5pbnB1dCwgbnVsbHB0ciwgbnVsbHB0cikpOworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+
IHZhbHVlID0gcHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZSh0ZXN0Q2FzZS5wcm9wZXJ0
eUlEKTsKKworICAgICAgICBBU1NFUlRfVFJVRSh2YWx1ZS0+aXNWYWx1ZUxpc3QoKSk7CisgICAg
ICAgIEVYUEVDVF9FUShjb21wdXRlTnVtYmVyT2ZUcmFja3ModG9DU1NWYWx1ZUxpc3QodmFsdWUu
Z2V0KCkpKSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9CisjZW5kaWYgLy8gRU5BQkxFKENTU19H
UklEX0xBWU9VVCkKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZj
OTIzZGYwY2Q1ZDg5MjYzODMwN2YxZDM5NThhMDA2MTkwMWY5YTguLmZjNjM4YmU2ZWM0ZDZjMTkz
ZjIyMGNmZmZmMWFkN2FiMDM3YTdiOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0xMC0w
NyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBb
Q1NTIEdyaWQgTGF5b3V0XSBMaW1pdCB0aGUgc2l6ZSBvZiBleHBsaWNpdC9pbXBsaWNpdCBncmlk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYyMTcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVk
IGFzIHRoZXkgYXJlIG5vdyBwYXJ0IG9mIHRoZSBXZWJDb3JlJ3MgQ1NTUGFyc2VyLmNwcCB1bml0
CisgICAgICAgIHRlc3QuIFRoZSByZWFzb24gd2h5IGl0IHdhcyBtb3ZlZCB0aGVyZSBpcyBiZWNh
dXNlIHRoZSB0ZXN0IHdvdWxkCisgICAgICAgIHJlcXVpcmUgaHVnZSAofjEwMDAwMDAgdHJhY2tz
KSBncmlkIGFsbG9jYXRpb25zLCBtYWtpbmcgdGhlIHRlc3QKKyAgICAgICAgcXVpdGUgc2xvdyBz
cGVjaWFsbHkgb24gRGVidWcgYnVpbGRzLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0OiBSZW1v
dmVkLgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQt
bWF4LXJlcGV0aXRpb25zLmh0bWw6IFJlbW92ZWQuCisKIDIwMTQtMTAtMDMgIFl1c3VrZSBTdXp1
a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgQ1NTIFNlbGVjdG9ycyBMZXZl
bCA0OiBBZGQgcGFyc2luZyBmb3IgOm1hdGNoZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVu
dC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggM2I0ZTk2NTM2MjFlMzE4ZmQwYzliOThkNzM3MDI1Zjk2M2YyODUwZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRlc3QgdGhlIHZhbHVl
cyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRpdGlvbnMgdmFsdWUgYXJlIGNsYW1wZWQg
dGhyb3VnaCBDU1MuCi1QQVNTCi1QQVNTCi1QQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVh
dC1tYXgtcmVwZXRpdGlvbnMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJi
ZmUxM2VkMWJmYTQ2MDk5OGEyMzE0MDYzZWY2Y2QwNzE5YjU0Yi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQiLCAxKTsKLTwvc2NyaXB0PgotPGxp
bmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgotPHN0eWxlPgot
LmNsYW1wUmVwZXRpdGlvbnNCZWxvd0xpbWl0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUt
cm93czogcmVwZWF0KDk5OTUsIDFweCk7Ci19Ci0KLS5jbGFtcFJlcGV0aXRpb25zT25MaW1pdCB7
Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwMCwgMXB4KTsKLX0K
LQotLmNsYW1wUmVwZXRpdGlvbnNBYm92ZUxpbWl0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGUtcm93czogcmVwZWF0KDEwMDA1LCAxcHgpOwotfQotPC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJykiPgotCi08ZGl2PlRlc3QgdGhlIHZhbHVlcyBn
cmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRpdGlvbnMgdmFsdWUgYXJlIGNsYW1wZWQgdGhy
b3VnaCBDU1MuPC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImdyaWQgY2xhbXBSZXBldGl0aW9uc0JlbG93
TGltaXQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI5OTk1Ij48L2Rpdj4KLQotPGRpdiBjbGFzcz0i
Z3JpZCBjbGFtcFJlcGV0aXRpb25zT25MaW1pdCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMDAw
Ij48L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJlcGV0aXRpb25zQWJvdmVMaW1pdCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMDAwIj48L2Rpdj4KLQotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239537</attachid>
            <date>2014-10-09 07:43:51 -0700</date>
            <delta_ts>2014-10-10 02:59:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>136217.patch</filename>
            <type>text/plain</type>
            <size>23210</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzdlZDQ5Li43ODViZjAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMTAt
MDcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0NTUyBHcmlkIExheW91dF0gTGltaXQgdGhlIHNpemUgb2YgZXhwbGljaXQvaW1wbGljaXQgZ3Jp
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
ZCBhcyB0aGV5IGFyZSBub3cgcGFydCBvZiB0aGUgV2ViQ29yZSdzIENTU1BhcnNlci5jcHAgdW5p
dAorICAgICAgICB0ZXN0LiBUaGUgcmVhc29uIHdoeSBpdCB3YXMgbW92ZWQgdGhlcmUgaXMgYmVj
YXVzZSB0aGUgdGVzdCB3b3VsZAorICAgICAgICByZXF1aXJlIGh1Z2UgKH4xMDAwMDAwIHRyYWNr
cykgZ3JpZCBhbGxvY2F0aW9ucywgbWFraW5nIHRoZSB0ZXN0CisgICAgICAgIHF1aXRlIHNsb3cg
c3BlY2lhbGx5IG9uIERlYnVnIGJ1aWxkcy4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5
b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0
LW1heC1yZXBldGl0aW9ucy5odG1sOiBSZW1vdmVkLgorCiAyMDE0LTEwLTA4ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIG1vcmUg
cGFzc2luZyB0ZXN0cyBmcm9tIFRlc3RFeHBlY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0
aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNiNGU5NjUuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1UZXN0IHRoZSB2YWx1ZXMg
Z3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJlcGV0aXRpb25zIHZhbHVlIGFyZSBjbGFtcGVkIHRo
cm91Z2ggQ1NTLgotUEFTUwotUEFTUwotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQt
bWF4LXJlcGV0aXRpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyYmZl
MTMuLjAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1l
bGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdENTU0dyaWRMYXlvdXRFbmFibGVkIiwgMSk7Ci08L3NjcmlwdD4KLTxsaW5rIGhyZWY9InJl
c291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KLTxzdHlsZT4KLS5jbGFtcFJlcGV0
aXRpb25zQmVsb3dMaW1pdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVh
dCg5OTk1LCAxcHgpOwotfQotCi0uY2xhbXBSZXBldGl0aW9uc09uTGltaXQgewotICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDAsIDFweCk7Ci19Ci0KLS5jbGFtcFJl
cGV0aXRpb25zQWJvdmVMaW1pdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJl
cGVhdCgxMDAwNSwgMXB4KTsKLX0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImNo
ZWNrTGF5b3V0KCcuZ3JpZCcpIj4KLQotPGRpdj5UZXN0IHRoZSB2YWx1ZXMgZ3JlYXRlciB0aGFu
IHRoZSBtYXhpbXVtIHJlcGV0aXRpb25zIHZhbHVlIGFyZSBjbGFtcGVkIHRocm91Z2ggQ1NTLjwv
ZGl2PgotCi08ZGl2IGNsYXNzPSJncmlkIGNsYW1wUmVwZXRpdGlvbnNCZWxvd0xpbWl0IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iOTk5NSI+PC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImdyaWQgY2xhbXBS
ZXBldGl0aW9uc09uTGltaXQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAwMCI+PC9kaXY+Ci0K
LTxkaXYgY2xhc3M9ImdyaWQgY2xhbXBSZXBldGl0aW9uc0Fib3ZlTGltaXQiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIxMDAwMCI+PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxOTI0ZmNlLi5iZjRjZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTQtMTAt
MDcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0NTUyBHcmlkIExheW91dF0gTGltaXQgdGhlIHNpemUgb2YgZXhwbGljaXQvaW1wbGljaXQgZ3Jp
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSByZWNl
bnQgY2hhbmdlIGluIHRoZSBzcGVjcyBhbGxvdyB1cyB0byBzZXQgYSBsaW1pdCAobWF4aW11bQor
ICAgICAgICBzaXplKSBmb3IgYm90aCB0aGUgZXhwbGljaXQgYW5kIGltcGxpY2l0IGdyaWRzIHNv
IHdlIGNhbiBwcm90ZWN0CisgICAgICAgIG91cnNlbHZlcyBmcm9tIGFic3VyZGx5IGh1Z2UgZ3Jp
ZCBzcGVjaWZpY2F0aW9ucy4gSXQgd2FzIGRlY2lkZWQKKyAgICAgICAgdG8gdXNlIHRoZSByZWNv
bW1lbmRlZCBsaW1pdCB3aGljaCBpcyAxIG1pbGxpb24uCisKKyAgICAgICAgVGhpcyBtZWFucyB0
aGF0IHdlIGNhbiByZW1vdmUgdGhlIG9sZCBsaW1pdGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mCisg
ICAgICAgIHJlcGV0aXRpb25zIGluIHJlcGVhdCgpLiBJbnN0ZWFkIHdlIG5vdyBjbGFtcCB0aGUg
bnVtYmVyIG9mCisgICAgICAgIHJlcGV0aXRpb25zIHRvIHRoZSBtYXhpbXVtIHZhbHVlIHRoYXQg
YWxsb3cgdXMgdG8gaGF2ZSB0aGUgbWF4aW11bQorICAgICAgICBudW1iZXIgb2Ygd2hvbGUgcmVw
ZXRpdGlvbnMgd2l0aG91dCBleGNlZWRpbmcgdGhlIHRyYWNrIG51bWJlcgorICAgICAgICBsaW1p
dC4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKTogUmVwbGFjZWQgdGhlCisgICAg
ICAgIG9sZCBsaW1pdCBieSB0aGUgbmV3IG9uZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
R3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25Hcmlk
KTogVXNlIHRoZSBhbW91bnQgb2YgdHJhY2tzCisgICAgICAgIHByb3ZpZGVkIGJ5IEdyaWRSZXNv
bHZlZFBvc2l0aW9uLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cG9wdWxhdGVFeHBs
aWNpdEdyaWRBbmRPcmRlckl0ZXJhdG9yKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL0dyaWRDb29yZGluYXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmlkU3Bhbjo6R3JpZFNw
YW4pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkQ29s
dW1uQ291bnQpOiBCcmluZworICAgICAgICB0aGUgc3RhdGljIGZ1bmN0aW9uIGJhY2sgdG8gbGlm
ZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRS
b3dDb3VudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6ZXhwbGljaXRHcmlkU2l6ZUZvclNp
ZGUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5oOgor
CiAyMDE0LTEwLTA5ICBQaGlsaXAgQ2hpbWVudG8gIDxwaGlsaXAuY2hpbWVudG9AZ21haWwuY29t
PgogCiAgICAgICAgIFtHVEtdIE5ldHNjYXBlIHBsdWdpbiBBUEkgc3ltYm9sIHVzZWQgb3V0c2lk
ZSBmZWF0dXJlIGd1YXJkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5NjA2MDBhLi4w
ZTA5NTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2lu
Y2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZsb2F0
Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCiAjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhhc2hUb29scy5oIgogI2luY2x1ZGUgIk1lZGlh
TGlzdC5oIgpAQCAtMTUwLDkgKzE1MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIElOVkFMSURfTlVNX1BBUlNFRF9QUk9QRVJUSUVTID0gVUlOVF9NQVg7
CiBzdGF0aWMgY29uc3QgZG91YmxlIE1BWF9TQ0FMRSA9IDEwMDAwMDA7Ci0jaWYgRU5BQkxFKENT
U19HUklEX0xBWU9VVCkKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfR1JJRF9UUkFDS19SRVBF
VElUSU9OUyA9IDEwMDAwOwotI2VuZGlmCiAKIHRlbXBsYXRlIDx1bnNpZ25lZCBOPgogc3RhdGlj
IGJvb2wgZXF1YWwoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBhLCBjb25zdCBjaGFyICgmYilbTl0p
CkBAIC01MjcwLDEyICs1MjY4LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrUmVw
ZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIGlmICghYXJndW1lbnRzIHx8IGFy
Z3VtZW50cy0+c2l6ZSgpIDwgMyB8fCAhdmFsaWRVbml0KGFyZ3VtZW50cy0+dmFsdWVBdCgwKSwg
RlBvc2l0aXZlSW50ZWdlcikgfHwgIWlzQ29tbWEoYXJndW1lbnRzLT52YWx1ZUF0KDEpKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJ
T04oYXJndW1lbnRzLT52YWx1ZUF0KDApLT5mVmFsdWUgPiAwKTsKICAgICBzaXplX3QgcmVwZXRp
dGlvbnMgPSBhcmd1bWVudHMtPnZhbHVlQXQoMCktPmZWYWx1ZTsKLSAgICAvLyBDbGFtcCByZXBl
dGl0aW9ucyBhdCBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUy4KLSAgICAvLyBodHRwOi8vd3d3
LnczLm9yZy9UUi9jc3MtZ3JpZC0xLyNyZXBlYXQtbm90YXRpb24KLSAgICBpZiAocmVwZXRpdGlv
bnMgPiBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUykKLSAgICAgICAgcmVwZXRpdGlvbnMgPSBN
QVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUzsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBM
SUNBVElPTihyZXBldGl0aW9ucyA+IDApOworCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gcmVw
ZWF0ZWRWYWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAg
YXJndW1lbnRzLT5uZXh0KCk7IC8vIFNraXAgdGhlIHJlcGV0aXRpb24gY291bnQuCiAgICAgYXJn
dW1lbnRzLT5uZXh0KCk7IC8vIFNraXAgdGhlIGNvbW1hLgpAQCAtNTI4NSwxNCArNTI4MCwxNCBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxp
c3QmIGxpc3QpCiAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBjdXJyZW50VmFsdWUtPnVuaXQgPT0g
Q1NTUGFyc2VyVmFsdWU6OlZhbHVlTGlzdCkKICAgICAgICAgcGFyc2VHcmlkTGluZU5hbWVzKCph
cmd1bWVudHMsICpyZXBlYXRlZFZhbHVlcyk7CiAKLSAgICBib29sIHNhd1RyYWNrU2l6ZSA9IGZh
bHNlOworICAgIHVuc2lnbmVkIG51bWJlck9mVHJhY2tzID0gMDsKICAgICB3aGlsZSAoYXJndW1l
bnRzLT5jdXJyZW50KCkpIHsKICAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB0cmFja1NpemUgPSBw
YXJzZUdyaWRUcmFja1NpemUoKmFyZ3VtZW50cyk7CiAgICAgICAgIGlmICghdHJhY2tTaXplKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHJlcGVhdGVkVmFsdWVzLT5hcHBl
bmQodHJhY2tTaXplLnJlbGVhc2VOb25OdWxsKCkpOwotICAgICAgICBzYXdUcmFja1NpemUgPSB0
cnVlOworICAgICAgICArK251bWJlck9mVHJhY2tzOwogCiAgICAgICAgIC8vIFRoaXMgdGFrZXMg
Y2FyZSBvZiBhbnkgdHJhaWxpbmcgPGN1c3RvbS1pZGVudD4qIGluIHRoZSBncmFtbWFyLgogICAg
ICAgICBjdXJyZW50VmFsdWUgPSBhcmd1bWVudHMtPmN1cnJlbnQoKTsKQEAgLTUzMDEsOSArNTI5
NiwxMyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NW
YWx1ZUxpc3QmIGxpc3QpCiAgICAgfQogCiAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgZm91bmQgYXQg
bGVhc3Qgb25lIDx0cmFjay1zaXplPiwgb3RoZXJ3aXNlIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZh
bGlkLgotICAgIGlmICghc2F3VHJhY2tTaXplKQorICAgIGlmICghbnVtYmVyT2ZUcmFja3MpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIFdlIGNsYW1wIHRoZSBudW1iZXIgb2YgcmVw
ZXRpdGlvbnMgdG8gYSBtdWx0aXBsZSBvZiB0aGUgcmVwZWF0KCkgdHJhY2sgbGlzdCdzIHNpemUs
IHdoaWxlIHN0YXlpbmcgYmVsb3cgdGhlIG1heAorICAgIC8vIGdyaWQgc2l6ZS4KKyAgICByZXBl
dGl0aW9ucyA9IHN0ZDo6bWluKHJlcGV0aXRpb25zLCBrR3JpZE1heFRyYWNrcyAvIG51bWJlck9m
VHJhY2tzKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVwZXRpdGlvbnM7ICsraSkg
ewogICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IHJlcGVhdGVkVmFsdWVzLT5sZW5ndGgo
KTsgKytqKQogICAgICAgICAgICAgbGlzdC5hcHBlbmQoKnJlcGVhdGVkVmFsdWVzLT5pdGVtV2l0
aG91dEJvdW5kc0NoZWNrKGopKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cAppbmRleCBiY2Q1NGUyLi5kODUyNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwCkBAIC03MzAsOCArNzMwLDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1z
T25HcmlkKCkKICAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKCpjaGlsZCwgR3JpZENvb3JkaW5h
dGUoKnJvd1Bvc2l0aW9ucywgKmNvbHVtblBvc2l0aW9ucykpOwogICAgIH0KIAotICAgIEFTU0VS
VChncmlkUm93Q291bnQoKSA+PSBzdHlsZSgpLmdyaWRSb3dzKCkuc2l6ZSgpKTsKLSAgICBBU1NF
UlQoZ3JpZENvbHVtbkNvdW50KCkgPj0gc3R5bGUoKS5ncmlkQ29sdW1ucygpLnNpemUoKSk7Cisg
ICAgQVNTRVJUKGdyaWRSb3dDb3VudCgpID49IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNp
dEdyaWRSb3dDb3VudChzdHlsZSgpKSk7CisgICAgQVNTRVJUKGdyaWRDb2x1bW5Db3VudCgpID49
IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChzdHlsZSgpKSk7
CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHByb3Blcmx5ICJzdGFjayIgdmFsdWUgaW4gYXV0
by1wbGFjZW1lbnQgYWxnb3JpdGhtLgogICAgIGlmIChzdHlsZSgpLmlzR3JpZEF1dG9GbG93QWxn
b3JpdGhtU3RhY2soKSkgewpAQCAtNzQ4LDggKzc0OCw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxh
Y2VJdGVtc09uR3JpZCgpCiB2b2lkIFJlbmRlckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlkQW5k
T3JkZXJJdGVyYXRvcigpCiB7CiAgICAgT3JkZXJJdGVyYXRvclBvcHVsYXRvciBwb3B1bGF0b3Io
bV9vcmRlckl0ZXJhdG9yKTsKLSAgICBzaXplX3QgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8
c2l6ZV90PigxLCBzdHlsZSgpLmdyaWRSb3dzKCkuc2l6ZSgpKTsKLSAgICBzaXplX3QgbWF4aW11
bUNvbHVtbkluZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBzdHlsZSgpLmdyaWRDb2x1bW5zKCku
c2l6ZSgpKTsKKyAgICBzaXplX3QgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8c2l6ZV90Pigx
LCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQoc3R5bGUoKSkpOwor
ICAgIHNpemVfdCBtYXhpbXVtQ29sdW1uSW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIEdyaWRS
ZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChzdHlsZSgpKSk7CiAKICAg
ICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9
IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgIHBvcHVsYXRvci5jb2xsZWN0Q2hp
bGQoKmNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9H
cmlkQ29vcmRpbmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29y
ZGluYXRlLmgKaW5kZXggNTgzYWY1Yi4uOTJmOTZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmgKQEAgLTQwLDE0ICs0MCwxNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIFJlY29tbWVuZGVkIG1heGltdW0gc2l6ZSBmb3IgYm90
aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgZ3JpZHMuCitjb25zdCBzaXplX3Qga0dyaWRNYXhUcmFj
a3MgPSAxMDAwMDAwOworCiAvLyBBIHNwYW4gaW4gYSBzaW5nbGUgZGlyZWN0aW9uIChlaXRoZXIg
cm93cyBvciBjb2x1bW5zKS4gTm90ZSB0aGF0IHxyZXNvbHZlZEluaXRpYWxQb3NpdGlvbnwKIC8v
IGFuZCB8cmVzb2x2ZWRGaW5hbFBvc2l0aW9ufCBhcmUgZ3JpZCBhcmVhcycgaW5kZXhlcywgTk9U
IGdyaWQgbGluZXMnLiBJdGVyYXRpbmcgb3ZlciB0aGUKIC8vIHNwYW4gc2hvdWxkIGluY2x1ZGUg
Ym90aCB8cmVzb2x2ZWRJbml0aWFsUG9zaXRpb258IGFuZCB8cmVzb2x2ZWRGaW5hbFBvc2l0aW9u
fCB0byBiZSBjb3JyZWN0LgogY2xhc3MgR3JpZFNwYW4gewogcHVibGljOgogICAgIEdyaWRTcGFu
KGNvbnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZlZEluaXRpYWxQb3NpdGlvbiwgY29u
c3QgR3JpZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkRmluYWxQb3NpdGlvbikKLSAgICAgICAg
OiByZXNvbHZlZEluaXRpYWxQb3NpdGlvbihyZXNvbHZlZEluaXRpYWxQb3NpdGlvbikKLSAgICAg
ICAgLCByZXNvbHZlZEZpbmFsUG9zaXRpb24ocmVzb2x2ZWRGaW5hbFBvc2l0aW9uKQorICAgICAg
ICA6IHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uKHN0ZDo6bWluKHJlc29sdmVkSW5pdGlhbFBvc2l0
aW9uLnRvSW50KCksIGtHcmlkTWF4VHJhY2tzIC0gMSkpCisgICAgICAgICwgcmVzb2x2ZWRGaW5h
bFBvc2l0aW9uKHN0ZDo6bWluKHJlc29sdmVkRmluYWxQb3NpdGlvbi50b0ludCgpLCBrR3JpZE1h
eFRyYWNrcykpCiAgICAgewogICAgICAgICBBU1NFUlQocmVzb2x2ZWRJbml0aWFsUG9zaXRpb24g
PD0gcmVzb2x2ZWRGaW5hbFBvc2l0aW9uKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcAppbmRleCA2OWE4
YTU5Li4wZjM2MmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
R3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKQEAgLTQ4LDkgKzQ4LDE5IEBAIHN0YXRpYyBp
bmxpbmUgYm9vbCBpc1N0YXJ0U2lkZShHcmlkUG9zaXRpb25TaWRlIHNpZGUpCiAgICAgcmV0dXJu
IHNpZGUgPT0gQ29sdW1uU3RhcnRTaWRlIHx8IHNpZGUgPT0gUm93U3RhcnRTaWRlOwogfQogCitz
aXplX3QgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KGNvbnN0
IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7CisgICAgcmV0dXJuIHN0ZDo6bWlu
KGdyaWRDb250YWluZXJTdHlsZS5ncmlkQ29sdW1ucygpLnNpemUoKSwga0dyaWRNYXhUcmFja3Mp
OworfQorCitzaXplX3QgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50
KGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7CisgICAgcmV0dXJuIHN0
ZDo6bWluKGdyaWRDb250YWluZXJTdHlsZS5ncmlkUm93cygpLnNpemUoKSwga0dyaWRNYXhUcmFj
a3MpOworfQorCiBzdGF0aWMgc2l6ZV90IGV4cGxpY2l0R3JpZFNpemVGb3JTaWRlKGNvbnN0IFJl
bmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUsIEdyaWRQb3NpdGlvblNpZGUgc2lkZSkKIHsK
LSAgICByZXR1cm4gaXNDb2x1bW5TaWRlKHNpZGUpID8gZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRD
b2x1bW5zKCkuc2l6ZSgpIDogZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRSb3dzKCkuc2l6ZSgpOwor
ICAgIHJldHVybiBpc0NvbHVtblNpZGUoc2lkZSkgPyBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhw
bGljaXRHcmlkQ29sdW1uQ291bnQoZ3JpZENvbnRhaW5lclN0eWxlKSA6IEdyaWRSZXNvbHZlZFBv
c2l0aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChncmlkQ29udGFpbmVyU3R5bGUpOwogfQogCiBH
cmlkU3BhbiBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6cmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tQXV0
b1BsYWNlbWVudFBvc2l0aW9uKGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUs
IGNvbnN0IFJlbmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJl
Y3Rpb24sIGNvbnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZlZEluaXRpYWxQb3NpdGlv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2
ZWRQb3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZl
ZFBvc2l0aW9uLmgKaW5kZXggMjYzYjUyNC4uOGZiMTQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmgKQEAgLTE0Niw2
ICsxNDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBHcmlkUmVzb2x2ZWRQb3NpdGlvbiht
X2ludGVnZXJQb3NpdGlvbiArIDEpOwogICAgIH0KIAorICAgIHN0YXRpYyBzaXplX3QgZXhwbGlj
aXRHcmlkQ29sdW1uQ291bnQoY29uc3QgUmVuZGVyU3R5bGUmKTsKKyAgICBzdGF0aWMgc2l6ZV90
IGV4cGxpY2l0R3JpZFJvd0NvdW50KGNvbnN0IFJlbmRlclN0eWxlJik7CisKIHByaXZhdGU6CiAK
ICAgICBzaXplX3QgbV9pbnRlZ2VyUG9zaXRpb247CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmNhYmU2Yi4uNDZjMjY4YyAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDE0LTEwLTA3ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxp
Y2l0IGdyaWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNjIxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIGEgbmV3IHVuaXQgdGVzdCBmb3IgdGhlIENTUyBwYXJzZXIuIFJpZ2h0IG5vdyBpdCBv
bmx5IGNoZWNrcworICAgICAgICB0aGF0IHdlIHByb3Blcmx5IGNsYW1wIHRoZSBtYXhpbXVtIG51
bWJlciBvZiB0cmFja3Mgb24gYSBncmlkIHRvIGEKKyAgICAgICAgbWF4aW11bSBvZiAxIG1pbGxp
b24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJ
Ojpjb21wdXRlTnVtYmVyT2ZUcmFja3MpOiBIZWxwZXIgZnVuY3Rpb24uCisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKTogQWRkZWQgYQorICAgICAgICBDU1NQcm9wZXJ0eVBhcnNlclRlc3Qu
R3JpZFRyYWNrTGltaXRzIHRlc3QgY2FzZS4KKwogMjAxNC0xMC0wOCAgSmFrZSBOaWVsc2VuICA8
amFjb2JfbmllbHNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3R5bGVRdWV1ZSBzaG91bGQgdGhy
b3cgYSBQYXRjaElzTm90VmFsaWQgZXhjZXB0aW9uIHRvIGFjaGlldmUKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NN
YWtlTGlzdHMudHh0CmluZGV4IGJjNWQwYmUuLmEzMGY3ZjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFr
ZUxpc3RzLnR4dApAQCAtMTksMTIgKzE5LDE3IEBAIGluY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFL
RV9CSU5BUllfRElSfQogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9wYXJzZXIKICAgICAke0pB
VkFTQ1JJUFRDT1JFX0RJUn0vcnVudGltZQogICAgICR7VEhJUkRQQVJUWV9ESVJ9L2d0ZXN0L2lu
Y2x1ZGUKKyAgICAke1dFQkNPUkVfRElSfS9jc3MKKyAgICAke1dFQkNPUkVfRElSfS9kb20KICAg
ICAke1dFQkNPUkVfRElSfS9lZGl0aW5nCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0KKyAg
ICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hbmltYXRpb24KICAgICAke1dFQkNPUkVfRElSfS9w
bGF0Zm9ybS9ncmFwaGljcwogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL3RleHQKICAgICAk
e1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZv
cm0vbmV0d29yay9zb3VwCisgICAgJHtXRUJDT1JFX0RJUn0vcmVuZGVyaW5nCisgICAgJHtXRUJD
T1JFX0RJUn0vcmVuZGVyaW5nL3N0eWxlCiAgICAgJHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBD
CiAgICAgJHtXRUJLSVQyX0RJUn0vU2hhcmVkCiAgICAgJHtXRUJLSVQyX0RJUn0vU2hhcmVkL0FQ
SS9jCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCA4Njc3ZWE1Li5kNDQw
Njg2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTU3LDYgKzU3LDcg
QEAgbGlzdChBUFBFTkQgVGVzdEphdmFTY3JpcHRDb3JlX0xJQlJBUklFUwogIyBSZWxlYXNlIGJ1
aWxkcyBiZWZvcmUgYWRkaW5nIGl0IHRvIHRlc3Rfe3dlYmtpdDJfYXBpfHdlYmNvcmV9X0JJTkFS
SUVTLgogCiBzZXQodGVzdF93ZWJjb3JlX0JJTkFSSUVTCisgICAgQ1NTUGFyc2VyCiAgICAgTGF5
b3V0VW5pdAogICAgIFVSTAogKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKaW5k
ZXggYmFlODRkMy4uZDlmMTFhNyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUdUSy5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtl
CkBAIC0xMTMsMTIgKzExMywxNCBAQCBzZXQoVGVzdFdlYkNvcmVHdGtfU09VUkNFUwogICAgICR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2d0ay9HdGtJbnB1dE1ldGhvZEZpbHRlci5jcHAKICAgICAk
e1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL2d0ay9JbnB1dE1ldGhvZEZpbHRlci5j
cHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL2d0ay9Vc2VyQWdlbnRR
dWlya3MuY3BwCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1VzZXJBZ2VudFNj
cmlwdHNEYXRhLmNwcAogKQogCiBhZGRfZXhlY3V0YWJsZShUZXN0V2ViQ29yZQogICAgICR7dGVz
dF9tYWluX1NPVVJDRVN9CiAgICAgJHtUZXN0V2ViQ29yZUd0a19TT1VSQ0VTfQogICAgICR7VEVT
VFdFQktJVEFQSV9ESVJ9L1Rlc3RzQ29udHJvbGxlci5jcHAKKyAgICAke1RFU1RXRUJLSVRBUElf
RElSfS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElS
fS9UZXN0cy9XZWJDb3JlL0xheW91dFVuaXQuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0v
VGVzdHMvV2ViQ29yZS9VUkwuY3BwCiApCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZWE5
OTguLjc1MTVlZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDQsNiArMjQ0LDcgQEAK
IAkJQzk1NTAxQkYxOUFEMkZBRjAwNDlCRTNFIC8qIFByZWZlcmVuY2VzLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk1NTAxQkUxOUFEMkZBRjAwNDlC
RTNFIC8qIFByZWZlcmVuY2VzLm1tICovOyB9OwogCQlDRDUzOTNDODE3NTdCQTk3MDBDMDcxMjMg
LyogTUQ1LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENENTM5M0M3MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwICovOyB9OwogCQlDRDUzOTNDQTE3
NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgKi87
IH07CisJCUNENTQ1MUVBMTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NDUxRTkxOUU0MUY5RDAw
MTY5MzZGIC8qIENTU1BhcnNlci5jcHAgKi87IH07CiAJCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMz
MCAvKiBNZWRpYVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0Q1NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07
CiAJCUNEQzJDNzE1MTc5NzBEREIwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzJDNzE0MTc5NzA4OUQwMEU2
MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKIAkJQ0UxNEYxQTQxODE4NzNCMDAwMUMyNzA1
IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxNEYxQTIxODE4NzNC
MDAwMUMyNzA1IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWwgKi87
IH07CkBAIC02MTgsNiArNjE5LDcgQEAKIAkJQzk1NTAxQkUxOUFEMkZBRjAwNDlCRTNFIC8qIFBy
ZWZlcmVuY2VzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJl
ZmVyZW5jZXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTM5M0M3MTc1N0JB
OTcwMEMwNzEyMyAvKiBNRDUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTUQ1LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzkxNzU3QkFD
NDAwQzA3MTIzIC8qIFNIQTEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU0hBMS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENTQ1MUU5MTlFNDFG
OUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ1NTUGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1
NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVRpbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBUaW1lUmFuZ2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0UxNEYxQTIxODE4NzNCMDAwMUMyNzA1IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTENyYXNoLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxD
cmFzaC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzQ3LDYgKzc0OSw3IEBA
CiAJCTQ0MEExRDM2MTRBMDEwMDAwMDhBNjZGMiAvKiBXZWJDb3JlICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYg
LyogQ1NTUGFyc2VyLmNwcCAqLywKIAkJCQk5M0E3MjBFNTE4RjFBMEU4MDBBODQ4RTEgLyogQ2Fs
Y3VsYXRpb25WYWx1ZS5jcHAgKi8sCiAJCQkJQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8qIFRp
bWVSYW5nZXMuY3BwICovLAogCQkJCTQ0MEExRDM4MTRBMDEwM0EwMDhBNjZGMiAvKiBVUkwuY3Bw
ICovLApAQCAtMTM4OCw2ICsxMzkxLDcgQEAKIAkJCQkxQTdCRkMwQzE3MUEwQkRCMDBCQzVGNjQg
LyogV2lsbFNlbmRTdWJtaXRFdmVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMjJEMzE1MTRE
QzY4OTgwMEZGQjFERCAvKiBVc2VyTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU1
RjVGOTE0QUQ3OEVFMDA0ODRCRTEgLyogVmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNE
NTQ1MUVBMTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjkwQTlCQjcxNzM1REU4QTAwRDcxQkJDIC8qIENsb3NlTmV3V2luZG93SW5OYXZpZ2F0aW9u
UG9saWN5RGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRTIxN0VDRDE2NDBBNTRBMDA1
Mjk4OEIgLyogVk1JbnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTIwQkNGNEQxNDFF
QjA5RTAwOTM3RUE4IC8qIFdlYkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YWZkNDkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcApAQCAtMCwwICsxLDg0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJDb3Jl
L0NTU1BhcnNlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ1NTVmFsdWVMaXN0Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9TdHlsZVByb3BlcnRpZXMuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
eworCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlP
VVQpCitzdGF0aWMgdW5zaWduZWQgY29tcHV0ZU51bWJlck9mVHJhY2tzKENTU1ZhbHVlTGlzdCog
dmFsdWVMaXN0KQoreworICAgIHVuc2lnbmVkIG51bWJlck9mVHJhY2tzID0gMDsKKyAgICBmb3Ig
KENTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkgPSB2YWx1ZUxpc3Q7IGkuaGFzTW9yZSgpOyBpLmFkdmFu
Y2UoKSkgeworICAgICAgICBpZiAoaS52YWx1ZSgpLT5pc0dyaWRMaW5lTmFtZXNWYWx1ZSgpKQor
ICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICsrbnVtYmVyT2ZUcmFja3M7CisgICAgfQor
ICAgIHJldHVybiBudW1iZXJPZlRyYWNrczsKK30KKyNlbmRpZgorCitURVNUKENTU1Byb3BlcnR5
UGFyc2VyVGVzdCwgR3JpZFRyYWNrTGltaXRzKQoreworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlP
VVQpCisgICAgc3RydWN0IHsKKyAgICAgICAgY29uc3QgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
OworICAgICAgICBjb25zdCBjaGFyKiBpbnB1dDsKKyAgICAgICAgY29uc3Qgc2l6ZV90IG91dHB1
dDsKKyAgICB9IHRlc3RDYXNlc1tdID0geworICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlk
VGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5
OTk5OTksIDIwcHgpOyIsIDk5OTk5OX0sCisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRU
ZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDk5OTk5OSwg
MjBweCk7IiwgOTk5OTk5fSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRl
Q29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAwMDAwMCwg
MTAlKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRl
Um93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDAwMCwgMTAlKTsi
LCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1u
cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAwMDAwMCwgKGZpcnN0
KSAtd2Via2l0LW1pbi1jb250ZW50IChsYXN0KSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93
czogcmVwZWF0KDEwMDAwMDAsIChmaXJzdCkgLXdlYmtpdC1taW4tY29udGVudCAobGFzdCkpOyIs
IDEwMDAwMDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5z
LCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAxLCBhdXRvKTsi
LCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywg
Ii13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDAwMSwgYXV0byk7IiwgMTAw
MDAwMH0sCisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICIt
d2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQwMDAwMCwgMmVtIG1pbm1heCgx
MHB4LCAtd2Via2l0LW1heC1jb250ZW50KSAwLjVmcik7IiwgOTk5OTk5fSwKKyAgICAgICAge0NT
U1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1y
b3dzOiByZXBlYXQoNDAwMDAwLCAyZW0gbWlubWF4KDEwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQp
IDAuNWZyKTsiLCA5OTk5OTl9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxh
dGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2MDAwMDAs
IChmaXJzdCkgM3ZoIDEwJSAyZnIgKG5hdikgMTBweCBhdXRvIDFmciA2ZW0gKGxhc3QpKTsiLCA5
OTk5OTl9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg2MDAwMDAsIChmaXJzdCkgM3ZoIDEwJSAy
ZnIgKG5hdikgMTBweCBhdXRvIDFmciA2ZW0gKGxhc3QpKTsiLCA5OTk5OTl9LAorICAgIH07CisK
KyAgICBDU1NQYXJzZXIgcGFyc2VyKHN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CisgICAgUmVm
UHRyPE11dGFibGVTdHlsZVByb3BlcnRpZXM+IHByb3BlcnRpZXMgPSBNdXRhYmxlU3R5bGVQcm9w
ZXJ0aWVzOjpjcmVhdGUoKTsKKworICAgIGZvciAoYXV0byYgdGVzdENhc2UgOiB0ZXN0Q2FzZXMp
IHsKKyAgICAgICAgQVNTRVJUX1RSVUUocGFyc2VyLnBhcnNlRGVjbGFyYXRpb24ocHJvcGVydGll
cy5nZXQoKSwgdGVzdENhc2UuaW5wdXQsIG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUodGVz
dENhc2UucHJvcGVydHlJRCk7CisKKyAgICAgICAgQVNTRVJUX1RSVUUodmFsdWUtPmlzVmFsdWVM
aXN0KCkpOworICAgICAgICBFWFBFQ1RfRVEoY29tcHV0ZU51bWJlck9mVHJhY2tzKGRvd25jYXN0
PENTU1ZhbHVlTGlzdD4odmFsdWUuZ2V0KCkpKSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9Cisj
ZW5kaWYgLy8gRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK30KKworfSAvLyBuYW1lc3BhY2UgVGVz
dFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239612</attachid>
            <date>2014-10-10 02:59:55 -0700</date>
            <delta_ts>2014-10-10 10:01:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136217-20141010115957.patch</filename>
            <type>text/plain</type>
            <size>26012</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkyNGZjZWE4MTM2NzQx
MmY0ODllZjMzMDdiNzIxODk2NmQzMDA2Yy4uZDVkYTM1NTAxMzczZTc5NDEwMDFiNmFlNzM3ZmM1
OWJlNDFlNTA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24pOiBSZXBsYWNlZCB0aGUKKyAgICAgICAgb2xkIGxpbWl0IGJ5IHRo
ZSBuZXcgb25lLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOiBVc2UgdGhlIGFtb3VudCBv
ZiB0cmFja3MKKyAgICAgICAgcHJvdmlkZWQgYnkgR3JpZFJlc29sdmVkUG9zaXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRl
cmF0b3IpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRTcGFuOjpHcmlkU3Bhbik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudCk6IEJyaW5nCisg
ICAgICAgIHRoZSBzdGF0aWMgZnVuY3Rpb24gYmFjayB0byBsaWZlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpleHBsaWNpdEdyaWRTaXplRm9yU2lkZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmg6CisKIDIwMTQtMTAtMDkgIFBoaWxp
cCBDaGltZW50byAgPHBoaWxpcC5jaGltZW50b0BnbWFpbC5jb20+CiAKICAgICAgICAgW0dUS10g
TmV0c2NhcGUgcGx1Z2luIEFQSSBzeW1ib2wgdXNlZCBvdXRzaWRlIGZlYXR1cmUgZ3VhcmRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMjM2ZjlmYTI4N2Q1N2IzNmM1NzQxODI2MWY5MjkxNzgwMDA3Nzc0NC4uOTAxNjVmNjQxYWVh
OWExOGY1OTUxMzBkOTAyZjE0MmNhZmMwMTEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTIxMiw3ICs1MjEyLDcgQEAKIAkJ
QkM3NkFDMTMwREQ3QUQ1QzAwNDE1RjM0IC8qIFBhcnNlclV0aWxpdGllcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NkFDMTEwREQ3QUQ1QzAwNDE1
RjM0IC8qIFBhcnNlclV0aWxpdGllcy5oICovOyB9OwogCQlCQzc3MkIzQzBDNEVBOTFFMDA4MzI4
NUYgLyogQ1NTSGVscGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3NzJCM0QwQzRFQTkx
RTAwODMyODVGIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkIzNzBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmNw
cCAqLzsgfTsKLQkJQkM3NzJCM0UwQzRFQTkxRTAwODMyODVGIC8qIENTU1BhcnNlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NzJCMzgwQzRFQTkx
RTAwODMyODVGIC8qIENTU1BhcnNlci5oICovOyB9OworCQlCQzc3MkIzRTBDNEVBOTFFMDA4MzI4
NUYgLyogQ1NTUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzc3MkIzODBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3NzJDNDYwQzRFQjJD
NjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQzQ0MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRw
UmVxdWVzdC5jcHAgKi87IH07CiAJCUJDNzcyQzQ3MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRw
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM3NzJDNDUwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggKi87IH07CiAJCUJD
NzcyQzRFMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQzRDMEM0RUIzMDQwMDgz
Mjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmNwcCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKaW5kZXggOTYwNjAwYTdjMjllZWNiZjdmMDY0YzNiYTYxOWE2MGJmY2RkYmIzOS4uMGUwOTUz
ZWI5ZTUzNzI1NzVlNjRiYTY4YmNkY2E1ODIzMTQwNTc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJGbG9hdENvbnZlcnNpb24uaCIKKyNpbmNsdWRlICJHcmlk
Q29vcmRpbmF0ZS5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
YXNoVG9vbHMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKQEAgLTE1MCw5ICsxNTEsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBJTlZBTElEX05VTV9Q
QVJTRURfUFJPUEVSVElFUyA9IFVJTlRfTUFYOwogc3RhdGljIGNvbnN0IGRvdWJsZSBNQVhfU0NB
TEUgPSAxMDAwMDAwOwotI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCi1zdGF0aWMgY29uc3Qg
dW5zaWduZWQgTUFYX0dSSURfVFJBQ0tfUkVQRVRJVElPTlMgPSAxMDAwMDsKLSNlbmRpZgogCiB0
ZW1wbGF0ZSA8dW5zaWduZWQgTj4KIHN0YXRpYyBib29sIGVxdWFsKGNvbnN0IENTU1BhcnNlclN0
cmluZyYgYSwgY29uc3QgY2hhciAoJmIpW05dKQpAQCAtNTI3MCwxMiArNTI2OCw5IEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlz
dCkKICAgICBpZiAoIWFyZ3VtZW50cyB8fCBhcmd1bWVudHMtPnNpemUoKSA8IDMgfHwgIXZhbGlk
VW5pdChhcmd1bWVudHMtPnZhbHVlQXQoMCksIEZQb3NpdGl2ZUludGVnZXIpIHx8ICFpc0NvbW1h
KGFyZ3VtZW50cy0+dmFsdWVBdCgxKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIEFT
U0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKGFyZ3VtZW50cy0+dmFsdWVBdCgwKS0+ZlZh
bHVlID4gMCk7CiAgICAgc2l6ZV90IHJlcGV0aXRpb25zID0gYXJndW1lbnRzLT52YWx1ZUF0KDAp
LT5mVmFsdWU7Ci0gICAgLy8gQ2xhbXAgcmVwZXRpdGlvbnMgYXQgTUFYX0dSSURfVFJBQ0tfUkVQ
RVRJVElPTlMuCi0gICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jcmVwZWF0
LW5vdGF0aW9uCi0gICAgaWYgKHJlcGV0aXRpb25zID4gTUFYX0dSSURfVFJBQ0tfUkVQRVRJVElP
TlMpCi0gICAgICAgIHJlcGV0aXRpb25zID0gTUFYX0dSSURfVFJBQ0tfUkVQRVRJVElPTlM7Cisg
ICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ocmVwZXRpdGlvbnMgPiAwKTsKKwog
ICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHJlcGVhdGVkVmFsdWVzID0gQ1NTVmFsdWVMaXN0Ojpj
cmVhdGVTcGFjZVNlcGFyYXRlZCgpOwogICAgIGFyZ3VtZW50cy0+bmV4dCgpOyAvLyBTa2lwIHRo
ZSByZXBldGl0aW9uIGNvdW50LgogICAgIGFyZ3VtZW50cy0+bmV4dCgpOyAvLyBTa2lwIHRoZSBj
b21tYS4KQEAgLTUyODUsMTQgKzUyODAsMTQgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIGlmIChjdXJyZW50VmFs
dWUgJiYgY3VycmVudFZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpWYWx1ZUxpc3QpCiAg
ICAgICAgIHBhcnNlR3JpZExpbmVOYW1lcygqYXJndW1lbnRzLCAqcmVwZWF0ZWRWYWx1ZXMpOwog
Ci0gICAgYm9vbCBzYXdUcmFja1NpemUgPSBmYWxzZTsKKyAgICB1bnNpZ25lZCBudW1iZXJPZlRy
YWNrcyA9IDA7CiAgICAgd2hpbGUgKGFyZ3VtZW50cy0+Y3VycmVudCgpKSB7CiAgICAgICAgIFJl
ZlB0cjxDU1NWYWx1ZT4gdHJhY2tTaXplID0gcGFyc2VHcmlkVHJhY2tTaXplKCphcmd1bWVudHMp
OwogICAgICAgICBpZiAoIXRyYWNrU2l6ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgICAgICByZXBlYXRlZFZhbHVlcy0+YXBwZW5kKHRyYWNrU2l6ZS5yZWxlYXNlTm9uTnVsbCgp
KTsKLSAgICAgICAgc2F3VHJhY2tTaXplID0gdHJ1ZTsKKyAgICAgICAgKytudW1iZXJPZlRyYWNr
czsKIAogICAgICAgICAvLyBUaGlzIHRha2VzIGNhcmUgb2YgYW55IHRyYWlsaW5nIDxjdXN0b20t
aWRlbnQ+KiBpbiB0aGUgZ3JhbW1hci4KICAgICAgICAgY3VycmVudFZhbHVlID0gYXJndW1lbnRz
LT5jdXJyZW50KCk7CkBAIC01MzAxLDkgKzUyOTYsMTMgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
R3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIH0KIAogICAg
IC8vIFdlIHNob3VsZCBoYXZlIGZvdW5kIGF0IGxlYXN0IG9uZSA8dHJhY2stc2l6ZT4sIG90aGVy
d2lzZSB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZC4KLSAgICBpZiAoIXNhd1RyYWNrU2l6ZSkK
KyAgICBpZiAoIW51bWJlck9mVHJhY2tzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAv
LyBXZSBjbGFtcCB0aGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIHRvIGEgbXVsdGlwbGUgb2YgdGhl
IHJlcGVhdCgpIHRyYWNrIGxpc3QncyBzaXplLCB3aGlsZSBzdGF5aW5nIGJlbG93IHRoZSBtYXgK
KyAgICAvLyBncmlkIHNpemUuCisgICAgcmVwZXRpdGlvbnMgPSBzdGQ6Om1pbihyZXBldGl0aW9u
cywga0dyaWRNYXhUcmFja3MgLyBudW1iZXJPZlRyYWNrcyk7CisKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHJlcGV0aXRpb25zOyArK2kpIHsKICAgICAgICAgZm9yIChzaXplX3QgaiA9IDA7
IGogPCByZXBlYXRlZFZhbHVlcy0+bGVuZ3RoKCk7ICsraikKICAgICAgICAgICAgIGxpc3QuYXBw
ZW5kKCpyZXBlYXRlZFZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhqKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggYmNkNTRlMmI3NTcyYjIwOTEwYTQ0
YjIzMDRmNWE1NDQ1ZDhmYjUwMC4uZDg1MjVkMTJiNDU2ZTZkZWE4YzVlNjQ0OWYxMjYyMWM1Njhm
MmJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtNzMwLDgg
KzczMCw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtc09uR3JpZCgpCiAgICAgICAgIGlu
c2VydEl0ZW1JbnRvR3JpZCgqY2hpbGQsIEdyaWRDb29yZGluYXRlKCpyb3dQb3NpdGlvbnMsICpj
b2x1bW5Qb3NpdGlvbnMpKTsKICAgICB9CiAKLSAgICBBU1NFUlQoZ3JpZFJvd0NvdW50KCkgPj0g
c3R5bGUoKS5ncmlkUm93cygpLnNpemUoKSk7Ci0gICAgQVNTRVJUKGdyaWRDb2x1bW5Db3VudCgp
ID49IHN0eWxlKCkuZ3JpZENvbHVtbnMoKS5zaXplKCkpOworICAgIEFTU0VSVChncmlkUm93Q291
bnQoKSA+PSBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQoc3R5bGUo
KSkpOworICAgIEFTU0VSVChncmlkQ29sdW1uQ291bnQoKSA+PSBHcmlkUmVzb2x2ZWRQb3NpdGlv
bjo6ZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoc3R5bGUoKSkpOwogCiAgICAgLy8gRklYTUU6IElt
cGxlbWVudCBwcm9wZXJseSAic3RhY2siIHZhbHVlIGluIGF1dG8tcGxhY2VtZW50IGFsZ29yaXRo
bS4KICAgICBpZiAoc3R5bGUoKS5pc0dyaWRBdXRvRmxvd0FsZ29yaXRobVN0YWNrKCkpIHsKQEAg
LTc0OCw4ICs3NDgsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQoKQogdm9p
ZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRlcmF0b3IoKQogewog
ICAgIE9yZGVySXRlcmF0b3JQb3B1bGF0b3IgcG9wdWxhdG9yKG1fb3JkZXJJdGVyYXRvcik7Ci0g
ICAgc2l6ZV90IG1heGltdW1Sb3dJbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgc3R5bGUoKS5n
cmlkUm93cygpLnNpemUoKSk7Ci0gICAgc2l6ZV90IG1heGltdW1Db2x1bW5JbmRleCA9IHN0ZDo6
bWF4PHNpemVfdD4oMSwgc3R5bGUoKS5ncmlkQ29sdW1ucygpLnNpemUoKSk7CisgICAgc2l6ZV90
IG1heGltdW1Sb3dJbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgR3JpZFJlc29sdmVkUG9zaXRp
b246OmV4cGxpY2l0R3JpZFJvd0NvdW50KHN0eWxlKCkpKTsKKyAgICBzaXplX3QgbWF4aW11bUNv
bHVtbkluZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhw
bGljaXRHcmlkQ29sdW1uQ291bnQoc3R5bGUoKSkpOwogCiAgICAgZm9yIChSZW5kZXJCb3gqIGNo
aWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdC
b3goKSkgewogICAgICAgICBwb3B1bGF0b3IuY29sbGVjdENoaWxkKCpjaGlsZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oCmluZGV4IDU4M2Fm
NWJhYWU0OGVlYzZhNWIzMmJlOGQ2ZjZmMTQ0ZWQ3N2FlNzMuLjkyZjk2ZTY0NWZhZWFmY2NmNTE4
NjI4Y2NjN2ZjYWFjNTYxY2ZjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9HcmlkQ29vcmRpbmF0ZS5oCkBAIC00MCwxNCArNDAsMTcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCisvLyBSZWNvbW1lbmRlZCBtYXhpbXVtIHNpemUgZm9yIGJvdGggZXhwbGljaXQg
YW5kIGltcGxpY2l0IGdyaWRzLgorY29uc3Qgc2l6ZV90IGtHcmlkTWF4VHJhY2tzID0gMTAwMDAw
MDsKKwogLy8gQSBzcGFuIGluIGEgc2luZ2xlIGRpcmVjdGlvbiAoZWl0aGVyIHJvd3Mgb3IgY29s
dW1ucykuIE5vdGUgdGhhdCB8cmVzb2x2ZWRJbml0aWFsUG9zaXRpb258CiAvLyBhbmQgfHJlc29s
dmVkRmluYWxQb3NpdGlvbnwgYXJlIGdyaWQgYXJlYXMnIGluZGV4ZXMsIE5PVCBncmlkIGxpbmVz
Jy4gSXRlcmF0aW5nIG92ZXIgdGhlCiAvLyBzcGFuIHNob3VsZCBpbmNsdWRlIGJvdGggfHJlc29s
dmVkSW5pdGlhbFBvc2l0aW9ufCBhbmQgfHJlc29sdmVkRmluYWxQb3NpdGlvbnwgdG8gYmUgY29y
cmVjdC4KIGNsYXNzIEdyaWRTcGFuIHsKIHB1YmxpYzoKICAgICBHcmlkU3Bhbihjb25zdCBHcmlk
UmVzb2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRJbml0aWFsUG9zaXRpb24sIGNvbnN0IEdyaWRSZXNv
bHZlZFBvc2l0aW9uJiByZXNvbHZlZEZpbmFsUG9zaXRpb24pCi0gICAgICAgIDogcmVzb2x2ZWRJ
bml0aWFsUG9zaXRpb24ocmVzb2x2ZWRJbml0aWFsUG9zaXRpb24pCi0gICAgICAgICwgcmVzb2x2
ZWRGaW5hbFBvc2l0aW9uKHJlc29sdmVkRmluYWxQb3NpdGlvbikKKyAgICAgICAgOiByZXNvbHZl
ZEluaXRpYWxQb3NpdGlvbihzdGQ6Om1pbihyZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgp
LCBrR3JpZE1heFRyYWNrcyAtIDEpKQorICAgICAgICAsIHJlc29sdmVkRmluYWxQb3NpdGlvbihz
dGQ6Om1pbihyZXNvbHZlZEZpbmFsUG9zaXRpb24udG9JbnQoKSwga0dyaWRNYXhUcmFja3MpKQog
ICAgIHsKICAgICAgICAgQVNTRVJUKHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uIDw9IHJlc29sdmVk
RmluYWxQb3NpdGlvbik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKaW5kZXggNjlhOGE1OTQzZTM4Yzc1
NTk5NWJlZjZmMmJiNDhhYTRlZDU0Y2ZkMC4uMGYzNjJhZWZhMWJhZjYxMTE0ZWY0YjQ0ODE3Njcw
N2IyYmUyNTMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dy
aWRSZXNvbHZlZFBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCkBAIC00OCw5ICs0OCwxOSBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTdGFydFNpZGUoR3JpZFBvc2l0aW9uU2lkZSBzaWRlKQogICAgIHJldHVybiBz
aWRlID09IENvbHVtblN0YXJ0U2lkZSB8fCBzaWRlID09IFJvd1N0YXJ0U2lkZTsKIH0KIAorc2l6
ZV90IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChjb25zdCBS
ZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlKQoreworICAgIHJldHVybiBzdGQ6Om1pbihn
cmlkQ29udGFpbmVyU3R5bGUuZ3JpZENvbHVtbnMoKS5zaXplKCksIGtHcmlkTWF4VHJhY2tzKTsK
K30KKworc2l6ZV90IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChj
b25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlKQoreworICAgIHJldHVybiBzdGQ6
Om1pbihncmlkQ29udGFpbmVyU3R5bGUuZ3JpZFJvd3MoKS5zaXplKCksIGtHcmlkTWF4VHJhY2tz
KTsKK30KKwogc3RhdGljIHNpemVfdCBleHBsaWNpdEdyaWRTaXplRm9yU2lkZShjb25zdCBSZW5k
ZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLCBHcmlkUG9zaXRpb25TaWRlIHNpZGUpCiB7Ci0g
ICAgcmV0dXJuIGlzQ29sdW1uU2lkZShzaWRlKSA/IGdyaWRDb250YWluZXJTdHlsZS5ncmlkQ29s
dW1ucygpLnNpemUoKSA6IGdyaWRDb250YWluZXJTdHlsZS5ncmlkUm93cygpLnNpemUoKTsKKyAg
ICByZXR1cm4gaXNDb2x1bW5TaWRlKHNpZGUpID8gR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxp
Y2l0R3JpZENvbHVtbkNvdW50KGdyaWRDb250YWluZXJTdHlsZSkgOiBHcmlkUmVzb2x2ZWRQb3Np
dGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQoZ3JpZENvbnRhaW5lclN0eWxlKTsKIH0KIAogR3Jp
ZFNwYW4gR3JpZFJlc29sdmVkUG9zaXRpb246OnJlc29sdmVHcmlkUG9zaXRpb25zRnJvbUF1dG9Q
bGFjZW1lbnRQb3NpdGlvbihjb25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLCBj
b25zdCBSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0
aW9uLCBjb25zdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRJbml0aWFsUG9zaXRpb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVk
UG9zaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQ
b3NpdGlvbi5oCmluZGV4IDI2M2I1MjQzYjY0MzFlMDg1YzEyNjY2NzE3OWRiMGU2ZWQwOTdjOTIu
LjhmYjE0M2YyMWY1NmVmNWQzNjY2NmJiYWUxYzIxZWQwNTk4YTk3ODcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5oCkBA
IC0xNDYsNiArMTQ2LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gR3JpZFJlc29sdmVkUG9z
aXRpb24obV9pbnRlZ2VyUG9zaXRpb24gKyAxKTsKICAgICB9CiAKKyAgICBzdGF0aWMgc2l6ZV90
IGV4cGxpY2l0R3JpZENvbHVtbkNvdW50KGNvbnN0IFJlbmRlclN0eWxlJik7CisgICAgc3RhdGlj
IHNpemVfdCBleHBsaWNpdEdyaWRSb3dDb3VudChjb25zdCBSZW5kZXJTdHlsZSYpOworCiBwcml2
YXRlOgogCiAgICAgc2l6ZV90IG1faW50ZWdlclBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDJjYWJlNmI5N2ZkM2Y0NzUxNGRiNTYy
ZDg2NjY2MmZhOWM1ZThjN2QuLjQ2YzI2OGNlZjhjZDk1MWIyZmJiMGEwNTAyNWZhM2ExOGE4YTYz
MmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMyBAQAorMjAxNC0xMC0wNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJA
aWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBMaW1pdCB0aGUgc2l6ZSBv
ZiBleHBsaWNpdC9pbXBsaWNpdCBncmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzYyMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBhIG5ldyB1bml0IHRlc3QgZm9yIHRoZSBDU1MgcGFyc2Vy
LiBSaWdodCBub3cgaXQgb25seSBjaGVja3MKKyAgICAgICAgdGhhdCB3ZSBwcm9wZXJseSBjbGFt
cCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdHJhY2tzIG9uIGEgZ3JpZCB0byBhCisgICAgICAgIG1h
eGltdW0gb2YgMSBtaWxsaW9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHA6IEFkZGVkLgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6Y29tcHV0ZU51bWJlck9mVHJhY2tzKTogSGVscGVyIGZ1bmN0aW9u
LgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6IEFkZGVkIGEKKyAgICAgICAgQ1NTUHJv
cGVydHlQYXJzZXJUZXN0LkdyaWRUcmFja0xpbWl0cyB0ZXN0IGNhc2UuCisKIDIwMTQtMTAtMDgg
IEpha2UgTmllbHNlbiAgPGphY29iX25pZWxzZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN0eWxl
UXVldWUgc2hvdWxkIHRocm93IGEgUGF0Y2hJc05vdFZhbGlkIGV4Y2VwdGlvbiB0byBhY2hpZXZl
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYzVkMGJlZGQ3OTUzYzBlMDVlMTE5
NDU2Nzk4NGNmNDk1NmIyNzE5Li5hMzBmN2Y0ODNmYTIzMmFjNTAyMmY2ODdjYTBmNTQ2NTdjYzNi
ZjY2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKQEAgLTE5LDEyICsxOSwxNyBAQCBp
bmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0KICAgICAke0pBVkFTQ1JJUFRD
T1JFX0RJUn0vcGFyc2VyCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3J1bnRpbWUKICAgICAk
e1RISVJEUEFSVFlfRElSfS9ndGVzdC9pbmNsdWRlCisgICAgJHtXRUJDT1JFX0RJUn0vY3NzCisg
ICAgJHtXRUJDT1JFX0RJUn0vZG9tCiAgICAgJHtXRUJDT1JFX0RJUn0vZWRpdGluZwogICAgICR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtCisgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vYW5pbWF0
aW9uCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MKICAgICAke1dFQkNPUkVf
RElSfS9wbGF0Zm9ybS90ZXh0CiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yawog
ICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvc291cAorICAgICR7V0VCQ09SRV9E
SVJ9L3JlbmRlcmluZworICAgICR7V0VCQ09SRV9ESVJ9L3JlbmRlcmluZy9zdHlsZQogICAgICR7
V0VCS0lUMl9ESVJ9L1BsYXRmb3JtL0lQQwogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZAogICAg
ICR7V0VCS0lUMl9ESVJ9L1NoYXJlZC9BUEkvYwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggODY3N2VhNWEwZjE5OTBkMWM1MjA5NjgxMjAwYjA4NWU2MWI3NDk1OC4uZDQ0
MDY4NmRkZTMzZDI4ZTc1NzVlNzFiZTE4YzQyNmU5MjEzMDk1MyAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1BsYXRmb3JtRWZsLmNtYWtlCkBAIC01Nyw2ICs1Nyw3IEBAIGxpc3QoQVBQRU5EIFRlc3RKYXZh
U2NyaXB0Q29yZV9MSUJSQVJJRVMKICMgUmVsZWFzZSBidWlsZHMgYmVmb3JlIGFkZGluZyBpdCB0
byB0ZXN0X3t3ZWJraXQyX2FwaXx3ZWJjb3JlfV9CSU5BUklFUy4KIAogc2V0KHRlc3Rfd2ViY29y
ZV9CSU5BUklFUworICAgIENTU1BhcnNlcgogICAgIExheW91dFVuaXQKICAgICBVUkwKICkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGJhZTg0ZDNjODc0ZjU0NTc5YmQ1
NmNjMTE2MmRjMDM4MmVjOWJjZWEuLmQ5ZjExYTdiOGZjZmRkZDE0MjY2ZWMyY2VkNDU4N2Q2MmYx
NDhiMTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTEzLDEyICsx
MTMsMTQgQEAgc2V0KFRlc3RXZWJDb3JlR3RrX1NPVVJDRVMKICAgICAke1dFQkNPUkVfRElSfS9w
bGF0Zm9ybS9ndGsvR3RrSW5wdXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJ
X0RJUn0vVGVzdHMvV2ViQ29yZS9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNU
V0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9ndGsvVXNlckFnZW50UXVpcmtzLmNwcAorICAg
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9Vc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAK
ICkKIAogYWRkX2V4ZWN1dGFibGUoVGVzdFdlYkNvcmUKICAgICAke3Rlc3RfbWFpbl9TT1VSQ0VT
fQogICAgICR7VGVzdFdlYkNvcmVHdGtfU09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElS
fS9UZXN0c0NvbnRyb2xsZXIuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2Vi
Q29yZS9DU1NQYXJzZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29y
ZS9MYXlvdXRVbml0LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUv
VVJMLmNwcAogKQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZWVhOTk4MTYwMjhjMTljNGVm
N2NiY2ExNDhlY2M0ZGZkZWQ2NTU2Li43NTE1ZWZlNjY2MzMwMjUzYTA2ZjkxYzMzODJjN2ViZTQx
NDE5ZDZmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQ0LDYgKzI0NCw3IEBACiAJCUM5
NTUwMUJGMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAv
KiBQcmVmZXJlbmNlcy5tbSAqLzsgfTsKIAkJQ0Q1MzkzQzgxNzU3QkE5NzAwQzA3MTIzIC8qIE1E
NS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUz
OTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLzsgfTsKIAkJQ0Q1MzkzQ0ExNzU3QkFD
NDAwQzA3MTIzIC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0Q1MzkzQzkxNzU3QkFDNDAwQzA3MTIzIC8qIFNIQTEuY3BwICovOyB9Owor
CQlDRDU0NTFFQTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTQ1MUU5MTlFNDFGOUQwMDE2OTM2
RiAvKiBDU1NQYXJzZXIuY3BwICovOyB9OwogCQlDRDU0OTdCNDE1ODU3RjBDMDBCNUJDMzAgLyog
TWVkaWFUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENENTQ5N0IzMTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovOyB9OwogCQlD
REMyQzcxNTE3OTcwRERCMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIg
LyogVGltZVJhbmdlcy5jcHAgKi87IH07CiAJCUNFMTRGMUE0MTgxODczQjAwMDFDMjcwNSAvKiBX
aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sIGluIENvcHkgUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMTRGMUEyMTgxODczQjAwMDFD
MjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sICovOyB9OwpA
QCAtNjE4LDYgKzYxOSw3IEBACiAJCUM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJl
bmNlcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVu
Y2VzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDNzE3NTdCQTk3MDBD
MDcxMjMgLyogTUQ1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1E
NS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTM5M0M5MTc1N0JBQzQwMEMw
NzEyMyAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNI
QTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRDU0NTFFOTE5RTQxRjlEMDAx
NjkzNkYgLyogQ1NTUGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENTU1BhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTQ5N0Iz
MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVGltZVJhbmdlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
MTRGMUEyMTgxODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxD
cmFzaC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2gu
aHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc0Nyw2ICs3NDksNyBAQAogCQk0
NDBBMUQzNjE0QTAxMDAwMDA4QTY2RjIgLyogV2ViQ29yZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5MzZGIC8qIENT
U1BhcnNlci5jcHAgKi8sCiAJCQkJOTNBNzIwRTUxOEYxQTBFODAwQTg0OEUxIC8qIENhbGN1bGF0
aW9uVmFsdWUuY3BwICovLAogCQkJCUNEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFu
Z2VzLmNwcCAqLywKIAkJCQk0NDBBMUQzODE0QTAxMDNBMDA4QTY2RjIgLyogVVJMLmNwcCAqLywK
QEAgLTEzODgsNiArMTM5MSw3IEBACiAJCQkJMUE3QkZDMEMxNzFBMEJEQjAwQkM1RjY0IC8qIFdp
bGxTZW5kU3VibWl0RXZlbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzIyRDMxNTE0REM2ODk4
MDBGRkIxREQgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NUY1Rjkx
NEFENzhFRTAwNDg0QkUxIC8qIFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDU0NTFF
QTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5
MEE5QkI3MTczNURFOEEwMEQ3MUJCQyAvKiBDbG9zZU5ld1dpbmRvd0luTmF2aWdhdGlvblBvbGlj
eURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRkUyMTdFQ0QxNjQwQTU0QTAwNTI5ODhC
IC8qIFZNSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUyMEJDRjREMTQxRUIwOUUw
MDkzN0VBOCAvKiBXZWJBcmNoaXZlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDhiNWIx
NDU0MmQ2YWM3OGYwODk0NDA2NGQ2ODdmMzljZGZmMjk3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAKQEAgLTAsMCArMSw4
MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8V2Vi
Q29yZS9DU1NQYXJzZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0NTU1ZhbHVlTGlzdC5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvU3R5bGVQcm9wZXJ0aWVzLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKKworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCitzdGF0aWMgdW5zaWduZWQgY29t
cHV0ZU51bWJlck9mVHJhY2tzKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdCogdmFsdWVMaXN0KQorewor
ICAgIHVuc2lnbmVkIG51bWJlck9mVHJhY2tzID0gMDsKKyAgICBmb3IgKFdlYkNvcmU6OkNTU1Zh
bHVlTGlzdEl0ZXJhdG9yIGkgPSB2YWx1ZUxpc3Q7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkg
eworICAgICAgICBpZiAoaS52YWx1ZSgpLT5pc0dyaWRMaW5lTmFtZXNWYWx1ZSgpKQorICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICsrbnVtYmVyT2ZUcmFja3M7CisgICAgfQorICAgIHJl
dHVybiBudW1iZXJPZlRyYWNrczsKK30KKyNlbmRpZgorCitURVNUKENTU1Byb3BlcnR5UGFyc2Vy
VGVzdCwgR3JpZFRyYWNrTGltaXRzKQoreworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisg
ICAgc3RydWN0IHsKKyAgICAgICAgY29uc3QgV2ViQ29yZTo6Q1NTUHJvcGVydHlJRCBwcm9wZXJ0
eUlEOworICAgICAgICBjb25zdCBjaGFyKiBpbnB1dDsKKyAgICAgICAgY29uc3Qgc2l6ZV90IG91
dHB1dDsKKyAgICB9IHRlc3RDYXNlc1tdID0geworICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVy
dHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVt
bnM6IHJlcGVhdCg5OTk5OTksIDIwcHgpOyIsIDk5OTk5OX0sCisgICAgICAgIHtXZWJDb3JlOjpD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUt
cm93czogcmVwZWF0KDk5OTk5OSwgMjBweCk7IiwgOTk5OTk5fSwKKyAgICAgICAge1dlYkNvcmU6
OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAwMDAwMCwgMTAlKTsiLCAxMDAwMDAwfSwKKyAgICAgICAg
e1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDAwMCwgMTAlKTsiLCAxMDAwMDAwfSwKKyAgICAg
ICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAwMDAwMCwgKGZpcnN0KSAtd2Via2l0
LW1pbi1jb250ZW50IChsYXN0KSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93
czogcmVwZWF0KDEwMDAwMDAsIChmaXJzdCkgLXdlYmtpdC1taW4tY29udGVudCAobGFzdCkpOyIs
IDEwMDAwMDB9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxh
dGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAx
LCBhdXRvKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0
R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAw
MDAwMSwgYXV0byk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdl
YmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczog
cmVwZWF0KDQwMDAwMCwgMmVtIG1pbm1heCgxMHB4LCAtd2Via2l0LW1heC1jb250ZW50KSAwLjVm
cik7IiwgOTk5OTk5fSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRl
bXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNDAwMDAwLCAy
ZW0gbWlubWF4KDEwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQpIDAuNWZyKTsiLCA5OTk5OTl9LAor
ICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAi
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2MDAwMDAsIChmaXJzdCkgM3Zo
IDEwJSAyZnIgKG5hdikgMTBweCBhdXRvIDFmciA2ZW0gKGxhc3QpKTsiLCA5OTk5OTl9LAorICAg
ICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg2MDAwMDAsIChmaXJzdCkgM3ZoIDEwJSAyZnIg
KG5hdikgMTBweCBhdXRvIDFmciA2ZW0gKGxhc3QpKTsiLCA5OTk5OTl9LAorICAgIH07CisKKyAg
ICBXZWJDb3JlOjpDU1NQYXJzZXIgcGFyc2VyKFdlYkNvcmU6OnN0cmljdENTU1BhcnNlckNvbnRl
eHQoKSk7CisgICAgUmVmUHRyPFdlYkNvcmU6Ok11dGFibGVTdHlsZVByb3BlcnRpZXM+IHByb3Bl
cnRpZXMgPSBXZWJDb3JlOjpNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKworICAg
IGZvciAoYXV0byYgdGVzdENhc2UgOiB0ZXN0Q2FzZXMpIHsKKyAgICAgICAgQVNTRVJUX1RSVUUo
cGFyc2VyLnBhcnNlRGVjbGFyYXRpb24ocHJvcGVydGllcy5nZXQoKSwgdGVzdENhc2UuaW5wdXQs
IG51bGxwdHIsIG51bGxwdHIpKTsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkNTU1ZhbHVlPiB2
YWx1ZSA9IHByb3BlcnRpZXMtPmdldFByb3BlcnR5Q1NTVmFsdWUodGVzdENhc2UucHJvcGVydHlJ
RCk7CisKKyAgICAgICAgQVNTRVJUX1RSVUUodmFsdWUtPmlzVmFsdWVMaXN0KCkpOworICAgICAg
ICBFWFBFQ1RfRVEoY29tcHV0ZU51bWJlck9mVHJhY2tzKGRvd25jYXN0PFdlYkNvcmU6OkNTU1Zh
bHVlTGlzdD4odmFsdWUuZ2V0KCkpKSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9CisjZW5kaWYg
Ly8gRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDc3N2VkNDk5MTY4MzQ4MDVlNDUyNjAyNjk3MzkyZTM5YzdjNWZhN2IuLjc4
NWJmMDE5YWY3OTRlZjUxMjFjNThmZTJhNTdmNjBjOTRlMjI2M2YgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxNC0xMC0wNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBMaW1pdCB0aGUgc2l6ZSBvZiBleHBsaWNp
dC9pbXBsaWNpdCBncmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzYyMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZW1vdmVkIGFzIHRoZXkgYXJlIG5vdyBwYXJ0IG9mIHRoZSBXZWJDb3JlJ3MgQ1NT
UGFyc2VyLmNwcCB1bml0CisgICAgICAgIHRlc3QuIFRoZSByZWFzb24gd2h5IGl0IHdhcyBtb3Zl
ZCB0aGVyZSBpcyBiZWNhdXNlIHRoZSB0ZXN0IHdvdWxkCisgICAgICAgIHJlcXVpcmUgaHVnZSAo
fjEwMDAwMDAgdHJhY2tzKSBncmlkIGFsbG9jYXRpb25zLCBtYWtpbmcgdGhlIHRlc3QKKyAgICAg
ICAgcXVpdGUgc2xvdyBzcGVjaWFsbHkgb24gRGVidWcgYnVpbGRzLgorCisgICAgICAgICogZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
ZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLmh0bWw6IFJlbW92ZWQuCisKIDIwMTQtMTAt
MDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHNvbWUgbW9yZSBwYXNzaW5nIHRlc3RzIGZyb20gVGVzdEV4cGVjdGF0aW9ucy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBl
YXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I0ZTk2NTM2MjFlMzE4ZmQwYzliOThk
NzM3MDI1Zjk2M2YyODUwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVw
ZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLVRlc3QgdGhlIHZhbHVlcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRpdGlv
bnMgdmFsdWUgYXJlIGNsYW1wZWQgdGhyb3VnaCBDU1MuCi1QQVNTCi1QQVNTCi1QQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVw
ZWF0LW1heC1yZXBldGl0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNTJiZmUxM2VkMWJmYTQ2MDk5OGEyMzE0MDYzZWY2Y2QwNzE5YjU0
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0
aW9ucy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQi
LCAxKTsKLTwvc2NyaXB0PgotPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0
eWxlc2hlZXQiPgotPHN0eWxlPgotLmNsYW1wUmVwZXRpdGlvbnNCZWxvd0xpbWl0IHsKLSAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDk5OTUsIDFweCk7Ci19Ci0KLS5jbGFt
cFJlcGV0aXRpb25zT25MaW1pdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJl
cGVhdCgxMDAwMCwgMXB4KTsKLX0KLQotLmNsYW1wUmVwZXRpdGlvbnNBYm92ZUxpbWl0IHsKLSAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDA1LCAxcHgpOwotfQotPC9z
dHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3Nj
cmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJykiPgotCi08
ZGl2PlRlc3QgdGhlIHZhbHVlcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRpdGlvbnMg
dmFsdWUgYXJlIGNsYW1wZWQgdGhyb3VnaCBDU1MuPC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImdyaWQg
Y2xhbXBSZXBldGl0aW9uc0JlbG93TGltaXQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI5OTk1Ij48
L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJlcGV0aXRpb25zT25MaW1pdCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjEwMDAwIj48L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJl
cGV0aXRpb25zQWJvdmVMaW1pdCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMDAwIj48L2Rpdj4K
LQotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239634</attachid>
            <date>2014-10-10 10:01:38 -0700</date>
            <delta_ts>2014-10-13 01:58:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136217-20141010190140.patch</filename>
            <type>text/plain</type>
            <size>27487</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTkyNGZjZWE4MTM2NzQx
MmY0ODllZjMzMDdiNzIxODk2NmQzMDA2Yy4uZDVkYTM1NTAxMzczZTc5NDEwMDFiNmFlNzM3ZmM1
OWJlNDFlNTA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24pOiBSZXBsYWNlZCB0aGUKKyAgICAgICAgb2xkIGxpbWl0IGJ5IHRo
ZSBuZXcgb25lLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOiBVc2UgdGhlIGFtb3VudCBv
ZiB0cmFja3MKKyAgICAgICAgcHJvdmlkZWQgYnkgR3JpZFJlc29sdmVkUG9zaXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRl
cmF0b3IpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRTcGFuOjpHcmlkU3Bhbik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudCk6IEJyaW5nCisg
ICAgICAgIHRoZSBzdGF0aWMgZnVuY3Rpb24gYmFjayB0byBsaWZlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpleHBsaWNpdEdyaWRTaXplRm9yU2lkZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmg6CisKIDIwMTQtMTAtMDkgIFBoaWxp
cCBDaGltZW50byAgPHBoaWxpcC5jaGltZW50b0BnbWFpbC5jb20+CiAKICAgICAgICAgW0dUS10g
TmV0c2NhcGUgcGx1Z2luIEFQSSBzeW1ib2wgdXNlZCBvdXRzaWRlIGZlYXR1cmUgZ3VhcmRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggMjM2ZjlmYTI4N2Q1N2IzNmM1NzQxODI2MWY5MjkxNzgwMDA3Nzc0NC4uMmY4YWExNmFjNTI0
Y2JlMDYzNmUzN2E5ZTJlOTlhOTE3ZDZmNDUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYzNSw3ICsxNjM1LDcgQEAKIAkJ
NDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNFRDUxMjhDRDMxNDAwRTcy
NkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1MDIwMEU3MjZDMiAvKiBQbGF0Zm9ybUNB
QW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5QUUyRDhFMTM0
RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKLQkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5
MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxh
dGlvblZhbHVlLmggKi87IH07CisJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxj
dWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRpb25WYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5QUUyRDk2
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAv
KiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJNDlBRTJEOTcxMzRFRTVGOTAwNzI5MjBB
IC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDlB
RjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENjgxNDQzNUQwNTAw
MTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01MjEyLDcgKzUyMTIsNyBAQAogCQlCQzc2QUMx
MzBERDdBRDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc2QUMxMTBERDdBRDVDMDA0MTVGMzQgLyog
UGFyc2VyVXRpbGl0aWVzLmggKi87IH07CiAJCUJDNzcyQjNDMEM0RUE5MUUwMDgzMjg1RiAvKiBD
U1NIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNzcyQjM2MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzc3MkIzRDBDNEVBOTFFMDA4MzI4
NUYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNzcyQjM3MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuY3BwICovOyB9
OwotCQlCQzc3MkIzRTBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkIzODBDNEVBOTFFMDA4MzI4
NUYgLyogQ1NTUGFyc2VyLmggKi87IH07CisJCUJDNzcyQjNFMEM0RUE5MUUwMDgzMjg1RiAvKiBD
U1NQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNzcyQjM4MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzc3MkM0NjBDNEVCMkM2MDA4MzI4
NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM3NzJDNDQwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0
LmNwcCAqLzsgfTsKIAkJQkM3NzJDNDcwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0
NTBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuaCAqLzsgfTsKIAkJQkM3NzJDNEUw
QzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8q
IE1JTUVUeXBlUmVnaXN0cnkuY3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRl
eCA5NjA2MDBhN2MyOWVlY2JmN2YwNjRjM2JhNjE5YTYwYmZjZGRiYjM5Li4wZTA5NTNlYjllNTM3
MjU3NWU2NGJhNjhiY2RjYTU4MjMxNDA1NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkdyaWRDb29yZGlu
YXRlLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhhc2hUb29s
cy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgpAQCAtMTUwLDkgKzE1MSw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIElOVkFMSURfTlVNX1BBUlNFRF9Q
Uk9QRVJUSUVTID0gVUlOVF9NQVg7CiBzdGF0aWMgY29uc3QgZG91YmxlIE1BWF9TQ0FMRSA9IDEw
MDAwMDA7Ci0jaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKLXN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUyA9IDEwMDAwOwotI2VuZGlmCiAKIHRlbXBsYXRl
IDx1bnNpZ25lZCBOPgogc3RhdGljIGJvb2wgZXF1YWwoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBh
LCBjb25zdCBjaGFyICgmYilbTl0pCkBAIC01MjcwLDEyICs1MjY4LDkgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAg
IGlmICghYXJndW1lbnRzIHx8IGFyZ3VtZW50cy0+c2l6ZSgpIDwgMyB8fCAhdmFsaWRVbml0KGFy
Z3VtZW50cy0+dmFsdWVBdCgwKSwgRlBvc2l0aXZlSW50ZWdlcikgfHwgIWlzQ29tbWEoYXJndW1l
bnRzLT52YWx1ZUF0KDEpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04oYXJndW1lbnRzLT52YWx1ZUF0KDApLT5mVmFsdWUgPiAw
KTsKICAgICBzaXplX3QgcmVwZXRpdGlvbnMgPSBhcmd1bWVudHMtPnZhbHVlQXQoMCktPmZWYWx1
ZTsKLSAgICAvLyBDbGFtcCByZXBldGl0aW9ucyBhdCBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9O
Uy4KLSAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MtZ3JpZC0xLyNyZXBlYXQtbm90YXRp
b24KLSAgICBpZiAocmVwZXRpdGlvbnMgPiBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUykKLSAg
ICAgICAgcmVwZXRpdGlvbnMgPSBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUzsKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihyZXBldGl0aW9ucyA+IDApOworCiAgICAgUmVm
UHRyPENTU1ZhbHVlTGlzdD4gcmVwZWF0ZWRWYWx1ZXMgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNw
YWNlU2VwYXJhdGVkKCk7CiAgICAgYXJndW1lbnRzLT5uZXh0KCk7IC8vIFNraXAgdGhlIHJlcGV0
aXRpb24gY291bnQuCiAgICAgYXJndW1lbnRzLT5uZXh0KCk7IC8vIFNraXAgdGhlIGNvbW1hLgpA
QCAtNTI4NSwxNCArNTI4MCwxNCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBl
YXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmIGxpc3QpCiAgICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBj
dXJyZW50VmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OlZhbHVlTGlzdCkKICAgICAgICAg
cGFyc2VHcmlkTGluZU5hbWVzKCphcmd1bWVudHMsICpyZXBlYXRlZFZhbHVlcyk7CiAKLSAgICBi
b29sIHNhd1RyYWNrU2l6ZSA9IGZhbHNlOworICAgIHVuc2lnbmVkIG51bWJlck9mVHJhY2tzID0g
MDsKICAgICB3aGlsZSAoYXJndW1lbnRzLT5jdXJyZW50KCkpIHsKICAgICAgICAgUmVmUHRyPENT
U1ZhbHVlPiB0cmFja1NpemUgPSBwYXJzZUdyaWRUcmFja1NpemUoKmFyZ3VtZW50cyk7CiAgICAg
ICAgIGlmICghdHJhY2tTaXplKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAg
IHJlcGVhdGVkVmFsdWVzLT5hcHBlbmQodHJhY2tTaXplLnJlbGVhc2VOb25OdWxsKCkpOwotICAg
ICAgICBzYXdUcmFja1NpemUgPSB0cnVlOworICAgICAgICArK251bWJlck9mVHJhY2tzOwogCiAg
ICAgICAgIC8vIFRoaXMgdGFrZXMgY2FyZSBvZiBhbnkgdHJhaWxpbmcgPGN1c3RvbS1pZGVudD4q
IGluIHRoZSBncmFtbWFyLgogICAgICAgICBjdXJyZW50VmFsdWUgPSBhcmd1bWVudHMtPmN1cnJl
bnQoKTsKQEAgLTUzMDEsOSArNTI5NiwxMyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJh
Y2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmIGxpc3QpCiAgICAgfQogCiAgICAgLy8gV2Ug
c2hvdWxkIGhhdmUgZm91bmQgYXQgbGVhc3Qgb25lIDx0cmFjay1zaXplPiwgb3RoZXJ3aXNlIHRo
ZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkLgotICAgIGlmICghc2F3VHJhY2tTaXplKQorICAgIGlm
ICghbnVtYmVyT2ZUcmFja3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIFdlIGNs
YW1wIHRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgdG8gYSBtdWx0aXBsZSBvZiB0aGUgcmVwZWF0
KCkgdHJhY2sgbGlzdCdzIHNpemUsIHdoaWxlIHN0YXlpbmcgYmVsb3cgdGhlIG1heAorICAgIC8v
IGdyaWQgc2l6ZS4KKyAgICByZXBldGl0aW9ucyA9IHN0ZDo6bWluKHJlcGV0aXRpb25zLCBrR3Jp
ZE1heFRyYWNrcyAvIG51bWJlck9mVHJhY2tzKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgcmVwZXRpdGlvbnM7ICsraSkgewogICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IHJl
cGVhdGVkVmFsdWVzLT5sZW5ndGgoKTsgKytqKQogICAgICAgICAgICAgbGlzdC5hcHBlbmQoKnJl
cGVhdGVkVmFsdWVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGopKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBiY2Q1NGUyYjc1NzJiMjA5MTBhNDRiMjMwNGY1
YTU0NDVkOGZiNTAwLi5kODUyNWQxMmI0NTZlNmRlYThjNWU2NDQ5ZjEyNjIxYzU2OGYyYmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC03MzAsOCArNzMwLDgg
QEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25HcmlkKCkKICAgICAgICAgaW5zZXJ0SXRl
bUludG9HcmlkKCpjaGlsZCwgR3JpZENvb3JkaW5hdGUoKnJvd1Bvc2l0aW9ucywgKmNvbHVtblBv
c2l0aW9ucykpOwogICAgIH0KIAotICAgIEFTU0VSVChncmlkUm93Q291bnQoKSA+PSBzdHlsZSgp
LmdyaWRSb3dzKCkuc2l6ZSgpKTsKLSAgICBBU1NFUlQoZ3JpZENvbHVtbkNvdW50KCkgPj0gc3R5
bGUoKS5ncmlkQ29sdW1ucygpLnNpemUoKSk7CisgICAgQVNTRVJUKGdyaWRSb3dDb3VudCgpID49
IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChzdHlsZSgpKSk7Cisg
ICAgQVNTRVJUKGdyaWRDb2x1bW5Db3VudCgpID49IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBs
aWNpdEdyaWRDb2x1bW5Db3VudChzdHlsZSgpKSk7CiAKICAgICAvLyBGSVhNRTogSW1wbGVtZW50
IHByb3Blcmx5ICJzdGFjayIgdmFsdWUgaW4gYXV0by1wbGFjZW1lbnQgYWxnb3JpdGhtLgogICAg
IGlmIChzdHlsZSgpLmlzR3JpZEF1dG9GbG93QWxnb3JpdGhtU3RhY2soKSkgewpAQCAtNzQ4LDgg
Kzc0OCw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtc09uR3JpZCgpCiB2b2lkIFJlbmRl
ckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlkQW5kT3JkZXJJdGVyYXRvcigpCiB7CiAgICAgT3Jk
ZXJJdGVyYXRvclBvcHVsYXRvciBwb3B1bGF0b3IobV9vcmRlckl0ZXJhdG9yKTsKLSAgICBzaXpl
X3QgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBzdHlsZSgpLmdyaWRSb3dz
KCkuc2l6ZSgpKTsKLSAgICBzaXplX3QgbWF4aW11bUNvbHVtbkluZGV4ID0gc3RkOjptYXg8c2l6
ZV90PigxLCBzdHlsZSgpLmdyaWRDb2x1bW5zKCkuc2l6ZSgpKTsKKyAgICBzaXplX3QgbWF4aW11
bVJvd0luZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhw
bGljaXRHcmlkUm93Q291bnQoc3R5bGUoKSkpOworICAgIHNpemVfdCBtYXhpbXVtQ29sdW1uSW5k
ZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdy
aWRDb2x1bW5Db3VudChzdHlsZSgpKSk7CiAKICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBm
aXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7
CiAgICAgICAgIHBvcHVsYXRvci5jb2xsZWN0Q2hpbGQoKmNoaWxkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmgKaW5kZXggNTgzYWY1YmFhZTQ4
ZWVjNmE1YjMyYmU4ZDZmNmYxNDRlZDc3YWU3My4uOTJmOTZlNjQ1ZmFlYWZjY2Y1MTg2MjhjY2M3
ZmNhYWM1NjFjZmNkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0dyaWRDb29yZGluYXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dy
aWRDb29yZGluYXRlLmgKQEAgLTQwLDE0ICs0MCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKKy8vIFJlY29tbWVuZGVkIG1heGltdW0gc2l6ZSBmb3IgYm90aCBleHBsaWNpdCBhbmQgaW1w
bGljaXQgZ3JpZHMuCitjb25zdCBzaXplX3Qga0dyaWRNYXhUcmFja3MgPSAxMDAwMDAwOworCiAv
LyBBIHNwYW4gaW4gYSBzaW5nbGUgZGlyZWN0aW9uIChlaXRoZXIgcm93cyBvciBjb2x1bW5zKS4g
Tm90ZSB0aGF0IHxyZXNvbHZlZEluaXRpYWxQb3NpdGlvbnwKIC8vIGFuZCB8cmVzb2x2ZWRGaW5h
bFBvc2l0aW9ufCBhcmUgZ3JpZCBhcmVhcycgaW5kZXhlcywgTk9UIGdyaWQgbGluZXMnLiBJdGVy
YXRpbmcgb3ZlciB0aGUKIC8vIHNwYW4gc2hvdWxkIGluY2x1ZGUgYm90aCB8cmVzb2x2ZWRJbml0
aWFsUG9zaXRpb258IGFuZCB8cmVzb2x2ZWRGaW5hbFBvc2l0aW9ufCB0byBiZSBjb3JyZWN0Lgog
Y2xhc3MgR3JpZFNwYW4gewogcHVibGljOgogICAgIEdyaWRTcGFuKGNvbnN0IEdyaWRSZXNvbHZl
ZFBvc2l0aW9uJiByZXNvbHZlZEluaXRpYWxQb3NpdGlvbiwgY29uc3QgR3JpZFJlc29sdmVkUG9z
aXRpb24mIHJlc29sdmVkRmluYWxQb3NpdGlvbikKLSAgICAgICAgOiByZXNvbHZlZEluaXRpYWxQ
b3NpdGlvbihyZXNvbHZlZEluaXRpYWxQb3NpdGlvbikKLSAgICAgICAgLCByZXNvbHZlZEZpbmFs
UG9zaXRpb24ocmVzb2x2ZWRGaW5hbFBvc2l0aW9uKQorICAgICAgICA6IHJlc29sdmVkSW5pdGlh
bFBvc2l0aW9uKHN0ZDo6bWluKHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCksIGtHcmlk
TWF4VHJhY2tzIC0gMSkpCisgICAgICAgICwgcmVzb2x2ZWRGaW5hbFBvc2l0aW9uKHN0ZDo6bWlu
KHJlc29sdmVkRmluYWxQb3NpdGlvbi50b0ludCgpLCBrR3JpZE1heFRyYWNrcykpCiAgICAgewog
ICAgICAgICBBU1NFUlQocmVzb2x2ZWRJbml0aWFsUG9zaXRpb24gPD0gcmVzb2x2ZWRGaW5hbFBv
c2l0aW9uKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcAppbmRleCA2OWE4YTU5NDNlMzhjNzU1OTk1YmVm
NmYyYmI0OGFhNGVkNTRjZmQwLi4wZjM2MmFlZmExYmFmNjExMTRlZjRiNDQ4MTc2NzA3YjJiZTI1
MzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29s
dmVkUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Hcmlk
UmVzb2x2ZWRQb3NpdGlvbi5jcHAKQEAgLTQ4LDkgKzQ4LDE5IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1N0YXJ0U2lkZShHcmlkUG9zaXRpb25TaWRlIHNpZGUpCiAgICAgcmV0dXJuIHNpZGUgPT0g
Q29sdW1uU3RhcnRTaWRlIHx8IHNpZGUgPT0gUm93U3RhcnRTaWRlOwogfQogCitzaXplX3QgR3Jp
ZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KGNvbnN0IFJlbmRlclN0
eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7CisgICAgcmV0dXJuIHN0ZDo6bWluKGdyaWRDb250
YWluZXJTdHlsZS5ncmlkQ29sdW1ucygpLnNpemUoKSwga0dyaWRNYXhUcmFja3MpOworfQorCitz
aXplX3QgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KGNvbnN0IFJl
bmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7CisgICAgcmV0dXJuIHN0ZDo6bWluKGdy
aWRDb250YWluZXJTdHlsZS5ncmlkUm93cygpLnNpemUoKSwga0dyaWRNYXhUcmFja3MpOworfQor
CiBzdGF0aWMgc2l6ZV90IGV4cGxpY2l0R3JpZFNpemVGb3JTaWRlKGNvbnN0IFJlbmRlclN0eWxl
JiBncmlkQ29udGFpbmVyU3R5bGUsIEdyaWRQb3NpdGlvblNpZGUgc2lkZSkKIHsKLSAgICByZXR1
cm4gaXNDb2x1bW5TaWRlKHNpZGUpID8gZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRDb2x1bW5zKCku
c2l6ZSgpIDogZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRSb3dzKCkuc2l6ZSgpOworICAgIHJldHVy
biBpc0NvbHVtblNpZGUoc2lkZSkgPyBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlk
Q29sdW1uQ291bnQoZ3JpZENvbnRhaW5lclN0eWxlKSA6IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpl
eHBsaWNpdEdyaWRSb3dDb3VudChncmlkQ29udGFpbmVyU3R5bGUpOwogfQogCiBHcmlkU3BhbiBH
cmlkUmVzb2x2ZWRQb3NpdGlvbjo6cmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tQXV0b1BsYWNlbWVu
dFBvc2l0aW9uKGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUsIGNvbnN0IFJl
bmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIGNv
bnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZlZEluaXRpYWxQb3NpdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9u
LmgKaW5kZXggMjYzYjUyNDNiNjQzMWUwODVjMTI2NjY3MTc5ZGIwZTZlZDA5N2M5Mi4uOGZiMTQz
ZjIxZjU2ZWY1ZDM2NjY2YmJhZTFjMjFlZDA1OThhOTc4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmgKQEAgLTE0Niw2
ICsxNDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBHcmlkUmVzb2x2ZWRQb3NpdGlvbiht
X2ludGVnZXJQb3NpdGlvbiArIDEpOwogICAgIH0KIAorICAgIHN0YXRpYyBzaXplX3QgZXhwbGlj
aXRHcmlkQ29sdW1uQ291bnQoY29uc3QgUmVuZGVyU3R5bGUmKTsKKyAgICBzdGF0aWMgc2l6ZV90
IGV4cGxpY2l0R3JpZFJvd0NvdW50KGNvbnN0IFJlbmRlclN0eWxlJik7CisKIHByaXZhdGU6CiAK
ICAgICBzaXplX3QgbV9pbnRlZ2VyUG9zaXRpb247CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmNhYmU2Yjk3ZmQzZjQ3NTE0ZGI1NjJkODY2NjYy
ZmE5YzVlOGM3ZC4uNDZjMjY4Y2VmOGNkOTUxYjJmYmIwYTA1MDI1ZmEzYTE4YThhNjMyYSAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDE0LTEwLTA3ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxp
Y2l0L2ltcGxpY2l0IGdyaWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNjIxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGEgbmV3IHVuaXQgdGVzdCBmb3IgdGhlIENTUyBwYXJzZXIuIFJpZ2h0
IG5vdyBpdCBvbmx5IGNoZWNrcworICAgICAgICB0aGF0IHdlIHByb3Blcmx5IGNsYW1wIHRoZSBt
YXhpbXVtIG51bWJlciBvZiB0cmFja3Mgb24gYSBncmlkIHRvIGEKKyAgICAgICAgbWF4aW11bSBv
ZiAxIG1pbGxpb24uCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2U6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpjb21wdXRlTnVtYmVyT2ZUcmFja3MpOiBIZWxwZXIgZnVuY3Rpb24uCisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogQWRkZWQgYQorICAgICAgICBDU1NQcm9wZXJ0eVBh
cnNlclRlc3QuR3JpZFRyYWNrTGltaXRzIHRlc3QgY2FzZS4KKwogMjAxNC0xMC0wOCAgSmFrZSBO
aWVsc2VuICA8amFjb2JfbmllbHNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3R5bGVRdWV1ZSBz
aG91bGQgdGhyb3cgYSBQYXRjaElzTm90VmFsaWQgZXhjZXB0aW9uIHRvIGFjaGlldmUKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IGJjNWQwYmVkZDc5NTNjMGUwNWUxMTk0NTY3OTg0
Y2Y0OTU2YjI3MTkuLmEzMGY3ZjQ4M2ZhMjMyYWM1MDIyZjY4N2NhMGY1NDY1N2NjM2JmNjYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtMTksMTIgKzE5LDE3IEBAIGluY2x1ZGVf
ZGlyZWN0b3JpZXMoJHtDTUFLRV9CSU5BUllfRElSfQogICAgICR7SkFWQVNDUklQVENPUkVfRElS
fS9wYXJzZXIKICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcnVudGltZQogICAgICR7VEhJUkRQ
QVJUWV9ESVJ9L2d0ZXN0L2luY2x1ZGUKKyAgICAke1dFQkNPUkVfRElSfS9jc3MKKyAgICAke1dF
QkNPUkVfRElSfS9kb20KICAgICAke1dFQkNPUkVfRElSfS9lZGl0aW5nCiAgICAgJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0KKyAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hbmltYXRpb24KICAg
ICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ncmFwaGljcwogICAgICR7V0VCQ09SRV9ESVJ9L3Bs
YXRmb3JtL3RleHQKICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrCiAgICAgJHtX
RUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yay9zb3VwCisgICAgJHtXRUJDT1JFX0RJUn0vcmVu
ZGVyaW5nCisgICAgJHtXRUJDT1JFX0RJUn0vcmVuZGVyaW5nL3N0eWxlCiAgICAgJHtXRUJLSVQy
X0RJUn0vUGxhdGZvcm0vSVBDCiAgICAgJHtXRUJLSVQyX0RJUn0vU2hhcmVkCiAgICAgJHtXRUJL
SVQyX0RJUn0vU2hhcmVkL0FQSS9jCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Bs
YXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQpp
bmRleCA4Njc3ZWE1YTBmMTk5MGQxYzUyMDk2ODEyMDBiMDg1ZTYxYjc0OTU4Li5kNDQwNjg2ZGRl
MzNkMjhlNzU3NWU3MWJlMThjNDI2ZTkyMTMwOTUzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZv
cm1FZmwuY21ha2UKQEAgLTU3LDYgKzU3LDcgQEAgbGlzdChBUFBFTkQgVGVzdEphdmFTY3JpcHRD
b3JlX0xJQlJBUklFUwogIyBSZWxlYXNlIGJ1aWxkcyBiZWZvcmUgYWRkaW5nIGl0IHRvIHRlc3Rf
e3dlYmtpdDJfYXBpfHdlYmNvcmV9X0JJTkFSSUVTLgogCiBzZXQodGVzdF93ZWJjb3JlX0JJTkFS
SUVTCisgICAgQ1NTUGFyc2VyCiAgICAgTGF5b3V0VW5pdAogICAgIFVSTAogKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggYmFlODRkM2M4NzRmNTQ1NzliZDU2Y2MxMTYy
ZGMwMzgyZWM5YmNlYS4uZDlmMTFhN2I4ZmNmZGRkMTQyNjZlYzJjZWQ0NTg3ZDYyZjE0OGIxNyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xMTMsMTIgKzExMywxNCBA
QCBzZXQoVGVzdFdlYkNvcmVHdGtfU09VUkNFUwogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3Jt
L2d0ay9HdGtJbnB1dE1ldGhvZEZpbHRlci5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0cy9XZWJDb3JlL2d0ay9JbnB1dE1ldGhvZEZpbHRlci5jcHAKICAgICAke1RFU1RXRUJLSVRB
UElfRElSfS9UZXN0cy9XZWJDb3JlL2d0ay9Vc2VyQWdlbnRRdWlya3MuY3BwCisgICAgJHtERVJJ
VkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1VzZXJBZ2VudFNjcmlwdHNEYXRhLmNwcAogKQogCiBh
ZGRfZXhlY3V0YWJsZShUZXN0V2ViQ29yZQogICAgICR7dGVzdF9tYWluX1NPVVJDRVN9CiAgICAg
JHtUZXN0V2ViQ29yZUd0a19TT1VSQ0VTfQogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3Rz
Q29udHJvbGxlci5jcHAKKyAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0NT
U1BhcnNlci5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL0xheW91
dFVuaXQuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9VUkwuY3Bw
CiApCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZWE5OTgxNjAyOGMxOWM0ZWY3Y2JjYTE0
OGVjYzRkZmRlZDY1NTYuLjc1MTVlZmU2NjYzMzAyNTNhMDZmOTFjMzM4MmM3ZWJlNDE0MTlkNmYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNDQsNiArMjQ0LDcgQEAKIAkJQzk1NTAxQkYx
OUFEMkZBRjAwNDlCRTNFIC8qIFByZWZlcmVuY2VzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzk1NTAxQkUxOUFEMkZBRjAwNDlCRTNFIC8qIFByZWZl
cmVuY2VzLm1tICovOyB9OwogCQlDRDUzOTNDODE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTM5M0M3MTc1
N0JBOTcwMEMwNzEyMyAvKiBNRDUuY3BwICovOyB9OwogCQlDRDUzOTNDQTE3NTdCQUM0MDBDMDcx
MjMgLyogU0hBMS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDUzOTNDOTE3NTdCQUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgKi87IH07CisJCUNENTQ1
MUVBMTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5MzZGIC8qIENT
U1BhcnNlci5jcHAgKi87IH07CiAJCUNENTQ5N0I0MTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRp
bWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1
NDk3QjMxNTg1N0YwQzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi87IH07CiAJCUNEQzJDNzE1
MTc5NzBEREIwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1l
UmFuZ2VzLmNwcCAqLzsgfTsKIAkJQ0UxNEYxQTQxODE4NzNCMDAwMUMyNzA1IC8qIFdpbGxQZXJm
b3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxNEYxQTIxODE4NzNCMDAwMUMyNzA1IC8q
IFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWwgKi87IH07CkBAIC02MTgs
NiArNjE5LDcgQEAKIAkJQzk1NTAxQkUxOUFEMkZBRjAwNDlCRTNFIC8qIFByZWZlcmVuY2VzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUHJlZmVyZW5jZXMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTM5M0M3MTc1N0JBOTcwMEMwNzEyMyAv
KiBNRDUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTUQ1LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzkxNzU3QkFDNDAwQzA3MTIzIC8q
IFNIQTEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU0hBMS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAv
KiBDU1NQYXJzZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
UGFyc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1NDk3QjMxNTg1N0Yw
QzAwQjVCQzMwIC8qIE1lZGlhVGltZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYVRpbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREMy
QzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUaW1lUmFuZ2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxNEYxQTIx
ODE4NzNCMDAwMUMyNzA1IC8qIFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzQ3LDYgKzc0OSw3IEBACiAJCTQ0MEExRDM2
MTRBMDEwMDAwMDhBNjZGMiAvKiBXZWJDb3JlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQlDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2Vy
LmNwcCAqLywKIAkJCQk5M0E3MjBFNTE4RjFBMEU4MDBBODQ4RTEgLyogQ2FsY3VsYXRpb25WYWx1
ZS5jcHAgKi8sCiAJCQkJQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3Bw
ICovLAogCQkJCTQ0MEExRDM4MTRBMDEwM0EwMDhBNjZGMiAvKiBVUkwuY3BwICovLApAQCAtMTM4
OCw2ICsxMzkxLDcgQEAKIAkJCQkxQTdCRkMwQzE3MUEwQkRCMDBCQzVGNjQgLyogV2lsbFNlbmRT
dWJtaXRFdmVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMjJEMzE1MTREQzY4OTgwMEZGQjFE
RCAvKiBVc2VyTWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU1RjVGOTE0QUQ3OEVF
MDA0ODRCRTEgLyogVmVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNENTQ1MUVBMTlFNDFG
OUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkwQTlCQjcx
NzM1REU4QTAwRDcxQkJDIC8qIENsb3NlTmV3V2luZG93SW5OYXZpZ2F0aW9uUG9saWN5RGVsZWdh
dGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlGRTIxN0VDRDE2NDBBNTRBMDA1Mjk4OEIgLyogVk1J
bnNwZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTIwQkNGNEQxNDFFQjA5RTAwOTM3RUE4
IC8qIFdlYkFyY2hpdmUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwOGI1YjE0NTQyZDZh
Yzc4ZjA4OTQ0MDY0ZDY4N2YzOWNkZmYyOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNwcApAQCAtMCwwICsxLDgyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSwgUy5MLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0NT
U1BhcnNlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ1NTVmFsdWVMaXN0Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9TdHlsZVByb3BlcnRpZXMuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewor
CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK3N0YXRpYyB1bnNpZ25lZCBjb21wdXRlTnVt
YmVyT2ZUcmFja3MoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0KiB2YWx1ZUxpc3QpCit7CisgICAgdW5z
aWduZWQgbnVtYmVyT2ZUcmFja3MgPSAwOworICAgIGZvciAoV2ViQ29yZTo6Q1NTVmFsdWVMaXN0
SXRlcmF0b3IgaSA9IHZhbHVlTGlzdDsgaS5oYXNNb3JlKCk7IGkuYWR2YW5jZSgpKSB7CisgICAg
ICAgIGlmIChpLnZhbHVlKCktPmlzR3JpZExpbmVOYW1lc1ZhbHVlKCkpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgKytudW1iZXJPZlRyYWNrczsKKyAgICB9CisgICAgcmV0dXJuIG51
bWJlck9mVHJhY2tzOworfQorI2VuZGlmCisKK1RFU1QoQ1NTUHJvcGVydHlQYXJzZXJUZXN0LCBH
cmlkVHJhY2tMaW1pdHMpCit7CisjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKKyAgICBzdHJ1
Y3QgeworICAgICAgICBjb25zdCBXZWJDb3JlOjpDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQ7Cisg
ICAgICAgIGNvbnN0IGNoYXIqIGlucHV0OworICAgICAgICBjb25zdCBzaXplX3Qgb3V0cHV0Owor
ICAgIH0gdGVzdENhc2VzW10gPSB7CisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtp
dEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVw
ZWF0KDk5OTk5OSwgMjBweCk7IiwgOTk5OTk5fSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3Bl
cnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBy
ZXBlYXQoOTk5OTk5LCAyMHB4KTsiLCA5OTk5OTl9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJv
cGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNv
bHVtbnM6IHJlcGVhdCgxMDAwMDAwLCAxMCUpOyIsIDEwMDAwMDB9LAorICAgICAgICB7V2ViQ29y
ZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLXJvd3M6IHJlcGVhdCgxMDAwMDAwLCAxMCUpOyIsIDEwMDAwMDB9LAorICAgICAgICB7V2Vi
Q29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAwLCAoZmlyc3QpIC13ZWJraXQtbWluLWNv
bnRlbnQgKGxhc3QpKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBl
YXQoMTAwMDAwMCwgKGZpcnN0KSAtd2Via2l0LW1pbi1jb250ZW50IChsYXN0KSk7IiwgMTAwMDAw
MH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVt
bnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwMDAwMDEsIGF1dG8p
OyIsIDEwMDAwMDB9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVt
cGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwMDAxLCBh
dXRvKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3Jp
ZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQo
NDAwMDAwLCAyZW0gbWlubWF4KDEwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQpIDAuNWZyKTsiLCA5
OTk5OTl9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVS
b3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0MDAwMDAsIDJlbSBtaW5t
YXgoMTBweCwgLXdlYmtpdC1tYXgtY29udGVudCkgMC41ZnIpOyIsIDk5OTk5OX0sCisgICAgICAg
IHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0
LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYwMDAwMCwgKGZpcnN0KSAzdmggMTAlIDJm
ciAobmF2KSAxMHB4IGF1dG8gMWZyIDZlbSAobGFzdCkpOyIsIDk5OTk5OX0sCisgICAgICAgIHtX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQt
dGVtcGxhdGUtcm93czogcmVwZWF0KDYwMDAwMCwgKGZpcnN0KSAzdmggMTAlIDJmciAobmF2KSAx
MHB4IGF1dG8gMWZyIDZlbSAobGFzdCkpOyIsIDk5OTk5OX0sCisgICAgfTsKKworICAgIFdlYkNv
cmU6OkNTU1BhcnNlciBwYXJzZXIoV2ViQ29yZTo6c3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpKTsK
KyAgICBSZWZQdHI8V2ViQ29yZTo6TXV0YWJsZVN0eWxlUHJvcGVydGllcz4gcHJvcGVydGllcyA9
IFdlYkNvcmU6Ok11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworCisgICAgZm9yIChh
dXRvJiB0ZXN0Q2FzZSA6IHRlc3RDYXNlcykgeworICAgICAgICBBU1NFUlRfVFJVRShwYXJzZXIu
cGFyc2VEZWNsYXJhdGlvbihwcm9wZXJ0aWVzLmdldCgpLCB0ZXN0Q2FzZS5pbnB1dCwgbnVsbHB0
ciwgbnVsbHB0cikpOworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6Q1NTVmFsdWU+IHZhbHVlID0g
cHJvcGVydGllcy0+Z2V0UHJvcGVydHlDU1NWYWx1ZSh0ZXN0Q2FzZS5wcm9wZXJ0eUlEKTsKKwor
ICAgICAgICBBU1NFUlRfVFJVRSh2YWx1ZS0+aXNWYWx1ZUxpc3QoKSk7CisgICAgICAgIEVYUEVD
VF9FUShjb21wdXRlTnVtYmVyT2ZUcmFja3MoZG93bmNhc3Q8V2ViQ29yZTo6Q1NTVmFsdWVMaXN0
Pih2YWx1ZS5nZXQoKSkpLCB0ZXN0Q2FzZS5vdXRwdXQpOworICAgIH0KKyNlbmRpZiAvLyBFTkFC
TEUoQ1NTX0dSSURfTEFZT1VUKQorfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNzc3ZWQ0OTkxNjgzNDgwNWU0NTI2MDI2OTczOTJlMzljN2M1ZmE3Yi4uNzg1YmYwMTlh
Zjc5NGVmNTEyMWM1OGZlMmE1N2Y2MGM5NGUyMjYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDE0LTEwLTA3ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxp
Y2l0IGdyaWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzNjIxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlbW92ZWQgYXMgdGhleSBhcmUgbm93IHBhcnQgb2YgdGhlIFdlYkNvcmUncyBDU1NQYXJzZXIu
Y3BwIHVuaXQKKyAgICAgICAgdGVzdC4gVGhlIHJlYXNvbiB3aHkgaXQgd2FzIG1vdmVkIHRoZXJl
IGlzIGJlY2F1c2UgdGhlIHRlc3Qgd291bGQKKyAgICAgICAgcmVxdWlyZSBodWdlICh+MTAwMDAw
MCB0cmFja3MpIGdyaWQgYWxsb2NhdGlvbnMsIG1ha2luZyB0aGUgdGVzdAorICAgICAgICBxdWl0
ZSBzbG93IHNwZWNpYWxseSBvbiBEZWJ1ZyBidWlsZHMuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1n
cmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50
LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRtbDogUmVtb3ZlZC4KKwogMjAxNC0xMC0wOCAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29t
ZSBtb3JlIHBhc3NpbmcgdGVzdHMgZnJvbSBUZXN0RXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgt
cmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjRlOTY1MzYyMWUzMThmZDBjOWI5OGQ3MzcwMjVm
OTYzZjI4NTBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4
LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
VGVzdCB0aGUgdmFsdWVzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSByZXBldGl0aW9ucyB2YWx1
ZSBhcmUgY2xhbXBlZCB0aHJvdWdoIENTUy4KLVBBU1MKLVBBU1MKLVBBU1MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4
LXJlcGV0aXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1MmJmZTEzZWQxYmZhNDYwOTk4YTIzMTQwNjNlZjZjZDA3MTliNTRiLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5u
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIsIDEpOwot
PC9zY3JpcHQ+Ci08bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVl
dCI+Ci08c3R5bGU+Ci0uY2xhbXBSZXBldGl0aW9uc0JlbG93TGltaXQgewotICAgIC13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoOTk5NSwgMXB4KTsKLX0KLQotLmNsYW1wUmVwZXRp
dGlvbnNPbkxpbWl0IHsKLSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEw
MDAwLCAxcHgpOwotfQotCi0uY2xhbXBSZXBldGl0aW9uc0Fib3ZlTGltaXQgewotICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDUsIDFweCk7Ci19Ci08L3N0eWxlPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJjaGVja0xheW91dCgnLmdyaWQnKSI+Ci0KLTxkaXY+VGVz
dCB0aGUgdmFsdWVzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSByZXBldGl0aW9ucyB2YWx1ZSBh
cmUgY2xhbXBlZCB0aHJvdWdoIENTUy48L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJl
cGV0aXRpb25zQmVsb3dMaW1pdCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijk5OTUiPjwvZGl2Pgot
Ci08ZGl2IGNsYXNzPSJncmlkIGNsYW1wUmVwZXRpdGlvbnNPbkxpbWl0IiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAwMDAiPjwvZGl2PgotCi08ZGl2IGNsYXNzPSJncmlkIGNsYW1wUmVwZXRpdGlv
bnNBYm92ZUxpbWl0IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwMDAiPjwvZGl2PgotCi08L2Jv
ZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239718</attachid>
            <date>2014-10-13 01:58:47 -0700</date>
            <delta_ts>2014-10-13 06:20:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136217-20141013105850.patch</filename>
            <type>text/plain</type>
            <size>28828</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI5NDQ2ZDFlZDg3YzQ4
ZjNmYzU2MDU2MDVjN2Q3YmU0ZDM5MmUzOS4uNDAyNjgyODM2ZjhmMjFkNGRhNmNjNWVlZmZiMjcx
N2EyNmZhMDFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24pOiBSZXBsYWNlZCB0aGUKKyAgICAgICAgb2xkIGxpbWl0IGJ5IHRo
ZSBuZXcgb25lLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOiBVc2UgdGhlIGFtb3VudCBv
ZiB0cmFja3MKKyAgICAgICAgcHJvdmlkZWQgYnkgR3JpZFJlc29sdmVkUG9zaXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRl
cmF0b3IpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRTcGFuOjpHcmlkU3Bhbik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudCk6IEJyaW5nCisg
ICAgICAgIHRoZSBzdGF0aWMgZnVuY3Rpb24gYmFjayB0byBsaWZlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpleHBsaWNpdEdyaWRTaXplRm9yU2lkZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmg6CisKIDIwMTQtMDktMzAgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlk
IExheW91dF0gUGFzcyB0aGUgdmFsaWQgc2V0IG9mIHRyYWNrcyB0byBncm93IGJleW9uZCBncm93
dGggbGltaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNjU5MzljNjViZTE3NjQxOTJjMGZlMjI1YzkxNTc3YzY3ZTE2Yzk3ZS4u
OTRmYTFmZjk3ODcxYTIxODc5NjMwYmVlNzMxMzAwOTY2NGNjNWY2YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYzNiw3ICsx
NjM2LDcgQEAKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNFRDUx
MjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1MDIwMEU3MjZDMiAv
KiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1h
dGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1
MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKLQkJNDlBRTJEOEYx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjdWxhdGlvblZhbHVlLmggKi87IH07CisJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIw
QSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRp
b25WYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1
RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJNDlBRTJEOTcxMzRF
RTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxj
dWxhdGlvblZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJE
NjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC01MTE3LDcgKzUxMTcsNyBA
QAogCQlCQzUzQzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGllbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNDNUY0MERBNTZCOTIwMDIxRUI1
RCAvKiBHcmFkaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUJDNTNDNjA4MERBNTZDNTcwMDIxRUI1RCAvKiBHcmFkaWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzQzYwNzBEQTU2QzU3
MDAyMUVCNUQgLyogR3JhZGllbnQuY3BwICovOyB9OwogCQlCQzUzQzYwQjBEQTU2Q0YxMDAyMUVC
NUQgLyogR3JhZGllbnRDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzUzQzYwQTBEQTU2Q0YxMDAyMUVCNUQgLyogR3JhZGllbnRDRy5jcHAgKi87
IH07Ci0JCUJDNTNDNjkyMERBNTkxMTQwMDIxRUI1RCAvKiBDU1NHcmFkaWVudFZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzQzY5MTBEQTU5
MTE0MDAyMUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oICovOyB9OworCQlCQzUzQzY5MjBEQTU5
MTE0MDAyMUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0M2OTEwREE1OTExNDAwMjFFQjVEIC8qIENTU0dy
YWRpZW50VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlCQzUzRDkxMTExNDMxMENDMDAwRDgxN0UgLyogV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0Q5MTAx
MTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLzsgfTsKIAkJQkM1M0RB
MkUxMTQzMTIxRTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0RBMkQxMTQzMTIxRTAwMEQ4MTdFIC8q
IERPTVdyYXBwZXJXb3JsZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUJDNTNEQTQ4MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0RB
NDcxMTQzMTM0RDAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5jcHAgKi87IH07CkBAIC01MjEz
LDcgKzUyMTMsNyBAQAogCQlCQzc2QUMxMzBERDdBRDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0
aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc2
QUMxMTBERDdBRDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0aWVzLmggKi87IH07CiAJCUJDNzcy
QjNDMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM2MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NI
ZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQzc3MkIzRDBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM3MEM0RUE5MUUwMDgzMjg1
RiAvKiBDU1NQYXJzZXIuY3BwICovOyB9OwotCQlCQzc3MkIzRTBDNEVBOTFFMDA4MzI4NUYgLyog
Q1NTUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzc3MkIzODBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmggKi87IH07CisJCUJDNzcy
QjNFMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM4MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQ
YXJzZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQzc3MkM0NjBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NzJDNDQwQzRFQjJDNjAw
ODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCAqLzsgfTsKIAkJQkM3NzJDNDcwQzRFQjJDNjAw
ODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0NTBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVl
c3QuaCAqLzsgfTsKIAkJQkM3NzJDNEUwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0
cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwICovOyB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5MmFkNzMwYzIxM2ZlMDhmY2ZmOTJmNTcwZTVmODMx
YmVjMDE3ZjJjLi5iZjY1MzUyMzhmNWQ4MWFiOWUzZTU5MTQ5M2RjYmJiMGIyNDFlNGFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkNvdW50
ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5o
IgorI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9t
cy5oIgogI2luY2x1ZGUgIkhhc2hUb29scy5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgpAQCAt
MTUwLDkgKzE1MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHVuc2ln
bmVkIElOVkFMSURfTlVNX1BBUlNFRF9QUk9QRVJUSUVTID0gVUlOVF9NQVg7CiBzdGF0aWMgY29u
c3QgZG91YmxlIE1BWF9TQ0FMRSA9IDEwMDAwMDA7Ci0jaWYgRU5BQkxFKENTU19HUklEX0xBWU9V
VCkKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUyA9IDEw
MDAwOwotI2VuZGlmCiAKIHRlbXBsYXRlIDx1bnNpZ25lZCBOPgogc3RhdGljIGJvb2wgZXF1YWwo
Y29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBhLCBjb25zdCBjaGFyICgmYilbTl0pCkBAIC01MjY2LDEy
ICs1MjY0LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24o
Q1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIGlmICghYXJndW1lbnRzIHx8IGFyZ3VtZW50cy0+c2l6
ZSgpIDwgMyB8fCAhdmFsaWRVbml0KGFyZ3VtZW50cy0+dmFsdWVBdCgwKSwgRlBvc2l0aXZlSW50
ZWdlcikgfHwgIWlzQ29tbWEoYXJndW1lbnRzLT52YWx1ZUF0KDEpKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oYXJndW1lbnRz
LT52YWx1ZUF0KDApLT5mVmFsdWUgPiAwKTsKICAgICBzaXplX3QgcmVwZXRpdGlvbnMgPSBhcmd1
bWVudHMtPnZhbHVlQXQoMCktPmZWYWx1ZTsKLSAgICAvLyBDbGFtcCByZXBldGl0aW9ucyBhdCBN
QVhfR1JJRF9UUkFDS19SRVBFVElUSU9OUy4KLSAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9j
c3MtZ3JpZC0xLyNyZXBlYXQtbm90YXRpb24KLSAgICBpZiAocmVwZXRpdGlvbnMgPiBNQVhfR1JJ
RF9UUkFDS19SRVBFVElUSU9OUykKLSAgICAgICAgcmVwZXRpdGlvbnMgPSBNQVhfR1JJRF9UUkFD
S19SRVBFVElUSU9OUzsKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihyZXBl
dGl0aW9ucyA+IDApOworCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gcmVwZWF0ZWRWYWx1ZXMg
PSBDU1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CiAgICAgYXJndW1lbnRzLT5u
ZXh0KCk7IC8vIFNraXAgdGhlIHJlcGV0aXRpb24gY291bnQuCiAgICAgYXJndW1lbnRzLT5uZXh0
KCk7IC8vIFNraXAgdGhlIGNvbW1hLgpAQCAtNTI4MSwxNCArNTI3NiwxNCBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmIGxpc3QpCiAg
ICAgaWYgKGN1cnJlbnRWYWx1ZSAmJiBjdXJyZW50VmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFs
dWU6OlZhbHVlTGlzdCkKICAgICAgICAgcGFyc2VHcmlkTGluZU5hbWVzKCphcmd1bWVudHMsICpy
ZXBlYXRlZFZhbHVlcyk7CiAKLSAgICBib29sIHNhd1RyYWNrU2l6ZSA9IGZhbHNlOworICAgIHVu
c2lnbmVkIG51bWJlck9mVHJhY2tzID0gMDsKICAgICB3aGlsZSAoYXJndW1lbnRzLT5jdXJyZW50
KCkpIHsKICAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB0cmFja1NpemUgPSBwYXJzZUdyaWRUcmFj
a1NpemUoKmFyZ3VtZW50cyk7CiAgICAgICAgIGlmICghdHJhY2tTaXplKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHJlcGVhdGVkVmFsdWVzLT5hcHBlbmQodHJhY2tTaXpl
LnJlbGVhc2VOb25OdWxsKCkpOwotICAgICAgICBzYXdUcmFja1NpemUgPSB0cnVlOworICAgICAg
ICArK251bWJlck9mVHJhY2tzOwogCiAgICAgICAgIC8vIFRoaXMgdGFrZXMgY2FyZSBvZiBhbnkg
dHJhaWxpbmcgPGN1c3RvbS1pZGVudD4qIGluIHRoZSBncmFtbWFyLgogICAgICAgICBjdXJyZW50
VmFsdWUgPSBhcmd1bWVudHMtPmN1cnJlbnQoKTsKQEAgLTUyOTcsOSArNTI5MiwxMyBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmIGxp
c3QpCiAgICAgfQogCiAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgZm91bmQgYXQgbGVhc3Qgb25lIDx0
cmFjay1zaXplPiwgb3RoZXJ3aXNlIHRoZSBkZWNsYXJhdGlvbiBpcyBpbnZhbGlkLgotICAgIGlm
ICghc2F3VHJhY2tTaXplKQorICAgIGlmICghbnVtYmVyT2ZUcmFja3MpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgIC8vIFdlIGNsYW1wIHRoZSBudW1iZXIgb2YgcmVwZXRpdGlvbnMgdG8g
YSBtdWx0aXBsZSBvZiB0aGUgcmVwZWF0KCkgdHJhY2sgbGlzdCdzIHNpemUsIHdoaWxlIHN0YXlp
bmcgYmVsb3cgdGhlIG1heAorICAgIC8vIGdyaWQgc2l6ZS4KKyAgICByZXBldGl0aW9ucyA9IHN0
ZDo6bWluKHJlcGV0aXRpb25zLCBrR3JpZE1heFRyYWNrcyAvIG51bWJlck9mVHJhY2tzKTsKKwog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVwZXRpdGlvbnM7ICsraSkgewogICAgICAgICBm
b3IgKHNpemVfdCBqID0gMDsgaiA8IHJlcGVhdGVkVmFsdWVzLT5sZW5ndGgoKTsgKytqKQogICAg
ICAgICAgICAgbGlzdC5hcHBlbmQoKnJlcGVhdGVkVmFsdWVzLT5pdGVtV2l0aG91dEJvdW5kc0No
ZWNrKGopKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCAzMGJi
NTRmNGJiOWIzNWQyNDc3YmRhY2YxZDdmOWE0NDc0YzdmYjNmLi5mMWJjOTdhYmUyOTBkYWU4MGZk
ZmI0YjljNzVlYTJjY2EzNTRjYjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCkBAIC03MzgsOCArNzM4LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25H
cmlkKCkKICAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKCpjaGlsZCwgR3JpZENvb3JkaW5hdGUo
KnJvd1Bvc2l0aW9ucywgKmNvbHVtblBvc2l0aW9ucykpOwogICAgIH0KIAotICAgIEFTU0VSVChn
cmlkUm93Q291bnQoKSA+PSBzdHlsZSgpLmdyaWRSb3dzKCkuc2l6ZSgpKTsKLSAgICBBU1NFUlQo
Z3JpZENvbHVtbkNvdW50KCkgPj0gc3R5bGUoKS5ncmlkQ29sdW1ucygpLnNpemUoKSk7CisgICAg
QVNTRVJUKGdyaWRSb3dDb3VudCgpID49IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdy
aWRSb3dDb3VudChzdHlsZSgpKSk7CisgICAgQVNTRVJUKGdyaWRDb2x1bW5Db3VudCgpID49IEdy
aWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChzdHlsZSgpKSk7CiAK
ICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHByb3Blcmx5ICJzdGFjayIgdmFsdWUgaW4gYXV0by1w
bGFjZW1lbnQgYWxnb3JpdGhtLgogICAgIGlmIChzdHlsZSgpLmlzR3JpZEF1dG9GbG93QWxnb3Jp
dGhtU3RhY2soKSkgewpAQCAtNzU2LDggKzc1Niw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJ
dGVtc09uR3JpZCgpCiB2b2lkIFJlbmRlckdyaWQ6OnBvcHVsYXRlRXhwbGljaXRHcmlkQW5kT3Jk
ZXJJdGVyYXRvcigpCiB7CiAgICAgT3JkZXJJdGVyYXRvclBvcHVsYXRvciBwb3B1bGF0b3IobV9v
cmRlckl0ZXJhdG9yKTsKLSAgICBzaXplX3QgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8c2l6
ZV90PigxLCBzdHlsZSgpLmdyaWRSb3dzKCkuc2l6ZSgpKTsKLSAgICBzaXplX3QgbWF4aW11bUNv
bHVtbkluZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBzdHlsZSgpLmdyaWRDb2x1bW5zKCkuc2l6
ZSgpKTsKKyAgICBzaXplX3QgbWF4aW11bVJvd0luZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBH
cmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQoc3R5bGUoKSkpOworICAg
IHNpemVfdCBtYXhpbXVtQ29sdW1uSW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIEdyaWRSZXNv
bHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChzdHlsZSgpKSk7CiAKICAgICBm
b3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZ0JveCgpKSB7CiAgICAgICAgIHBvcHVsYXRvci5jb2xsZWN0Q2hpbGQo
KmNoaWxkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Hcmlk
Q29vcmRpbmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGlu
YXRlLmgKaW5kZXggNTgzYWY1YmFhZTQ4ZWVjNmE1YjMyYmU4ZDZmNmYxNDRlZDc3YWU3My4uOTJm
OTZlNjQ1ZmFlYWZjY2Y1MTg2MjhjY2M3ZmNhYWM1NjFjZmNkNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmgKQEAgLTQwLDE0ICs0MCwxNyBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKy8vIFJlY29tbWVuZGVkIG1heGltdW0gc2l6ZSBm
b3IgYm90aCBleHBsaWNpdCBhbmQgaW1wbGljaXQgZ3JpZHMuCitjb25zdCBzaXplX3Qga0dyaWRN
YXhUcmFja3MgPSAxMDAwMDAwOworCiAvLyBBIHNwYW4gaW4gYSBzaW5nbGUgZGlyZWN0aW9uIChl
aXRoZXIgcm93cyBvciBjb2x1bW5zKS4gTm90ZSB0aGF0IHxyZXNvbHZlZEluaXRpYWxQb3NpdGlv
bnwKIC8vIGFuZCB8cmVzb2x2ZWRGaW5hbFBvc2l0aW9ufCBhcmUgZ3JpZCBhcmVhcycgaW5kZXhl
cywgTk9UIGdyaWQgbGluZXMnLiBJdGVyYXRpbmcgb3ZlciB0aGUKIC8vIHNwYW4gc2hvdWxkIGlu
Y2x1ZGUgYm90aCB8cmVzb2x2ZWRJbml0aWFsUG9zaXRpb258IGFuZCB8cmVzb2x2ZWRGaW5hbFBv
c2l0aW9ufCB0byBiZSBjb3JyZWN0LgogY2xhc3MgR3JpZFNwYW4gewogcHVibGljOgogICAgIEdy
aWRTcGFuKGNvbnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZlZEluaXRpYWxQb3NpdGlv
biwgY29uc3QgR3JpZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkRmluYWxQb3NpdGlvbikKLSAg
ICAgICAgOiByZXNvbHZlZEluaXRpYWxQb3NpdGlvbihyZXNvbHZlZEluaXRpYWxQb3NpdGlvbikK
LSAgICAgICAgLCByZXNvbHZlZEZpbmFsUG9zaXRpb24ocmVzb2x2ZWRGaW5hbFBvc2l0aW9uKQor
ICAgICAgICA6IHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uKHN0ZDo6bWluKHJlc29sdmVkSW5pdGlh
bFBvc2l0aW9uLnRvSW50KCksIGtHcmlkTWF4VHJhY2tzIC0gMSkpCisgICAgICAgICwgcmVzb2x2
ZWRGaW5hbFBvc2l0aW9uKHN0ZDo6bWluKHJlc29sdmVkRmluYWxQb3NpdGlvbi50b0ludCgpLCBr
R3JpZE1heFRyYWNrcykpCiAgICAgewogICAgICAgICBBU1NFUlQocmVzb2x2ZWRJbml0aWFsUG9z
aXRpb24gPD0gcmVzb2x2ZWRGaW5hbFBvc2l0aW9uKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcAppbmRl
eCA2OWE4YTU5NDNlMzhjNzU1OTk1YmVmNmYyYmI0OGFhNGVkNTRjZmQwLi4wZjM2MmFlZmExYmFm
NjExMTRlZjRiNDQ4MTc2NzA3YjJiZTI1MzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKQEAgLTQ4LDkgKzQ4
LDE5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1N0YXJ0U2lkZShHcmlkUG9zaXRpb25TaWRlIHNp
ZGUpCiAgICAgcmV0dXJuIHNpZGUgPT0gQ29sdW1uU3RhcnRTaWRlIHx8IHNpZGUgPT0gUm93U3Rh
cnRTaWRlOwogfQogCitzaXplX3QgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZENv
bHVtbkNvdW50KGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7CisgICAg
cmV0dXJuIHN0ZDo6bWluKGdyaWRDb250YWluZXJTdHlsZS5ncmlkQ29sdW1ucygpLnNpemUoKSwg
a0dyaWRNYXhUcmFja3MpOworfQorCitzaXplX3QgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxp
Y2l0R3JpZFJvd0NvdW50KGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUpCit7
CisgICAgcmV0dXJuIHN0ZDo6bWluKGdyaWRDb250YWluZXJTdHlsZS5ncmlkUm93cygpLnNpemUo
KSwga0dyaWRNYXhUcmFja3MpOworfQorCiBzdGF0aWMgc2l6ZV90IGV4cGxpY2l0R3JpZFNpemVG
b3JTaWRlKGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUsIEdyaWRQb3NpdGlv
blNpZGUgc2lkZSkKIHsKLSAgICByZXR1cm4gaXNDb2x1bW5TaWRlKHNpZGUpID8gZ3JpZENvbnRh
aW5lclN0eWxlLmdyaWRDb2x1bW5zKCkuc2l6ZSgpIDogZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRS
b3dzKCkuc2l6ZSgpOworICAgIHJldHVybiBpc0NvbHVtblNpZGUoc2lkZSkgPyBHcmlkUmVzb2x2
ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoZ3JpZENvbnRhaW5lclN0eWxlKSA6
IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChncmlkQ29udGFpbmVy
U3R5bGUpOwogfQogCiBHcmlkU3BhbiBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6cmVzb2x2ZUdyaWRQ
b3NpdGlvbnNGcm9tQXV0b1BsYWNlbWVudFBvc2l0aW9uKGNvbnN0IFJlbmRlclN0eWxlJiBncmlk
Q29udGFpbmVyU3R5bGUsIGNvbnN0IFJlbmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRUcmFja1Npemlu
Z0RpcmVjdGlvbiBkaXJlY3Rpb24sIGNvbnN0IEdyaWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZl
ZEluaXRpYWxQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmgKaW5kZXggMjYzYjUyNDNiNjQzMWUwODVjMTI2NjY3
MTc5ZGIwZTZlZDA5N2M5Mi4uOGZiMTQzZjIxZjU2ZWY1ZDM2NjY2YmJhZTFjMjFlZDA1OThhOTc4
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZl
ZFBvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNv
bHZlZFBvc2l0aW9uLmgKQEAgLTE0Niw2ICsxNDYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBHcmlkUmVzb2x2ZWRQb3NpdGlvbihtX2ludGVnZXJQb3NpdGlvbiArIDEpOwogICAgIH0KIAor
ICAgIHN0YXRpYyBzaXplX3QgZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoY29uc3QgUmVuZGVyU3R5
bGUmKTsKKyAgICBzdGF0aWMgc2l6ZV90IGV4cGxpY2l0R3JpZFJvd0NvdW50KGNvbnN0IFJlbmRl
clN0eWxlJik7CisKIHByaXZhdGU6CiAKICAgICBzaXplX3QgbV9pbnRlZ2VyUG9zaXRpb247CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmFlYWY2
YWY3MjM4MGQwMmIzZGI5MDczZDRlMjljODRkZTU1NDU4MS4uYmU0NWRiNTUxM2E1ODc4MDc5MjRj
ZjU3MTIwNjhmMmU5YmIwY2QzOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTEwLTA3ICBTZXJnaW8gVmlsbGFy
IFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRd
IExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgbmV3IHVuaXQgdGVzdCBm
b3IgdGhlIENTUyBwYXJzZXIuIFJpZ2h0IG5vdyBpdCBvbmx5IGNoZWNrcworICAgICAgICB0aGF0
IHdlIHByb3Blcmx5IGNsYW1wIHRoZSBtYXhpbXVtIG51bWJlciBvZiB0cmFja3Mgb24gYSBncmlk
IHRvIGEKKyAgICAgICAgbWF4aW11bSBvZiAxIG1pbGxpb24uCisKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1F
ZmwuY21ha2U6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2VyLmNw
cDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpjb21wdXRlTnVtYmVyT2ZUcmFja3Mp
OiBIZWxwZXIgZnVuY3Rpb24uCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogQWRkZWQg
YQorICAgICAgICBDU1NQcm9wZXJ0eVBhcnNlclRlc3QuR3JpZFRyYWNrTGltaXRzIHRlc3QgY2Fz
ZS4KKwogMjAxNC0xMC0xMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBQYWdlIG5vdCBmdWxseSByZW5kZXJlZCBpbiBpT1MgRFJUIHNuYXBzaG90cwpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKaW5kZXggYmM1ZDBiZWRkNzk1M2MwZTA1ZTExOTQ1
Njc5ODRjZjQ5NTZiMjcxOS4uYTMwZjdmNDgzZmEyMzJhYzUwMjJmNjg3Y2EwZjU0NjU3Y2MzYmY2
NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0xOSwxMiArMTksMTcgQEAgaW5j
bHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0JJTkFSWV9ESVJ9CiAgICAgJHtKQVZBU0NSSVBUQ09S
RV9ESVJ9L3BhcnNlcgogICAgICR7SkFWQVNDUklQVENPUkVfRElSfS9ydW50aW1lCiAgICAgJHtU
SElSRFBBUlRZX0RJUn0vZ3Rlc3QvaW5jbHVkZQorICAgICR7V0VCQ09SRV9ESVJ9L2NzcworICAg
ICR7V0VCQ09SRV9ESVJ9L2RvbQogICAgICR7V0VCQ09SRV9ESVJ9L2VkaXRpbmcKICAgICAke1dF
QkNPUkVfRElSfS9wbGF0Zm9ybQorICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2FuaW1hdGlv
bgogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzCiAgICAgJHtXRUJDT1JFX0RJ
Un0vcGxhdGZvcm0vdGV4dAogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsKICAg
ICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAKKyAgICAke1dFQkNPUkVfRElS
fS9yZW5kZXJpbmcKKyAgICAke1dFQkNPUkVfRElSfS9yZW5kZXJpbmcvc3R5bGUKICAgICAke1dF
QktJVDJfRElSfS9QbGF0Zm9ybS9JUEMKICAgICAke1dFQktJVDJfRElSfS9TaGFyZWQKICAgICAk
e1dFQktJVDJfRElSfS9TaGFyZWQvQVBJL2MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvUGxhdGZvcm1FZmwuY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNt
YWtlCmluZGV4IDg2NzdlYTVhMGYxOTkwZDFjNTIwOTY4MTIwMGIwODVlNjFiNzQ5NTguLmQ0NDA2
ODZkZGUzM2QyOGU3NTc1ZTcxYmUxOGM0MjZlOTIxMzA5NTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtNTcsNiArNTcsNyBAQCBsaXN0KEFQUEVORCBUZXN0SmF2YVNj
cmlwdENvcmVfTElCUkFSSUVTCiAjIFJlbGVhc2UgYnVpbGRzIGJlZm9yZSBhZGRpbmcgaXQgdG8g
dGVzdF97d2Via2l0Ml9hcGl8d2ViY29yZX1fQklOQVJJRVMuCiAKIHNldCh0ZXN0X3dlYmNvcmVf
QklOQVJJRVMKKyAgICBDU1NQYXJzZXIKICAgICBMYXlvdXRVbml0CiAgICAgVVJMCiApCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCBiYWU4NGQzYzg3NGY1NDU3OWJkNTZj
YzExNjJkYzAzODJlYzliY2VhLi5kOWYxMWE3YjhmY2ZkZGQxNDI2NmVjMmNlZDQ1ODdkNjJmMTQ4
YjE3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTExMywxMiArMTEz
LDE0IEBAIHNldChUZXN0V2ViQ29yZUd0a19TT1VSQ0VTCiAgICAgJHtXRUJDT1JFX0RJUn0vcGxh
dGZvcm0vZ3RrL0d0a0lucHV0TWV0aG9kRmlsdGVyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9E
SVJ9L1Rlc3RzL1dlYkNvcmUvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmNwcAogICAgICR7VEVTVFdF
QktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvZ3RrL1VzZXJBZ2VudFF1aXJrcy5jcHAKKyAgICAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vVXNlckFnZW50U2NyaXB0c0RhdGEuY3BwCiAp
CiAKIGFkZF9leGVjdXRhYmxlKFRlc3RXZWJDb3JlCiAgICAgJHt0ZXN0X21haW5fU09VUkNFU30K
ICAgICAke1Rlc3RXZWJDb3JlR3RrX1NPVVJDRVN9CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0v
VGVzdHNDb250cm9sbGVyLmNwcAorICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNv
cmUvQ1NTUGFyc2VyLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUv
TGF5b3V0VW5pdC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJDb3JlL1VS
TC5jcHAKICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmVlYTk5ODE2MDI4YzE5YzRlZjdj
YmNhMTQ4ZWNjNGRmZGVkNjU1Ni4uNzUxNWVmZTY2NjMzMDI1M2EwNmY5MWMzMzgyYzdlYmU0MTQx
OWQ2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI0NCw2ICsyNDQsNyBAQAogCQlDOTU1
MDFCRjE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5jZXMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyog
UHJlZmVyZW5jZXMubW0gKi87IH07CiAJCUNENTM5M0M4MTc1N0JBOTcwMEMwNzEyMyAvKiBNRDUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1Mzkz
QzcxNzU3QkE5NzAwQzA3MTIzIC8qIE1ENS5jcHAgKi87IH07CiAJCUNENTM5M0NBMTc1N0JBQzQw
MEMwNzEyMyAvKiBTSEExLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENENTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAqLzsgfTsKKwkJ
Q0Q1NDUxRUExOUU0MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYg
LyogQ1NTUGFyc2VyLmNwcCAqLzsgfTsKIAkJQ0Q1NDk3QjQxNTg1N0YwQzAwQjVCQzMwIC8qIE1l
ZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLzsgfTsKIAkJQ0RD
MkM3MTUxNzk3MEREQjAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0RDMkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8q
IFRpbWVSYW5nZXMuY3BwICovOyB9OwogCQlDRTE0RjFBNDE4MTg3M0IwMDAxQzI3MDUgLyogV2ls
bFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTE0RjFBMjE4MTg3M0IwMDAxQzI3
MDUgLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCAqLzsgfTsKQEAg
LTYxOCw2ICs2MTksNyBAQAogCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyogUHJlZmVyZW5j
ZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQcmVmZXJlbmNl
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzcxNzU3QkE5NzAwQzA3
MTIzIC8qIE1ENS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNRDUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDOTE3NTdCQUM0MDBDMDcx
MjMgLyogU0hBMS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTSEEx
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5
MzZGIC8qIENTU1BhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDU1NQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDU0OTdCMzE1
ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRpbWVSYW5nZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRTE0
RjFBMjE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jh
c2guaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9IFdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDcsNiArNzQ5LDcgQEAKIAkJNDQw
QTFEMzYxNEEwMTAwMDAwOEE2NkYyIC8qIFdlYkNvcmUgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQ
YXJzZXIuY3BwICovLAogCQkJCTkzQTcyMEU1MThGMUEwRTgwMEE4NDhFMSAvKiBDYWxjdWxhdGlv
blZhbHVlLmNwcCAqLywKIAkJCQlDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdl
cy5jcHAgKi8sCiAJCQkJNDQwQTFEMzgxNEEwMTAzQTAwOEE2NkYyIC8qIFVSTC5jcHAgKi8sCkBA
IC0xMzg4LDYgKzEzOTEsNyBAQAogCQkJCTFBN0JGQzBDMTcxQTBCREIwMEJDNUY2NCAvKiBXaWxs
U2VuZFN1Ym1pdEV2ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyMkQzMTUxNERDNjg5ODAw
RkZCMUREIC8qIFVzZXJNZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTVGNUY5MTRB
RDc4RUUwMDQ4NEJFMSAvKiBWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0Q1NDUxRUEx
OUU0MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTBB
OUJCNzE3MzVERThBMDBENzFCQkMgLyogQ2xvc2VOZXdXaW5kb3dJbk5hdmlnYXRpb25Qb2xpY3lE
ZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUZFMjE3RUNEMTY0MEE1NEEwMDUyOTg4QiAv
KiBWTUluc3BlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MjBCQ0Y0RDE0MUVCMDlFMDA5
MzdFQTggLyogV2ViQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDA4YjViMTQ1
NDJkNmFjNzhmMDg5NDQwNjRkNjg3ZjM5Y2RmZjI5NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwCkBAIC0wLDAgKzEsODIg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhLCBTLkwuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPFdlYkNv
cmUvQ1NTUGFyc2VyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9DU1NWYWx1ZUxpc3QuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1N0eWxlUHJvcGVydGllcy5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SSB7CisKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorc3RhdGljIHVuc2lnbmVkIGNvbXB1
dGVOdW1iZXJPZlRyYWNrcyhXZWJDb3JlOjpDU1NWYWx1ZUxpc3QqIHZhbHVlTGlzdCkKK3sKKyAg
ICB1bnNpZ25lZCBudW1iZXJPZlRyYWNrcyA9IDA7CisgICAgZm9yIChXZWJDb3JlOjpDU1NWYWx1
ZUxpc3RJdGVyYXRvciBpID0gdmFsdWVMaXN0OyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsK
KyAgICAgICAgaWYgKGkudmFsdWUoKS0+aXNHcmlkTGluZU5hbWVzVmFsdWUoKSkKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICArK251bWJlck9mVHJhY2tzOworICAgIH0KKyAgICByZXR1
cm4gbnVtYmVyT2ZUcmFja3M7Cit9CisjZW5kaWYKKworVEVTVChDU1NQcm9wZXJ0eVBhcnNlclRl
c3QsIEdyaWRUcmFja0xpbWl0cykKK3sKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAg
IHN0cnVjdCB7CisgICAgICAgIGNvbnN0IFdlYkNvcmU6OkNTU1Byb3BlcnR5SUQgcHJvcGVydHlJ
RDsKKyAgICAgICAgY29uc3QgY2hhciogaW5wdXQ7CisgICAgICAgIGNvbnN0IHNpemVfdCBvdXRw
dXQ7CisgICAgfSB0ZXN0Q2FzZXNbXSA9IHsKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z
OiByZXBlYXQoOTk5OTk5LCAyMHB4KTsiLCA5OTk5OTl9LAorICAgICAgICB7V2ViQ29yZTo6Q1NT
UHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJv
d3M6IHJlcGVhdCg5OTk5OTksIDIwcHgpOyIsIDk5OTk5OX0sCisgICAgICAgIHtXZWJDb3JlOjpD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1uczogcmVwZWF0KDEwMDAwMDAsIDEwJSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtX
ZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQt
dGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDAwMDAsIDEwJSk7IiwgMTAwMDAwMH0sCisgICAgICAg
IHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0
LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEwMDAwMDAsIChmaXJzdCkgLXdlYmtpdC1t
aW4tY29udGVudCAobGFzdCkpOyIsIDEwMDAwMDB9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJv
cGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6
IHJlcGVhdCgxMDAwMDAwLCAoZmlyc3QpIC13ZWJraXQtbWluLWNvbnRlbnQgKGxhc3QpKTsiLCAx
MDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRl
Q29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTAwMDAwMSwg
YXV0byk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdy
aWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDAw
MDEsIGF1dG8pOyIsIDEwMDAwMDB9LAorICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJr
aXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJl
cGVhdCg0MDAwMDAsIDJlbSBtaW5tYXgoMTBweCwgLXdlYmtpdC1tYXgtY29udGVudCkgMC41ZnIp
OyIsIDk5OTk5OX0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1w
bGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQwMDAwMCwgMmVt
IG1pbm1heCgxMHB4LCAtd2Via2l0LW1heC1jb250ZW50KSAwLjVmcik7IiwgOTk5OTk5fSwKKyAg
ICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNjAwMDAwLCAoZmlyc3QpIDN2aCAx
MCUgMmZyIChuYXYpIDEwcHggYXV0byAxZnIgNmVtIChsYXN0KSk7IiwgOTk5OTk5fSwKKyAgICAg
ICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNjAwMDAwLCAoZmlyc3QpIDN2aCAxMCUgMmZyIChu
YXYpIDEwcHggYXV0byAxZnIgNmVtIChsYXN0KSk7IiwgOTk5OTk5fSwKKyAgICB9OworCisgICAg
V2ViQ29yZTo6Q1NTUGFyc2VyIHBhcnNlcihXZWJDb3JlOjpzdHJpY3RDU1NQYXJzZXJDb250ZXh0
KCkpOworICAgIFJlZlB0cjxXZWJDb3JlOjpNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzPiBwcm9wZXJ0
aWVzID0gV2ViQ29yZTo6TXV0YWJsZVN0eWxlUHJvcGVydGllczo6Y3JlYXRlKCk7CisKKyAgICBm
b3IgKGF1dG8mIHRlc3RDYXNlIDogdGVzdENhc2VzKSB7CisgICAgICAgIEFTU0VSVF9UUlVFKHBh
cnNlci5wYXJzZURlY2xhcmF0aW9uKHByb3BlcnRpZXMuZ2V0KCksIHRlc3RDYXNlLmlucHV0LCBu
dWxscHRyLCBudWxscHRyKSk7CisgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpDU1NWYWx1ZT4gdmFs
dWUgPSBwcm9wZXJ0aWVzLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKHRlc3RDYXNlLnByb3BlcnR5SUQp
OworCisgICAgICAgIEFTU0VSVF9UUlVFKHZhbHVlLT5pc1ZhbHVlTGlzdCgpKTsKKyAgICAgICAg
RVhQRUNUX0VRKGNvbXB1dGVOdW1iZXJPZlRyYWNrcyhkb3duY2FzdDxXZWJDb3JlOjpDU1NWYWx1
ZUxpc3Q+KHZhbHVlLmdldCgpKSksIHRlc3RDYXNlLm91dHB1dCk7CisgICAgfQorI2VuZGlmIC8v
IEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiOWQ3OWFjYjBmODVlNThkNWU4NjVlODc2ZmRiNzE3Nzg2MWI0MjIyLi42ODNk
MTUwMzc4ZTc1NWYxMzJjNDY1MmZjN2VlODAyYzhiMjY0MzM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTQtMTAtMDcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+
CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gTGltaXQgdGhlIHNpemUgb2YgZXhwbGljaXQv
aW1wbGljaXQgZ3JpZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTM2MjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlZCBhcyB0aGV5IGFyZSBub3cgcGFydCBvZiB0aGUgV2ViQ29yZSdzIENTU1Bh
cnNlci5jcHAgdW5pdAorICAgICAgICB0ZXN0LiBUaGUgcmVhc29uIHdoeSBpdCB3YXMgbW92ZWQg
dGhlcmUgaXMgYmVjYXVzZSB0aGUgdGVzdCB3b3VsZAorICAgICAgICByZXF1aXJlIGh1Z2UgKH4x
MDAwMDAwIHRyYWNrcykgZ3JpZCBhbGxvY2F0aW9ucywgbWFraW5nIHRoZSB0ZXN0CisgICAgICAg
IHF1aXRlIHNsb3cgc3BlY2lhbGx5IG9uIERlYnVnIGJ1aWxkcy4KKworICAgICAgICAqIGZhc3Qv
Y3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVs
ZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy5odG1sOiBSZW1vdmVkLgorCiAyMDE0LTA5LTMw
ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtD
U1MgR3JpZCBMYXlvdXRdIFBhc3MgdGhlIHZhbGlkIHNldCBvZiB0cmFja3MgdG8gZ3JvdyBiZXlv
bmQgZ3Jvd3RoIGxpbWl0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgt
cmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz
YjRlOTY1MzYyMWUzMThmZDBjOWI5OGQ3MzcwMjVmOTYzZjI4NTBlLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGVzdCB0aGUgdmFsdWVzIGdyZWF0ZXIgdGhh
biB0aGUgbWF4aW11bSByZXBldGl0aW9ucyB2YWx1ZSBhcmUgY2xhbXBlZCB0aHJvdWdoIENTUy4K
LVBBU1MKLVBBU1MKLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0
aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MmJmZTEzZWQxYmZhNDYw
OTk4YTIzMTQwNjNlZjZjZDA3MTliNTRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxl
bWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIsIDEpOwotPC9zY3JpcHQ+Ci08bGluayBocmVmPSJyZXNv
dXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Ci08c3R5bGU+Ci0uY2xhbXBSZXBldGl0
aW9uc0JlbG93TGltaXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQo
OTk5NSwgMXB4KTsKLX0KLQotLmNsYW1wUmVwZXRpdGlvbnNPbkxpbWl0IHsKLSAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDAwLCAxcHgpOwotfQotCi0uY2xhbXBSZXBl
dGl0aW9uc0Fib3ZlTGltaXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBl
YXQoMTAwMDUsIDFweCk7Ci19Ci08L3N0eWxlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJjaGVj
a0xheW91dCgnLmdyaWQnKSI+Ci0KLTxkaXY+VGVzdCB0aGUgdmFsdWVzIGdyZWF0ZXIgdGhhbiB0
aGUgbWF4aW11bSByZXBldGl0aW9ucyB2YWx1ZSBhcmUgY2xhbXBlZCB0aHJvdWdoIENTUy48L2Rp
dj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJlcGV0aXRpb25zQmVsb3dMaW1pdCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9Ijk5OTUiPjwvZGl2PgotCi08ZGl2IGNsYXNzPSJncmlkIGNsYW1wUmVw
ZXRpdGlvbnNPbkxpbWl0IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwMDAiPjwvZGl2PgotCi08
ZGl2IGNsYXNzPSJncmlkIGNsYW1wUmVwZXRpdGlvbnNBYm92ZUxpbWl0IiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAwMDAiPjwvZGl2PgotCi08L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239726</attachid>
            <date>2014-10-13 06:21:03 -0700</date>
            <delta_ts>2014-10-21 08:52:21 -0700</delta_ts>
            <desc>Mac build fixes</desc>
            <filename>bug-136217-20141013152105.patch</filename>
            <type>text/plain</type>
            <size>34170</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGI5NDQ2ZDFlZDg3YzQ4
ZjNmYzU2MDU2MDVjN2Q3YmU0ZDM5MmUzOS4uNDAyNjgyODM2ZjhmMjFkNGRhNmNjNWVlZmZiMjcx
N2EyNmZhMDFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24pOiBSZXBsYWNlZCB0aGUKKyAgICAgICAgb2xkIGxpbWl0IGJ5IHRo
ZSBuZXcgb25lLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOiBVc2UgdGhlIGFtb3VudCBv
ZiB0cmFja3MKKyAgICAgICAgcHJvdmlkZWQgYnkgR3JpZFJlc29sdmVkUG9zaXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRl
cmF0b3IpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRTcGFuOjpHcmlkU3Bhbik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudCk6IEJyaW5nCisg
ICAgICAgIHRoZSBzdGF0aWMgZnVuY3Rpb24gYmFjayB0byBsaWZlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpleHBsaWNpdEdyaWRTaXplRm9yU2lkZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmg6CisKIDIwMTQtMDktMzAgIFNlcmdp
byBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlk
IExheW91dF0gUGFzcyB0aGUgdmFsaWQgc2V0IG9mIHRyYWNrcyB0byBncm93IGJleW9uZCBncm93
dGggbGltaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNjU5MzljNjViZTE3NjQxOTJjMGZlMjI1YzkxNTc3YzY3ZTE2Yzk3ZS4u
MzFjYzc4MWE2ODE5YzRiY2ZjODU1MjE1MTg4ZGE1MmU2ODU5NDY1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYzNiw3ICsx
NjM2LDcgQEAKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNFRDUx
MjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1MDIwMEU3MjZDMiAv
KiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1h
dGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1
MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKLQkJNDlBRTJEOEYx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjdWxhdGlvblZhbHVlLmggKi87IH07CisJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIw
QSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3VsYXRp
b25WYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1
RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJNDlBRTJEOTcxMzRF
RTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxj
dWxhdGlvblZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJE
NjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzU4LDEzICsxNzU4LDEz
IEBACiAJCTRCOEFGNEFBMEIxQ0UwMkIwMDY4NzY5MCAvKiBEYXRhVHJhbnNmZXJBY2Nlc3NQb2xp
Y3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRCOEFG
NEE5MEIxQ0UwMkIwMDY4NzY5MCAvKiBEYXRhVHJhbnNmZXJBY2Nlc3NQb2xpY3kuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QkFFOTVCMTBCMkZB
OUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyogRWRp
dG9yRGVsZXRlQWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNEUxOTU5MjEwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1
OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi87IH07Ci0JCTRF
MTk1OTIyMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjAwQTM5REFCQTAwMjIw
RkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggKi87IH07CisJCTRFMTk1OTIyMEEzOURBQkEwMDIy
MEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVy
ZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNEUxOTU5MjkwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAwMjIw
RkU1IC8qIE1lZGlhUXVlcnkuY3BwICovOyB9OwotCQk0RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUg
LyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEUxOTU5MjQwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCAqLzsgfTsKKwkJ
NEUxOTU5MkEwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI0MEEzOURBQ0MwMDIyMEZFNSAv
KiBNZWRpYVF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNEUxOTU5MkIwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5
MjUwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwICovOyB9OwogCQk0
RTE5NTkyQzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjYwQTM5REFDQzAw
MjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLzsgfTsKIAkJNEUxOTU5MkQwQTM5REFD
QzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjcwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVl
cnlFeHAuY3BwICovOyB9OwotCQk0RTE5NTkyRTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVy
eUV4cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUx
OTU5MjgwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuaCAqLzsgfTsKKwkJNEUxOTU5
MkUwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI4MEEzOURBQ0MwMDIyMEZFNSAvKiBN
ZWRpYVF1ZXJ5RXhwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNEYxNTM0REUxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEYxNTM0REQxMUI1
MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGMTUzNEUwMTFCNTMzMDIwMDIxRkQ4NiAvKiBF
ZGl0aW5nQmVoYXZpb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvclR5
cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NEY0RjVGRkIxMUNCRDJFMTAwQTE4NkJGIC8qIEluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hl
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEY0
RjVGRkExMUNCRDJEMjAwQTE4NkJGIC8qIEluc3BlY3RvcldlYkZyb250ZW5kRGlzcGF0Y2hlcnMu
Y3BwICovOyB9OwpAQCAtMjAzMyw3ICsyMDMzLDcgQEAKIAkJNTM2RDVBMjExOTNFMThFRTAwQ0U0
Q0FCIC8qIEhUTUxTcmNzZXRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTM2RDVBMUUxOTNFMThEMDAwQ0U0Q0FCIC8qIEhUTUxTcmNzZXRQ
YXJzZXIuY3BwICovOyB9OwogCQk1MzZENUEyMzE5M0U4RTBDMDBDRTRDQUIgLyogUGFyc2luZ1V0
aWxpdGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTM2RDVBMjIxOTNFOEUwQzAwQ0U0Q0FCIC8qIFBhcnNpbmdVdGlsaXRpZXMuaCAqLzsgfTsKIAkJ
NTM2RDVBMjUxOTNGNDBGQzAwQ0U0Q0FCIC8qIFNvdXJjZVNpemVMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkQ1QTI0MTkzRjQwRkMwMENF
NENBQiAvKiBTb3VyY2VTaXplTGlzdC5jcHAgKi87IH07Ci0JCTUzNkQ1QTI3MTkzRjQxMEIwMENF
NENBQiAvKiBTb3VyY2VTaXplTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTM2RDVBMjYxOTNGNDEwQjAwQ0U0Q0FCIC8qIFNvdXJjZVNpemVMaXN0
LmggKi87IH07CisJCTUzNkQ1QTI3MTkzRjQxMEIwMENFNENBQiAvKiBTb3VyY2VTaXplTGlzdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM2RDVBMjYx
OTNGNDEwQjAwQ0U0Q0FCIC8qIFNvdXJjZVNpemVMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTNDODI5OEQxM0Q4RDkyNzAwREUyREVCIC8q
IFJlbmRlckZsZXhpYmxlQm94LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUzQzgyOThCMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJv
eC5jcHAgKi87IH07CiAJCTUzQzgyOThFMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJs
ZUJveC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTND
ODI5OEMxM0Q4RDkyNzAwREUyREVCIC8qIFJlbmRlckZsZXhpYmxlQm94LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTNFMjlFNUUxNjdBOEExOTAw
NTg2RDNEIC8qIEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNFMjlFNUMxNjdBOEExOTAwNTg2RDNEIC8q
IEludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuY3BwICovOyB9OwpAQCAtMjA1Myw3ICsyMDUzLDcg
QEAKIAkJNTdDRjQ5NzUxNEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBvaW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1N0NGNDk3MzE0RUUzNkQ3
MDBFQ0ZGMTQgLyogSW5zZXJ0aW9uUG9pbnQuaCAqLzsgfTsKIAkJNTg5NTU2RUQxOEQ0QTQ0MDAw
NzY0QjAzIC8qIEJvcmRlckVkZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU4OTU1NkVDMThENEE0NDAwMDc2NEIwMyAvKiBCb3JkZXJFZGdlLmggKi87
IH07CiAJCTU4QUVFMkY0MThENEJDQ0YwMDIyRTdGRSAvKiBCb3JkZXJFZGdlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU4QUVFMkYzMThENEJDQ0Yw
MDIyRTdGRSAvKiBCb3JkZXJFZGdlLmNwcCAqLzsgfTsKLQkJNThDRDM1Q0IxOEVCNEMzOTAwQjlG
M0FDIC8qIEZsb2F0U2l6ZUhhc2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU4Q0QzNUNBMThFQjRDMzkwMEI5RjNBQyAvKiBGbG9hdFNpemVIYXNoLmgg
Ki87IH07CisJCTU4Q0QzNUNCMThFQjRDMzkwMEI5RjNBQyAvKiBGbG9hdFNpemVIYXNoLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OENEMzVDQTE4RUI0
QzM5MDBCOUYzQUMgLyogRmxvYXRTaXplSGFzaC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTU4REVFRDg2MTk4NzNGRjAwMDg4OEZGMyAvKiBSZW5k
ZXJTZWxlY3Rpb25JbmZvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU4REVFRDg1MTk4NzNGRjAwMDg4OEZGMyAvKiBSZW5kZXJTZWxlY3Rpb25JbmZv
LmNwcCAqLzsgfTsKIAkJNTkwNUFEQkYxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwNUFE
QkQxMzAyRjNDRTAwRjExNkRGIC8qIFhNTFRyZWVWaWV3ZXIuY3BwICovOyB9OwogCQk1OTA1QURD
MDEzMDJGM0NFMDBGMTE2REYgLyogWE1MVHJlZVZpZXdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTkwNUFEQkUxMzAyRjNDRTAwRjExNkRGIC8qIFhN
TFRyZWVWaWV3ZXIuaCAqLzsgfTsKQEAgLTUxMTcsNyArNTExNyw3IEBACiAJCUJDNTNDNUY1MERB
NTZCOTIwMDIxRUI1RCAvKiBHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM1M0M1RjQwREE1NkI5MjAwMjFFQjVEIC8qIEdyYWRpZW50Lmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM1M0M2
MDgwREE1NkM1NzAwMjFFQjVEIC8qIEdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNDNjA3MERBNTZDNTcwMDIxRUI1RCAvKiBHcmFk
aWVudC5jcHAgKi87IH07CiAJCUJDNTNDNjBCMERBNTZDRjEwMDIxRUI1RCAvKiBHcmFkaWVudENH
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTND
NjBBMERBNTZDRjEwMDIxRUI1RCAvKiBHcmFkaWVudENHLmNwcCAqLzsgfTsKLQkJQkM1M0M2OTIw
REE1OTExNDAwMjFFQjVEIC8qIENTU0dyYWRpZW50VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNDNjkxMERBNTkxMTQwMDIxRUI1RCAvKiBD
U1NHcmFkaWVudFZhbHVlLmggKi87IH07CisJCUJDNTNDNjkyMERBNTkxMTQwMDIxRUI1RCAvKiBD
U1NHcmFkaWVudFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzUzQzY5MTBEQTU5MTE0MDAyMUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNTNEOTEx
MTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGllbnREYXRhLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzRDkxMDExNDMxMENDMDAwRDgxN0Ug
LyogV2ViQ29yZUpTQ2xpZW50RGF0YS5oICovOyB9OwogCQlCQzUzREEyRTExNDMxMjFFMDAwRDgx
N0UgLyogRE9NV3JhcHBlcldvcmxkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzUzREEyRDExNDMxMjFFMDAwRDgxN0UgLyogRE9NV3JhcHBlcldvcmxk
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM1
M0RBNDgxMTQzMTM0RDAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzREE0NzExNDMxMzREMDAwRDgx
N0UgLyogRE9NV3JhcHBlcldvcmxkLmNwcCAqLzsgfTsKQEAgLTUyMTMsNyArNTIxMyw3IEBACiAJ
CUJDNzZBQzEzMEREN0FENUMwMDQxNUYzNCAvKiBQYXJzZXJVdGlsaXRpZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzZBQzExMEREN0FENUMwMDQx
NUYzNCAvKiBQYXJzZXJVdGlsaXRpZXMuaCAqLzsgfTsKIAkJQkM3NzJCM0MwQzRFQTkxRTAwODMy
ODVGIC8qIENTU0hlbHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM3NzJCMzYwQzRFQTkxRTAwODMyODVGIC8qIENTU0hlbHBlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNzcyQjNEMEM0RUE5
MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM3NzJCMzcwQzRFQTkxRTAwODMyODVGIC8qIENTU1BhcnNlci5j
cHAgKi87IH07Ci0JCUJDNzcyQjNFMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM4MEM0RUE5
MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCAqLzsgfTsKKwkJQkM3NzJCM0UwQzRFQTkxRTAwODMy
ODVGIC8qIENTU1BhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM3NzJCMzgwQzRFQTkxRTAwODMyODVGIC8qIENTU1BhcnNlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNzcyQzQ2MEM0RUIy
QzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0NDBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0
cFJlcXVlc3QuY3BwICovOyB9OwogCQlCQzc3MkM0NzBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0
cFJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNzcyQzQ1MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5oICovOyB9OwogCQlC
Qzc3MkM0RTBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0QzBDNEVCMzA0MDA4
MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCmluZGV4IDkyYWQ3MzBjMjEzZmUwOGZjZmY5MmY1NzBlNWY4MzFiZWMwMTdmMmMuLmJmNjUz
NTIzOGY1ZDgxYWI5ZTNlNTkxNDkzZGNiYmIwYjI0MWU0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRmxvYXRDb252ZXJzaW9uLmgiCisjaW5jbHVkZSAiR3Jp
ZENvb3JkaW5hdGUuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAi
SGFzaFRvb2xzLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCkBAIC0xNTAsOSArMTUxLDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgSU5WQUxJRF9OVU1f
UEFSU0VEX1BST1BFUlRJRVMgPSBVSU5UX01BWDsKIHN0YXRpYyBjb25zdCBkb3VibGUgTUFYX1ND
QUxFID0gMTAwMDAwMDsKLSNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQotc3RhdGljIGNvbnN0
IHVuc2lnbmVkIE1BWF9HUklEX1RSQUNLX1JFUEVUSVRJT05TID0gMTAwMDA7Ci0jZW5kaWYKIAog
dGVtcGxhdGUgPHVuc2lnbmVkIE4+CiBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBDU1NQYXJzZXJT
dHJpbmcmIGEsIGNvbnN0IGNoYXIgKCZiKVtOXSkKQEAgLTUyNjYsMTIgKzUyNjQsOSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tSZXBlYXRGdW5jdGlvbihDU1NWYWx1ZUxpc3QmIGxp
c3QpCiAgICAgaWYgKCFhcmd1bWVudHMgfHwgYXJndW1lbnRzLT5zaXplKCkgPCAzIHx8ICF2YWxp
ZFVuaXQoYXJndW1lbnRzLT52YWx1ZUF0KDApLCBGUG9zaXRpdmVJbnRlZ2VyKSB8fCAhaXNDb21t
YShhcmd1bWVudHMtPnZhbHVlQXQoMSkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBB
U1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihhcmd1bWVudHMtPnZhbHVlQXQoMCktPmZW
YWx1ZSA+IDApOwogICAgIHNpemVfdCByZXBldGl0aW9ucyA9IGFyZ3VtZW50cy0+dmFsdWVBdCgw
KS0+ZlZhbHVlOwotICAgIC8vIENsYW1wIHJlcGV0aXRpb25zIGF0IE1BWF9HUklEX1RSQUNLX1JF
UEVUSVRJT05TLgotICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy1ncmlkLTEvI3JlcGVh
dC1ub3RhdGlvbgotICAgIGlmIChyZXBldGl0aW9ucyA+IE1BWF9HUklEX1RSQUNLX1JFUEVUSVRJ
T05TKQotICAgICAgICByZXBldGl0aW9ucyA9IE1BWF9HUklEX1RSQUNLX1JFUEVUSVRJT05TOwor
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKHJlcGV0aXRpb25zID4gMCk7CisK
ICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiByZXBlYXRlZFZhbHVlcyA9IENTU1ZhbHVlTGlzdDo6
Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKICAgICBhcmd1bWVudHMtPm5leHQoKTsgLy8gU2tpcCB0
aGUgcmVwZXRpdGlvbiBjb3VudC4KICAgICBhcmd1bWVudHMtPm5leHQoKTsgLy8gU2tpcCB0aGUg
Y29tbWEuCkBAIC01MjgxLDE0ICs1Mjc2LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRU
cmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkKICAgICBpZiAoY3VycmVudFZh
bHVlICYmIGN1cnJlbnRWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6VmFsdWVMaXN0KQog
ICAgICAgICBwYXJzZUdyaWRMaW5lTmFtZXMoKmFyZ3VtZW50cywgKnJlcGVhdGVkVmFsdWVzKTsK
IAotICAgIGJvb2wgc2F3VHJhY2tTaXplID0gZmFsc2U7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZU
cmFja3MgPSAwOwogICAgIHdoaWxlIChhcmd1bWVudHMtPmN1cnJlbnQoKSkgewogICAgICAgICBS
ZWZQdHI8Q1NTVmFsdWU+IHRyYWNrU2l6ZSA9IHBhcnNlR3JpZFRyYWNrU2l6ZSgqYXJndW1lbnRz
KTsKICAgICAgICAgaWYgKCF0cmFja1NpemUpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgcmVwZWF0ZWRWYWx1ZXMtPmFwcGVuZCh0cmFja1NpemUucmVsZWFzZU5vbk51bGwo
KSk7Ci0gICAgICAgIHNhd1RyYWNrU2l6ZSA9IHRydWU7CisgICAgICAgICsrbnVtYmVyT2ZUcmFj
a3M7CiAKICAgICAgICAgLy8gVGhpcyB0YWtlcyBjYXJlIG9mIGFueSB0cmFpbGluZyA8Y3VzdG9t
LWlkZW50PiogaW4gdGhlIGdyYW1tYXIuCiAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IGFyZ3VtZW50
cy0+Y3VycmVudCgpOwpAQCAtNTI5Nyw5ICs1MjkyLDEzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkKICAgICB9CiAKICAg
ICAvLyBXZSBzaG91bGQgaGF2ZSBmb3VuZCBhdCBsZWFzdCBvbmUgPHRyYWNrLXNpemU+LCBvdGhl
cndpc2UgdGhlIGRlY2xhcmF0aW9uIGlzIGludmFsaWQuCi0gICAgaWYgKCFzYXdUcmFja1NpemUp
CisgICAgaWYgKCFudW1iZXJPZlRyYWNrcykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAg
Ly8gV2UgY2xhbXAgdGhlIG51bWJlciBvZiByZXBldGl0aW9ucyB0byBhIG11bHRpcGxlIG9mIHRo
ZSByZXBlYXQoKSB0cmFjayBsaXN0J3Mgc2l6ZSwgd2hpbGUgc3RheWluZyBiZWxvdyB0aGUgbWF4
CisgICAgLy8gZ3JpZCBzaXplLgorICAgIHJlcGV0aXRpb25zID0gc3RkOjptaW4ocmVwZXRpdGlv
bnMsIGtHcmlkTWF4VHJhY2tzIC8gbnVtYmVyT2ZUcmFja3MpOworCiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCByZXBldGl0aW9uczsgKytpKSB7CiAgICAgICAgIGZvciAoc2l6ZV90IGogPSAw
OyBqIDwgcmVwZWF0ZWRWYWx1ZXMtPmxlbmd0aCgpOyArK2opCiAgICAgICAgICAgICBsaXN0LmFw
cGVuZCgqcmVwZWF0ZWRWYWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaikpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDMwYmI1NGY0YmI5YjM1ZDI0Nzdi
ZGFjZjFkN2Y5YTQ0NzRjN2ZiM2YuLmYxYmM5N2FiZTI5MGRhZTgwZmRmYjRiOWM3NWVhMmNjYTM1
NGNiNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTczOCw4
ICs3MzgsOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQoKQogICAgICAgICBp
bnNlcnRJdGVtSW50b0dyaWQoKmNoaWxkLCBHcmlkQ29vcmRpbmF0ZSgqcm93UG9zaXRpb25zLCAq
Y29sdW1uUG9zaXRpb25zKSk7CiAgICAgfQogCi0gICAgQVNTRVJUKGdyaWRSb3dDb3VudCgpID49
IHN0eWxlKCkuZ3JpZFJvd3MoKS5zaXplKCkpOwotICAgIEFTU0VSVChncmlkQ29sdW1uQ291bnQo
KSA+PSBzdHlsZSgpLmdyaWRDb2x1bW5zKCkuc2l6ZSgpKTsKKyAgICBBU1NFUlQoZ3JpZFJvd0Nv
dW50KCkgPj0gR3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KHN0eWxl
KCkpKTsKKyAgICBBU1NFUlQoZ3JpZENvbHVtbkNvdW50KCkgPj0gR3JpZFJlc29sdmVkUG9zaXRp
b246OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KHN0eWxlKCkpKTsKIAogICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgcHJvcGVybHkgInN0YWNrIiB2YWx1ZSBpbiBhdXRvLXBsYWNlbWVudCBhbGdvcml0
aG0uCiAgICAgaWYgKHN0eWxlKCkuaXNHcmlkQXV0b0Zsb3dBbGdvcml0aG1TdGFjaygpKSB7CkBA
IC03NTYsOCArNzU2LDggQEAgdm9pZCBSZW5kZXJHcmlkOjpwbGFjZUl0ZW1zT25HcmlkKCkKIHZv
aWQgUmVuZGVyR3JpZDo6cG9wdWxhdGVFeHBsaWNpdEdyaWRBbmRPcmRlckl0ZXJhdG9yKCkKIHsK
ICAgICBPcmRlckl0ZXJhdG9yUG9wdWxhdG9yIHBvcHVsYXRvcihtX29yZGVySXRlcmF0b3IpOwot
ICAgIHNpemVfdCBtYXhpbXVtUm93SW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIHN0eWxlKCku
Z3JpZFJvd3MoKS5zaXplKCkpOwotICAgIHNpemVfdCBtYXhpbXVtQ29sdW1uSW5kZXggPSBzdGQ6
Om1heDxzaXplX3Q+KDEsIHN0eWxlKCkuZ3JpZENvbHVtbnMoKS5zaXplKCkpOworICAgIHNpemVf
dCBtYXhpbXVtUm93SW5kZXggPSBzdGQ6Om1heDxzaXplX3Q+KDEsIEdyaWRSZXNvbHZlZFBvc2l0
aW9uOjpleHBsaWNpdEdyaWRSb3dDb3VudChzdHlsZSgpKSk7CisgICAgc2l6ZV90IG1heGltdW1D
b2x1bW5JbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgR3JpZFJlc29sdmVkUG9zaXRpb246OmV4
cGxpY2l0R3JpZENvbHVtbkNvdW50KHN0eWxlKCkpKTsKIAogICAgIGZvciAoUmVuZGVyQm94KiBj
aGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
Qm94KCkpIHsKICAgICAgICAgcG9wdWxhdG9yLmNvbGxlY3RDaGlsZCgqY2hpbGQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRDb29yZGluYXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUuaAppbmRleCA1ODNh
ZjViYWFlNDhlZWM2YTViMzJiZThkNmY2ZjE0NGVkNzdhZTczLi45MmY5NmU2NDVmYWVhZmNjZjUx
ODYyOGNjYzdmY2FhYzU2MWNmY2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvR3JpZENvb3JkaW5hdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvR3JpZENvb3JkaW5hdGUuaApAQCAtNDAsMTQgKzQwLDE3IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorLy8gUmVjb21tZW5kZWQgbWF4aW11bSBzaXplIGZvciBib3RoIGV4cGxpY2l0
IGFuZCBpbXBsaWNpdCBncmlkcy4KK2NvbnN0IHNpemVfdCBrR3JpZE1heFRyYWNrcyA9IDEwMDAw
MDA7CisKIC8vIEEgc3BhbiBpbiBhIHNpbmdsZSBkaXJlY3Rpb24gKGVpdGhlciByb3dzIG9yIGNv
bHVtbnMpLiBOb3RlIHRoYXQgfHJlc29sdmVkSW5pdGlhbFBvc2l0aW9ufAogLy8gYW5kIHxyZXNv
bHZlZEZpbmFsUG9zaXRpb258IGFyZSBncmlkIGFyZWFzJyBpbmRleGVzLCBOT1QgZ3JpZCBsaW5l
cycuIEl0ZXJhdGluZyBvdmVyIHRoZQogLy8gc3BhbiBzaG91bGQgaW5jbHVkZSBib3RoIHxyZXNv
bHZlZEluaXRpYWxQb3NpdGlvbnwgYW5kIHxyZXNvbHZlZEZpbmFsUG9zaXRpb258IHRvIGJlIGNv
cnJlY3QuCiBjbGFzcyBHcmlkU3BhbiB7CiBwdWJsaWM6CiAgICAgR3JpZFNwYW4oY29uc3QgR3Jp
ZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLCBjb25zdCBHcmlkUmVz
b2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRGaW5hbFBvc2l0aW9uKQotICAgICAgICA6IHJlc29sdmVk
SW5pdGlhbFBvc2l0aW9uKHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uKQotICAgICAgICAsIHJlc29s
dmVkRmluYWxQb3NpdGlvbihyZXNvbHZlZEZpbmFsUG9zaXRpb24pCisgICAgICAgIDogcmVzb2x2
ZWRJbml0aWFsUG9zaXRpb24oc3RkOjptaW4ocmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQo
KSwga0dyaWRNYXhUcmFja3MgLSAxKSkKKyAgICAgICAgLCByZXNvbHZlZEZpbmFsUG9zaXRpb24o
c3RkOjptaW4ocmVzb2x2ZWRGaW5hbFBvc2l0aW9uLnRvSW50KCksIGtHcmlkTWF4VHJhY2tzKSkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChyZXNvbHZlZEluaXRpYWxQb3NpdGlvbiA8PSByZXNvbHZl
ZEZpbmFsUG9zaXRpb24pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCmluZGV4IDY5YThhNTk0M2UzOGM3
NTU5OTViZWY2ZjJiYjQ4YWE0ZWQ1NGNmZDAuLjBmMzYyYWVmYTFiYWY2MTExNGVmNGI0NDgxNzY3
MDdiMmJlMjUzMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9H
cmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcApAQCAtNDgsOSArNDgsMTkgQEAgc3RhdGljIGlu
bGluZSBib29sIGlzU3RhcnRTaWRlKEdyaWRQb3NpdGlvblNpZGUgc2lkZSkKICAgICByZXR1cm4g
c2lkZSA9PSBDb2x1bW5TdGFydFNpZGUgfHwgc2lkZSA9PSBSb3dTdGFydFNpZGU7CiB9CiAKK3Np
emVfdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoY29uc3Qg
UmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSkKK3sKKyAgICByZXR1cm4gc3RkOjptaW4o
Z3JpZENvbnRhaW5lclN0eWxlLmdyaWRDb2x1bW5zKCkuc2l6ZSgpLCBrR3JpZE1heFRyYWNrcyk7
Cit9CisKK3NpemVfdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQo
Y29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSkKK3sKKyAgICByZXR1cm4gc3Rk
OjptaW4oZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRSb3dzKCkuc2l6ZSgpLCBrR3JpZE1heFRyYWNr
cyk7Cit9CisKIHN0YXRpYyBzaXplX3QgZXhwbGljaXRHcmlkU2l6ZUZvclNpZGUoY29uc3QgUmVu
ZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwgR3JpZFBvc2l0aW9uU2lkZSBzaWRlKQogewot
ICAgIHJldHVybiBpc0NvbHVtblNpZGUoc2lkZSkgPyBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZENv
bHVtbnMoKS5zaXplKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZFJvd3MoKS5zaXplKCk7Cisg
ICAgcmV0dXJuIGlzQ29sdW1uU2lkZShzaWRlKSA/IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBs
aWNpdEdyaWRDb2x1bW5Db3VudChncmlkQ29udGFpbmVyU3R5bGUpIDogR3JpZFJlc29sdmVkUG9z
aXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KGdyaWRDb250YWluZXJTdHlsZSk7CiB9CiAKIEdy
aWRTcGFuIEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpyZXNvbHZlR3JpZFBvc2l0aW9uc0Zyb21BdXRv
UGxhY2VtZW50UG9zaXRpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwg
Y29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVj
dGlvbiwgY29uc3QgR3JpZFJlc29sdmVkUG9zaXRpb24mIHJlc29sdmVkSW5pdGlhbFBvc2l0aW9u
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZl
ZFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVk
UG9zaXRpb24uaAppbmRleCAyNjNiNTI0M2I2NDMxZTA4NWMxMjY2NjcxNzlkYjBlNmVkMDk3Yzky
Li44ZmIxNDNmMjFmNTZlZjVkMzY2NjZiYmFlMWMyMWVkMDU5OGE5Nzg3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uaApA
QCAtMTQ2LDYgKzE0Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEdyaWRSZXNvbHZlZFBv
c2l0aW9uKG1faW50ZWdlclBvc2l0aW9uICsgMSk7CiAgICAgfQogCisgICAgc3RhdGljIHNpemVf
dCBleHBsaWNpdEdyaWRDb2x1bW5Db3VudChjb25zdCBSZW5kZXJTdHlsZSYpOworICAgIHN0YXRp
YyBzaXplX3QgZXhwbGljaXRHcmlkUm93Q291bnQoY29uc3QgUmVuZGVyU3R5bGUmKTsKKwogcHJp
dmF0ZToKIAogICAgIHNpemVfdCBtX2ludGVnZXJQb3NpdGlvbjsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiYWVhZjZhZjcyMzgwZDAyYjNkYjkw
NzNkNGUyOWM4NGRlNTU0NTgxLi5iZTQ1ZGI1NTEzYTU4NzgwNzkyNGNmNTcxMjA2OGYyZTliYjBj
ZDM5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTQtMTAtMDcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gTGltaXQgdGhlIHNpemUg
b2YgZXhwbGljaXQvaW1wbGljaXQgZ3JpZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBuZXcgdW5pdCB0ZXN0IGZvciB0aGUgQ1NTIHBhcnNl
ci4gUmlnaHQgbm93IGl0IG9ubHkgY2hlY2tzCisgICAgICAgIHRoYXQgd2UgcHJvcGVybHkgY2xh
bXAgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRyYWNrcyBvbiBhIGdyaWQgdG8gYQorICAgICAgICBt
YXhpbXVtIG9mIDEgbWlsbGlvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OmNvbXB1dGVOdW1iZXJPZlRyYWNrcyk6IEhlbHBlciBmdW5jdGlv
bi4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBBZGRlZCBhCisgICAgICAgIENTU1By
b3BlcnR5UGFyc2VyVGVzdC5HcmlkVHJhY2tMaW1pdHMgdGVzdCBjYXNlLgorCiAyMDE0LTEwLTEy
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFBhZ2Ug
bm90IGZ1bGx5IHJlbmRlcmVkIGluIGlPUyBEUlQgc25hcHNob3RzCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFr
ZUxpc3RzLnR4dAppbmRleCBiYzVkMGJlZGQ3OTUzYzBlMDVlMTE5NDU2Nzk4NGNmNDk1NmIyNzE5
Li5hMzBmN2Y0ODNmYTIzMmFjNTAyMmY2ODdjYTBmNTQ2NTdjYzNiZjY2IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ01ha2VMaXN0cy50eHQKQEAgLTE5LDEyICsxOSwxNyBAQCBpbmNsdWRlX2RpcmVjdG9yaWVz
KCR7Q01BS0VfQklOQVJZX0RJUn0KICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vcGFyc2VyCiAg
ICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3J1bnRpbWUKICAgICAke1RISVJEUEFSVFlfRElSfS9n
dGVzdC9pbmNsdWRlCisgICAgJHtXRUJDT1JFX0RJUn0vY3NzCisgICAgJHtXRUJDT1JFX0RJUn0v
ZG9tCiAgICAgJHtXRUJDT1JFX0RJUn0vZWRpdGluZwogICAgICR7V0VCQ09SRV9ESVJ9L3BsYXRm
b3JtCisgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vYW5pbWF0aW9uCiAgICAgJHtXRUJDT1JF
X0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MKICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS90ZXh0
CiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yawogICAgICR7V0VCQ09SRV9ESVJ9
L3BsYXRmb3JtL25ldHdvcmsvc291cAorICAgICR7V0VCQ09SRV9ESVJ9L3JlbmRlcmluZworICAg
ICR7V0VCQ09SRV9ESVJ9L3JlbmRlcmluZy9zdHlsZQogICAgICR7V0VCS0lUMl9ESVJ9L1BsYXRm
b3JtL0lQQwogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZAogICAgICR7V0VCS0lUMl9ESVJ9L1No
YXJlZC9BUEkvYwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5j
bWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggODY3N2Vh
NWEwZjE5OTBkMWM1MjA5NjgxMjAwYjA4NWU2MWI3NDk1OC4uZDQ0MDY4NmRkZTMzZDI4ZTc1NzVl
NzFiZTE4YzQyNmU5MjEzMDk1MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtl
CkBAIC01Nyw2ICs1Nyw3IEBAIGxpc3QoQVBQRU5EIFRlc3RKYXZhU2NyaXB0Q29yZV9MSUJSQVJJ
RVMKICMgUmVsZWFzZSBidWlsZHMgYmVmb3JlIGFkZGluZyBpdCB0byB0ZXN0X3t3ZWJraXQyX2Fw
aXx3ZWJjb3JlfV9CSU5BUklFUy4KIAogc2V0KHRlc3Rfd2ViY29yZV9CSU5BUklFUworICAgIENT
U1BhcnNlcgogICAgIExheW91dFVuaXQKICAgICBVUkwKICkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRm
b3JtR1RLLmNtYWtlCmluZGV4IGJhZTg0ZDNjODc0ZjU0NTc5YmQ1NmNjMTE2MmRjMDM4MmVjOWJj
ZWEuLmQ5ZjExYTdiOGZjZmRkZDE0MjY2ZWMyY2VkNDU4N2Q2MmYxNDhiMTcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTEzLDEyICsxMTMsMTQgQEAgc2V0KFRlc3RX
ZWJDb3JlR3RrX1NPVVJDRVMKICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ndGsvR3RrSW5w
dXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29y
ZS9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVz
dHMvV2ViQ29yZS9ndGsvVXNlckFnZW50UXVpcmtzLmNwcAorICAgICR7REVSSVZFRF9TT1VSQ0VT
X1dFQkNPUkVfRElSfS9Vc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAKICkKIAogYWRkX2V4ZWN1dGFi
bGUoVGVzdFdlYkNvcmUKICAgICAke3Rlc3RfbWFpbl9TT1VSQ0VTfQogICAgICR7VGVzdFdlYkNv
cmVHdGtfU09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0c0NvbnRyb2xsZXIu
Y3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9DU1NQYXJzZXIuY3Bw
CiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9MYXlvdXRVbml0LmNwcAog
ICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvVVJMLmNwcAogKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA2ZWVhOTk4MTYwMjhjMTljNGVmN2NiY2ExNDhlY2M0ZGZkZWQ2
NTU2Li43NTE1ZWZlNjY2MzMwMjUzYTA2ZjkxYzMzODJjN2ViZTQxNDE5ZDZmIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjQ0LDYgKzI0NCw3IEBACiAJCUM5NTUwMUJGMTlBRDJGQUYwMDQ5
QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSAq
LzsgfTsKIAkJQ0Q1MzkzQzgxNzU3QkE5NzAwQzA3MTIzIC8qIE1ENS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUzOTNDNzE3NTdCQTk3MDBDMDcx
MjMgLyogTUQ1LmNwcCAqLzsgfTsKIAkJQ0Q1MzkzQ0ExNzU3QkFDNDAwQzA3MTIzIC8qIFNIQTEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Q1Mzkz
QzkxNzU3QkFDNDAwQzA3MTIzIC8qIFNIQTEuY3BwICovOyB9OworCQlDRDU0NTFFQTE5RTQxRjlE
MDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJzZXIuY3Bw
ICovOyB9OwogCQlDRDU0OTdCNDE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTQ5N0IzMTU4NTdG
MEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovOyB9OwogCQlDREMyQzcxNTE3OTcwRERCMDBF
NjI3RkIgLyogVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAg
Ki87IH07CiAJCUNFMTRGMUE0MTgxODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJl
ZGlyZWN0VG9VUkxDcmFzaC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMTRGMUEyMTgxODczQjAwMDFDMjcwNSAvKiBXaWxsUGVyZm9y
bUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sICovOyB9OwpAQCAtNjE4LDYgKzYxOSw3IEBA
CiAJCUM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZWZlcmVuY2VzLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDNzE3NTdCQTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1ENS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNENTM5M0M5MTc1N0JBQzQwMEMwNzEyMyAvKiBTSEExLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1BhcnNlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNENTQ5N0IzMTU4NTdGMEMwMEI1QkMzMCAv
KiBNZWRpYVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVk
aWFUaW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDMkM3MTQxNzk3MDg5
RDAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltZVJhbmdl
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFMTRGMUEyMTgxODczQjAwMDFD
MjcwNSAvKiBXaWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRo
ID0gV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTc0Nyw2ICs3NDksNyBAQAogCQk0NDBBMUQzNjE0QTAxMDAwMDA4
QTY2RjIgLyogV2ViQ29yZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJQ0Q1NDUxRTkxOUU0MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgKi8sCiAJ
CQkJOTNBNzIwRTUxOEYxQTBFODAwQTg0OEUxIC8qIENhbGN1bGF0aW9uVmFsdWUuY3BwICovLAog
CQkJCUNEQzJDNzE0MTc5NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLywKIAkJCQk0
NDBBMUQzODE0QTAxMDNBMDA4QTY2RjIgLyogVVJMLmNwcCAqLywKQEAgLTEzODgsNiArMTM5MSw3
IEBACiAJCQkJMUE3QkZDMEMxNzFBMEJEQjAwQkM1RjY0IC8qIFdpbGxTZW5kU3VibWl0RXZlbnQu
bW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzIyRDMxNTE0REM2ODk4MDBGRkIxREQgLyogVXNlck1l
c3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NUY1RjkxNEFENzhFRTAwNDg0QkUxIC8q
IFZlY3Rvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDRDU0NTFFQTE5RTQxRjlEMDAxNjkzNkYg
LyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5MEE5QkI3MTczNURFOEEwMEQ3
MUJCQyAvKiBDbG9zZU5ld1dpbmRvd0luTmF2aWdhdGlvblBvbGljeURlbGVnYXRlLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkUyMTdFQ0QxNjQwQTU0QTAwNTI5ODhCIC8qIFZNSW5zcGVjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUyMEJDRjREMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNo
aXZlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvQ1NTUGFyc2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDhiNWIxNDU0MmQ2YWM3OGYwODk0NDA2
NGQ2ODdmMzljZGZmMjk3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNCBJZ2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9DU1NQYXJzZXIuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL0NTU1ZhbHVlTGlzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3R5
bGVQcm9wZXJ0aWVzLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworI2lmIEVOQUJM
RShDU1NfR1JJRF9MQVlPVVQpCitzdGF0aWMgdW5zaWduZWQgY29tcHV0ZU51bWJlck9mVHJhY2tz
KFdlYkNvcmU6OkNTU1ZhbHVlTGlzdCogdmFsdWVMaXN0KQoreworICAgIHVuc2lnbmVkIG51bWJl
ck9mVHJhY2tzID0gMDsKKyAgICBmb3IgKFdlYkNvcmU6OkNTU1ZhbHVlTGlzdEl0ZXJhdG9yIGkg
PSB2YWx1ZUxpc3Q7IGkuaGFzTW9yZSgpOyBpLmFkdmFuY2UoKSkgeworICAgICAgICBpZiAoaS52
YWx1ZSgpLT5pc0dyaWRMaW5lTmFtZXNWYWx1ZSgpKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICsrbnVtYmVyT2ZUcmFja3M7CisgICAgfQorICAgIHJldHVybiBudW1iZXJPZlRyYWNr
czsKK30KKyNlbmRpZgorCitURVNUKENTU1Byb3BlcnR5UGFyc2VyVGVzdCwgR3JpZFRyYWNrTGlt
aXRzKQoreworI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisgICAgc3RydWN0IHsKKyAgICAg
ICAgY29uc3QgV2ViQ29yZTo6Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEOworICAgICAgICBjb25z
dCBjaGFyKiBpbnB1dDsKKyAgICAgICAgY29uc3Qgc2l6ZV90IG91dHB1dDsKKyAgICB9IHRlc3RD
YXNlc1tdID0geworICAgICAgICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxh
dGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5OTk5OTks
IDIwcHgpOyIsIDk5OTk5OX0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdy
aWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDk5OTk5
OSwgMjBweCk7IiwgOTk5OTk5fSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0
R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBl
YXQoMTAwMDAwMCwgMTAlKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3Bl
cnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiBy
ZXBlYXQoMTAwMDAwMCwgMTAlKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1By
b3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zOiByZXBlYXQoMTAwMDAwMCwgKGZpcnN0KSAtd2Via2l0LW1pbi1jb250ZW50IChsYXN0
KSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRU
ZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDAwMDAs
IChmaXJzdCkgLXdlYmtpdC1taW4tY29udGVudCAobGFzdCkpOyIsIDEwMDAwMDB9LAorICAgICAg
ICB7V2ViQ29yZTo6Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMDAwMDAxLCBhdXRvKTsiLCAxMDAwMDAw
fSwKKyAgICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywg
Ii13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMTAwMDAwMSwgYXV0byk7IiwgMTAw
MDAwMH0sCisgICAgICAgIHtXZWJDb3JlOjpDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNv
bHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQwMDAwMCwgMmVt
IG1pbm1heCgxMHB4LCAtd2Via2l0LW1heC1jb250ZW50KSAwLjVmcik7IiwgOTk5OTk5fSwKKyAg
ICAgICAge1dlYkNvcmU6OkNTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoNDAwMDAwLCAyZW0gbWlubWF4KDEwcHgsIC13
ZWJraXQtbWF4LWNvbnRlbnQpIDAuNWZyKTsiLCA5OTk5OTl9LAorICAgICAgICB7V2ViQ29yZTo6
Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBs
YXRlLWNvbHVtbnM6IHJlcGVhdCg2MDAwMDAsIChmaXJzdCkgM3ZoIDEwJSAyZnIgKG5hdikgMTBw
eCBhdXRvIDFmciA2ZW0gKGxhc3QpKTsiLCA5OTk5OTl9LAorICAgICAgICB7V2ViQ29yZTo6Q1NT
UHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJv
d3M6IHJlcGVhdCg2MDAwMDAsIChmaXJzdCkgM3ZoIDEwJSAyZnIgKG5hdikgMTBweCBhdXRvIDFm
ciA2ZW0gKGxhc3QpKTsiLCA5OTk5OTl9LAorICAgIH07CisKKyAgICBXZWJDb3JlOjpDU1NQYXJz
ZXIgcGFyc2VyKFdlYkNvcmU6OnN0cmljdENTU1BhcnNlckNvbnRleHQoKSk7CisgICAgUmVmUHRy
PFdlYkNvcmU6Ok11dGFibGVTdHlsZVByb3BlcnRpZXM+IHByb3BlcnRpZXMgPSBXZWJDb3JlOjpN
dXRhYmxlU3R5bGVQcm9wZXJ0aWVzOjpjcmVhdGUoKTsKKworICAgIGZvciAoYXV0byYgdGVzdENh
c2UgOiB0ZXN0Q2FzZXMpIHsKKyAgICAgICAgQVNTRVJUX1RSVUUocGFyc2VyLnBhcnNlRGVjbGFy
YXRpb24ocHJvcGVydGllcy5nZXQoKSwgdGVzdENhc2UuaW5wdXQsIG51bGxwdHIsIG51bGxwdHIp
KTsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkNTU1ZhbHVlPiB2YWx1ZSA9IHByb3BlcnRpZXMt
PmdldFByb3BlcnR5Q1NTVmFsdWUodGVzdENhc2UucHJvcGVydHlJRCk7CisKKyAgICAgICAgQVNT
RVJUX1RSVUUodmFsdWUtPmlzVmFsdWVMaXN0KCkpOworICAgICAgICBFWFBFQ1RfRVEoY29tcHV0
ZU51bWJlck9mVHJhY2tzKGRvd25jYXN0PFdlYkNvcmU6OkNTU1ZhbHVlTGlzdD4odmFsdWUuZ2V0
KCkpKSwgdGVzdENhc2Uub3V0cHV0KTsKKyAgICB9CisjZW5kaWYgLy8gRU5BQkxFKENTU19HUklE
X0xBWU9VVCkKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI5ZDc5
YWNiMGY4NWU1OGQ1ZTg2NWU4NzZmZGI3MTc3ODYxYjQyMjIuLjY4M2QxNTAzNzhlNzU1ZjEzMmM0
NjUyZmM3ZWU4MDJjOGIyNjQzMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0xMC0wNyAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NT
IEdyaWQgTGF5b3V0XSBMaW1pdCB0aGUgc2l6ZSBvZiBleHBsaWNpdC9pbXBsaWNpdCBncmlkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYyMTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGFz
IHRoZXkgYXJlIG5vdyBwYXJ0IG9mIHRoZSBXZWJDb3JlJ3MgQ1NTUGFyc2VyLmNwcCB1bml0Cisg
ICAgICAgIHRlc3QuIFRoZSByZWFzb24gd2h5IGl0IHdhcyBtb3ZlZCB0aGVyZSBpcyBiZWNhdXNl
IHRoZSB0ZXN0IHdvdWxkCisgICAgICAgIHJlcXVpcmUgaHVnZSAofjEwMDAwMDAgdHJhY2tzKSBn
cmlkIGFsbG9jYXRpb25zLCBtYWtpbmcgdGhlIHRlc3QKKyAgICAgICAgcXVpdGUgc2xvdyBzcGVj
aWFsbHkgb24gRGVidWcgYnVpbGRzLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
Z3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4
LXJlcGV0aXRpb25zLmh0bWw6IFJlbW92ZWQuCisKIDIwMTQtMDktMzAgIFNlcmdpbyBWaWxsYXIg
U2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0g
UGFzcyB0aGUgdmFsaWQgc2V0IG9mIHRyYWNrcyB0byBncm93IGJleW9uZCBncm93dGggbGltaXRz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1l
bnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiNGU5NjUzNjIxZTMxOGZk
MGM5Yjk4ZDczNzAyNWY5NjNmMjg1MGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVt
ZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1UZXN0IHRoZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJl
cGV0aXRpb25zIHZhbHVlIGFyZSBjbGFtcGVkIHRocm91Z2ggQ1NTLgotUEFTUwotUEFTUwotUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVt
ZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyYmZlMTNlZDFiZmE0NjA5OThhMjMxNDA2M2VmNmNk
MDcxOWI1NGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgt
cmVwZXRpdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgdGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0dyaWRMYXlvdXRF
bmFibGVkIiwgMSk7Ci08L3NjcmlwdD4KLTxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIg
cmVsPSJzdHlsZXNoZWV0Ij4KLTxzdHlsZT4KLS5jbGFtcFJlcGV0aXRpb25zQmVsb3dMaW1pdCB7
Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg5OTk1LCAxcHgpOwotfQot
Ci0uY2xhbXBSZXBldGl0aW9uc09uTGltaXQgewotICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1y
b3dzOiByZXBlYXQoMTAwMDAsIDFweCk7Ci19Ci0KLS5jbGFtcFJlcGV0aXRpb25zQWJvdmVMaW1p
dCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwNSwgMXB4KTsK
LX0KLTwvc3R5bGU+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImNoZWNrTGF5b3V0KCcuZ3JpZCcp
Ij4KLQotPGRpdj5UZXN0IHRoZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtIHJlcGV0
aXRpb25zIHZhbHVlIGFyZSBjbGFtcGVkIHRocm91Z2ggQ1NTLjwvZGl2PgotCi08ZGl2IGNsYXNz
PSJncmlkIGNsYW1wUmVwZXRpdGlvbnNCZWxvd0xpbWl0IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
OTk5NSI+PC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImdyaWQgY2xhbXBSZXBldGl0aW9uc09uTGltaXQi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAwMCI+PC9kaXY+Ci0KLTxkaXYgY2xhc3M9ImdyaWQg
Y2xhbXBSZXBldGl0aW9uc0Fib3ZlTGltaXQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAwMCI+
PC9kaXY+Ci0KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240206</attachid>
            <date>2014-10-21 08:52:30 -0700</date>
            <delta_ts>2014-11-11 00:47:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136217-20141021175235.patch</filename>
            <type>text/plain</type>
            <size>34451</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0OTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjc2YTU0YjUxODA1Y2Q4
NDQ0ZDUxMTVlZDQyOTJiOTYzMWI3NTJkMi4uYTAzNDRlOWQwNmNmNDFkOTRjN2M2YWJkYjYzOTEx
YzI3Mzc5NDhiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTA3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGNoYW5n
ZSBpbiB0aGUgc3BlY3MgYWxsb3cgdXMgdG8gc2V0IGEgbGltaXQgKG1heGltdW0KKyAgICAgICAg
c2l6ZSkgZm9yIGJvdGggdGhlIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBncmlkcyBzbyB3ZSBjYW4g
cHJvdGVjdAorICAgICAgICBvdXJzZWx2ZXMgZnJvbSBhYnN1cmRseSBodWdlIGdyaWQgc3BlY2lm
aWNhdGlvbnMuIEl0IHdhcyBkZWNpZGVkCisgICAgICAgIHRvIHVzZSB0aGUgcmVjb21tZW5kZWQg
bGltaXQgd2hpY2ggaXMgMSBtaWxsaW9uLgorCisgICAgICAgIFRoaXMgbWVhbnMgdGhhdCB3ZSBj
YW4gcmVtb3ZlIHRoZSBvbGQgbGltaXRhdGlvbiBmb3IgdGhlIG51bWJlciBvZgorICAgICAgICBy
ZXBldGl0aW9ucyBpbiByZXBlYXQoKS4gSW5zdGVhZCB3ZSBub3cgY2xhbXAgdGhlIG51bWJlciBv
ZgorICAgICAgICByZXBldGl0aW9ucyB0byB0aGUgbWF4aW11bSB2YWx1ZSB0aGF0IGFsbG93IHVz
IHRvIGhhdmUgdGhlIG1heGltdW0KKyAgICAgICAgbnVtYmVyIG9mIHdob2xlIHJlcGV0aXRpb25z
IHdpdGhvdXQgZXhjZWVkaW5nIHRoZSB0cmFjayBudW1iZXIKKyAgICAgICAgbGltaXQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRy
YWNrUmVwZWF0RnVuY3Rpb24pOiBSZXBsYWNlZCB0aGUKKyAgICAgICAgb2xkIGxpbWl0IGJ5IHRo
ZSBuZXcgb25lLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOiBVc2UgdGhlIGFtb3VudCBv
ZiB0cmFja3MKKyAgICAgICAgcHJvdmlkZWQgYnkgR3JpZFJlc29sdmVkUG9zaXRpb24uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRl
cmF0b3IpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRTcGFuOjpHcmlkU3Bhbik6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudCk6IEJyaW5nCisg
ICAgICAgIHRoZSBzdGF0aWMgZnVuY3Rpb24gYmFjayB0byBsaWZlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFJlc29sdmVkUG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpleHBsaWNpdEdyaWRTaXplRm9yU2lkZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmg6CisKIDIwMTQtMTAtMjEgIE1hbnVl
bCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogIWdyaWRXYXNQb3B1bGF0ZWQoKSBpbiBXZWJDb3JlOjpSZW5kZXJHcmlkOjpwbGFj
ZUl0ZW1zT25HcmlkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggMTY1ZGFjOWFlYzhmYzIyZDhlMTFlNjU2N2I4Njc3NDE1NDU1ZTI4
MS4uYzg3NzdlYjRlZmI0OTRkMTFkN2QwYzgyMTBhMDI4ZTdjMmMxZWU3OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYzNiw3
ICsxNjM2LDcgQEAKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJD
QS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNF
RDUxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1MDIwMEU3MjZD
MiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFu
aW1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0
RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKLQkJNDlBRTJE
OEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIw
QSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggKi87IH07CisJCTQ5QUUyRDhGMTM0RUU1MEMwMDcy
OTIwQSAvKiBDU1NDYWxjdWxhdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY3Vs
YXRpb25WYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0
RUU1RjkwMDcyOTIwQSAvKiBDYWxjdWxhdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJNDlBRTJEOTcx
MzRFRTVGOTAwNzI5MjBBIC8qIENhbGN1bGF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBD
YWxjdWxhdGlvblZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9u
aXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlB
RjJENjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNzU4LDEzICsxNzU4
LDEzIEBACiAJCTRCOEFGNEFBMEIxQ0UwMkIwMDY4NzY5MCAvKiBEYXRhVHJhbnNmZXJBY2Nlc3NQ
b2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRC
OEFGNEE5MEIxQ0UwMkIwMDY4NzY5MCAvKiBEYXRhVHJhbnNmZXJBY2Nlc3NQb2xpY3kuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0QkFFOTVCMTBC
MkZBOUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QkFFOTVCMDBCMkZBOUNFMDBBRUQ4QTAgLyog
RWRpdG9yRGVsZXRlQWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJNEUxOTU5MjEwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5h
bWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRF
MTk1OTFGMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgKi87IH07Ci0J
CTRFMTk1OTIyMEEzOURBQkEwMDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjAwQTM5REFCQTAw
MjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmggKi87IH07CisJCTRFMTk1OTIyMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjAwQTM5REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVh
dHVyZU5hbWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNEUxOTU5MjkwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjMwQTM5REFDQzAw
MjIwRkU1IC8qIE1lZGlhUXVlcnkuY3BwICovOyB9OwotCQk0RTE5NTkyQTBBMzlEQUNDMDAyMjBG
RTUgLyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEUxOTU5MjQwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCAqLzsgfTsK
KwkJNEUxOTU5MkEwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI0MEEzOURBQ0MwMDIyMEZF
NSAvKiBNZWRpYVF1ZXJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNEUxOTU5MkIwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUx
OTU5MjUwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuY3BwICovOyB9Owog
CQk0RTE5NTkyQzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV2YWx1YXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjYwQTM5REFD
QzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCAqLzsgfTsKIAkJNEUxOTU5MkQwQTM5
REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEUxOTU5MjcwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlh
UXVlcnlFeHAuY3BwICovOyB9OwotCQk0RTE5NTkyRTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFR
dWVyeUV4cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEUxOTU5MjgwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuaCAqLzsgfTsKKwkJNEUx
OTU5MkUwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFeHAuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRFMTk1OTI4MEEzOURBQ0MwMDIyMEZFNSAv
KiBNZWRpYVF1ZXJ5RXhwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNEYxNTM0REUxMUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEYxNTM0REQx
MUI1MzJFQzAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTRGMTUzNEUwMTFCNTMzMDIwMDIxRkQ4NiAv
KiBFZGl0aW5nQmVoYXZpb3JUeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNEYxNTM0REYxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlv
clR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNEY2RkRENjQxMzQxREVERDAwMUY4RUUzIC8qIEluc3BlY3RvclBhZ2VBZ2VudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0RjZGREQ2MjEzNDFE
RUREMDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmNwcCAqLzsgfTsKQEAgLTIwMzAsNyAr
MjAzMCw3IEBACiAJCTUzNkQ1QTIxMTkzRTE4RUUwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkQ1
QTFFMTkzRTE4RDAwMENFNENBQiAvKiBIVE1MU3Jjc2V0UGFyc2VyLmNwcCAqLzsgfTsKIAkJNTM2
RDVBMjMxOTNFOEUwQzAwQ0U0Q0FCIC8qIFBhcnNpbmdVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkQ1QTIyMTkzRThFMEMwMENFNENB
QiAvKiBQYXJzaW5nVXRpbGl0aWVzLmggKi87IH07CiAJCTUzNkQ1QTI1MTkzRjQwRkMwMENFNENB
QiAvKiBTb3VyY2VTaXplTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MzZENUEyNDE5M0Y0MEZDMDBDRTRDQUIgLyogU291cmNlU2l6ZUxpc3Qu
Y3BwICovOyB9OwotCQk1MzZENUEyNzE5M0Y0MTBCMDBDRTRDQUIgLyogU291cmNlU2l6ZUxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkQ1QTI2
MTkzRjQxMEIwMENFNENBQiAvKiBTb3VyY2VTaXplTGlzdC5oICovOyB9OworCQk1MzZENUEyNzE5
M0Y0MTBCMDBDRTRDQUIgLyogU291cmNlU2l6ZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkQ1QTI2MTkzRjQxMEIwMENFNENBQiAvKiBTb3Vy
Y2VTaXplTGlzdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUzQzgyOThEMTNEOEQ5MjcwMERFMkRFQiAvKiBSZW5kZXJGbGV4aWJsZUJveC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0M4Mjk4QjEz
RDhEOTI3MDBERTJERUIgLyogUmVuZGVyRmxleGlibGVCb3guY3BwICovOyB9OwogCQk1M0M4Mjk4
RTEzRDhEOTI3MDBERTJERUIgLyogUmVuZGVyRmxleGlibGVCb3guaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzQzgyOThDMTNEOEQ5MjcwMERFMkRFQiAv
KiBSZW5kZXJGbGV4aWJsZUJveC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTUzRTI5RTVFMTY3QThBMTkwMDU4NkQzRCAvKiBJbnRlcm5hbFNldHRp
bmdzR2VuZXJhdGVkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUzRTI5RTVDMTY3QThBMTkwMDU4NkQzRCAvKiBJbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmNwcCAqLzsgfTsKQEAgLTIwNDcsNyArMjA0Nyw3IEBACiAJCTU3Q0Y0OTc1MTRFRTM2RDcw
MEVDRkYxNCAvKiBJbnNlcnRpb25Qb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTdDRjQ5NzMxNEVFMzZENzAwRUNGRjE0IC8qIEluc2VydGlvblBv
aW50LmggKi87IH07CiAJCTU4OTU1NkVEMThENEE0NDAwMDc2NEIwMyAvKiBCb3JkZXJFZGdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1ODk1NTZFQzE4
RDRBNDQwMDA3NjRCMDMgLyogQm9yZGVyRWRnZS5oICovOyB9OwogCQk1OEFFRTJGNDE4RDRCQ0NG
MDAyMkU3RkUgLyogQm9yZGVyRWRnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1OEFFRTJGMzE4RDRCQ0NGMDAyMkU3RkUgLyogQm9yZGVyRWRnZS5j
cHAgKi87IH07Ci0JCTU4Q0QzNUNCMThFQjRDMzkwMEI5RjNBQyAvKiBGbG9hdFNpemVIYXNoLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OENEMzVDQTE4
RUI0QzM5MDBCOUYzQUMgLyogRmxvYXRTaXplSGFzaC5oICovOyB9OworCQk1OENEMzVDQjE4RUI0
QzM5MDBCOUYzQUMgLyogRmxvYXRTaXplSGFzaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNThDRDM1Q0ExOEVCNEMzOTAwQjlGM0FDIC8qIEZsb2F0U2l6
ZUhhc2guaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1OERFRUQ4NjE5ODczRkYwMDA4ODhGRjMgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1OERFRUQ4NTE5ODcz
RkYwMDA4ODhGRjMgLyogUmVuZGVyU2VsZWN0aW9uSW5mby5jcHAgKi87IH07CiAJCTU5MDVBREJG
MTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU5MDVBREJEMTMwMkYzQ0UwMEYxMTZERiAvKiBY
TUxUcmVlVmlld2VyLmNwcCAqLzsgfTsKIAkJNTkwNUFEQzAxMzAyRjNDRTAwRjExNkRGIC8qIFhN
TFRyZWVWaWV3ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDU5MDVBREJFMTMwMkYzQ0UwMEYxMTZERiAvKiBYTUxUcmVlVmlld2VyLmggKi87IH07CkBA
IC01MTEwLDcgKzUxMTAsNyBAQAogCQlCQzUzQzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTND
NUY0MERBNTZCOTIwMDIxRUI1RCAvKiBHcmFkaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNTNDNjA4MERBNTZDNTcwMDIxRUI1RCAvKiBH
cmFkaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzUzQzYwNzBEQTU2QzU3MDAyMUVCNUQgLyogR3JhZGllbnQuY3BwICovOyB9OwogCQlCQzUz
QzYwQjBEQTU2Q0YxMDAyMUVCNUQgLyogR3JhZGllbnRDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzUzQzYwQTBEQTU2Q0YxMDAyMUVCNUQgLyog
R3JhZGllbnRDRy5jcHAgKi87IH07Ci0JCUJDNTNDNjkyMERBNTkxMTQwMDIxRUI1RCAvKiBDU1NH
cmFkaWVudFZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzUzQzY5MTBEQTU5MTE0MDAyMUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oICovOyB9
OworCQlCQzUzQzY5MjBEQTU5MTE0MDAyMUVCNUQgLyogQ1NTR3JhZGllbnRWYWx1ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0M2OTEwREE1OTEx
NDAwMjFFQjVEIC8qIENTU0dyYWRpZW50VmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzUzRDkxMTExNDMxMENDMDAwRDgxN0UgLyogV2Vi
Q29yZUpTQ2xpZW50RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkM1M0Q5MTAxMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEu
aCAqLzsgfTsKIAkJQkM1M0RBMkUxMTQzMTIxRTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM1M0RBMkQx
MTQzMTIxRTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNTNEQTQ4MTE0MzEzNEQwMDBEODE3RSAv
KiBET01XcmFwcGVyV29ybGQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM1M0RBNDcxMTQzMTM0RDAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5j
cHAgKi87IH07CkBAIC01MjA2LDcgKzUyMDYsNyBAQAogCQlCQzc2QUMxMzBERDdBRDVDMDA0MTVG
MzQgLyogUGFyc2VyVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzc2QUMxMTBERDdBRDVDMDA0MTVGMzQgLyogUGFyc2VyVXRpbGl0aWVz
LmggKi87IH07CiAJCUJDNzcyQjNDMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM2MEM0RUE5
MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlCQzc3MkIzRDBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcy
QjM3MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuY3BwICovOyB9OwotCQlCQzc3MkIzRTBD
NEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkIzODBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2Vy
LmggKi87IH07CisJCUJDNzcyQjNFMEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcyQjM4MEM0RUE5
MUUwMDgzMjg1RiAvKiBDU1NQYXJzZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlCQzc3MkM0NjBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJl
cXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM3NzJDNDQwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCAqLzsgfTsKIAkJ
QkM3NzJDNDcwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0NTBDNEVCMkM2MDA4MzI4
NUYgLyogWE1MSHR0cFJlcXVlc3QuaCAqLzsgfTsKIAkJQkM3NzJDNEUwQzRFQjMwNDAwODMyODVG
IC8qIE1JTUVUeXBlUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0
cnkuY3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCA5MmFkNzMwYzIxM2Zl
MDhmY2ZmOTJmNTcwZTVmODMxYmVjMDE3ZjJjLi40MTRiYWJkNTM1NTM3MmJkYzhmNDJiMGU5OWY2
YjMxNGZhNDdkZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjAsNiArNjAsNyBA
QAogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUg
IkZsb2F0Q29udmVyc2lvbi5oIgorI2luY2x1ZGUgIkdyaWRDb29yZGluYXRlLmgiCiAjaW5jbHVk
ZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhhc2hUb29scy5oIgogI2luY2x1ZGUg
Ik1lZGlhTGlzdC5oIgpAQCAtMTUwLDkgKzE1MSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIElOVkFMSURfTlVNX1BBUlNFRF9QUk9QRVJUSUVTID0gVUlO
VF9NQVg7CiBzdGF0aWMgY29uc3QgZG91YmxlIE1BWF9TQ0FMRSA9IDEwMDAwMDA7Ci0jaWYgRU5B
QkxFKENTU19HUklEX0xBWU9VVCkKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfR1JJRF9UUkFD
S19SRVBFVElUSU9OUyA9IDEwMDAwOwotI2VuZGlmCiAKIHRlbXBsYXRlIDx1bnNpZ25lZCBOPgog
c3RhdGljIGJvb2wgZXF1YWwoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJiBhLCBjb25zdCBjaGFyICgm
YilbTl0pCkBAIC01MjY3LDExICs1MjY1LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRU
cmFja1JlcGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oYXJndW1lbnRzLT52
YWx1ZUF0KDApLT5mVmFsdWUgPiAwKTsKLSAgICBzaXplX3QgcmVwZXRpdGlvbnMgPSBhcmd1bWVu
dHMtPnZhbHVlQXQoMCktPmZWYWx1ZTsKLSAgICAvLyBDbGFtcCByZXBldGl0aW9ucyBhdCBNQVhf
R1JJRF9UUkFDS19SRVBFVElUSU9OUy4KLSAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3Mt
Z3JpZC0xLyNyZXBlYXQtbm90YXRpb24KLSAgICBpZiAocmVwZXRpdGlvbnMgPiBNQVhfR1JJRF9U
UkFDS19SRVBFVElUSU9OUykKLSAgICAgICAgcmVwZXRpdGlvbnMgPSBNQVhfR1JJRF9UUkFDS19S
RVBFVElUSU9OUzsKKyAgICAvLyBJZiBhcmd1bWVudHMtPnZhbHVlQXQoMCktPmZWYWx1ZSA+IFNJ
WkVfTUFYIHRoZW4gcmVwZXRpdGlvbnMgYmVjb21lcyAwIGR1cmluZyB0aGUgdHlwZSBjYXN0aW5n
LCB0aGF0J3Mgd2h5IHdlCisgICAgLy8gY2xhbXAgaXQgZG93biB0byBrR3JpZE1heFRyYWNrcyBi
ZWZvcmUgdGhlIHR5cGUgY2FzdGluZy4KKyAgICBzaXplX3QgcmVwZXRpdGlvbnMgPSBjbGFtcFRv
PHNpemVfdD4oYXJndW1lbnRzLT52YWx1ZUF0KDApLT5mVmFsdWUsIDAsIGtHcmlkTWF4VHJhY2tz
KTsKKwogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHJlcGVhdGVkVmFsdWVzID0gQ1NTVmFsdWVM
aXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwogICAgIGFyZ3VtZW50cy0+bmV4dCgpOyAvLyBT
a2lwIHRoZSByZXBldGl0aW9uIGNvdW50LgogICAgIGFyZ3VtZW50cy0+bmV4dCgpOyAvLyBTa2lw
IHRoZSBjb21tYS4KQEAgLTUyODEsMTQgKzUyNzgsMTQgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
R3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIGlmIChjdXJy
ZW50VmFsdWUgJiYgY3VycmVudFZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpWYWx1ZUxp
c3QpCiAgICAgICAgIHBhcnNlR3JpZExpbmVOYW1lcygqYXJndW1lbnRzLCAqcmVwZWF0ZWRWYWx1
ZXMpOwogCi0gICAgYm9vbCBzYXdUcmFja1NpemUgPSBmYWxzZTsKKyAgICB1bnNpZ25lZCBudW1i
ZXJPZlRyYWNrcyA9IDA7CiAgICAgd2hpbGUgKGFyZ3VtZW50cy0+Y3VycmVudCgpKSB7CiAgICAg
ICAgIFJlZlB0cjxDU1NWYWx1ZT4gdHJhY2tTaXplID0gcGFyc2VHcmlkVHJhY2tTaXplKCphcmd1
bWVudHMpOwogICAgICAgICBpZiAoIXRyYWNrU2l6ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgICAgICByZXBlYXRlZFZhbHVlcy0+YXBwZW5kKHRyYWNrU2l6ZS5yZWxlYXNlTm9u
TnVsbCgpKTsKLSAgICAgICAgc2F3VHJhY2tTaXplID0gdHJ1ZTsKKyAgICAgICAgKytudW1iZXJP
ZlRyYWNrczsKIAogICAgICAgICAvLyBUaGlzIHRha2VzIGNhcmUgb2YgYW55IHRyYWlsaW5nIDxj
dXN0b20taWRlbnQ+KiBpbiB0aGUgZ3JhbW1hci4KICAgICAgICAgY3VycmVudFZhbHVlID0gYXJn
dW1lbnRzLT5jdXJyZW50KCk7CkBAIC01Mjk3LDkgKzUyOTQsMTMgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0JiBsaXN0KQogICAgIH0K
IAogICAgIC8vIFdlIHNob3VsZCBoYXZlIGZvdW5kIGF0IGxlYXN0IG9uZSA8dHJhY2stc2l6ZT4s
IG90aGVyd2lzZSB0aGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZC4KLSAgICBpZiAoIXNhd1RyYWNr
U2l6ZSkKKyAgICBpZiAoIW51bWJlck9mVHJhY2tzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICAvLyBXZSBjbGFtcCB0aGUgbnVtYmVyIG9mIHJlcGV0aXRpb25zIHRvIGEgbXVsdGlwbGUg
b2YgdGhlIHJlcGVhdCgpIHRyYWNrIGxpc3QncyBzaXplLCB3aGlsZSBzdGF5aW5nIGJlbG93IHRo
ZSBtYXgKKyAgICAvLyBncmlkIHNpemUuCisgICAgcmVwZXRpdGlvbnMgPSBzdGQ6Om1pbihyZXBl
dGl0aW9ucywga0dyaWRNYXhUcmFja3MgLyBudW1iZXJPZlRyYWNrcyk7CisKICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHJlcGV0aXRpb25zOyArK2kpIHsKICAgICAgICAgZm9yIChzaXplX3Qg
aiA9IDA7IGogPCByZXBlYXRlZFZhbHVlcy0+bGVuZ3RoKCk7ICsraikKICAgICAgICAgICAgIGxp
c3QuYXBwZW5kKCpyZXBlYXRlZFZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhqKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggNDliZmMzZTUzMDQ4YmQ4
OTgwOTA0M2U5ZmNjZjE4MzBkZmJiMDU1ZC4uNTRlMzQxNGU0NWJlNjgzZGI4ZDE1NWQxMDc2Yjll
MWUxOWYyNWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdy
aWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAt
NzQxLDggKzc0MSw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VJdGVtc09uR3JpZCgpCiAgICAg
ICAgIGluc2VydEl0ZW1JbnRvR3JpZCgqY2hpbGQsIEdyaWRDb29yZGluYXRlKCpyb3dQb3NpdGlv
bnMsICpjb2x1bW5Qb3NpdGlvbnMpKTsKICAgICB9CiAKLSAgICBBU1NFUlQoZ3JpZFJvd0NvdW50
KCkgPj0gc3R5bGUoKS5ncmlkUm93cygpLnNpemUoKSk7Ci0gICAgQVNTRVJUKGdyaWRDb2x1bW5D
b3VudCgpID49IHN0eWxlKCkuZ3JpZENvbHVtbnMoKS5zaXplKCkpOworICAgIEFTU0VSVChncmlk
Um93Q291bnQoKSA+PSBHcmlkUmVzb2x2ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQo
c3R5bGUoKSkpOworICAgIEFTU0VSVChncmlkQ29sdW1uQ291bnQoKSA+PSBHcmlkUmVzb2x2ZWRQ
b3NpdGlvbjo6ZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoc3R5bGUoKSkpOwogCiAgICAgLy8gRklY
TUU6IEltcGxlbWVudCBwcm9wZXJseSAic3RhY2siIHZhbHVlIGluIGF1dG8tcGxhY2VtZW50IGFs
Z29yaXRobS4KICAgICBpZiAoc3R5bGUoKS5pc0dyaWRBdXRvRmxvd0FsZ29yaXRobVN0YWNrKCkp
IHsKQEAgLTc1OSw4ICs3NTksOCBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQo
KQogdm9pZCBSZW5kZXJHcmlkOjpwb3B1bGF0ZUV4cGxpY2l0R3JpZEFuZE9yZGVySXRlcmF0b3Io
KQogewogICAgIE9yZGVySXRlcmF0b3JQb3B1bGF0b3IgcG9wdWxhdG9yKG1fb3JkZXJJdGVyYXRv
cik7Ci0gICAgc2l6ZV90IG1heGltdW1Sb3dJbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgc3R5
bGUoKS5ncmlkUm93cygpLnNpemUoKSk7Ci0gICAgc2l6ZV90IG1heGltdW1Db2x1bW5JbmRleCA9
IHN0ZDo6bWF4PHNpemVfdD4oMSwgc3R5bGUoKS5ncmlkQ29sdW1ucygpLnNpemUoKSk7CisgICAg
c2l6ZV90IG1heGltdW1Sb3dJbmRleCA9IHN0ZDo6bWF4PHNpemVfdD4oMSwgR3JpZFJlc29sdmVk
UG9zaXRpb246OmV4cGxpY2l0R3JpZFJvd0NvdW50KHN0eWxlKCkpKTsKKyAgICBzaXplX3QgbWF4
aW11bUNvbHVtbkluZGV4ID0gc3RkOjptYXg8c2l6ZV90PigxLCBHcmlkUmVzb2x2ZWRQb3NpdGlv
bjo6ZXhwbGljaXRHcmlkQ29sdW1uQ291bnQoc3R5bGUoKSkpOwogCiAgICAgZm9yIChSZW5kZXJC
b3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmdCb3goKSkgewogICAgICAgICBwb3B1bGF0b3IuY29sbGVjdENoaWxkKCpjaGlsZCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZENvb3JkaW5hdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oCmluZGV4
IDU4M2FmNWJhYWU0OGVlYzZhNWIzMmJlOGQ2ZjZmMTQ0ZWQ3N2FlNzMuLjkyZjk2ZTY0NWZhZWFm
Y2NmNTE4NjI4Y2NjN2ZjYWFjNTYxY2ZjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9HcmlkQ29vcmRpbmF0ZS5oCkBAIC00MCwxNCArNDAsMTcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisvLyBSZWNvbW1lbmRlZCBtYXhpbXVtIHNpemUgZm9yIGJvdGggZXhw
bGljaXQgYW5kIGltcGxpY2l0IGdyaWRzLgorY29uc3Qgc2l6ZV90IGtHcmlkTWF4VHJhY2tzID0g
MTAwMDAwMDsKKwogLy8gQSBzcGFuIGluIGEgc2luZ2xlIGRpcmVjdGlvbiAoZWl0aGVyIHJvd3Mg
b3IgY29sdW1ucykuIE5vdGUgdGhhdCB8cmVzb2x2ZWRJbml0aWFsUG9zaXRpb258CiAvLyBhbmQg
fHJlc29sdmVkRmluYWxQb3NpdGlvbnwgYXJlIGdyaWQgYXJlYXMnIGluZGV4ZXMsIE5PVCBncmlk
IGxpbmVzJy4gSXRlcmF0aW5nIG92ZXIgdGhlCiAvLyBzcGFuIHNob3VsZCBpbmNsdWRlIGJvdGgg
fHJlc29sdmVkSW5pdGlhbFBvc2l0aW9ufCBhbmQgfHJlc29sdmVkRmluYWxQb3NpdGlvbnwgdG8g
YmUgY29ycmVjdC4KIGNsYXNzIEdyaWRTcGFuIHsKIHB1YmxpYzoKICAgICBHcmlkU3Bhbihjb25z
dCBHcmlkUmVzb2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRJbml0aWFsUG9zaXRpb24sIGNvbnN0IEdy
aWRSZXNvbHZlZFBvc2l0aW9uJiByZXNvbHZlZEZpbmFsUG9zaXRpb24pCi0gICAgICAgIDogcmVz
b2x2ZWRJbml0aWFsUG9zaXRpb24ocmVzb2x2ZWRJbml0aWFsUG9zaXRpb24pCi0gICAgICAgICwg
cmVzb2x2ZWRGaW5hbFBvc2l0aW9uKHJlc29sdmVkRmluYWxQb3NpdGlvbikKKyAgICAgICAgOiBy
ZXNvbHZlZEluaXRpYWxQb3NpdGlvbihzdGQ6Om1pbihyZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50
b0ludCgpLCBrR3JpZE1heFRyYWNrcyAtIDEpKQorICAgICAgICAsIHJlc29sdmVkRmluYWxQb3Np
dGlvbihzdGQ6Om1pbihyZXNvbHZlZEZpbmFsUG9zaXRpb24udG9JbnQoKSwga0dyaWRNYXhUcmFj
a3MpKQogICAgIHsKICAgICAgICAgQVNTRVJUKHJlc29sdmVkSW5pdGlhbFBvc2l0aW9uIDw9IHJl
c29sdmVkRmluYWxQb3NpdGlvbik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5jcHAKaW5kZXggNjlhOGE1OTQz
ZTM4Yzc1NTk5NWJlZjZmMmJiNDhhYTRlZDU0Y2ZkMC4uMGYzNjJhZWZhMWJhZjYxMTE0ZWY0YjQ0
ODE3NjcwN2IyYmUyNTMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0dyaWRSZXNvbHZlZFBvc2l0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvR3JpZFJlc29sdmVkUG9zaXRpb24uY3BwCkBAIC00OCw5ICs0OCwxOSBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgaXNTdGFydFNpZGUoR3JpZFBvc2l0aW9uU2lkZSBzaWRlKQogICAgIHJl
dHVybiBzaWRlID09IENvbHVtblN0YXJ0U2lkZSB8fCBzaWRlID09IFJvd1N0YXJ0U2lkZTsKIH0K
IAorc2l6ZV90IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRDb2x1bW5Db3VudChj
b25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlKQoreworICAgIHJldHVybiBzdGQ6
Om1pbihncmlkQ29udGFpbmVyU3R5bGUuZ3JpZENvbHVtbnMoKS5zaXplKCksIGtHcmlkTWF4VHJh
Y2tzKTsKK30KKworc2l6ZV90IEdyaWRSZXNvbHZlZFBvc2l0aW9uOjpleHBsaWNpdEdyaWRSb3dD
b3VudChjb25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlKQoreworICAgIHJldHVy
biBzdGQ6Om1pbihncmlkQ29udGFpbmVyU3R5bGUuZ3JpZFJvd3MoKS5zaXplKCksIGtHcmlkTWF4
VHJhY2tzKTsKK30KKwogc3RhdGljIHNpemVfdCBleHBsaWNpdEdyaWRTaXplRm9yU2lkZShjb25z
dCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLCBHcmlkUG9zaXRpb25TaWRlIHNpZGUp
CiB7Ci0gICAgcmV0dXJuIGlzQ29sdW1uU2lkZShzaWRlKSA/IGdyaWRDb250YWluZXJTdHlsZS5n
cmlkQ29sdW1ucygpLnNpemUoKSA6IGdyaWRDb250YWluZXJTdHlsZS5ncmlkUm93cygpLnNpemUo
KTsKKyAgICByZXR1cm4gaXNDb2x1bW5TaWRlKHNpZGUpID8gR3JpZFJlc29sdmVkUG9zaXRpb246
OmV4cGxpY2l0R3JpZENvbHVtbkNvdW50KGdyaWRDb250YWluZXJTdHlsZSkgOiBHcmlkUmVzb2x2
ZWRQb3NpdGlvbjo6ZXhwbGljaXRHcmlkUm93Q291bnQoZ3JpZENvbnRhaW5lclN0eWxlKTsKIH0K
IAogR3JpZFNwYW4gR3JpZFJlc29sdmVkUG9zaXRpb246OnJlc29sdmVHcmlkUG9zaXRpb25zRnJv
bUF1dG9QbGFjZW1lbnRQb3NpdGlvbihjb25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0
eWxlLCBjb25zdCBSZW5kZXJCb3gmIGdyaWRJdGVtLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24g
ZGlyZWN0aW9uLCBjb25zdCBHcmlkUmVzb2x2ZWRQb3NpdGlvbiYgcmVzb2x2ZWRJbml0aWFsUG9z
aXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFJl
c29sdmVkUG9zaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVz
b2x2ZWRQb3NpdGlvbi5oCmluZGV4IDI2M2I1MjQzYjY0MzFlMDg1YzEyNjY2NzE3OWRiMGU2ZWQw
OTdjOTIuLjhmYjE0M2YyMWY1NmVmNWQzNjY2NmJiYWUxYzIxZWQwNTk4YTk3ODcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUmVzb2x2ZWRQb3NpdGlv
bi5oCkBAIC0xNDYsNiArMTQ2LDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gR3JpZFJlc29s
dmVkUG9zaXRpb24obV9pbnRlZ2VyUG9zaXRpb24gKyAxKTsKICAgICB9CiAKKyAgICBzdGF0aWMg
c2l6ZV90IGV4cGxpY2l0R3JpZENvbHVtbkNvdW50KGNvbnN0IFJlbmRlclN0eWxlJik7CisgICAg
c3RhdGljIHNpemVfdCBleHBsaWNpdEdyaWRSb3dDb3VudChjb25zdCBSZW5kZXJTdHlsZSYpOwor
CiBwcml2YXRlOgogCiAgICAgc2l6ZV90IG1faW50ZWdlclBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGM0YmZiNGY1YmFmYjkwNzY4
MzNjMmVlZjdmNDYzMzI2MTFmZDIzYTAuLjEzMmI0ODc4NDVlZjE1MjIyYjQ0ZDczOGM2ZGYyZWM4
ZWUyNDE2YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMyBAQAorMjAxNC0xMC0wNyAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2
aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBMaW1pdCB0aGUg
c2l6ZSBvZiBleHBsaWNpdC9pbXBsaWNpdCBncmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYyMTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIG5ldyB1bml0IHRlc3QgZm9yIHRoZSBDU1Mg
cGFyc2VyLiBSaWdodCBub3cgaXQgb25seSBjaGVja3MKKyAgICAgICAgdGhhdCB3ZSBwcm9wZXJs
eSBjbGFtcCB0aGUgbWF4aW11bSBudW1iZXIgb2YgdHJhY2tzIG9uIGEgZ3JpZCB0byBhCisgICAg
ICAgIG1heGltdW0gb2YgMSBtaWxsaW9uLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NTU1BhcnNlci5jcHA6IEFkZGVkLgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y29tcHV0ZU51bWJlck9mVHJhY2tzKTogSGVscGVyIGZ1
bmN0aW9uLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6IEFkZGVkIGEKKyAgICAgICAg
Q1NTUHJvcGVydHlQYXJzZXJUZXN0LkdyaWRUcmFja0xpbWl0cyB0ZXN0IGNhc2UuCisKIDIwMTQt
MTAtMjEgIETDoW5pZWwgQsOhdHlhaSAgPGRiYXR5YWkudS1zemVnZWRAcGFydG5lci5zYW1zdW5n
LmNvbT4KIAogICAgICAgICBGaXggRlRMIE5hdGl2ZSBJbmxpbmluZyBmb3IgRUZMCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCBiYzVkMGJlZGQ3OTUzYzBlMDVlMTE5NDU2Nzk4NGNm
NDk1NmIyNzE5Li5hMzBmN2Y0ODNmYTIzMmFjNTAyMmY2ODdjYTBmNTQ2NTdjYzNiZjY2IDEwMDY0
NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKQEAgLTE5LDEyICsxOSwxNyBAQCBpbmNsdWRlX2Rp
cmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0KICAgICAke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
cGFyc2VyCiAgICAgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3J1bnRpbWUKICAgICAke1RISVJEUEFS
VFlfRElSfS9ndGVzdC9pbmNsdWRlCisgICAgJHtXRUJDT1JFX0RJUn0vY3NzCisgICAgJHtXRUJD
T1JFX0RJUn0vZG9tCiAgICAgJHtXRUJDT1JFX0RJUn0vZWRpdGluZwogICAgICR7V0VCQ09SRV9E
SVJ9L3BsYXRmb3JtCisgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vYW5pbWF0aW9uCiAgICAg
JHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3JhcGhpY3MKICAgICAke1dFQkNPUkVfRElSfS9wbGF0
Zm9ybS90ZXh0CiAgICAgJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vbmV0d29yawogICAgICR7V0VC
Q09SRV9ESVJ9L3BsYXRmb3JtL25ldHdvcmsvc291cAorICAgICR7V0VCQ09SRV9ESVJ9L3JlbmRl
cmluZworICAgICR7V0VCQ09SRV9ESVJ9L3JlbmRlcmluZy9zdHlsZQogICAgICR7V0VCS0lUMl9E
SVJ9L1BsYXRmb3JtL0lQQwogICAgICR7V0VCS0lUMl9ESVJ9L1NoYXJlZAogICAgICR7V0VCS0lU
Ml9ESVJ9L1NoYXJlZC9BUEkvYwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUVmbC5jbWFrZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1FZmwuY21ha2UKaW5k
ZXggODY3N2VhNWEwZjE5OTBkMWM1MjA5NjgxMjAwYjA4NWU2MWI3NDk1OC4uZDQ0MDY4NmRkZTMz
ZDI4ZTc1NzVlNzFiZTE4YzQyNmU5MjEzMDk1MyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3Jt
RWZsLmNtYWtlCkBAIC01Nyw2ICs1Nyw3IEBAIGxpc3QoQVBQRU5EIFRlc3RKYXZhU2NyaXB0Q29y
ZV9MSUJSQVJJRVMKICMgUmVsZWFzZSBidWlsZHMgYmVmb3JlIGFkZGluZyBpdCB0byB0ZXN0X3t3
ZWJraXQyX2FwaXx3ZWJjb3JlfV9CSU5BUklFUy4KIAogc2V0KHRlc3Rfd2ViY29yZV9CSU5BUklF
UworICAgIENTU1BhcnNlcgogICAgIExheW91dFVuaXQKICAgICBVUkwKICkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGJhZTg0ZDNjODc0ZjU0NTc5YmQ1NmNjMTE2MmRj
MDM4MmVjOWJjZWEuLmQ5ZjExYTdiOGZjZmRkZDE0MjY2ZWMyY2VkNDU4N2Q2MmYxNDhiMTcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTEzLDEyICsxMTMsMTQgQEAg
c2V0KFRlc3RXZWJDb3JlR3RrX1NPVVJDRVMKICAgICAke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9n
dGsvR3RrSW5wdXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVz
dHMvV2ViQ29yZS9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJ
X0RJUn0vVGVzdHMvV2ViQ29yZS9ndGsvVXNlckFnZW50UXVpcmtzLmNwcAorICAgICR7REVSSVZF
RF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9Vc2VyQWdlbnRTY3JpcHRzRGF0YS5jcHAKICkKIAogYWRk
X2V4ZWN1dGFibGUoVGVzdFdlYkNvcmUKICAgICAke3Rlc3RfbWFpbl9TT1VSQ0VTfQogICAgICR7
VGVzdFdlYkNvcmVHdGtfU09VUkNFU30KICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0c0Nv
bnRyb2xsZXIuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9DU1NQ
YXJzZXIuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViQ29yZS9MYXlvdXRV
bml0LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYkNvcmUvVVJMLmNwcAog
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMTgwMzQxOTQ5MWVjMDI0YzQ0OTgzMWE5YjYz
OTFmNDBlOWM5YjRiLi42NWI3NGVjYjFkMWVkMjZmYzM0YzI4MTk4YTI4N2ViYTU0MTBjYzUwIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjQ0LDYgKzI0NCw3IEBACiAJCUM5NTUwMUJGMTlB
RDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM5NTUwMUJFMTlBRDJGQUYwMDQ5QkUzRSAvKiBQcmVmZXJl
bmNlcy5tbSAqLzsgfTsKIAkJQ0Q1MzkzQzgxNzU3QkE5NzAwQzA3MTIzIC8qIE1ENS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDUzOTNDNzE3NTdC
QTk3MDBDMDcxMjMgLyogTUQ1LmNwcCAqLzsgfTsKIAkJQ0Q1MzkzQ0ExNzU3QkFDNDAwQzA3MTIz
IC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQ0Q1MzkzQzkxNzU3QkFDNDAwQzA3MTIzIC8qIFNIQTEuY3BwICovOyB9OworCQlDRDU0NTFF
QTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQ
YXJzZXIuY3BwICovOyB9OwogCQlDRDU0OTdCNDE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1l
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTQ5
N0IzMTU4NTdGMEMwMEI1QkMzMCAvKiBNZWRpYVRpbWUuY3BwICovOyB9OwogCQlDRDU5RjUzNDE5
RTkxMTBEMDBDRjE4MzUgLyogZmlsZS13aXRoLW1zZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTlGNTMyMTlFOTEwQUEwMENGMTgz
NSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwgKi87IH07CiAJCUNENTlGNTM1MTlFOTExMEQwMENGMTgz
NSAvKiB0ZXN0LW1zZS5tcDQgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3QtbXNlLm1wNCAq
LzsgfTsKQEAgLTYyMiw2ICs2MjMsNyBAQAogCQlDOTU1MDFCRTE5QUQyRkFGMDA0OUJFM0UgLyog
UHJlZmVyZW5jZXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
cmVmZXJlbmNlcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1MzkzQzcxNzU3
QkE5NzAwQzA3MTIzIC8qIE1ENS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBNRDUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDUzOTNDOTE3NTdC
QUM0MDBDMDcxMjMgLyogU0hBMS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTSEExLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Q1NDUxRTkxOUU0
MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RDU0OTdCMzE1ODU3RjBDMDBCNUJDMzAgLyogTWVkaWFUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhVGltZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNENTlGNTMyMTlFOTEwQUEwMENGMTgzNSAvKiBmaWxlLXdpdGgtbXNlLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiZmlsZS13aXRoLW1zZS5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0Q1OUY1MzMxOUU5MTBCQzAwQ0YxODM1IC8qIHRlc3Qt
bXNlLm1wNCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGZpbGU7IHBhdGggPSAidGVzdC1tc2UubXA0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTc1Myw2ICs3NTUsNyBAQAogCQk0NDBBMUQzNjE0QTAxMDAwMDA4QTY2RjIgLyogV2ViQ29y
ZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0Q1NDUx
RTkxOUU0MUY5RDAwMTY5MzZGIC8qIENTU1BhcnNlci5jcHAgKi8sCiAJCQkJOTNBNzIwRTUxOEYx
QTBFODAwQTg0OEUxIC8qIENhbGN1bGF0aW9uVmFsdWUuY3BwICovLAogCQkJCUNEQzJDNzE0MTc5
NzA4OUQwMEU2MjdGQiAvKiBUaW1lUmFuZ2VzLmNwcCAqLywKIAkJCQk0NDBBMUQzODE0QTAxMDNB
MDA4QTY2RjIgLyogVVJMLmNwcCAqLywKQEAgLTEzOTYsNiArMTM5OSw3IEBACiAJCQkJMUE3QkZD
MEMxNzFBMEJEQjAwQkM1RjY0IC8qIFdpbGxTZW5kU3VibWl0RXZlbnQubW0gaW4gU291cmNlcyAq
LywKIAkJCQlCQzIyRDMxNTE0REM2ODk4MDBGRkIxREQgLyogVXNlck1lc3NhZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM1NUY1RjkxNEFENzhFRTAwNDg0QkUxIC8qIFZlY3Rvci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlDRDU0NTFFQTE5RTQxRjlEMDAxNjkzNkYgLyogQ1NTUGFyc2VyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTI5MEE5QkI3MTczNURFOEEwMEQ3MUJCQyAvKiBDbG9zZU5l
d1dpbmRvd0luTmF2aWdhdGlvblBvbGljeURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkUyMTdFQ0QxNjQwQTU0QTAwNTI5ODhCIC8qIFZNSW5zcGVjdG9yLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUyMEJDRjREMTQxRUIwOUUwMDkzN0VBOCAvKiBXZWJBcmNoaXZlLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NT
U1BhcnNlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ1NTUGFyc2Vy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNTUwMTRmOTIwM2M0OTYzN2I5MzcwYjgyOTE0MDVjMmIxNjY0YjFh
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NT
U1BhcnNlci5jcHAKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBJ
Z2FsaWEsIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9DU1NQYXJzZXIuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0NTU1ZhbHVlTGlzdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3R5bGVQcm9wZXJ0aWVzLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CisKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVO
dW1iZXJPZlRyYWNrcyhDU1NWYWx1ZUxpc3QqIHZhbHVlTGlzdCkKK3sKKyAgICB1bnNpZ25lZCBu
dW1iZXJPZlRyYWNrcyA9IDA7CisgICAgZm9yIChDU1NWYWx1ZUxpc3RJdGVyYXRvciBpID0gdmFs
dWVMaXN0OyBpLmhhc01vcmUoKTsgaS5hZHZhbmNlKCkpIHsKKyAgICAgICAgaWYgKGkudmFsdWUo
KS0+aXNHcmlkTGluZU5hbWVzVmFsdWUoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICArK251bWJlck9mVHJhY2tzOworICAgIH0KKyAgICByZXR1cm4gbnVtYmVyT2ZUcmFja3M7Cit9
CisjZW5kaWYKKworVEVTVChDU1NQcm9wZXJ0eVBhcnNlclRlc3QsIEdyaWRUcmFja0xpbWl0cykK
K3sKKyNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQorICAgIHN0cnVjdCB7CisgICAgICAgIGNv
bnN0IENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRDsKKyAgICAgICAgY29uc3QgY2hhciogaW5wdXQ7
CisgICAgICAgIGNvbnN0IHNpemVfdCBvdXRwdXQ7CisgICAgfSB0ZXN0Q2FzZXNbXSA9IHsKKyAg
ICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoOTk5OTk5LCAyMHB4KTsiLCA5OTk5OTl9LAorICAg
ICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCAiLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLXJvd3M6IHJlcGVhdCg5OTk5OTksIDIwcHgpOyIsIDk5OTk5OX0sCisgICAgICAgIHtD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1uczogcmVwZWF0KDEwMDAwMDAsIDEwJSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUt
cm93czogcmVwZWF0KDEwMDAwMDAsIDEwJSk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtDU1NQcm9w
ZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtY29s
dW1uczogcmVwZWF0KDEwMDAwMDAsIChmaXJzdCkgLXdlYmtpdC1taW4tY29udGVudCAobGFzdCkp
OyIsIDEwMDAwMDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dz
LCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxMDAwMDAwLCAoZmlyc3QpIC13
ZWJraXQtbWluLWNvbnRlbnQgKGxhc3QpKTsiLCAxMDAwMDAwfSwKKyAgICAgICAge0NTU1Byb3Bl
cnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zOiByZXBlYXQoMTAwMDAwMSwgYXV0byk7IiwgMTAwMDAwMH0sCisgICAgICAgIHtDU1NQcm9w
ZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czog
cmVwZWF0KDEwMDAwMDEsIGF1dG8pOyIsIDEwMDAwMDB9LAorICAgICAgICB7Q1NTUHJvcGVydHlX
ZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAiLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnM6
IHJlcGVhdCg0MDAwMDAsIDJlbSBtaW5tYXgoMTBweCwgLXdlYmtpdC1tYXgtY29udGVudCkgMC41
ZnIpOyIsIDk5OTk5OX0sCisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJv
d3MsICItd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQwMDAwMCwgMmVtIG1pbm1h
eCgxMHB4LCAtd2Via2l0LW1heC1jb250ZW50KSAwLjVmcik7IiwgOTk5OTk5fSwKKyAgICAgICAg
e0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgIi13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zOiByZXBlYXQoNjAwMDAwLCAoZmlyc3QpIDN2aCAxMCUgMmZyIChuYXYpIDEw
cHggYXV0byAxZnIgNmVtIChsYXN0KSk7IiwgOTk5OTk5fSwKKyAgICAgICAge0NTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlUm93cywgIi13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBl
YXQoNjAwMDAwLCAoZmlyc3QpIDN2aCAxMCUgMmZyIChuYXYpIDEwcHggYXV0byAxZnIgNmVtIChs
YXN0KSk7IiwgOTk5OTk5fSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRl
Q29sdW1ucywgInJlcGVhdCgxMDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwJSAxZnIpIiwgMTAwMDAw
MH0sCisgICAgICAgIHtDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3MsICJyZXBlYXQo
MTAwMDAwMDAwMDAwMDAwMDAwMDAwLCAxMCUgMWZyKSIsIDEwMDAwMDB9LAorICAgICAgICB7Q1NT
UHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAicmVwZWF0KDEwMDAwMDAwMDAwMDAw
MDAwMDAwMCwgMTAlIDVlbSAxZnIgYXV0byBhdXRvIDE1cHggbWluLWNvbnRlbnQpIiwgOTk5OTk5
fSwKKyAgICAgICAge0NTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgInJlcGVhdCgx
MDAwMDAwMDAwMDAwMDAwMDAwMDAsIDEwJSA1ZW0gMWZyIGF1dG8gYXV0byAxNXB4IG1pbi1jb250
ZW50KSIsIDk5OTk5OX0sCisgICAgfTsKKworICAgIENTU1BhcnNlciBwYXJzZXIoc3RyaWN0Q1NT
UGFyc2VyQ29udGV4dCgpKTsKKyAgICBSZWZQdHI8TXV0YWJsZVN0eWxlUHJvcGVydGllcz4gcHJv
cGVydGllcyA9IE11dGFibGVTdHlsZVByb3BlcnRpZXM6OmNyZWF0ZSgpOworCisgICAgZm9yIChh
dXRvJiB0ZXN0Q2FzZSA6IHRlc3RDYXNlcykgeworICAgICAgICBBU1NFUlRfVFJVRShwYXJzZXIu
cGFyc2VEZWNsYXJhdGlvbihwcm9wZXJ0aWVzLmdldCgpLCB0ZXN0Q2FzZS5pbnB1dCwgbnVsbHB0
ciwgbnVsbHB0cikpOworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gcHJvcGVydGll
cy0+Z2V0UHJvcGVydHlDU1NWYWx1ZSh0ZXN0Q2FzZS5wcm9wZXJ0eUlEKTsKKworICAgICAgICBB
U1NFUlRfVFJVRSh2YWx1ZS0+aXNWYWx1ZUxpc3QoKSk7CisgICAgICAgIEVYUEVDVF9FUShjb21w
dXRlTnVtYmVyT2ZUcmFja3MoZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pih2YWx1ZS5nZXQoKSkpLCB0
ZXN0Q2FzZS5vdXRwdXQpOworICAgIH0KKyNlbmRpZiAvLyBFTkFCTEUoQ1NTX0dSSURfTEFZT1VU
KQorfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzQwMDA4YmJlMDdl
MDQwNDg1N2E5NDNmNmFiNTE1Mzc5Zjg0YzdhZC4uYTgyNzU2NDE3YjdjZjI0Y2FkY2NmNGYxM2Ji
ZDRjZWQxMGIzN2FmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTEwLTA3ICBTZXJnaW8g
VmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBM
YXlvdXRdIExpbWl0IHRoZSBzaXplIG9mIGV4cGxpY2l0L2ltcGxpY2l0IGdyaWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjIxNworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgYXMgdGhleSBh
cmUgbm93IHBhcnQgb2YgdGhlIFdlYkNvcmUncyBDU1NQYXJzZXIuY3BwIHVuaXQKKyAgICAgICAg
dGVzdC4gVGhlIHJlYXNvbiB3aHkgaXQgd2FzIG1vdmVkIHRoZXJlIGlzIGJlY2F1c2UgdGhlIHRl
c3Qgd291bGQKKyAgICAgICAgcmVxdWlyZSBodWdlICh+MTAwMDAwMCB0cmFja3MpIGdyaWQgYWxs
b2NhdGlvbnMsIG1ha2luZyB0aGUgdGVzdAorICAgICAgICBxdWl0ZSBzbG93IHNwZWNpYWxseSBv
biBEZWJ1ZyBidWlsZHMuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVs
ZW1lbnQtcmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAg
ICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRp
dGlvbnMuaHRtbDogUmVtb3ZlZC4KKwogMjAxNC0xMC0yMSAgTWFudWVsIFJlZ28gQ2FzYXNub3Zh
cyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiAhZ3JpZFdh
c1BvcHVsYXRlZCgpIGluIFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1y
ZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2dyaWQtZWxlbWVudC1yZXBlYXQtbWF4LXJlcGV0aXRpb25zLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I0ZTk2NTM2MjFlMzE4ZmQwYzli
OThkNzM3MDI1Zjk2M2YyODUwZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQt
cmVwZWF0LW1heC1yZXBldGl0aW9ucy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0
ICswLDAgQEAKLVRlc3QgdGhlIHZhbHVlcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRp
dGlvbnMgdmFsdWUgYXJlIGNsYW1wZWQgdGhyb3VnaCBDU1MuCi1QQVNTCi1QQVNTCi1QQVNTCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQt
cmVwZWF0LW1heC1yZXBldGl0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1lbGVtZW50LXJlcGVhdC1tYXgtcmVwZXRpdGlvbnMuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNTJiZmUxM2VkMWJmYTQ2MDk5OGEyMzE0MDYzZWY2Y2QwNzE5
YjU0Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWVsZW1lbnQtcmVwZWF0LW1heC1yZXBl
dGl0aW9ucy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJs
ZWQiLCAxKTsKLTwvc2NyaXB0PgotPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9
InN0eWxlc2hlZXQiPgotPHN0eWxlPgotLmNsYW1wUmVwZXRpdGlvbnNCZWxvd0xpbWl0IHsKLSAg
ICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDk5OTUsIDFweCk7Ci19Ci0KLS5j
bGFtcFJlcGV0aXRpb25zT25MaW1pdCB7Ci0gICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3M6
IHJlcGVhdCgxMDAwMCwgMXB4KTsKLX0KLQotLmNsYW1wUmVwZXRpdGlvbnNBYm92ZUxpbWl0IHsK
LSAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEwMDA1LCAxcHgpOwotfQot
PC9zdHlsZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0iY2hlY2tMYXlvdXQoJy5ncmlkJykiPgot
Ci08ZGl2PlRlc3QgdGhlIHZhbHVlcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gcmVwZXRpdGlv
bnMgdmFsdWUgYXJlIGNsYW1wZWQgdGhyb3VnaCBDU1MuPC9kaXY+Ci0KLTxkaXYgY2xhc3M9Imdy
aWQgY2xhbXBSZXBldGl0aW9uc0JlbG93TGltaXQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI5OTk1
Ij48L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFtcFJlcGV0aXRpb25zT25MaW1pdCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwMDAwIj48L2Rpdj4KLQotPGRpdiBjbGFzcz0iZ3JpZCBjbGFt
cFJlcGV0aXRpb25zQWJvdmVMaW1pdCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMDAwIj48L2Rp
dj4KLQotPC9ib2R5PgotPC9odG1sPgo=
</data>
<flag name="review"
          id="264972"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>