<?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>156844</bug_id>
          
          <creation_ts>2016-04-21 03:40:14 -0700</creation_ts>
          <short_desc>Remove UsePointersEvenForNonNullableObjectArguments keyword</short_desc>
          <delta_ts>2016-04-29 01:28:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>WebKit 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>
          <dependson>156897</dependson>
    
    <dependson>156898</dependson>
    
    <dependson>156899</dependson>
    
    <dependson>156901</dependson>
    
    <dependson>156903</dependson>
    
    <dependson>156904</dependson>
    
    <dependson>156905</dependson>
    
    <dependson>156908</dependson>
    
    <dependson>156909</dependson>
    
    <dependson>156977</dependson>
    
    <dependson>156978</dependson>
    
    <dependson>156979</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185731</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-04-21 03:40:14 -0700</bug_when>
    <thetext>As a step towards removing all uses of UsePointersEvenForNonNullableObjectArguments, it might be good to remove all uses of it as an interface keyword.
Instead, it might be used for methods, which should get fixed progressively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185734</commentid>
    <comment_count>1</comment_count>
      <attachid>276905</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-04-21 03:46:34 -0700</bug_when>
    <thetext>Created attachment 276905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185807</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-21 09:00:52 -0700</bug_when>
    <thetext>I don’t agree with this strategy. Instead I suggest we mark arguments as nullable and then remove the nullability over time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185808</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-21 09:02:01 -0700</bug_when>
    <thetext>Basically, I don’t think we need two different forms of nullable, one that is &quot;nullable on purpose&quot; and another that is &quot;nullable but should be fixed&quot;. To me that seems over-engineered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185809</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 09:03:21 -0700</bug_when>
    <thetext>I would also prefer to use regular nullable (?) with a FIXME comment rather than yet another WebKit-specific IDL attribute. I am looking forward to getting rid of [UsePointersEvenForNonNullableObjectArguments] entirely as soon as possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185835</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-04-21 10:18:58 -0700</bug_when>
    <thetext>OK, I&apos;ll update the patch to remove this keyword using the FIXME approach.

ddkilzer, is it ok to remove support for this keyword in the binding generator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185837</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 10:50:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; OK, I&apos;ll update the patch to remove this keyword using the FIXME approach.
&gt; 
&gt; ddkilzer, is it ok to remove support for this keyword in the binding
&gt; generator?

No, not yet. Someone would need to clean up non-OpenSource ones first :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185838</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 10:54:55 -0700</bug_when>
    <thetext>Can we do it IDL file by IDL file (like we&apos;ve been doing so far) rather than in one huge patch please? It is easier to review carefully and make sure the nullable is actually needed and the FIXME comments are accurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185839</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 10:56:46 -0700</bug_when>
    <thetext>For e.g., ideally I would not want to add a nullable in the IDL if the implementation does a null-check and throws when getting a null pointer.

Also FIXME comments need to be added only when the added nullable in the IDL does not match the corresponding spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185846</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 11:05:27 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; OK, I&apos;ll update the patch to remove this keyword using the FIXME approach.
&gt; &gt; 
&gt; &gt; ddkilzer, is it ok to remove support for this keyword in the binding
&gt; &gt; generator?
&gt; 
&gt; No, not yet. Someone would need to clean up non-OpenSource ones first :/

I&apos;ll take care of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185911</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-21 13:37:00 -0700</bug_when>
    <thetext>Yes, lets keep doing this one file at a time!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185934</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-04-21 14:00:32 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; OK, I&apos;ll update the patch to remove this keyword using the FIXME approach.
&gt; &gt; 
&gt; &gt; ddkilzer, is it ok to remove support for this keyword in the binding
&gt; &gt; generator?
&gt; 
&gt; No, not yet. Someone would need to clean up non-OpenSource ones first :/

Ok, it should now be safe once we get rid of all the uses in trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188521</commentid>
    <comment_count>12</comment_count>
      <attachid>277675</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-04-28 23:30:08 -0700</bug_when>
    <thetext>Created attachment 277675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188556</commentid>
    <comment_count>13</comment_count>
      <attachid>277675</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-29 01:28:43 -0700</bug_when>
    <thetext>Comment on attachment 277675
Patch

Clearing flags on attachment: 277675

Committed r200236: &lt;http://trac.webkit.org/changeset/200236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188557</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-29 01:28:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276905</attachid>
            <date>2016-04-21 03:46:34 -0700</date>
            <delta_ts>2016-04-21 10:19:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156844-20160421124654.patch</filename>
            <type>text/plain</type>
            <size>53076</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMwNWM2ZjY4ZGEzMDhk
ZDJkZjk0OWMyYzg3NWQ0OTY3YmNkNzgyYS4uNmE2MDBlNTYzZDhlOWM3Y2E4YTgzZmNmMTc0OGZk
MTVjZTUxOTFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE2LTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgRHJvcCBV
c2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cyBmcm9tIGludGVyZmFj
ZSBleHRlbmRlZEF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1Njg0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92aW5nIGFsbCB1c2VzIG9mIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51
bGxhYmxlT2JqZWN0QXJndW1lbnRzIGtleXdvcmQgZnJvbSBpbnRlcmZhY2VzLgorICAgICAgICBJ
bnN0ZWFkLCBtYXJraW5nIG5lZWRlZCBtZXRob2RzIGFzIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51
bGxhYmxlT2JqZWN0QXJndW1lbnRzLgorICAgICAgICBVcGRhdGVkIE1lZGlhU3RyZWFtIGNvbnN0
cnVjdG9yIHRvIHRha2UgYSBSZWY8PiBhbmQgbm90IGEgUmVmUHRyPD4uCisKKyAgICAgICAgVXBk
YXRlZCBiaW5kaW5nIGdlbmVyYXRvciB0byBoYW5kbGUgVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVs
bGFibGVPYmplY3RBcmd1bWVudHMgZm9yIG1ldGhvZHMuCisgICAgICAgIEtlcHQgdGhlIGJpbmRp
bmcgZ2VuZXJhdG9yIHN1cHBvcnQgb2YgVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmpl
Y3RBcmd1bWVudHMgZm9yIGludGVyZmFjZXMsCisgICAgICAgIHRvIHByZXZlbnQgYnJlYWtpbmcg
b3V0LW9mLXRyZWUgSURMcy4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2Ugb2JzZXJ2YWJs
ZSBmcm9tIEpTLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJv
bHNIb3N0LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGw6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbTo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS5pZGw6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5pZGw6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5pZGw6CisgICAgICAgICogTW9kdWxlcy93
ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoU2hvdWxkUGFzc1dyYXBwZXJCeVJlZmVyZW5jZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbToKKyAgICAg
ICAgKEdlbmVyYXRlRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2spOgorICAgICAg
ICAoU2hvdWxkUGFzc1dyYXBwZXJCeVJlZmVyZW5jZSk6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0
cnVjdG9yRGVmaW5pdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yT2JqQy5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0LmlkbDoKKyAgICAg
ICAgKiBkb20vTXV0YXRpb25PYnNlcnZlci5pZGw6CisgICAgICAgICogZG9tL05vZGUuaWRsOgor
ICAgICAgICAqIGRvbS9XZWJLaXROYW1lZEZsb3cuaWRsOgorICAgICAgICAqIGZpbGVhcGkvRmls
ZVJlYWRlci5pZGw6CisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5pZGw6CisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGw6CisgICAgICAg
ICogaHRtbC90cmFjay9UZXh0VHJhY2suaWRsOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaWRsOgorCiAyMDE2LTA0LTIxICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQVg6IHN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSByZXR1cm5pbmcg
ZW1wdHkgc3RyaW5nIGZvciBkb2N1bWVudCByYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9NZWRpYUNvbnRyb2xzSG9zdC5pZGwKaW5kZXgg
YmNhNTQ4Yzc1ZTAwZjAzMzU2MTViNGZjMzM5MTY2ZTI1ODEzYmExNy4uYTFhMTg4MDVkMjIwNTkw
Yjc2MGE1M2I5MWUxYWYwNTZjZTM0NmIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYWNvbnRyb2xzL01lZGlhQ29udHJvbHNIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuaWRsCkBAIC0zMCwx
OSArMzAsMTkgQEAgZW51bSBEZXZpY2VUeXBlIHsKIH07CiAKIFsKLSAgICBOb0ludGVyZmFjZU9i
amVjdCwKICAgICBDb25kaXRpb25hbD1NRURJQV9DT05UUk9MU19TQ1JJUFQsCi0gICAgVXNlUG9p
bnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsCiAgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSwKKyAgICBOb0ludGVyZmFjZU9iamVjdCwKIF0gaW50ZXJmYWNlIE1lZGlh
Q29udHJvbHNIb3N0IHsKLSAgICBUZXh0VHJhY2tbXSBzb3J0ZWRUcmFja0xpc3RGb3JNZW51KFRl
eHRUcmFja0xpc3QgdHJhY2tMaXN0KTsKLSAgICBBdWRpb1RyYWNrW10gc29ydGVkVHJhY2tMaXN0
Rm9yTWVudShBdWRpb1RyYWNrTGlzdCB0cmFja0xpc3QpOwotICAgIERPTVN0cmluZyBkaXNwbGF5
TmFtZUZvclRyYWNrKFRleHRUcmFjayB0cmFjayk7Ci0gICAgRE9NU3RyaW5nIGRpc3BsYXlOYW1l
Rm9yVHJhY2soQXVkaW9UcmFjayB0cmFjayk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51
bGxhYmxlT2JqZWN0QXJndW1lbnRzXSBUZXh0VHJhY2tbXSBzb3J0ZWRUcmFja0xpc3RGb3JNZW51
KFRleHRUcmFja0xpc3QgdHJhY2tMaXN0KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVs
bGFibGVPYmplY3RBcmd1bWVudHNdIEF1ZGlvVHJhY2tbXSBzb3J0ZWRUcmFja0xpc3RGb3JNZW51
KEF1ZGlvVHJhY2tMaXN0IHRyYWNrTGlzdCk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51
bGxhYmxlT2JqZWN0QXJndW1lbnRzXSBET01TdHJpbmcgZGlzcGxheU5hbWVGb3JUcmFjayhUZXh0
VHJhY2sgdHJhY2spOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFy
Z3VtZW50c10gRE9NU3RyaW5nIGRpc3BsYXlOYW1lRm9yVHJhY2soQXVkaW9UcmFjayB0cmFjayk7
CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzXSB2b2lk
IHNldFNlbGVjdGVkVGV4dFRyYWNrKFRleHRUcmFjayB0cmFjayk7CisKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgVGV4dFRyYWNrIGNhcHRpb25NZW51T2ZmSXRlbTsKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgVGV4dFRyYWNrIGNhcHRpb25NZW51QXV0b21hdGljSXRlbTsKICAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIGNhcHRpb25EaXNwbGF5TW9kZTsKLSAgICB2b2lkIHNldFNlbGVj
dGVkVGV4dFRyYWNrKFRleHRUcmFjayB0cmFjayk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhU
TUxFbGVtZW50IHRleHRUcmFja0NvbnRhaW5lcjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIHN1cHBvcnRzRnVsbHNjcmVlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGwKaW5kZXggNTYyMzI5ZGQ3Mjk3Y2I2ZTlhZDEz
ZTZkNTZjY2IwNTZmMzU2MzE4OC4uMDNhZmQwNTk1ZDBjN2E3MmU4MThmZTJjYzZkZjVhNjJlZWEw
MDMzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRp
YVNvdXJjZS5pZGwKQEAgLTM0LDEyICszNCwxMSBAQCBlbnVtIEVuZE9mU3RyZWFtRXJyb3Igewog
fTsKIAogWwotICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJDRSwKICAgICBBY3RpdmVET01PYmpl
Y3QsCi0gICAgRW5hYmxlZEJ5U2V0dGluZz1NZWRpYVNvdXJjZSwKKyAgICBDb25kaXRpb25hbD1N
RURJQV9TT1VSQ0UsCiAgICAgQ29uc3RydWN0b3IsCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LAotICAgIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxl
T2JqZWN0QXJndW1lbnRzLAorICAgIEVuYWJsZWRCeVNldHRpbmc9TWVkaWFTb3VyY2UsCiBdIGlu
dGVyZmFjZSBNZWRpYVNvdXJjZSA6IEV2ZW50VGFyZ2V0IHsKICAgICAvLyBBbGwgdGhlIHNvdXJj
ZSBidWZmZXJzIGNyZWF0ZWQgYnkgdGhpcyBvYmplY3QuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNvdXJjZUJ1ZmZlckxpc3Qgc291cmNlQnVmZmVyczsKQEAgLTUwLDcgKzQ5LDcgQEAgZW51bSBF
bmRPZlN0cmVhbUVycm9yIHsKICAgICBbU2V0dGVyUmFpc2VzRXhjZXB0aW9uXSBhdHRyaWJ1dGUg
dW5yZXN0cmljdGVkIGRvdWJsZSBkdXJhdGlvbjsKIAogICAgIFtSYWlzZXNFeGNlcHRpb25dIFNv
dXJjZUJ1ZmZlciBhZGRTb3VyY2VCdWZmZXIoRE9NU3RyaW5nIHR5cGUpOwotICAgIFtSYWlzZXNF
eGNlcHRpb25dIHZvaWQgcmVtb3ZlU291cmNlQnVmZmVyKFNvdXJjZUJ1ZmZlciBidWZmZXIpOwor
ICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgUmFpc2Vz
RXhjZXB0aW9uXSB2b2lkIHJlbW92ZVNvdXJjZUJ1ZmZlcihTb3VyY2VCdWZmZXIgYnVmZmVyKTsK
IAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgcmVhZHlTdGF0ZTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmlk
bAppbmRleCA3NmY3YjEwMjM2N2YxMDU5NmE5ZjM3N2YxNDBlOTBkMGMzMTNjNDRkLi5mMzMyZjlj
NWIzNjc5NzliZTlmNmI1ODJhYmNjMGM1ODBlYjFlZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsCkBAIC0zNCwxMSArMzQs
MTAgQEAKIH07CiAKIFsKLSAgICBDb25kaXRpb25hbD1NRURJQV9TT1VSQ0UsCi0gICAgTm9JbnRl
cmZhY2VPYmplY3QsCiAgICAgQWN0aXZlRE9NT2JqZWN0LAotICAgIFVzZVBvaW50ZXJzRXZlbkZv
ck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLAorICAgIENvbmRpdGlvbmFsPU1FRElBX1NPVVJD
RSwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBOb0ludGVyZmFjZU9iamVj
dCwKIF0gaW50ZXJmYWNlIFNvdXJjZUJ1ZmZlciA6IEV2ZW50VGFyZ2V0IHsKIAogICAgIFtTZXR0
ZXJSYWlzZXNFeGNlcHRpb25dIGF0dHJpYnV0ZSBBcHBlbmRNb2RlIG1vZGU7CkBAIC02MCw4ICs1
OSw4IEBACiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIHVucmVzdHJpY3Rl
ZCBkb3VibGUgYXBwZW5kV2luZG93RW5kOwogCiAgICAgLy8gQXBwZW5kIHNlZ21lbnQgZGF0YS4K
LSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGFwcGVuZEJ1ZmZlcihBcnJheUJ1ZmZlciBkYXRh
KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGFwcGVuZEJ1ZmZlcihBcnJheUJ1ZmZlclZp
ZXcgZGF0YSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgYXBwZW5kQnVmZmVyKEFycmF5QnVmZmVyIGRhdGEp
OworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIGFwcGVuZEJ1ZmZlcihBcnJheUJ1ZmZlclZpZXcgZGF0YSk7CiAK
ICAgICAvLyBBYm9ydCB0aGUgY3VycmVudCBzZWdtZW50IGFwcGVuZCBzZXF1ZW5jZS4KICAgICBb
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIGFib3J0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IGUxNDhjYWIyZmJhNDllODY1
NGZhZWE5NjFiNmYxOTgwZmIzYWY3NTAuLjBhMmU0YjdiNTFmZTAzN2EyNmU4YjA4NDU1YjYxM2My
NjVhNTU0NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0uY3BwCkBAIC00NywxMSArNDcsOSBAQCBSZWY8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKICAgICByZXR1
cm4gTWVkaWFTdHJlYW06OmNyZWF0ZShjb250ZXh0LCBNZWRpYVN0cmVhbVByaXZhdGU6OmNyZWF0
ZShWZWN0b3I8UmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPj4oKSkpOwogfQogCi1SZWY8
TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgTWVkaWFTdHJlYW0qIHN0cmVhbSkKK1JlZjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJl
YW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVN0cmVhbSYg
c3RyZWFtKQogewotICAgIEFTU0VSVChzdHJlYW0pOwotCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFTdHJlYW0oY29udGV4dCwgc3RyZWFtLT5nZXRUcmFja3MoKSkpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1lZGlhU3RyZWFtKGNvbnRleHQsIHN0cmVhbS5nZXRUcmFja3MoKSkp
OwogfQogCiBSZWY8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ZlY3RvciYgdHJhY2tz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5o
CmluZGV4IDdlOWRiZjNlMDQ5ZTM1OGE3YmZjZmNhNzEwNzg4YjcwYjUzNmNhZTIuLjAwMzM5NWUx
NTQzYjAwZjhjNzgzNDJhNWZmMGYyYTAwOWY2M2RlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVi
bGljOgogICAgIH07CiAKICAgICBzdGF0aWMgUmVmPE1lZGlhU3RyZWFtPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpOwotICAgIHN0YXRpYyBSZWY8TWVkaWFTdHJlYW0+IGNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFTdHJlYW0qKTsKKyAgICBzdGF0aWMgUmVmPE1l
ZGlhU3RyZWFtPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1lZGlhU3RyZWFtJik7
CiAgICAgc3RhdGljIFJlZjxNZWRpYVN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yJik7CiAgICAgc3RhdGljIFJlZjxNZWRp
YVN0cmVhbT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8TWVkaWFTdHJl
YW1Qcml2YXRlPiYmKTsKICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAppbmRleCAwYzk5
ZTU2YmRjZTQ4YjZhOTIwZThiMjQwZjgwOGFmNzdlZGY5MGQzLi5jOTgxNzExZjRjYTZiMWJlYTY5
NTIwNmVhOWFkNDVjM2I4YzE0MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmlkbApAQCAtMjgsNyArMjgsNiBAQAogICAgIENvbnN0
cnVjdG9yKE1lZGlhU3RyZWFtIHN0cmVhbSksCiAgICAgQ29uc3RydWN0b3IoTWVkaWFTdHJlYW1U
cmFja1tdIHRyYWNrcyksCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25D
b250ZXh0LAotICAgIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRz
LAogXSBpbnRlcmZhY2UgTWVkaWFTdHJlYW0gOiBFdmVudFRhcmdldCB7CiAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlkOwpAQCAtMzgsOCArMzcsOCBAQAogICAgIHNlcXVlbmNl
PE1lZGlhU3RyZWFtVHJhY2s+IGdldFRyYWNrcygpOwogICAgIE1lZGlhU3RyZWFtVHJhY2sgZ2V0
VHJhY2tCeUlkKERPTVN0cmluZyB0cmFja0lkKTsKIAotICAgIHZvaWQgYWRkVHJhY2soTWVkaWFT
dHJlYW1UcmFjayB0cmFjayk7Ci0gICAgdm9pZCByZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNr
IHRyYWNrKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVu
dHNdIHZvaWQgYWRkVHJhY2soTWVkaWFTdHJlYW1UcmFjayB0cmFjayk7CisgICAgW1VzZVBvaW50
ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzXSB2b2lkIHJlbW92ZVRyYWNrKE1l
ZGlhU3RyZWFtVHJhY2sgdHJhY2spOwogCiAgICAgTWVkaWFTdHJlYW0gY2xvbmUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5l
bC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVs
LmlkbAppbmRleCBiYWQ5YmM1YWI1OWY3ZGQ1NjUzNGRkM2JmYTc1NGQ2ODlkOWIzNTgwLi45ZDRh
YTQ0MjFkMjBjMGUxNzFjZGNhYTk5ZDJhMWIyMWM2MDkxNTgwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmlkbApAQCAtMjMs
OSArMjMsOCBAQAogICovCiAKIFsKLSAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBDb25kaXRp
b25hbD1XRUJfUlRDLAotICAgIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJn
dW1lbnRzLAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgUlRDRGF0YUNoYW5u
ZWwgOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBsYWJl
bDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBvcmRlcmVkOwpAQCAtMzksOSArMzgs
OSBAQAogCiAgICAgW1NldHRlclJhaXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBi
aW5hcnlUeXBlOwogCi0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVy
IGRhdGEpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2VuZChBcnJheUJ1ZmZlclZpZXcg
ZGF0YSk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEJsb2IgZGF0YSk7CisgICAg
W1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBSYWlzZXNFeGNl
cHRpb25dIHZvaWQgc2VuZChBcnJheUJ1ZmZlciBkYXRhKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVu
Rm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5k
KEFycmF5QnVmZmVyVmlldyBkYXRhKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFi
bGVPYmplY3RBcmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEJsb2IgZGF0YSk7
CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKERPTVN0cmluZyBkYXRhKTsKIAogICAg
IHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKaW5kZXggOWEwYzNlZTU2Y2ZhMmFiMTk4NTkz
NzY1YzM4M2Q0Nzk1MmM1ZjNiMi4uM2RhNDc5NDBmODBlYmY3YzNkYTMwMDQwYWRhNTQ0ZWNiOGJk
ZjY2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENQZWVyQ29ubmVjdGlvbi5pZGwKQEAgLTMxLDIzICszMSwyMiBAQAogICovCiAKIFsKLSAg
ICBDb25kaXRpb25hbD1XRUJfUlRDLAogICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICBDdXN0b21D
b25zdHJ1Y3RvcihEaWN0aW9uYXJ5IHJ0Y0NvbmZpZ3VyYXRpb24pLAorICAgIENvbmRpdGlvbmFs
PVdFQl9SVEMsCiAgICAgQ29uc3RydWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0
LAogICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAorICAgIEN1c3RvbUNvbnN0cnVjdG9y
KERpY3Rpb25hcnkgcnRjQ29uZmlndXJhdGlvbiksCiAgICAgSW50ZXJmYWNlTmFtZT13ZWJraXRS
VENQZWVyQ29ubmVjdGlvbiwKLSAgICBVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVj
dEFyZ3VtZW50cywKIF0gaW50ZXJmYWNlIFJUQ1BlZXJDb25uZWN0aW9uIDogRXZlbnRUYXJnZXQg
ewogCiAgICAgLy8gUHJpdmF0ZSBmdW5jdGlvbnMgY2FsbGVkIGJ5IHJ1blF1ZXVlZE9wZXJhdGlv
bigpIChSVENQZWVyQ29ubmVjdGlvbkludGVybmFscy5qcykKICAgICBbUHJpdmF0ZV0gUHJvbWlz
ZSBxdWV1ZWRDcmVhdGVPZmZlcihvcHRpb25hbCBEaWN0aW9uYXJ5IG9mZmVyT3B0aW9ucyk7CiAg
ICAgW1ByaXZhdGVdIFByb21pc2UgcXVldWVkQ3JlYXRlQW5zd2VyKG9wdGlvbmFsIERpY3Rpb25h
cnkgYW5zd2VyT3B0aW9ucyk7Ci0gICAgW1ByaXZhdGVdIFByb21pc2UgcXVldWVkU2V0TG9jYWxE
ZXNjcmlwdGlvbihSVENTZXNzaW9uRGVzY3JpcHRpb24gZGVzY3JpcHRpb24pOwotICAgIFtQcml2
YXRlXSBQcm9taXNlIHF1ZXVlZFNldFJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbiBkZXNjcmlwdGlvbik7Ci0gICAgW1ByaXZhdGVdIFByb21pc2UgcXVldWVkQWRkSWNlQ2Fu
ZGlkYXRlKFJUQ0ljZUNhbmRpZGF0ZSBjYW5kaWRhdGUpOworICAgIFtVc2VQb2ludGVyc0V2ZW5G
b3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgUHJpdmF0ZV0gUHJvbWlzZSBxdWV1ZWRTZXRM
b2NhbERlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBkZXNjcmlwdGlvbik7CisgICAg
W1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBQcml2YXRlXSBQ
cm9taXNlIHF1ZXVlZFNldFJlbW90ZURlc2NyaXB0aW9uKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbiBk
ZXNjcmlwdGlvbik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJn
dW1lbnRzLCBQcml2YXRlXSBQcm9taXNlIHF1ZXVlZEFkZEljZUNhbmRpZGF0ZShSVENJY2VDYW5k
aWRhdGUgY2FuZGlkYXRlKTsKIAotICAgIFtQcml2YXRlXSBQcm9taXNlIHByaXZhdGVHZXRTdGF0
cyhvcHRpb25hbCBNZWRpYVN0cmVhbVRyYWNrIHNlbGVjdG9yKTsKKyAgICBbVXNlUG9pbnRlcnNF
dmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFByaXZhdGVdIFByb21pc2UgcHJpdmF0
ZUdldFN0YXRzKG9wdGlvbmFsIE1lZGlhU3RyZWFtVHJhY2sgc2VsZWN0b3IpOwogCiAgICAgW0pT
QnVpbHRpbl0gUHJvbWlzZSBjcmVhdGVPZmZlcihvcHRpb25hbCBEaWN0aW9uYXJ5IG9mZmVyT3B0
aW9ucyk7CiAgICAgLy8gTGVnYWN5IHNpZ25hdHVyZTogdm9pZCBjcmVhdGVPZmZlcihSVENTZXNz
aW9uRGVzY3JpcHRpb25DYWxsYmFjayBzdWNjZXNzQ2FsbGJhY2sKQEAgLTYyLDggKzYxLDggQEAK
ICAgICBzZXF1ZW5jZTxSVENSdHBTZW5kZXI+IGdldFNlbmRlcnMoKTsKICAgICBzZXF1ZW5jZTxS
VENSdHBSZWNlaXZlcj4gZ2V0UmVjZWl2ZXJzKCk7CiAKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5n
LCBSYWlzZXNFeGNlcHRpb25dIFJUQ1J0cFNlbmRlciBhZGRUcmFjayhNZWRpYVN0cmVhbVRyYWNr
IHRyYWNrLCBNZWRpYVN0cmVhbS4uLiBzdHJlYW1zKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5n
LCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVtb3ZlVHJhY2soUlRDUnRwU2VuZGVyIHNlbmRlcik7
CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJp
Y3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gUlRDUnRwU2VuZGVyIGFkZFRyYWNrKE1l
ZGlhU3RyZWFtVHJhY2sgdHJhY2ssIE1lZGlhU3RyZWFtLi4uIHN0cmVhbXMpOworICAgIFtVc2VQ
b2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNr
aW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVtb3ZlVHJhY2soUlRDUnRwU2VuZGVyIHNlbmRl
cik7CiAKICAgICBbSlNCdWlsdGluXSBQcm9taXNlIHNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vz
c2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uKTsKICAgICAvLyBMZWdhY3kgc2lnbmF0dXJlOiB2
b2lkIHNldExvY2FsRGVzY3JpcHRpb24oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uIGRlc2NyaXB0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNl
bmRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5pZGwKaW5kZXggNTA4YjZkMWY2ODcyNDFkMDJlOGZlMWEzYWIyYTdiY2UwZWY5OTA3ZS4uNmU4
MTM5MWI3NGU1NzA0MDVjY2M0YjZlMGM1NmZlM2YzODY2ZDcxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbApAQCAtMzAsOSAr
MzAsOCBAQAogCiBbCiAgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKLSAgICBVc2VQb2ludGVyc0V2
ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywKIF0gaW50ZXJmYWNlIFJUQ1J0cFNlbmRl
ciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtVHJhY2sgdHJhY2s7CiAKLSAg
ICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIFByb21pc2UgcmVwbGFjZVRy
YWNrKE1lZGlhU3RyZWFtVHJhY2sgd2l0aFRyYWNrKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9y
Tm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhj
ZXB0aW9uXSBQcm9taXNlIHJlcGxhY2VUcmFjayhNZWRpYVN0cmVhbVRyYWNrIHdpdGhUcmFjayk7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3lu
dGhlc2lzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
cy5pZGwKaW5kZXggMWY2NDhkNzg0NjgzMTA4MmViNzBmYTc2MTNiODc2ZWUwZWFiNzU1NS4uOWMw
MWYzMzY0ZTY1MmNhMDVmNzYwODA3NWRhNzdmZTVlZmIyYjUyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCkBAIC0yNiwxMyArMjYs
MTIgQEAKIFsKICAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBDb25kaXRpb25hbD1TUEVFQ0hf
U1lOVEhFU0lTLAotICAgIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLAogXSBpbnRlcmZhY2UgU3BlZWNoU3ludGhlc2lzICB7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gcGVuZGluZzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzcGVh
a2luZzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBwYXVzZWQ7CiAKLSAgICB2b2lk
IHNwZWFrKFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSB1dHRlcmFuY2UpOworICAgIFtVc2VQb2lu
dGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50c10gdm9pZCBzcGVhayhTcGVlY2hT
eW50aGVzaXNVdHRlcmFuY2UgdXR0ZXJhbmNlKTsKICAgICB2b2lkIGNhbmNlbCgpOwogICAgIHZv
aWQgcGF1c2UoKTsKICAgICB2b2lkIHJlc3VtZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAppbmRleCBlMDc1OTFlNWFhZDEwMzg5NWQ4NjAw
ODNmY2Q5MjZkMjY2ZDc5ZjE0Li5jZTMxOWNkZTg3MjI0MGU2YjY4OWJkN2MzNzA1MDZmYjNkYTE0
Mjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29j
a2V0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0
LmlkbApAQCAtMzAsMTUgKzMwLDE0IEBACiAgKi8KIAogWwotICAgIEV4cG9zZWQ9KFdpbmRvdyxX
b3JrZXIpLAotICAgIEVuYWJsZWRBdFJ1bnRpbWUsCi0gICAgQ29uZGl0aW9uYWw9V0VCX1NPQ0tF
VFMsCiAgICAgQWN0aXZlRE9NT2JqZWN0LAorICAgIENvbmRpdGlvbmFsPVdFQl9TT0NLRVRTLAog
ICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB1cmwsIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9u
YWwgc2VxdWVuY2U8RE9NU3RyaW5nPj8gcHJvdG9jb2xzKSwKICAgICBDb25zdHJ1Y3RvcihET01T
dHJpbmcgdXJsLCBET01TdHJpbmcgcHJvdG9jb2wpLAogICAgIENvbnN0cnVjdG9yUmFpc2VzRXhj
ZXB0aW9uLAogICAgIENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwK
LSAgICBVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywKKyAgICBF
bmFibGVkQXRSdW50aW1lLAorICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogXSBpbnRlcmZh
Y2UgV2ViU29ja2V0IDogRXZlbnRUYXJnZXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgVVJMOyAvLyBMb3dlcmNhc2VkIC51cmwgaXMgdGhlIG9uZSBpbiB0aGUgc3BlYywgYnV0
IGxlYXZpbmcgLlVSTCBmb3IgY29tcGF0aWJpbGl0eSByZWFzb25zLgogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgdXJsOwpAQCAtNjMsOSArNjIsOSBAQAogCiAgICAgW1NldHRlclJh
aXNlc0V4Y2VwdGlvbl0gYXR0cmlidXRlIERPTVN0cmluZyBiaW5hcnlUeXBlOwogCi0gICAgW1Jh
aXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyIGRhdGEpOwotICAgIFtSYWlzZXNF
eGNlcHRpb25dIHZvaWQgc2VuZChBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgW1JhaXNlc0V4
Y2VwdGlvbl0gdm9pZCBzZW5kKEJsb2IgZGF0YSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5v
bk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2VuZChBcnJh
eUJ1ZmZlciBkYXRhKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEFycmF5QnVmZmVyVmlldyBkYXRh
KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFJh
aXNlc0V4Y2VwdGlvbl0gdm9pZCBzZW5kKEJsb2IgZGF0YSk7CiAgICAgW1JhaXNlc0V4Y2VwdGlv
bl0gdm9pZCBzZW5kKERPTVN0cmluZyBkYXRhKTsKIAogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZv
aWQgY2xvc2UoW0NsYW1wXSBvcHRpb25hbCB1bnNpZ25lZCBzaG9ydCBjb2RlLCBvcHRpb25hbCBE
T01TdHJpbmcgcmVhc29uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbQppbmRleCA5N2JhODdjMmIzYzUzOTg4MzFhYTIxYWFmYjM3ZmU4MTAw
M2M5ZGY1Li5kYWJiMzIzNTM2OTZkOWI3NWY4NjQ3ZjdmNTY5NTI2NTVmNmU1ODk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC04
OTAsNiArODkwLDcgQEAgc3ViIFNob3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2UKIHsKICAgICBt
eSAkb2JqZWN0ID0gc2hpZnQ7CiAgICAgbXkgJHBhcmFtZXRlciA9IHNoaWZ0OworICAgIG15ICRm
dW5jdGlvbiA9IHNoaWZ0OwogICAgIG15ICRpbnRlcmZhY2UgPSBzaGlmdDsKIAogICAgIHJldHVy
biAwIGlmICRwYXJhbWV0ZXItPmlzVmFyaWFkaWM7CkBAIC04OTcsNiArODk4LDcgQEAgc3ViIFNo
b3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2UKICAgICByZXR1cm4gMCBpZiAkcGFyYW1ldGVyLT5p
c09wdGlvbmFsIGFuZCAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVmYXVsdCJ9
IGFuZCAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiRGVmYXVsdCJ9IGVxICJVbmRl
ZmluZWQiOwogICAgIHJldHVybiAwIGlmICEkb2JqZWN0LT5Jc1dyYXBwZXJUeXBlKCRwYXJhbWV0
ZXItPnR5cGUpICYmICEkb2JqZWN0LT5Jc1R5cGVkQXJyYXlUeXBlKCRwYXJhbWV0ZXItPnR5cGUp
OwogICAgIHJldHVybiAwIGlmICRvYmplY3QtPklzU1ZHVHlwZU5lZWRpbmdUZWFyT2ZmKCRwYXJh
bWV0ZXItPnR5cGUpOworICAgIHJldHVybiAwIGlmICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1
bWVudHMifTsKICAgICByZXR1cm4gMCBpZiAkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMifTsKICAgICBy
ZXR1cm4gMTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvckdPYmplY3QucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCmluZGV4IGFkZWM3OWJlY2JhNjc2ZmYxZDU1M2JkNmMx
MzE3M2IxOGRhNTg3YTAuLjRiNjIxZDQwMDhlY2YyNGM4OTVhNGFlNWI4OWRkNzY5ZWFiMTM1YWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckdPYmplY3QucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbQpAQCAtMTExMCw3ICsxMTEwLDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rp
b24gewogICAgICAgICB9CiAgICAgICAgIGlmICgkcGFyYW1Jc0dET01UeXBlIHx8ICgkcGFyYW1J
RExUeXBlIGVxICJET01TdHJpbmciKSkgewogICAgICAgICAgICAgJHBhcmFtTmFtZSA9ICJjb252
ZXJ0ZWQiIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJHBhcmFtTmFtZSk7Ci0gICAgICAg
ICAgICBpZiAoJHByZWZpeCBuZSAic2V0XyIgJiYgJGNvZGVHZW5lcmF0b3ItPlNob3VsZFBhc3NX
cmFwcGVyQnlSZWZlcmVuY2UoJHBhcmFtLCAkcGFyZW50Tm9kZSkpIHsKKyAgICAgICAgICAgIGlm
ICgkcHJlZml4IG5lICJzZXRfIiAmJiAkY29kZUdlbmVyYXRvci0+U2hvdWxkUGFzc1dyYXBwZXJC
eVJlZmVyZW5jZSgkcGFyYW0sICRmdW5jdGlvbiwgJHBhcmVudE5vZGUpKSB7CiAgICAgICAgICAg
ICAgICAgJHBhcmFtTmFtZSA9ICIqJHBhcmFtTmFtZSI7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMWYxZGFiNjM5ZmY4YjA2MTA2ZjA4NTc5N2QwM2MzMmU0MzBjZGU1MC4uOWI4
NDkyY2IwZmQyNjhjZWU0YTk2MmVhYjA5MTliZDU5NWIwYzcyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTM1OTUsNyAr
MzU5NSw3IEBAIHN1YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVjawogICAgICAgICAgICAgcHVzaChA
JG91dHB1dEFycmF5LCAiICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpO1xuIik7CiAKICAgICAgICAgICAgIG15ICRpc1RlYXJPZmYgPSAkY29kZUdlbmVyYXRvci0+
SXNTVkdUeXBlTmVlZGluZ1RlYXJPZmYoJGFyZ1R5cGUpICYmICRpbnRlcmZhY2VOYW1lICF+IC9M
aXN0JC87Ci0gICAgICAgICAgICBpZiAoJGlzVGVhck9mZiBvciBTaG91bGRQYXNzV3JhcHBlckJ5
UmVmZXJlbmNlKCRwYXJhbWV0ZXIsICRpbnRlcmZhY2UpKSB7CisgICAgICAgICAgICBpZiAoJGlz
VGVhck9mZiBvciBTaG91bGRQYXNzV3JhcHBlckJ5UmVmZXJlbmNlKCRwYXJhbWV0ZXIsICRmdW5j
dGlvbiwgJGludGVyZmFjZSkpIHsKICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXks
ICIgICAgaWYgKCEkbmFtZSlcbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Ioc3RhdGUpO1xuIik7CiAgICAgICAg
ICAgICAgICAgJHZhbHVlID0gJGlzVGVhck9mZiA/ICIkbmFtZS0+cHJvcGVydHlSZWZlcmVuY2Uo
KSIgOiAiKiRuYW1lIjsKQEAgLTQxMDMsOCArNDEwMyw5IEBAIHN1YiBHZXROYXRpdmVUeXBlCiBz
dWIgU2hvdWxkUGFzc1dyYXBwZXJCeVJlZmVyZW5jZQogewogICAgIG15ICRwYXJhbWV0ZXIgPSBz
aGlmdDsKKyAgICBteSAkZnVuY3Rpb24gPSBzaGlmdDsKICAgICBteSAkaW50ZXJmYWNlID0gc2hp
ZnQ7Ci0gICAgcmV0dXJuICRjb2RlR2VuZXJhdG9yLT5TaG91bGRQYXNzV3JhcHBlckJ5UmVmZXJl
bmNlKCRwYXJhbWV0ZXIsICRpbnRlcmZhY2UpICYmIHN1YnN0cihHZXROYXRpdmVUeXBlKCRwYXJh
bWV0ZXItPnR5cGUpLCAtMSkgZXEgJyonOworICAgIHJldHVybiAkY29kZUdlbmVyYXRvci0+U2hv
dWxkUGFzc1dyYXBwZXJCeVJlZmVyZW5jZSgkcGFyYW1ldGVyLCAkZnVuY3Rpb24sICRpbnRlcmZh
Y2UpICYmIHN1YnN0cihHZXROYXRpdmVUeXBlKCRwYXJhbWV0ZXItPnR5cGUpLCAtMSkgZXEgJyon
OwogfQogCiBzdWIgR2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlCkBAIC00OTg1LDcgKzQ5ODYsNyBA
QCBFTkQKICAgICAgICAgICAgIG15ICRpbmRleCA9IDA7CiAgICAgICAgICAgICBmb3JlYWNoIG15
ICRwYXJhbWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkgewogICAgICAgICAgICAgICAg
IGxhc3QgaWYgJGluZGV4IGVxICRwYXJhbUluZGV4OwotICAgICAgICAgICAgICAgIGlmIChTaG91
bGRQYXNzV3JhcHBlckJ5UmVmZXJlbmNlKCRwYXJhbWV0ZXIsICRpbnRlcmZhY2UpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKFNob3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2UoJHBhcmFtZXRlciwg
JGZ1bmN0aW9uLCAkaW50ZXJmYWNlKSkgewogICAgICAgICAgICAgICAgICAgICBwdXNoKEBjb25z
dHJ1Y3RvckFyZ0xpc3QsICIqIiAuICRwYXJhbWV0ZXItPm5hbWUpOwogICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdG9yQXJnTGlzdCwg
JHBhcmFtZXRlci0+bmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQppbmRleCA5ZGI5MjlkZWI2MTJiMTdmMGVjNjIwMTk0
NGFkZjgyMmRkNGI0MjRmLi5hYjJkYTgxMzQ0MjFiODBjYTJhYWNmZmI5NmUzZDExZmIzNzZjNmRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JPYmpDLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0KQEAgLTE0NzksNyArMTQ3OSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0
aW9uCiAgICAgICAgICAgICAgICAgICAgICRpbXBsR2V0dGVyID0gR2V0T2JqQ1R5cGVHZXR0ZXIo
JHBhcmFtTmFtZSwgJGlkbFR5cGUpOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
ICAgIGlmICgkY29kZUdlbmVyYXRvci0+U2hvdWxkUGFzc1dyYXBwZXJCeVJlZmVyZW5jZSgkcGFy
YW0sICRpbnRlcmZhY2UpKSB7CisgICAgICAgICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5T
aG91bGRQYXNzV3JhcHBlckJ5UmVmZXJlbmNlKCRwYXJhbSwgJGZ1bmN0aW9uLCAkaW50ZXJmYWNl
KSkgewogICAgICAgICAgICAgICAgICAgICAkaW1wbEdldHRlciA9ICIqJGltcGxHZXR0ZXIiOwog
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBmdW5jdGlvbkNvbnRlbnQsICIgICAgaWYgKCEkcGFy
YW1OYW1lKVxuIik7CiAgICAgICAgICAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uQ29udGVudCwg
IiAgICAgICAgV2ViQ29yZTo6cmFpc2VUeXBlRXJyb3JFeGNlcHRpb24oKTtcbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5pZGwKaW5kZXggMTlmMDhiMGRmNDNlMzM2ODc4OGI5ZWFiNjBjZTY4MjAzMmQz
N2M4OC4uM2UwM2ZiYTEzMzI5YTNhMTIzOTdlOTQ0YTg2YWI2NTlmYjBlM2E1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCkBAIC0yMiwxMCArMjIsOSBAQAogICAgIENvbnN0cnVjdG9yLAogICAg
IENvbnN0cnVjdG9yQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICBDdXN0b21U
b0pTT2JqZWN0LAotICAgIFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAogICAgIEpTQ3VzdG9tSGVhZGVy
LAogICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKLSAgICBFeHBvcnRNYWNybz1XRUJDT1JF
X0VYUE9SVCwKIF0gaW50ZXJmYWNlIERvY3VtZW50IDogTm9kZSB7CiAKICAgICAvLyBET00gTGV2
ZWwgMSBDb3JlCkBAIC0xMDIsMTkgKzEwMSwxOSBAQAogICAgIC8vIERPTSBMZXZlbCAyIFRyYW52
ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFRyYXZlcnNhbCBpbnRlcmZhY2UpCiAKICNpZiBkZWZp
bmVkKExBTkdVQUdFX09CSkVDVElWRV9DKSAmJiBMQU5HVUFHRV9PQkpFQ1RJVkVfQyB8fCBkZWZp
bmVkKExBTkdVQUdFX0dPQkpFQ1QpICYmIExBTkdVQUdFX0dPQkpFQ1QKLSAgICBbT2JqQ0xlZ2Fj
eVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVO
b2RlSXRlcmF0b3IoTm9kZSByb290LAorICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJs
ZU9iamVjdEFyZ3VtZW50cywgT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNl
cHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSByb290LAogICAgICAg
ICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cgPSAweEZGRkZGRkZGLAogICAgICAg
ICBvcHRpb25hbCBOb2RlRmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4g
ZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVy
cywgUmFpc2VzRXhjZXB0aW9uXSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290
LAorICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgT2Jq
Q0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIFRyZWVXYWxrZXIgY3Jl
YXRlVHJlZVdhbGtlcihOb2RlIHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
d2hhdFRvU2hvdyA9IDB4RkZGRkZGRkYsCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZp
bHRlciwKICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsK
ICNlbHNlCi0gICAgW1JhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBOb2RlSXRlcmF0b3IgY3Jl
YXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVs
bGFibGVPYmplY3RBcmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBOb2RlSXRl
cmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwgdW5z
aWduZWQgbG9uZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZGRiwKICAgICAgICAgb3B0aW9uYWwgTm9k
ZUZpbHRlcj8gZmlsdGVyKTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uLCBOZXdPYmplY3RdIFRyZWVX
YWxrZXIgY3JlYXRlVHJlZVdhbGtlcihOb2RlIHJvb3QsCisgICAgW1VzZVBvaW50ZXJzRXZlbkZv
ck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBSYWlzZXNFeGNlcHRpb24sIE5ld09iamVjdF0g
VHJlZVdhbGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwg
dW5zaWduZWQgbG9uZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZGRiwKICAgICAgICAgb3B0aW9uYWwg
Tm9kZUZpbHRlcj8gZmlsdGVyKTsKICNlbmRpZgpAQCAtMTM3LDcgKzEzNiw3IEBACiAgICAgLy8g
RE9NIExldmVsIDMgWFBhdGggKFhQYXRoRXZhbHVhdG9yIGludGVyZmFjZSkKICAgICBbT2JqQ0xl
Z2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIFhQYXRoRXhwcmVzc2lvbiBj
cmVhdGVFeHByZXNzaW9uKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5nIGV4
cHJlc3Npb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgW0RlZmF1bHQ9VW5kZWZpbmVkXSBvcHRpb25hbCBYUGF0aE5TUmVzb2x2ZXIgcmVzb2x2
ZXIpOwotICAgIFhQYXRoTlNSZXNvbHZlciAgICBjcmVhdGVOU1Jlc29sdmVyKE5vZGUgbm9kZVJl
c29sdmVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVu
dHNdIFhQYXRoTlNSZXNvbHZlciAgICBjcmVhdGVOU1Jlc29sdmVyKE5vZGUgbm9kZVJlc29sdmVy
KTsKICAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIFhQ
YXRoUmVzdWx0IGV2YWx1YXRlKFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgRE9NU3RyaW5n
IGV4cHJlc3Npb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFtEZWZhdWx0PVVuZGVmaW5lZF0gb3B0aW9uYWwgTm9kZSBjb250ZXh0Tm9kZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmF1bHQ9
VW5kZWZpbmVkXSBvcHRpb25hbCBYUGF0aE5TUmVzb2x2ZXIgcmVzb2x2ZXIsCkBAIC0yMjcsMTQg
KzIyNiwxNCBAQAogCiAjaWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VB
R0VfT0JKRUNUSVZFX0MKICAgICAvLyBET00gTGV2ZWwgMiBTdHlsZSBJbnRlcmZhY2UKLSAgICBb
T2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzLCBPYmpDVXNlRGVmYXVsdFZpZXddIENTU1N0eWxl
RGVjbGFyYXRpb24gZ2V0Q29tcHV0ZWRTdHlsZShFbGVtZW50IGVsZW1lbnQsCisgICAgW1VzZVBv
aW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBPYmpDTGVnYWN5VW5uYW1l
ZFBhcmFtZXRlcnMsIE9iakNVc2VEZWZhdWx0Vmlld10gQ1NTU3R5bGVEZWNsYXJhdGlvbiBnZXRD
b21wdXRlZFN0eWxlKEVsZW1lbnQgZWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERPTVN0cmluZyBwc2V1ZG9F
bGVtZW50KTsKIAogICAgIC8vIFdlYktpdCBleHRlbnNpb24KICAgICAvLyBGSVhNRTogcmVtb3Zl
IHRoZSBmaXJzdCB2ZXJzaW9uIG9uY2Ugb3B0aW9uYWwgaXMgaW1wbGVtZW50ZWQgZm9yIE9iamVj
dGl2ZS1DLgotICAgIFtPYmpDVXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNoZWRD
U1NSdWxlcyhFbGVtZW50IGVsZW1lbnQsCisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxh
YmxlT2JqZWN0QXJndW1lbnRzLCBPYmpDVXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1h
dGNoZWRDU1NSdWxlcyhFbGVtZW50IGVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQpOwotICAgIFtPYmpD
VXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNoZWRDU1NSdWxlcyhFbGVtZW50IGVs
ZW1lbnQsCisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRz
LCBPYmpDVXNlRGVmYXVsdFZpZXddIENTU1J1bGVMaXN0IGdldE1hdGNoZWRDU1NSdWxlcyhFbGVt
ZW50IGVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRE9NU3RyaW5nIHBzZXVkb0VsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgb3B0aW9uYWwgYm9vbGVhbiBhdXRob3JPbmx5KTsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaWRsCmluZGV4IDY3NzgxYzFiMzhhNWIxZmM1MWViNGYzMTQ4NThlMGYxZTU2YjRjNzcu
LjdiYjM5NTljNjQ2MjQ4NGNlZjQ5MTY5MTkxZDQ0MTVhOTE5OWYzYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmlkbApAQCAtMjEsMTIgKzIxLDExIEBACiAvLyBJbnRyb2R1Y2VkIGluIERP
TSBMZXZlbCAyOgogWwogICAgIEN1c3RvbVRvSlNPYmplY3QsCi0gICAgVXNlUG9pbnRlcnNFdmVu
Rm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsCiAgICAgSlNDdXN0b21Ub05hdGl2ZU9iamVj
dCwKICAgICBKU0N1c3RvbUhlYWRlciwKICAgICBPYmpDUHJvdG9jb2wsCiBdIGludGVyZmFjZSBF
dmVudFRhcmdldCB7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gdm9pZCBhZGRF
dmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBvcHRp
b25hbCBib29sZWFuIHVzZUNhcHR1cmUpOwotICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRl
cnNdIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5l
ciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VDYXB0dXJlKTsKLSAgICBbSW1wbGVtZW50
ZWRBcz1kaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MsIFJhaXNlc0V4Y2VwdGlvbl0gYm9vbGVhbiBk
aXNwYXRjaEV2ZW50KEV2ZW50IGV2ZW50KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVs
bGFibGVPYmplY3RBcmd1bWVudHMsIE9iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gdm9pZCBh
ZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBv
cHRpb25hbCBib29sZWFuIHVzZUNhcHR1cmUpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25O
dWxsYWJsZU9iamVjdEFyZ3VtZW50cywgT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSB2b2lk
IHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2ZW50TGlzdGVuZXIgbGlzdGVu
ZXIsIG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZv
ck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBJbXBsZW1lbnRlZEFzPWRpc3BhdGNoRXZlbnRG
b3JCaW5kaW5ncywgUmFpc2VzRXhjZXB0aW9uXSBib29sZWFuIGRpc3BhdGNoRXZlbnQoRXZlbnQg
ZXZlbnQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2Vy
dmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbAppbmRleCA1
YTdjNzFmNzRmNzk4ZWU4YTNjMTM3ZjhhNjQzZmQ2YTUwMzRhMmQ3Li43NDU3YTA3NDNlNTFmMjhh
ODhmMzVmMDM0Yzg3ZGQ4ZTMxYTRlODI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
TXV0YXRpb25PYnNlcnZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL011dGF0aW9uT2Jz
ZXJ2ZXIuaWRsCkBAIC0zMSwxMCArMzEsOSBAQAogWwogICAgIEN1c3RvbUNvbnN0cnVjdG9yKE11
dGF0aW9uQ2FsbGJhY2sgY2FsbGJhY2spLAogICAgIEN1c3RvbUlzUmVhY2hhYmxlLAotICAgIFVz
ZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLAogICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBNdXRhdGlvbk9ic2VydmVyIHsKLSAgICBb
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIG9ic2VydmUoTm9kZSB0YXJnZXQsIERpY3Rpb25hcnkgb3B0
aW9ucyk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRz
LCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgb2JzZXJ2ZShOb2RlIHRhcmdldCwgRGljdGlvbmFyeSBv
cHRpb25zKTsKICAgICBzZXF1ZW5jZTxNdXRhdGlvblJlY29yZD4gdGFrZVJlY29yZHMoKTsKICAg
ICB2b2lkIGRpc2Nvbm5lY3QoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5pZGwKaW5kZXggZTI1YWMyZWQxNDMz
NWM3ZTg2MTQxODM0YTg2ZTllMDlmOGVmYzFhMC4uZTg4NTFhMWQ5ZTc2M2I5MDU3NzRlYTI3ZTUz
MDkxMDYwYmRiMTRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmlkbApAQCAtMTksMTQgKzE5LDEzIEBACiAgKi8K
IAogWworICAgIEN1c3RvbUlzUmVhY2hhYmxlLAorICAgIEN1c3RvbVRvSlNPYmplY3QsCisgICAg
RXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgSlNDdXN0b21IZWFkZXIsCiAgICAgSlND
dXN0b21NYXJrRnVuY3Rpb24sCiAgICAgSlNDdXN0b21QdXNoRXZlbnRIYW5kbGVyU2NvcGUsCi0g
ICAgQ3VzdG9tSXNSZWFjaGFibGUsCi0gICAgQ3VzdG9tVG9KU09iamVjdCwKLSAgICBVc2VQb2lu
dGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywKICAgICBPYmpDUG9seW1vcnBo
aWMsCi0gICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiBdIGludGVyZmFjZSBOb2RlCiAj
aWYgZGVmaW5lZChMQU5HVUFHRV9PQkpFQ1RJVkVfQykgJiYgTEFOR1VBR0VfT0JKRUNUSVZFX0MK
ICAgICA6IE9iamVjdCwgRXZlbnRUYXJnZXQKQEAgLTY0LDEyICs2MywxMiBAQAogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIE5vZGUgcm9vdE5vZGU7CiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQ
YXJhbWV0ZXJzLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBpbnNlcnRCZWZvcmUoW0N1
c3RvbVJldHVybl0gTm9kZSBuZXdDaGlsZCwKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVs
bGFibGVPYmplY3RBcmd1bWVudHMsIE9iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgQ3VzdG9t
LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgaW5zZXJ0QmVmb3JlKFtDdXN0b21SZXR1cm5dIE5vZGUg
bmV3Q2hpbGQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBOb2RlIHJlZkNoaWxkKTsKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSByZXBsYWNlQ2hpbGQoTm9kZSBu
ZXdDaGlsZCwKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVu
dHMsIE9iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25d
IE5vZGUgcmVwbGFjZUNoaWxkKE5vZGUgbmV3Q2hpbGQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbQ3VzdG9tUmV0dXJuXSBOb2Rl
IG9sZENoaWxkKTsKLSAgICBbQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgcmVtb3ZlQ2hp
bGQoW0N1c3RvbVJldHVybl0gTm9kZSBvbGRDaGlsZCk7Ci0gICAgW0N1c3RvbSwgUmFpc2VzRXhj
ZXB0aW9uXSBOb2RlIGFwcGVuZENoaWxkKFtDdXN0b21SZXR1cm5dIE5vZGUgbmV3Q2hpbGQpOwor
ICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgQ3VzdG9t
LCBSYWlzZXNFeGNlcHRpb25dIE5vZGUgcmVtb3ZlQ2hpbGQoW0N1c3RvbVJldHVybl0gTm9kZSBv
bGRDaGlsZCk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gTm9kZSBhcHBlbmRDaGlsZChbQ3VzdG9tUmV0
dXJuXSBOb2RlIG5ld0NoaWxkKTsKIAogICAgIGJvb2xlYW4gICAgICAgICAgICBoYXNDaGlsZE5v
ZGVzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGwKaW5kZXggZmVmZmE5
ZGUzOThlYTVkODRlYmY0Yjc4YmMxNDdlYThhMDIxMjI2Ny4uZDJhOGVhNjY5ZGEzOGUwZDE2OTRi
ZjVlMjE2MTdhOTM5OGI3YzI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktp
dE5hbWVkRmxvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5p
ZGwKQEAgLTI4LDE1ICsyOCwxNCBAQAogICovCiAKIFsKLSAgICBVc2VQb2ludGVyc0V2ZW5Gb3JO
b25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywKLSAgICBOb0ludGVyZmFjZU9iamVjdCwKICAgICBH
ZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxPd25lck5vZGVSb290LAorICAgIE5vSW50ZXJmYWNlT2Jq
ZWN0LAogXSBpbnRlcmZhY2UgV2ViS2l0TmFtZWRGbG93IDogRXZlbnRUYXJnZXQKIHsKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gb3ZlcnNldDsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBmaXJzdEVtcHR5
UmVnaW9uSW5kZXg7Ci0gICAgTm9kZUxpc3QgZ2V0UmVnaW9uc0J5Q29udGVudChOb2RlIGNvbnRl
bnROb2RlKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVu
dHNdIE5vZGVMaXN0IGdldFJlZ2lvbnNCeUNvbnRlbnQoTm9kZSBjb250ZW50Tm9kZSk7CiAgICAg
Tm9kZUxpc3QgZ2V0UmVnaW9ucygpOwogICAgIE5vZGVMaXN0IGdldENvbnRlbnQoKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmlkbAppbmRleCBjYjhiZTk3MTI0OTRjM2ZjNjc1
NzVhNmZjM2Q2YmEzODY1MmEyOWMzLi41MzhhODM4YTg3ODk4MzdhYTRjZmFkNGRkY2U3ZGFkNTk2
OWM0MGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5pZGwKQEAgLTM0LDcgKzM0
LDYgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgQ29uc3RydWN0b3IsCiAgICAgQ29uc3Ry
dWN0b3JDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAotICAgIFVzZVBvaW50ZXJzRXZl
bkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLAogXSBpbnRlcmZhY2UgRmlsZVJlYWRlciA6
IEV2ZW50VGFyZ2V0IHsKICAgICAvLyByZWFkeSBzdGF0ZXMKICAgICBjb25zdCB1bnNpZ25lZCBz
aG9ydCBFTVBUWSA9IDA7CkBAIC00MywxMCArNDIsMTAgQEAKICAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgc2hvcnQgcmVhZHlTdGF0ZTsKIAogICAgIC8vIGFzeW5jIHJlYWQgbWV0aG9k
cwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVhZEFzQXJyYXlCdWZmZXIoQmxvYiBibG9i
KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHJlYWRBc0JpbmFyeVN0cmluZyhCbG9iIGJs
b2IpOwotICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVhZEFzVGV4dChCbG9iIGJsb2IsIG9w
dGlvbmFsIERPTVN0cmluZyBlbmNvZGluZyk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBy
ZWFkQXNEYXRhVVJMKEJsb2IgYmxvYik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxh
YmxlT2JqZWN0QXJndW1lbnRzLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcmVhZEFzQXJyYXlCdWZm
ZXIoQmxvYiBibG9iKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNCaW5hcnlTdHJpbmcoQmxvYiBi
bG9iKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMs
IFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNUZXh0KEJsb2IgYmxvYiwgb3B0aW9uYWwgRE9N
U3RyaW5nIGVuY29kaW5nKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmpl
Y3RBcmd1bWVudHMsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZWFkQXNEYXRhVVJMKEJsb2IgYmxv
Yik7CiAKICAgICB2b2lkIGFib3J0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZVJlYWRlclN5bmMuaWRsIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVh
ZGVyU3luYy5pZGwKaW5kZXggNTcwNTI1NmIyYzE4OTA3Nzc2ZWQ4MTk2NzUxY2VjNWViZWUwYzgy
ZS4uYzU1NzI1MGU3OWIwNWNjN2NjN2RkNWFiZjVlOWRiM2Y2NjUwYmNjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyU3luYy5pZGwKQEAgLTMwLDExICszMCwxMCBAQAogCiBb
CiAgICAgQ29uc3RydWN0b3IsCi0gICAgVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmpl
Y3RBcmd1bWVudHMsCiAgICAgRXhwb3NlZD1Xb3JrZXIsCiBdIGludGVyZmFjZSBGaWxlUmVhZGVy
U3luYyB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2Vw
dGlvbl0gQXJyYXlCdWZmZXIgcmVhZEFzQXJyYXlCdWZmZXIoQmxvYiBibG9iKTsKLSAgICBbQ2Fs
bFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcg
cmVhZEFzQmluYXJ5U3RyaW5nKEJsb2IgYmxvYik7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHJlYWRBc1RleHQoQmxvYiBi
bG9iLCBvcHRpb25hbCBET01TdHJpbmcgZW5jb2RpbmcpOwotICAgIFtDYWxsV2l0aD1TY3JpcHRF
eGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25dIERPTVN0cmluZyByZWFkQXNEYXRhVVJM
KEJsb2IgYmxvYik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJn
dW1lbnRzLCBDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25d
IEFycmF5QnVmZmVyIHJlYWRBc0FycmF5QnVmZmVyKEJsb2IgYmxvYik7CisgICAgW1VzZVBvaW50
ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBSYWlzZXNFeGNlcHRpb25dIERPTVN0cmluZyByZWFkQXNCaW5hcnlTdHJp
bmcoQmxvYiBibG9iKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFJhaXNlc0V4Y2VwdGlv
bl0gRE9NU3RyaW5nIHJlYWRBc1RleHQoQmxvYiBibG9iLCBvcHRpb25hbCBET01TdHJpbmcgZW5j
b2RpbmcpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50
cywgQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgUmFpc2VzRXhjZXB0aW9uXSBET01T
dHJpbmcgcmVhZEFzRGF0YVVSTChCbG9iIGJsb2IpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKaW5kZXgg
OTkzOWU4YjlhYjc5ZDg3NWY3MGNlYzUyYzFiOGE0Y2YyYjIxZjUxNy4uZmExYTllOTExYjhiZjE2
NjVmMGVhYmMyYTM2OWQ1YTkyMzE2MmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5pZGwKQEAgLTM5LDExICsz
OSwxMCBAQCB0eXBlZGVmIHVucmVzdHJpY3RlZCBmbG9hdCBHTGZsb2F0OwogdHlwZWRlZiB1bnJl
c3RyaWN0ZWQgZmxvYXQgR0xjbGFtcGY7CiAKIFsKLU5vSW50ZXJmYWNlT2JqZWN0LAotQ29uZGl0
aW9uYWw9V0VCR0wsCi1KU0N1c3RvbU1hcmtGdW5jdGlvbiwKLVVzZVBvaW50ZXJzRXZlbkZvck5v
bk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLAotRG9Ob3RDaGVja0NvbnN0YW50cywKKyAgICBDb25k
aXRpb25hbD1XRUJHTCwKKyAgICBEb05vdENoZWNrQ29uc3RhbnRzLAorICAgIEpTQ3VzdG9tTWFy
a0Z1bmN0aW9uLAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAogXSBpbnRlcmZhY2UgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZSA6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQgewogCiAgICAgLyogQ2xl
YXJCdWZmZXJNYXNrICovCkBAIC00NjksMTIgKzQ2OCwxMiBAQCBEb05vdENoZWNrQ29uc3RhbnRz
LAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBHTHNpemVpIGRyYXdpbmdCdWZmZXJIZWlnaHQ7CiAK
ICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBh
Y3RpdmVUZXh0dXJlKEdMZW51bSB0ZXh0dXJlKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBS
YWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBhdHRhY2hTaGFkZXIoV2ViR0xQcm9ncmFtIHBy
b2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFp
c2VzRXhjZXB0aW9uXSB2b2lkICAgICAgICAgYmluZEF0dHJpYkxvY2F0aW9uKFdlYkdMUHJvZ3Jh
bSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBuYW1lKTsKLSAgICBbU3RyaWN0VHlw
ZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBiaW5kQnVmZmVyKEdMZW51
bSB0YXJnZXQsIFdlYkdMQnVmZmVyIGJ1ZmZlcik7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywg
UmFpc2VzRXhjZXB0aW9uXSB2b2lkICAgICAgICAgYmluZEZyYW1lYnVmZmVyKEdMZW51bSB0YXJn
ZXQsIFdlYkdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tp
bmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCAgICAgICAgIGJpbmRSZW5kZXJidWZmZXIoR0xlbnVt
IHRhcmdldCwgV2ViR0xSZW5kZXJidWZmZXIgcmVuZGVyYnVmZmVyKTsKLSAgICBbU3RyaWN0VHlw
ZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBiaW5kVGV4dHVyZShHTGVu
dW0gdGFyZ2V0LCBXZWJHTFRleHR1cmUgdGV4dHVyZSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZv
ck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhj
ZXB0aW9uXSB2b2lkIGF0dGFjaFNoYWRlcihXZWJHTFByb2dyYW0gcHJvZ3JhbSwgV2ViR0xTaGFk
ZXIgc2hhZGVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1
bWVudHMsU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgYmluZEF0dHJp
YkxvY2F0aW9uKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgsIERPTVN0cmluZyBu
YW1lKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMs
U3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgYmluZEJ1ZmZlcihHTGVu
dW0gdGFyZ2V0LCBXZWJHTEJ1ZmZlciBidWZmZXIpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JO
b25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cyxTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2Vw
dGlvbl0gdm9pZCBiaW5kRnJhbWVidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xGcmFtZWJ1ZmZl
ciBmcmFtZWJ1ZmZlcik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0
QXJndW1lbnRzLFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIGJpbmRS
ZW5kZXJidWZmZXIoR0xlbnVtIHRhcmdldCwgV2ViR0xSZW5kZXJidWZmZXIgcmVuZGVyYnVmZmVy
KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsU3Ry
aWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgYmluZFRleHR1cmUoR0xlbnVt
IHRhcmdldCwgV2ViR0xUZXh0dXJlIHRleHR1cmUpOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmdd
IHZvaWQgICAgICAgICBibGVuZENvbG9yKEdMY2xhbXBmIHJlZCwgR0xjbGFtcGYgZ3JlZW4sIEdM
Y2xhbXBmIGJsdWUsIEdMY2xhbXBmIGFscGhhKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkICAgICAgICAgYmxlbmRFcXVhdGlvbihHTGVudW0gbW9kZSk7CiAgICAgW1N0cmljdFR5cGVD
aGVja2luZ10gdm9pZCAgICAgICAgIGJsZW5kRXF1YXRpb25TZXBhcmF0ZShHTGVudW0gbW9kZVJH
QiwgR0xlbnVtIG1vZGVBbHBoYSk7CkBAIC00OTIsNyArNDkxLDcgQEAgRG9Ob3RDaGVja0NvbnN0
YW50cywKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgY2xlYXJEZXB0aChH
TGNsYW1wZiBkZXB0aCk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGNs
ZWFyU3RlbmNpbChHTGludCBzKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAg
ICAgY29sb3JNYXNrKEdMYm9vbGVhbiByZWQsIEdMYm9vbGVhbiBncmVlbiwgR0xib29sZWFuIGJs
dWUsIEdMYm9vbGVhbiBhbHBoYSk7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhj
ZXB0aW9uXSB2b2lkICAgICAgICAgY29tcGlsZVNoYWRlcihXZWJHTFNoYWRlciBzaGFkZXIpOwor
ICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0
VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTFNo
YWRlciBzaGFkZXIpOwogCiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIGNv
bXByZXNzZWRUZXhJbWFnZTJEKEdMZW51bSB0YXJnZXQsIEdMaW50IGxldmVsLCBHTGVudW0gaW50
ZXJuYWxmb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0LCBHTGludCBib3Jk
ZXIsIEFycmF5QnVmZmVyVmlldyBkYXRhKTsKQEAgLTUxMSwxNyArNTEwLDE3IEBAIERvTm90Q2hl
Y2tDb25zdGFudHMsCiAKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgY3Vs
bEZhY2UoR0xlbnVtIG1vZGUpOwogCi0gICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAg
ICAgIGRlbGV0ZUJ1ZmZlcihXZWJHTEJ1ZmZlciBidWZmZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIHZvaWQgICAgICAgICBkZWxldGVGcmFtZWJ1ZmZlcihXZWJHTEZyYW1lYnVmZmVyIGZy
YW1lYnVmZmVyKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgZGVsZXRl
UHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZ10g
dm9pZCAgICAgICAgIGRlbGV0ZVJlbmRlcmJ1ZmZlcihXZWJHTFJlbmRlcmJ1ZmZlciByZW5kZXJi
dWZmZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBkZWxldGVTaGFk
ZXIoV2ViR0xTaGFkZXIgc2hhZGVyKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAg
ICAgICAgZGVsZXRlVGV4dHVyZShXZWJHTFRleHR1cmUgdGV4dHVyZSk7CisgICAgW1VzZVBvaW50
ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmdd
IHZvaWQgZGVsZXRlQnVmZmVyKFdlYkdMQnVmZmVyIGJ1ZmZlcik7CisgICAgW1VzZVBvaW50ZXJz
RXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmddIHZv
aWQgZGVsZXRlRnJhbWVidWZmZXIoV2ViR0xGcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlcik7CisgICAg
W1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBl
Q2hlY2tpbmddIHZvaWQgZGVsZXRlUHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisgICAg
W1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBl
Q2hlY2tpbmddIHZvaWQgZGVsZXRlUmVuZGVyYnVmZmVyKFdlYkdMUmVuZGVyYnVmZmVyIHJlbmRl
cmJ1ZmZlcik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgZGVsZXRlU2hhZGVyKFdlYkdMU2hhZGVyIHNo
YWRlcik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRz
LCBTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgZGVsZXRlVGV4dHVyZShXZWJHTFRleHR1cmUgdGV4
dHVyZSk7CiAKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgZGVwdGhGdW5j
KEdMZW51bSBmdW5jKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgZGVw
dGhNYXNrKEdMYm9vbGVhbiBmbGFnKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAg
ICAgICAgZGVwdGhSYW5nZShHTGNsYW1wZiB6TmVhciwgR0xjbGFtcGYgekZhcik7Ci0gICAgW1N0
cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkICAgICAgICAgZGV0YWNoU2hh
ZGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIFtVc2VQ
b2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNr
aW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBkZXRhY2hTaGFkZXIoV2ViR0xQcm9n
cmFtIHByb2dyYW0sIFdlYkdMU2hhZGVyIHNoYWRlcik7CiAgICAgW1N0cmljdFR5cGVDaGVja2lu
Z10gdm9pZCAgICAgICAgIGRpc2FibGUoR0xlbnVtIGNhcCk7CiAgICAgW1N0cmljdFR5cGVDaGVj
a2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkICAgICAgICAgZGlzYWJsZVZlcnRleEF0dHJpYkFy
cmF5KEdMdWludCBpbmRleCk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0
aW9uXSB2b2lkICAgICAgICAgZHJhd0FycmF5cyhHTGVudW0gbW9kZSwgR0xpbnQgZmlyc3QsIEdM
c2l6ZWkgY291bnQpOwpAQCAtNTMxLDE3ICs1MzAsMTcgQEAgRG9Ob3RDaGVja0NvbnN0YW50cywK
ICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBl
bmFibGVWZXJ0ZXhBdHRyaWJBcnJheShHTHVpbnQgaW5kZXgpOwogICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIHZvaWQgICAgICAgICBmaW5pc2goKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2
b2lkICAgICAgICAgZmx1c2goKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNl
cHRpb25dIHZvaWQgICAgICAgICBmcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihHTGVudW0gdGFyZ2V0
LCBHTGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHJlbmRlcmJ1ZmZlcnRhcmdldCwgV2ViR0xSZW5k
ZXJidWZmZXIgcmVuZGVyYnVmZmVyKTsKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNF
eGNlcHRpb25dIHZvaWQgICAgICAgICBmcmFtZWJ1ZmZlclRleHR1cmUyRChHTGVudW0gdGFyZ2V0
LCBHTGVudW0gYXR0YWNobWVudCwgR0xlbnVtIHRleHRhcmdldCwgV2ViR0xUZXh0dXJlIHRleHR1
cmUsIEdMaW50IGxldmVsKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmpl
Y3RBcmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkICAg
ICAgICAgZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIGF0dGFj
aG1lbnQsIEdMZW51bSByZW5kZXJidWZmZXJ0YXJnZXQsIFdlYkdMUmVuZGVyYnVmZmVyIHJlbmRl
cmJ1ZmZlcik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCAgICAgICAgIGZy
YW1lYnVmZmVyVGV4dHVyZTJEKEdMZW51bSB0YXJnZXQsIEdMZW51bSBhdHRhY2htZW50LCBHTGVu
dW0gdGV4dGFyZ2V0LCBXZWJHTFRleHR1cmUgdGV4dHVyZSwgR0xpbnQgbGV2ZWwpOwogICAgIFtT
dHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBmcm9udEZhY2UoR0xlbnVtIG1vZGUpOwog
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBnZW5lcmF0ZU1pcG1hcChHTGVu
dW0gdGFyZ2V0KTsKICAgICAKLSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRp
b25dIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3RpdmVBdHRyaWIoV2ViR0xQcm9ncmFtIHByb2dyYW0s
IEdMdWludCBpbmRleCk7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9u
XSBXZWJHTEFjdGl2ZUluZm8gZ2V0QWN0aXZlVW5pZm9ybShXZWJHTFByb2dyYW0gcHJvZ3JhbSwg
R0x1aW50IGluZGV4KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBXZWJHTEFjdGl2
ZUluZm8gZ2V0QWN0aXZlQXR0cmliKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgp
OworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3Ry
aWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIFdlYkdMQWN0aXZlSW5mbyBnZXRBY3Rp
dmVVbmlmb3JtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTHVpbnQgaW5kZXgpOwogCiAgICAgW1N0
cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgZ2V0QXR0YWNo
ZWRTaGFkZXJzKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKIAotICAgIFtTdHJpY3RUeXBlQ2hlY2tp
bmddIEdMaW50ICAgICAgICBnZXRBdHRyaWJMb2NhdGlvbihXZWJHTFByb2dyYW0gcHJvZ3JhbSwg
RE9NU3RyaW5nIG5hbWUpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVj
dEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNraW5nXSBHTGludCAgICAgICAgZ2V0QXR0cmliTG9j
YXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0cmluZyBuYW1lKTsKIAogICAgIFtTdHJp
Y3RUeXBlQ2hlY2tpbmcsIEN1c3RvbV0gYW55IGdldEJ1ZmZlclBhcmFtZXRlcihHTGVudW0gdGFy
Z2V0LCBHTGVudW0gcG5hbWUpOwogCkBAIC01NTUsMTUgKzU1NCwxNSBAQCBEb05vdENoZWNrQ29u
c3RhbnRzLAogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9u
XSBhbnkgZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKEdMZW51bSB0YXJnZXQsIEdM
ZW51bSBhdHRhY2htZW50LCBHTGVudW0gcG5hbWUpOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcs
IEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBhbnkgZ2V0UGFyYW1ldGVyKEdMZW51bSBwbmFtZSk7
CiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIGFueSBn
ZXRQcm9ncmFtUGFyYW1ldGVyKFdlYkdMUHJvZ3JhbSBwcm9ncmFtLCBHTGVudW0gcG5hbWUpOwot
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nPyBnZXRQ
cm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisgICAgW1VzZVBvaW50ZXJzRXZl
bkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNl
c0V4Y2VwdGlvbl0gRE9NU3RyaW5nPyBnZXRQcm9ncmFtSW5mb0xvZyhXZWJHTFByb2dyYW0gcHJv
Z3JhbSk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25d
IGFueSBnZXRSZW5kZXJidWZmZXJQYXJhbWV0ZXIoR0xlbnVtIHRhcmdldCwgR0xlbnVtIHBuYW1l
KTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gYW55
IGdldFNoYWRlclBhcmFtZXRlcihXZWJHTFNoYWRlciBzaGFkZXIsIEdMZW51bSBwbmFtZSk7CiAK
LSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIERPTVN0cmluZz8gICAg
Z2V0U2hhZGVySW5mb0xvZyhXZWJHTFNoYWRlciBzaGFkZXIpOworICAgIFtVc2VQb2ludGVyc0V2
ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlz
ZXNFeGNlcHRpb25dIERPTVN0cmluZz8gICAgZ2V0U2hhZGVySW5mb0xvZyhXZWJHTFNoYWRlciBz
aGFkZXIpOwogCiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBXZWJH
TFNoYWRlclByZWNpc2lvbkZvcm1hdCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQoR0xlbnVtIHNo
YWRlcnR5cGUsIEdMZW51bSBwcmVjaXNpb250eXBlKTsKIAotICAgIFtTdHJpY3RUeXBlQ2hlY2tp
bmcsIFJhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nPyAgICBnZXRTaGFkZXJTb3VyY2UoV2ViR0xT
aGFkZXIgc2hhZGVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmc/
ICAgIGdldFNoYWRlclNvdXJjZShXZWJHTFNoYWRlciBzaGFkZXIpOwogCiAgICAgW1N0cmljdFR5
cGVDaGVja2luZywgQ3VzdG9tXSBzZXF1ZW5jZTxET01TdHJpbmc+IGdldFN1cHBvcnRlZEV4dGVu
c2lvbnMoKTsKIApAQCAtNTcxLDIzICs1NzAsMjMgQEAgRG9Ob3RDaGVja0NvbnN0YW50cywKIAog
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSBhbnkgZ2V0
VW5pZm9ybShXZWJHTFByb2dyYW0gcHJvZ3JhbSwgV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRp
b24pOwogCi0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBXZWJHTFVu
aWZvcm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERP
TVN0cmluZyBuYW1lKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RB
cmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSBXZWJHTFVuaWZv
cm1Mb2NhdGlvbiBnZXRVbmlmb3JtTG9jYXRpb24oV2ViR0xQcm9ncmFtIHByb2dyYW0sIERPTVN0
cmluZyBuYW1lKTsKIAogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFpc2VzRXhj
ZXB0aW9uXSBhbnkgZ2V0VmVydGV4QXR0cmliKEdMdWludCBpbmRleCwgR0xlbnVtIHBuYW1lKTsK
IAogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIEdMc2l6ZWlwdHIgZ2V0VmVydGV4QXR0cmliT2Zm
c2V0KEdMdWludCBpbmRleCwgR0xlbnVtIHBuYW1lKTsKIAogICAgIFtTdHJpY3RUeXBlQ2hlY2tp
bmddIHZvaWQgICAgICAgICBoaW50KEdMZW51bSB0YXJnZXQsIEdMZW51bSBtb2RlKTsKLSAgICBb
U3RyaWN0VHlwZUNoZWNraW5nXSBHTGJvb2xlYW4gICAgaXNCdWZmZXIoV2ViR0xCdWZmZXIgYnVm
ZmVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMs
IFN0cmljdFR5cGVDaGVja2luZ10gR0xib29sZWFuICAgIGlzQnVmZmVyKFdlYkdMQnVmZmVyIGJ1
ZmZlcik7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gR0xib29sZWFuICAgIGlzQ29udGV4dExv
c3QoKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSBHTGJvb2xlYW4gICAgaXNFbmFibGVkKEdM
ZW51bSBjYXApOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIEdMYm9vbGVhbiAgICBpc0ZyYW1l
YnVmZmVyKFdlYkdMRnJhbWVidWZmZXIgZnJhbWVidWZmZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIEdMYm9vbGVhbiAgICBpc1Byb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0pOwotICAg
IFtTdHJpY3RUeXBlQ2hlY2tpbmddIEdMYm9vbGVhbiAgICBpc1JlbmRlcmJ1ZmZlcihXZWJHTFJl
bmRlcmJ1ZmZlciByZW5kZXJidWZmZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIEdMYm9v
bGVhbiAgICBpc1NoYWRlcihXZWJHTFNoYWRlciBzaGFkZXIpOwotICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmddIEdMYm9vbGVhbiAgICBpc1RleHR1cmUoV2ViR0xUZXh0dXJlIHRleHR1cmUpOworICAg
IFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0VHlw
ZUNoZWNraW5nXSBHTGJvb2xlYW4gICAgaXNGcmFtZWJ1ZmZlcihXZWJHTEZyYW1lYnVmZmVyIGZy
YW1lYnVmZmVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1
bWVudHMsIFN0cmljdFR5cGVDaGVja2luZ10gR0xib29sZWFuICAgIGlzUHJvZ3JhbShXZWJHTFBy
b2dyYW0gcHJvZ3JhbSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0
QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmddIEdMYm9vbGVhbiAgICBpc1JlbmRlcmJ1ZmZl
cihXZWJHTFJlbmRlcmJ1ZmZlciByZW5kZXJidWZmZXIpOworICAgIFtVc2VQb2ludGVyc0V2ZW5G
b3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNraW5nXSBHTGJvb2xl
YW4gICAgaXNTaGFkZXIoV2ViR0xTaGFkZXIgc2hhZGVyKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVu
Rm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZ10gR0xib29s
ZWFuICAgIGlzVGV4dHVyZShXZWJHTFRleHR1cmUgdGV4dHVyZSk7CiAgICAgW1N0cmljdFR5cGVD
aGVja2luZ10gdm9pZCAgICAgICAgIGxpbmVXaWR0aChHTGZsb2F0IHdpZHRoKTsKLSAgICBbU3Ry
aWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBsaW5rUHJvZ3Jh
bShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxh
YmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0g
dm9pZCAgICAgICAgIGxpbmtQcm9ncmFtKFdlYkdMUHJvZ3JhbSBwcm9ncmFtKTsKICAgICBbU3Ry
aWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgcGl4ZWxTdG9yZWkoR0xlbnVtIHBuYW1lLCBH
TGludCBwYXJhbSk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZ10gdm9pZCAgICAgICAgIHBvbHln
b25PZmZzZXQoR0xmbG9hdCBmYWN0b3IsIEdMZmxvYXQgdW5pdHMpOwogCkBAIC01OTcsNyArNTk2
LDcgQEAgRG9Ob3RDaGVja0NvbnN0YW50cywKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lk
ICAgICAgICAgcmVuZGVyYnVmZmVyU3RvcmFnZShHTGVudW0gdGFyZ2V0LCBHTGVudW0gaW50ZXJu
YWxmb3JtYXQsIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsKICAgICBbU3RyaWN0VHlw
ZUNoZWNraW5nXSB2b2lkICAgICAgICAgc2FtcGxlQ292ZXJhZ2UoR0xjbGFtcGYgdmFsdWUsIEdM
Ym9vbGVhbiBpbnZlcnQpOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBz
Y2lzc29yKEdMaW50IHgsIEdMaW50IHksIEdMc2l6ZWkgd2lkdGgsIEdMc2l6ZWkgaGVpZ2h0KTsK
LSAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICBz
aGFkZXJTb3VyY2UoV2ViR0xTaGFkZXIgc2hhZGVyLCBET01TdHJpbmcgc3RyaW5nKTsKKyAgICBb
VXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsIFN0cmljdFR5cGVD
aGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkICAgICAgICAgc2hhZGVyU291cmNlKFdlYkdM
U2hhZGVyIHNoYWRlciwgRE9NU3RyaW5nIHN0cmluZyk7CiAgICAgW1N0cmljdFR5cGVDaGVja2lu
Z10gdm9pZCAgICAgICAgIHN0ZW5jaWxGdW5jKEdMZW51bSBmdW5jLCBHTGludCByZWYsIEdMdWlu
dCBtYXNrKTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nXSB2b2lkICAgICAgICAgc3RlbmNpbEZ1
bmNTZXBhcmF0ZShHTGVudW0gZmFjZSwgR0xlbnVtIGZ1bmMsIEdMaW50IHJlZiwgR0x1aW50IG1h
c2spOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgICAgICAgICBzdGVuY2lsTWFzayhH
THVpbnQgbWFzayk7CkBAIC02MzYsMjkgKzYzNSwyOSBAQCBEb05vdENoZWNrQ29uc3RhbnRzLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZW51
bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBIVE1MVmlkZW9FbGVtZW50PyB2aWRlbyk7CiAjZW5kaWYK
IAotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3Jt
MWYoV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMZmxvYXQgeCk7CisgICAgW1VzZVBv
aW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tp
bmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtMWYoV2ViR0xVbmlmb3JtTG9jYXRpb24g
bG9jYXRpb24sIEdMZmxvYXQgeCk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBS
YWlzZXNFeGNlcHRpb25dIHZvaWQgdW5pZm9ybTFmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2Nh
dGlvbiwgRmxvYXQzMkFycmF5IHYpOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4
Y2VwdGlvbl0gdm9pZCB1bmlmb3JtMWkoV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdM
aW50IHgpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50
cywgU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgdW5pZm9ybTFpKFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGludCB4KTsKICAgICBbU3RyaWN0VHlwZUNo
ZWNraW5nLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtMWl2KFdlYkdMVW5p
Zm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBJbnQzMkFycmF5IHYpOwotICAgIFtTdHJpY3RUeXBlQ2hl
Y2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtMmYoV2ViR0xVbmlmb3JtTG9jYXRp
b24gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVu
Rm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHMsU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNF
eGNlcHRpb25dIHZvaWQgdW5pZm9ybTJmKFdlYkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBH
TGZsb2F0IHgsIEdMZmxvYXQgeSk7CiAgICAgW1N0cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBS
YWlzZXNFeGNlcHRpb25dIHZvaWQgdW5pZm9ybTJmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2Nh
dGlvbiwgRmxvYXQzMkFycmF5IHYpOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4
Y2VwdGlvbl0gdm9pZCB1bmlmb3JtMmkoV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdM
aW50IHgsIEdMaW50IHkpOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVj
dEFyZ3VtZW50cywgU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgdW5p
Zm9ybTJpKFdlYkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGludCB4LCBHTGludCB5KTsK
ICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1
bmlmb3JtMml2KFdlYkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBJbnQzMkFycmF5IHYpOwot
ICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtM2Yo
V2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMZmxvYXQgeCwgR0xmbG9hdCB5LCBHTGZs
b2F0IHopOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50
cywgU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgdW5pZm9ybTNmKFdl
YkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGZsb2F0IHgsIEdMZmxvYXQgeSwgR0xmbG9h
dCB6KTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0g
dm9pZCB1bmlmb3JtM2Z2KFdlYkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBGbG9hdDMyQXJy
YXkgdik7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVu
aWZvcm0zaShXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwg
R0xpbnQgeik7CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1l
bnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtM2ko
V2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEdMaW50IHgsIEdMaW50IHksIEdMaW50IHop
OwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSB2b2lk
IHVuaWZvcm0zaXYoV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEludDMyQXJyYXkgdik7
Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVuaWZvcm00
ZihXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xmbG9hdCB4LCBHTGZsb2F0IHksIEdM
ZmxvYXQgeiwgR0xmbG9hdCB3KTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVP
YmplY3RBcmd1bWVudHMsIFN0cmljdFR5cGVDaGVja2luZywgUmFpc2VzRXhjZXB0aW9uXSB2b2lk
IHVuaWZvcm00ZihXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xmbG9hdCB4LCBHTGZs
b2F0IHksIEdMZmxvYXQgeiwgR0xmbG9hdCB3KTsKICAgICBbU3RyaWN0VHlwZUNoZWNraW5nLCBD
dXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtNGZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uIGxvY2F0aW9uLCBGbG9hdDMyQXJyYXkgdik7Ci0gICAgW1N0cmljdFR5cGVDaGVja2luZywg
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVuaWZvcm00aShXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2Nh
dGlvbiwgR0xpbnQgeCwgR0xpbnQgeSwgR0xpbnQgeiwgR0xpbnQgdyk7CisgICAgW1VzZVBvaW50
ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcs
IFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtNGkoV2ViR0xVbmlmb3JtTG9jYXRpb24gbG9j
YXRpb24sIEdMaW50IHgsIEdMaW50IHksIEdMaW50IHosIEdMaW50IHcpOwogICAgIFtTdHJpY3RU
eXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHVuaWZvcm00aXYoV2Vi
R0xVbmlmb3JtTG9jYXRpb24gbG9jYXRpb24sIEludDMyQXJyYXkgdik7CiAKICAgICBbU3RyaWN0
VHlwZUNoZWNraW5nLCBDdXN0b20sIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCB1bmlmb3JtTWF0cml4
MmZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uIGxvY2F0aW9uLCBHTGJvb2xlYW4gdHJhbnNwb3NlLCBG
bG9hdDMyQXJyYXkgYXJyYXkpOwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbSwgUmFp
c2VzRXhjZXB0aW9uXSB2b2lkIHVuaWZvcm1NYXRyaXgzZnYoV2ViR0xVbmlmb3JtTG9jYXRpb24g
bG9jYXRpb24sIEdMYm9vbGVhbiB0cmFuc3Bvc2UsIEZsb2F0MzJBcnJheSBhcnJheSk7CiAgICAg
W1N0cmljdFR5cGVDaGVja2luZywgQ3VzdG9tLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgdW5pZm9y
bU1hdHJpeDRmdihXZWJHTFVuaWZvcm1Mb2NhdGlvbiBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5z
cG9zZSwgRmxvYXQzMkFycmF5IGFycmF5KTsKIAotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJh
aXNlc0V4Y2VwdGlvbl0gdm9pZCAgICAgICAgIHVzZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dy
YW0pOwotICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCAgICAg
ICAgIHZhbGlkYXRlUHJvZ3JhbShXZWJHTFByb2dyYW0gcHJvZ3JhbSk7CisgICAgW1VzZVBvaW50
ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBTdHJpY3RUeXBlQ2hlY2tpbmcs
IFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCAgICAgICAgIHVzZVByb2dyYW0oV2ViR0xQcm9ncmFtIHBy
b2dyYW0pOworICAgIFtVc2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50
cywgU3RyaWN0VHlwZUNoZWNraW5nLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgICAgICAgICB2YWxp
ZGF0ZVByb2dyYW0oV2ViR0xQcm9ncmFtIHByb2dyYW0pOwogCiAgICAgW1N0cmljdFR5cGVDaGVj
a2luZ10gdm9pZCAgICAgICAgIHZlcnRleEF0dHJpYjFmKEdMdWludCBpbmR4LCBHTGZsb2F0IHgp
OwogICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmcsIEN1c3RvbV0gdm9pZCB2ZXJ0ZXhBdHRyaWIxZnYo
R0x1aW50IGluZHgsIEZsb2F0MzJBcnJheSB2YWx1ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2suaWRsCmluZGV4IDY4ODRiMjg5NjhiNjhkM2YxMDdhYTEyZTlmNjBhZmUxODVj
NGY1NTkuLjcyMDNjMTFhZjIwNGMyYjJkZDVhMWFiZTc5NzgwMTcyMzc2OWE2NjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5pZGwKQEAgLTI4LDcgKzI4LDYgQEAgZW51bSBU
ZXh0VHJhY2tLaW5kIHsgInN1YnRpdGxlcyIsICAiY2FwdGlvbnMiLCAgImRlc2NyaXB0aW9ucyIs
ICAiY2hhcHRlcnMiLCAibWUKIAogWwogICAgIENvbmRpdGlvbmFsPVZJREVPX1RSQUNLLAotICAg
IFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLAogICAgIEdlbmVy
YXRlSXNSZWFjaGFibGU9SW1wbEVsZW1lbnRSb290LAogICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9u
LAogICAgIFNraXBWVGFibGVWYWxpZGF0aW9uLApAQCAtNDQsMTQgKzQzLDE0IEBAIGVudW0gVGV4
dFRyYWNrS2luZCB7ICJzdWJ0aXRsZXMiLCAgImNhcHRpb25zIiwgICJkZXNjcmlwdGlvbnMiLCAg
ImNoYXB0ZXJzIiwgIm1lCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFRleHRUcmFja0N1ZUxpc3Qg
Y3VlczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVGV4dFRyYWNrQ3VlTGlzdCBhY3RpdmVDdWVz
OwogCi0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBhZGRDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7
Ci0gICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCByZW1vdmVDdWUoVGV4dFRyYWNrQ3VlIGN1ZSk7
CisgICAgW1VzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzLCBSYWlz
ZXNFeGNlcHRpb25dIHZvaWQgYWRkQ3VlKFRleHRUcmFja0N1ZSBjdWUpOworICAgIFtVc2VQb2lu
dGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgUmFpc2VzRXhjZXB0aW9uXSB2
b2lkIHJlbW92ZUN1ZShUZXh0VHJhY2tDdWUgY3VlKTsKIAogICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25jdWVjaGFuZ2U7CiAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSB8fCAh
TEFOR1VBR0VfR09CSkVDVCAvLyBXb3JrIGFyb3VuZCBzaG9ydGNvbWluZ3MgaW4gdGhlIGdvYmpl
Y3QgYmluZGluZyBnZW5lcmF0b3IgaGFuZGxpbmcgb2YgY29uZGl0aW9uYWwgZmVhdHVyZXMgYnkg
dHVybmluZyB0aGVzZSBvZmYgZm9yIGdvYmplY3QuCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZU
VFJlZ2lvbkxpc3QgcmVnaW9uczsKLSAgICB2b2lkIGFkZFJlZ2lvbihWVFRSZWdpb24gcmVnaW9u
KTsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHJlbW92ZVJlZ2lvbihWVFRSZWdpb24gcmVn
aW9uKTsKKyAgICBbVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFibGVPYmplY3RBcmd1bWVudHNd
IHZvaWQgYWRkUmVnaW9uKFZUVFJlZ2lvbiByZWdpb24pOworICAgIFtVc2VQb2ludGVyc0V2ZW5G
b3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywgUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHJlbW92
ZVJlZ2lvbihWVFRSZWdpb24gcmVnaW9uKTsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKaW5kZXggY2NkNTk1Yzg4
MzljYzFmYWM5NzNhNGNhNWQwYjEyYjZmOWU3YTEwNC4uOGMwNjliN2Q4MDM0NDI3NDVmZGUxMTYx
ODM5OTdjMjIwNjhmNDg0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAgLTMxLDkgKzMxLDggQEAKICAqLwogCiBbCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBOb0ludGVyZmFjZU9iamVjdCwKLSAgICBV
c2VQb2ludGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cywKLSAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCiBdIGludGVyZmFjZSBJbnNwZWN0b3JGcm9udGVuZEhvc3Qgewog
ICAgIHZvaWQgbG9hZGVkKCk7CiAgICAgdm9pZCBjbG9zZVdpbmRvdygpOwpAQCAtNjcsNyArNjYs
NyBAQAogICAgIERPTVN0cmluZyBwb3J0KCk7CiAKICAgICBbQ3VzdG9tXSB2b2lkIHNob3dDb250
ZXh0TWVudShNb3VzZUV2ZW50IGV2ZW50LCBhbnkgaXRlbXMpOwotICAgIHZvaWQgZGlzcGF0Y2hF
dmVudEFzQ29udGV4dE1lbnVFdmVudChFdmVudCBldmVudCk7CisgICAgW1VzZVBvaW50ZXJzRXZl
bkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzXSB2b2lkIGRpc3BhdGNoRXZlbnRBc0NvbnRl
eHRNZW51RXZlbnQoRXZlbnQgZXZlbnQpOwogICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQo
RE9NU3RyaW5nIG1lc3NhZ2UpOwogICAgIHZvaWQgdW5idWZmZXJlZExvZyhET01TdHJpbmcgbWVz
c2FnZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277675</attachid>
            <date>2016-04-28 23:30:08 -0700</date>
            <delta_ts>2016-04-29 01:28:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156844-20160429083039.patch</filename>
            <type>text/plain</type>
            <size>2167</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdiZTI1NzJiODk3ODdj
Njk2MzA5ZjdmY2QzZmMyZDc3MTAzYjUwMC4uMDg4NzQzMTM2NjhiODYxMzhiNGZjNjZhNTZkOWM0
NDlmNWYwZWY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDE2LTA0LTI4ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKKyAgICAgICAgUmVtb3Zl
IFVzZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzIGtleXdvcmQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njg0NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBv
ZiBiZWhhdmlvci4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5w
bToKKyAgICAgICAgKFNob3VsZFBhc3NXcmFwcGVyQnlSZWZlcmVuY2UpOiBSZW1vdmVkIFVzZVBv
aW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzIHN1cHBvcnQuCisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dDogUmVtb3ZlZCBVc2VQb2ludGVy
c0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cy4KKworMjAxNi0wNC0yOCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCiAgICAgICAgIERyb3AgW1Vz
ZVBvaW50ZXJzRXZlbkZvck5vbk51bGxhYmxlT2JqZWN0QXJndW1lbnRzXSBmcm9tIE1lZGlhU3Ry
ZWFtIGludGVyZmFjZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1NjkwNQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3IucG0KaW5kZXggMjQ4NTM3Yzg2NmUzYTM0ZTQxZTcxY2ZlYjM0MGYzOTFjNGZh
NDE3ZS4uMTAzZWM1ODQ2ODE0MzU3MGY2NzM5Y2I1NDFkZDVmZWExOWZiYWRkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQpAQCAtODk2
LDcgKzg5Niw2IEBAIHN1YiBTaG91bGRQYXNzV3JhcHBlckJ5UmVmZXJlbmNlCiAgICAgcmV0dXJu
IDAgaWYgJHBhcmFtZXRlci0+aXNOdWxsYWJsZTsKICAgICByZXR1cm4gMCBpZiAhJG9iamVjdC0+
SXNXcmFwcGVyVHlwZSgkcGFyYW1ldGVyLT50eXBlKSAmJiAhJG9iamVjdC0+SXNUeXBlZEFycmF5
VHlwZSgkcGFyYW1ldGVyLT50eXBlKTsKICAgICByZXR1cm4gMCBpZiAkb2JqZWN0LT5Jc1NWR1R5
cGVOZWVkaW5nVGVhck9mZigkcGFyYW1ldGVyLT50eXBlKTsKLSAgICByZXR1cm4gMCBpZiAkaW50
ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiVXNlUG9pbnRlcnNFdmVuRm9yTm9uTnVsbGFi
bGVPYmplY3RBcmd1bWVudHMifTsKICAgICByZXR1cm4gMTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQKaW5kZXggZmYyZWJjMmQ3
N2VmNzI1YzY2MWU0NThlMjBiNTg4MDBkODE2YTBkMC4uNjE0ZWJhNzQ1NjMxMTYwZTczYjVhM2Y5
OTc3YTcxZDIwMzAyMTIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0xMjUsNSArMTI1LDQgQEAgVHJlYXRSZXR1cm5lZE5h
TkRhdGVBcz1OdWxsfE5hTgogVHlwZWRBcnJheT0qCiBVUkwKIFVuZm9yZ2VhYmxlCi1Vc2VQb2lu
dGVyc0V2ZW5Gb3JOb25OdWxsYWJsZU9iamVjdEFyZ3VtZW50cwogV2luZG93RXZlbnRIYW5kbGVy
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>